Program paskal tugas besar pembelian tiket bioskop dan animasi

hallo aggan sekalian , 
saya akan membahas program pascal tugas besar bahasa pemprograman paskal saya tentang membuat Menu program semua gabungan , yang didalamnya terdapat program “Pembelian Tiket Bioskop” dan “Animasi nya”. Langsung aja aggan sekalin dibawah ini coding nya :


PROGRAM PEMBELIAN TIKET DAN ANIMASI

Program Ade_Kurniawan;
uses crt;
     const max  = 10;

            type queue      = record
            nama,judul      : array[1..max] of string;
            depan,belakang  : 0..max;
            end;

            type jual        = record
            namajudulj       : string;
            jt               : 1..8;
            total            : real;
            end;

    larik_jual=array[1..20] of jual;
    label ulang;

Var
   bioskop                     :queue;
   jual1                       :larik_jual;
   jam2,tepa,jufi,cofi,nama,nb :string;
   harga,menu,jumlah,toth,jp   :longint;
   pil                         :1..6;
   jam,i,j,n                   :byte;
   menuutama,mem               :char;
   discont,total,kem,ua,tot    :real;
   ketemu                      :boolean;

function full(q:queue):boolean;
         begin
             if (q.belakang=max) then full:=true else full:=false;
        end;

function empty(q:queue):boolean;
         begin
              if (q.belakang=0) then empty:=true else empty:=false;
         end;

procedure pushq(var q:queue;x:string);
          begin
               if full(q) then writeln ('ANTRIAN SEDANG PENUH!!!')
          else
begin
     inc(q.belakang);
     q.nama[q.belakang]:=x;
     end;
end;

procedure popq(var q:queue);
          begin
               if empty(q) then writeln('antrian sudah kosong')
          else
begin
clrscr;
     Textcolor(red+blink);
     gotoxy(30,2);writeln (' ====================  ');
     gotoxy(30,3);writeln ('||   LAYAR BIOSKOP   ||');
     gotoxy(30,4);writeln (' ====================  ');
     Textcolor(white);
     gotoxy(20,6);writeln (' A : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ');
     gotoxy(20,7);writeln ('   -----------------------------------------');
     gotoxy(20,8);writeln (' B : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ');
     gotoxy(20,9);writeln ('   -----------------------------------------');
     gotoxy(20,10);writeln(' C : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ');
     gotoxy(20,11);writeln('   -----------------------------------------');
     gotoxy(20,12);writeln(' D : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ');
     gotoxy(20,13);writeln('   -----------------------------------------');
     gotoxy(20,14);writeln(' E : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ');
     gotoxy(20,15);writeln('   -----------------------------------------');
     gotoxy(20,16);writeln(' F : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ');
     gotoxy(20,17);writeln('   -----------------------------------------');
     gotoxy(20,18);writeln(' G : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ');
     gotoxy(20,19);writeln('   -----------------------------------------');
     gotoxy(20,20);writeln(' H : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ');
     gotoxy(20,21);writeln('   -----------------------------------------');
     gotoxy(20,23);write(' MASUKAN PILIHAN TEMPAT DUDUK ANDA: ');readln(tepa);

clrscr;
     gotoxy(19,3) ;writeln('    |----|---------------------------------|');
     gotoxy(19,4) ;writeln('    | NO.| SILAHKAN PILIH YANG ANDA SUKA   |');
     gotoxy(19,5) ;writeln('    |----|---------------------------------|');
     gotoxy(19,6) ;writeln('    | 1. | THEATER 1  =  ACTION            |');
     gotoxy(19,7) ;writeln('    | 2. | THEATER 2  =  HOROR             |');
     gotoxy(19,8) ;writeln('    | 3. | THEATER 3  =  FANTASI           |');
     gotoxy(19,9) ;writeln('    | 4. | THEATER 4  =  LOVE              |');
     gotoxy(19,10);writeln('    | 5. | BACK TO MENU                    |');
     gotoxy(19,11);writeln('    |----|---------------------------------|');
     gotoxy(19,12);write  ('    | MASUKAN MENU PILIHAN ANDA : ');readln(menu);

clrscr;
       case menu of
            1:begin
                   harga:=40000;
                   nama :='THEATER 1 = ACTION';

     gotoxy(21,3) ;writeln('    |----|--------------------------|------|');
     gotoxy(21,4) ;writeln('    | NO | PILIH FILM ACTION        | CODE |');
     gotoxy(21,5) ;writeln('    |----|--------------------------|------|');
     gotoxy(21,6) ;writeln('    | 1. | MISION IMPOSIBLE         | MII  |');
     gotoxy(21,7) ;writeln('    | 2. | THE MECHANIC             | TMC  |');
     gotoxy(21,8) ;writeln('    | 3. | FAST TO FURIOUS          | FTF  |');
     gotoxy(21,9) ;writeln('    | 4. | THE BRANDALZ             | TBZ  |');
     gotoxy(21,10);writeln('    | 5. | 007 JAMES BOND           | 007  |');
     gotoxy(21,11);writeln('    |----|--------------------------|------|');
     gotoxy(21,12);write  ('    == MASUKAN CODE FILM PILIHAN : '); readln (cofi);

                          if cofi='mii' then
                          jufi:='MISION IMPOSIBLE';
                          if cofi='tmc' then
                          jufi:='THE MECHANIC';
                          if cofi='ftf' then
                          jufi:='FAST TO FURIOUS';
                          if cofi='tbz' then
                          jufi:='THE BERANDALZ';
                          if cofi='007' then
                          jufi:='007 JAMES BOND';

clrscr;
       gotoxy(21,3) ;writeln('    |----|---------------------------------|');
       gotoxy(21,4) ;writeln('    | NO | Pilih Jam Tayang                |');
       gotoxy(21,5) ;writeln('    |----|---------------------------------|');
       gotoxy(21,6) ;writeln('    | 1. | 15:00 - 17:00                   |');
       gotoxy(21,7) ;writeln('    | 2. | 17:30 - 19:30                   |');
       gotoxy(21,8) ;writeln('    | 3. | 20:00 - 22:00                   |');
       gotoxy(21,9) ;writeln('    |----|---------------------------------|');
       gotoxy(21,10);write  ('    == JAM PILIHAN ANDA : ');readln (jam);

clrscr;
       gotoxy(20,3);writeln('    |--------------------------------------|');
       gotoxy(20,4);write  ('    | Apakah Anda Punya Member [Y/T] : ');readln (mem);
       gotoxy(20,5);write  ('    | Jumlah Tiket Yang anda Pesan   : ');readln (jp);
       gotoxy(20,6);writeln('    |--------------------------------------|');
end;

     2:begin
            harga:=50000;
            nama:='THEATER 2 = HOROR ';

     gotoxy(21,3) ;writeln('    |----|--------------------------|------|');
     gotoxy(21,4) ;writeln('    | NO | PILIH FILM HOROR         | CODE |');
     gotoxy(21,5) ;writeln('    |----|--------------------------|------|');
     gotoxy(21,6) ;writeln('    | 1. | ANABELE                  | ANB  |');
     gotoxy(21,7) ;writeln('    | 2. | UNINVITED                | UVT  |');
     gotoxy(21,8) ;writeln('    | 3. | FINAL DESTINATION        | FDT  |');
     gotoxy(21,9) ;writeln('    | 4. | THE RAW                  | TRW  |');
     gotoxy(21,10);writeln('    | 5. | PARANORMAL ACTIFITY      | PAT  |');
     gotoxy(21,11);writeln('    |----|--------------------------|------|');
     gotoxy(21,12);write  ('    == MASUKAN CODE FILM PILIHAN : '); readln (cofi);

                     if cofi='anb' then
                     jufi:='ANABELE';
                     if cofi='uvt' then
                     jufi:='UNINVITED';
                     if cofi='fdt' then
                     jufi:='FINAL DESTINATION';
                     if cofi='trw' then
                     jufi:='THE RAW';
                     if cofi='pat' then
                     jufi:='PARANORMAL ACTIVITY';

clrscr;
       gotoxy(21,3) ;writeln('    |----|---------------------------------|');
       gotoxy(21,4) ;writeln('    | NO | Pilih Jam Tayang                |');
       gotoxy(21,5) ;writeln('    |----|---------------------------------|');
       gotoxy(21,6) ;writeln('    | 1. | 15:00 - 17:00                   |');
       gotoxy(21,7) ;writeln('    | 2. | 17:30 - 19:30                   |');
       gotoxy(21,8) ;writeln('    | 3. | 20:00 - 22:00                   |');
       gotoxy(21,9) ;writeln('    |----|---------------------------------|');
       gotoxy(21,10);write  ('    == JAM PILIHAN ANDA : ');readln (jam);

clrscr;
      gotoxy(20,3);writeln('    |--------------------------------------|');
      gotoxy(20,4);write  ('    | Apakah Anda Punya Member [Y/T] : ');readln (mem);
      gotoxy(20,5);write  ('    | Jumlah Tiket Yang anda Pesan   : ');readln (jp);
      gotoxy(20,6);writeln('    |--------------------------------------|');
end;

     3:begin
            harga:=60000;
            nama:='THEATER 3 = FANTASI ';

     gotoxy(21,3) ;writeln('    |----|--------------------------|------|');
     gotoxy(21,4) ;writeln('    | NO | PILIH FILM FANTASI       | CODE |');
     gotoxy(21,5) ;writeln('    |----|--------------------------|------|');
     gotoxy(21,6) ;writeln('    | 1. | FROZEN                   | FRZ  |');
     gotoxy(21,7) ;writeln('    | 2. | DISPACABLE ME            | DPM  |');
     gotoxy(21,8) ;writeln('    | 3. | HOW TO TRAIN UR DRAGON   | HTD  |');
     gotoxy(21,9) ;writeln('    | 4. | FINAL FANTASI XIV        | FFX  |');
     gotoxy(21,10) ;writeln('    | 5. | RIO 3                    | RO3  |');
     gotoxy(21,11) ;writeln('    |----|--------------------------|------|');
     gotoxy(21,12) ;write  ('    == MASUKAN CODE FILM PILIHAN : '); readln (cofi);

                     if cofi='frz' then
                     jufi:='FROZEN';
                     if cofi='dpm' then
                     jufi:='DISPACABLE ME';
                     if cofi='htd' then
                     jufi:='HOW TO TRAIN YOUR DRAGON';
                     if cofi='ffx' then
                     jufi:='FINAL FANTASI XIV';
                     if cofi='ro3' then
                     jufi:='RIO 3';

clrscr;
       gotoxy(21,3) ;writeln('    |----|---------------------------------|');
       gotoxy(21,4) ;writeln('    | NO | Pilih Jam Tayang                |');
       gotoxy(21,5) ;writeln('    |----|---------------------------------|');
       gotoxy(21,6) ;writeln('    | 1. | 15:00 - 17:00                   |');
       gotoxy(21,7) ;writeln('    | 2. | 17:30 - 19:30                   |');
       gotoxy(21,8) ;writeln('    | 3. | 20:00 - 22:00                   |');
       gotoxy(21,9) ;writeln('    |----|---------------------------------|');
       gotoxy(21,10);write  ('    == JAM PILIHAN ANDA : ');readln (jam);

clrscr;
      gotoxy(20,3);writeln('    |--------------------------------------|');
      gotoxy(20,4);write  ('    | Apakah Anda Punya Member [Y/T] : ');readln (mem);
      gotoxy(20,5);write  ('    | Jumlah Tiket Yang anda Pesan   : ');readln (jp);
      gotoxy(20,6);writeln('    |--------------------------------------|');
end;

     4:begin
            harga:=50000;
            nama:='THEATER 4 = LOVE ';

     gotoxy(21,3) ;writeln('    |----|--------------------------|------|');
     gotoxy(21,4) ;writeln('    | NO | PILIH FILM LOVE          | CODE |');
     gotoxy(21,5) ;writeln('    |----|--------------------------|------|');
     gotoxy(21,6) ;writeln('    | 1. | ADA APA DENGAN CINTA     | AADC |');
     gotoxy(21,7) ;writeln('    | 2. | BEST OF ME               | BOM  |');
     gotoxy(21,8) ;writeln('    | 3. | LOVE IN PERTH            | LIP  |');
     gotoxy(21,9) ;writeln('    | 4. | DONT LEAVE ME            | DLM  |');
     gotoxy(21,10);writeln('    | 5. | HOLD LOVE                | HOL  |');
     gotoxy(21,11);writeln('    |----|--------------------------|------|');
     gotoxy(21,12);write  ('    == MASUKAN CODE FILM PILIHAN : '); readln (cofi);

                     if cofi='aadc' then
                     jufi:='ADA APA DENGAN CINTA';
                     if cofi='bom' then
                     jufi:='BEST OF ME';
                     if cofi='lip' then
                     jufi:='LOVE IN PERTH';
                     if cofi='dlm' then
                     jufi:='DONT LEAVE ME';
                     if cofi='hol' then
                     jufi:='HOLD LOVE';

clrscr;
       gotoxy(21,3) ;writeln('    |----|---------------------------------|');
       gotoxy(21,4) ;writeln('    | NO | Pilih Jam Tayang                |');
       gotoxy(21,5) ;writeln('    |----|---------------------------------|');
       gotoxy(21,6) ;writeln('    | 1. | 15:00 - 17:00                   |');
       gotoxy(21,7) ;writeln('    | 2. | 17:30 - 19:30                   |');
       gotoxy(21,8) ;writeln('    | 3. | 20:00 - 22:00                   |');
       gotoxy(21,9) ;writeln('    |----|---------------------------------|');
       gotoxy(21,10);write  ('    == JAM PILIHAN ANDA : ');readln (jam);

clrscr;
      gotoxy(20,3);writeln('    |--------------------------------------|');
      gotoxy(20,4);write  ('    | Apakah Anda Punya Member [Y/T] : ');readln (mem);
      gotoxy(20,5);write  ('    | Jumlah Tiket Yang anda Pesan   : ');readln (jp);
      gotoxy(20,6);writeln('    |--------------------------------------|');
end;

     5:begin
       end;
end;

                if jam = 1 then
                   begin
                        jam2 := '15:00 - 17:00';
                        end
                else if jam = 2 then
                     begin
                          jam2 := '18:30 - 19:30';
                          end
                else if jam = 3 then
                     begin
                          jam2 := '20:00 - 22:00';
                end;

                toth := jp * harga;
                if mem = 'y' then
                discont := toth * 0.25
                else if mem = 't' then
                if jp >= 5 then
                discont := toth * 0.10;

                total := toth - discont;
                if menu<=5 then
                end;
          end;

procedure cetak_antrian(var q:queue);
begin
     Textcolor(lightblue);
     writeln;
     writeln('          ====================================    ');
     writeln('                ANTRIAN YANG ADA SAAT INI         ');
     writeln('          ====================================    ');
     writeln('            No                  Nama              ');
     writeln('          ------------------------------------    ');
     for i:=1 to q.belakang do writeln(i:13,' ',q.nama[i]:21);
     writeln('          ====================================    ');
     Textcolor(white);
end;

procedure cetak_pem(var x:larik_jual);
var
   tot:real;
begin
     clrscr;
     Textcolor(red);
     gotoxy(12,3) ;writeln('   |======================================================|');
     gotoxy(12,4) ;writeln('   |                 TRANSAKSI TIKET BIOSKOP              |');
     gotoxy(12,5) ;writeln('   |======================================================|');
     gotoxy(12,6) ;writeln('   | No Tempat Duduk        : ',tepa);
     gotoxy(12,7) ;writeln('   | Nama Pembeli           : ',nb  );
     gotoxy(12,8) ;writeln('   | Nama Theater           : ',nama);
     gotoxy(12,9) ;writeln('   | Judul Film             : ',jufi);
     gotoxy(12,10);writeln('   | Jam Tayang             : ',jam2);
     gotoxy(12,11);writeln('   | Banyak Tiket yg dibeli : ',jp);
     gotoxy(12,12);writeln('   | Harga Per Tiket        : Rp. ',harga);
     gotoxy(12,13);writeln('   | Total Biaya            : Rp. ',toth);
     gotoxy(12,14);writeln('   | Distount anda          : Rp. ',discont:0:0);
     gotoxy(12,15);writeln('   | Total Yg Harus Dibayar : Rp. ',total:0:0);
     gotoxy(12,16);writeln('   |======================================================|');
     gotoxy(12,17);write  ('   | Uang Anda Adalah       : Rp. ');readln(ua);
     kem := ua - total;
     gotoxy(12,18);writeln('   | Kembalian Uang Anda    : Rp. ',kem:0:0);
     gotoxy(12,19);writeln('   |======================================================|');
     Textcolor(white);

end;



                                {PROGRAM UTAMA}

Procedure Animasi;
var
   s,t : string;
   i,x : integer;
begin
     Textcolor(lightgreen);
     S := 'PROGRAM PEMBELIAN TIKET BIOSKOP';
     For I := 1 to Length(s) do
         BEGIN
              FOR X := 1 to 5 do
                  BEGIN
                       gotoxy(20+I,X+1);WRITE(COPY(S,I,1));
                       gotoxy(20+I,X);WRITE(' ');
                       delay(50);
                       end;
                  end;

     Textcolor(blue);
     T := 'ADE KURNIAWAN ( A1314002 )';
     FOR I := 1 TO Length(t) do
         BEGIN
              gotoxy(23,10);write(copy(T,1,I));
              delay(300);
              end;
         delay(300);
     end;

begin
     clrscr;
     animasi;
     clrscr;
     textcolor(white);
     bioskop.depan:=1;
     repeat
begin
     clrscr;
     gotoxy(14,3) ;write('=================================================');
     gotoxy(14,6) ;write('=================================================');
     gotoxy(14,12);write('=================================================');
     gotoxy(14,14);write('=================================================');
     gotoxy(13,4) ;write('|');
     gotoxy(13,5) ;write('|');
     gotoxy(13,5) ;write('|');
     gotoxy(13,6) ;write('|');
     gotoxy(13,7) ;write('|');
     gotoxy(13,8) ;write('|');
     gotoxy(13,9) ;write('|');
     gotoxy(13,10);write('|');
     gotoxy(13,11);write('|');
     gotoxy(13,12);write('|');
     gotoxy(13,13);write('|');
     gotoxy(63,4) ;write('|');
     gotoxy(63,5) ;write('|');
     gotoxy(63,6) ;write('|');
     gotoxy(63,7) ;write('|');
     gotoxy(63,8) ;write('|');
     gotoxy(63,9) ;write('|');
     gotoxy(63,10);write('|');
     gotoxy(63,11);write('|');
     gotoxy(63,12);write('|');
     gotoxy(63,13);write('|');
     Textcolor(red);
     gotoxy(22,5);writeln('   MENU PEMBELIAN TIKET BIOSKOP ');
     Textcolor(yellow);
     gotoxy(23,7) ;writeln('1. MASUK ANTRIAN            ');
     gotoxy(23,8) ;writeln('2. CETAK ANTRIAN            ');
     gotoxy(23,9) ;writeln('3. LAYANAN PEMBELIAN TIKET  ');
     gotoxy(23,10);writeln('4. CETAK PEMBELIAN TIKET    ');
     gotoxy(23,11);writeln('5. EXIT                     ');
     Textcolor(red+blink);
     gotoxy(15,9);write('==>>');
     Textcolor(lightblue+blink);
     gotoxy(58,9);write('<<==');
     Textcolor(green+blink);
     gotoxy(23,5) ;write('+');
     gotoxy(54,5) ;write('+');
     gotoxy(23,13);write('Ketik yang Ingin Anda Pilih : ');readln(pil);
     Textcolor(white);

case pil of
     1:begin
       clrscr;
       Textcolor(green+blink);
       gotoxy(1,3);write('====>>');
       Textcolor(yellow);
       gotoxy(10,3);write('MASUKAN NAMA BARU YANG AKAN DIANTRI : ');readln(nb);
       pushq(bioskop,nb);
       Textcolor(white);
end;

     2:begin
       clrscr;
       writeln;
       if not empty(bioskop) then cetak_antrian(bioskop) else
       writeln('ANTRIAN SUDAH KOSONG !!!');
end;

     3:begin
       if not empty(bioskop) then
       begin
       popq(bioskop);
       end;
end;

     4:begin
       cetak_pem(jual1);
end;

     5:begin
       clrscr;
       Textcolor(blue+blink);
       gotoxy(21,5);writeln('=> SELAMAT MENONTON FILM PILIHAN ANDA <=');
       end;
end;
readln;
end;
until (pil=5);
end.





1 komentar: