Pemrograman Pascal
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.
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.
prosedur dan fungsi menarik yang bisa anda coba dan terapkan dalam pemograman Pascal, yaitu:
1. Fungsi-fungsi String2. 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 III
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.
No comments:
Post a Comment