Dalam pengembangan web, PHP adalah salah satu bahasa pemrograman sisi server yang paling populer, dan pemahaman mendalam tentang struktur data fundamentalnya sangat penting. Salah satu struktur data paling serbaguna dan sering digunakan dalam PHP adalah array [7]. Array memungkinkan pengembang untuk menyimpan dan mengelola banyak nilai dalam satu variabel tunggal, menjadikannya alat yang tak tergantikan untuk menangani koleksi data [3, 10]. PHP menyediakan tiga jenis array utama: indexed arrays, associative arrays, dan multidimensional arrays, masing-masing dengan kegunaan dan karakteristiknya sendiri yang unik [3, 16]. Artikel ini akan mengulas secara komprehensif ketiga jenis array ini, menjelaskan bagaimana mereka didefinisikan, diakses, dan dimanipulasi, serta kapan harus menggunakan masing-masing jenis untuk mengoptimalkan efisiensi kode dan struktur data aplikasi PHP Anda.
Memahami Array dalam PHP: Dasar-dasar dan Kegunaan
Array dalam PHP adalah struktur data khusus yang mampu menyimpan lebih dari satu nilai dalam satu variabel [10, 17]. Ini berbeda dengan variabel biasa yang hanya dapat menyimpan satu nilai pada satu waktu. Keunggulan array terletak pada kemampuannya untuk mengelompokkan data yang saling terkait, seperti daftar nama, nilai suhu, atau detail produk, di bawah satu nama variabel yang mudah dikelola [10]. PHP adalah salah satu dari sedikit bahasa pemrograman yang memungkinkan array menyimpan nilai dari berbagai tipe data secara bersamaan, seperti string, integer, float, boolean, bahkan objek, atau array lainnya dalam satu array yang sama [7, 10]. Fitur ini memberikan fleksibilitas luar biasa dalam penanganan data. Deklarasi array dapat dilakukan dengan dua cara utama: menggunakan fungsi array()
atau menggunakan sintaks bracket []
yang lebih modern dan ringkas, diperkenalkan di PHP 5.4 [7, 10]. Misalnya, $fruits = array("Apple", "Banana", "Cherry");
atau $cars = ["Volvo", "BMW", "Toyota"];
keduanya adalah cara yang valid untuk membuat array [10].
Setiap elemen dalam array memiliki nilai dan kunci (atau indeks) yang unik, yang digunakan untuk mengidentifikasi dan mengakses nilai tersebut [10]. Kunci ini bisa berupa angka (untuk indexed arrays) atau string (untuk associative arrays) [3]. PHP menyediakan berbagai fungsi bawaan untuk memanipulasi array, seperti count()
untuk mendapatkan jumlah elemen, sort()
untuk mengurutkan array secara menaik, rsort()
untuk mengurutkan secara menurun, asort()
untuk mengurutkan associative array berdasarkan nilai, dan ksort()
untuk mengurutkan berdasarkan kunci [10]. Fungsi-fungsi ini sangat penting untuk pengelolaan data yang efisien. Selain itu, array sangat fundamental dalam PHP karena hampir semua data yang dikembalikan dari database, form, atau sumber eksternal lainnya sering kali direpresentasikan sebagai array [17]. Memahami cara kerja array adalah langkah pertama yang krusial bagi setiap pengembang PHP untuk menulis kode yang bersih, terorganisir, dan efisien dalam mengelola koleksi data [17]. Tanpa array, penanganan sejumlah besar data akan menjadi sangat rumit dan tidak praktis, karena setiap item data harus disimpan dalam variabel terpisah, yang sangat tidak efisien [3].
Indexed Arrays: Pengelolaan Data Berbasis Indeks Numerik
Indexed arrays, juga dikenal sebagai numeric arrays, adalah jenis array paling dasar dan umum di PHP [3, 13]. Dalam indexed arrays, setiap elemen data secara otomatis diberi kunci numerik (indeks) yang dimulai dari 0 secara default [3, 13]. Indeks ini berfungsi sebagai alamat unik untuk mengakses setiap nilai dalam array [13]. Misalnya, jika Anda mendeklarasikan $colors = ["Red", "Green", "Blue"];
, maka “Red” akan memiliki indeks 0, “Green” indeks 1, dan “Blue” indeks 2 [13]. Indeks ini secara implisit ditetapkan oleh PHP berdasarkan urutan elemen saat array dibuat [3]. Meskipun indeks dimulai dari 0 secara default, PHP juga memungkinkan Anda untuk secara eksplisit menentukan indeks numerik saat mendeklarasikan array, bahkan melompati indeks tertentu, meskipun ini jarang dilakukan karena dapat menyebabkan array memiliki “lubang” [7].
Mengakses elemen dalam indexed array dilakukan dengan merujuk pada nama variabel array diikuti dengan indeks numerik dalam tanda kurung siku, misalnya $colors[0]
akan mengembalikan “Red” [13]. Menambahkan elemen baru ke indexed array bisa dilakukan dengan menetapkan nilai ke indeks berikutnya yang tersedia tanpa menentukannya secara eksplisit (misalnya $colors[] = "Yellow";
akan menambahkan “Yellow” pada indeks 3) atau dengan menentukan indeks tertentu [13]. Perulangan melalui indexed array umumnya dilakukan menggunakan loop for
karena Anda dapat dengan mudah mengiterasi melalui indeks numerik dari 0 hingga count($array) - 1
[13]. Contoh lain penggunaan indexed array adalah untuk menyimpan daftar item yang urutannya penting, seperti daftar belanjaan atau daftar peserta [3].
Keuntungan utama dari indexed arrays adalah kesederhanaan dan kemudahannya untuk diiterasi secara berurutan [3]. Mereka ideal untuk menyimpan koleksi item di mana urutan adalah faktor penting dan setiap item dapat diidentifikasi secara unik oleh posisinya dalam daftar [3, 19]. Meskipun demikian, ketika array menjadi sangat besar atau ketika Anda perlu mencari elemen berdasarkan deskripsi daripada posisi, indexed arrays mungkin kurang efisien dibandingkan associative arrays [19]. Mereka sangat cocok untuk skenario di mana data yang disimpan memiliki hubungan sekuensial atau di mana akses berdasarkan urutan numerik adalah yang paling logis dan efisien [3]. Pemahaman yang kuat tentang indexed arrays adalah fondasi untuk menjelajahi jenis array yang lebih kompleks di PHP, karena konsep indeks dan akses elemen tetap relevan di seluruh jenis array lainnya.
Associative Arrays: Kunci String untuk Pengorganisasian Data yang Lebih Baik
Associative arrays adalah jenis array di PHP di mana setiap elemen memiliki kunci berupa string daripada indeks numerik [4, 11]. Ini memungkinkan pengembang untuk menggunakan nama yang bermakna sebagai kunci, yang secara signifikan meningkatkan keterbacaan kode dan memudahkan identifikasi data [4, 11]. Sebagai contoh, alih-alih mengakses nama pengguna dengan $user[0]
, Anda dapat menggunakan $user['name']
, yang jauh lebih intuitif [11]. Kunci string ini dapat berupa kata, frasa, atau kombinasi karakter apa pun, selama itu adalah string yang valid [4]. Kunci-kunci ini harus unik dalam satu array yang sama; jika Anda menetapkan nilai ke kunci yang sudah ada, nilai lama akan ditimpa [4].
Pembuatan associative array dilakukan dengan menetapkan pasangan kunci-nilai menggunakan operator =>
[4, 11]. Contohnya: $age = array("Peter"=>35, "Ben"=>37, "Joe"=>43);
atau $car = ["brand" => "Ford", "model" => "Mustang", "year" => 1964];
[4]. Mengakses elemen dalam associative array juga dilakukan dengan menggunakan kunci string dalam tanda kurung siku, misalnya $age['Peter']
akan mengembalikan 35 [4]. Ini sangat berguna ketika data yang Anda simpan tidak memiliki urutan alami, tetapi memiliki properti atau label yang mendeskripsikannya [3, 19]. Misalnya, menyimpan detail profil pengguna seperti nama, email, dan usia sangat cocok menggunakan associative array [3].
Untuk mengulang (iterasi) melalui associative array, loop foreach
adalah pilihan yang paling umum dan direkomendasikan [4, 11]. Loop foreach
dapat mengiterasi melalui setiap pasangan kunci-nilai dalam array secara efisien, misalnya foreach ($age as $key => $value) { echo "Key=" . $key . ", Value=" . $value; }
[4]. Ini sangat membantu ketika Anda perlu memproses setiap elemen tanpa harus tahu indeks numeriknya [4]. Associative array menawarkan fleksibilitas yang lebih besar dalam mengelola data yang kompleks dan tidak berurutan, karena memungkinkan Anda untuk menggunakan nama deskriptif sebagai kunci [3, 19]. Mereka sangat ideal untuk merepresentasikan struktur data seperti catatan database, konfigurasi aplikasi, atau detail objek [19]. Kemampuan untuk dengan cepat mencari nilai berdasarkan nama kunci yang relevan adalah keuntungan besar dari associative array, menjadikannya pilihan yang kuat untuk banyak skenario pengembangan web [11]. Penggunaan associative array secara efektif dapat membuat kode PHP lebih mudah dibaca, dipelihara, dan diperluas.
Multidimensional Arrays: Mengelola Data Kompleks dan Hierarkis
Multidimensional arrays adalah array yang berisi satu atau lebih array di dalamnya [5, 9]. Ini memungkinkan pengembang untuk menyimpan data dalam struktur hierarkis atau tabular, mirip dengan tabel atau matriks [5, 14]. Dalam multidimensional array, setiap elemen dapat menjadi array itu sendiri, yang pada gilirannya dapat berisi array lain, dan seterusnya, menciptakan kedalaman yang bervariasi [2, 5]. Tidak ada batasan khusus pada jumlah dimensi yang dapat dimiliki sebuah array di PHP, meskipun secara praktis, array dengan dua atau tiga dimensi adalah yang paling umum digunakan untuk menjaga keterbacaan dan kompleksitas kode [5, 14].
Contoh paling umum dari multidimensional array adalah array dua dimensi, yang sering digunakan untuk merepresentasikan data dalam bentuk baris dan kolom, seperti spreadsheet atau matriks [5, 9]. Misalnya, sebuah array yang menyimpan informasi tentang beberapa mobil, di mana setiap mobil memiliki detail seperti merek, stok, dan penjualan:
$cars = array (
array("Volvo",22,18),
array("BMW",15,13),
array("Saab",5,2),
array("Land Rover",17,15)
);
Dalam contoh ini, $cars[0][0]
akan mengacu pada “Volvo”, $cars[1][1]
akan mengacu pada 15 (stok BMW), dan seterusnya [5]. Untuk mengakses elemen dalam multidimensional array, Anda perlu menentukan indeks untuk setiap dimensi, dari dimensi terluar hingga terdalam [5].
Multidimensional arrays sangat berguna untuk mengorganisir data yang memiliki hubungan kompleks atau berlapis [2, 14]. Misalnya, menyimpan data siswa di mana setiap siswa memiliki nama, ID, dan daftar mata pelajaran yang diambil, dan setiap mata pelajaran memiliki nama dan nilai [14]. Atau, representasi data dari database yang seringkali menghasilkan baris data, di mana setiap baris adalah array asosiatif dari kolom-kolomnya, dan kumpulan baris tersebut menjadi multidimensional array [14]. Iterasi melalui multidimensional array biasanya melibatkan penggunaan nested loops (perulangan bersarang) [5]. Misalnya, untuk array dua dimensi, Anda akan menggunakan satu loop untuk mengiterasi baris dan loop lain di dalamnya untuk mengiterasi kolom dari setiap baris [5]. Ini memungkinkan Anda untuk memproses setiap elemen dalam struktur data yang kompleks secara sistematis [5]. Meskipun multidimensional array menawarkan kekuatan luar biasa dalam mengorganisir data, penting untuk tidak membuatnya terlalu dalam karena dapat mempersulit pemahaman dan pemeliharaan kode [14]. Namun, untuk data yang benar-benar hierarkis, mereka adalah solusi yang sangat efektif dan efisien.
Multidimensional Associative Arrays: Kombinasi Fleksibilitas dan Struktur
Multidimensional associative arrays adalah perpaduan kuat antara konsep multidimensional array dan associative array [1, 18]. Dalam jenis array ini, elemen-elemennya adalah array lain, dan kunci yang digunakan untuk mengakses elemen-elemen tersebut adalah string yang bermakna [1, 18]. Ini memungkinkan pembentukan struktur data yang sangat terorganisir dan mudah dipahami, di mana setiap “tingkat” data dapat diidentifikasi dengan label deskriptif daripada indeks numerik [1, 18]. Ini sangat berguna ketika Anda perlu merepresentasikan data yang kompleks dengan hubungan hierarkis dan setiap bagian dari data memiliki nama yang relevan [1, 18].
Bayangkan Anda ingin menyimpan informasi tentang beberapa pengguna, di mana setiap pengguna memiliki nama, email, dan juga detail alamat (jalan, kota, kode pos). Anda dapat membuat multidimensional associative array seperti ini:
$users = [
"john_doe" => [
"name" => "John Doe",
"email" => "[email protected]",
"address" => [
"street" => "123 Main St",
"city" => "Anytown",
"zip" => "12345"
]
],
"jane_smith" => [
"name" => "Jane Smith",
"email" => "[email protected]",
"address" => [
"street" => "456 Oak Ave",
"city" => "Otherville",
"zip" => "67890"
]
]
];
Dalam contoh ini, kunci tingkat pertama adalah john_doe
dan jane_smith
, yang merupakan kunci string. Nilai dari kunci-kunci ini adalah array asosiatif lain yang berisi detail pengguna. Di dalam detail pengguna, ada kunci address
yang nilainya juga merupakan array asosiatif [1, 18]. Untuk mengakses data, Anda akan menggunakan kombinasi kunci string secara berurutan. Misalnya, untuk mendapatkan kota dari John Doe, Anda akan menulis $users['john_doe']['address']['city']
, yang akan mengembalikan “Anytown” [1, 18].
Kelebihan utama dari multidimensional associative array adalah kemampuannya untuk merepresentasikan struktur data dunia nyata yang kompleks dengan cara yang sangat intuitif dan mudah dibaca [1]. Mereka sering digunakan dalam pengembangan web untuk menangani data JSON yang diurai, hasil kueri database yang kompleks, atau konfigurasi aplikasi yang berlapis [1]. Mengiterasi melalui multidimensional associative array juga menggunakan nested foreach loops, di mana setiap loop mengiterasi satu tingkat kedalaman array [1]. Ini memungkinkan Anda untuk mengakses dan memproses setiap bagian dari data yang kompleks secara sistematis [1]. Meskipun terlihat rumit pada awalnya, penguasaan multidimensional associative array adalah keterampilan penting bagi pengembang PHP yang berurusan dengan data terstruktur dan hierarkis, karena mereka menyediakan cara yang kuat dan fleksibel untuk mengorganisir informasi.
Memilih Jenis Array yang Tepat: Kapan Menggunakan yang Mana
Memilih jenis array yang tepat adalah keputusan penting dalam pengembangan PHP yang dapat memengaruhi efisiensi, keterbacaan, dan pemeliharaan kode Anda [19]. Setiap jenis array memiliki kekuatan dan kelemahannya sendiri, menjadikannya lebih cocok untuk skenario penggunaan tertentu [19].
Indexed Arrays adalah pilihan terbaik ketika:
- Urutan data penting: Jika Anda memiliki daftar item di mana posisinya dalam daftar memiliki makna, seperti daftar belanjaan, urutan langkah-langkah, atau koleksi elemen yang diurutkan [3, 19].
- Akses berdasarkan posisi: Ketika Anda perlu mengakses elemen berdasarkan indeks numeriknya, misalnya item ketiga dalam daftar [3, 19].
- Data homogen: Ideal untuk menyimpan koleksi data dengan tipe yang sama atau yang tidak memerlukan label deskriptif untuk setiap elemen [3].
- Iterasi sederhana: Sangat efisien untuk diiterasi menggunakan loop
for
ketika Anda perlu memproses setiap elemen secara berurutan [13].
Associative Arrays adalah pilihan yang lebih baik ketika:
- Data memiliki label deskriptif: Jika setiap item data dapat diidentifikasi dengan nama atau label yang bermakna, seperti detail pengguna (nama, email, usia) atau konfigurasi pengaturan [3, 19].
- Urutan tidak penting: Ketika posisi data dalam array tidak relevan, tetapi identitasnya melalui kunci string adalah yang utama [3, 19].
- Akses berdasarkan nama: Sangat efisien untuk mencari dan mengambil nilai berdasarkan kunci string yang relevan [11, 19].
- Merepresentasikan objek atau catatan: Sering digunakan untuk mensimulasikan objek atau baris data dari database, di mana setiap “kolom” diidentifikasi oleh namanya [3, 19].
Multidimensional Arrays (termasuk multidimensional associative arrays) adalah pilihan yang paling cocok ketika:
- Data hierarkis atau berlapis: Jika Anda memiliki data yang secara logis terstruktur dalam beberapa tingkatan, seperti daftar kota di setiap negara, atau detail produk dengan varian dan harga [2, 14, 19].
- Merepresentasikan tabel atau matriks: Ideal untuk data yang dapat divisualisasikan sebagai baris dan kolom, seperti hasil spreadsheet atau matriks matematika [5, 14].
- Kombinasi fleksibilitas dan struktur: Multidimensional associative arrays khususnya sangat kuat untuk data kompleks di mana setiap tingkatan membutuhkan kunci deskriptif [1, 18].
- Data JSON atau XML: Sangat umum digunakan untuk memproses data yang berasal dari API atau file konfigurasi yang diformat sebagai JSON atau XML, karena struktur array PHP dapat dengan mudah memetakan struktur data ini [1].
Pemilihan jenis array yang tepat akan membuat kode Anda lebih mudah dibaca, dipelihara, dan berkinerja lebih baik. Pertimbangkan sifat data Anda dan bagaimana Anda berencana untuk mengakses dan memanipulasinya sebelum memutuskan jenis array mana yang akan digunakan. Seringkali, kombinasi dari jenis-jenis array ini digunakan dalam aplikasi yang lebih besar untuk merepresentasikan struktur data yang kompleks secara optimal.
Operasi Umum dan Fungsi Bawaan Array PHP
PHP menyediakan berbagai fungsi bawaan yang kuat untuk memanipulasi dan berinteraksi dengan array, menjadikannya sangat serbaguna [7, 10]. Memahami dan memanfaatkan fungsi-fungsi ini secara efektif dapat secara signifikan meningkatkan efisiensi dan keterbacaan kode Anda.
Fungsi Dasar Informasi Array:
count()
: Mengembalikan jumlah elemen dalam array [10]. Contoh:count($myArray);
.sizeof()
: Alias daricount()
, memiliki fungsi yang sama [7].array_key_exists()
: Memeriksa apakah kunci tertentu ada dalam array [7]. Contoh:array_key_exists('name', $user);
.in_array()
: Memeriksa apakah nilai tertentu ada dalam array [7]. Contoh:in_array('Apple', $fruits);
.
Fungsi Penambahan dan Penghapusan Elemen:
array_push()
: Menambahkan satu atau lebih elemen ke akhir array [7]. Contoh:array_push($fruits, "Orange", "Grape");
.array_pop()
: Menghapus dan mengembalikan elemen terakhir dari array [7].array_unshift()
: Menambahkan satu atau lebih elemen ke awal array [7].array_shift()
: Menghapus dan mengembalikan elemen pertama dari array [7].unset()
: Menghapus variabel array atau elemen tertentu [7]. Contoh:unset($fruits[0]);
atauunset($user['email']);
. Penting untuk dicatat bahwaunset()
tidak mengatur ulang indeks numerik indexed array.
Fungsi Pengurutan Array:
sort()
: Mengurutkan indexed array secara alfabetis atau numerik (menaik) [10].rsort()
: Mengurutkan indexed array secara alfabetis atau numerik (menurun) [10].asort()
: Mengurutkan associative array berdasarkan nilai (menaik), mempertahankan asosiasi kunci-nilai [10].arsort()
: Mengurutkan associative array berdasarkan nilai (menurun), mempertahankan asosiasi kunci-nilai [7].ksort()
: Mengurutkan associative array berdasarkan kunci (menaik), mempertahankan asosiasi kunci-nilai [10].krsort()
: Mengurutkan associative array berdasarkan kunci (menurun), mempertahankan asosiasi kunci-nilai [7].
Fungsi Manipulasi Array Lainnya:
array_merge()
: Menggabungkan satu atau lebih array [7].array_slice()
: Mengembalikan bagian dari array [7].array_splice()
: Menghapus elemen tertentu dari array dan/atau menggantinya dengan elemen baru [7].array_reverse()
: Mengembalikan array dengan elemen dalam urutan terbalik [7].array_unique()
: Menghapus nilai duplikat dari array [7].array_map()
: Menerapkan fungsi callback ke setiap elemen array [7].array_filter()
: Memfilter elemen array menggunakan fungsi callback [7].array_reduce()
: Menerapkan fungsi callback secara iteratif ke elemen array untuk mengurangi array menjadi satu nilai tunggal [7].
Penggunaan fungsi-fungsi ini secara tepat dapat menyederhanakan tugas-tugas yang kompleks, mengurangi jumlah kode yang perlu Anda tulis, dan membuat aplikasi PHP Anda lebih efisien. Dokumentasi PHP resmi [7] adalah sumber daya yang sangat baik untuk menjelajahi detail lebih lanjut tentang setiap fungsi ini dan parameter yang mereka terima.
Kesimpulan
Array adalah salah satu konstruksi data yang paling fundamental dan esensial dalam PHP, memungkinkan pengembang untuk mengelola koleksi data secara efisien dan terstruktur [3, 10]. Dari indexed arrays yang sederhana dengan kunci numerik untuk data berurutan [3, 13], hingga associative arrays yang kuat dengan kunci string untuk data yang lebih deskriptif dan tidak berurutan [4, 11], hingga multidimensional arrays yang kompleks untuk merepresentasikan data hierarkis dan berlapis [5, 14], PHP menyediakan fleksibilitas yang luar biasa. Pemahaman mendalam tentang ketiga jenis array ini—bagaimana mereka didefinisikan, diakses, dimanipulasi, dan kapan harus menggunakannya—adalah keterampilan inti bagi setiap pengembang PHP yang ingin membangun aplikasi yang tangguh dan mudah dipelihara [19]. Dengan memanfaatkan berbagai fungsi bawaan PHP yang kaya untuk array, Anda dapat melakukan operasi data yang kompleks dengan mudah, mengoptimalkan kinerja, dan menulis kode yang lebih bersih dan lebih ekspresif. Penguasaan array tidak hanya meningkatkan kemampuan Anda dalam PHP, tetapi juga membuka pintu untuk menangani struktur data yang lebih canggih dalam pengembangan web modern.
FAQ
1. Apa perbedaan mendasar antara indexed array dan associative array di PHP?
Perbedaan mendasar terletak pada jenis kunci yang digunakan untuk mengakses elemen [3, 19]. Indexed array menggunakan kunci numerik otomatis yang dimulai dari 0 [13], ideal untuk data di mana urutan penting dan akses dilakukan berdasarkan posisi. Sementara itu, associative array menggunakan kunci string yang bermakna, yang memungkinkan akses data berdasarkan nama atau label deskriptif, sangat cocok untuk data di mana urutan tidak relevan tetapi identitas melalui nama kunci adalah prioritas [4, 11].
2. Kapan sebaiknya saya menggunakan multidimensional array?
Anda sebaiknya menggunakan multidimensional array ketika Anda perlu merepresentasikan data yang memiliki struktur hierarkis atau berlapis, mirip dengan tabel atau matriks [5, 14]. Ini sangat berguna untuk menyimpan kumpulan catatan yang kompleks (misalnya, daftar siswa dengan detail mata pelajaran), data dari database yang memiliki banyak baris dan kolom, atau data yang diurai dari format seperti JSON atau XML yang secara inheren berlapis [1, 14].
3. Bagaimana cara terbaik untuk mengiterasi melalui associative array dan multidimensional array?
Untuk associative array, cara terbaik untuk mengiterasi adalah menggunakan loop foreach
, yang memungkinkan Anda mengakses setiap pasangan kunci-nilai secara langsung tanpa perlu mengetahui kunci-kunci tersebut sebelumnya [4, 11]. Untuk multidimensional array, Anda akan menggunakan nested foreach loops (perulangan bersarang), di mana setiap loop mengiterasi satu tingkat kedalaman array untuk mengakses semua elemen di dalamnya [5, 1].
4. Apakah ada batasan jumlah dimensi pada array di PHP?
Secara teknis, PHP tidak memiliki batasan eksplisit pada jumlah dimensi yang dapat dimiliki sebuah array [2, 5]. Anda dapat membuat array dengan kedalaman yang sangat tinggi (misalnya, array di dalam array di dalam array, dan seterusnya). Namun, secara praktis, array dengan lebih dari dua atau tiga dimensi jarang digunakan karena dapat membuat kode menjadi sangat kompleks, sulit dibaca, dan sulit untuk dipelihara [5, 14].