Laporan Pemrograman Komputer “Looping”
Disusun Oleh : Antonio Grafiko F1A 007 002 Dosen Pembimbing Bashori
Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Bengkulu 2009
BAB I
Pendahuluan A. Tujuan 1)
Untuk mengetahui penerapan Repeat(looping) dalam Pascal.
2)
Untuk mengetahui fungsi for dalam membuat segitiga Pascal dan Piramida Pascal.
B.
Landasan Teori Perulangan dalam Pascal berguna untuk mengerjakan suatu statementatau blok
statement secara berulang-ulang sebanyak yang Anda inginkan.Perulangan banyak sekali dipakai dalam pembuatan program dengan Pascal. Pascal menyediakan tiga buah struktur kontrol perulangan : while .. do, repeat ..until, dan for. Pernyataan perulangan yang paling sering digunakan adalah for. Pernyataan FOR biasa digunakan untuk mengulang statemen atau satu blok statemen berulang kali yang jumlahnya telah diketahui sebelumnya. Sebagai
contoh, FOR dapat
digunakan untuk menampilkan tulisan‘Turbo Pascal’ 10 kali atau pun dalam jumlah yang lebih banyak lagi. Perulangan dapat dalam bentuk positif, perulangan negatif dan perulangan tersarang For 1. For To Do Bentuk umum : FOR perubahan := awal TO akhir DO [ Blok statemen ] Keterangan : Perubahan
: adalah nama perubah kendali
Awal
: adalah awal perubah kendali
Akhir
: adalah akhir perubah kendali
Blok Statemen adalah statemen yang diproses berulang yangsering disebut juga kalang (loop) Variabel, nilai_awal dan nilai_akhir harus bertipe sama atau kompatibel Tipe yang digunakan pada ketiga komponen tersebut harus berupa ordinal nilai_awal harus lebih kecil atau sama dengan nilai_akhir. Kalau nilai_akhir lebih kecil daripada nilai_awal, bagian pernyataan tidak dijalankan sama sekali. 2. For Downto Do
Kalau FOR-TO digunakan untuk mencacah naik, FOR-DOWNTO adalah kebalikannya. Pada FOR-DOWNTO, nilai awal justru harus lebih besar (atau sama dengan) nilai akhir. Format selengkapnya: FOR perubahan := awal DOWNTO akhir DO [ Blok statemen ] 3. For Bersarang
Anda bisa juga menuliskan pernyataan FOR di daam pernyataan For. Konstruksi semacam ini sering disebut dengan pernyataan FOR bersarang. While . . . Do Statemen WHILE …. DO digunakan untuk melakukan proses perulangan suatu statemen atau blok statemen terus menerus selama kondisi ungkapanlogika pada WHILE masih bernilai logika benar. Bentuk umum WHILE kondisi DO [ Blok statemen ] 1. Pencacahan Meningkat
Contoh program berikut menunjukan pemakaian WHILE untuk menggantikan perintah: FOR Pencacah := 1 TO 10 DO WriteLn(Pencacah); 2. Pencacahan Menurun
WHILE juga dapat dipakai untuk menggantikan FOR-DOWNTO, yaitu sebagai Pencacah := 10; WHILE Pencacah > 0 DO BEGIN WriteLn (Pencacah); Pencacah := Pencacah -1; END; FOR Pencacah := 10 DOWNTO 1 DO WriteLn(Pencacah); Repeat . . . Until Struktur REPEAT … UNTIL digunakan untuk mengulang (REPEAT) statemen-statemen atau blok statemen sampai (UNTIL) kondisi yang diseleksi diUNTIL tidak dipenuhi. Bentuk Umum : REPEAT [Blok statemen] UNTIL kondisi
Keterangan : Statmen
: adalah yang diproses berulang
Kondisi
: adalah supaya proses berulang dihentikan
Tampak bahwa pengulangan justru dilakukan selama kondisi bernilai salah (False). Jadi merupakan kebalikan dari WHILE. Perbedaan yang lain terhadap WHILE, pemeriksaan terhadap kondisi pada REPEAT dilakukan belakangan, setelah bagian pernyataan yang terletak antara REPEAT dan UNTIL dieksekusi. Hal ini yang menyebabkan perulangan ini biasanya dipakai jika sekurang-kurangnya baris perintah di dalam blok statement dikerjakan sebanyak satu kali. Perulangan REPEAT .... UNTIL diawali dengan kata baku REPEAT dan diakhiri dengan kata baku until serta pengecekan kondisi. Perulangan REPEAT dengan banyak statement tidak perlu menggunakan kata baku Begin dan End pada akhir blok karena secara default perulangan REPEAT ... UNTIL adalah untuk banyak statement yang diawali dengan Repeat dan diakhiri dengan until.
BAB II ISI A. Listing Program Penggunaan Looping program Pengunaan_Looping;
uses wincrt; const Pi=22/7; var x,g
: char;
a,b,c,r,t : real; L1,L2,L3,V: real; begin clrscr; repeat writeln('*** M E N U P I L I H A N ***'); writeln('
1. Tabung');
writeln('
2. Limas ');
writeln('
3. Balok');
writeln('
4. Prisma');
writeln('
5. Bola');
writeln('
6. Kerucut');
write('Masukkan Pilihan Anda : '); readln(x); clrscr; if x='1' then Begin writeln('***TaBunG***'); writeln; write('Masukkan diameter tabung: '); readln(a); write('Masukkan tinggi tabung : '); readln(b); writeln; writeln('Maka :'); L1:=Pi*a*b; writeln('Luas selimut tabung adalah: ',L1:0:2); L2:=Pi*sqr(a/2);
writeln('Luas alas tabung adalah : ',L2:0:2); V:=L2*b; writeln('Volume tabung adalah
: ',V:0:2);
L3:=L1+(2*L2); writeln('Luas tabung adalah
: ',L3:0:2);
writeln; write('Anda Ingin Melanjutkan Perhitungan (Y/T): '); readln(g); if (g='Y') or (g='y') then clrscr; writeln(^G); end else if x='2' then Begin writeln('***LiMaS***'); writeln; write('Masukkan panjang alas : '); readln(a); write('Masukkan lebaralas : '); readln(b); write('Masukkan tinggi Limas : '); readln(c); Writeln('Maka : '); L1:=a*b; Writeln('Luas Alas Limas adalah : ',L1:0:2); V:=(a*b*c)/3; Writeln('Volume Limas adalah : ',V:0:2); writeln; write('Anda Ingin Melanjutkan Perhitungan (Y/T): '); readln(g); if (g='Y') or (g='y') then clrscr;
writeln(^G); end else if x='3' then Begin writeln('***Balok***'); writeln; write('Masukkan panjang balok: '); readln(a); write('Masukkan tinggi balok : '); readln(b); write('Masukkan lebar balok : '); readln(c); writeln; writeln('Maka :'); L1:=(2*a*b)+(2*b*c)+(2*a*c); writeln('Luas balok adalah : ',L1:0:2); V:=a*b*c; writeln('Volume balok adalah: ',V:0:2); L2:=4*a+4*b+4*c; writeln('Panjang semua rusuk adalah:',L2:0:2); writeln; write('Anda Ingin Melanjutkan Perhitungan (Y/T): '); readln(g); if (g='Y') or (g='y') then clrscr; writeln(^G); end else if x='4' then Begin writeln('***Prisma***'); writeln;
write('Masukkan alas segitiga : '); readln(a); write('Masukkan tinggi segitiga : '); readln(b); write('Masukkan tinggi prisma : '); readln(c); writeln; Writeln('Maka : '); L1:=1/2*a*b; Writeln('Luas Alas Prisma adalah : ',L1:0:2); V:=(((a*b)/2)*c)/2; Writeln('Volume Prisma adalah : ',V:0:2); writeln; write('Anda Ingin Melanjutkan Perhitungan (Y/T): '); readln(g); if (g='Y') or (g='y') then clrscr; writeln(^G); end else if x='5' then Begin writeln('***Bola***'); writeln; write('Masukkandiameter bola : '); readln(a); Writeln('Maka : '); b:=(1/2)*a; V:=(4/3)*pi*(b*b*b); Writeln('Volume Bola adalah : ',V:0:2); L1:=4*pi*(a*a); writeln('Luas Permukaan Bola adalah : ',L1:0:2); writeln;
write('Anda Ingin Melanjutkan Perhitungan (Y/T): '); readln(g); if (g='Y') or (g='y') then clrscr; writeln(^G); end else if x='6' then begin writeln('***Kerucut***'); write('Masukkan nilai jari-jari
: ');
readln(r); write('tentukan tinggi tabung
: ');
readln(t); L1:=(Pi*sqr(r))+(Pi*r*t); writeln('luas kerucut
: ',L1:0:2);
v:=Pi*0.33*sqr(r)*t; writeln('maka volume kerucut
: ',V:0:2);
write('Anda Ingin Melanjutkan Perhitungan (Y/T): '); readln(g); if (g='Y') or (g='y') then clrscr; writeln(^G); end else Begin writeln('Pilihan Anda berikan salah'); writeln; write('Anda Ingin Melanjutkan Perhitungan (Y/T): '); readln(g); if (g='Y') or (g='y') then clrscr; writeln(^G);
end; until (g='T') or (g='t'); CLRSCR; WRITELN; writeln('***Perhitungan bangun Ruang Selesai***'); writeln; write('Terimakasih'); end. Segitiga Pascal program segitiga_pascal; uses wincrt; var n,i,j:word; isi:array[0..20,0..21] of word; begin write('Masukkan berapa tingkat segitiga pascal:'); readln(n); isi[0,1]:=1; writeln('1'); for i:=1 to n do begin for j:=1 to i+1 do begin isi[i,j]:=isi[i-1,j]+isi[i-1,j-1]; write(isi[i,j],' '); end; writeln; end; end. Piramida Pascal program piramida; uses wincrt;
var n, i, j, k : integer; begin clrscr; writeln('PROGRAM MENCETAK PIRAMIDA BILANGAN'); writeln('----------------------------------'); writeln; write('Masukkan Jumlah Baris: '); readln(n); for i:=1 to n do begin for j:=1 to n-i do write(' '); for k:=i downto 1 do write(k); for k:=2 to i do write(k); writeln; end; readln; end.
B. Output Penggunaan Looping Menu
Pilihan Tabung
Pilihan Limas
Pilihan Balok
Pilihan Prisma
Pilihan Bola
Pilihan Kerucut
Pilihan Ketika memasukkan pilihan salah
Perhitungan selesai dengan memilih T
Segitiga Pascal
Piramida Pascal
C. Flowchart Penggunaan Looping
Y/T
T Y
x,g,a,b,c,r,t,Pi,L1,L2,L3,V
Salah input
Tidak Ya
1-7
Y
Ya
1
Tabung
Y/T
T
Tidak Ya
Y 2
Limas
Y/T
Balok
Y/T
T Y
Tidak Ya
3
T
Y
Tidak Ya
4
Tidak Ya
Y/T
Prisma
5
Y/T
Bola
T Y T Y
Tidak Ya
6
Kerucut
Selesai
T
Y/T
Segitiga Pascal
n,I,j,isi
for i:=1 to n do
for j:=1 to i+1 do
Y
Nilai segitiga Pascal
Piramida Pascal
n,I,j,isi
for i:=1 to n do
j:=1 to n-i do
Nilai Piramida
D. Pembahasan Di dalam penggunaan looping dalam hal ini kita gunakan looping berupa repeat di dalam pengulangan terdapat beberapa macam di antaranya for dan juga while. Penggunaan looping pada algoritma di atas bertujuan agar terdapat suatu proses pengulangan dalam hal melakukan atau menjalani sintax yang telah dibuat,proses ini tak selamanya berjalan terus menerus karena adanya berupa until yaitu pasangan yang digunakan pada looping repeat. Sedangkan dalam membuat suatu sistem penglogikaan terhadap pembuatan segitiga pascal dan piramida diperlukan suatu proses looping kembali,akan tetapi yang digunakan adalah looping tipenya yang berbeda yaitu menggunakan for. For ini digunakan untuk menyusun data dari suatu data baik berupa angka atau karakter lainnya seperti *,di dalam pascal dan piramida kita bias gunakan suatu pasangan dalam menggunakan for yaitu down to atau to. Di dalam membuat algoritma pascal baik segitiga pascal atau piramida pascal kita masih menggunakan suatu hal lain berupa penggunaan if dimana if ini berfungsi
sebagai pemisalan sebagai contoh dalam segitiga pascal terdapat spasi maka if ini digunakan agar terciptanya spasi tersebut.
BAB III Penutup A.
Kesimpulan Dalam looping terdapat tiga macam yang bias digunakan antara lain for,repeat .
. . until dan juga while . . . do. Semua pengulangan atau looping memiliki kesamaan yaitu melakukan proses berulang-ulang akan tetapi bila di lihat pemakaiannya penggunaan repeat . . . until dan while . . . do baik digunakan pada algoritma yang menggunakan case . . . of dan if . . . then. Proses pengulangan yang dilakukan oleh repeat . . . until dan while . . . do sama keduanya yaitu mengembalikan proses atau melakukan pengulangan terhadap algoritma yang dibuat. B.
Saran Laporan ini masih belum sempurna bila ada saran dan kritik akan laporan ini
saya akan menerimanya dengan lapang dada.
Daftar Pustaka •
Kadir,abdul,1987,Pemrograman Dasar Turbo Pascal,Andi Offset,Yogyakarta.