Está en la página 1de 2

1.

Start
2. Mendeklarasikan header file
3. Mendeklarasikan stack[MAX], top1 dan top2
4. Pengenalan fungsi init
5. Pengenalan fungsi push
6. Pengenalan fungsi pop
7. Pengenalan fungsi clear
8. Pengenalan fungsi full
9. Pengenalan fungsi empty
10. Pengenalan fungsi baca
11. Pengenalan fungsi main
12. Menampilkan menu dalam program
13. User memasukkan pilihan menu
14. Jika pilih=1 maka user memilih push, yang berfungsi untuk memasukkan elemen
kedalam stack. Kemudian program akan melakukkan perulangan dengan
menampilkan menu dalam program. Jika user memilih menu=1 maka user
memilih untuk memasukkan data lagi, dan jika tidak user dapat memilih menu
yang lain.
15. Jika pilih = 2, maka user memilih untuk melakukan pop, yang berfungsi untuk
memindahkan atau mengambil elemen yang ada dalam stack. Kemudian program
akan melakukkan perulangan dengan menampilkan menu dalam program. Jika
user memilih menu=2 maka user memilih untuk mengambil data lagi, dan jika
tidak user dapat memilih menu yang lain.
16. Jika pilih =3, maka user memilih untuk menghapus isi stack yang telah
ditentukan. Kemudian program akan melakukkan perulangan dengan
menampilkan menu dalam program. Jika user memilih menu=3 maka user
memilih untuk menghapus data lagi, dan jika tidak user dapat memilih menu yang
lain.
17. Jika pilih = 4, maka user memilih untuk menampilkan isi stack baik isi stack
sebelum di pop atau diclear maupun isi stack setelah dipop maupun diclear.
Kemudian program akan melakukkan perulangan dengan menampilkan menu
dalam program. Jika user memilih menu=4 maka user memilih untuk
menampilkan data lagi, dan jika tidak user dapat memilih menu yang lain.
18. Jika pilih = 5, maka user memilih untuk keluar dari program. Maka jika memilih
menu 5 maka program akan diakhiri.
19. End
Penjelasan Program

Program diatas digunakan untuk membuat sebuah stack, dan program diatas digunakan untuk
pembuatan double stack. Dalam program diatas terdapat beberapa menu yang digunakan
untuk membuat stack, antara lain push, pop, clear dan print. Ketika user melakukan push atau

memasukkan elemen stack maka program akan menampilkan pertanyaan akan dimasukkan
ke stack nomor berapa, karena stack pada program diatas merupakan jenis double stack.
Sama halnya dengan push, pada operasi pop dan clear program akan menampilkan
pertanyaan stack nomor berapa yang dimaksud.
Akan tetapi pada menu cetak, maka program akan menampilkan semua elemen yang ada
dalam stack, baik yang ada dalam stack nomor 1 maupun yang ada dalam stack nomor 2.
Operasi push, pop, clear, dan cetak data dapat dilakukan lebih dari satu kali. Hal tersebut
karena dalam program tersebut manggunakan perulangan.
Dalam program diatas sebelumnya ada beberapa kesalahan dalam pembuatan script,
kesalahan tersebut antara lain :
1. Pada pendeklarasian fungsi full dan empty, tipe data yang digunakan adalah int
seharusnya yang digunakan adalah tipe data bool karena digunakan untuk memeriksa
apakah stack tersebut dalam keadaan penuh atau kosong.
2. Pada case 2 untuk fungsi pop.
printf("\nData yang dikeluarkan adalah %s", data); salah, karena pada data
kurang tanda & yang berfungsi untuk memanggil alamat array. Dan seharusnya ditulis
seperti printf("\nData yang dikeluarkan adalah %s", &data);
3. Pada case 3, seharusnya %i bukan %s karena tipe data dari nomorstack adalah integer.
Dan penulisan yang benar adalah scanf("%i",&nomorstack);.
4. Pada bagian fungsi push, seharusnya stack[top1]=data; bukan stack[top1]=data +
1; atau stack[top1]=data-1; karena akan mempengaruhi hasilnya
5. Pada fungsi full, pernyataan :
int full(void){

if ((top1==0)&& (top2==MAX+1)){
return true;
}
else return false;
}
Karena, jika ((top1==0)&& (top2==MAX+1))

benar adalah

bool full(void){
if(1==top2 - top1)
return true;
else
return false;
}

maka nilainyaakan salah. Dan sintak yang

También podría gustarte