TIK 2007 SMU N 3 Surakarta
Sapta KB
PASCAL Mengenal Komponen-komponen Bahasa Pemrograman Pascal Berikut ini adalah struktur umum dari komponen-komponen program Pascal.
program ...; { judul program }
Judul Program
uses ...; { deklarasi uses } label ...; { deklarasi label } const ...; { deklarasi konstanta } type ...; { deklarasi tipe } var ...; { deklarasi variabel } procedure ...; { deklarasi prosedur } function ...; { deklarasi fungsi }
Bagian Deklarasi
begin statement; { pernyataan } end.
Bagian Utama Program
Judul program (programe heading) menentukan nama program dan parameter tetapi tidak harus mempunyai makna terhadap program itu sendiri. Deklarasi uses menggambarkan unit yang digunakan oleh program. Bagian Deklarasi label, constant, variable, procedure, dan functione dapat didaftar secara berturut dan diulang beberapa kali. Bagian Pernyataan menentukan pernyataan untuk dieksekusi ketika program dijalankan.
Mengoperasikan Perintah-Perintah Dasar Untuk Membuat Program Sederhana Sebelum membuat program Pascal sederhana, sebaiknya memahami terlebih dahulu pernyataanpernyataan yang memberi peran besar dalam membuat program Pascal. Pernyataan tersebut termasuk : 1. Pernyataan keluaran ke monitor melalui pernyataan Write dan Writeln. 2. Pernyataan masukan dari keyboard melalui pernyataan Read dan Readln.
Pernyataan WRITE Dapat digunakan untuk mencetak beberapa buah item ke moniter computer dengan berurutan dan secara otomatis Pascal menempatkan kursor ke sebelah kananitem terakhir. Rumus umumnya adalah : Write(item1, item2, item3, ....) Item berupa nilai angka, karakter, string, nilai boolean, variabel, dan ekspresi. Contoh : PROGRAM Menggunakan_Write; {judul program} USES {deklarasi uses} Wincrt; VAR {bagian deklarasi variabel} Angka1 : real; BEGIN {awal bagian utama program} Write(‘Ketik satu angka’); Write(‘Ketiklah angka =’,Angka1:10:0); Write(‘Kalikan dua, maka’,2*angka1:10:0); END. {akhir bagian utama program}
Kelas XII Semester I Pemrograman Pascal
1
TIK 2007 SMU N 3 Surakarta
Sapta KB
Pernyataan WRITELN Perbedaan antara WRITE dan WRITELN adalah setelah menuliskan item-item, Pascal memindahkan kursor turun satu baris ke baris berikutnya. Rumus umumnya adalah : Writeln(item1, item2, irwm3, ....) Contoh : PROGRAM Identitas_Diri; {judul program} USES WINCRT; BEGIN {awal bagian utama program} Writeln(‘Namaku Wijaya’); Writeln(‘Alamatku di Surakarta’); Writeln(‘Tempat lahir di Jatingaleh, Semarang’); Writeln(‘Ulang tahunku 18 Mei setiap tahun’); Writeln(‘Makanan favoritku bakso ikan’); Writeln(‘Pelajaran favoritku Fisika dan Komputer’); Writeln(‘Tinggi badanku 170 cm’); Writeln(‘Berat badanku 50 kg’); Writeln(‘Udah dulu ya ?’); END. {akhir bagian utama program} Perhatikan : Pada awal program, kita harus menuliskan PROGRAM diikuti judul program yaitu Identitas_Diri. Pada penulisan judul program tidak boleh menggunakan spasi dan hanya boleh menggunakan underscore ( _ ) untuk menyambung kata demi kata. Pada bagian utama program diawali dengan BEGIN dan diakhiri dengan END. Tanda titik ( . ) di sebelah kanan END harus dieberikan. Pernyataan di dalam kurung, dipisahkan oleh tanda titik-koma (;) dan ditulis dengan sistem bertakik (indentation). Tujuannya untuk memudahkan membaca program. Pernyataan Writeln digunakan untuk mencetak pernyataan yang ada di dalam tanda kurung dan memerintahkan kursor untuk pindah ke bawah. Ingat, pernyataan di dalam kurung harus diberi tanda apostrof (‘) di awal dan di akhirnya. Setiap baris program yang diketik pada editor Pascal memiliki maksud tertentu. Agar program yang dibuat dapat dipahami orang lain, tulislah komentar. Sejumlah kometar yang ditulis harus berada di dalam kurung kurawal yaitu diawali oleh { atau (* dan diakhiri dengan *)
Pernyataan READ Pernyataan Read digunakan untuk menyatakan nilai satu atau beberapa variabel. Rumus umumnya adalah READ(variabel1, variabel2,..._ Pernyataan ini mengharuskan pemakai memasukkan jawaban melalui keyboard dan mengakhiri jawaban dengan menekan tombol enter. Perhatikan contoh Program berikut :
Program Pernyatan_Masukan; {Judul Program} USES {Deklarasi uses} Wincrt; Var {bagian deklarasi variabel} Angka1,Angka2 : Real; Begin {awal bagian utama program} Write('Ketik dua angka '); Read(angka1,angka2); Writeln('Yang anda ketik adalah angka ',angka1:3:0 , ' dan angka ',angka2:3:0); Writeln('Tull nggak ?'); End. {akhir bagian utama program}
Kelas XII Semester I Pemrograman Pascal
2
TIK 2007 SMU N 3 Surakarta
Sapta KB
Pernyataan READLN Pernyataan Readln hampir sama dengan pernyataan Read. Pernyataan Readln memindahkan kursor turun satu baris ke baris berikutnya setelah diketikkkan nilai variabel yang ditanyakan oleg Pascal. Rumus umumnya : Readln(variabel1,variabel2, ...) Contoh : Program Pernyatan_Masukan; {Judul Program} USES Wincrt; Var Angka1,Sudut1 : Real; Begin {awal bagian utama program} Write('Ketiklah sembarang angka '); Writeln(' '); Readln(angka1); Writeln('Yang anda ketik adalah angka = ',angka1:5:0); Writeln('Dikuadratkan menjadi = ',sqr(angka1):5:0); Writeln(' '); Write('Sekarang ketiklah sembarang sudut '); Readln(sudut1); Writeln(' '); Writeln('Yang anda ketik adalah sudut = ',sudut1:5:0); Writeln('Sinus sudut',sudut1:5:0,' adalah ',sin(sudut1/(180/pi)):0:2); Writeln('Cosinus sudut',sudut1:5:0,' adalah ',cos(sudut1/(180/pi)):0:2); Writeln('Tull nggak ?'); End. {akhir bagian utama program}
Kelas XII Semester I Pemrograman Pascal
3
TIK 2007 SMU N 3 Surakarta
Sapta KB
Mengenal Tipe Data dan Operator Pascal mengenal tipe data Integer, Boolean, Char, Real, dan String. Tipe data interger, Boolean, dan Char termasuk data ordinal karena data ini memiliki nilai-nilai dengan urutan tertentu. Tipe Jangkauan Nilai Ukuran Memory Byte 0 – 255 1 byte Word 0 – 65535 2 byte Shortint -128 s.d. 127 1 byte Smallint -32768 s.d. 32767 2 byte Interger -2147483648 s.d. 2147483647 4 byte Cardinal 0 s.d. 2147483647 4 byte Longint -2147483648 s.d. 2147483647 4 byte Boolean, merupakan tipe data yang hanya memiliki dua nilai, yaitu TRUE dan FALSE. Tipe Jangkauan Nilai Ukuran Memory Boolean Berukuran byte 1 byte Bytebool Berukuran byte 1 byte Bool Berukuran word 2 byte Wordbool Berukuran word 2 byte Longbool Berukuran double 4 byte Char atau Karakter, merupakan tipe data yang berhubungan dengan karakter (huruf, angka, symbol yang memiliki kode ASCII 0 sampai 255. Karakter dapat ditulis seperti biasa tetapi harus diapit oleh apostrof (‘) atau dalam bentuk kode ASCII tetapi didahului oleh tanda #. Tipe Ukuran Memory Karakter yang dapat disimpan ANSIChar 1 byte Satu karakter ANSI Word 2 byte Satu karakter Unicode Shortint 1 byte Indentik dengan ANSIChar Real, merupakan tipe data yagn berhubungan dengan bilangan real. Tipe data ini dapat dikenali sebagai data real jika ditulis dengan satu titik desimal misalnya 6.65 atau dengan bentuk eksponensial misalnya 6.65 x 1031 atau 6.65 x 10-31. Tipe Jangkauan Nilai Ukuran Memory -39 38 Real ± 2,9 x 10 s.d ± 1,7 x 10 2 byte -45 38 Single ± 1,5 x 10 s.d ± 3,4 x 10 4 byte -324 Double ± 5,0 x 10 s.d ± 1,7 x 10308 8 byte -4951 4239 Extended ± 3,6 x 10 s.d ± 1,1 x 10 10 byte -63 63 Comp. - 2 + 1 s.d ± 2 - 1 64 byte integer - 922337203685477.5808 s.d. Currency 64 byte integer - 922337203685477.5807 String, tipe data ini merupakan pengembangan dari tipe char. Sebuah string dapat terdiri dari deretan karakter. Terdapat empat jenis string. Perhatikan tabel berikut. Elemen yang dapat Tipe Panjang String terbesar disimpan Shortstring 255 karakter Ansichar Ansistring (231 karakter (± 3 GB) Ansichar Widestring (230 karakter (± 1,5 GB) Widechar String 255 karakter (± 3 GB) Ansichar Penulisan String dalam pascal selalu diawali dan diakhiri tanda apostrof (’). Perhatikan contoh berikut. : 3012 termasuk integer atau longint 3012. termasuk real (ada titik dibelakang angka 2) Kelas XII Semester I Pemrograman Pascal
4
TIK 2007 SMU N 3 Surakarta
Sapta KB
4.5625 termasuk real 6E33 termasuk real 5644 termasuk longint True termasuk boolean ‘SY’ termasuk char atau string ‘Zul1309’ termasuk string #68 termasuk char ‘ ‘ termasuk string nul karena tidak ada karakter yang diapit oleh apostrof ‘Met-ultah’ termasuk char
Identifier Perhatikan, pada saat menulis judul program, variable, konstanta, prosedur, fungsi dan lainnya harus diberi nama yang sering disebut dengan Identifier. Identifier ini dapat berupa kombinasi huruf, angka dan garis bawah (undescore) yang diawali oleh huruf abjad dan tidak boleh ada spasi (sebagai gantinya digunakan garis bawah), dan paling banyak mengandung 64 karakte. Perhatikan contoh berikut Menghitung_Arus_Listrik (benar) Relativitas Atom (salah, ada spasi) Komputer_Optik (benar) 5_Akar_Dari (salah, diawali angka) Kata kunci (reserved word) seperti writeln, read, readln, write, clrscr, wincrt tidak boleh digunakan sebagai identifier.
Variabel dan deklarasi variabel Data yang selalu berubah-ubah nilainya disimpan dalam memory yang dikenal dengan nama VARIABEL. Semua variabel yang ada harus dideklarasikan terlebih dahulu di awal program setelah judul program dan sebelum bagian utama program. Deklarasi variable diawali denga VAR dan diikuti oleh identifier variable yang ditulis dengan tanda titik kembar (:) kemudian jenis variabelnya. Jadi data yang dimasukkan harus sesuai dengan jenis variabelnya.
PROGRAM Program)
Menghitung_Volume_Balok;
(Judul
PROGRAM Program)
Menghitung_Volume_Balok;
USES Wincrt;
(deklarasi uses)
USES Wincrt;
VAR Panjang : real; Lebar : real ; Tinggi : real; Volume : real;
( bagian deklarasi variabel)
VAR ( bagian deklarasi variabel) Panjang , Lebar, Tinggi, Volume : real;
BEGIN (awal bagian utama program) Panjang := 10; Lebar := 5; Tinggi := 3; Volume := panjang*lebar*tinggi; Writeln(‘Volume Balok = “, volume); END. (akhir bagian utama program)
(Judul
(deklarasi uses)
BEGIN (awal bagian utama program) Panjang := 10; Lebar := 5; Tinggi := 3; Volume := panjang*lebar*tinggi; Writeln(‘Volume Balok = “, volume); END. (akhir bagian utama program)
Karena terdapat jenis variabel yang sama (real) untuk data yang berbeda ( panjang, lebar, tinggi, volume) maka program dapat disederhanakan OPERATOR adalah simbol-simbol atau kata-kata yang dibunakan untuk melaksanakan operasi terhadap data dan variabel Gabungan antara variabel, data dan operator sering disebut sebaga EKSPRESI. Sebenarnya ekpresi ini menyatakan cara menghitung data atau variabel baru dari sejumlah data dan variabel Kelas XII Semester I Pemrograman Pascal
5
TIK 2007 SMU N 3 Surakarta
Sapta KB
yang sudah ada. Hasil perhitungan ekspresi akan disimpan didalam variabel. Untuk memasukkan data ke variabel, gunakan operator := (tidak boleh ada spasi antara : dan =)
Konstanta dan Deklarasi Konstanta Konstanta merupakan data yang memiliki nilai tetap yang dapat berupa angka, karakter, string, true/ false, char dan lainnya. Deklarasi konstanta diawali dengan CONST. Antara konstanta dengan identifier dipisahkan oleh tanda sama dengan ( = ) CONST Phi = 3.14; Harga_pisang = 500; Dll. Contoh program menggunakan konstanta USES Wincrt; CONST phi = 3.14; jejari = 7; BEGIN Writeln ('Phi = ', phi); Writeln ('Jari-jari = ', jejari, ' cm'); Writeln ('Luas lingkaran = ', phi*jejari*jejari, 'cm2'); END.
Membuat program untuk Operasi Logika Sebuah program seringkali harus mengerjakan sejumlah pernyataan jika suatu kondisi syarat harus dipenuhi dan mengerjakan sejumlah pernyataan lain jika kondisi atau syarat tidak dipenuhi. Untuk menanggapi masalah ini Pascal menggunakan empat pernyataan bersyarat, yaitu : IF – THEN, IF – THEN .. ELSE, CASE – OF DAN CASE – OF .. ELSE
Pernyataan IF -THEN Adalah perintah untuk mengadakan perbandingan. Bentuk umum : IF perbandingan dipenuhi THEN lakukan ini atau IF perbandingan dipenuhi THEN lakukan ini ELSE jika tidak atau IF perbandingan dipenuhi THEN Begin Lakukan sekelompok instuksi End; Atau IF perbandingan dipenuhi THEN Begin Lakukan sekelompok instuksi End {tidak boleh titik komma} ELSE Begin Lakukan instuksi ini End;
Kelas XII Semester I Pemrograman Pascal
6
TIK 2007 SMU N 3 Surakarta
Sapta KB
Contoh : Program Menggunakan_IF_THEN_ELSE; {Judul Program} USES {Deklarasi uses} Wincrt; Var nilai
{gabian deklasari variabel} : Real;
Begin {awal bagian utama program} Write('Nilai TIK = '); Readln(nilai); Writeln(' '); {menyeleksi nilai TIK yang diperoleh, Remedial atau tidak} IF nilai>65 THEN Writeln('Anda LULUS ') ELSE Writeln('Kacian dech lu harus mengikuti REMEDIAL'); End. {akhir bagian utama program}
Pernyataan CASE .. OF .. ELSE .. END Perintah untuk memilih sekelompok data rogram Menggunakan_CASE_OF_ELSE_END; {Judul Program} USES {Deklarasi uses} Wincrt; Var kar
{bagian deklasari variabel} : Char;
Begin {awal bagian utama program} Clrscr; Writeln('Tekan Sembarang Tombol !!!'); kar:=readkey; Case kar OF 'A'..'Z', 'a'..'z':Writeln ('Anda telah menekan huruf ',kar); '0'..'9' :Writeln('Anda telah menekan angka ',kar); '+','-','*','/' :Writeln('Anda telah menekan operator ',kar); ELSE Writeln('Anda telah menekan karakter khusus'); End; Readln; End. {akhir bagian utama program}
Membuat program dengan perulangan Pascal memiliki tiga bentuk pernyataan perulangan (looping) yaitu FOR ... TO/DOWN TO.. DO, WHILE-DO dan REPEAT-UNTIL.
Pernyataan For ... To/ Down to ... Do adalah perintah untuk membuat pengulangan (loop) sebanyak angka yang diberikan pada variabel awal dan akhir. Perintah to untuk menaik, sedang down to untuk menurun. Contoh Kelas XII Semester I Pemrograman Pascal
7
TIK 2007 SMU N 3 Surakarta
Sapta KB
Program For_Pas; USES wincrt; Var I: Integer; Begin Clrscr; For I:=1 to 3 do Writeln('Saya mencetak 3 kali'); For I:=1 to 10 do Writeln('No: ',I); For I:=50 to 55 do Begin Writeln('Naik: ',I); End; For I:=60 downto 55 do Begin Writeln('Turun: ',I); End; Readln; End.
Pernyataan While - To digunakan untuk memproses kegiatan pengulangan terhadap syarat dan akibat. (syarat) merupakan ekspresi boolean dan (akibat) merupakan satu atau beberapa pernyataan yang dieksekusi berulangkali selama (syarat) masih bernilai TRUE. Contoh : Uses wincrt; var pass1,pass2:string; Begin Clrscr; pass1:='SMUN3'; write('Masukkan password anda !!! '); While pass1<> pass2 do readln(pass2); Writeln('Password anda sudah benar.'); Writeln('Lanjutkan ...'); End.
Pernyataan For ... To/ Down to ... Do adalah Repeat..Until digunakan untuk mengulang (repeat) pernyataan sampai (until) syarat di UNTIL tidak memenuhi lagi. Contoh : Uses wincrt; var B:Byte; Begin Clrscr; B:=1; writeln('Tekan sembarang tombol untuk selesai '); writeln('sekarang tekan ENTER untuk memulai '); Readln; Repeat writeln(B); inc(b); Until Keypressed; End. Kelas XII Semester I Pemrograman Pascal
8
TIK 2007 SMU N 3 Surakarta
Sapta KB
Menggunakan Perulangan dengan memanfaatkan Sub Routine Nama lain sub routine adalah PROCEDURE. Pascal hanya mengenal Procedure dan Function. Keduanya memiliki kemampuan membagi program menjadi beberapa modul. Function merupakan modul program yang ditulis menurut aturannya untuk membantu bagian utama program. Perhatikan : - Function XkaliY(x,y : real):real; Maksudnya adalah fungsi real bernama XkaliY dengan dua parameter real yaitu x dan y. - Funtion zakat(kodewilalay:integer;gaji:real;status:char):real; Maksudnya adalaha fungsi real bernama zakat dengan, sebuah parameter integer yaitu kodewilayah sebuah parameter real yaitu gaji sebuah parameter char yaitu status. Contoh : Program Konversi_satuan_gaya; Uses wincrt; var Newton,dyne:real; Function KonversiSatuan(x:real):real; Const Faktor = 100000; { 1newton = 100000 dyne} Begin KonversiSatuan := x*Faktor End; Begin writeln('Tuliskan gaya dalam satuan Newton = '); readln(Newton); dyne:=KonversiSatuan(Newton); writeln; writeln('Gaya yang dihasilkan = ', dyne:10:0,' dyne'); Readln; End.
Procedure Di dalam Pascal, PROCEDURE memiliki nama atau judul dan diakhiri tanda titik komma. Contoh: Program Menggunakan_Procedure; Uses wincrt; Procedure Pengumuman; Begin Writeln('Pelajaran TIK untuk kelas XII'); Writeln('Pascal For Windows'); Writeln('Dimohon mengerjakan Tugas'); End; Begin Pengumuman; Writeln; Writeln('Tugas Kelompok 5 Orang'); End. Kelas XII Semester I Pemrograman Pascal
9