Array 2 Dimensi

34
Array 2 Dimensi Algoritma dan Pemrograman

description

Array 2 Dimensi. Algoritma dan Pemrograman. Materi. Pengantar Array 2 Dimensi Deklarasi Array 2 Dimensi Inisialisasi Array 2 Dimensi Pengaksesan Array 2 Dimensi Operasi Pada Array 2 Dimensi Tugas. Array 2 Dimensi. Pada Array 1 Dimensi : - PowerPoint PPT Presentation

Transcript of Array 2 Dimensi

Page 1: Array 2 Dimensi

Array 2 Dimensi

Algoritma dan Pemrograman

Page 2: Array 2 Dimensi

Materi

• Pengantar Array 2 Dimensi• Deklarasi Array 2 Dimensi• Inisialisasi Array 2 Dimensi• Pengaksesan Array 2 Dimensi• Operasi Pada Array 2 Dimensi• Tugas

Page 3: Array 2 Dimensi

Array 2 Dimensi

• Pada Array 1 Dimensi :

• Terdiri dari 1 baris, berisi beberapa data, semuanya memiliki tipe data yang sama

1 11 32 17 25 12 66

Page 4: Array 2 Dimensi

Array 2 Dimensi

• Pada Array 2 Dimensi :

• Terdiri lebih dari 1 baris dan 1 kolom, berisi beberapa data yang semuanya memiliki tipe data yang sama

12 17 22 14

10 5 13 5

Page 5: Array 2 Dimensi

Array 2 Dimensi

• Terdiri dari baris dan kolom

12 17 22 14

10 5 13 5

210 3

0

1

Kolom, 4

Baris, 2

Dimensi Array dinyatakan dalam Baris x Kolom

Array 2 x 4

Page 6: Array 2 Dimensi

Array 2 Dimensi

12 17

10 5

1 11 32

12 17

10 5

17 11

12

10

17

Page 7: Array 2 Dimensi

Deklarasi Array 2 Dimensi

Tipe-data nama-array[jumlah baris][jumlah kolom]

tipe-data : tipe data dari elemen arraynama-array : nama dari variabel arrayjumlah baris : jumlah baris elemen arrayjumlah kolom : jumlah kolom elemen array

Page 8: Array 2 Dimensi

Deklarasi Array 2 Dimensi

• Contoh : int arrayku[2][3]; Mendeklarasikan array berukuran 2x3, bertipe integer 210

0

1

Page 9: Array 2 Dimensi

Deklarasi Array 2 Dimensi

• Contoh : char peserta[10][50]; Mendeklarasikan array berukuran 10x50 bertipe char

Page 10: Array 2 Dimensi

Deklarasi Array 2 Dimensi

• Contoh : int data[1][4]; bagaimanakah array yang terbentuk ?

Sama saja dengan int data[4];

210 3

0

Page 11: Array 2 Dimensi

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

Page 12: Array 2 Dimensi

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

Page 13: Array 2 Dimensi

Inisialisasi Array 2 Dimensi

int data[2][3] = { {10,20,30}, {40,50,60} };

Baris ke 0 Baris ke 1

10 20 30

40 50 60

210

0

1

Page 14: Array 2 Dimensi

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 2x3, bertipe integer

Page 15: Array 2 Dimensi

Inisialisasi Array 2 Dimensi

• Bagaimana deklarasi dan inisialisasi array-array berikut ?

30 40 50 30 40 50

10 20

40 50

10 20

Z X c V B N

A S D F G H

q W e R t Y

Page 16: Array 2 Dimensi

Inisialisasi Array 2 Dimensi

• Bisa saja tidak seluruh elemen diinisialisasi• Contoh :

int data[2][3] = { {3,2,3}, {3,4} }

Kurang 1 elemen

Page 17: Array 2 Dimensi

Inisialisasi Array 2 Dimensi

• Jika ada beberapa elemen yang tidak diinisialisasi, maka isinya akan menjadi NULL atau karakter \0int data[2][3] = { {3,2,3}, {3,4} }

3 2 3

3 4 NL

Page 18: Array 2 Dimensi

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} };

Page 19: Array 2 Dimensi

Inisialisasi Array 2 Dimensi

int data[2][3] = {{10, 20, 30}, {40, 50, 60}};• Untuk mempermudah penulisan dan

pembacaan, inisialisasi dapat dilakukan dengan penulisan berikut :int data[2][3] = {{10, 20, 30},

{40, 50, 60}};

Page 20: Array 2 Dimensi

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”};

Page 21: Array 2 Dimensi

Pengaksesan Array 2 Dimensi

• Elemen dalam array 2 dimensi diakses dengan penanda baris dan kolom

• Contoh :

diakses dengan : data[0][1];

10 20 30

40 50 60

210

0

1

Page 22: Array 2 Dimensi

Pengaksesan Array 2 Dimensi

• Urutan pengaksesan tidak harus baris-per-baris, tapi bisa kolom-per-kolom sesuai kebutuhan

• Baris-per-baris : Kolom-per-kolom

10 20 30

40 50 60

10 20 30

40 50 60

Page 23: Array 2 Dimensi

Pengaksesan Array 2 Dimensi#include <stdio.h>

void main() {int data[2][3] = {{10, 20, 30},

{40, 50, 60}};

for(int b=0; b<2; b++) {for(int k=0; k<3; k++) {

printf("%d ", data[b][k]);}printf("\n");

}}

Baris per baris

Page 24: Array 2 Dimensi

Pengaksesan Array 2 Dimensi#include <stdio.h>

void main() {int data[2][3] = {{10, 20, 30},

{40, 50, 60}};for(int k=0; k<3; k++) {

for(int b=0; b<2; b++) {printf("%d ", data[b][k]);

}printf("\n");

}} Kolom per kolom

Page 25: Array 2 Dimensi

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

Page 26: Array 2 Dimensi

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 !!

Page 27: Array 2 Dimensi

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];

}}…

Page 28: Array 2 Dimensi

Operasi Matriks : Input#include <stdio.h>

void main() {

int matriks[3][3];

for(int b=0; b<3; b++) {

for(int k=0; k<3; k++) {

printf("Elemen ke [%d,%d] ", b+1, k+1);

scanf("%d", &matriks[b][k]);

}

}

}

Page 29: Array 2 Dimensi

Operasi Matriks : Cetak#include <stdio.h>

void main() {int matriks[3][3] = {{1,2,3},

{4,5,6}, {7,8,9}};

for(int b=0; b<3; b++) {for(int k=0; k<3; k++) {

printf("%d ", matriks[b][k]);}printf("\n");

}}

Page 30: Array 2 Dimensi

Operasi Matriks : Transpose

• Operasi ini membalik posisi elemen-elemen dalam matriks, baris menjadi kolom dan sebaliknya, kolom menjadi baris

1 2 3

4 5 6

7 8 9

1 4 7

2 5 8

3 6 9

Page 31: Array 2 Dimensi

Operasi Matriks : Transpose#include <stdio.h>

void main() {int matriks[3][3] = {{1,2,3},

{4,5,6}, {7,8,9}};

int transpose[3][3];for(int b=0; b<3; b++) {

for(int k=0; k<3; k++) {

transpose[k][b] = matriks[b][k];

}}

}

Page 32: Array 2 Dimensi

Operasi Matriks : Tambah & Kurang

• Untuk menjumlahkan atau mengurangkan dua matriks, syaratnya adalah : – Dimensi kedua array sama (ukuran baris dan

kolomnya sama)

Page 33: Array 2 Dimensi

Operasi Matriks : Tambah & Kurang

1 2 3

4 5 6

7 8 9

1 4 7

2 5 8

3 6 9

2 6 10

6 10 14

10 14 18

+ =

Page 34: Array 2 Dimensi

Materi Minggu Depan

String dan Manipulasinya