laporan pemrograman komputer 5
TRANSCRIPT
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 lebar alas : ');
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('Masukkan diameter 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
Mulai
Penggunaan Looping
T
Y
Tidak
Ya
Y
Ya T
Tidak Y
Ya T
Y
Tidak
Ya T Y
Tidak
Ya T
Tidak Y
Ya T
Y
Tidak
Ya
T Y
Segitiga Pascal
x,g,a,b,c,r,t,Pi,L1,L2,L3,V
1 Selesai
3
Selesai
Selesai
5
Selesai
Selesai
6
Balok
Tabung
Prisma
Limas
Kerucut
Selesai
Bola
Case x Of dari 1-6,Setelah dipilih maka akan berjalan sesuai rumus yang telah dibuat
Selesai
2
4
Salah input
1-7
Y/T
Y/T
Y/T
Y/T
Y/T
Y/T
Y/T
Piramida Pascal
Mulai
n,I,j,isi
for i:=1 to n do
for j:=1 to i+1 do
isi[i,j]:=isi[i-1,j]+isi[i-1,j-1]
Nilai segitiga Pascal
Selesai
D. Pembahasan
n,I,j,isi
for i:=1 to n do
j:=1 to n-i do
k:=i downto 1 do
k:=2 to i do
Nilai Piramida
Selesai
Mulai
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.