Program Sederhana C++ Metode Stack

                                                                     

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


1. Stack atau kumpulan adalah kumpulan elemen yang hanya dapat ditambah atau dihapus dari satu ujung (gerbang) yang sama.
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.      


 

3. Tahapan-tahapan proses operasi POP:

 

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;
}


 

Jawab, di sarankan menggunakan program Dev C++ agar codenya bisa kompatibel. Sekian dari RUANGINFORMATIKA cara Program Sederhana C++ Metode Stack





Posting Komentar

0 Komentar

Apa Itu Algoritma Pemrograman?Fungsi, Cara Kerja & Contohnya