23
PRAKTIKUM BAHASA PEMROGRAMAN KOMPUTER MODUL I ARRAY DAN STATEMENT CONTROL 1.1 Tujuan 1. Memahami dasar-dasar pemrograman C++. 2. Memahami penggunaan tipe data array dalam pembuatan program. 3. Memahami penggunaan statement control pada C++. 4. Memahami tujuan dan mekanisme pengurutan data dan pencarian data. 1.2 Tugas Pendahuluan 1. Jelaskan tentang array dan deklarasi array dalam C++ serta tipe data yang mungkin digunakan dalam array. 2. Berikan contoh deklarasi array dalam C++ lalu hitung keperluan memory-nya. 3. Jelaskan apa yang dimaksud dengan statement control. Berikan pemaparan anda secara jelas beserta contoh programnya. 4. Jelaskan mekanisme metode pengurutan dan pencarian berikut serta berikan contoh pengurutan data yang dilakukan dengan metode tersebut. a. Quick Sort b. Binary Search c. Sequential Search 5. Buatlah algoritma, flowchart dan program perkalian matriks beserta validasinya. Trace flowchart anda. 6. Buatlah algoritma, flowchart dan program menentukan invers matriks beserta validasinya. Trace flowchart anda. Nama : Ida Bagus Widnyana Prawitra

Tugas pendahuluan 1 modul1

Embed Size (px)

DESCRIPTION

tugas modul

Citation preview

Page 1: Tugas pendahuluan 1 modul1

PRAKTIKUM BAHASA PEMROGRAMAN KOMPUTER

MODUL IARRAY DAN STATEMENT CONTROL

1.1 Tujuan

1. Memahami dasar-dasar pemrograman C++. 2. Memahami penggunaan tipe data array dalam pembuatan program. 3. Memahami penggunaan statement control pada C++.4. Memahami tujuan dan mekanisme pengurutan data dan pencarian data.

1.2 Tugas Pendahuluan1. Jelaskan tentang array dan deklarasi array dalam C++ serta tipe data

yang mungkin digunakan dalam array.2. Berikan contoh deklarasi array dalam C++ lalu hitung keperluan memory-

nya.3. Jelaskan apa yang dimaksud dengan statement control. Berikan

pemaparan anda secara jelas beserta contoh programnya.4. Jelaskan mekanisme metode pengurutan dan pencarian berikut serta

berikan contoh pengurutan data yang dilakukan dengan metode tersebut. a. Quick Sort b. Binary Searchc. Sequential Search

5. Buatlah algoritma, flowchart dan program perkalian matriks beserta validasinya. Trace flowchart anda.

6. Buatlah algoritma, flowchart dan program menentukan invers matriks beserta validasinya. Trace flowchart anda.

1.3 Jawaban1. Array merupakan koleksi data dimana setiap elemen memakai nama dan

tipe yang sama serta setiap elemen diakses dengan membedakan indeks array-nya. Berikut adalah contoh variabel bernama c yang mempunyai lokasi memori yang semuanya bertipe int.

C[0] = -45;C[1] = 6;C[2] = 0;C[3] = 72;

Nama : Ida Bagus Widnyana PrawitraNIM : 1104505016

Page 2: Tugas pendahuluan 1 modul1

C[4] = 1543;C[5] = 43;C[6] = 4;

Masing-masing nilai dalam setiap lokasi mempunyai identitas berupa nama c dan nomor indeks yang dituliskan di dalam tanda kurung ‘[..]’. sebagai contoh, 72 adalah nilai dari c[3]

Deklarasi Array

Variable array dideklarasikan dengan mencantumkan tipe dan nama variable yang diikuti dengan banyaknya lokasi memori yang ingin dibuat. Dengan demikian, deklarasi untuk variabel array c di atas adalah :

Int c[7];

Perlu diperhatikan bahwa C++ secara otomatis menyediakan lokasi memori yang sesuai dengan yang dideklarasikan, dimana nomor indeks selalu dimulai dari 0. Nilai suatu variabel array dapat juga diinisialisasi secara langsung pada saat deklarasi, misalnya;

Int c[7] = {-45, 0, 6, 72, 1543, 43, 4}

Berarti setiap lokasi memori dari variabel array c langsung diisi dengan nilai-nilai yang dituliskan didalam tanda kurung kurawal. Banyaknya lokasi memori dapat secara otomatis disediakan sesuai degan banyaknya nilai yang akan dimasukkan, seperti contoh berikut yang tentunya membuat variabel array dengan 10 lokasi memori:

Int x []={10, 15 12, 5, 13, 9, 6, 17, 25, 31};

Untuk memperjelas gambaran anda tentang array perhatikan contoh aplikasi variabel array, yaitu program untuk menghitung jumlah setiap elemen dalam suatu array. Sebagai gambaran dari program tersebut, dapat dibuat sebuah algoritma sebagai berikut:

1. Tentukan elemen array sebanyak yang diinginkan (dalam hal ini, elemen array tersebut berjumlah 12 buah)

2. Tentukan nilai awal indeks, batas akhir indeks dan kenaikannya (dalam hal ini, nilai awal indeks adalah 0, batas akhir indeks adalah jumlah elemen array diatas yaitu 12 dikurangi dengan 1, kenaikannya adalah 1)

3. Lakukan perulangan sesuai dengan langkah 24. Lakukan penjumlahan masing-masing elemen array sampai batas

akhir indeks terpenuhi5. Tampilkan penjumlahan semua elemen array6. Selesai.

Page 3: Tugas pendahuluan 1 modul1

Sedangkan implementasi dalam program dapat dilihat berikut ini.Contoh Program array

Gambar 1.1 Contoh Program Array

Bila program diatas dijalankan, akan muncul hasil :Total setiap elemen array adalah 383,Adapun keterangan dari program diatas adalah sebagai berikut :

Hasil penjumlahan setiap elemen array diperoleh dari jumlah data atau elemen array sebanyak 12 buah yang sudah didefinisikan pada awal program yaitu #define SIZE 12. Kemudian setiap elemen array dari a[0] yang berisi data, a[1] yang berisi data 3 di jumlahkan sampai dengan a[11] yang berisi data 45. Proses penjumlahan dilakukan pada loop dimulai dari 0 sampai data yang terakhir atau elemen terakhir.

2. Untuk mengetahui keperluan memory dalam sebuah array kita hendaknya mendeklarasikan array tersebut. Contoh :

Kode Program 1.1 Deklarasi Array Dan Menampilkan Nilai Pada Array

#include <iostream>

using namespace std;

int main(){ int X[10]={1,2,3,4,5,6,7,8,9,10}; cout<<"Menampilkan nilai pada array : "<<endl; for(int i=0; i<10; i++) { cout<<X[i]<<" "; }

return 0;}

Page 4: Tugas pendahuluan 1 modul1

Pada contoh program diatas, tipe data yang digunakan adalah tipe integer dimana memiliki ukuran memory sebesar 4 byte atau 32 bite, pada array X memiliki ukuran sebesar 10, maka memory yang digunakan sebesar 4x10 yaitu 40 byte, atau 32x10 yaitu 320 bit.

3. Statement kontrol pada bahasa pemrograman C++ sangat diperlukan untuk membuat program dengan kondisi bersyarat atau proses pemilihan sesuai dengan kondisi yang digunakan. Berdasarkan satu atau beberapa kondisi, dapat ditentukan satu atau sejumlah aksi yang akan dilakukan. Dengan adanya struktur pemilihan, program dapat berjalan dengan jalur yang berbeda, berdasarkan hasil pengecekan kondisi yang dipenuhi. Untuk itu, bahasa pemrograman C++ menyediakan beberapa struktur kontrol, yaitu :

a. ifPernyataan if (if statement) akan memeriksa suatu persyaratan dan menentukan apakah syarat tersebut benar atau salah, kemudian melakukan pekerjaan sesuai dengan nilai pernyataan tersebut. Statemen if dengan satu kasus merupakan bentuk yang paling sederhana karena hanya melibatkan satu kondisi yang akan diperiksa. sintaksnya dapat ditulis sebagai berikut:

If (kondisi) statemen;

Flowchart:

Salah

Benar

contoh penulisan programnya:

kondisi

statemen

Page 5: Tugas pendahuluan 1 modul1

Kode program 1.2 Program Statemen If

b. if…else

Penjelasannya, bila sebuah kondisi terpenuhi maka program akan melakukan statemen pertama dan bila tidak terpenuhi maka program akan melakukan statemen lain. sintaksnya dapat ditulis sebagai berikut:

If (kondisi) {Statemen pertama;} else {Statemen kedua;}Flowchart:

True false

contoh penulisan programnya:

#include <iostream> using namespace std;int main ( ){ int nilai;

cout <<"masukkan sebuah bilangan: "; cin>>nilai;

if (nilai>0)

cout <<"bilangan yang anda masukkan adalah bilangan positif";

return 0;}

kondisi

Statemen pertama Statemen kedua

#include <iostream>using namespace std;int main(){int nilai;cout <<"masukkan sebuah bilangan: "; cin>>nilai;if (nilai>0){cout <<"bilangan yang anda masukkan adalah bilangan positif";

Page 6: Tugas pendahuluan 1 modul1

Kode program 1.3 Program If-Else

c. switch

Pernyataan switch adalah pernyataan yang digunakan untuk menjalankan salah satu pernyataan dari beberapa kemungkinan pernyataan, berdasarkan nilai dari sebuah ungkapan dan nilai penyeleksian. Pernyataan if…else if jamak dapat dibangun dengan pernyataan switch. sintaksnya dapat ditulis sebagai berikut:switch (ekspresi) {case value1 : statement1; break;case value2 : statement2; break;case valueN : statementN; break;default : statement_alternatif; break; }Contoh penulisan programnya :

#include <iostream> using namespace std;int main ( ){ int bil; cout <<"masukkan sebuah bilangan (1-7): "; cin>>bil; switch (bil) { case 1: cout <<"hari ke-"<<bil<<" : adalah minggu"; break; case 2: cout <<"hari ke-"<<bil<<" : adalah senin"; break; case 3: cout <<"hari ke-"<<bil<<" : adalah selasa"; break; case 4: cout <<"hari ke-"<<bil<<" : adalah rabu"; break; case 5: cout <<"hari ke-"<<bil<<" : adalah kamis"; break; case 6: cout <<"hari ke-"<<bil<<" : adalah jumat"; break;

}else{if (nilai==0)cout <<"bilangan yang anda masukkan adalah nol";elsecout <<"bilangan yang anda masukkan adalah bilangan negatif";}return 0;}

Page 7: Tugas pendahuluan 1 modul1

Kode program 1.4 Program Switch

4. Quick Sort adalah Algoritma sortir yang efisien yang ditulis oleh C.A.R. Hoare pada 1962. Dasar strateginya adalah “memecah dan menguasai”. Quick sort dimulai dengan menscan daftar yang disortir untuk nilai median. Nilai ini, yang disebut tumpuan (pivot), kemudian dipindahkan ke satu sisi pada daftar dan butir-butir yang nilainya lebih besar dari tumpuan di pindahkan ke sisi lain.

Algoritma Quick Sort:

a. Divide

Memilah rangkaian data menjadi dua sub-rangkaian A[p…q-1] dan A[q+1…r]  dimana setiap elemen A[p…q-1] adalah kurang dari atau sama dengan A[q]  dan  setiap   elemen  pada A[q+1…r]   adalah  lebih  besar   atau  sama  dengan elemen  pada  A[q].  A[q]   disebut   sebagai   elemen   pivot.   Perhitungan  pada elemen q merupakan salah satu bagian dari prosedur pemisahan.

b. Conquer

Mengurutkan elemen pada sub-rangkaian secara rekursif  Pada algoritma quick sort, langkah ”kombinasi” tidak di lakukan karena telah terjadi  pengurutan elemen – elemen pada sub array.

Contoh program Quick Sort Mengunakan C++

Partition(A, p, r)x = A[p]; //pivot=elemen posisi pertamai = p ; //inisialisasij = r ;repeat while(A[j] > x) j--; while(A[i] < x) i++; if (i < j){ Swap(A, i, j); j--;

case 7: cout <<"hari ke-"<<bil<<" : adalah sabtu"; break; default: cout <<"tidak terdapat nama hari ke-"<<bil; } return 0;}

Page 8: Tugas pendahuluan 1 modul1

int SequentialSearch(int x){     int i = 0;     bool ditemukan = false;     while ((!ditemukan) && (i < Max))     {          if(Data[i] == x)               ditemukan = true;          else               i++;     }     if(ditemukan)          return i;     else          return -1;}

Kode program 1.5 Quick Sort

Sequential Search adalah Pencarian berurutan sering disebut pencarian linear merupakan metode pencarian yang paling sederhana. Pencarian berurutan menggunakan prinsip sebagai berikut : data yang ada dibandingkan satu per satu secara berurutan dengan yang dicari sampai data tersebut ditemukan atau tidak ditemukan. Pada dasarnya, pencarian ini hanya melakukan pengulangan dari 1 sampai dengan jumlah data. Pada setiap pengulangan, dibandingkan data ke-i dengan yang dicari. Apabila sama, berarti data telah ditemukan. Sebaliknya apabila sampai akhir pengulangan tidak ada data yang sama, berarti data tidak ada. Pada kasus yang paling buruk, untuk N elemen data harus dilakukan pencarian sebanyak N kali pula.

Algoritma pencarian berurutan dapat dituliskan sebagai berikut :

1 i ← 02 ditemukan ← false3 Selama (tidak ditemukan) dan (i <= N) kerjakan baris 44 Jika (Data[i] = x) maka ditemukan ← true, jika tidak i ← i + 15 Jika (ditemukan) maka i adalah indeks dari data yang dicari, jika tidak data tidak ditemukan

Contoh Program

Kode program 1.6 Program Sequential Search

i++ } else return j;until i >= j

Page 9: Tugas pendahuluan 1 modul1

int BinarySearch(int x){     int L = 0, R = Max-1, m;     bool ditemukan = false;     while((L <= R) && (!ditemukan))     {          m = (L + R) / 2;          if(Data[m] == x)               ditemukan = true;          else if (x < data[m])               R = m - 1;          else               L = m + 1;     }     

Fungsi diatas akan mengembalikan indeks dari data yang dicari. Apabila data tidak ditemukan maka fungsi diatas akan mengembalikan nilai –1.

Pencarian Biner (Binary Search) adalah Salah satu syarat agar pencarian biner dapat dilakukan adalah data sudah dalam keadaan urut. Dengan kata lain, apabila data belum dalam keadaan urut, pencarian biner tidak dapat dilakukan. Dalam kehidupan sehari-hari, sebenarnya kita juga sering menggunakan pencarian biner. Misalnya saat ingin mencari suatu kata dalam kamus Prinsip dari pencarian biner dapat dijelaskan sebagai berikut : mula-mula diambil posisi awal 0 dan posisi akhir = N - 1, kemudian dicari posisi data tengah dengan rumus (posisi awal + posisi akhir) / 2. Kemudian data yang dicari dibandingkan dengan data tengah. Jika lebih kecil, proses dilakukan kembali tetapi posisi akhir dianggap sama dengan posisi tengah –1. Jika lebih besar, porses dilakukan kembali tetapi posisi awal dianggap sama dengan posisi tengah + 1.

Algoritma Binary Search1. L ← 02. R ← N - 13. ditemukan ← false4. Selama (L <= R) dan (tidak ditemukan) kerjakan baris 5 sampai 85. m ← (L + R) / 26. Jika (Data[m] = x) maka ditemukan ← true7. Jika (x < Data[m]) maka R ← m – 18. Jika (x > Data[m]) maka L ← m + 19.Jika (ditemukan) maka m adalah indeks dari data yang dicari, jika tidak data tidak ditemukan.

Contoh Program

Page 10: Tugas pendahuluan 1 modul1

Kode program 1.7 Program Binary Search

Fungsi diatas akan mengembalikan indeks dari data yang dicari. Apabila data tidak ditemukan maka fungsi diatas akan mengembalikan nilai –1.

5. a. Algoritma

1. Mulai.2. Mendeklarasikan array berdimensi 2 bertipe integer yaitu array A,

B dan C dengan nilai elemen maksimum atau ukuran array yang ditentukan.

3. Mendeklarasikan ib, ik, baris1, kolom1, baris2, kolom2.4. Meng-input-kan baris1 yang menunjuk pada baris matriks A.5. Meng-input-kan kolom1 yang menunjuk pada kolom matriks A.6. Meng-input-kan baris2 yang menunjuk pada baris matriks B.7. Meng-input-kan kolom2 yang menunjuk pada kolom matriks B.8. Pengecekan nilai kolom1 dengan baris2, jika nilai keduanya tidak

sama (IF kolom1 != baris2), maka proses tidak dapat dieksekusi . Tetapi jika sama maka proses perkalian matriks dijalankan.

9. Mencetak hasil matriks yaitu array C.10. Tanyakan apakah ingin mengulang.11. Jika ya, maka akan kembali ke proses 4.12. Jika tidak, maka program dihentikan.13. Selesai.

if(ditemukan)          return m;     else          return -1;}

Page 11: Tugas pendahuluan 1 modul1

b. Flowchart

c.

Page 12: Tugas pendahuluan 1 modul1

Gambar 1.2 Flowchart perkalian matriks

c. Program

#include <iostream>#include <conio.h>#include <cstdlib>#include <cstring>

using namespace std;

int A[10][10], B[10][10], C[10][10];int baris1, baris2, kolom1, kolom2;int ib, ik, huruf;char pil;char val[100];

//================================================void judul(){ cout<< "==========================="<<endl; cout<< "=PROGRAM PERKALIAN MATRIKS="<<endl; cout<< "==========================="<<endl; cout<<endl;}

Page 13: Tugas pendahuluan 1 modul1

//===========================================int validasi(){ do { huruf=0; cin>>val; for(int i=0; i<strlen(val); i++) { if(isdigit(val[i])==0) { huruf++; } } if(huruf !=0) { cout<<"Input hanya angka. Ulangi !"<<endl; } }while(huruf!=0); return 0;}//===============================================int tampilkan_matriks(){ judul(); cout<< "Input orde Matriks A."<<endl; cout<< "Baris : "; validasi(); baris1=atoi(val); cout<< "Kolom : "; validasi(); kolom1=atoi(val); cout<<endl; cout<< "Input orde Matriks B."<<endl; cout<< "Baris : "; validasi(); baris2=atoi(val); cout<< "Kolom : "; validasi(); kolom2=atoi(val); cout<< "=========================================="<<endl; cout<< "Input nilai Matriks A."<<endl; for(ib=0; ib<baris1; ib++) { for(ik=0; ik<kolom1; ik++) { cout << "baris ke-["<<ib+1<<"] dan kolom ke-["<<ik+1<<"] = "; cin>>A[ib][ik]; } } cout<<endl; cout<< "Input nilai Matriks B."<<endl; for(ib=0; ib<baris2; ib++) { for(ik=0; ik<kolom2; ik++) { cout << "baris ke-["<<ib+1<<"] dan kolom ke-["<<ik+1<<"] = "; cin >> B[ib][ik];

Page 14: Tugas pendahuluan 1 modul1

} } cout << "=========================================="<<endl; cout<<"Matriks A."<<endl; for(ib=0; ib<baris1; ib++) { for(ik=0; ik<kolom1; ik++) { cout<<A[ib][ik]<<" "; } cout<<endl; } cout<<endl; cout<<"Matriks B"<<endl; for(ib=0; ib<baris2; ib++) { for(ik=0; ik<kolom2; ik++) { cout<<B[ib][ik]<<" "; } cout<<endl; } return 0;}//===============================================int perkalian_matriks(){ if(kolom1 != baris2) { cout << "Perkalian Matriks tidak dapat dilakukan karena tidak sesuai dengan kaidah perkalian matriks."<<endl; cout << "Baris 1 harus sama dengan kolom2. Silahkan mengulang."<<endl; tampilkan_matriks(); getch(); system("CLS"); } else { cout<<"Matriks A * Matriks B = "<<endl; for(ib=0; ib<baris1; ib++) {

for(ik=0; ik<kolom2; ik++) { C[ib][ik]=0; for(int j=0; j<kolom1; j++) { C[ib][ik]=C[ib][ik] + (A[ib][j] * B[j][ik]);

Page 15: Tugas pendahuluan 1 modul1

} } } cout<<endl; for(ib=0; ib<baris1; ib++) { for(ik=0; ik<kolom2; ik++) { cout<<C[ib][ik]<<" "; } cout<<endl; } } return 0;}//===========================================int main(){ ulangi: tampilkan_matriks(); cout<< "=========================================="<<endl; perkalian_matriks(); cout<< "=========================================="<<endl; tanya: cout<< "Ulang lagi? (Y/T)"<<endl; cout<< "Pilihan Anda : "; cin>>pil; if(pil=='y' || pil=='Y') { getch(); system("CLS"); goto ulangi; } else if (pil=='t' || pil=='T') { cout<< "=========================================="<<endl; cout<<"Terima Kasih Telah Menggunakan Program Ini."<<endl; } else { cout<<"Input hanya y/t. Ulangi !"<<endl; goto tanya; } return 0;}

Kode program 1.8 Program Perkalian Matriks

Page 16: Tugas pendahuluan 1 modul1

Trace flowchart perkalian matriks:Input:Matriks ABaris ke-1, Kolom ke-1 : 1Baris ke-1, Kolom ke-2 : 1Baris ke-1, Kolom ke-3 : 1Baris ke-2, Kolom ke-1 : 2Baris ke-2, Kolom ke-2 : 4Baris ke-2, Kolom ke-3 : 8Baris ke-3, Kolom ke-1 : 3Baris ke-3, Kolom ke-2 : 9Baris ke-3, Kolom ke-3 : 27

Matriks BBaris ke-1,Kolom ke-1 : 1Baris ke-1,Kolom ke-1 : 3Baris ke-1,Kolom ke-1 : 5Baris ke-2,Kolom ke-2 : 2Baris ke-2,Kolom ke-2 : 4Baris ke-2,Kolom ke-2 : 6Baris ke-3,Kolom ke-3 : 3Baris ke-3,Kolom ke-3 : 6Baris ke-3,Kolom ke-3 : 9

Proses:Matriks CmatriksC[0][0] = 1x1 + 1x2 + 1x3 = 6matriksC[0][1] = 1x3 + 1x4 + 1x6 = 13matriksC[0][2] =1x5 + 1x6 + 1x9 = 20matriksC[1][0] = 2x1 + 4x2 + 8x3 = 34matriksC[1][1] = 2x3 + 4x4 + 8x6 = 70matriksC[1][2] = 2x5 + 2x6 + 2x9 = 106matriksC[2][0] = 3x1 + 9x2 + 27x3 = 102matriksC[2][1] = 3x3 + 9x4 + 27x6 = 207matriksC[2][2] = 3x5 + 9x6 + 27x9 = 312

Hasil:

6. a. Algoritma program invers matriks:

1. Mulai 2. Inisialisasi i untuk baris dan j untuk kolom3. Mengisi matriks dengan nilai yang diinginkan, dengan menggunakan

perulangan : i=0 untuk baris dan j=0 untuk kolom dengan batas i&j<1

Page 17: Tugas pendahuluan 1 modul1

Mencari determinan dengan cara : det=(matrik[0][0]*matrik[1][1])-(matrik[1][0]*matrik[0][1])

4. Mencari hasil bagi untuk matriks itu sendiri dengan cara : Hasil bagi=1/det.

5. Hasil bagi itu di kalikan dengan masing – masing matriks6. Menampilkan matriks invers yang sudah di kali 7. Selesai

b. Flowchart program invers matriks:

Gambar 1.3 flowchart invers matriks

c. Listing program perkalian matriks:

#include <iostream>#include <conio.h>#include <iomanip>#include <stdlib.h>#include <cstring>

using namespace std;

int false(char *kata){ int e,banyak; banyak=strlen(kata); for (e=0;e<banyak;e++) { if (!isdigit(kata[e])) { return 0; } }

Page 18: Tugas pendahuluan 1 modul1

return 1;}

int main(){ int d,e,check; char kata[5]; float hasilbagi,determinan,a,b,c,d; int matriks[2][2]; for(d=0;d<=1;d++) { for(e=0;e<=1;e++) { retry: cout<<"matriks["<<d<<"]["<<d<<"]= "; cin>>kata; matriks[d][e]=atoi(kata); check=false(kata); if (!check) { cout<<"input false"<<endl; goto ulang; } } } for(d=0;d<=1;d++) { for(e=0;e<=1;e++) { cout<<setw(4)<<matriks[d][e]; } cout<<endl; det=(matriks[0][0]*matriks[1][1])-

(matriks[1][0]*matriks[0][1]); cout<<"\n maka determinanya adalah ="; cout<<determinan<<endl; hasilbagi=1/determinan; a=hasilbagi*matriks[1][1]; b=hasilbagi*(-matriks[0][1]); c=hasilbagi*(-matriks[1][0]); d=hasilbagi*matriks[0][0]; cout<<"jadi matriks inversnya adalah =\n"; cout<<"["<<a<<" "<<b<<"]"<<endl; cout<<"["<<c<<" "<<d<<"]"<<endl; return 0; }}

Kode Program 1.9 Contoh Program Invers Matriks

Page 19: Tugas pendahuluan 1 modul1

Trace flowchart invers matriks:Input : matrik 0,0 = 2

Matrik 0,1 = 4 Matrik 1,0 = 6 Matrik 1,1 = 8

Proses : det=(matrik[0][0]*matrik[1][1])-(matrik[1][0]*matrik[0][1]) Det = (2 x 8) – (8 x 4) = -8 hasilbagi=1/det

= 1/-8 = -0,125 a=hasilbagi*matrik[1][1] = -0,125 x 8 = -1

b=hasilbagi*(-matrik[0][1]) = -0,125 x (-4) = -0.5

c=hasilbagi*(-matrik[1][0]) = -0,125 x (-6) = -0.75

d=hasilbagi*matrik[0][0] = -0,125 x 1 = -0.25

Hasil :