➤ Hashing
Hashing merupakan data structure penting yang dirancang khusus menggunakan fungsi Hash yang digunakan untuk memetakan value yang diberikan dengan key tertentu untuk mengakses elemen lebih cepat. Didalam hashing, string character biasanya dirubah menjadi sebuah value yang lebih pendek atau key yang digunakan mewakili string yang asli. Hashing digunakan untuk mengindekskan dan mengambil item dalam database karena lebih cepat menemukan item menggunakan kunci hash yang lebih pendek daripada menemukannya menggunakan nilai aslinya.
Hashing juga dapat didefinisikan sebagai konsep mendistribusikan key dalam array yang disebut hash table menggunakan fungsi yang telah ditentukan yang disebut hash function.
➤ Hash Table
Hash Table merupakan tabel (array) yang dimana tempat kita menyimpan string aslinya. Index pada table merupkan hash key nya dan value nya adalah string aslinya.
Ukuran hash table biasanya beberapa urutan besarnya lebih rendah dari jumlah total string yang mungkin, sehingga beberapa string mungkin memiliki hash key yang sama.
➤ Hash Function
Ada banyak cara untuk hash sebuah string menjadi key. Namun, berikut merupakan 6 method penting yang digunakan untuk membuat hash function:
➛ Mid-Square
➛ Division (Yang Paling Sering digunakan)
➛ Folding
➛ Digit Extraction
➛ Rotating Hash
➤ Penggunaan Hashing pada Blockchain
Beberapa contoh penggunaan hashing pada teknologi blockchain adalah sebagai berikut:
➛ Alamat pada blockchain berasal dari hashing, misalkan pada alamat Bitcoin menggunakan SHA2- 256 dan RIPEMD 160
➛ Hashing membantu dalam mendefinisikan cryptographic signatures yang membantu menentukan transaksi yang valid
➛ Hash dapat memudahkan kita untuk melacak transaksi di blockchain. Daripada mencari transaksi yang misalkan merupakan "tranksaksi ke 1030 di blok 14573", lebih mudah hanya menyalin hash ke dalam blockchain explorer dari mana kita dapat melihat detail transaksi
➛ Fungsi hash sangat penting dalam crypto mining yang di mana notce yang valid dapat ditemukan dengan menghitung beberapa hash. Ini membantu membentuk konsensus pada blockchain tersebut
➛ Hashrate menentukan seberapa cepat dan lancar menjalankan proses mining. Sangat penting dalam menentukan tingkat kesulitan selama mining
➛ Penggunaan "hash data" membantu untuk menyimpan sejumlah besar data pada blockchain. Data ini ditandai dengan waktu dan dapat di hash untuk referensi di masa mendatang. Itu membuat penyimpanan data permanen lebih kecil atau lebih ekonomis
Fungsi cryptographic hash adalah bagian integral dari inovasi blockchain. Ini pada dasarnya adalah fitur yang memberikan kemampuan keamanan untuk transaksi yang diproses, menjadikannya immutable. Hashing juga berada di pusat "Merkle Trees", yang merupakan pendekatan lanjutan untuk hashing blockchain. Ini berguna dalam masalah skalabilitas, dan dompet mobile/light.
➤ Tree
Tree merupakan struktur data non linear yang mewakili hubungan hierarkis diantara objek-objek data.
Beberapa hubungan tree dapat diamati dalam directory structures atau organizational hierarchies.
Node di pohon tidak perlu disimpan secara berdekatan dan dapat disimpan di mana saja dan dihubungkan oleh pointer.
➤ Binary Tree
Binary tree merupakan sebuah struktur data rooted tree di mana setiap node memiliki paling banyak dua child. Kedua anak itu biasanya dibedakan sebagai left child dan right child. Node yang tidak memiliki child disebut leaf.
➤ Macam-macam Binary Tree
● Perfect Binary Tree
● Complete Binary Tree
● Skewed Binary Tree







No comments:
Post a Comment