Praktikum ini membahas algoritma pemrograman terstruktur menggunakan bahasa Pascal dan FPC sebagai kompilernya, dengan tujuan membuat mahasiswa mampu membuat algoritma dan program untuk memecahkan masalah sederhana."
1. ProbStat :1
Praktikum PASCAL
Algoritma Pemrograman Terstruktur
DURASI NAMA / NIM
2 x 60'
▶ Tujuan Instruksional Umum
Setelah menyelesaikan praktikum ini, Mahasiswa diharapkan mengerti, memahami
dan mampu membuat algoritma dan Program untuk memecahkan masalah
sederhana.
▶ Tujuan Instruksional Khusus
Pencapaian tujuan Instruksional Umum dalam pertemuan ini akan dijelaskan :
1. Mahasiswa mengenal dan mampu menggunakan bahasa pemrograman Pascal
2. Mahasiswa mengenal dan mampu membuat program dengan menggunakan FPC
3. Mahasiswa mampu membuat algoritma pemrograman
4. Mahasiswa mampu membuat diagram alir (flow chart)
▶ Tugas Pendahuluan
1. Jelaskan pengertian Interperter dan Compiler. Berikan perbedaannya dan berikan
satu contoh compiler dan interpreter.
2. Jelaskan dengan diagram tahap—tahap pemrograman PASCAL
3. Tuliskan struktur Bahasa PASCAL
4. Sebutkan ciri-ciri pemrograman terstruktur.
5. Apa bedanya prgram dan aplikasi ?
6. Apa yang dimaksud dengan Algoritma.
7. Sebutkan 3 (tiga) macam kesalahan yang mungkin pada saat membuat program
komputer. Jelaskan !
BAYU WIDODO, 2014
2. ProbStat :2
BAGIAN TEORI
PENGANTAR
Komputer ada semata-mata untuk membantu pekerjaan atau untuk memecahkan
masalah. Hal ini dikarenakan komputer mempunyai kelebihan dalam kecepatan proses
dan melakukan perhitungan yang komplek, mampu menyimpan data dalam jumlah yang
besar, dan mampu melakukan manipulasi data yang diolah.
Namun komputer tidak dapat melakukan itu semua tanpa adanya instruksi atau
perintah mengenai apa yang harus dikerjakan. Komputer bekerja karena diprogram.
Program yang mengendalikan kerja komputer dibuat untuk tujuan tertentu. Program
yang dibuat haruslah dimengerti oleh komputer, terinci, sistematis, dan logis.
Sarana komunikasi yang menjebatani hubungan manusia dengan komputer disebut
BAHASA KOMPUTER.1
Dengan bahasa ini, komputer akan mampu memahami dan
mengerti perintah-perintah yang diberikan. Bahasa komputer disebut juga BAHASA
PEMROGRAMAN KOMPUTER adalah suatu prosedur atau tata cara penulisan
program, yang dalam hal ini adalah kata, ekspresi, pernyataan atau kombinasi semuanya
yang disusun dan dirangkai dan berupa urutan-urutan langkah untuk menyelesaikan
masalah.
Bahasa pemrograman dapat dikelompokkan menjadi dua, yakni bahasa tingkat
rendah (low-level language) dan bahasa tingkat tinggi (high-level language). Bahasa tingkat
tinggi merupakan bahasa yang mudah dipahami oleh manusia, C merupakan bahawa
tingkat tinggi, contoh lain dari bahasa tingkat tinggi adalah Pascal, C++, Fortran, Perl,
Java. Sedangkan bahasa tingkat rendah merupakan bahasa mesin (bahasa assembly).
Dalam praktikum kali ini akan menggunakan bahasa Pascal dan menggunakan FPC
sebagai kompilernya.
Secara sederhana komputer hanya mampu mengeksekusi program yang ditulis
dalam bentuk bahasa mesin. Oleh karena itu, jika suatu program ditulis dalam bentuk
bahasa tingkat tinggi, maka program tersebut harus diproses dahulu sebelum bisa
dijalankan dalam komputer. Proses untuk merubah bahasa tingkat tinggi ke tingkat
rendah disebut dengan kompilasi program. Kompiler dan Interpreter merupakan
program komputer untuk menterjemahkan bahasa tingkat tinggi ke bahasa tingkat
rendah. Kompiler menerjemahkan bahasa pemrograman tingkat tinggi menjadi
kode-kode yang dapat dikenali oleh komputer untuk kemudain dieksekusi. Perlu
diperhatikan bahwa kompiler yang digunakan haruslah sesuai dengan kode yang akan
diterjemahkan. Sebagai contoh, apabila kode yang ditulis dalam bahasa Pascal, maka
tidak dapat menggunakan kompiler C dan sebaliknya.
Gambar 1.2 Kompiler Sebagai Sebuah Program
1 Kita menggunakan bahasa tertentu untuk dapat berkomunikasi dengan orang lain. Demikian halnya
dengan komputer. Komputer memerlukan program atau perangkat lunak yang memungkinkan user
dapat berkomunikasi dengan komputer.
BAYU WIDODO, 2014
COMPILER
OBJECT
PROGRAM
PROGRAM
SUMBER
3. ProbStat :3
Dalam menulis program dengan menggunakan suatu bahasa komputer, ada
kemungkinan terjadi kesalahan baik pada SINTAKSIS, SEMANTIK DAN KEBENARAN
LOGIKA. Sintaksis adalah tata bahasa yang digunakan di dalam program atau
menunjukkan struktur program dan aturannya. Kesalahan sintaks akan langsung
kelihatan, karena komputer akan menampilkan kesalahan. Sedangkan untuk kesalahan
semantik biasanya terjadi karena kekurangan pemahaman terhadap setiap pernyataan
yang dituliskan pada program, sehingga waluapun program berjalan tetapi hasil
keluarannya tidak sesuai dengan yang diharapkan. Untuk kesalahan logika, merupakan
kesalahan dalam mengimplementasikan masalah yang dihadapi, sehingga program yang
ditulis tidak benar secara logika.
KONSEP
PEMROGRAMAN
TERSTRUKTUR
Terdapat dua paradigma dalam dunia pemrograman, yaitu Pemrograman Prosedural
(Pemrograman Procedural / Terstruktur) dan Pemrograman Berorientasi Objek (OOP).
Pemrograman prosedural merupakan suatu metode pemrograman yang didasarkan pada
serangkaian tugas yang diselesaikan dalam bentuk fungsi atau prosedur. Dengan kata lain,
program adalah urutan intruksi. Fokus utama metode prosedural adalah fungsi dan
prosedur di mana keduanya digunakan untuk memanipulasi data. Penekanan
pemrograman prosedural adalah pada algoritma pemecahan masalah.
Pada pendekatan prosedural tersebut, permasalahan dilihat sebagai urutan sesuatu
yang harus dikerjakan (baca : algoritma program) secara sekuensial, seperti menerima
masukan (input), pemrosesan (processing), kemudian menghasilkan output, yang terfokus
pada fungsi-fungsi dan prosedur-prosedur. Biasanya untuk mengorganisasikan aliran
perintah dari satu aksi ke aksi yang lain menggunakan diagram alir (flow chart) atau
pseudokode.
Ciri-ciri pemrograman prosedural adalah sebagai berikut :
1. Penekanan pada suatu yang harus dikerjakan (algoritma pemecahan masalah).
2. Program berukuran besar dipecah-pecah menjadi program program yang lebih kecil.
3. Kebanyakan fungsi atau prosedur berbagi data global.
4. Data bergerak secara bebas dalam sistem, dari satu fungsi ke fungsi yang lain yang
terkait melalui parameter parameter di dalamnya.
5. Fungsi-fungsi mentransformasi data-data dari satu bentuk ke bentuk yang lain
menggunakan algoritma-algoritma tertentu.
6. Pendekatan adalah pendekatan dari atas ke bawah (top-down approach).
LANGKAH-LANGAH
MEMBUAT PROGRAM
Beberapa langkah yang harus diperhatikan oleh pemrogram sebelum
mengimplememtasikan suatu permasalahan dalam program adalah :
1. Mendefinsikan masalah.
Tujuan dari mendefinisikan masalah adalah untuk memahami permasalahan secara
mendalam. Langkah ini akan berkaitan dengan APA YANG AKAN DI-INPUTKAN
BAYU WIDODO, 2014
4. ProbStat :4
pada program, perintah perintah apa yang akan digunakan dan bagiamana bentuk
OUTPUTNYA.
2. Mencari solusi untuk memecahkan masalah.
Setelah dipahami permasalahan yang ada baik itu masukan (input), perintah yang
digunakan (proses) dan keluaran yang diinginkan baru dicari jawaban atau solusi
untuk memecahkan masalah sehingga masalah tersebut dapat diselesaikan dengan
baik.
Apabila masalah yang dihadapi terlalu besar, masalah tersebut biasanya dibagi-bagi
atau dipecah menjadi beberapa MODUL yang dapat memudahkan dalam
menyelesaikan masalah. Modul tersebut dinamakan fungsi (prosedur).
Sebagai ilustrasi :
Misalkan ada permasalahan : Buatlah program untuk menghitung luas dan keliling
persegi panjang. Dalam hal ini ada beberapa hal yang perlu diketahui yaitu bagian
mana saja yang menjadi input, proses dan output.
a. Untuk mencari luas persegi panjang tentunya harus mengerti bentuk persegi
panjang itu sendiri dan dalam persegi panjang ini apa saja yang terkait. Untuk
mencari luas dan keliling tentu saja yang terkait adalah Panjang dan Lebar.
b. Input yang akan dimasukkan adalah PANJANG dan LEBAR
c. Proses atau perintah untuk mencari Luas dan Keliling persegi panjang adalah
dengan rumus : Luas = Panjang * Lebar dan Keliling = 2 * (Panjang + Lebar)
d. Output yang diharapkan adalah luas dan keliling, dimana perhitungannya sudah
ditentukan.
3. Memilih teknik pemecahan masalah dan algoritma.
Dalam meemcahkan masalah memerlukan suatu teknik pemecahan masalah yang
tepat. Dalam hal ini akan dituangkan dalam suatu ALGORITMA. Algoritma dibuat
dengan tujuan untuk menyelesaikan suatu masalah. Algoritma tidak bisa sekali jadi,
tetapi akan dikaji berulang-ulang sampai diperoleh algoritma yang tepat, benar dan
relevan. Algoritma harus mempunyai kebenaran logika, sehingga siap
diimplementasikan dalam program. Algoritma merupakan pola pikir yang terstruktur
yang berisi tahap tahap penyelesaian suatu masalah, yang nantinya
diimplementasikan ke dalam suatu bahasa pemrograman. Algoritma independen
terhadap bahasa pemrograman. Algoritma lebih bersifat umum. Sedangkan program
sangat bergantung kepada bahasa pemrograman. Algoritma biasa dinyatakan dalam
bentuk diagram alir atau dalam bentuk pseudocode.
Misalkan, dalam permasalahan mencari luas dan keliling persegi panjang di atas,
dapat dibuat algoritma sebagai berikut :
a. Tentukan Variabel dan Tipe data yang digunakan, Misalkan untuk panjang, lebar
luas, dan keliling dengan tipe integer.
b. Masukkan input yaitu panjang dan lebar.
c. Lakukan proses pencarian luas dan keliling
luas = panjan * lebar
keliling = 2*(panjang + lebar)
BAYU WIDODO, 2014
5. ProbStat :5
d. Tampilkan luas dan keliling persegi panjang.
4. Menulis program.
Pada langkah ini adalah menuliskan program dengan suatu bahasa pemrograman
tertentu ke dalam komputer untuk memecahkan masalah yang ada. Pada praktikum
ini menggunakan bahasa Pascal yang termasuk bahasa pemrograman tingkat tinggi.
Adapun penulisan program dari algoritma di atas adalah sebagai berikut :
(* program menghitung luas dan keliling persegi panjang
Program : Latihan1.pas
*)
program Latihan1;
uses crt;
var
luas,keliling : ShortInt;
panjang, lebar : ShortInt;
begin
write('Masukkan Panjang : ');
readln(panjang);
write('Masukkan Lebar : ');
readln(lebar);
luas := panjang * lebar;
keliling := 2*(panjang + lebar);
writeln('Luas Persegi Panjang adalah : ,luas);
writeln('Keliling Persegi Panjang adalah : ',keliling);
ReadKey;
end.
Untuk komentar di dalam bahasa Pascal dapat menggunakan pasangan tanda '(*
komentar *)' atau dapat menggunakan tanda '// komentar' untuk komentar satu baris
ataupun dapat menggunakan pasangan tanda '{ komentar }'.
5. Melakukan testing dan debugging.
6. Melakukan dokumentasi.
7. Melakukan pemeliharaan.
ALGORITMA2
Algoritma merupakan pola pikir yang terstruktur yang berisi tahap tahap
penyelesaian suatu masalah, yang nantinya diimplementasikan ke dalam suatu bahasa
pemrograman. Algoritma independen terhadap bahasa pemrograman.
Sebagaimana diuraikan di atas, pemecahan masalah pada dasarnya adalah
menemukan langkah-langkah tertentu yang jika dijalankan efeknya akan memecahkan
masalah tersebut. Algoritma sebagai langkah-langkah pemecahan masalah dapat
dituliskan dalam beberapa cara, yaitu :
1. Uraian deskriptif
2. Pseudocode
2 Kata algoritma diambil dari nama ilmuwan muslim Abu Ja'fat Muhammad bin Musa Al-khwarizmi
(780-846 M).
BAYU WIDODO, 2014
6. ProbStat :6
3. Bagan alir (flowchart)
Biasanya dalam program, algoritma digunakan untuk tiga struktur program yaitu :
1. Struktur Urut (Sequence)
2. Struktur Keputusan (Decision Structure)
3. Struktur Perulangan (Looping Structure)
STRUKTUR URUT
Struktur urut terdiri dari pernyataan atau beberapa pernyataan yang tidak
mempunyai perulangan atau keputusan di dalamnya. Pada contoh program Latihan1.pas
di atas adalah contoh struktur urut.
Berikut ini contoh algoritma untuk memecahkan masalah dalam program struktur
urut. Misalkan membuat algoritma untuk menghitung luas dan volume suatu balok.
Adapun rumus untuk menghitung luas dan volume balok adalah :
Luas = (2*p*l) + (2*p*t) + (2*l*t) dan Volume = p*l*t
Algoritma dari permasalahan di atas adalah :
1. Masukkan panjang
2. Masukkan lebar
3. Masukkan tinggi
4. Luas = (2*panjang*lebar) + (2 * panjang*tinggi) + (2*lebar*tinggi)
5. Volume = panjang*lebar*tinggi
6. Tampilkan Luas
7. Tampilkan Volume
Sedangkan implementasi dalam bahasa Pascal adalah :
(* program menghitung luas dan volume balok
Program : Latihan2.pas
*)
program Latihan;
uses crt;
var
luas,volume : ShortInt;
panjang,lebar,tinggi : ShortInt;
begin
clrscr;
write('Masukkan Panjang : ');
readln(panjang);
write('Masukkan Lebar : ');
readln(lebar);
write('Masukkan Tinggi : ');
readln(tinggi);
luas := (2* panjang * lebar)+ (2*panjang*tingg)+(2*lebar*tingg);
volume := panjang*lebar*tinggi;
writeln('Luas balok adalah : ,luas);
writeln('Volme balok adalah : ',volume);
ReadKey;
end.
BAYU WIDODO, 2014
7. ProbStat :7
Struktur Keputusan
Struktur pengambilan keputusan (decision) digunakan untuk memilih salah satu
alternatif jawaban yang tepat dari pilihan yang ada. Pascal menyediakan tiga perintah
untuk pengambilan keputusan yaitu : if . . . then ; if . . . then . . . else dan case . . . of.
Berikut ini contoh algoritma untuk memecahkan masalah dalam program untuk
struktur keputusan. Misalkan diminta untuk membuat algoritma dan program
menghitung total pembayar dari pembelian seorang pelanggan toko. Dalam kasus ini ada
ketentuan pemberian diskon 10% dari total pembayaran yang lebih besar atau sama
dengan Rp. 1.000.000,- , jika tidak pelanggan hanya akan mendapatkan diskon 5%.
Algoritma permasalah di atas adalah :
1. Masukkan pembelian
2. Jika beli >=1000000, diskon =10% * beli
3. TotalPembelian = beli - diskon
4. Jika pembelian < 1000000, diskon = 5% * beli
5. TotalPembelian = beli - diskon
6. Tampilkan beli
7. Tampilkan diskon
8. Tampilkan TotalPembelian
Keterangan dari algoritma di atas adalah : pada baris pertama, Anda diminta untuk
memasukkan input yang berkaitan dengan permasalahan di atas, yakni pembelian.
Adapaun pembelian tersebut disimpan di dalam varabel 'beli'. Pada baris ke dua,
dilakukan pengujian dan pengecekan (ada pencabangan) pembelian yang dimasukkan,
yaitu apabila pembelian sama dengan atau lebih besar 1000000 atau tidak. Jika
jawabannya ya, maka pelanggan tersebut mendapat discount 10% dan untuk menghitunh
Total pembayarannya = beli – dikon. Untuk discount disimpan di dalam variabel 'diskon'
dan total pembayaran disimpan di dalam variabel 'TotalPembelian'. Jika jawabannya
tidak, maka baris yang akan dikerjakan dalam program adalah baris ke-empat dan ke-lima
yaitu pelanggan hanya mendapatkan discount 5% dan menghitung total pembayaran
dengan rumus = beli – diskon. Selanjutnya baris ke-enam sampai ke-delapan akan
ditampilkan pembelian, discount dan total pembayaran.
(**)
(* Nama Program : Latihan3.pas *)
(* Tanggal dibuat : Agustus 2014 *)
(**)
Program Latihan3; (* Nama program *)
Uses
Crt; (* Penggunaan unit *)
Var (*Deklarasi Variabel *)
beli,TotalPembelian,diskon : real;
Begin {Awal Program}
clrscr;
BAYU WIDODO, 2014
8. ProbStat :8
Write('Jumlah pembelian (Rp) : '); {Output}
Readln(beli); {input}
if beli < 1000000 then
begin
diskon := beli * 0.05;
TotalPembelian := beli diskon;
end
else
begin
diskon := beli * 0.10;
TotalPembelian := beli diskon;
end;
Writeln('Total Pembelian, Rp : ',beli:6:0);
Writeln('Discount Pembelian, Rp : ',diskon:2:2);
Writeln('Dibayar , Rp : ',TotalPembelian:6:2);
Readkey;
End. {Akhir program}
Struktur Perulangan
Struktur perulangan (looping) digunakan untuk melakukan suatu proses secara
berulang-ulang, jika suatu kondisi dipenuhi atau sebaliknya. Proses perulangan biasanya
digunakan untuk beberapa hal, misalnya : mengulang proses pemasukan data, mengulang
proses perhitungan dan mengulang proses penampilan hasil pengolahan data.
Kita ambil contoh algoritma untuk memecahkan masalah dalam program untuk
menampilkan bilangan dari 10 sampai dengan 1 secara menurun, yaitu : 10, 9, 8, 7, 6, 5,
4, 3, 2, 1. Algoritma permasalahan di atas adalah :
1. Tentukan nilai awal, batas, dan penurunan nilai
2. Lakukan perulangan sampai batas terpenuhi
3. Tampilkan bilangan
Keterangan dari algoritma di atas adalah : pada baris pertama, Anda diminta untuk
mendefinisikan variabel bilangan dalam hal ini sampai dengan variabel n. Adapun nilai
awal n adalah 10. Kemudian batas dari bilangan n adalah n > 0.
Karena yang ditampilkan bilangan secara menurun maka bilangan awal dikurangi
satu persatu. Dalam bahasa Pascal adalah n := n – 1. Pada baris ke dua proses perulangan
dimulai, dengan n = 10, karena 10 > 1 maka proses perulangan dilakukan dan proses
penurunan berjalan yaitu 9 := 10 -1 dan seterusnya sampai dengan n=0. Apabila n=0
maka proses perulangan dihentikan.
**)
(* Nama Program : Latihan4.pas *)
(* Tanggal dibuat : Agustus 2014 *)
(**)
Program Latihan4; (* Nama program *)
Uses
Crt; (* Penggunaan unit *)
Var (*Deklarasi Variabel *)
BAYU WIDODO, 2014
9. ProbStat :9
n : Integer;
Begin {Awal Program}
for n := 10 downto 1 do
writeln(n);
Readkey;
End. {Akhir program}
STRUKTUR BAHASA
PASCAL ATAU
PENULISAN PROGRAM
PASCAL
Struktur Bahasa Pascal secara garis besar sama seperti bahasa pemrograman tingkat
tinggi lainnya. Secara umum bentuk dasar dari bahasa Pascal meliputi :
Program NamaProgram; (*Nama Program)
Const
(*Deklarasi Konstanta)
Var
(*Variable Declarations)
(*Sub program Definitions)
Begin
(*Executable Statemens)
End.
Masing-masing elemen harus tersusun secara benar, dan beberapa di antaranya
kadang-kadang dihilangkan jika tidak diperlukan dalam membuat program. File yang
ditulis dalam Pascal disebut Kode sumber (Source Code). Penamaan kode sumber Pascal
harus disimpan dengan ektensi *.pas. Setelah program selesai dibuat perlu dilakukan
kompilasi untuk menjadikan program tersebut dapat dijalankan ( diterjemahkan menjadi
bahasa mesin ).
Latihan 1 :
(**)
(* Tanggal dibuat : Agustus 2014 *)
(* Nama File : Pascal.pas *)
(**)
Begin
End.
1. Dalam bahasa Pascal, untuk memulai suatu program harus dimulasi dengan kata
“Begin” dan sebagai penutup program harus diakhiri dengan kata “End.” (end diikuti
titik). Pada contoh progam Pascal.pas di atas adalah contoh program yang tidak
menghasilkan apa-apa.
2. Penulisan komentar pada Pascal dapat menggunakan tanda “(*” dan ditutup dengan
“*)” atau dengan menggunakan tanda kurung kurawal {komentar}.
3. Pascal membutuhkan titik-koma (semi kolon) dibelakang setiap statemen.
BAYU WIDODO, 2014
10. ProbStat :10
4. Untuk dapat mengeksekusi program yang ditulis dalam bahasa Pascal, membutuhkan
kompilator Pascal. Secara umum ada tiga proses untuk menjalankan program Pascal,
yakni :
(1) Menulis program dalam pascal, yang disebut program sumber dengan text-editor
atau dengan FPC. Source kode disimpan dalam file berkestensi *.pas
(2) Menjalankan kompilator untuk menterjemahkan atau mengkompilasi program
sumber ke dalam bahasa mesin. Bahasa mesin ini disebut dengan objek program
(object code)
(3) mengeksekusi object code.
Latihan 2 :
/**/
/* Nama Program : Praktikum2.pas */
/* Tanggal dibuat : Agustus 2014 */
/**/
Program Praktukum2; (* Nama program *)
Uses
Crt; (* Penggunaan uni *)
Var (*Deklarasi Variabel)
Nilai, Jumlah : integer;
Nama : String;
Harga : Double;
Begin {Awal Program}
Nilai := 10; {Memberi nilai}
Nama := 'Buku Statistika';
Write('Jumlah buku : '); {Output}
Readln(Jumlah); {input}
Write('Harga Total : ');
Readln(Harga);
Write(Nama,' berjumlah ',Jumlah:4:2);
End. {Akhir program}
Untuk menjalankan program tersebut, pertama Anda dapat megetikkan di FPC
atau text-editor yang disimpan dalam sebuah file dengan ekstensi *.pas. Kemudian
kompilasi hingga menghasilam object-program.
Pada contoh program sumber diberi nama Praktikum2.pas. Pada program di atas
mengilustrasikan beberapa hal yang perlu Anda kenal dalam bahasa Pascal, diantaranya
adalah : (1) Komentar, (2) reserved Word (Kata Kunci), (3) Identifier (Nama), (4)
pendefinisian Variabel, dan (5) Perintah 'write' dan 'read'
1. Program. Kata kunci 'program' menunjukkan kepada kompiler awal sebuah program
yang ditulis dalam bahasa Pascal. Penamaan kode sumber bahasa Pascal adalah
disimpan dalam ekstensi *.pas. Dalam contoh diatas disimpan dengan nama
Praktikum2.pas.
2. Uses. Kata kunci 'uses' menunjukkan kepada kompiler penggunaan unit (Deklarasi
BAYU WIDODO, 2014
11. ProbStat :11
unit). Unit merupakan fungsi atau prosedur yang siap digunakan dengan hanya
mendeklarasikan nama unitnya pada awal program. Bentuk umum pendeklrasian unit
adalah dengan menggunakan kata kunci uses <nama_unit>. Pada contoh Latihan2,
mendeklarasikan penggunaan unit bernama Crt.
3. Var. Kata kunci3
'var' digunakan untuk menandai awal pendefinsian variabel yang
digunakan dalam program. Variabel digunakan untuk menyimpan data yang
digunakan dalam program. Nama variabel pada program Latihan2 adalah 'Nilai',
'Jumlah' yang bertipe integer. Variabel 'Jumlah' akan digunakan untuk menyimpan
masukan dari keyboard yang dilakukan dengan perintah 'readln'. variabel 'Harga' yang
bertipe double dan variabel 'Nama' bertipe string.
4. Begin … End. Kata kunci 'begin' menandai awal rangkaian perintah dan kata kunci
'end. ' menandakan akhir dari rangkaian perintah dari sebuah program Pascal.
5. Kata 'write', 'writeln, 'read' dan 'readln' bukan merupakan kata kunci, tetapi nama
procedure yang sudah didefinsikan oleh Pascal (built-in procedure – prosedure yang
siap pakai).
6. Kata 'ReadKey', merupakan prosedur yang ada di dalam unit Crt. Jadi penggunaan
procedure 'ReadKey' unit Crt harus didefinikan terlebih dengan menggunakan kata
kunci 'uses'. ReadKey merupakan procedure untuk menerima input 1 karakter
(termasuk spasi) tanpa menampilkan karakter yag ditekan.
ELEMEN DASAR PASCAL
1. PENGENAL
Pengenal atau Identifier adalah nama yang diberikan oleh programmer. Pada
contoh program Praktikum2.pas, Praktikum2 adalah sebuah identifier untuk menamai
program. Identifier dapat diganti dengan mudah, misalkan nama program ingin diganti
menjadi Latihan2, maka bagian :
Program Praktikum2;
diganti dengan
program Latihan2;
Identifier tidak hanya untuk menamai program tetapi dapat berupa nama
konstanta, variabel, prosedur, fungsi, tipe data. Ketentuan untuk memberi nama
identifier adalah sebagai berikut :
1. Karakter pertama nama identifier harus berupa huruf.
2. Karakter selanjutnya dapat berupa gabungan huruf dan angka
3. Nama tidak berupa reversed word (kata kunci) dalam Pascal.
Nama dapat lebih dari satu kata, namun tidak boleh dipisahkan dengan spasi.
Nama dalam Pascal tidak 'case sensitive', artinya huruf besar dan huruf kecil tidak
dibedakan. Nama 'TotalHarga' dan 'totalharga' dianggap sama.
3 Kata Kunci (Reserved Word) adalah kata-kata yang sudah mempunyai arti khusus dalam bahasa
pemrograman.
BAYU WIDODO, 2014
12. ProbStat :12
ELEMEN DASAR PASCAL
2. KATA KUNCI
Kata kunci adalah kata yang telah terdifinisi sebelumya dan ditujukan untuk
keperluan spesifik tertentu. Kata kunci tidak dapat kita modifikasi atau kita gunakan
sebagai pengenal (Identifier). Pascal sangat sedikit mempunyai kata kunci, diantaranya
adalah :
Integer Char Record With
Case Real If Until
While With Else Type
Program Begin End Downto
Do goto while Then
Mod Nil Of Div
ELEMEN DASAR PASCAL
2. TIPE DATA
Pengertian tipe data adalah suatu nilai yang dapat dinyatakan dalam bentuk
konstanta atau variabel dan operator yang dapat dikenakan padanya. Konstanta
menyatakan nilai yang tetap, sedangkan variabel menyatakan nilai yang dapat
diubah-ubah selama eksekusi berlanngsung. Pascal mengenal beberapa tipe data, yakni
Tipe Data Sederhana, Tipe Data Terstruktur dan Tipe Data Pointer. Perhatikan gambar
berikut yang menunjukkan pembagian tipe data dalam Pascal.
Perbandingan Tipe Data Dasar Pascal
Type Keterangan
Keterangan
Tambahan
Contoh
Integer Bilangan Bulat -3, 10, 12, 0, 121
String Variabel String Text
'Hello World'
'345.67'
Char Karakter Hanya satu karakter 'b', 'x', . .. '7'
Booelan Booelan Hanya berisi T or F True, False
Real Bilangan Real Bilangan Desimal
(berkoma)
4.0, 123.76, 2.0E4
BAYU WIDODO, 2014
Tipe Terstruktur
Pointer
Ordinal
Sederhana
● Integer
● Boolean
● Char
● Enumerasi
● SubJangkauan
Real
● Integer
● Boolean
● Char
● Enumerasi
● SubJangkauan
13. ProbStat :13
1. Tipe dasar adalah tipe data yang sudah disediakan oleh bahasa pemrograman (Pascal)
tanpa didefinisikan terlebih dahulu. Empat tipe dasar yang akan kita gunakan (bahas)
dalam praktikum ini meliputi Integer, Real, Char dan Boolean.
2. Disamping tipe dasar, terdapat tipe yang harus didefinisikan terlebih dahulu sebelum
digunakan (User-Defined Types) disebut juga Tipe Terstruktur (Structured-Data Types,
ADT).
1. Tipe Integer
Tipe Integer merupakan tipe data yang mereprensentasikan nilai-nilai bilangan
bulat (bilangan yang tidak mengandung pecahan desmal), seperti : -3, -5, 8, 99, 102, . . .
Berikut ini daftar lengkap tipe integer yang didukung oleh Pascal :
Type Range
Ukuran
(Byte)
Format
ShorInt -128 . . . 127 1 Signed 8-bit
Integer -32768 . . . 32767 2 Signed 16-bit
LongInt -2147483648 . . . 2147483647 4 Signed 32-bit
Byte 0 . . . 255 1 Unsigned 8-bit
Word 0 . . . 65535 2 Unsigned 16-bit
Terdapat lima operator yang dapat dikenakan terhadap data atau nilai dari tipe
integer, yakni penjumlahan (+), Pengurangan (-), perkalian (*), Division, mengirimkan
hasil pembagian bulat (div), dan mod, Modulo, mengirimkan sisa pembagian (mod).
2. Tipe Real / Floating Point
Tipe data real digunakan untuk merepresentasikan nilai pecahan. Bilangan dengan
nilai-nilai seperti ini sering disebut dengan istilah floating-point. Tipe data real ini juga
tersedia atas beberapa macam yang berbeda dalam range dan besar memori yang
disediakan. jenis-jenis tipe real dapat dilihat pada tabel berikut ini :
Type Range
Ukuran
(Byte)
Digit
Real ± 2.9 x 10-39
. . . 1.7 x 1038
6 11 - 12
Single ± 1.5 x 10-45
. . . 13.4 x 1038
4 7 - 8
Double ± 5 x 10-324
. . . 1.7 x 10308
8 15 - 16
Extended ± 3.4 x 10-4932
. . . 1.1 x 104932
10 19 - 20
Comp - 9.2 x 1018
. . . 9.2 x 1018
8 19 - 20
BAYU WIDODO, 2014
14. ProbStat :14
2. Tipe String
String merupakan runtunan karakter atau gabungan (array) dari karakter sebanyak
256 (default). Ada baiknya jika Anda menentukan berapa banyak karakter dalam tipe
data string tersebut dibutuhkan. Hal ini berhubungan dengan jumlah memori yang
dialokasikan. Sebagai ilustrasi perhatikan contoh berikut :
Var
Kalimat : string;
Nama : string[25];
Alamat : string[30];
Contoh di atas, variabel 'Kalimat' menggunakan panjang string default (256)
karakter, variabel nama mengalokasikan tempat sebanyak 25 karakter dan berarti memori
yang dialokasikan sebesar 25 byte. Tentunya akan sia-sia jika kita mengalokasikannya
secara default (256 karakter) yang tentunya jarang sekali atau bahkan tidak mungkin
nama seseorang memiliki nama dengan panjang 256 karakter.
2. Tipe Karakter
Tipe data karakter hanya dapat menampung satu karakter saja dan mengalokasikan
1 byte memori. Terdapat dua himpunan karakter yang umum digunakan, yaitu :
himpunan menurut American Standart Code For Information Interchange (ASCII,
dibaca as-key) dan himpunan karakter yang biasa digunakan dalam mainframe IBM yaitu
Extended Binary Coded Decimal Interchange Code (EBDIC, dibaca abseedick). ASCII
yang paling umum digunakan.
Setiap karakter berkorespondensi satu-satu dengan sebuah integer non-negatif.
Integer yang berkoresponden dengan karakter tersebut disebut dengan nilai ordinal, nilai
keterurutan (ordinal value). Adanya integer non-negatif yang berkorespondensi satu satu
dengan karakter memungkinkan mengetahui sebuah karakter jika diketahui nilai
ordinalnya. pascal menyediakan fungsi built-in untuk ini, yaitu fungsi-fungsi ordinal.
Fungsi-fungsi ordinal yang disediakan Pascal untuk memproses data yang berype 'char'
ditunjukkan pada tabel berikut ini :
Fungsi Arti Tipe Hasil
succ(ch) Suksesor char
pred(ch) Predesor char
ord(ch) Nilai Ordinal Integer
chr(int) Nilai Karakter char
succ('A')
succ('m')
pred('q')
ord('A')
ord('a')
chr(65)
chr(97)
'B'
'n'
'p'
65
97
'A'
'a'
BAYU WIDODO, 2014
15. ProbStat :15
3. Tipe Boolean
Tipe data boolean biasanya digunakan untuk merepresentasikan logika. Tipe data
boolean hanya dapat bernilai True (1) atau False (0). Ekspresi yang nilainya True atau
False disebut ekspresi boolean. Terdapat dua jenis operator yang dapat digunakan dalam
ekperesi boolean, yaitu operator boolean dan operator relational.
Operator boolean terdiri dari 'and', 'or' atau 'not' . Tabel kebenaran untuk operator
boolean dapat dilihat pada tabe berikut :
p q p and q p or q not p
true true true true false
true false false true false
false true false true true
false false false false true
Opertaor relational digunakan untuk membandingkan antara dua bua nilai
(operan), baik tipe boolean, integer, real maupun char dengan beberapa perkecualian.
Operator ini terdiri dari '=', '<', '>', '>=', '=<', dan '<>'.
Operator bertipe 'real' tidak dapat menggunakan operator relational sama dengan
(=), dan operator tidak sama dengan (<>) tetapi dapat menggunakan operator relational
lainnya.
4. Tipe Enumerasi
Tipe enumerasi adalah tipe data yang nilainya terbatas pada nilai-nilai yang
terdapat pada saat pendeklarasian tipe tersebut. Bentuk umum untuk mendeklarasikan
tipe enumerasi adalah :
type
NamaType = (nilai_1, nilai_2, . . ., nilai_n)
Dimana 'NamaType' dan nilai_1, nilai_2, sampai dengan nilai_n adalah suatu
identifier yang absah. Sebagai contoh kita aka melakukan enumerasu untuk jenis
kelamin, maka kita dapat menuiskan sbb :
type
JenisKelamin = (Pria,Wanita)
contoh lain :
type
Hari = (Senin, Selasa, Rabu, Kamis, Jumat, Sabtu, Minggu)
var
HariKerja : Hari;
Begin
. . .
for HariKerja := Senin to Minggu do
{Mengerjakan Statemen Perulangan}
End.
BAYU WIDODO, 2014