P. 1
Menu Matrix C++

Menu Matrix C++

|Views: 271|Likes:
Published by yusika101008

More info:

Published by: yusika101008 on Nov 27, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

02/16/2015

pdf

text

original

LAPORAN AKHIR

NAMA KELAS NPM TANGGAL MATERI KETUA ASS. BARIS BARIS

: YUSIKA RONA QORIYANA : 2 KA 15 : 12108126 : 8 APRIL 2010 : FUNGSI : TISKA : FAUZIAH :5

PARAF

(

)

SCRIPT PROGRAM :

LABORATORIUM SISTEM INFORMASI UNIVERSITAS GUNADARMA

2

OUTPUT :

3

Menu Matrix
LOGIKA PROGRAM : 4

Program matriks di atas terdiri dari beberapa sub menu yang terdiri dari ‘INPUT’, ‘TAMPIL’, ‘TAMBAH’,’KURANG’,’KALI’,’DETERMINAN’,dan’TRANSPOSE’. 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

5

[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 ’+ 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<<"\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 "<<" "; cout<<m1[i][j];

6

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 5 2 1

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 [1],[1] = 3 [1],[2] = 2 [2],[1] = 5 [2],[2] = 1 Elemen N [1],[1] = 4 [1],[2] = 3 [2],[1] = 7 [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

7

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’ = ’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]<<” ”;’.

8

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++) {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

9

m2. Jika kita umpamakan dua buah matriks sebagai matriks m1 dan matriks m2 yang berordo 2x2 maka perkalian matriks dapat dirumuskan sebagai berikut:
m1(1,1)*m2(1,1)+m1(1,2)*m2(2,1) m1(2,1)*m2(1,1)+m1(2,2)*m2(2,1) m1(1,1)*m2(1,2)+m1(1,2)*m2(2,2) 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.

10

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 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're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->