STACK
RUANG INFORMATIKA - Pada artikel kali ini ingin sharing soal mata kuliah algoritma dan pemrograman yang di mana tugasnya adalah metode stack dengan ketentuan soal nya sebagai berikut :
1. Apa ituh Stack ?
Stack atau tumpukan adalah
kumpulan elemen yang hanya dapat di tambahatau dihapus dari satu ujung
(gerbang) yang sama.
Hal ini menunjukan bahwa seolah-olah suatu elemen
diletakan di atas elemen yang lain. Yang memberi gambaran bahwa Stack mempunyai
sifat LIFO(Last In First Out) yang berarti bahwa elemen yang terakhir masuk
akan pertama keluar.
Secara sederhana stack
dimisalkan kita mempunyai 4 buah kotak (A,B,C, dan D) yang ditumpukkan.
Kotak A
diletakkan paling bawah, lalu diikuti kotak B, C, dan yang teratas atau terakhir
adalah D. Maka untuk mengambil tiap kotak harus dilakukan berurutan dari kotak
D, C, B kemudian A. Karena jika kita mengambil kotak B tanpa terlebih dahulu
mengambil kotak di atasnya maka tumpukan akan roboh.
2. Operasi Pada Stack
Ada dua operasi dasar yang
dapat dilakukan terhadap sebuah Stack, yaitu operasi insert atau penyisipkan
elemen yang sering disebut istilah PUSH dan operasi Delete atau Penghapusan elemen yang sering
disebut istilah POP
TUGAS
PENDAHULUAN
l. Apa yang dimaksud dengan Stack!
2.
Bagaimana tahapan-tahapan proses
operasi PUSH!
3.
Bagaimana tahapan-tahapan proses
operasi POP!
4. Jelaskan karakteristik-karakteristik dari Stack!
JAWABAN
2. Tahapan-tahapan proses operasi PUSH:
- Periksa apakah stack penuh (isfull), jika bernilai false/0 (tidak penuh) maka proses push dilaksanakan dan jika pemeriksaan ini bernilai true/1, maka proses push digagalkan.
- Proses push-nya sendiri adalah dengan menambahkan field top dengan 1, kemudian elemen pada posisi top di isi dengan elemen data baru.
Operasi ini biasanya dibuat dalam bentuk function yang me-return-kan nilai sesuai data yang ada di top. Operasi pop pada stack yang menggunakan array adalah terlebih dahulu memeriksa apakah stack sedang keadaan kosong, jika tidak kosong maka data diambil pada posisi yang ditunjuk oleh posisi top, kemudian disimpan dalam variabel baru dengan nama “data”.
4. Karakteristik-karakteristik penting dari stack sebagai berikut :
- Elemen stack yaitu item-item data di elemen stack.
- Top (elemen puncak dari stack).
- Jumlah elemen pada stack.
- Status/kondisi stack.
Kondisi stack yang menjadi perhatian adalah :
- Penuh.
- Kosong.
TUGAS
AKHIR
l. Buatlah program untuk mengkonversi bilangan desimal
menjadi bilangan biner dengan menggunakan Stack!#include<iostream>
#include<stdio.h>
#include<conio.h>
int MAXSTACK; typedef int itemtype;
typedef struct{
itemtype item[300]; int count;}
stack;
void initializestack(stack *s){
s->count = 0;}
int empty(stack *s){
return (s->count == 0);}
int full(stack *s){
return (s->count == MAXSTACK);}
void push(itemtype x, stack *s){
if(full(s))
printf("stack penuh !\n");
else{
s->item[s->count]=x; ++(s->count); }}
int pop(stack *s) {
if(empty(s))
printf(" Stack Kosong ");
else {
--(s->count);
return (s->item[s->count]); }}
using namespace std;
main() {
cout<<endl;
cout<<" Nama : NAMA ANDA "<<endl;
cout<<" Kelas : KELAS ANDA "<<endl;
cout<<" Mata Kuliah : Praktikum Struktur Data "<<endl;
cout<<endl;
int i, n, m, l, z; int input;
stack tumpukan;
printf(" Program Pengkonversi Desimal ke Biner ");
cout<<endl<<endl;
initializestack(&tumpukan);
printf(" Masukkan Bilangan Desimal : ");
scanf("%d", &input);
for(z=1,n=input;n>0;n=n/2, z++) {
MAXSTACK=z; }
m=0;
for(n=input;n>0;n=n/2) {
l=n%2;
push(l,&tumpukan);
++m; }
cout<<endl;
printf(" Hasil Konversi Ke Bilangan Biner : ");
for(i=MAXSTACK;i>0;i--) {
printf("%d", pop(&tumpukan)); }
getch();
return 0;
}
Baca Juga : Programan C++ Menghitung Luas Persegi Panjang
Jawab, di sarankan menggunakan program Dev C++ agar codenya bisa kompatibel. Sekian dari RUANGINFORMATIKA cara Program Sederhana C++ Metode Stack
0 Komentar