Anda di halaman 1dari 9

STACK

MUHAMMAD RIZAL FIRMANDA


M. FAJRI
2 D4 TEKNIK KOMPUTER A
2210161024 DAN 2210161028

ACHMAD ALFIAN HIDAYAT

ALGORITMA DAN STRUKTUR DATA

13 SEPTEMBER 2017
1. Judul

STUCK

2. Tujuan
Mahasiswa dapat mengetahui dasar pemhaman tentang Stuct.
Mahasiswa dapat menggunakan dasar-dasar Stuck.
Mahasiswa dapat mengaplikasikan Stuck pada program.

3. Dasar teori

Stack atau tumpukan adalah suatu stuktur data yang penting dalam pemrograman .
Bersifat LIFO (Last In First Out) . Benda yang terakhir masuk ke dalam stack akan
menjadi benda pertama yang dikeluarkan dari stack. Contohnya, karena kita
menumpuk Compo di posisi terakhir, maka Compo akan menjadi elemen teratas
dalam tumpukan. Sebaliknya, karena kita menumpuk Televisi pada saat pertama kali,
maka elemen Televisi menjadi elemen terbawah dari tumpukan. Dan jika kita
mengambil elemen dari tumpukan, maka secara otomatis akan terambil elemen
teratas, yaitu Compo juga.

Operasi-operasi/fungsi Stack

- Push : digunakan untuk menambah item pada stack pada tumpukan paling atas

- Pop : digunakan untuk mengambil item pada stack pada tumpukan paling atas

- Clear : digunakan untuk mengosongkan stack

- IsEmpty : fungsi yang digunakan untuk mengecek apakah stack sudah kosong

- IsFull : fungsi yang digunakan untuk mengecek apakah stack sudah penuh
4. Praktikum dan Analisa

Program Stuck

Analisa:
Digunakan Deklarasi #define MAX_STACK 10 yang berarti mulai dari 0 jadi0-9.
Terdapat typedef struct STACK{
int top;
char data[10][10]
yang berarti data adalah array of string berjumlah 10 data, masing-masing string
menampung maksimal 10 karakter
Terdapat Fungsi IsFull berfungsi untuk memeriksa apakah stack sudah penuh? Yaitu
engan cara memeriksa top of stack, jika sudah sama dengan MAX_STACK-1 maka
full, jika belum (masih lebih kecil dari MAX_STACK-1) maka belum full.
Terdapat juga Fungsi IsEmpty yaitu untuk memeriksa apakah stack masih kosong?
Yaitu dengan cara memeriksa top of stack, jika masih -1 maka berarti stack masih
kosong.
Terdapat fungsi Push yaitu untuk memasukkan elemen ke stack, selalu menjadi
elemen teratas stack. Menambah satu (increment) nilai top of stack terlebih dahulu
setiap kali ada penambahan elemen stack, asalkan stack masih belum
penuh,kemudian diisikan nilai baru ke stack berdasarkan indeks top of stack setelah
ditambah satu (diincrement).
Terdapat Fungsi Pop yaitu untuk mengambil elemen teratas dari stack. Dengan
mengambil dahulu nilai elemen teratas stack dengan mengakses top of stack, lalu
menampilkan nilai yang akan diambil terlebih dahulu, baru didecrement nilai top
ofstack sehingga jumlah elemen stack berkurang.
Terdapat fungsi Print Untuk menampilkan semua elemen-elemen stack, yaitu dengan
cara looping semua nilai array secara terbalik, karena kita harus mengakses
dari indeks array tertinggi terlebih dahulu baru ke indeks yang lebih kecil.
Terdapat fungsi Pop berfungsi untuk mengambil elemen teratas dari stack. Debfab
mengambil dahulu nilai elemen teratas stack dengan mengakses top of stack,
kemudian menampilkan nilai yang akan diambil terlebih dahulu, baru didecrement
nilai top ofstack sehingga jumlah elemen stack berkurang.

Analisa

Pada mulanya isi top dengan -1, karena array dalam C dimulai dari 0, yang berarti
stack adalah kosong.Top adalah suatu variabel penanda dalam STACK yang
menunjukkan elemen teratas Stack sekarang. Top Of Stack akan selalu bergerak
hingga mencapai MAX of STACK sehingga menyebabkan stack penuh.

Digunakan fungsi do while karna perintah yang dilakukan secara berurutan dan
dilakukan pengecekan apakah input yang dimasukkan benar atau salah, dan terjadi
satu perulangan saja.
Hasil program Stuck

Analisa
Pada program tersebut dilakukan penambahan Push yaitu data a yang masuk ke
elemen stack paling bawah kemudian dilakukan penambahan Push yaitu data b
yang berarti b adalah sebagai Top.
Kemudian dilakukan pengecekan elemen stack yang hasilnya data a adalah elemen
paling bawah dari stuck dan elemen pling atas / baru adalah data b yaitu sebagai
Top.

Analisa

Pada program tersebut dilakukan fungsi POP yaitu yang sebelumnya data b yang
menjadi top stuck / terbaru maka data b akan terambil dan sisa elemen stack
berkurang 1 menjadi 1 elemen saja.

Kemudian dilakukan fungsi Clear yaitu elemen stack akan di kosong kan.
Program Sistem Informasi menggunakan Stack
Analisa

Pada program tersebut adalah script dari System Informasi Jual Beli Hp Terbaru
Pada Konter Hp. Program tersebut menggunakan fungsi stuck seperti yang telah
dilakukan sebelumnya. Pada program tersebut terdapat fungsi seperti

Mengentry atau memasukan data Handphone terbaru yaitu menggunakan


fungsi Push
menu Handphone yang terjual yang menggunakan fungsi POP
menu catatan handphone yang paling terbaru yang belum terjual yaitu dengan
menggunakan fungsi tampil stack atau print.
Menu cuci gudang yaitu mengosongkan stock Handphone yang masih ada
yaitu dengan menggunakan fungsi Clear.

Hasil program
Analisa

Pada hasil program tersebut dilakukan penambahan HP terbaru yaitu dengan


menekan menu 1 yang dimasukan data nokia. Kemudian dilakukan penambahan
data kembali dengan memilih menu 1 yang dimasukkan data hp .

Kemudian dilakukan fungsi menu Cuci gudang yaitu dengan memilih menu 4 yaitu
menu clear maka stock HP akan kosong karna dilakukan fungsi clear.

Analisa

Pada program tersebut dilakukan fungsi Push yaitu pada menu penambahan stock HP
paling terbaru sebanyak 3 kali push diantaranya penambahan data Lenovo,
nokiaAsha, xiaomyX. Kemudian di lakukan pengecekan data dengan fungsi tampil
yaitu terdapat 3 data yang ada dan data xiaomyX sebagai Top. Lalu digunakan fungsi
POP maka data xiaomyX sebagai Top akan diambil dan terjual. Sehingga data sisa
menjadi 2 data yaitu nokiaAsha dan Lenovo dan nokia sha sebagai top.

5. Kesimpulan

Dari praktikum dapat disimpulkan bahwa stack data yang bisa diambil secara
berurutan , tidak bisa diambil secara langsung. Data yang di masukkan pertama tidak
bisa diambil secara langsung harus data yang terbaru yang dapat diambil.

Anda mungkin juga menyukai