Makalah ini membahas tentang implementasi pohon biner dengan menjelaskan pengertian pohon biner, jenis-jenisnya, kunjungan pada pohon biner, dan contohnya dalam kehidupan sehari-hari. Kemudian dijelaskan script dan hasil compile untuk membuat program pohon biner."
Program Pembelian Barang Dan Pencetakan Struk BSI Mart Menggunakan Bahasa Pem...
Makalah Kunjungan Binary Tree
1. KUNJUNGAN PADA
POHON BINER
TUGAS KULIAH
Diajukan untuk memenuhi salah satu tugas mata kuliah Struktur Data.
Disusun Oleh :
1. Muhammad Iqbal NIM 12150587
2. Yekti Amurwani NIM 12151891
3. Mohammad Hasan NIM 12154096
4. Emmie Astari NIM 12153639
5. Sonia Valencia NIM 12153778
Program Studi Manajemen Informatika
Akademi Manajemen Informatika dan Komputer Bina Sarana Informatika
Jakarta
2016
2. i
Kata Pengantar
Puji syukur Kehadirat Allah Tuhan Yang Maha Esa atas petunjuk, rahmat, dan hidayah-
Nya penulis dapat menyelesaikan makalah “Aplikasi Pohon Biner Lanjutan” dengan baik dan
dalam waktu yang telah ditetapkan.
Makalah ini disusun berdasarkan pengalaman dan ilmu yang kami peroleh selama
melaksanakan kegiatan belajar mengajar di BSI Jatiwaringin.
Makalah yang telah kami tulis ini dibuat dalam rangka memenuhi tugas mata kuliah Struktur
Data sebagai bahan pertanggung jawaban atas pemahaman selama kegiatan belajar mengajar ini.
Kami menyadari bahwa makalah ini tidak akan tersusun dengan baik tanpa adanya bantuan dari
pihak-pihak terkait. Oleh karena itu, pada kesempatan ini tidak lupa kami juga mengucapkan
terima kasih kepada :
1. Syuchrisyanti Ari S selaku dosen pengajar mata kuliah Perancangan Basis Data.
2. Teman kelas kami Nurhayati yang telah membantu kami dalam perancangan Teori
Pohon Biner.
Serta teman- teman yang telah bekerja sama menyelesaikan makalah
Semoga makalah ini dapat memberikan pengetahuan yang lebih luas kepada pembaca. Walaupun
makalah ini memiliki kelebihan dan kekurangan. Penyusun membutuhkan kritik dan saran dari
pembaca yang membangun. Terima kasih.
Jakarta,11 April 2016.
Penulis
3. ii
DAFTAR ISI
Kata Pengantar ..................................................................................... i
DAFTAR ISI....................................................................................... ii
I PENDAHULUAN ................................................................... 1
I.A LATAR BELAKANG................................................................................................................1
I.B RUMUSAN MASALAH...........................................................................................................2
I.C TUJUAN PENULISAN.............................................................................................................2
I.D Sistematika Penulisan ..........................................................................................................2
II LANDASAN TEORI............................................................... 4
II.A Pengertian Binary Tree.........................................................................................................4
II.B Jenis-Jenis Pohon Biner........................................................................................................4
II.C Kunjungan Pohon Biner........................................................................................................6
II.D Contoh Pohon Biner dalam Kehidupan Sehari-hari.................................................................8
III PEMBAHASAN...................................................................... 9
III.A UMUM................................................................................................................................9
III.B SCRIPT.................................................................................................................................9
III.C COMPILE...........................................................................................................................15
IV PENUTUP............................................................................. 20
IV.A Kesimpulan........................................................................................................................20
IV.B Saran ................................................................................................................................20
IV.C Daftar Pustaka...................................................................................................................20
4. 1
BAB I
I PENDAHULUAN
I.A LATAR BELAKANG
Pohon Biner memberikan penjelasan tentang suatu simpul yang memiliki karaterisik
paling banyak dua anak. Pemakaian pohon biner yang tepat di dalam proses pemrograman akan
menghasilkan struktur data yang lebih jelas dan tepat sehingga salah satu bentuk struktur data
tidak linear yang menggambarkan hubungan yang bersifat hirarkis (hubungan one to many)
antara elemen-elemen. Tree bisa didefinisikan sebagai kumpulan simpul/node dengan satu
elemen khusus yang disebut Root dan node lainnya terbagi menjadi himpunan-himpunan yang
saling tak berhubungan satu sama lainnya (disebut subtree).Tree juga adalah suatu graph yang
acyclic, simple, connected yang tidak mengandung loop.Sebuah binary search tree (bst) adalah
sebuah pohon biner yang boleh kosong,dan setiap nodenya harus memiliki identifier/value. value
pada semua node subpohon sebelah kiri adalah selalu lebih kecil dari value dari root, sedangkan
value subpohon di sebelah kanan adalah sama atau lebih besar dari value pada root,
masing– masing subpohon tersebut (kiri&kanan) itu sendiri adalah juga bst.
Struktur data bst sangat penting dalam struktur pencarian, misalkan, dalam kasus
pencarian dalam sebuah list, jika list sudah dalam keadaan terurut maka proses pencarian akan
sangat cepat, jika kita menggunanan list contigue dan melakukan pencarian biner. akan tetapi,
jika kita ingin melakukan perubahan isi list (insert atau delete), menggunakan list contigue akan
sangat lambat, karena proses insert dan delete dalam list continue butuh memindahkan banyak
elemen setiap saat. mungkin kita bisa juga menggunakan linked-list, yang untuk operasi
insert atau delete tinggal mengatur– atur pointer, akan tetapi pada n-linked list, kita tidak bisa
melakukan pointer sembarangan setiap saat, kecuali hanya satu kali dengan kata lain hanya
secara sequential.
5. 2
I.B RUMUSAN MASALAH
Adapunbentukmasalahyangakanpenulisbahasadalah :
1. Apa pengertianpohonbiner?
2. Apa sajajenis-jenispohonbiner?
3. Apa pengertianPrefix,Infix,danPostfix?
4. Bagaimanaimplementasi aplikas pohonbiner?
I.C TUJUAN PENULISAN
Adapun tujuan penulisan makalah ini adalah :
1. Mahasiswa dapat memahami tentang Pohon Biner Lanjutan.
2. Mahasiswa dapat memahami dan mampu merancang Pohon Biner Lanjutan.
I.D Sistematika Penulisan
Adapun sistematika penulisan makalah ini adalah sebagai berikut :
6. 3
Daftar Isi
Kata Pengantar
I Pendahuluan
I.A Latar Belakang
I.B Rumusan Masalah
I.C Tujuan Penulisan
II. Landasan Teori
II.A Pengertian Binary Tree
II.B Jenis-Jenis Pohon Biner
II.C Kunjungan Pada Pohon Biner
II.D Contoh Pohon Biner dalam Kehidupan Sehari-hari
III. Pembahasan
III.A Umum
III.B Script
III.C Compile
IV. Penutup
IV.A Kesimpulan
IV.B Saran
IV.C Daftar Pustaka
7. 4
II LANDASAN TEORI
II.A Pengertian Binary Tree
Pohon biner merupakan jenis pohon m-er (m-ary tree)yang simpul cabangnya memiliki
maksimal dua anak. Karena anak dari suatu cabang maksimalnya hanya dua, maka anak cabang
ini namakan vabang kiri atau cabang kanan.
Karakteristik Pohon Biner (Binary Tree) :
1. Setiap simpul paling banyak hanya memiliki dua buah anak
2. Derajat tertinggi darisetiap simpul adalah dua
3. Dibedakan antara cabang kiri dan cabang kanan
Proses traversing dari sebuah binary tree artinya melakukan kunjungan pada setiap
simpul pada suatu pohon biner tepat satu kali. Dengan melakukan kunjungan secara lengkap, kita
akan memperoleh informasi secara linear yang tersimpan dalam pohon biner. Secara linear
dimaksudkan secara garis lurus atau searah. Dalam melakukan kunjungan pada sebuah pohon
biner, kita akan memperlakukan hal yang sama pada setiap simpul pada cabang-cabangnya.
II.B Jenis-Jenis Pohon Biner
a) Full Binary Tree
Binary Tree yang tiap nodenya (kecuali leaf) memiliki dua child dan tiap subtree harus
mempunyai panjang path yang sama.
8. 5
b) Complete Binary Tree
Mirip dengan Full Binary Tree, namun tiap subtree boleh memiliki panjang path yang berbeda.
Node kecuali leaf memiliki 0 atau 2 child.
c) Skewed Binary Tree
Yakni Binary Tree yang semua nodenya (kecuali leaf) hanya memiliki satu child.
9. 6
II.C Kunjungan Pohon Biner
Pembagian Pada Kunjungan Pohon Biner
Kunjungan pada pohon biner merupakan salah satu operasi yang sering di lakukan pada
suatu pohon biner tepat satu kali (binary tree transversal). Binary tree dapat di implementasikan
dalam C++. Operasi ini di bagi menjadi 3 bentuk :
1.) Kunjungan secara PreOrder (Depth First Order)
Mempunyai urutan :
a.Cetak isi simpul yang dikunjungi (simpul akar)
b.Kunjungi cabang kiri
o Jika kiri bukan kosong (tidak Null) mulai lagi dari langkah pertama,terapkan
untuk kiri tersebut.
o Jika kiri kosong (Null), lanjutkan ke langkah ke tiga.
c.Kunjungi cabang kanan
o Jika kanan bukan kosong (tidak Null) mulai lagi dari langkah
pertama,terapkan untuk kanan tersebut.
o Jika kanan kosong (Null), proses untuk node ini selesai,tuntaskan proses yang
sama untuk node yang dikunjungi sebelumnya.
2.) Kunjungan Secara InOrder (Symmetric Order)
Mempunyai urutan :
a. Kunjungi cabang kiri
o Jika kiri bukan kosong (tidak Null) mulai lagi dari langkah pertama, terapkan untuk kiri
tersebut.
o Jika kiri kosong (Null), lanjut ke langkah kedua.
b. Cetak isi simpul yang dikunjungi (simpul akar)
c. Kunjungi cabang kanan.
o Jika kanan bukan kosong (tidak Null) mulai lagi dari langkah pertama, terapkan untuk
kanan tersebut.
o Jika kanan kosong(Null), proses untuk node ini selesai. Tuntaskan proses yang sama
untuk node yang dikunjungi sebelumnya.
10. 7
3.) Kunjungan secara PostOrder
Mempunyai urutan :
a. Kunjungi cabang kiri
o Jika kiri bukan kosong (tidak Null) mulai lagi dari langkah pertama, terapkan untuk kiri
tersebut.
o Jika kiri kosong (Null),lanjut kelangkah kedua.
b. Kunjungi cabang kanan
o Jika kanan bukan kosong (tidak Null) mulai lagi dari langkh pertama,terapkan untuk
kanan tersebut.
o Jika kanan kosong (Null),proses untuk node ini selesai, tuntaskan proses yang sama untuk
node yang dikunjungi sebelumnya.
c. Cetak isi simpul yang dikunjungi (simpul akar)
Pada ketiga cara kunjungan diatas ,kunjungan kecabang kiri dilakukan terlebih dahulu,
baru kemudian kunjungan kecabang kanan. Dengan orientasi semacam ini ketiga kunjungan
diatas disebut dengan left to right oriented atau LRO. Jika kunjungan ke cabang kanan dilakukan
lebih dahulu baru kemudian kunjungan kecabang kiri, maka orientasi semacam ini disebut right
to left oriented atau RLO.
4.) Level Order
Selain kunjungan yang dijelaskan diatas, masih ada satu macam kunjungan lagi yaitu
kunjungan Level Order.
Kunjungan dimulai dari simpul yang ada pada tingkat 1 (akar), diteruskan pada simpul tingkat
2,tingkat 3 dan seterusnya.
Secara singkat kunjungan level order ini dapat dijelaskan sebagai berikut :
1. Dimulai dengan memasukan akar ke dalam antrian
2. Kemudian mengeluarkan akar tersebut dari antrian.
Pada saat akar tersebut dikeluarkan dari antrian, cabang kiri dankana secara berturut-turut
dimasukan kedalam antrian. Dengan kata lain , jika suatu elemen dikeluarkan dari antrian , maka
cabang kiri dan kanan dari elemen yang baru saja dikeluarkan dimasukan kedalam antrian.
11. 8
II.D Contoh Pohon Biner dalam Kehidupan Sehari-hari
Dalam kehidupan sehari-hari, tree dapat dilihat dari pohon silsilah keluarga. Tingkat yang
tertinggi disebut juga sebagai root.
Untuk lebih jelasnya lihat gambar 6.1 merupakan
contoh dari sebuah tree.
Jika kita memperhatikan gambar ditas, sebenarnya yang disebut dengan simpul
(node atau vertex) adalah elemen pohon yang berisi informasi / data dan petunjuk percabangan.
Pada pohon diatas memiliki 15 simpul yang berisi informasi berupa huruf A, B, C, D sampai O
lengkap dengan percabangannya. Akar / Root dari pohon diatas berisi huruf A.
Tingkat (level) suatu simpul ditentukan dengan pertama kali menentukan akar sebagai
bertingkat 1. jika suatu simpul dinyatakan sebagai tingkat N, maka simpul-simpul yang
merupakan anaknya dikatakan berada dalam tingkat N+1. pada pohon diatas
merupakan tree dengan 5 level.
12. 9
III PEMBAHASAN
III.A UMUM
Berdasarkan rumusan masalah yang sudah kami paparkan sebelumnya, kami membuat sebuah
rancangan struktur dan sistem Pohon Biner Lanjutan. Selain itu, kami lampirkan script dan
setelah compile.
III.B SCRIPT
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
struct tree_node{
intdata;
tree_node *left;
tree_node *right;
};
tree_node *root;
inttmp_tree[20];
bool isEmpty(){
returnroot==NULL;
}
voidinsert( intd ) {
tree_node *tree = newtree_node;
tree_node *parent;
18. 15
III.C COMPILE
Menu awal :
Konten Keterangan
Insert / Tambah Data Sebagai pilihan untuk menambahkan data pada
binary tree.
Kunjungan PreOrder Sebagai pilihan untuk membuat kunjungan preorder
dari binary tree.
Kunjungan InOrder Sebagai pilihan untuk membuat kunjungan inorder
dari binary tree
Kunjungan PostOrder Sebagai pilihan untuk membuat kunjungan postorder
dari binary tree.
Exit Sebagai pilihan untuk keluar program.
Binary Tree Untuk menampilkan data dari binary tree.
Pilihan Anda Sebagai inputan pilihan pengguna.
Tabel Keterangan Menu Awal.
19. 16
Insert data :
Gambar diatas adalah program jika diinputkan pilihan 1 (Insert / Tambah Data) dan
diinputkan nilai 9 untuk di insert kedalam pohon biner.
Gambar diatas adalah program jika data sudah diinputkan data pada pohon biner, dan
gambaran pohon biner yang sudah diinputkan dengan data dumy.
20. 17
Kunjungan :
o PreOrder
Gambar diatas adalah program jika diinputkan pilihan 2 (Kunjungan PreOrder) untuk dibuatkan
kunjungan preorder, dan gambaran pohon biner kunjungan PreOrder.
21. 18
o InOrder
Gambar diatas adalah program jika diinputkan pilihan 3 (Kunjungan InOrder) untuk dibuatkan
kunjungan InOrder, dan gambaran pohon biner kunjungan InOrder.
22. 19
o PostOrder
Gambar diatas adalah program jika diinputkan pilihan 3 (Kunjungan PostOrder) untuk dibuatkan
kunjungan PostOrder, dan gambaran pohon biner kunjungan PostOrder.
23. 20
IV PENUTUP
IV.A Kesimpulan
Dengan adanya Diagram yang penulis rancang dapat diambil kesimpulan sebagai berikut
1. Mahasiswa mengetahui dan memahami Kunjungan pada Pohon Biner
2. Mahasiswa mampu merancang Kunjungan Pada Pohon Biner
3. Mahasiswa mengetahui konsep Kunjungan pada Pohon Biner
4. Mahasiswa mampu bekerja sama dalam kelompok kerja untuk menyelesaikan tugas
project sesuai dengan tema yang diberikan
5. Mahasiswa mampu membuat dan mempresentasikan project dengan uraian materi
sebelumnya dan di implementasikan kedalam bahasa C++
IV.B Saran
Untuk mendapatkan hasil yang optimal, beberapa hal yang perlu diperhatikan :
1. Perlunya memahami konsep dari kunjungan pada Pohon Biner itu sendiri
2. Memeriksa kembali kunjungan Prefix, Infix dan Postfix
3. Melakukan maintance / perawatan secara berkala pada sistem software maupun hardware
agar sistem dapat terus berfungsi dengan baik.
4. “Back Up” data sangat diperlukan untuk menghindari kehilangan data karena kerusakan
media penyimpanan yang dapat timbul.
IV.C Daftar Pustaka
1. Sumber Sinau, Algoritma dan Struktur Data Tree,
https://sumbersinau.wordpress.com/2013/04/30/algoritma-dan-struktur-data-tree/
2. Ibrahim Manorek, Pohon Biner,
http://ibrahimmanorek.blogspot.co.id/2011/03/1.html
3. Aulia Zurra, Makalah Binary Tree,
https://www.scribd.com/doc/94109071/Makalah-Binary-Tree