program konversi suhu pascal

Download Program Konversi Suhu Pascal

If you can't read please download the document

Upload: muhammad-farhan-mubarak

Post on 21-Apr-2015

986 views

Category:

Documents


78 download

TRANSCRIPT

Saya mencoba membuat program konversi suhu menggunakan procedure. Didalam program ini terdapat percabangan case of else dan perulangan repeat until. Coba pahami kegunaannya.1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 Program Konversi_Suhu; Uses WinCrt; var f,c,r : real; a,ul : char; procedure farein_celcius; begin Writeln('Program Konversi Fareinheit Ke Celcius'); Writeln('======================================'); Writeln; Write('Masukan Suhu dalam Farenheit: ');readln(f); c:=5/9*(f-32); Writeln; Writeln('Jadi Suhu Dalam Celcius Adalah: ',c:4:2); end; procedure farein_reamur; begin Writeln('Program Konversi Fareinheit Ke Reamur'); Writeln('====================================='); Writeln; Write('Masukan Suhu dalam Farenheit: ');readln(f); r:=4/9*(f-32); Writeln; Writeln('Jadi Suhu Dalam Reamur Adalah: ',r:4:2); end; procedure celcius_farein; begin Writeln('Program Konversi Celcius Ke Fareinheit'); Writeln('======================================'); Writeln; Write('Masukan Suhu dalam Celcius: ');readln(c); f:=(9/5)*c+32; Writeln; Writeln('Jadi Suhu Dalam Fareinheit Adalah: ',f:4:2); end; procedure celcius_reamur; begin Writeln('Program Konversi Celcius ke Reamur'); Writeln('=================================='); Writeln; Write('Masukan Suhu dalam Celcius: ');readln(c); r:=(4/5)*c; Writeln; Writeln('Jadi Suhu Dalam Reamur Adalah: ',r:4:2); end; procedure reamur_celcius; begin

53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

writeln('Program Konversi Reamur ke Celcius'); Writeln('=================================='); Writeln; Write('Masukan Suhu dalam Reamur: ');readln(r); c:=(5/4)*r; Writeln; Writeln('Jadi Suhu Dalam Celcius Adalah: ',c:4:2); end; procedure reamur_farein; begin writeln('Program Konversi Reamur ke Fareinheit'); Writeln('====================================='); Writeln; Write('Masukan Suhu dalam Reamur: ');readln(r); f:= (9/4)*r+32; Writeln; Writeln('Jadi Suhu Dalam Fareinheit Adalah: ',f:4:2); end; begin repeat clrscr; writeln ('Program konversi suhu'); writeln; writeln ('1. fareinheit - celcius'); writeln ('2. fareinheit - reamur'); writeln ('3. celcius - reamur'); writeln ('4. celcius - fareinheit'); writeln ('5. reamur - celcius'); writeln ('6. reamur - farenheit'); writeln; write ('pilih nomor konversi : '); read (a); writeln; case a of '1' : farein_celcius; '2' : farein_reamur; '3' : celcius_reamur; '4' : celcius_farein; '5' : reamur_celcius; '6' : reamur_farein; else writeln ('Nomor yang anda masukkan salah'); end; Writeln;Writeln; Write('Mau Coba Lagi [Y/T]: ');Readln(ul); Until Upcase(ul) = 'Y'; End.

program konversi suhu ini saya buat menggunakan prosedur supaya mudah dibaca dan dipahami. variabelnya menggunakan variabel global karana semua variabel di prosedur maupun di program utamasama. saya menggunakan repeat until di program utama supaya program ini dapat diulang berulangkali sampaipengguna mengetikkan huruf T.

dalam percabangannya saya menggunakan case of karena lebih singkat daripada if then else. kalau menggunakan if then else percabangannya bentuknya seperti ini: if a=1 then farein_celcius else if a=2 then farein_reamur else if a=3 then celcius_reamur else if a=4 then celcius_farein else if a=5 then reamur_celcius else if a=6 then reamur_farein; karena menurutku terlalu panjang, maka saya menggunakan case of untuk percabangan atau pemilihannya. dalam pemilihannya angka berada diantara petik satu karena variabelnya dalam bentuk char, bila variabelnya dalam bentuk integer maka angka-angkanya tidak perlu diberi tanda petik, saya menggunakan char karena bitnya lebih rendah. logikanya.

pertama program akan menampilkan Program konversi suhu 1. fareinheit celcius 2. fareinheit reamur 3. celcius reamur 4. celcius fareinheit 5. reamur celcius 6. reamur farenheit pilih nomor konversi : nomor konversi kita isikan dengan angka 1-6 untuk memilih program konversi bila kita memasukkan angka 5 maka yang keluar adalah program konversi reamur ke celcius kerena kita mengetikkan 5 maka program utama memanggil prosedur konversi reamur-celcius karena dalam percabangan/pemilihan, angka lima adalah prsedur reamur-celcius. selanjutnya tampilannya seperti ini : Program konversi suhu 1. fareinheit celcius 2. fareinheit reamur 3. celcius reamur 4. celcius fareinheit 5. reamur celcius 6. reamur farenheit pilih nomor konversi : 5 Program Konversi Reamur ke Celcius

================================== Masukan Suhu dalam Reamur : 40 Jadi Suhu Dalam Reamur adalah: 50.00 Mau Coba Lagi [Y/T]: bila kita ketikkan y, maka program akan mulai lagi seperti yang pertama. Program konversi suhu 1. fareinheit celcius 2. fareinheit reamur 3. celcius reamur 4. celcius fareinheit 5. reamur celcius 6. reamur farenheit pilih nomor konversi : dan kita tinggal memilih program konversi kembali. bila anda ingin menghentikan program maka ketikkan t. setelah itu program akan berhenti. Mau Coba Lagi [Y/T]:

GABUNGAN ANTARA WHILE , FOR, CASE, PROCEDURE uses wincrt; procedure office; vara,jml : integer; nm,word,exl,pp : string; begin clrscr; writeln(DATA NILAI OFFICE); writeln(-----------); write(Jumlah Siswa :); readln(jml); for a := 1 to jml do begin write(Nama ,a,:');readln(nm); write(Nilai Ms.Word =);readln(word); write(Nilai Ms.Excel =);readln(exl); write(Nilai Ms.Power Point =); readln(pp); end; end; procedure desain; vara,jml : integer; nm,ps,cd : string; begin clrscr; writeln(DATA NILAI DESAIN); writeln(-----------); write(Jumlah Siswa :); readln(jml); for a := 1 to jml do begin write(Nama ,a,:'); readln(nm); write(Nilai Photoshop =); readln(ps); write(Nilai Corel Draw =); readln(cd); end; end; procedure pemrograman; var a,jml : integer; nm,nl : string; begin clrscr; writeln(DATA NILAI PEMROGRAMAN);

writeln(------------------); write(Jumlah Siswa :); readln(jml); for a := 1 to jml do begin write(Nama ,a,:'); readln(nm); write(Nilai Nilai =); readln(nl); end; end;

var pil,jwb : char; begin jwb := Y; while (jwb = Y) or (jwb = y) do begin writeln(PROGRAM INPUT DATA NILAI); writeln(======================================); writeln(1.MICROSOFT OFFICE); writeln(2.DESAIN GRAFIS); writeln(3.PEMROGRAMAN); writeln(======================================); writeln(); write(Pilihan Anda [1/2/3] = ); readln(pil); case pil of1 : office;2 : desain;3 : pemrograman; else writeln(Pilihan Anda Salah); end; writeln(); write(Kembali Ke Menu [Y/T] = ); readln(jwb); clrscr; end; end.

GABUNGAN WHILE DAN IF uses wincrt; var ket :string; pilihan,jwb : char; pjg,lbr,ls,kl,r :integer; p,l,t,vol : integer;volt,rt,tt :real;pi,lsl,kll :real;beginjwb := Y; while (jwb = Y) or (jwb = y) do begin writeln(Menu Pilihan );

writeln(---------); writeln(a. Mencari luas & keliling Persegi ); writeln(b. Mencari luas & keliling lingkaran); writeln(c. Mencari volume balok ); writeln(d. Mencari volume tabung ); writeln(); write(Pilihan Anda [a,b,c,d] : );readln(pilihan); pi :=3.14; case pilihan ofA,'a : ket:= Pilihan A; B,'b : ket:= Pilihan B; C,'c : ket:= Pilihan C; D,'d : ket:= Pilihan D; else ket:= pilihan anda salah; end; clrscr; writeln(Keterangan :,ket); if (pilihan = a) or (pilihan = A) then begin writeln(Mencari luas & keliling Persegi); writeln(-----------); write(nilai panjang : );readln(pjg); write(nilai lebar : );readln(lbr); writeln( ); ls := pjg * lbr; kl :=2 * (pjg * lbr); writeln(Luas Persegi : ,ls); writeln(Keliling Persegi :,kl); writeln(-); write(kembali ke menu utama [Y/T] :); readln(jwb); clrscr; endelse if (pilihan = b) or (pilihan = B) then begin writeln(Mencari luas & keliling lingkaran); writeln(-); write(nilai jari-jari : );readln(r); writeln( ); lsl :=pi * r * r; kll :=2 * pi * r; writeln(Luas Lingkaran :,lsl:8:0); writeln(Keliling Lingkaran :,kll:8:0); writeln(-); write(kembali ke menu utama [Y/T] :); readln(jwb);

clrscr; end else if (pilihan =c') or (pilihan =C') then begin writeln(Mencari volume balok); writeln(-); write(nilai panjang : );readln(p); write(nilai lebar : );readln(l); write(nilai tinggi : );readln(t); writeln( ); vol := p*l*t; writeln(volume balok :,vol); writeln(-); write(kembali ke menu utama [Y/T] :); readln(jwb); clrscr; endelse if (pilihan =d') or (pilihan =D') then begin writeln(Mencari volume tabung); writeln(-); write(jari-jari alas : );readln(rt); write(tinggi tabung : );readln(tt); writeln( ); volt := pi*(rt*rt)*tt; writeln(volume Tabung :,volt:8:0); writeln(-); write(kembali ke menu utama [Y/T] :); readln(jwb); clrscr; end; end; end. GABUNGAN PROCEDURE DAN FUNCTION uses wincrt; procedure cash; var nb : string; hb,jml,tot : real; begin clrscr; writeln(PENJUALAN CASH); writeln();

write(Nama Barang :); readln(nb); write(Harga Barang :); readln(hb); write(Jumlah :); readln(jml); tot := hb * jml; writeln(Total = ,tot:8:0); end; procedure kredit; var nb : string; hb,jml,tot,la,ba : real; begin clrscr; writeln(PENJUALAN KREDIT); writeln(); write(Nama Barang :); readln(nb); write(Harga Barang :); readln(hb); write(Jumlah :); readln(jml); tot := hb * jml; writeln(Total = ,tot:8:0); write(Lama Angsuran : ); readln(la); ba := tot/la; writeln(Besar Angsuran : ,ba:8:0); end; var pil,jwb : char; begin jwb := Y; while (jwb = Y) or (jwb = y) do begin writeln(DAFTAR PENJUALAN BARANG); writeln(==========================); writeln(1.PENJUALAN CASH); writeln(2.PENJUALAN KREDIT); writeln(==========================); writeln(); write(Pilihan Anda [1/2] = ); readln(pil); case pil of1 : cash;2 : kredit; else writeln(Pilihan Anda Salah); end; writeln(); write(Kembali Ke Menu [Y/T] = ); readln(jwb); clrscr;

end; end. GABUNGAN FUNCTION DAN FOR uses wincrt; var a,jml,nl,i : integer; nm,nama,ket : string; function kapital(ns : string) : string; var i : integer; begin for i := 1 to length(ns) do ns[i] := upcase(ns[i]); kapital := ns; end; begin writeln(INPUT DATA NILAI); writeln(==================); write(Jumlah Siswa :); readln(jml); writeln(); for a := 1 to jml do begin write(Nama ,a,:'); readln(nm); write(Nilai =); readln(nl); writeln (-); if nl > 85 thenket := LULUS else ket := GAGAL; nama := kapital(nm); writeln(Nama ,a,:',nama); writeln(Keterangan,a, :,ket); writeln(); end; end. ARRAY uses wincrt; var jml,a,b : integer; nm,ket : array[1..40] of string;nl : array[1..40] of integer; begin writeln(INPUT DATA NILAI); writeln(==================); write(Jumlah Siswa :);

readln(jml);writeln(); for a := 1 to jml do begin write(Nama ,a,:'); readln(nm[a]);write(Nilai =); readln(nl[a]);writeln (); if nl[a] > 85 thenket[a] := LULUS else ket[a] := GAGAL; end; for b := 1 to jml do begin writeln(Nama ,b,:',nm[b]);writeln(Keterangan,b, :,ket[b]);writeln();end; end. GABUNGAN ARRAY DAN FOR uses wincrt; var jml,a,b: integer; nm,ket : array[1..40] of string;hrg,jmlh,tot : array[1..40] of real; begin write(Jumlah Data : ); readln(jml); writeln(); for a := 1 to jml do begin write(Nama Barang : ); readln(nm[a]); write(Harga : ); readln(hrg[a]); write(Jumlah : ); readln(jmlh[a]); writeln(); end; clrscr; gotoxy(05,2);write(======================================= ============); gotoxy(05,3); write(Nama); gotoxy(15,3); write(Harga); gotoxy(30,3); write(Jumlah); gotoxy(50,3); write(Total); gotoxy(05,4); write(=============================================== ====); for b := 1 to jml do begin

tot[b] := hrg[b]*jmlh[b]; gotoxy(05,5+b); writeln(nm[b]);gotoxy(15,5+b); writeln(hrg[b]:8:0);gotoxy(30,5+b); writeln(jmlh[b]:8:0);gotoxy(50,5+b); writeln(tot[b]:8:0); end; end.

Bab 4 Array Array adalah tipe data terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe sama. Komponen-komponen tersebut disebut sebagai komponen type, larik mempunyai jumlah komponen yang jumlahnya tetap. Banyaknya komponen dalam larik ditunjukkan oleh suatu index, dimana tiap komponen di array dapat diakses dengan menunjukkan nilai indexnya atau subskript. Array dapat bertipe data sederhana seperti byte, word, integer, real, bolean, char, string dan tipe data scalar atau subrange. Tipe larik mengartikan isi dari larik atau komponen- komponenya mempunyai nilai dengan tipe data tersebut. Contoh: Var Untai : array[1..50] of Integer; Pada contoh Array dengan nama untai telah dideklarasikan dengan tipe integer,

dengan jumlah elemen maksimum 50 elemen, nilai dari elemen array tersebut diatas harus bertipe integer. Contoh Program : Program Contoh_Array_Input; Uses Crt; Var Bilangan : array[1..50] of Integer; Begin ClrScr; Bilangan[1]:=3; Bilangan[2]:=29; Bilangan[3]:=30; Bilangan[4]:=31; Bilangan[5]:=23; Writeln('nilai varibel bilangan ke 3 =',Bilangan[3]); Readln; End. Array juga dapat dideklarasikan bersama dengan tipe yang beragam seperti contoh dibawah ini : Program Contoh_Deklarasi_Array_Beragam; Uses Crt; Var NPM : array[1..20] of string[10]; Nama : array[1..20] of string[25]; Nilai : array[1..20] of real; Umur : array[1..20] of byte; banyak,i : integer; Begin ClrScr; Write('Isi berapa data array yang diperlukan :');Readln(banyak); For i := 1 to banyak Do Begin Write('NPM =');Readln(NPM[i]); Write('Nama =');readln(Nama[i]); Write('Nilai=');readln(Nilai[i]); Write('Umur =');readln(Umur[i]); End; {cetak varibel array} Writeln('NPM NAMA NILAI UMUR '); For i:= 1 to banyak Do Begin Writeln(Npm[i]:10,Nama[i]:25,Nilai[i]:3:2,' ',Umur[i]:3);

End; Readln; End. Untuk deklarasi array dapat digunakan beberapa cara seperti berikut ini : Type Angka = String[20]; Var Nama : Array [1..50] of Angka; Begin . . End. Deklarasi tipe indeks subrange integer Indeks pada array dapat tipe skalar atau subrange, tetapi tidak bisa real. Contoh: Var Nilai : Array[1..10] of Integer; pada contoh ini array nilai mempunyai 10 buah elemen yaitu dari 1 sampai 10. Array tersebut dapat dideklarasikan dengan type seperti berikut ini : Type Skala = 1..10; Var Nilai : Array [skala] of Integer; atau : Type Skala = 1..10; Y = Array[skala] of Integer; Var Nilai : Y; atau : Type Y = Array[1..10] of Integer; Var Nilai : Y; atau : Const Atas =1; Bawah = 5; type Y = Array[Atas..Bawah] of Integer; Var

Nilai : Y; I. Deklarasi Type Indeks Skalar Indeks dari larik dapat berupa tipe skalar. Contoh. : Program Deklarasi_Indeks_Array_Skalar; Uses Crt; Var Jum : Array[(jan,feb,mar,apr,mei)] of Integer; Begin Jum[jan]:=25; Jum[feb]:=45; Jum[mar]:=21; Jum[apr]:=23; Jum[mei]:=50; Writeln('Jumlah nilai bulan maret =',Jum[mar]); Readln; End. dapat juga ditulis : type Bln = (jan,feb,mar,apr,mei); Var Jum : Array[bln] of Integer; atau : type Bln =(jan,feb,mar,apr,mei); Var Jum : Array[jan..mei] of Integer; II. Deklarasi Konstanta Array Array tidak hanya dapat berupa suatu varibel yang dideklarasikan di bagian deklarasi variabel, tetapi dapat juga berupa konstanta (const). Contoh Program : Program Contoh_Deklarasi_Array_Konstan; Uses Crt; Const Tetap : Array[1..4] of Integer=(7,10,21,20); Var i : Integer; Begin For i:= 1 to 4 Do Writeln('Nilai Konstan array ke ',i:2,' =',Tetap[i]); Readln; End.

konstanta array dapat juga berupa ketetapan dalam bentuk karakter seperti berikut. Contoh Program : Program Contoh_Konstan_Array_Char_; Uses Crt; Const Huruf : Array[0..5] of Char=('A','B','C','D','E','F'); Var i : Integer; Begin For i:= 0 to 5 Do Writeln('Nilai konstan array ke',i:2,' = ',Huruf[i]); Readln; End. Konstanta array dapat juga berupa string seperti berikut ini. Contoh Program : Program Constanta_Array_String; Uses Crt; Type A = Array [1..5] of String; Const Nama : A = ('basic','pascal','cobol','paradox','dbase'); Var i : Integer; Begin For i:= 1 to 5 Do Writeln('Nilai Array ke-',i:2,'= ',Nama[i]); readln; end. Dalam pascal string merupakan array dari elemen- elemen karakter seperti berikut : Contoh Program : Program String_Adalah_Array_Tipe_Char; Uses Crt; Var Nama : string; i : Integer; Begin Nama:='Turbo Pascal'; For i:= 1 to Length(nama) Do Writeln('Elemen ',i,' dari ',Nama,'= ',Nama[i]); Readln; End. contoh program bilangan prima dengan menggunakan bantuan array.

Contoh program : Program Mencari_Bilangan_Prima_Dengan_Array; Uses Crt; Var Prima : Array[1..100] of Integer; i,j : Integer; bil : Integer; Begin ClrScr; For i := 2 to 100 Do Begin Prima[i]:=i; For j:= 2 to i-1 Do Begin bil := (i mod j); {* i dibagi j dicek apakah 0*} If bil = 0 then Prima[i]:=0; {*jika habis dibagi,berarti bkn prima*} End; If Prima[i] 0 Then Write(Prima[i],' '); {*cetak array yg prima*} End; Readln; End. Contoh pengurutan data dengan metode buble sort, yaitu dengan cara penukaran, dapat dilihat pada contoh dibawah ini : Contoh Program : Program Penggunaan_Array_Untuk_Sortir_Buble_Sort; Uses Crt; Var nil1 : Array[1..100] of Integer; n,i,j,dum : Integer; Begin ClrScr; Write('mau isi berapa data acak (integer) ='); readln(n); For i := 1 to n Do Begin Write('Data Ke ',i,':');Readln(nil1[i]); End; {* penyapuan proses} for i:= 1 to n-1 do begin for j:= i to n do begin if nil1[j] begin

dum:=nil1[j]; nil1[j]:=nil1[i]; nil1[i]:=dum; end; end; end; writeln; writeln('Hasil Sortir'); for i := 1 to n do write(nil1[i]:3); readln; end.

III. Array Dua Dimensi Di dalam pascal Array dapat berdimensi lebih dari satu yang disebut dengan array dimensi banyak (Multidimensional array), disini akan dibahas array 2 dimensi saja. Array 2 dimensi dapat mewakili suatu bentuk tabel atau matrik, yaitu indeks pertama menunjukkan baris dan indeks ke dua menunjukkan kolom dari tabel atau matrik. 12 123 Untuk mengetahui cara mendeklarasikan dari penggunaan aray dua dimensi dapat dilihat pada listing program dibawah ini . Contoh Program: Program Deklarasi_Array_Dua_Dimensi; Uses Crt; Var Tabel : Array[1..3,1..2] of Integer; i,j : Integer; Begin ClrScr; Tabel[1,1]:=1; Tabel[1,2]:=2; Tabel[2,1]:=3; Tabel[2,2]:=4; Tabel[3,1]:=5; Tabel[3,2]:=6; For I := 1 to 3 Do Begin For J:= 1 to 2 Do Begin Writeln('Elemen ',i,',',j,'= ',tabel[i,j]); End; End; Readln; End.

IV. Alternatif Deklarasi Array Dua Dimensi. Ada beberapa cara dalam mendeklarasikan array dua dimensi, beberapa cara tersebut dapat dilihat dibawah ini : Contoh : Var Tabel : Array[1..3] of Array[1..2] of Byte; atau : Type Matrik = Array[1..3,1..2] of Byte; Var Tabel : Matrik; atau : Type Baris = 1..3; Kolom = 1..2; Matrik = Array[Baris,Kolom] of Byte; Var Tabel : Matrik; atau : Type Baris = 1..3; Kolom=1..2; Matrik= Array[Baris] of Array[Kolom] of Byte; Var Tabel : Matrik; Dibawah ini akan diberikan listing program penggunaan array dua dimensi dalam aplikasi penjumlahan matrik : Contoh Prorgam: Program Penjumlahan_Matrik; Uses Crt; Var Matrik1,Matrik2, Hasil : Array[1..3,1..2] of Integer; i,j : Integer; Begin ClrScr; { input matrik ke satu } Writeln(' Elemen matrik satu'); For i := 1 to 3 Do Begin For j := 1 to 2 Do Begin Write('Elemen baris -',i,' Kolom -',j,'= '); Readln(matrik1[i,j]); End;

End; {input matrik ke dua} Writeln('input elemen matrik dua'); For i:= 1 to 3 Do Begin For j:= 1 to 2 Do Begin Write('Elemen baris -',i,' kolom -',j,'= '); Readln(matrik2[i,j]); End; End; {proses penjumlahan tiap elemen} For i := 1 to 3 Do Begin For j:= 1 to 2 Do Begin Hasil[i,j]:=Matrik1[i,j]+Matrik2[i,j]; End; End; {proses cetak hasil} For i:= 1 to 3 Do Begin For j:= 1 to 2 Do Begin Write(Hasil[i,j]:6); End; Writeln; End; Readln; End.

V. Array Sebagai Parameter Array dapat digunakan sebagai parameter yang dikirimkan baik secara nilai (by value) atau secara acuan (by reference) ke procedure atau ke function. Procedure yang menggunakan parameter berupa array harus dideklarasikan di dalam judul procedure yang menyebutkan parameternya bertipe array. Contoh Program : Program Contoh_Pengiriman_Parameter_Array_Di_Procedure; Uses Crt; Const Garis ='---------------------------------------------------'; Type

Untai = Array[1..10] of String[15]; Bulat = Array[1..10] of Integer; Huruf = Array[1..10] of Char; Var i,Banyak : Integer; Procedure Proses(Nama:Untai;Nilai:Bulat); Var Ket : String; Abjad : Char; Begin Writeln(Garis); Writeln('Nama Nilai Abjad Keterangan'); Writeln(Garis); For i := 1 to Banyak Do Begin If Nilai[i] > 90 Then Begin Abjad:='A'; Ket :='Istimewa'; End; If (Nilai[i]70) Then Begin Abjad:='B'; Ket :='Memuaskan'; End; If (Nilai[i]60) Then Begin Abjad:='C'; Ket :='Cukup'; End; If (Nilai[i]45) Then Begin Abjad:='D'; Ket :='Kurang'; End; If Nilai[i]< 45 Then Begin Abjad:='E'; Ket :='Sangat kurang'; End; Writeln(Nama[i]:15,' ',Nilai[i]:4,' ',Abjad,' ',Ket:15); End; Writeln(Garis); End;

Procedure Masuk_Data; Var Nama : Untai; Nilai : Bulat; Begin Write('Banyak data =');Readln(Banyak); For i:= 1 to Banyak Do Begin ClrScr; Writeln('Data ke - ',i); Write('Nama =');readln(Nama[i]); Write('Nilai =');readln(Nilai[i]); End; Proses(Nama,Nilai); End; {modul Utama} Begin Masuk_Data; Readln; End.

Program Menghitung_Luas_dan_Keliling_Bangun_Datar; uses crt; Var Pilih : Integer; Procedure Persegi; {Mencari Luas dan Keliling Persegi} Var s, L, K : Real; Begin Writeln(' '); Textcolor(LightRed); Writeln(' --==::Menghitung Luas dan Keliling Persegi::==--'); Textcolor(LightGreen); Writeln(' '); Write('Masukkan sisi : ');Readln(s); L := s*s; K := 4*s; Writeln('Luas : ', L:0:0); Writeln('Keliling : ', K:0:0); Writeln(' '); Textcolor(LightRed); Writeln(' CopyLeft@2008 Teatzo_system.corp (TS.corp) '); Readln; end; Procedure PersegiPanjang; {Mencari Luas dan Keliling Persegi Panjang} Var p, lbr, L, K : Real; Begin Writeln(' '); Textcolor(LightRed); Writeln(' --==::Menghitung Luas dan Keliling Persegi Panjang::==--');

Textcolor(LightGreen); Writeln(' '); Write('Masukkan panjang : ');Readln(p); Write('Masukkan lebar : ');Readln(lbr); L := p*lbr; K := 2*(p+lbr); Writeln('Luas : ', L:0:0); Writeln('Keliling : ', K:0:0); Writeln(' '); Textcolor(LightRed); Writeln(' CopyLeft@2008 Teatzo_system.corp (TS.corp) '); Readln; end; Procedure Segitiga; {Mencari Luas dan Keliling Segitiga} Var a, t, sm, L, K : Real; Begin Writeln(' '); Textcolor(LightRed); Writeln(' --==::Menghitung Luas dan Keliling Segitiga Siku-Siku::==--'); Textcolor(LightGreen); Writeln(' '); Write('Masukkan alas : ');Readln(a); Write('Masukkan tinggi : ');Readln(t); L:= 0.5*a*t; sm:= sqrt(sqr(a)+sqr(t)); K:= a+t+sm; Writeln('Luas : ', L:0:2); Writeln('Keliling : ', K:0:2); Writeln(' '); Textcolor(LightRed); Writeln(' CopyLeft@2008 Teatzo_system.corp (TS.corp) '); Readln; end; Procedure Lingkaran; {Mencari Luas dan Keliling Lingkaran} Var r, L, K : Real; Begin Writeln(' '); Textcolor(LightRed); Writeln(' --==::Menghitung Luas dan Keliling Lingkaran::==--'); Textcolor(LightGreen); Writeln(' '); Write('Masukan jari-jari : ');Readln(r);

L:= 22/7*(sqr(r)); K:= 2*22/7*r; Writeln('Luas : ', L:0:2); Writeln('Keliling : ', K:0:2); Writeln(' '); Textcolor(12); Writeln(' CopyLeft@2008 Teatzo_system.corp (TS.corp) '); Readln; end; Procedure Kubus; {Mencari Volume dan Luas permukaan Kubus} Var s, V, Lp : Real; Begin Writeln(' '); Textcolor(LightRed); Writeln(' --==::Menghitung Volume dan Luas permukaan Kubus::==--'); Textcolor(LightGreen); Writeln(' '); Write('Masukan sisi : ');Readln(s); V:= s*s*s; Lp:= 6*s*s; Writeln('Volume : ', V:0:0); Writeln('Luas Permukaan : ', Lp:0:0); Writeln(' '); Textcolor(LightRed); Writeln(' CopyLeft@2008 Teatzo_system.corp (TS.corp) '); Readln; end; Procedure Balok; {Mencari Volume dan Luas permukaan Balok} Var p, l, t, V, Lp : Real; Begin Writeln(' '); Textcolor(LightRed); Writeln(' --==::Menghitung Volume dan Luas Permukaan Balok::==--'); Textcolor(LightGreen); Writeln(' '); Write('Masukan panjang : ');Readln(p); Write('Masukan lebar : ');Readln(l); Write('Masukan tinggi : ');Readln(t); V:= p*l*t; Lp:= 2*p*l+2*p*t+2*l*t; Writeln('Volume : ', V:0:0); Writeln('Luas Permukaan : ', Lp:0:0);

Writeln(' '); Textcolor(LightRed); Writeln(' CopyLeft@2008 Teatzo_system.corp (TS.corp) '); Readln; end; Procedure Latihan1; var a, b, c, d, e : Real; f, g, h, i : Integer; Begin Writeln(' '); Textcolor(LightRed); Writeln(' --==::Mengerjakan Soal-Soal Mengenai Bangun Datar::==--'); Textcolor(LightGreen); Writeln(' '); Writeln(' '); Writeln(' 1. Diketahui sebuah Persegi Mempunyai Panjang sisi 5'); Writeln(' Berapakah Luas Dan Kelilingnya..?'); Writeln(' '); Write('Luas : ');Readln(a); Write('Keliling : ');Readln(b); Textcolor(LightRed); if a*b/2+5=255 then write('Bagus, Lanjutkan Ke soal Berikutnya ') else write('Maaf, anda salah, lebih teliti lagi di soal berikutnya ! '); Readln; Textcolor(LightGreen); Writeln(' '); Writeln(' 2. Diketahui sebuah Lingkaran Mempunyai Jari-jari 7'); Writeln(' Berapakah Luas Dan Kelilingnya..?'); Write('Luas : ');Readln(c); Write('Keliling : ');Readln(d); Textcolor(LightRed); if c+d=198 then write('SELAMAT') else write('Maaf Coba Lagi Yah.!'); Writeln(' '); Writeln(' '); Textcolor(LightRed); Writeln(' CopyLeft@2008 Teatzo_system.corp (TS.corp) '); Readln; end; Procedure Credits;

Begin Writeln(' '); Writeln(' '); Writeln(' '); Writeln(' '); Textcolor(LightCyan); Writeln('***************************************** ****************************** '); Textcolor(LightGreen); Writeln(' '); Writeln(' Cah SMANSA Community '); Writeln(' Simbah Google '); Writeln(' Komputer Bokap Gue '); Writeln(' '); Textcolor(LightCyan); Writeln('***************************************** ****************************** '); Writeln(' '); Textcolor(LightRed); Writeln(' CopyLeft@2008 Teatzo_system.corp (TS.corp) '); Readln; end; Procedure BangunDatar; Begin {Sub Program} repeat clrscr; Textcolor(LightCyan); Writeln('***************************************** **************************** '); Textcolor(LightRed); Writeln(' ---==::BANDIT CYBER PINGIN TOBAT::==--- '); Textcolor(LightCyan); Writeln('***************************************** **************************** '); Textcolor(Yellow); writeln(' '); Writeln('>) '); Writeln(' ) '); writeln(' '); Textcolor(LightCyan); writeln('--------------------------------------------------------------------- '); Textcolor(LightRed); writeln(' = Provided by Teatzo = '); Textcolor(LightCyan); writeln('--------------------------------------------------------------------- '); Textcolor(Yellow); Writeln(' Pilihan : ');

Textcolor(LightGreen); Writeln(' 1. Menghitung Luas dan Keliling Persegi '); Writeln(' 2. Menghitung Luas dan Keliling Persegi Panjang '); Writeln(' 3. Menghitung Luas dan Keliling Segitiga siku-siku '); Writeln(' 4. Menghitung Luas dan Keliling Lingkaran '); Writeln(' 5. Keluar '); Textcolor(Yellow); Write(' Pilih Angka untuk memilih pilihan : '); Readln(pilih); case pilih of 1 : Persegi; 2 : PersegiPanjang; 3 : Segitiga; 4 : Lingkaran; 5 : exit; end; until pilih = 5; end; Procedure BangunRuang; Begin {Sub Program} repeat clrscr; Textcolor(LightCyan); Writeln('***************************************** **************************** '); Textcolor(LightRed); Writeln(' ---==::BANDIT CYBER PINGIN TOBAT::==--- '); Textcolor(LightCyan); Writeln('***************************************** **************************** '); Textcolor(Yellow); writeln(' '); Writeln(')'); Writeln(' ) '); writeln(' '); Textcolor(LightCyan); writeln('--------------------------------------------------------------------- '); Textcolor(LightRed); writeln(' = Provided by Teatzo = '); Textcolor(LightCyan); writeln('--------------------------------------------------------------------- '); Textcolor(Yellow); Writeln(' Pilihan : '); Textcolor(LightGreen); Writeln(' 1. Menghitung Volume dan Luas Permukaan Kubus ');

Writeln(' 2. Menghitung Volume dan Luas Permukaan Balok '); Writeln(' 3. Keluar '); Textcolor(Yellow); Write(' Pilih Angka untuk memilih pilihan : '); Readln(pilih); case pilih of 1 : Kubus; 2 : Balok; 3 : exit; end; until pilih = 3; end; Procedure Latihan; Begin {Sub Program} repeat clrscr; Textcolor(LightCyan); Writeln('***************************************** **************************** '); Textcolor(LightRed); Writeln(' ---==::BANDIT CYBER PINGIN TOBAT::==--- '); Textcolor(LightCyan); Writeln('***************************************** **************************** '); Textcolor(Yellow); writeln(' '); Writeln(' )'); Writeln(' ) '); writeln(' '); Textcolor(LightCyan); writeln('--------------------------------------------------------------------- '); Textcolor(LightRed); writeln(' = Provided by Teatzo = '); Textcolor(LightCyan); writeln('--------------------------------------------------------------------- '); Textcolor(Yellow); Writeln(' Pilihan : '); Textcolor(LightGreen); Writeln(' 1. Soal-soal Menghitung Luas dan Keliling Bangun datar '); Writeln(' 2. Keluar '); Textcolor(Yellow); Write(' Pilih Angka untuk memilih pilihan : '); Readln(pilih); case pilih of 1 : Latihan1; 2 : exit;

end; until pilih = 2; end; Begin {Main Program} repeat clrscr; textcolor(LightCyan); Writeln('***************************************** **************************** '); Textcolor(LightRed); Writeln(' ---==::BANDIT CYBER PINGIN TOBAT::==--- '); Textcolor(LightCyan); Writeln('***************************************** **************************** '); Textcolor(Yellow); writeln(' '); Writeln(' ) '); Writeln(' ) '); writeln(' '); Textcolor(LightCyan); writeln('--------------------------------------------------------------------- '); Textcolor(LightRed); writeln(' = Provided by Teatzo = '); Textcolor(LightCyan); writeln('--------------------------------------------------------------------- '); Textcolor(Yellow); Writeln(' Pilihan : '); Textcolor(LightGreen); Writeln(' 1. Mengerjakan Soal-Soal Mengenai Bangun Datar '); Writeln(' 2. Mengerjakan Soal-Soal Mengenai Bangun Ruang '); Writeln(' 3. Mengerjakan Latihan-latihan '); Writeln(' 4. Credits '); Writeln(' 5. Keluar '); Textcolor(Yellow); Write(' Pilih Angka untuk memilih pilihan : '); Readln(pilih); case pilih of 1 : BangunDatar; 2 : BangunRuang; 3 : Latihan; 4 : Credits; 5 : exit; end; until pilih = 5; End.