Anda di halaman 1dari 8

ALGORITMA DAN STRUKTUR DATA II

LAPORAN PRAKTIKUM PROGRAM BST

Dosen Pengampu :

Oskar Ika Adi Nugroho., S.T., M.T.

Nama : Samson Sugiyarto

NIM : 201601041

JURUSAN SISTEM INFORMASI

SEKOLAH TINGGI ILMU KOMPUTER YOS SUDARSO

PURWOKERTO

2017
BINARY SEARCH TREE

Menurut (WIKIPEDIA, 2017) Definisi dari Binary Search Tree adalah Pohon biner berakar , yang simpul
internalnya masing-masing menyimpan sebuah kunci (dan secara opsional, nilai yang terkait) dan masing-masing
memiliki dua sub pohon yang berbeda, yang biasanya dilambangkan kiri dan kanan . Pohon tersebut juga
memenuhi properti pohon pencarian biner, yang menyatakan bahwa kunci di setiap simpul harus lebih besar dari
atau sama dengan kunci yang tersimpan di sub-pohon kiri, dan kurang dari atau sama dengan kunci yang
tersimpan di sub-pohon yang tepat.

PROGRAM BINARY SEARCH TREE

A. SOURCE CODE
B. OUTPUT
C. URAIAN PENJELASAN

- Gambar diatas merupakan pembuatan tipe data baru bernama BstNode dengan 2 pendeklarasian
yaitu variabel pointer left dan right.

- Merupakan pembuatan pointer node baru (deklarasi data int data) fungsi yang akan menghasilkan
masukan data.
- Pointer dari newNode sama dengan fungsi new BstNode() artinya dalam pointer newNode, hasil
sama akan dimasukan pada fungsi new BstNode().
- Penambahan data jika dimasukan data pada node baru newNode->data merupakan sama dengan data
masukan.
- Pada node baru kiri dan kanan isian sama dengan NULL.

- Merupakan fungsi masukan pada pointer root, data.


- Terdapat kondisi dimana jika root sama dengan NULL maka pada root akan membuat node baru pada
fungsi pada data.
- Terdapat kondisi lain dimana data yang dimasukan jika lebih kecil dari root, maka masukan data akan
ke arah kiri pada root, sedangkan jika data lebih besar dari root, maka data akan ke arah kanan pada
root.
- Bool merupakan tipe data untuk menyatakan kondisi benar atau salah.
- Fungsi search terdapat pointer root, data yang artinya proses pencarian terdapat pada ponter
penunjuk root, data.
- Terdapat kondisi dimana apabila root bernilai NULL maka false.
- Kondisi lain apabila root terdapat pada isian data yang telah kita tentukan sebelumnya, maka true.
- Kondisi lain, apabila data kurang dari root maka akan mencari arah kiri, apabila data lebih besar maka
akan mencari sebelah kanan.

- Fungsi int main adalah fungsi utama dimana program akan membaca untuk pertama kali.
- BstNode* root pointer ke root berarti terhubung pada root.
- Pernyataan root isiannya NULL
- Terdapat root dimana isianya fungsi masukan, 15, 10, 20, 8,12,17,25. Yang nanti nya akan digunakan
pada saat mode pencarian untuk menentukan apakah data yang dimasukan nantinya bernilai true atau
false. Bernilai true, apabila data yang dimasukan sesuai dengan data yang ada. Bernilai false apabila
data yang dimasukan tidak sesuai data yang ada.
- Menyatakan sebuah pernyataan dimana fungsi search pada fungsi root,number bernilai benar
ketemu apabila pada hasil pencarian search pada root dan pada number sesuai dengan data yang
ada, jika tidak sesuai dengan data yang ada maka Tidak ketemu
D. BINARY SEARCH TREE (POHON)

Diketahui bahwa apabila angka masukan lebih kecil dibanding angka yang telah dimasukan sebelumnya
maka pohon bercabang ke kiri, dan apabila lebih besar maka pohon bercabang ke kanan.

- Pendeklarasian pada awal diketahui root sama dengan NULL

NULL

- Terdapat masukan angka 15 pada root, sehingga root menjadi 15

15

- Terdapat masukan angka 10. 10 < 15 = cabang ke kiri

15

10

- Terdapat masukan angka 20. 20 >15 = cabang ke kanan

15

10 20

- Terdapat masukan angka 8. 8 < 15 = arah cabang kiri, 8 < 10 = cabang kiri

15

10 20

- Terdapat masukan angka 12. 12 < 15 = arah cabang kiri, 12 > 10 = cabang kanan

15

10 20

8 12
- Terdapat masukan angka 17. 17 > 15 = arah cabang kanan, 17 < 20 = cabang kiri

15

10 20

8 12 17

- Terdapat masukan 25. 25 > 15 = arah cabang kanan, 25 > 20 = cabang kanan

15

10 20

8 12 17 25

E. PROSES PENCARIAN DATA

Pada proses pencarian data, jika data yang dicari berada pada pohon maka data tersebut true ketemu.
Jika data tidak berada pada pohon maka data tersebut false tidak ketemu.

Contoh pencarian data pada tree untuk mencari angka 25 :

25 > 15, maka data ke arah cabang kanan


15
25 > 20, maka data ke arah cabang kanan

10 20
25 = 25, data ketemu
8 12 17 25

Dari gambar diatas dapat dilihat bahwa data ketemu setelah dianalisa pada proses pencarian data.
DAFTAR PUSTAKA

ALGORITMA DAN STRUKTUR DATA TREE. (2013, April 3). Retrieved from
https://sumbersinau.wordpress.com/2013/04/30/algoritma-dan-struktur-data-tree/
Pohon Biner. (2016, Januari 6). Retrieved from https://id.wikipedia.org/wiki/Pohon_biner
WIKIPEDIA. (2017, Oktober 31). Binary search tree. Retrieved from
https://en.wikipedia.org/wiki/Binary_search_tree

Anda mungkin juga menyukai