You are on page 1of 11

LAPORAN AKHIR

NAMA : YUSIKA RONA QORIYANA

KELAS : 2 KA 15

NPM : 12108126

TANGGAL : 8 APRIL 2010

MATERI : FUNGSI

KETUA : TISKA

ASS. BARIS : FAUZIAH

BARIS :5

PARAF

( )

LABORATORIUM SISTEM INFORMASI


UNIVERSITAS GUNADARMA
SCRIPT PROGRAM :
2
OUTPUT :

3
Menu Matrix
LOGIKA PROGRAM :

Program matriks di atas terdiri dari beberapa sub menu yang terdiri dari ‘INPUT’,
‘TAMPIL’, ‘TAMBAH’,’KURANG’,’KALI’,’DETERMINAN’,dan’TRANSPOSE’.

4
Matriks adalah himpunan skalar (bilangan riil atau kompleks) yang disusun/dijajarkan
secara empat persegi panjang (menurut baris-baris dan kolom-kolom). Skalar-skalar itu
disebut elemen matriks.
Dalam sub menu ‘INPUT’ terdapat perintah dari program agar user memasukkan
elemen-elemen matriks yang akan diproses. Di sini kita menginputkan dua buah matriks
dimana dalam setiap satu matriks terdapat beberapa elemen-elemen matriks. Elemen
matriks tersebut berisikan baris dan kolom. Misal dalam hasil compile terdapat output
seperti : ’Input Elemen 1:[2],[1]= ’ Hal ini berarti masukkan elemen matriks yang terletak
pada baris dua kolom 1. Pada proses input terdapat script program sebagai berikut:
int input()
{
clrscr();
cout<<"\n matriks pertama \n";
for(int i=1;i<=2;i++)
{for(int j=1;j<=2;j++)
{cout<<"+ elemen ["<<i<<","<<j<<"]=";cin>>m1[i][j];
}
}
}
Script program tersebut memiliki suatu pendefinisian input matriks 1 dan 2
dengan statemen tipe data int sebagai suatu pengantar dari fungsi tersebut. Kemudian
untuk membuat matriks dibutuhkan statemen perulangan ”FOR”. Nillai i bernilai 1
sampai dengan 2. Untuk variabel j bernilai 1 sampai dengan 2. Variabel i menunjukan
baris dan variabel j menunjukkan kolom. Oleh karena itu matriks ini dapat ditamlikan
dengan suatu deret dengan batasan nilai tertinggi 2 atau suatu matriks yang berdimensi 2
yang memiliki ordo 2x2 yang terdiri atas dua baris dan dua kolom. Setelah
mendefinisikan matriks tersebut dalam program terdapat statemen ’cout<<"+ elemen
["<<i<<","<<j<<"]=";cin>>m1[i][j];’ Hal ini berarti program akan mencetak ’+ elemen
[i],[j]= ”;’ dengan ”<<i<<” sebagai suatu perulangan baris dan kolom. Nilai awal i dan j
sama dengan 1, oleh karena itu program mencetak ’+ elemen [1],[1]= ’ kemudian nilai j
bertambah 1 menjadi 2 sehingga nilai i=1 dan j=2 sehingga program akan mencetak ’+

5
elemen [1],[2]= ’. Karena nilai j telah memenuhi syarat perulangan maksimal sebanyak
2,maka nilai i bertambah 1 menjadi 2 sedangkan nilai j bernilai 1, maka program akan
mencetak ’+ elemen [2],[1]= ’. Selanjutnya nilai j bertambah 1 sehingga i=2, j=2 maka
program akan mencetak ’elemen [2],[2]= ’. Nilai i dan j telah memenuhi syarat
perulangan sehingga program berhenti mencetak input elemen matriks. Proses keluaran
tersebut akan berlangsung secara simultan setelah user menginputkan angka pada setiap
inputan yang diminta dalam pemasukan elemen matriks.
Untuk sub menu ’TAMPIL’ dengan script sebagai berikut:
int tampil()
{
clrscr();
cout<<"* matrik pertama :\n";
for(int i=1;i<=2;i++)
{
for(int j=1;j<=2;j++)
{
cout<<" "<<" ";
cout<<m1[i][j];
}
cout<<"\n";
}
cout<<"\n\n";
Pada awalnya program mencetak ’ * matrik pertama :’. Kemudian dilanjutkan dengan
melewati proses perulangan dalam pencetakan baris dan kolom dengan mencetak matriks
M[i][j]. Sama seperti penjelasan yang telah dijabarkan di atas, hasil keluaran tersebut
mengikuti logika dari statemen perulangan yang sebelumnya. Variabel i sebagai baris dan
variabel j sebagi kolom. Dengan nilai awal i=1 dan j=1. Misalnya jika kita menginputkan
elemen [1],[1]= 3 ; elemen [1][2]=2; elemen [2],[1]=5; dan elemen [2],[2]=1 maka
program akan menampilkan matriks sebagai berikut : 3 2
5 1

6
Hal ini terjadi karena M[i][j] menunjukkan matriks yang terdiri dari (baris,kolom).
Sehingga jika nilai i=1 dan j=1 yang diberi inputan ’3’ maka program akan mencetak ’3’
pada baris 1 kolom 1. Kemudian nilai j bertambah menjadi 2 sebab dalam pengerjaan
statemen ”for” bersarang aharus dikerjakan pada bagian dalam program terlebih dahulu
sehingga nilai j bertambah 1. Nilai i=1 dan j=2 dengan inputan ’2’ maka program akan
mencetak ’2’ pada baris 1 kolom 2. Karena nilai j telah memenuhi syarat perulangan
dengan nilai j maksimal = 2, maka nilai i bertambah 1. Nilai i=2 dan nilai j=1 dengan
inputan ’5’ maka program akan mencetak ’5’ pada baris 2 kolom 1. Nilai variabel i tetap
dan variabel j bertambah menjadi 2. Nilai i=2 dan j=2 dengan inputan ’1’ maka program
akan mencetak ’1’ pada baris 2 kolom 2. Semua syarat perulangan telah terpenuhi dengan
batasan maksimum jumlah baris dan kolom sebanyak 2 buah.
Pada sub menu ’DETERMINAN’ tidak ditampilkan suatu proses perulanagn.
Namun yan diberikan disini adalah proses perhitungannya. Yang didapat dengan rumus :
d=m[1][1]*m[2][2]-m[1][2]*m[2][1].
Pada sub menu ’TAMBAH’ terdapat proses perhitungan matriks yakni dengan
menjumlahkan elemen-elemen yang terdapat pada matriks m1 dan elemen matriks m2.
Misalnya pada matriks m1 dan m2 terdapat nilai elemen matriks sebagai berikut :

Elemen M Elemen N
[1],[1] = 3 [1],[1] = 4
[1],[2] = 2 [1],[2] = 3
[2],[1] = 5 [2],[1] = 7
[2],[2] = 1 [2],[2] = 6

Setelah kita menginputkan matriks m1 dan m2 maka program akan membaca matriks m1
dan m2 kemudian secara otomatis program akan menjumlahkan dua matriks tersebut
dengan format ’cout<< m1[i.][j]+m2[i][j]<<” ”;’. Dari statemen tersebut dapat terlihat
bahwa penjumlahan dilakukan dengan menjumlahakan matriks m1 yang memiliki baris
ke-i dan kolom ke-j dengan matriks m2 yang memiliki baris ke-i dan kolom ke-j. Dimana
nilai awal sampai akhir dari variabel i dan j didapat dari proses perulangan ’FOR’ dengan
baris dan kolom sebanyak dua buah.
for(int i=1;i<=2;i++)

7
{for(int j=1;j<=2;j++)
{cout<<m1[i][j]+m2[i][j]<<" ";}
Penjelasan dari program di atas maksudnya adalah:
o i=1 i<=2?, j=1, j<=2?
Cetak hasil dari m1[1][1]+m2[1][1] pada baris 1 kolom 1, dimana elemen matriks m1
[1][1] = 3 dan nilai elemen matriks m2[1][1] = 4. Maka output pada baris 1 kolom 1
adalah ’3+4’ = ’7’.
o i=1 i<=2?, j=2. Nilai j bertambah sebab pada proses perulangan ’for’ bersarang
statemen yang harus dikerjakan terlebih dahulu adalah bagian dalam dari for
bersarang tersebut.
Cetak hasil dari m1[1][2]+m2[1][2] pada baris 1 kolom 2, dimana elemen matriks m1
[1][2] = 2 dan nilai elemen matriks n2[1][2] = 3. Maka output pada baris 1 kolom 1
adalah ’2+3’ = ’5’.
o Kemudian nilai i bertambah 1 sebab variabel j telah memenuhi syarat perulangan
maksimal yakni nilai maksimal =2 sehingga i=i++ atau i=1+1. i=2, j=1.
Cetak hasil dari m1[2][1]+m2[2][1] pada baris 2 kolom 1, dimana elemen matriks m1
[2][1] = 5 dan nilai elemen matriks m2[2][1] = 7. Maka output pada baris 2 kolom 1
adalah ’5+7’ = ’12’.
o i=2, j=2 hal ini merupakan proses perhitungan terakhir karena nilai variabel dari i dan
j telah memenuhi nilai maksimal. Langkah selanjutnya adalah mencetak hasil dari
m1[2][2]+m2[2][2] pada baris 2 kolom 2, dimana elemen matriks m1 [2][2] = 1 dan
nilai elemen matriks m2[2][2] = 6. Maka output pada baris 2 kolom 2 adalah ’1+6’ =
’7’.
Sama seperti sub menu tambah, pada sub menu ’KURANG’ juga terdapat proses
perhitungan matriks yakni dengan mengurangkan elemen-elemen yang terdapat pada
matriks m1 dan elemen matriks m2. Setelah kita menginputkan matriks m1 dan m2 maka
program akan membaca matriks m1 dan m2 kemudian secara otomatis program akan
menjumlahkan dua matriks tersebut dengan format ’cout<< m1[i.][j]+m2[i][j]<<” ”;’.
Dari statemen tersebut dapat terlihat bahwa penjumlahan dilakukan dengan
menjumlahakan matriks m1 yang memiliki baris ke-i dan kolom ke-j dengan matriks m2

8
yang memiliki baris ke-i dan kolom ke-j. Dimana nilai awal sampai akhir dari variabel i
dan j didapat dari proses perulangan ’FOR’ dengan baris dan kolom sebanyak dua buah.
for(int i=1;i<=2;i++)
{for(int j=1;j<=2;j++)
{cout<<m1[i][j]+m2[i][j]<<" ";}
Penjelasan dari program di atas maksudnya adalah:
o i=1 i<=2?, j=1, j<=2?
Cetak hasil dari m1[1][1]-m2[1][1] pada baris 1 kolom 1, dimana elemen matriks m1
[1][1] = 3 dan nilai elemen matriks m2[1][1] = 4. Maka output pada baris 1 kolom 1
adalah ’3-4’ = ’-1’.
o i=1 i<=2?, j=2. Nilai j bertambah sebab pada proses perulangan ’for’ bersarang
statemen yang harus dikerjakan terlebih dahulu adalah bagian dalam dari for
bersarang tersebut.
Cetak hasil dari m1[1][2]-m2[1][2] pada baris 1 kolom 2, dimana elemen matriks m1
[1][2] = 2 dan nilai elemen matriks m2[1][2] = 3. Maka output pada baris 1 kolom 1
adalah ’2-3’ = ’-1’.
o Kemudian nilai i bertambah 1 sebab variabel j telah memenuhi syarat perulangan
maksimal yakni nilai maksimal =2 sehingga i=i++ atau i=1+1. i=2, j=1.Cetak hasil
dari m1[2][1]-m2[2][1] pada baris 2 kolom 1, dimana elemen matriks m1 [2][1] = 5
dan nilai elemen matriks m2[2][1] = 7. Maka output pada baris 2 kolom 1 adalah ’5-
7’ = ’-2’.
o i=2, j=2 hal ini merupakan proses perhitungan terakhir karena nilai variabel dari i dan
j telah memenuhi nilai maksimal. Langkah selanjutnya adalah mencetak hasil dari
m1[2][2]-m2[2][2] pada baris 2 kolom 2, dimana elemen matriks m1 [2][2] = 1 dan
nilai elemen matriks m2 [2][2] = 6. Maka output pada baris 2 kolom 2 adalah ’1-6’ =
’-5’.
Pada sub menu ’KALI’ akan menampilkan hasil perkalian dari Matriks yang telah
kita inputkan sebelumnya. perkalian matriks ini dilakukan antara Matriks m1 dan Matriks
m2. Jika kita umpamakan dua buah matriks sebagai matriks m1 dan matriks m2 yang
berordo 2x2 maka perkalian matriks dapat dirumuskan sebagai berikut:

9
m1(1,1)*m2(1,1)+m1(1,2)*m2(2,1) m1(1,1)*m2(1,2)+m1(1,2)*m2(2,2)
m1(2,1)*m2(1,1)+m1(2,2)*m2(2,1) m1(2,1)*m2(1,2)+m1(2,2)*m2(2,2)

int perkalian()
{
int z;
tampil();
cout<<"\n* perkalian matriks \n";
for(int i=1;i<=2;i++)
{
for(int j=1;j<=2;j++)
{
z=(m1[i][1]*m2[1][j]+m1[i][2]*m2[2][j]);cout<<z;
cout<<" "<<" ";
}
cout<<"\n";
}
return 0;
}

o i=1 , j=1, dengan rumus : m1[i][1]*m2[1][j]+m1[i][2]*m2[2][j]


Cetak hasil dari m1[1][1]*m2[1][1]+m1[1][2]*m2[2][1]pada baris 1
kolom 1, dimana elemen matriks m1 [1][1] = 3, nilai elemen matriks m2[1][1] = 4
nilai elemen matriks m1[1][2] = 2 dan nilai elemen matriks m2[2][1] = 7.. Maka
output pada baris 1 kolom 1 adalah ’(3*4)+(2*7)’ = ’26’.
o i=1 i<=2?, j=2. Nilai j bertambah sebab pada proses perulangan ’for’ bersarang
statemen yang harus dikerjakan terlebih dahulu adalah bagian dalam dari for
bersarang tersebut.
Cetak hasil dengan rumus : m1[i][1]*m2[1][j]+m1[i][2]*m2[2][j] sehingga untuk
baris 1 kolom 2 menjadi dengan rumus : m1[1][1]*m2[1][2]+m1[1][2]*m2[2][2],
dimana elemen matriks m1 [1][1] = 3, nilai elemen matriks m2[1][2] = 3, elemen

10
matriks m1[1][2] = 2, elemen matriks m2[2][2] = 6. Maka output pada baris 1 kolom
1 adalah ’(3*3)+(2*6)’ = ’21’.
o Kemudian nilai i bertambah 1 sebab variabel j telah memenuhi syarat perulangan
maksimal yakni nilai maksimal =2 sehingga i=i++ atau i=1+1. i=2, j=1.Cetak hasil
dengan rumus : m1[i][1]*m2[1][j]+m1[i][2]*m2[2][j] sehingga untuk baris 2 kolom 1
menjadi dengan rumus : m1[2][1]*m2[1][1]+m1[2][2]*m2[2][1], dimana elemen
matriks m1 [2][1] = 5, nilai elemen matriks m2[1][1] = 4, elemen matriks m1[2][2] =
1, elemen matriks m2[2][1] = 7. Maka output pada baris 1 kolom 1 adalah
’(5*4)+(1*7)’ = ’27’.
o i=2, j=2 hal ini merupakan proses perhitungan terakhir karena nilai variabel dari i dan
j telah memenuhi nilai maksimal. Langkah selanjutnya adalah mencetak hasil dengan
rumus : m1[i][1]*m2[1][j]+m1[i][2]*m2[2][j] sehingga untuk baris 2 kolom 2
menjadi dengan rumus : m1[2][1]*m2[1][2]+m1[2][2]*m2[2][2], dimana elemen
matriks m1 [2][1] = 5, nilai elemen matriks m2[1][2] = 3, elemen matriks m1[2][2] =
1, elemen matriks m2[2][2] = 6. Maka output pada baris 1 kolom 1 adalah
’(5*3)+(1*6)’ = ’21’.
Dalam sub menu ’TRANSPOSE’ akan menampilkan suatu program transpose
matriks. Jika suatu matriks m1 berukuran axb, maka matriks transpose m1 akan
berukuran bxa atau dengan kata lain elemen baris dari matriks m1 akan menjadi elemen
kolom matriks B (baris jadi kolom). Oleh karena itu dalam hasil keluaran atau mencetak
ke layar, program bertuliskan statemen ‘cout<<m2[j][i]<<" ";’ yang berarti
program akan mencetak keluaran berupa matriks dengan baris j (yang pada pendefinisian
awal merupakan variabel untuk kolom) dan kolom i (pada pendefinisian awal merupakan
variabel untuk baris).

11

You might also like