-->

Jumat, 18 Januari 2013

PROGRAM


Program Tumpukan;
uses wincrt;
type ptrsimpul=^simpul;
     simpul = record
             Ni:integer;
             Next : ptrsimpul;
     end;
var
pertama,baru,kedua,ketiga,akhir,akhir1,akhir2: ptrsimpul;
k,i,x1,x2,x3,y : Integer;
pil:char;
label lagi;

procedure prosedur;
begin
gotoxy(5,3);writeln('PINDAHKAN KOTAK DARI A KE C DENGAN SUSUNAN YANG SAMA');
gotoxy(5,20);write(' untuk melihat perpindahan permainan klik "ENTER"');
gotoxy(20,14); write('A');
gotoxy(40,14); write('B');
gotoxy(60,14); write('C');
end;


procedure welcome;
var
pass,a,x : string;
begin
gotoxy(13,3);writeln('|---| |---| |---| |---| |---| |---| |---| |---| |---|   ');
gotoxy(13,4);writeln('| G | | A | | M | | E | | S | | T | | A | | C | | K |   ');
gotoxy(13,5);writeln('|---| |---| |---| |---| |---| |---| |---| |---| |---|   ');
gotoxy(27,10);writeln(' Sebelum memasuki permainan ini            ');
gotoxy(25,11);writeln(' sebaiknya anda memasukkan identitas anda. ');
gotoxy(27,12);writeln('      MOHON DIISI DENGAN TELITI !          ');
gotoxy(15,14);write  (' masukkan username yang anda inginkan  : ');readln(a);
gotoxy(15,15);write  (' masukkan password yang anda inginkan  : ');readln(x);
writeln;writeln;
write('Silakan tekan "enter"  ');
writeln;
readln;
clrscr;
gotoxy(10,8);writeln  (' LOG IN ');
gotoxy(13,10);writeln ('** username  : ',a);
gotoxy(13,12);write   ('** password  : ');readln(pass);
clrscr;
if pass = x then
else
repeat
writeln('Data yang anda masukkan belum valid');
write( 'Mohon masukkan password yang benar : ');readln(pass);
clrscr;
until (pass = x) ;
end;

procedure endprogram;
begin
     gotoxy(20,12);writeln('              G A M E  S T A C K        ');          
     gotoxy(20,13);writeln('           =========================    ');
     gotoxy(20,14);writeln('                  CREATED BY            ');
     gotoxy(20,15);writeln('           =========================    ');
     gotoxy(20,16);writeln('          ||                        ||  ');
     gotoxy(20,17);writeln('          || WINDA HERFIA SEPTIANI  ||  ');            
     gotoxy(20,18);writeln('          ||      APRIYANTINI       ||  ');            
     gotoxy(20,19);writeln('          ||    TIAS PUJI ASTUTI    ||  ');            
     gotoxy(20,20);writeln('          ||                        ||  ');            
     gotoxy(20,21);writeln('           =========================    ');
end;

Procedure Tambah(n:integer;var depan,belakang:ptrsimpul);
begin
new(baru);
baru^.ni:=n;
baru^.next:=depan;
depan:=baru;
if depan=nil then
belakang:=depan;
end;

Procedure hapus(var depan:ptrsimpul);
begin
depan:=depan^.next;
end;

procedure delete (pertama:ptrsimpul; var akhir:ptrsimpul);
begin
while pertama^.next<>akhir do
begin
pertama:=pertama^.next;
end;
akhir:=pertama;
end;

Procedure tulis(x:integer;depan:ptrsimpul;var belakang:ptrsimpul);
begin
if depan=belakang then
begin
gotoxy(5,3);writeln('PINDAHKAN KOTAK DARI A KE C DENGAN SUSUNAN YANG SAMA');
gotoxy(x,13);Write('---------');
gotoxy(20,14); write('A');
gotoxy(40,14); write('B');
gotoxy(60,14); write('C');
end
else                    
begin
y:=5;
while depan<>belakang do
begin
gotoxy(x,y); Write(depan^.ni);
gotoxy(x-1,13);Write('---------');
depan:=depan^.next;
y:=y+1;
end;
end;
end;

Procedure numpuk(var pertama,akhir,kedua,akhir1:ptrsimpul);
var
n:integer;
begin
n:=pertama^.ni;
hapus(pertama);
tambah(n,kedua,akhir1);
end;

procedure tampil(var pertama,kedua,ketiga,akhir,akhir1,akhir2:ptrsimpul);
begin
prosedur;
tulis(x1,pertama,akhir);
prosedur;
tulis(x2,kedua,akhir1);
prosedur;
tulis(x3,ketiga,akhir2);
prosedur;
readkey;
clrscr;
end;

begin
welcome;
clrscr;
lagi:
gotoxy(13,10);writeln('|---| |---| |---| |---| |---| |---| |---| |---| |---|   ');
gotoxy(13,11);writeln('| G | | A | | M | | E | | S | | T | | A | | C | | K |   ');
gotoxy(13,12);writeln('|---| |---| |---| |---| |---| |---| |---| |---| |---|   ');
gotoxy(10,15);Write('SIAP UNTUK MEMULAI PERMAINAN ^.^ ?');
readkey;
clrscr;
for i:=5 downto 1 do
begin
tambah(i,pertama,akhir);
end;
x1:=15;
x2:=35;
x3:=55;
tulis(x1,pertama,akhir);
tulis(x2,kedua,akhir1);
tulis(x3,ketiga,akhir2);
readkey;
clrscr;
numpuk(pertama,akhir,ketiga,akhir2);
tampil(pertama,kedua,ketiga,akhir,akhir1,akhir2);

numpuk(pertama,akhir,kedua,akhir1);
tampil(pertama,kedua,ketiga,akhir,akhir1,akhir2);

numpuk(ketiga,akhir2,kedua,akhir1);
tampil(pertama,kedua,ketiga,akhir,akhir1,akhir2);

numpuk(pertama,akhir,ketiga,akhir2);
tampil(pertama,kedua,ketiga,akhir,akhir1,akhir2);

numpuk(kedua,akhir1,pertama,akhir);
tampil(pertama,kedua,ketiga,akhir,akhir1,akhir2);

numpuk(kedua,akhir1,ketiga,akhir2);
tampil(pertama,kedua,ketiga,akhir,akhir1,akhir2);

numpuk(pertama,akhir,ketiga,akhir2);
tampil(pertama,kedua,ketiga,akhir,akhir1,akhir2);

numpuk(pertama,akhir,kedua,akhir1);
tampil(pertama,kedua,ketiga,akhir,akhir1,akhir2);

numpuk(ketiga,akhir2,kedua,akhir1);
tampil(pertama,kedua,ketiga,akhir,akhir1,akhir2);

numpuk(ketiga,akhir1,pertama,akhir);
tampil(pertama,kedua,ketiga,akhir,akhir1,akhir2);

numpuk(kedua,akhir1,pertama,akhir);
tampil(pertama,kedua,ketiga,akhir,akhir1,akhir2);

numpuk(ketiga,akhir2,kedua,akhir1);
tampil(pertama,kedua,ketiga,akhir,akhir1,akhir2);

numpuk(pertama,akhir,ketiga,akhir2);
tampil(pertama,kedua,ketiga,akhir,akhir1,akhir2);

numpuk(pertama,akhir,kedua,akhir1);
tampil(pertama,kedua,ketiga,akhir,akhir1,akhir2);

numpuk(ketiga,akhir2,kedua,akhir1);
tampil(pertama,kedua,ketiga,akhir,akhir1,akhir2);

numpuk(pertama,akhir,ketiga,akhir2);
tampil(pertama,kedua,ketiga,akhir,akhir1,akhir2);

numpuk(kedua,akhir1,pertama,akhir);
tampil(pertama,kedua,ketiga,akhir,akhir1,akhir2);

numpuk(kedua,akhir1,ketiga,akhir2);
tampil(pertama,kedua,ketiga,akhir,akhir1,akhir2);

numpuk(pertama,akhir,ketiga,akhir2);
tampil(pertama,kedua,ketiga,akhir,akhir1,akhir2);

numpuk(kedua,akhir1,pertama,akhir);
tampil(pertama,kedua,ketiga,akhir,akhir1,akhir2);

numpuk(ketiga,akhir2,kedua,akhir1);
tampil(pertama,kedua,ketiga,akhir,akhir1,akhir2);

numpuk(ketiga,akhir2,pertama,akhir);
tampil(pertama,kedua,ketiga,akhir,akhir1,akhir2);

numpuk(kedua,akhir1, pertama,akhir);
tampil(pertama,kedua,ketiga,akhir,akhir1,akhir2);

numpuk(kedua,akhir1,ketiga,akhir2);
tampil(pertama,kedua,ketiga,akhir,akhir1,akhir2);

numpuk(pertama,akhir,ketiga,akhir2);
tampil(pertama,kedua,ketiga,akhir,akhir1,akhir2);

numpuk(pertama,akhir,kedua,akhir1);
tampil(pertama,kedua,ketiga,akhir,akhir1,akhir2);

numpuk(ketiga,akhir2,kedua,akhir1);
tampil(pertama,kedua,ketiga,akhir,akhir1,akhir2);

numpuk(pertama,akhir,ketiga,akhir2);
tampil(pertama,kedua,ketiga,akhir,akhir1,akhir2);

numpuk(kedua,akhir1,pertama,akhir);
tampil(pertama,kedua,ketiga,akhir,akhir1,akhir2);

numpuk(kedua,akhir1, ketiga,akhir2);
tampil(pertama,kedua,ketiga,akhir,akhir1,akhir2);

numpuk(pertama,akhir,ketiga,akhir2);
tampil(pertama,kedua,ketiga,akhir,akhir1,akhir2);

gotoxy(10,14);Write('Mau Mengulang Permainan ?');
gotoxy(15,15);Write('[Y/y] --> CONTINUE');
gotoxy(15,16);write('[T/t] --> EXIT ');
gotoxy(10,17);write('You Choose : ');Readln(pil);
if (pil='Y') or (pil='y') then
begin
clrscr;
while kedua<>akhir1 do
begin
hapus(kedua);
end;
while ketiga<>akhir2 do
begin
hapus(ketiga);
end;
goto lagi;
end
else
begin
clrscr;
endprogram;
end;
end.

Tidak ada komentar: