Oleh :
Wasis Basuki
NIM. 5302414091
FAKULTAS TEKNIK
2015
A. Tujuan Pratikum
B. Soal Pratikum
#include <stdio.h>
#include <stdlib.h>
struct bstree{
int value;
struct bstree*left;
struct bstree*right;
};
typedef struct bstree node;
node*bstree_createnode(int value){
node*temp=(node*)malloc(sizeof(node));
temp->left=temp->right=NULL;
temp->value=value;
return temp;
}
}
else if (value > (*tree)->value){
printf("\n Lebih Dari : ");
return bstree_insert(&((*tree)->right),value);
}}
Analisis Hasil
aturan insert :
Anggap node yang di insert adalah key, key akan ditempatkan pada leaf.
a) jika leaf adalah 2-node, maka key dimasukan kedalam leaf sehingga leaf
tersebut menjadi 3-node.
b) jika leaf adalah 3-node, maka ambil nilai tengah dari A, B, dan key (A
adalah data-1 pada leaf, dan B adalah data-2 pada leaf) dan push nilai
tengah tersebut pada parentnya
c) jika pada saat aturan kedua parentnya bukanlah 2-node, melainkan 3-
node, tentukan kembali nilai tengah lalu push kembali ke parentnya
d) jika pada saat aturan ke 2 dan 3 tidak bisa dilakukan karena parent
sampai ke rootnya adalah 3-node, maka tentukan kembali nilai tengah,
kemudian nilai tengah tersebut akan dibuat root baru.
Untuk dapat memahami tentang konsep Insert Bst perhatikan gambar di
bawa ini :
3. In Order
Penelusuran terhadap Tree secara InOrder akan melewati setiap node
dalam Tree setelah melewati subtree kirinya dan sebelum melewati subtree
kanannya. Dengan melihat gambar 10 maka dapat dijelaskan bahwa
InOrder dari TREE T adalah sub-tree T1, dalam bentuk InOrder, diikuti
oleh Root n,di ikuti T2 dalam bentuk InOrder, sampai Tn..contoh prisip
kerja dari in order ,data :
Keterangan: InOrder : 7 + 5 * 6 ( INFIX )
+ = parent
7 ,* ,5 ,6= children
5,6= level 2
7,* = sibling
Dari gambar diatas sangat jelas,bahwa simbol + bertindak sebagai parent atau root dan
untuk 7 berada pada posisi left dan * pada posisi right .turun lagi dari * yang berada pada
posisi left adalah 5 dan yang berada pada posisi right adalah 6.
Pembahasan Progam
Langkah 1 : Menuliskan script code struct yang berfungsi untuk mengemas
variable yang berada di dalamnya.(bstree left dan right).
Langkah 3 : Menuliskan script code yang berfungsi untuk logika if else sesuai
dengan soal (kasus).
Langkah 4 : Menuliskan script code yang berfungsi menentukan letak nilai yang
berpatokan pada root.
Langkah 6 : Menuliskan script code yang berfungsi untuk mengisikan nilai yang
di inginkan .
Tree merupakan salah satu bentuk struktur data tidak linear yang
menggambarkan hubungan yang bersifat hirarkis (hubungan one to many) antara
elemen-elemen. Dalam pembuatan konsep program langkah dasar awal yang perlu
dilakukan adalah create yaitu operasi membentuk sebuah tree baru yang masih
kosong. untuk menentukan letak nilai berdasarkan besar atau kecilnya sebuah nilai
menggunakan insert.Insert merupakan Operasi untuk menambahkan 1 elemen ke
dalam tree, berdasarkan posisi yang diinginkan jika nilai lebih besar root maka
nilai itu berada di sebelah kanan dan sebaliknya jika nilai lebih kecil dari pada
root maka akan berada di sebelah kiri.untuk menelusuri tiap node ada 3 cara salah
satunya in order yaitu dimana cara mengeksekusi tree di mulai dari bagian left
menuju ke root baru menuju ke bagian right.