Flow Chart Diagram Alir Bahasa Pemrograman Pascal

Bahasa Pemrograman Pascal Diktat Dasar Komputer dan Pemrograman T. Elektro FTI UAD 56

BAB VII BAHASA PEMROGRAMAN PASCAL

7.1. Flow Chart Diagram Alir

Pada pembuatan suatu program diperlukan perencaaan tentang urutan proses yang secara logis harus benar. Prencanaan dalam suatu program pada umumnya meliputi hubungan antara input, proses dan output. Gambaran yang menyatakan hal tersebut dinamakan flow chart diagram alir. Untuk membuat suatu flow chart biasanya dipergunakan simbol-simbol yang sesuai kondisi yang terjadi. Simbol-simbol atau tanda yang dipakai dalam suatu flow chart untuk pembuatan program komputer telah ditetapkan sebagai berikut : Terminal Input Output Proses Keputusan Predefined Process Konektor Konektor Pindah halaman Bahasa Pemrograman Pascal Diktat Dasar Komputer dan Pemrograman T. Elektro FTI UAD 57 Dengan adanya simbol atau tanda ini dimaksudkan untuk memudahkan dalam memahami alur atau jalannya proses yang ada pada suatu program.

7.2. Bahasa Pemrograman Pascal

Struktur program Pascal dapat dikelompokkan dalam tiga bagian, yaitu: 1. Kepala Program 2. Bagian Deklarasi 3. Bagian PernyataanStatemen Kepala program terdiri dari kata program dan nama program. Kepala program bisa tidak dituliskan. Bagian deklarasi berisi konstanta dan variabel yang akan dipakai. Bagian statemen berisi perintah-perintah yang harus harus dikerjakan dan dimengerti oleh bahasa Pascal. Program Lingkaran; Uses crt; Const pi=3.14159; Var jarijari, keliling, luas : real; Begin Clrscr; WriteMasukkan jari-jari : ; Readlnjarijari; Keliling := 2pijarijari; Luas := pisqrjarijari; WritelnJari-jari =,jarijari:5:2; WritelnKeliling =,keliling:6:3; WritelnLuas =,luas:6:3; Readln; End. Suatu bahasa program komputer biasanya mempunyai aturan penulisan programnya sendiri. Aturan penulisan program Pascal adalah sebagai berikut; 1. Program Pascal boleh ditulis mulai kolom berapa saja dan diakhiri pada kolom berapa saja 2. Setiap statemen diakhiri dengan ; titik koma 3. Beberapa statemen boleh ditulis sekaligus di dalam satu baris Kepala Program Bagian Deklarasi Bagian Pernyataan Bahasa Pemrograman Pascal Diktat Dasar Komputer dan Pemrograman T. Elektro FTI UAD 58 7.3. Percabangan I : If ….. Then …. Else ….. Pernyataan percabangankendalibersyarat merupakan pernyataan yang akan mengeksekusi suatu pernyataan yang mengikutinya bila suatu persyaratan dipenuhi. Salah satu pernyataan kendali untuk pengambilan keputusan dalam Pascal adalah pernyataan If … Then … Else … Bentuk umum : IF kondisi THEN Statemen 1 ELSE Statemen 2 dimana : kondisi : ungkapan boolen yang menghasilkan nilai benar atau salah statemen 1, statemen 2 : pernyataan-pernyataan tunggalmajemuk. Dalam Pascal, pernyataan majemuk adalah kumpulan dari beberapa pernyataan yang diawali dengan kata baku BEGIN dan diakhiri oleh kata baku END, yang dianggap sebagai sebuah pernyataan tunggal. Maksudnya : bila kondisi bernilai TRUE benar maka akan dikerjakan statemen 1 dan statemen 2 dilewati, sedangkan jika kondisi bernilai FALSE salah maka akan dikerjakan statemen 2 dan statemen 1 dilewati. Untuk pernyataan IF yang berkalang ada pernyataan IF yang lain dalam pernyataan IF, ELSE selalu berpasangan dengan dengan IF yang terletak sebelum dan yang paling dekat dengan ELSE tersebut, serta terletak dalam blok pernyataan yang sama. Contoh 1 : Program untuk mencari akar persamaan kuadrat di bawah ini Program PersamaanKuadrat; uses crt; Bahasa Pemrograman Pascal Diktat Dasar Komputer dan Pemrograman T. Elektro FTI UAD 59 var a,b,c,d,x1,x2 :real; begin clrscr; writelnMenghitung akar-akar persamaan kuadrat; writelnNilai a,b,c dimasukkan dengan jeda spasi; writeMasukkan nilai a,b,c:; readlna,b,c; d:=bb-4ac; if d0 then writelntidak ada akar real else begin x1:=-b+sqrtd2a; x2:=-b-sqrtd2a; writelnx1 =,x1:6:2; writelnx2 =,x2:6:2; end; readln; end. Contoh Hasil Eksekusi : - jika d = 0 Menghitung akar-akar persamaan kuadrat Nilai a,b,c dimasukkan dengan jeda spasi Masukkan nilai a,b,c:1 4 2 x1 = -0.59 x2 = -3.41 - jika d 0 : Menghitung akar-akar persamaan kuadrat Nilai a,b,c dimasukkan dengan jeda spasi Masukkan nilai a,b,c:1 2 6 tidak ada akar real Catatan : 1. Di dalam IF boleh ada IF pernyataan IF yang berkalang 2. Jika diinginkan kondisi = FALSE tidak mengerjakan apa-apa, maka ELSE tidak perlu dituliskan. Bahasa Pemrograman Pascal Diktat Dasar Komputer dan Pemrograman T. Elektro FTI UAD 60 3. Pernyataan ELSE tidak diakhri dengan ; titik koma begitu pula baris pernyataan sebelum ELSE. 7.4. Percabangan II : Case ….. Of ….. Pernyataan CASE …. OF …. Digunakan untuk pengambilan keputusan jika terdapat lebih dari dua alternatif jawaban yang tersedia. Bentuk umum : CASE ungkapan OF Label 1 : Statemen 1 Label 2 : Statemen 1 ……….. ……….. ……….. Label n : Statemen n END; dimana : ungkapan : dapat berupa sembarang ungkapan yang memberikan hasil integer, char, boolean atau tipe terbilang kecuali real. Label : konstanta yang mempunyai tipe yang sama dengan ungkapan Statemen : pernyataan yang mengikuti berupa rangkaian instruksi yang harus dikerjakan jika nilai konstanta dalam label sama dengan nilai variabel Maksudnya jika ungkapan bernilai label 1, maka dikerjakan statemen1, jika bernilai label 2 akan dikerjakan statemen 2 dan seterusnya. Pernyataan CASE …. OF …. boleh diikuti ELSE. Perlu diketahui, ELSE dalam pernyataan CASE …. OF …. Hanya bersifat pilihan, dalam artian boleh Bahasa Pemrograman Pascal Diktat Dasar Komputer dan Pemrograman T. Elektro FTI UAD 61 disertakan boleh tidak. Jika ELSE disertakan, pernyataan yang mengikuti ELSE akan dieksekusi hanya bila nilai dari syarat-pemilih tidak ada dalam semua label. Contoh 1 : Program nilai_ujian; uses crt; var nama : string[25]; nim : string[8]; nilai: integer; begin clrscr; writeMasukkan nama mahasiswa : ; readlnnama; writeMasukkan nomor induk mahasiswa : ; readlnnim; writeMasukkan nilai ujian : ; readlnnilai; writeln; case nilai div 10 of 10,9 : writelnNilai huruf = A; 8 : writelnNilai huruf = B; 7 : writelnNilai huruf = C; 6 : writelnNilai huruf = D; 5,4,3,2,1,0 : writelnNilai huruf = E; end; readln; end. Contoh 2 : Program konversi; uses crt; var menit, jam, kaki, meter, fahrenheit, celcius : real; pilihan :char; begin clrscr; writelnPilihan konversi:; writeln1 Menit ke jam; writeln2 Kaki ke meter; writeln3 Derajat Fahrenheit ke Celcius; writepilihan ? ; readlnpilihan; Bahasa Pemrograman Pascal Diktat Dasar Komputer dan Pemrograman T. Elektro FTI UAD 62 case pilihan of 1 : begin writemenit= ; readlnmenit; jam:=menit60; writelnnilai ini sama dengan ,jam:4:1, jam; readln; end; 2 : begin writekaki= ; readlnkaki; meter:=0.3048kaki; writelnnilai ini sama dengan ,meter:4:1, meter; readln; end; 3 : begin writeDerajat Fahrenheit = ; readlnfahrenheit; celcius:=59fahrenheit-32; writelnnilai ini sama dengan ,Celcius:4 :1, Celcius; readln; end; else writelnTidak melakukan konversi; end; end. 7.5. KalanG I : For … To … Do… dan For ... Downto ... Do… Salah satu ciri bahasa pemrograman adalah adanya perintah-perintah yang harus dikerjakan berulang- ulang. Pengulangan ini sering disebut dengan kalang. Dalam bahasa Pascal ada beberapa perintah untuk membuat kalang, yaitu: FOR … TO … DO… dan FOR … DOWNTO … DO… Bentuk umum : FOR pengubah:=ungkapan1 TO ungkapan2 DO Statemen; dan FOR pengubah:=ungkapan1 DOWNTO ungkapan2 DO Statemen; Bahasa Pemrograman Pascal Diktat Dasar Komputer dan Pemrograman T. Elektro FTI UAD 63 dimana, pengubah : suatu pengubah yang disebut pengubah kendali, dapat berupa pengenal dari tipe integer, char, boolean atau tipe terbilang. ungkapan1 : nilai awal pengubah ungkapan2 : nilai akhir pengubah Beberapa aturan yang harus dipenuhi : - Pengubah, ungkapan1 dan ungkapan2 harus mempunyai tipe data yang sama - Pada kalang TO ungkapan1ungkapan2 - Pada kalang DOWNTO ungkapan1ungkapan2 Contoh 1 : Program untuk menghitung jumlah n bilangan pertama dan jumlah kuadrat n bilangan pertama Program jumlahKuadrat; Uses crt; Var jumlah, jmlkuadrat,i,n : integer; begin clrscr; WriteBanyak n bilangan yang akan diproses; readlnn; jumlah:=0; jmlkuadrat:=0; for i:=1 to n do begin jumlah:=jumlah+i; jmlkuadrat:=jmlkuadrat + ii; writelnJumlah ,i:2, bilangan pertama = ,jumlah:5; writelnJumlah Kuadrat ,i:2, bilangan pertama = ,jmlkuadrat:5; end; readln; end. Contoh 2 : Mencetak abjad dengan urutan terbalik dari z…a Program tulisabjad; Uses crt; Var karakter : char; Bahasa Pemrograman Pascal Diktat Dasar Komputer dan Pemrograman T. Elektro FTI UAD 64 begin clrscr; for karakter:= z downto a do writekarakter:2; readln; end. Contoh 3 : Program berikut adalah program untuk menghitung deret eksponensial dan membandingkan dengan fungsi pustaka EXP. Deret eksponensial adalah : ....... ..... 4 3 2 1 4 3 2 + + + + + + + = = ∑ ∞ = n x x x x x n x e n n n x Program eksponensial; uses crt; var eksponen, x,suku : real; n,i : integer; begin clrscr; writeMasukkan banyaknya sukun: ; readlnn; writeMasukan nilai x : ; readlnx; eksponen:=1.0; suku:=1.0; for i:=1 to n do begin suku:=sukuxi; eksponen:=eksponen+suku; end; writeln; writelnNilai deret = ,eksponen:10:6; writelnNilai fungsi = ,expx:10:6; readln; end. Contoh 4 : Bilangan Fibonacci memiliki rumusan : F i = F i-1 + F i-2 Bahasa Pemrograman Pascal Diktat Dasar Komputer dan Pemrograman T. Elektro FTI UAD 65 Suku ke-1 merupakan penjumlahan bilangan Fibonacci suku ke-i-1 dan suku ke- i-2, dengan bilangan pada suku pertama dan suku kedua didefinisikan sama dengan satu. Program Fibonacci; Uses crt; Var i,n,f,f1,f2 : integer; begin clrscr; writelnIngin mencetak bilangan Fibonacci; writesampai suku ke-; readlnn; writeln; writelnSuku ke- 1 = ,1; writelnSuku ke- 2 = ,1; f1 :=1; f2:=1; for i:=3 to n do begin f:=f1+f2; writelnSuku ke- ,i:2, = ,F:3; f2:=f1; f1:=f; end; readln; end. 7.6. Kalang II : While .… Do…. dan Repeat .... Until …. Selain membuat kalang dengan FOR….TO.…DO.… dan FOR..… DOWNTO … DO … ada bentuk kalang yang lebih umum yaitu : WHILE … DO …. yang bentuk umumnya adalah sebagai berikut : WHILE kondisi DO Statemen dimana, kondisi : adalah ungkapan boolean yang digunakan sebagai syarat agar statemen dikerjakan berulang kali statemen : adalah pernyataan tunggal atau pernyataan majemuk yang akan diproses ulang. Bahasa Pemrograman Pascal Diktat Dasar Komputer dan Pemrograman T. Elektro FTI UAD 66 Contoh 1 : Jumlah deret n bilangan asli pertama Program Jumlah_Deret; Uses crt; Var n, jumlah, pencacah : integer; begin clrscr; WritelnMenghitung jumlah 1 + 2 + 3 + ... + n; writen = ? ; readlnn; pencacah:=1; jumlah:=0; while pencacah = n do begin jumlah:=jumlah+pencacah; pencacah:=pencacah + 1; end; writeln; writelnJumlah deret = ,jumlah:5; readln; end. Selain membuat kalang dengan 3 cara di atas masih ada cara lain untuk membuat kalang, yaitu dengan perintah REPEAT …. UNTIL yang bentuk umumnya adalah sebagai berikut : REPEAT ………… Statemen …………. UNTIL kondisi dimana, statemen : adalah pernyataan tunggal atau pernyataan majemuk yang akan diproses ulang. Kondisi : adalah ungkapan boolen sebagai syarat agar pernyataan diproses ulang. Bahasa Pemrograman Pascal Diktat Dasar Komputer dan Pemrograman T. Elektro FTI UAD 67 Catatan : Salah satu statemen diantara repeat dan until harus ada yang bisa merubah nilai kondisi sehingga kalang bisa berhenti Contoh 2 : Mengganti kalang WHILE … DO …. Dari contoh 1 dengan kalang REPEAT …. UNTIL ….. Program Jumlah_Deret; Uses crt; Var n, jumlah, pencacah : integer; begin clrscr; WritelnMenghitung jumlah 1 + 2 + 3 + ... + n; writen = ? ; readlnn; pencacah:=0; jumlah:=0; repeat begin jumlah:=jumlah+pencacah; pencacah:=pencacah + 1; end; until pencacah = n+1; writeln; writelnJumlah deret = ,jumlah; readln; end. Contoh 3 : Program berikut adalah program untuk menghitung deret eksponensial dan membandingkan dengan fungsi pustaka EXP dengan kalang WHILE …. DO …. Deret eksponensial adalah : ....... ..... 4 3 2 1 4 3 2 + + + + + + + = = ∑ ∞ = n x x x x x n x e n n n x Program eksponensial; uses crt; var eksponen, x,suku : real; Bahasa Pemrograman Pascal Diktat Dasar Komputer dan Pemrograman T. Elektro FTI UAD 68 n,i : integer; begin clrscr; writeMasukkan banyaknya sukun: ; readlnn; writeMasukan nilai x : ; readlnx; eksponen:=1.0; suku:=1.0; i:=1; while i = n do begin suku:=sukuxi; eksponen:=eksponen+suku; i:=i+1; end; writeln; writelnNilai deret = ,eksponen:10:6; writelnNilai fungsi = ,expx:10:6; readln; end. Contoh 4 : Program untuk menghitung mean dan standar deviasi dari sejumlah data masukkan non negatif dan berhenti apabila masukkan data adalah -1. Program Mean_StdDev; Uses crt; Const neg=-1; Var bilangan, total1, total2, mean, std : real; n : integer; begin clrscr; total1:=0.0; total2:=0.0; n:=0; writelnMasukkan data non negatif, dan untuk mengakhiri masukkan angka -1; readlnbilangan; repeat n:=n+1; total1:=total1+bilangan; total2:=total2+bilanganbilangan; Bahasa Pemrograman Pascal Diktat Dasar Komputer dan Pemrograman T. Elektro FTI UAD 69 writelnMasukkan data non negatif, dan untuk mengakhiri masukkan angka -1; readlnbilangan; until bilangan=neg; mean:= total1n; std:=sqrttotal2n-1-sqrtotal1nn-1; writelnMean = ,mean:7:2; writelnDeviasi Standar = ,std:8:3; readln; end.

7.7. Procedure dan Fungsi