Dalam bidang matematika dan ilmu komputer, algoritma merupakan serangkaian instruksi yang terbatas dan kompleks, yang dirancang untuk menyelesaikan kelompok masalah komputasi tertentu. Algoritma berfungsi sebagai spesifikasi dalam melakukan perhitungan dan pemrosesan data. Sementara itu, struktur data adalah metode untuk mengorganisasi data agar dapat diproses dengan efektif dan efisien. Struktur data yang baik akan mendukung efektivitas algoritma yang digunakan, dan sebaliknya, struktur data yang kurang baik akan menghambat kinerja algoritma dalam pemrograman. Dengan memahami algoritma secara mendalam, proses pembuatan program akan menjadi lebih mudah. Beberapa jenis struktur data yang umum digunakan antara lain Array, Linked List, Stack, Queue, Tree, Hashing, dan Graph.
Algoritma juga dapat dibedakan berdasarkan langkah-langkah penyelesaian masalah yang mencakup beberapa struktur dasar, yaitu Struktur Urut (Sequence), Struktur Pemilihan (Selection), dan Struktur Pengulangan (Repetition). Gabungan dari struktur data dan algoritma ini memberikan lebih dari satu solusi untuk memecahkan masalah. Struktur data tidak hanya berfungsi dalam pengumpulan dan pengaturan data, tetapi juga dalam pengelolaan database, kompresi file, dan pengolahan data lainnya. Oleh karena itu, mempelajari struktur data menjadi sangat penting, karena dapat membantu mengintegrasikan berbagai elemen data secara efektif.
Dalam kuliah tamu kali ini, narasumber, Ibu Kartikadyota Kusumaningtyas, membahas mengenai konsep hashing. Ibu Kartika menekankan bahwa dalam memilih fungsi hash, penting untuk mempertimbangkan kecepatan dan kesederhanaan, serta menghindari kompleksitas yang dapat menyebabkan distribusi data yang tidak merata di sepanjang jangkauan indeks array. Pemilihan fungsi hash yang terfokus pada indeks tertentu harus dihindari untuk mencapai sebaran data yang optimal.
Selanjutnya, Ibu Kartika menjelaskan mengenai hash table. Hash terdiri dari beberapa elemen yang dapat dikenali melalui beberapa alamat, seperti alamat yang menunjuk node pertama dari setiap elemen dalam hash yang ditunjukkan oleh FIRST, serta alamat node berikutnya yang dapat diperoleh melalui NEXT. Alamat elemen hash ditunjukkan melalui indeks, di mana setiap node yang terhubung ke elemen hash memiliki alamat yang dapat diacu. Misalnya, jika H adalah Hash, i adalah indeks, dan P adalah alamat, kita dapat menggunakan notasi First(H, i) untuk mengacu pada alamat node pertama dari indeks tertentu. Informasi yang tersimpan dalam node dapat diakses dengan menggunakan notasi selektor, seperti Info(P) untuk nilai yang disimpan dan Next(P) untuk alamat node berikutnya. Sebuah alamat hash dianggap kosong jika First(H, i) = Nil, dan P dikatakan sebagai node terakhir jika Next(P) = Nil.
Melalui penjelasan ini, Ibu Kartika memberikan wawasan yang jelas tentang bagaimana elemen-elemen dalam hashing berfungsi dan cara mereka terhubung dalam struktur data.
Kegiatan Kuliah Tamu 14 dengan tema “Algoritma dan Struktur Data” yang dilaksanakan oleh Program Studi Teknik Informatika bertujuan untuk meningkatkan mutu pendidikan tinggi secara berencana dan berkelanjutan, khususnya dalam pengembangan Program Studi Teknik Informatika.
Narasumber dalam acara ini adalah Ibu Kartikadyota Kusumaningtyas, S.Pd., M.Cs., yang merupakan dosen Program Studi Informatika di Universitas Jenderal Ahmad Yani Yogyakarta.