BAB I

PENDAHULUAN

 

Pascal adalah bahasa tingkat tinggi (high level language) yang orientasinya pada segala tujuan, dirancang oleh Profesor Niklaus Wirth dari Technical University of Zurich, Switzerland. Nama Pascal diambil sebagai penghargaan terhadap Blaise Pascal, ahli matematik dan filosofer terkenal abad 17 dari Perancis.

Profesor Niklaus Wirth memperkenalkan kompiler bahasa Pascal pertama kali untuk komputer CDC 6000 (Control Data Corporation) yang dipublikasikan pada tahun 1971 dengan tujuan membantu mengajar program komputer secara sistematis, khususnya untuk memperkenalkan pemrograman terstruktur.

Dalam waktu singkat, Pascal telah menjadi bahasa yang populer di kalangan pelajar universitas dan merupakan bahasa yang diajarkan di beberapa perguruan tinggi. Beberapa profesional komputer juga mulai beralih ke bahasa Pascal. Kenyataannya, Pascal merupakan bahasa yang paling cepat populer dibandingkan dengan bahasa-bahasa komputer tingkat tinggi yang lainnya.

Standar Pascal adalah bahasa Pascal yang didefinisikan oleh K.Jensen dan Niklaus Wirth. Penerapan nyata dari standar Pascal banyak yang berbeda dengan seperti apa yang telah didefinisikan oleh K. Jensen dan Niklaus Wirth. Standar Pascal di Eropa didefinisiakn oelh ISO (International Standards Organization) dan di Amerika oleh kerjasama antara ANSI (American National Standar Institute) dengan IEEE (Intitute of Electrical and Electronic Engineer).

Beberapa versi dari Pascal yang telah beredar di pasaran, di antaranya UCSD pascal (University of California at San Diego Pascal), MS-Pascal (Microsoft Pascal), Apple Pascal, Turbo Pascal dan lain sebagainya. Sampai saat ini untuk komputer-komputer mikro dan personal, Turbo Pascal merupakan versi bahasa Pascal yang paling populer dan banyak digunakan. Kompiler Turbo Pascal banyak digemari, karena terutama bersifat interaktif, seperti interpreter saja layaknya. Selain itu Turbo Pascal mengikuti definisi dari standar Pascal seperti yang didefinisikan oleh K. Jensen dan Niklaus Wirth di Pascal User Manual dan Report. Turbo PASCAL adalah copyright dari Borland Inc. dan dapat digunakan pada sistem operasi PC-DOS, MS-DOS, CPM-86 dan CP/M-80.

Pada makalah ini akan dibahas tentang program, prosedur dan fungsi menarik yang bisa anda coba dan terapkan dalam pemograman Pascal, yaitu:

1.  Fungsi-fungsi String

2.  Fungsi-fungsi Date

3.  Fungsi-fungsi Konversi

4.  Program Permainan

 

 

BAB II

FUNGSI-FUNGSI STRING

 

Berikut ini adalah fungsi-fungsi untuk memanipulasi data String. Jalankan aplikasi Pascal anda, ketikkan kode berikut:

 

 

a. Lower Case

Fungsi   ini   akan   mengubah   string   yang   diinputkan   menjadi   Lower   Case   (huruf   kecil).

Ketikkan fungsi berikut ini:

 

 

b. Upper Case

Fungsi   ini   akan   mengubah   string   yang   diinputkan   menjadi   Upper   Case   (huruf   besar).

Ketikkan fungsi berikut ini:

 

 

c.  Proper Case

Fungsi   ini   akan   mengubah   string   yang   diinputkan   menjadi   Proper   Case   (huruf besar untuk huruf awal setiap kata).

Ketikkan fungsi berikut ini:

 

 

 

 

Untuk mencoba fungsi-fungsi di atas, ketikkan program utama sebagai berikut:

 

Lihatlah tampilan pada layar monitor Anda!

 

Baris pertama, tiap kata ditulis dengan huruf kecil, baris ke-2 tiap kata ditulis dengan huruf besar, dan baris ke-3, tiap kata hanya huruf awal saja yang ditulis dengan huruf besar.

 

 

BAB 3

FUNGSI-FUNGSI DATE

 

Berikut   ini   adalah   fungsi-fungsi   untuk   memanfaat   sistem date   dari   unit   Dos,   untuk menampilkan   tanggal   atau   hari   sesuai   data  pada   sistem   komputer.   Jalankan   aplikasi Pascal anda, ketikkan kode berikut:

 

 

a. Menampilkan Tanggal Sistem

Fungsi ini akan menampilkan tanggal dari sistem komputer Anda.

 

 

b. Menampilkan Nama Hari

Fungsi ini akan menampilkan tanggal dari sistem komputer Anda.

 

 

 

 

Untuk mencoba fungsi-fungsi di atas, ketikkan program utama sebagai berikut:

 

 

Lihatlah tampilan pada layar monitor Anda!

 

 

 

BAB IV

FUNGSI-FUNGSI KONVERSI

 

 

Berikut ini adalah fungsi-fungsi untuk mengkonversi suatu nilai ke nilai lain. Jalankan aplikasi Pascal Anda, ketikkan kode berikut:

 

 

a. Konversi Desimal ke Angka Romawi

Fungsi ini akan mengkonversi suatu nilai bilangan (decimal) ke angka Romawi. Contoh: 1234 menjadi: MCCXXXIV.

 

 

 

 

 

 

 

 

 

 

b. Konversi Desimal ke Binear

Fungsi ini akan mengkonversi suatu nilai bilangan (decimal) ke basis Binear. Contoh: 123 menjadi: 1111011.

 

 

 

 

c.  Konversi Desimal ke Hexadecimal

Fungsi   ini   akan   mengkonversi   suatu   nilai   bilangan   (decimal)   ke   basis   Hexadecimal.

Contoh: 123 menjadi: 7B.

 

 

 

 

 

 

d. Konversi Desimal ke Nominal

Fungsi ini akan mengkonversi suatu nilai bilangan (decimal) ke huruf nominal. Contoh: 123 menjadi: Seratus duapuluh tiga.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Untuk mencoba fungsi-fungsi di atas, ketikkan program utama sebagai berikut:

 

 

Tampilan akhir program seperti di bawah ini:

 

 

 

BAB V

PROGRAM PERMAINAN

 

 

Berikut ini adalah contoh pembuatan sebuah program permainan, sulap angka. Program ini akan menebak sebuah angka yang dipilih oleh seorang pemain, setelah menempuh beberapa wizard. Jalankan Pascal dan ketikkan kode ini:

 

PROGRAM SULAPANGKA;

USES CRT;

VAR I, J, K, L: INTEGER;

YT: CHAR;

NILAI:INTEGER;

 

FUNCTION CSTR(I: INTEGER): STRING;

VAR

S: STRING[11];

BEGIN

STR(I, S);

CSTR := S;

END;

 

PROCEDURE TULIS(POSISI:INTEGER; TEKS:STRING);

VAR A, B, C: INTEGER;

BEGIN

A := POSISI;

B := POSISI MOD 10;

C := 1;

IF B = 0 THEN

BEGIN B := 10;C := 0; END;

GOTOXY(B * 8 – 5,

(A DIV 10 + C) * 3 + 1);

WRITE(TEKS);

END;

(* Untuk symbol-symbol seperti : ÉÍÍ,

dapat Anda ganti dengan symbol: # atau lainnya *)

PROCEDURE BIKIN_KOTAK(KOLOM, BARIS: INTEGER);

BEGIN

CLRSCR;

FOR I:= 1 TO KOLOM DO

BEGIN

FOR J := 1 TO BARIS DO

BEGIN

GOTOXY (J * 8 – 7, (I * 3));

WRITE(‘ÉÍÍÍÍ»’);

GOTOXY (J * 8 – 7, (I * 3 + 1));

WRITE(‘º      º’);

GOTOXY (J * 8 – 7, (I * 3 + 2));

WRITE(‘ÈÍÍÍͼ’);

END;

END;

END;

 

PROCEDURE WIZARD7;

BEGIN

CLRSCR;

WRITELN(‘ANGKA YANG ANDA PILIH = ‘, NILAI);

WRITELN;

WRITE(‘INGIN MENGULANG (Y/ESC.)? ‘);READKEY;

YT := READKEY;

END;

 

PROCEDURE WIZARD6;

BEGIN

BIKIN_KOTAK(2, 10);

FOR I := 1 TO 19 DO

TULIS(I, CSTR(I + 31));

GOTOXY (5, 15);

WRITE(‘APAKAH ANGKA YANG ANDA PILIH’,

‘ ADA PADA DERETAN ANGKA DI ATAS (Y/T) ‘);

REPEAT

YT := READKEY;

UNTIL YT IN ['y', 'Y', 't', 'T', #27];

IF UPCASE(YT) = ‘Y’ THEN

NILAI := NILAI + 32;

WIZARD7;

{===============================}

END;

PROCEDURE WIZARD5;

BEGIN

BIKIN_KOTAK(2, 10);

FOR I := 1 TO 16 DO

TULIS(I, CSTR(I + 15));

FOR J := 17 TO 19 DO

TULIS (J, CSTR(J + 31));

GOTOXY (5, 15);

WRITE(‘APAKAH ANGKA YANG ANDA PILIH’,

‘ ADA PADA DERETAN ANGKA DI ATAS (Y/T) ‘);

REPEAT

YT := READKEY;

UNTIL YT IN ['y', 'Y', 't', 'T', #27];

{===============================}

IF UPCASE(YT) = ‘Y’ THEN

NILAI := NILAI +  16;

WIZARD6;

END;

PROCEDURE WIZARD4;

BEGIN

BIKIN_KOTAK(3, 10);

FOR J := 0 TO 2 DO

FOR I := 1 TO 8 DO

TULIS(J * 8 + I, CSTR(J * 16 + I + 7));

GOTOXY (5, 15);

WRITE(‘APAKAH ANGKA YANG ANDA PILIH’,

‘ ADA PADA DERETAN ANGKA DI ATAS (Y/T) ‘);

REPEAT

YT := READKEY;

UNTIL YT IN ['y', 'Y', 't', 'T', #27];

IF UPCASE(YT) = ‘Y’ THEN

NILAI := NILAI +  8;

WIZARD5;

{===============================}

END;

 

PROCEDURE WIZARD3;

BEGIN

BIKIN_KOTAK(3, 10);

FOR J := 0 TO 5 DO

FOR I := 1 TO 4 DO

TULIS(J * 4 + I, CSTR(J * 8 + I + 3));

GOTOXY (5, 15);

WRITE(‘APAKAH ANGKA YANG ANDA PILIH’,

‘ ADA PADA DERETAN ANGKA DI ATAS (Y/T) ‘);

REPEAT

YT := READKEY;

UNTIL YT IN ['y', 'Y', 't', 'T'];

IF UPCASE(YT) = ‘Y’ THEN

NILAI := NILAI +  4;

WIZARD4;

{===============================}

END;

PROCEDURE WIZARD2;

BEGIN

BIKIN_KOTAK(3, 10);

J:=0;

FOR J := 0 TO 12 DO

FOR I := 1 TO 2 DO

TULIS(J * 2 + I, CSTR(J * 4 + I + 1));

 

GOTOXY (5, 15);

WRITE(‘APAKAH ANGKA YANG ANDA PILIH’,

‘ ADA PADA DERETAN ANGKA DI ATAS (Y/T) ‘);

REPEAT

YT := READKEY;

UNTIL YT IN ['y', 'Y', 't', 'T', #27];

IF UPCASE(YT) = ‘Y’ THEN

NILAI := NILAI +  2;

WIZARD3;

{===============================}

END;

PROCEDURE WIZARD1;

BEGIN

BIKIN_KOTAK(3, 10);

L:= 1;

REPEAT

TULIS ((L + 1) DIV 2,CSTR(L));

L:= L + 2;

UNTIL L > 50;

GOTOXY (5, 15);

WRITE(‘APAKAH ANGKA YANG ANDA PILIH’,

‘ ADA PADA DERETAN ANGKA DI ATAS (Y/T) ‘);

REPEAT

YT := READKEY;

UNTIL YT IN ['y', 'Y', 't', 'T', #27];

IF UPCASE(YT) = ‘Y’ THEN

NILAI := 1;

WIZARD2;

{===============================}

END;

 

PROCEDURE TULIS_NOMOR;

BEGIN

BIKIN_KOTAK(5, 10);

FOR K:= 1 TO 50 DO

TULIS(K, CSTR(K));

GOTOXY(1, 20);

WRITE (‘PILIH SEBUAH ANGKA, ‘,

‘TEKAN: Y, KALO MAU TERUS! ‘);

WRITE (‘TEKAN ESC UNTUK KELUAR ‘);

REPEAT

YT := READKEY;

IF UPCASE(YT) = ‘Y’ THEN

BEGIN

NILAI := 0;

WIZARD1;

END;

UNTIL YT IN ['y', 'Y', 't', 'T', #27];

{===============================}

END;

 

(* Program Utama *)

BEGIN

CLRSCR;

TEXTATTR := $1F;

REPEAT

TULIS_NOMOR;

UNTIL YT = #27;

END.

 

 

 

Tampilan program adalah sebagai berikut:

 

Tampilan pertama:

Pada wizard ini pemain diminta memilih sebuah angka, tanpa perlu ditunjuk atau disebutkan, kemudian tekan tombol Y pada keyboard.

 

 

Pada   wizard   ini,   pemain   mengamati   angka-angka   yang   ditampilkan,   jika   angka   yang dipilih (pada wizard sebelumnya) ada pada deretan, tekan tombol Y, jika tidak ada tekan tombol T.

Tampilan dan penggunaan wizard-wizard selanjutnya sama seperti wizard di atas.

 

February 1, 2012 at 2:51 pm by oris
Category: makalah
Tags: , , ,