P. 1
Pascal 5 Bahasa Pemrograman Pascal

Pascal 5 Bahasa Pemrograman Pascal

|Views: 5|Likes:
Dipublikasikan oleh Kasyfun Nadhir Z

More info:

Published by: Kasyfun Nadhir Z on Apr 28, 2013
Hak Cipta:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

01/26/2015

pdf

text

original

Bahasa Pemrograman Pascal

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

Diktat Dasar Komputer dan Pemrograman T. Elektro FTI UAD

56

Bahasa Pemrograman Pascal

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 Pernyataan/Statemen 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;

Kepala Program

Uses crt; Const pi=3.14159; Var jarijari, keliling, luas : real; Begin Clrscr; Write('Masukkan jari-jari : '); Readln(jarijari); Keliling := 2*pi*jarijari; Luas := pi*sqr(jarijari); Writeln('Jari-jari =',jarijari:5:2); Writeln('Keliling =',keliling:6:3); Writeln('Luas =',luas:6:3); Readln; End.

Bagian Deklarasi

Bagian Pernyataan

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 Diktat Dasar Komputer dan Pemrograman T. Elektro FTI UAD

Bahasa Pemrograman Pascal

58

7.3. Percabangan I : If ….. Then …. Else ….. Pernyataan percabangan/kendali/bersyarat 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 tunggal/majemuk. 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; Diktat Dasar Komputer dan Pemrograman T. Elektro FTI UAD

b.c dimasukkan dengan jeda spasi Masukkan nilai a. end.b. write('Masukkan nilai a. writeln('x1 ='. Di dalam IF boleh ada IF (pernyataan IF yang berkalang) 2.b. x2:=(-b-sqrt(d))/(2*a).b. writeln('Menghitung akar-akar persamaan kuadrat').b.c:').59 x2 = -3.jika d < 0 : Menghitung akar-akar persamaan kuadrat Nilai a. end. begin clrscr.Bahasa Pemrograman Pascal 59 var a. readln(a. Contoh Hasil Eksekusi : jika d = 0 Menghitung akar-akar persamaan kuadrat Nilai a. maka ELSE tidak perlu dituliskan.b.c dimasukkan dengan jeda spasi Masukkan nilai a. Elektro FTI UAD .c dimasukkan dengan jeda spasi'). Jika diinginkan kondisi = FALSE tidak mengerjakan apa-apa.x2 :real.b.b.d.x2:6:2).c:1 2 6 tidak ada akar real Catatan : 1.c:1 4 2 x1 = -0.41 . Diktat Dasar Komputer dan Pemrograman T. writeln('Nilai a.c.x1. d:=b*b-4*a*c. readln. writeln('x2 ='. if d<0 then writeln('tidak ada akar real') else begin x1:=(-b+sqrt(d))/(2*a).c).x1:6:2).

Bentuk umum : CASE ungkapan OF Label 1 : Statemen 1 Label 2 : Statemen 1 ………. Pernyataan CASE …. OF …. Hanya bersifat pilihan. boolean atau tipe terbilang (kecuali real). (titik koma) begitu pula baris pernyataan sebelum ELSE. maka dikerjakan statemen1. Of …. boleh diikuti ELSE.Bahasa Pemrograman Pascal 60 3. Pernyataan CASE …. char. Pernyataan ELSE tidak diakhri dengan . Percabangan II : Case …. OF …. dimana : ungkapan : dapat berupa sembarang ungkapan yang memberikan hasil integer. jika bernilai label 2 akan dikerjakan statemen 2 dan seterusnya.. ELSE dalam pernyataan CASE …. OF …... 7. Elektro FTI UAD . Perlu diketahui. Label Statemen : konstanta yang mempunyai tipe yang sama dengan ungkapan : pernyataan yang mengikuti berupa rangkaian instruksi yang harus dikerjakan jika nilai konstanta dalam label sama dengan nilai variabel Maksudnya jika ungkapan bernilai label 1.. Label n : Statemen n END. dalam artian boleh Diktat Dasar Komputer dan Pemrograman T. ………. ……….4.. Digunakan untuk pengambilan keputusan jika terdapat lebih dari dua alternatif jawaban yang tersedia.

write('pilihan ? '). 7 : writeln('Nilai huruf = C').Bahasa Pemrograman Pascal 61 disertakan boleh tidak.3. kaki.9 : writeln('Nilai huruf = A'). readln(nim). begin clrscr. 8 : writeln('Nilai huruf = B'). Diktat Dasar Komputer dan Pemrograman T. readln(pilihan). Elektro FTI UAD . 6 : writeln('Nilai huruf = D'). end. Jika ELSE disertakan. readln. begin clrscr. 5. fahrenheit. writeln('3) Derajat Fahrenheit ke Celcius'). case nilai div 10 of 10. end. Contoh 2 : Program konversi. pernyataan yang mengikuti ELSE akan dieksekusi hanya bila nilai dari syarat-pemilih tidak ada dalam semua label. nilai: integer.4. writeln('2) Kaki ke meter'). uses crt. pilihan :char. readln(nilai). var nama : string[25]. uses crt. writeln('1) Menit ke jam').0 : writeln('Nilai huruf = E').1. write('Masukkan nama mahasiswa : '). write('Masukkan nilai ujian : ').2. nim : string[8]. writeln('Pilihan konversi:'). write('Masukkan nomor induk mahasiswa : '). Contoh 1 : Program nilai_ujian. readln(nama). jam. var menit. writeln. meter. celcius : real.

readln. '3' : begin write('Derajat Fahrenheit = '). readln(kaki). readln(menit). end.. end. dan FOR pengubah:=ungkapan1 DOWNTO ungkapan2 DO Statemen. Diktat Dasar Komputer dan Pemrograman T. meter:=0. Pengulangan ini sering disebut dengan kalang. readln...3048*kaki. celcius:=5/9*(fahrenheit-32).' jam'). readln. KalanG I : For … To … Do… dan For .5. writeln('nilai ini sama dengan '.jam:4:1. Elektro FTI UAD . else writeln('Tidak melakukan konversi').ulang. Dalam bahasa Pascal ada beberapa perintah untuk membuat kalang. end. jam:=menit/60.Bahasa Pemrograman Pascal 62 case pilihan of '1' : begin write('menit= '). writeln('nilai ini sama dengan '.' meter'). writeln('nilai ini sama dengan '. Downto . end.Celcius:4 :1. '2' : begin write('kaki= '). readln(fahrenheit). 7.meter:4:1. yaitu: FOR … TO … DO… dan FOR … DOWNTO … DO… Bentuk umum : FOR pengubah:=ungkapan1 TO ungkapan2 DO Statemen. end..' Celcius'). Do… Salah satu ciri bahasa pemrograman adalah adanya perintah-perintah yang harus dikerjakan berulang.

jumlah:5).i:2. Uses crt.' bilangan pertama = '. Contoh 2 : Mencetak abjad dengan urutan terbalik dari z…a Program tulisabjad. begin clrscr. writeln('Jumlah Kuadrat '. Var jumlah. ungkapan1 ungkapan2 : nilai awal pengubah : nilai akhir pengubah Beberapa aturan yang harus dipenuhi : Pengubah. Uses crt.n : integer. dapat berupa pengenal dari tipe integer. Var karakter : char.Bahasa Pemrograman Pascal 63 dimana.' bilangan pertama = '. jmlkuadrat:=0. jmlkuadrat. writeln('Jumlah '.i. char.jmlkuadrat:5). Diktat Dasar Komputer dan Pemrograman T. readln(n). jumlah:=0. end. Write('Banyak n bilangan yang akan diproses'). end. boolean atau tipe terbilang.i:2. pengubah : suatu pengubah yang disebut pengubah kendali. readln. ungkapan1 dan ungkapan2 harus mempunyai tipe data yang sama Pada kalang TO ungkapan1<ungkapan2 Pada kalang DOWNTO ungkapan1>ungkapan2 Contoh 1 : Program untuk menghitung jumlah n bilangan pertama dan jumlah kuadrat n bilangan pertama Program jumlahKuadrat. Elektro FTI UAD . for i:=1 to n do begin jumlah:=jumlah+i. jmlkuadrat:=jmlkuadrat + i*i.

writeln. writeln('Nilai fungsi = '. readln(x). readln.0..eksponen:10:6). end.Bahasa Pemrograman Pascal 64 begin clrscr.exp(x):10:6). begin clrscr. for i:=1 to n do begin suku:=suku*x/i.. 2! 3! 4! n! n = 0 n! ∞ Program eksponensial. eksponen:=1.0. eksponen:=eksponen+suku. n.. Deret eksponensial adalah : ex = ∑ xn x2 x3 x4 xn = 1 + x + + + + . Elektro FTI UAD .suku : real. readln.. var eksponen.i : integer. write('Masukkan banyaknya suku(n): '). write('Masukan nilai x : ').. end. suku:=1. for karakter:= 'z' downto 'a' do write(karakter:2).. end. uses crt. readln(n). Contoh 3 : Program berikut adalah program untuk menghitung deret eksponensial dan membandingkan dengan fungsi pustaka EXP... Contoh 4 : Bilangan Fibonacci memiliki rumusan : Fi = Fi-1 + F i-2 Diktat Dasar Komputer dan Pemrograman T. x. + + .. writeln('Nilai deret = '..

writeln('Suku ke. begin clrscr. f1 :=1. dan Repeat .. yang bentuk umumnya adalah sebagai berikut : WHILE kondisi DO Statemen dimana.f1..…DO. writeln. Selain membuat kalang dengan FOR…. writeln('Suku ke.… DOWNTO … DO … ada bentuk kalang yang lebih umum yaitu : WHILE … DO …. Uses crt.… Do….2 = '.F:3). Elektro FTI UAD .f.TO. for i:=3 to n do begin f:=f1+f2... end.… dan FOR.6.n.'. write('sampai suku ke-'). f2:=1. Diktat Dasar Komputer dan Pemrograman T. writeln('Suku ke. writeln('Ingin mencetak bilangan Fibonacci'). f2:=f1. kondisi : adalah ungkapan boolean yang digunakan sebagai syarat agar statemen dikerjakan berulang kali statemen : adalah pernyataan tunggal atau pernyataan majemuk yang akan diproses ulang.1).1). 7. end.i:2.1 = '.' = '. readln. Program Fibonacci.f2 : integer.Bahasa Pemrograman Pascal 65 Suku ke-1 merupakan penjumlahan bilangan Fibonacci suku ke-(i-1) dan suku ke(i-2). Until …. readln(n). f1:=f. Var i. dengan bilangan pada suku pertama dan suku kedua didefinisikan sama dengan satu. Kalang II : While .

end. Writeln('Menghitung jumlah 1 + 2 + 3 + ..Bahasa Pemrograman Pascal 66 Contoh 1 : Jumlah deret n bilangan asli pertama Program Jumlah_Deret. UNTIL yang bentuk umumnya adalah sebagai berikut : REPEAT ………… Statemen …………. statemen : adalah pernyataan tunggal atau pernyataan majemuk yang akan diproses ulang. pencacah : integer.jumlah:5). readln(n). + n'). jumlah. pencacah:=pencacah + 1.. readln. while pencacah <= n do begin jumlah:=jumlah+pencacah. UNTIL kondisi dimana. Uses crt. Selain membuat kalang dengan 3 cara di atas masih ada cara lain untuk membuat kalang. Var n. jumlah:=0. end. Kondisi : adalah ungkapan boolen sebagai syarat agar pernyataan diproses ulang. begin clrscr. pencacah:=1. Diktat Dasar Komputer dan Pemrograman T. write('n = ? '). writeln. yaitu dengan perintah REPEAT …. writeln('Jumlah deret = '. Elektro FTI UAD .

..suku : real. Elektro FTI UAD . begin clrscr. pencacah : integer. UNTIL …. pencacah:=0. Uses crt.. Deret eksponensial adalah : ex = ∑ xn x2 x3 x4 xn = 1 + x + + + + . Program Jumlah_Deret. x. Contoh 3 : Program berikut adalah program untuk menghitung deret eksponensial dan membandingkan dengan fungsi pustaka EXP dengan kalang WHILE …... writeln('Jumlah deret = '. Var n. write('n = ? '). jumlah... + + . + n'). jumlah:=0. Diktat Dasar Komputer dan Pemrograman T. until pencacah = n+1.. pencacah:=pencacah + 1. 2! 3! 4! n! n = 0 n! ∞ Program eksponensial.. writeln. uses crt.jumlah).. repeat begin jumlah:=jumlah+pencacah.. var eksponen.Bahasa Pemrograman Pascal 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 …. Writeln('Menghitung jumlah 1 + 2 + 3 + . end. DO …. readln(n). end.. readln..

end. Program Mean_StdDev. readln. Uses crt. total1. readln(n).0. readln(bilangan). write('Masukan nilai x : ').Bahasa Pemrograman Pascal 68 n. eksponen:=eksponen+suku. while i <= n do begin suku:=suku*x/i. begin clrscr. total1:=total1+bilangan. repeat n:=n+1. writeln.0. Diktat Dasar Komputer dan Pemrograman T. total2:=total2+bilangan*bilangan. eksponen:=1.exp(x):10:6). end. suku:=1.0. Contoh 4 : Program untuk menghitung mean dan standar deviasi dari sejumlah data masukkan non negatif dan berhenti apabila masukkan data adalah -1. Var bilangan. readln(x). dan untuk mengakhiri masukkan angka -1'). writeln('Nilai fungsi = '. Const neg=-1. i:=1.0. begin clrscr. i:=i+1.i : integer. total2:=0.eksponen:10:6). writeln('Masukkan data non negatif. mean. total1:=0. Elektro FTI UAD . std : real. writeln('Nilai deret = '. total2. n : integer. n:=0. write('Masukkan banyaknya suku(n): ').

until bilangan=neg. yaitu : Diktat Dasar Komputer dan Pemrograman T.std:8:3). Bentuk umum : PROCEDURE <nama_procedure> (<daftar parameter formal> ). 7. dimana. Deklarasi procedure terletak pada bagian deklarasi pada program yang menggunakannya. yang dapat dikerjakan berkali-kali dengan memanggil namanya saja. readln. writeln('Mean = '.mean:7:2).7. mean:= total1/n.Bahasa Pemrograman Pascal 69 writeln('Masukkan data non negatif. writeln('Deviasi Standar = '. sehingga menyederhanakan struktur program dan mengurangi pengulangan penulisan bagian-baigan program berkali-kali. yaitu sekelompok statemen yang bisa menjadi bagian dari program / sub program. end. pemberian nama procedure : mengikuti aturan perberian nama variabel daftar parameter formal : bersifat option. dan untuk mengakhiri masukkan angka -1'). Daftar ini hanya untuk mengontrol komunikasi informasi ke dan dari procedure tersebut. std:=sqrt(total2/(n-1)-sqr(total1)/(n*(n-1))). Procedure dan Fungsi Procedure merupakan bentuk subprogram dalam bahasa Pascal. boleh ada boleh tidak. <Bagian deklarasi variabel lokal> Begin <Bagian Pernyataan> End. Ada 2 tipe parameter formal. Procedure dipakai untuk mengelompokkan bagian program. readln(bilangan). Elektro FTI UAD . dibawah deklarasi VAR pada program utama.

tidak boleh berupa konstanta atau ungkapan. Sebuah procedure bisa memanggil procedure lain yang telah didefinikan sebelumnya. Elektro FTI UAD . Nama procedure : harus sesuai dengan nama procedure yang digunakan pada waktu dideklarasikan. kemudian dipanggil pada program utama. Parameter nilai. Fungsi mempunyai kegunaan yang hampir sama dengan procedure dengan sedikit perbedaan. Diktat Dasar Komputer dan Pemrograman T. meskipun nilai parameter formal ini berubah. • • Jika fungsi digunakan. Daftar parameter aktual : berisi nama-nama parameter yang dioperasikan pada procedure yang dipanggil. yaitu variabel yang dapat diakses pada semua bagian program. Parameter-parameter aktual ini harus dideklarasikan pada program utama. caca parameter dan tipe data setiap parameternya harus sesuai dengan parameter formal.Bahasa Pemrograman Pascal 70 1. Bentuk umum pemanggilan procedure : Nama_procedure (daftar parameter aktual). Parameter perubah. maka nilai parameter aktual juga berubah. yang hanya mengambil nilai dari parameter aktual yang sesuai tanpa mengubah nilainya. sehingga dapat digunakan sebagai bagian dari ungkapan. semua parameter dianggap sebagai parameter nilai. Urutan posisi. juga dianggap sebagai satu peubah. Variabel yang dideklarasikan pada program utama disebut variabel global. Sedangkan pada procedure dideklarasikan variabel lokal. yaitu variabel yang hanya bisa diakses oleh bagian program dimana variabel tersebut dideklarasikan. yaitu : • • Fungsi hanya memberikan satu hasil Nama fungsi. 2. yang mengambil nilai dari parameter aktual dan jika nilainya berubah. fungsi selalu akan menghitung satu nilai perubah (dalam hal ini nilai fungsi) Dalam fungsi tidak ada istilah parameter perubah. selain digunakan untuk memanggil fungsi tersebut. dimana. Dalam procedure maupun program utamanya terdapat bagian deklarasi varibel.

b : integer. Bentuk umum suatu fungsi: FUNCTION <Nama> (<Daftar parameter formal>) : <Tipe hasil>.y).n-1. Var p:real. Var a. n:integer. Uses crt. y:y*x). Begin if n=0 then y:=1 else if n>0 then begin pangkat(x. Procedure pangkat(x:real.Bahasa Pemrograman Pascal • 71 Semua parameter diperlukan sebagai masukan pada fungsi tersebut dengan keluarannya adalah nama fungsi yang bertindak sebagai satu perubah. <Bagian Deklarasi> Begin <Bagian Pernyataan> End. Tipe hasil : tipe data dari nilai fungsi Contoh 1 : Program Pangkat_Rekursif. var y:real). end Diktat Dasar Komputer dan Pemrograman T. Elektro FTI UAD .z : real. Function : kata cadangan Pascal yang memberikan tanda bahwa deklarasi function dimulai. dimana. Nama : nama fungsi Daftar parameter formal : nama parameter yang akan dioperasikan di dalam fungsi.

s : integer. writeln. begin clrscr. x : integer. write(z:5:2). readln(a).' pangkat'.n+1.b:3'='). begin s:=0. end. function jumlah(n:integer):integer.100'). writeln. end. writel('Data B: '). Var jum. write('Tekan <Enter>') readln. writeln. end. readln(x). begin clrscr.. jumlah:=s. writeln('Masukkan bilangan bulat 1 .b. for i:=1 to n do s:=s+i. readln(b). writeln. Elektro FTI UAD . write('Data A: '). writel('Data A: '). Diktat Dasar Komputer dan Pemrograman T. while(a<>0) or (b<>0) do begin writeln. writeln. write(a:5:2.y).Bahasa Pemrograman Pascal 72 else begin pangkat(x. write('Data B: '). end. y:y/x. readln(a). Var i. writeln. readln(b).. Contoh 2 : Program Jumlahan. Uses crt.z). pangkat(a. end.

writeln.n+1)/x. end. begin clrscr. end. Elektro FTI UAD . write('Data A: ').jum:6).x. function pangkat(x:real. write('Data B: '). write('Data B: '). Contoh 3 : Program Pangkat_Rekursif2.'='). n:integer):real. writeln. write('Tekan <Enter>'). writeln. readln. readln(b). Uses crt. write(pangkat(a. write(a:5:2.b):5:2). readln(a). end. begin if n=0 then pangkat:=1 else if n>0 then pangkat:=pangkat(x. writeln. Diktat Dasar Komputer dan Pemrograman T. Var a : real. end. writeln. b : integer. writeln. writeln('jumlah'. readln(b). readln. writeln. write('Data A: '). readln(a).n-1)*x else pangkat:=pangkat(x.'suku pertama deret hitung = ' .' pangkat'. while(a<>0) or (b<>0) do begin writeln.b:3.Bahasa Pemrograman Pascal 73 jum:=jumlah(x).

setiap elemen dalam array dapat diakses secara langsung. Pilihan = ARRAY [warna.1. Tipe Data Array Array merupakan tipe data berstruktur yang berisi sekumpulan komponen / elemen dengan tipe sama. Warna=(Putih.masing elemen memiliki indeks tersendiri. Masing.indeks dapat berupa sembarang tipe ordinalm kecuali integer.. Pendefinisian tipe array terdiri dari kata baku ARRAY diikuti dengan tipeindeks yang diletakkan dalam tanda kurung siku. Hitam). Contoh deklarasi tipe array : TYPE Buahcatur = (Pion. Raja). Jika terdapat lebih dari satu tipeindeks. ARRAY[tipe-indeks-1. kata baku OF dan kemudian tipe-komponen. boolean atau tipe skalar buatan dan juga tipe subrange. dengan tipe pertama berupa skalar buatan dan tipe kedua berupa subrange. Tipe-komponen menyatakan tipe dari elemen yang terdapat dalam array dan dapat berupa sembarang tipe. Elektro FTI UAD . Pilihan mengandung dua tipe indeks. Tipeindeks menyatakan tipe nilai dari indeks array. yang menggunakan identifier yang sama.indeks dapat terdiri lebih dari satu. Contoh yang lain : TYPE Operator = (plus. kali. dengan masing.6] of BuahCatur Pada contoh di atas.Bahasa Pemrograman Pascal 74 7. tipe dari tipe.tipe-indeks-n] OF tipe-komponen Jumlah tipe. Benteng. Gajah.masing tipe dari tipe-indeks dapat berbeda. bagi).. minus. yang biasa dinamakan indeks array. Melalui indeks array ini. Diktat Dasar Komputer dan Pemrograman T. maka tipe-indeks yang satu dengan lainnya dipisahkan dengan tanda koma. PerdanaMenteri.…. Perlu diketahui..8. Jadi dapat berupa tipe cahr.

Z dan tipe isi array adalah integer. ….3.…. VAR Jumlahtanda : tanda. yaitu penyimpanan dan pengambilan elemen array..”Z’] of integer. Menyatakan bahwa indeks-array dari variabel x dapat berupa 1. B.8] of real. Cacahkarakter : arraykar Vektor : ARRAY[nilai] of String[15] Contoh pendefinisian tipe array yang salah : (tipe. Daftar = ARRAY[Nilai] OF real. Ukuran Array x sama dengan 8. = ARRAY[operator] of integer. Contoh array berdimensi satu : VAR x : ARRAy [1. ArrayKar = ARRAY [char] of integer.2. Array Berdimensi Satu Array berdimensi satu merupakan array dengan ciri memiliki tipe. C. Sedangkan VAR Huruf : ARRAy [‘A’. Menyatakan bahwa indeks-array dari variabel Huruf dapat berupa karakter A.indeks hanya sebuah dan tipe-komponen tidak berupa array. diambil contoh : Diktat Dasar Komputer dan Pemrograman T. Ukuran Array Huruf sama dengan 26... Pengaksesan terhadap suatu array. Elektro FTI UAD . Untuk menjelaskan hal ini. dapat dibedakan dalam dua macam operasi.0.Bahasa Pemrograman Pascal 75 Nilai Tanda = 1.8 dan isi array bertipe real.indeks berupa integer tidak diperkenankan) TYPE Nilai = integer.

. Array Multidimensi Yang termasuk dalam array multidimensi yaitu array yang memiliki lebih dari satu dimensi. yang akan menampilkan nilai D[1] pada layar. misalnya D[1]. D[1] bernilai 320. dapat dilakukan dengan instruksi dengan instruksi D[i] := nilai. Untuk mengambil isi array D.. memberikan nilai dari D[1] ke variabel X. VAR D : DaftarNilai. D[2].3] dari D memiliki lokasi penyimpanan tersendiri. dapat digunakan instruksi : Writeln(D[1]). yaitu lokasi dari D[1]...masing indeks-array[1. Elektro FTI UAD .5] OF integer.Bahasa Pemrograman Pascal 76 TYPE DaftarNilai = ARRAY[1.3] OF integer. yakni mempunyai tipe. Untuk menyimpan suatu nilai ke dalam lokasi penyimpanan. Sebagai contoh : D[1]:=320. Jadi masing.indeks lebih dari satu atau tipe-komponen berupa array yang lain. Contoh array dengan tipekomponen berbentuk array : TYPE Matriks2D = ARRAY [1. Diktat Dasar Komputer dan Pemrograman T. Pendeklarasian seperti di atas menginstruksikan kepada compiler supaya menyediakan 3 lokasi memori untuk menyimpan data integer dari variabel D. setelah pengeksekusian pernyataan. dan D[3]. dengan i merupakan indeks-array dan nilai adalah bilangan yang hendak disimpan di D[i]. Contoh lain : X:=D[1]. Ciri dari tipe array ini.3] OF ARRAY [1.

Bentuk penulisan yang lain : TYPE Matriks2D = ARRAY [1.2] OF ARRAY [1...3] [1.. Matriks3D = ARRAY [1.. Penggambaran array berdimensi dua. Elektro FTI UAD . indeks-array kedua untuk menentukan kolom.1.1. Tipe seperti Matriks2D dinamakan array berdimensi dua..2] [1..masing elemen terdiri dari 5 elemen. Sedangkan bentuk seperti Matriks3D dinamakan array berdimensi tiga. Matrik3D merupakan tipe array yang mengandung 2 x 3 x 5 elemen.5] OF char.3 . Secara umum dapat dituliskan sebagai berikut : X[ i ... dengan tipe elemen yaitu char.5] OF integer. Tipe dari elemen integer. Matrik2D mengandung 3 elemen. Dengan kata lain.1.5] OF char.3] OF ARRAY [1.. j] Diktat Dasar Komputer dan Pemrograman T..2 . kolom 1 Baris 1 Baris 2 Baris 3 * kolom 2 kolom 3 kolom 4 kolom 5 Untuk mengakses setiap elemen dari X diperlukan dua buah indeks array.5] OF char.. Bentuk seperti Matrik2D dan Matrik3D dapat disederhanakan menjadi : TYPE Matriks2D = ARRAY [1.5] OF integer. Matriks3D = ARRAY [1. dengan masing.3 .Bahasa Pemrograman Pascal 77 Matriks3D = ARRAY [1. misalnya untuk variabel yang dideklarasikan : VAR X : Matriks2D . Matrik2D mempunyai 3 x 5 elemen. Indeks-array pertama untuk menunjuk baris .3] [1...

data : arraydata.4].1]. varians. X[1.3] dan terakhir X[4. X[2.4]. { untuk menghitung nilai rata-rata. Untuk array berdimensi tiga. readln(n). const maksdata = 25. rerata. temp. for i := 1 to 3 do for j := 1 to 5 do X [ i . write('Banyak Data : '). X[4. Diktat Dasar Komputer dan Pemrograman T.1]. } { varians dan deviasi standart } uses crt. begin clrscr.'. Proses membuat elemen array X sama dengan nol untuk perintah di atas dimulai dari X[1. X[1.3].3]. for i:= 1 to n do begin write('Data ke . readln(data[i]). X[2.Bahasa Pemrograman Pascal 78 Yang menyatakan elemen pada baris idan kolom j. elemen yang ditandai dengan * memiliki identitas X[2. Pada diagram.3].2]. X[3. Elektro FTI UAD .2]. end. type arraydata = array[1.4].4] Contoh 1 : Program deviasi_standar. Contoh berikut menunjukkan car membuat isi keseluruhan elemen array X bernilai nol.1]. X[4. writeln.3].2]. X[3. standev : real. X[2. identitas dari suatu elemen array ditentukan oleh tiga buah indeks-array. n : integer. X[3.' = '). j] := 0. var i.1] kemudian X[1.i:2. X[3.2]. jumlah. X[2.. X[4.maksdata] of real.

{menghitung varian dan deviasi standar} temp:=0. readln(n). standev:=sqrt(varians). writeln('Cacah data writeln('Jumlah data writeln('Nilai rata-rata writeln('Varians writeln('Deviasi standart readln. readln(data[i]).. Diktat Dasar Komputer dan Pemrograman T. = = = = = '. write('Jumlah Data : ').standev:10:7).varians:10:7). {untuk mengurutkan data menurut abjad} uses crt. writeln.'. '. varians:=temp/n. '. Var i.20] of MaksString. {cetak hasil} writeln. writeln('Data Semula : '). '). Type MaksString = string[30]. Elektro FTI UAD .j.n:10).Bahasa Pemrograman Pascal 79 {menghitung jumlah dan rata-rata data} jumlah :=0. for i:=1 to n do begin write(i:2. temp : MaksString. end.rerata:10:4). for i:=1 to n do temp:=temp+sqr(data[i]-rerata). '. data : array[1. begin clrscr.n : integer. end. writeln. Contoh 2 : Program MengurutkanDataString. '. for i:=1 to n do jumlah:=jumlah+data[i].jumlah:10:4). rerata:=jumlah/n.

'. Elektro FTI UAD . Diktat Dasar Komputer dan Pemrograman T.10.1. readln(x[i. end. var i. writeln.j. writeln('Data setelah diurutkan : ').. '. data dibaca elemen baris per baris} write('Banyak baris (maks = 10) : '). readln(baris). readln.j]).i. for i:=1 to baris do begin for j:=1 to kolom do begin write('elemen( '.j. data[j]:=temp. kolom : integer. uses crt.10] of real. write('Banyak kolom (maks = 10) : '). Contoh 3 : Program Baca_dan_Cetak_Matriks.. {cetak hasil} writeln.'. begin clrscr.'. end. data[i]:=data[j].data[i]).Bahasa Pemrograman Pascal 80 {proses pengurutan} for i:=1 to n do for j:=1 to n do if data[i] < data[j] then begin temp:=data[i]. {baca data.') = '). x : array[1. end. writeln. end. for i:=1 to n do writeln(i:2. writeln. baris. readln(kolom).

write('Nama : '). writeln.100] of string[50]. Diktat Dasar Komputer dan Pemrograman T. type array_nama = array[1. while nm <> '. readln(nm).. jika selesai beri(. write('Alamat : '). begin clrscr.. Elektro FTI UAD . readln(alamat[j]). alamat : array_alamat. writeln('Matriks : ').1000] of string[30]. nm : string[30].) pada nama'). writeln(' DAFTAR NAMA ALAMAT '). readln(nm). for i:=1 to baris do begin for j:=1 to kolom do write(x[i. end.' do begin j:=j+1. writeln.Bahasa Pemrograman Pascal 81 {cetak elemen dalam matriks} writeln. writeln. Contoh 4 : Program Daftar_nama.j]:8:3). j:=0. uses crt. writeln('---------------------------------').j : integer. write('Nama : '). nama[j]:=nm. end. var i. array_alamat = array[1. end. nama : array_nama. Writeln. writeln('Tulis nama. readln.

umur dan pekerjaan. 7..31. Record sering digunakan dalam program terutama yang berhubungan dengan file. Record (Rekaman) Record merupakan salah satu tipe data terstruktur yang terdiri atas sekumpulan variabel data terstruktur. alamat. Elektro FTI UAD . sebuah record tentang data seseorang.. . alamat[i]:21. readln. yang seolaholah merupakan satu obyek. end. .'|'.. for i:=1 to j do writeln('|'. Diktat Dasar Komputer dan Pemrograman T. write('----------------------------------'). Tipe data tersebut memungkinkan untuk memanipulasi sekumpulan elemen data dengan tipe yang tidak sama.fieldnya. writeln('=================================='). VAR pengenal : nama_record. alamat.nama[i]:15. Contoh : TYPE penanggalan = RECORD Tanggal : 1.'|'.Bahasa Pemrograman Pascal 82 writeln('|No| Nama | Alamat |'). END.'|'). Semua data tersebut dihimpun dalam satu record dengan nama. yang terdiri dari nama.9. umur dan pekerjaan sebagai field. Bentuk umum : TYPE nama_record = RECORD nama_field_1 : tipe_data_1. Variabel data terstruktur penyusun record disebut field (medan).i:3. Misalnya. nama_field_N : tipe_data_N. nama_field_2 : tipe_data_2.

Artinya : field Nama dari variabel DataMahasiswa pada indeks array sama dengan 13 diisi dengan string ‘ Bunga Rani’.. : string[20].Nama_Medan Contoh pengaksesan atau pernyataan penugasan yang melibatkan variabel bertipe record : a) TanggalLahir.20] of Data Tanggal. NomorMhs. Nama dan Fakultas merupakan field (identifier field). Fakultas END. Tahun. c) DataMahasiswa[i] := DataMahasiswa[i-1].Bahasa Pemrograman Pascal 83 Bulan Tahun END. Artinya : isi seluruh field dari variabel DataMahasiswa [i] diisi dengan isi field dari DataMahasiswa [i-1]. Bulan. Nama dan Fakultas ) Masing. yang berisi tiga buah field yaitu Tanggal. Bulan dan Tahun.masing record dapat diakses secara langsung. b) DataMahasiswa[13]. : 1900. Bentuk pengaksesannya adalah sebagai berikut : Nama_Variabel_Record. : string[9]. Variabel TanggalLahir merupakan variabel bertipe record. DataMahasiswa : ARRAY [1..Tanggal :=1. Data = RECORD NomorMhas Nama. Artinya : field Tanggal pada variabel TanggalLahir diisi sama dengan 1. Sedangakan variabel DataMahasiswa merupakan variabel array dengan tipe komponennya berupa record yang mengandung 3 buah field (NomorMhs. : integer.Nama :=’Bunga Rani’.2010. Pernyataan ini sama artinya dengan : Diktat Dasar Komputer dan Pemrograman T. Elektro FTI UAD . VAR TanggalLahir : Penanggalan.

Diktat Dasar Komputer dan Pemrograman T. Contoh 1 : Program Perkalian_Bilangan_Kompleks. writeln.NomorMhs. Kompleks1. {menghitung perkalian bilangan HasilKali. Kompleks2.Im * Kompleks2.Bahasa Pemrograman Pascal 84 DataMahasiswa[i].Re * . END. d) NamaMahasiswa := DataMahasiswa[2].Re * Kompleks2.Im := Kompleks1. writeln('Bilangan Kompleks Kedua'). DataMahasiswa[i]. Write('Riil. DataMahasiswa[i].Fakultas := DataMahasiswa[i-1]. Begin clrscr. Im : real. Imajiner ? '). . HasilKali : BilanganKompleks.Kompleks1.Fakultas. Var Kompleks1. Artinya : isi Nama dari DataMahasiswa[2] disalinkan ke variabel bukanrecord NamaMahasiswa. Imajiner ? ').Im). Readln(Kompleks2.Re. Kompleks2.Nama. Elektro FTI UAD kompleks} Kompleks2.Re.NomorMhs := DataMahasiswa[i-1].Im {cetak hasil} writeln.Im.Re. Readln(Kompleks1.Im HasilKali. writeln.Im). Type BilanganKompleks = RECORD Re.Nama := DataMahasiswa[i-1].Nama.Re := Kompleks1. (**************************************) (* contoh penggunaan record *) (* untuk pengolahan bilangan kompleks *) (**************************************) Uses Crt. Write('Riil. Kompleks2. writeln('Bilangan Kompleks Pertama').Re * + Kompleks1.

Elektro FTI UAD .MaksSiswa.Im:6:2). End. Type RekamanSiswa = Record Nomor : integer. writeln. Var jumlah : 1.. '+'. ' i').Bahasa Pemrograman Pascal 85 write('Hasil kali 2 bilangan kompleks diatas adalah : '). rerata: real. (***************************************************) (* program untuk membaca nomor. siswa : ArraySiswa. ArraySiswa = Array[1. dan untuk menghitung nilai *) (* rata-ratanya serta menampilkan hasil pengolahan *) (* ke layar penampil yang disusun berdasarkan *) (* nilai rata-rata yang tertinggi *) (***************************************************) Uses crt.j : integer. MaksSiswa = 20. totalnilai : real. Contoh 2 : Program Rerata_Nilai..MaksSiswa] of RekamanSiswa.HasilKali. for i:=1 to jumlah do Diktat Dasar Komputer dan Pemrograman T.. const JumlahTes = 5.Re:6:2.HasilKali. readln. temporer : RekamanSiswa. nama dan nilai tes *) (* dari sejumlah siswa. nilai : array[1. {pemasukan data} write('Jumlah data : ').Re:6:2).jumlahtes] of real.Im: 6:2. i. readln(jumlah). writeln('Bagian Imajiner = '. writeln('Bagian Riil = '. writeln(Hasilkali. End. Begin Clrscr.HasilKali. Nama : string[20].

rerata < siswa[j].'. '). Readln(siswa[i]. writeln('Siswa Siswa rata-rata'). siswa[i] := siswa[j]. for i:= 1 to jumlah do writeln(siswa[i]. siswa[i]. writeln('======================================='). end. writeln. Readln(siswa[i].Bahasa Pemrograman Pascal 86 begin write('Nomor siswa : ').nama).nomor:5. Elektro FTI UAD .rerata := totalnilai / jumlahtes. for j := 1 to JumlahTes do begin write(j:2. write('Nama siswa : '). Diktat Dasar Komputer dan Pemrograman T. read(siswa[i]. {mencetak hasil} writeln. siswa[i]. write('Nilai : '). readln. end. for j:=1 to jumlahtes do totalnilai := totalnilai + siswa[i].nilai[j]).nama:20. siswa[j] := temporer. writeln('Nomer Nama Nilai'). writeln.rerata then begin temporer := siswa[i]. writeln('======================================='). end.nilai[j]. {mengurutkan data berdasar nilai rata-rata yang tinggi} for i:=i to jumlah-1 do for j:=i+1 to jumlah do if siswa[i].siswa[i].nomor).rerata:11:1). end. end. writeln('======================================='). readln. {menghitung rata-rata nilai tes masing-masing siswa} for i:=1 to jumlah do begin totalnilai :=0.

writeln('Nama Mahasiswa : '. writeln.no_mhs). readln(jum_mhs). Elektro FTI UAD . readln(norek). writeln('Kode Fakultas : '.datakrs[norek]. readln(datakrs[i]. writeln('Nomor Mahasiswa : '.datakrs[norek]. write('Kode Fakultas : '). write('Ada berapa cacah rekaman ? '). for i:=1 to jum_mhs do begin write('Nama Mahasiswa : '). readln(jawab). write('Menampilkan lagi ? (Y/N)'). uses crt. readln(datakrs[i]. writeln. end.kodefak). writeln.no_mhs). begin clrscr.100] of krs. end. i. end. readln(datakrs[i]. write('Nomor Mahasiswa : ').kodefak). jawab : char. no_mhs : integer. jawab:='y'. writeln('Isi rekaman berikut : ! ').jum_mhs. Diktat Dasar Komputer dan Pemrograman T.nama_mhs).. writeln.nama_mhs). kodefak : string[5].datakrs[norek]. end.norek : integer. while(jawab='Y') or (jawab='y') do begin write('Menampilkan rekaman ke berapa : '). var datakrs : array[1.Bahasa Pemrograman Pascal 87 Contoh 3 : Program Rekaman. type krs = record nama_mhs : string[20].

You're Reading a Free Preview

Mengunduh
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->