STACK LINIERSTACK LINIERContoh Program dan PenjelasannyaContoh Program dan Penjelasannya
Oleh Achmad SolichinOleh Achmad SolichinAssisten Laboratorium Komputer FTI Assisten Laboratorium Komputer FTI
Universitas Budi LuhurUniversitas Budi Luhur08 April 200408 April 2004
Niscaya Allah akan meninggikan derajat Niscaya Allah akan meninggikan derajat orang-orang yang beriman di antara orang-orang yang beriman di antara
kamu dan orang-orang kamu dan orang-orang
yang diberi ilmu pengetahuan yang diberi ilmu pengetahuan
beberapa derajat beberapa derajat
Dan Allah Maha Mengetahui apa yang Dan Allah Maha Mengetahui apa yang kamu kerjakan.kamu kerjakan.
(QS Al-Mujaadalah : 11) (QS Al-Mujaadalah : 11)
#include "stdio.h"#include "stdio.h"
#include "conio.h"#include "conio.h"
#include "stdlib.h"#include "stdlib.h"
#include "ctype.h"#include "ctype.h"
void push();void push();
void pop();void pop();
void tampil();void tampil();
void reset();void reset();
int x[5],dasar=0;int x[5],dasar=0;
int atas=0,pil,bil;int atas=0,pil,bil;
HEADER FUNGSI
#include "stdio.h"#include "stdio.h"
#include "conio.h"#include "conio.h"
#include "stdlib.h"#include "stdlib.h"
#include "ctype.h"#include "ctype.h"
void push();void push();
void pop();void pop();
void tampil();void tampil();
void reset();void reset();
int x[5],dasar=0;int x[5],dasar=0;
int atas=0,pil,bil;int atas=0,pil,bil;
DEKLARASI FUNGSI push();
DEKLARASI FUNGSI pop();
#include "stdio.h"#include "stdio.h"
#include "conio.h"#include "conio.h"
#include "stdlib.h"#include "stdlib.h"
#include "ctype.h"#include "ctype.h"
void push();void push();
void pop();void pop();
void tampil();void tampil();
void reset();void reset();
int x[5],dasar=0;int x[5],dasar=0;
int atas=0,pil,bil;int atas=0,pil,bil;
DEKLARASI FUNGSI tampil();
#include "stdio.h"#include "stdio.h"
#include "conio.h"#include "conio.h"
#include "stdlib.h"#include "stdlib.h"
#include "ctype.h"#include "ctype.h"
void push();void push();
void pop();void pop();
void tampil();void tampil();
void reset();void reset();
int x[5],dasar=0;int x[5],dasar=0;
int atas=0,pil,bil;int atas=0,pil,bil;
DEKLARASI FUNGSI reset();
#include "stdio.h"#include "stdio.h"
#include "conio.h"#include "conio.h"
#include "stdlib.h"#include "stdlib.h"
#include "ctype.h"#include "ctype.h"
void push();void push();
void pop();void pop();
void tampil();void tampil();
void reset();void reset();
int x[5],dasar=0;int x[5],dasar=0;
int atas=0,pil,bil;int atas=0,pil,bil;
DEKLARASI stack x[5], variabel dasar, atas, pil
dan bil
#include "stdio.h"#include "stdio.h"
#include "conio.h"#include "conio.h"
#include "stdlib.h"#include "stdlib.h"
#include "ctype.h"#include "ctype.h"
void push();void push();
void pop();void pop();
void tampil();void tampil();
void reset();void reset();
int x[5],dasar=0;int x[5],dasar=0;
int atas=0,pil,bil;int atas=0,pil,bil;
void main()void main()
{{
menu :menu :
clrscr();clrscr();
gotoxy(25,3); gotoxy(25,3); printf("====================");printf("====================");
gotoxy(25,4); gotoxy(25,4);
printf(“ Menu pilihan : printf(“ Menu pilihan : "); ");
gotoxy(25,5); gotoxy(25,5); printf("====================");printf("====================");
gotoxy(25,6); printf(" 1. Push ");gotoxy(25,6); printf(" 1. Push ");
gotoxy(25,7); printf(" 2. Pop ");gotoxy(25,7); printf(" 2. Pop ");
void main()void main()
{{
menu :menu :
clrscr();clrscr();
gotoxy(25,3); gotoxy(25,3); printf("====================");printf("====================");
gotoxy(25,4); gotoxy(25,4);
printf(“ Menu pilihan : printf(“ Menu pilihan : "); ");
gotoxy(25,5); gotoxy(25,5); printf("====================");printf("====================");
gotoxy(25,6); printf(" 1. Push ");gotoxy(25,6); printf(" 1. Push ");
gotoxy(25,7); printf(" 2. Pop ");gotoxy(25,7); printf(" 2. Pop ");
FUNGSI main();
DEKLARASI LABEL
void main()void main()
{{
menu :menu :
clrscr();clrscr();
gotoxy(25,3); gotoxy(25,3); printf("====================");printf("====================");
gotoxy(25,4); gotoxy(25,4);
printf(“ Menu pilihan : printf(“ Menu pilihan : "); ");
gotoxy(25,5); gotoxy(25,5); printf("====================");printf("====================");
gotoxy(25,6); printf(" 1. Push ");gotoxy(25,6); printf(" 1. Push ");
gotoxy(25,7); printf(" 2. Pop ");gotoxy(25,7); printf(" 2. Pop ");
MEMBERSIHKAN LAYAR
void main()void main()
{{
menu :menu :
clrscr();clrscr();
gotoxy(25,3); gotoxy(25,3); printf("====================");printf("====================");
gotoxy(25,4); gotoxy(25,4);
printf(“ Menu pilihan : printf(“ Menu pilihan : "); ");
gotoxy(25,5); gotoxy(25,5); printf("====================");printf("====================");
gotoxy(25,6); printf(" 1. Push ");gotoxy(25,6); printf(" 1. Push ");
gotoxy(25,7); printf(" 2. Pop ");gotoxy(25,7); printf(" 2. Pop ");
MEMINDAHKAN CURSOR KE BARIS 25 , KOLOM 3
void main()void main()
{{
menu :menu :
clrscr();clrscr();
gotoxy(25,3); gotoxy(25,3); printf("====================");printf("====================");
gotoxy(25,4); gotoxy(25,4);
printf(“ Menu pilihan : printf(“ Menu pilihan : "); ");
gotoxy(25,5); gotoxy(25,5); printf("====================");printf("====================");
gotoxy(25,6); printf(" 1. Push ");gotoxy(25,6); printf(" 1. Push ");
gotoxy(25,7); printf(" 2. Pop ");gotoxy(25,7); printf(" 2. Pop ");
3
25
gotoxy(25,8); gotoxy(25,8);
printf("3. Preview ");printf("3. Preview ");
gotoxy(25,9); gotoxy(25,9);
printf("4. Clear ");printf("4. Clear ");
gotoxy(25,10); gotoxy(25,10);
printf("5. Exit ");printf("5. Exit ");
gotoxy(25,11); gotoxy(25,11); printf("===========printf("===============");====");
gotoxy(25,12); gotoxy(25,12);
printf("Masukkan pilihan : printf("Masukkan pilihan : "); scanf("%i", &pil);"); scanf("%i", &pil);
gotoxy(25,8); gotoxy(25,8);
printf("3. Preview ");printf("3. Preview ");
gotoxy(25,9); gotoxy(25,9);
printf("4. Clear ");printf("4. Clear ");
gotoxy(25,10); gotoxy(25,10);
printf("5. Exit ");printf("5. Exit ");
gotoxy(25,11); gotoxy(25,11); printf("===========printf("===============");====");
gotoxy(25,12); gotoxy(25,12);
printf("Masukkan pilihan : printf("Masukkan pilihan : "); scanf("%i", &pil);"); scanf("%i", &pil);
SAMPAI DI SINI PROGRAM AKAN MENAMPILKAN MENU PILIHAN BERUPA :1. Push2. Pop3. Preview4. Clear5. Exit
gotoxy(25,8); gotoxy(25,8);
printf("3. Preview ");printf("3. Preview ");
gotoxy(25,9); gotoxy(25,9);
printf("4. Clear ");printf("4. Clear ");
gotoxy(25,10); gotoxy(25,10);
printf("5. Exit ");printf("5. Exit ");
gotoxy(25,11); gotoxy(25,11); printf("===========printf("===============");====");
gotoxy(25,12); gotoxy(25,12);
printf("Masukkan pilihan : printf("Masukkan pilihan : "); scanf("%i", &pil);"); scanf("%i", &pil);
Masukkan Pilihan
gotoxy(25,8); gotoxy(25,8);
printf("3. Preview ");printf("3. Preview ");
gotoxy(25,9); gotoxy(25,9);
printf("4. Clear ");printf("4. Clear ");
gotoxy(25,10); gotoxy(25,10);
printf("5. Exit ");printf("5. Exit ");
gotoxy(25,11); gotoxy(25,11); printf("===========printf("===============");====");
gotoxy(25,12); gotoxy(25,12);
printf("Masukkan pilihan : printf("Masukkan pilihan : "); scanf("%i", &pil);"); scanf("%i", &pil);
MEMINTA INPUTAN BILANGAN INTEGER DAN DIMASUKKAN DALAM VARIABEL pil
switch(pil)switch(pil) { case 1 : gotoxy(25,13); { case 1 : gotoxy(25,13);
printf("Masukkan bil = "); printf("Masukkan bil = "); scanf("%i", &bil);scanf("%i", &bil); push();push(); getch();getch(); break;break;
case 2 : pop(); break;case 2 : pop(); break; case 3 : tampil(); getch(); break;case 3 : tampil(); getch(); break; case 4 : reset(); getch(); break;case 4 : reset(); getch(); break; case 5 : exit(0); break;case 5 : exit(0); break; }} goto menu;goto menu;}}
switch(pil)switch(pil) { case 1 : gotoxy(25,13); { case 1 : gotoxy(25,13);
printf("Masukkan bil = "); printf("Masukkan bil = "); scanf("%i", &bil);scanf("%i", &bil); push();push(); getch();getch(); break;break;
case 2 : pop(); break;case 2 : pop(); break; case 3 : tampil(); getch(); break;case 3 : tampil(); getch(); break; case 4 : reset(); getch(); break;case 4 : reset(); getch(); break; case 5 : exit(0); break;case 5 : exit(0); break; }} goto menu;goto menu;}}
STRUKTUR switch … case AKAN MEMERIKSA ISI VARIABEL pil YANG AKAN MENENTUKAN PERINTAH MANA YANGDILAKSANAKAN
Bentuk umum :switch(pilihan) { case 1 : <statemen>;
break; case 2 : <statemen>;
break; …… default : <statemen>;}
switch(pil)switch(pil) { case 1 : gotoxy(25,13); { case 1 : gotoxy(25,13);
printf("Masukkan bil = "); printf("Masukkan bil = "); scanf("%i", &bil);scanf("%i", &bil); push();push(); getch();getch(); break;break;
case 2 : pop(); break;case 2 : pop(); break; case 3 : tampil(); getch(); break;case 3 : tampil(); getch(); break; case 4 : reset(); getch(); break;case 4 : reset(); getch(); break; case 5 : exit(0); break;case 5 : exit(0); break; }} goto menu;goto menu;}}
JIKA ISI VARIABEL pil=1MAKA STATEMENTDALAM BLOK INI AKANDILAKSANAKAN
switch(pil)switch(pil) { case 1 : gotoxy(25,13); { case 1 : gotoxy(25,13);
printf("Masukkan bil = "); printf("Masukkan bil = "); scanf("%i", &bil);scanf("%i", &bil); push();push(); getch();getch(); break;break;
case 2 : pop(); break;case 2 : pop(); break; case 3 : tampil(); getch(); break;case 3 : tampil(); getch(); break; case 4 : reset(); getch(); break;case 4 : reset(); getch(); break; case 5 : exit(0); break;case 5 : exit(0); break; }} goto menu;goto menu;}}
MASUKKAN BILANGANYANG AKAN MASUKKE STACK
switch(pil)switch(pil) { case 1 : gotoxy(25,13); { case 1 : gotoxy(25,13);
printf("Masukkan bil = "); printf("Masukkan bil = "); scanf("%i", &bil);scanf("%i", &bil); push();push(); getch();getch(); break;break;
case 2 : pop(); break;case 2 : pop(); break; case 3 : tampil(); getch(); break;case 3 : tampil(); getch(); break; case 4 : reset(); getch(); break;case 4 : reset(); getch(); break; case 5 : exit(0); break;case 5 : exit(0); break; }} goto menu;goto menu;}}
MEMINTA INPUTAN BILANGAN INTEGER DAN DIMASUKKAN DALAM VARIABEL bil
switch(pil)switch(pil) { case 1 : gotoxy(25,13); { case 1 : gotoxy(25,13);
printf("Masukkan bil = "); printf("Masukkan bil = "); scanf("%i", &bil);scanf("%i", &bil); push();push(); getch();getch(); break;break;
case 2 : pop(); break;case 2 : pop(); break; case 3 : tampil(); getch(); break;case 3 : tampil(); getch(); break; case 4 : reset(); getch(); break;case 4 : reset(); getch(); break; case 5 : exit(0); break;case 5 : exit(0); break; }} goto menu;goto menu;}}
PANGGIL FUNGSI push() YANG MENGINPUTISI VARIABEL BIL KEDALAM STACK X
switch(pil)switch(pil) { case 1 : gotoxy(25,13); { case 1 : gotoxy(25,13);
printf("Masukkan bil = "); printf("Masukkan bil = "); scanf("%i", &bil);scanf("%i", &bil); push();push(); getch();getch(); break;break;
case 2 : pop(); break;case 2 : pop(); break; case 3 : tampil(); getch(); break;case 3 : tampil(); getch(); break; case 4 : reset(); getch(); break;case 4 : reset(); getch(); break; case 5 : exit(0); break;case 5 : exit(0); break; }} goto menu;goto menu;}}
break; AKAN KELUAR DARI switch SEHINGGAPERINTAH YANG ADADI BAWAHNYA TIDAKAKAN DILAKSANAKAN
switch(pil)switch(pil) { case 1 : gotoxy(25,13); { case 1 : gotoxy(25,13);
printf("Masukkan bil = "); printf("Masukkan bil = "); scanf("%i", &bil);scanf("%i", &bil); push();push(); getch();getch(); break;break;
case 2 : pop(); break;case 2 : pop(); break; case 3 : tampil(); getch(); break;case 3 : tampil(); getch(); break; case 4 : reset(); getch(); break;case 4 : reset(); getch(); break; case 5 : exit(0); break;case 5 : exit(0); break; }} goto menu;goto menu;}}
JIKA NILAI VARIABEL pil=2 MAKA PANGGIL FUNGSI pop() UNTUK MENGELUARKANISI STACK
switch(pil)switch(pil) { case 1 : gotoxy(25,13); { case 1 : gotoxy(25,13);
printf("Masukkan bil = "); printf("Masukkan bil = "); scanf("%i", &bil);scanf("%i", &bil); push();push(); getch();getch(); break;break;
case 2 : pop(); break;case 2 : pop(); break; case 3 : tampil(); getch(); break;case 3 : tampil(); getch(); break; case 4 : reset(); getch(); break;case 4 : reset(); getch(); break; case 5 : exit(0); break;case 5 : exit(0); break; }} goto menu;goto menu;}}
JIKA NILAI VARIABEL pil=3 MAKA PANGGIL FUNGSI tampil() UNTUK MENAMPILKANISI STACK
switch(pil)switch(pil) { case 1 : gotoxy(25,13); { case 1 : gotoxy(25,13);
printf("Masukkan bil = "); printf("Masukkan bil = "); scanf("%i", &bil);scanf("%i", &bil); push();push(); getch();getch(); break;break;
case 2 : pop(); break;case 2 : pop(); break; case 3 : tampil(); getch(); break;case 3 : tampil(); getch(); break; case 4 : reset(); getch(); break;case 4 : reset(); getch(); break; case 5 : exit(0); break;case 5 : exit(0); break; }} goto menu;goto menu;}}
JIKA NILAI VARIABEL pil=4 MAKA PANGGIL FUNGSI reset() UNTUK MENGEMBALIKAN ISIVARIABEL atas dan dasar
switch(pil)switch(pil) { case 1 : gotoxy(25,13); { case 1 : gotoxy(25,13);
printf("Masukkan bil = "); printf("Masukkan bil = "); scanf("%i", &bil);scanf("%i", &bil); push();push(); getch();getch(); break;break;
case 2 : pop(); break;case 2 : pop(); break; case 3 : tampil(); getch(); break;case 3 : tampil(); getch(); break; case 4 : reset(); getch(); break;case 4 : reset(); getch(); break; case 5 : exit(0); break;case 5 : exit(0); break; }} goto menu;goto menu;}}
JIKA NILAI VARIABEL pil=5 MAKA PANGGIL FUNGSI exit(0) DIMANAPROGRAM AKAN SELESAI
switch(pil)switch(pil) { case 1 : gotoxy(25,13); { case 1 : gotoxy(25,13);
printf("Masukkan bil = "); printf("Masukkan bil = "); scanf("%i", &bil);scanf("%i", &bil); push();push(); getch();getch(); break;break;
case 2 : pop(); break;case 2 : pop(); break; case 3 : tampil(); getch(); break;case 3 : tampil(); getch(); break; case 4 : reset(); getch(); break;case 4 : reset(); getch(); break; case 5 : exit(0); break;case 5 : exit(0); break; }} goto menu;goto menu;}}
MENUJU KE LABEL menu
switch(pil)switch(pil) { case 1 : gotoxy(25,13); { case 1 : gotoxy(25,13);
printf("Masukkan bil = "); printf("Masukkan bil = "); scanf("%i", &bil);scanf("%i", &bil); push();push(); getch();getch(); break;break;
case 2 : pop(); break;case 2 : pop(); break; case 3 : tampil(); getch(); break;case 3 : tampil(); getch(); break; case 4 : reset(); getch(); break;case 4 : reset(); getch(); break; case 5 : exit(0); break;case 5 : exit(0); break; }} goto menu;goto menu;}}
AKHIR FUNGSI main()
void push()void push()
{ if(atas<5){ if(atas<5)
{ x[atas] = bil;{ x[atas] = bil;
atas++;atas++;
gotoxy(25,14); gotoxy(25,14);
printf("%i telah masuk",bil);printf("%i telah masuk",bil);
tampil();tampil();
} else {} else {
gotoxy(25,14);gotoxy(25,14);
printf("Stack penuh"); printf("Stack penuh");
}}
}}
atas<5
x[atas]=bil
atas++
penuh
berhasil
FLOWCHART PUSH()
void push()void push()
{ if(atas<5){ if(atas<5)
{ x[atas] = bil;{ x[atas] = bil;
atas++;atas++;
gotoxy(25,14); gotoxy(25,14);
printf("%i telah masuk",bil);printf("%i telah masuk",bil);
tampil();tampil();
} else {} else {
gotoxy(25,14);gotoxy(25,14);
printf("Stack penuh"); printf("Stack penuh");
}}
}}
FUNGSI push() YANGAKAN MENAMBAHKANBILANGAN YANG DIINPUT KE DALAMSTACK
void push()void push()
{ if(atas<5){ if(atas<5)
{ x[atas] = bil;{ x[atas] = bil;
atas++;atas++;
gotoxy(25,14); gotoxy(25,14);
printf("%i telah masuk",bil);printf("%i telah masuk",bil);
tampil();tampil();
} else {} else {
gotoxy(25,14);gotoxy(25,14);
printf("Stack penuh"); printf("Stack penuh");
}}
}}
DALAM PROSES push()PERTAMA KALI DIPE-RIKSA APAKAH STACK SUDAH PENUH. JIKA atas MASIH KURANG DARI 5 (JUMLAH MAXSTACK) MAKA STACK MASIH BISA DIISI
void push()void push()
{ if(atas<5){ if(atas<5)
{ x[atas] = bil;{ x[atas] = bil;
atas++;atas++;
gotoxy(25,14); gotoxy(25,14);
printf("%i telah masuk",bil);printf("%i telah masuk",bil);
tampil();tampil();
} else {} else {
gotoxy(25,14);gotoxy(25,14);
printf("Stack penuh"); printf("Stack penuh");
}}
}}
ISI VARIABEL bilDISALINKE STACK x INDEXYANG KE-atas
void push()void push()
{ if(atas<5){ if(atas<5)
{ x[atas] = bil;{ x[atas] = bil;
atas++;atas++;
gotoxy(25,14); gotoxy(25,14);
printf("%i telah masuk",bil);printf("%i telah masuk",bil);
tampil();tampil();
} else {} else {
gotoxy(25,14);gotoxy(25,14);
printf("Stack penuh"); printf("Stack penuh");
}}
}}
POINTER atas DIGESER KE KANAN. atas = atas+1
void push()void push()
{ if(atas<5){ if(atas<5)
{ x[atas] = bil;{ x[atas] = bil;
atas++;atas++;
gotoxy(25,14); gotoxy(25,14);
printf("%i telah masuk",bil);printf("%i telah masuk",bil);
tampil();tampil();
} else {} else {
gotoxy(25,14);gotoxy(25,14);
printf("Stack penuh"); printf("Stack penuh");
}}
}}
NYATAKAN BAHWAISI VARIABLE bilTELAH MASUK KESTACK
void push()void push()
{ if(atas<5){ if(atas<5)
{ x[atas] = bil;{ x[atas] = bil;
atas++;atas++;
gotoxy(25,14); gotoxy(25,14);
printf("%i telah masuk",bil);printf("%i telah masuk",bil);
tampil();tampil();
} else {} else {
gotoxy(25,14);gotoxy(25,14);
printf("Stack penuh"); printf("Stack penuh");
}}
}}
PANGGIL FUNGSI tampil() UNTUK ME-NAMPILKAN ISI STACK
void push()void push()
{ if(atas<5){ if(atas<5)
{ x[atas] = bil;{ x[atas] = bil;
atas++;atas++;
gotoxy(25,14); gotoxy(25,14);
printf("%i telah masuk",bil);printf("%i telah masuk",bil);
tampil();tampil();
} else {} else {
gotoxy(25,14);gotoxy(25,14);
printf("Stack penuh"); printf("Stack penuh");
}}
}}
NYATAKAN STACK PENUH JIKA KONDISI ATAS<5 TIDAK TERPENUHI
void pop()void pop()
{ if(atas>0){ if(atas>0)
{ atas --;{ atas --;
bil = x[atas];bil = x[atas];
gotoxy(25,13); gotoxy(25,13);
printf("%i telah dihapus",bil);printf("%i telah dihapus",bil);
} else {} else {
gotoxy(25,13); gotoxy(25,13);
printf("Stack kosong");printf("Stack kosong");
}}
getch();getch();
}}
atas>5
atas --
bil=x[atas]
kosong
terhapus
FLOWCHART POP()
void pop()void pop()
{ if(atas>0){ if(atas>0)
{ atas --;{ atas --;
bil = x[atas];bil = x[atas];
gotoxy(25,13); gotoxy(25,13);
printf("%i telah dihapus",bil);printf("%i telah dihapus",bil);
} else {} else {
gotoxy(25,13); gotoxy(25,13);
printf("Stack kosong");printf("Stack kosong");
}}
getch();getch();
}}
FUNGSI pop() YANGAKAN MENGELUARKANBILANGAN DALAMSTACK SATU PER SATU
void pop()void pop()
{ if(atas>0){ if(atas>0)
{ atas --;{ atas --;
bil = x[atas];bil = x[atas];
gotoxy(25,13); gotoxy(25,13);
printf("%i telah dihapus",bil);printf("%i telah dihapus",bil);
} else {} else {
gotoxy(25,13); gotoxy(25,13);
printf("Stack kosong");printf("Stack kosong");
}}
getch();getch();
}}
DALAM PROSES pop()PERTAMA KALI DIPE-RIKSA APAKAH STACK KOSONG. JIKA atas MASIH LEBIH BESARDARI 0 (NILAI AWAL atas) MAKA STACK MASIH ADA ISINYA
void pop()void pop()
{ if(atas>0){ if(atas>0)
{ atas --;{ atas --;
bil = x[atas];bil = x[atas];
gotoxy(25,13); gotoxy(25,13);
printf("%i telah dihapus",bil);printf("%i telah dihapus",bil);
} else {} else {
gotoxy(25,13); gotoxy(25,13);
printf("Stack kosong");printf("Stack kosong");
}}
getch();getch();
}}
POINTER atas DIGESER KE KIRI. atas = atas-1
void pop()void pop()
{ if(atas>0){ if(atas>0)
{ atas --;{ atas --;
bil = x[atas];bil = x[atas];
gotoxy(25,13); gotoxy(25,13);
printf("%i telah dihapus",bil);printf("%i telah dihapus",bil);
} else {} else {
gotoxy(25,13); gotoxy(25,13);
printf("Stack kosong");printf("Stack kosong");
}}
getch();getch();
}}
ISI VARIABEL x[atas]DISALINKE VARIABEL bil
void pop()void pop()
{ if(atas>0){ if(atas>0)
{ atas --;{ atas --;
bil = x[atas];bil = x[atas];
gotoxy(25,13); gotoxy(25,13);
printf("%i telah dihapus",bil);printf("%i telah dihapus",bil);
} else {} else {
gotoxy(25,13); gotoxy(25,13);
printf("Stack kosong");printf("Stack kosong");
}}
getch();getch();
}}
NYATAKAN BAHWAISI VARIABLE bilTELAH DIHAPUS DARISTACK
void pop()void pop()
{ if(atas>0){ if(atas>0)
{ atas --;{ atas --;
bil = x[atas];bil = x[atas];
gotoxy(25,13); gotoxy(25,13);
printf("%i telah dihapus",bil);printf("%i telah dihapus",bil);
} else {} else {
gotoxy(25,13); gotoxy(25,13);
printf("Stack kosong");printf("Stack kosong");
}}
getch();getch();
}}
NYATAKAN STACK KOSONG JIKA KONDISI atas>0 TIDAK TERPENUHI
void tampil()void tampil()
{ int i,baris;{ int i,baris;
i = 0;baris=17;i = 0;baris=17;
gotoxy(25,15); gotoxy(25,15); printf("==================printf("==================");");
gotoxy(25,16); gotoxy(25,16);
printf("Isi stack : ");printf("Isi stack : ");
while(i<atas)while(i<atas)
{ gotoxy(25,baris);{ gotoxy(25,baris);
printf("x[%i] = %2i", i, x[i]);printf("x[%i] = %2i", i, x[i]);
i++; baris++;i++; baris++;
}}
gotoxy(25,baris); gotoxy(25,baris); printf("=================\printf("=================\n");n");
gotoxy(25,++baris); gotoxy(25,++baris);
printf("Press any key ....");printf("Press any key ....");
}}
int i=0;
i<atas
i++;
cetakisi
stack
FLOWCHART TAMPIL()
void tampil()void tampil()
{ int i,baris;{ int i,baris;
i = 0;baris=17;i = 0;baris=17;
gotoxy(25,15); gotoxy(25,15); printf("==================printf("==================");");
gotoxy(25,16); gotoxy(25,16);
printf("Isi stack : ");printf("Isi stack : ");
while(i<atas)while(i<atas)
{ gotoxy(25,baris);{ gotoxy(25,baris);
printf("º x = %2i", x[i]);printf("º x = %2i", x[i]);
i++; baris++;i++; baris++;
}}
gotoxy(25,baris); gotoxy(25,baris); printf("=================\printf("=================\n");n");
gotoxy(25,++baris); gotoxy(25,++baris);
printf("Press any key ....");printf("Press any key ....");
}}
PERULANGAN UNTUKMENAMPILKAN ISISTACK. PERULANGANDIMULAI DARI i=0SELAMA i<atas
void reset()void reset()
{{
atas = 0;atas = 0;
dasar = 0;dasar = 0;
printf("Stack telah printf("Stack telah dikosongkan.....");dikosongkan.....");
}}
FUNGSI reset() UNTUKMENGEMBALIKAN STACK KEKEADAAN SEMUA(AWAL)DIMANA atas=0 DAN dasar=0
SELESAISELESAI
Alhamdulillahi Robbil ‘AlamiinAlhamdulillahi Robbil ‘Alamiin
Top Related