Project Cash Register
REM MAIN PROSES
GOSUB PASSWORD
GOSUB READDATA
GOSUB CETAKSCREEN
GOSUB INPUTDATA
GOSUB PROSESDATA
GOSUB CETAKHASIL
GOSUB CETAKPRINTER
END
'-------------------------------------------------------------------------------
PASSWORD:
CLS
FOR I = 1 TO 3
INPUT "MASUKAN PASSWORD ANDA: ", PAS$
SELECT CASE PAS$
CASE "PASIM"
PRINT "KAMU BERADA DISISTEM YANG BENAR"
I = 3
CASE ELSE
PRINT "PASSWORD SALAH"
IF J = 3 THEN
PRINT "KELUAR"
END
END IF
INPUT "INGIN MENCOBA LAGI Y/N"; Y$
CLS
IF Y$ <> "Y" OR Y$ = "Y" THEN END
END SELECT
NEXT I
RETURN
'----------------------------------------------------------------------------
READDATA:
DATA "FANTA",1500,"COCA-COLA",1500,"SPRITE",1500,"AQUA",2000,"XX",0
DIM ITEM$(100)
DIM PRICE(100)
LAGI:
K = K + 1
READ ITEM$(K)
READ PRICE(K)
IF ITEM$(K) = "XX" THEN
BANYAKDATA = K - 1
ELSE
GOTO LAGI
END IF
RETURN
'------------------------------------------------------------------------------
CETAKSCREEN:
CLS
LOCATE 2, 35
PRINT "CAFE PASIM"
FOR I = 1 TO BANYAKDATA
LOCATE 5 + I, 22
PRINT ""; I; ""; ITEM$(I)
PRINT ITEM$(I)
LOCATE 5 + I, 45
PRINT USING "Rp ######,##"; PRICE(I)
NEXT I
FOR I = 5 TO 75
LOCATE 20, I
PRINT "-"
LOCATE 23, I
PRINT "-"
NEXT I
FOR I = 21 TO 22
LOCATE I, 30
PRINT "|"
LOCATE I, 5
PRINT "|"
LOCATE I, 75
PRINT "|"
NEXT I
RETURN
'------------------------------------------------------------------------------
INPUTDATA:
DIM ITEMUOT$(100)
DIM PRICEOUT(100)
DIM JUMLAH(100)
FOR TRAN = 1 TO 2000
ULANG:
LOCATE 21, 10
PRINT "JUMLAH: "
LOCATE 22, 10
PRINT "OPTION: "
LOCATE 21.2
INPUT " ", JML
JMLOUT(TRAN) = JML
IF JML = 0 THEN RETURN
LOCATE 22, 20
INPUT "", OPT
ITEMOUT$(TRAN) = ITEM$(OPT)
PRICEOUT(TRAN) = PRICE(OPT)
SELECT CASE OPT
CASE 1 TO BANYAKDATA
LOCATE 21, 40
PRINT JML; "BOTOL:"; ITEM$(OPT)
GOSUB HAPUS2
LOCATE 22, 55
INPUT "CANCEL Y/N "; Y$
IF Y$ = "Y" OR Y$ = "y" THEN
GOTO ULANG
ELSE
GOSUB HAPUS1
GOSUB HAPUS2
END IF
CASE ELSE
LOCATE 21, 40
PRINT "SALAH KETIK"
GOSUB HAPUS2
GOTO ULANG
END SELECT
NEXT TRAN
RETURN
HAPUS1:
LOCATE 21, 40
PRINT ""
RETURN
HAPUS2:
LOCATE 22, 40
PRINT ""
RETURN
'----------------------------------------------------------------------------
PROSESDATA:
DIM HRGOUT(100)
FOR I = 0 TO TRAN
HRGOUT(I) = JMLOUT(I) * PRICEOUT(I)
TOTALOUT = TOTALOUT + HRGOUT(I)
NEXT I
RETURN
'-----------------------------------------------------------------------------
CETAKHASIL:
CLS
LOCATE 2, 30
PRINT " T A N D A T E R I M A"
FOR I = 1 TO TRAN - 1
LOCATE 3 + I, 5
PRINT JMLOUT(I), "BOTOL", ITEMOUT$(I), PRICEOUT(I)
LOCATE 13 + I, 36
NEXT I
LOCATE 15, I + 10
PRINT "-------------------------------------------------------------"
LOCATE 14 + I, 28
PRINT USING "TOTAL=Rp ######,##"; TOTALOUT
LOCATE 23, 25
INPUT "CETAK KE PRINTER Y/N "; K$
IF K$ <> "Y" OR K$ <> "y" THEN END
'-----------------------------------------------------------------------------
CETAKPRINTER:
LOCATE 10, 25
PRINT "T A N D A T E R I M A"
FOR I = 1 TO TRAN - 1
LOCATE 13 + I, 5
PRINT JMLOUT(I), "BOTOL", ITEMOUT$(I), PRICEOUT(I)
LOCATE 13 + I, 55
PRINT USING "Rp ######,##"; HRGOUT(I)
NEXT I
LOCATE 13 + I, 5
PRINT "-------------------------------------"
LOCATE 14 + I, 16
PRINT USING "TOTAL = Rp ######,##"; TOTALOUT
RETURN
'-----------------------------------------------------------------------------
GOSUB PASSWORD
GOSUB READDATA
GOSUB CETAKSCREEN
GOSUB INPUTDATA
GOSUB PROSESDATA
GOSUB CETAKHASIL
GOSUB CETAKPRINTER
END
'-------------------------------------------------------------------------------
PASSWORD:
CLS
FOR I = 1 TO 3
INPUT "MASUKAN PASSWORD ANDA: ", PAS$
SELECT CASE PAS$
CASE "PASIM"
PRINT "KAMU BERADA DISISTEM YANG BENAR"
I = 3
CASE ELSE
PRINT "PASSWORD SALAH"
IF J = 3 THEN
PRINT "KELUAR"
END
END IF
INPUT "INGIN MENCOBA LAGI Y/N"; Y$
CLS
IF Y$ <> "Y" OR Y$ = "Y" THEN END
END SELECT
NEXT I
RETURN
'----------------------------------------------------------------------------
READDATA:
DATA "FANTA",1500,"COCA-COLA",1500,"SPRITE",1500,"AQUA",2000,"XX",0
DIM ITEM$(100)
DIM PRICE(100)
LAGI:
K = K + 1
READ ITEM$(K)
READ PRICE(K)
IF ITEM$(K) = "XX" THEN
BANYAKDATA = K - 1
ELSE
GOTO LAGI
END IF
RETURN
'------------------------------------------------------------------------------
CETAKSCREEN:
CLS
LOCATE 2, 35
PRINT "CAFE PASIM"
FOR I = 1 TO BANYAKDATA
LOCATE 5 + I, 22
PRINT ""; I; ""; ITEM$(I)
PRINT ITEM$(I)
LOCATE 5 + I, 45
PRINT USING "Rp ######,##"; PRICE(I)
NEXT I
FOR I = 5 TO 75
LOCATE 20, I
PRINT "-"
LOCATE 23, I
PRINT "-"
NEXT I
FOR I = 21 TO 22
LOCATE I, 30
PRINT "|"
LOCATE I, 5
PRINT "|"
LOCATE I, 75
PRINT "|"
NEXT I
RETURN
'------------------------------------------------------------------------------
INPUTDATA:
DIM ITEMUOT$(100)
DIM PRICEOUT(100)
DIM JUMLAH(100)
FOR TRAN = 1 TO 2000
ULANG:
LOCATE 21, 10
PRINT "JUMLAH: "
LOCATE 22, 10
PRINT "OPTION: "
LOCATE 21.2
INPUT " ", JML
JMLOUT(TRAN) = JML
IF JML = 0 THEN RETURN
LOCATE 22, 20
INPUT "", OPT
ITEMOUT$(TRAN) = ITEM$(OPT)
PRICEOUT(TRAN) = PRICE(OPT)
SELECT CASE OPT
CASE 1 TO BANYAKDATA
LOCATE 21, 40
PRINT JML; "BOTOL:"; ITEM$(OPT)
GOSUB HAPUS2
LOCATE 22, 55
INPUT "CANCEL Y/N "; Y$
IF Y$ = "Y" OR Y$ = "y" THEN
GOTO ULANG
ELSE
GOSUB HAPUS1
GOSUB HAPUS2
END IF
CASE ELSE
LOCATE 21, 40
PRINT "SALAH KETIK"
GOSUB HAPUS2
GOTO ULANG
END SELECT
NEXT TRAN
RETURN
HAPUS1:
LOCATE 21, 40
PRINT ""
RETURN
HAPUS2:
LOCATE 22, 40
PRINT ""
RETURN
'----------------------------------------------------------------------------
PROSESDATA:
DIM HRGOUT(100)
FOR I = 0 TO TRAN
HRGOUT(I) = JMLOUT(I) * PRICEOUT(I)
TOTALOUT = TOTALOUT + HRGOUT(I)
NEXT I
RETURN
'-----------------------------------------------------------------------------
CETAKHASIL:
CLS
LOCATE 2, 30
PRINT " T A N D A T E R I M A"
FOR I = 1 TO TRAN - 1
LOCATE 3 + I, 5
PRINT JMLOUT(I), "BOTOL", ITEMOUT$(I), PRICEOUT(I)
LOCATE 13 + I, 36
NEXT I
LOCATE 15, I + 10
PRINT "-------------------------------------------------------------"
LOCATE 14 + I, 28
PRINT USING "TOTAL=Rp ######,##"; TOTALOUT
LOCATE 23, 25
INPUT "CETAK KE PRINTER Y/N "; K$
IF K$ <> "Y" OR K$ <> "y" THEN END
'-----------------------------------------------------------------------------
CETAKPRINTER:
LOCATE 10, 25
PRINT "T A N D A T E R I M A"
FOR I = 1 TO TRAN - 1
LOCATE 13 + I, 5
PRINT JMLOUT(I), "BOTOL", ITEMOUT$(I), PRICEOUT(I)
LOCATE 13 + I, 55
PRINT USING "Rp ######,##"; HRGOUT(I)
NEXT I
LOCATE 13 + I, 5
PRINT "-------------------------------------"
LOCATE 14 + I, 16
PRINT USING "TOTAL = Rp ######,##"; TOTALOUT
RETURN
'-----------------------------------------------------------------------------
Komentar
Posting Komentar