Algoritma BST = Data - Universitas Mercu Buana Yogyakarta

advertisement
P12
Binary Tree
TIF42/SIF42
Prodi teknik Informatika & Prodi Sistem Informasi
Fakultas Teknologi Informasi
Universitas Mercu Buana Yogyakarta
1
Pembahasan
• Struktur pohon biner
• Operasi pohon biner
• Aplikasi pohon biner
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
2
Operasi Pada Binary Tree
• Menciptakan pohon biner kosong
• Menyisipkan simpul
• Menjelajahi pohon biner untuk
mendapatkan isi keseluruhan
• Mencari data pada sebuah simpul
• Menghapus simpul
3
Membentuk BST
• BST = Binary Search Tree
• Ex :
– Misal akan dimasukkan K,A,M,E,N,D,I,L dan U
– Karakter yg pertama = akar pohon
– Karakter berikutnya akan diletakkan pada posisi yg sesuai
dengan melakukan satu atau beberapa pembanding
Objek yg akan disisipkan < Nilai pada simpul sekarang
• Ket :
– Jika kondisi bernilai true = maka penyisipan akan dilakukan pada anak
kiri
– Jika kondisi bernilai false = penyisipan akan dilakukan pada anak kanan
4
K
A
K
K
A
E
M
K
A
K
M
A
M
E
5
N
D
K
A
K
M
E
I
A
N
M
E
D
k
A
N
M
E
D
N
I
6
L
U
K
A
M
E
D
K
L
I
A
N
M
E
D
L
I
N
U
7
• BST -> pohon biner yg terurutkan
• Sifat :
– setiap simpul memiliki nilai dan tidak ada
simpul yg memiliki nilai yg sama
– jika ada sub pohon kiri -> nilainya lebih kecil
dari akarnya
– jika ada sub pohon kanan -> nilainya lebih
besar dari akarnya
8
K
A
M
E
D
Sub pohon kiri
• semua nilai < dari nilai akar
L
I
N
U
Sub pohon kanan
• semua nilai > dari nilai akar
9
• Step penyisipan nilai BST
– cari posisi di pohon biner untuk menempatkan simpul
– sisipkan simpul ke pohon biner
Algoritma BST = Data -> Informasi yg akan disisipkan
Step 1 :
Jika Data < Akar.Data maka proses pada anak kiri
Jika Data > Akar.Data maka proses pada anak kanan
Step 2 :
Ulangi step 2 sampai ditemukan sub pohon yg kosong yg
memungkinkan diletakkan simpul baru yg berisi Data
Step 3 :
Selesai
10
Evaluasi
• Silahkan analisis contoh program berikut
dan berikan penjelasan pada masingmasing fungsi source code.
11
Setelah di analisis....
• Modifikasilah Program tersebut, sehingga :
– Data yang akan diInputkan (Ex :
EsaRiskiAnanda) -> input keyboard (cin >>)
– Data yang akan diDeletekan : (Ex : A, i, E) ->
input keyboard (cin>>)
• Note :
– Output harus menyertakan NIM dan Nama
dibagian paling atas
– Gunakan Nama Masing-masing
12
Ketentuan
• Tugas dikirim ke e-mail paling lambat
tanggal 27 Desember 2015 Pukul 00.00.
• Subject :
– TP13_SD21_NIM (Kelas 21)
– TP13_SD22_NIM (Kelas 22)
• Ke :
– [email protected]
13
Contoh Program
•
•
•
•
Project Name : BinaryTree
Header File Name = BT.h
Other Class File Name = BT.cpp
Main Class File Name = main.cpp
14
Header File (BT.h)
15
Other Class (BT.cpp)
16
17
18
19
20
21
22
23
24
Main Class (main.cpp)
25
26
Hasil
27
Referensi
• Munir. Rinaldi, “Algoritma & Pemrograman Dalam Bahasa Pascal
dan C”, 2007, Bandung : Penerbit Informatika.
• Utami, E., Raharjo, S., Sukrisno, "Struktur Data Konsep &
Implementasinya Dalam Bahasa C & Free Pascal di GNU/Linux",
2007, Yogyakarta : Graha Ilmu.
• Sianipar, R.H., Wiryajati, I.K., Mangiri, H.S., "Pemrograman &
Struktur Data C", 2013, Bandung : Penerbit Informatika.
• Hasbi, M., "Struktur Data dan Algoritma Dalam Pemrograman Turbo
Pascal", 2003, Yogyakarta : Gava Media.
28
29
Thanks 4 Participating in My Class
C U Next Time
30
Download