Kamis, 22 Desember 2011

CONTOH PROGRAM (1)


Program 1 : menghitung luas/keliling bangunan


Yup... sekarang kita buat program yang pertama, menghitung luas dan keliling bangunan. Bangunan yang dijadikan contoh adalah segitiga. Perhatikan contoh di bawah ini:

  1: Program Menghitung_Luas_dan_Keliling;
  2: var alas, tinggi, sisimiring, luas, keliling: real;
  3: Begin
  4:   writeln('MENGHITUNG LUAS DAN KELILING SEGITIGA');
  5:   writeln('-------------------------------------');
  6:   write('Masukkan alas : ');readln(alas);
  7:   write('Masukkan tinggi : ');readln(tinggi);
  8:   luas:= 0.5*alas*tinggi;
  9:   sisimiring:=sqrt(sqr(alas)+sqr(tinggi));
10:   keliling:= alas+tinggi+sisimiring;
11:   writeln;
12:   writeln('luas segitiga : ', luas:0:2);
13:   writeln('keliling segitiga : ', keliling:0:2);
14:   readln;
15: end.

Pada baris 6 dan 7 adalah tempat memasukkan alas dan tinggi segitiga yang akan diproses di baris 8 sampai 10. Ingat kan rumus menghitung sisi miring segitiga? yaitu akar dari jumlah kuadrat sisi-sisinya. Fungsi "sqrt" adalah untuk mengakarkan dan sqr untuk mengkuadratkan.

Sekarang kebaris 12 dan 13. Apa yang beda hayoo...? betul.. setelah variabel luas dan keliling dicetak ke layar ada tambahan ":0:2". Itu artinya :banyaknya alokasi angka:jumlah desimal.

Gampangkan? iya donk, kan tinggal maen logika... :D

Program 2 : menentukan bilangan ganjil, genap dan prima


Pernah kan pas di SD kita disuruh nentuin bilangan ini ganjil apa genap, prima apa bukan. Sekarang kita jadiin program.

  1: Program JenisBilangan;
  2: var bil: longint;
  3: begin
  4:   writeln('MENENTUKAN JENIS BILANGAN');
  5:   writeln('-------------------------');
  6:   write('Masukkan angka: ');readln(bil);
  7:   if ((bil=2) or (bil=3) or (bil=5) or (bil=7)) then
  8:     write('bilangan prima')
  9:   else if ((bil mod 2 <> 0) and (bil mod 3 <> 0) and
(bil mod 5 <> 0) and (bil mod 7 <> 0)) then
10:     write('bilangan prima')
11:   else write('bukan bilangan prima');
12:   if bil mod 2 = 0 then
13:     writeln(' dan genap')
14:   else
15:     writeln(' dan ganjil');
16:   readln;
17: end.

Pada baris ke-7 sampai 12 adalah tempat menentukan bilangan prima atau bukan. Masih ingat kan karateristik bilangan prima? bilangan yang hanya bisa dibagi 1 dan dirinya sendiri dan juga hampir semuanya ganjil. Berhubung bilangan prima dibawah 10 adalah persyaratan untuk bilangan diatas 10 (perhatikan baris ke 7 dan 9), jadi bilangan prima dibawah 10 ditulis manual. Fungsi "mod" pada baris 9 dan 13 adalah sebagai sisa dari pembagian. Jika ditulis "7 mod 3" maka hasilnya adalah 1, artinya sisa dari 7/3 (tujuh dibagi tiga) adalah 1.

Gimana? Tinggal maen logika... kan? :P


Program 3 : menentukan bilangan terbesar (dengan if)

Ini adalah program terakhir untuk mematangkan penggunaan kondisi if. Pernah kah kalian membuat program dengan susah payah tetapi setelah ditunjukkan dengan orang lain, mereka bilang "Hanya gitu doank kerjanya?". He he he... sakit hati emang :-(, kalo bisa rasanya pengen nimpuk tu orang dengan hardisk SEAGATE BARACUDA 80 giga lima biji :)). Ini salah satu program yang panjang, tapi fungsinya... yaa... gitulah :D

  1: Program BilanganTerbesar;
  2: Var bil1, bil2, bil3 :real;
  3: Begin
  4:   Write('Masukkan Bilangan Pertama : ');Readln(bil1);
  5:   Write('Masukkan Bilangan Kedua : ');Readln(bil2);
  6:   Write('Masukkan Bilangan Ketiga : ');Readln(bil3);
  7:   If (bil1=bil2) and (bil2=bil3) then
  8:     Writeln('Semua bilangan yang anda masukkan sama
besar ',bil1:0:0)
  9:   Else If (bil1=bil2) or (bil1=bil3) or (bil2=bil3) then
10:     Begin
11:       If bil1=bil2 then
12:         Begin
13:           Writeln('Bilangan Pertama dan Kedua Adalah Sama');
14:           If Bil1 < bil3 then
15:             Writeln('Bilangan Terbesar Adalah ',bil3:0:0)
16:           Else
17:             Writeln('Bilangan Terbesar Adalah ',bil1:0:0)
18:         End
19:       Else If bil1=bil3 then
20:         Begin
21:           Writeln('Bilangan Pertama dan Ketiga Adalah Sama');
22:           If Bil1 < bil2 then
23:             Writeln('Bilangan Terbesar Adalah ',bil2:0:0)
24:           Else
25:             Writeln('Bilangan Terbesar Adalah ',bil1:0:0)
26:         End
27:       Else If bil2=bil3 then
28:         Begin
29:           Writeln('Bilangan Kedua dan Ketiga Adalah Sama');
30:           If Bil1 < bil3 then
31:             Writeln('Bilangan Terbesar Adalah ',bil3:0:0)
32:           Else
33:             Writeln('Bilangan Terbesar Adalah ',bil1:0:0)
34:         End
35:     End
36:   Else If bil1 > bil2 then
37:     Begin
38:       If bil1 > bil3 then
39:         Writeln('Bilangan terbesar adalah ',bil1:0:0)
40:       Else
41:         Writeln('Bilangan terbesar adalah ',bil3:0:0);
42:     End

43:   Else If bil1 < bil2 then
44:     Begin
45:       If bil2 > bil3 then
46:         Writeln('Bilangan terbesar adalah ',bil2:0:0)
47:       Else
48:         Writeln('Bilangan terbesar adalah ',bil3:0:0);
49:     End;
50:   readln;
51: End.

Hue he he... keren kan? dengan bermodalkan if kita bisa menentukan bilangan mana yang terbesar dari 3 bilangan yang dimasukkan. Selain itu program ini bisa mendekteksi jika ada bilangan yang sama. Yup, hanya itu intinya. Prinsip utama program ini hanya membandingkan bilangan satu dengan yang lain. Mudah bukan? lebih baik kalian ngerjain yang ini tanpa ngeliat tu program, biar logikanya jalan...

0 komentar:

Posting Komentar