ARRAY 2 Dimensi ARRAY 2 Dimensi Jika array

  • Slides: 29
Download presentation
ARRAY 2 Dimensi

ARRAY 2 Dimensi

ARRAY 2 Dimensi • Jika array satu dimensi hanya terdiri dari sebuah baris, maka

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 : 1 11 32 17 25

ARRAY 2 Dimensi • Pada Array 1 Dimensi : 1 11 32 17 25 12 66 • Terdiri dari 1 baris, berisi beberapa data, semuanya memiliki tipe data yang sama

ARRAY 2 Dimensi • Pada Array 2 Dimensi : 12 17 22 14 10

ARRAY 2 Dimensi • Pada Array 2 Dimensi : 12 17 22 14 10 5 13 5 • Terdiri lebih dari 1 baris, berisi beberapa data yang semuanya memiliki tipe data yang sama

ARRAY 2 Dimensi • Terdiri dari baris dan kolom 0 1 2 3 0

ARRAY 2 Dimensi • Terdiri dari baris dan kolom 0 1 2 3 0 12 17 22 14 1 10 5 13 5 Kolom, 4 Dimensi Array dinyatakan dalam Baris x Kolom Array 2 x 4 Baris, 2

Deklarasi Array 2 Dimensi Tipe-data nama-array[jumlah baris][jumlah kolom] tipe-data : tipe data dari elemen

Deklarasi Array 2 Dimensi Tipe-data nama-array[jumlah baris][jumlah kolom] tipe-data : tipe data dari elemen array nama-array : nama dari variabel array jumlah baris : jumlah baris elemen array jumlah kolom : jumlah kolom elemen array

Deklarasi Array 2 Dimensi • Contoh : int arrayku[2][3]; Mendeklarasikan array berukuran 2 x

Deklarasi Array 2 Dimensi • Contoh : int arrayku[2][3]; Mendeklarasikan array berukuran 2 x 3, bertipe integer 1 2 0 0 1

Deklarasi Array 2 Dimensi • Contoh : char peserta[10][50]; Mendeklarasikan array berukuran 10 x

Deklarasi Array 2 Dimensi • Contoh : char peserta[10][50]; Mendeklarasikan array berukuran 10 x 50 bertipe char

Deklarasi Array 2 Dimensi • Contoh : int data[1][4]; bagaimanakah array yang terbentuk ?

Deklarasi Array 2 Dimensi • Contoh : int data[1][4]; bagaimanakah array yang terbentuk ? 0 1 2 3 0 Sama saja dengan int data[4];

Inisialisasi Array 2 Dimensi • Inisialisasi bisa dilakukan saat variabel dideklarasikan • Untuk Array

Inisialisasi Array 2 Dimensi • Inisialisasi bisa dilakukan saat variabel dideklarasikan • Untuk Array 1 Dimensi, pemberian nilai dengan tanda ‘{ }’ • Dengan Array 2 Dimensi sama saja, hanya ada tambahan tanda ‘{ }’ untuk masing-masing barisnya

Inisialisasi Array 2 Dimensi • Array 1 Dimensi : int data[3] = {30, 40,

Inisialisasi Array 2 Dimensi • Array 1 Dimensi : int data[3] = {30, 40, 50}; 30 40 50 • Array 2 Dimensi : int data[2][3] = { {10, 20, 30}, {40, 50, 60} }; 10 20 30 40 50 60

Inisialisasi Array 2 Dimensi • int data[2][3] = { {10, 20, 30}, {40, 50,

Inisialisasi Array 2 Dimensi • int data[2][3] = { {10, 20, 30}, {40, 50, 60} }; 0 1 2 0 10 20 30 1 40 50 60 Baris ke 1

Inisialisasi Array 2 Dimensi • Jumlah baris dan kolom bisa tidak dicantumkan asalkan array

Inisialisasi Array 2 Dimensi • Jumlah baris dan kolom bisa tidak dicantumkan asalkan array langsung diinisialisasikan int data[][] = { {10, 20, 30}, {40, 50, 60} }; Array berukuran 2 x 3, bertipe integer

Inisialisasi Array 2 Dimensi • Bagaimana deklarasi dan inisialisasi array berikut ? 1. 30

Inisialisasi Array 2 Dimensi • Bagaimana deklarasi dan inisialisasi array berikut ? 1. 30 40 50 2. 10 20 3. Z X c V B N 40 50 A S D F G H 10 20 q W e R t Y

Inisialisasi Array 2 Dimensi • Bisa saja tidak seluruh elemen diinisialisasi • Contoh :

Inisialisasi Array 2 Dimensi • Bisa saja tidak seluruh elemen diinisialisasi • Contoh : int data[2][3] = { {3, 2, 3}, {3, 4} } Kurang 1 elemen

Inisialisasi Array 2 Dimensi • Jika ada beberapa elemen yang tidak diinisialisasi, maka isinya

Inisialisasi Array 2 Dimensi • Jika ada beberapa elemen yang tidak diinisialisasi, maka isinya akan menjadi NULL atau karakter 0. int data[2][3] = { {3, 2, 3}, {3, 4} } 3 2 3 3 4 Nu. LL

Inisialisasi Array 2 Dimensi • Benar atau salah inisialisasi berikut : – int data[2][3]

Inisialisasi Array 2 Dimensi • Benar atau salah inisialisasi berikut : – 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 • Khusus untuk array 2 dimensi bertipe char, inisialisasi dapat

Inisialisasi Array 2 Dimensi • Khusus untuk array 2 dimensi bertipe char, inisialisasi dapat dilakukan dengan cara-cara berikut : char nama[2][6] = {{‘m’, ’a’, ’r’, ’k’}, {‘k’, ’e’, ’v’, ’I’, ’n’}}; char nama[2][6] = {“mark”, “kevin”};

Pengaksesan Array 2 Dimensi • Elemen dalam array 2 dimensi diakses dengan penanda baris

Pengaksesan Array 2 Dimensi • Elemen dalam array 2 dimensi diakses dengan penanda baris dan kolom 1 2 0 • Contoh : 0 10 20 30 1 40 50 60 diakses dengan : data[0][1];

Pengaksesan Array 2 Dimensi • Urutan pengaksesan tidak harus baris-perbaris, tapi bisa kolom-per-kolom sesuai

Pengaksesan Array 2 Dimensi • Urutan pengaksesan tidak harus baris-perbaris, tapi bisa kolom-per-kolom sesuai kebutuhan • Baris-per-baris : Kolom-per-kolom 10 20 30 40 50 60

Pengaksesan Array 2 Dimensi #include <iostream. h> #include <conio. h> void main () {

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<<"nn"; } getch(); }

Operasi Pada Array 2 Dimensi • Array 2 dimensi sering disebut matriks • Karena

Operasi Pada Array 2 Dimensi • Array 2 dimensi sering disebut matriks • Karena itu, operasi pada array 2 dimensi pada umumnya adalah operasi matriks, seperti menjumlahkan, mengurangkan, dan mengkalikan dua matriks, inverse matriks, transpose matriks dan sebagainya

Operasi Pada Array 2 Dimensi • Untuk menyalin isi matriks ke matriks lainnya harus

Operasi Pada Array 2 Dimensi • Untuk menyalin isi matriks ke matriks lainnya harus menyalin setiap elemen (baris dan kolom) int data[2][3] = {{1, 2, 3}, {2, 2, 2}}; int salinan[2][3]; salinan = data; Proses ini salah !!

Operasi Pada Array 2 Dimensi … int data[2][3] = {{1, 2, 3}, {2, 2,

Operasi Pada Array 2 Dimensi … int data[2][3] = {{1, 2, 3}, {2, 2, 2}}; int salinan[2][3]; for(int b=0; b<2; b++) { for(int k=0; k<3; k++) { salinan[b][k] = data[b][k]; } } … Proses ini benar !!

Contoh input dan cetak #include <iostream. h> #include <conio. h> void main () {

Contoh input dan cetak #include <iostream. h> #include <conio. h> void main () { int matriks[3][3]; cout<<"masukkan nilai matriks!!: n"; for(int b=0; b<3; b++) { for(int k=0; k<3; k++) { cout<<"Elemen ke ["<< b+1 <<", "<<k+1 <<"] = "; cin>>matriks[b][k]; } } cout<<"nncetak hasil: n"; for(int b=0; b<3; b++) { for(int k=0; k<3; k++) { cout<<matriks[b][k]<<" "; } cout<<"nn"; } getch(); }

Operasi Matriks : Transpose • Operasi ini membalik posisi elemen-elemen dalam matriks, baris menjadi

Operasi Matriks : Transpose • Operasi ini membalik posisi elemen-elemen dalam matriks, baris menjadi kolom dan sebaliknya, kolom menjadi baris 1 2 3 1 4 7 4 5 6 2 5 8 7 8 9 3 6 9

Operasi Matriks : Transpose #include <iostream. h> #include <conio. h> void main (){ int

Operasi Matriks : Transpose #include <iostream. h> #include <conio. h> void main (){ int matriks[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; int transpose[3][3]; cout<<"nmatriks: n"; for(int b=0; b<3; b++) { for(int k=0; k<3; k++) { cout<<" "<<matriks[b][k]; } cout<<"nn"; } for(int b=0; b<3; b++) { for(int k=0; k<3; k++) { transpose[k][b] = matriks[b][k]; }} cout<<"ntanspose dari matriks: n"; for(int b=0; b<3; b++) { for(int k=0; k<3; k++) { cout<<" "<<transpose[b][k]; } cout<<"nn"; } getch(); }

Operasi Matriks : Tambah • Untuk dapat menjumlahkan atau mengurangkan dua matriks, syaratnya adalah

Operasi Matriks : Tambah • Untuk dapat menjumlahkan atau mengurangkan dua matriks, syaratnya adalah : – Dimensi kedua array sama (ukuran baris dan kolomnya sama) 1 2 3 4 5 6 7 8 9 + 1 4 7 2 5 8 3 6 9 = 2 6 10 14 18

Operasi Matriks : Tambah #include <iostream. h> #include <conio. h> void main(){ int matriks

Operasi Matriks : Tambah #include <iostream. h> #include <conio. h> void main(){ int matriks 1[3][3] = {{12, 23}, {24, 15, 16}, {17, 18, 29}}; int matriks 2[3][3] = {{19, 11, 29}, {17, 25, 17}, {16, 15, 19}}; int hasil[3][3]; for(int b=0; b<3; b++){ for(int k=0; k<3; k++){ hasil[b][k]=matriks 1[b][k]+matriks 2[b][k] ; }} for(int b=0; b<3; b++){ for(int k=0; k<3; k++){ cout<<" "<<hasil[b][k]; } cout<<"nn"; } getch(); }