Anda di halaman 1dari 10

PENERAPAN STACK DAN QUEUE PADA

ARRAY DAN LINKED LIST


DALAM JAVA

Johnson Sihombing
Program Studi Manajemen Informatika DIV
Politeknik Piksi Ganesha, Jl. Jend. Gatot Soebroto No. 301 Bandung
Email : john97.sihombing@gmail.com

ABSTRAK
Pada pemrograman struktur data, stack dan queue adalah dua jenis struktur data non primitif
bertipe data abstrak yang digunakan untuk menyimpan elemen data baik di array maupun di linked
list yang sebenarnya didasarkan pada beberapa kejadian di kehidupan nyata. Stack menggunakan
metode LIFO (last in first out) untuk mengakses dan menambahkan elemen data sedangkan queue
menggunakan metode FIFO (First in first out) untuk mengakses dan menamhkan elemen data.
Penelitian menggunakan tipe data integer untuk dimasukkan ke dalam array dan linked list dan
dilakukan pengujian terhadapnya dengan membuat program aplikasi menggunakan bahasa
pemrograman Java, yaitu suatu bahasa pemrograman dengan konsep object oriented. Dengan
menggunakan versi JDK (Java Develompent Kit), maka class Java untuk mengoperasikan linked
list, queue dan stack sudah tersedia. Untuk mengakses data dari class- class tersebut dapat
dikonversi menjadi array atau iterator (list satu arah). Java sudah menyedikan LinkedList yang
digunakan sebagai queue, Stack yang digunakan sebagai stack, dan ArrayDeque sebagai deque
(gabungan antara queue dan stack).

Kata Kunci : stack, queue, array, linked list, Java

ABSTRACT
In data structure programming, stack and queue are two types of non-primitive data structures of
abstract data type that are used to store data elements both in arrays and in linked lists that are
actually based on several events in real life. Stack uses the LIFO (last in first out) method to
access and add data elements while the queue uses the FIFO (First in first out) method to access
and add data elements. The study uses integer data types to be included in arrays and linked lists
and tested against it by creating application programs using the Java programming language,
which is a programming language with an object oriented concept. By using the JDK (Java
Develompent Kit) version, the Java class to operate the linked list, queue and stack is available.
To access data from these classes can be converted into an array or iterator (one-way list). Java
already provides a LinkedList that is used as a queue, a Stack that is used as a stack, and
ArrayDeque as a deque (a combination of queue and stack).

Keywords : stack, queue, array, linked list, Java

PENDAHULUAN
1. Latar Belakang Masalah string, dan lain-lain). Penelitian yang
Java merupakan salah satu bahasa dilakukan penulis adalah ADT Statis (ADT
pemrograman yang terkenal dengan basis yang menggunakan lokasi memori secara
object oriented (berorientasi objek). Dengan tetap) pada stack dan queue pada array dan
metode tersebut, maka dikenal pula struktur linked list.
data bentukan yang sering disebut ADT Stack bersifat LIFO (Last In First Out)
(Abstract Data Type) sebagai pengganti dan objek yang terakhir masuk ke dalam stack
struktur data primitif yang telah di akan menjadi benda pertama yang dikeluarkan
identifikasi dan di deklarasikan dalam bahasa dari stack itu. Sedangkan queue bersifat FIFO
pemrograman tertentu (misalnya char, integer, (First In First Out) dengaa cara kerja yang

15
berbanding terbalik dengan stack. Kedua C. Array Berdimensi Satu
struktur data tersebut dapat disajikan dalam Merupakan sekumpulan item data yang
array dan linked list. Khusus untuk stack, disusun secara baik menjadi suatu rangkaian
penyajian dalam bemtuk array masih kurang dan diacu atau ditunjuk oleh satu identifier.
tepat. Array bisa digunakan kalau elemen Contoh : Nilai = (56 42 89 65 48). .
stack tidak melebihi batas maksimum. Tipe Item data individual dalam array bisa
data yang bisa digunakan adalah record. ditunjuk secara terpisah dengan menyatakan
posisinya dalam array itu. Misalnya Nilai(1)
TINJAUAN PUSTAKA menunjuk ke 56, Nilai(2) menunjuk ke 42,
1. Array dan seterusnya. Bilangan yang ditulis dalam
A. Pengertian Array tanda kurung menandakan posisi item
Array merupakan suatu kumpulan data individual dalam array (disebut juga subscript
terstruktur yang berupa sejumlah data sejenis / indeks). Variabel bisa digunakan sebagai
(memiliki jenis data yang sama) yang subscript, misalnya Nilai(i). Jika i = 2 maka
jumlahnya tetap dan diberi suatu nama menunjuk ke Nilai(2) yaitu 42. Jika i = 4
tertentu. maka menunjuk ke Nilai(4) yaitu 65.
Sebuah array dapat dibayangkan sebagai Sedangkan item data individual dalam suatu
sekumpulan kotak yang menyimpan array sering disebut elemen.
sekumpulan elemen bertipe sama secara
berurutan (sequential) di dalam memori
komputer. Array juga dapat digambarkan
sebagai elemen-elemen yang disusun secara
vertikal sehingga dinamai tabel. Setiap elemen
array data diacu melalui indeksnya.
Karena elemen disimpan secara
berturutan, indeks array haruslah suatu tipe
yang juga mempunyai keterurutan (memiliki
suksesor dan ada predesesor), misalnya tipe Gambar 1. Visualisasi array berdimensi
integer atau karakter. Jika indeksnya adalah satu
integer maka keterurutan indeks sesuai
dengan urutan integer. Jika indeks array D. Array Berdimensi Dua
adalah karakter maka keterurutan indeks Array tersebut sering di analogikan dan
sesuai dengan urutan karakter. Tiap elemen digambarkan sebagai bentuk matriks, dengan
array langsung diakses dengan indeks pertama berfungsi sebagai baris dan
menspesifikasikan nama array. Array dapat indeks kedua digunakan untuk kolom.
berupa array 1 dimensi, 2 dimensi, dan bahkan Beberapa kolom dan baris pada array dua
n-dimensi. dimensi memiliki elemen yang bertipe sama.
Pada array dua dimensi terdapat dua jumlah
B. Deklarasi Array elemen yang terdapat didalam kurung siku dan
Untuk dapat mengakses array, maka keduanya boleh tidak sama. Bentuk umum
terlebih dahulu ditentukan deklarasi terhadap deklarasi array dua dimensi :
suatu array yang berbentuk seperti berikut ini : Tipe_Data Nama_Variabel [index-1][index-2]
tipe_data
nama_var_array[ukuran];
Keterangan :
tipe_data : menyatakan jenis tipe data
dari elemen yang tersimpan di array
(int, char, float, dan lain-lain).
nama_var_array : menyatakan nama
variabel yang dipakai.
ukuran : menunjukkan jumlah Gambar 2. Visualisasi array berdimensi
maksimal elemen array. dua
Contoh : Int nilai[6].

16
Pada gambar diatas, kolom adalah {2 dan 5}
{4 dan -7} {10 dan 9} {12 dan 20 } dan baris
adalah { 2,4 ,10, 12 } dan { 5, -7, 9, 20}.

E. Linked List
1. Pengertian Linked List
Linked list adalah suatu bentuk struktur
data yang berupa sekumpulan elemen data
yang bertipe sama dimana tiap elemen saling
berkaita atau dihubungkan dengan elemen lain Gambar 4. Ilustrasi singly linked list
melalui suatu pointer. Pointer itu sendiri
adalah alamat elemen data yang tersimpan di 3. Doubly Linked List
memori. Penggunaan pointer untuk mengacu Merupakan linked list dengan
elemen berakibat elemen-elemen bersebelahan menggunakan pointer, dimana setiap node
secara logik walau tidak bersebelahan secara memiliki tiga buah field, yaitu : field pointer
fisik di memori. yang menunjuk ke pointer berikutnya, field
Linked list terdiri dari node-node pointer yang menunjuk ke pointer sebelumnya
(simpul-simpul) yang saling terhubung dan field yang berisi data dari node tersebut.
(linked). Simpul berupa struct, sedangkan link Semenatara pointer next dan prev-nya
berupa komponen yang bertipe pointer ke menunjuk ke null.
simpul. Ada dua jenis pointer yang digunakan,
yaitu head (menunjukkan alamat pointer
paling depan) dan tail (menunjukkan simpul
terakhir). Operasi penambahan atau
penghapusan sebuah simpul akan mengubah
nilai pointer link nya. Sedangkan pointer link
di simpul terkahir diberi nilai null.

Gambar 5. Ilustrasi doubly linked list

4. Singly Circular Linked List


Adalah singly linked list yang pointer
next-nya menunjuk ke dirinya sendiri (proses
rekursif), jika terdiri dari beberapa node maka
pointer terakhirnya akan menunjuk ke pointer
terdepannya.
Gambar 3. Ilustrasi linked list

Ada bebrdi apa jenis linked list yang


dapat di proses : singly linked list, doubly
linked list, Singly circular linked list, doubly
circular linked list.

2. Singly Linked List


Pada list jenis ini, tiap node nya memiliki
field yang berisi pointer ke node berikutnya
dan juga memiliki field yang berisi data.
Akhir linked list ditandai dengan node terakhir Gambar 6. Ilustrasi singly circular linked
yang menunjuk ke null yang akan digunakan list
sebagai kondisi berhenti saat pembacaan
linked list.

17
5. Doubly Circular Linked List 4) IsEmpty : fungsi yang digunakan untuk
Merupakan sutau double linked list yang mengecek apakah stack sudah kosong
pointer next dan pointer prev-nya menunjuk 5) IsFull : fungsi yang digunakan untuk
ke dirinya sendiri secara circular. mengecek apakah stack sudah penuh

B. Deklarasi Struktur Data Stack


Agar pemrograman berjalan baik, stack
harus dideklarasikan terlebih dahulu dengan
bentuk seperti berikut :

#define maxsize 100


// mendefinisikan maks ukuran data
// dlm stack
typedef struct {
int top; // indeks TOP
Gambar 7. Ilustrasi doubly circular linked
char items [ maxsize ] // array
list
} stack;
// nama tipe data baru yg dibuat
2. Stack
// adalah stack
A. Pengertian Stack
Stack atau tumpukan adalah suatu stuktur
Untuk notasi deklarasi fungsi-fungsi stack
data yang penting dalam pemrograman
dapat dilihat di bawah ini :
dengan metode pemrosesan yang bersifat
1) Fungsi Initialize :
LIFO (Last In First Out) dimana objek/benda
void initialize ( stack *s)
yang terakhir masuk ke dalam stack akan
// operasi initialize dg parameter
menjadi benda pertama yang dikeluarkan dari
// s bertipe pointer stack
stack. Dengan model demikian, maka hanya
{ s -> top = -1;
bagian paling atas saja dari stack (TOP) yang
// top = -1  stack dlm
bisa di akses. Salah satu kelebihan stack
kondisi empty
adalah bahwa struktur data tersebut dapat di
}
implementasikan baik pada array maupun
2) Fungsi Pop :
pada linked list.
void pop ( stack *s, char *x )
{
if (s->top > maxsize) // stack is full
printf("\nERROR: the stack
is full!");
else {
s->top = s->top + 1;
s->items [ s->top ] = x;
printf("\nPUSH
SUCCEED");
}
}
3) Fungsi Push :
void push ( stack *s, char x )
Gambar 7. Visualisasi operasi stack {
if (s->top > maxsize) // stack is full
Adapuu operasi-operasi/fungsi yang dapat printf("\nERROR: the stack
dilakukan pada stack adalah sebagai berikut : is full!");
1) Push : digunakan untuk menambah item else {
pada stack pada tumpukan paling atas s->top = s->top + 1;
2) Pop : digunakan untuk mengambil item s->items [ s->top ] = x;
pada stack pada tumpukan paling atas printf("\nPUSH SUCCEED"); } }
3) Clear : digunakan untuk mengosongkan 4) Fungsi Show :
stack void show( stack *s )

18
{
printf("\nISI STACK :\n"); void push void push (elemen :
for(int i=s->top; i>=0; i--) (elemen : typedata) ;
printf("\t%c\n", s->items[i]); typedata) ; if (not full) {
printf("\n"); now:point ; top := top + 1 ;
} now(now) ; stack [top] := elemen ;
now^.isi := }
Seperti yang telah dijelaskan sebelumnya elemen ; ;
bahswa struktur data stack dapat di if (empty)) {
impelementasikan pada array dan linked list. now^.next := nil ;
Berikut adalah table perbedaan antara stack else
yang ada di array dan linked list : now^.next := top
;
Tabel 1. Perbedaan Stack Linked List top := now ;
versus Stack Array }

operasi : pop()
Stack Dengan Stack Dengan Array
Linked List void pop (elemen void pop (elemen :
: typedata) ;{ typedata) ;
operasi : create() now : point ; if (not empty) {
if (not empty) { elemen := stack [top] ;
void create { void create { elemen := top := top – 1 ;
top := nil ; } top := 0; } now^.isi ; }
now := top ;
operasi : empty() top := top^.next ;
dispose(now) ;
function empty : function empty : }
boolean; { boolean; {
empty := false ; empty := false ; operasi : clear
if (top = nil) if (top = 0) empty :=
empty := true ; } true ; “ void clear ; void clear ;
trash : typedata ; top := 0 ;
operasi : full() while (not empty) }
do pop(trash) ;
tidak ada istilah function full : }
full pada stack. boolean; {
program tidak full := false ;
Pada tabel diatas, dapat dilihat bahwa
menentukan if (top = max) full :=
pada linked list tidak dikenal istilah full. Hal
jumlah elemen true ;
ini berkaitan dengan penggunaan alokasi
stack yang }
memori pada linked list yang lebih dinamis
mungkin ada.
jika dibandingkan dengan array, sehingga
kecuali dibatasi
pemborosan memory dapat dihindari. Program
oleh pembuat
tidak menentukan jumlah elemen stack yang
program dan
mungkin ada. Kecuali dibatasi oleh pembuat
jumlah memory
program dan jumlah memory yang tersedia.
yang tersedia.
Tempat akan sesuai dengan banyaknya
tempat akan
elemen yang mengisi stack
sesuai dengan
banyaknya
3. Queue
elemen yang
A. Pengertian Queue
mengisi stack.
Kebalikan dari stack, queue (antrian)
adalah suatu jenis struktur data yang dapat
operasi : push() diproses dengan sifat FIFO (First In First
Out), dimana elemen yang pertama kali masuk

19
ke antrian akan keluar pertama kalinya. Ada b. Dengan cara memeriksa nilai Tail,
dua jenis operasi yang bias dilakukan di jika Tail = -1 maka empty
antrian : enqueue (memasukkan elemen baru c. Tidak perlu memeriksa Head, karena
ke dalam elemen) dan dequeue (adalah Head adalah tanda untuk kepala
mengeluarkan satu elemen dari suatu antrian). antrian (elemen pertama dalam
Antrian dapat dibuat dengan menggunakan: antrian) yan:g tidak akan berubah
Liniear Array dan Circular Array. Berikut adalah deklarasi fungsi.Is_Empty
:
int Is_Empty (queue *q) {
if (q  jumlah == 0)
return (1);
else
return (0);
}
3) Fungsi Is_Full, berfungsi untuk :
a. Untuk mengecek apakah Antrian
sudah penuh atau belum
b. Dengan cara mengecek nilai Tail,
jika Tail >= MAX-1 (karena MAX-1
adalah batas elemen array pada C)
berarti sudah penuh
Deklarasi fungsi.Is_Empty :
int Is_Full (queue *q) {
if (q  jumlah == MAX)
return (1);
else
return (0);
}
Gambar 8. Ilustrasi proses queue 4) Fungsi Enqueue , dengan tujuan :
a. Untuk menambahkan elemen ke
B. Deklarasi Struktur Data Queue dalam Antrian, penambahan elemen
Queue dapat dideklarasikan dengan selalu ditambahkan di elemen paling
bentuk seperti berikut : belakang
b. Penambahan elemen selalu
define maxsize 100 menggerakan variabel Tail dengan
typdef struct { cara increment counter Tail.
int jumlah; //jumlah data Deklarasi fungsi.Enqueue :
int depan; //ujung depan void enqueue ( char X, queue *q )
int belakang; //ujung belakang {
char data [ maxsize ]; //array isi queue if ( Is_Full(q) )
} queue; printf(“\nERROR: queue sudah
penuh\”);
Sedangkan bentuk fungsi-fungsi queue dapat else
dilihat berikut ini : {
1) Fungsi Initialize : q->data[q->belakang] = X;
void initialize ( queue *q ) q->belakang = (q-
{ >belakang+1)%maxsize;
q -> jumlah = 0; ++(q->count);
q -> depan = 0; }
q -> belakang = 0; }
} 5) Fungsi Dequeue :
2) Fungsi Is_Empty, yang antara lain a. Digunakan untuk menghapus elemen
digunakan untuk : terdepan/pertama dari Antrian
a. Untuk memeriksa apakah Antrian
sudah penuh atau belum

20
b. Dengan cara mengurangi counter Tidak dapat
Tail dan menggeser semua elemen menambahkan data
antrian kedepan. melebihi maksimal
c. Penggeseran dilakukan dengan ukuran array yang
menggunakan looping telah dideklarasikan

Deklarasi fungsi.Dequeue : PENELITIAN TERDAHULU


void dequeue ( queue *q, char X ) Tabel 2. Penelitian Terkait
{ No Penul Tahun Publik Judul Hasil
if ( Is_Empty(q) ) is asi
1 Arif 2011 Semin Sistem Konsep
printf(“\nERROR: queue sudah Aliy ar Pembela pembel
kosong\”); anto Nasio jaran
ajaran
else nal Algorit
Aplik ma dapat
{
X = q->data[q->depan]; asi Stack memud
Tekno Dan ahkan
q->depan = (q->depan+1)%maxsize; logi Queue
--(q->count); dan
Infor Dengan
} } masi Pendeka percep
6) Fungsi Tampil , yang berfungsi untuk 2011 tan atan
(SNA Problem mahasi
menampilkan nilai-nilai elemen dalam TI Based swa
Antrian dam menggunakan looping dari 2011) Learnin
head samapai tail. ISSN: g Untuk dalam
1907- Menduk memah
Deklarasi fungsi Tampil : 5022 ung ami
void show_queue(queue *q) Yogy Pembela
konsep
{ akarta jaran
printf("\nIsi Queue:\n"); , 17- Struktur algorit
for(int i=q->depan; i<q->belakang; 18 Data ma
Juni stack
i++) 2011
printf("%c ", q->data[i]); dan
ISSN:
printf("\n"); } 1907- queue
5022
Note: script ini khusus untuk normal
Kesimpulan:: Sistem pembelajaran algoritma Stack dan
queue Queue
Tabel di bawah ini akan menampilkan yang dibuat telah memenuhi ketiga aspek penilaian
Perbedaan Queue yang menggunakan Linked multimedia pembelajaran yaitu aspek rekayasa
List versus Queue – Array : perangkat lunak (RPL), aspek desain pembelajaran dan
aspek komunikasi visual

Tabel 2. Perbedaan Implementasi Queue 2 M 2017 Jurnal Pemodel Hasil


Linked List versus Queue Array Zak Tekno an studi
y logi Antrian kasus
Hadi Indust Sistem telah
Queue Dengan Queue Dengan , ri Pengam sesuai
Linked List Array Tauf Pertan bilan dengan
ik ian 27 Pesanan hasil
Memiliki Implementasi Djat (3):29 Produk observasi
kompleksitas pada sederhana na, 8-309 Pada kondisi
pengimplemantasian dan (2017 Gudang gudang
Sugi ) Minuma industri
Ukuran memori arto2 ISSN: n dan
Pengalokasian harus ditentukan 0216- Ringan model ini
memori dinamis ketika sebuah objek 3160 Dengan digunaka
queue EISS Sistem n untuk
N: Rak mengana
dideklarasikan
2252- Drive-In lisis
Menggunaka 2 buah Pemborosan tempat 3901 jumlah
pionter, qFront dan (memori) ketika operator
qRear, untuk menggunakan yang
harus
menandai posisi jumlah data yang ditugaska
depan dan belakang lebih sedikit dari n untuk
dari queue alokasi memory meningk

21
atkan mitra. Sun Microsystems mendirikan proyek
kinerja kode terbuka NetBeans pada bulan Juni 2000
gudang
Kesimpulan : pembuatan model sitem mampu
dan terus menjadi sponsor utama.
menentukan kinerja gudang : rendahnya kinerja pada Suatu IDE adalah lingkup pemrograman
proses racking, transportasi produk menuju area yang diintegrasikan ke dalam suatu aplikasi
pembongkaran, dan proses pembongkaran produk untuk perangkat lunak yang menyediakan
sejumlah operator yang saat ini ditugaskan serta adanya
operator menganggur pada proses di gudang/ Model pembangun Graphic User Interface (GUI),
juga dapat menentukan status produk berdasarkan hold, suatu text atau kode editor, suatu compiler
siap rilis dan kadaluarsa di gudang atau interpreter dan suatu debugger. The
3 Rac 2016 Media Implem LinkedLi NetBeans IDE adalah sebuah lingkungan
hmat Infor entasi st pada
Sela matik Struktur Java
pengembangan, yang merupakan sebuah tools
met a Vol. Data digunaka untuk pemrogram menulis, mengkompilasi,
15 List, n sebagai mencari kesalahan dan menyebarkan program.
No.3 Queue, queue, Netbeans IDE ditulis dalam Java namun dapat
(2016 Dan Stack
) Stack yang
mendukung bahasa pemrograman lain.
Dalam sebagai Terdapat banyak modul untuk memperluas
Java stack, Netbeans IDE. Netbeans IDE adalah sebuah
dan produk bebas dengan tanpa batasan
ArrayDe
que
bagaimana digunakan. NetBeans IDE
sebagai mendukung pengembangan semua tipe
deque. aplikasi Java (J2SE, web, EJB, dan aplikasi
PriorityQ mobile). Fitur lainnya adalah sistem proyek
ueue
digunaka
berbasis Ant, kontrol versi, dan refactoring
n untuk
priorotas B. Perangkat Keras Pengujian
kasus Spesifikasi perangkat keras (hardware)
dengani
kondisi
yang digunakan penulis untuk membuat
khusus program aplikasi adalah sebagai berikut :
Kesimpulan : OS : Windows 7/
1. Sstruktur data menjadi lebih mudah di Processor : Intel® ATOM™) CPU
implementasikan karena telah tersedia kelas-kelas
yang dibutuhkan di dalam nya
N435 @ 1.60 GHz
2. Sruktur list, queue dan stack dapat diakses dengan RAM : 2.00 GB
mengkonversi menjadi bentuk array System type : 32-bit Operating System
3. Struktur Queue paling banyak digunakan dalam
pengolahan data karena pengaksesan data dimulai dari
awal
HASIL DAN PEMBAHASAN
4. Pemrosesan Stack dimulai dari data terakhir. Kasus
yang umum menggunakan stack adalah pembuatan A. Pengujian Struktur Data Stack
proses undo/redo pada program. Sesuai dengan judul jurnal yang penulis
teliti, maka proses pengujian terhadap stack
PERENCANAAN PENGJUIAN dapat dilakukan pada array dan linked list
A. Java Netbeans IDE dengan membuat program aplikasi
NetBeans adalah suatu Integrated menggunakan bahasa pemrograman Java.
Development Environment (IDE) berbasiskan 1. Implementasi stack di array
Java dari Sun Microsystems yang berjalan di
atas Swing. Swing merupakan sebuah
teknologi Java untuk pengembangan aplikasi
desktop yang dapat bejalan di berbagai macam
platforms seperti Windows, Linux, Mac OS X
and Solaris.
Netbeans merupakan software
development yang Open Source, dengan kata
lain software ini di bawah pengembangan
bersama, bebas biaya. NetBeans merupakan
sebuah proyek kode terbuka yang sukses Gambar 9. Koding dan output stack di
dengan pengguna yang sangat luas, komunitas array
yang terus tumbuh, dan memiliki hampir 100

22
2. Implementasi stack di linked list 2. Implementasi queue di lunked list

Gambar 10. Koding dan output stack di


linked list

B. Pengujian Struktur Data Queue


Sama seperti pada stack, pengujian
terhadap queue juga dapat dilakukan pada Gambar 12. Koding dan output queue di
array dan linked list . linked list

1. Implementasi queue di array


3. Implementasi queue di circular
linked list

Gambar 11. Koding dan output queue di


array
Gambar 13. Koding dan output quue di
circular linked list

23
Nitesh, Manbir Singh dan Rahul
PENUTUP Yadav. (2014). Research Paper On Stack
And Queue.
Kesimpulan © 2014 IJIRT | Volume 1 Issue 7 |
Tahap pengujian yang telah dilaksanakan
ISSN: 2349-6002. Deparment Of
dengan implementasi terhadap strukur data
queue dan stack baik yang digunakan di array Electronics And Communication
maupun linked list, penulis mendapat Dronacharya College Of Engineering
beberapa baik kesimpulan, antarap lain : Farruknagar, Khetawas, Gurgaon.
1. Implementasi stack dan queue di array Selamet, Rachmat. (2016).
memiilki waktu akses rata-rata lebih cepat Implementasi Sttruktur Data List, Queue
daripada waktu akses yang di Dan Stack Dalam Java. Media
implementsikan di linked list. Informatika Vol. 15 No.3 (2016)
2. Kasus khusus jika jumlah maksimal Mandasari, Rizza Indah Mega dan
elemen data nya tidak diketahui pada Cahyana. (2016). Modul Praktikum
stack dan queue yang berukuran besar,
Implementasi Struktur Data (Hal. 42 –
maka disarankan untuk menggunakan
linked list. 56). Universitas Telkom Bandung
3. Selain itu, khusus untuk perangkat keras Yatini Indra B, Nasution Erliansyah.
yang memiliki memori terbatas, linked 2006. Algoritma Dan Struktur Data.
list memiliki performa yang lebih bagus. Yogyakarta : Penerbit Graha Ilmu.
. Munir, Rinaldi. (2003). Matematika
Saran Diskrit. Departemen Teknik Informatika,
Adapun saran-saran yang dapat ditulis Institut Teknologi Bandung.
adalah : Ficher, M.M., dan Getis,A. (2010)).
1. Pada tiap kasus stack dan queue, buatlah Handbook of Applied Spatial Analysis
algoritma dan deklarasi struktur data nya
Software Tools, Methods and
yang lebih efektif, lebih cepat waktu
proses dan tidak membutuhkan memori Applications. Berlin Heidelberg :
banyak. Springer-Verlag
2. Menggunakan software yang lebih Barakbah, Ali Ridho., Tita Karlita dan
canggih dalam pengimplementasian di Ahmad Syauqi Ahsan. (2013). Buku Ajar
masa mendatang. Logika Dan
Algoritma. Program Studi Teknik
DAFTAR PUSTAKA InformatikaDepartemen Teknik
Prihartono. (2016), Pedoman Praktis Informatika dan KomputerPoliteknik
Penulisan Paper Jurnal Ilmiah, Bandung Elektronika Negeri Surabaya
: Piksi Ganesha Press. [OC] Oracle Technology. (2013).
Aliyantoi, Arif. (2011). Sistem Netbeans IDE 7.3. Tersedia pada
Pembelajaran Algoritma Stack Dan https://netbeans.org/
Queue Dengan Pendekatan Based community/releases/73/. [ 11 Juli 2013]
Learning Untuk Mendukung TH, Cormen., Leiserson CE, Rivest R
Pembelajaran Struktur Data. Seminar dan Stein C. (2009). Introduction to
Aplikasi Teknologi Informasi 2011 Algorithms, 3ed. Massachusetts: MIT
(SNATI 2011). ISSN : 1907-5022. Pers.
Hadi, M. Zaky., Taufik Djatna dan
Sugiarto. (2017). Pemodelan Antrian
Sistem engambilan Pesanan Produk Pada
Gudang Minuman Ringan Dengan Sistem
Rak Drive-In. Jurnal Teknologi Industri
Pertanian 27 (3):298-309 (2017).
ISSN: 0216-3160 EISSN: 2252-3901.

24

Anda mungkin juga menyukai