algoritma pemrograman terstruktur

15
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

Upload: raden-maulana

Post on 20-Jul-2015

533 views

Category:

Education


1 download

TRANSCRIPT

Page 1: Algoritma pemrograman terstruktur

ProbStat :1

Praktikum PASCALAlgoritma Pemrograman Terstruktur

DURASI NAMA / NIM

2 x 60'

▶ Tujuan Instruksional Umum

Setelah menyelesaikan praktikum ini, Mahasiswa diharapkan mengerti, memahamidan mampu membuat algoritma dan Program untuk memecahkan masalahsederhana.

▶ Tujuan Instruksional Khusus

Pencapaian tujuan Instruksional Umum dalam pertemuan ini akan dijelaskan :1. Mahasiswa mengenal dan mampu menggunakan bahasa pemrograman Pascal2. Mahasiswa mengenal dan mampu membuat program dengan menggunakan FPC3. Mahasiswa mampu membuat algoritma pemrograman4. Mahasiswa mampu membuat diagram alir (flow chart)

▶ Tugas Pendahuluan

1. Jelaskan pengertian Interperter dan Compiler. Berikan perbedaannya dan berikansatu contoh compiler dan interpreter.

2. Jelaskan dengan diagram tahap—tahap pemrograman PASCAL3. Tuliskan struktur Bahasa PASCAL4. 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

Page 2: Algoritma pemrograman terstruktur

ProbStat :2

BAGIAN TEORI

PENGANTAR

Komputer ada semata-mata untuk membantu pekerjaan atau untuk memecahkanmasalah. Hal ini dikarenakan komputer mempunyai kelebihan dalam kecepatan prosesdan melakukan perhitungan yang komplek, mampu menyimpan data dalam jumlah yangbesar, dan mampu melakukan manipulasi data yang diolah.

Namun komputer tidak dapat melakukan itu semua tanpa adanya instruksi atauperintah mengenai apa yang harus dikerjakan. Komputer bekerja karena diprogram.Program yang mengendalikan kerja komputer dibuat untuk tujuan tertentu. Programyang dibuat haruslah dimengerti oleh komputer, terinci, sistematis, dan logis.

Sarana komunikasi yang menjebatani hubungan manusia dengan komputer disebutBAHASA KOMPUTER.1 Dengan bahasa ini, komputer akan mampu memahami danmengerti perintah-perintah yang diberikan. Bahasa komputer disebut juga BAHASAPEMROGRAMAN KOMPUTER adalah suatu prosedur atau tata cara penulisanprogram, yang dalam hal ini adalah kata, ekspresi, pernyataan atau kombinasi semuanyayang disusun dan dirangkai dan berupa urutan-urutan langkah untuk menyelesaikanmasalah.

Bahasa pemrograman dapat dikelompokkan menjadi dua, yakni bahasa tingkatrendah (low-level language) dan bahasa tingkat tinggi (high-level language). Bahasa tingkattinggi merupakan bahasa yang mudah dipahami oleh manusia, C merupakan bahawatingkat 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 FPCsebagai kompilernya.

Secara sederhana komputer hanya mampu mengeksekusi program yang ditulisdalam bentuk bahasa mesin. Oleh karena itu, jika suatu program ditulis dalam bentukbahasa tingkat tinggi, maka program tersebut harus diproses dahulu sebelum bisadijalankan dalam komputer. Proses untuk merubah bahasa tingkat tinggi ke tingkatrendah disebut dengan kompilasi program. Kompiler dan Interpreter merupakanprogram komputer untuk menterjemahkan bahasa tingkat tinggi ke bahasa tingkatrendah. Kompiler menerjemahkan bahasa pemrograman tingkat tinggi menjadikode-kode yang dapat dikenali oleh komputer untuk kemudain dieksekusi. Perludiperhatikan bahwa kompiler yang digunakan haruslah sesuai dengan kode yang akanditerjemahkan. Sebagai contoh, apabila kode yang ditulis dalam bahasa Pascal, makatidak 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 halnyadengan komputer. Komputer memerlukan program atau perangkat lunak yang memungkinkan userdapat berkomunikasi dengan komputer.

BAYU WIDODO, 2014

COMPILEROBJECT

PROGRAMPROGRAMSUMBER

Page 3: Algoritma pemrograman terstruktur

ProbStat :3

Dalam menulis program dengan menggunakan suatu bahasa komputer, adakemungkinan terjadi kesalahan baik pada SINTAKSIS, SEMANTIK DAN KEBENARANLOGIKA. Sintaksis adalah tata bahasa yang digunakan di dalam program ataumenunjukkan struktur program dan aturannya. Kesalahan sintaks akan langsungkelihatan, karena komputer akan menampilkan kesalahan. Sedangkan untuk kesalahansemantik biasanya terjadi karena kekurangan pemahaman terhadap setiap pernyataanyang dituliskan pada program, sehingga waluapun program berjalan tetapi hasilkeluarannya tidak sesuai dengan yang diharapkan. Untuk kesalahan logika, merupakankesalahan dalam mengimplementasikan masalah yang dihadapi, sehingga program yangditulis tidak benar secara logika.

KONSEPPEMROGRAMAN

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 padaserangkaian tugas yang diselesaikan dalam bentuk fungsi atau prosedur. Dengan kata lain,program adalah urutan intruksi. Fokus utama metode prosedural adalah fungsi danprosedur di mana keduanya digunakan untuk memanipulasi data. Penekananpemrograman prosedural adalah pada algoritma pemecahan masalah.

Pada pendekatan prosedural tersebut, permasalahan dilihat sebagai urutan sesuatuyang harus dikerjakan (baca : algoritma program) secara sekuensial, seperti menerimamasukan (input), pemrosesan (processing), kemudian menghasilkan output, yang terfokuspada fungsi-fungsi dan prosedur-prosedur. Biasanya untuk mengorganisasikan aliranperintah dari satu aksi ke aksi yang lain menggunakan diagram alir (flow chart) ataupseudokode.

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 yangterkait melalui parameter parameter di dalamnya.

5. Fungsi-fungsi mentransformasi data-data dari satu bentuk ke bentuk yang lainmenggunakan algoritma-algoritma tertentu.

6. Pendekatan adalah pendekatan dari atas ke bawah (top-down approach).

LANGKAH-LANGAHMEMBUAT PROGRAM

Beberapa langkah yang harus diperhatikan oleh pemrogram sebelummengimplememtasikan suatu permasalahan dalam program adalah :

1. Mendefinsikan masalah.

Tujuan dari mendefinisikan masalah adalah untuk memahami permasalahan secaramendalam. Langkah ini akan berkaitan dengan APA YANG AKAN DI-INPUTKAN

BAYU WIDODO, 2014

Page 4: Algoritma pemrograman terstruktur

ProbStat :4

pada program, perintah perintah apa yang akan digunakan dan bagiamana bentukOUTPUTNYA.

2. Mencari solusi untuk memecahkan masalah.

Setelah dipahami permasalahan yang ada baik itu masukan (input), perintah yangdigunakan (proses) dan keluaran yang diinginkan baru dicari jawaban atau solusiuntuk memecahkan masalah sehingga masalah tersebut dapat diselesaikan denganbaik.

Apabila masalah yang dihadapi terlalu besar, masalah tersebut biasanya dibagi-bagiatau dipecah menjadi beberapa MODUL yang dapat memudahkan dalammenyelesaikan masalah. Modul tersebut dinamakan fungsi (prosedur).

Sebagai ilustrasi :

Misalkan ada permasalahan : Buatlah program untuk menghitung luas dan kelilingpersegi panjang. Dalam hal ini ada beberapa hal yang perlu diketahui yaitu bagianmana saja yang menjadi input, proses dan output.

a. Untuk mencari luas persegi panjang tentunya harus mengerti bentuk persegipanjang itu sendiri dan dalam persegi panjang ini apa saja yang terkait. Untukmencari 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 adalahdengan rumus : Luas = Panjang * Lebar dan Keliling = 2 * (Panjang + Lebar)

d. Output yang diharapkan adalah luas dan keliling, dimana perhitungannya sudahditentukan.

3. Memilih teknik pemecahan masalah dan algoritma.

Dalam meemcahkan masalah memerlukan suatu teknik pemecahan masalah yangtepat. Dalam hal ini akan dituangkan dalam suatu ALGORITMA. Algoritma dibuatdengan tujuan untuk menyelesaikan suatu masalah. Algoritma tidak bisa sekali jadi,tetapi akan dikaji berulang-ulang sampai diperoleh algoritma yang tepat, benar danrelevan. Algoritma harus mempunyai kebenaran logika, sehingga siapdiimplementasikan dalam program. Algoritma merupakan pola pikir yang terstrukturyang berisi tahap tahap penyelesaian suatu masalah, yang nantinyadiimplementasikan ke dalam suatu bahasa pemrograman. Algoritma independenterhadap bahasa pemrograman. Algoritma lebih bersifat umum. Sedangkan programsangat bergantung kepada bahasa pemrograman. Algoritma biasa dinyatakan dalambentuk 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, lebarluas, 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

Page 5: Algoritma pemrograman terstruktur

ProbStat :5

d. Tampilkan luas dan keliling persegi panjang.

4. Menulis program.

Pada langkah ini adalah menuliskan program dengan suatu bahasa pemrogramantertentu ke dalam komputer untuk memecahkan masalah yang ada. Pada praktikumini 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;

beginwrite('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 barisataupun 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 tahappenyelesaian suatu masalah, yang nantinya diimplementasikan ke dalam suatu bahasapemrograman. Algoritma independen terhadap bahasa pemrograman.

Sebagaimana diuraikan di atas, pemecahan masalah pada dasarnya adalahmenemukan langkah-langkah tertentu yang jika dijalankan efeknya akan memecahkanmasalah tersebut. Algoritma sebagai langkah-langkah pemecahan masalah dapatdituliskan dalam beberapa cara, yaitu :

1. Uraian deskriptif2. Pseudocode

2 Kata algoritma diambil dari nama ilmuwan muslim Abu Ja'fat Muhammad bin Musa Al-khwarizmi(780-846 M).

BAYU WIDODO, 2014

Page 6: Algoritma pemrograman terstruktur

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 tidakmempunyai perulangan atau keputusan di dalamnya. Pada contoh program Latihan1.pasdi atas adalah contoh struktur urut.

Berikut ini contoh algoritma untuk memecahkan masalah dalam program struktururut. 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;

beginclrscr;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

Page 7: Algoritma pemrograman terstruktur

ProbStat :7

Struktur Keputusan

Struktur pengambilan keputusan (decision) digunakan untuk memilih salah satualternatif jawaban yang tepat dari pilihan yang ada. Pascal menyediakan tiga perintahuntuk pengambilan keputusan yaitu : if . . . then ; if . . . then . . . else dan case . . . of.

Berikut ini contoh algoritma untuk memecahkan masalah dalam program untukstruktur keputusan. Misalkan diminta untuk membuat algoritma dan programmenghitung total pembayar dari pembelian seorang pelanggan toko. Dalam kasus ini adaketentuan pemberian diskon 10% dari total pembayaran yang lebih besar atau samadengan 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 untukmemasukkan 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. Jikajawabannya ya, maka pelanggan tersebut mendapat discount 10% dan untuk menghitunhTotal pembayarannya = beli – dikon. Untuk discount disimpan di dalam variabel 'diskon'dan total pembayaran disimpan di dalam variabel 'TotalPembelian'. Jika jawabannyatidak, maka baris yang akan dikerjakan dalam program adalah baris ke-empat dan ke-limayaitu pelanggan hanya mendapatkan discount 5% dan menghitung total pembayarandengan rumus = beli – diskon. Selanjutnya baris ke-enam sampai ke-delapan akanditampilkan 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

Page 8: Algoritma pemrograman terstruktur

ProbStat :8

Write('Jumlah pembelian (Rp) : '); {Output}Readln(beli); {input}if beli < 1000000 thenbegindiskon := beli * 0.05;TotalPembelian := beli ­ diskon;

endelsebegindiskon := 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 secaraberulang-ulang, jika suatu kondisi dipenuhi atau sebaliknya. Proses perulangan biasanyadigunakan untuk beberapa hal, misalnya : mengulang proses pemasukan data, mengulangproses perhitungan dan mengulang proses penampilan hasil pengolahan data.

Kita ambil contoh algoritma untuk memecahkan masalah dalam program untukmenampilkan 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 untukmendefinisikan variabel bilangan dalam hal ini sampai dengan variabel n. Adapun nilaiawal n adalah 10. Kemudian batas dari bilangan n adalah n > 0.

Karena yang ditampilkan bilangan secara menurun maka bilangan awal dikurangisatu persatu. Dalam bahasa Pascal adalah n := n – 1. Pada baris ke dua proses perulangandimulai, dengan n = 10, karena 10 > 1 maka proses perulangan dilakukan dan prosespenurunan berjalan yaitu 9 := 10 -1 dan seterusnya sampai dengan n=0. Apabila n=0maka 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

Page 9: Algoritma pemrograman terstruktur

ProbStat :9

n : Integer;

Begin {Awal Program}for n := 10 downto 1 dowriteln(n);

Readkey;End. {Akhir program}

STRUKTUR BAHASAPASCAL ATAU

PENULISAN PROGRAMPASCAL

Struktur Bahasa Pascal secara garis besar sama seperti bahasa pemrograman tingkattinggi 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 antaranyakadang-kadang dihilangkan jika tidak diperlukan dalam membuat program. File yangditulis dalam Pascal disebut Kode sumber (Source Code). Penamaan kode sumber Pascalharus disimpan dengan ektensi *.pas. Setelah program selesai dibuat perlu dilakukankompilasi untuk menjadikan program tersebut dapat dijalankan ( diterjemahkan menjadibahasa mesin ).

Latihan 1 :(*­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­*)(*    Tanggal dibuat : Agustus 2014       *)(* Nama File : Pascal.pas *)(*­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­*)

BeginEnd.

1. Dalam bahasa Pascal, untuk memulai suatu program harus dimulasi dengan kata“Begin” dan sebagai penutup program harus diakhiri dengan kata “End.” (end diikutititik). Pada contoh progam Pascal.pas di atas adalah contoh program yang tidakmenghasilkan 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

Page 10: Algoritma pemrograman terstruktur

ProbStat :10

4. Untuk dapat mengeksekusi program yang ditulis dalam bahasa Pascal, membutuhkankompilator Pascal. Secara umum ada tiga proses untuk menjalankan program Pascal,yakni :

(1) Menulis program dalam pascal, yang disebut program sumber dengan text-editoratau dengan FPC. Source kode disimpan dalam file berkestensi *.pas

(2) Menjalankan kompilator untuk menterjemahkan atau mengkompilasi programsumber 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 FPCatau text-editor yang disimpan dalam sebuah file dengan ekstensi *.pas. Kemudiankompilasi hingga menghasilam object-program.

Pada contoh program sumber diberi nama Praktikum2.pas. Pada program di atasmengilustrasikan beberapa hal yang perlu Anda kenal dalam bahasa Pascal, diantaranyaadalah : (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 programyang ditulis dalam bahasa Pascal. Penamaan kode sumber bahasa Pascal adalahdisimpan dalam ekstensi *.pas. Dalam contoh diatas disimpan dengan namaPraktikum2.pas.

2. Uses. Kata kunci 'uses' menunjukkan kepada kompiler penggunaan unit (Deklarasi

BAYU WIDODO, 2014

Page 11: Algoritma pemrograman terstruktur

ProbStat :11

unit). Unit merupakan fungsi atau prosedur yang siap digunakan dengan hanyamendeklarasikan nama unitnya pada awal program. Bentuk umum pendeklrasian unitadalah 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 yangdigunakan dalam program. Variabel digunakan untuk menyimpan data yangdigunakan dalam program. Nama variabel pada program Latihan2 adalah 'Nilai','Jumlah' yang bertipe integer. Variabel 'Jumlah' akan digunakan untuk menyimpanmasukan dari keyboard yang dilakukan dengan perintah 'readln'. variabel 'Harga' yangbertipe 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 namaprocedure yang sudah didefinsikan oleh Pascal (built-in procedure – prosedure yangsiap pakai).

6. Kata 'ReadKey', merupakan prosedur yang ada di dalam unit Crt. Jadi penggunaanprocedure 'ReadKey' unit Crt harus didefinikan terlebih dengan menggunakan katakunci 'uses'. ReadKey merupakan procedure untuk menerima input 1 karakter(termasuk spasi) tanpa menampilkan karakter yag ditekan.

ELEMEN DASAR PASCAL1. PENGENAL

Pengenal atau Identifier adalah nama yang diberikan oleh programmer. Padacontoh program Praktikum2.pas, Praktikum2 adalah sebuah identifier untuk menamaiprogram. Identifier dapat diganti dengan mudah, misalkan nama program ingin digantimenjadi Latihan2, maka bagian :

Program Praktikum2;diganti denganprogram Latihan2;

Identifier tidak hanya untuk menamai program tetapi dapat berupa nama

konstanta, variabel, prosedur, fungsi, tipe data. Ketentuan untuk memberi namaidentifier 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 tidakdibedakan. Nama 'TotalHarga' dan 'totalharga' dianggap sama.

3 Kata Kunci (Reserved Word) adalah kata-kata yang sudah mempunyai arti khusus dalam bahasapemrograman.

BAYU WIDODO, 2014

Page 12: Algoritma pemrograman terstruktur

ProbStat :12

ELEMEN DASAR PASCAL2. KATA KUNCI

Kata kunci adalah kata yang telah terdifinisi sebelumya dan ditujukan untukkeperluan spesifik tertentu. Kata kunci tidak dapat kita modifikasi atau kita gunakansebagai pengenal (Identifier). Pascal sangat sedikit mempunyai kata kunci, diantaranyaadalah :

Integer Char Record WithCase Real If UntilWhile With Else TypeProgram Begin End DowntoDo goto while ThenMod Nil Of Div

ELEMEN DASAR PASCAL2. TIPE DATA

Pengertian tipe data adalah suatu nilai yang dapat dinyatakan dalam bentukkonstanta atau variabel dan operator yang dapat dikenakan padanya. Konstantamenyatakan nilai yang tetap, sedangkan variabel menyatakan nilai yang dapatdiubah-ubah selama eksekusi berlanngsung. Pascal mengenal beberapa tipe data, yakniTipe Data Sederhana, Tipe Data Terstruktur dan Tipe Data Pointer. Perhatikan gambarberikut yang menunjukkan pembagian tipe data dalam Pascal.

Perbandingan Tipe Data Dasar Pascal

Type KeteranganKeteranganTambahan

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

Page 13: Algoritma pemrograman terstruktur

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 sebelumdigunakan (User-Defined Types) disebut juga Tipe Terstruktur (Structured-Data Types,ADT).

1. Tipe Integer

Tipe Integer merupakan tipe data yang mereprensentasikan nilai-nilai bilanganbulat (bilangan yang tidak mengandung pecahan desmal), seperti : -3, -5, 8, 99, 102, . . .Berikut ini daftar lengkap tipe integer yang didukung oleh Pascal :

Type RangeUkuran(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 tipeinteger, yakni penjumlahan (+), Pengurangan (-), perkalian (*), Division, mengirimkanhasil pembagian bulat (div), dan mod, Modulo, mengirimkan sisa pembagian (mod).

2. Tipe Real / Floating Point

Tipe data real digunakan untuk merepresentasikan nilai pecahan. Bilangan dengannilai-nilai seperti ini sering disebut dengan istilah floating-point. Tipe data real ini jugatersedia atas beberapa macam yang berbeda dalam range dan besar memori yangdisediakan. jenis-jenis tipe real dapat dilihat pada tabel berikut ini :

Type RangeUkuran(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

Page 14: Algoritma pemrograman terstruktur

ProbStat :14

2. Tipe String

String merupakan runtunan karakter atau gabungan (array) dari karakter sebanyak256 (default). Ada baiknya jika Anda menentukan berapa banyak karakter dalam tipedata string tersebut dibutuhkan. Hal ini berhubungan dengan jumlah memori yangdialokasikan. Sebagai ilustrasi perhatikan contoh berikut :

VarKalimat : 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 memoriyang dialokasikan sebesar 25 byte. Tentunya akan sia-sia jika kita mengalokasikannyasecara default (256 karakter) yang tentunya jarang sekali atau bahkan tidak mungkinnama seseorang memiliki nama dengan panjang 256 karakter.

2. Tipe Karakter

Tipe data karakter hanya dapat menampung satu karakter saja dan mengalokasikan1 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 yaituExtended Binary Coded Decimal Interchange Code (EBDIC, dibaca abseedick). ASCIIyang paling umum digunakan.

Setiap karakter berkorespondensi satu-satu dengan sebuah integer non-negatif.Integer yang berkoresponden dengan karakter tersebut disebut dengan nilai ordinal, nilaiketerurutan (ordinal value). Adanya integer non-negatif yang berkorespondensi satu satudengan karakter memungkinkan mengetahui sebuah karakter jika diketahui nilaiordinalnya. 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'6597'A''a'

BAYU WIDODO, 2014

Page 15: Algoritma pemrograman terstruktur

ProbStat :15

3. Tipe Boolean

Tipe data boolean biasanya digunakan untuk merepresentasikan logika. Tipe databoolean hanya dapat bernilai True (1) atau False (0). Ekspresi yang nilainya True atauFalse disebut ekspresi boolean. Terdapat dua jenis operator yang dapat digunakan dalamekperesi boolean, yaitu operator boolean dan operator relational.

Operator boolean terdiri dari 'and', 'or' atau 'not' . Tabel kebenaran untuk operatorboolean 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 relationallainnya.

4. Tipe Enumerasi

Tipe enumerasi adalah tipe data yang nilainya terbatas pada nilai-nilai yangterdapat pada saat pendeklarasian tipe tersebut. Bentuk umum untuk mendeklarasikantipe enumerasi adalah :

typeNamaType = (nilai_1, nilai_2, . . ., nilai_n)

Dimana 'NamaType' dan nilai_1, nilai_2, sampai dengan nilai_n adalah suatuidentifier yang absah. Sebagai contoh kita aka melakukan enumerasu untuk jeniskelamin, maka kita dapat menuiskan sbb :

typeJenisKelamin = (Pria,Wanita)

contoh lain :

typeHari = (Senin, Selasa, Rabu, Kamis, Jumat, Sabtu, Minggu)

varHariKerja : Hari;

Begin. . .for HariKerja := Senin to Minggu do{Mengerjakan Statemen Perulangan}

End.

BAYU WIDODO, 2014