Summary


Linked List


Linked list adalah sebuah data structure yang sederhana. Linked list merupakan element yang berurutan dan element yang satu memiliki hubungan dengan element selanjutnya. Linked list dapat berisi berbagai tipe data seperti string, char, int, dan lain-lain. Element yang ada di dalamnya bisa berurutan atau tidak berurutan. Lalu juga bisa berupa element yang sama maupun element yang unik.
 Linked list dan array memiliki banyak persamaan. Walau  begitu tetap keduanya memiliki perbedaan. Array memiliki index, sehingga jika ingin mencari nilai dari element ke berapa, kita dengan mudah akan menemukannya sebagai contoh a[3] (nilai dari element ke 3 ada di indeks ke 4). Sedangkan dengan linked list, kita perlu untuk mulai dari kepala atau element yang pertama sampai ke element yang ke 4. Sehingga prosesnya akan lebih lambat dari pada pencarian menggunakan array.
Linked list adalah kumpulan linear dari nodes, sedangkan array adalah kumpulan linear dari data element. Array menyimpan nilai di satu lokasi memory untuk seterusnya. Sedangkan linked list sebaliknya.
 Keuntungan menggunakan linked list adalah kita  bisa memasukan atau menghapus element dengan waktu yang cepat karena konstan. Linked list juga ada dua tipe yaitu single dan double. Singe linked list adalah tiap element saling berhubungan satu arah dengan element lain. Sedangkan untuk double linked list berhubungan dua arah dengan element yang lain. Sebagai contoh linked list single, element pertama berhubungan dengan element selanjutnya dan seterusnya. Sedangkan double linked list, element pertama dan kedua saling berhubuungan.


LINKED LIST II



Circular linked list adalah linked list dimana semua nodenya saling menyatu atau berhubungan kedalam suatu bentuk lingkaran. Tidak ada NULL di akhirnya. Circular linked list bisa single bisa double. Ada keunggulan dalam menggunakan circular linked list. Seperti kita dapat traverse keseluruhan listnnya mulai dari titik manapun. Semua node bisa menjadi node pembuka atau starting pointnya. Kita hanya perlu berhenti ketika node pertama dikunjungi lagi. Berguna dalam mengimplementasikan dalam antrian. Kita tidak perlu menggunakan dua pointer untuk menentukan mana yang depan dan mana yang belakang. Kita bisa mempertahankan pointer hanya dengan mengetahui siapa pointer pertamanya. Circular linked list juga berguna dalam mengoperasikan suatu system. Untuk mengurutkan suatu aplikasi dan menjalankannya dengan sistematis. Memberikan waktu untuk menjalankannya.
Doubly linked list mirip seperti linked list. Dimana single linked list memilliki dua field atau tempat. Yang satu untuk menyimpan data dan yang satunya lagi untuk menyimpan alamat dari node selanjutnya. Untuk setiap node hanya ada satu link atau satu jembatan yang menghubunginya. Bedanya dengan yang doubly linked list adalah mereka memiliki 2 link atau 2 jembatan diantara nodenya. Keungullan dalam menggunakan doubly linked list adalah kita mempunyai pointer ke node manapun. Serta kita bisa menfowardkannya. Hanya dengan satu pointer kita bisa melihat node yang pertama dan node yang berikutnya sekaligus. Dalam menghapus sebuah element dalam single linked list juga memerlukan dua pointer dalam melaksanakannya. Sedangkan doubly linked list hanya membutuhkan satu pointer saja.
Circular doubly linked list mirip dengan circulat single linked list hanya saja, pointer di setiap node memiliki 2 pointer.



Hash table =>
Adalah data structure yang menyimpan data berdasarkan pola yang ada di dalam data tersebut. Dalam Hash Table data disimpan dalam format Array, dimana setiap nilai dalam data tersebut memiliki nilai index yang unik. Kita dapat mengakses data dengan sangat cepat jika kita tahu index data yang kita inginkan.
Hashing
Hashing adalah Teknik dalam mencari nilai dengan kunci yang spesifik, sehingga dapat di akses dengan efisien dan mudah.
Hash table sering dipakai dalam aplikasi yang modern. Hash table digunakan untuk menyimpan nilai per kunci, untuk melakukan pencarian dengan efficient tanpa bergantung pada linear search. Sebagai gambaran Hashing, seperti di perpustakaan. Buku-buku yang ada memiliki kode  yang unik yang bisa digunakan untuk mencari informasi tentang buku yang sedang kita cari. Dengan menggunakan system computer di perpustakaan, kita dapat mengetahui posisi yang jelas akan buku yang kita cari di perpustakaan setelah memasukan kode tersebut.

Hash Function =>
Beberapa contoh cara melakukan hash.



1.     Simple Mod Function


Source



2.      Mid Square Method
Source




3.      String Folding

Source


Itu adalah beberapa contoh dari function dalam hashing.




Hash Table dalam implementasi blockchain:

Hash dibuat dengan algoritma dan berhubungan dengan blockchain management dalam cryptocurrency. Cryptocurrency basisnya adalah blockchain yang dimana kumpulan financial  report atau pembukuan keuangan saling bergabung atau berhubungan tiap individual block nya dengan data transaksi.
Blockchain hanya mengandung transaksi yang valid. Sehingga mencegah terjadinya penipuan dan penggunaan yang terdouble dalam bertransaksi. Hasilnya akan mengubah dan membeeikan kode yang unik baik dalam angka maupun huruf yang berbeda dan unik antara satu data dengan data yang lainnya. Dalam penggunaannya tentu hashing memerlukan proses data dari block melalui mathematical function, yang akan memberikan hasil Panjang output yang fix. Sehingga inilah mengapa hash diimplementasikan dalam blockchain. Contoh cryptocurrency adalah bitcoin.
Source bacaan saya:






Tree=>
Adalah data structure yang mempresentasikan tentang hubungan antara data secara hierarki.



Binary Tree
Adalah tree yang dimana paling banyak hanya memiliki 2 element. Karena hanya memiliki 2 element kita biasa menamainya dengan left and right child.



         Perfect Binary Tree



         Complete Binary Tree




Comments

Popular posts from this blog