Anda di halaman 1dari 23

BAB II STRUKTUR BAHASA PEMROGRAMAN PASCAL A.

Tujuan

Pada bab ini akan dibahas mengenai bahasa pemrograman pascal. Sejarah tentang bahasa pascal dan struktur pemrogaman pascal. Bab ini juga akan membahas dasar-dasar membuat program dengan turbo pascal sebagai bahasa pemrograman yang digunakan dalam buku ini. Pada akhir pembahasan, diharapkan pembaca dapat memahami struktur penulisan bahasa pemrograman pascal dan bagaimana membuat sebuah program sederhana dengan menggunakan turbo pascal. B. Pendahuluan

Bahasa pemrograman pascal dirancang oleh niklaus wirth pascal pada tahun 1970. Turbo pascal merupakan salah satu bahasa pemrograman pascal yang dikembangkan oleh Borland International. Bahasa pascal adalah bahasa pemrograman tigkat tinggi dan merupakan bahasa pemrograman terstruktur. Program tersusun atas komponen-komponen terpisah dalam bagian-bagian tertentu. C. Komponen Program

Sebagaimana telah disinggung pada bagian sebelumnya, program dalam bahasa pascal tersusun atas komponen-komponen program. Komponen-komponen didalam program tersebut adalah kepala program, bagian deklarasi dan bagian pernyataan atau program utama. Sruktur dari komponen program pascal adalah sebagai berikut:

Program nama_program; {bagian kepala} [ deklarasi unit ] [ deklarasi konstanta ] [ deklarasi tipe data ] Bagian Deklarasi [ deklarasi variabel ] [ deklarasi subprogram ] begin pernyataan 1; pernyataan 2; end;

Bagian pernyatan / program utama

Struktur komponen program diatas akan dijelaskan lebih detail pada bagian selanjutnya.

11

1. Kepala Program Kepala program didalam pascal umumnya berisi nama dari program yang bersangkutan. Kepala program diawali dengan kata PROGRAM yang diikuti dengan nama program. Sebagai contoh sebuah program untuk menghitung luas persegi panjang, kepala program dapat ditulis sebagai berikut:
PROGRAM Menghitung_luas_PP;

Nama program tidak terikat dengan apa harus ditulis tetapi ada beberapa hal yang harus diperhatikan dalam menuliskan nama program. Ketentuan-ketentuan dalam menuliskan nama program adalah sebagai berikut: - Nama program adalah satu kesatuan sehingga nama program tidak boleh lebih dari dua kata yang dipisahkan dengan spasi. Apabila nama program lebih dari dua kata maka sebaiknya digabungkan dengan menghilangkan spasi atau menggantinya dengan tanda underscore ( _ ). - Nama program tidak dapat diawali dengan angka. - Nama program tidak boleh mengandung karakter bukan huruf kecuali underscore ( _ ). 2. Bagian Deklarasi Seperti yang telah digambakan pada bagian struktur program pascal, bagian deklarasi terdiri atas deklarasi unit, deklarasi konstanta dan lain sebagainya. a. Deklarasi Unit Perintah-perintah didalam pascal sebagian besar tersimpan dalam sebuah file unit. Sebagai contoh ketika didalam program utama terdapat perintah untuk membersihkan layar dengan statemen clrscr; maka definisi dari clrscr ini terdapat dalam sebuah file unit yang disebut crt. Pascal tidak akan memahami perintah tersebut apabila dibagian deklarasi unit tidak disebutkan file unit yang direferensi yaitu unit crt. Berdasarkan ilustrasi diatas, deklarasi unit digunakan untuk menuliskan unitunit file yang berisi definisi dari perintah-perintah yang dipakai didalam program utama. Deklarasi unit dilakukan dengan menuliskan statemen USES yang diikuti dengan nama unit yang disertakan. Contoh deklarasi unit adalah sebagai berikut:
Uses Wincrt;

Deklarasi unit yang terdiri dari dua file unit atau lebih, penulisannya dilakukan setelah klausa USES diikuti dengan nama-nama file unit yang dipisahkan denga tanda koma (,) kemudian diakhiri dengan tanda titik koma (;). Contoh penulisan unit yang lebih dari satu file adalah sebagai berikut:
Uses Wincrt,WinDos;

Daftar file unit yang dapat digunakan untuk menuliskan program terdapat pada tabel berikut ini. Tabel 2. Daftar file uni didalam pascal 12

Nama Unit Crt Wincrt Dos WinDos Printer Graph System

Keterangan Berisi rutin yang berkaitan dengan layar, keyboard, dan suara. Unit ini ada pada pascal untuk dos. Hampir sama dengan unit crt tetapi digunakan untuk pascal for windows. Unit yang berisi rutin yang digunakan untuk operasi terhadap system operasi dan penanganan dos. Hampir sama dengan unit dos tetapi digunakan dalam pascal for windows. Berisi fasilitas untuk melakukan operasi yang berkaitan dengan pencetakan data melalui printer. Berisi rutin yang digunakan untuk melakukan operasi berkaitan dengan grafis. Berisi sejumlah pustaka yang digunakan saat eksekusi (runtime library). Rutime berisi hal-hal berikut: - penanganan input / output file - penanganan string - alokasi dinamis

Selain unit yang telah disebutkan diatas, masih terdapat beberapa unit yang lain. b. Deklarasi konstanta Konstanta adalah sebuah nilai tetapan yang tidak berubah. Salah satu contoh yang dapat dijadikan sebagai sebuah konstanta adalah nilai phi untuk menghitung luas lingkaran. Konstanta yang akan digunakan didalam sebuah program harus terlebih dahulu didefinisikan pada bagian deklarasi konstanta. Cara mendeklarasikan sebuah konstanta, digunakan sebuah klausa CONST dan diikuti dengan nama konstanta beserta dengan nilai tetapannya. Contoh sebuah deklarasi konstanta adalah sebagai berikut:
Const phi=3.14;

Nama konstanta diberikan oleh pemrogram. Untuk mendeklarasikan konstanta yang lebih dari satu maka dapat dituliskan dengan menambahkan konstanta berikutnya setelah sebuah konstanta dideklarasikan dan diakhiri dengan tanda titik koma (;).
Const phi=3.14; Huruf:char=A;

Pada contoh diatas terdapat dua jenis konstanta. Konstanta yang pertama adalah konstanta yang nilai tetapannya tidak dapat diubah didalam program. Pada konstanta yang kedua, nilai tetapan awal adalah huruf A, nilai ini dapat diubah pada program utama.

13

c. Deklarasi Tipe data Terdapat dua kelompok tipe data yang dibedakan secara mendasar yaitu tipe data yang sudah ada di mengerti oleh bahasa pemograman pascal dan tipe data bentukan. Tipe data bentukan adalah tipe data yang didefinisikan oleh seorang pemrogram. Untuk mendeklarasikan sebuah tipe data, digunakan klausa TYPE kemudian diikuti dengan nama tipe data bentukan serta tipe data asli. Contoh deklarasi sebuah tipe data adalah sebagai berikut:
Type status : Boolean;

Dalam contoh diatas, tipe data bentukan dengan nama status bertipe boolean. Tipe status tersebut dapat digunakan oleh variabel yang akan di deklarasikan pada bagian deklarasi variabel d. Deklarasi Variabel Variabel adalah sebuah perubah yang dapat digunakan untuk menyimpan data. Variabel juga dapat diperlakukan sebagaimana data atau nilai yaitu dengan operasi-operasi aritmatika maupun operasi logika. Setiap variabel yang akan digunakan untuk menyimpan data, akan ditentukan tipenya. Sebuah veriabel yang bertipe data numeric tidak akan dapat digunakan untuk menyimpan data huruf. Beberapa tipe data yang sangat umum digunakan adalah integer, real, char, dan string. Deklarasi sebuah variabel dilakukan dengan menuliskan klausa VAR kemudian diikuti dengan tipe data yang digunakan. Sebagai contoh sebuah variabel dengan nama jumlah dengan tipe bilangan bulat maka dapat dituliskan sebagai berikut:
Var jumlah:integer;

Tipe data pada variabel juga dapat menggunakan tipe data bentukan yang deklarasikan oleh pemrogram pada bagian deklarasi tipe data. Contoh:
Type status:Boolean; Var jumlah:integer; Chek:status;

e. Deklarasi subprogram Deklarasi subprogram adalah mendeklarasikan bagian program yang disebut dengan procedure dan function. Procedure dan function merupakan bagian dari program yang memiliki fungsi untuk menyelesaikan tugas tertentu yang menjadi bagian dari program. Secara detail procedure dan function akan dibahas dalam bab tersendiri. Untuk mendeklarasikan procedure dapat digunakan klausa PROCEDURE kemudian diikuti dengan nama procedure sedangkan untuk mendeklarasikan 14

function digunalan klausa FUNCTION kemudian diikuti dengan nama function. Setelah mendeklarasikan nama procedure ataupun nama function, berikutnya akan diikuti oleh bagian procedure atau function yang diawali dengan pernyataan BEGIN dan diakhiri pernyataan END;. Contoh penulisan procedure dan function adalah sebagai berikut:
Procedure bacainput(nilai:integer); Begin . . . End; Function jumlah(nilai1:integer; nilai2:integer):integer; Begin . . . End;

3. Bagian Pernyataan / Program utama Bagian program utama adalah bagian yang berisi langkah-langah dalam program. Statemen-statemen yang ada pada program utama adalah statemen untuk input pogram, proses, dan output program. Didalam program utama juga dapat dilakukan pemanggilan procedure dan function yang telah dedeklarasikan sebelumnya. Penulisan statemen pada program utama terletak diantara klausa BEGIN dan END. 4. Komentar Program Komentar program merupakan tulisan-tulisan yang berfungsi untuk memberikan keterangan pada program atau instruksi-instruksi yang ada di dalam program. Komentar program ini tidak akan diekseksi oleh program. Cara penulisan komentar adalah dengan memberikan tanda kurung kurawal buka dan tutup ({})pada awal komentar dan akhir komentar. D. Perintah Input/Output

Perintah input digunakan untuk membaca masukan data pada sebuah program. Data dapat berasal dari sebuah file atau dimasukan langsung melalui keyboard. Perintah input ini dinyatakan dengan klausa READ atau READLN. Perintah READ adalah perintah membaca masukan data dari user setelah user menekan tombol enter. Sedangkan perintah READLN adalah perintah untuk membaca input data dari user setelah user menekan tombol enter pada keybord kemudian memindah posisi kursor pada baris baru. Perintah yang lain, yaitu perintah untuk menampilkan suatu output pada layar monitor dengan menggunakan perintah WRITE dan WRITELN. Perintah WRITE digunakan untuk menampilkan output pada layar monitor, sedangkan perintah WRITELN sama dengan perintah write, hanya saja setelah menuliskan output ke layar monitor kemudian memindah kursor keposisi baris yang baru. 15

Untuk memberikan ilustrasi yang lebih detil mengenai perintah input dan perintah output, berikut ini diberikan contoh program untuk menampilkan pesan sederhana. Program 2. Menampilkan pesan
Program pesan; Uses wincrt; Begin Write(Selamat Datang); Write(Ini Program Pertama Saya); End.

Dari contoh program diatas, terdapat dua perintah write tanpa adanya perintah untuk memindah kusor pada baris baru sehingga walaupun perintah tersebut ditulis dalam dua baris maka output yang keluar akan ada pada satu baris.
Selamat DatangIni Program Pertama Saya

Hasil tampilan output tersebut akan berbeda apabila pada perintah pertama digunakan perintah writeln (Selamat Datang);, maka output yang dihasilkan adalah penulisan kalimat yang pertama kemudian ganti baris dan dilanjutkan dengan kalimat yang kedua.
Selamat Datang Ini Program Pertama Saya

Penulisan perintah output diatas, data yang ditulis adalah data berupa string atau text sehingga dalam penulisan write atau writeln diapit dengan tanda petik (). Dalam penulisan angka, tanda petik tidak digunakan. Contoh:
Writeln(12345); Write(321);

Hasil outputnya:
12345 321

Jika diperhatikan, dalam tampilan output diatas, data ditampilkan rata kiri. Untuk dapat menampilkan data rata kanan dan dalam format area jumlah karakter tertentu, penulisan write atau writeln dapat diikuti dengan ukuran jumlah karakter. Format penulisanya adalah write(data:n), dimana n adalah ukuran jumlah karakter. Contoh:
Writeln(12345); Writeln(12345:10); Writeln(12345678:10);

16

Hasil outputnya:
12345 12345 12345678

Untuk menulisakan bilangan desimal, perintah write dan writeln dapat diikuti dengan dua buah bilangan yang menyatakan banyaknya karakter dan banyaknya karakter dibelakang koma. Format penulisannya write(data:n:m) dimana n adalah banyaknya karakter dihitung dari kiri dan m adalah banyaknya angka setelah koma. Contoh:
Writeln(12345678); Writeln(1234.765:6:2); Writeln(1234.765:5:1);

Hasil outputnya:
12345678 1234.76 1234.7

Selain perintah output, perintah yang sama pentingnya adalah perintah input. Perintah input, sebagaimana yang telah dijelaskan sebelumnya yatu berupa klausa READ dan READLN. Perintah input digunakan untuk membaca sebuah masukan data dari user baik melalui keyboard maupun melalui sebuah file. Data masukan tersebut untuk selanjutkan akan diproses oleh program. Agar data yang dimasukkan dapat poses oleh program maka data tersebut harus ditampung terlebih dahulu pada suatu perubah yang disebut dengan variabel. Secara detail pengertian mengenai variabel dan bagaimana penggunaanya akan dibahas didalam bagian tersendiri. Penggunaan perintah input didalam program sebaiknya diawali dengan perintah output yang menjelaskan suatu hal yang berkaitan dengan input tersebut. Dengan cara ini, program akan mencadi lebih interaktif. Untuk memberikan ilustrasi yang baik terhadap penggunaan perintah input dan output, berikut ini akan diberikan beberapa contoh program yang menyertakan kedua perintah tersebut. Program 3. Menghitung luas persegi panjang 1
Program luas_pp1; Uses wincrt; Var panjang,lebar:integer; Luas:integer; Begin Readln(panjang); Readln(lebar); Luas:=panjang * lebar; Writeln(luas); End.

Hasil Output:
4 5 20

17

Pada program diatas, ketika dijalankan program akan langsung meminta input dengan tampilan layar kosong dan hanya terdapat kursor aktif. Pengguna yang menjalankan ini kemungkinan besar tidak akan mengerti dengan maksud program. Perbedaan terlihat jika program yang dibangun seperti pada contoh berikut ini. Program 4. Menghitung luas persegi panjang 2.
Program luas_pp; Uses wincrt; Var panjang,lebar:integer; Luas:integer; Begin Writeln(Progam Hitung Luas Persegi Panjang); Write(Masukan Sisi Panjang =); Readln(panjang); Write(Masukan Sisi Lebar=); Readln(lebar); Luas:=panjang * lebar; Writeln(Luas Persegi Panjang=,luas); End.

Hasil Output:
Progam Hitung Luas Persegi Panjang Masukan Sisi Panjang =4 Masukan Sisi Lebar=5 Luas Persegi Panjang=20

Pada program yang kedua, ketika dijalankan program akan menampilkan statemen yang pertama yaitu Progam Hitung Luas Persegi Panjang kemudian pada baris kedua akan muncul statemen Masukan Sisi Panjang= dan kursor aktif untuk menerima input data. Dengan demikian pengguna yang menjalankan program ini akan mengerti apa maksud dari program tersebut. E. Tipe Data

Tipe data adalah sebuah tipe atau jenis data yang mungkin untuk disimpan kedalam sebuah perubah atau variabel. Seperti yang telah dijelaskan pada bagian deklarasi variabel bahwa untuk mendeklarasikan sebuah variabel harus diikuti dengan tipe datanya. Sebagai contoh sebuah variabel dengan nama nilai dan bertipe data integer maka variabel tersebut hanya dapat menyimpan data yang berupa bilangan bulat seperti 1, 2, -3, dan lain sebagainya. Variabel tersebut tidak dapat digunakan untuk menyimpan data yang berupa bilangan desimal seperti 2.5, 4.25, dan lain sebagainya. Didalam bahasa pemrograman pascal terdapat dua macam tipe data yatu tipe data dasar dan tipe data bentukan. Tipe data dasar merupakan tipe data yang telah disediakan dan dikenali oleh program sedangkan tipe data bentukan adalah tipe data yang dibuat dan didefinisikan oleh pemrogram. 1. Tipe data Ordinal Tipe data ordinal adalah sebuah tipe data yang memiliki nilai ordinalitas pada sebuah himpunan yang berurutan (orderet set). Pada tipe data ordinal, nilai pertama memiliki nilai ordinalitas 0, berikutnya memiliki nilai ordinal 1 dan seterusnya. Khusus untuk tipe integer nilai ordinalitasnya adalah nilai integer itu sendiri.

18

Pada tipe data ordinalitas, setiap nilai memiliki nilai pendahulu kecuali pada nilai yang pertama dan memiliki nilai yang mengikutinya kecuali nilai terakhir. Standar fungsi yang digunakan untuk mengetahui nilai ordinalitas dari suatu data ordinal adalah Ord( ). Fungsi pred( ) digunakan untuk mengetahui nilai pendahulunya. Fungsi ini tidak dapat diterapkan pada nilai yang petama. Fungsi succ( ) digunkan untuk mengetahui nilai yang mengikutinya. Fungsi ini tidak dapat diterapkan pada nilai yang terakhir. Pada tipe data ordinal terdapat beberpa jenis tipe data, yaitu tipe integer, tipe char, dan tipe Boolean. a. Tipe Integer

Tipe data integer adalah tipe data yang berupa bilangan bulat. Tipe data ini tidak memiliki nilai hasil pembagian yang berupa pecahan. Dalam tipe data integer terdapat beberapa jenis yang membedakan ukurannya. Kelompok tipe data tersebut dapat dilihat ada tabel berikut ini.

Tabel 3. Tipe data integer Tipe Rentang Nilai Byte 0..125 Shorint -128 .. 127 Word O ..65535 Integer -32768..32767 longInt -2147483648..2147483647 Contoh:
Var a,b,c:integer; Begin A:=5; B:= -10; C:=A+B; Write (C); End;

Ukuran 8 bit 8 bit 16 bit 16 bit 32 bit

b.

Tipe Char

Tipe char digunakan untuk mendefinisikan sebuah himpunan karakter yang ada pada kode ASCII. Untuk menuliskan sebuah karakter didalam program dengan menyertakan tanda petik () awal dan akhir karakter tersebut. Sebagai contoh A, B, C, 0, 1, 2 dan sebagainya. Tipe data char hanya terdiri dari satu karakter dan sama dengan tipe data string[1] (tipe data string akan dibahas pada bagian tersendiri). Fungsi-fungsi yang telah dijelaskan sebelumnya dapat diterapkan pada tipe data ini. Fungsi ord( ) akan menghasilkan sebuah nilai ordnalitas dari sebuah karakter. Sebagai contoh Ord(A) akan menghasilkan nilai 65. Fungsi pred() akan menghasilkan nilai sebelumnya. Sebagai contoh pred(B) akan

19

menghasilkan karakter A. Demikian juga dengan fungsi succ( ) yang akan menghasilkan nilai sesudahnya. Sebagai contoh Succ(B) akan menghasilkan karakter C. Untuk menghasilkan sebuah nilai karakter dari suatu nilai ordinal juga dapat digunakan dengan sebuah fungsi chr( ). Sebagai contoh pada kode asci nilai 68 adalah sebuah karakter D, maka untuk memperoleh nilai D dari suatu data integer dapat dilakukan dengan perintah Chr(68). Sebagai ilustrasi yang lebh detail dapat dilihat pada contoh program berikut. Program 5. Karakter ASCII
Program karakter; Uses wincrt; Var nilai:integer; K:char; Begin Writeln(Program Cetak Karakter dari Asci); Write(Masukan nilai karakter ASCII [0-255]=); Readln(nilai); K:=chr(nilai); Write(Karakter=,K); End.

Hasil Output:
Program Cetak Karakter dari Asci Masukan nilai karakter ASCII [0-255]=68 Karakter=D

c.

Tipe Boolean

Tipe data Boolean merupakan tipe data logika dengan dua buah nilai kebenaran yaitu true dan false. Nilai true memiliki nilai biner 1 dan nilai false memiliki nilai biner 0. Contoh:
Var x:Boolean; Begin X:=true; Writeln(x); End.

Dalam contoh diatas, x adalah variabel dengan tipe Boolean. Variabel x tersebut kemudian diberikan nilai true. Tampilan dari pogram tersebut adalah menampilkan nilai true.

2. Tipe data real Tipe data real adalah tipe data bilangan yang mengandung nilai pecahan. Bilangan ini disbut dengan bilangan desimal. Penulisan data desimal tidak mengunakan tada koma (,) tetapi menggunakan tanda titik (.), sebagai contoh 2.25. 20

Sebagaimana tipe integer, didalam tipe data real juga terdapat beberapa jenis tipe data yang memiliki jangkauan yang berbeda. Kelompok tipe data tersebut dapat dilihat pada tabel berikut. Tabel 4. Tipe data real Tipe Rentang nilai Real 2.9e-39..1.7e38 Single 1.5e-45..3.4e38 Double 5.0e-324..1.7e308 Extended 3.4e-4932..1.1e4932 Comp -2E63+ 1 .. 2E63-1 Angka signifikan 11 12 7 -8 15 16 19 -20 19 -20 Byte 6 4 8 10 8

Pada rentang nilai dituliskan dalam bentuk notasi denga huruf e. notasi ini memiliki arti perkalian dengan pangkat berbasis 10. Sebagai contoh 2.3E2, bilangan ini memiliki nilai 2.3 X 102 yaitu 230. Program 6. Program Pembagian
Program pembagian; Uses wincrt; Var a,b:integer; C:real; Begin Writeln(Program Operasi Pembagian); Write(Masukan Nilai A=); Readln(a); Write(Masukan Nilai B=); Readln(b); C:=A/B; Writeln(Hasil Pembagian=,C); End.

Hasil Output:
Program Operasi Pembagian Masukan Nilai A=20 Masukan Nilai B=3 Hasil Pembagian= 6.66666666666667E+0000

Pada program diatas, user pada awalnya akan diminta untuk memasukan data bilangan bulat yang disimpan dalam variabel A. Berikutnya user akan diminta untuk memasukan sebuah bilangan bulat yang akan disimpan dalam variabel B. Program akan melakukan pembagian yang hasilnya akan disimpan dalam variabel C yang bertipe real. Terakhir program akan menampilkan output yang ada pada variabel C dengan mengguanakan notasi perkalian pangkat 10 yaitu denan huru E. Untuk mengubah tampilan ini dapat disertakan format bit signifikan. Pernyataan terakhir dapat diganti dengan perintah:
Writeln(Hasil Pembagian=,C:8:2);

3. Tipe data terstruktur

21

Tipe data terstruktur adalah tipe data yang dapat menyimpan lebih dari satu nilai. Masing-masing nilai tersebut disebut sebagai elemen yang memiliki tipe tersendiri. Struktur pembentukan tipe data ini akan menentukan karakteristik penyimpanan dan pengaksesan data. Didalam tipe data terstruktur terdapat beberapa jenis tipe data yaitu tipe string, tipe himpunan (set), tipe larik (array), tipe rekaman (record) dan tipe berkas (file). Pembahasan pada bab ini hanya akan dilakukan pada dua buah tipe data yaitu tipe data string dan tipe data himpunan. Ketiga tipe data yang lain, yaitu tipe larik, tipe rekaman, dan tipe berkas akan dibahas dalam bab tersendiri. a. Tipe String

Tipe data string adalah tipe data yang berisi kumpulan karakter. Untuk mendefinisikan tipe data string dapat diikuti dengan jumlah karakter yang dispesifikasikan. Jika jumlah karakter yang boleh disimpan tidak didefinisikan maka data yang disimpan tidak dibatasi. Untuk menspesifikasikan jumlah karakter yang dapat disimpan dalam sebuah variabel dapat dituliskan dengan tanda kurung siku ( [ ] ). Contoh:
Var S:string; A:string[10];

Jika sebuah varabel dideklarasi dengan tipe data string dan dispesifikasikan jumlah karakter yang dapat disimpan maka variabel tersebut hanya mampu menyimpan sejumlah karakter tersebut meskipun diberikan sebuah input yang jumlah karakternya lebih banyak. Pada contoh diatas, variablel hanya mampu menyimpan 10 karakter. Apabila variabel tersebut diberi input ABCDEFGHIJKLMN maka data yang akan tersimpan hanya ABCDEFGHIJ sesuai dengan jumlah yang telah ditentukan. Contoh: Program 7. Menampilkan salam
Program salam; Uses wincrt; Var nama:string[20]; Begin Writeln(Masukan nama Anda=); Readln(nama); Writeln(Selamat Datang ,Nama); End.

Hasil Output program:


Masukan nama Anda= Andi Selamat Datang Andi

b.

Tipe Himpunan

Himpunan adalah kumpulan data yang memiliki tipe yang sama. Sebagaimana pengertian himpunan di dalam matematika, himpunan adalah kumpulan objek yang memiliki karakteristik yang sama. Misalnya himpunan

22

bilangan bulat 0 sampai 10 maka himpunan tersebut adalah kumpulan nilai yang memiliki tipe yang sama yaitu 0,1,2,3,4,5,6,7,8,9, dan 10. Didalam bahasa pemrograman pascal, himpunan ditulis dengan tanda kurung siku ( [ ] ). Himpunan bilangan bulat positif dari 0 sampai dengan 10 dapat dinyatakan dengan [0,1,2,3,4,5,6,7,8,9,10]. Urutan dalam himpunan tidak mempengaruhi karakteristiknya. Dua buah himpunan dikatakan sama apabila masing-masing himpunan memiliki anggota yang sama. Himpunan [0,1,2,3,4,5,6,7,8,9,10] sama dengan himpunan [10,9,8,7,6,5,4,3,2,1,0]. Untuk mendeklarasikan sebuah tipe data himpunan digunakan perintah dengan klausa SET. Contoh:
Var X : set of 1..10; Karakter: set of char

Untk mengetahui apakah suatu data merupakan anggota dari suatu himpunan dapat digunakan perintah In. Pada program dibawah ini akan memberikan gambaran yang lebih jelas. Program 8. Program Himpunan
Program himpunan; Uses wincrt; Var x:Boolean; Y:integer; Begin Y:=5; X:=y in [1..10]; Writeln(x); End.

Dari contoh program diatas, nilai output dari program tersebut adalah true. Variabel X bernilai true karena varibael y yang berisi angka 5 adalah bagian dari bilangan dari 1 sampai 10.

4. Tipe data pointer Tipe data pointer adalah tipe data terstruktur yang dipakai pada deklarasi variabel sehingga variabel tersebut bersifat dinamis. Sebagai ilustrasi, sebuah variabel dideklarasi dengan tipe string[20] maka variabel tersebut berukuran tetap yaitu 20. Pada saat program berjalan ukuran variabel tersebut tidak akan berubah. Dengan menggunakan sebuah tipe data pointer sebagai contoh pointer char maka variabel tersebut ukuran dapat berubah sesuai dengan kebutuhan program. Deklarasi sebuah tipe data pointer digunakan sebuah perintah dengan menuliskan tanda topi (^) kemudian diikuti dengan jenis tipe data dasar. Contoh:
X : ^char;

23

Pembahasan mengenai tipe data pointer secara detail akan dijelaskan pada bab tersendiri. 5. Tipe data bentukan Tipe data bentukan adalah sebuah tipe data yang didefinsikan oleh pemrogram. Tipe data bentukan ini terdapat dua jenis taitu tipe terbilang (enumerated) dan tipe subjangkauan. a. Tipe terbilang (enumerated) Tipe terbilang adalah sebuah tipe data yang didefinisikan satu persatu. Sebagai contoh untuk mendeklarasikan sebuah tipe data hari maka semua nama hari harus disebutkan satu persatu yaitu senin, selasa, rabu, kamis, jumat, sabtu, dan minggu. Bentuk umum deklarasinya adalah pengenal = <tipe>. Pendeklarasian tipe data ini ada pada bagian deklarasi tipe sebagaimana yang telah dijelaskan pada bagian sebelumya. Contoh:
Type Hari=(minggu,senin,selasa,rabu,kamis,jumat,sabtu);

Untuk mendeklarasikan sebuah variabel yang bertipe hari dideklarasikan pada bagian deklarasi variabel. Contoh:
Var NamaHari:hari;

Variabel NamaHari yang telah dideklarasikan dengan tipe hari hanya dapat menyimpan data yang berupa nama-nama hari yang telah disebutkan pada bagian deklarasi tipe data. Contoh:
NamaHari:=senin;

b.

Tipe subjangkauan

Tipe subjangkauan adalah sebuah tipe yang menunjukkan adanya rentang nilai. Tipe subjangkauan dapat diambil dari sembarang nilai ordinal. Bentuk umum untuk menyatakan notasi ini adalah dengan sintak: Type Pengenal1=konstanta1 .. konstanta 2 Dimana: Pengenal= nama tipe subjangkauan Konstanta1=nilai yan menyatakan batas awal jangkauan. Konstanta2= nilai yang menyetakan batas akhir jangkauan. Contoh:
Type Nilai=1..100 HurufBesar=A..Z

24

Sebuah variabel yang dideklarasikan sebagai tipe data maka variabel tersebut hanya dapat menerima data yang ada didalam rentang nilai tersebut. Program berkut ini adalah program yang menyajikan tipe data sub jangkuan. Program 9. Nilai mahasiswa1.
Program nilai_mhs1; Uses wincrt; Type nilai=1 .. 100; var nilaimhs:nilai; begin writeln(Program Nilai Mahasiswa); write(Masukkan Nilai Mahasiswa=); readln(nilaimhs); writeln(Nilai mahasiswa=,nilaimhs); end.

Hasil Output Program: Program Nilai Mahasiswa Masukkan Nilai Mahasiswa=98 Nilai mahasiswa=98 Pada program diatas, nilai adalah sebuah tipe subjangkauan dengan batas awal 1 dan batas akhir 100. variabel nilaimhs yang dideklarasikan dengan tipe nilai maka variabel tersebut hanya dapat menerima masukan data yang ada diantara seubjangkauan tersebut seperti 25, 40, 80 dan lain sebagainya. Variabel tersebut tidak dapat menerima nilai diluar subjangkauan tersebu seperti 125, -5,110 dan lain sebagainya. F. Operator

Operator adalah suatu simbol yang digunakan untuk melakukan operasi terhadap data. Operasi yang dimaksud adalah memanipulasi dan mengolah data. Data dengan tipe tertentu dapat dilakukan operasi dengan operator tertentu. 1. Operator Penugasan Operator penugasan adalah operator yang digunakan untuk memberikan nilai pada suatu perubah. Sebagai contoh sebuah variabel dideklrasikan dengan tipe data integer. Untuk memberikan sebuah nilai pada variabel tersebut digunakan operator penugasan. Didalam bahasa pascal operator penugasan ini dituliskan dengan simbol titik dua dan sama dengan (:=); Contoh:
Nilai:=100; A:=10; B:=25; C:=A*B;

Dari contoh diatas dapat dilihat bahwa untuk memberikan nilai 100 pada variable nilai digunakan operator penugasan yaitu titik dua dan sama dengan (:=). Demikian juga pemberian nilai pada variabel-variabel yang lain.

25

2. Operator Aritmatika Operator aritmatika adalah operator yang digunakan untuk mengoperasikan data-data numerik. Operasi yang dilakukan adalah operasi aritmatika seperti penjumlahan, perkalian, pembagian dan lain sebagainya. Operator aritmatika memeliki beberapa simbol dengan fungsi yang berbeda-beda. Masing-masing simbol juga memiliki prioritas yang berbeda jika didalam suatu notasi terdapat lebih dari satu operator aritmatika. Simbol-simbol operator arimatika dan hierarki urutan prioritasnya dapat dilihat pada tabel berikut. Tabel 5. Operator Aritmatika Operator *,/ Div Mod +,Operasi Tanda negative Pekalian dan pembagian Pembagian integer Modulo (sisa hasil bagi) Penambahan dan pengurangan

Keterangan: Operasi tanda negatif akan memberikan nilai negasi dari nilai yang disebutkan. Contoh:
-5 + 10 = 5

Operasi div akan menghasilkan nilai pembagian dalam bilangan bulat tanpa nilai pecahan. Contoh:
8 div 3 = 2 4 div 5 = 0 15 div 3 = 5 16 div 3 = 5

Operasi mod akan menghasilkan nilai sisa hasil bagi. Contoh:


5 mod 2 = 1 3 mod 5 = 3 11 mod 5 = 1

Didalam proses operasi yang dilakukan dengan operator aritmatika, prioritas yang lebih tinggi akan dilaksananakan terlebih dahulu. Contoh:
4 + 2 * 8

Proses operasi tersebut akan dilakukan dengan perkalian terlebih dahulu kemudian dilakukan proses penjumlahan. Hasil dari operasi tersebut adalah:
= 4 + 16 = 20

Untuk memberikan prioritas operasi yang lebih tinggi terhadap operator yang berprioritas rendah agar dikerjakan lebih dulu maka perlu adanya notasi penulisan dengan tanda kurung buka dan kurung tutup. Misalnya dari notasi yang telah dicontohkan diatas apabila proses penjumlahan ingin dilakukan lebih dulu 26

dari pada proses perkalian maka notasi tersebut dapat diubah menjadi (4+2)*8 sehingga hasil yang diperoleh yaitu 8 * 8 = 64. Operator aritmatika tersebut secara keseluruhan digunakan untuk melakukan proses perhitungan data-data numerik. Hanya ada satu operastor yang digunakan untuk melakukan operasi terhadap jenis data yang lain yaitu untuk tipe string. Operator tersebut adalah penjumlahan (+) yang dapat digunakan untuk menggabungkan dua buah string. Contoh:
NamaDepan:=AGUS NamaBelakang:=SETYIAWAN NamaLengkap :=NamaDepan + NamaBelakang;

3. Operator Logika Operator logika adalah simbol-simbol yang digunakan untuk melakukan ekspresi terhadap data-data logika. Proses operasi tersebut akan menghasilkan salah sat dari dua jenis nilai kebenaran yatu TRUE dan FLASE. Simbol-simbol operator logika tersebut dapat dilihat pada tabel yang ada dibawah ini. Tabel 6. Operator Logika Operator Not Tidak And Dan Or Atau Xor Exclusive Or Keterangan

Sebagaimana operator matematika, operator logika juga memiliki urutan prioritas dalam melakukan prosesnya apabila dalam suatu pernyataan terdapat lebih dari satu operator. a. Operator Not Operasi not merupakan operasi unary yang digunakan untuk sebuah nilai Boolean tunggal dan menghasilkan nilai kebalikanya (negasi). Jika sebuah ekspresi bernilai true kemudian diberikan operator not memakai akan menghasilkan nilai baru yaitu false. Tabel 7. Nilai kebenaran Operator NOT Ekspresi Hasil Operasi NOT True False False True Contoh:
A:=true; B:=Not A;

Hasil yang ada pada variable B adalah FALSE. b. Operator And

27

Operator and dilakukan untuk dua buah ekspresi Boolean. Operator and akan menghasilkan nilai true jika kedua ekspresi tersebut memiliki nilai true. Tabel berikut menunjukan hasil operasi and pada dua buah ekspresi Boolean. Tabel 8. Nilai kebenaran Operator And Ekspresi1 Ekspresi2 Ekspresi 1 And Ekspresi2 False False False False True False True False False True True True Contoh:
A:=true; B:=false; C:=A and B

Variabel c mengandung nilai hasil operasi and yaitu false. c. Operator Or Operator Or dilakukan untuk dua buah ekspresi sebagimana operator and. Operator or akan manghasilkan nilai true apabila salah satu ekspresi bernilai true. Operator or akan menghasilkan nilai false apabila kedua ekspresi bernilai false. Tabel berikut adalah tabel kebenaran yang menunjukan hasil operasi or. Tabel 9. Nilai kebenaran Operator Or Ekspresi1 Ekspresi2 Ekspresi 1 Or Ekspresi2 False False False False True True True False True True True True Contoh:
A:=true; B:=false; C:=A or B

Variabel c mengandung nilai hasil operasi or yaitu true. d. Operator Xor (Exclusive Or) Sebagaimana operator and dan operator Or, operator Xor juga merupakan operator yang digunakan untuk dua buah ekspresi. Operator Xor akan menghasilkan nilai true jka kedua ekpresi memiliki nilai yang berbeda. Operator xor akan menghasilkan nilai false jika kedua espresi bernilai sama. Tabel 10. Nilai kebenaran Operator XOr Ekspresi1 Ekspresi2 Ekspresi 1 XOr Ekspresi2 False False False False True True True False True True True False

28

Contoh:
A:=true; B:=true; C:=A Xor B

Variabel c mengandung nilai hasil operasi xor yaitu false. 4. Operator Relasi / Perbandingan Operator relasi/perbandingan digunakan untuk membandingkan suatu data (ekspresi) dengan data (ekspresi) yang lain dan menghasilkan nilai logika (benar atau salah). Dua buah data atau ekspresi yang dibandingkan mempunyai tipe data yang sama. Tabel berikut adalah daftar simbol-simbol operator perbandingan. Tabel 11. Operator Perbandingan Operator Keterangan = Sama dengan <> Tidak sama dengan < Lebih kecil > Lebih besar <= Lebih kecil atau sama dengan >= Lebih besar atau sama dengan Operasi perbandingan akan mengasilkan nilai kebenaran true jika pernyataannya bernilai benar dan akan menghasilkan nilai false apabila pernyataannya salah. Contoh:
Tes = 5 > 4 A:=true; B:=false; C:=A=B dengan B variabel tes berisi true

Variabel

berisi

false

karena

tidak

sama

5. Operator Himpunan Operator hmpunan adalah operator yang digunakan untuk melakukan operasi terhadap data-data yang bertipe himpunan. Pada tipe data himpunan dapat diberlakukan beberapa operator yaitu interseksi, union, dan selisih. Selain operator tersebut, pada tipe data himpunan juga dapat diberlakukan operator perbandingan. Untuk memberikan gambaram yang jelas akan diberikan dua buah data himpunan yaitu:
A:= [1,2,3,4,5,6] B:= [5,6,7,8,9,10]

Operator interseksi dinyatakan dengan symbol bintang (*). Operator ini akan menghasilkan himpunan anggota yang ada pada kedua himpunan tersebut. A*B akan menghasilkan himpunan anggota interseksi yaitu [5,6]. 29

Operator union dinyatakan dengan symbol plus (+). Operator ini akan menghasilkan himpunan yang anggotaya adalah gabungan dari kedua himpunan. A + B akan menghasilkan himpunan yang anggotanya adalah gabungan dari himpunan A dan himpunan B yaitu [1,2,3,4,5,6,7,8,9,10] Operator selisih dinyatakan dengan symbol minus (-). Operator ini akan menghasilkan himpunan yang anggotanya merupakan anggota himpunan pertama tetapi bukan anggota himpunan kedua. A B akan menghasilkan himpunan yang anggotanya merupakan anggota himpunan A dan bukan anggota himpunan B yaitu [1,2,3,4]. B A akan menghasilkan himpunan [7,8,9,10]. Untuk melakukan operasi perbandingan, pada tipe data himpunan dapat diberlakukan operator perbandingan yang telah dijelaskan pada bagian sebelumnya. Selain operator tersebut masih terdapat satu operator perbandingan yang ada pada data himpunan. Operator tersebut adalah operator in. Penggunaan operator in telah dijelaskan pada bagian tipe data himpunan.

Latihan 1. Buatlah program yang untuk menampilkan output seperti dibawah ini dengan menggunakan empat buah perintah writeln dan dua buah perintah write.
Program Selamat Datang Selamat Datang Hari ini saya sedang belajar pascal Semoga berhasil

Pembahasan Perintah writeln digunakan untuk menampilkan data kemudian kursor akan berpindah pada baris baru sedangkan perintah write untuk menampilkan data tanpa memindah kursor pada baris baru. Dari tampilan diatas terlihat ada empat baris yang artinya terdapat empat kali ganti baris. Pada setiap penampilan data tiap baris dapat dipisah menjad dua bagian. Bagian pertama diguakan perintah write sehingga kursor tidak akan berpindah kebaris baru kemudian bagian kedua digunakan perintah writeln.
Program lat1; Uses wincrt; Begin Writeln(Program Selamat Datang); Write(Selamat ); Writeln(Datang); Write(Hari ini saya sedang ); Writeln(belajar pascal); Writeln(Semoga berhasil); End.

2. Buatlah program untuk melakukan penjumlah dan perkalian dua buah bilangan. Pembahasan

30

Program untuk melakukan penjumlah dan perkalian dua buah bilangan, ini berarti program akan melakukan proses penjulahan dan proses perkalian terhadap dua buah bilangan. Kedua bilangan tersebut merupakan data input dan kedua hasil proses yaitu penjumlahan dan perkalian adalah informasi yang akan ditampilkan (output).
Program lat2. Uses wincrt; Var bil1,bil2:integer; Jumlah,kali:integer; Begin Writeln(Program penjumlahan dan perkalian); Write(Bilangan 1=); Readln(bil1); Write(Bilangan 2=); Readln(bil2); Jumlah:=bil1 + bil2; Kali:=bil1*bil2; Writeln(Hasil Penjumlahan=,jumlah); Writeln(Hasil Perkalian =,kali); End.

3. Jelaskan hasil dari operasi berikut:


A:=4; B:=10; C:= 4 A * 2 + B MOD 3 D:= C + 8 DIV 4 * 2 E:= (C + 8) DIV 4 * 2

Pembahasan A memiliki nilai 4 dan B memiliki nilai 10. Notasi C:=4 A * 2 + B MOD 3, sesuai dengan aturan prioritas maka operasi yang pertama kali dilaksanakan adalah operasi perkalian yaitu A * 2, urutan berikutnya adalah operasi modulasu yaitu B Mod 3 dan urutan yang teakhir adalah penjumlahan dan pengurangan sehingga nilai yang diperoleh adalah: = 4 8 + B MOD 3 =48+1 = -3 Notasi D:= C + 8 DIV 4 * 2, sesuai dengan aturan prioritas operator aritmatika maka operasi yang dilakukan pertama adalah pembagian DIV. Selanjutnya dilakukan operasi perkalian yaitu 4 * 2 dan terkahir adalah operasi penjumlahan. Proses operasi terhadap notasi tersebut adalah sebagai berikut: D:= C + 8 DIV 4 * 2 = -3 + 2 * 2 = -3 + 4 =1 Notasi E:= (C + 8) DIV 4 * 2, sesuai dengan aturan prioritas maka operasi yang dilakukan pertama adalah yang berada didalam tanda kurung yaitu (C + 8) kemudian perasi pembagian dan operasi perkalian. Langkah-langkah proses operasi tersebut adalah sebagai berikut: E:= (C + 8) DIV 4 * 2 = (-3 + 8) DIV 4 * 2 = 5 DIV 4 * 2

31

=1*2 =2 4. Jelaskan hasil dari operasi berikut ini: X:=true; Y:=false; P:=not Y and X or Y Q:=Not Y or X and Y R:=not Y xor X or Y Q:= (Y or X) and X Pembahasan Variabel X memiliki nilai true dan varabel Y memiliki nilai false. Notasi P:=not Y and X or Y, berdasarkan urutan prioritas maka yang pertama dikerjakan adalah operasi not kemudian operasi and dan terakhir operasi or. P:=not Y and X or Y = not False and X or Y = True and True or Y = True or False = True Notasi Q:=Not Y or X and Y, berdasarkan urutan prioritas maka yang pertama dikerjakan adalah operasi not kemudian operasi and dan terakhir operasi or Q:=Not Y or X and Y = not false or X and Y = true or true and false = true or false = true Notasi R:=not Y xor X or Y, berdasarkan urutan prioritas maka yang pertama dikerjakan adalah operasi not kemudian operasi or dan terakhir operasi xor. R:=not Y xor X or Y = not false xor true or false = true xor true or false = true xor true = false Notasi Q:= (Y or X) and X, berdasarkan urutan prioritas maka yang pertama dilaksanakan adalah operasi yang berada didalam tanda kurung yaitu or kemudian operasi diluar kurung tanda kurung yaitu and. Q:= (Y or X) and X = (false or true) and true = true and true = true Soal 1. Buatlah program sederhana untuk melakukan perhitungan aritmatika dengan dua buah input dan enam buah output yaitu hasil penjumlahan, hasil pengurangan, hasil perkalian, hasil pembagian, hasil pembagian integer, dan sisa hasil bagi 2. Buatlah program untuk melakukan operasi berikut kemudian analisa hasilnya. X1:=4; X2:=10;

32

X3:=8; A := 2 * X1 + 4 2 * X2 B:= 8 + A DIV 4 * 2 C:= (B + 8) DIV 4 * 2 3. Buatlah Program untuk melakukan operasi berikut ini kemudian analisa hasilnya. X:=true; Y:=false; P:=not Y and (X xor Y) Q:=Not Y or X and P R:=not P xor Q or Y S:= (Y or X) and X or Q

33

Anda mungkin juga menyukai