Anda di halaman 1dari 17

STACK PADA JAVA

LAPORAN PRAKTIKUM STRUKTUR DATA

Oleh
Dyah Ayu Fitriana
191810101090

LABORATORIUM MATEMATIKA DASAR


JURUSAN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS JEMBER
2020
I. TUJUAN
Setelah melakukan praktikum mahasiswa diharapkan mampu:
1. Mengerti dan memahami stack
2. Mendeklarasikan, menginisialisasi dan mengakses stack
3. Membuat program dengan menggunakan stack

II. DASAR TEORI


Stack dalam struktur data merupakan suatu tumpukan dari sekumpulan data.
Penggunaan stack atau tumpukan merupakan salah satu komponen penting untuk menjamin
proses penanganan suatu data disamping hal lain seperti quenue (antrian), linked list, dan
tree.Stack adalah suatu koleksi atau kumpulan item data yang terorganisasi dalam bentuk
urutan linear, dimana saat operasi penambahan dan penghapusan datanya selalu dilakukan pada
bagian akhir data, yang disebut dengan top of stack. Karakteristik penting stack adalah bersifat
LIFO (Last In First Out) artinya data yang terakhir masuk merupakan data yang akan keluar
terlebih dahulu. Diasumsikan saja misalnya memasukkan data alfabet secara urut dari a sampai
e (a-b-c-d-e). Kemudian ingin mengeluarkan alfabet b, maka yang harus dilakukan adalah
mengeluarkan alfabet e, d dan c secara berurut hingga akhirnya dapat mengakses b.

Stack merupakan suatu susunan koleksi data dimana dapat ditambahkan dan dihapus
selalu dilakukan pada bagian akhir data, yang disebut dengan Top Of Stack. Dapat di
ilustrasikan seperti sebuah tumpukan buku, ketika mengambil sebuah buku di dalam tumpukan
maka harus diambil satu persatu dari buku yang paling atas dari tumpukan buku tersebut.
Operasi yang sering diterapkan pada struktur data Stack (Tumpukan) adalah Push dan Pop.
Operasi-operasi yang dapat diterapkan adalah sebagai berikut :

1. Operasi Push
Operasi push adalah operasi dasar dari stack yang berguna untuk menambahkan suatu
elemen data baru pada stack pada tumpukan paling atas dan di simpan pada posisi top
yang akan mengakibatkan posisi top akan berubah. Jika dalam Linked List menggunakan
method insertLast. Apabila stack sudah penuh maka tidak dapat dilakukan penambahan
data.
2. Operasi Pop
Operasi paling besar dari stack yang digunakan untuk mengambil elemen terakhir
(top) dan kemudian menghapus elemen tersebut sehingga posisi top akan
berpindah. Jika dalam Linked List menggunakan method deleteLast. Apabila akan
mengeluarkan data teratas dari stack maka stack tidak boleh kosong.
3. Operasi isEmpty
Operasi yang digunakan untuk memeriksa apakah stack dalam keadaan kosong.
Operasi ini dilakukan dengan memeriksa field top, jika top bernilai 0 atau top bernilai
-1, maka berarti dalam keadaan empty.
4. Operasi isFull
Operasi ini untuk memeriksa keadaan stack apakah sudah penuh/belum. Operasi ini
memberikan nilai true(1) jika field top sama dengan fieldmaks_elemen.
5. Operasi Clear
Operasi Clear digunakan untuk mengosongkan Stack.

Kelebihan stack yaitu penambahan dan penghapusan data dapat dilakukan dengan
cepat, yaitu selama memori masih tersedia penambahan data bisa terus dilakukan. Dengan
demikian tidak ada kekuatiran terjadinya stack overflow. Kekurangan stack yaitu setiap sel
tidak hanya menyimpan value saja, melainkan juga pointer ke sel berikutnya. Hal ini
menyebabkan implementasi stack memakai linked list akan memerlukan memori yang lebih
banyak daripada di implementasikan dengan array. Setiap halaman pada linked list hanya
bisa di akses dengan cara sekuensial, sehingga lambat.

III. ALAT DAN BAHAN


1. Laptop atau computer
2. Software Java
3. Software Eclips

IV. LANGKAH-LANGKAH
4.1. Menjalankan Eclipse
Untuk menjalankan software aplikasi Eclipse, langkah yang harus dilakukan adalah
sebagai berikut:
1. Membuka eclipse
Klik ikon rar eclipse kemudian pilih eclipse application, selanjutnya akan muncul tampilan
untuk pengaturan direktori tempat kita menyimpan skrip program Java yang akan kita buat.
Setelah itu klik launch.

Gambar 1.1 Select a directory


2. Selanjutnya akan muncul tampilan awal dari software aplikasi Eclipse seperti gambar
dibawah ini. Pada tampilan awal ini terdapat beberapa pilihan diantaranya, untuk mengatur
configrasi Eclipse, membuat aplikasi, membuat proyek dan lainnya. Disini pilih Create a
new script.

Gambar 1.2 Tampilan awal

4.2. Menulis Script


Pada software aplikasi java untuk menuliskan skrip dilakukan dengan menggunakan
software aplikasi Eclipse. Langkal awal perlu membuat proyek baru terlebih dahulu. Dalam
proyek itu kita membuat kelas yang ditujukan untuk menuliskan skrip program yang kita
inginkan. Cara membuat proyek baru dengan memberi nama terlebih dahulu, seperti 05
Praktikum SD yaitu :
1. Langkah pertama yang dilakukan adalah klik create a new script pada awal tampilan
membuka eclipse. Ketikkan project name pada tampilan lalu klik finish.

Gambar 1.3 Menulis project nama


2. Hasil proyek baru yang telah dibuat bisa dilihat pada Project Explorer

Gambar 1.4 Tampilan di Package explorer


3. Langkah selanjutnya dengan mengklik proyek yang sudah dibuat sebelum membuat kelas.
Untuk membuat kelas klik menu menu File kemudian pilih New lalu klik Class, maka akan
muncul jendela Java Class seperti dibawah ini. Kemudian ketikkan name seperti
DYAHAF191090P5Stack pada kotak isian Name yang ada pada jendela Java Class dan
ketikkan package seperti com.praktikumSD pada jendela Java Class, serta pilih cek box
public static void main(String[ ] args). Setelah itu klik tombol Finish.

Gambar 1.5 New Java Class

4. Setelah diklik finish maka akan muncul tampilan seperti gambar dibawah ini

Gambar 1.6 Tampilan Hasil Kelas yang Dibuat


5. Selanjutnya tambahkan perintah pada kelas yang sudah kita buat, dengan mengetik perintah
seperti Gambar 1.7.

Gambar 1.7 Jendela Kelas DYAHAF191090P5Stack


6. Untuk selanjutnya buatlah file baru (new class), untuk membuat kelas Stackx, dengan
mengetik perintah seperti Gambar 1.8.
Gambar 1.8. Kelas Stackx
7. Untuk menjalankan skrip Java yang sudah dibuat, kita harus kembali ke tab
DYAHAF191090P5Stack kemudian klik tombol Run. Hasil dapat dilihat seperti pada
Gambar 1.9.

Gambar 1.9. Hasil running program DYAHAF191090P5Stack


V. LATIHAN
Buatlah method dan tambahkan dalam kelas Stackx untuk beberapa operasi berikut ini.
1. Method Jumlah untuk mengetahui jumlah data yang ada dalam stack.
Syntak untuk menambahkan operasi jumlah

public void jumlah() {


if(!isEmpty()){
System.out.println(top+1);
} if (isEmpty()) {
System.out.println("Stack kosong");
Programnya :
 Kelas DYAHAF191090P5Stack

Gambar 2.1 Jendela Kelas DYAHAF191090P5Stack


 Kelas Stackx

Gambar 2.2. Kelas Stackx


 Hasil Program

Gambar 2.3. Hasil running program DYAHAF191090P5Stack Operasi Jumlah

2. Method Clear untuk operasi menghapus semua data yang ada dalam stack.
Syntak untuk menambahkan operasi clear

public void clear() {


while(!isEmpty()){
top--;
System.out.println("data dikeluarkan");
}
if (isEmpty()) {
System.out.println("Stack kosong");
 Kelas DYAHAF191090P5Stack
Gambar 2.4 Jendela Kelas DYAHAF191090P5Stack
 Kelas Stackx

Gambar 2.5. Kelas Stackx


 Hasil Program

Gambar 2.6. Hasil running program DYAHAF191090P5Stack Operasi Clear

VI. TUGAS
1. Buatlah program untuk membalik kata berdasarkan kata yang diinputkan.

Gambar 3.1 Jendela Kelas DYAHAF191090T1

Gambar 3.2. Hasil running program DYAHAF191090T1


2. Buatlah program untuk mencocokkan jumlah pasangan kurung buka dan kurung tutup pada
penulisan ekspresi matematika.
c[d] // benar
a{b[c]d}e // benar
a{b(c]d}e // salah; ] tidak bersesuaian dengan (
a[b{c}d]e} // salah; tanda kurung terakhir }
a{b(c) // salah; tanda kurung awal {

Gambar 3.3 Jendela Kelas DYAHAF191090T2


Gambar 3.4. Hasil running program DYAHAF191090T2

VII. KESALAHAN
1. Kesalahan pertama pada Java

Gambar 4.1 Kesalahan pertama yang terjadi pada Java


Kesalahan yang terjadi pada program diatas adalah pada kelas DYAHAF191090P5Stack
yaitu kurangnya perintah () pada baris ke25 sehingga operasi stack untuk pilihan kedua
yaitu pop item tidak terdefinisi. Kesalahan tersebut dapat diatasi dengan menambahkan
perintah () dengan mystack.pop(); seperti pada gambar 4.2.
Gambar 4.2 Penanganan dari Kesalahan

VIII. DAFTAR REFERENSI


Annisa Puspa Kirana, S.Kom, M.Kom. 2017. Modul Praktikum Algoritma dan
Struktur Data. Malang : Universitas Negeri Malang.
Modul Praktikum Struktur Data dengan Bahasa Pemrograman Java

Anda mungkin juga menyukai