Anda di halaman 1dari 12

MATEMATIKA DISKRIT

POHON PENCARIAN
Dosen pengampu : Drs . Sujalwo M.Kom

Disusun oleh :
Alfianto Andy Pamungkas (L200180194)
Amartya Maulana (L200180196)
Danang Ady Saputro W (L200180205)
Daftar Isi
BAB 1 ..................................................................................................................................................... 3
PENDAHULUAN .................................................................................................................................. 3
A. Latar Belakan Masalah................................................................................................................ 3
B. Rumusan Masalah ....................................................................................................................... 3
C. Tujuan ......................................................................................................................................... 3
BAB 2 ..................................................................................................................................................... 4
ISI............................................................................................................................................................ 4
A. Definisi Pohon ............................................................................................................................ 4
B. Pohon Pencarian.......................................................................................................................... 5
1. Pembentukan BST .................................................................................................................. 5
2. Penghapusan simpul................................................................................................................ 8
3. Pohon cari optimal .................................................................................................................. 9
C. Penerapan dari pohon pencarian. ................................................................................................ 9
BAB 3 ................................................................................................................................................... 12
Penutup ................................................................................................................................................. 12
A. Kesimpulan ............................................................................................................................... 12
BAB 1
PENDAHULUAN

A. Latar Belakan Masalah

Tree merupakan 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 yangdisebut Root dan
node lainnya terbagi menjadi himpunan-himpeunan yang saling tak berhubungan satu sama
lainnya (disebut subtree).
Tree juga adalah suatu graph yangacyclic, 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 disebelah kanan adalah sama
atau lebih besar dari value pada root, masing–masing subpohon tersebut (kiri&kanan) itu
sendiri adalah juga bst.
Pohon juga sering kali didefinisikan sebagai graf tak-berarah dengan sifat bahwa hanya
terdapat suatu lintasan unik antara setiap pasang simpul, setiap simpul terhubung dengan
lintasan tunggal .

B. Rumusan Masalah
Adapun rumusan masalah pada pembahasan bab ini meliputi :
1. Bagaimana pengertian pohon ?
2. Bagaimana pengertian pohon pencarian ?
3. Bagaimana penerapan pohon pencarian ?

C. Tujuan
Adapun tujuan dari pembahasan dalam makalah ini meliputi :
1. Untuk mengetahui pengertian pohon.
2. Untuk mengetahui pengertian dan penjelasan tentang pohon pencarian .
3. Untuk mengetahui penerapan dari pohon pencarian .
BAB 2
ISI

Permasalahan

Pohon pencarian biner ( binary search tree) mungkin adalah pohon biner yang paling
penting, khususnya pada pesoalan yang banyak melakukan operasi pencarian, penyisipan, dan
penghapusan elemen. Untuk operasi semacam itu, pohon pencarian biner memiliki kinerja yang
lebih baik daripada struktur data lain, yang dalam hal ini waktu pencarian. Lalu bagaimanakah
pembentukan pohon cari biner , penghapusan simpul dan bagaimana menentukan pohon cari
biner yang optimal serta contoh penerapanya ?
Penyelesaian

A. Definisi Pohon

Pohon sudah digunakan sejak tahun 1857, ketika matematikawan inggris Arthur Cayley
menggunakana pohon untuk mengitung jumah senyawa kimia . Pada pembahasan makalah ini
pohon dibahas dari sudut pandang teori graf . Tree merupakan 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. Tree juga adalah suatu graph yang acyclic,
simple, connected yang tidak mengandung loop.
Sebuah pohon dapat mempunyai hanya sebah simpul tanpa sebuah sisipun. Dengan kata
lain, jika G = (V,E) adalah pohon maka V tidak boleh berupa himpunan kosong, namun E boleh
kosong. Pada sebagian literatur, pohon yang dimaksud pohon adalah graf tak berarah terhubung
yang tidak mengandung sirkuit sering disebut juga pohon bebas (free tree) untuk membedakan
pohon berakar (rooted tree).
Pohon (tree) adalah graf tak-berarah terhubung yang tidak mengandung sirkuit. Pohon
juga seringkali didefinisikan sebagai graf tak-berarah dengan sifat bahwa hanya terdapat
sebuah lintasan unik antara setiap pasang simpul . perhatikan gambar berikut :

(a) (b)
Graf (a) merupakan pohon , sedangkan (b) bukan merupakan tree . dari penjelasan diatas dan
gambar diatas maka sebuah tree (pohon) :
- Tidak mempunyai lingkar ( loop ).
- Merupakan graf terhubung.
- Banyaknya rusuk / sisi = n-1.
Graf (a) merupakan pohon karena memenuhi ciri diatas. Untuk graf (b) bukan merupakan
pohon karena jumlah simpul sama dengan jumlah sisinya sehingga tidak memenuhi ciri
diatas.

Beberapa pohon dapat membentuk hutan. Hutan atau forest adalah kumpulan pohon
yang saling lepas. Kita dapat juga menyatakan bahwa hutan adalah graf tak terhubung yang
tidak mengandung sirkuit yang dalam hal ini setiap komponen dalam graf terhubung tersebut
adalah pohon.

B. Pohon Pencarian
Pohon pencarian biner adalah pohon biner yang setiap kuncinya diatur dalam suatu
urutan tertentu Simpul pada pohon pencarian dapat berupa field kunci ( kunci) pada data record,
atau data itu sendiri (dengan catatan setiap data adalah unik ). Kunci adalah nilai yang
membedakan setiap simpul dengan simpul yang lainya . Kunci harus unik, karena itu tidak ada
dua buah simpul atau lebih yang mempunyai kunci yang sama.
1. Pembentukan BST
Pohon pencarian biner adalah pohon biner yang setiap kuncinya diatur dalam suatu
urutan tertentu. Ketentuan pengaturan kunci adalah sebagai berikut , Jika R adalah akar,
dan semua kunci yang tersimpan pada setiap simpul tidak ada yang sama maka :
1. Semua simpul pada subpohon kiri mempunyai kunci lebih kecil dari kunci (R)
2. Semua simpul di subpohon kanan mempunyai kunci nilai lebih besar dari
kunci (R).
Atau dapat diartikan
Kunci(T1) < Kunci(R)
Kunci(T2) > Kunci(R)
Contoh soal :
- Diberikan masukkan berupa rangkaian karakter dengan urutan sebagai berikut :
P,T,B,F,H,K,N,S,A,U,M,I,D,C,W,O
Gambarkan pohon pencarian yang terbentuk :
Jawab :
P

B T

A F S U

D H W

C K

I N

M O

- Diketahun deret bilangan 11 ,6, 2, 4, 1, 10, 21, 17, 19, 9, 12


Tentukan Binary search tree
Jawab :
- Gambarkan kedalam pohon biner pencarian untuk data masukan dengan urutan sebagai
berikut : 50, 32, 18, 40, 60, 52, 5, 25, 70
Jawab :
50

32 60

18 40 52 70

5 25

- Bangunlah pohon pencarian (search tree) dengan urutan pembacaan data adalah pisang,
anggur, apel, kelapa, mangga, pepaya, jambu, rambutan, dan durian.
Jawab :
pisang

anggur rambutan

apel
kelapa

jambu mangga

durian pepaya

2. Penghapusan simpul
Apabila dilakukan penghapusan simpul, harus tetap dijaga agar syarat pohon cari
binar tetap terpenuhi.Penghapusan pada simpul daun mudah dilakukan karena tidak
mempengaruhi posisi simpul lainnya.Jika simpul yang akan dihapus memiliki hanya satu
subpohon (kiri atau kanan) maka akar dari subpohon tersebut langsung menggantikan
posisi simpul yang dihapus.Jika simpul yang dihapus memiliki subpohon kiri dan kanan,
maka harus ditentukan subpohon mana yang akan menggantikan posisi simpul yang
dihapus sedemikian sehingga syarat pohon cari binar tetap terpenuhi.
Algoritma:
- Jika pohon hampa, maka penghapusan yang dilakukan gagal. Berhenti. Jika tidak, lakukan
(2).
- Jika n < Ri (akar), subpohon kiri dari Ri diselidiki sampai ditemukan simpul yang telah
ditentukan untuk dihapus.
- Jika n > Ri, maka subpohon kanan dari Ri diselidiki sampai ditemukan simpul yang telah
ditentukan untuk dihapus.
- Jika n = Ri dan subpohon kiri dan subpohon kanan hampa, maka hapus Ri.
- Jika n = Ri dan subpohon kirinya hampa, maka hapus Ri, kemudian ambil akar dari
subpohon kanan untuk menggantikan posisi Ri. Pohon baru akan memenuhi sifat sebagai
pohon cari lagi.
- Jika n = Ri dan subpohon kanannya hampa, maka hapus Ri. Ambil akar dari subpohon
kiri untuk menggantikan posisi Ri. Pohon baru akan memenuhi sifat sebagai pohon cari
lagi.
- Jika n = Ri dan subpohon kanan tidak hampa, maka untuk menggantikan posisi Ri yang
dihapus, kita tentukan suatu simpul, mungkin dari subpohon kiri atau mungkin dari
subpohon kanan, sedemikian sehingga pohon yang terbentuk kembali memenuhi sifat
sebagai pohon cari lagi.
3. Pohon cari optimal

Kelima pohon di atas merupakan pohon cari binar untuk simpul-simpul yang
sama.Jika dilakukan pencarian terhadap suatu simpul, pohon manakah yang paling baik,
artinya upaya pencarian tersingkat.Pencarian singkat jika jumlah perbandingan paling
sedikit. Yang dimaksudkan dengan banyak perbandingan yang dilakukan adalah
banyaknya simpul pada jalur cari, yaitu jalur yang berawal dari akar dan berakhir di simpul
record yang kita cari tersebut
Simpul dari pohon diatas :
POHON BANYAK PERBANDINGAN
A 2
B 3
C 1
D 3
E 2

C. Penerapan dari pohon pencarian.

Pada bagian pendahuluan, telah dipaparkan bahwa algoritma Makalah IF2120


Matematika Diskrit – Sem. I Tahun 2018/2019 pencarian biner merupakan algoritma searching
yang paling efisien dibandingkan dengan algoritma searching yang lain. Maka dalam Bab ini
akan dibahas bagaimana menerapkan algoritma tersebut dalam Aplikasi NIM Finder sederhana
dengan menambahkan beberapa modifikasi di ADT Tree.
Dengan menggunakan pohon pencarian biner seimbang, kompleksitas algoritma
searching akan jauh lebih efisien. Dengan O(2logn).
Untuk mengimplementasikan pohon pencarian biner seimbang, kita harus membuat
ADT Binary Tree yang sudah di modifikasi terlebih dahulu agar sesuaikan dengan ADT Binary
Search Tree Seimbang (Pohon Pencarian Biner Seimbang).
Dalam pohon pencarian biner seimbang, terdapat beberapa ADT fungsi prosedur,
beberapa diantaranya yaitu fungsi untuk mencari Key dalam Pohon yaitu SearchBST yang
mengembalikan Infotype pohon. Lalu InsertKey untuk memasukkan elemen baru ke dalam
pohon secara terurut. DeleteKey untuk menghapus suatu elemen di dalam pohon secara terurut.

Dalam Aplikasi NIM Finder sederhana ini. Akan ada 2 tipe Pohon Pencarian Biner:
1. Pohon Pencarian Biner dengan Key Nama Lengkap.
2. Pohon Pencarian Biner dengan Key NIM.
InfoType dari Pohon Pencarian Biner berdasarkan Nama Lengkap dibuat struct dengan
isi sebagai berikut:
1. Nama Lengkap
2. Fakultas/Jurusan
3. Tahun Masuk
4. NIM TPB
5. NIM Jurusan (Jika masih TPB, akan diisi ‘-‘ )

InfoType dari Pohon Pencarian Biner berdasarkan NIM dibuat struct dengan isi sebagai
berikut:
1. NIM
2. Nama Lengkap
3. Fakultas/Jurusan
4. Tahun Masuk

Uuntuk PPB berdasarkan NIM, NIM Jurusan dengan NIM TPB adalah 2 elemen yang
berbeda. Tapi isi dari variable nama lengkap, Fakultas/Jurusan, dan Tahun Masuk sama.
Sedangkan untuk PPB berdasarkan Nama, PPB akan mengurutkan Nama berdasarkan jumlah
Ascii dari character pada Nama di pohon.
Saat User memasukkan inputan string, program akan mengecek apakah string[0]nya
pertamanya angka atau bukan. Jika angka, maka akan program akan masuk ke Pohon Pencarian
Biner berdasarkan NIM. Tetapi jika string[0]nya merupakan sebuah huruf, maka program akan
masuk ke Pohon Pencarian Biner berdasarkan nama. Dimana untuk pohon nama, tidak ada
penyortiran seperti pohon NIM (hanya 1 pohon besar).
Setelah mengecek string ke-0, untuk tipe Pohon NIM, program akan mengecek string
ke 0,1, dan 2. Berdasarkan susunan ketiga char itu, program akan memilih Jurusan atau TPB.
Jika NIM jurusan, maka program akan langsung mencari pohon jurusan yang tepat. Misalkan
135 berarti program akan lompat ke pohon jurusan Teknik Informatika. Apabila NIM yang
dicari adalah NIM TPB, maka program akan meloncat ke pohon NIM TPB sesuai dengan
fakultasnya masing-masing.
Kemudian Program akan langsung mencocokkan string inputan user dengan pohon
biner yang sudah ditetapkan di awal dan memulai algoritma Pencarian Biner (Binary Search)
di dalam Pohon. Perlu diingat Aplikasi NIM Finder sederhana ini hanya bisa mencari Nama
Lengkap dan NIM yang benar-benar sesuai atau sama dengan Key dari pohon.
Ketika match ditemukan, maka program akan menampilkan Informasi dari Mahasiswa
tersebut (struct) yang sudah dipaparkan diatas. Akan tetapi jika match tidak ditemukan, maka
program akan mengeluarkan pesan “No Match Found”.
BAB 3
Penutup

A. Kesimpulan
Dari makalah yang dibuat dapat dapat disimpulkan bahwa . Pohon (tree) adalah graf
tak-berarah terhubung yang tidak mengandung sirkuit. Pohon juga seringkali didefinisikan
sebagai graf tak-berarah dengan sifat bahwa hanya terdapat sebuah lintasan unik antara setiap
pasang simpul
pohon pencarian biner adalah pohon biner yang setiap kuncinya diatur dalam suatu
urutan tertentu. Ketentuan pengaturan kunci ialah b , Jika R adalah akar, dan semua kunci yang
tersimpan pada setiap simpul tidak ada yang sama maka : Semua simpul pada subpohon kiri
mempunyai kunci lebih kecil dari kunci (R)Semua simpul di subpohon kanan mempunyai
kunci nilai lebih besar dari kunci (R).

Anda mungkin juga menyukai