Anda di halaman 1dari 2

Terdapat contoh tree seperti berikut;

Silahkan berikan tahapan atau langkah-langkah beserta gambar arah pencarian data, untuk
mencari data dengan nilai ‘8’ yang terdapat pada salah satu node dalam tree tersebut?

Sebelum kita menjabarkan tahapan beserta gambar arah pencarian data yang dimaksud, kita
pahami dulu terminologi tree. Dari sumber referensi yang saya baca yaitu Buku Materi Pokok
Struktur Data, Modul 7 disebutkan bahwa terdapat sepuluh terminologi tree. Sepuluh
termimologi tersebut adalah Path yaitu urutan node yang dihasilkan jika dilakukan perjalanan
dari suatu node ke node yang lain dalam sebuah tree. Kemudian Root yaitu sebuah node yang
berada pada level 0 dan jumlah root node-nya hanya ada satu. Selanjutnya ada Parent yaitu setiap
node hanya mempunyai satu edge yang menghubungkan ke satu node diatasnya. Ada Child yaitu
setiap node dapat memiliki lebih dari satu edge yang menghubungkan dengan node dibawahnya.
Node dibawahnya inilah yang disebut sebagai node child. Lalu ada Leaf yaitu node yang tidak
memiliki node child. Sebuah tree hanya dapat memiliki satu root akan tetapi dapat memiliki
banyak leaf. Selanjutnya ada Subtree yaitu setiap node pada tree dapat disebut sebagai root dari
subtree jika mempunyai node child. Visitting yaitu sebuah node disebut telah dikunjungi jika
kontrol program telah sampai pada node tersebut. Traversing yaitu mengunjungi seluruh node
dengan urutan tertentu. Level yaitu banyaknya generasi yang berawal dari root. Kita sering
menjumpai bahwa sebuah objek memiliki satu data field yang ditujukan untuk menampung nilai
kunci (key value). Nilai kunci ini biasanya digunakan untuk pencarian atau proses lainnya, ini lah
yang disebut Key.

Kita juga perlu memahami bahwa properti dari sebuah binary tree menurut Lafore (2003) dari
sumber referensi Buku Materi Pokok Struktur Data, Modul 7 menyebutkan bahwa setiap node
hanya dapat memiliki maksimal 2 child dan setiap child memiliki nama yaitu node child kiri dan
node child kanan. Kemudian menurut Goodrich et al (2004) yang mempunyai pendapat yang
sama dengan Lafore (2003), namun menambahkan pada point ketiganya yaitu node child kiri
selalu dimiliki/dikunjungi terlebih dahulu baru kemudian node child kanan.

Selain itu, kita juga perlu memahami karakteristik binary search tree. Lafore (2003) dalam Buku
Materi Pokok Struktur Data Halaman 7.31 menyebutkan bahwa node child sebelah kiri memiliki
kunci (key) bernilai lebih kecil dari kunci parent-nya dan node child sebelah kanan memiliki
kunci (key) bernilai sama atau lebih tinggi dari kunci parent-nya.
Kemudian disebutkan juga pada Buku Materi Pokok Struktur Data, Modul 7 bahwa pada setiap
proses pencarian pada binary search tree memerlukan adanya key. Kita dapat melakukan
pencarian key tertentu pada sebuah binary search tree dengan melihat binary search tree sebagai
sebuah decision tree dimana akan “diajukan pertanyaan” pada setiap posisi internal katakana lah
p, apakah key (kita sebut key k) memiliki nilai kurang dari, sama atau lebih dari key yang
disimpan pada posisi p. Jika jawabannya “kurang dari” maka pencarian dilanjutkan ke subtree
sebelah kiri, kemudian jika jawabannya adalah “sama dengan” maka pencarian berhasil dan
pencarian dihentikan, namun jika jawabannya “lebih dari” maka pencarian dilanjutkan ke subtree
sebelah kanan. Jika pencarian mencapai leaf dengan tidak mendapatkan jawaban “sama dengan”
maka pencarian dihentikan.

Berdasarkan referensi-referensi tersebut diatas, mari kita menguraikan tahapan beserta gambar
arah pencarian data, untuk mencari data dengan nilai ‘8’ yang terdapat pada salah
satu node dalam tree berikut ini;

Anda mungkin juga menyukai