SLIDE MK APLIKASI TE-3(BAHASA PASCAL)

  PENDAHULUAN

  • Pascal dikembangkan dari bahasa ALGOL, yang merupaka bahasa pemrograman

    komputasi scientific. ALGOL memiliki beberapa kelemahan seperti pada tipe data

    pointer, karakter, dan sulitnya mengimplementasikan bahasa tersebut ke dalam compiler menyebabkan ALGOL tidak berkembang dan sedikit demi sedikit ditinggalkan.
  • Pada akhirnya, tahun 1971, salah seorang pengembang ALGOL telah berhasil

    mengembangkan bahasa pemrograman baru yang diberinama PASCAL, yang

    mengadopsi nama ilmuwan Perancis pada abad ke 17 Blaise Pascal.
  • • Kelebihan dari bahasa PASCAL adalah merupakan bahasa pemrograman yang • Kelebihan dari bahasa PASCAL adalah merupakan bahasa pemrograman yang

    terstruktur, bahasa pemrograman tingkat tinggi (high level language), serta mudah

    bagi programmer untuk menentukan tipe data yang diinginkan.

  Di awal tahun 1980 an, PASCAL telah menjadi bahasa pemrograman standard di berbagai

  • universitas. Terdapat dua peristiwa yang menyebabkan PASCAL menjadi sangat populer pada saat itu yaitu digunakannya PASCAL sebagai bahasa untuk membuat aplikasi/software guna keperluan ujian di beberapa sekolah, serta dirilisnya Turbo Pascal Compiler oleh perusahaan Borland International untuk komputer IBM. Sampai saat ini, Turbo Pascal sudah mencapai rilis 7.0 bahkan sudah ada yang berjalan di platform Windows (Turbo Pascal for Windows). Terdapat pula varian sudah ada yang berjalan di platform Windows (Turbo Pascal for Windows). Terdapat pula varian dari Turbo Pascal yang lebih bersifat open source yaitu Free Pascal. Namun, pada saat ini. PASCAL sudah mulai banyak ditinggalkan. Kebanyakan para programmer saat
  • ini lebih memilih bahasa C/C++ dan Java karena lebih mendukung untuk pemrograman berorientasi obyek. Meskipun demikian, bukan berarti PASCAL juga harus ditinggalkan pada saat ini. PASCAL masih
  • layak dipelajari, khususnya bagi mereka yang baru belajar bahasa pemrograman karena perintah-perintahnya menggunakan bahasa tingkat tinggi (mirip bahasa manusia - Inggris) sehingga mudah dipahami. Selain itu, dengan belajar PASCAL akan diperoleh modal untuk dapat menguasai pemrograman visual DELPHI. Karena pada prinsipnya, DELPHI merupakan PASCAL yang
  • STRUKTUR PROGRAM PASCAL

  

Struktur dari suatu program pascal terdiri ari sebuah

judul program (program heading) dan suatu blok

program (program blok) atau badan program (body program (program blok) atau badan program (body

program). Blok program dibagi dua yaitu bagian deklarasi

(declaration part) dan bagian pernyataan (statement

part). Bagian deklarasi dapat terdiri dari deklarasi label (

Label declaration), deklarasi konstanta (constants

declaration), deklarasi tipe (type declaration), deklarari declaration), deklarasi tipe (type declaration), deklarari

variabel (variable declaration),deklarasi prosedur

(procedures declaration) dan deklarasi fungsi (function

declaratio)

  • • Secara ringkar, struktur program pascal terdiri

    dari :
  • judul program
  • blok program • blok program
    • – Bagian deklarasi

    >deklarasi label
  • deklarasi konstanta
  • deklarasi tipe
  • deklarasi variable • deklarasi variable
  • deklarasi prosedur
  • deklarasi fungsi

  • Berikut ini rangka umum program yang terdapat dalam bahasa pascal

PENGENAL (IDENTIFIER)

  • • Identifier merupakan sebuah nama yang digunakan untuk keperluan penyimpanan

    suatu nilai, pendaklarasian variabel, konstanta, type dan nama program maupun subprogram. Seorang programmer tidak boleh sembarangan menuliskan nama identifier. Berikut ini adalah beberapa aturan penulisannya:

  

1. Nama identifier harus dimulai (karakter pertama) dengan karakter huruf alfabet

a-z atau A-Z

  

2. Setelah karakter pertama, dapat dilanjutkan dengan karakter alfanumerik (angka

maupun huruf), dan underscore (_)

  

3. Dalam penulisan identifier tidak boleh menggunakan karakter-karakter berikut ini

~ ! @ # $ % ^ & * ( ) + ` - = { } [ ] : " ; ' < > ? , . / |

  

4. Tidak boleh menuliskan identifier dengan nama yang sesuai kata tercadang

(reserved word) dalam PASCAL, seperti and, array, begin, case, const, div, do, downto, else, end, file, and, array, begin, case, const, div, do, downto, else, end, file, for, forward, function, goto, if, in, label, mod, nil, not, of, or, packed, procedure, program, record, repeat, set, then, to, type, until, var, while, with.

  • • Kalaupun Anda ingin tetap menggunakan kata tercadang

    di atas, kata tersebut harus dirangkai dengan karakter di atas, kata tersebut harus dirangkai dengan karakter lain. Misal program_if, begin1, dll. lain. Misal program_if, begin1, dll.
  • • PASCAL tidak bersifat case sensitive yang berarti bahwa

    besar kecilnya huruf dalam perintah tidak dibedakan. Sebagai contoh, apabila diberikan

  3 identifier MyProgram, MYPROGRAM, dan mYpRoGrAm, maka ketiga identifier tersebut adalah sama. ketiga identifier tersebut adalah sama. OPERATOR

  • OPERATOR PENUGASAN Operator Penugasan (Assignment operator) Operator Penugasan (Assignment operator) dalam bahasa pascal berupa titik dua tanda sama dengan (“:=”). Contoh : i:=10; i:=10; writeln(“ nilai I =“,i);
  • OPERATOR ARITMATIKA

  Bahasa Pascal menyediakan lima operator aritmatika, yaitu : : untuk perkalian ( real dan intger ) *

  / / : untuk pembagian real : untuk pembagian real MOD : untuk sisa pembagian (modulus) (Integer)

  : untuk pertambahan(real ataupun integer) + : untuk pengurangan ( real dan integer ) -

  DIV : untuk pembagian bulat Contoh: A= b*c; Writeln(“Nilai b x c =“,A);

  • OPERASI LOGIKA DAN PERBANDINGAN

  Jika operator hubungan membandingkan hubungan antara dua buah operand, maka operator logika digunakan untuk membandingkan logika hasil dari operator-operator hubungan.

  = = : sama dengan : sama dengan < > : tidak sama dengan > : lebih besar dari >= : lebih besar sama dengan dari < : lebih kecil dari <= : lebih kecil sama dengan dari

  AND : Logika AND (DAN) OR : Logika OR (ATAU) NOT : Logika NOT (INGKARAN) NOT : Logika NOT (INGKARAN)

  XOR : Logika XOR SHL : logika geser kiri

  Contoh:

  • Program data_perbandingan;

    Uses Wincrt; Var a,b :integer; Begin Begin a:=5; b:=3; Writeln(a=b);

  Writeln(a<b); Writeln(a or b); Writeln(a<>b); Writeln(a>b); Writeln(a>b); Writeln(a and b)); End.

  KONSTANTA

  • Suatu konstanta direferensikan oleh sebuah identifier dan

    dapat diassign oleh suatu nilai pada awal program. Nilai dapat diassign oleh suatu nilai pada awal program. Nilai

    yang disimpan pada suatu konstanta tidak dapat diubah.

    Konstanta dideklarasikan pada bagian const.

  const Identifier1 = value; Identifier1 = value; Identifier2 = value;

  • Sebagai contoh, berikut ini adalah perintah untuk mendeklarasikan beberapa konstanta const const

  Name = 'Tao Yue'; (* string *) FirstLetter = 'a'; (* karakter *) Year = 1997; (* integer *) pi = 3.1415926535897932; (* real *) pi = 3.1415926535897932; (* real *) UsingNCSAMosaic = TRUE; (* boolean *)

  • Dalam Pascal, nilai dalam bentuk string maupun karakter harus diapit dengan tanda petik satu (single quote).
  • Suatu konstanta dapat pula ditulis seperti contoh berikut • Suatu konstanta dapat pula ditulis seperti contoh berikut const a : real = 12; maksud dari perintah di atas adalah nilai

  12 bukanlahbilangan bukanlahbilangan bulat bulat (integer) (integer) namun namun merupakan merupakan bilangan real (12.0). Nilai 12.0 ini disimpan dalam konstanta bilangan real (12.0). Nilai 12.0 ini disimpan dalam konstanta a. Contoh program Program data_konstan; Uses Wincrt; const const a=11;

  Contoh konstanta b=10; Begin Writeln(a=b); Writeln(a<b); Writeln(a<=b); Writeln(a<=b); Writeln(a<>b); Writeln(a>b); Writeln(a>=b)); VARIABEL & TIPE DATA

  • • Variabel hampir mirip dengan konstanta. Nilai yang disimpan dalam

    variabel ini dapat diubah sewaktu-waktu. Setiap variabel yang akan digunakan dalam program harus dideklarasikan terlebih dahulu dalam bagian var.

bagian var.

  • • IdentifierList merupakan nama-nama identifier (variabel) yang akan

    digunakan. Masing-masing nama tersebut dipisahkan dengan tanda koma.

  • • Sedangkan datatype merupakan tipe data dari nama-nama variabel

  Berdasarkan nilai yang akan disimpan dalam variabel,terdapat 4 tipe

  • data:

  1. Integer, merupakan tipe data bilangan bulat yang memiliki jangkauan antara -32768 s/d 32767. Selain itu terdapat pula tipe data longint yang juga masih terkait dengan bilangan bulat. Jangkauan dari longint jauh lebih besar daripada integer. jauh lebih besar daripada integer.

2. Real, merupakan tipe data bilangan riil yang memiliki jangkauan

  (- 38 )

  38

  3.4x10 sampai dengan 3.4x10( ) demikian pula untuk bilangan negatifnya. Untuk menuliskan suatu nilai bilangan riil dapat menggunakan format scientific maupun desimal. Berikut ini adalah dua nilai yang ekuivalen: 452.13 dan 4.5213e2 Selain real, terdapat pula tipe data extended yang juga bernilai bilangan riil. Jangkauan dari tipe data extended ini jauh lebih besar daripada real. daripada real.

  3. Char, merupakan tipe data untuk nilai yang berupa karakter.

  4. Boolean, merupakan tipe data yang hanya bernilai TRUE atau FALSE saja.

  Berikut ini adalah contoh pendeklarasian beberapa variabel

  • var age, year, grade : integer; circumference : real; LetterGrade : char; DidYouFail : Boolean;

  Pada contoh di atas, variabel age, year, dan grade sama-sama bertipe data Pada contoh di atas, variabel age, year, dan grade sama-sama bertipe data integer.

  Program data_perbandingan; Uses Wincrt; Var a,b :integer; C:char; Begin Writeln(“masukkan angka a =“); read(a); Writeln(“masukkan angka b=“); read(b); Writeln(“masukkan karakter c =“); read(c);

INPUT DAN OUTPUT

  • INPUT (Masukan)
  • Input merupakan sesuatu data yangdimasukkan ke dalam program untuk diproses. Dalam hal ini, hanya akan dibahas input yang diperoleh dari entri data melalui keyboard. data melalui keyboard.
  • Perintah Pascal untuk menyatakan input adalah:

  readln(variabel);

  • Melalui perintah di atas, data yang dientrikan melalui keyboard akan diassign ke dalam suatu variabel. Setelah data dientrikan, user harus menekan tombol ENTER (RETURN)
  • Misalkan ketika program di atas dijalankan kita masukkan bilangan 6, maka tampilannya:

  • Contoh :
  • Catatan:

  • – Untuk input berupa bilangan real yang memuat desimal, digunakan tanda titik yang menyatakankoma, misal 345.12. Selain itu dapat pula dituliskan dalam bentuk format scientific, misal 1E-5 (sama dengan 0.00001) atau 3.5E+4 (sama dengan 35000)
  • – Sedangkan input yang berupa karakter tidak perlu diapit dengan tanda petik, demikian pula untuk tipe data boolean.
  • OUTPUT (Kelua
  • Setelah data diinput dan selanjutnya diproses, selanjutnya harus ditampilkan sebagai output supaya user dapat mengetahui solusi dari permasalahan. Untuk menampilkan data ke layar (output), terdapat dua perintah dalam Pascal, yaitu

  Write(argumen); Writeln(argumen);

  • Catatan: Argumen dapat berupa variabel, string, operasi, maupun function.
  • contoh :
  • output dari potongan program di atas adalah

SELEKSI KONDISI (1)

1. Seleksi Kondisi If..then

  Bentuk dari struktur if-then adalah sebagai berikut :

  IF ungkapan THEN Statemen

  IF ungkapan THEN

  Ungkapan adalah kondisi yang akan diseleksi oleh statemen if. Bila kondisi yang diseleksi terpenuhi maka statemen yang mengikuti Then akan diproses. Sebaliknya bila kondisi tidak terpenuhi, maka yang akan diproses diproses. Sebaliknya bila kondisi tidak terpenuhi, maka yang akan diproses adalah statemen berikutnya. Program seleksi_if; Uses Wincrt; Var NilaiUjian:real;

  Ket Ket :string[20]; :string[20]; Begin Ket:=’Tidak Lulus’;

Write(‘Nilai yang di dapat =’);

  Readln(NilaiUjian);

(*seleksi nilai yang di dapat, lulus atau tidak*) (*seleksi nilai yang di dapat, lulus atau tidak*)

If NilaiUjian > 60 then Ket:=’Lulus’; Writeln(Ket);

2. Seleksi kondisi If..then…else

  • • Merupakan pengembangan dari struktur if-then dengan struktur

    sebagai berikut:

  If ungkapan Then If ungkapan Then Statemen1

  Else Statemen2

  • • Statemen1 atau dapat berupa blok statemen akan diproses • Statemen1 atau dapat berupa blok statemen akan diproses

    bilamana kondisi yang diseleksi benar (terpenuhi) sedang statemen2 atau dapat berupa blok statemen akan diproses bilamana kondisi yang diseleksi tidak terpenuhi.
  • Contoh

  Program seleksi_if; Uses Wincrt; Var NilaiUjian:real; NilaiUjian:real; Ket :string[20]; Begin Write(‘Nilai yang di dapat =’); Readln(NilaiUjian);

(*seleksi nilai yang di dapat, lulus atau tidak*)

If NilaiUjian > 60 then Writeln(‘LULUS’) Writeln(‘LULUS’) else Writeln(‘TIDAK LULUS’); End.

SELEKSI KONDISI (2)

3. Seleksi Kondisi Case..of

  • • Statemen Case berisi ungkapan ( pemilih ) dan sederetan

    statemen yang masing-masing diawali satu atau lebih konstanta.
  • • Pemilih harus bertipe ordinal yang mempunyai batas antara -

    32768 sampai +32768. Sehingga, tipe string, bilangan bulat yang

    bertipe longint atau word tidak boleh digunakan sebagai bertipe longint atau word tidak boleh digunakan sebagai

    pemilih. Semua konstanta Case harus unik dan tipe ordinal yang

  • •Statemen Case dapat berbentuk struktur :

  Case-of atau Case-of..else atau Case ungkapan of Daftar case-label-1: statement1; Daftar case-label-2: statement2; . . . Daftar case-label n: statement n; Daftar case-label n: statement n; End;

  Contoh program : Program seleksi_case; Uses Wincrt; Var Nilai:char; Nilai:char; Begin Write(‘Nilai huruf yang di dapat =’); Readln(Nilai); Case Nilai of ‘A’ : writeln(‘Sangat Baik’); ‘B’ : writeln(‘Baik’); ‘C’ : writeln(‘cukup’); ‘D’ : writeln(‘Kurang’); ‘D’ : writeln(‘Kurang’); ‘E’ : writeln(‘Gagal’); End; End.

  PERULANGAN (1)

1. Perulangan for

  perulangan dengan statemen for digunakan untuk mengulang statemen atau satu blok statemen berulang kali sejumlah yang ditentukan.

  Perulangan statemen for ada 3: perulangan positif, perulangan negatif dan perulangan tersarang. perulangan tersarang.

  • Perulangan FOR positif

  Perulangan denga penghitung ( counter ) dari kecil ke besar atau dengan kata lain pertambahannya positif. Perulangan positif dapat dibentuk dengan menggunakan statemen For-To-Do, dengan bentuk umum:

  For variabel-kontrol := nilai-awal To nilai-akhir Do Statemen Contoh program Program seleksi_case;

  1 Uses Wincrt;

  2

  2 Var Var

  3 I:integer;

  4 Begin

  5 For i:=1 to 5 do

  Writeln(i); End. End. Jika program diatas di jalankan

  • Perulangan FOR negatif
    • Perulangan denga penghitung ( counter ) dari besar ke kecil atau dengan kata lain pertambahannya negatif. Perulangan negatif dapat dibentuk dengan menggunakan statemen For-

  DownTo-Do,

  dengan bentuk umum:

  

For variabel-kontrol := nilai-awal DownTo nilai-akhir Do Statemen

  • Variabel-kontrol, nilai-awal, nilai-akhir harus mempunyai tipe

  Contoh Program perulangannegatif Program seleksi_case; Uses Wincrt; Var

  5 I:integer; I:integer;

  4 Begin

  3 For i:=5 Downto 1 do

  2 Writeln(I);

  1 End.

  Jika program disamping dijalankan, maka akan menampilkan data I dari terbesar ke angka yang terkecil seperti

  PERULANGAN (2)

  • Perulangan Bersarang
    • • perulangan yang berada didalam perulangan yang lainnya. Perulangan yang

      lebih dalam akan diproses terlebih dahulu sampau habis, kemudian lebih dalam akan diproses terlebih dahulu sampau habis, kemudian perulangan yang lebih luar baru akan bertambah, mengerjakan perulangan yang lebih dalam lagi mulai dari nilai awalnya dan seterusnya. Bentuk Umum For Bersarang :

  For variabel-kontrol := nilai-awal To nilai-akhir Do For variabel-kontrol2 := nilai-awal2 To nilai-akhir2 Do For variabel-kontrol2 := nilai-awal2 To nilai-akhir2 Do Statemen;

  Contoh Program Perulangan FOR Bersarang Perulangan

  Program seleksi_sarang; sebanyak j

  Uses Wincrt; Var I,j:integer; I,j:integer; Begin For i:=1 to 5 do Perulangan

  Begin sebanyak i

  For j:=1 to 3 do Writeln(I,j:4); End; End. End.

  Jika program diatas dijalankan maka perulangan yang akan dilakukan adalah perulangan sebanyak j

2. Perulangan While..Do

  • Perulangan ini menggunakan statemen while-Do yang mempunyai struktur dalam bentuk umum sebagai berikut:
  • Bentuk Umum : • Bentuk Umum :

  While Ungkapan Do

  Statemen

  • Statemen while-do digunakan untuk melakukan proses perulangan suatu statemen atau blok statemen terus menerus selama kondisi ungkapan logika pada While masih

  

Contoh Program perulangan while-do

Program seleksi_while; Uses Wincrt; Var I:integer; Begin Begin I:=0; While I<5 do Begin Writeln(I); I:=I+1; End; End.

  Jika program diatas dijalankan perulangan akan tetap terus berjalan ketika nilai I masih bernilai benar ( i<5).jika I sudah mencapai

  PERULANGAN (3)

  3. Perulangan Repeat...Until

  • Digunakan untuk mengulang ( repeat ) statemen atau blok statemen sampai ( Until ) kondisi yang diseleksi tidak terpenuhi.
  • Statement Repeat dapat memiliki sintak sebagai berikut:

  Repeat Statemen; Until Ungkapan

  • Pada sintaks di atas, bagian syarat bernilai TRUE atau FALSE. Selama syarat bernilai FALSE atau syarat belum terpenuhi, proses perulangan akan terus dilakukan. Perulangan baru akan berhenti jika syarat sudah terpenuhi atau

  Agak sedikit beda dengan WHILE, dalam REPEAT minimal perulangan yang

  • dapat dilakukan adalah sekali. Hal ini dikarenakan pengecekan syarat terletak di bawah. Sedangkan untuk WHILE dapat dimungkinkan tidak terjadi perulangan, yaitu apabila syarat langsung bernilai FALSE (syarat terletak di atas). terletak di atas). Contoh Program Perulangan Repeat..Until
  • Program seleksi_repeat; Uses Wincrt; Var Harga,I:integer; Begin I:=1; Repeat Repeat

  I:=I+1; Writeln(I,’ bahasa pascal’); Until i:=5; Penjelasan program I = 1 i:=i+1 Keterangan

  • Program diatas akan terus melakukan perulangan ketika nilainya belum memenuhi nilai 2 2+1 False i=5, i=5, 3 3+1 False • dan jika nilai sudah memenuhi syarat pada until maka proses akan berhenti.

  4 4+1 False 5 5+1 True False, proses terus berjalan True, proses berhenti.

  ARRAY

  • • Larik atau array adalah tipe terstruktur yang

    mempunyai komponen dalam jumlah yang tetap dan setiap komponen memiliki tipe data yang sama. Posisi setiap komponen memiliki tipe data yang sama. Posisi masing – masing komponen dalam larik dinamakan sebagai nomer index.
  • • Dengan menggunakan array sejumlah variable dapat

    memakai nama yang sama
  • • Antara satu variable dan variable yang lain di dalam

    array dibedakan berdasarkan subscript. array dibedakan berdasarkan subscript.
  • • Sebuah subscript berupa bilangan di dalam kurung

    siku. Melalui subscript inilah masing-masing elemen

  • Bentuk umum dari type larik :

  Type pengenal = Array[ Type index ] of Type;

  • Dengan : Pengenal : nama tipe data Type index : tipe data untuk nomor index Type : tipe data komponen
  • Contoh: Var Bilangan : Array[1..5] of real Bilangan : Array[1..5] of real
  • Keterangan: Maka array bilangan dapat menyimpan lima buah

1. ARRAY SATU DIMENSI

  • • Array berdimensi satu merupakan array dengan ciri

    memiliki tipe-indeks hanya sebuah dan tipe-komponen tidak berupa array.
  • Contoh array berdimensi satu : • Contoh array berdimensi satu :

  VAR x : ARRAY [1..8] of real; Menyatakan bahwa indeks-array dari variabel x dapat berupa 1,2,3,…,8 dan isi array bertipe real.

  • Sedangkan

  VAR Huruf : ARRAY [‘A’..”Z’] of integer; Menyatakan bahwa indeks-array dari variabel Huruf dapat berupa karakter A, B, C, …, Z dan tipe isi array adalah integer. Ukuran Array x sama dengan 8. Ukuran Array

  • • Pengaksesan terhadap suatu array, dapat dibedakan dalam dua

    macam operasi, yaitu penyimpanan dan pengambilan elemen array. Untuk menjelaskan hal ini, diambil contoh :
  • • Pendeklarasian seperti di atas menginstruksikan kepada compiler

    supaya menyediakan 3 lokasi memori untuk menyimpan data integer dari variabel D, yaitu lokasi dari D[1], D[2], dan D[3]. Jadi masing-masing masing-masing indeks-array[1..3] indeks-array[1..3] dari dari D D memiliki memiliki lokasi lokasi penyimpanan tersendiri. Untuk menyimpan suatu nilai ke dalam lokasi penyimpanan, dapat dilakukan dengan instruksi dengan instruksi D[i] := nilai, dengan i merupakan indeks-array dan nilai adalah bilangan yang hendak disimpan di D[i]. Sebagai contoh :
  • D[1]:=320; setelah pengeksekusian pernyataan, D[1] bernilai 320. Untuk mengambil isi array D, misalnya D[1], dapat digunakan instruksi : dapat digunakan instruksi :
  • Writeln(D[1]); yang akan menampilkan nilai D[1] pada layar. Contoh lain :
  • X:=D[1]; memberikan nilai dari D[1] ke variabel X.

  Program array_satu; Contoh Program Array Satu Dimensi N=5; Const Uses wincrt; Var Var Bilangan:array[1..N] of integer; I,J:integer; Begin Begin For I:=1 to N do Writeln(‘Data yang anda masukkan adalah’); Writeln(‘Data yang anda masukkan adalah’); End; Write(‘Masukkan Data ke’,I,’?’); readln(Bilangan[I]); Begin For J:=1 to N do Writeln(‘No Data’); Writeln(I,’ ‘,Bilangan[I]);

  • Jika program tersebut dijalankan, maka keluarannya:

ARRAY (2) ARRAY (2)

ARRAY MULTIDIMENSI

  • Yang termasuk dalam array multidimensi yaitu array yang memiliki lebih dari satu dimensi. Ciri dari tipe array ini, yakni mempunyai tipe-indeks lebih dari satu atau tipe-komponen berupa array yang lain. Contoh array dengan tipe-komponen berbentuk array : berbentuk array :

  TYPE Matriks2D = ARRAY [1..3] OF ARRAY [1..5] OF integer; Matriks3D = ARRAY [1..2] OF ARRAY [1..3] OF ARRAY [1..5] OF char;

  • Matrik2D mengandung 3 elemen, dengan masing-masing elemen terdiri dari 5 elemen terdiri dari 5 elemen. Dengan kata lain, Matrik2D elemen. Dengan kata lain, Matrik2D mempunyai 3 x 5 elemen. Tipe dari elemen integer.
  • Matrik3D merupakan tipe array yang mengandung 2 x 3 x 5 elemen, dengan tipe elemen yaitu char.

  • Bentuk seperti Matrik2D dan Matrik3D dapat disederhanakan menjadi :

  TYPE Matriks2D = ARRAY [1..3 ,1..5] OF integer; Matriks3D = ARRAY [1..2 ,1..3 ,1..5] OF char; Matriks3D = ARRAY [1..2 ,1..3 ,1..5] OF char;

  • Bentuk penulisan yang lain :

  TYPE Matriks2D = ARRAY [1..3] [1..5] OF integer; Matriks3D = ARRAY [1..2] [1..3] [1..5] OF char; Matriks3D = ARRAY [1..2] [1..3] [1..5] OF char;

  • Tipe seperti Matriks2D dinamakan array berdimensi dua.

  Sedangkan bentuk seperti Matriks3D dinamakan array berdimensi tiga.

  • Penggambaran array berdimensi dua, misalnya untuk variabel • Penggambaran array berdimensi dua, misalnya untuk variabel yang dideklarasikan :

  • Untuk mengakses setiap elemen dari X diperlukan dua buah indeks array. Indeks-array pertama untuk menunjuk baris, indeks-array kedua untuk menentukan kolom. Secara umum dapat dituliskan sebagai berikut :
  • Yang menyatakan elemen pada baris idan kolom j. Pada diagram, elemen yang ditandai dengan * memiliki identitas X[2,3].
  • Untuk array berdimensi tiga, identitas dari suatu elemen array ditentukan oleh tiga buah indeks-array. Contoh berikut ditentukan oleh tiga buah indeks-array. Contoh berikut menunjukkan car membuat isi keseluruhan elemen array X bernilai nol.

  • Proses membuat elemen array X sama dengan nol

    untuk perintah di atas dimulai dari X[1,1] kemudian

    X[1,2], X[1,3], X[1,4], X[2,1], X[2,2], X[2,3], X[2,4], X[1,2], X[1,3], X[1,4], X[2,1], X[2,2], X[2,3], X[2,4],

    X[3,1], X[3,2], X[3,3], X[3,4], X[4,1], X[4,2], X[4,3] dan

    terakhir X[4,4]
  • CONTOH PROGRAM Program Daftar_nama; uses crt; type array_nama = array[1..1000] of string[30]; array_alamat = array[1..100] of string[50]; array_alamat = array[1..100] of string[50]; var i,j : integer; nm : string[30]; nama : array_nama; alamat : array_alamat; alamat : array_alamat; begin clrscr;

  LANJUTAN (1) writeln; j:=0; write('Nama : '); readln(nm); while nm <> '.' do while nm <> '.' do begin j:=j+1; nama[j]:=nm; write('Alamat : '); readln(alamat[j]); writeln; write('Nama : '); readln(nm); end;

  LANJUTAN(2) writeln('|No| Nama | Alamat |'); writeln('================================= writeln('=================================

  ='); for i:=1 to j do writeln('|',i:3,'|',nama[i]:15,'|', alamat[i]:21,'|'); write('----------------------------------'); write('----------------------------------'); readln; end.

  PROSEDUR 

  Prosedur merupakan suatu program terpisah dalam blok sendiri yang berfungsi sebagai subprogram.

  

 Prosedur diawali dengan kata cadangan Prosedur diawali dengan kata cadangan procedure procedure

didalam bagian deklarasi prosedur.

   Prosedur dipanggil dan digunakan didalam blok program yang lainnya dengan menyebutkan judul prosedurnya.

    Prosedur mempunyai struktur yang sama dengan Prosedur mempunyai struktur yang sama dengan struktur program, yaitu terdiri dari nama prosedur, deklarasi-deklarasi dan bagian utama dari prosedur itu

   Prosedur banyak digunakan pada program yang terstruktur, karena :

1. merupakan penerapan konsep program modular.

  Yaitu memecah-mecah program yang rumit menjadi Yaitu memecah-mecah program yang rumit menjadi program-program bagian yang lebih sederhana dalam bentuk prosedur-prosedur

  

2. untuk hal – hal yang sering digunakan dan dipakai

secara berulang-ulang, cukup dituliskan sekali saja dalam dalam prosedur prosedur dan dan dapat dapat dipanggil dipanggil atau atau dipergunakan sewaktu-waktu bila diperlukan.

  

Bentuk umum deklarasi prosedur adalah :

  Procedure nama <daftar> Dengan : Nama : nama prosedur

Daftar : Daftar parameter formal

   Contoh program: program prosedure; uses wincrt; var nama,alamat,telp:string; procedure bacadata; begin begin writeln('Prosedur memasukkan data'); writeln('Nama anda:');readln(nama); writeln('Alamat:');readln(alamat);

writeln(' Telp:');readln(telp);

  procedure cetakdata;

  begin writeln('nama anda:',nama); writeln('alamat anda :',alamat); writeln('Nomor telepon :',telp); writeln('Nomor telepon :',telp); end;

  {program utama}

  begin clrscr; bacadata ; bacadata ; cetakdata ; readln; FUNGSI 

  Fungsi dideklarasikan sebagai bagian program yang menghasilkan sebuah ekspresi.

   Blok fungsi hampir sama dengan blok prosedur,hanya fungsi harus dideklarasikan dengan tipenya.

   Tipe deklarasi ini menunjukan tipe hasil dari fungsi.

  Tipe tersebut ditulis pada akhir deklarasi fungsi yang didahului dengan titik koma, sebagai berikut: Function nama(dafvar);type Function nama(dafvar);type

  Dengan

CONTOH PROGRAM

  Program fungsi; Uses wincrt;

Function tambag(x,y:integer):integer;

Begin

  Tambah:=x+y; End; End; Function kali(x,y:integer):integer; Begin

  Kali:=x*y; End; {program utama} Begin Begin

  Clrscr; Writeln(x’,+,’y,=’,tambah(5,10)); Writeln(x’,*,’y,=’,kali(5,10));

   Tipe rekaman ( record ) hamper sama dengan larik, yaitu kimpulan data

   Perbedaan Perbedaan antara antara larik larik dengan dengan rekaman rekaman adalah bahwa larik semua elemennya harus bertipe sama, tetapi dalam rekaman setipa elemen bias mempunyai tipe yang berbeda satu sama lain.

   Dalam Dalam aktivitas aktivitas sehari-hari sehari-hari pemakaian pemakaian rekaman lebih banyak digunakan dibanding dengan larik.

   Beberapa contoh misalnya rekaman data akademis mahasiswa, rekaman gaji pegawai,

persediaan barang dalam gudang, dan lain-lain.

   Bentuk umum deklarasi rekaman adalah : Bentuk umum deklarasi rekaman adalah : Type Pengenal=record Nama-field1:tipe;

  Nama-field2:tipe; Nama-fiels3:tipe; Nama-fiels3:tipe; Nama-field-n:tipe End

  

Atau dapat juga dituliskan sebagai berikut :

Var Pengenal=record Nama-field1:tipe; Nama-field1:tipe;

  Nama-field2:tipe; Nama-fiels3:tipe; . Nama-field-n:tipe End End program rekaman; uses wincrt; type hasil=record jari2:integer; luas:real; luas:real; keliling:real; end; var lingkaran:hasil; begin write('jari - jari lingkaran=');readln(lingkaran.jari2); lingkaran.keliling:=2*pi*lingkaran.jari2; lingkaran.luas:=pi*sqr(lingkaran.jari2); lingkaran.luas:=pi*sqr(lingkaran.jari2); writeln; writeln('keliling lingkaran adalah ',lingkaran.keliling:2:2); writeln('Luas Lingkaran adalah ',lingkaran.luas:2:2); readln;