310 likes | 619 Views
ARRAY 2 Dimensi. ARRAY 2 Dimensi. Jika array satu dimensi hanya terdiri dari sebuah baris , maka array dua dimensi terdiri dari beberapa baris elemen yang bertipe sama. ARRAY 2 Dimensi. Pada Array 1 Dimensi :
E N D
ARRAY 2 Dimensi • Jikaarray satudimensihanyaterdiridarisebuahbaris, makaarray duadimensiterdiridaribeberapabariselemen yang bertipesama.
ARRAY 2 Dimensi • Pada Array 1 Dimensi : • Terdiridari 1 baris, berisibeberapa data, semuanyamemilikitipe data yang sama 1 11 32 17 25 12 66
ARRAY 2 Dimensi • Pada Array 2 Dimensi : • Terdirilebihdari 1 baris, berisibeberapa data yang semuanyamemilikitipe data yang sama 12 17 22 14 10 5 13 5
ARRAY 2 Dimensi • Terdiridaribarisdankolom 1 2 0 3 Kolom, 4 12 17 22 14 0 Dimensi Array dinyatakan dalam Baris x Kolom Array 2 x 4 10 5 13 5 1 Baris, 2
Deklarasi Array 2 Dimensi Tipe-datanama-array[jumlahbaris][jumlahkolom] tipe-data : tipe data darielemen array nama-array : namadarivariabel array jumlahbaris : jumlahbariselemen array jumlahkolom : jumlahkolomelemen array
Deklarasi Array 2 Dimensi • Contoh : intarrayku[2][3]; Mendeklarasikan array berukuran 2x3, bertipe integer 1 2 0 0 1
Deklarasi Array 2 Dimensi • Contoh : char peserta[10][50]; Mendeklarasikan array berukuran 10x50 bertipe char
Deklarasi Array 2 Dimensi • Contoh : int data[1][4]; bagaimanakah array yang terbentuk ? Samasajadengan int data[4]; 1 2 0 3 0
Inisialisasi Array 2 Dimensi • Inisialisasibisadilakukansaatvariabeldideklarasikan • Untuk Array 1 Dimensi, pemberiannilaidengantanda ‘{ }’ • Dengan Array 2 Dimensisamasaja, hanyaadatambahantanda ‘{ }’ untukmasing-masingbarisnya
Inisialisasi Array 2 Dimensi • Array 1 Dimensi : int data[3] = {30, 40, 50}; • Array 2 Dimensi : int data[2][3] = { {10,20,30}, {40,50,60} }; 30 40 50 10 20 30 40 50 60
Inisialisasi Array 2 Dimensi • int data[2][3] = { {10,20,30}, {40,50,60} }; Baris ke 0 Baris ke 1 1 2 0 10 20 30 0 40 50 60 1
Inisialisasi Array 2 Dimensi • Jumlahbarisdankolombisatidakdicantumkanasalkan array langsungdiinisialisasikan int data[][] = { {10,20,30}, {40,50,60} }; Array berukuran 2x3, bertipe integer
Inisialisasi Array 2 Dimensi • Bagaimanadeklarasidaninisialisasi array-array berikut ? 1. 2. 3. 30 40 50 30 40 50 Z X c V B N 10 20 A S D F G H 40 50 q W e R t Y 10 20
Inisialisasi Array 2 Dimensi • Bisasajatidakseluruhelemendiinisialisasi • Contoh : int data[2][3] = { {3,2,3}, {3,4} } Kurang 1 elemen
Inisialisasi Array 2 Dimensi • Jikaadabeberapaelemen yang tidakdiinisialisasi, makaisinyaakanmenjadiNULLataukarakter0. int data[2][3] = { {3,2,3}, {3,4} } 3 2 3 3 4 NuLL
Inisialisasi Array 2 Dimensi • Benaratausalahinisialisasiberikut : • int data[2][3] = { {10, 20, 30}}; • int data[2][3] = { {10, 20, 30}, { } }; • int data[2][3] = { {10, 20. 30}, {10} }; • float data[2][3]={{10.20,30},{10,20}};
Inisialisasi Array 2 Dimensi • Khususuntuk array 2 dimensibertipe char, inisialisasidapatdilakukandengancara-caraberikut : char nama[2][6] = {{‘m’, ’a’, ’r’, ’k’}, {‘k’, ’e’, ’v’, ’I’, ’n’}}; char nama[2][6] = {“mark”, “kevin”};
Pengaksesan Array 2 Dimensi • Elemendalam array 2 dimensidiaksesdenganpenandabarisdankolom • Contoh : diaksesdengan : data[0][1]; 1 2 0 10 20 30 0 40 50 60 1
Pengaksesan Array 2 Dimensi • Urutanpengaksesantidakharusbaris-per-baris, tapibisakolom-per-kolomsesuaikebutuhan • Baris-per-baris : Kolom-per-kolom 10 20 30 10 20 30 40 50 60 40 50 60
Pengaksesan Array 2 Dimensi #include <iostream.h> #include <conio.h> void main () { int data[2][3]={ {6,3,4}, {1,7,8} }; for(int b=0;b<2;b++){ for(int k=0; k<3;k++) { cout<<" "<<data[b][k];} cout<<"\n\n";} getch(); }
OperasiPada Array 2 Dimensi • Array 2 dimensiseringdisebutmatriks • Karenaitu, operasipada array 2 dimensipadaumumnyaadalahoperasimatriks, sepertimenjumlahkan, mengurangkan, danmengkalikanduamatriks, inverse matriks, transpose matriksdansebagainya
OperasiPada Array 2 Dimensi • Untukmenyalinisimatrikskematrikslainnyaharusmenyalinsetiapelemen (barisdankolom) int data[2][3] = {{1,2,3}, {2,2,2}}; intsalinan[2][3]; salinan = data; Prosesinisalah !!
OperasiPada Array 2 Dimensi … int data[2][3] = {{1,2,3}, {2,2,2}}; intsalinan[2][3]; for(int b=0; b<2; b++) { for(intk=0; k<3; k++) { salinan[b][k] = data[b][k]; Prosesinibenar!! } } …
Contoh input dancetak #include <iostream.h> #include <conio.h> void main () { intmatriks[3][3]; cout<<"masukkannilaimatriks!!:\n"; for(int b=0; b<3; b++) { for(int k=0; k<3; k++) { cout<<"Elemenke ["<< b+1 <<","<<k+1 <<"] = "; cin>>matriks[b][k]; } } cout<<"\n\ncetakhasil:\n"; for(int b=0; b<3; b++) { for(int k=0; k<3; k++) { cout<<matriks[b][k]<<" "; } cout<<"\n\n"; } getch(); }
OperasiMatriks : Transpose • Operasiinimembalikposisielemen-elemendalammatriks, barismenjadikolomdansebaliknya, kolommenjadibaris 1 2 3 1 4 7 4 5 6 2 5 8 7 8 9 3 6 9
OperasiMatriks : Transpose #include <iostream.h> #include <conio.h> void main (){ intmatriks[3][3] = {{1,2,3},{4,5,6},{7,8,9}}; inttranspose[3][3]; cout<<"\nmatriks:\n"; for(int b=0; b<3; b++) { for(intk=0; k<3; k++) { cout<<" "<<matriks[b][k]; } cout<<"\n\n";} for(intb=0; b<3; b++) { for(intk=0; k<3; k++) { transpose[k][b] = matriks[b][k]; }} cout<<"\ntansposedarimatriks:\n"; for(int b=0; b<3; b++) { for(int k=0; k<3; k++) { cout<<" "<<transpose[b][k]; } cout<<"\n\n"; } getch(); }
OperasiMatriks : Tambah • Untukdapatmenjumlahkanataumengurangkanduamatriks, syaratnyaadalah : • Dimensikedua array sama (ukuranbarisdankolomnyasama) 1 2 3 1 4 7 2 6 10 4 5 6 2 5 8 6 10 14 + = 7 8 9 3 6 9 10 14 18
OperasiMatriks : Tambah #include <iostream.h> #include <conio.h> void main(){ int matriks1[3][3] = {{12,12,23}, {24,15,16}, {17,18,29}}; int matriks2[3][3] = {{19,11,29}, {17,25,17}, {16,15,19}}; inthasil[3][3]; for(int b=0;b<3;b++){ for(int k=0;k<3;k++){ hasil[b][k]=matriks1[b][k]+matriks2[b][k] ; } } for(int b=0;b<3;b++){ for(int k=0;k<3;k++){ cout<<" "<<hasil[b][k]; } cout<<"\n\n"; } getch(); }