DECLARE SUB pass ()
DECLARE SUB ANIM ()
DECLARE SUB LAPBAYAR ()
DECLARE SUB pembayaran ()
DECLARE SUB settinghrg ()
DECLARE SUB EDITPEL ()
DECLARE SUB DELPEL ()
DECLARE SUB CARIPEL ()
DECLARE SUB TAMPIL ()
DECLARE SUB GRSBAWAH ()
DECLARE SUB ADDPEL ()
DECLARE SUB MENUS ()
DECLARE SUB MENUT ()
DECLARE SUB KOTAK (A1 AS INTEGER, A2 AS INTEGER, B1 AS INTEGER, b2 AS INTEGER, W AS INTEGER)
DECLARE SUB GH (A1 AS INTEGER, A2 AS INTEGER, B1 AS INTEGER, W AS INTEGER)
DECLARE SUB DESAIN ()
DECLARE SUB SIMPANDATA ()
DECLARE SUB TENGAH (baris AS INTEGER, teks AS STRING)
DECLARE SUB MENU ()
TYPE LANGGAN
NO AS STRING * 5
NAMA AS STRING * 15
ALAMAT AS STRING * 20
TLP AS STRING * 12
END TYPE
TYPE seting
HARGA AS STRING * 10
END TYPE
TYPE PMBYR
NO AS STRING * 5
NAMA AS STRING * 15
BULAN AS STRING * 2
TAHUN AS STRING * 4
JMLPAKAI AS STRING * 5
TOTAL AS STRING * 10
END TYPE
DIM SHARED SETT AS seting
DIM SHARED PEL AS LANGGAN
DIM SHARED PEM AS PMBYR
DIM SHARED USER AS STRING
OPEN "C:\PEL.TXT" FOR RANDOM AS #1 LEN = LEN(PEL)
OPEN "C:\SETING.TXT" FOR RANDOM AS #3 LEN = LEN(SETT)
OPEN "C:\BAYAR.TXT" FOR RANDOM AS #4 LEN = LEN(PEM)
CALL pass
SUB ADDPEL
DIM PIL AS INTEGER
DIM KODE AS STRING
DIM JMLREC AS INTEGER
DIM JWB(2) AS STRING
DIM LOP AS INTEGER
DIM cmd AS STRING
JWB(1) = "
JWB(2) = "
PIL = 1
LOCATE 5, 21: COLOR 14, 2: PRINT " INPUT DATA PELANGGAN BARU "
LOCATE 7, 21: COLOR 2, 0: PRINT "NO PENDAFTAR : "
LOCATE 8, 21: COLOR 2, 0: PRINT "NAMA PENDAFTAR : "
LOCATE 9, 21: COLOR 2, 0: PRINT "ALAMAT PENDAFTAR : "
LOCATE 10, 21: COLOR 2, 0: PRINT "TELPON PENDAFTAR : "
JMLREC = LOF(1) / LEN(PEL)
IF JMLREC = 0 THEN
KODE = "P0001"
ELSE
GET #1, JMLREC, PEL
KODE = LTRIM$(STR$(VAL(RIGHT$(PEL.NO, 4)) + 1))
SELECT CASE LEN(KODE)
CASE 1
KODE = "P000" + KODE
CASE 2
KODE = "P00" + KODE
CASE 3
KODE = "P0" + KODE
CASE 4
KODE = "P" + KODE
END SELECT
END IF
LOCATE 7, 40: COLOR 2, 14: PRINT KODE
PEL.NO = KODE
A:
LOCATE 8, 40: COLOR 2, 14: INPUT "", PEL.NAMA
IF PEL.NAMA = " " THEN
LOCATE 8, 40: COLOR 4, 7: PRINT "ISIKAN NAMA DAHULU..TEKAN ENTER"
INPUT "", X
LOCATE 8, 40: COLOR 2, 0: PRINT " "
GOTO A
END IF
B:
LOCATE 9, 40: COLOR 2, 14: INPUT "", PEL.ALAMAT
IF PEL.ALAMAT = " " THEN
LOCATE 9, 40: COLOR 4, 7: PRINT "ISIKAN ALAMAT DAHULU..TEKAN ENTER"
INPUT "", X
LOCATE 9, 40: COLOR 2, 0: PRINT " "
GOTO B
END IF
C:
LOCATE 10, 40: COLOR 2, 14: INPUT "", PEL.TLP
IF PEL.TLP = " " THEN
LOCATE 10, 40: COLOR 4, 7: PRINT "ISIKAN TELPON DAHULU..TEKAN ENTER"
INPUT "", X
LOCATE 10, 40: COLOR 2, 0: PRINT " "
GOTO C
END IF
LOCATE 12, 21: COLOR 2, 0: PRINT "APAKAH AKAN DISIMPAN ? "
LOCATE 12, 45: COLOR 4, 7: PRINT JWB(1)
LOCATE 12, 52: COLOR 14, 2: PRINT JWB(2)
LOP = 0
DO WHILE LOP <> 1
cmd = INKEY$
SELECT CASE cmd
CASE CHR$(0) + CHR$(77)
LOCATE 12, 45: COLOR 14, 2: PRINT JWB(1)
LOCATE 12, 52: COLOR 4, 7: PRINT JWB(2)
PIL = 2
CASE CHR$(0) + CHR$(75)
LOCATE 12, 45: COLOR 4, 7: PRINT JWB(1)
LOCATE 12, 52: COLOR 14, 2: PRINT JWB(2)
PIL = 1
CASE CHR$(13)
SELECT CASE PIL
CASE 1
JMLREC = LOF(1) / LEN(PEL)
PUT #1, JMLREC + 1, PEL
LOCATE 22, 21: COLOR 2, 7: PRINT "SIMPAN DATA BARU SUKSES"
INPUT "", XX
LOP = 1
CALL MENUS
CASE 2
LOP = 1
CALL MENUS
END SELECT
END SELECT
LOOP
END SUB
SUB ANIM
DIM A AS STRING
DIM BRS AS INTEGER
DIM KOL AS INTEGER
DIM X AS INTEGER
DIM cmd AS INTEGER
FOR I = 1 TO 100
RANDOMIZE TIMER
BRS = INT(RND * 17)
KOL = INT(RND * 78)
IF BRS > 6 AND KOL > 20 THEN
LOCATE BRS, KOL: PRINT "*"
FOR J = 1 TO 100000
NEXT
END IF
NEXT
END SUB
SUB CARIPEL
DIM CARI AS STRING
DIM JLMREC AS INTEGER
DIM KETEMU AS INTEGER
LOCATE 5, 21: COLOR 14, 2: PRINT " CARI DATA PELANGGAN "
LOCATE 7, 21: COLOR 2, 0: PRINT "NO PENDAFTAR : "
CARI:
LOCATE 7, 40: COLOR 2, 14: INPUT "", CARI
IF CARI = "" THEN
LOCATE 7, 40: COLOR 2, 14: PRINT "INPUTKAN NO PENDAFTARAN DAHULU."
INPUT "", XX
LOCATE 7, 40: COLOR 2, 0: PRINT " "
GOTO CARI
ELSE
KETEMU = 0
JMLREC = LOF(1) / LEN(PEL)
FOR I = 1 TO JMLREC
GET #1, I, PEL
IF RTRIM$(LTRIM$(UCASE$(CARI))) = RTRIM$(LTRIM$(UCASE$(PEL.NO))) THEN
KETEMU = I
EXIT FOR
END IF
NEXT
IF KETEMU > 0 THEN
GET #1, KETEMU, PEL
LOCATE 7, 21: COLOR 2, 0: PRINT "NO PENDAFTAR : "
LOCATE 8, 21: COLOR 2, 0: PRINT "NAMA PENDAFTAR : "
LOCATE 9, 21: COLOR 2, 0: PRINT "ALAMAT PENDAFTAR : "
LOCATE 10, 21: COLOR 2, 0: PRINT "TELPON PENDAFTAR : "
LOCATE 7, 40: COLOR 2, 14: PRINT PEL.NO
LOCATE 8, 40: COLOR 2, 14: PRINT PEL.NAMA
LOCATE 9, 40: COLOR 2, 14: PRINT PEL.ALAMAT
LOCATE 10, 40: COLOR 2, 14: PRINT PEL.TLP
INPUT "", XX
CALL MENUS
ELSE
LOCATE 10, 21: COLOR 4, 7: PRINT "DATA : "; UCASE$(CARI); " TIDAK DITEMUKAN"
INPUT "", XX
CALL MENUS
END IF
END IF
END SUB
SUB cetak (n AS INTEGER)
FOR I = 1 TO n
PRINT "wearnes"
NEXT
END SUB
SUB DELPEL
DIM CARI AS STRING
DIM JLMREC AS INTEGER
DIM KETEMU AS INTEGER
DIM PIL AS INTEGER
DIM JWB(2) AS STRING
DIM LOP AS INTEGER
DIM cmd AS STRING
JWB(1) = "
JWB(2) = "
PIL = 1
LOCATE 5, 21: COLOR 14, 2: PRINT " CARI DATA PELANGGAN "
LOCATE 7, 21: COLOR 2, 0: PRINT "NO PENDAFTAR : "
CARIDEL:
LOCATE 7, 40: COLOR 2, 14: INPUT "", CARI
IF CARI = "" THEN
LOCATE 7, 40: COLOR 2, 14: PRINT "INPUTKAN NO PENDAFTARAN DAHULU"
INPUT "", XX
LOCATE 7, 40: COLOR 2, 0: PRINT " "
GOTO CARIDEL
ELSE
KETEMU = 0
JMLREC = LOF(1) / LEN(PEL)
FOR I = 1 TO JMLREC
GET #1, I, PEL
IF RTRIM$(LTRIM$(UCASE$(CARI))) = RTRIM$(LTRIM$(UCASE$(PEL.NO))) THEN
KETEMU = I
EXIT FOR
END IF
NEXT
IF KETEMU > 0 THEN
GET #1, KETEMU, PEL
LOCATE 7, 21: COLOR 2, 0: PRINT "NO PENDAFTAR : "
LOCATE 8, 21: COLOR 2, 0: PRINT "NAMA PENDAFTAR : "
LOCATE 9, 21: COLOR 2, 0: PRINT "ALAMAT PENDAFTAR : "
LOCATE 10, 21: COLOR 2, 0: PRINT "TELPON PENDAFTAR : "
LOCATE 7, 40: COLOR 2, 14: PRINT PEL.NO
LOCATE 8, 40: COLOR 2, 14: PRINT PEL.NAMA
LOCATE 9, 40: COLOR 2, 14: PRINT PEL.ALAMAT
LOCATE 10, 40: COLOR 2, 14: PRINT PEL.TLP
LOCATE 11, 21: COLOR 2, 0: PRINT "-------------------------------------------"
LOCATE 12, 21: COLOR 2, 0: PRINT "APAKAH AKAN DIHAPUS ? "
LOCATE 12, 45: COLOR 4, 7: PRINT JWB(1)
LOCATE 12, 52: COLOR 14, 2: PRINT JWB(2)
LOP = 0
DO WHILE LOP <> 1
cmd = INKEY$
SELECT CASE cmd
CASE CHR$(0) + CHR$(77)
LOCATE 12, 45: COLOR 14, 2: PRINT JWB(1)
LOCATE 12, 52: COLOR 4, 7: PRINT JWB(2)
PIL = 2
CASE CHR$(0) + CHR$(75)
LOCATE 12, 45: COLOR 4, 7: PRINT JWB(1)
LOCATE 12, 52: COLOR 14, 2: PRINT JWB(2)
PIL = 1
CASE CHR$(13)
SELECT CASE PIL
CASE 1
DIM PEL2 AS LANGGAN
DIM JMLREC2 AS INTEGER
OPEN "C:\TMP.TXT" FOR RANDOM AS #2 LEN = LEN(PEL2)
FOR I = 1 TO JMLREC
GET #1, I, PEL
IF UCASE$(PEL.NO) <> UCASE$(CARI) THEN
JMLREC2 = LOF(2) / LEN(PEL2)
PUT #2, JMLREC2 + 1, PEL
END IF
NEXT
CLOSE #1, #2
KILL "C:\PEL.TXT"
NAME "C:\TMP.TXT" AS "C:\PEL.TXT"
OPEN "C:\PEL.TXT" FOR RANDOM AS #1 LEN = LEN(PEL)
LOCATE 15, 21: COLOR 4, 7: PRINT "HAPUS DATA SUKSES."
INPUT "", XX
CALL MENUS
CASE 2
LOP = 1
CALL MENUS
END SELECT
END SELECT
LOOP
'----------------
ELSE
LOCATE 10, 21: COLOR 4, 7: PRINT "DATA : "; UCASE$(CARI); " TIDAK DITEMUKAN"
INPUT "", XX
CALL MENUS
END IF
END IF
END SUB
SUB DESAIN
COLOR 2, 0
CLS
CALL KOTAK(1, 2, 3, 78, 2)
CALL KOTAK(4, 2, 23, 78, 2)
CALL GH(4, 20, 23, 2)
END SUB
SUB EDITPEL
DIM CARI AS STRING
DIM JLMREC AS INTEGER
DIM KETEMU AS INTEGER
DIM PIL AS INTEGER
DIM JWB(2) AS STRING
DIM LOP AS INTEGER
DIM cmd AS STRING
JWB(1) = "
JWB(2) = "
PIL = 1
LOCATE 5, 21: COLOR 14, 2: PRINT " CARI DATA PELANGGAN "
LOCATE 7, 21: COLOR 2, 0: PRINT "NO PENDAFTAR : "
CARIEDIT:
LOCATE 7, 40: COLOR 2, 14: INPUT "", CARI
IF CARI = "" THEN
LOCATE 7, 40: COLOR 2, 14: PRINT "INPUTKAN NO PENDAFTARAN DAHULU."
INPUT "", XX
LOCATE 7, 40: COLOR 2, 0: PRINT " "
GOTO CARIEDIT
ELSE
KETEMU = 0
JMLREC = LOF(1) / LEN(PEL)
FOR I = 1 TO JMLREC
GET #1, I, PEL
IF RTRIM$(LTRIM$(UCASE$(CARI))) = RTRIM$(LTRIM$(UCASE$(PEL.NO))) THEN
KETEMU = I
EXIT FOR
END IF
NEXT
IF KETEMU > 0 THEN
GET #1, KETEMU, PEL
LOCATE 7, 21: COLOR 2, 0: PRINT "NO PENDAFTAR : "
LOCATE 8, 21: COLOR 2, 0: PRINT "NAMA PENDAFTAR : "
LOCATE 9, 21: COLOR 2, 0: PRINT "ALAMAT PENDAFTAR : "
LOCATE 10, 21: COLOR 2, 0: PRINT "TELPON PENDAFTAR : "
LOCATE 7, 40: COLOR 2, 14: PRINT PEL.NO
LOCATE 8, 40: COLOR 2, 14: PRINT PEL.NAMA
LOCATE 9, 40: COLOR 2, 14: PRINT PEL.ALAMAT
LOCATE 10, 40: COLOR 2, 14: PRINT PEL.TLP
LOCATE 11, 21: COLOR 2, 0: PRINT "-------------------------------------------"
'----------------
LOCATE 12, 21: COLOR 2, 0: PRINT "NAMA PENDAFTAR : "
LOCATE 13, 21: COLOR 2, 0: PRINT "ALAMAT PENDAFTAR : "
LOCATE 14, 21: COLOR 2, 0: PRINT "TELPON PENDAFTAR : "
PEL.NO = UCASE$(CARI)
D:
LOCATE 12, 40: COLOR 2, 14: INPUT "", PEL.NAMA
IF PEL.NAMA = " " THEN
LOCATE 12, 40: COLOR 4, 7: PRINT "ISIKAN NAMA DAHULU..TEKAN ENTER"
INPUT "", X
LOCATE 12, 40: COLOR 2, 0: PRINT " "
GOTO D
END IF
E:
LOCATE 13, 40: COLOR 2, 14: INPUT "", PEL.ALAMAT
IF PEL.ALAMAT = " " THEN
LOCATE 13, 40: COLOR 4, 7: PRINT "ISIKAN ALAMAT DAHULU..TEKAN ENTER"
INPUT "", X
LOCATE 13, 40: COLOR 2, 0: PRINT " "
GOTO E
END IF
F:
LOCATE 14, 40: COLOR 2, 14: INPUT "", PEL.TLP
IF PEL.TLP = " " THEN
LOCATE 14, 40: COLOR 4, 7: PRINT "ISIKAN TELPON DAHULU..TEKAN ENTER"
INPUT "", X
LOCATE 14, 40: COLOR 2, 0: PRINT " "
GOTO F
END IF
LOCATE 16, 21: COLOR 2, 0: PRINT "APAKAH AKAN DISIMPAN ? "
LOCATE 16, 45: COLOR 4, 7: PRINT JWB(1)
LOCATE 16, 52: COLOR 14, 2: PRINT JWB(2)
LOP = 0
DO WHILE LOP <> 1
cmd = INKEY$
SELECT CASE cmd
CASE CHR$(0) + CHR$(77)
LOCATE 16, 45: COLOR 14, 2: PRINT JWB(1)
LOCATE 16, 52: COLOR 4, 7: PRINT JWB(2)
PIL = 2
CASE CHR$(0) + CHR$(75)
LOCATE 16, 45: COLOR 4, 7: PRINT JWB(1)
LOCATE 16, 52: COLOR 14, 2: PRINT JWB(2)
PIL = 1
CASE CHR$(13)
SELECT CASE PIL
CASE 1
JMLREC = LOF(1) / LEN(PEL)
PUT #1, KETEMU, PEL
LOCATE 22, 21: COLOR 2, 7: PRINT "UPDATE DATA BARU SUKSES"
INPUT "", XX
LOP = 1
CALL MENUS
CASE 2
LOP = 1
CALL MENUS
END SELECT
END SELECT
LOOP
'----------------
ELSE
LOCATE 10, 21: COLOR 4, 7: PRINT "DATA : "; UCASE$(CARI); " TIDAK DITEMUKAN"
INPUT "", XX
CALL MENUS
END IF
END IF
END SUB
SUB GH (A1 AS INTEGER, A2 AS INTEGER, B1 AS INTEGER, W AS INTEGER)
COLOR 7
LOCATE A1, A2: PRINT "Ë"
LOCATE B1, A2: PRINT "Ê"
FOR I = A1 + 1 TO B1 - 1
COLOR W
LOCATE I, A2: PRINT "³"
NEXT
END SUB
SUB GRSBAWAH
CALL GH(5, 3, 23, 2)
CALL GH(5, 14, 23, 2)
CALL GH(5, 33, 23, 2)
CALL GH(5, 63, 23, 2)
CALL GH(5, 77, 23, 2)
END SUB
SUB KOTAK (A1 AS INTEGER, A2 AS INTEGER, B1 AS INTEGER, b2 AS INTEGER, W AS INTEGER)
COLOR 7
LOCATE A1, A2: PRINT "É"
LOCATE B1, A2: PRINT "È"
LOCATE A1, b2: PRINT "»"
LOCATE B1, b2: PRINT "¼"
FOR I = A2 + 1 TO b2 - 1
COLOR W
LOCATE A1, I: PRINT "Ä"
NEXT
FOR I = A2 + 1 TO b2 - 1
COLOR W
LOCATE B1, I: PRINT "Ä"
NEXT
FOR I = A1 + 1 TO B1 - 1
COLOR W
LOCATE I, A2: PRINT "³"
NEXT
FOR I = A1 + 1 TO B1 - 1
COLOR W
LOCATE I, b2: PRINT "³"
NEXT
END SUB
SUB LAPBAYAR
DIM JMLREC AS INTEGER
DIM BLN AS STRING
COLOR 2, 0
CLS
CALL KOTAK(1, 2, 3, 78, 2)
CALL KOTAK(4, 2, 23, 78, 2)
COLOR 7
CALL TENGAH(2, "MANAJEMEN DATA PEMBAYARAN PDAM")
JMLREC = LOF(4) / LEN(PEM)
LOCATE 5, 3: COLOR , 7: PRINT " "
LOCATE 5, 4: COLOR 2, 7: PRINT "NO DAFTAR"
LOCATE 5, 16: COLOR 2, 7: PRINT "NAMA PELANGGAN"
LOCATE 5, 35: COLOR 2, 7: PRINT "BULAN"
LOCATE 5, 48: COLOR 2, 7: PRINT "TAHUN"
LOCATE 5, 55: COLOR 2, 7: PRINT "JUMLAH"
LOCATE 5, 63: COLOR 2, 7: PRINT "TOTAL"
COLOR , 0
IF JMLREC > 0 THEN
'-GARIS BAWAH
CALL GH(5, 3, 23, 2)
CALL GH(5, 14, 23, 2)
CALL GH(5, 34, 23, 2)
CALL GH(5, 47, 23, 2)
CALL GH(5, 54, 23, 2)
CALL GH(5, 62, 23, 2)
IF JMLREC > 17 THEN
LOCATE 10, 25: COLOR 4, 7: PRINT "HANYA MAMPU 17 RECORD PERTAMA SAJA"
INPUT "", XX
CALL MENUT
ELSE
FOR I = 1 TO JMLREC
GET #4, I, PEM
LOCATE 5 + I, 4: COLOR 2, 0: PRINT PEM.NO
LOCATE 5 + I, 16: COLOR 2, 0: PRINT UCASE$(PEM.NAMA)
SELECT CASE LTRIM$(RTRIM$(PEM.BULAN))
CASE "1"
BLN = "JANUARI"
CASE "2"
BLN = "FEBRUARI"
CASE "3"
BLN = "MARET"
CASE "4"
BLN = "APRIL"
CASE "5"
BLN = "MEI"
CASE "6"
BLN = "JUNI"
CASE "7"
BLN = "JULI"
CASE "8"
BLN = "AGUSTUS"
CASE "9"
BLN = "SEPTEMBER"
CASE "10"
BLN = "OKTOBER"
CASE "11"
BLN = "NOVEMBER"
CASE "12"
BLN = "DESEMBER"
END SELECT
LOCATE 5 + I, 35: COLOR 2, 0: PRINT BLN
LOCATE 5 + I, 48: COLOR 2, 0: PRINT UCASE$(PEM.TAHUN)
LOCATE 5 + I, 55: COLOR 2, 0: PRINT UCASE$(PEM.JMLPAKAI); " M"
LOCATE 5 + I, 63: COLOR 2, 0: PRINT USING "Rp #,###,###"; VAL(PEM.TOTAL)
NEXT
INPUT "", XX
CALL MENUT
END IF
ELSE
LOCATE 10, 25: COLOR 4, 7: PRINT "TIDAK ADA DATA YANG DITAMPILKAN"
INPUT "", XX
CALL MENUT
END IF
END SUB
SUB MENU
CALL MENUT
END SUB
SUB MENUS
CALL DESAIN
COLOR 7
CALL TENGAH(2, "MANAJEMEN DATA PEMBAYARAN PDAM")
LOCATE 5, 3: COLOR 14, 10: PRINT " SUB MENU "
COLOR 2, 0
'-------------------
DIM MSUB(6) AS STRING
DIM X AS INTEGER
DIM PIL AS INTEGER
DIM cmd AS STRING
MSUB(1) = "1. INPUT DATA "
MSUB(2) = "2. CARI DATA "
MSUB(3) = "3. UPDATE DATA "
MSUB(4) = "4. DELETE DATA "
MSUB(5) = "5. LAPORAN DATA "
MSUB(6) = "6. MENU UTAMA "
FOR I = 1 TO 6
LOCATE 6 + I, 3: COLOR 14, 2: PRINT MSUB(I)
NEXT
LOCATE 7, 3: COLOR 4, 7: PRINT MSUB(1)
Y = 0
PIL = 1
DO WHILE Y <> 1
cmd = INKEY$
SELECT CASE cmd
CASE CHR$(0) + CHR$(80)
LOCATE 6 + PIL, 3: COLOR 14, 2: PRINT MSUB(PIL)
IF PIL < 6 THEN
PIL = PIL + 1
ELSE
PIL = 1
END IF
LOCATE 6 + PIL, 3: COLOR 4, 7: PRINT MSUB(PIL)
CASE CHR$(0) + CHR$(72)
LOCATE 6 + PIL, 3: COLOR 14, 2: PRINT MSUB(PIL)
IF PIL > 1 THEN
PIL = PIL - 1
ELSE
PIL = 6
END IF
LOCATE 6 + PIL, 3: COLOR 4, 7: PRINT MSUB(PIL)
CASE CHR$(13)
SELECT CASE PIL
CASE 1
Y = 1
CALL ADDPEL
CASE 2
Y = 1
CALL CARIPEL
CASE 3
Y = 1
CALL EDITPEL
CASE 4
Y = 1
CALL DELPEL
CASE 5
Y = 1
CALL TAMPIL
CASE 6
Y = 1
CALL MENUT
END SELECT
END SELECT
LOOP
'-------------------
END SUB
SUB MENUT
CLS
CALL DESAIN
COLOR 7
CALL TENGAH(2, "MANAJEMEN DATA PEMBAYARAN PDAM")
LOCATE 5, 3: COLOR 14, 10: PRINT " MENU UTAMA "
COLOR 2, 0
'-------------------
DIM MUTAMA(5) AS STRING
DIM X AS INTEGER
DIM PIL AS INTEGER
DIM cmd AS STRING
MUTAMA(1) = "1. DATA PELANGGAN"
MUTAMA(2) = "2. SETTING HARGA "
MUTAMA(3) = "3. PEMBAYARAN "
MUTAMA(4) = "4. LAPORAN "
MUTAMA(5) = "5. KELUAR "
FOR I = 1 TO 5
LOCATE 6 + I, 3: COLOR 14, 2: PRINT MUTAMA(I)
NEXT
LOCATE 7, 3: COLOR 4, 7: PRINT MUTAMA(1)
X = 0
PIL = 1
DO WHILE X <> 1
'CALL ANIM
cmd = INKEY$
SELECT CASE cmd
CASE CHR$(0) + CHR$(80)
LOCATE 6 + PIL, 3: COLOR 14, 2: PRINT MUTAMA(PIL)
IF PIL < 5 THEN
PIL = PIL + 1
ELSE
PIL = 1
END IF
LOCATE 6 + PIL, 3: COLOR 4, 7: PRINT MUTAMA(PIL)
CASE CHR$(0) + CHR$(72)
LOCATE 6 + PIL, 3: COLOR 14, 2: PRINT MUTAMA(PIL)
IF PIL > 1 THEN
PIL = PIL - 1
ELSE
PIL = 5
END IF
LOCATE 6 + PIL, 3: COLOR 4, 7: PRINT MUTAMA(PIL)
CASE CHR$(13)
SELECT CASE PIL
CASE 1
X = 1
CALL MENUS
CASE 2
X = 1
CALL settinghrg
CASE 3
X = 1
CALL pembayaran
CASE 4
X = 1
CALL LAPBAYAR
CASE 5
X = 1
CLOSE #1, #2, #3, #4
END SELECT
END SELECT
LOOP
'-------------------
END SUB
SUB pass
CLS
DIM KATA AS STRING
DIM cmd AS STRING
AWAL:
CALL KOTAK(1, 2, 4, 78, 2)
CALL KOTAK(5, 2, 23, 78, 2)
CALL TENGAH(2, "TOKO MAJU JAYA ABADI")
CALL TENGAH(3, "JL Majapahit no 407 Semarang")
COLOR 7, 0: LOCATE 7, 30: PRINT " LOGIN AREA "
LOCATE 8, 25: PRINT "-----------------------------------"
LOCATE 8, 25: PRINT "ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ"
CALL KOTAK(6, 25, 13, 60, 2)
IF LEN(USER) <> 0 THEN
FOR I = 1 TO LEN(USER)
LOCATE 9, 39 + I: PRINT " "
NEXT
END IF
IF LEN(KATA) <> 0 THEN
FOR I = 1 TO LEN(KATA)
LOCATE 10, 39 + I: PRINT " "
NEXT
END IF
USER = ""
KATA = ""
LOCATE 9, 30: PRINT "USER : "
LOCATE 10, 30: PRINT "PASSWORD: "
LOCATE 9, 40: INPUT "", USER
X = 0
DO WHILE X <> 1
cmd = INKEY$
' IF LEN(kata) <> 0 THEN
SELECT CASE cmd
CASE CHR$(13)
'PRINT kata
X = 1
CASE CHR$(8)
FOR I = 1 TO LEN(KATA)
LOCATE 10, 39 + I: PRINT " "
NEXT
IF LEN(KATA) <> 0 THEN
KATA = LEFT$(KATA, LEN(KATA) - 1)
FOR I = 1 TO LEN(KATA)
LOCATE 10, 39 + I: PRINT "*"
NEXT
'ELSE
' LOCATE 10, 30: PRINT " "
END IF
CASE ELSE
KATA = KATA + cmd
FOR I = 1 TO LEN(KATA)
LOCATE 10, 39 + I: PRINT "*"
NEXT
END SELECT
' END IF
LOOP
IF USER = "AGUNG VIBI" AND KATA = "GEREH KUCING" THEN
LOCATE 12, 30: COLOR 4, 0: PRINT "SELAMAT BEKERJA "; USER
INPUT "", X
CALL MENU
ELSE
'COLOR 4, 7
LOCATE 12, 30: COLOR 4, 0: PRINT "USER ATAU PASSWORD SALAH"
INPUT "", XX
LOCATE 12, 30: PRINT " "
GOTO AWAL
END IF
END SUB
SUB pembayaran
DIM CARI AS STRING
DIM JLMREC AS INTEGER
DIM JMLRECPEM AS INTEGER
DIM KETEMU AS INTEGER
DIM JMLPAKAI AS INTEGER
DIM HARGA AS DOUBLE
DIM TOTAL AS DOUBLE
DIM BULAN AS STRING
DIM TAHUN AS STRING
DIM JWB(2) AS STRING
DIM LOP AS INTEGER
DIM cmd AS STRING
DIM PIL AS INTEGER
JWB(1) = "
JWB(2) = "
PIL = 1
GET #3, 1, SETT
HARGA = VAL(SETT.HARGA)
KETEMU = 0
LOCATE 5, 21: COLOR 14, 2: PRINT " PEMBAYARAN TAGIHAN PDAM "
LOCATE 7, 21: COLOR 2, 0: PRINT "NO PENDAFTAR : "
CARIP:
LOCATE 7, 40: COLOR 2, 14: INPUT "", CARI
IF CARI = "" THEN
LOCATE 7, 40: COLOR 2, 14: PRINT "INPUTKAN NO PENDAFTARAN DAHULU."
INPUT "", XX
LOCATE 7, 40: COLOR 2, 0: PRINT " "
GOTO CARIP
ELSE
KETEMU = 0
JMLREC = LOF(1) / LEN(PEL)
FOR I = 1 TO JMLREC
GET #1, I, PEL
IF RTRIM$(LTRIM$(UCASE$(CARI))) = RTRIM$(LTRIM$(UCASE$(PEL.NO))) THEN
KETEMU = I
EXIT FOR
END IF
NEXT
IF KETEMU > 0 THEN
GET #1, KETEMU, PEL
LOCATE 7, 21: COLOR 2, 0: PRINT "NO PENDAFTAR : "
LOCATE 8, 21: COLOR 2, 0: PRINT "NAMA PENDAFTAR : "
LOCATE 9, 21: COLOR 2, 0: PRINT "ALAMAT PENDAFTAR : "
LOCATE 10, 21: COLOR 2, 0: PRINT "TELPON PENDAFTAR : "
LOCATE 7, 40: COLOR 2, 14: PRINT PEL.NO
LOCATE 8, 40: COLOR 2, 14: PRINT PEL.NAMA
LOCATE 9, 40: COLOR 2, 14: PRINT PEL.ALAMAT
LOCATE 10, 40: COLOR 2, 14: PRINT PEL.TLP
LOCATE 11, 21: COLOR 2, 0: PRINT "---------------------------------------------------------"
LOCATE 12, 21: COLOR 2, 0: PRINT "BULAN TAGIHAN : "
LOCATE 13, 21: COLOR 2, 0: PRINT "TAHUN TAGIHAN : "
H:
LOCATE 12, 40: COLOR 2, 14: INPUT "", BULAN
IF BULAN = "" THEN
LOCATE 12, 40: COLOR 4, 7: PRINT "MASUKAN BULAN DAHULU"
INPUT "", XX
LOCATE 12, 40: COLOR , 0: PRINT " "
GOTO H
END IF
I:
LOCATE 13, 40: COLOR 2, 14: INPUT "", TAHUN
IF TAHUN = "" THEN
LOCATE 13, 40: COLOR 4, 7: PRINT "MASUKAN TAHUN DAHULU"
INPUT "", XX
LOCATE 13, 40: COLOR , 0: PRINT " "
GOTO I
END IF
JMLRECPEM = LOF(4) / LEN(PEM)
KETEMU = 0
FOR I = 1 TO JMLRECPEM
GET #4, I, PEM
'PRINT PEM.NO
'PRINT PEL.NO
'PRINT LTRIM$(RTRIM$(PEM.BULAN))
'PRINT LTRIM$(RTRIM$(BULAN))
IF PEM.NO = PEL.NO AND LTRIM$(RTRIM$(PEM.BULAN)) = LTRIM$(RTRIM$(BULAN)) AND LTRIM$(RTRIM$(PEM.TAHUN)) = LTRIM$(RTRIM$(TAHUN)) THEN
KETEMU = I
EXIT FOR
ELSE
KETEMU = 0
END IF
NEXT
IF KETEMU <> 0 THEN
LOCATE 22, 21: COLOR 4, 7: PRINT "BULAN "; BULAN; " TAHUN "; TAHUN; " SUDAH TERBAYAR"
INPUT "", XX
LOCATE 22, 21: COLOR 4, 7: PRINT " "
CALL MENUT
ELSE
LOCATE 14, 21: COLOR 2, 0: PRINT "JUMLAH PAKAI (METER) : "
LOCATE 15, 21: COLOR 2, 0: PRINT "TOTAL TAGIHAN : "
J:
LOCATE 14, 45: COLOR 2, 14: INPUT "", JMLPAKAI
IF JMLPAKAI = 0 THEN
LOCATE 14, 45: COLOR 4, 7: PRINT "MASUKAN JUMLAH PAKAI DAHULU"
INPUT "", XX
LOCATE 14, 45: COLOR , 0: PRINT " "
GOTO J
END IF
TOTAL = JMLPAKAI * HARGA
LOCATE 15, 45: COLOR 2, 14: PRINT LTRIM$(STR$(TOTAL))
LOCATE 17, 21: COLOR 2, 0: PRINT "APAKAH AKAN DISIMPAN ? "
LOCATE 17, 45: COLOR 4, 7: PRINT JWB(1)
LOCATE 17, 52: COLOR 14, 2: PRINT JWB(2)
LOP = 0
DO WHILE LOP <> 1
cmd = INKEY$
SELECT CASE cmd
CASE CHR$(0) + CHR$(77)
LOCATE 17, 45: COLOR 14, 2: PRINT JWB(1)
LOCATE 17, 52: COLOR 4, 7: PRINT JWB(2)
PIL = 2
CASE CHR$(0) + CHR$(75)
LOCATE 17, 45: COLOR 4, 7: PRINT JWB(1)
LOCATE 17, 52: COLOR 14, 2: PRINT JWB(2)
PIL = 1
CASE CHR$(13)
SELECT CASE PIL
CASE 1
JMLRECPEM = LOF(4) / LEN(PEM)
PEM.NO = PEL.NO
PEM.NAMA = PEL.NAMA
PEM.BULAN = BULAN
PEM.TAHUN = TAHUN
PEM.JMLPAKAI = LTRIM$(STR$(JMLPAKAI))
PEM.TOTAL = LTRIM$(STR$(TOTAL))
PUT #4, JMLRECPEM + 1, PEM
LOCATE 22, 21: COLOR 2, 7: PRINT "SIMPAN DATA BARU SUKSES"
INPUT "", XX
LOP = 1
CALL MENUT
CASE 2
LOP = 1
CALL MENUT
END SELECT
END SELECT
LOOP
END IF
ELSE
LOCATE 10, 21: COLOR 4, 7: PRINT "DATA : "; UCASE$(CARI); " TIDAK DITEMUKAN"
INPUT "", XX
CALL MENUT
END IF
END IF
END SUB
SUB settinghrg
DIM CEK AS STRING
DIM PIL AS INTEGER
DIM JMLREC AS INTEGER
DIM JWB(2) AS STRING
DIM LOP AS INTEGER
DIM cmd AS STRING
JWB(1) = "
JWB(2) = "
PIL = 1
LOCATE 5, 21: COLOR 14, 2: PRINT " SETTING HARGA TAGIHAN/METER "
JMLREC = LOF(3) / LEN(SETT)
LOCATE 7, 21: COLOR 2, 0: PRINT "HARGA PER METER Rp : "
IF JMLREC = 0 THEN
LOCATE 7, 42: COLOR 2, 14: PRINT "BELUM TERSETTING"
ELSE
GET #3, 1, SETT
LOCATE 7, 42: COLOR 2, 14: PRINT SETT.HARGA
END IF
LOCATE 8, 21: COLOR 2, 0: PRINT "UPDATE HARGA Rp : "
G:
LOCATE 8, 42: COLOR 2, 14: INPUT "", SETT.HARGA
IF SETT.HARGA = " " THEN
LOCATE 8, 42: COLOR 4, 7: PRINT "INPUTKAN NOMINAL DAHULU"
INPUT "", XX
LOCATE 8, 42: COLOR 4, 0: PRINT " "
GOTO G
ELSE
FOR I = 1 TO LEN(RTRIM$(LTRIM$(SETT.HARGA)))
CEK = MID$(SETT.HARGA, I, 1)
IF CEK <> "0" AND CEK <> "1" AND CEK <> "2" AND CEK <> "3" AND CEK <> "4" AND CEK <> "5" AND CEK <> "6" AND CEK <> "7" AND CEK <> "8" AND CEK <> "9" THEN
LOCATE 8, 42: COLOR 4, 7: PRINT "INPUTAN HARUS BERUPA ANGKA"
INPUT "", XX
LOCATE 8, 42: COLOR 4, 0: PRINT " "
GOTO G
END IF
NEXT
END IF
LOCATE 12, 21: COLOR 2, 0: PRINT "APAKAH AKAN DISIMPAN ? "
LOCATE 12, 45: COLOR 4, 7: PRINT JWB(1)
LOCATE 12, 52: COLOR 14, 2: PRINT JWB(2)
LOP = 0
DO WHILE LOP <> 1
cmd = INKEY$
SELECT CASE cmd
CASE CHR$(0) + CHR$(77)
LOCATE 12, 45: COLOR 14, 2: PRINT JWB(1)
LOCATE 12, 52: COLOR 4, 7: PRINT JWB(2)
PIL = 2
CASE CHR$(0) + CHR$(75)
LOCATE 12, 45: COLOR 4, 7: PRINT JWB(1)
LOCATE 12, 52: COLOR 14, 2: PRINT JWB(2)
PIL = 1
CASE CHR$(13)
SELECT CASE PIL
CASE 1
PUT #3, 1, SETT
LOCATE 22, 21: COLOR 2, 7: PRINT "SIMPAN DATA BARU SUKSES"
INPUT "", XX
LOP = 1
CALL MENUT
CASE 2
LOP = 1
CALL MENUT
END SELECT
END SELECT
LOOP
END SUB
SUB TAMPIL
DIM JMLREC AS INTEGER
COLOR 2, 0
CLS
CALL KOTAK(1, 2, 3, 78, 2)
CALL KOTAK(4, 2, 23, 78, 2)
COLOR 7
CALL TENGAH(2, "MANAJEMEN DATA PEMBAYARAN PDAM")
JMLREC = LOF(1) / LEN(PEL)
LOCATE 5, 3: COLOR , 7: PRINT " "
LOCATE 5, 4: COLOR 2, 7: PRINT "NO DAFTAR"
LOCATE 5, 16: COLOR 2, 7: PRINT "NAMA PELANGGAN"
LOCATE 5, 35: COLOR 2, 7: PRINT "ALAMAT"
LOCATE 5, 65: COLOR 2, 7: PRINT "NO TELPON"
COLOR , 0
IF JMLREC > 0 THEN
CALL GRSBAWAH
IF JMLREC > 17 THEN
LOCATE 10, 25: COLOR 4, 7: PRINT "HANYA MAMPU 17 RECORD PERTAMA"
INPUT "", XX
CALL MENUS
ELSE
FOR I = 1 TO JMLREC
GET #1, I, PEL
LOCATE 5 + I, 4: COLOR 2, 0: PRINT PEL.NO
LOCATE 5 + I, 16: COLOR 2, 0: PRINT UCASE$(PEL.NAMA)
LOCATE 5 + I, 35: COLOR 2, 0: PRINT UCASE$(PEL.ALAMAT)
LOCATE 5 + I, 65: COLOR 2, 0: PRINT UCASE$(PEL.TLP)
NEXT
INPUT "", XX
CALL MENUS
END IF
ELSE
LOCATE 10, 25: COLOR 4, 7: PRINT "TIDAK ADA DATA YANG DITAMPILKAN"
INPUT "", XX
CALL MENUS
END IF
END SUB
SUB TENGAH (baris AS INTEGER, teks AS STRING)
LOCATE baris, (80 - LEN(teks)) \ 2: PRINT teks
END SUB
0 comments:
Post a Comment