Stack Linier 2

Post on 13-Sep-2014

1260 Views

Category:

Education

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Presentasi Algoritma dan Pemrograman dengan Bahasa C (Contoh program Stack Linier). Dibuat oleh Achmad SOlichin (http://achmatim.net)

Transcript

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