Praktikum Struktur Data and Algoritma I (2)
TUGAS PRAKTIKUM STRUKTUR DATA DAN ALGORITMA I
Pertemuan 5 : Binary Search Tree
Tujuan :
Mengumpulkan data mahasiswa FMIPA dengan menggunakan konsep binary search tree.
Kasus :
Seorang mahasiswa IT ingin membangun sebuah database mahasiswa dengan lingkup kecil .
lingkup kecil ini dapat diartikan data mahasiswa hanya nama dan NIM saja. Mahasiswa IT ini
tidak mau menggunakan konsep Stack tapi inginnya pakai konsep binary search tree karena
dia tahu bahwa algoritma ini lebih efisien lagi daripada konsep Stack. Bantulah dia membuat
algoritma binary search tree.
Ketentuan :
Bentuk inputannya berupa nama dan NIM mahasiswa.
Proses inputan ke binary search tree berupa nilai ASCII dari nama mahasiswa.
Isi node daun pada daun tree ini terdiri dari nama dan NIM mahasiswa pada saatproses
input data.
Misalkan :
1. Input nama : kelvin dengan NIM : M0514027
Nilai kode ASCII nama :
=k+e+l+v+i+n
= 107 + 101 + 108 + 118 + 105 + 110 = 649
Bentuk Pohon :
Kelvin
M0514027
2.
Input nama : adam dengan NIM : M0514033
Nilai kode ASCII nama :
=a+d+a+m
= 97 + 100 + 97 + 109 = 403
Bentuk Pohon :
Kelvin
M0514027
Adam
M0514033
3.
Input nama : yosafat dengan NIM : M0515043
Nilai kode ASCII nama :
=y+o+s+a+f+a+t
= 121 + 111 + 115 + 97 + 102 + 97 + 116 = 759
kelvin
M0514027
adam
M0514033
yosafat
M0515043
Sehingga jika dicek dengan preorder, inorder, dan postorder maka akan diperoleh seperti di
bawah ini :
Ketentuan lain :
Jika pada proses inputan nama berbeda dari semua data tree tetapi jumlah nilai ASCII nya ada
dalam data tree, maka proses penjumlahan nilai ASCII selain nama juga ditambah dari nilai
NIM-nya.
Misalkan :
Nama : nopikh ASCII = 649
NIM : M0413044
Nilai ASCII buat nopikh = ASCII nama + NIM ( digit 5 – 7 )
= 649 + 044 = 693
Sehingga jika diinputkan ke dalam pohon, maka akan membentuk seperti di bawah ini :
kelvin
M0514027
adam
M0514033
yosafat
M0515043
nopikh
M0413044
Hasil preorder, inorder, postorder :
Pada program ini akan dibuat dengan beberapa menu berikut :
Proses searching data :
Proses menghapus data :
Dengan menginput nama mahasiswa kemudian mengecek apakah ada dalam data tree
kemudian dihapus.
Tugas :
Buat program sesuai ketentuan di atas ! Cobalah untuk input data maksimal 10 data atau minim
5 data beserta proses search dan delete.
Semoga Sukses
#SemangatHidup
Pertemuan 5 : Binary Search Tree
Tujuan :
Mengumpulkan data mahasiswa FMIPA dengan menggunakan konsep binary search tree.
Kasus :
Seorang mahasiswa IT ingin membangun sebuah database mahasiswa dengan lingkup kecil .
lingkup kecil ini dapat diartikan data mahasiswa hanya nama dan NIM saja. Mahasiswa IT ini
tidak mau menggunakan konsep Stack tapi inginnya pakai konsep binary search tree karena
dia tahu bahwa algoritma ini lebih efisien lagi daripada konsep Stack. Bantulah dia membuat
algoritma binary search tree.
Ketentuan :
Bentuk inputannya berupa nama dan NIM mahasiswa.
Proses inputan ke binary search tree berupa nilai ASCII dari nama mahasiswa.
Isi node daun pada daun tree ini terdiri dari nama dan NIM mahasiswa pada saatproses
input data.
Misalkan :
1. Input nama : kelvin dengan NIM : M0514027
Nilai kode ASCII nama :
=k+e+l+v+i+n
= 107 + 101 + 108 + 118 + 105 + 110 = 649
Bentuk Pohon :
Kelvin
M0514027
2.
Input nama : adam dengan NIM : M0514033
Nilai kode ASCII nama :
=a+d+a+m
= 97 + 100 + 97 + 109 = 403
Bentuk Pohon :
Kelvin
M0514027
Adam
M0514033
3.
Input nama : yosafat dengan NIM : M0515043
Nilai kode ASCII nama :
=y+o+s+a+f+a+t
= 121 + 111 + 115 + 97 + 102 + 97 + 116 = 759
kelvin
M0514027
adam
M0514033
yosafat
M0515043
Sehingga jika dicek dengan preorder, inorder, dan postorder maka akan diperoleh seperti di
bawah ini :
Ketentuan lain :
Jika pada proses inputan nama berbeda dari semua data tree tetapi jumlah nilai ASCII nya ada
dalam data tree, maka proses penjumlahan nilai ASCII selain nama juga ditambah dari nilai
NIM-nya.
Misalkan :
Nama : nopikh ASCII = 649
NIM : M0413044
Nilai ASCII buat nopikh = ASCII nama + NIM ( digit 5 – 7 )
= 649 + 044 = 693
Sehingga jika diinputkan ke dalam pohon, maka akan membentuk seperti di bawah ini :
kelvin
M0514027
adam
M0514033
yosafat
M0515043
nopikh
M0413044
Hasil preorder, inorder, postorder :
Pada program ini akan dibuat dengan beberapa menu berikut :
Proses searching data :
Proses menghapus data :
Dengan menginput nama mahasiswa kemudian mengecek apakah ada dalam data tree
kemudian dihapus.
Tugas :
Buat program sesuai ketentuan di atas ! Cobalah untuk input data maksimal 10 data atau minim
5 data beserta proses search dan delete.
Semoga Sukses
#SemangatHidup