Posts

Showing posts from June, 2021

Hashtable in Java

Image
Hashtable (hash map) adalah struktur data yang mengimplementasikan tipe data abstrak array asosiatif, struktur yang dapat memetakan kunci ke nilai. Hashtable menggunakan fungsi hash untuk menghitung indeks, juga disebut kode hash, ke dalam slot array, dari mana nilai yang diinginkan dapat ditemukan. Selama pencarian, kunci di-hash dan hash yang dihasilkan akan menunjukkan di mana nilai yang sesuai disimpan. Berikut contoh implementasi hashtable. Berikut hasil run kode tersebut. Hashtable dapat diimplementasikan untuk membuat buku telepon. Berikut kode implementasi hashtable dalam buku telepon. Berikut hasil run kode tersebut.

Graph in Java

Image
Halo Arek Blodhil!  Kita telah belajar tentang kelas Generik di Java. Kita juga dapat menggunakannya untuk kode untuk Grafik di Java. Kelas Grafik diimplementasikan menggunakan HashMap di Java. Seperti yang kita ketahui HashMap berisi key dan value, kami merepresentasikan node sebagai key dan adjancency list dalam value dalam grafik. Contoh: Undirected dan unweighted graph dengan 5 vertices. Graph dapat direpresentasikan menggunakan 2 cara, yaitu adjacency matrix dan adjacency list. Adjacency Matrix: Adjacency Matrix adalah array 2D berukuran V x V di mana V adalah jumlah simpul dalam suatu graph. Misalkan array 2D adj[][], slot adj[i][j] = 1 menunjukkan bahwa terdapat sisi dari vertex i ke vertex j. Adjency Matrix untuk undirected graph selalu simetris. Adjacency Matrix juga digunakan untuk merepresentasikan weighted graph. Jika adj[i][j] = w, maka ada sisi dari vertex i ke vertex j dengan weight w. Adjacency Matrix  untuk contoh graph di atas adalah: Berikut ...

Binary Search Tree in Java

Image
Halo Arek Blodhil! bertemu lagi kita. Pada hari ini kita akan belajar Binary Search Tree dalam Java! Binary Search Tree (selanjutnya disebut BST) adalah jenis pohon biner. Ini juga dapat didefinisikan sebagai pohon biner berbasis node . BST juga disebut sebagai 'Ordered Binary Tree'. Dalam BST, semua node dalam subtree kiri memiliki values yang kurang dari value root node. Demikian pula, semua simpul dari subtree kanan BST memiliki nilai yang lebih besar dari nilai root node. Urutan node ini harus true untuk masing-masing subtree juga. Mari kita terjun lebih dalam lagi Arek Blodhil! Binary Search Tree In Java BST tidak mengizinkan node duplikat. Diagram di bawah ini menunjukkan Representasi BST: Di samping ditampilkan sampel BST. Kita melihat bahwa 20 adalah root node dari pohon ini. Subtree kiri memiliki semua nilai node yang kurang dari 20. Subtree kanan memiliki semua node yang lebih besar dari 20. Kita dapat mengatakan bahwa pohon di samping memenuhi properti BST. Struk...

The Tower of Hanoi in Java

Image
Halo Arek Blodhil! yang kalian liat di atas ini dinamakan The Tower of Hanoi. The Tower of Hanoi adalah teka-teki matematika di mana kita memiliki tiga batang dan dan beberapa piringan dengan diameter berbeda. Tujuan dari teka-teki ini adalah untuk memindahkan seluruh tumpukan ke batang lain, dengan mematuhi aturan sederhana berikut: Hanya satu disk yang dapat dipindahkan pada satu waktu. Setiap gerakan terdiri dari mengambil disk atas dari salah satu tumpukan dan menempatkannya di atas tumpukan lain yaitu disk hanya dapat dipindahkan jika disk paling atas pada tumpukan. Tidak ada disk yang dapat ditempatkan di atas disk yang lebih kecil. Jumlah gerakan minimal yang diperlukan untuk memecahkan teka-teki The Tower of Hanoi adalah  2 n  − 1 , di mana n adalah jumlah cakram. Arek Blodhil di sini pasti ada yang familiar dengan permainan ini ada yang tidak, namun tujuan kita hari ini adalah membuat program Tower of Hanoi dalam java menggunakan Java AWT Library! Fun Fac...