Struktur Data Array Dimensi 2 Array Dimensi 3

  • Slides: 23
Download presentation

Struktur Data Array Dimensi 2 & Array Dimensi 3

Struktur Data Array Dimensi 2 & Array Dimensi 3

Komputerisasi Akuntansi 11. 2 A. 05 Dhita Puspita Larasati 11140107 Dimas Kurnia Ayatullah 11140800

Komputerisasi Akuntansi 11. 2 A. 05 Dhita Puspita Larasati 11140107 Dimas Kurnia Ayatullah 11140800 Galih Purwanti 11140844 Rahma Aprilia Handayani 11141704 Sindy Wulandari

PENGERTIAN ARRAY Array atau larik di definisikan sebagai pemesanan alokasi memory berurutan. definisi ini

PENGERTIAN ARRAY Array atau larik di definisikan sebagai pemesanan alokasi memory berurutan. definisi ini kurang tepat, karena terjadi kerancuan antara struktur data dan representasinya. Memang benar array hampir selalu di implementasikan menggunakan memory berurutan tapi tidak selalu demikian. Semua elemem array bertipe sama. Array cocok untuk organisasi kumpulan data homogen yang ukuran atau jumlah elemen maksimumnya telah diketahui dari awal. Homogen adalah bahwa setiap elemen dari sebuah array tertentu haruslah mempunyai tipe data yang sama.

KARAKTERISTIK ARRAY q Mepunyai batasan dari pemesanan alokasi memori (bersifat statis) q Mempunyai tipe

KARAKTERISTIK ARRAY q Mepunyai batasan dari pemesanan alokasi memori (bersifat statis) q Mempunyai tipe data sama (bersifat homogen) q Dapat diakses secara acak.

DEKLARASI ARRAY Ada tiga hal yang harus di ketahui dalam mendeklarasikan array, yaitu :

DEKLARASI ARRAY Ada tiga hal yang harus di ketahui dalam mendeklarasikan array, yaitu : Contoh : a. Type data array b. Nama variable array c. Subkrip / index array. Int A[5] artinya variabel A adalah kumpulan data sebanyak 5 bilangan bertipe integer.

Jenis Array 1. 2. 3. Jenis Array (yang akan dipelajari) adalah : Array Dimensi

Jenis Array 1. 2. 3. Jenis Array (yang akan dipelajari) adalah : Array Dimensi Satu (One Dimensional Array) Array Dimensi Dua (Two Dimensional Array) Array Dimensi Tiga (Thee Dimensional Array)

KONVERSI BILANGAN a) Decimal adalah bilangan berbasis sepuluh yang terdiri dari 0, 1, 2,

KONVERSI BILANGAN a) Decimal adalah bilangan berbasis sepuluh yang terdiri dari 0, 1, 2, 3, 4, 5, 6, 7, 8, dan 9 b) Hexadecimal adalah bilangan berbasis enam belas yang terdiri dari 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, dan F Tabel di bawah adalah contoh konversi bilangan Decimal, dan Hexadecimal

KONVERSI ANTAR BILANGAN Contoh Konversi Bilangan Decimal ke Hexadecimal Contoh 254 (10) =. .

KONVERSI ANTAR BILANGAN Contoh Konversi Bilangan Decimal ke Hexadecimal Contoh 254 (10) =. . . . (16) Caranya dengan membagi bilangan tersebut dengan enam belas sampai bilangan tersebut tidak bisa lagi dibagi enam belas (kurang dari enam belas) dengan mencatat setiap sisa pembagian. 254 : 16 = 15 sisa 14 atau E (lihat tabel di atas) 15 : 16 = sisa 15 atau F (lihat tabel di atas) Jadi 254 (10) = FE (16) diurutkan dari sisa pembagian terakhir.

ARRAY DIMENSI DUA (Two Dimensional Array) Array Dimensi Dua Sering digunakan dalam menterjemahkan matriks

ARRAY DIMENSI DUA (Two Dimensional Array) Array Dimensi Dua Sering digunakan dalam menterjemahkan matriks pada pemrograman. Penggambaran secara Logika : 0 1 2 Deklarasi : Type_Data Nama_Variabel [Index 1][index 2]; Misal : int A[3][2];

ARRAY DIMENSI DUA Menentukan jumlah elemen dalam array dimensi dua : n (Elemen array)

ARRAY DIMENSI DUA Menentukan jumlah elemen dalam array dimensi dua : n (Elemen array) i=1 Contoh : Suatu Array X dideklarasikan sbb : int X[4][3] maka jumlah elemen Array dimensi dua tersebut adalah : ❹×❸=⓬ Perkalian dari elemen sebelumnya (untuk array dimensi dua & tiga)

PEMETAAN (MAPPING) ARRAY DIMENSI DUA KE STORAGE Terbagi dua cara pandang (representasi) yang berbeda:

PEMETAAN (MAPPING) ARRAY DIMENSI DUA KE STORAGE Terbagi dua cara pandang (representasi) yang berbeda: 1. Secara kolom per kolom (coloumn major order / CMO) @M[i][j] = M[0][0] + {(j – 1) * K + (i – 1)} * L 2. Secara baris per baris (row major order / RMO) @M[i][j] = M[0][0] + {(i - 1) * N + (j - 1)} * L Keterangan : @M[i][j] = Posisi Array yg dicari, M[0][0] = Posisi alamat awal index array, i = Baris, j = kolom, L =Ukuran memory type data, K = Banyaknya elemen per kolom, N = Banyaknya elemen per baris

Contoh Pemetaan Suatu Array X dideklarasikan sebagai berikut : Tentukan berapa alamat array X[4][5]

Contoh Pemetaan Suatu Array X dideklarasikan sebagai berikut : Tentukan berapa alamat array X[4][5] berdasarkan cara pandang baris dan kolom. Jika ? A. Baris Dik : float X [4][5] M[0][0] = 0011(H) Dit : X[4][3] ? @M[i][j] = M[0][0] + {(j – 1) * K + (i – 1)} * L Jawaban X = [4][3] = 0011(H) = {(4 -1) x 4 + (3 -1)} x 4 = 0011(H) + {(3) x 4 + (2)} x 4 = 0011(H) + 56 (D) → 38(H) = 0011(H) + 38(H) = 0049(H)

Lanjutan Contoh Pemetaan Suatu Array X dideklarasikan sebagai berikut : Tentukan berapa alamat array

Lanjutan Contoh Pemetaan Suatu Array X dideklarasikan sebagai berikut : Tentukan berapa alamat array X[4][5] berdasarkan cara pandang baris dan kolom. Jika ? A. Baris Dik : float X [4][5] M[0][0] = 0011(H) Dit : X[4][3] ? @M[i][j] = M[0][0] + {(i - 1) * N + (j - 1)} * L Jawaban X = [4][3] = 0011(H) = {(3 -1) x 3 + (4 -1)} x 4 = 0011(H) + {(2) x 3 + (3)} x 4 = 0011(H) + 36 (D) → 24(H) = 0011(H) + 24(H) = 0035(H)

Array Dimensi Tiga (Thee Dimensional Array) Digunakan untuk mengelola data dalam bentuk 3 dimensi

Array Dimensi Tiga (Thee Dimensional Array) Digunakan untuk mengelola data dalam bentuk 3 dimensi atau tiga sisi. Deklarasi : Type_Data Nama_Variabel [index 1] [ndex 2] [index 3]; Misal : int A [3][4][2]; Penggambaran Secara Logika

Array Dimensi Tiga (Thee Dimensional Array) Menentukan jumlah elemen dalam array dimensi tiga :

Array Dimensi Tiga (Thee Dimensional Array) Menentukan jumlah elemen dalam array dimensi tiga : n (Elemen array) i=1 Contoh : Suatu Array X dideklarasikan sbb : int X[3][4][2] maka jumlah elemen Array dimensi dua tersebut adalah : 3 x 4 x 2 = 24 Perkalian dari elemen sebelumnya (untuk array dimensi dua & tiga)

PEMETAAN (MAPPING) ARRAY DIMENSI TIGA KE STORAGE Rumus : @M[m][n][p] = M[0][0][0] + {((m-1)

PEMETAAN (MAPPING) ARRAY DIMENSI TIGA KE STORAGE Rumus : @M[m][n][p] = M[0][0][0] + {((m-1) *(jum. elemen 2 * jum. elemen 3)) + ((n-1)*(jum. elemen 3)) + ((p-1)}* L Contoh : Dik : int A[2][5][2] M[0][0][0] = 0011(H) Dit : A[2][2][2] ? A[2][2][2] = 0011(H) + {((2 -1) x (5 x 2) +((2 -1) x (2) + ((2 -1))} x 2 = 0011(H) + {( 10 + 2 + 1)} x 2 = 0011(H) + 26(D) 1 A = 002 B(H)

TRINGULAR ARRAY (ARRAY SEGITIGA) Triangular array dapat merupakan Upper Triangular (seluruh elemen di bawah

TRINGULAR ARRAY (ARRAY SEGITIGA) Triangular array dapat merupakan Upper Triangular (seluruh elemen di bawah diagonal utama = 0), ataupun Lower Triangular (seluruh elemen di atas diagonal utama = 0). Dalam array Lower Triangular dengan N baris, jumlah maksimum elemen <> 0, tidak lebih dari.

Contoh Tringular Array (a) Upper Triangular Array (b) Lower Triangular Array

Contoh Tringular Array (a) Upper Triangular Array (b) Lower Triangular Array

Contoh Segitiga Array Diketahui : Suatu array segitiga atas memiliki 4 baris dan kolom.

Contoh Segitiga Array Diketahui : Suatu array segitiga atas memiliki 4 baris dan kolom. tentukan berapakah jumlah elemen yang bukan nol pada array tsb: Rumus : I = N(N+1) / 2 I = 4(4+1) / 2 = 20 / 2 = 10

SPARSE ARRAY (ARRAY JARANG) Suatu Array yang sangat banyak elemen nol-nya, contohnya adalah Array

SPARSE ARRAY (ARRAY JARANG) Suatu Array yang sangat banyak elemen nol-nya, contohnya adalah Array A pada Gambar berikut :

KESIMPULAN Array merupakan bagian dari struktur data yaitu termasuk kedalam struktur data sederhana yang

KESIMPULAN Array merupakan bagian dari struktur data yaitu termasuk kedalam struktur data sederhana yang dapat di definisikan sebagai pemesanan alokasi memory sementara pada komputer. Apabila kita membuat program dengan data yang sudah kita ketahui batasnya maka kita menggunakan Array (type data statis), namun apabila datanya belum kita ketahui batasnya maka gunakan pointer (type data dinamis). Array juga memiliki berbagai jenis, dan array itu pun memiliki kelemahan dan keuntungan.