Vous êtes sur la page 1sur 6

Pelita Informatika Budi Darma, Volume : VIII, Nomor: 3, Desember 2014

ISSN : 23012301-9425

PEMBUATAN SIMULASI INDEX MODEL SPLAY TREE UNTUK


PEMAHAMAN STRUKTUR DATA DENGAN MENGGUNAKAN
METODE BINARY SEARCH TREE
Maisaroh Nasution ( 12110516)
Mahasiswa Program Studi Teknik Informatika STMIK Budidarma Medan
Jl. Sisingamangaraja No. 338 Simpang Limun Medan
http://stmik-budidarma.ac.id // Email : maisaroh_nasution231987@yahoo.co.id
ABSTRAK
Simulasi index merupakan suatu cara yang digunakan untuk menguji coba proses pengambilan record
data dalam proses pencarian record yang biasa digunakan dalam database. Pembuatan simulasi index dengan
menggunakan algoritma splay tree dilakukan dengan cara memasukkan angka yang dijadikan indeks, angkaangka yang dimasukkan oleh pengguna akan diproses oleh sistem untuk menentukan indeks posisi dalam
simulasi.
Sebuah pohon splay adalah pohon pencarian biner menyesuaikan diri dengan properti tambahan yang
unsur-unsur baru diakses cepat untuk mengakses lagi. Penerapan teori pohon sangatlah berguna dalam kajian
struktur data dimana dengan teori pohon akan mendapatkan struktur penyimpanan data yang alternatif yang
relatif lebih baik dan efisien.
Kata kunci : Binary Search Tree, Index, Record
1. PENDAHULUAN
1.1 Latar Belakang Masalah
diproses oleh sistem untuk menentukan indeks posisi
Simulasi adalah metode yang paling luas
dalam simulasi.
penggunaannya dalam mengevaluasi berbagai
Proses Splay terjadi ketika sebuah node x
alternatif sistem. Teknik ini mengandalkan cara coba
diakses, operasi pelebaran dilakukan pada x untuk
banding (trial-end-error) untuk memperoleh hasil
memindahkannya ke akar. Untuk melakukan operasi
yang mendekati optimal. Model simulasi mempunyai
pelebaran dilaksanakan berdasarkan urutan langkahmaksud untuk mereproduksi watak esensial dari
langkah melebar, yang masing-masing bergerak x
sistem yang dipelajari. Teknik simulasi dapat
lebih dekat ke akar. Dengan melakukan operasi
dibayangkan dengan percobaan (eksperimen),
melebar pada node bunga setelah setiap diakses, node
sebagai penyelesaian masalah untuk mempelajari
baru diakses disimpan di dekat akar dan pohon tetap
sistem yang kompleks yang tidak dapat dianalisis
kira-kira seimbang, sehingga akan mencapai batas
secara langsung dengan cara analitik. Teknik simulasi
waktu yang diinginkan.
merupakan metode kuantitatif yang menggambarkan
Dalam struktur organisasi, dapat dilihat
prilaku
suatu
sistem.
Digunakan
untuk
bahwa pada level atas biasanya hanya ada satu
memperkirakan keluaran (output) dari masukan
pimpinan tertinggi. Pada level berikutnya diisi oleh
(input) sistem yang telah ditentukan.
beberapa orang dengan jabatan yang berbeda tetapi
Index adalah struktur data yang mengatur
dalam tingkatan yang sama. Selanjutnya dapat
record data pada disk untuk mengoptimalkan
dipecah lagi ke level berikutnya sampai struktur
beberapa jenis operasi pengambilan (retrieval)
dapat memenuhi fungsi dan tujuan organisasi.
tertentu. Index memungkinkan untuk secara efektif
Biasanya satu atasan memiliki beberapa bawahan
mengambil semua record yang memenuhi syarat
yang berada dalam ruang lingkup wewenang dan
pencarian pada field search key dari index.
tugas atasan. Begitu juga dalam daftar isi buku,
Memungkinkan untuk membuat index tambahan pada
dimana satu buku terdiri dari beberapa bab dan setiap
kumpulan record data tertentu, masing-masing
terdiri dari beberapa sub bab, satu sub bab terdiri dari
dengan search key yang berbeda untuk mempercepat
beberapa sub sub bab dan seterusnya.
operasi pencarian yang tidak didukung secara efisien
oleh organisasi file yang digunakan untuk
menyimpan record data.
1.2 Rumusan Masalah
Berdasarkan latar belakang pemilihan judul,
Simulasi index merupakan suatu cara yang
maka yang menjadi permasalahan adalah sebagai
digunakan untuk menguji coba proses pengambilan
berikut:
record data dalam proses pencarian record yang biasa
1. Bagaimana membuat simulasi index splay tree
digunakan dalam database. Pembuatan simulasi index
dengan algoritma binary search tree?
dengan menggunakan model splay tree dilakukan
2. Bagaimana membuat aplikasi simulasi index
dengan memasukkan angka yang dijadikan indeks,
dengan menggunakan javascript?
angka-angka yang dimasukkan oleh pengguna akan
Pembuatan Simulasi Index Model Splay Tree Untuk Pemahaman Struktur Data Dengan Menggunakan
94
Metode Binary Search Tree. Oleh : Maisaroh Nasution

Pelita Informatika Budi Darma, Volume : VIII, Nomor: 3, Desember 2014

1.3 Batasan Masalah


Ruang lingkup permasalahan dalam
merancang perangkat lunak ini dibatasi sebagai
berikut :
1. Angka yang di-input bertipe data bilangan
integer positif dengan batasan maksimal 4 digit.
2. Jumlah data yang di-input dibatasi maksimal 50
buah.
3. Perangkat lunak memiliki fasilitas insert, delete,
find dan pause untuk proses kerja pengurutan
splay tree dan resume untuk melanjutkan proses
kerja pengurutan splay tree.
4. Perangkat
lunak
akan
menggambarkan
visualisasi splay tree sebagai pohon biner
lengkap (complete binary tree)
5. Menggunakan bahasa pemrograman javascript
1.4 Tujuan dan Manfaat
1.4.1
Tujuan
Dari permasalahan yang ada pada rumusan
masalah maka skripsi ini bertujuan :
1. Untuk membuat simulasi index splay tree dengan
algoritma binary search tree
2. Untuk membuat aplikasi simulasi index dengan
menggunakan javascript
1.4.2

Manfaat Penulisan
Dari permasalahan tujuan di atas maka
skripsi ini memiliki manfaat yaitu:
1. Agar mengetahui pembuatan simulasi index
splay tree dengan algoritma binary search tree
2. Agar menghasilkan aplikasi simulasi index
dengan menggunakan javascript
2. LANDASAN TEORI
2.1.1
Defenisi Algoritma
Algoritma adalah Sistem kerja komputer
memiliki brainware, hardware, dan software. Tanpa
salah satu dari ketiga sistim tersebut, komputer tidak
akan dapat digunakan. Software terbangun atas
susunan program (silahkan baca mengenai pengertian
program) dan syntax (cara penulisan/pembuatan
program). Untuk menyusun program atau syntax,
diperlukan langkah-langkah yang sistematis dan logis
untuk dapat menyelesaikan masalah atau tujuan
dalam proses pembuatan suatu software. Maka,
Algoritma berperan penting dalam penyusunan
program atau syntax tersebut.
2.2 Simulasi
Simulasi berasal dari kata simulate yang
artinya berpura-pura atau berbuat seakan-akan.
Sebagai metode mengajar, simulasi dapat diartikan
sebagai cara penyajian pengalaman belajar dengan
menggunakan situasi tiruan untuk memahami tentang
konsep, prinsip atau keterampilan tertentu. Simulasi
dapat digunakan sebagai metode mengajar dengan
asumsi tidak semua proses pembelajaran dapat
dilakukan secara langsung pada objek sebenarnya.

ISSN : 23012301-9425

Demikian juga untuk mengembangkan pemahaman


dan penghayatan terhadap suatu peristiwa, maka
penggunaan simulasi akan sangat bermanfaat.
Simulasi adalah suatu proses peniruan dari
sesuatu yang nyata beserta keadaan sekelilingnya
(state of affairs). Aksi melakukan simulasi ini secara
umum menggambarkan sifat-sifat karakteristik kunci
dari kelakuan sistem fisik atau sistem yang abstrak
tertentu. Simulasi didefinisikan sebagai tehnik untuk
membuat konstruksi model matematika untuk suatu
proses atau situasi, dalam rangka menduga secara
karakteristik atau menyelesaikan masalah berkaitan
dengannya dengan menggunakan model yang
diajukan.
Jadi
simulasi
mempelajari
atau
memprediksi sesuatu yang belum terjadi dengan cara
meniru atau membuat model sistem yang dipelajari
dan selanjutnya mengadakan eksperimen secara
numerik dengan menggunakan komputer.
2.3 Index
Index adalah struktur data yang mengatur
record data pada disk untuk mengoptimalkan
beberapa jenis operasi pengambilan (retrieval)
tertentu. Index memungkinkan kita untuk secara
efektif mengambil semua record yang memenuhi
syarat pencarian pada field search key dari index.
Memungkinkan untuk membuat index tambahan pada
kumpulan record data tertentu, masing masing
dengan search key yang berbeda untuk mempercepat
operasi pencarian yang tidak didukung secara efisien
oleh organisasi file yang digunakan untuk
menyimpan record data.
2.4 Splay Tree
Sebuah pohon splay adalah pohon pencarian
biner menyesuaikan diri dengan properti tambahan
yang unsur-unsur baru diakses cepat untuk
mengakses lagi. Ia melakukan operasi dasar seperti
penyisipan, melihat-up dan penghapusan di
Logaritma diamortisasi waktu. Bagi banyak urutan
operasi non-acak, pohon melebarkan melakukan
lebih baik daripada pohon pencarian lain, bahkan
ketika pola tertentu dari urutan tidak diketahui.
Pohon melebarkan diciptakan oleh Daniel Dominic
Sleator dan Robert Endre Tarjan pada tahun 1985.
2.4.1

Proses Splay
Ketika sebuah node x diakses, operasi
pelebaran dilakukan pada x untuk memindahkannya
ke akar. Untuk melakukan operasi pelebaran
dilakukan berdasarkan urutan langkah-langkah
melebar, yang masing-masing bergerak x lebih dekat
ke akar. Dengan melakukan operasi melebar pada
node bunga setelah setiap akses, node baru diakses
disimpan di dekat akar dan pohon tetap kira-kira
seimbang, sehingga kita mencapai batas waktu yang
diamortisasi diinginkan. Setiap langkah tertentu
tergantung pada tiga faktor :
1. Apakah x adalah anak kiri atau kanan dari node
induk nya P

Pembuatan Simulasi Index Model Splay Tree Untuk Pemahaman Struktur Data Dengan Menggunakan
Metode Binary Search Tree. Oleh : Maisaroh Nasution

95

Pelita Informatika Budi Darma, Volume : VIII, Nomor: 3, Desember 2014

Apakah p adalah akar atau tidak, dan jika tidak


Apakah p adalah anak kiri atau kanan dari
induknya, g ( kakek dari x ).
Ada tiga jenis langkah melebar, yang masingmasing memiliki kasus kiri dan tangan kanan. Demi
singkatnya, hanya satu dari dua ini ditampilkan untuk
masing-masing jenis. Ketiga jenis tersebut adalah :
1. Zig Step : Langkah ini dilakukan ketika p adalah
akar. Pohon ini diputar di tepi antara x dan p. Zig
langkah ada untuk menangani masalah paritas
dan akan dilakukan hanya sebagai langkah
terakhir dalam operasi melebar dan hanya jika x
memiliki kedalaman aneh pada awal operasi.

ISSN : 23012301-9425

2.
3.

Gambar 3. Zig-Zag Step Splay Tree


Berikut adalah contohnya

Gambar 1. Zig Step Splay Tree


2.

Zig-zig Step : Langkah ini dilakukan ketika p


bukanlah akar dan x dan p adalah baik kedua
anak kanan atau keduanya anak kiri. Gambar di
bawah menunjukkan kasus di mana x dan p
keduanya anak kiri. Pohon ini diputar di tepi
bergabung p dengan induknya g, kemudian
diputar di tepi bergabung dengan x p. Perhatikan
bahwa langkah-langkah zig-zig adalah satusatunya hal yang membedakan pohon melebar
dari
rotate
untuk
membasmi
metode
diperkenalkan oleh Allen dan Munro sebelum
pengenalan pohon melebar.

Gambar 4.Contoh Splay tree


2. Array
Array (larik) adalah suatu tipe data
terstruktur yang dapat menampung (berisikan) suatu
data yang sejenis. Komponen komponen dari Array
antara lain,
a. Array 1 dimensi
Contoh misalkan diketahui sebuah ArrayA
dengan jenis data Char,
A=

A B C D E

G H

1 2 3 4 5 6 7 8
Array Multi dimensi
Contoh, misalkan diketahui sebuah Array dua
dimensi B dengan jenis data Integer, B[1,1] = 1
B[1,2] = 2
B[2,1] = 3
Proses - proses yang mungkin dilakukan pada Array
adalah,
a. Proses memasukkan data
b. Proses mencari data
c. Proses menghapus data
d. Proses mencetak data
e. Proses menyisip data
f. Proses mencari posisi
g. Proses mengurutkan data
Dan sebagainya
adalah kumpulan dari beberapa data yang linier
(setara). Bila Linked List ekivalen dengan
himpunan maka,
b.

3.

1.

Gambar 2. Zig-Zig Step Splay Tree


Zig-zag Steo : Langkah ini dilakukan ketika p
bukanlah akar dan x adalah anak kanan dan p
adalah anak kiri atau sebaliknya. Pohon ini
diputar di tepi antara p dan x, dan kemudian
diputar di tepi yang dihasilkan antara x dan g.

Linked List
Linked List (senarai) adalah sekumpulan
data yang linier satu dengan yang lain. Sekumpulan
berarti identik dengan himpunan sebab himpunan

Pembuatan Simulasi Index Model Splay Tree Untuk Pemahaman Struktur Data Dengan Menggunakan
Metode Binary Search Tree. Oleh : Maisaroh Nasution

96

Pelita Informatika Budi Darma, Volume : VIII, Nomor: 3, Desember 2014

Secara sederhana, sebuah tree bisa


didefenisikan sebagai kumpulan dari elemen
elemen yang disebut dengan node / vertex (simpul)
dimana salah satu node disebut dengan root (akar),
dan sisa node lain terpecah menjadi himpunan yang
saling tidak berhubungan satu sama lain dan disebut
dengan subtree (pohon bagian). Jika dilihat pada
setiap subtree maka subtree juga mempunyai root
dari subtree-nya masing masing.

ISSN : 23012301-9425

Dengan melihat istilah dasar di atas, maka


sebuah tree secara rekursif dapat didefenisikan
sebagai berikut :
1. Sebuah node tunggal adalah sebuah tree.
2. Jika terdapat sebuah node N dan beberapa
subtree N1, N2, N3, , Nk maka dari node N dan
subtree yang ada dapat dibentuk sebuah tree yang
mempunyai root pada node N.

Gambar 5 : Contoh pembentukan Tree


3.1
Analisa
Perangkat
lunak
simulasi
index
dengan
menggunakan algoritma splay tree tampak pada
analisa berikut, Misalkan diketahui bentuk infix : (a
+ b) * c, maka proses konversi ke bentuk 4-tuple
adalah sebagai berikut :
a. Carilah tanda kurung buka ( yang paling
dalam.
b. Carilah tanda kurung tutup ) yang pertama
dengan dimulai dari posisi tanda kurung buka
( tersebut. Sub ekspresi yang berada di antara
kedua tanda kurung tersebut diambil dan
dikonversi ke bentuk 4-tuple. Proses ini
mendapatkan bentuk 4-tuple pertama :
+, a,
b, E(1)
Bentuk infix diganti menjadi : E(1) * c
c. Ulangilah proses pengecekan di atas hingga
semua sub ekspresi selesai dikonversi atau
hanya tertinggal sebuah E dalam bentuk infix
tersebut.
Proses ini akan menghasilkan bentuk 4-tuple kedua
:
*, E(1), c, E(2)
Bentuk infix diganti menjadi : E(2)
Jika ekspresi aritmatika di-input dalam bentuk
postfix, maka proses konversi ke bentuk 4-tuple
adalah sebagai berikut :

1.

Proses pengecekan operand dan operator.


Proses pengecekan ini sama dengan proses
pada bentuk prefix.
2. Proses pengecekan tanda kurung (delimiter).
Proses pengecekan ini sama dengan proses
pada bentuk prefix.
3. Proses konversi ke bentuk 4-tuple.
Agar lebih jelas, simaklah contoh berikut :
Misalkan diketahui bentuk postfix : a b + c *,
maka proses konversi ke bentuk 4-tuple adalah
sebagai berikut :
a. Carilah operand dengan dimulai dari posisi
paling kiri. Proses ini akan menemukan
karakter a.
b. Jika karakter di sebelah kanan operand
merupakan operand juga, maka karakter
selanjutnya pasti merupakan binary operator.
Jika tidak, maka karakter di sebelah kanan
operand merupakan unary operator. Proses ini
akan mendapatkan sub ekspresi a b + yang
dikonversi ke bentuk 4-tuple menjadi
+, a, b, E(1)
Bentuk prefix diganti menjadi : E(1) c *
c. Ulangilah proses pengecekan di atas hingga
semua sub ekspresi selesai dikonversi atau
hanya tertinggal sebuah E dalam bentuk postfix
tersebut.
Proses ini akan menghasilkan bentuk 4-tuple kedua

Pembuatan Simulasi Index Model Splay Tree Untuk Pemahaman Struktur Data Dengan Menggunakan
Metode Binary Search Tree. Oleh : Maisaroh Nasution

97

Pelita Informatika Budi Darma, Volume : VIII, Nomor: 3, Desember 2014

:
*, E(1), c, E(2)

3.2
Perancangan
Berikut adalah perancangan use case dan sistem
yang dirancang,
1. Use Case Diagram Sistem

Gambar 6. Use Case Sistem


2. Perancangan Sistem
Berikut adalah desain dari layout perancangan
simulasi yang penulis buat

Gambar 7. Desain Sistem


4.1

Algoritma
Algoritma adalah urutan langkah-langkah
logis penyelesaian masalah yang disusun secara
sistematis dan logis. Kata logis merupakan kata
kunci dalam algoritma. Langkah-langkah dalam
algoritma harus logis dan harus dapat ditentukan
Tampak pada gambar 4.5 beberapa kumpulan angka
secara acak, pada gambar jelas bahwa setiap angka
yang lebih besar dari rootakan berada

ISSN : 23012301-9425

Bentuk postfix diganti menjadi : E(2)

bernilai salah atau benar. Dalam beberapa konteks,


algoritma adalah spesifikasi urutan langkah untuk
melakukan pekerjaan tertentu. Bagaimanapun juga
struktur data dan algoritma berhubungan sangat erat
pada sebuah program. Algoritma yang baik tanpa
pemilihan struktur data yang tepat akan membuat
program menjadi kurang baik, demikian juga
sebaliknya.
Penggunaan algoritma binary searc tree pada proses
simulasi index yang dirancang mampu untuk
menampilkan hasil, adapun algoritmanya adalah
sebagai berikut:
Input
: Angka A[1] A[n] dan X.
Output : Tree X
Proses :
BB = 1: BA = n: Ketemu = False: CekPos = 0
While (BB < = BA) And Not (Ketemu)
Temp = BB + ((X A(BB)) / (A(BA)
A(BB))) * (BA BB)
Pos = INT(Temp)
If (Temp Pos > 0) Then Pos = Pos + 1
If (CekPos = Pos) Then
BB = BA + 1
Else If (X = A(Pos)) Then
Ketemu = True
Else If (X <A(Pos)) Then
BA = Pos 1
Else If (X >A(Pos)) Then
BB = Pos + 1
Else
CekPos = Pos
End If
Wend
If (Ketemu) Then
Print X, Set Posisi Tree
ElsePrint X, Buat Root Baru

di sebelah kanan dan lebih kecil disebelah kiri,


begitu juga untuk node dari root yang menjadi root
dari node berikutnya.

Pembuatan Simulasi Index Model Splay Tree Untuk Pemahaman Struktur Data Dengan Menggunakan
Metode Binary Search Tree. Oleh : Maisaroh Nasution

98

Pelita Informatika Budi Darma, Volume : VIII, Nomor: 3, Desember 2014

ISSN : 23012301-9425

Gambar 8 Pengujian Angka


Untuk lebih lengkapnya perhatikan gambar
banyak lagi
dibawah ini dimana penulis memasukkan nilai lebih

Gambar 9 Kumpulan Index

3.
5. KESIMPULAN DAN SARAN
5.1
Kesimpulan
Berdasarkan hasil analisis yang didapatkan
penulis, maka penulis dapat mengambil beberapa
kesimpulan diantaranya :
1. Penerapan metode Binary Search Tree dalam
penentuan pengurutan indeks dapat berjalan
dengan baik
2. Dengan menerapkan aplikasi sistem ini dapat
memberikan pengetahuan mengenai proses
pengurutan
Saran
Adapun saran yang dapat diberikan penulis
setelah menyusun laporan skripsi ini sebagai
berikut :
1.
Diharapkan dengan adanya aplikasi sistem
ini dapat membantu mahasiswa (user) dalam
mempelajari struktur tree
2.
Dengan menggunakan aplikasi sistem ini
jika suatu saat menemukan masalah baru
seperti penemuan parameter nilai yang baru
dalam
proses
analisa
nilai
dapat
dikembangkan lagi.

4.

Perkembangan teknologi berpengaruh dalam


pembuatan sistem, pengembangan berbasis
mobile dijadikan salah satu solusi
Aplikasi bisa dikembangkan berbasis
animasi flash sehingga pembelajaran lebih
menarik

DAFTAR PUSTAKA
1.
2.

5.2

3.
4.
5.
6.
7.

Bonnet Satya Lelono Djati, Simulasi : Teori


dan Aplikasinya, Penerbit Andi, 2007.
Abdul Kadir, Konsep dan Implementasi
Struktur Data, Penerbit Andi, Yogyakarta,
2011.
Fathful Wahid, Dasar-Dasar Algoritma dan
Pemrograman, 2009.
Wahana Komputer, Paling Dicari! Javascript
Source Code, 2012.
Airccse.org/journal/ijmit/papers
Www.cs.princeton.edu
Http://www.cs.princeton.edu/courses/archive/fa
ll07/cos521/handouts/self adjusting.pdf, 06

Mei 2014.

Pembuatan Simulasi Index Model Splay Tree Untuk Pemahaman Struktur Data Dengan Menggunakan
Metode Binary Search Tree. Oleh : Maisaroh Nasution

99

Vous aimerez peut-être aussi