Selasa, 09 Juli 2024

Tree

 Memahami Konsep Tree dalam Pemrograman C++

    
    Tree adalah salah satu struktur data yang sangat penting dalam ilmu komputer dan pemrograman. Tree terdiri dari node-node yang dihubungkan dengan edge (sisi), di mana satu node disebut root dan setiap node lainnya memiliki satu parent (induk) dan bisa memiliki beberapa child (anak). Tree sering digunakan dalam berbagai aplikasi, seperti pencarian informasi, pengelolaan hierarki data, dan implementasi struktur data kompleks. Dalam blog ini, kita akan membahas dasar-dasar tree, cara menambah node, menghapus node, dan melakukan traversal pada tree menggunakan bahasa pemrograman C++..

Apa itu Tree?

    Tree adalah struktur data hierarkis yang terdiri dari node-node, di mana satu node disebut root dan node lainnya memiliki satu parent dan bisa memiliki beberapa child. Tree digunakan untuk merepresentasikan hubungan hierarkis antara elemen-elemen data.

Mengapa Tree Penting?

    Tree penting karena menyediakan cara yang efisien untuk menyimpan dan mengelola data yang memiliki hubungan hierarkis. Tree memungkinkan pencarian, penambahan, dan penghapusan data dilakukan dengan cepat dan efisien.



Program Tree


    Berikut ini adalah implementasi dasar dari tree menggunakan linked list dengan berbagai operasi dasar:



  • Terdapat variabel `label` bertipe char.
  • Terdapat variabel `left`, `right`, `parent` bertipe struct Node.

1. Deklarasi


            Deklarasi dilakukan setelah penulisan struct dari Node.


            root            : merupakan elemen teratas dari sebuah tree.
            newNode   : digunakan untuk membuat node baru.


2. Membuat Elemen Pertama / Root

 
        Hal pertama yang dilakukan setelah pendeklarasian dan penulisan struct linked list adalah membuat elemen pertama dengan menggunakan method create(). Method ini digunakan hanya sekali untuk satu tree. Karena method ini, digunakan untuk membuat root dimana root adalah akar dari sebuah tree.    





3. Menambahkan Elemen Node Child Left


        Untuk menambahkan elemen node child left, kita bisa menggunakan method insertLeft() dibawah ini. Fungsi ini akan menambahkan node yang dihubungkan ke pointer left dari root. Pointer parent dari node child left yang baru akan dihubungkan ke root. Intinya, fungsi ini digunakan ketika ingin menambahkan child di sebelah kiri.





4. Menambahkan Elemen Node Child Right


        Untuk menambahkan elemen node child right, kita bisa menggunakan method insertRight() dibawah ini. Fungsi ini akan menambahkan node yang dihubungkan ke pointer right dari root. Pointer parent dari node child right yang baru akan dihubungkan ke root. Intinya, fungsi ini digunakan ketika ingin menambahkan child di sebelah kanan.






5. Memperbarui Elemen pada Tree


        Untuk memperbarui elemen pada tree, kita bisa menggunakan method update() dibawah ini. Fungsi ini akan memperbarui data yang ada pada tree, sesuai dengan parameter yang diinputkan.





6. Menghapus Elemen pada Tree


        Untuk menghapus elemen pada tree, kita bisa menghapus salah satu elemen atau semua elemen sekaligus. Jika menghapus salah satu elemen, kita bisa  menggunakan method deleteSub(). Jika ingin menghapus semua elemen tree, kita bisa menggunakan method clear(). Fungsi deleteSub() dan fungsi clear() didalamnya menggunakan fungsi deleteTree(). Fungsi deleteTree() digunakan untuk rekursif penghapusan node-nya.






7. Menampilkan Elemen dengan PreOrder


        Untuk menampilkan elemen dengan cara PreOrder, kita bisa meggunakan method preOrder() dibawah ini. Pada preOrder, elemen yang akan tampil berurutan yaitu root-left-right.





8. Menampilkan Elemen dengan InOrder


        Untuk menampilkan elemen dengan cara inOrder, kita bisa meggunakan method inOrder() dibawah ini. Pada inOrder, elemen yang akan tampil berurutan yaitu left-root-right.






9. Menampilkan Elemen dengan PostOrder


        Untuk menampilkan elemen dengan cara postOrder, kita bisa meggunakan method postOrder() dibawah ini. Pada postOrder, elemen yang akan tampil berurutan yaitu left-right-root.




10. Program Main


        Pada program main, terlebih dahulu kita buat root dengan cara menggunakan method create(). Setelah itu kita bisa deklarasi variabel pointer child node bertipe Node. Lalu kita bisa inisialisasi node sesuai penempatannya left atau right sekaligus mengisi parameter dengan nama label dan child dari node apa.






Kesimpulan



            Tree adalah struktur data yang sangat penting dalam pemrograman karena kemampuannya untuk mengelola data yang memiliki hubungan hierarkis dengan efisien. Implementasi di atas memberikan dasar untuk memahami dan menggunakan tree dalam pemrograman C++. Struktur data ini sangat penting dalam pencarian informasi, pengelolaan hierarki data, dan banyak lagi.


Tidak ada komentar:

Posting Komentar

Tree

 Memahami Konsep Tree dalam Pemrograman C++           Tree adalah salah satu struktur data yang sangat penting dalam ilmu komputer dan pemro...