BAB I Pendahuluan A. Tujuan 1) Untuk mengetahui penggunaan looping khususnya penggunaan For … To … Do
dan For … DownTo . . . Do. 2) Untuk mengetahui peran penggunaan IF pada proses looping di dalam
penggunaan For … To … Do dan For … DownTo . . . Do. B. Landasan Teori
Pengulangan (Looping) for adalah bentuk pengulangan (looping) yang terurut. Dikatakan terurut karena dalam penggunaanya ada suatu variabel yang bergerak secara berurutan atau dikenal dengan nama counter. Macam-macam perulangan for : 1) Perulangan for Positif Perulangan dengan penghitung (counter) dari kecil ke besar, perulangan ini dibentuk dengan menggunakan statement For-to-do. Contoh 1 Var I:integer; Begin For I:= 1 to 5 do Writeln(‘Pascal’); Readln; End. Output Pascal Pascal Pascal
Pascal Pascal
Contoh 2 Var I:integer; Begin For I:= 1 to 5 do Begin Writeln(‘Pascal’); End; Readln; End. Output Pascal Pascal Pascal Pascal Pascal
Contoh 3 Var I:integer; Begin For I:= 1 to 5 do
{mengulang 1 statement di bawahnya dari begin
sampai end} Begin Write(I); Writeln(‘Belajar’); End; Readln;
End.
Output 1Belajar 2Belajar 3Belajar 4Belajar 5Belajar
Contoh 4 Var I:integer; Begin For I:= 1 to 5 do
{hanya mengulang nilai ‘I’ dari 1 sampai 5}
Write(I); Writeln(‘Belajar’); Readln; End.
Output 12345Belajar 2) Perulangan for Negatif Perulangan dengan penghitung (counter) dari besar ke kecil, perulangan ini dibentuk dengan menggunakan statement For-downto-do. Contoh 1: Uses Crt; Var I:Byte;
Begin Clrscr; For I:=5 downto 1 do Writeln(I); Writeln(‘Selesai’); Readln; End. Output 5 4 3 2 1 Selesai
Contoh 2: Uses Crt; Var B:Integer; Begin Clrscr; Writeln(‘-------------------------------------------‘); Writeln(‘ B
B*B
B*B*B
1/B
‘);
Writeln(‘-------------------------------------------‘); For B:=10 downto 1 do Writeln(B:3,B*B:8,B*B*B:8,1/B:12:2); Readln;
End. Output
3) Perulangan For Bersarang Perulangan yeng berada di dalam perulangan yang lainnya, perulangan yang lebih dalam akan diproses lebih dahulu sampai habis kemudian perulangan yang lebih luar, kemudian mengerjakan perulangan yang lebih dalam lagi mulai dari nilai awalnya dan seterusnya. Contoh 1 Uses Crt; Var I,J:Integer; Begin Clrscr; For I:=1 to 5 do Begin For J:=1 to 4 do Write(I:8,J:5); Writeln; End; Readln; End. Output
Contoh 2 Uses Crt; Var I,J:Integer; Begin Clrscr; For I:=1 to 5 do Begin For J:=1 to 4 do Writeln(I:8,J:5); Writeln; End; Readln; End. Output
Pernyataan percabangan/kendali/bersyarat merupakan pernyataan yang akan mengeksekusi suatu pernyataan yang mengikutinya bila suatu persyaratan dipenuhi.Salah satu pernyataan kendali untuk pengambilan keputusan dalam Pascal adalah pernyataan If … Then … Else … Bentuk umum : IF kondisi THEN Statemen 1 ELSE Statemen 2 dimana : kondisi : ungkapan boolen yang menghasilkan nilai benar atau salah statemen 1, statemen 2 : pernyataan-pernyataan tunggal/majemuk. Dalam Pascal, pernyataan majemuk adalah kumpulan dari beberapa pernyataan yang diawali dengan kata baku BEGIN dan diakhiri oleh kata baku END, yang dianggap sebagai sebuah pernyataan tunggal. Maksudnya : bila kondisi bernilai TRUE (benar) maka akan dikerjakan statemen 1 dan statemen 2 dilewati, sedangkan jika kondisi bernilai FALSE (salah) maka akan dikerjakan statemen 2 dan statemen 1 dilewati. Untuk pernyataan IF yang berkalang (ada pernyataan IF yang lain dalam pernyataan IF), ELSE selalu berpasangan dengan dengan IF yang terletak sebelum dan yang paling dekat dengan ELSE tersebut, serta terletak dalam blok pernyataan yang sama.
BAB II ISI A. Listing Program Segiempat program Segi4; uses wincrt; procedure gb(n: integer); var i,j : integer; begin for i:=1 to n do begin for j:=1 to n do begin if((i=1) or (i=n) or (j=1) or (j=n))
then write('*') else write(' '); end; writeln; end; end; var n: integer; begin write('Masukkan Nilai n: '); readln(n); writeln('Bentuknya :'); gb(n); end.
SegiTiga(1) program piramida; uses wincrt; var I,J,K,L,N:byte; begin write('masukkan tinggi piramida:'); readln(N); K:=N*2; L:=K-1; For I := N downto 1 do begin for J := 1 To L do if (I>j) or ((I+J)>K)then
write(' ') else write('*'); writeln; end; end. SegiTiga(2) program piramida; uses wincrt; var I,J,K,L,N:byte; begin write('masukkan tinggi piramida:'); readln(N); K:=N*2; L:=K-1; For I := 1 to N do begin for J := 1 To L do if (I>j) or ((I+J)>K)then write(' ') else write('*'); writeln; end; end. SegiTiga Siku(1) program tugas_2; uses wincrt;
var i,j,n:byte; begin clrscr; write('Masukan nilai n : '); readln(n); begin for i:=1 to n do begin for j:=1 to i do write('*'); writeln; end; end; readln; end. SegiTiga(2) program tugas_1; Uses winCrt; Var I,J,K:Integer; Begin Clrscr; Write('Masukan Jumlah Bintang :'); Readln(I); For J:=I downto 1 do Begin
For K:= 1 to J do Write('*'); Writeln; End; Readln; End. SegiTiga(3) program tugas_2; uses wincrt; var i,j,tinggi:byte; begin clrscr; write('Masukan nilai n : '); readln(tinggi); begin for i:=1 to tinggi do begin for j:=1 to tinggi do if j
end; end. SegiTiga(4) program tugas_2; uses wincrt; var i,j,tinggi:byte; begin clrscr; write('Masukan nilai n : '); readln(tinggi); begin for i:=tinggi downto 1 do begin for j:=1 to tinggi do if j
B. Output Segiempat
Segitiga(1)
Segitiga(2)
Segitiga siku(1)
Segitiga siku(2)
Segitiga siku(3)
Segitiga siku(4)
C. Flowchart