Array Dimensi 2 & Array Dimensi 3 Struktur Data Array Dimensi 2 & Array Dimensi 3
Komputerisasi Akuntansi 11.2A.05 Dhita Puspita Larasati 11140107 Dimas Kurnia Ayatullah 11140800 Galih Purwanti 11140844 Rahma Aprilia Handayani 11141704 Sindy Wulandari 11141791
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 Mepunyai batasan dari pemesanan alokasi memori (bersifat statis) Mempunyai tipe data sama (bersifat homogen) Dapat diakses secara acak.
DEKLARASI ARRAY Contoh : Ada tiga hal yang harus di ketahui dalam mendeklarasikan array, yaitu : Contoh : Type data array Nama variable array Subkrip / index array. Int A[5] artinya variabel A adalah kumpulan data sebanyak 5 bilangan bertipe integer.
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 Decimal adalah bilangan berbasis sepuluh yang terdiri dari 0, 1, 2, 3, 4, 5, 6, 7, 8, dan 9 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) = .......(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. Jadi 254 (10) = FE (16) diurutkan dari sisa pembagian terakhir. 254 : 16 = 15 sisa 14 atau E (lihat tabel di atas) 15 : 16 = sisa 15 atau F (lihat tabel di atas)
ARRAY DIMENSI DUA (Two Dimensional Array) Sering digunakan dalam menterjemahkan matriks pada pemrograman. Penggambaran secara Logika : 1 1 2 Deklarasi : Type_Data Nama_Variabel [Index1][index2]; Misal : int A[3][2];
ARRAY DIMENSI DUA Menentukan jumlah elemen dalam array dimensi dua : Contoh : Suatu Array X dideklarasikan sbb : int X[4][3] maka jumlah elemen Array dimensi dua tersebut adalah : ❹×❸=⓬ n (Elemen array) i = 1 Perkalian dari elemen sebelumnya (untuk array dimensi dua & tiga)
PEMETAAN (MAPPING) ARRAY DIMENSI DUA KE STORAGE @M[i][j] = M[0][0] + {(j – 1) * K + (i – 1)} * L Terbagi dua cara pandang (representasi) yang berbeda: Secara kolom per kolom (coloumn major order / CMO) Secara baris per baris (row major order / RMO) 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 @M[i][j] = M[0][0] + {(i - 1) * N + (j - 1)} * L
Contoh Pemetaan Suatu Array X dideklarasikan sebagai berikut : Tentukan berapa alamat array X[4][5] berdasarkan cara pandang baris dan kolom. Jika ? A. Baris 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) @M[i][j] = M[0][0] + {(j – 1) * K + (i – 1)} * L Dik : float X [4][5] M[0][0] = 0011(H) Dit : X[4][3] ? Jawaban
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 @M[i][j] = M[0][0] + {(i - 1) * N + (j - 1)} * L 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) Dik : float X [4][5] M[0][0] = 0011(H) Dit : X[4][3] ? Jawaban
Array Dimensi Tiga (Thee Dimensional Array) Digunakan untuk mengelola data dalam bentuk 3 dimensi atau tiga sisi. Deklarasi : Type_Data Nama_Variabel [index1] [ndex2] [index3]; Misal : int A [3][4][2]; Penggambaran Secara Logika
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) *(jum.elemen2 * jum.elemen3)) + ((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 (5x2) +((2-1) x (2) + ((2-1))} x 2 = 0011(H) + {( 10 + 2 + 1)} x 2 = 0011(H) + 26(D) 1A = 002B(H)
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
Rumus : Contoh Segitiga Array Diketahui : Suatu array segitiga atas memiliki 4 baris dan kolom.tentukan berapakah jumlah elemen yang bukan nol pada array tsb: I = N(N+1) / 2 I = 4(4+1) / 2 = 20 / 2 = 10 Rumus :
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 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.