Pada postingan kali ini saya akan memaparkan bagaimana cara mengaplikasikan teori dari stack yang sebelumnya sudah diposting.Program yang akan saya berikan kali ini dikerjakan dengan menggunakan FPC ( Free Pascal Compiler ).Tanpa perlu panjang lebar inilah codingan dan output yang saya maksud.
program stack;
uses
crt;
var
arraystack: array[1..10] of char;
n, i, b, pil, balik, iseng, udahcreatebelom : shortint;
begin
clrscr;
i:=0;
balik:=0;
iseng:=0;
b:=20;
udahcreatebelom:=0;
gotoxy(35,4); writeln(‘╔═══════════╗');
gotoxy(35,5); writeln('║ Program Stack ║');
gotoxy(35,6); writeln(‘╠═══════════╣');
gotoxy(35,7); writeln('║ 1. Buat Array ║');
gotoxy(35,8); writeln('║ 2. CREATE(S) ║');
gotoxy(35,9); writeln('║ 3. PUSH(S) ║');
gotoxy(35,10); writeln('║ 4. POP(S) ║');
gotoxy(35,11); writeln('║ 5. ISEMPTY(S) ║');
gotoxy(35,12); writeln('║ 6. exit ║');
gotoxy(35,13); writeln(‘╚═══════════╝');
repeat;
gotoxy(51,17);write (' ');
gotoxy(32,17); write('Masukkan pilihan : '); readln(pil);
case (pil) of
2: begin
if i = 0 then begin
gotoxy(33,20); write('Array Memang Sudah Kosong');
end
else begin
gotoxy(32,16); writeln(' ');
i:=0;
b:=20;
gotoxy(27,20); write(' ');
gotoxy(27,18); write(' ');
gotoxy(27,16); write(' ');
gotoxy(27,14); write(' ');
gotoxy(27,12); write(' ');
gotoxy(27,10); write(' ');
gotoxy(27,8); write(' ');
gotoxy(27,6); write(' ');
gotoxy(27,4); write(' ');
gotoxy(27,2); write(' ');
gotoxy(18,23); write(' ');
gotoxy(33,20); write(' ');
gotoxy(33,19); write(' ');
end;
end;
3: begin
if udahcreatebelom=1 then begin
inc(i);
if (i<=n) then begin
gotoxy(32,16); writeln(' ');
gotoxy(33,20); write(' ');
gotoxy(33,19);
write(' ');
gotoxy(33,19);
write('data ke ', i, ' = '); readln(arraystack[i]);
gotoxy(27,b); write(arraystack[i]);
gotoxy(18,23); write('NOEL : ', i); readln;
gotoxy(29,23); write('TOP : ', arraystack[i]); readln;
b:=b-2;
end
else begin
gotoxy(32,16); writeln(' ');
gotoxy(33,20); write('OVER FLOW'); dec(i); readln;
end;
end
else begin
gotoxy(32,16); writeln(' ');
gotoxy(33,20); write('Array Belum dibuat'); readln;
end;
end;
4: begin
if udahcreatebelom=1 then begin
if (i>=1) then begin
gotoxy(32,16); writeln(' ');
gotoxy(33,20); write(' ');
arraystack[i]:=' ';
b:=b+2;
gotoxy(27,b); write(arraystack[i]);
dec(i);
gotoxy(33,19);
write('data ke ', i, ' = '); write(arraystack[i]);
gotoxy(18,23); write('NOEL : ', i); readln;
gotoxy(29,23); write('TOP : ', arraystack[i]); readln;
end
else begin
gotoxy(32,16); writeln(' ');
gotoxy(33,20); write('UNDER FLOW'); readln;
end;
end
else begin
gotoxy(32,16); writeln(' ');
gotoxy(33,20); write('Array belum dibuat'); readln;
end;
end;
5: begin
if udahcreatebelom=1 then begin
if (i=0) then begin
gotoxy(32,16); writeln(' ');
gotoxy(33,20); write('TRUE'); readln;
end
else begin
gotoxy(32,16); writeln(' ');
gotoxy(33,20); write('FALSE'); readln;
end;
end
else begin
gotoxy(33,20); write('Array belum dibuat'); readln;
end;
end;
6: begin
exit;
end;
1: begin
gotoxy(32,16); writeln(' ');
gotoxy(64,18); write(' ');
gotoxy(18,23); write(' ');
gotoxy(33,19); write(' ');
gotoxy(33,20); write(' ');
gotoxy(25,1); writeln(' ');
gotoxy(25,2); writeln(' ');
gotoxy(25,3); writeln(' ');
gotoxy(25,4); writeln(' ');
gotoxy(25,5); writeln(' ');
gotoxy(25,6); writeln(' ');
gotoxy(25,7); writeln(' ');
gotoxy(25,8); writeln(' ');
gotoxy(25,9); writeln(' ');
gotoxy(25,10); writeln(' ');
gotoxy(25,11); writeln(' ');
gotoxy(25,12); writeln(' ');
gotoxy(25,13); writeln(' ');
gotoxy(25,14); writeln(' ');
gotoxy(25,15); writeln(' ');
gotoxy(25,16); writeln(' ');
gotoxy(25,17); writeln(' ');
gotoxy(25,18); writeln(' ');
gotoxy(25,19); writeln(' ');
gotoxy(25,20); writeln(' ');
gotoxy(25,21); writeln(' ');
i:=0;
b:=20;
gotoxy(32,18);
write('Masukan Jumlah ARRAY (max 10) : '); readln(n);
if n = 10 then begin
gotoxy(25,1); writeln(‘╠══╣');
gotoxy(25,2); writeln('║ ║');
gotoxy(25,3); writeln('╠══╣');
gotoxy(25,4); writeln('║ ║');
gotoxy(25,5); writeln('╠══╣');
gotoxy(25,6); writeln('║ ║');
gotoxy(25,7); writeln('╠══╣');
gotoxy(25,8); writeln('║ ║');
gotoxy(25,9); writeln('╠══╣');
gotoxy(25,10); writeln('║ ║');
gotoxy(25,11); writeln('╠══╣’);
gotoxy(25,12); writeln('║ ║');
gotoxy(25,13); writeln('╠══╣');
gotoxy(25,14); writeln('║ ║');
gotoxy(25,15); writeln('╠══╣');
gotoxy(25,16); writeln('║ ║');
gotoxy(25,17); writeln('╠══╣');
gotoxy(25,18); writeln('║ ║’);
gotoxy(25,19); writeln('╠══╣');
gotoxy(25,20); writeln('║ ║');
gotoxy(25,21); writeln('╚══╝');
udahcreatebelom:=1;
end
else if n = 9 then begin
gotoxy(25,3); writeln('╠══╣');
gotoxy(25,4); writeln('║ ║');
gotoxy(25,5); writeln('╠══╣');
gotoxy(25,6); writeln('║ ║');
gotoxy(25,7); writeln('╠══╣');
gotoxy(25,8); writeln('║ ║');
gotoxy(25,9); writeln('╠══╣');
gotoxy(25,10); writeln('║ ║');
gotoxy(25,11); writeln('╠══╣’);
gotoxy(25,12); writeln('║ ║');
gotoxy(25,13); writeln('╠══╣');
gotoxy(25,14); writeln('║ ║’);
gotoxy(25,15); writeln('╠══╣');
gotoxy(25,16); writeln('║ ║');
gotoxy(25,17); writeln('╠══╣');
gotoxy(25,18); writeln('║ ║');
gotoxy(25,19); writeln('╠══╣');
gotoxy(25,20); writeln('║ ║');
gotoxy(25,21); writeln('╚══╝');
udahcreatebelom:=1;
end
else if n = 8 then begin
gotoxy(25,5); writeln('╠══╣');
gotoxy(25,6); writeln('║ ║');
gotoxy(25,7); writeln('╠══╣');
gotoxy(25,8); writeln('║ ║ ');
gotoxy(25,9); writeln('╠══╣');
gotoxy(25,10); writeln('║ ║');
gotoxy(25,11); writeln('╠══╣');
gotoxy(25,12); writeln('║ ║’);
gotoxy(25,13); writeln('╠══╣¹');
gotoxy(25,14); writeln('║ ║');
gotoxy(25,15); writeln('╠══╣');
gotoxy(25,16); writeln('║ ║');
gotoxy(25,17); writeln('╠══╣');
gotoxy(25,18); writeln('║ ║');
gotoxy(25,19); writeln('╠══╣');
gotoxy(25,20); writeln('║ ║');
gotoxy(25,21); writeln('╚══╝');
udahcreatebelom:=1;
end
else if n = 7 then begin
gotoxy(25,7); writeln('╠══╣');
gotoxy(25,8); writeln('║ ║ ');
gotoxy(25,9); writeln('╠══╣');
gotoxy(25,10); writeln('║ ║');
gotoxy(25,11); writeln('╠══╣');
gotoxy(25,12); writeln('║ ║’);
gotoxy(25,13); writeln('╠══╣¹');
gotoxy(25,14); writeln('║ ║');
gotoxy(25,15); writeln('╠══╣');
gotoxy(25,16); writeln('║ ║');
gotoxy(25,17); writeln('╠══╣');
gotoxy(25,18); writeln('║ ║');
gotoxy(25,19); writeln('╠══╣');
gotoxy(25,20); writeln('║ ║');
gotoxy(25,21); writeln('╚══╝');
udahcreatebelom:=1;
end
else if n = 6 then begin
gotoxy(25,9); writeln('╠══╣');
gotoxy(25,10); writeln('║ ║');
gotoxy(25,11); writeln('╠══╣');
gotoxy(25,12); writeln('║ ║’);
gotoxy(25,13); writeln('╠══╣¹');
gotoxy(25,14); writeln('║ ║');
gotoxy(25,15); writeln('╠══╣');
gotoxy(25,16); writeln('║ ║');
gotoxy(25,17); writeln('╠══╣');
gotoxy(25,18); writeln('║ ║');
gotoxy(25,19); writeln('╠══╣');
gotoxy(25,20); writeln('║ ║');
gotoxy(25,21); writeln('╚══╝');
udahcreatebelom:=1;
end
else if n = 5 then begin
gotoxy(25,11); writeln('╠══╣');
gotoxy(25,12); writeln('║ ║’);
gotoxy(25,13); writeln('╠══╣¹');
gotoxy(25,14); writeln('║ ║');
gotoxy(25,15); writeln('╠══╣');
gotoxy(25,16); writeln('║ ║');
gotoxy(25,17); writeln('╠══╣');
gotoxy(25,18); writeln('║ ║');
gotoxy(25,19); writeln('╠══╣');
gotoxy(25,20); writeln('║ ║');
gotoxy(25,21); writeln('╚══╝');
udahcreatebelom:=1;
end
else if n = 4 then begin
gotoxy(25,13); writeln('╠══╣¹');
gotoxy(25,14); writeln('║ ║');
gotoxy(25,15); writeln('╠══╣');
gotoxy(25,16); writeln('║ ║');
gotoxy(25,17); writeln('╠══╣');
gotoxy(25,18); writeln('║ ║');
gotoxy(25,19); writeln('╠══╣');
gotoxy(25,20); writeln('║ ║');
gotoxy(25,21); writeln('╚══╝');
udahcreatebelom:=1;
end
else if n = 3 then begin
gotoxy(25,15); writeln('╠══╣');
gotoxy(25,16); writeln('║ ║');
gotoxy(25,17); writeln('╠══╣');
gotoxy(25,18); writeln('║ ║');
gotoxy(25,19); writeln('╠══╣');
gotoxy(25,20); writeln('║ ║');
gotoxy(25,21); writeln('╚══╝');
udahcreatebelom:=1;
end
else if n = 2 then begin
gotoxy(25,17); writeln('╠══╣');
gotoxy(25,18); writeln('║ ║');
gotoxy(25,19); writeln('╠══╣');
gotoxy(25,20); writeln('║ ║');
gotoxy(25,21); writeln('╚══╝');
udahcreatebelom:=1;
end
else if n = 1 then begin
gotoxy(25,19); writeln('╠══╣');
gotoxy(25,20); writeln('║ ║');
gotoxy(25,21); writeln('╚══╝');
udahcreatebelom:=1;
end
else if n = 0 then begin
gotoxy(25,21); writeln('Array tidak boleh Nol');
end
else begin
gotoxy(33,20); write ('Array maksimalnya 10');
end;
end;
else gotoxy(32,16); writeln('Tidak Ada dalam pilihan');
end;
iseng:=1
until(balik=1);
end.
Output Program
Gambar 1.Menu Utama
Gambar 2.Memasukkan elemen
Gambar 3.Mengecek Stack
Tidak ada komentar:
Posting Komentar