Program kali ini akan membuat sebuah binary tree sederhana yang setiap node-nya akan memiliki nomor urut masing-masing.

Tanpa berlama-lama, mari pergi ke pembahasan.

 

Pendahuluan


Jadi program ini sama saja dengan program binary tree pada umumnya karena masih menggunakan angka sebagai data di dalam setiap node.

Baca juga : Tentang Binary Tree – Antek Teknologi

Jika node yang baru datang memiliki nilai yang lebih kecil, maka node tersebut akan bergerak ke edge sebelah kiri.

Namun jika node yang baru datang ini memiliki nilai yang sama atau lebih besar, maka node tersebut akan bergerak ke edge sebelah kanan.

Namun program ini menambahkan sedikit modifikasi dimana setiap node yang ada akan memiliki nomor urutnya masing-masing.

Untuk pemberian nomor urut sendiri dimulai dari root yang memiliki nomor urut 1.

Kemudian nomor urut akan menyesuaikan dengan level pada tree dan posisi dari node tersebut pada suatu level.

Kalau masih belum paham tentang bagaimana program memberikan nomor urut, kalian bisa lihat gambar berikut.

Pemberian Nomor UrutBagian yang warna biru akan merepresentasikan nilai dari node, sedangkan bagian yang warna hijau adalah nomor urut dari node tersebut.

Untuk node dengan nomor urut 2 dan 3 berada pada level yang sama, anggap saja level 2.

Kalau node dengan nomor urut 4, 5, 6 dan 7 berada di level 3.

Jadi itu untuk pola pemberian nomor urut pada masing-masing node.

Dari kiri ke kanan untuk setiap level dan  berlanjut ke level yang ada di bawahnya.

Mungkin itu saja untuk pendahuluan, sekarang kira beralih ke sintaks program dan lain-lain.

 

Sintaks Program


Untuk programnya, kalian bisa akses melalui alamat berikut ini hanpalla/Binary-Tree-dengan-Nomor-Urut (github.com).

Silahkan kunjungi, salin atau pelajari hal yang bisa dipelajari.

 

Contoh Output Program


Berikut ini dua kemungkinan output yang bisa muncul dalam program tersebut.

a. Node dengan nomor urut yang pengguna cari ada di dalam tree.

Output Ada

b. Node dengan nomor urut yang pengguna cari tidak ada di dalam tree.

Output Tidak Ada

 

Penjelasan Program


Program ini memiliki tiga fungsi utama yaitu:

a. Fungsi untuk menambahkan node baru ke dalam tree.

b. Fungsi untuk mencari node dengan nomor urut tertentu.

c. Fungsi untuk menampilkan semua node yang ada lengkap dengan nilai dan nomor urutnya masing-masing.

 

Pembuatan Tree

Konsep pembuatan binary tree-nya sendiri kurang lebih sama dengan konsep binary tree pada umumnya.

Saat sebuah node baru masuk dan belum ada tree, maka node tersebut akan menjadi root pada tree tersebut.

Namun jika sudah ada node yang menjadi root, maka node berikutnya yang datang akan menjadi leaf yang baru.

Pertimbangan dalam menentukan posisi sebuah node yang akan menjadi leaf pun masih sama.

Jika node yang baru datang ini memiliki nilai yang lebih kecil, maka node ini akan bergerak ke edge sebelah kiri.

Namun jika sama dengan atau lebih besar, maka node ini akan bergerak ke edge sebelah kanan.

Hal ini akan terus terjadi sampai node yang baru datang ini mendapatkan posisinya agar bisa menjadi leaf yang baru.

Leaf sendiri adalah sebuah node di dalam tree yang berada paling ujung.

Bisa dilihat pada program, bahwa nilai dari setiap node sudah ditetapkan sedemikian rupa.

Hal ini bisa kalian ubah menjadi lebih dinamis agar nantinya nilai dari setiap node sesuai dengan input oleh pengguna.

Berikut ini adalah tampilan visual dari tree yang terbuat berdasarkan input nilai-nilai yang sudah ditetapkan tadi.

Visualisasi Tree Dengan Nomor Urut

Masih sama dengan penjelasan sebelumnya, bagian yang warna biru adalah nilai di dalam node tersebut, sedangkan yang warna hijau melambangkan nomor urut dari node tersebut.

Jadi penempatan node akan menyesuaikan dengan nilai, sedangkan pemberian nomor urut akan menyesuaikan dengan tempat node tersebut berada.

Bisa dilihat juga bahwa terdapat nomor urut yang terlewatkan.

Penyebabnya karena nomor urut hanya menyesuaikan dengan posisi dari node, pemberian nomor urut tidak akan memedulikan apakah node dengan nomor urut sebelumnya sudah ada atau tidak.

 

Pencarian Node Menggunakan Nomor Urut

Karena tree sudah ada, pengguna bisa memasukkan nomor urut untuk mencari tahu apakah node dengan nomor urut tertentu sudah ada di dalam tree.

Setelah menerima input dari pengguna, maka akan ada dua kemungkinan output seperti yang sudah terlihat pada bagian contoh output program.

Selain itu, program juga akan menampilkan semua node yang ada di dalam tree, tentu saja lengkap dengan nilai dan nomor urutnya masing-masing menggunakan fungsi yang sudah dijelaskan di awal.

 

Rangkuman


Jadi program yang sederhana ini adalah program yang mengimplementasikan struktur data binary tree yang ditambahkan sedikit modifikasi.

Di mana setiap node memiliki nomor urutnya masing-masing tergantung dari posisinya di dalam tree tersebut.

Dan nomor urut ini sendiri bersifat statis, jadi setiap posisi sudah ada nomor urutnya masing-masing.

Tidak peduli apakah ada atau tidaknya node yang menempati posisi tersebut.

Konsep menempatkan nomor urut ini juga cocok untuk diterapkan pada binary tree.

Karena kita tahu bahwa setiap node pada binary tree bisa memiliki jumlah child node maksimal adalah 2.

Mungkin itu saja untuk artikel kali ini, silahkan bertanya jikalau masih ada bagian yang membingungkan buat kalian.

Terima kasih.

Bagikan:

Hans

Saya hanya manusia biasa yang ingin membagi ilmu dengan tulisan.