1 Array dan Tipe Data Bentukan Overview Dalam dunia nyata, struktur data yang dihadapi sangat beragam dan penggunaan variabel dengan tipe data dasar memiliki keterbatasan pada banyaknya nilai yang dapat disimpan. Dengan menggunakan array dan tipe data bentukan, dapat dilakukan pemodelan struktur data dengan lebih baik bahkan untuk struktur data yang relatif kompleks. Tujuan 1. Memahami tipe data array dan keuntungan yang dapat diberikan 2. Memahami array yang memiliki dimensi lebih dari satu 3. Dapat meng-implementasikan tipe data array dalam program 4. Memahami cara menentukan tipe data bentukan dan menggunakannya dalam program 1.1 Array (Larik) Tipe data array adalah tipe data terstruktur yang merujuk kepada sebuah atau sekumpulan elemen yang mempunyai tipe data yang sama melalui indeks. Array biasanya disebut juga sebagai tabel, vektor atau larik. Elemen dari array dapat diakses langsung jika dan hanya jika indeks terdefinisi (telah ditentukan nilainya sesuai dengan domain yang didefinisikan untuk indeks tersebut). Struktur data array disimpan dengan urutan yang sesuai dengan definisi indeks secara kontigu (berurutan) dalam memori komputer. Karena itu indeks haruslah merupakan suatu tipe data yang memiliki keterurutan (ada suksesor dan predesesor), misal tipe integer dan karakter. Dilihat dari dimensinya, array dapat dibagi menjadi Array Satu Dimensi, Array Dua Dimensi dan Array Multi-Dimensi 1.1.1 Array Satu Dimensi Representasi array satu dimensi My_array = 2 4 6 ... 98 100 0 1 2 ... 49 50 indeks Untuk mendeklarasikan variabel dengan tipe data array satu dimensi pada notasi algoritma, digunakan pola sebagai berikut: ... KAMUS DATA Nama_variabel : array [x..y] of tipe_data ... Keterangan: Nilai x merupakan nilai awal indeks pada array, dan nilai y merupakan nilai akhir pada indeks array. Contoh : Algoritma ... Kamus data arrHari : array [1..7] of string arrJmlBulan : array [1..12] of integer arrFrekuensi : array [‘a’..’z’] of integer ... Mengakses data array satu dimensi: Array satu dimensi diakses melalui indeksnya. Misal akan disiapkan array satu dimensi A bertipe integer dengan 5 elemen yang diberi nomor indeks dari 0 sampai 4, yang dapat diilustrasikan dengan gambar berikut: 0 1 A[0] 2 3 4 A[4] A[1] Karena array tersebut mempunyai nama yang sama, yaitu A, maka setiap elemen diberi sebutan nama yang berbeda dengan memberikan nomor indeks, sehingga masingmasing menjadi: A[0], A[1], sampai dengan A[4], yang dapat dibaca dengan: A dengan indeks 0 atau A nol A dengan indeks 1 atau A satu dan seterusnya… Untuk menyimpan nilai dalam array satu dimensi, dapat dilakukan dengan cara sebagai berikut: A[0] 4 /*simpan nilai 4 dalam array A pada indeks 0 */ A[1] 8 /*simpan nilai 8 dalam array A pada indeks 1*/ A[2] 6 /*simpan nilai 6 dalam array A pada indeks 2*/ A[3] A[0] +A[1] /*tambahkan nilai dalam array A indeks 0 dengan nilai array A indeks 1 dan simpan hasilnya pada array A indeks 3*/ A[4] A[2] /*isikan array A indeks 4 dengan nilai pada array A indeks 2*/ Sehingga gambaran array A menjadi seperti berikut ini: 0 4 1 8 2 6 A[0] A[1] A[2] 3 12 A[3] 4 6 A[4] Program 1. Program 2. 1.1.2 Array Dua Dimensi Array dua dimensi merupakan array yang terdiri dari m buah baris (row) dan n buah kolom (column). Bentuk array semacam ini menggunakan 2 (dua) buah kelompok indeks yang masing-masing direpresentasikan sebagai indeks baris dan kolom. Jika ingin memasukkan atau membaca sebuah nilai pada matriks maka, harus diketahui terlebih dahulu indeks baris dan kolomnya. Untuk mendeklarasikan variabel dengan tipe data array dua dimensi pada notasi algoritma, digunakan pola sebagai berikut: ... KAMUS DATA Nama_variabel : array [x..y,t..u] of tipe_data ... Keterangan: Nilai x merupakan nilai awal indeks baris pada array, dan nilai y merupakan nilai akhir indeks baris array. Nilai t merupakan nilai awal indeks kolom pada array, dan nilai u merupakan nilai akhir indeks kolom array. Representasi array dua dimensi: A[0,0] 0 1 Ada 5 kolom (0-4) 2 3 4 0 1 2 A Ada 3 baris (0-2) A[1,2] A[2,4] Gambar di atas merepresentasikan array yang terdiri dari 3 baris dan 5 kolom, dan jumlah elemennya = 3 x 5 = 15 elemen. Karena terdiri dari baris (row) dan kolom (column), maka array dua dimensi sering juga disebut matrix. Mengakses data array dua dimensi: Seperti array satu dimensi, array dua dimensi juga diakses melalui indeksnya. Contoh: A[1,2], menunjuk pada posisi nilai array pada baris 1, kolom 2. Untuk menyimpan nilai dalam array dua dimensi, dapat dilakukan dengan cara sebagai berikut: A[0,0] 2 /*simpan 2 pada array A baris 0,kolom 0*/ A[0,1] 4 /*simpan 3 pada array A baris 0,kolom 1*/ A[1,2] 8 /*simpan 5 pada array A baris 1,kolom 2*/ A[2,2] A[0,0] + A[1,2] /*tambahkan nilai pada array A baris 0,kolom 0 dengan nilai pada array A baris 1,kolom 2 dan simpan hasilnya pada array A baris 2,kolom 2 */ Sehingga gambaran array A menjadi seperti berikut ini: A[0,0] A 0 1 2 Ada 3 baris (0-2) Program 3 Program 4 0 2 1 4 Ada 5 kolom (0-4) 2 3 4 8 10 A[1,2] A[2,4]