Skip to main content

Apa itu array asosiatif?

Array asosiatif, juga disebut tabel hash atau peta hash, mirip dengan array standar kecuali indeks array dapat berupa string, bukan bilangan bulat.Dalam banyak aplikasi database dan dalam program lain yang menangani sejumlah besar data, array asosiatif adalah elemen vital dalam membantu mengurutkan dan mengakses informasi dengan cara yang efisien.Inti dari array asosiatif adalah array standar yang diindeks dengan bilangan bulat, seperti biasanya.Algoritma khusus yang disebut fungsi hash mengubah indeks string menjadi indeks integer untuk menemukan nilainya.Ini adalah konversi yang konsisten, sehingga indeks integer aktual tidak pernah perlu disimpan tetapi sebaliknya dihitung dari string sesuai kebutuhan setiap kali.

terminologi yang digunakan ketika mengacu pada array asosiatif bisa sedikit berbeda dari apa yang digunakan saat membicarakan tentangarray normal.Apa yang biasanya disebut indeks mdash;Lokasi numerik suatu elemen di dalam array mdash;disebut kunci.Data yang terkait dengan kunci disebut nilainya.Ini berarti bahwa, dalam array asosiatif, kunci dikaitkan dengan nilai, yang berkorelasi dengan indeks yang merujuk elemen dalam array standar dalam struktur data.

di jantung setiap array asosiatif adalah fungsi hash.Ini adalah algoritma yang digunakan untuk menentukan indeks numerik nilai berdasarkan kunci.Ada beberapa jenis fungsi hash, beberapa dirancang untuk beroperasi pada kunci yang bilangan bulat dan beberapa dirancang untuk bekerja pada kunci yang string.Dalam kasus kunci integer, metode yang populer adalah membagi nilai kunci dengan ukuran array dan menggunakan sisa divisi untuk, semoga, mendapatkan nilai indeks yang unik.

Fungsi hash bisa jauh lebih kompleksuntuk kunci yang string.Beberapa metode termasuk menambahkan nilai numerik dari setiap karakter dalam string dan kemudian membaginya dengan beberapa nomor, atau hanya menggunakan beberapa karakter pertama dari string untuk mendapatkan nomor unik.Ada banyak cara untuk memperoleh angka dari serangkaian karakter.

Ketika berhadapan dengan sejumlah besar pasangan nilai kunci dalam array asosiatif, satu masalah yang dapat muncul disebut tabrakan.Tabrakan terjadi ketika indeks integer yang berasal dari kunci identik dengan indeks integer dari kunci lain.Kedua kunci ini kemudian secara efektif menunjuk ke indeks yang sama dalam array nilai.Ada berbagai solusi untuk tabrakan, terutama karena memiliki probabilitas tinggi untuk terjadi di sebagian besar aplikasi praktis.

Salah satu solusi untuk tabrakan adalah memiliki setiap indeks nilai sebenarnya adalah daftar yang ditautkan sehingga, ketika lebih dari satu kunci diselesaikan untuk indeks ituLokasi, lokasi dapat menampung lebih dari satu nilai.Ini disebut rantai dan merupakan cara sederhana untuk menangani tabrakan, meskipun juga dapat memperlambat waktu yang diperlukan untuk mengambil informasi.Metode lain untuk menangani tabrakan disebut probing linier.Ketika tabrakan terjadi, penyelidikan linier bekerja dengan bergerak melalui array nilai sampai indeks yang tidak digunakan ditemukan.Solusi ini dapat membantu menjaga data didistribusikan secara merata dalam array asosiatif, tetapi juga dapat meningkatkan jumlah waktu yang diperlukan untuk mencari nilai.