P. 1
Pascal 5 Bahasa Pemrograman Pascal

Pascal 5 Bahasa Pemrograman Pascal

|Views: 13|Likes:
Dipublikasikan oleh Kasyfun Nadhir Z
pascal
pascal

More info:

Categories:Types, School Work
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

12/21/2013

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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)//-->