Artikel kali ini akan membahas sebuah program sederhana yang mengimplementasikan binary tree namun dengan tampilan mirror.

Apa maksud dari tampilan mirror tersebut? Mari langsung saja ke pembahasan.

 

Pendahuluan


Sebelum masuk ke sintaks program, kita akan bahas dulu sedikit tentang tree, binary tree dan tampilan mirror.

Tree sendiri adalah salah satu contoh dari sebuah struktur data.

Sesuai namanya, tree merepresentasikan banyaknya data dengan menggunakan ilustrasi dari sebuah pohon.

Sebuah tree umumnya terdiri dari node root atau akar serta node lain yang bisa saja menjadi parent atau child node.

Pembahasan tentang istilah seperti root, parent, child dan sebagainya tentang tree akan dibahas pada artikel yang berbeda.

Kemudian, satu buah node bisa memiliki banyak node child. Untuk contoh silahkan simak gambar berikut.

Tree

Namun untuk binary tree sendiri memiliki peraturan yang sedikit berbeda dengan gambar di atas.

Binary tree adalah sebuah struktur data tree yang setiap node-nya hanya bisa memiliki maksimal dua buah node child.

Baca juga : Tentang Binary Tree – Antek Teknologi.

Berikut adalah contoh sederhana dari binary tree.

Penjelesan singkat tentang tree dan binary tree sudah, sekarang kita beralih dengan tampilan mirror.

Maksud dari tampilan mirror adalah mencetak binary tree dengan tampilan yang seolah-olah menghadap ke sebuah cermin.

Untuk ilustrasi, kalian bisa lihat pada gambar berikut.

Binary Tree In Mirror Output

Terlihat pada gambar di atas, terdapat dua buah binary tree yang memiliki jumlah node yang sama, variasi data yang sama dan tampilan yang sama pula.

Namun jika diperhatikan lagi, ada sedikit perbedaan di antara keduanya.

Binary tree yang ada di sebelah kanan merupakan hasil cerminan dari binary tree yang ada di sebelah kiri, inilah yang saya sebut dengan tampilan mirror.

Tanpa berlama-lama lagi, mari kita lanjut ke sintaks program, contoh ouput serta penjelasan dari program tersebut.

 

Sintaks Program


Beralih dari pendahuluan, di sini juga sudah ada sebuah program sederhana yang dapat melakukan percetakan mirror itu.

Kunjungi saja alamat ini, hanpalla/Binary-Tree-Mirror (github.com) untuk dapat melihat programnya.

 

Contoh Output Program


Berikut ini adalah salah satu contoh output program pada artikel kali ini.

Kedua tampilan sama-sama dicetak menggunakan konsep preorder traversal.

Output

 

Penjelasan Program


Program ini memilikki tiga buah sub-fungsi yang bertugas untuk mendukung fungsi utama.

Fungsi-fungsi tersebut di antaranya adalah fungsi mirror, fungsi tambah dan fungsi preOrder.

Fungsi mirror bertugas untuk mengubah bentuk binary tree yang sudah ada ke dalam bentuk mirror.

Sedangkan fungsi tambah bertugas untuk menambah node baru dan fungsi preOrder untuk mencetak binary tree yang sudah secara preorder.

Preorder sendiri adalah teknik untuk mencetak setiap node pada binary tree dengan mengunjungi node root terlebih dahulu, lalu node sebelah kiri dan setelahnya node sebelah kanan.

Preorder traversal sendiri dijalankan secara rekursif dan kita akan bahas tentang preorder dan teman-temannya di artikel yang berbeda.

Saya tidak menjelaskan tentang preorder traversal pada artikel ini karena saya mengira setiap orang yang mengunjungi artikel ini seharusnya sudah paham tentang hal itu.

Jika masih bingung, silahkan perhatikan gambar contoh output dengan gambar yang memiliki dua buah binary tree tersebut.

Karena gambar dengan dua buah binary tree tersebut merupakan ilustrasi dari contoh output di atas.

Lanjut ke dalam program, program ini memiliki sebuah variabel dengan tipe data struct yang bertugas untuk menjadi node-node di dalam binary tree yang akan dibuat.

Setelah itu, program akan menjalankan fungsi tambah beberapa kali untuk menambahkan node baru dengan nilainya masing-masing.

Sebelum binary tree tadi diubah ke dalam bentuk mirror, program akan mencetaknya terlebih dahulu menggunakan fungsi preOrder.

Baru setelahnya, binary tree tadi akan dibawa masuk ke fungsi mirror untuk diubahkan posisi dari tiap node-nya.

Jika proses mirroring telah selesai, program akan menampilkan binary tree yang sudah dalam bentuk mirror tadi.

Untuk sintaks dan sebagainya terkait dengan program, silahkan pelajari sendiri karena sub-bab ini hanya membahas jalan kerjanya program.

 

Rangkuman


Baik itu tadi penjelasan tentang program pada artikel kali ini.

Sebuah program sederhana yang menampilkan data yang berada di dalam sebuah binary tree.

Namun binary tree yang tampil adalah binary tree yang seolah-olah sedang bercermin.

Jadi setiap data yang berada di dalamnya sudah berpindah ke tempat yang berlawanan.

Semoga artikel kali ini tidak membingungkan dan mudah untuk dipahami, terima kasih.

Bagikan:

Hans

Saya hanya manusia biasa yang ingin membagi ilmu dengan tulisan.