SlideShare a Scribd company logo
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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

More Related Content

PPT
Algoritma Pemrograman - Variabel, Konstanta & Tipe Data
PPTX
Presentasi Algoritma Pemrograman
DOCX
MAKALAH POINTER (DIKI CANDRA) (1).docx
PPTX
Ragam Dialog :: Interaksi Manusia dan Komputer
PPTX
6. metode inferensi
PDF
Dasar dasar pemograman_delphi
PPTX
#1 PENGENALAN PYTHON
Algoritma Pemrograman - Variabel, Konstanta & Tipe Data
Presentasi Algoritma Pemrograman
MAKALAH POINTER (DIKI CANDRA) (1).docx
Ragam Dialog :: Interaksi Manusia dan Komputer
6. metode inferensi
Dasar dasar pemograman_delphi
#1 PENGENALAN PYTHON

What's hot (20)

PDF
PPTX
dasar-dasar pemrograman
PDF
Manajemen ruang-lingkup-proyek
PPTX
Sistem input output
PPT
9. tabel informasi
PPT
Metode pencarian heuristik
PPT
Algoritma dan Flowchart.ppt
PDF
Makalah prosedur dan fungsi
PDF
ERD Sistem Informasi Pemesanan Tiket Bioskop Online
DOCX
Konsep sistem keamana Pertamina
DOCX
SOAL UAS TKJ PEMROGRAMAN DASAR pilihan ganda
PPT
1. pengenalan python
PPTX
Sistem Komputer
PDF
Prinsip User Interface Design
PPT
Interupsi
PPTX
Pertemuan 6 & 7 ars. gerbang logika
PPTX
Konteks, Data Flow Diagram dan Kamus Data
PDF
Organisasi dan arsitektur komputer
PDF
Gerbang logika dasar
PPT
1 pengenalan-konsep-imk
dasar-dasar pemrograman
Manajemen ruang-lingkup-proyek
Sistem input output
9. tabel informasi
Metode pencarian heuristik
Algoritma dan Flowchart.ppt
Makalah prosedur dan fungsi
ERD Sistem Informasi Pemesanan Tiket Bioskop Online
Konsep sistem keamana Pertamina
SOAL UAS TKJ PEMROGRAMAN DASAR pilihan ganda
1. pengenalan python
Sistem Komputer
Prinsip User Interface Design
Interupsi
Pertemuan 6 & 7 ars. gerbang logika
Konteks, Data Flow Diagram dan Kamus Data
Organisasi dan arsitektur komputer
Gerbang logika dasar
1 pengenalan-konsep-imk
Ad

Similar to Algoritma pemrograman terstruktur (20)

DOCX
Algoritma dan pemrograman
PDF
Algoritam1
PDF
Module algoritma
PPTX
1 ADP Algoritma
PPT
Pengantar Pemrograman Dasar dan kosep dasar
PPTX
1 adp dasar-dasar algoritma
PPTX
1 adp dasar-dasar algoritma
PPTX
1.adp dasar-dasar algoritma
PPTX
1 adp dasar-dasar algoritma
PPTX
1 adp dasar-dasar pemrograman
PDF
Pertemuan 1
PPT
Algoritma: Prinsip, Jenis, dan Implementasi dalam Pemecahan Masalah
PPT
Pengantar_Pemrograman_Dasar_Pembelajaran.ppt
PDF
Kegiatan belajar 1 flowchart
DOTX
PDF
Modul algoritma pemrograman-dasar x rpl
PDF
Modul Pemrograman Dasar.pdf
PDF
Pemrograman dasar
DOC
Pengantar Algoritma Dan Program
DOCX
makalah tentang algoritma lengkap
Algoritma dan pemrograman
Algoritam1
Module algoritma
1 ADP Algoritma
Pengantar Pemrograman Dasar dan kosep dasar
1 adp dasar-dasar algoritma
1 adp dasar-dasar algoritma
1.adp dasar-dasar algoritma
1 adp dasar-dasar algoritma
1 adp dasar-dasar pemrograman
Pertemuan 1
Algoritma: Prinsip, Jenis, dan Implementasi dalam Pemecahan Masalah
Pengantar_Pemrograman_Dasar_Pembelajaran.ppt
Kegiatan belajar 1 flowchart
Modul algoritma pemrograman-dasar x rpl
Modul Pemrograman Dasar.pdf
Pemrograman dasar
Pengantar Algoritma Dan Program
makalah tentang algoritma lengkap
Ad

More from Raden Maulana (17)

PDF
Diskret VIII Tree
PDF
Diskret VII Graph
PDF
Diskret VI Rekursif
PDF
Diskret V Relasi Fungsi
PDF
Diskret IX Optimisasi
PDF
Diskret IV Himpunan
PDF
Diskret III Induksi
PDF
Diskret II Logika
PDF
Diskret I Kombinatorika
PDF
Kuliah statistika lanjut
PDF
Kuliah statistika dasar
PDF
Beberapa distribusi peluang kontinu
PDF
Beberapa distribusi peluang diskrit (1)
PDF
00 kuliah-03-01-distribusi-probabilitas-diskret-teoritis
PDF
Pengantar R3
PDF
Pengantar R
PDF
Sesi 1 PB&S
Diskret VIII Tree
Diskret VII Graph
Diskret VI Rekursif
Diskret V Relasi Fungsi
Diskret IX Optimisasi
Diskret IV Himpunan
Diskret III Induksi
Diskret II Logika
Diskret I Kombinatorika
Kuliah statistika lanjut
Kuliah statistika dasar
Beberapa distribusi peluang kontinu
Beberapa distribusi peluang diskrit (1)
00 kuliah-03-01-distribusi-probabilitas-diskret-teoritis
Pengantar R3
Pengantar R
Sesi 1 PB&S

Recently uploaded (20)

PPTX
Slide PPT Metode Ilmiah Kelas 7 SMP.pptx
PDF
883668952-KP-4-Modul-2-Kerangka-Pembelajaran-Mendalam.pdf
PDF
PPT IPS Geografi SMA Kelas X_Bab 1 Pengantar Geografi_May.pdf
PDF
Materi Seminar AITalks: AI dan Konseling GPT
DOCX
Modul Ajar Pembelajaran Mendalam Senbud Seni Musik Kelas XII Terbaru 2025
DOCX
Modul Ajar Deep Learning Prakarya Kerajinan Kelas 12 SMA Terbaru 2025
DOCX
Modul Ajar Deep Learning PAI & BP Kelas 12 SMA Terbaru 2025
DOCX
Modul Ajar Deep Learning Bahasa Inggris Kelas 12 SMA Terbaru 2025
PPTX
PPT SURAT AL FIL LOMBA MAPSI SEKOLAH DASAR
PDF
Deck Rumah Pendidikan untuk Mendukung Program Prioritas Kemendikdasmen.pdf
DOCX
CONTOH RANCANGAN MODUL PROYEK KOKURIKULER SMA 1.docx
DOCX
Lembar Kerja Mahasiswa Information System
PDF
Digital Statecraft Menuju Indonesia Emas 2045: Diplomasi Digital, Ketahanan N...
DOCX
Modul Ajar Pembelajaran Mendalam Senbud Seni Rupa Kelas XII Terbaru 2025
DOCX
Modul Ajar Deep Learning PJOK Kelas 10 SMA Terbaru 2025
PPTX
MATERI MPLS TENTANG KURIKULUM DAN KEGIATAN PEMBELAJARAN
DOCX
Modul Ajar Deep Learning PJOK Kelas 12 SMA Terbaru 2025
PPTX
Pancasila: fondasi peradaban dan kebudayaan berkelanjutan
DOCX
Modul Ajar Pembelajaran Mendalam Senbud Seni Teater Kelas 12 Terbaru 2025
DOCX
Modul Ajar Deep Learning PKWU Rekayasa Kelas 12 SMA Terbaru 2025
Slide PPT Metode Ilmiah Kelas 7 SMP.pptx
883668952-KP-4-Modul-2-Kerangka-Pembelajaran-Mendalam.pdf
PPT IPS Geografi SMA Kelas X_Bab 1 Pengantar Geografi_May.pdf
Materi Seminar AITalks: AI dan Konseling GPT
Modul Ajar Pembelajaran Mendalam Senbud Seni Musik Kelas XII Terbaru 2025
Modul Ajar Deep Learning Prakarya Kerajinan Kelas 12 SMA Terbaru 2025
Modul Ajar Deep Learning PAI & BP Kelas 12 SMA Terbaru 2025
Modul Ajar Deep Learning Bahasa Inggris Kelas 12 SMA Terbaru 2025
PPT SURAT AL FIL LOMBA MAPSI SEKOLAH DASAR
Deck Rumah Pendidikan untuk Mendukung Program Prioritas Kemendikdasmen.pdf
CONTOH RANCANGAN MODUL PROYEK KOKURIKULER SMA 1.docx
Lembar Kerja Mahasiswa Information System
Digital Statecraft Menuju Indonesia Emas 2045: Diplomasi Digital, Ketahanan N...
Modul Ajar Pembelajaran Mendalam Senbud Seni Rupa Kelas XII Terbaru 2025
Modul Ajar Deep Learning PJOK Kelas 10 SMA Terbaru 2025
MATERI MPLS TENTANG KURIKULUM DAN KEGIATAN PEMBELAJARAN
Modul Ajar Deep Learning PJOK Kelas 12 SMA Terbaru 2025
Pancasila: fondasi peradaban dan kebudayaan berkelanjutan
Modul Ajar Pembelajaran Mendalam Senbud Seni Teater Kelas 12 Terbaru 2025
Modul Ajar Deep Learning PKWU Rekayasa Kelas 12 SMA Terbaru 2025

Algoritma pemrograman terstruktur

  • 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