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
- 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
Hasil program
Analisa
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.