Buku Pascal New

35
Pemrograman Pascal Halaman 1 BAB I DASAR PEMROGRAMAN KOMPUTER 1.1. Definisi Pemrograman Pemrograman adalah proses menulis, menguji dan memperbaiki ( debug), dan memelihara kode yang membangun sebuah program komputer . Kode ini ditulis dalam berbagai bahasa pemrograman . Tujuan dari pemrograman adalah untuk memuat suatu program yang dapat melakukan suatu perhitungan atau 'pekerjaan' sesuai dengan keinginan si pemrogram. Untuk dapat melakukan pemrograman, diperlukan keterampilan dalam algoritma , logika , bahasa pemrograman , dan di banyak kasus, pengetahuan-pengetahuan lain seperti matematika . Pemrograman adalah sebuah seni dalam menggunakan satu atau lebih algoritma yang saling berhubungan dengan menggunakan sebuah bahasa pemrograman tertentu sehingga menjadi sebuah program komputer. Bahasa pemrograman yang berbeda mendukung gaya pemrograman yang berbeda pula. Gaya pemrograman ini biasa disebut paradigma pemrograman . Apakah memprogram perangkat lunak lebih merupakan seni , ilmu , atau teknik telah lama diperdebatkan. Pemrogram yang baik biasanya mengkombinasikan tiga hal tersebut, agar dapat menciptakan program yang efisien, baik dari sisi waktu berjalan (running time), atau memori. 1.2 Bahasa Pemrograman Bahasa pemrograman, atau sering diistilahkan juga dengan bahasa komputer , adalah teknik komando/instruksi standar untuk memerintah komputer . Bahasa pemrograman ini merupakan suatu set aturan sintaks dan semantik yang dipakai untuk mendefinisikan program komputer . Bahasa ini memungkinkan seorang programmer dapat menentukan secara persis data mana yang akan diolah oleh komputer, bagaimana data ini akan disimpan/diteruskan, dan jenis langkah apa secara persis yang akan diambil dalam berbagai situasi. 1.3. Kebutuhan Pemrograman Untuk melakukan pemrograman komputer dibutuhkan beberapa hal anatara lain : a. Logika dan analisa Langkah awal yang harus dilakukan adalah mengidentifikasikan masalah antara lain tujuan dari pembuatan program, parameter-parameter yang digunakan dsb. Jika tidak menggunakan logika dan analisa yang baik maka dari awal kita sudah gagal untuk menyelesaikan masalah atau membuat sutau program. b. Algoritma

Transcript of Buku Pascal New

Page 1: Buku Pascal New

Pemrograman Pascal Halaman 1

BAB I DASAR PEMROGRAMAN KOMPUTER

1.1. Definisi Pemrograman

Pemrograman adalah proses menulis, menguji dan memperbaiki (debug), dan

memelihara kode yang membangun sebuah program komputer. Kode ini ditulis dalam

berbagai bahasa pemrograman. Tujuan dari pemrograman adalah untuk memuat

suatu program yang dapat melakukan suatu perhitungan atau 'pekerjaan' sesuai dengan keinginan si pemrogram. Untuk dapat melakukan pemrograman, diperlukan

keterampilan dalam algoritma, logika, bahasa pemrograman, dan di banyak kasus,

pengetahuan-pengetahuan lain seperti matematika.

Pemrograman adalah sebuah seni dalam menggunakan satu atau lebih

algoritma yang saling berhubungan dengan menggunakan sebuah bahasa pemrograman tertentu sehingga menjadi sebuah program komputer. Bahasa pemrograman yang berbeda mendukung gaya pemrograman yang berbeda pula. Gaya

pemrograman ini biasa disebut paradigma pemrograman.

Apakah memprogram perangkat lunak lebih merupakan seni, ilmu, atau teknik telah lama diperdebatkan. Pemrogram yang baik biasanya mengkombinasikan tiga hal tersebut, agar dapat menciptakan program yang efisien, baik dari sisi waktu berjalan (running time), atau memori.

1.2 Bahasa Pemrograman

Bahasa pemrograman, atau sering diistilahkan juga dengan bahasa komputer, adalah teknik komando/instruksi standar untuk memerintah komputer. Bahasa

pemrograman ini merupakan suatu set aturan sintaks dan semantik yang dipakai untuk

mendefinisikan program komputer. Bahasa ini memungkinkan seorang programmer

dapat menentukan secara persis data mana yang akan diolah oleh komputer,

bagaimana data ini akan disimpan/diteruskan, dan jenis langkah apa secara persis yang akan diambil dalam berbagai situasi. 1.3. Kebutuhan Pemrograman Untuk melakukan pemrograman komputer dibutuhkan beberapa hal anatara lain :

a. Logika dan analisa Langkah awal yang harus dilakukan adalah mengidentifikasikan masalah antara

lain tujuan dari pembuatan program, parameter-parameter yang digunakan dsb. Jika tidak menggunakan logika dan analisa yang baik maka dari awal kita sudah gagal untuk menyelesaikan masalah atau membuat sutau program. b. Algoritma

Page 2: Buku Pascal New

Pemrograman Pascal Halaman 2

Algoritma adalah urutan langkah-langkah logika yang menyatakan suatu tugas dalam menyelesaikan suatu masalah atau problem. Contoh : Buat algoritma untuk menentukan apakah suatu bilangan merupakan bilangan ganjil atau bilangan genap. Algoritmanya :

1. Bagi bilangan dengan bilangan 2 2. Hitung sisa hasil bagi pada langkah 1. 3. Bila sisa hasil bagi sama dengan 0 maka bilangan itu adalah bilangan genap tetapi

bila sisa hasil bagi sama dengan 1 maka bilangan itu adalah bilangan ganjil. c. Folwchart

Flowchart adalah gambaran dalam bentuk diagram alir dari algoritma-algoritma

dalam suatu program, yang menyatakan arah alur program tersebut. Berikut adalah beberapa simbol yang digunakan dalam menggambar suatu flowchart :

SIMBOL NAMA FUNGSI

TERMINATOR Permulaan/akhir program

GARIS ALIR (FLOW LINE)

Arah aliran program

PREPARATION Proses inisialisasi/pemberian

harga awal

PROSES Proses perhitungan/proses

pengolahan data

INPUT/OUTPUT

DATA Proses input/output data,

parameter, informasi

DECISION

Perbandingan pernyataan, penyeleksian data yang

memberikan pilihan untuk langkah selanjutnya

ON PAGE

CONNECTOR

Penghubung bagian-bagian flowchart yang berada pada satu

halaman

OFF PAGE

CONNECTOR

Penghubung bagian-bagian flowchart yang berada pada

halaman berbeda

Page 3: Buku Pascal New

Pemrograman Pascal Halaman 3

Contoh program membuat nasi goring yang disajikan dalam bentuk flowchart

contoh lain untuk menyelesaikan algoritma diatas. Menentukan bilangan ganjil atau genap.

Y T

begin

Bumbu, nasi ,

penggorengan,

telor

Campur nasi

dengan bumbu

dan telor

A

A

Apakah

Sudah

matang ?

Hidangkan

nasi goreng

End

Digoreng

B

B

Y

Y

T

begin

A

B= A mod 2

A

A

B = 0

Write

Genap

write

Ganjil

End

Page 4: Buku Pascal New

Pemrograman Pascal Halaman 4

d. Bahasa pemrograman

Bahasa yang digunakan adalah pascal dan akan di bahas secara detail pada bab-bab selanjutnya. Tugas

1. Disediakan dengan volume 8 liter dan diisi air hingga penuh, kemudian

disediakan gelas lain dengan volume 5 liter dan 3 liter tetapi isinya kosong. Bagaimana cara anda menghasilkan 4 liter air dari ketiga gelas tersebut! Jelaskan algoritmanya !

2. Si A mempunyai 3 roti, si B mempunyai 5 roti kemudian datang si C yang tidak punya roti dan ingin makan roti. Dan si C membayarkan 8 dolar kepada A dan B agar bias-bisa makan roti bersama. Jika roti itu terbagi dengan adil, berapa dolar yang didapat masing-masing A dan B ?

3. Buat flowchart bagaimana cara menampilkan bilangan : a. Genap dari 0 sampai dengan n masukkan b. Ganjil dari 0 sampai dengan n masukkan c. 1 -2 3 -4 5 -6 dst sejumlah n masukkan d. 2 2 4 4 2 2 4 4 dst sejumlah n masukkan

Happy Programming !

Page 5: Buku Pascal New

Pemrograman Pascal Halaman 5

BAB 2

DASAR-DASAR BAHASA PASCAL

2.1 Pengenalan : menulis, menyimpan, run, compile .

Run adalah menjalankan program yang diketik pada jendela editor. Compile

adalah mengubah bahasa pemrograman tingkat tinggi yang telah diketik ke bahasa mesin dan menyimpannya ke disk dalam bentuk Executetable program. Pada Free

Pascal proses menyimpan biasanya diarahkan ke memori atau disk. Latihan 1 Langkah- Langkah membuat dan menjalankan program :

1. Tulis potongan program dibawah (Program ini menampilkan sebuah kalimat di layar)

2. Simpan kedalam file first.pas. 3. Compile program ini . 4. Jalankan menu run. Latihan 2

1. Sekarang buat file baru seperti di bawah ini dengan nama konstant1.pas. Beikut adalah metode belajar dengan mengamati dari contoh dan memahami. Jadi tulis dulu program di bawah ini dan jalankan lalu baca penjelasan lanjut mulai dari 2.2 sampai 2.9.

{ File : first.pas }

Program kesan;

Begin

writeln(‘Pemrograman komputer menyenangkan’);

End.

{ File : konstant1.pas } Program konstan ; Const Pi = 3.1415; Var r : real ; luas : real ; Begin Write('Masukkan jari-jari lingkaran ='); Readln(r); luas := pi*r*r; Writeln('Luas lingkaran = ',luas:12:3); Readln;

End.

Page 6: Buku Pascal New

Pemrograman Pascal Halaman 6

2.2 Kerangka Program Pascal

Program Free Pascal merupakan kumpulan fungsi, prosedur dan variable.

Sebuah fungsi merupakan sekumpulan baris program yang mengerjakan tugas tertentu dan mengembalikan hasilnya. Sebuah fungsi terdiri dari sebuah nama fungsi, daftar variabel, satu blok kode yang membentuk fungsi tersebut. Sebuah blok dimulai oleh kata “begin“ , diikuti dengan beberapa statement dan diakhiri dengan kata “end.”. Setiap program Pascal diawali dengan pemanggilan tag program nama ,begin dan diakhiri dengan end. Untuk lebih jelasnya dapat dilihat kerangka utama dari program pascal berikut :

PROGRAM namaProgram (FileList); CONST { deklarasi Constant } ----- bila diperlukan TYPE { deklarasi Type } ----- bila diperlukan VAR { deklarasi Variable } ----- tempat mendaftar variabel BEGIN { Statemen yang akan dijalankan(execute) } END.

2.3 Tanda-tanda baca dalam pascal

Program Free Pascal mempunyai beberapa tanda baca dalam tata tulis

pemrogramannya. Berikut beberapa tanda baca yang ada dalam bahasa pascal berikut fungsinya :

2.4 Tipe Data

Tipe data menyatakan pola penyajian data dalam komputer: karakter, bilangan,

string, record. Dalam Pascal tipe data digolongkan menjadi 4 yaitu tipe data standart, tipe data didefinisikan oleh pemakai, tipe data terstruktur dan tipe data penunjuk. Tabel dibawah menampilkan beberapa tipe data standart dan domainnya, yang dikenal dalam Free Pascal. a. Tipe data integer Adalah tipe data yang digunakan untuk menampung seluruh angka bulat.

Page 7: Buku Pascal New

Pemrograman Pascal Halaman 7

b. Tipe data real Adalah tipe data yang digunakan untuk menampung angka pecahan atau decimal.

c. Tipe data boolean Adalah tipe data yang hanya memiliki 2 nilai yaitu true atau false. d. Tipe data char dan string Tipe data char adalah tipe data yang hanya memuat satu karakter saja. Karakter adalah seluruh tombol yang ada di keyboard selain tombol fungsi. Sedangkan tipe data string adalah tipe data yang memuat banyak karakter maksimal terdiri dari 255 karakter. Selain tipe data diatas free pascal juga menyediakan banyak tipe data lain yang tidak dapat tertuangkan dalam buku ini. 2.5 Variable

Variabel adalah penampung data yang isinya dapat diubah-ubah didalam program.

Data yang dapat disimpan adalah data sesuai dengan tipenya. Nama variabel terdiri dari huruf, angka dan garis bawah, dan hanya dapat didahului oleh huruf atau garis bawah, dengan ketentuan: a) Nama variabel tidak dapat disela dengan spasi. b) Tidak dapat menggunakan reseved words.

Page 8: Buku Pascal New

Pemrograman Pascal Halaman 8

c) Huruf besar dan huruf kecil sama saja. d) Panjang variabel yang dianggap/dikenal hanya 63 karakter pertama a. Deklarasi Variable

Sebelum bisa digunakan maka variable harus dideklarasikan terlebih dahulu. Pendeklarasian berarti memesan ruang di memori dan menyatakan tipe data yang bisa disimpannya.

Bentuk umum : Var daftar_variabel : tipe_data; Contoh : Var inc1,bil1 : integer; flag1 : char; nama : array[1..10] of char; b. Pemberian nilai ke Variable

Pemberian nilai hanya bisa dilakukan setelah sebuah variable dideklarasikan. Bentuk umum : variabel := nilai; Contoh : inc1: = 0; bil1 := 10; 2.6. Konstanta

Konstanta berbeda dengan variable, dimana isi dari konstanta tidak bisa diubah

dengan cara pemberian (assignment) nilai. Bentuk umum : const variabel=nilai; Contoh const pi = 3.14; ch1 = 'A'; 2.7. Menampilkan Data dengan write dan writeln.

Perintah write/writeln adalah perintah untuk mencetak data ke layar. Perbedaan dari

keduanya adalah perintah write digunakan untuk mencetak data ke layar tanpa berganti baris setelahnya. Sedangkan perintah writeln digunakan untuk mencetak data ke layar dengan berganti baris setelahnya.

Adapun bentuk penulisannya : Write(‟tulisan‟); Write(variable);

Page 9: Buku Pascal New

Pemrograman Pascal Halaman 9

Jika yang ingin dicetak hanya tulisan biasa maka diberi tanda petik (‟ ‟) tapi jika yang

ingin dicetak adalah nilai dari suatu variabel maka tidak perlu diberi tanda petik (‟ ‟). Write dan writeln punya kekhususan pada penulisan tipe data real misal pada contoh

diatas :

Writeln(’Luas lingkaran = ’,luas:12:3);

Perintah diatas maksudnya akan menampilkan nilai dari variabel luas dengan 12

angka di depan koma dan 3 angka di belakang koma. Jika ada angka 0 di depan nilai tidak dianggap atau tidak dituliskan sehingga dengan kata lain jika 12 kita ganti dengan angka lain tidak ada bedanya. Jadi yang berpengaruh hanya angka dibelakang koma. Tapi tetap saja penulisannya harus seperti diatas. Sekali lagi kekhususan ini hanya untuk kumpulan variabel beritpe data real.

Untuk mencetak pada posisi x,y layar, digunakan perintah GOTOXY baru setelah itu

digunakan perintah write. Untuk dapat menggunakan perintah ini program harus melibatkan unit standar Crt. (Diberi tulisan uses crt; dibawah tulisan program). Bentuk Umum Gotoxy(Xpos, Ypos);

2.8. Menerima Masukan dengan read dan readln.

Prosedur read dapat digunakan untuk menerima masukan dari keyboard. Tiap-

tiap data yang dimasukkan harus sesuai dengan tipe variabelnya. Prosedur readln untuk memasukkan data perbaris, artinya setelah ditekan maka akan ganti baris, sedangkan prosedur read tidak.

Bentuk Umum read (nama_variabel); Contoh: read(bil1); readln(bil1); Namun pada umunya antara read dan readln tidak ada bedanya jika yang dibaca satu nilai tapi apabila membaca nilai lebih dari satu dilakukan bersamaan maka akan terlihat beda read dan readln. Tugas

1. Sebutkan syarat-syarat penulisan variabel ! 2. Jika dalam sebuah program masukan yang diinginkan adalah nama orang maka tipe data apa yang digunakan untuk membacanya ? jelaskan alasannya ! 3. Sekarang pahami program di latihan 2 dengan seksama lalu cobalah membuat sendiri program menghitung luas lingkaran tanpa melihat program yang ada sebelumnya!

Page 10: Buku Pascal New

Pemrograman Pascal Halaman 10

BAB 3 OPERATOR

Operator merupakan simbol atau kata yang digunakan untuk operasi dan

manipulasi data dalam. Dalam bahasa Pascal Operator dikelompokkan ke dalam 9 kategori.

3.1. Operator Assignment.

Merupakan operator yang berfungsi untuk memberikan suatu nilai ke sebuah variabel. Bentuk umum

Variabel := 50,75; 3.2. Operator Binary.

Merupakan operator yang berfungsi untuk mengoperasikan dua operand.

Operand dapat berupa konstanta ataupun variabel. Digunakan untuk operasi arithmatika.

Latihan 1

3.3 Operator Bit.

Merupakan operator yang berfungsi untuk operasi bit per bit pada nilai integer.

{ File : opr_binary.pas }

Program binary;

Begin

writeln(' 5 + 3 = ',5+3);

writeln(' 3 - 5 = ',3-5);

writeln(' 5 * 3 = ',5*3);

writeln(' 5 / 3 = ',5/3);

writeln(' 5 Div 3 = ',5 div 3);

writeln(' 5 mod 3 = ',5 mod 3);

readln;

End.

Page 11: Buku Pascal New

Pemrograman Pascal Halaman 11

Latihan 2

Penjelasan latihan 2

1. Perintah not mempunyai rumus sbb :

Not(a) = (-a) -1

2. Untuk mengetahui hasil operasi or perlu terlebih dahulu mengetahui bilangan

basis. Misal : Basis 2 dari 1 = 1 Basis 2 dari 2 =10 Jika dioeparsikan dalam or adalah sebagai berikut : 1 = 01 2 = 10 --- or 11 Basis 10 dari 11 adalah 3 Tabel kebenaran or

A B A or B

0 0 0

0 1 1

1 0 1

1 1 1

3. Sama seperti or, Jika dioeparsikan dalam and adalah sebagai berikut : 1 = 01 2 = 10 --- and 00

{ File : opr_bit.pas }

Program opr_bit;

Begin

Writeln('not 0 =',not 0);

Writeln('not 8 =',not 8);

Writeln('1 or 2 =',1 or 2);

Writeln('1 and 2 =',1 and 2);

End.

Page 12: Buku Pascal New

Pemrograman Pascal Halaman 12

Basis 10 dari 0 adalah 0 Tabel kebenaran and

A B A and B

0 0 0

0 1 0

1 0 0

1 1 1

3.4 Operator Relasi.

Merupakan operator yang berfungsi untuk membandingkan hubungan antara

dua buah operand dan akan didapatkan hasil tipe boolean, yaitu true atau false.

3.5 Operator Logika

Terdapat 4 buah operator logika , yaitu Not, And, Or dan Xor. Bentuk operator ini

sama dengan operator bit, namun penggunaannya lain. Operator ini bekerja dengan nilai-nilai logika, yaitu true dan false. Tabel Kebenaran Operator Logika.

Page 13: Buku Pascal New

Pemrograman Pascal Halaman 13

Latihan 3

3.6 Operator String

Merupakan operator yang digunakan untuk operasi string. String adalah

kumpulan karakter. Bentuk umum String1 + String 2; Latihan 4

Tugas

1. Buat program perhitungan konversi temperatur dari Fahrenheit ke Celcius! 2. Buat program untuk menghitung kecepatan (S/t) ! input berupa jarak dan waktu.

{ File : opr_str.pas }

Program opr_str;

Uses crt;

Var

Nama1, Nama2, Nama3 : String[15];

Begin

Clrscr;

Nama1:='Budi ';

Nama2:='Santosa';

Nama3:=Nama1+Nama2;

writeln(Nama3);

readkey;

End.

{ File : opr_rel.pas }

Program opr_rel;

Var

a, b : Integer;

Begin

a:=5;

b:=3;

writeln(a,'=',b,' ? ',a=b);

writeln(a,'<>',b,'? ',a<>b);

writeln(a,'>',b,' ? ',a>b);

writeln(a,'<',b,' ? ',a<b);

writeln('(',a,'<',b,') or (',a,'=',b,') ? ',(a=b) or (a<b));

writeln('(',a,'> 4 ) and ( 4 >',b,') ? ',(a>4) and (4>b));

readln;

End.

Page 14: Buku Pascal New

Pemrograman Pascal Halaman 14

3. Buat program yang menerima input bilangan antara 1 dan 9999 dan menulis setiap digitnya per baris!

Page 15: Buku Pascal New

Pemrograman Pascal Halaman 15

BAB 4 STRUKTUR KONTROL PEMILIHAN

Program dalam bahasa Pascal tersusun dari baris- baris pernyataan. Eksekusi

baris- baris pernyataan ini dapat dilakukan dengan struktur kontrol : 1. Runtunan (Sequence) 2. Pemilihan (Selection) 3. Pengulangan (Repetiton) Ketiga struktur tersebut dapat menggunakan operator relasi ataupun operator logika. 4.1 Pernyataan if dengan Satu Aksi

Gambar 3.1. Flowchart pernyataan if dengan satu aksi.

Pada model pernyataan pada gambar 3.1., sebuah aksi akan dikerjakan jika syarat bernilai benar. Bentuk umum: if (syarat) then aksi1; Aksi bisa terdiri sari satu baris pernyataan atau berupa sekumpulan (blok) baris pernyataan. Latihan 1

{ File :if1.pas } Program if1; Uses crt; Var a : Integer; Begin Writeln('Contoh if satu kasus '); Write('Ketikkan suatu nilai integer :'); Readln(a); If(a>0) then begin Writeln('Nilai ',a,' adalah nilai positif'); End; Readkey; End.

Page 16: Buku Pascal New

Pemrograman Pascal Halaman 16

4.2. Pernyataan if dengan Dua Aksi

Pada model pernyataan gambar 3.2., aksi1 akan dikerjakan jika syarat bernilai

benar, sedangkan jika salah maka aksi2 yang dikerjakan. Bentuk umum: if (syarat) then aksi1 else aksi2;

Gambar 4.2. Flowchart pernyataan if dengan dua aksi. Latihan 2

{file : if2.pas} Program if2; Var a : Integer; Begin Writeln('Contoh if dua kasus '); Write('Ketikkan suatu nilai integer :'); Readln(a); If(a>0) then begin Writeln('Nilai ',a,' adalah nilai positif'); End Else begin Writeln('Nilai ',a,' adalah nilai negatif'); End; Readln; End.

4.3 Pernyataan if dengan lebih dari dua aksi

Karena pilihan aksi yang dikerjakan lebih dari dua, maka dapat dibuat model bertingkat/ bersarang /nested.

Page 17: Buku Pascal New

Pemrograman Pascal Halaman 17

Gambar 4.3. Flowchart pernyataan if dengan dua aksi. Bentuk umum:

if (syarat1) then aksi1 else if (syarat2) then aksi2 else aksiN; Latihan 3

{ File : if3.pas } Program if3; Var a : Integer; Begin Writeln('Contoh if dua kasus '); Write('Ketikkan suatu nilai integer :'); Readln(a); If(a>0) then begin Writeln('Nilai ',a,' adalah nilai positif'); end else If (a=0) then begin Writeln('Nilai ',a,' adalah nol'); end else begin Writeln('Nilai ',a,' adalah nilai negatif'); ; end; Readln; end.

Page 18: Buku Pascal New

Pemrograman Pascal Halaman 18

Catatan: Jika pernyataan aksi hanya terdiri dari 1 baris perintah maka pada if tidak

perlu diberi begin end. Tetapi jika lebih dari 1 tetap menggunakan begin end. Sehingga latihan 3 dapat ditulis sebagai berikut :

{ File : if3.pas } Program if3; Var a : Integer; Begin Writeln('Contoh if dua kasus '); Write('Ketikkan suatu nilai integer :'); Readln(a); If(a>0) then Writeln('Nilai ',a,' adalah nilai positif') else If (a=0) then Writeln('Nilai ',a,' adalah nol') else Writeln('Nilai ',a,' adalah nilai negatif'); ; Readln; end.

Perhatikan perintah writeln yang terletak dalam if ! ada yang tidak menggunakan tanda ; dan ada yang menggunakan. Tanda ; digunakan untuk mengakhiri seluruh perintah if. jadi baru diberi setelah pernyataan else yang terakhir. 4.4. Pernyataan case

Tangga if-else-if dapat digunakan menguji beberapa syarat tetapi sulit dalam

aplikasinya. Untuk itu dapat digunakan pernyataan case-of, sebuah variabel dapat

secara berturut-turut diuji oleh daftar konstanta (bilangan bulat atau karakter). Jika sesuai dengan sebuah konstanta, maka dikerjakan sesuai dengan pernyataan yang mengikuti konstanta tersebut.

Pernyataan setelah else akan dikerjakan bila tidak ada konstanta yang sesuai. Else bersifat optional,bila tidak ada else maka tidak ada yang dikerjakan. Ada beberapa hal yang perlu diperhatikan: a) Case-of hanya dapat memeriksa sebuah konstanta atau range dari konstanta yang bukan bertipe real, sedang if dapat memeriks syarat-syarat lain(>,<,<>,dsb). b) Tidak ada dua konstanta yang sama dalam sebuah case. Bentuk Umum : Case variabel of { konstanta1 : pernyataan; konstanta2 : pernyataan; . . Else pernyataan; } Latihan 4

Page 19: Buku Pascal New

Pemrograman Pascal Halaman 19

{ File : case-of.pas } Program caseof; Var cc:char; Begin Writeln('Ketikkan sebuah huruf ,akhiri dengan Enter : '); Read(cc); Case cc of '0'..'9' : writeln('Yang anda ketik adalah angka'); 'a','e','i','u','o' : writeln('Yang anda ketik adalah huruf vokal'); 'b'..'d','f'..'h','j'..'n','p'..'t','v'..'z' : writeln('Yang anda ketik adalah huruf konsonan'); Else writeln('Yang anda ketik adalah karakter'); End; Readln; End.

Page 20: Buku Pascal New

Pemrograman Pascal Halaman 20

Tugas 1. Buatlah program yang menentukan apakah suatu bilangan ganjil atau genap ! 2. Buatlah program untuk yang memasukkan 2 angka kemudian diberikan pilihan

untuk mengkali, membagi, menambah atau menguranginya ! 3. Buatlah program yang menyatakan hadiah bagi orang yang belanja dengan inputan

total belanja.

Total belanja Hadiah

Harga >100000 Baju 1000000>=Harga>100000 Topi 100000>=Harga>10000 Permen Harga <=10000 Senyum dari kasir

Page 21: Buku Pascal New

Pemrograman Pascal Halaman 21

BAB 5 STRUKTUR KONTROL PERULANGAN

Struktur kontrol pengulangan dalam bahasa pemrograman dikenal dengan loop.

Pengulangan dilakukan terus sampai dipenuhi keadaan tertentu. Dalam pascal dikenal tiga jenis pengulangan dan pernyataan yang digunakan adalah: 1. for 2. while-do 3. repeat-until 5.1. Pengulangan dengan for

Perulangan for dapat berbentuk perulangan positif, negatif dan bersarang. Pada pengulangan dengan for diperlukan variabel kontrol, nilai awal untuk inisialisasi sehingga pengulangan bisa dilakukan,dan nilai akhir untuk kondisi mengakhiri pengulangan. Bentuk Menaik :

for variabel-kontrol:=nilai-awal to nilai-akhir do pernyataan;

Bentuk Menurun :

for variabel-kontrol:=nilai-awal downto nilai-akhir do pernyataan;

Bentuk loop dalam loop :

for variabel-kontrol1:=nilai-awal1 to nilai-akhir1 do for variabel-kontrol2:=nilai-awal2 to nilai-akhir2 do pernyataan;

Latihan 1

{ File : writefor.pas } Program WriteFor; Var i,N: Integer; Begin Writeln('Baca N, print 1 s/d N'); Write('N='); Read(N); For i:=1 to N do Begin Writeln(i); End; Writeln('Akhir program'); Readln; End.

Page 22: Buku Pascal New

Pemrograman Pascal Halaman 22

Latihan 2

Perulangan dengan menggunakan for naik.

{ File : fornaik.pas } Program ForNaik; Var i,awal,akhir : Integer; Begin awal:=1; akhir:=5; for i:=awal to akhir do

Begin Writeln(i); End;

End.

Latihan 3

Perulangan dengan menggunakan for turun.

{ File : forturun.pas } Program ForTurun; Var i,bawah,atas : Integer; Begin bawah:=1; atas:=5; for i:=atas downto bawah do Begin

writeln(i); end;

End.

Latihan 4

Perulangan dengan menggunakan for dengan batas merupakan karakter bukan integer.

{ File : forchr.pas } Program forChr; Uses crt; Var ch:char; Begin For ch:='a' to 'z' do Begin Write(ch); End; Readkey; End.

Page 23: Buku Pascal New

Pemrograman Pascal Halaman 23

Latihan 5

Perulangan dengan for bersarang.

{File : srgloop.pas } Program srgloop; Uses crt; Var i,j:integer; Begin Clrscr; Writeln('Contoh loop dalam loop'); For i:=1 to 3 do begin For j:=1 to 4 do Begin Write('*'); End; Writeln; End; End.

Catatan : Sama seperti if jika aksi dari for hanya terdiri dari 1 baris perintah maka begin dan and dapat dihilangkan. Tetapi jika aksi dari for lebih dari 1 baris tetap menggunakan begin end. Sehingga latihan 5 dapat ditulis sebagai berikut :

{File : srgloop.pas } Program srgloop; Uses crt; Var i,j:integer; Begin Clrscr; Writeln('Contoh loop dalam loop'); For i:=1 to 3 do Begin For j:=1 to 3 do Write('*'); Writeln; End; End.

5.2. Pengulangan dengan while do.

Pada pengulangan jenis ini, pengecekan syarat dilakukan diawal. Pengulangan dengan while-do ini digunakan untuk melakukan proses perulangan suatu pernyataan atau blok pernyataan terus-menerus selama kondisi ungkapan logika pada syarat masih bernilai logika benar.

Page 24: Buku Pascal New

Pemrograman Pascal Halaman 24

Gambar 4.2. Flowchart while do. Bentuk Umum : While syarat do perintah; Latihan 6

{ File : while.pas } Program _while; Uses crt; Var i: Integer; Begin i:=1; while i<=5 do

begin writeln(i); i:=i+1; end;

readkey; End.

Latihan 7

{ File : priwhile.pas } Program priwhile; Var N,i: Integer; Begin Writeln('Nilai N='); Read(N); i:=1; while i<=N do begin writeln(i); i:=i+1; end; readln; End.

Page 25: Buku Pascal New

Pemrograman Pascal Halaman 25

Latihan 8

{ File : whiledo.pas } Program whiledo; Uses crt; Var nama : String[20]; Begin Clrscr; Write('Ketik nama siswa( X=selesai):'); Readln(nama); While(nama[1]<>'X') do Begin Write('Ketik nama siswa( X=selesai):'); Readln(nama); End; End.

5.3. Loop Repeat...Until.

Berbeda dengan dua jenis pengulangan sebelumnya, syarat pengulangan pada repeat...until dicek pada akhir perulangan. Repeat...Until digunakan untuk mengulang statemen-statemen sampai (until) kondisi yang diseleksi di Until terpenuhi. Bentuk Umum: repeat perintah … until syarat; Latihan 8

{ File : repeatUn.pas } Program RepeatUntil; Var i : Integer; Begin i:=0; Repeat Writeln(i); i:=i+1; until i=5; End.

Tugas

1. Buatlah program untuk menghitung nilai faktorial dari angka yang dimasukkan ! 2. Buatlah program untuk menentukan faktor kali dari angka yang dimasukkan ! 3. Buatlah program yang memasukkan username dan password. Komputer akan

terus menanyakan username dan password sampai user mengisikannya dengan benar! (Username = smala dan password = 12345)

Page 26: Buku Pascal New

Pemrograman Pascal Halaman 26

BAB 6 ARRAY

6.1. Array Satu Dimensi

Array adalah deretan variabel yang berjenis sama dan menpunyai nama yang

sama. Pada bahasa Pascal, array mempunyai lokasi yang bersebelahan, alamat terkecil menunjukan elemen pertama dan alamat terbesar menunjuk pada alamat terakhir. Bentuk umum :

nama_array:array [ukuran] of tipe tipe = menyatakan tipe data dasar ukuran = menyatakan banyaknya element pada array Contoh : Nilai: array[1..10] of Integer; Latihan 1

{File : tabel.pas} Program tabel; Uses crt; Var i,N : Integer; tab : array[1..10] of Integer; begin clrscr; N:=5; Writeln('Isi dan print tabel'); For i:=0 to N do Begin Tab[i]:=i; End; For i:=0 to N do Begin writeln('Tabel[',i,']=',tab[i]); End; Readkey; end.

Page 27: Buku Pascal New

Pemrograman Pascal Halaman 27

Latihan 2

{File : tab_rata.pas} Program rata; Uses crt; Const MAKS_TES = 5; Var i : Integer; nilai_total,rata_rata : Real; nilai_test : array[1..MAKS_TES] of Real; Begin Writeln('Pemasukan 5 buah nilai pada tabel'); For i:=1 to MAKS_TES do Begin Write('Nilai tes ke ',i,' : '); Readln(nilai_test[i]); End; nilai_total:=0; for i:=1 to MAKS_TES do begin nilai_total:=nilai_total+nilai_test[i]; end; Rata_rata := nilai_total/MAKS_TES; Writeln('Nilai rata-rata : ',rata_rata:3:2); Readkey; End.

6.2 Array Multi Dimensi

Dalam bahasa Pascal kita dapat membuat array hingga beberapa dimensi,

misalnya array dua dimensi yangpada dasarnya adalah sebuah daftar yang terdiri array-array satu dimensi.

Bentuk umum : nama_array : array[ukuran1] of array[ukuran2] of tipe; nama_array : array[ukuran1,ukuranN] of tipe;

Keterangan: tipe = menyatakan tipe data dasar ukuran1 = menyatakan banyaknya element pada array pada dimensi ke-1 ukuranN = menyatakan banyaknya element pada array pada dimensi ke-N

Page 28: Buku Pascal New

Pemrograman Pascal Halaman 28

6.3 Inisialisasi Array

Inisialisasi array dapat dilakukan pada saat pendeklarasiannya. Pada array multi

dimensi, inisialisasi dimulai dari dimensi yang paling besar. Untuk setiap dimensi dimulai dari indeks yang paling kecil. Pada Pascal cara proses inisialisasi diletakkan pada bagian deklarasi konstanta.

Contoh: Const I : array[1..10] of Integer =(12,45,67,34,2,5,60,7,19,21); matrix : array[1..3,1..4] of Integer =((42,47,53,48),(6,43,82,90),(53,62,23,55)); nama : array[1..14]of char =(„p‟,‟r‟,‟o‟,‟k‟,‟o‟,‟m‟,‟ ‟,‟g‟,‟a‟,‟m‟,‟p‟,‟a‟,‟n‟,‟g‟); Tugas

1. Buat program menampilkan bilangan fibonachi sampai n inputan ! 2. Buat program yang dapat memasukkan sejumlah N data kemudian mencari nilai

data yang paling besar! 3. Buat program untuk menentukan bilangan prima ke-n masukkan! Missal jika

dimasukkan 3 maka keluarannya adalah : 2 3 5 Hasil diatas merupakan 3 bilangan prima yang pertama.

Page 29: Buku Pascal New

Pemrograman Pascal Halaman 29

BAB 7

STRING

7.1. Pendeklarasian String String merupakan salah satu tipe data bentukan untuk menyatakan data teks/

kalimat/ serangkaian karakter. Pada bahasa Pascal panjang maksimum string yang diijinkan adalah 255 karakter.

Bentuk umum nama_variable :String[panjang_string]; nama_variable :String ; Bila tidak disebutkan panjang string maka secara default panjangnya adalah 255. Contoh nama : String[15]; mendeklarasikan variable string nama dengan panjang 15 karakter. 7.2. Memasukkan Data String dengan read/readln.

Pemasukan data string ke dalam suatu variable biasa dilakukan dengan

memakai read ataupun readln. Fungsi read/readln akan membaca seluruh karakter yang diketik sampai tombol enter ditekan, dalam hal ini tidak ada pengecekan terhadap batas array. Panjang string dikurangi ukuran array ditambah karakter NULL.

Bentuk Umum read(nama_array); readln(nama_array); 7.3. Inisialisasi String

Inisialisasi string bisa dilakukan dengan assignment karakter per karakter

ataupun tidak. Bentuk umum: nama_variable[]=data_string; Contoh Const:

Nama1 : String = { „T‟,‟U‟,‟R‟,‟B‟,‟O‟,‟ „,‟C‟,‟\0‟}; Nama2 : String = ‟FREE C‟; 7.4. Menampilkan Isi Variable String Ke Layar:

Untuk menampilkan isi variable string, pernyataan yang dapat digunakan fungsi

write atau writeln. Bentuk umum: writeln(var_string); write(var_string);

Page 30: Buku Pascal New

Pemrograman Pascal Halaman 30

7.5. Mengakses Elemen String

Variabel string merupakan bentuk khusus dari array bertipe char, oleh karena itu

elemen dari variable string dapat diakses seperti pengaksesan elemen array. Latihan 1

{file : hitkar.pas} Program hitkar; Const maks=256; Var teks: String[maks]; Jumkar,i : Integer; Begin Writeln(„Masukkan suatu kalimat :‟); Readln(teks); Jumkar:=0; For i:=0 to maks do

Begin If teks[i]=‟a‟ then Jumkar:=jumkar+1; end;

Writeln(„jumlah karakter a =’,jumkar); End;

7.6. Beberapa Fungsi Mengenai String

Free Pascal menyediakan fungsi untuk manipulasi string, diantaranya:

Page 31: Buku Pascal New

Pemrograman Pascal Halaman 31

Latihan 2

{string1.pas} program string1; var s:string; p,n :integer; begin write('masukkan karakter! = '); readln(s); val(s,n,p); writeln('nilai numeriknya = ',n); writeln('posisi salahnya = ',p); insert('z',s,4); writeln('setelah disispi z pada huruf ke 4 jadinya = ',s); end.

Tugas

1. Buat program yang memasukkan 2 angka kemudian menghitung penjumlahannya secara matematis ataupun secara string ! misal : angka1 = 3 angka2 =7 penjumlahan matematis = 10 penjumlahan string = 37

2. Buat program untuk mengganti huruf a dengan huruf x dari kata yang dimasukkan !

3. Buat program untuk mencari huruf terbanyak dari kata yang dimasukkan !

Page 32: Buku Pascal New

Pemrograman Pascal Halaman 32

BAB 8 PROCEDURE DAN FUNCTION

8.1 Procedure

Procedure merupakan blok baris perintah sebagai satu kesatuan yang

mengerjakan tugas khusus. Keuntungan menggunakan procedure :

1) Program menjadi terstruktur. 2) Dapat mengurangi pengulangan kode. Procedure dipanggil dan digunakan di dalam blok baris perintah yang lainnya dengan menyebutkan judul procedurenya. Procedure dapat menerima nilai dari luar ataupun

mengirimkan nilai keluar yang dilewatkan melalui parameter. Terkait dengan prosedure, dikenal dua macam variable yaitu : 1) Variabel lokal : variabel yang dideklarasikan di dalam procedure, variabel ini tidak dikenal di luar procedure. 2) Variabel global : variabel yang dideklarasikan di luar semua procedure, sehingga akan dikenal di seluruhbagian progam. Bentuk umum Procedure nama_procedure(deklarasi parameter); Begin ……….. End; Dalam pascal ada dua jenis pengiriman parameter : 1) Pengiriman parameter secara nilai (by value).

Bila parameter dikirm secara nilai, parameter formal, maka perubahan-perubahan yang terjadi pada nilai parameter formal di procedure tidak akan mempengaruhi nilai parameter nyata. 2) Pengiriman parameter secara acuan (by reference).

Bila parameter dikirm secara nilai, parameter formal, maka perubahan-perubahan yang terjadi pada nilai parameter formal di procedure akan mempengaruhi nilai parameter nyata. Latihan 1

{File : procedur.pas} program procedur; uses crt; var a:Integer; {parameter by value} procedure ubah1(x:Integer); begin writeln('parameter by value'); writeln('Nilai akan diubah menjadi 5'); x:=5; end; {parameter by reference}

Page 33: Buku Pascal New

Pemrograman Pascal Halaman 33

procedure ubah2(var x:Integer); begin writeln('parameter by reference'); writeln('Nilai akan diubah menjadi 5'); x:=5; end; begin clrscr; a:=10; writeln('Nilai sebelum diubah adalah ',a); ubah1(a); writeln('nilai setelah diubah adalah ',a); ubah2(a); writeln('nilai setelah diubah adalah ',a); readln; end.

Latihan 2

{file : point.pas} Program point; Const True = 1; False = 0; Var Pilih,quit : Integer; Procedure P1; {procedure tanpa memakai parameter} Begin Writeln(„Ini procedure P1‟); End; Procedure P2; Begin Writeln(„Ini procedure P2‟); End; Procedure P3; Begin Writeln(„Ini procedure P3‟); End; Procedure P4; Begin Writeln(„Quit.....‟); End; Begin Quit:=false;

Page 34: Buku Pascal New

Pemrograman Pascal Halaman 34

Repeat writeln(„Pilihlah salah satu:‟); writeln(„1.Buka File hanya untk baca „); writeln(„2.Tutup file „); writeln(„3.Edit File „); writeln(„4.Quit „); readln(pilih); case pilih of 1 :P1; 2 :P2; 3 :P3; 4 :begin P4; Quit:=true; End; Else writeln(„Pilihan diluar yang ditentukan‟); end;

Until quit=true; End.

6.2. Function

Function mirip dengan procedure, bedanya function harus mengembalikan suatu

nilai. Nilai yang dikembalikan terdapat pada nama function. Bentuk umum:

nama_function(deklarasi parameter):tipe_data; begin ... nama_function:=nilai; end; Latihan 3

{File : fungsi1.pas} Program fungsi1; Uses crt; Var a,b,c:Integer; {fungsi memakai parameter by value} Function tambah(a,b:Integer):Integer; Begin tambah:=a+b; End; Begin clrscr; write(„A = ‟); readln(a); write(„B = ‟); readln(b); c:=jumlah(a,b);

Page 35: Buku Pascal New

Pemrograman Pascal Halaman 35

writeln(„Jumlah tersebut adalah : ‟,c); readln; End.

Latihan 4

{File : fungsi.pas} Program fungsi; Uses crt; Procedure hai(kalimat:String); {prosedure hai memakai parameter by value} Begin Writeln(kalimat); End; Begin clrscr; hai(„Hallo‟); hai(„Siapa namamu‟); readln; End.

Tugas

1. Buat program kalender abadi yang memiliki pilihan antara lain : a. Pergi ke tanggal xx bulan yy tahun zzzz b. Tambah u hari lagi c. Mundur t hari lagi e. Selisih hari yang ditunjuk dengan hari sekarang