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
'-----------------------------------------------------------------------------

Komentar

Postingan Populer