Anda di halaman 1dari 5

Implementasi Algoritma Linked List dalam

Otomatisasi Sistem Informasi Pendaftaran (Studi


Kasus: Lomba Layang-layang Piala Dhananjaya)

Abstract—The kite competition in Bali followed by hundreds to Setiap tahun ada ratusan bahkan ribuan peserta yang
thousands of participants every year. A lot of enthusiasts make the berkompetisi. Banyaknya peminat membuat panitia harus
organizers should be better in arranging registration number and bekerja semakin keras untuk mengatur nomor pendaftaran dan
validate the payment deadlines. The implementation of linked list validasi waktu pembayaran. Bahkan beberapa peserta rela
algorithm aims to assist organizers in terms of registration process menunggu sejak dini hari untuk berebut mendapatkan nomor,
automation, including kites numbering and payment deadlines memilih hari lomba, dan waktu penerbangan laying-layang
validation. The organizer doesn't need to record and arrange yang mereka inginkan.
hundreds to thousands of kite number. The automated numbering
process looks similar to a queue process of first in first out (FIFO) Berdasarkan permasalahan tersebut, perlu dikembangkan
algorithm. However, FIFO has some limitations and then decided sebuah perangkat lunak online untuk otomatisasi proses
to enhance with linked list algorithm. Linked list was used because pendaftaran, pembagian nomor layangan, dan pengecekkan
FIFO does not have the ability to search nodes, add nodes, and terhadap validitas waktu pembayaran. Sehingga nantinya bagi
delete nodes. peserta yang sudah mendaftar namun belum menyelesaikan
pembayaran sesuai waktu yang ditetapkan, maka nomor
Keywords—Kite competition, Automation system, Registration layangannya dapat diambil oleh peserta baru berikutnya secara
information system, Linked List, Algorithm
otomatis dan statusnya dinyatakan “hangus”, sehingga panitia
penyelenggara tidak lagi perlu mencatat dan menyusun nomor
I. PENDAHULUAN layang-layang peserta yang jumlahnya ratusan hingga ribuan
Bali merupakan salah satu pulau di Indonesia yang terkenal itu. Keterbatasan tempat juga dapat diatasi karena peserta tidak
dengan tradisi dan budayanya. Salah satu tradisi yang masih akan datang secara membeludak karena proses pendaftaran
dilestarikan sampai saat ini adalah tradisi bermain layang- diakukan secara online. Secara garis besar proses pemberian
layang. Layang-layang merupakan tradisi leluhur yang masih nomor secara otomatis ini merupakan implementasi dari proses
dilestarikan sampai saat ini. Hal tersebut tidak terlepas dari antrian menggunakan algoritma first in first out (FIFO) dan
kepercayaan bahwa menerbangkan layang-layang sebagai salah kemudian disempurnakan dengan algoritma linked list.
satu bentuk persembahan terhadap Sang Hyang Rare Angon Algoritma linked list digunakan karena algoritma FIFO tidak
yang merupakan manifestasi dari Dewa Siwa sebagai memiliki kemampuan untuk melakukan pencarian node
pelindung sawah petani dari serangan hama. Menerbangkan (simpul), menambahkan simpul (insertion), dan menghapus
layang-layang juga memiliki filosofi sebagai ungkapan simpul (deletion).
kebahagiaan dan rasa syukur kepada Dewa Siwa petani atas
keberhasilan panen mereka [1]. II. KAJIAN TEORI
Perlombaan layang-layang di Bali digagas oleh budayawan
A. Struktur Data
yang juga mantan Gubernur Bali Prof. Dr. Ida Bagus Mantra,
pada tahun 1978. Perlombaan diikuti oleh berbagai kalangan Struktur data adalah representasi data dan operasi yang
masyarakat baik dari Bali maupun luar daerah. Jenis layang- terkait. Bahkan bilangan bulat maupun floating point yang
layang yang dilombakan adalah layang-layang tradisional Bali, tersimpan di komputer dapat disebut sebagai struktur data yang
antara lain layangan jenis Bebean, Pecukan, dan Janggan [1]. sederhana. Lebih khusus lagi, struktur data dimaksudkan untuk
Perlombaan layang-layang di Bali terus berkembang, hal mengorganisasi dan menata kumpulan item data. Sebuah array
tersebut terlihat dari banyaknya penyelenggaraan lomba tiap yang berisi urutan bilangan bulat adalah contoh sederhana
tahun, salah satunya oleh Sekaa Teruna Dhananjaya, Banjar mengorganisasi dan menata data [2].
Danginpeken, Desa Intaran, Sanur (Lomba Layang-layang Menggunakan struktur data yang tepat dapat menentukan
Piala Dhananjaya). apakah sebuah perangkat lunak nantinya dapat berjalan dengan
baik, tepat, dan cepat atau sebaliknya. Pengembang perangkat kategori lomba “Janggan” ukuran “Medium”. Masing-masing
lunak menganalisis masalah terlebih dahulu untuk menentukan hari perlombaan terdapat beberapa kategori lomba, ukuran, dan
sasaran kinerja yang harus dicapai dan memilih struktur data kuota peserta seperti yang ditunjukkan pada tabel I.
yang tepat untuk digunakan dalam memecahkan permasalahan.
Pengembang perangkat lunak yang buruk biasanya TABEL I. DATA PAKET LOMBA
mengabaikan langkah analisis untuk memilih struktur data
yang tepat tetapi hanya menerapkan struktur data yang mereka Tanggal
Kategori Lomba Ukuran
Kuota
ketahui walaupun tidak sesuai dengan permasalahan yang Lomba Peserta
Janggan Medium 40
dihadapi. Perangkat lunak yang dihasilkanpun akhirnya
Janggan Besar 15
memiliki performa yang lambat atau tidak maksimal [2]. Janggan Buntut / Kuwir Satu Ukuran 40
Kreasi Bedeg / 2D Bebas 15
Sabtu
B. Linked List (July 22, 2017)
Kreasi 3D Bebas 15
Pecukan Satu Ukuran 100
Linked list adalah kumpulan dari beberapa objek yang
Bebean Medium 260
disebut node. Setiap node terhubung ke simpul penerus dalam Bebean Besar 165
list menggunakan link [3]. Linked list terdiri dari urutan link Bebean Khas Sanur Satu Ukuran 50
yang berisi item dan setiap link memiliki koneksi ke link lain. Janggan Medium 70
Linked list adalah struktur data kedua yang paling banyak Janggan Besar 20
digunakan setelah array. Linked list dapat divisualisasikan Janggan Merak Satu Ukuran 20
sebagai rangkaian node, dimana setiap node menunjuk ke node Janggan Buntut / Kuwir Satu Ukuran 30
berikutnya [4]. Kreasi Bedeg / 2D Bebas 20
Minggu
Kreasi 3D Bebas 20
(July 23, 2017)
Pecukan Satu Ukuran 150
Bebean Medium 200
Bebean Besar 200
Bebean Khas Sanur Satu Ukuran 20
Perakitan Layangan Janggan Satu Ukuran 10
Gambar 1. Visualisasi Linked List

Linked list berisi elemen link simpul pertama yang disebut Data sampel yang dijadikan pemodelan menggunakan
first. Setiap link memiliki data field dan link field yang disebut algoritma linked list berjumlah lima belas baris data. Data
next. Setiap link dihubungkan dengan link berikutnya tersebut diambil secara berurutan sesuai dengan waktu
menggunakan next link. Link terakhir memiliki link yang pendaftaran, seperti yang ditunjukkan pada tabel II. Pemodelan
bernilai null untuk menandai akhir dari list (last). Linked list meliputi proses insertion operation dan deletion operation.
dapat diisi dengan berbagai tipe data seperti string, characters,
atau integer. Selain itu bisa juga diisni dengan data unik TABEL II. DATA SAMPLE
maupun data duplikasi yang ditampilkan secara berurutan
ID Nomor Tanggal Tanggal
(sorted elements) atau yang tidak berurutan (unsorted Pendaftaran Layangan Daftar Kedaluwarsa
Status
elements). Linked list mendukung beberapa operasi dasar PDT-0007 1 Juni 18, 2017 Juni 20, 2017 Lunas
diantaranya adalah sebagai berikut. PDT-0040 3 Juni 18, 2017 Juni 20, 2017 Hangus
PDT-0101 5 Juni 18, 2017 Juni 20, 2017 Lunas
 Insertion operation adalah proses menambahkan simpul PDT-0102 7 Juni 18, 2017 Juni 20, 2017 Lunas
baru ke dalam linked list terdiri dari beberapa langkah, PDT-0139 9 Juni 19, 2017 Juni 21, 2017 Hangus
yaitu membuat sebuah simpul dengan menggunakan PDT-0146 11 Juni 19, 2017 Juni 21, 2017 Lunas
struktur yang sama dan mencari lokasi di mana simpul PDT-0151 13 Juni 19, 2017 Juni 21, 2017 Hangus
tersebut harus ditambahkan. PDT-0153 15 Juni 19, 2017 Juni 21, 2017 Hangus
PDT-0183 17 Juni 19, 2017 Juni 21, 2017 Lunas
 Deletion operation adalah proses penghapusan sebuah PDT-0306 3 Juni 23, 2017 Juni 25, 2017 Hangus
simpul. Menghapus sebuah simpul harus melalui PDT-0311 9 Juni 23, 2017 Juni 25, 2017 Lunas
beberapa tahapan, yaitu tahap pencarian (search) dan PDT-0318 13 Juni 24, 2017 Juni 26, 2017 Lunas
tahap penghapusan (deletion). Tahap pencarian node PDT-0391 3 Juni 26, 2017 Juni 28, 2017 Hangus
PDT-0392 15 Juni 26, 2017 Juni 28, 2017 Hangus
target yang akan dihapus dicari menggunakan algoritma
PDT-0393 19 Juni 26, 2017 Juni 28, 2017 Hangus
pencarian.
 Reverse operation adalah sebuah proses yang dijalankan Berdasarkan aturan perlombaan, penomoran dibagi menjadi
pada seluruh simpul dengan tujuan untuk mengurutkan dua. Perlombaan Sabtu akan mendapatkan nomor ganjil,
list secara terbalik (membalik keseluruhan linked list). sedangkan Minggu mendapatkan nomor genap. Batas akhir
pembayaran (kedaluwarsa) dibatasi sampai dengan dua hari
III. METODOLOGI PENELITIAN setelah peserta melakukan pendaftaran. Status pendaftaran
Pemodelan algoritma linked list dalam penelitian ini “Belum Lunas” berarti peserta belum menyelesaikan proses
menggunakan data pendaftaran lomba layang-layang Piala pembayaran dan belum melewati tanggal kedaluwarsa,
Dhananjaya tahun 2017, pada hari lomba Sabtu, 22 Juli 2017 “Lunas” berarti peserta telah menyelesaikan pembayaran, dan
“Hangus” berarti peserta belum menyelesaikan proses berurutan. Seharusnya simpul “11” terkoneksi ke simpul “13”,
pembayaran dan telah melewati tanggal kedaluwarsa. maka yang dilakukan adalah menambahkan simpul baru, yaitu
simpul “13.new” yang berlokasi tepat setelah simpul “11”
Proses pemodelan akan dilakukan bertahap agar dapat seperti yang ditunjukkan pada gambar 3.
terlihat proses linked list yang terbentuk tiap harinya. Data
pendaftaran hari pertama, tanggal 18 Juni 2017 dapat dilihat
pada tabel III.

TABEL III. PENDAFTARAN TANGGAL 18 JUNI 2017


ID Nomer Tanggal Tanggal
Status
Pendaftaran Layangan Daftar Kedaluwarsa
PDT-0007 1 Juni 18, 2017 Juni 20, 2017 Belum Lunas
PDT-0040 3 Juni 18, 2017 Juni 20, 2017 Belum Lunas
PDT-0101 5 Juni 18, 2017 Juni 20, 2017 Belum Lunas
PDT-0102 7 Juni 18, 2017 Juni 20, 2017 Belum Lunas

Pemodelan linked list yang terbentuk berdasarkan tabel III


dapat dilihat pada gambar 2. Gambar 3. Proses Menambahkan Simpul “13.new”

Lokasi simpul baru tepat setelah simpul “11”, selanjutnya


hapus koneksi link “11.next” ke simpul “17” dan tambahkan
koneksi dari link “11.next” ke simpul “13.new” dan
“13.new.next” ke simpul “17” seperti yang terlihat pada
Gambar 2. Linked List Pendaftaran Tanggal 18 Juni 2017 gambar 4.

A. Insertion Operation
Proses insertion operation dilakukan pada proses
pemberian nomor layangan secara otomatis, yaitu apabila
terdapat pendaftar baru. Proses insertion operation
digambarkan pada pendaftaran tanggal 24 Juni 2017. Jumlah
peserta yang terdaftar yaitu dua belas peserta, dimana terdapat
satu peserta yang baru mendaftar seperti pada tabel IV.
Sebelum menambahkan pendaftaran ke dalam linked list,
terlebih dahulu dilakukan proses pencarian untuk menentukan
simpul baru dan untuk menghapus simpul yang memiliki status
“Hangus” (kedaluwarsa).
Gambar 4. Proses Memindahkan Link Simpul “11.next” ke Simpul “13.new”
TABEL IV. PENDAFTARAN TANGGAL 24 JUNI 2017 dan Simpul “13.new.next” ke Simpul “17”

ID Nomer Tanggal Tanggal


Pendaftaran Layangan Daftar Kedaluwarsa
Status Setelah simpul “13” ditambahkan ke dalam linked list,
PDT-0007 1 Juni 18, 2017 Juni 20, 2017 Lunas maka urutan peserta dalam linked list dapat dilihat pada
PDT-0040 3 Juni 18, 2017 Juni 20, 2017 Hangus gambar 5.
PDT-0101 5 Juni 18, 2017 Juni 20, 2017 Lunas
PDT-0102 7 Juni 18, 2017 Juni 20, 2017 Lunas
PDT-0139 9 Juni 19, 2017 Juni 21, 2017 Hangus
PDT-0146 11 Juni 19, 2017 Juni 21, 2017 Lunas
PDT-0151 13 Juni 19, 2017 Juni 21, 2017 Hangus
PDT-0153 15 Juni 19, 2017 Juni 21, 2017 Hangus
PDT-0183 17 Juni 19, 2017 Juni 21, 2017 Lunas
PDT-0306 3 Juni 23, 2017 Juni 25, 2017 Belum Lunas
PDT-0311 9 Juni 23, 2017 Juni 25, 2017 Belum Lunas
PDT-0318 13 Juni 24, 2017 Juni 26, 2017 Belum Lunas
Gambar 5. Bentuk Linked List Setelah Simpul “13” Ditambahkan
Berdasarkan pencarian pada tabel IV maka tidak ada simpul
yang harus dihapus. Maka, lanjutkan proses menambahkan B. Deletion Operation
simpul baru. Pada proses menambahkan simpul diperlukan Proses deletion operation dilakukan pada proses validasi
proses pencarian untuk mencari lokasi dimana simpul baru waktu pembayaran secara otomatis, apabila terdapat status
akan ditambahkan. Simpul “11” terkoneksi dengan simpul pembayaran “Belum Lunas” dan telah melewati tanggal
“17” yang berarti bahwa simpul tersebut berkoneksi tidak kedaluwarsa maka statusnya akan diubah menjadi “Hangus”.
Proses deletion operation digambarkan pada pendaftaran Simpul “3” dihapus dari linked list namun tetap tersimpan
tanggal 26 Juni 2017 terlihat jumlah peserta yang terdaftar di dalam memori. Setelah simpul “3” dihapus maka urutan
yaitu lima belas peserta, dimana terdapat tiga peserta yang baru peserta dalam linked list dapat dilihat pada gambar 8.
mendaftar seperti pada tabel V. Sebelum menambahkan
pendaftaran ke dalam linked list, terlebih dahulu dilakukan
proses pencarian untuk menentukan simpul baru dan untuk
menghapus simpul yang memiliki status “Hangus”
(kedaluwarsa).

TABEL V. PENDAFTARAN TANGGAL 26 JUNI 2017


ID Nomer Tanggal Tanggal
Status
Pendaftaran Layangan Daftar Kedaluwarsa
Gambar 8. Bentuk Linked List Setelah Simpul “3” Dihapus
PDT-0007 1 Juni 18, 2017 Juni 20, 2017 Lunas
PDT-0040 3 Juni 18, 2017 Juni 20, 2017 Hangus
PDT-0101 5 Juni 18, 2017 Juni 20, 2017 Lunas IV. HASIL DAN PEMBAHASAN
PDT-0102 7 Juni 18, 2017 Juni 20, 2017 Lunas
PDT-0139 9 Juni 19, 2017 Juni 21, 2017 Hangus Berdasarkan pemodelan yang telah dibuat pada data sampel
PDT-0146 11 Juni 19, 2017 Juni 21, 2017 Lunas perlombaan hari Sabtu, 22 Juli 2017 kategori lomba “Janggan”
PDT-0151 13 Juni 19, 2017 Juni 21, 2017 Hangus ukuran “Medium”, didapatkan bahwa algoritma linked list
PDT-0153 15 Juni 19, 2017 Juni 21, 2017 Hangus dapat mengurutkan nomor layangan, menambahkan peserta,
PDT-0183 17 Juni 19, 2017 Juni 21, 2017 Lunas dan menghapus peserta dari list. Hasil implementasi algoritma
PDT-0306 3 Juni 23, 2017 Juni 25, 2017 Hangus
linked list dalam otomatisasi sistem informasi pendaftaran
PDT-0311 9 Juni 23, 2017 Juni 25, 2017 Lunas
PDT-0318 13 Juni 24, 2017 Juni 26, 2017 Lunas ditunjukkan pada tabel VI.
PDT-0391 3 Juni 26, 2017 Juni 28, 2017 Belum Lunas
PDT-0392 15 Juni 26, 2017 Juni 28, 2017 Belum Lunas TABEL VI. HASIL IMPLEMENTASI LINKED LIST
PDT-0393 19 Juni 26, 2017 Juni 28, 2017 Belum Lunas
ID Nomor Tanggal Tanggal
Status
Pendaftaran Layangan Daftar Kedaluwarsa
Proses pencarian simpul yang memiliki tanggal kedaluarsa PDT-0007 1 Juni 18, 2017 Juni 20, 2017 Lunas
kurang dari tanggal 26 Juni 2017 dan statusnya “Belum Lunas” PDT-0040 3 Juni 18, 2017 Juni 20, 2017 Hangus
PDT-0101 5 Juni 18, 2017 Juni 20, 2017 Lunas
atau “Hangus” dilakukan. Proses pencarian dilakukan melalui
PDT-0102 7 Juni 18, 2017 Juni 20, 2017 Lunas
head dan ditemukan bahwa simpul “3” statusnya adalah PDT-0139 9 Juni 19, 2017 Juni 21, 2017 Hangus
“Hangus”. Kemudian hapus koneksi link “3.next” ke simpul PDT-0146 11 Juni 19, 2017 Juni 21, 2017 Lunas
“5” seperti yang terlihat pada gambar 6. PDT-0151 13 Juni 19, 2017 Juni 21, 2017 Hangus
PDT-0153 15 Juni 19, 2017 Juni 21, 2017 Hangus
PDT-0183 17 Juni 19, 2017 Juni 21, 2017 Lunas
PDT-0306 3 Juni 23, 2017 Juni 25, 2017 Hangus
PDT-0311 9 Juni 23, 2017 Juni 25, 2017 Lunas
PDT-0318 13 Juni 24, 2017 Juni 26, 2017 Lunas
PDT-0391 3 Juni 26, 2017 Juni 28, 2017 Hangus
PDT-0392 15 Juni 26, 2017 Juni 28, 2017 Hangus
PDT-0393 19 Juni 26, 2017 Juni 28, 2017 Hangus

Gambar 6. Proses Menghapus Link “3.next” ke Simpul “5” Pada halaman traknsaksi pendaftaran ditampilkan rincian
peserta yang terdaftar, termasuk status pembayarannya apakah
Setelah menghapus koneksi link “3.next” ke simpul “5”, sudah lunas, belum lunas, atau hangus. Tampilan halaman
lanjutkan proses dengan menghubungkan simpul “1” dengan transaksi aplikasi pendaftaran lomba layang-layang Piala
simpul “5” dengan cara memindahkan link simpul “1.next” ke Dhananjaya dapat dilihat pada gambar 9.
simpul “5” seperti yang terlihat pada gambar 7.

Gambar 7. Proses Memindahkan Link Simpul “1.next” ke Simpul “5”


sistem pendaftaran yang meliputi otomatisasi pemberian nomor
layangan dan otomatisasi validasi waktu pembayaran. Hasil
implementasi linked list dapat melakukan pemberian nomor
dan pengecekan validitas waktu pembayaran secara otomatis.
Hal tersebut sangat membantu panitia, mengingat banyaknya
peserta yang mendaftar. Penelitian ini dapat dikembangkan
dengan menambahkan algoritma pencarian agar dapat
mempercepat processing data dan mengoptimalkan proses
pencarian pada saat insertion operation dan deletion operation.

REFERENSI
[1] I. P. A. Widiyantara, P. N. Crisnapati, I. M. G. Sunarya, and I. G.
M. Darmawiguna, “PENGEMBANGAN FILM ANIMASI 3
DIMENSI ― Tude The Movie – Petualangan Si Rina ( Festival
Layang- Layang )‖,” vol. 4, pp. 120–128, 2015.
[2] C. A. Shaffer, A Practical Introduction to Data Structures and
Algorithm Analysis Third Edition (Java Version). Prentice Hall,
2009.
[3] M. McMillan, Data Structures and Algorithms with JavaScript.
California: O’Reilly Media, Inc, 2014.
Gambar 9. Halaman Transaksi Pendaftaran [4] “Tutorials Point, Data Structure and Algorithms - Linked List,”
2016. [Online]. Available:
https://www.tutorialspoint.com/data_structures_algorithms/linked_li
V. KESIMPULAN st_algorithms.htm. [Accessed: 20-Feb-2018].
Dalam penelitian ini, data yang digunakan sebagai [5] L. Del Barnett, Granville;Tongo, Data Structures and Algorithms -
pemodelan diperoleh dari data terdahulu, yaitu data lomba Annotated Reference with Examples First Edition. DotNetSlackers,
2008.
layang-layang Piala Dhananjaya tahun 2017. Algoritma linked
list digunakan untuk membuat pemodelan dalam otomatisasi

Anda mungkin juga menyukai