Pascal All Statment

Document Sample
Pascal All Statment Powered By Docstoc
					Mulok-Kurikulum Tingkat Satuan Pendidikan

MENGENAL PASCAL
Perkembangan Pascal Pascal adalah bahasa tingkat tinggi (high level language) yang orentasinya pada segala tujuan, dirancang oleh Professor Niklaus Wirth dari Technical University di Zurich, Switzerland. Nama Pascal diambil sebagai penghargaan terhadap Blaise Pascal, ahli matematika dan philosophi terkenal abad 17 dari Prancis. Professor Niklaus With memperkenalkan kompiler bahasa Pascal pertama kali untuk komputer CDC 6000 (Control Data Corporation) yang dipublikasikan pada tahun 1971 dengan tujuan untuk membantu mengajar program komputer secara sistematis, khususnya memperkenalkan pemrograman yang terstruktur (Structured Programming), jadi Pascal adalah Bahasa yang ditujukan untuk membuat program terstruktur.

1. TIPE DATA Jika kita menggunakan pengenal variabel di dalam program, maka variabel tersebut harus kita deklarasika terlebih dahulu. Pada waktu kita mendeklarasika suatu variabel, maka kita harus menentukan tipe dari datanya. Type dari data ini menunjukkan suatu nilai yang dapat digunakan oleh variabel bersangkutan. Pada pokok bahasan ini akan dijelaskan bentuk type data standar, yaitu dapat berbentuk tipe-tipe data numerik integer, numerik real, karakter, string dan boolean.

1.1 Tipe data Numerik integer Data numeik integer merupakan nilai bilangan bulat baik dalam bentuk desimal maupun hexadesimal. Nilai integer hexadesimal diawali dengan tanda dollar ($). Turbo Pascal menyediakan 5 macam tipe data integer yang masing-masing mempunyai jangkauan nilai yang berbeda seperti pada tabel berikut :

Type Byte Shortint Integer Word Longint

Ukuran memori (dalam byte) 1 1 2 2 4

Jangkauan Nilai 0 …255 -128…127 -32768…32767 0…65535 -2147483648 …2147483648

KELAS XI- SMAN 2 SURABAYA

Halaman 1 dari 26

Mulok-Kurikulum Tingkat Satuan Pendidikan

1.2 Tipe data Numerik Real Nilai konstanta numerik real berkisar dari 1E-38 sampai dengan 1E+38 dengan mantissa yang signifikan sampai dengan 11 digit . E menunjukkan nilai 10

pangkat. Nilai konstanta numerik real menempati memori sebesar 6 byte. Berikut tabel tipe data real

Type Single Double Extended Comp

Ukuran memori (dalam byte) 4 8 10 8

Jangkauan Nilai 1.5x10E-45 … 3.4 x 10E38 5.0x10E-324 … 1.7x10E308 1.9x10E-4951…1.1x10E4932 -2E+63+1 … 2E+63-1

Digit signifikan 7-8 15-16 19-20 19-20

1.3 Tipe data Karakter Nilai data katakter berupa sebuah karakter yang ditulis diantara tanda petik tunggal, seperti misalnya ‘A’, ‘a’, ‘!’, ‘%’, ‘5’ dan sebagainya. Penggunaan variabel untuk menyimpan data tipe karakter ini harus dideklarasikan dengan tipe char. Contoh penggunaannya :
Program char; Uses crt; Var Inikarakter :char; Begin Clrscr; Inikarakter :=’A’; Writeln (‘Karakter yang disebut adalah = ‘,inikarakter); End.

1.4 Tipe data String 0Nilai data string merupakan urut-urutan dari karakter yang terletak di antara tanda petik tunggal. Bila karakter petik merupakan bagian dari konstanta string, maka dapat ditulis dengan menggunakan dua buah petik tunggal berurutan. Nilai data string akan menempati memori sebesar banyaknya karakter string ditambah

KELAS XI- SMAN 2 SURABAYA

Halaman 2 dari 26

Mulok-Kurikulum Tingkat Satuan Pendidikan

dengan 1 byte. Bila panjang dari suatu string di dalam deklarasi variabel tidak disebutkan, maka dianggap panjangnya adalah 255 karakter. Contoh :
Uses crt; Var Tanggal:string[10]; Hari :string[6];

Tempat:String[15]; Begin Tanggal :=’18-07-2007; Hari :=’Sabtu’; Tempat:=’SMADA’; Writeln (tanggal,hari,tempat); End.

1.5 Tipe Data Boolen Tipe data boolean mempunyai dua buah nilai, yaitu True dan False. Kita dapat mendeklarasikan suatu variabel dengan tipe boolean dan mengisi variabel

tersebut dengan nilai data boolean True dan False. Contoh
Uses crt; Var Lagi Begin Lagi :=true; Writeln (‘Nilai lagi =’,lagi); End. : boolean;

2. STATEMEN DALAM TURBO PASCAL Statemen adalah perintah untuk pengerjaan program pascal. Statemen terletak di bagian deklarasi statemen dengan diawali oleh kata cadangan BEGIN dan diakhiri dengan kata cadangan END. Akhir dari setiap statemen diakhiri dengan titik koma [;]. Statemen statemen dalam bahasa Pascal terdiri dari pernyataan yang berupa fungsi dan prosedur yang telah disediakan sebagai perintah standar Turbo Pascal.

KELAS XI- SMAN 2 SURABAYA

Halaman 3 dari 26

Mulok-Kurikulum Tingkat Satuan Pendidikan

2.1. Statemen-statemen yang digunakan untuk input/output.
• Read/Readln [prosedur].

Perintah ini digunakan untuk memasukkan [input] data lewat keyboard ke dalam suatu variabel. Sintaks: Read/Readln(x); (ingat, selalu diakhiri dengan titik koma [;]) Keterangan : x = variabel.

Read = pada statemen ini posisi kursor tidak pindah ke baris selanjutnya. Readln = pada statemen ini posisi kursor akan pindah ke baris selanjutnya setelah di input.
•

ReadKey [fungsi]. Untuk pembacaan sebuah karakter dari keyboard. Tipe data yang dihasilkan adalah char. Sintaks: ReadKey;

•

Write/Writeln [prosedur]. Digunakan untuk menampilkan isi dari suatu nilai variable dilayar. Sintaks: Write/Writeln(x); Keterangan : x = variabel. Write/Writeln= statement ini digunakan untuk mencetak variable ke dalam monitor Contoh :

2.2. Statemen-statemen yang digunakan untuk pengaturan letak layar.
• ClrScr [prosedur].

Perintah ini digunakan untuk membersihkan layar. sintaks: ClrScr; [Clear screen]
• GotoXY[prosedur].

Untuk menempatkan posisi kursor pada layar. Sintaks:

KELAS XI- SMAN 2 SURABAYA

Halaman 4 dari 26

Mulok-Kurikulum Tingkat Satuan Pendidikan

GotoXY(X, Y: Byte); Keterangan : X = sumbu X (posisi horisontal) Y = sumbuY (posisi vertikal)
• DelLine [prosedur].

Untuk menghapus sebuah baris pada posisi kursor dan menaikkan baris-baris dibawahnya. Sintaks: DelLine;
• InsLine [prosedur].

Untuk menyisipkan sebuah baris pada posisi kursor dan meng-geser kebawah tampilan-tampilan baris dibawahnya. Sintaks: InsLine;
•

Delay [prosedur]. Untuk menghentikan sejenak proses program. Sintaks: Delay (MS: Word); Keterangan : variable MS = ukuran waktu dalam milisecond.

2.3. Statemen yang digunakan untuk memanipulasi string.
•

ConCat[fungsi]. Untuk menggabungkan 2 atau beberapa variabel string. Sintaks: ConCat (s1 [,s2,...,sn]: String) : String; contoh: ConCat ('ABC','DEF') { ABCDEF }

•

Copy [fungsi]. Mengambil satu atau beberapa karakter dari sebuah string. Sintaks: Copy (S,Index,Count) : String; Keterangan : S = sebuah string (string).

Index = posisi awal kita akan mengambil beberapa karakter (integer)
KELAS XI- SMAN 2 SURABAYA Halaman 5 dari 26

Mulok-Kurikulum Tingkat Satuan Pendidikan

Count = banyaknya karakter yang akan diambil (integer).
•

Delete [prosedur]. Menghapus sebagian karakter dari sebuah string. Sintaks: Delete (S,Index,Count); Keterangan : sama dengan statemen Copy.

•

Insert [prosedur]. Menyisipkan satu atau beberapa karakter ke dalam sebuah string. Sintaks: Insert (Source,var S,Index); Keterangan : Source = sumber string untuk disisipi (string) var S = string tujuan yang akan disisipi oleh string Source (string) Index = posisi mulai (integer).

•

Length [fungsi]. Memberikan nilai panjang dari suatu string (jumlah karakter dalam string). Sintaks: Length (S); Keterangan : S = string Length(S) menghasilkan nilai integer.

•

Pos [fungsi]. Mencari posisi sebuah bagian string (substring) didalam sebuah string. Sintaks: Pos (Substr,S); {menghasilkan nilai Byte} Keterangan : Substr = substring yang akan dicari posisinya di dalam sebuah

string S. Bila bernilai 0 berarti nilai string yang dicari tidak ada.
•

Str [prosedur]. Merubah nilai numerik ke dalam nilai string. Sintaks: Str (N,S); Keterangan : N = data tipe integer, S = data tipe string.

•

Val [prosedur]. Merubah nilai string ke dalam nilai numerik. Sintaks: Val (S,N,P); Keterangan : S = nilai string, N = nilai real, P = posisi salah. Nilai string harus berisi angka, plus atau minus, bila tidak berarti kesalahan dan letak kesalahannya ditunjukkan oleh va-riabel posisi salah. Jika benar, maka nilai variabel tsb = 0 (nol).

KELAS XI- SMAN 2 SURABAYA

Halaman 6 dari 26

Mulok-Kurikulum Tingkat Satuan Pendidikan

•

UpCase [fungsi]. Memberikan huruf kapital dari argumen. Sintaks: UpCase (S); Keterangan : S = variabel bertipe karakter. Contoh :
Program CobaString; Uses Crt; Var s l h : String; : Integer; : String; ='Smada'; ='go...'; ='Sukses';

Const a b c Begin Clrscr;

s:=ConCat(a,b,c); Writeln(s); Insert('&',s,10); Writeln(s); Delete(s,7,7); Writeln(s); h :=Copy(s,l,5);

Writeln(h); l:=length(s); Writeln ('Panjang String S:',l); Writeln ('Posisi"Sukses" pada nilai S:',POS('Sukses',s)); readln; end.

2.4. Statemen-statemen untuk perhitungan aritmatik.
• Abs [fungsi].

Memberikan nilai mutlak dari suatu argumen. Sintaks: ABS(x);
• ArcTan [fungsi].

Memberikan nilai dari fungsi arctangent dari perhitungan goniometri. Sintaks: ArcTan (x); dimana x dapat bertipe real atau integer dan akan menghasilkan nilai bertipe real.

KELAS XI- SMAN 2 SURABAYA

Halaman 7 dari 26

Mulok-Kurikulum Tingkat Satuan Pendidikan

• Cos [fungsi].

Memberikan nilai dari fungsi Cosinus. Sintaks: Cos (x);
• Exp [fungsi].

Menghitung nilai pangkat dari bilangan e (bilangan alam), yaitu sebesar x. Sintaks: Exp (x); x dapat bertipe real atau integer dan akan menghasilkan nilai bertipe real.
• Frac [fungsi].

Untuk mendapatkan nilai pecahan dari suatu bilangan. Sintaks: Frac (x); Tipe dari x sama seperti yang diatas.
• Int [fungsi].

Memberikan nilai integer (bilangan bulat) dari suatu variabel dengan membuang bilangan di belakang koma. Sintaks: Int (X);
•

Ln [fungsi]. Digunakan untuk menghitung nilai logaritma alam (natural logarithm) dari nilai x. Sintaks: Ln (x);
• Sin [fungsi].

Memberikan nilai dari fungsi Sinus. Sintaks: Sin (x);
• Sqr [fungsi].

Digunakan untuk menghitung nilai pangkat kuadrat dari suatu bilangan. Sintaks: Sqr (x); Tipe dari x bisa berupa real maupun integer. Dan hasilnya akan sama dengan tipe dari x.
• Sqrt (fungsi).

Digunakan untuk menghitung nilai akar dari suatu bilangan. Sintaks: Sqrt (x); Contoh :
Program Aritmatik; Uses Crt; Var x : Real; Begin Clrscr; Write('Masukkan nilai dari X = '); Readln (x); If x <0 Then x:=Abs (x); Writeln('Nilai X = ',x:5:2);

KELAS XI- SMAN 2 SURABAYA

Halaman 8 dari 26

Mulok-Kurikulum Tingkat Satuan Pendidikan

Writeln ('Nilai eksponentialnya

= ',EXP(x):9:3);

Writeln ('Nilai logaritma alamnya = ',LN(x):9:3); Writeln ('Nilai integernya Writeln ('Nilai fraksionalnya = ',INT(x):5:2); = ',FRAC(x):5:2);

Writeln ('Nilai X dipangkatkan = ',SQRT(x):9:3); Writeln ('Nilai X diakarkan = ',SQRT(x):9:3);

Write('Nilai X jika dimasukkan dalam '); Writeln('fungsi Sin,Cos,Tangen: '); Writeln('- Sinus = ',Sin(x):9:3); Writeln('- Cosinus = ',Cos(x):9:3); Writeln('- Tangen = ',ArcTan(x):9:3); readln; End.

2.5. Statemen-statemen untuk transfer nilai dari suatu variabel.
•

Chr [fungsi]. Merubah nilai dari byte ke bentuk karakter yang sesuai dengan kode ASCII. intaks: Chr (x); Keterangan : x bertipe byte contoh : Writeln (Chr (61)); hasilnya : a

•

Ord [fungsi]. Merubah nilai suatu variabel dari bentuk karakter ke bentuk longint. Sintaks: Ord (x); Keteranagn : x bertipe char contoh : Writeln(Ord ('B')); hasilnya : 42

•

Round [fungsi]. Membulatkan data tipe real ke data tipe longint. Sintaks: Round (x); Keterangan : Jika nilai pecahan < 0,5 maka dibulatkan kebawah. Jika nilai pecahan > 0,5 maka dibulatkan keatas. contoh : Writeln('10/3 dibulatkan = ',Round(10/3)); hasilnya : 10/3 dibulatkan = 3

•

TRUNC [fungsi]. Membulatkan kebawah data tipe real ke data tipe longint. Sintaks: Trunc (x); contoh :

KELAS XI- SMAN 2 SURABAYA

Halaman 9 dari 26

Mulok-Kurikulum Tingkat Satuan Pendidikan

Writeln('20/3 dibulatkan kebawah = ',Trunc (20/3)); hasilnya : 20/3 dibulatkan kebawah = 6 2.6. Statemen-statemen untuk memanipulasi data.
•

Pred [fungsi]. Memberikan nilai sebelum nilai argumen dalam urutannya dalam ASCII. Sintaks: Pred (x);

•

Succ [fungsi]. Memberikan nilai sesudah nilai argumen dalam urutannya dalam ASCII. Sintaks: Succ (x);

•

Inc[fungsi]. Menambah (increments) nilai suatu variabel. Sintaks: Inc (x,i); {i >= 1}

•

Dec [fungsi]. Mengurangi (decrements) nilai suatu variabel. Sintaks: DEC(x,i); Contoh :
Uses Crt; Type hari = (hr0,hr1,hr2,hr3,hr4,hr5,hr6,hr7); Var urutanhr : hari; Const namahr : Array [hr1..hr7] of String [6]= ('Senin','Selasa','Rabu','Kamis','Jumat','Sabtu','Minggu'); Begin clrscr; Writeln('Daftar Nama Hari'); urutanhr := hr0; While Urutanhr < hr7 DO Begin urutanhr := Succ(urutanhr); Write('hari ke ',Ord(Urutanhr):2,' adalah '); Writeln(namahr[urutanhr]); End; readln; End.

{i >=1}

KELAS XI- SMAN 2 SURABAYA

Halaman 10 dari 26

Mulok-Kurikulum Tingkat Satuan Pendidikan

2.7. Statemen-statemen tambahan (warna,suara dan window).
• TextColor [prosedur].

Untuk mengatur warna dari karakter-karakter di layar. Sintaks: TextColor (color : Byte); Catatan : untuk pilihan warna lihat pada buku Turbo Pascal yang anda miliki. Daftar TextColor : 2 Hijau Muda 5 Ungu Tua 8 Biru Tua 1 2 Merah Muda 15 Ungu Pupus Daftar TextColor Blink: 1 7 Biru Tua 20 Merah
• 3 6

9 13 16 18 21

Hijau pupus Kuning Biru Cerah Ungu Cerah Hitam Hijau Muda Ungu Tua

4 7 10 14

Merah Putih Hijau Muda Kuning muda

19 Hijau Pupus

TextBackGround [prosedur]. Untuk mengatur warna latar belakang dari karakter-karakter di layar. Sintaks: TextBackGround (Color : Byte);

•

Window [prosedur]. Untuk membuat suatu jendela (window) yang terletak pada layar. Sintaks: Window (x1,x2,y1,y2 : Byte); x1,x2 = kordinat kiri atas dengan nilai maksimal sesuai dengan mode layar. y1,y2 = kordinat kanan bawah dengan nilai maksimal sesuai dengan mode layar.

•

TextMode [prosedur]. Untuk mengatur lebar layar, 80 kolom atau 40 kolom. Sintaks: TextMode(Mode: Byte); Default = C80

•

Sound [prosedur]. Untuk mengaktifkan suara (beep) pada internal speaker. Sintaks: Sound (Hz : word); Untuk mengnonaktifkannya, gunakan statemen NoSound. Contoh :
Program Layar2; Uses Crt; Begin ClrScr; Window (5,5,20,75); TextBackGround(green);

KELAS XI- SMAN 2 SURABAYA

Halaman 11 dari 26

Mulok-Kurikulum Tingkat Satuan Pendidikan

TextColor(yellow); Sound (220); GotoXY(10,5); Writeln('I Love My Baby'); GotoXY(10,7); Writeln('Zahra ....'); NoSound; Readln; End.

3. BENTUK PERULANGAN & PENYELEKSIAN KONDISI • Materi ini memberikan penjelasan mengenai struktur perulangan dengan statement For, termasuk didalamnya : 1. Pengertian dan contoh perulangan statement For Positif. 2. Pengertian dan contoh perulangan statement For Negatif. 3. Pengertian dan contoh perulangan tersarang (Nested Loop). • Memberikan Penjelasan dan contoh mengenai struktur perulangan dengan statement While-Do termasuk didalamnya penjelasan mengenai While-Do tersarang (nested While-Do). • • Memberikan penjelasan dan contoh mengenai perulangan dengan Statement RepeatUntil termasuk di dalamnya penjelasan mengenai Repeat -Until tersarang . Memberikan dengan : 1. 2. 3. 4. 5. Statement If - Then Statement If - Then - Else Statement If tersarang (Nested IF) Statement Case - Of Statement Case - Of – Else penjelasan dan contoh mengenai penyeleksian kondisi

3.1 Bentuk-bentuk Perulangan Dalam hampir setiap program yang kompleks mutlak memerlukan suatu rulangan dan percabangan. Tujuan perulangan disini adalah untuk mengulang statement atau blok statement berulang kali sesuai sejumlah yang ditentukan pemakai. Dalam materi ini akan memberikan gambaran konsep dasar dari pengertian diatas.

KELAS XI- SMAN 2 SURABAYA

Halaman 12 dari 26

Mulok-Kurikulum Tingkat Satuan Pendidikan

3.2. Perulangan For. Perulangan dengan statemen For digunakan untuk mengulang statemen atau suatu blok statemen berulang kali. Perulangan dengan statemen For dapat berupa perunlangan positif dan perulangan nega-tif. 3.3. Perulangan For positif Contoh : Perulangan positif untuk satu statement :
uses crt; var i :integer; begin clrscr; Writeln ('Ucapkan SMADA 4x....'); for i:= 1 to 4 do writeln (i,' readln; end. SMADA YESS');

3.4 Contoh dengan menggunakan blok statement: Cara penulisannya dengan pada awal blok diawali dengan Begin dan pada akhir blok diakhiri dengan End; Contoh uses crt; var i :integer; begin clrscr; Writeln ('Ucapkan SMADA 4x....'); for i:= 1 to 4 do Begin writeln (i,' SMADA YESS'); end; readln; end. Hasil yang akan didapat akan sama dengan contoh yang pertama, tapi yang harus diingat disini untuk penggunaan blok pada perula-ngan For biasanya mempunyai banyak

KELAS XI- SMAN 2 SURABAYA

Halaman 13 dari 26

Mulok-Kurikulum Tingkat Satuan Pendidikan

statement [lebih dari 1 statement] Penggunaan perulangan For dalam blok statement untuk membuat tabel

Contoh
Uses Crt; Var a,b,c : Integer;

bagi : Real; Begin clrscr; Writeln('-------------------------------------'); Writeln(' a a*a a*a*a I/a ');

Writeln('-------------------------------------'); For a := 1 To 10 Do Begin b:= a*a; c:=a*a*a; bagi := 1/a; Writeln(a:4,b:10,c:10,bagi:12:3); End; Writeln ('-------------------------------------'); readln; End.

Maka hasilnya : a 1 2 3 4 5 6 7 8 9 10 a*a 1 4 9 16 25 36 49 64 81 100 a*a*a 1 8 27 64 125 216 343 512 729 1000 1/a 1.000 0.500 0.333 0.250 0.200 0.167 0.143 0.125 0.111 0.100

3.5 Perulangan For negatif Perulangan negatif adalah perulangan dengan menghitung (counter) dari besar kekecil.

KELAS XI- SMAN 2 SURABAYA

Halaman 14 dari 26

Mulok-Kurikulum Tingkat Satuan Pendidikan

Statement yang digunakan adalah For-DownTo-Do Contoh :
Uses Crt; Var i : Integer; Begin clrscr; For i := 10 DownTo 1 Do {Write (i:3); writeln (i:3); readln; End. -> Hasil Harizontal}

Hasil : 10 9 8 7 6 5 4 3 2 1 3.6 Perulangan For tersarang Perulangan For tersarang adalah perulangan For yang berada pada perulangan yang lainnya. Perulangan yang lebih dalam akan diproses terlebih dahulu sampai habis, kemudian perulangan yang lebih luar baru akan bertambah, mengerjakan perulangan yang lebih dalam lagi mulai dari nilai awalnya dan seterusnya. Contoh : uses crt; Var a,b : Integer; Begin clrscr; For a := 1 To 3 Do Begin For b := 1 To 2 Do Write (a :4,b:2); Writeln; End; readln; End.

KELAS XI- SMAN 2 SURABAYA

Halaman 15 dari 26

Mulok-Kurikulum Tingkat Satuan Pendidikan

Hasil : 11 21 31 12 22 32

3.7. Perulangan While - Do Penyeleksian kondisi digunakan untuk agar program dapat menyeleksi kondisi, sehingga program dapat menentukan tindakan apa yang harus dikerjakan, tergantung dari kondisi yang diseleksi tersebut. Perulangan While - Do tidak dilakukan jika kondisi tidak terpenuhi. Contoh :
Uses Crt; Var i : Integer; Begin clrscr; i := 0; While i<= 10 do Begin Write (i:3); Inc (i); End; readln; End. { sama dengan i:=i+1 }

Hasilnya : 0 1 2 3 4 5 6 7 8 9 10 3.8. Perulangan While - Do tersarang Perulangan While - Do tersarang (nested While - Do) merupakan perulangan While - Do yang satu di dalam perulangan While - Do yang lainnya. Contoh :
Uses Crt; Var a, b : Integer; Begin ClrScr; a:=1;

KELAS XI- SMAN 2 SURABAYA

Halaman 16 dari 26

Mulok-Kurikulum Tingkat Satuan Pendidikan

b:=1; While a <=3 Do{ loop selama a masih lebih kecil dari 4 } Begin a := a+1; While b < 6 Do{ loop selama b masih lebih kecil dari 3 } Begin Writeln (a:5,b:5); b:=b+2; End; End; Readln; End.

3.9. Perulangan Repeat - Until. Repeat - Until digunakan untuk mengulang statement-statemen atau blok statement sampai (Until) kondisi yang diseleksi di Until tidak terpenuhi. Sintak dari statement ini adalah : Contoh :
uses crt; Var i : Integer; Begin clrscr; i:=0; Repeat inc(i); writeln(i); Until i=5; readln; End.

3.10. Repeat - Until tersarang Repeat - Until tersarang adalah suatu perulangan Repeat - Until yang satu berada didalam perulangan Repeat - Until yang lainnya. Contoh :
uses crt; Var a,b,c : Real;

KELAS XI- SMAN 2 SURABAYA

Halaman 17 dari 26

Mulok-Kurikulum Tingkat Satuan Pendidikan

Begin clrscr; Writeln('================================'); Writeln(' sisi A Sisi B Sisi C ');

Writeln(' ==============================='); a:= 1; Repeat { perulangan luar} b := 0; Repeat{ perulangan dalam } c:=Sqrt (a*a+b*b); Writeln (a:6:2, b:9:2, c:9:2); b:=b+5; Until b>25; { berhenti jika b lebih besar dari 5 untuk perulangan dalam } a:=a+1; Until a>3; {berhenti jika a lebih besar dari 3 untuk perulangan luar } Writeln('================================='); readln; End.

3.11. Percabangan If - Then Bentuk struktur If - Then adalah sebagai berikut : If Kondisi Then Statement Ungkapan adalah kondisi yang diseleksi oleh statement If. Bila kondisi yang diseleksi terpenuhi, maka statement yang mengi-kuti Then akan diproses, sebaliknya bila kondisi tidak terpenuhi, maka yang akan diproses statement berikutnya. Misalnya : If Pilihan = 2 Then Begin{ jika kondisi terpenuhi, Yaitu jika pilihan = 2 } End Else{ jika kondisi tidak terpenuhi, yaitu jika pilhan tidak sama dengan 2} Begin End;

Contoh Program :
Uses Crt;

KELAS XI- SMAN 2 SURABAYA

Halaman 18 dari 26

Mulok-Kurikulum Tingkat Satuan Pendidikan

Var Nilai : Real; Begin clrscr; Write ('Jumlah Nilai :'); Readln (nilai); { Pemasukan data }

If nilai > 60 Then { seleksi kondisi variabel nilai } Writeln('Lulus') Else Writeln('Tidak lulus'); { Dilaksanakan jika variabel nilai lebih kecil dari 60 } readln; End. { Dilaksanakan jika nilai lebih besar dari 60 }

Hasil : Jika kita Memasukan 40 pada varibel nilai, Maka program diatas akan mencetak Tidak lulus.

3.12. If tersarang (nested If) Struktur If tersarang merupakan bentuk dari suatu statement If berada di dalam lingkungan statemen If yang lainya. Bentuk statement If tersarang sebagai berikut : If kodisi1 Then If kondisi2 Then statemen 1 Else statemen2; statemen2 End; atau If Kondisi1 Then Begin IF kondisi2 Then statemen 1 Else

3.13. Case – Of Struktur Case - Of mempunyai suatu ungkapan logika yang disebut dengan selector dan sejumlah statemen yang diawali dengan suatu label permasalahan (case label) yang mempunyai tipe sama dengan selector. Statement yang mempunyai case label yang bernilai sama dengan case label yang bernilai sama dengan nilai selector akan diproses sedang statemen yang lainya tidak. Bentuk struktur dari Case - Of:

KELAS XI- SMAN 2 SURABAYA

Halaman 19 dari 26

Mulok-Kurikulum Tingkat Satuan Pendidikan

Case Variabel Kondisi Of Case - Label 1; Statement 1; Case - Label 2; Statement 2; Case - Label 3; Statement 3; Case - Label 4; Statement 4; Case - Label n ; Statement n ; End ; { end dari case }

Daftar Case label dapat berupa konstanta, range dari konstanta yang bukan bertipe real. Contoh program ; Program nilai;
uses crt; Var n : char ; Begin clrscr; Write ('Nilai Numerik yang didapat :'); Readln (n); Case n Of 'A': Writeln ('Sangat Baik'); 'B': Writeln('Baik'); 'C': Writeln('Cukup'); 'D': Writeln('Kurang'); 'E': Writeln('Sangat Kurang'); End; readln; End.

4. CONTOH PROGRAM LAINNYA 1. Program input data dengan array. Program PemakaianArrayUntuk l Odatadenganmenggunakan For;

Contoh Program : Uses Crt; Const garis='========================================================= ==='; Var

KELAS XI- SMAN 2 SURABAYA

Halaman 20 dari 26

Mulok-Kurikulum Tingkat Satuan Pendidikan

UH1,UH2

: Array [1..10] Of 0..100; {Array dgn Type

subjangkauan} induk nama n,i,bar jum tl Begin clrscr; { pemasukan data dalam array } gotoxy(25,2); Write ('Mau Isi Berapa Data:'); Readln (n); For i:= 1 To n Do Begin ClrScr; GotoXY(20,4+1); Write('Data Ke- :',i:2); GotoXY(20,5+i); Write('No Induk GotoXY(20,6+i); Write('Nama :'); Readln (Induk[i]); :'); Readln (nama[i]); : Array [ 1.. 10] Of String [8]; : Array [1.. 10] Of String [15]; : Integer; : Real; : Char;

GotoXY(20,7+i); Write('Nilai UH 1 :'); Readln (UH1[i]); GotoXY(20,8+i); Write('Nilai UH 2 :'); Readln (UH2[i]); End; { proses data dalam array } ClrScr; GotoXY(5,4); Write(Garis); GotoXY(5,5); Write ('NO'); GotoXY(9,5); Write ('INDUK'); GotoXY(18,5); Write ('N A M A'); GotoXY(40,5); Write ('UH 1'); GotoXY(48,5); Write ('UH 2'); GotoXY(55,5); Write ('RATA2'); GotoXY(66,5); Write ('KET'); GotoXY(5,6); Write (Garis); {proses Cetak isi array dan seleksi kondisi } bar := 7; For i:= 1 To n Do Begin jum:=(uh1[i]+uh2[i])/2; If jum>=90 Then tl:='A' Else If jum>80 Then tl:='B' Else If jum>60 then tl:='C' Else

KELAS XI- SMAN 2 SURABAYA

Halaman 21 dari 26

Mulok-Kurikulum Tingkat Satuan Pendidikan

If jum>50 Then tl:='D' Else tl:='E'; {cetak hasil yang disimpan di array dan hasil } { penyeleksian kondisi } GotoXy(5,bar); Writeln(i:2); GotoXy(9,bar); Writeln (Induk[i]); GotoXy(18,bar); Writeln (NAMA[i]); GotoXy(38,bar); Writeln (UH1[i]:4); GotoXy(46,bar); Writeln (UH2[i]:4); GotoXy(54,bar); Writeln (jum:6:2); GotoXy(66,bar); Writeln (tl); bar:=bar+1; End; GotoXY(5,bar+1); Writeln(garis); Readln; End.

Hasil

2. Program jendela bergerak.
Program Window_Bergerak_dgn_delay; Uses Crt;

KELAS XI- SMAN 2 SURABAYA

Halaman 22 dari 26

Mulok-Kurikulum Tingkat Satuan Pendidikan

Var i : Integer; Begin For i:=1 To 15 Do Begin Sound (i*200); Delay (100); NoSound; End; TextBackGround(Yellow); ClrScr; For i := 1 To 9 Do Begin TextBackGround(Red); Window (42-i*4,10-i,38+i*4,15+i); ClrScr; Delay(100); End; TextColor(15); GotoXY(28,2); Writeln('c'); GotoXY (8,3); Writeln ('3'); GotoXY (28,4); Writeln ('A'); TextColor(Blue); GotoXY (44,3); Writeln ('3'); GotoXY (44,2); Writeln ('&'); TextColor(29); Writeln ('U'); TextColor (red*25); GotoXY (30,3); Writeln ('B E L A J A R'); TextColor (Blue); GotoXY (5,5); Write('U'); For i := 6 To 64 Do Begin

KELAS XI- SMAN 2 SURABAYA

Halaman 23 dari 26

Mulok-Kurikulum Tingkat Satuan Pendidikan

GotoXY (i,5); Writeln (''); End; For i := 6 To 20 Do Begin GotoXY(5,i); Writeln('3 '); End; GotoXY (5,21); Writeln (' '); TextColor( white); GotoXY(65,5); Write('U'); For i := 6 To 65 Do Begin GotoXY (i,21); Writeln(' '); End; For i := 6 To 20 Do Begin GotoXY(65,i); Writeln('3'); End; GotoXY (65,21); Writeln ('c'); TextColor(yellow); Readln; End.

5. PROSEDUR DAN FUNGSI 5.1. Procedure Prosedur adalah suatu program terpisah dalam blok sendiri yang berfungsi sebagai

subprogram (program bagian). Prosedur diawalai dengan kata cadangan Procedure didalam bagian deklarasi prosedur. Prosedur dipanggil dan digunakan didalam blok program yang lainnya dengan menyebutkan judul prosedurnya. 5.1.1. Procedure Dasar
Procedure Begin Writeln (‘ Hai… Pa kabar…!’); hallo;

KELAS XI- SMAN 2 SURABAYA

Halaman 24 dari 26

Mulok-Kurikulum Tingkat Satuan Pendidikan

End; Begin Hallo; Writeln (‘Percobaan’); End.

5.1.2. Procedure Standart
uses crt; Procedure hitung; Var x,y,z Begin clrscr; Write ('Masukkan Nilai X :' ); Readln (x); Write ('Masukkan Nilai Y :' ); Readln(y); Z:=x+y; Writeln ('Hasil Penjumlahan : ',z:0); end; Begin hitung; readln; End. :integer;

5.1.3. Procedure Value Parameter
uses crt; Procedure tambah(x,y Var z :integer; :integer);

Begin Z:=x+y; Writeln ('Hasil Penjumlahan : ',z:0); end; var x,y :integer; begin clrscr; Write('Nilai x: Write('Nilai y: tambah(x,y); '); readln(x); '); readln(y);

KELAS XI- SMAN 2 SURABAYA

Halaman 25 dari 26

Mulok-Kurikulum Tingkat Satuan Pendidikan

readln; End.

5.1.4. Procedure Acuan
uses crt; Procedure tambahAcuan(var x,y,z begin z:= x+y; end; var x,y,z begin Write('Nilai x: Write('Nilai y: clrscr; tambahAcuan(x,y,z); Writeln ('hasil X: ',x:2,' readln; End. hasil Y :',y:2,' hasil Z :',z:2); '); readln(x); '); readln(y); :integer; :integer);

5.2. Fungsi Standart
uses crt; type huruf =string[15]; function garis :huruf; Begin garis :='---====---'; end; begin clrscr; writeln(garis); writeln('Belajar Yo'); Writeln(garis); readln; end.

KELAS XI- SMAN 2 SURABAYA

Halaman 26 dari 26


				
DOCUMENT INFO
Shared By:
Categories:
Tags: pascal, about
Stats:
views:1919
posted:7/26/2009
language:Indonesian
pages:26