P. 1
Rangkuman Materi Turbo Pascal

Rangkuman Materi Turbo Pascal

|Views: 16,033|Likes:
Published by Ismail Adha Kesuma

More info:

Published by: Ismail Adha Kesuma on Feb 24, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

12/29/2015

pdf

text

original

RANGKUMAN MATERI

TURBO PASCAL

PUSAT ILMU KOMPUTER dan MANAJEMEN INDONESIA

2006
©husnan_sarofi 2006

Pengenalan Pemrograman Pascal

DAFTAR ISI
DAFTAR ISI .............................................................................................. i .................................................... BAB I PENULISAN CODE PROGRAM DI TURBO PASCAL ........................................... 1
I.1 I.2 I.3 I.4 I.5 STRUKTUR PROGRAM PASCAL................................................................................................................................ 1 MENAMPILKAN TULISAN DI LAYAR ................................................................................................................... 1 TIPE DATA.................................................................................................................................................................... 1 TEXTCOLOR DAN TEXTBACKROUND...................................................................................................................2 PROGRAM DENGAN PENGGUNAAN VARIABEL .................................................................................................3
PROGRAM PENAMBAHAN.................................................................................................................................................3 PROGRAM PENILAIAN ......................................................................................................................................................3

I.5.1 I.5.2

BAB II STRUKTUR PERNYATAAN IF dan IF-ELSE.................................................. 4
II.1 PERNYATAAN IF.........................................................................................................................................................4
CONTOH PROGRAM DENGAN LOGIKA IF ..................................................................................................................4

II.2 II.3 II.4

II.1.1

PERNYATAAN IF-ELSE .............................................................................................................................................5 PERNYATAAN IF BERSARANG (NESTED-IF) ....................................................................................................6 PERNYATAAN CASE-OF............................................................................................................................................7
CONTOH PROGRAM dengan CASE-OF ..........................................................................................................................8 CONTOH PROGRAM dengan NESTED IF......................................................................................................................7 CONTOH PROGRAM IF-ELSE ..........................................................................................................................................5

II.2.1 II.3.1 II.4.1

BAB III PENGULANGAN/ LOOPING .................................................................. 9 ....................................................
III.1 COUNTED LOOP ..........................................................................................................................................................9
Pernyataan FOR-TO-DO................................................................................................................................................9 Pernyataan FOR-DOWNTO-DO ..................................................................................................................................9 Contoh lain FOR-TO -DO ............................................................................................................................................ 10 REPEAT – UNTIL .......................................................................................................................................................... 10 WHILE - DO....................................................................................................................................................................11 CONTOH LAIN REPEAT – UNTIL ............................................................................................................................11 CONTOH LAIN WHILE - DO.................................................................................................................................... 12 Beberapa contoh penggunaaan NESTED LOOP ..................................................................................................... 12 III.1.1 III.1.2 III.1.3

III.2

CONDITIONAL LOOP ..............................................................................................................................................10

III.3

III.2.1 III.2.2 III.2.3 III.2.4 III.3.1

NESTED LOOP............................................................................................................................................................12

BAB IV SUB ALGORITMA ............................................................................. 14 ....................................................
IV.1 IV.2 IV.3 PROCEDURE (Prosedur)............................................................................................................................................14 PARAMETER................................................................................................................................................................17 FUNCTION (FUNGSI)..............................................................................................................................................18

i

© Husnan Sarofi 2006

Pengenalan Pemrograman Pascal

BAB I PENULISAN CODE PROGRAM DI TURBO PASCAL
I.1 STRUKTUR PROGRAM PASCAL Struktur dari suatu program Pascal terdiri dari sebuah judul program(program heading) dan suatu blok program(program block) atau badan program(body programf). Blok program dibagi lagi menjadi dua bagian, yaitu : bagian deklarasi(declaration part) dan bagian pernyataan( statement part). Bagian deklarasi dapat terdiri dari deklarasi label(labels declaration), deklarasi konstanta(constants declaration), deklarasi tipe(type declaration), deklarasi variabel(variables declaration), deklarasi prosedur(procedures declaration), dan deklarasi fungsi(function declaration). Secara ringkas dapat digambarkan sebagai berikut : 1. Judul Program 2. Blok Program a. Bagian Deklarasi - deklarasi label - definisi constanta - definisi tipe - deklarasi variabel - deklarasi prosedur - deklarasi fungsi b. Bagian pernyataan. I.2 MENAMPILKAN TULISAN DI LAYAR
program tulisan; uses crt;
judul program deklarasri fungsi

begin awal memulai program clrscr; membersihkan layar writeln('SELAMAT DATANG DI PIKMI’); menampilkan tulisan SELAMAT DATANG DI PIKMI write('SEMOGA ANDA PUAS’); menampilkan tulisan SEMOGA ANDA PUAS readln; menyetop utk sementara eksekusi program end. Akhir dari program
#bagian yang dicetak tebal(dari begin – end.) adalah bagian pernyataan (statement)

I.3 TIPE DATA Tipe Data Numerik Byte Word Longint Integer Shortint Real Logika Karakter Char String Jangkauan 0 0 -2147483648 -32768 -128 -2.9E-39 True … … … … … … or 255 65535 2147483647 32767 127 1.7E38 False

1 karakter 1 … 255 karakter

1

© Husnan Sarofi 2006

Pengenalan Pemrograman Pascal

I.4 TEXTCOLOR DAN TEXTBACKROUND Berfungsi untuk memberikan warna pada text dan warna background text, warna yang ditampilkan tergantung pada kode warna yang digunakan (lihat tabel warna berikut ini) Kode warna Warna Kode warna Warna 0 Black 8 Dark Grey 1 Green 9 Light Blue 2 Blue 10 Light Green 3 Cyan 11 Light Cyan 4 Red 12 Light Red 5 Magenta 13 Light Magenta 6 Brown 14 Yellow 7 Light Gray 15 White
CONTOH1 program hello; uses crt; begin textcolor(6); textbackground(11); clrscr; write('AAAkuuuuuuuuuuu’); write('Kaaaaaanggggggggggennn’); write('Ama Kamuuuuuuuuuuuuuuu'); end. CONTOH1 program hello; uses crt; var nama:string; gender:char; umur:byte; begin clrscr; textcolor(6); textbackground(11); write('Masukkan nama anda : ');readln(nama); write('Masukkan gender : ');readln(gender); textcolor(7); textbackground(11); write('Masukkan Usia : ');readln(umur); writeln('Nama anda : ',nama,', gender : ',gender,', berusia : ', umur,' tahun'); readln; end.

2

© Husnan Sarofi 2006

Pengenalan Pemrograman Pascal

I.5 PROGRAM DENGAN PENGGUNAAN VARIABEL
Program tambah; Uses crt; Var a,b:integer; mendeklarasikan variabel untuk angka pertam(a)dan angka kedua(b) yg berjenis integer Hasil:integer; mendeklarasikan variabel “hasil” untuk menampung hasil dari penjumlahan a dan b Begin Clrscr; Write(‘Masukkan angka pertama : ’); readln(a); menampilkan text dan membaca masukan sebagai variabel a Write(‘Masukkan angka kedual : ’);readln(b); menampilkan text dan membaca masukan sebagai variabel b Hasil:=a+b; memproses variable hasil dengan rumus a+b Write(‘Hasil penambahan adalah : ‘,hasil); menampilkan hasil dari proses yg sudah dilakukan Readln; memberhentikan sementara proses pembacaan program agar tidak langsung keluar dr layar End.

I.5.1

PROGRAM PENAMBAHAN

Program nilai; Uses crt; Var nim,nama:string; Utk,uak,tugas:integer; mendeklarasikan variabel yang digunakan N_akhir:real; Begin Clrscr; write('NIM :');readln(nim); menampilkan text NIM dan memasukkan isiannya ke variabel nim write('nama :');readln(nama); menampilkan text NAMA dan memasukkan isiannya ke variabel nama write('Nilai UTK : ');readln(utk); write('Nilai UAK : ');readln(uak); write('Nilai Tugas: ');readln(tugas); N_akhir:=(0.2*utk)+(0.4*uak)+(0.4*tugas); memproses n_akhir dengan rumus yg sdh ditentukan write('Nilai Akhir yang diperoleh adalah :',N_akhir:10:2); memunculkan nilai akhir readln; memberhentikan sementara proses pembacaan program agar tidak langsung keluar dr layar end.
*:10:2 di belakang variabel n_akhir maksudnya belakang koma n_akhir yg berjenis real ditampilkan maksimal 10 digit dan 2 angka di

I.5.2

PROGRAM PENILAIAN

Kita bisa mengatur peletakan/ posisi dari text yang ditampilkan (seperti di FoxPro) dengan menggunakan perintah GOTOXY(x,y), untuk lebih jelasnya lihat contoh berikut : (perintah ini hanya bisa anda gunakan jika anda mengaktifkan crt unit(uses crt) ) program tulisan; uses crt; begin clrscr; gotoxy(10,2);writeln('SELAMAT DATANG DI PIKMI’); gotoxy(10,3);writeln('SEMOGA ANDA PUAS’); readln; end

3

© Husnan Sarofi 2006

Pengenalan Pemrograman Pascal

BAB II STRUKTUR PERNYATAAN IF dan IF-ELSE

II.1 PERNYATAAN IF Struktur logika dari penyataan IF adalah sbb :

kondisi

T
PERNYATAAN PERNYATAAN

F
Sintax logika IF dalam PASCAL IF <kondisi> THEN <pernyataan>; Bila pernyataan yang dihasilkan, lebih dari satu baris maka sintaxnya menjadi : IF <kondisi> THEN BEGIN <pernyataan_1>; <pernyataan_2>; <pernyataan_n>; END;

Contoh1 Program cth_if; uses crt; var jml_beli:integer; begin clrscr; Write('Masukkan jumlah beli : ');readln(jml_beli); IF jml_beli>=20 THEN write('anda dapat diskon'); readln; end. Contoh 2 Program cth_if; uses crt; var jml_beli:integer; begin clrscr; Write('Masukkan jumlah beli : ');readln(jml_beli); IF jml_beli>=20 THEN begin writeln('anda dapat diskon'); write('anda dapat voucher belanja Rp 5000'); end; readln; end.

II.1.1

CONTOH PROGRAM DENGAN LOGIKA IF

Dalam program ini jika jumlah beli dimasukan dengan angka lebih dari atau sama dengan 20 maka akan muncul tulisan “Anda dapat Diskon” jika tidak tidak akan memunculkan apa-apa

Dalam program ini jika jumlah beli dimasukan dengan angka lebih dari atau sama dengan 20 maka akan muncul tulisan “Anda dapat Diskon” dan “Anda dapat voucher belanja Rp.5000”, jika tidak tidak akan memunculkan apa-apa

4

© Husnan Sarofi 2006

Pengenalan Pemrograman Pascal

II.2 PERNYATAAN IF-ELSE Struktur Logika IF-ELSE adalah sbb:
Jika syarat yang ditentukan terpenuhi( T ) maka pernyataan akan dijalankan, jika syarat tidak terpenuhi ( F ) maka pernyataan2 yang dijalankan

kondisi

T
PERNYATAAN 1

F

PERNYATAAN 2

Sintax IF-ELSE dalam PASCAL IF <kondisi> THEN <pernyataan1> ELSE <pernyataan2>;

Bila pernyataan yang dihasilkan, lebih dari satu maka sintaxnya menjadi : IF <kondisi> THEN BEGIN <pernyataan_1>; <pernyataan_2>; <pernyataan_n>; END ELSE BEGIN <pernyataan_A>; <pernyataan_B>; <pernyataan_n>; END;

Contoh 1 Program cth_if; uses crt; var nama1,nama2:string; j_kel1,j_kel2:char; begin clrscr; Write('Masukkan nama anda : ');readln(nama1); write('Jenis kelamin anda [l/p] : ');readln(j_kel1); write('Masukkan nama pasangan : ');readln(nama2); write('Jenis kelaminnya [l/p] : ');readln(j_kel2); IF j_kel1<>j_kel2 THEN Write('Anda berdua sangat berjodoh') ELSE Write('Anda berdua tidak cocok'); readln; end.

II.2.1

CONTOH PROGRAM IF-ELSE

Dalam program ini jika jenis kelamin yang dimasukkan berbeda(tidak sama) maka akan memunculkan tulisan “ANDA BERDUA SANGAT BERJODOH” jika tidak maka tulisan yang muncul adalah “ANDA BERDUA TIDAK COCOK”

5

© Husnan Sarofi 2006

Pengenalan Pemrograman Pascal
Contoh 2 Program cth_if; uses crt; var nama1,nama2:string; j_kel1,j_kel2:char; begin clrscr; Write('Masukkan nama anda : ');readln(nama1); write('Jenis kelamin anda [l/p] : ');readln(j_kel1); l write('Masukkan nama pasangan : ');readln(nama2); write('Jenis kelaminnya [l/p] : ');readln(j_kel2); L IF upCase(j_kel1) <> upCase(j_kel2) THEN BEGIN Write('Anda berdua sangat berjodoh'); Write(‘Teruskan hubungan anda’); END ELSE BEGIN Write('Anda berdua tidak cocok'); Write(‘Anda berdua edannnnnn’); END; readln; end.

Dalam program ini jika jenis kelamin yang dimasukkan berbeda(tidak sama) maka akan memunculkan tulisan “ANDA BERDUA SANGAT BERJODOH” dan “TERUSKAN HUBUNGAN ANDA” jika tidak maka tulisan yang muncul adalah “ANDA BERDUA TIDAK COCOK” dan “ANDA BERDUA EDANNNNNNN”

II.3 PERNYATAAN IF BERSARANG (NESTED-IF)
Pernyataan NESTED IF adalah suatu pernyataan yang mungkin membutuhkan lebih dari satu syarat agar hasil yang diinginkan diperoleh. Contoh: seorang atlet akan menembus babak final setelah melewati babak penyisihan, kemudian perempat final, dan akhirnya babak semifinalfinal, baru kemudian ia akan bersaing di babak final. Dalam hal tersebut untuk mencapai babak final, maka babak-babak sebelumnya harus berhasil ia lewati, jika tidak maka hal tersebut tidak akan pernah terjadi. ( untuk lebih jelasnya lihat flowchartnya sebagai berikut)

Melewati Babak penyisihann

T

Melewati Babak per4final

T

Melewati Babak semifinal

T

Babak final

F

F

F

Struktur logika NESTED IF adalah sbb:
Syarat 1

T

Syarat 2

T

Pernyataan
Struktur pernyataan NESTED IF bergantung pada kondisi dari masalah yang akan diselesaikan. Bisa jadi setelah syarat 1 dipenuhi langsung menghasilkan sebuah pernyataan, tetapi jika syarat tdk terpenuhi akan menghasilkan syarat yang lain agar pernyataan yang ditentukan bisa terpenuhi. Bisa juga kondisinya berbeda.

F
syarat/ pernyataan yg lain

F
............................

6

© Husnan Sarofi 2006

Pengenalan Pemrograman Pascal

Sintax NESTED IF dalam PASCAL
IF <syarat> THEN IF <syarat> THEN BEGIN <pernyataan>; END ELSE BEGIN <pernyataan>; END ELSE IF <syarat> THEN BEGIN <pernyataan>; END ELSE BEGIN <pernyataan>; END;

program nest_if; uses crt; var a,b,c:integer; begin clrscr; write('Masukkan angka pertama : ');readln(a); write('Masukkan angka kedua : ');readln(b); write('Masukkan angka ketiga : ');readln(c);

II.3.1

CONTOH PROGRAM dengan NESTED IF
WRITE('Yang terbesar adalah angka pertama') ELSE WRITE('Yang terbesar adalah angka ketiga') ELSE IF b>c THEN WRITE('Yang terbesar adalah angka kedua') ELSE WRITE('Yang terbesar adalah angka ketiga');
READLN; END.

IF a>b THEN IF a>c THEN

Di atas adalah program untuk mencari angka terbesar dari 3 angka yang dimasukkan. Pertama jika angka pertama lebih besar dari angka kedua, maka akan angka pertama akan dibandingkan lagi dengan angka ketiga untuk kemudian ditentukan mana yang terbesar jika tidak maka angka kedua yang akan dibandingkan dengan angka ketiga kemudian ditentukan mana yang terbesar.

II.4 PERNYATAAN CASE-OF
Pernyataan CASE-OF dibutuhkan jika suatu kondisi katakanlah expresi utama jika dibandingkan dengan pembanding1 maka akan menghasilkan suatu keputusan(keputusan1), jika expresi utama dibandingkan dengan pembanding2 akan menghasilkan keputusan yan lain(keputusan2), atau jika expresi utama dibandingkan dengan pembanding3 maka keputusan yang berbeda(keputusan3) pun akan diperoleh. Sebagai contoh adalah Golongan dalam suatu pekerjaan : Jika Golongan=A maka gaji pokok Rp 500000,Dalam hal ini golongan dapat dikatakan sebagai Jika Golongan=B maka gaji pokok Rp 400000,sebagai expresi utama sedangkan A,B,C,D dapat Jika Golongan=C maka gaji pokok Rp 300000,dikatkan sbg pembnding1,2,3 atau 4 sedangkan Jika Golongan=D maka gaji pokok Rp 200000,banyaknya Gaji pokok dikatakan sebagai keputusan

Sintax CASE OF dalam PASCAL

yang diperoleh menurut golongannnya masing-masing

CASE <expresi_utama> OF <pembanding1> : <keputusan1> <pembanding2> : <keputusan2> <pembanding3> : <keputusan3> ELSE <keputusan4> END;

7

© Husnan Sarofi 2006

Pengenalan Pemrograman Pascal

Contoh 1 program case_of; uses crt; var nip,nama:string; gol:char; gapok:real; begin write('NIP :');readln(nip); write('NAMA :');readln(nama); write('GOLONGAN :');readln(gol);

II.4.1

CONTOH PROGRAM dengan CASE-OF

case gol of 'A':gapok:=500000; 'B':gapok:=400000; 'C':gapok:=300000; else gapok:=200000; end;
writeln('GAJI POKOK readln; end. :Rp',gapok:10:2);

Contoh 2 program pembelian; uses crt; var beli,potongan:integer; BEGIN CLRSCR; write('Total Pembelian : ');readln(beli); CASE beli OF 0..1000 :potongan:=0; 1001..10000:potongan:=400; 10001..30000:potongan:=1000; ELSE potongan:=2000; END; Writeln; writeln('Total pembeliannya : Rp.',beli); writeln('Potongan : Rp.',potongan); writeln('*********************************'); writeln('Total Bayar : Rp.',beli-potongan); READLN; END.

8

© Husnan Sarofi 2006

Pengenalan Pemrograman Pascal

BAB III PENGULANGAN/ LOOPING
Pengulangan atau biasa disebut dengan looping digunakan untuk melakukan pengulangan sebuah proses pada program yang dibuat. Sebagai contoh bila kita memasukkan password untuk memasuki sebuah program/ sistem operasi, maka jika password kita keliru dengan otomatis akan meminta password ulang (tidak langsung keluar dari program), baru setelah password yang dimasukkan benar program yang diminta akan dijalankan. Nah untuk membuat seperti hal tersebut maka kita memerlukan yang namanya LOOPING Looping ada dua jenis 1. Counted Loop(pengulangan pasti) 2. Conditional Loop(pengulangan berkondisi) 3. Nested Loop(pengulangan bersarang)

III.1 COUNTED LOOP
Counted Loop(pengulangan Pasti) adalah sebuah bentuk pengulangan yang disertai counter(penghitung) di dalamnya, selama loop ini mengulang suatu proses maka nilai akan bertambah atau berkurang sejumlah tertentu. Sehingga banyaknya pengulangan dapat dipastikan jumlahnya melalui angka(10x, 5x atau yang lain). Pada bahasa pascal, Counted Loop digunakan melalui perintah FOR- TO-DO dan FOR-DOWNTO-DO.

III.1.1 Pernyataan FOR-TO-DO
SINTAX:

FOR <counter_1> TO <counter_2> DO BEGIN <proses /code program yang diulang>; END;
CONTOH 1
PROGRAM for_do; uses crt; var a:integer; begin clrscr;

Contoh disamping untuk mengulangi proses secara sederhana. Dimana yang diulang adalah tulisan “PIKMI Jember” dan “For The Real World”
Dalam perintah FOR-TO -DO jumlah counter akan bertambah 1 tiap pengulangan proses terjadi Dalam contoh disamping counternya menggunakan variable a, dimana counter pertama a bernilai 1 dan counter kedua bernilai 5, jadi jumlah pengulangan adalah 5 dihitung dari angka 1 sampai 5 (1,2,3,4,5)

for a:=1 to 5 do begin writeln('PIKMI Jember'); writeln('For The Real World'); end;
readln; end.

III.1.2 Pernyataan FOR-DOWNTO-DO
SINTAX :

FOR <counter_1> DOWNTO <counter_2> DO BEGIN <proses /code program yang diulang>; END;
CONTOH 1
PROGRAM for_down; uses crt; var a:integer; begin clrscr;

for a:=5 downto 1 do begin writeln('PIKMI Jember'); writeln('For The Real World'); end;

Dalam perintah FOR-DOWNTO-DO jumlah counter akan berkurang sebanyak 1 angka, tiap proses pengulangan terjadi.

9

© Husnan Sarofi 2006

Pengenalan Pemrograman Pascal
readln;

III.1.3 Contoh lain FOR-TO -DO

end.

Bila diperlukan dalam pernyataan FOR-DO kita bisa menghentikan pengulangan langsung berdasarkan kondisi tertentu. Contohnya program password berikut ini. PROGRAM PASSWORD
program password; uses crt; var sandi:string; a:integer; begin clrscr; for a:=1 to 3 do begin write('Masukkan Password : ');readln(sandi); if sandi='PIKMI' then begin a:=3; writeln('Selamat Anda Berhasil'); end else writeln('Password Salah Goblok'); end; readln; end.

Pada contoh di samping. Jika password yang dimasukkan salah maka akan mengulang untuk menanyakan password lagi. Dan akan terus mengulang sampai 3 kali jika password yang dimasukkan masih salah. Namun jika password yang dimasukkan benar maka akan menampilkan tulisan “SELAMAT ANDA BERHASIL” dan pengulangan langsung dihentikan. Untuk menghentikan pengulangan, langsung dimasukkan angka counter terakhir(lihat syntax yg tebal) dimana dalam contoh disamping jika password yang dimasukkan benar(PIKMI), maka angka counter langsung berubah menjadi 3(pengulangan terakhir). Sekaligus menampilkan tulisan “SELAMAT ANDA BERHASIL”

III.2 CONDITIONAL LOOP
Dalam Conditional Loop jumlah pengulangan tergantung pada kondisi tertentu, dengan kata lain jumlah pengulangan tidak bisa ditentukan dengan menggunakan angka. Dalam bahasa pascal dikenal 2 bentuk conditional Loop, yaitu : 1. REPEAT - UNTIL 2. WHILE – DO

III.2.1 REPEAT – UNTIL

Repeat Until adalah sebuah bentuk pengulangan dimana proses pengulangan akan terus terjadi sampai syarat yang telah ditentukan terpenuhi. Misal : seorang anak mendapat perintah untuk mengelilingi lapangan sampai pingsan. Dalam keadaan tersebut yang dimaksud dengan syarat adalah “sampai pingsan”, jadi jika si anak belum pingsan maka ia akan terus mengelilingi lapangan. Baru setelah dia pingsan maka proses mengelilingi lapangan akan langsung berhenti. SINTAX :

REPEAT <proses yang diulang>; UNTIL <syarat yang ditentukan>;
CONTOH 1
program demo_repuntil; uses crt; var Nilai:char; begin repeat write('Nilai Anda(xberhenti):');readln(Nilai); until (Nilai='x') or (Nilai='X'); end.

CONTOH 2
program demo_repuntil; uses crt; var Nilai:char; begin clrscr; repeat writeln('Aku sayang kamu'); writeln('Dan selalu merindumu'); write('Mau mengulang [y/t]: ');readln(nilai); until (Nilai='T') or (Nilai='t'); end.

10

© Husnan Sarofi 2006

Pengenalan Pemrograman Pascal
Pada CONTOH 1 tulisan “Nilai Anda(x-berhenti):” akan terus ditampilkan sampai anda memasukkan huruf ‘x’ atau ‘X’ pada inputan Sedang pada CONTOH 2, tulisan “AKU SAYANG KAMU” dan “DAN SELALU MERINDUMU” akan ditampilkan lagi jika anda memasukkan huruf selain ‘t’ dan ‘T’ pada inputan. Dan pada saat memasukkan huruf ‘t’ atau ‘T’ maka langsung keluar dari proses pengulangan dan karena tidak ada perintah lagi di bawah perintah pengulangan maka, program pun langsung berakhir.

III.2.2 WHILE - DO

Dalam pernyataan WHILE – DO, sebuah proses akan terus diulang selama syarat yang ditentukan masih terpenuhi. Bisa dikatakan bahwa perintah WHILE – DO adalah kebalikan dari perintah REPEAT- UNTIL SINTAX :

WHILE <syarat yang ditentukan> DO BEGIN <proses yang akan diulang>; END;
CONTOH 1
program demo_whiledo; uses crt; var Nilai:char; begin clrscr;

CONTOH 2
program while_do1; uses crt; var ulang:char; begin clrscr;

while(Nilai<>'x') and (Nilai<>'X') do begin write ('Nilai Anda(x-berhenti:'); readln(Nilai); end;
end.

while (ulang<>'T') and (ulang<>'t') do begin writeln('Aku sayang kamu'); writeln('Dan selalu merindumu'); write('Mau ngulang[y/t]? : ');readln(ulang); end;
end.

III.2.3 CONTOH LAIN REPEAT – UNTIL
program repeat_until; uses crt; var ulang:char; pass,nama:string; begin clrscr; repeat clrscr; write('Masukkan Nama Anda');readln(nama); write('Masukkan Passwordnya');readln(pass); IF (nama='Asep') and (pass='supernova') then begin writeln('Selamat Memasuki Program kami'); sound(1467); delay(1000);

sound(4563); delay(100); NoSound; ulang:='t' end else begin writeln('Sorry men'); writeln('Cek lagi nama dan password anda'); sound(1004); delay(1000); sound(6666); delay(100); ulang:='y'; NoSound; end; until (ulang='T') or (ulang='t'); end.

Contoh diatas adalah sebuah contoh program password Dalam contoh tersebut jika nama dan password yang dimasukkan sesuai persyaratan( dalam contoh tersebut nama memakai ‘Asep’ dan passwordnya ‘supernova). Maka akan memunculkan tulisan ‘SELAMAT ANDA MEMASUKI PROGRAM KAMI’ dan mengeluarkan bunyi tertentu (lihat perintah SOUND(….) dan DELAY(…..) yang berwarna merah), sekaligus keluar dari perulangan. Tapi jika salah, maka tampilan yang muncul adalah tulisan ‘SORRY MEN’ dan ‘CEK LAGI NAMA DAN PASSWORD ANDA’, dan juga mengeluarkan bunyi seperti yang dideklarasikan pada perintah SOUND. Sekaligus melakukan pengulangan (karena variable ULANG diberi nilai ‘y’, dimana syarat mengakhiri perulangan ialah jika variable ULANG bernilai ‘t’ atau ‘T’).

11

© Husnan Sarofi 2006

Pengenalan Pemrograman Pascal

III.2.4 CONTOH LAIN WHILE - DO

program demo_whiledo; uses crt; var ulang:char; r,t:integer; vol,luas:real; begin clrscr; while (ulang<>'t') and (ulang<>'T') do begin clrscr; writeln('MENGHITUNG VOLUME dan LUAS PERMUKAAN TABUNG'); writeln('*******************************************'); write('Masukkan panjang jari-jari : ');readln(r); write('Masukkkan tinggi tabung : ');readln(t); vol:=3.14*r*r*t; luas:=(2*3.14*r*r)+(2*3.14*r*t); writeln('*******************************************'); writeln('Volume tabung adalah : ',vol:10:2); writeln('Luas permukaan tabung adalah :',luas:10:2); writeln('*******************************************'); write('Mau mengulang [y/t]: ');readln(ulang); end; end.

III.3 NESTED LOOP
Adalah sebuah perulangan (looping) yang berada di dalam perulangan yang lainnya. Perulangan yang lebih dalam akan diulang terlebih dahulu sampai habis, kemudian perulangan yang lebih luar akan diproses selanjutnya. Perulongan seperti ini bisa terdiri dari beberapa perulangan yang jenisnya sama ataupun berbeda. Misal didalam perulangan menggunakan FOR – DO terdapat perulangan FOR-DO lagi atau di dalam perulangan FOR – DO terdapat perulangan menggunakan REPEAT – UNTIL atau yang lainnya.

III.3.1 Beberapa contoh penggunaaan NESTED LOOP
CONTOH 1
program NESLOOP1; uses crt; var a,b:integer; BEGIN CLRSCR; for a:=1 to 5 do BEGIN for b:=1 to 3 do begin writeln('Kutunggu kedatanganmu'); writeln('Karena aku selalu merindukanmu'); writeln; end; end; readln; end.

12

© Husnan Sarofi 2006

Pengenalan Pemrograman Pascal
CONTOH 2
program nestedloop1; uses crt; var ulang:char; i:integer; begin clrscr; repeat for i:=1 to 5 do begin writeln('Aku tak bisa memiliki'); writeln('Kamu tak sendirian'); end; write('Mau ngulang lagi[y/t] : ' );readln(ulang); until (ulang='t') or (ulang='T') end.

CONTOH 3
program nestedloop1; uses crt; var ulang:char; i:integer; begin clrscr; repeat writeln('Belajar Pascal'); writeln('Ueeenak tenannn'); repeat write('Mau ngulang lagi[y/t] : ' );readln(ulang); until (ulang='t') or (ulang='T') or (ulang='y') or (ulang='Y') until (ulang='t') or (ulang='T') end.

CONTOH 3
program nestedloop; uses crt; var ulang:char; i:integer; nama,cita:string; begin clrscr; repeat clrscr; gotoxy(2,4);write('Nama : ');readln(nama); gotoxy(2,5);write('Cita-cita : ');readln(cita); repeat gotoxy(2,7); write('Mau ngulang lagi[y/t] : ' );readln(ulang); until (ulang='t') or (ulang='T') or (ulang='y') or (ulang='Y') until (ulang='t') or (ulang='T') end.

13

© Husnan Sarofi 2006

Pengenalan Pemrograman Pascal

BAB IV SUB ALGORITMA
Sub Algoritma adalah sebuah algoritma pendek yang ditulis terpisah dari Algoritma utama, dimana setiap saat dibutuhkan dapat dipanggil tanpa menulis ulang. Dalam pembuatan program Sub Algoritma disebut juga dengan Sub Program Dengan adanya Sub Algoritma atau Sub Program dapat memberikan kemudahan dalam pembuatan atau pemahaman terhadap program, karena program yang panjang dapat dipisah menjadi blok-blok kecil yang mempunyai tugas sendiri sendiri. Keuntungan lain dari Sub Program adalah bila dalam sebuah program terdapat proses tertentu yang sering digunakan dalam program, maka dengan adanya sub algoritma kita tidak perlu menuliskan proses tersebut berulang ulang, cukup memanggil sub program yang sudah disiapkan. Bentuk Sub Program dapat berupa sebuah Prosedur ataupun Fungsi, dan dalam setiap Prosedur atau Fungsi tersebut dapat dilewatkan sebuah Parameter agar Prosedur/ Fungsi tersebut mampu menerima inputan dari program utama.

IV.1 PROCEDURE (Prosedur)
Procedure adalah sebuah sub program yang dapat dipanggil sewaktu – waktu jika diperlukan oleh program utama. Sebuah procedure dapat dipanggil langsung oleh program utama ataupun dipanggil berdasarkan kondisikondisi tertentu. Sebuah procedure biasa tidak dapat menerima masukan dari program utama, jadi hanya dapat dipanggil saja. Jadi semua blok program yang diperlukan (dari input, proses, sampai output) harus diletakkan pada procedure, dan program utama hanya bertugas memanggil saja jika diperlukan.\ Procedure biasa seperti ini biasa diapakai dalam pembuatan, program yang menggunakan pilihan-pilihan atau menu Pada pemrograman pascal sebuah procedure dideklarasikan sebelum program utama. SINTAX :

Untuk memanggil Procedure cukup dengan menuliskan nama prosedurnya diikuti dengan tanda (;). Contoh Satu; ‘satu’ merupakan nama procedure yang dipanggil Untuk lebih jelasnya lihat contoh berikut ini : CONTOH 1
program proc1; uses crt; procedure satu; Pendeklarasian nama prosedure begin writeln('-----------'); Isi prosedure writeln(' P I K M I '); writeln('-----------'); end; procedure dua; begin writeln('--------------------'); writeln(' FOR THE REAL WORLD '); writeln('--------------------'); Program Utama end; begin clrscr; DUA; readln; end.

PROCEDURE <nama procedure>; BEGIN <blok program yang merupakan isi procedure>; END;

Pemanggilan Procedure

14

© Husnan Sarofi 2006

Pengenalan Pemrograman Pascal

Pada Contoh 1. ada dua procedure yang dideklarasikan yaitu PROCEDURE SATU, dan PROCEDURE DUA. Dimana procedure satu berisi perintah menampilkan tulisan ‘PIKMI’ sedang procedure dua menampilkan tulisan ‘FOR THE REAL WORLD’. Pada program utama (di dalam lingkaran ) dilakukan pemanggilan procedure, dimana yang dipanggil adalah PROCEDURE DUA. Sehingga perintah-perintah di dalam PROCEDURE DUA yang akan dijalankan yaitu menampilkan tulisan ‘FOR THE REAL WORLD’ sedang PROCEDURE SATU tidak dipanggil sehingg tidak dijalankan. Pemanggilan procedure dapat dilakukan berdasarkan suatu kondisi misal dalam program menu berikut ini CONTOH 2
program proc2; uses crt; var pilihan:string; procedure satu; var a,b,hasil:integer; begin write('Masukkan angka pertama : ');readln(a); write('Masukkan angka kedua : ');readln(b); hasil:=a-b; writeln('Hasil pengurangan adalah : ',hasil); end; procedure dua; var a,b,hasil:integer; begin write('Masukkan angka pertama : ');readln(a); write('Masukkan angka kedua : ');readln(b); hasil:=a+b; writeln('Hasil penjumlahan adalah : ',hasil); end; begin clrscr; WRITELN('1. Pengurangan'); writeln('2. Penambahan '); writeln('MASUKKAN PILIHAN ANDA : ');readln(pilihan); IF pilihan='1' then satu else dua; readln; end.

Contoh diatas akan menghasilkan tampilan awal sebagai berikut

Jika anda memasukkan inputan angka 1 maka yang dijalankan adlah procedure satu (sesuai dengan perintah IF pada program utama) yaitu algoritma pengurangan sebagaimana yang ditunjukkan pada gambar 1 dibawah. Gambar 2 menunjukkan tampilan yang muncul jika yang diinputkan adalah selain angka 1.

Gambar 1

Gambar 2

15

© Husnan Sarofi 2006

Pengenalan Pemrograman Pascal
CONTOH 3
program procedure_gabungan; uses crt; var pilih,ulang:char; procedure lingkar; var r:integer; luas_l:real; begin writeln(''); writeln('PENGHITUNGAN LUAS LINGKARAN'); write('Masukkan Jari-jari lingkaran');readln(r); luas_l:=3.14*r*r; write('Luas lingkarannya adalah : ',luas_l:10:2); readln; end; procedure persegi; var p,l:integer; luas_p:real; begin writeln(''); writeln('PENGHITUNGAN LUAS PERSEGI PANJANG'); write('Masukkan panjangnya : ');readln(p); write('Masukkan lebarnya : ');readln(l); luas_p:=p*l; write('Luas Persegi Panjang adalah : ',luas_p:10:2); readln; end;

BEGIN CLRSCR; repeat CLRSCR; writeln(' MENU UTAMA '); Writeln('******************************'); writeln('1. Menghitung Luas Lingkaran'); writeln('2. Menghitung Luas Persegi Panjang'); writeln(''); write('Masukkan pilihan anda [1/2] : ');readln(pilih); IF pilih='1' THEN LINGKAR ELSE persegi; write('Mau mengulang[y/t] ? ');readln(ulang); until (ulang='t') or (ulang='T'); END.

16

© Husnan Sarofi 2006

Pengenalan Pemrograman Pascal

IV.2 PARAMETER
Perlu diingat bahwa sebuah prosedur biasa tidak bisa menerima inputan nilai dari program utama (hanya bisa dipanggil saat diperlukan). Tetapi sebuah prosedur akan bisa menerima inputan dari program utama jika dilengkapi dengan sebuah PARAMETER. Parameter adalah variabel dalam sebuah prosedur atau fungsi yang gunanya untuk menampung nilai yang dikirimkan oleh program yang memanggil prosedur atau fungsi tersebut. PARAMETER dideklarasikan setelah nama prosedur, diikuti dengan jenis variabelnya. Contoh :

PROCEDURE satu(n_akhir:integer);
Nama Procedure Nama Parameter diikuti jenis parameternya

Untuk lebih jelasnya lihatlah contoh berikut ini CONTOH 1
program prmtr1; uses crt; var n:integer; procedure ulangi(jml_ulang:integer); var i:integer; begin for i:=1 to jml_ulang do writeln('I Love YOU'); end;

Procedure yang dideklarasikan
Dimana procedurenya bernama ULANGI dan didalamnya terdapat PARAMETER dengan nama JML_ULANG berjenis INTEGER

begin write('MASUKKAN JUMLAH PERULANGAN: ');readln(n); ulangi(n); Pemanggilan procedure sambil mengirimkan readln; sebuah nilai yaitu N end.

Pada saat program diatas dijalankan, tampilan pertama adalah tulisan ‘MASUKKAN JUMLAH PERULANGAN’ Kemudian jika diinputkan sebuah angka maka angka tersebut akan dibaca sebagai variable n, setelah inputan dimasukkan, ada pemanggilan procedure ULANGI sekaligus mengirimkan nilai n (ulangi(n);). Setelah masuk ke procedure ULANGI, nilai n akan ditampung ke dalam parameter JML_ULANG. Kemudian ada proses menampilkan tulisan ‘I LOVE YOU’ yang diulang sebanyak inputan yang kita masukkan CONTOH 2
program prmtr1; uses crt; var a,b:integer; procedure tambah(x,y:integer); var hasil:integer; begin hasil:=x+y; write('hasilnya :',hasil); end; begin clrscr; write('a: ');readln(a); write('b: ');readln(b); tambah(a,b); readln; end.

17

© Husnan Sarofi 2006

Pengenalan Pemrograman Pascal
CONTOH 3
program prmtr1; uses crt; var p,l,r:integer; pilih,ulang:char; procedure persegi(x,y:integer); var hasil:integer; begin hasil:=x*y; write('hasilnya :',hasil); end; procedure lingkar(jari:integer); var hasil:real; begin hasil:=3.14*jari*jari; write('hasilnya :',hasil:10:2); end; writeln('PILIH MENU BERIKUT INI'); writeln('1. Menghitung Luas Persegi Panjang'); writeln('2. Menghitung Luas Lingkaran'); write('Tentukan Pilihan Anda : ');readln(pilih); IF pilih='1' Then begin writeln('PENGHITUNGAN LUAS PERSEGI PANJANG'); write('Masukkan lebarnya : ');readln(l); write('Masukkan panjangnya : ');readln(p); persegi(l,p); end ELSE begin writeln('PENGHITUNGAN LUAS LINGKARAN'); write('Masukkan jari-jari lingkaran : ');readln(r); lingkar(r); end; writeln(''); write('Mau ngulangi[y/t] : ');readln(ulang); until (ulang='t') or (ulang='T'); end.

begin repeat clrscr;

IV.3 FUNCTION (FUNGSI)
Function hampir sama dengan prosedur, bedanya function hanya menghasilkan satu nilai output, dan sebuah function bisa mengembalikan nilai output yang dihasilkannya tersebut ke program utama(pemanggilnya). PENDEKLARASIAN FUNCTION :

FUNCTION <namafunction>(parameter):<tipe function>; VAR <variabel yg diperlukan>; BEGIN <baris proses>; END;

CONTOH 1
program fungsi1; uses crt; var c:integer; hasil:real; function conv(cel:integer):real; var r:real; begin r:=(cel*4/5); conv:=r; end;

Pendeklarasian fungsi

begin clrscr; write('Masukkan suhu celcius: ');readln(c); hasil:=conv(c); write('Hasilnya adalah:',hasil:10:2); readln; end.

Tampilan pertama akan muncul tulisan ‘MASUKKAN SUHU CELCIUS ‘ jika dimasukkan angka maka yang anda masukkan akan terbaca sebagai variable c, proses selanjutnya ada pemanggilan fungsi (conv(c) ), yang artinya fungsi conv dipanggil oleh program dan sekaligus mengirimkan nilai c ke fungsi yang dipanggil. Pada saat fungsi dipanggil nilai c yang dibawa akan dimasukkan pada variable ‘cel’ (lihat pendeklarasian fungsi) setelah itu diproses Berdasarkan perintah yang ada dan hasilnya dikembalikan lagi ke program utama(pemanggilnya);

18

© Husnan Sarofi 2006

Pengenalan Pemrograman Pascal
CONTOH 2
program prmtr1; uses crt; var c:integer; hasil:real; function conv(cel:integer):real; begin conv:=(cel*4/5); end; begin clrscr; write('Masukkan suhu celcius: ');readln(c); hasil:=conv(c); write('Hasilnya adalah:',hasil:10:2); readln; end.

CONTOH 3
program fungsi_gabungan; uses crt; var pilih,ulang:char; r,p,l:integer; luas_l,luas_p:real; function lingkar(jari:integer):real; begin lingkar:=3.14*jari*jari; end; function persegi(panjang,lebar:integer):real; begin persegi:=panjang*lebar; end;

BEGIN CLRSCR; repeat CLRSCR; writeln(' MENU UTAMA '); Writeln('******************************'); writeln('1. Menghitung Luas Lingkaran'); writeln('2. Menghitung Luas Persegi Panjang'); writeln(''); write('Masukkan pilihan anda [1/2] : ');readln(pilih); IF pilih='1' THEN begin writeln(''); writeln('PENGHITUNGAN LUAS LINGKARAN'); write('Masukkan Jari-jari lingkaran : ');readln(r); Luas_l:=lingkar(r); writeln('Luas Lingkaran adalah : ',Luas_l:10:2); end ELSE begin writeln(''); writeln('PENGHITUNGAN LUAS PERSEGI PANJANG'); write('Masukkan panjangnya : ');readln(p); write('Masukkan lebarnya : ');readln(l); Luas_p:=persegi(p,l); writeln('Luas Persegi Panjang adalah : ',luas_p:10:2); end; writeln(''); write('Mau mengulang[y/t] ? ');readln(ulang); until (ulang='t') or (ulang='T'); END.

Pemanggilan Fungsi

Pemanggilan Fungsi

19

© Husnan Sarofi 2006

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->