TURBO PASCAL
2006
sarofi 2006 husnan_
DAFTAR ISI
DAFTAR ISI .............................................................................................. i BAB I PENULISAN CODE PROGRAM DI TURBO PASCAL ........................................... 1 I.1 STRUKTUR PROGRAM PASCAL................................................................................................................................ 1 I.2 MENAMPILKAN TULISAN DI LAYAR................................................................................................................... 1 I.3 TIPE DATA.................................................................................................................................................................... 1 I.4 TEXTCOLOR DAN TEXTBACKROUND.................................................................................................................. .2 I.5 PROGRAM DENGAN PENGGUNAAN VARIABEL .................................................................................................3
I.5.1 I.5.2 PROGRAM PENAMBAHAN.................................................................................................................................................3 PROGRAM PENILAIAN ..................................................................................................................................................... .3
III.2
III.3
NESTED LOOP........................................................................................................................................................... . 12
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)
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.
I.5.1
PROGRAM PENAMBAHAN
I.5.2
PROGRAM PENILAIAN
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
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
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;
II.1.1
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;
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;
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;
II.3.1
II.4.1
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);
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;
for a:=1 to 5 do begin writeln('PIKMI Jember'); writeln('For The Real World'); end;
readln; end.
FOR <counter_1> DOWNTO <counter_2> DO BEGIN <proses /code program yang diulang>; END; CONTOH 1
PROGRAM for_down; uses crt;
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 (ulang<>'T') and (ulang<>'t') do begin writeln('Aku sayang kamu'); writeln('Dan selalu merindumu'); write('Mau ngulang[y/t]? : ');readln(ulang);
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
PROCEDURE <nama procedure>; BEGIN <blok program yang merupakan isi procedure>; END; 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;
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.
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
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
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.
FUNCTION <namafunction>(parameter):<tipe function>; VAR <variabel yg diperlukan>; BEGIN <baris proses>; 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.
19