Program 4 : penggurutan angka (looping)
Pernahkah kalian dikasih nilai ulangan siswa lalu disuruh ngurutin dari yang kecil ke gede? Kalo jumlahnya dibawah 10 sih gak masalah, lah kalo ada 100 biji kan berabe... Ini solusinya:
1: Program Pengurutan;
2: var i, j: integer;
3: k : longint;
4: a: array[1..5] of longint;
5: begin
6: writeln('PROGRAM MENGGURUTKAN ANGKA');
7: writeln('--------------------------');
8: for i:=1 to 4 do
9: begin
10: write('Masukkan bilangan ke- ', i, ' : ');readln(a[i])
11: end;
12: for j:=2 to 4 do
13: begin
14: k:=a[j];
15: i:=j-1;
16: while (i>0) and (a[i]>k) do
17: begin
18: a[i+1]:=a[i];
19: i:=i-1;
20: end;
21: a[i+1]:=k
22: end;
23: for i:=1 to 4 do
24: writeln(a[i]);
25: readln;
26: end.
Hhmmm... sebenarnya gak perlu dijelasin lagi yach tu program, gua harap kalian bisa nge-trace (menelusuri) algoritma programnya. Program ini dibatasi untuk 4 angka saja, bisa diubah sesuai keinginan. Pada prinsipnya program ini memasukkan input ke dalam array, kemudian membandingkannya, bila ternyata angka sebelumnya lebih besar, maka dipindah posisinya (coba dech di trace, pasti ngerti).
Program ini berguna banget buat kalian yang hobi ngitung, apa lagi buat anak smu. Untuk pengembanganya kalian bisa menghitung mean, modus dan median
Program 5 : bintang (looping)
Setelah sebelumnya kita bermain dengan if, sekarang ke for. Program di bawah ini akan memunculkan output berupa sekumpulan bintang yang membentuk tangga
1: Program BintangTangga;
2: const akhir=18;
3: var baris, kolom: integer;
4: begin
5: for baris:=1 to akhir do
6: begin
7: for kolom:=1 to baris do
8: write('*');
9: writeln;
10: end;
11: readln;
12: end.
Coba dech dijalankan, gimana hasilnya? menarik bukan?. Sekarang kita coba menampilkan sekumpulan bintang yang membentuk kubus.
1: Program BintangKubus;
2: uses crt;
3: Var i, j, x, y:integer;
4: Begin
5: clrscr;
6: Write('Masukkan Dimensi Kubus: ');Readln(x);
7: y:=0;
8: For i:=1 to x do
9: Begin
10: for j:=1 to x do
11: Begin
12: y:=y+1;
13: write(y:4);
14: if y mod x=0 then
15: Writeln;
16: End;
17: End;
18: readkey;
19: End.
Gimana? baguskan? Sekarang tugas kamu membuat sekumpulan bintang berbentuk piramida dan berbentuk tangga terbalik (seperti program pertama di atas tetapi terbalik)
Program 6 : penggabungan program 1, 2 dan 4 dengan membuat menu (prosedur, fungsi)
Setelah dari tadi belajar logika, sekarang kita menggabungkan beberapa program sebelumnya dan dibuat menu. Untuk contoh ini kita memanfaatkan repeat.
1: Program Gabung;
2: uses crt;
3: var pilih: integer;
4: Procedure luas;
5: {copy dan paste program 1}
6: end;
7: Procedure JenisBilangan;
8: {copy dan paste program 2}
9: end;
10: Procedure Pengurutan;
11: {copy dan paste program 4}
12: End;
13: begin {program utama}
14: repeat
15: clrscr;
16: writeln(' PILIHAN');
17: writeln('-------------------------------------------');
18: writeln(' 1. Menghitung Luas');
19: writeln(' 2. Jenis Bilangan');
20: writeln(' 3. Pengurutan');
21: writeln(' 4. Exit');
22: writeln('-------------------------------------------');
23: writeln;
24: writeln;
25: write(' Pilih Angka untuk Memilih Pilihan : ');
26: readln(pilih);
27: case pilih of
28: 1 : luas;
29: 2 : JenisBilangan;
30: 3 : Pengurutan;
31: 4 : exit;
32: end;
33: until pilih = 4;
34: end.
Ngertikan prisip kerjanya? Jadi program ini hanya akan berakhir jika user memilih no 4.
0 komentar:
Posting Komentar