MODUL BIMBINGAN OLIMPIADE KOMPUTER SMA WACHID HASYIM 2 TAMAN

Modul 2

BAHASA PASCAL

Disusun oleh: Dini Widiasih S.T Tahun 2011

[BAHASA PASCAL]

Tingkat Menengah (Teori)

STATEMEN KENDALI
Statemen kendali adalah statemen yang digunakan untuk mengubah urutan eksekusi program dari pola eksekusi normal (secara berurutan)ke pola yang lain (secara tidak berurutan). Secara umum, statemen kendali digunakan untuk pengambilan keputusan dan melakukan proses berulang.

PENYELEKSIAN KONDISI Hampir setiap program yang kompleks mengandung suatu penyeleksian kondisi. Dengan menyeleksi suatu kondisi, program dapat menentukan tindakan apa yang harus dikerjakan, bergantung dari hasil kondisi yang diseleksi tersebut. Untuk menyeleksi suatu kondisi, di dalam bahasa Pascal dapat dipergunakan pernyataan IF dan CASE.

IF THEN Bentuk dari statement If-Then yaitu : if kondisi then statement; Bila kondisi memenuhi atau bernilai true maka statement akan diproses. Sebaliknya, bila kondisi tidak terpenuhi, maka yang akan diproses adalah pernyataan berikutnya. Contoh: Var Nilai:real; Ket : string[11]; Begin Ket: Tidak Lulus ; Write( Nilai Ujian = ); Readln(Nilai); {Penyeleksian kondisi} If Nilai>60 Then Ket:= Lulus ; Writeln(Ket); End. Bila program dijalankan akan menghasilkan: Nilai Ujian = 70-----_ diisi melalui papan ketik Lulus IF THEN ELSE Bentuk dari statemen If-Then-Else, yaitu: If kondisi Then statemen1;Else statemen2; Statemen1 akan diproses apabila kondisi benar(terpenuhi) sedang Statemen 2 akan diproses apabila kondisi tidak terpenuhi. Contoh : Var Nilai:Real; Begin 2
Modul Bimbingan Olimpiade Komputer SMA WH-2| Dini Widiasih S.T

atau range (himpunan) dari konstanta yang bukan bertipe real. E mempunyai arti sebagai berikut. Nilai E berarti kurang sekali. Var Nilai:Char. B :writeln( Baik ). End. OF Statemen1. B. Tingkat Menengah (Teori) CASE Bentuk dari struktur Case Of adalah: Case kondisi Of daftar case-label1: daftar case-label2: daftar case-label3: daftar case-label4: . Begin Writeln( Nilai huruf yang didapat = ). Nilai C berarti cukup. Readln(Nilai).T . Readln(Nilai). End. End. Statemen n. D :Writeln( Kurang ). E :Writeln( Gaga ). C. Nilai B berarti baik. Perbedaan IF dan CASE Setelah Pernyataan If menyeleksi suatu kondisi yang terpenuhi dan memproses pernyataan dalam lingkungan yang terpenuhi tersebut. proses penyeleksian masih akan dilakukan terhadap pernyataan If berikutnya yang lain. If Nilai>60 Then Writeln( Lulus ). Nilai D berarti kurang. Statemen2. C :Writeln( Cukup ). Daftar case label (label permasalahan) dapat berupa konstanta. Nilai A berarti sangat baik. Nilai F berarti gagal. Case Nilai of A :Writeln( Sangat Baik ). Statemen3. Else Writeln( Tidak Lulus ). Sedang pada Case Of bila salah satu kondisi terpenuhi dan pernyataan tersebut telah diproses. 3 Modul Bimbingan Olimpiade Komputer SMA WH-2| Dini Widiasih S. daftar case-labeln: End.[BAHASA PASCAL] Writeln( Nilai Ujian = ). D. Statemen4. . selanjutnya pernyataan-pernyataan yang lainnya dalam lingkungan Case tidak akan diseleksi lagi. Contoh: Nilai ujian yang diberikan dalam bentuk huruf A.

4 Modul Bimbingan Olimpiade Komputer SMA WH-2| Dini Widiasih S. Dengan struktur Case Of Else. Case Beli of 0. Bersih).. Begin Writeln( Total Pembelian = ). End. Readln(beli). Else potong:=500.Beli. Writeln( Potongan = .5000:potong:=200.T . 1001.potong:Integer. Bersih:=beli-ptong. Total Pembelian (Rp) Potongan Rp 0-1000 100 1001-5000 200 >5000 500 Akan dihitung besarnya potongan dan nilai yang harus dibayat untuk masing-masing penjualan. maka pernyataan yang akan diproses di dalam lingkungan Case Of adalah pernyataan yang ada di Else. potongan). Contoh: Pembelian yang mencapai nilai tertentu akan medapatkan potongan pembelian yang besarnya disesuaikan dengan tabel berikut ini. Writeln( Jumlah Bersih = . End. bila tidak ada kondisi yang terpenuhi.[BAHASA PASCAL] CASE OF ELSE Tingkat Menengah (Teori) Pada struktur Case of bila tidak ada kondisi yang terpenuhi berarti tidak ada pernyataan di lingkungan Case of yang diproses. Programnya adalah: Var Bersih.1000:potong:=100..

REPEAT dan FOR. End. PASCAL menyediakan 3 statemen untuk menangani proses berulang ini.[BAHASA PASCAL] PERULANGAN (LOOPING) Tingkat Menengah (Teori) Perulangan adalah salah satu proses penting dalam pemrograman. Perulangan positif.. yaitu : WHILE. For adalah perulangan dengan jumlah perulangan tertentu. sehingga jumlah perulangannya dapat ditentukan. nilai akhir harus bertipe integer Contoh Var I:Integer. Begin For I:= 1 to 5 Do Writeln( Pascal ). STATEMEN FOR. 5 Modul Bimbingan Olimpiade Komputer SMA WH-2| Dini Widiasih S. Perulangan positif dapat dibentuk dengan menggunakan pernyataan : FOR TO DO For To Do variabel-kontrol:=nilai awal nilai akhir pernyataan Variabel kontrol. Perulangan positif adalah perulangan dengan penghitung dari kecil ke besar atau pertambahan positif. Pada setiap perulangan . nilai awal. Batas atas dan batas bawah proses for ini sudah dideklarasikan dari awal. variabel tersebut akan bertambah atau berkurang satu. Perulangan adalah suatu proses dimana komputer akan mengeksekusi satu atau lebih statemen berulangkali sesuai kebutuhan. Flow Chart Statement for to : Flow Chart Statement for downto 1.T . Perulangan ini bergantung pada suatu variable integer..

End. Writeln( Turbo ). Begin For I:=5 downto 1 do Begin Writeln(I). Contoh: Var I:Integer. yaitu dengan penghitung dari nilai awal 1 sampai dengan nilai akhir 5. Bila program dijalankan maka akan menghasilkan: 5 4 3 2 1 6 Modul Bimbingan Olimpiade Komputer SMA WH-2| Dini Widiasih S. Perulangan negatif dapat dibentuk dengan menggunakan pernyataan For DownTo Do For variabel-kontrol:=nilai awal DownTo nilai akhir Do penyataan Contoh: Var I:integer. End. Begin For I:= 1 to 2 Do Begin Write( Pascal ). Perulangan negatif Perulangan negatif adalah perulangan dengan penghitung dari besar ke kecil atau pertambahan negatif. Apabila pernyataan diulang lebih dari satu pernyataan maka seteleh DO harus memakai Begin kemudian beberapa pernyataan yang akan diulang dan diakhiri dengan End.. End.[BAHASA PASCAL] Bila program dijalankan akan menghasilkan: Pascal Pascal Pascal Pascal Pascal Tingkat Menengah (Teori) Penjelasan: Pernyataan Writeln( Pascal ) akan diulang sebanyak 5 kali. End. Bila program dijalankan akan menghasilkan: PascalTurbo PascalTurbo 2.T .

kemudian perulangan yang lebih luar baru akan akan bertambah. Contoh: Var a. mengerjakan perulangan yang lebih dalam lagi mulai dari nilai awalnya dan seterusnya.[BAHASA PASCAL] Tingkat Menengah (Teori) 3.T .b : Integer. Hasil : 1112 2122 3132 STATEMEN WHILE DO Pernyataan While Do digunakan untuk melakukan proses perulangan suatu pernyataan atau blok pernyataan terus-menerus selama kondisi ungkapan logika pada While masih bernilai logika benar. Writeln. End. Begin For a := 1 To 3 Do Begin For b := 1 To 2 Do Write (a :4. Perulangan yang lebih dalam akan diproses terlebih dahulu sampai habis. Begin i := 0.b:2). { sama dengan i:=i+1 } End. 7 Modul Bimbingan Olimpiade Komputer SMA WH-2| Dini Widiasih S. End. Bentuk Umum While kondisi ungkapan Do Pernyataan Contoh Var i : Integer. Inc (i). While < 5 do Begin Write (i:3). End. Perulangan tersarang Perulangan tersarang adalah perulangan yang berada di dalam perulangan yang lainnya.

End. Contoh : Uses Crt. Bentuk umumnya adalah: Repeat pernyataan Until kondisi tidak terpenuhi Contoh: Var I:Integer Begin I:=0.Do) merupakan perulangan While Do yang satu di dalam perulangan While Do yang lainnya. Begin ClrScr.T . a:=1. b:=b+1. b:=1. Repeat 8 Modul Bimbingan Olimpiade Komputer SMA WH-2| Dini Widiasih S. STATEMEN REPEAT UNTIL Statemen ini digunakan untuk mengulang statement-statemen atau blok statement sampai (Until) kondisi yang diseleksi di Until tidak terpenuhi. End. Readln.b:2). b : Integer. Var a.[BAHASA PASCAL] Hasilnya : 01234 Perulangan While Do tersarang Tingkat Menengah (Teori) Perulangan While Do tersarang (nested While . End. While a < 4 Do{ loop selama a masih lebih kecil dari 4 } Begin Write (a:3.

Bentuk umum : INC(X[n:LongInt) 9 Modul Bimbingan Olimpiade Komputer SMA WH-2| Dini Widiasih S. End. Bentuk umum : INC(X[n:LongInt) Fungsi DEC (Decrement) Digunakan untuk menurunkan nilai suatu angka. dimana <label> merupakan tipe integer dengn maksimum 4 digit. Bila program dijalankan akan menghasilkan: 1 2 3 4 5 Penjelasan: Pencetakan variabel I akan diulang-ulang sampai harga I bernilai 5.T . Label juga harus dideklarasikan seperti variabel lainnya. Writeln(I).[BAHASA PASCAL] I:=I+1. Until I=5. Penulisan Goto: goto <label> FUNGSI STANDAR UNTUK PERULANGAN Fungsi INC (Increment) Digunakan untuk meningkatkan nilai suatu angka. Tingkat Menengah (Teori) Label dan Goto Pernyataan goto mentransfer program ke lokasi lain yang dinyatakan dengan label.

Bila program dijalankan akan menghasilkan: Bahasa Turbo Pascal Terstruktur PROSEDUR STANDAR UNTUK OPERASI STRING Pascal menyediakan beberapa prosedur standar yang berguna untuk memanipulasi string. End. jumlah) Contoh: Begin Writeln(Delete( Pascal . Kalimat:=tulisan1+tulisan2+tulisan3+sifat. Pada string. mulai dari posisi tertentu (ditunjukkan oleh nilai posisi) dari suatu tulisan (ditunjukkan oleh pengenal variabel string atau tulisan). Val. Writeln(kalimat). dapat digunakan sebagai kondisi yang diseleksi dan lain sebagainya. Contoh: Const Tulisan1= Bahasa . Insert. Begin Sifat:= Tersetruktur . End.4. Panjang maksimum suatu string yang diijinkan oleh Pascal adalah 255 karakter. Tulisan2= Turbo . maka tidak ada karakter yang akan terhapus.[BAHASA PASCAL] OPERASI STRING Tingkat Menengah (Teori) Suatu string di dalam Pascal dapat dioperasikan dengan berbagai macam tujuan.3)). Tulisan3= Pascal : Var Sifat:string[10]. Kalimat:[100]. Beberapa string dapat dirangkai menjadi satu. Pascal menyediakan beberapa prosedur standar dan fungsi standar untuk operasi string. operator ini digunakan untuk merangkai dua buah elemen string menjadi sebuah string. MERANGKAI STRING String hanya mempunyai sebuah operator. 10 Modul Bimbingan Olimpiade Komputer SMA WH-2| Dini Widiasih S.T . Jika posisi lebih besar dari panjang tulisan. Str. posisi. yaitu operator + . Prosedur standar DELETE Porsedur ini digunakan untuk membuang sejumlah karakter (jumlah yang ditunjukkan oleh nilai jumlah. Bentuk umum dari prosedur ini adalah: Delete(tulisan. Hasilnya : Pas Prosedur standar INSERT Prosedur ini digunakan untuk menyisipi suatu string (ditunjukkan oleh tulisan1) ke nilai string yang lainnya (ditunjukkan oleh tulisan2) mulai posisi yang ditentukan oleh nilai posisi. yaitu prosedur standar Delete.

T . bila tidak berarti salah dan letak kesalahannya ditunjukkan oleh nilai variabel kode. Writeln(S1+S2). N2:=567.tulisan2) Contoh: Var Nama:[string]. Writeln(N1+N2). Hasilnya : Bahasa Pascal Prosedur standar STR Prosedur standar ini digunakan untuk mengubah nilai numerik (ditunjukkan oleh nilai N) menjadi nilai string (dintunjukkan oleh nilai S).S) Contoh: Var N1. tetapi harus berisi angka atau tanda plus atau minus.Nama). Nilai variabel akan nol bila tidak mengandung kesalahan. Begin N1:=1234. Nilai lebar menunjukkan format panjang dari nilai utuh dan nilai desimal menunjukkan format dari panjang nilai di belakang koma. End. Kode). N2:integer. Hasil dari perubahan ke nilai string dapat terformat maupun tidak terfomat. 11 Modul Bimbingan Olimpiade Komputer SMA WH-2| Dini Widiasih S. Begin Nama:= Pascal . Srt(N2:4. Bila lebar atau desimal disebutkan. Str(N1:4. Hasilnya: 1801 1234 567 Prosedur standar VAL Prosedur standar ini digunakan untuk mengonversi nilai string (ditunjukkan oleh nilai S) menjadi nilai numerik (ditunjukkan oleh nilai N). S1. End. Writeln(Nama). Insert( Bahasa . maka akan menjadi sampai dengan 255 karakter saja.[BAHASA PASCAL] Tingkat Menengah (Teori) Bila hasil dari penyisipan menjadi string yang panjangnya lebih dari 255 karakter. maka akan dihasilkan nilai string dengan format panjang tertentu. Bentuk umumnya: Insert(tulisan1. Walaun S merupakan nilai string.S1). S2:string[5]. Bentuk Umumnya: Val(S.S2). Bentuk Umumnya: Str(N:lebar:desimal. N. Nilai N dapat berupa nilai numerik integer maupun nilai numerik real.

S2. S2= Turbo .1)).2345000000E+2 0 Tingkat Menengah (Teori) FUNGSI STANDAR UNTUK OPERASI STRING Di samping prosedur standar untuk memanipulasi string. N:real.S2. Writeln(kode).Sn) Contoh: Const S1= Pascal . Writeln(Copy(Tulisan.T .45 1. Fungsi standar CONCAT Fungsi standar ini mempunyai operasi yang sama dengan operator + yaitu merangkai beberapa nilai string yang dintunjukkan oleh nilai S1.N. Sn.. Val(S. End.3.kode).S1)).3)). Pascal juga menyediakan beberapa fungsi standar untuk operasi string. posisi. End. Bentuk Umumnya: ConCat(S1.. Fungsi standar COPY Fungsi standar ini digunakan untuk menyalin (copy) sejumlah karakter (jumlah karakter yang disalin ditunjukkan oleh nilai jumlah) mulai dari posisi yang ditunjukkan oleh nilai posisi dari nilai string yang ditunjukkan oleh nilai S. Bentuk Umumnya: Copy(S.45 . Writeln(Copy(Tulisan. Writeln(S). Begin Tulisan: Pascal . yaitu Copy. End.3. jumlah) Contoh: Var Tulisan:string[15]. Pos dan Length. Begin S:= 123. ConCat. Writeln(N). Begin Writeln(Concat(S2. Hasilnya 123. Kode:integer. 12 Modul Bimbingan Olimpiade Komputer SMA WH-2| Dini Widiasih S.[BAHASA PASCAL] Contoh: Var S1:string[6].

Digunakan untuk memutlakkan suatu nilai yang ditunjukkan oleh argumen x atau memosotikan suatu bilangan. Hasilnya 1 5 0 Fungsi standar LENGTH Fungsi standar ini digunakan untuk menghitung panjang atau jumlah karakter yang ada di nilai string yang ditunjukkan oleh S. Writeln(Pos ( o . Jumlah:integer. Begin Writeln(Pos( T .tulisan)). Begin Writeln( Nama Anda : ). S) Contoh: Const Tulisan= Turbo .[BAHASA PASCAL] Hasilnya Turbo Pascal Fungsi standar POS Tingkat Menengah (Teori) Fungsi standar ini digunakan untuk mencari posisi letak dari suatu nilai string (ditunjukkan oleh subS) yang ada di dalam nilai string yang lain (dintunjukkan oleh S).tulisan)). Nilai yang dihasilkan adalah berupa nilai byte yang menunjukkan letaknya. Contoh Writeln(abs(-2)).T . Hasilnya 2 13 Modul Bimbingan Olimpiade Komputer SMA WH-2| Dini Widiasih S. Writeln(Pos ( e .jumlah).tulisan)). Hasil dai fungsi ini adalah nilai numerik integer positif. End. Readln(Nama). Writeln( Panjang Nama Anda adalah = . Bentuk umum Length(S) Contoh: Var Nama:string[50]. Bentuk Umumnya: Pos(subS. FUNGSI STANDAR ARITMATIKA ABS Bentuk umum: Abs(x). Bila bernilai nol berarti nilai string yang dicari tidak ada. End. Jumlah:length(nama).

99):5:3). Hasilnya 25 SQRT Bentuk umum Sqrt(x).99):5:2). Digunakan untuk menghitung nilai pangkat kuadrat dari x. Digunakan untuk menghasilkan nilai integer dari x atau membulatkan kebawah dengan membuang pecahannya. Digunakan untuk mendapatkan nilai pecahan dari argumen x.990 SQR Bentuk Umum Sqr(x).7182818285. yaitu sebesar ex. Hasilnya 7. Contoh Writeln(LN(100):5:2).39 LN Bentuk umum: Ln(x:real):real.T . Contoh Writeln(Frac(9. Contoh Writeln(exp(2):9:2). Hasilnya 0.00 FRAC Betuk umum: Frac(x:real):real. 14 Modul Bimbingan Olimpiade Komputer SMA WH-2| Dini Widiasih S. Contoh Writeln(Sqrt(36)). Digunakan untuk menghitung nilai pangkat dari bilangan e (bilangan alam=2. Digunakan untuk menghitung nilai logaritma alam dari nilai x.00 INT Bentuk umum: Int(real):real. Contoh Writeln((9. Hasilnya 2.[BAHASA PASCAL] Tingkat Menengah (Teori) EXP Bentuk umum: Exp(x:real):real. Digunakan untuk menghitung nilai akar dari x. Contoh Writeln(Sqrt(5)). Hasilnya 9.

[BAHASA PASCAL] Hasilnya 6 Tingkat Menengah (Teori) FUNGSI STANDAR TRANSFER Fungsi standar transfer digunakan untuk mengubah suatu nilai ke bentuk nilai yang lain. dan Trunc. Hasilnya 3 6 15 Modul Bimbingan Olimpiade Komputer SMA WH-2| Dini Widiasih S. Contoh Writeln(Ord(B)). Round. Bila nilai pecahan sama dengan atau lebih dari 0. Atau membulatkan ke bawah dengan memnbuang pecahannya. Digunakan untuk membulatkan nilai x ke longint yang terdekat. Hasilnya A ORD Bentuk umum: Ord(x). Digunakan untuk mengubah nilai x ke bentuk karakter ASCII.5 akan dibulatkan ke atas. Fungsi Ord kebalikan dari Chr. Hasilnya 66 ROUND Bentuk umum: Round(x:real):longint. sedang bila bila nilai pecahan lebih kecil dari 0. Hasilnya 3 7 TRUNC Bentuk umum: Trunc(X) Digunakan untuk membulatkan nilai X ke nilai longint terkecil. Digunakan untuk mengubah nilai x ke bentuk nilai longint yang sesuai dengan kode ASCIInya (menentukan urutan karakter pada kode ASCII). Fungsifungsi yang tersedia yaitu fungsi standar Char. Contoh Writeln(Trunc(10/3)).5 akan dibulatkan ke bawah. Ord. Writeln(Trunc(20/3)).T . Contoh Writeln(Chr(65)). CHR Bentuk umum: Chr(x). Contoh Writeln(Round(10/3)). Writeln(Round(20/3)).

[BAHASA PASCAL] MATRIK Tingkat Menengah (Teori) Definisi Matrik Matrik adalah sekumpulan informasi yang setiap datanya mengacu pada dua buah indeks. maka matriksnya [4. CARA MEMBUAT MATRIK A. maka matriksnya [1.T .3] y Nilai Kimia punya Dede ada pada baris 4 kolom 2. END. Matrik disebut juga tabel lajur yang memiliki indeks baris dan indeks kolom. {ganti baris pada matriks} WRITELN. dan pengulangan kolom. Contoh : Listing Program Membuat Matrik: Program Matrik1. END. Var I. Uses WinCrt. END. elemenya berdasarkan nilai perulangan y Tentukan jumlah baris y Tentukan jumlah kolom y Buat pengulangan untuk baris.J :Integer. Karena adanya dua buah indeks tersebut.2] y dst. {pengulangan jumlah baris} FOR I:= 1 TO 5 DO BEGIN {pengulangan jumlah kolom} FOR J:=1 TO 4 DO BEGIN {pencetakan matriks} WRITE(I:6. Hasilnya 11 21 16 12 22 13 23 14 24 15 25 Modul Bimbingan Olimpiade Komputer SMA WH-2| Dini Widiasih S. matrik juga disebut larik dua dimensi. Contoh: Fisika 6 7 8 6 Kimia 7 6 4 7 Biologi 7 6 5 8 Matematika 8 5 6 6 Ahmad Joni Tono Dede Cara menentukan nilai elemen data tabel dengan matrik sebagai berikut: y Nilai Fisika punya Ahmad ada pada baris 1 kolom 1. Membuat satu buah matriks.j:3). Begin ClrScr. Istilah dua dimensi karena data tersebut ada pada pertemuan baris dan kolom.1] y Nilai Biologi punya Joni ada pada baris 2 kolom 3. maka matriksnya [2.

. m. {matrik A.1. {dimensi dari matrik} A.n:integer). y Tentukan jumlah baris y Tentukan jumlah kolom y Buat pengulangan untuk baris.n.B. dan pengurangan bisa dilakukan. var m. FOR B:=1 TO 3 DO BEGIN FOR K:=1 TO 3 DO BEGIN WRITE(MATRIK[B.. y Cetak matrik yang berindeks Contoh : Listing Program Mambuat Matrik: PROGRAM M2. uses wincrt..3. operasi aritmatika seperti penjumlahan. dan pengulangan kolom. elemenya ditetapkan di awal. END.1. type matrik=array[1. p. var i.. CONST matrik:array[1.(7.2. END. perkalian.100.T . {faktor pengulang} begin {read} for i:=1 to m do begin {do} 17 Modul Bimbingan Olimpiade Komputer SMA WH-2| Dini Widiasih S. uses wincrt. C sebagai hasil} Membaca Elemen Matrik Contoh: procedure bacamatrik (var A:matrik. begin CLRSCR.3]of INTEGER=((1.6). Mendefinisikan Elemen Contoh: Program OPERASI_MATRIK.k:integer. WRITELN. VAR b.C: matrik.K]:3).(4.8.[BAHASA PASCAL] 31 41 51 32 42 52 33 43 53 34 44 54 35 45 55 Tingkat Menengah (Teori) B. Membuat satu buah matrik. q: integer.9)). END.5. Hasilnya 1 2 3 4 5 6 7 8 9 Sebagai perwujudan dari array dua dimensi. B sebagai input.3).100] of real.j: integer.

{tiap baris} writeln. {write} Penjumlahkan Matrik Contoh: procedure check_matrik (A. {read} Menampilkan Elemen Matrik Contoh: procedure tulismatrik(A:matrik. begin if (m=p) and (n=q) then begin for i:=1 to m do begin for j:=1 to n do begin C[m.n. var i. begin if (m=p) and (n=q) then begin for i:=1 to m do begin for j:=1 to n do begin C[m. end.j]).C:matrik.n]=A[m. end else writeln('DIMENSI MATRIK TIDAK COCOK').q:integer).j: integer. end else writeln('DIMENSI MATRIK TIDAK COCOK') end. {faktor pengulang} begin {write} for i:=1 to m do begin {tiap baris} writeln.C[m.n]) end. var i.n]+B[m.p.n:integer).n]=A[m.j :integer.B.C:matrik. m.T . 18 Tingkat Menengah (Teori) Modul Bimbingan Olimpiade Komputer SMA WH-2| Dini Widiasih S. end. for j:=1 to n do write(A[i.j]:6:2). Pengurangan Matrik Contoh: procedure check_matrik (A. readln. end.n]) end. {do} end. end.j :integer.[BAHASA PASCAL] for j:=1 to n do read(A[i.p. var i.n]. m.n.q:integer). m.B. end.

end.j]:=C1[i.n.j]+A[i.q:integer).j].j.[BAHASA PASCAL] end. n:=q.j:integer.j].B. var i. for k:=1 to n do C1[i.p. 19 Modul Bimbingan Olimpiade Komputer SMA WH-2| Dini Widiasih S.k]*B[k.q:integer). Transpose Matrik Contoh: procedure Transpose (A.n. var i.m] end. {inner product} end. m.B:matrik.j]:=0.T . k :integer. end else writeln('DIMENSI MATRIK TIDAK COCOK') end. m.C:matrik. C1: matrik. for i:=1 to m do for j:=1 to n do C[i.p.j]:=C1[i. end. end. Perkalian Matrik Tingkat Menengah (Teori) Contoh: procedure perkalian_matrik (A. Begin if (n=p) then begin for i:=1 to m do begin for j:=1 to p do begin {inner product} C1[i.n]=A[n. begin for i:=1 to n do begin for j:=1 to m do begin B[m.

Sebagian dari elemen-elemen dari X tersebut adalah : X[1] := 10. Larik ada 2 jenis: 1) Larik berdimensi satu. Tiap-tiap komponen pada larik dapat diakses dengan menunjukkan nilai indeksnya. angrek larik nama hari datanya Minggu. X[3] := 30. angrek ) nama larik kata cadangan untuk larik jumlah elemen data elemen-elemen data larik bunga adalah: bunga[1]: mawar bunga[2]: melati nilai data larik bunga[3]: angrek Contoh 2 : X : array[1..T .100] of integer.. Joni. Suatu larik mempunyai jumlah komponen yang banyaknya tetap.[BAHASA PASCAL] ARRAY Tingkat Menengah (Teori) Suatu larik (array) adalah tipe terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe sama. Banyaknya komponen dalam suatu larik ditunjukkan oleh suatu indeks yang disebut tipe indeks. 2) Larik berdimensi 2 /dimensi banyak. Toni. Contoh: Larik nilai memiliki data urutan baris yaitu: Ahmad. X[2] := 20. kimia. Data diatas dapat digambarkan sebagai berikut: 20 Modul Bimbingan Olimpiade Komputer SMA WH-2| Dini Widiasih S. Larik dua dimensi memiliki data yang tersusun berdasarkan urutan baris dan kolom pada tabel. Kamis. Senin. Nilai integer Index value/subscript Nama array tipe data larik data larik Larik dimensi Dua (Two/multi Dimensional Array) Larik dua dimensi disebut juga matriks. Contoh: larik bunga datanya mawar. Tipe indeks ini berbentuk ungkapan tipe ordinal (tipe data yang berurutan). matematika. Sabtu Bentuk Umum deklarasi larik 1 dimensi: Nama_array : ARRAY [Tipe index] of tipe data. biologi. melati. Rabu. Larik Dimensi Satu (One Dimensional Array) Larik ini memiliki data yang berurutan dengan satu jenis yang sama dan tidak berbentuk tabel. Selasa. Dede dan data urutan kolom yaitu fisika. Contoh 1: bunga : array[1. Jumat.3] of string=( mawar. melati.

Bentuk umum: Nama_array : ARRAY[tipe-indeks1. Deklarasi dari larik didahului dengan kata cadangan Array diikuti oleh tipe indeks yang diletakkan diantara tanda [ ] .Matematika] atau Nilai[1..6)) Suatu larik/matrik yang akan dipergunakan di dalam Pascal harus dideklarasikan terlebih dahulu.4. Senin.8.4] of integer=((6.8).Fisika] atau Nilai[2. Var Jamkerja:array[1. 21 Modul Bimbingan Olimpiade Komputer SMA WH-2| Dini Widiasih S.2] =6 y dst.6.(7.6. Contoh Type Hari=(Minggu.type-indeks2] of tipe data Contoh: Nilai:array[1. diikuti lagi oleh kata cadangan of dan tipe lariknya.(6.Kimia] atau Nilai[2.1] =7 y Nilai[Joni.5).4.6). Sabtu).Fisika] atau Nilai[1.Biologi] atau Nilai[1.[BAHASA PASCAL] Fisika 1 Tingkat Menengah (Teori) Kimia 2 Biologi 3 Matematika 4 Ahmad Joni Tono Dede 1 2 3 4 6 7 8 6 7 6 4 7 7 6 5 8 8 5 6 6 Dari data tabel di atas dapat dibuat indeksnya yaitu: y Nilai[Ahmad. Kamis.1.T . Bila nilai-nilai elemen larik dibatasi dengan nilai-nilai tertentu yang tidak dapat ditulis dalam suatu range. tetapi dapat ditentukan secara beurutan.(8..2] =7 y Nilai[Ahmad. Dari deklarasi ini. Jumat.Kimia] atau Nilai[1. larik Jamkerja mempunyai maksimum 25 elemen dan masing-masing nilai elemennya hanya dapat mempunyai nilai sebanyak 7 macam nilai saja. Selasa.3] =7 y Nilai[Ahmad.7.7.5. Rabu.7.1] =6 y Nilai[Ahmad..4] =8 y Nilai[Joni. maka dapat dipergunakan larik tipe skalar.25] of hari.