Top Banner
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. Pemrograman Pascal Halaman 1
47

Buku Pascal New

Aug 04, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Buku Pascal New

BAB IDASAR 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

Pemrograman Pascal Halaman 1

Page 2: Buku Pascal New

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 22. 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

PREPARATIONProses inisialisasi/pemberian

harga awal

PROSESProses 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

Pemrograman Pascal Halaman 2

Page 3: Buku Pascal New

Contoh program membuat nasi goring yang disajikan dalam bentuk flowchart

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

Pemrograman Pascal Halaman 3

Y T

begin

Bumbu, nasi , penggorengan,

telor

Campur nasi dengan bumbu

dan telor

A

A

ApakahSudah

matang ?

Hidangkan nasi goreng

End

Digoreng

B

B

Y

Y

T

begin

A

B= A mod 2

A

A

B = 0

WriteGenap

write Ganjil

End

Page 4: Buku Pascal New

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 masukkanb. Ganjil dari 0 sampai dengan n masukkanc. 1 -2 3 -4 5 -6 dst sejumlah n masukkand. 2 2 4 4 2 2 4 4 dst sejumlah n masukkan

Happy Programming !

Pemrograman Pascal Halaman 4

Page 5: Buku Pascal New

BAB 2DASAR-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)

{ File : first.pas }Program kesan;Beginwriteln(‘Pemrograman komputer menyenangkan’);End.

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 : konstant1.pas }Program konstan ;ConstPi = 3.1415;Varr : real ;luas : real ;BeginWrite('Masukkan jari-jari lingkaran =');Readln(r);luas := pi*r*r;Writeln('Luas lingkaran = ',luas:12:3);Readln;End.

Pemrograman Pascal Halaman 5

Page 6: Buku Pascal New

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 diperlukanTYPE{ deklarasi Type } ----- bila diperlukanVAR{ deklarasi Variable } ----- tempat mendaftar variabelBEGIN{ 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 integerAdalah tipe data yang digunakan untuk menampung seluruh angka bulat.

Pemrograman Pascal Halaman 6

Page 7: Buku Pascal New

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

decimal.

c. Tipe data booleanAdalah tipe data yang hanya memiliki 2 nilai yaitu true atau false.

d. Tipe data char dan stringTipe 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.c) Huruf besar dan huruf kecil sama saja.

Pemrograman Pascal Halaman 7

Page 8: Buku Pascal New

d) Panjang variabel yang dianggap/dikenal hanya 63 karakter pertama

a. Deklarasi VariableSebelum bisa digunakan maka variable harus dideklarasikan terlebih dahulu.

Pendeklarasian berarti memesan ruang di memori dan menyatakan tipe data yang bisa disimpannya.

Bentuk umum :Vardaftar_variabel : tipe_data;

Contoh :Varinc1,bil1 : integer;flag1 : char;nama : array[1..10] of char;

b. Pemberian nilai ke VariablePemberian 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 :constvariabel=nilai;

Contohconstpi = 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);

Pemrograman Pascal Halaman 8

Page 9: Buku Pascal New

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 UmumGotoxy(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 Umumread (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!

Pemrograman Pascal Halaman 9

Page 10: Buku Pascal New

BAB 3OPERATOR

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 umumVariabel := 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

{ File : opr_binary.pas }Program binary;Beginwriteln(' 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.

3.3 Operator Bit.

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

Pemrograman Pascal Halaman 10

Page 11: Buku Pascal New

Latihan 2

{ File : opr_bit.pas }Program opr_bit;BeginWriteln('not 0 =',not 0);Writeln('not 8 =',not 8);Writeln('1 or 2 =',1 or 2);Writeln('1 and 2 =',1 and 2);End.

Penjelasan latihan 21. 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 =10Jika dioeparsikan dalam or adalah sebagai berikut :1 = 012 = 10

--- or11

Basis 10 dari 11 adalah 3

Tabel kebenaran orA B A or B0 0 00 1 11 0 11 1 1

3. Sama seperti or, Jika dioeparsikan dalam and adalah sebagai berikut :1 = 012 = 10

--- and00

Pemrograman Pascal Halaman 11

Page 12: Buku Pascal New

Basis 10 dari 0 adalah 0

Tabel kebenaran andA B A and B0 0 00 1 01 0 01 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.

Pemrograman Pascal Halaman 12

Page 13: Buku Pascal New

Latihan 3

{ File : opr_rel.pas }Program opr_rel;Vara, b : Integer;Begina:=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.

3.6 Operator String

Merupakan operator yang digunakan untuk operasi string. String adalah kumpulan karakter.

Bentuk umumString1 + String 2;

Latihan 4

{ File : opr_str.pas }Program opr_str;Uses crt;VarNama1, Nama2, Nama3 : String[15];BeginClrscr;Nama1:='Budi ';Nama2:='Santosa';Nama3:=Nama1+Nama2;writeln(Nama3);readkey;End.

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

Pemrograman Pascal Halaman 13

Page 14: Buku Pascal New

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

Pemrograman Pascal Halaman 14

Page 15: Buku Pascal New

BAB 4STRUKTUR KONTROL PEMILIHAN

Program dalam bahasa Pascal tersusun dari baris- baris pernyataan. Eksekusi baris- baris pernyataan ini dapatdilakukan 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) thenaksi1;

Aksi bisa terdiri sari satu baris pernyataan atau berupa sekumpulan (blok) baris pernyataan.

Latihan 1{ File :if1.pas }Program if1;Uses crt;Vara : Integer;BeginWriteln('Contoh if satu kasus ');Write('Ketikkan suatu nilai integer :');Readln(a);If(a>0) then

beginWriteln('Nilai ',a,' adalah nilai positif');End;

Readkey;End.

Pemrograman Pascal Halaman 15

Page 16: Buku Pascal New

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) thenaksi1elseaksi2;

Gambar 4.2. Flowchart pernyataan if dengan dua aksi.

Latihan 2{file : if2.pas}Program if2;Vara : Integer;BeginWriteln('Contoh if dua kasus ');Write('Ketikkan suatu nilai integer :');Readln(a);If(a>0) then

beginWriteln('Nilai ',a,' adalah nilai positif');End

ElsebeginWriteln('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.

Pemrograman Pascal Halaman 16

Page 17: Buku Pascal New

Gambar 4.3. Flowchart pernyataan if dengan dua aksi.

Bentuk umum:if (syarat1) thenaksi1elseif (syarat2) thenaksi2elseaksiN;

Latihan 3{ File : if3.pas }Program if3;Vara : Integer;BeginWriteln('Contoh if dua kasus ');Write('Ketikkan suatu nilai integer :');Readln(a);If(a>0) then

beginWriteln('Nilai ',a,' adalah nilai positif');end

else If (a=0) thenbeginWriteln('Nilai ',a,' adalah nol');end

elsebeginWriteln('Nilai ',a,' adalah nilai negatif'); ;end;

Readln;end.

Pemrograman Pascal Halaman 17

Page 18: Buku Pascal New

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;Vara : Integer;BeginWriteln('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

Pemrograman Pascal Halaman 18

Page 19: Buku Pascal New

{ File : case-of.pas }Program caseof;Var cc:char;BeginWriteln('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.

Pemrograman Pascal Halaman 19

Page 20: Buku Pascal New

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 HadiahHarga >100000 Baju1000000>=Harga>100000 Topi 100000>=Harga>10000 PermenHarga <=10000 Senyum dari kasir

Pemrograman Pascal Halaman 20

Page 21: Buku Pascal New

BAB 5STRUKTUR 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. for2. while-do3. repeat-until

5.1. Pengulangan dengan forPerulangan 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 dopernyataan;

Bentuk Menurun :for variabel-kontrol:=nilai-awal downto nilai-akhir dopernyataan;

Bentuk loop dalam loop :for variabel-kontrol1:=nilai-awal1 to nilai-akhir1 dofor variabel-kontrol2:=nilai-awal2 to nilai-akhir2 dopernyataan;

Latihan 1{ File : writefor.pas }Program WriteFor;Vari,N: Integer;BeginWriteln('Baca N, print 1 s/d N');Write('N=');Read(N);For i:=1 to N do

BeginWriteln(i);End;

Writeln('Akhir program');Readln;End.

Pemrograman Pascal Halaman 21

Page 22: Buku Pascal New

Latihan 2Perulangan dengan menggunakan for naik.{ File : fornaik.pas }Program ForNaik;Vari,awal,akhir : Integer;Beginawal:=1;akhir:=5;for i:=awal to akhir do

BeginWriteln(i);End;

End.

Latihan 3Perulangan dengan menggunakan for turun.{ File : forturun.pas }Program ForTurun;Vari,bawah,atas : Integer;Beginbawah:=1;atas:=5;for i:=atas downto bawah do

Beginwriteln(i);end;

End.

Latihan 4Perulangan dengan menggunakan for dengan batas merupakan karakter bukan integer.{ File : forchr.pas }Program forChr;Uses crt;Var ch:char;BeginFor ch:='a' to 'z' do

BeginWrite(ch);End;

Readkey;End.

Pemrograman Pascal Halaman 22

Page 23: Buku Pascal New

Latihan 5Perulangan dengan for bersarang.{File : srgloop.pas }Program srgloop;Uses crt;Vari,j:integer;BeginClrscr;Writeln('Contoh loop dalam loop');For i:=1 to 3 do

beginFor 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;Vari,j:integer;BeginClrscr;Writeln('Contoh loop dalam loop');For i:=1 to 3 do

BeginFor 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.

Pemrograman Pascal Halaman 23

Page 24: Buku Pascal New

Gambar 4.2. Flowchart while do.

Bentuk Umum :While syarat doperintah;

Latihan 6{ File : while.pas }Program _while;Uses crt;Vari: Integer;Begini:=1;while i<=5 do

beginwriteln(i);i:=i+1;end;

readkey;End.

Latihan 7{ File : priwhile.pas }Program priwhile;VarN,i: Integer;BeginWriteln('Nilai N=');Read(N);i:=1;while i<=N do

beginwriteln(i);i:=i+1;end;

readln;End.

Pemrograman Pascal Halaman 24

Page 25: Buku Pascal New

Latihan 8{ File : whiledo.pas }Program whiledo;Uses crt;Varnama : String[20];BeginClrscr;Write('Ketik nama siswa( X=selesai):');Readln(nama);While(nama[1]<>'X') do

BeginWrite('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:repeatperintah…until syarat;

Latihan 8{ File : repeatUn.pas }Program RepeatUntil;Vari : Integer;Begini:=0;Repeat

Writeln(i);i:=i+1;

until i=5;End.

Tugas1. 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)

Pemrograman Pascal Halaman 25

Page 26: Buku Pascal New

BAB 6ARRAY

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 tipetipe = menyatakan tipe data dasarukuran = menyatakan banyaknya element pada array

Contoh :Nilai: array[1..10] of Integer;

Latihan 1{File : tabel.pas}Program tabel;Uses crt;Vari,N : Integer;tab : array[1..10] of Integer;beginclrscr;N:=5;Writeln('Isi dan print tabel');For i:=0 to N do

BeginTab[i]:=i;End;

For i:=0 to N doBeginwriteln('Tabel[',i,']=',tab[i]);End;

Readkey;end.

Pemrograman Pascal Halaman 26

Page 27: Buku Pascal New

Latihan 2{File : tab_rata.pas}Program rata;Uses crt;ConstMAKS_TES = 5;Vari : Integer;nilai_total,rata_rata : Real;nilai_test : array[1..MAKS_TES] of Real;BeginWriteln('Pemasukan 5 buah nilai pada tabel');For i:=1 to MAKS_TES do

BeginWrite('Nilai tes ke ',i,' : ');Readln(nilai_test[i]);End;

nilai_total:=0;for i:=1 to MAKS_TES do

beginnilai_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 dasarukuran1 = menyatakan banyaknya element pada array pada dimensi ke-1ukuranN = menyatakan banyaknya element pada array pada dimensi ke-N

Pemrograman Pascal Halaman 27

Page 28: Buku Pascal New

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:ConstI : 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.

Pemrograman Pascal Halaman 28

Page 29: Buku Pascal New

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 umumnama_variable :String[panjang_string];nama_variable :String ;

Bila tidak disebutkan panjang string maka secara default panjangnya adalah 255.Contohnama : 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 Umumread(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;

ContohConst: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);

Pemrograman Pascal Halaman 29

Page 30: Buku Pascal New

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;BeginWriteln(‘Masukkan suatu kalimat :’);Readln(teks);Jumkar:=0;For i:=0 to maks do

BeginIf 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:

Pemrograman Pascal Halaman 30

Page 31: Buku Pascal New

Latihan 2{string1.pas}program string1;vars:string;p,n :integer;

beginwrite('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.

Tugas1. Buat program yang memasukkan 2 angka kemudian menghitung

penjumlahannya secara matematis ataupun secara string ! misal : angka1 = 3angka2 =7penjumlahan matematis = 10penjumlahan 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 !

Pemrograman Pascal Halaman 31

Page 32: Buku Pascal New

BAB 8PROCEDURE 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 umumProcedure 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);beginwriteln('parameter by value');writeln('Nilai akan diubah menjadi 5');x:=5;end;

Pemrograman Pascal Halaman 32

Page 33: Buku Pascal New

{parameter by reference}procedure ubah2(var x:Integer);

beginwriteln('parameter by reference');writeln('Nilai akan diubah menjadi 5');x:=5;end;beginclrscr;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;ConstTrue = 1;False = 0;VarPilih,quit : Integer;

Procedure P1; {procedure tanpa memakai parameter}BeginWriteln(‘Ini procedure P1’);End;

Procedure P2;BeginWriteln(‘Ini procedure P2’);End;

Procedure P3;BeginWriteln(‘Ini procedure P3’);End;

Procedure P4;BeginWriteln(‘Quit.....’);End;

BeginQuit:=false;

Pemrograman Pascal Halaman 33

Page 34: Buku Pascal New

Repeatwriteln(‘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 of1 :P1;2 :P2;3 :P3;4 :beginP4;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;Vara,b,c:Integer;

{fungsi memakai parameter by value}Function tambah(a,b:Integer):Integer; Begintambah:=a+b;End;

Beginclrscr;write(‘A = ’);readln(a);write(‘B = ’);readln(b);

Pemrograman Pascal Halaman 34

Page 35: Buku Pascal New

c:=jumlah(a,b);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}BeginWriteln(kalimat);End;

Beginclrscr;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 zzzzb. Tambah u hari lagic. Mundur t hari lagie. Selisih hari yang ditunjuk dengan hari sekarang

Pemrograman Pascal Halaman 35