Postingan

Menampilkan postingan dari Juni, 2021

Implementasi Hash Table dalam Program Java

Gambar
Hash Table           Hash Table adalah struktur data yang mengimplementasikan ADT array asosiatif (struktur yang dapat memetakan kunci /angka hash/kode hash  ke nilai). Hashing adalah teknik untuk melakukan penambahan, penghapusan, dan pencarian elemen data dalam  constant average time dengan menentukan kunci dari data tersebut dan digunakan sebuah fungsi hash untuk menetapkan lokasi untuk kunci tersebut.  Fungsi ini akan memetakan list data yang ukurannya berubah-ubah ke ukuran tetap.  Dalam banyak situasi, Hash Table bekerja lebih efisien daripada pohon pencarian atau struktur tabel pencarian lainnya karena memiliki waktu pengaksesan yang cepat.             Idealnya, fungsi hash akan menetapkan setiap kunci ke kode unik, tetapi sebagian besar desain Hash Table menggunakan fungsi hash yang tidak sempurna yang dapat menyebabkan tabrakan hash di mana fungsi hash akan menghasilkan kode has...

Graph pada Program Java

Gambar
Graph       Graph adalah ADT yang terdiri dari himpunan simpul/ vertex  yang berhingga. Terdapat 2 jenis graph berdasarkan arahnya yaitu undirected graph (himpunan pasangan tak berurutan dari simpul-simpulnya) dan directed graph (himpunan pasangan berurutan dari simpul-simpulnya). Keterkaitan antar vertex ini disebut edge  atau juga disebut busur/ arc . 2 jenis graph berdasarkan weight (panjang dari sebuah edge /busur) yaitu weighted graph dan unweighted graph. Path adalah serangkaian simpul-simpul berbeda yang adjacent   untuk menghubungkan dua buah  vertex . Graph dapat dikatakan connected  jika  terdapat setidaknya satu buah  path  untuk setiap pasang  vertex . Jika  sebuah path  berawal dan berakhir pada satu buah  vertex  yang sama tanpa melewati dua buah  edge  yang sama, maka graph tersebut disebut cycle graph .     Operasi (misalkan Graph G) : adjacent ( G ,  x ,  y )...

Implementasi Binary Search Tree (BST) pada Program Java

Gambar
Binary Search Tree (BST)          Binary Search Tree adalah  struktur data pohon biner berbasis node /simpul yang memiliki sifat-sifat sebagai berikut : Setiap simpul memiliki sebuah nilai. Sub pohon kiri dari sebuah simpul hanya memuat nilai yang lebih kecil dari nilai simpul. Sub pohon kanan dari sebuah simpul hanya memuat nilai yang lebih besar atau sama dengan nilai simpul.             Operasi dalam binary tree :  Insert (data) Delete (data) Search (data) Inorder Traverse() Preorder Traverse() Postorder Traverse()            Source Code :             Berikut adalah keluaran dari program yang dijalankan :

Implementasi Tower of Hanoi Menggunakan Rekursi pada Program Java

Gambar
Rekursi          Rekursi adalah salah satu metode untuk menyelesaikan masalah dengan menyederhanakan masalah tersebut menjadi bagian-bagian yang lebih kecil. Fungsi rekursi merupakan fungsi yang memanggil dirinya sendiri hingga mencapai base case (kondisi dimana fungsi rekursi akan selesai dipanggil agar tidak terjadi infinite recursion ). Tower of Hanoi          Tower of Hanoi adalah permainan teka-teki matematika yang terdiri dari 3 menara/tiang dan sejumlah cincin/piringan yang memiliki ukuran yang berbeda-beda dan disusun mengerucut dengan piringan yang paling kecil ukurannya berada di tumpukan teratas, sedangkan piringan yang berukuran paling besar berada di tumpukan terbawah.       Tujuan dari permainan ini adalah memindahkan semua tumpukan piringan dari suatu tiang ke tiang yang lain tanpa melanggar aturan sebagai berikut: Hanya satu cakram yang boleh dipindahkan dalam satu waktu. Setiap perpindahan berup...