Kamis, 15 November 2018


Mengenal Turbo Pascal—Awan Sundiawan
58
Program untuk 2 soal berikutnya
1. var s : string;
1. var s : string;1. var s : string;
1. var s : string;
2. i: integer;
2. i: integer;2. i: integer;
2. i: integer;
3. begin
3. begin3. begin
3. begin
4. for i := 1 to length(s) do
4. for i := 1 to length(s) do4. for i := 1 to length(s) do
4. for i := 1 to length(s) do
5. begin
5. begin5. begin
5. begin
6. s[i]:= s[length(s)
6. s[i]:= s[length(s)6. s[i]:= s[length(s)
6. s[i]:= s[length(s)-
--
-i+1];
i+1];i+1];
i+1];
7. end;
7. end;7. end;
7. end;
8. end.
8. end.8. end.
8. end.
Soal 18.
Output dari program di atas jika s=’SC!P!O’ adalah
a. s=’SC!!CS’
b. s=’SSSSSS’
c. s=’O!PP!O’
d. s=’CCCCCC’
e. s=’!O!O!O’
Soal 19.
Output dari program di atas jika
s=’HaShMaT’
dan baris ke-4 diubah menjadi "
for
i:=length(s) downto 1
" adalah
a. s=’TaMhMaT’
b. s=’HaShSaH’
c. s=’HHHHHHH’
d. s=’aaaaaaa’
e. s=’aHaHaHa’
Soal 21.
Function Sum(const A,B:Integer): Integer;
Function Sum(const A,B:Integer): Integer;Function Sum(const A,B:Integer): Integer;
Function Sum(const A,B:Integer): Integer;
Begin
BeginBegin
Begin
Sum:=A+B;
Sum:=A+B;Sum:=A+B;
Sum:=A+B;
end;
end;end;
end;
Begin
BeginBegin
Begin
Writeln(Sum(5,10));
Writeln(Sum(5,10));Writeln(Sum(5,10));
Writeln(Sum(5,10));
end.
end.end.
end.
Apa yang dihasilkan oleh program diatas.
a.
5
b.
10
c.
15
d.
20
e. Tidak bisa di compile.
Soal 22.
Begin
BeginBegin
Begin
Assign(Output,'ABC.TXT’);
Assign(Output,'ABC.TXT’);Assign(Output,'ABC.TXT’);
Assign(Output,'ABC.TXT’);
Rewrite(Outptut);
Rewrite(Outptut);Rewrite(Outptut);
Rewrite(Outptut);
Write(‘GO GET GOLD’);
Write(‘GO GET GOLD’);Write(‘GO GET GOLD’);
Write(‘GO GET GOLD’);
Close(Output);
Close(Output);Close(Output);
Close(Output);
end.
end.end.
end.
Mengenal Turbo Pascal—Awan Sundiawan
59
Program diatas akan menghasilkan:...
a. File'ABC’ dengan isi 'GO GET GOD’
b. Run-time error.
c. Tidak dapat dicompile karena variable 'Ouiput' tida
k ada
d. Tidak menghasilkan apa-apa
e. Tidak ada yang benar
Soal 23.
Perintah mana yang tidak boleh digunakan untuk file b
ertipe text?
a.
Assign
b.
Reset
c.
EOF
d.
FilePos
e.
Semua boleh digunakan untuk Text
Gunakan program berikut ini untuk menjawab dua soal d
i bawah ini:
program Uji;
program Uji;program Uji;
program Uji;
var T:Text;
var T:Text;var T:Text;
var T:Text;
i,j,k:integer;
i,j,k:integer;i,j,k:integer;
i,j,k:integer;
begin
beginbegin
begin
Assign(T, 'INPUT.TXT’);
Assign(T, 'INPUT.TXT’);Assign(T, 'INPUT.TXT’);
Assign(T, 'INPUT.TXT’);
Reset(T);
Reset(T);Reset(T);
Reset(T);
Readln(T, i,
Readln(T, i, Readln(T, i,
Readln(T, i, j, k);
j, k);j, k);
j, k);
Writeln(i,’ ’ j,’ ’, k);
Writeln(i,’ ’ j,’ ’, k);Writeln(i,’ ’ j,’ ’, k);
Writeln(i,’ ’ j,’ ’, k);
Readln(T,i);
Readln(T,i);Readln(T,i);
Readln(T,i);
Readln(T,j);
Readln(T,j);Readln(T,j);
Readln(T,j);
Writeln(i,’ ’,j);
Writeln(i,’ ’,j);Writeln(i,’ ’,j);
Writeln(i,’ ’,j);
Close(T);
Close(T);Close(T);
Close(T);
End.
End.End.
End.
Soal 24.
Misalkan file
INPUT.TXT
berisi baris-baris sebagai berikut:
3 1 4 9
5 2 6
8 7
0
Bagaimanakah output dari program tersebut?
a. 3 1 4 9
5 2 6
8 7
b. 3 1 4
9 5
c. 3 1 4
5 2
d. 3 1 4
5 8
e. Terjadi runtime error karena isi file INPUT.TXT ti
dak sesuai untuk program ini.
Mengenal Turbo Pascal—Awan Sundiawan
60
Soal 25.
Bila isi file INPUT.TXT adalah sebagai befikut:
1
3
2
4
5
6
bagaimana output program ini?
a. 2 3 1
4 5
b. 1 0 0
3 2
c. 1 3 2
4 5
d. 1 3 2
5 6
e.
Terjadi runtime error karena isi file INPUT.TXT tidak
sesuai untuk program ini.
Mengenal Turbo Pascal—Awan Sundiawan
61
Soal Latihan Membuat Program #1
TIPE DATA SEDERHANA
A.
Tujuan
Siswa dapat mengenal dan menggunakan tipe data sede
rhana dengan benar.
B.
Dasar Teori
Suatu variabel dapat digunakan hanya dapat menyimpa
n sebuah nilai dari sebuah tipe data
sederhana. Untuk memanipulasi kelompok tipe data se
buah nilai pada suatu variabel maka harus
menentukan tipe data yang tepat untuk sebuah variab
el tersebut.
Berikut contoh program penggunaan tipe data sederha
na:
Program Luas;
Uses WinCrt;
Var
Lebar, panjang : byte;
Luas : integer;
Begin
CLRSCR;
{input data}
WRITE(‘MASUKAN NILAI PANJANG : ’);READLN(PANJANG);
WRITE(‘MASUKAN NILAI LEBAR : ’);READLN(LEBAR);
{prpses data}
LUAS:=PANJANG*LEBAR;
{output}
WRITELN(‘LUAS PERSEGI PANJANG : ‘,LUAS);
READLN;
END.
C.
Praktik
1.
Tulislah program di atas, jalankan program tersebut
. Kemudian perhatikan, isilah nilai
panjang dengan nilai 5 dan lebar 4, dan catat hasil
nya.
2.
Jalankan lagi program di atas, kemudian isi nilai p
anjang dengan 700 dan lebar dengan
500, bagaimanakah hasilnya, mengapa terjadi kesalah
an? Cobalah ganti tipe datanya.
Jalankan kembali program tadi dan isilah panjang de
ngan 700 dan lebar dengan 500.
Bagaimana hasilnya sekarang? Jika masih salah cobal
ah perbaiki sampai benar!
3.
Jika sudah benar rekam dengan nama file MODUL1A.
4.
a. Buatlah program untuk mencari luas segitiga! Rek
am dengan nama file MODUL1B
b. Buatlah listing program untuk masalah berikut in
i:
Input : nama, nama barang, jumlah barang, harga
Proses : jumlah harga:=jumlah barang*harga
potongan:=10/100*jumlah harga;
jumlah bayar:=jumlah harga-potongan;
Output : jumlah harga, potongan dan jumlah bayar
Rekam dengan nama file MODUL1C
D.
Pertanyaan
Semua pertanyaan berikut harus dijawab dalam lapora
n resmi!
1.
Tulislah perbedaan antara tipe data
byte, word, integer, longint, real, char, string.
2.
Kapankah digunakan tipe data
real
?
3.
Mengapa soal praktik ke-2 mengalami kesalahan? Jela
skan!
Mengenal Turbo Pascal—Awan Sundiawan
62
Soal Latihan Membuat Program #2
PERULANGAN FOR TO DO
A.
Tujuan
Siswa dapat membuat program untuk mengulangan sebua
h statemen berulangkali dengan benar.
B.
Dasar Teori
Perulangan (
loop
) merupakan bentuk yang sering ditemui di dalam sua
tu program aplikasi. Di dalam
bahasa Pascal, dikenal tiga macam perulangan, salah
satunya statemen
FOR
.
1. Struktur Perulangan For
Perulangan dengan statemen
For
digunakan untuk mengulang statemen atau satu blok
statemen
berulang kali sejumlah yang ditentukan. Perulangan
dengan statemen
For
dapat berbentuk perulangan
positip, perulangan negatip, dan perulangan tersara
ng. Sintak dari statemen
For
dalam bentuk diagram
adalah sebagai berikuit:
For
variabel kontrol
:=
nilai awal
to
nilai akhir
Statemen yang diulang
2. Perulangan Positip
Perulangan positip adalah perulangan dengan penghi
tung (
counterI
) dari kecil ke besar atau
dengan kata lain pertambahannya positip. Perulangan
positip dapat dibentuk dengan menggunakan
statemen
For To Do
, dengan bentuk umum:
For
variabel kontrol:=nilai awal
To
nilai akhir
Do
statemen
Variabel kontrol, nilai awal, nilai akhir harus mem
punyai tipe yang sama, yaitu bertipe integer.
Contoh ke-1:
Program pengulangan_positip;
Uses Wincrt;
Var
I:Real;
Begin
Clrscr;
For I:=1 to 5 Do
Begin
Write(I);
Writeln(‘ Pascal’);
End;
End.
3. Perulangan Negatip
Perulangan negatip adalah perulangan dengan penghi
tung (
counter
) dari besar ke kecil atau
dengan kata lain pertambahannya negatip. Perulangan
negatip dapat dibentuk dengan menggunakan
statemen
For DownTo Do
.
Mengenal Turbo Pascal—Awan Sundiawan
64
Soal Latihan Membuat Program #3
PENYELEKSIAN KONDISI
A. Tujuan
Siswa dapat menggunakan bentuk pemilihan kondisi de
ngan benar.
B.
Dasar Teori
Suatu keadaan kadang-kadang harus diputuskan oleh s
uatu pemilihan kondisi yang benar. Untuk
memilih suatu perintah pemilihan kondisi tersebut h
arus cermat karena berkaitan dengan tipe data
variabel yang digunakan. IF THEN ELSE berlaku untuk
semua tipe data sedangkan CASE OF hanya
untuk tipe data integer atau character.
Berikut contoh program penggunaan pemilihan kondisi
:
Contoh ke-1:
Program Pilihan1;
Uses WinCrt;
Var
pilih : string;
ket : string;
Begin
CLRSCR;
{tampilan}
WRITELN(‘PILIHLAH SALAH SATU PILIHAN YANG DI SUKAI’);
WRITELN(‘A. WARNA PUTIH’);
WRITELN(‘B. WARNA HIJAU’);
WRITELN(‘C. WARNA KUNING’);
WRITELN(‘D. WARNA MERAH’);
{input data}
WRITELN(‘PILIHAN ANDA [A-D] ‘); READLN(PILIH);
{proses data}
CASE PILIH OF
‘A’,’a’:ket:=’bersih, suci’;
‘B’,’b’:ket:=’teduh, damai’;
‘C’,’c’:ket:=’jaya, optimis’;
‘D’,’d’:ket:=’berani, gagah’;
END;
{output}
WRITELN;
WRITELN(‘TERNYATA ANDA MEMILIKI SIFAT : ‘,KET);
READLN;
END.
Mengenal Turbo Pascal—Awan Sundiawan
67
b.
Larik dua dimensi
Larik dua dimensi disebut juga matriks. Larik dua d
imensi memiliki data yang tersusun
berdasarkan urutan baris dan kolom pada tabel.
Contoh:
Larik nilai
memiliki data urutan baris yaitu: Ahmad, Joni, Toni
, Dede dan data urutan
kolom yaitu fisika, kimia, biologi, matematika. Dat
a di atas dapat digambarkan sebagai
berikut:
Fisika
Kimia Biologi Matematika
1
2
3
4
Aahmad
1
6
7
7
8
Joni
2
7
6
6
5
Toni
3
8
4
5
6
Dede
4
6
7
8
6
Dari data tabel di atas dapat dibuat indeksnya yait
u:
Nilai[Ahmad,Fisika] atau Nilai[1,1] = 6
Nilai[Ahmad,Kimia] atau Nilai[1,2] = 7
Nilai[Ahmad,Biologi] atau Nilai[1,3] = 7
Nilai[Ahmad,Matematika] atau Nilai[1,4]=8
Nilai[Joni,Fisika] atauNilai[2,1]
= 7
Nilai[Joni,Kimia] atau Nilai[2,2]
= 6
dst.
C. Deklarasi Larik dua dimensi
nama larik:array[minbaris..maxbaris,minkolom..maxko
lom] of tipe larik
Contoh:
Nilai:array[1..4,1..4] of integer
;
Cara Membuat Matrik
[] Membuat satu buah matrik
Tentukan jumlah baris
Tentukan jumlah kolom
Isi data mulai dari baris pertama kolom pertama s.d
. baris pertama kolom terakhir dan
sampai dengan baris terakhir kolom pertama s.d. bar
is terakhir kolom terakhir.
Jika pengisian sudah selesai tampilkan matriks yang
sudah diisi.
Start
Baris:5
I:= 1 to baris
Kolom:4
J:= 1 to kolom
I:=1 to baris
write
J:=1 to kolom
M[I,J]
M[I,J]
End
Mengenal Turbo Pascal—Awan Sundiawan
68
Contoh ke-1
listing program mambuat matrik:
Program Matrik1;
Uses WinCrt;
Var
I,J :Integer;
Matrik :array[1..5,1..4] of integer;
Begin
ClrScr;
{Bagian pemasukan data matriks}
{pengulangan jumlah baris}
FOR I:= 1 TO 5 DO
BEGIN
{pengulangan jumlah kolom}
FOR J:=1 TO 4 DO
BEGIN
{pemasukan data matriks}
WRITE(‘Data matriks ’,I,j,’: ‘,);
Readln(Matrik[I,j]);
END;
END;
{Bagian pencetakan matriks
{pengulangan jumlah baris}
FOR I:= 1 TO 5 DO
BEGIN
{pengulangan jumlah kolom}
FOR J:=1 TO 4 DO
BEGIN
{pencetakan matriks}
WRITE(Matrik[I,j]:3);
END;
{ganti baris pada matriks}
WRITELN;
END;
END.
[] Membuat matriks dengan jumlah baris dan jumlah k
olom ditentukan ketika program dijalankan
(menunggu pemasukan jumlah baris dan jumlah kolom d
ari operator komputer)
Tanyakan jumlah baris dan jumlah kolom.
Siapkan pengulangan sesuai jumlah baris dan jumlah
kolom
Isi data sesuai matriks yang dibuat
Tampilkan elemen data matriks sesuai matriks yang d
ibuat.
Mengenal Turbo Pascal—Awan Sundiawan
69
Flowchrat membuat matriks
Start
Input
Jmlbaris,
Jmlkolom
I:=1 to Jmlbaris
J:=1 to Jmlkolom
Input
M[I,j]
I:=1 to Jmlbaris
J:=1 to Jmlkolom
Write
M[I,j]
End
Contoh program ke-2:
Program Matrik2;
Uses WinCrt;
Var
Jmlbar,Jmlkol,
I,J :Integer;
Matriks :array[1..10,1..10]of integer
Begin
ClrScr;
{BAGIAN PEMASUKAN DATA MATRIKS}
{Menentukan jumlah baris}
Write(‘Jumlah Baris: ’};Readln(jmlbar);
{Menentukan jumlah kolom}
Write(‘Jumlah Kolom: ‘);Readln(jmlkol);
{Pengulangan baris}
For I:=1 to Jmlbar do
Begin
{Pengulangan kolom}
For J:=1 to Jmlkol do
Begin
{Pemasukan data matriks}
Write(‘Data ke-‘,I,’,’,J,’: ‘);
Readln(Matriks[I,j]);
End;
End;
{BAGIAN PENCETAKAN DATA MATRIKS}
{Pengulangan baris}
For I:=1 to Jmlbar do
Begin
{Pengulangan kolom}
For J:=1 to Jmlkol do
Begin
{Pencetakan data matriks}
Write(Matriks[I,j]);
End;
{ganti baris pada matriks}
Writeln;
End;
End.
Mengenal Turbo Pascal—Awan Sundiawan
70
E.
Praktik
1.
Salinlah contoh program ke-1 dan ke-2 ke dalam baha
sa pemograman Turbo Pascal, amati
hasilnya, jika terdapat kesalahan betulkan kesalaha
n tersebut. Jika sudah betul cetak hasilnya ke
kertas!
2.
Butlah flowchart dan listing program untuk membuat
matriks berikut ini:
a.
1 2 3
4 5 6
7 8 9
Rekam dengan nama file
MATRIKS3.PAS
b.
Dua buah matriks sekaligus yang tersusun ke bawah h
asilnya sebagai berikut:
matriks pertama
3 2 1 5
6 5 4 6
7 8 9 7
matriks kedua
5 4 9
3 6 7
8 2 3
Rekam dengan nama file
MATRIKS4.PAS
c.
Dua buah matriks sekaligus yang tersusun ke kenan,
hasilnya sebagai berukut:
matriks pertama
matriks kedua
1 9 3
4 5 7
4 6 8
9 1 6
5 7 2 2 3
8
2 3 4 7 4
5
Rekam dengan nama file
MATRIKS5.PAS
Catatan:
Untuk membuat dua buah matriks sekaligus dengan cara: masukan data matriks
pertama sampai selesai, masukan data matriks kedua sampai selesai, cet
ak data matriks
pertama kemudian cetak data matriks kedua (untuk dua matriks yang tersusun ke
bawah), cetak matriks pertama dan matriks kedua secara bersamaan (untuk dua ma
triks
yang terususun ke kanan).
F.
Pertanyaan dan Tugas
1.
Dapatkah elemen data matriks bernilai negatif? Jela
skan!
2.
Apakah perbedaan lariks berdimensi satu dengan berd
imensi 2?
3.
Buatlah 3 contoh matriks lengkap dengan elemen data
nya yang Anda ketahui dalam kehidupan
sehari-hari!

Tidak ada komentar:

Posting Komentar