Program Simulasi Kasir dan Password Yuni Susanti S1 Ilmu Komputer 2007 11th March University PROGRAM simulasi_kasir; USES wincrt; TYPE kasir = RECORD tgu, lyn, slsai : integer; X = RECORD dtg, brg : integer; VAR i,jml_brg, jml_tdtg, jml_atgu, jml_alyn, jml_aslse, jml_blyn,jml_btgu,jml_bslse : integer; plgn : ARRAY[1..3] OF x; A, B : ARRAY[1..3] OF kasir; PROCEDURE DATA; FOR i := 1 TO 3 DO gotoxy( 5, 4); write(' this is H a P P Y-T R E E"S S H O P'); gotoxy( 5, 6); write(' happytree"s trademark by : yuni, x, x'); gotoxy(55,10); write('# Pelanggan Ke -',i,'-'); gotoxy(55,12); write('============================'); gotoxy(55,14); write('# jumlah barang : '); readln(plgn[i].brg); gotoxy(55,16); write('# waktu datang : '); readln(plgn[i].dtg); {MULAI MENGINPUTKAN DATA} {MULAI KALKULASI / PENGHITUNGAN} IF plgn[i].brg <= 10 THEN {UNTUK PESANAN KURANG DARI/ SAMA DENGAN 10} IF plgn[i].dtg >= A[i-1].slsai THEN A[i].tgu :=0; A[i].lyn :=2*plgn[i].brg; A[i].slsai:=(plgn[i].dtg)+(A[i].lyn);
IF plgn[i].dtg >= B[i-1].slsai THEN B[i].tgu :=0; B[i].lyn :=2*plgn[i].brg; B[i].slsai:=(plgn[i].dtg)+(B[i].lyn); {A DAN B SAMA - SAMA SEDANG SIBUK MELAYANI} IF A[i-1].slsai-plgn[i].dtg <= B[i-1].slsai-plgn[i].dtg THEN A[i].tgu :=A[i-1].slsai-plgn[i].dtg; A[i].lyn :=2*plgn[i].brg; A[i].slsai:=A[i-1].slsai+A[i].lyn; B[i].tgu :=B[i-1].slsai-plgn[i].dtg; B[i].lyn :=2*plgn[i].brg; B[i].slsai:=B[i-1].slsai+B[i].lyn; IF plgn[i].brg>10 THEN {UNTUK PESANAN LEBIH DARI 1O} IF plgn[i].dtg>=b[i-1].slsai THEN B[i].tgu:=0; B[i].lyn:=2*plgn[i].brg; B[i].slsai:=(plgn[i].dtg)+(B[i].lyn); IF plgn[i].dtg>=a[i-1].slsai THEN A[i].tgu:=0; A[i].lyn:=2*plgn[i].brg; A[i].slsai:=(plgn[i].dtg)+(A[i].lyn);
{A DAN B SAMA - SAMA SEDANG SIBUK MELAYANI} IF B[i-1].slsai-plgn[i].dtg <= A[i-1].slsai-plgn[i].dtg THEN B[i].tgu:=B[i-1].slsai-plgn[i].dtg; B[i].lyn:=2*plgn[i].brg; B[i].slsai:=B[i-1].slsai+B[i].lyn; A[i].tgu:=A[i-1].slsai-plgn[i].dtg; A[i].lyn:=2*plgn[i].brg; A[i].slsai:=A[i-1].slsai+A[i].lyn; jml_brg := jml_brg + plgn[i].brg; jml_tdtg := jml_tdtg + plgn[i].dtg; jml_atgu := jml_atgu + a[i].tgu; jml_alyn := jml_alyn + a[i].lyn; jml_aslse:= jml_aslse + a[i].slsai; jml_btgu := jml_btgu + b[i].tgu; jml_blyn := jml_blyn + b[i].lyn; jml_bslse:= jml_bslse + b[i].slsai; { DARI FOR i} { PROCEDURE DATA} PROCEDURE CETAK; gotoxy(55,3); write(' H a P P Y-T R E E"S S H O P'); gotoxy(55,5); write(' -trademark by : Yuni, x, x'); gotoxy(55,7); write(' -customer list : D A Y XXVIII '); gotoxy(3,10); writeln('-----------------------------------------------------------------------------'); gotoxy(3,11); writeln(' PELANGGAN KASIR A KASIR B '); gotoxy(3,12); writeln('-----------------------------------------------------------------------------'); gotoxy(3,13); writeln('(no) (dtg) (brg) (tunggu) (layani) (selesai) (tunggu) (layani) (selesai)'); writeln;
FOR i := 1 TO 3 DO Writeln(i:4,plgn[i].dtg:5,plgn[i].brg:6,A[i].tgu:12,A[i].lyn:9,A[i].slsai:9,B[i].tgu:12,B[i].lyn:9,B[i].slsai:9); writeln; write (' JUMLAH TOTAL BARANG : ',jml_brg); writeln(' JUMLAH TOTAL WAKTU DATANG : ',jml_tdtg); writeln; write (' press -enter- untuk mengetahui rincian per-kasir.. '); readln; gotoxy(14, 6); writeln('"rincian Kasir A"'); gotoxy(10, 8); writeln('# total waktu tunggu = ',jml_atgu); gotoxy(10,10); writeln('# total waktu layanan = ',jml_alyn); gotoxy(10,12); writeln('# total waktu selesai = ',jml_aslse); writeln; gotoxy(14,15); writeln('"rincian Kasir B"'); gotoxy(10,17); writeln('# total waktu tunggu = ',jml_btgu); gotoxy(10,19); writeln('# total waktu layanan = ',jml_blyn); gotoxy(10,21); writeln('# total waktu selesai = ',jml_bslse); gotoxy(14,24); write ('press any key for exit program!! '); readkey; donewincrt; { PROCEDURE CETAK} {MAIN PROGRAM} screensize.x := 100; {MENGATUR LEBAR TAMPILAN HORIZONTAL/ X} screensize.y := 100; {MENGATUR LEBAR TAMPILAN VERTIKAL/ Y} data; {MEMANGGIL PROCEDURE DATA UNTUK INPUT DAN KALKULASI DATA} cetak; {MEMANGGIL PROCEDURE CETAK UNTUK MENAMPILKAN HASIL}. { OF PROGRAM}
PROGRAM simulasi_pasword; USES wincrt; VAR user, psw1, penkrip, pdekrip : STRING; i : integer; PROCEDURE menu; FORWARD; PROCEDURE password; VAR p : char; REPEAT p := readkey; IF p <> #13 THEN write('*'); psw1 := psw1 + p; UNTIL p=#13; PROCEDURE enkripsi; penkrip := psw1; FOR i := 1 TO length(psw1) do penkrip[i] := chr(ord(psw1[i])+5); PROCEDURE dekripsi; pdekrip := penkrip; FOR i := 1 TO length(penkrip) do pdekrip[i] := chr(ord(penkrip[i])-5); PROCEDURE inputdantampil; gotoxy(12,6); write(' # User Name!! '); readln(user); gotoxy(12,8); write(' # Password!! '); password; gotoxy(20,6); write(' # Press Enter To Encrypt Your Password!! '); readln; enkripsi; gotoxy(25,8); write(' Password Setelah di Enkrip = ',penkrip); gotoxy(20,11); write(' # Press Enter To Decrypt Your Password!! '); readln;
gotoxy(25,13); write(' User Name = ',user); dekripsi; gotoxy(25,15); write(' Password = ',pdekrip); gotoxy(20,18); write(' # Press Enter To Back To Menu!! '); readln; menu; PROCEDURE identitas; gotoxy(12, 8); write(' This Program Was Created By : '); gotoxy(10,10); write('name : Yuni Susanti'); gotoxy(10,12); write('nim : M0507054'); gotoxy(10,14); write('title : Password Simulation :) '); gotoxy(10,16); write('date : 8th June 2008'); gotoxy(12,20); write('press Enter To Return To The Menu!! readln; menu; '); PROCEDURE menu; VAR pil : char; gotoxy(12, 6); write('menu Pada Program Kali Ini'); gotoxy(20,10); write(' a. Identitas Pembuat'); gotoxy(20,12); write(' b. Mulai Password Enkripsi '); gotoxy(20,14); write(' c. Keluar Program'); gotoxy(12,18); write(' Silahkan Pilih!! '); readln(pil); CASE pil OF 'a','a' : identitas; 'b','b' : inputdantampil; 'c','c' : gotoxy(13, 8); write(' Terima Kasih Telah Menggunakan Program Ini Ya :)'); gotoxy(13,12); write(' Tekan Anykey Untuk Exit Window.. '); readkey; donewincrt;
screensize.x := 100; screensize.y := 200; menu;.