Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex

39
BAB I PENDAHULUAN A. Definisi Array (Variabel Berindex) Variabel dengan tipe data tunggal (skalar) hanya dapat digunakan untuk menyimpan sebuah nilai saja, sehingga untuk menyimpan beberapa nilai sekaligus dalam suatu variabel khusus yang disebut dengan variabel array atau variabel berindeks. Variabel array dapat digunakan untuk menampung banyak data yang sejenis (numerik/string). Array adalah tipe data dalam bahasa pascal yang digunakan untuk menyimpan sekumpulan data sejenis sesuai dengan muatannya dalam suatu variabel.Array disebut Variabel Berindex. Array sebagai tipe data berfungsi untuk merekam data yang ada. Pada array terdapat terminologi, yaitu : 1. Setiap rinci data tersebut dengan komponen atau elemen larik. 2. Setiap larik bisa dioperasikan dengan menggunakan pemilih elemen larik uang yang disebut index atau subskrib. Dalam program, index atau subskrib tersebut diletakkan di dalam tanda kurung kotak, [ ], setelah nama larik yang akan dioperasikan. Larik juga disebut peubah berindex atau peubah subskrib. Sesuai dengan cacah index atau subskrib yang Aplikasi Variabel Berindex 1

Transcript of Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex

Page 1: Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex

BAB I

PENDAHULUAN

A. Definisi Array (Variabel Berindex)

Variabel dengan tipe data tunggal (skalar) hanya dapat digunakan

untuk menyimpan sebuah nilai saja, sehingga untuk menyimpan beberapa

nilai sekaligus dalam suatu variabel khusus yang disebut dengan variabel

array atau variabel berindeks. Variabel array dapat digunakan untuk

menampung banyak data yang sejenis (numerik/string).

Array adalah tipe data dalam bahasa pascal yang digunakan untuk

menyimpan sekumpulan data sejenis sesuai dengan muatannya dalam suatu

variabel.Array disebut Variabel Berindex. Array sebagai tipe data berfungsi

untuk merekam data yang ada.

Pada array terdapat terminologi, yaitu :

1. Setiap rinci data tersebut dengan komponen atau elemen larik.

2. Setiap larik bisa dioperasikan dengan menggunakan pemilih elemen larik

uang yang disebut index atau subskrib. Dalam program, index atau

subskrib tersebut diletakkan di dalam tanda kurung kotak, [ ], setelah

nama larik yang akan dioperasikan.

Larik juga disebut peubah berindex atau peubah subskrib. Sesuai

dengan cacah index atau subskrib yang menentukan posisi elemen dikenal

larik dimensi satu dan larik dimensi banyak. Dalam larik dimensi satu posisi

elemen hanya dinyatakan oleh satu index. Dalam larik dimensi banyak posisi

setiap elemen ditentukan oleh lebih dari satu index. Contohnya pada Matriks.

B. Deklarasi Array

Pada peubah biasa maupun array juga harus dideklarasikan terlebih

dahulu sebelum bisa digunakan dalam program. Deklarasi peubah adalah

bagian yang diawali kata cadangan var. Dalam mendeklarasikan array, selain

mendefinisikan tipe array atau larik juga harus menentukan banyaknya index

Aplikasi Variabel Berindex 1

Page 2: Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex

yang akan mengisi larik tersebut. Dengan kata lain menentukan cacah elemen

yang akan menempati larik tersebut.

Bentuk deklarasi larik dimensi satu adalah :nama : array [index] of type data

Larik juga dimungkinkan untuk digunakan pada variabel berindeks

yang berdimensi banyak, misalnya untuk dimensi dua adalah :

nama : array[1..100,1..100] of type data yang artinya matriks

tersebut disediakan tempat sebanyak 100 baris dan 100 kolom. (berordo 100X100).

keterangan :

array, of : kata cadangan yang harus ada

nama : nama larik yang akan dideklarasikan.

index : batasan index yang akan dideklarasikan (cacah elemennya).

type data : tipe larik bisa berupa Char, Integer, Real atau larik yang

lainnya(array).

Untuk index selalu digunakan tipe subjangkauan skalar atau tipe

terbilang. Index adalah nilai yang menunjukan nilai awal dan nilai akhir dari

index yang ada pada larik.

C. Array Berdimensi Dua

Array berdimensi 2 sering digunakan dalam operasi matriks. Array

berdimensi 2 terdiri atas 2 elemen yaitu baris dan kolom. Matriks adalah

daftar bilangan yang disusun dalam bentuk dua dimensi kolom dan baris.

Nilai-nilai dalam matriks disebut dengan elemen matrik. Pada suatu program

komputer, suatu matriks disimpan pada array berdimensi 2. Indeks dari

matrik menunjukkan nomor elemen dari matriksnya.

Array dua dimensi sering digambarkan sebagai sebuah matriksadalah

merupakan perluasan dari sebuah array satu dimensi. Jika pada array satu

dimensi hanya terdiri dari sebuah baris dengan beberapa kolom elemen maka

pada array dua dimensi terdiri dari beberapa baris dan beberapa kolom.

Aplikasi Variabel Berindex 2

Page 3: Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex

D. Pendefinisian Matriks

Pendefinisian matriks dalam larik bahwa matriks adalah struktur

penyimpanan data dalam memori utama yang setiap individu elemennya

diacu dengan menggunakan dua buah indeks (yang biasanya dikonotasikan

dengan indeks baris dan indeks kolom). Sebagaimana pada larik, matriks

digambarkan sebagai sekumpulan kotak yang tersusun berjajar pada setiap

baris dan kolom. Karena adanya dua buah indeks tersebut maka matriks

disebut juga larik dwimatra (matra=dimension).

Karena matriks sebenarnya adalah larik, maka konsep umum dari larik

juga berlaku untuk matriks yaitu:

1. Kumpulan elemen yang bertipe sama. Tipe elemen matriks dapat berupa

tipe dasar (integer,real,boolean,char, dan string), atau tipe terstruktur

seperti record.

2. Setiap elemen data dapat diakses secara langsung jika indeksnya(baris dan

kolom) diketahui, dalam hal ini indeks menyatakan posisi relatif di dalam

kumpulannya.

3. Merupakan struktur data yang statis artinya jumlah elemenya sudah

dideklarasikan terlebih dahulu dan tidak bisa diubah selama pelaksanaan

program.

Struktur matriks praktis untuk dipakai karena pengaksesannya cepat

karena langsung melelui indexnya tetapi memakan banyak tempat di

memori.karena matriks adalah struktur statis, maka urutan matriks harus

sudah diketahui sebelum pelaksanaan program. Sebagaimana pada larik biasa,

kita menuliskan matra matriks sebagai penomoran indeks baris dan indeks

kolom, mulai dari indeks terendah sampai indeks tertinggi.

Elemen matriks diacu melalui indeks baris dan indeks kolomnya.Jika

indeks baris dinyatakan dengan i indeks kolom dinyatakan dengan j, maka

notasi algoritmik untuk mengacu elemen pada baris i dan kolom j adalah :

nama_matriks[i,j].

Aplikasi Variabel Berindex 3

Page 4: Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex

E. PendeklarasianMatriks

Mendeklarasikan matriks artinya menentukan nama matriks, tipe data,

dan ukurannyaPendeklarasian matriks di dalam teks algoritma ditulis di

dalam bagian deklarasi. Kata kunci yang dipakai untuk matriks tetap array.

Ada beberapa cara pendeklarasian matriks :

1. Sebagai nama peubah.M : array [1...5,1...4] of integer ;

2. Sebagai tipe.Type Mat : array [1...5, 1...4] of integer;

M : Mat;{M adalah nama matriks yang bertipe Mat}

3. Mendefinisikan ukuran maksimum matriks sebagai sebuah konstanta.Const NbarisMaks = 20 {jumlah baris maksimum};

Const NkolomMaks = 20 {jumlah kolommaksimum};

M : array [1...NbarisMaks, 1...NkolomMaks] of integer;

Dengan mendeklarasikan matriks ukuran maksimum di atas, ukuran

matriks yang dibutuhkan dapat ditentukan pada saat pelaksanaan program,

asalkan jumlah baris dan jumlah kolom yang ditentukan tidak melebihi

ukuran maksimum matriks.

F. Pemrosesan Matriks

Pemrosesan matriks pada umumnya adalah proses beruntun

(sekuensial). Setiap elemen matriks “dikunjungi” (traversal) lalu dilakukan

aksi terhadap elemen tersebut. Karena secara lojik elemen matriks disusun

dalam susunan baris dan kolom, maka pemrosesan matriks dilakukan per

baris dan per kolom.

Cara pemrosesan yang umum adalah menelusuri matriks baris per

baris, yang pada setiap baris melakukan proses terhadap elemen pada setiap

kolomnya (pemrosesan “per baris-per kolom”). Karena ada dua buah indeks,

maka algoritma pemrosesan matriks umumnya kalang bersarang (nested

loop), satu kalang untuk setiap indeks. Kalang terluar digunakan untuk

memproses baris, sedangkan kalang terdalam untuk memproses kolom-kolom

pada baris yang sedang diacu.

Aplikasi Variabel Berindex 4

Page 5: Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex

G. Menginisialisasi Matriks

Menginisialisasi matriks artinya memberi nilai awal yang sama untuk

seluruh atau sebagian elemen matriks. Proses inisialisasi biasanya dilakukan

sebelum matriks digunakan untuk perhitungan. Misalnya dalam algoritma

perkalian matriks A X B = C,seluruh elemen matriks C harus diisi dengan

nilai 0 karena C akan digunakan untuk menampung hasil penjumlahan yang

berulang. (iteration). Namun, tidak semua matriks perlu diinisialisasi, karena

itu proses ini tidak selalu harus dilakukan. Misalnya jika elemen matriks

dibaca dari piranti masukan, maka inisialisasi matriks tidak perlu dilakukan.

H. Membaca Elemen Matriks

Membaca elemen matriks artinya mengisi elemen-elemen matriks

dengan data dari piranti masukan, misalnya papan ketik. Yang harus

diperhatikan selama pembacaan dari papan ketik adalah urutan pembacaan

data, karena data disimpan di dalam matriks sesuai dengan urutan pembacaan.

Untuk menghindari kesalahan pengisian elemen sebaiknya pada waktu

pembacaan data diberi keterangan atau petunjuk yang menginformasikan

indeks baris dan indeks kolom elemen yang akan diisi. Bila secara implisit

sudah diketahui urutan pembacaan adalah per baris per kolom maka petunjuk

pembacaan boleh tidak diberikan.

Aplikasi Variabel Berindex 5

Page 6: Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex

BAB II

DESKRIPSI KERJA

Terdapat sebuah kasus yang harus diselesaikan oleh praktikan yaitu

membuat program aplikasi variabel berindex. Kali ini praktikan akan

membuat aplikasi untuk menghitung penjumlahan, perkalian matriks dan

menentukan matriks transpose serta determinan matriks.Untuk

menyelesaikan kasus tersebut, praktikan akan menggunakan program aplikasi

Delphi 7. Adapun langkah-langkah yang dilakukan oleh praktikan adalah

sebagai berikut:

1. Arahkan pointer ke arah pojok kanan display PC (dalam pengoperasian

ini praktikkan menggunakan Windows 8), kemudian klik Search lalu

ketik“Delphi” di kotak pencarian tersebut. LihatGambar 2.1berikut :

Gambar 2.1Membuka Aplikasi Delphi 7

2. Maka akan muncul tampilan seperti Gambar 2.2 berikut :

Gambar 2.2 Tampilan Aplikasi Delphi 7

Aplikasi Variabel Berindex 6

Page 7: Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex

3. Langkah awal untuk memulai Console Delphi yaitu klik file pilih new lalu

klik other. Maka akan muncul Gambar 2.3 berikut :

Gambar 2.3Memulai lembar kerja bar

4. Dalamother ada bermacam-macam items, lalu pilih Console Aplication klik

OK. Maka muncullah tampilan seperti berikut :

Gambar 2.4 Masuk ke ‘Console Application’

Aplikasi Variabel Berindex 7

Page 8: Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex

5. Maka akan tampil Menu Editor Console Application seperti berikut :

Gambar 2.5Menu Editor Console Application6. Praktikan menuliskan nama program, uses, const, type dan variabel seperti

berikut :

Gambar 2.6 Proses Input nama program,uses,const, type dan variabel7. Praktikan diminta memasukkan syntak untuk di proses. syntak yang

digunakan mulai dari input, output, pencabangan dan pengulangan. Syntak

pengulangan untuk peng-inputan data yang akan digunakan untuk

menghitung penjumlahan dua buah matriks sebagai berikut : brsP := 3; klmP := 3;

brsQ := 3; klmQ := 3;

brsR := 3; klmR := 3;

Aplikasi Variabel Berindex 8

Page 9: Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex

writeln('*1.Penjumlahan Dua Buah Matriks dan Transpose

- nya* ');

writeln ('Masukkan data matriks P');

for loopI := 1 to brsP do

for loopJ := 1 to klmP do

begin

write ('data [',loopI,',',loopJ,']=');

readln (matP[loopI, loopJ])

end;

writeln ('Masukkan data matriks Q');

for loopI := 1 to brsQ do

for loopJ := 1 to klmQ do

begin

write ('data [',loopI,',',loopJ,']=');

readln (matQ[loopI, loopJ])

end;

writeln ('Hasil Penjumlahan Matriks R= P+Q');

for loopI := 1 to brsR do

for loopJ:=1 to klmR do

begin

matR[loopI,loopJ]:=matP[loopI,loopJ]+matQ[loopI,loopJ];

end;

writeln ('Matriks P');

for loopI := 1 to brsP do

begin

for loopJ := 1 to klmP do

write (matP[loopI, loopJ]:3); writeln;

end;

writeln ('Matriks Q');

for loopI := 1 to brsQ do

begin

for loopJ := 1 to klmQ do

write (matQ[loopI, loopJ]:3); writeln;

end;

writeln ('Matriks R');

for loopI := 1 to brsR do

begin

for loopJ := 1 to klmR do

Aplikasi Variabel Berindex 9

Page 10: Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex

write (matR[loopI, loopJ]:3); writeln;

end;

Syntak variabel berindex yang memuat perulangan untuk peng-inputan

data yang akan menghitung matriks transpose dari hasil penjumlahannya :writeln ('Jadi Matriks Transpose R dari hasil

penjumlahan matriks P+Q adalah : ');

for loopI := 1 to brsR do

begin

for loopJ := 1 to klmR do

write (matR[loopJ,loopI]:3); writeln;

end;

readln;;

Syntak pengulangan untuk peng-inputan data yang akan digunakan untuk

menghitung perkalian dua buah matriks seperti berikut :writeln('*2.Perkalian Dua Buah Matriks dan Transpose-

nya*');

writeln ('Hasil Perkalian matriks R=P*Q adalah :');

for loopI := 1 to brsP do

for loopJ:= 1 to klmQ do

begin

jum:=0;

for loopK := 1 to brsQ do

jum := jum + matP[loopI,loopK]*matQ[loopK,loopJ];

matR[loopI,loopJ]:= jum;

end;

writeln ('Matriks P');

for loopI := 1 to brsP do

begin

for loopJ := 1 to klmP do

write (matP[loopI, loopJ]:3); writeln;

end;

writeln ('Matriks Q');

for loopI := 1 to brsQ do

begin

for loopJ := 1 to klmQ do

write (matQ[loopI, loopJ]:3); writeln;

end;

Aplikasi Variabel Berindex 10

Page 11: Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex

writeln ('Matriks R');

for loopI := 1 to brsR do

begin

for loopJ := 1 to klmR do

write (matR[loopI, loopJ]:3);writeln;

end;

Syntak variabel berindex yang memuat perulangan untuk peng-inputan

data yang akan menghitung matriks transpose dari hasil perkaliannya :writeln ('Matriks Transpose R dari hasil perkalian

matriks P*Q adalah :');

for loopI := 1 to brsR do

begin

for loopJ := 1 to klmR do

write (matR[loopJ, loopI]:3); writeln;

end;

readln;

Syntak variabel berindex yang memuat perulangan untuk peng-inputan

data yang akan menghitung determinan dari matriks hasil penjumlahan.writeln('*3.Determinan dari Matriks Hasil

Penjumlahan*');

writeln('Determinan matriks 3x3');

writeln ('Matriks R');

for loopI := 1 to brsR do

begin

writeln('Dari matriks R dapat ditentuka determinanya

:');

for loopJ := 1 to klmR do

write (matR[loopI, loopJ]:3); writeln;

end;

for loopI := 1 to brsR do

for loopJ:=1 to klmR do

begin

matR[loopI,loopJ]:= matP[loopI,loopJ]

+matQ[loopI,loopJ];

end;

begin

Aplikasi Variabel Berindex 11

Page 12: Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex

sum:=matR[1,1]*(matR[2,2]*matR[3,3]-

matR[3,2]*matR[2,3])-matR[1,2]*(matR[2,1]*matR[3,3]-

matR[3,1]*matR[2,3])+matR[1,3]*(matR[2,1]*matR[3,2]-

matR[3,1] *matR[2,2]);

D:= sum;

writeln('Determinanya adalah : ', D:8:2);

writeln;

Syntak lengkap dari program aplikasi variabel berindex yang dibuat

adalah seperti pada gambar dibawah:

Aplikasi Variabel Berindex 12

Page 13: Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex

Aplikasi Variabel Berindex 13

Page 14: Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex

Gambar 2.7Syntak Yang Akan di Eksekusi

8. Setelah meng-input-kan syntax langkah selanjutnya adalah penginputan

data dengan mengklik F9pada keyboard atau klik Run padaToolbar.

Gambar 2.8Toolbar Run

9. Komputer akan menampilakan output dari data yang telah di-input-kan.

Gambar 2.9Tampilan Hasil Running

Aplikasi Variabel Berindex 14

Page 15: Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex

10. Lalu masukkan data yang diperlukan sesuai kebutuhan, setelah data

dimasukkan maka akan mendapatkan hasil seperti gambar berikut :

Gambar 2.10Tampilan Output

Aplikasi Variabel Berindex 15

Page 16: Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex

BAB III

PEMBAHASAN

Dari hasil pemaparan deskripsi kerja pada bab II diatas, berikut

adalah bahasa program yang digunakan dalam Delphi 7 untuk membentuk

aplikasi dengan menggunakan variabel berindex pada permasalahan di

atas :

1. program matriks2;{Definisi Unit}

{$APPTYPE CONSOLE}

Judul program ialah sebuah statement di awal program yang

diawali dengan pengenal khusus PROGRAM diikuti NAMA

program.Pada list program tertulis “matriks2”. Nama program ditulis

sesuai dengan keinginan praktikan. Namun praktikan harus bisa

menuliskan nama program yang bersesuaian dengan aplikasi yang akan

dibuat. Pada kasus ini praktikkan akan membuat program aplikasi

perhitungan matriks, sehingga diberi nama “matriks2”. ”{$APPTYPE

CONSOLE}” merupakan compiler directive yang akan meng-compile

program ditandai dengan karakter $ .Untuk mengakhiri nama program,

akhiri dengan tanda titik koma (;), tanda titik koma akan terus digunakan

dalam menyelesaikan perintah pada setiap barisnya.

2. uses {Bagian Interface}

SysUtils;

Pada uses digunakan SysUtils yang merupakan uses dasar yang

akan digunakan pada pembuatan program ini.Kata kunci uses digunakan

untuk mendaftarkan unit-unit lain yang identifier-nya akan digunakan

dalam unit yang bersangkutan.Uses bersifat optional dan jika digunakan

harus berada pada bagian awal interface atau bagian awal implementation.

Aplikasi Variabel Berindex 16

Page 17: Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex

3. const ordo = 3;

typematriks = array [1..ordo, 1..ordo] of integer;

varmatP, matQ, matR : matriks;loopI, loopJ, loopK, Jum,Sum : integer;brsP, klmP, brsQ, klmQ, brsR, klmR : integer;

D: real;

Bagian ini berisi deklarasi pengenal maupun data yang

dipergunakan di dalam program.Bagian ini walaupun tampaknya seperti

pekerjaan membuang-buang waktu, tetapi sesungguhnya merupakan

bagian yang penting dalam penyusunan suatu program yang tertib. Selain

itu juga mengumpulkan semua nama pengenal dalam satu tempat

sehingga akan memudahkan pembacaan program.

Dalam kasus ini secara lengkap ada 3 buah deklarasi, yaitu:

1. Deklarasi Const

Deklarasi ini gunanya untuk mendeklarasikan nama pengenal

tertentu yang berisi suatu konstanta. Statement di atas

memberitahukan bahwa nama pengenal ordo memiliki ukuran 3x3.

2. Deklarasi Type

Deklarasi ini digunakan untuk menyusun suatu bentuk tipe data

yang baru sebagai hasil penggabungan dari tipe-tipe yang sudah ada.

Statement di atas memberitahukan bahwa “matriks” sekarang adalah

jenis data baru, yaitu suatu array dua dimensi dengan dimensi

pertama 1 sampai dengan 3 dan dimensi dua 1 sampai 3 juga. Jenis

datanya nya integer. Dalam pemrograman matriks digunakan array

untuk pembuatan baris dan kolom.

3. Deklarasi Var

Var digunakan untuk mendeklarasikan variabel objek atau

semua simbol yang akan terus digunakan pada program yang ingin

dibuat. Praktikkan menginputkan variabel sesuai dengan rumus yang

Aplikasi Variabel Berindex 17

1

2

3

Page 18: Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex

akan dihitung.Bagian yang sangat penting dalam pemrograman

adalah mendefinisikan tipe data baru sesuai kebutuhan. 4.

beginwriteln('.............Assalamualaikumwr.wb.........');

writeln('......Ini Adalah Program Aplikasi Perhitungan

MATRIKS.....');

writeln('===============MENU PERHITUNGAN===========');

writeln('*1. Menghitung Penjumlahan Dua Buah

Matriks*');

writeln('*2. Menghitung Perkalian Dua Buah Matriks*');

writeln(' *3. Determinan Matriks Penjumlahan*');

writeln;

Bagian ini merupakan input yang dibaca dari keyboard dan

akan ditampilkan ke layar monitor sebagai output. Diawali dengan

begin, input ini dituliskan oleh praktikan dengan maksud

memperindah tampilan, membuatnya lebih rapi dan yang lebih utama

memberikan keterangan mengenai aplikasi yang dibuat.Pengaturan

pesan atau hasil suatu program akan memperjelas tampilan pada layar

sehingga tampilan output suatu program menjadi faktor penting dalam

pemrograman.

5. brsP := 3; klmP := 3;

brsQ := 3; klmQ := 3;

brsR := 3; klmR := 3;

Bagian ini mendeklarasikan jumlah baris maksimum dan

jumlah kolom maksimum yang akan digunakan dalam pemrosesan

program. Dalam kasus ini praktikan membuat aplikasi program

perhitungan matriks berordo 3x3 sehingga jumlah baris dan kolom

harus disesuaikan. Dalam program ini ada matriksP, matriksQ, dan

matriksR sehingga harus mendeklarasikan brsP, klmP, brsQ, klmQ,

brsR,klmR. Dari ketiga matriks itu, praktikkan akan mengembangkan

pemrosesan untuk menghitung transpose dan determinan matriksnya.

Aplikasi Variabel Berindex 18

Page 19: Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex

6. writeln('*1.Penjumlahan Dua Buah Matriks dan Transpose-nya* ');

writeln ('Masukkan data matriks P'); for loopI := 1 to brsP do for loopJ := 1 to klmP do begin write ('data [',loopI,',',loopJ,']='); readln (matP[loopI, loopJ]) end;

writeln ('Masukkan data matriks Q'); for loopI := 1 to brsQ do for loopJ := 1 to klmQ do begin write ('data [',loopI,',',loopJ,']='); readln (matQ[loopI, loopJ]) end;

writeln ('Hasil Penjumlahan Matriks R=P+Q'); for loopI := 1 to brsR do for loopJ:=1 to klmR do beginmatR[loopI,loopJ]:= matP[loopI,loopJ]+matQ[loopI,loopJ]; end;

writeln ('Matriks P');for loopI := 1 to brsP dobegin for loopJ := 1 to klmP do write (matP[loopI, loopJ]:3); writeln;end;

writeln ('Matriks Q'); for loopI := 1 to brsQ do begin for loopJ := 1 to klmQ do write (matQ[loopI, loopJ]:3); writeln; end;

writeln ('Matriks R'); for loopI := 1 to brsR do begin for loopJ := 1 to klmR do write (matR[loopI, loopJ]:3); writeln; end;

writeln ('Jadi Matriks Transpose R dari hasil penjumlahan matriks P+Q adalah : '); for loopI := 1 to brsR do begin for loopJ := 1 to klmR do write (matR[loopJ,loopI]:3); writeln; end;readln;;

Aplikasi Variabel Berindex 19

1

2

4

5

7

6

8

9

3

Page 20: Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex

[1] Perintah writeln merupakan bahasa program yang hanya

untuk menampilkan ‘Penjumlahan Dua Buah Matriks dan

Transpose-nya’ pada layar sebagai output. [2] Pemrosesan dilakukan

per baris dan per kolom. For-to-do digunakan untuk menjelaskan

bahawa baik baris maupun kolom matriks P dikerjakan dari baris dan

kolom pertama. [3] Bagian ini praktikkan akan diminta untuk

memasukkan data matriks P, loopI menyatakan elemen baris dan

loopJ menyatakan elemen kolom. Dan readln digunakan untuk

membaca bahwa input yang dimasukkan tadi dibaca matriks

kemudian end untuk mengakhiri penulisan model matriks P.

[4] Bagian ini akan memproses matriks Q. Praktikkan diminta

memasukkan data matriks Q. For-to-do digunakan untuk melakukan

perulangan dari angka kecil ke angka besar. Sama seperti nomor 2

pemrosesan juga dilakukan per baris dan per kolom. Aksi dikerjakan

berulang-ulang mulai index bernilai nilai awal sampai index bernilai

nilai akhir.Setiap kali perulangan nilai index bergerak satu langkah.

Akhiri dengan ‘end;’.[5].

Menggunakan for to do.Bagian ini menjelaskan bahwa baik baris

maupun kolom pada matriks yang akan dijumlahkan dikerjakan dari

baris dan kolom pertama. [6] Bagian ini merupakan bagian dari rumus

penjumlahan matriks yang diawali begin dan diakhiri ‘end;’.

[7] Agar keluaran yang diperoleh berbentuk matriks yaitu agar

baris yang berkelipatan 3 dan kolom yang berekelipatan 3 juga.

Digunakan kembali perulangan for-to-do artinya sistem akan membaca

pada matriks P dari 1 hingga mengulang sebanyak brsP dan

mengulang dari 1 hingga mengulang sebanyak klmP. Dan akan terjadi

perulangan yang serupa pada matriks Q dan matriks R Dan proses

inilah yang akan menampilkan matriks hasil penjumlahan. Dan akhiri

proses pengulangan dengan menambahkan kata ‘end;’

[8] Bagian ini akan menampilkan matriks transpose dari

matriks hasil penjumlahan tadi. Matriks transpose dihasilkan dengan

Aplikasi Variabel Berindex 20

Page 21: Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex

mentransformasikan seluruh elemen pada baris I menjadi elemen-

elemen kolom J, sedemikian sehingga matR[loopJ,loopI] =

matR[loopI,loopJ] untuk setiap I dan untuk setiap J. Perhatikan [9].

7. writeln('*2.Perkalian Dua Buah Matriks dan Transpose-nya*');

writeln ('Hasil Perkalian matriks R=P*Q adalah :');

for loopI := 1 to brsP do

for loopJ:= 1 to klmQ do

begin

jum:=0;

for loopK := 1 to brsQ do

jum := jum + matP[loopI,loopK]*matQ[loopK,loopJ];

matR[loopI,loopJ]:= jum;

end;

writeln ('Matriks P');

for loopI := 1 to brsP do

begin

for loopJ := 1 to klmP do

write (matP[loopI, loopJ]:3); writeln;

end;

writeln ('Matriks Q');

for loopI := 1 to brsQ do

begin

for loopJ := 1 to klmQ do

write (matQ[loopI, loopJ]:3); writeln;

end;

writeln ('Matriks R');

for loopI := 1 to brsR do

begin

for loopJ := 1 to klmR do

write (matR[loopI, loopJ]:3);writeln;

end;writeln ('Matriks Transpose R dari hasil perkalian matriks P*Q adalah :');

for loopI := 1 to brsR do begin for loopJ := 1 to klmR do write (matR[loopJ, loopI]:3); writeln;

end;

Aplikasi Variabel Berindex 21

2

3

5

1

4

Page 22: Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex

[1] Perintah writeln merupakan bahasa program yang hanya

untuk menampilkan ‘Perkalian Dua Buah Matriks dan Transpose-

nya’ pada layar sebagai output. [2] Pemrosesan dilakukan per baris

dan per kolom. Perkalian matriks dilakukan dengan mengalikan per

baris dan per kolom. Dalam kasus ini jumlah diinisialisasi dimulai

dari nol. loopK merupakan baris dan kolom untuk perkalian. Sistem

akan membaca untuk loopK dari 1 hingga mengulang sebanyak brsQ

[3] Bagian ini merupakan bagian dari rumus perkalian matriks yang

diawali begin dan diakhiri ‘end;’ dan dinyatakan dengan jum.

[4] Bagian ini akan mengulang matriks P,Q dan R. For-to-do

digunakan untuk melakukan perulangan dari angka kecil ke angka

besar. Sama seperti nomor 2 pemrosesan juga dilakukan per baris

dan per kolom. Aksi dikerjakan berulang-ulang mulai index bernilai

nilai awal sampai index bernilai nilai akhir.Setiap kali perulangan

nilai index bergerak satu langkah. Akhiri dengan ‘end;’ Agar

keluaran yang diperoleh berbentuk matriks yaitu agar baris yang

berkelipatan 3 dan kolom yang berekelipatan 3 juga. Digunakan

kembali perulangan for-to-do artinya sistem akan membaca pada

matriks P dari 1 hingga mengulang sebanyak brsP dan mengulang

dari 1 hingga mengulang sebanyak klmP. Dan akan terjadi

perulangan yang serupa pada matriks Q dan matriks R Dan proses

inilah yang akan menampilkan matriks hasil penjumlahan. Dan akhiri

proses pengulangan dengan menambahkan kata ‘end;’

[5] Sama halnya seperti penjumlaha pada bagian ini akan

menampilkan matriks transpose dari matriks hasil perkalian tadi.

Matriks transpose dihasillkan dengan mentransformasikan seluruh

elemen pada baris I menjadi elemen-elemen kolom J, sedemikian

sehingga matR[loopJ,loopI] = matR[loopI,loopJ] untuk setiap I dan

untuk setiap J. Perhatikan [9]. Akhiri dengan menambahkan ‘end;’

untuk mengakhiri model penulisan matriks transpose.

Aplikasi Variabel Berindex 22

Page 23: Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex

8. writeln('*3.Determinan dari Matriks HasilPenjumlahan*');

writeln('Determinan matriks 3x3');

for loopI := 1 to brsR do

for loopJ := 1 to klmR do

begin

matR[loopI,loopJ]:= matP[loopI,loopJ]+matQ[loopI,loopJ];

end;

writeln ('Matriks R');

for loopI := 1 to brsR do

begin

for loopJ:=1 to klmR do

write (matR[loopI, loopJ]:3); writeln;

begin

sum:=matR[1,1]*(matR[2,2]*matR[3,3]-

matR[3,2]*matR[2,3])-matR[1,2]*(matR[2,1]*matR[3,3]-

matR[3,1]*matR[2,3])+matR[1,3]*(matR[2,1]*matR[3,2]-

matR[3,1]*matR[2,2]);

D:= sum;

writeln('Determinanya adalah : ', D:8:2);

writeln;

writeln('Terimakasih telah membuka aplikasi ini, sampai

jumpa di aplikasi lain');

write('=======Wassalamualaikum wr.wb===========.');

end;

readln;

{ TODO -oUser -cConsole Main : Insert code here }

end.

Bagian ini merupakan syntak untuk menghitung determinan.

Dalam kasus ini praktikkan hanya menghitung determinan dari matriks

Aplikasi Variabel Berindex 23

1

2

3

4

6

7

5

Page 24: Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex

hasil penjumlahan yang telah dihitung. [1] berisi writeln yang akan

ditampilkan pada layar sebagai output untuk memberitahukan bahwa

akan dihitung determinan dari matriks hasil penjumlahan. Kemudian

di informasikan juga bahwa determinan yang akan dihitung adalah

yang berordo 3x3.

[2] Sebelumnya akan digunakan perulangan for-to-do bahwa

baik baris maupun kolom pada matriks yang akan diproses dikerjakan

dari baris dan kolom pertama agar keluaran yang diperoleh berbentuk

matriks yang merupakan hasil penjumlahan, kemudian end untuk

mengakhiri penulisan model matriks hasil penjumlahan. [3] Agar

keluaran yang diperoleh berbentuk matriks R digunakan kembali

perulangan for-to-do artinya sistem akan membaca pada matriks R dari

1 hingga mengulang sebanyak brsR dan mengulang dari 1 hingga

mengulang sebanyak klmR. Bagian ini akan menampilkan matriks R

yaitu matriks hasil penjumlahan yang telah dihitung.

[4] Bagian ini merupakan bagian dari rumus determinan

matriks berordo 3x3 dinyatakan dengan ‘sum’. [5] Determinan (D) di

deklarasikan memiliki nilai yang sama dengan ‘sum’. [6] berisi writeln

yang akan ditampilkan pada layar sebagai output. Pada bagian ini

komputer akan menampilkan hasil determinan ordo 3x3 dari matriks

hasil penjumlahan yang telah dihitung. [7] merupakan writeln terakhir

yang praktikkan gunakan sebagai ‘closing statements’ dalam

pembuatan aplikasi ini. Kemuadian praktikkan menambahkan ’ end.’

sebagai akhir dari keseluruhan program yang dibuat.

Langkah selanjutnya adalah menjalankan program dengan

mengklik F9 pada keyboard atau klik Run pada Toolbar.

Gambar 3.1 Toolbar Run

Aplikasi Variabel Berindex 24

Page 25: Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex

Menu Run digunakan untuk menjalankan program dan melihat

jalannya program. Praktikan juga dapat memantau jalannya program

dengan memperhatikan prosedur yang dijalankan. Run atau F9 berfungsi

untuk mengkompilasi dan menjalankan program aplikasi yang telah

praktikan buat.

Jika muncul lembar kerja hitam pada layar maka artinya

perhitungan yang praktikan lakukan benar. Namun jika setelah menekan

tombol F9 dan ternyata terdapat blok merah pada baris tertentu, itu artinya

ada kesalahan dalam meng-input data. Setelah mengisikan data yang ingin

dicari, maka akan muncul hasil yang diinginkan.

Aplikasi Variabel Berindex 25

Page 26: Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex

Gambar 3.2 Tampilan Output Lengkapnya

Dalam mengerjakan suatu aplikasi program tentu saja tidak

selamanya berjalan dengan mulus. Sama seperti halnya gambar dibawah

ini, praktikan menemukan kasus eror dalam pembutan aplikasi dengan

menggunakan Delphi 7.

Gambar 3.3 Kasus ‘error’ saat mendeklarasikan prosedur

Kejadian error sempat terjadi pada saat praktikan melakukan

running. Block merah tepat berada dalam baris pendeklarasian rumus

Aplikasi Variabel Berindex 26

Page 27: Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex

“jum” artinya terjadi kesalahan pada baris ‘’ jum’’ tersebut. Hal tersebut

terjadi karena praktikan menuliskan “matriks = array [1..ordo,1..ordo] of

real;.“[Error] matriks2.dpr(82): Incompatible

types: ‘Integer’ and ‘Extended’“ yang berarti

“[Kesalahan]matriks2.dpr(82) : Jenis tidak cocok atau bertentangan :

yang diharapkan ‘bilangan bulat’. Hal tersebut terjadi karena index selalu

menggunakan tipe subjangkauan skalar atau tipe terbilang. Dengan

demikian semua tipe subjangkauan bisa digunakan kecuali tipe real. Pada

Pascal bisa digunakan index yang bertipe integer, char atau boolean

kecuali real. Maka untuk itu teliti dulu untuk memasukan tipe data

jangan memasukan sembarang tipe data yang dapat membuat proses

pemrograman terhambat atau ada kemungkinan untuk eror.

Aplikasi Variabel Berindex 27

Page 28: Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex

BAB IV

PENUTUP

Setelah praktikan melakukan praktikum untuk menyelesaikan suatu kasus

menggunakan program Delphi 7dalam membuat aplikasi variabel berindex yaitu

mengolah berbagai perhitungan pada matriks, maka praktikan mendapatkan

kesimpulan sebagai berikut :

1. Untuk sekumpulan data yang bertipe sama, cukup gunakan larik (array)

karena merupakan struktur penyimpanan data yang dapat mengorganisir data

sejenis untuk mempermudah pemecahan masalah.

2. Variabel berindex tidak hanya dapat digunakan untuk menyimpan sebuah

nilai saja tetapi digunakan untuk menyimpan beberapa nilai sekaligus dalam

suatu variabel.

3. Pada dasarnya ukuran atau dimensi matriks tidak terbatas. Dalam komputer,

dimensi matriks hanya dibatasi oleh kapasitas komputer sehingga antara

komputer yang satu dengan komputer yang lainnya kemampuan untuk

mengoperasikan matriks mempunyai dimensi yang berbeda pula.

4. Matriks merupakan struktur statis sehingga ukuran matriks harus sudah

diketahui sebelum pelaksanaan program.

5. Semua larik (array) dinyatakan dengan indexnya untuk menunjukan elemen

mana yang akan dioperasikan.

6. Index yang digunakan dapat berupa konstanta, peubah atau ungkapan tetapi

tipenya harus sesuai dengan tipe yang dinyatakan pada deklarasi peubah.

7. Tipe index yang ada pada deklarasi larik akan memberikan sejumlah

informasi kepada kompiler diantaranya untuk memasup elemen larik dan

batas-batas index.

8. Struktur matriks praktis untuk dipakai karena pengaksesannya cepat karena

langsung melalui indexnya tetapi memakan banyak tempat di memori.

9. Membuat program perhitungan dengan menggunakan Delphi 7, lebih mudah,

cepat, efektif, dan efisien karena fitur yang disediakan cukup lengkap.

Aplikasi Variabel Berindex 28