Anda di halaman 1dari 19

DBPLUS : PROGRAM PENCIPTA dBASE III Plus

Oleh :

Abdullah M. Jaubah

Pendahuluan

Studi tentang Sistem Informasi Manajemen mengandung pembahasan mengenai databse management
system dan pembahasan mengenai database. Para pengajar Sistem Informasi Manajemen akan sulit
menjelaskan mengenai database management system dan database jika mereka tidak menguasai
pemrograman dengan sistem manajemen database seperti dbase III Plus, Foxbase, FoxPro, dan
sebagainya. Penulis, pada tahun 1990 telah menyusun paket program Dbase III Plus yang dapat
dipakai untuk mencipta program-program aplikasi dBASE III Plus secara otomatis dan kemudian
diperbaiki pada tahun 1994. Paket program ini dinamakan DBPLUS.

Pembahasan ini akan mengarah pada pemakaian DBPLUS, walau pemakaian dBASE III Plus di
Indonesia sekarang sudah sangat langka, sebagaimana tercermin dalam buku-buku dBASE sudah
tidak tersedia pada berbagai toko buku di Indonesia.

DBPLUS

Pemakaian DBPLUS dapat dilakukan sebagai berikut :

DBPLUS diaktifkan. Langkah ini akan menyajikan kotak dialog sebagai berikut :

Tombol Y ditekan. Langkah ini akan menyajikan kotak dialog informasi sebagai berikut :

1
Tombol Y ditekan. Langkah ini akan menyajikan kotak dialog sebagai berikut :

Tombol Y ditekan. Langkah ini akan menyajikan kotak dialog sebagai berikut :

2
Pengisian penggerak piring magnetik yang digunakan di sini adalah D. Tombol D ditekan.
Pengg3erak piring magnetik penyimpan program yang tercipta diisi D dengan menekan tombol D.
Singkatan dimasukkan misalkan TAGI dan tombol ditekan. Langkah-langkah tersebut dapat disajikan
sebagai berikut :

Tombol ditekan sehingga kotak dialog disajikan sebagai berikut :

Pengisian Tagihan, Tagihan, Penagihan Piutang Para Pelanggan dimasukkan dan tombol Enter
ditekan. Langkah ini akan menyajikan kotak dialog sebagai berikut :

3
Pengisian dilakukan pada kolom berwarna merah maron dengan Tagihan dan Tagihan. Langkah ini
akan menyajikan kotak dialog sebagai berikut :

Unsur data kunci dimasukkan Nama dan tombol Enter ditekan. Langkah ini akan menyajikan
informasi sebagai berikut :

4
Tombol Y ditekan. Langkah ini juga akan menyajikan informasi sebagai berikut :

Tombol Y ditekan. Langkah ini akan menyajikan informasi sebagai berikut :

Alamat diketik dan tombol Enter ditekan 14 kali. Langkah ini akan menyajikan informasi sebagai
berikut :

5
Tombol Y ditekan. Langkah ini akan menyajikan kotak dialog informasi tentang pengisian laporan-
laporan yang akan dicakup. Jumlah laporan yang akan dicakup adalah 8 macam laporan. Tombol Y
ditekan. Langkah ini akan menyajikan kotak dialog untuk mencipta laporan-laporan.

Pengetikan laporan-laporan ini setelah selesai tombol Enter ditekan sehingga kotak dialog untuk
melakukan pengujian duplikasi disajikan sebagai berikut :

Tombol Y ditekan sehingga kotak dialog untuk pengujian duplikasi disajikan sebagai berikut :

6
Tombol ditekan dua kali setelah Alamat selesai diketik. Langkah ini akan mencipta beberapa program
aplikasi sebagai berikut :

************************************************************
* Nama Program : Tagihan.PRG *
* Nama Menu : PENAGIHAN PIUTANG PARA PELANGGAN *
* Nama Penulis : Abdullah, S.E.,M.M. *
* Hak Cipta : Hak cipta dilindungi oleh Udang-undang.*
* Tanggal : 1 Januari 1999. *
* Versi : 1.0 *
* Catatan : Menu utama sebagai dasar pelaksanan. *
************************************************************
* SET DEFAULT TO D :
SET TALK OFF
SET HEADING OFF
SET STATUS OFF
SET SAFETY OFF
SET BELL OFF
* SET COLOR TO WB+/B,W+/BW,BB
IF ISCOLOR()
* SET COLOR TO BB+/BB,N/BG,WB
ENDIF
CLEAR
ATAS = 1
KIRI = 1
BAWAH = 23
KANAN = 79
DO WHILE ATAS < 12
@ ATAS, KIRI TO BAWAH, KANAN DOUBLE
ATAS = ATAS + 1
BAWAH = BAWAH - 1
KIRI = KIRI + 2
KANAN = KANAN - 2
ENDDO
ATAS = 11
KIRI = 21
BAWAH = 13

7
KANAN = 59
IF ISCOLOR()
* SET COLOR TO BB+/BB,N/BG,BB
ENDIF
DO WHILE ATAS > 0
@ ATAS, KIRI TO BAWAH, KANAN
ATAS = ATAS - 1
BAWAH = BAWAH + 1
KIRI = KIRI - 2
KANAN = KANAN + 2
ENDDO
PESAN = " PROGRAM PENERAPAN DICIPTA dBPLUS "
@ 12,22 GET PESAN
CLEAR GETS
HITUNG = 1
DO WHILE HITUNG < 1000
HITUNG = HITUNG + 1
ENDDO
* Penciptaan garis dengan peubah Garis
Garis = REPLICATE("_",80)
CLEAR
IF ISCOLOR()
SET COLOR TO GR+/B,W+/BR,RB
ENDIF
@ 1,1 TO 3,78 DOUBLE
IF ISCOLOR()
SET COLOR TO R+*/BG,R+/B,RB
ENDIF
@ 2, 20 SAY " *** PENAGIHAN PIUTANG PARA PELANGGAN ***"
IF ISCOLOR()
SET COLOR TO GR+/B,W+/BR,R
ENDIF
?
?
?
?
?
Yatak = " "
@ Row()+2,13 SAY " Apakah dilanjutkan ?(Y/N)";
GET Yatak PICTURE "!"
READ
IF Yatak # "Y"
CANCEL
ENDIF
* Penyajian menu dan peluang pemilihan.
Pilih = " "
USE Tagihan
*
INDEX ON UPPER(NAMA)+UPPER(ALAMAT) TO TEMP
DO WHILE Pilih # "X"
CLEAR
IF ISCOLOR()
SET COLOR TO GB+/B,W+/B,B
ENDIF
@ 1,1 TO 3,78 DOUBLE
IF ISCOLOR()
SET COLOR TO R+*/B,R+/B,B
ENDIF

8
@ 2, 20 SAY " *** PENAGIHAN PIUTANG PARA PELANGGAN ***"
IF ISCOLOR()
SET COLOR TO BR+/B,W+/BR,B
ENDIF

TEXT

1. PENAMBAHAN DATA BARU

2. PENCETAKAN LAPORAN

3. PERBAIKAN DATA

4. PENGHAPUSAN DATA

5. PENGUJIAN DUPLIKASI

6. PENYAJIAN DATA

X. PELAKSANAAN SELESAI
ENDTEXT
?
@ 04,20 TO 20,60 DOUBLE
@ 21,20 TO 23,60 DOUBLE
@ 22,25 SAY " PILIHAN DIMASUKKAN " GET Pilih PICT "!"
READ
*
SET COLOR TO GR+/B,W+/BR,RB
* Langkah ke arah program yang serasi.
DO CASE
CASE Pilih = "1"
SET FORMAT TO TAGIHAN
APPEND
CLOSE FORMAT
CASE Pilih = "2"
DO TagiLAP
CASE Pilih = "3"
DO TagiSUN
CASE Pilih = "4"
DO TagiHAP
CASE Pilih = "5"
DO TagiGAN
CASE Pilih = "6"
BROWSE
ENDCASE
ENDDO
CLOSE DATABASES
* QUIT

*************************************************************
* Nama Program : TagiLAP *
* Nama Pencipta : Abdullah, S.E., M.M. *
* Hak Cipta : Hak cipta dilindungi oleh Undang-undang.*
* Tanggal : 1 Januari 1999. *
* Versi : 1.0 *

9
* Catatan : Program untuk mencetak laporan. *
* Penentuan sortasi dan syarat pencarian, *
* kemudian mencetak laporan yang serasi. *
*************************************************************
USE Tagihan
Garis = REPLICATE("_",80)
CLEAR
@ 1,1 SAY "Pemilihan Laporan"
@ 2,0 SAY Garis
*
?
?
TEXT

1. Laporan 1

2. Laporan 2

3. Laporan 3

4. Laporan 4

5. Laporan 5

6. Laporan 6

7. Laporan 7

8. Laporan 8

X. KOSONG (Kembali ke Menu Utama)


ENDTEXT
*
MPilih = " "
@ 1,1 SAY "Pilihan dimasukkan " GET MPilih PICT "!"
READ
*
IF MPilih = "X"
RETURN
ENDIF
* Pertanyaan tentang urutan sortasi.
CLEAR
@ 1,1 SAY "Peluang Sortasi :"
@ 2,0 SAY Garis
?
?
TEXT

ENDTEXT
*
SPilih = 0
@ 24,1 SAY "Pilihan dimasukkan : " GET SPilih PICTURE "9"
READ
*
* Penentuan urutan sortasi yang serasi.
DO CASE

10
ENDCASE
* Penyajian daftar pertanyaan yang dibutuhkan.
CLEAR
Kosong = " "
@ 5,2 SAY "Pencetakan A dan Q pertanyaan" GET Kosong PICT "!"
READ
IF Kosong = "Q"
MODIFY QUERY Tagihan
SET FILTER TO FILE Tagihan
ENDIF
*
* Pencetakan laporan menurut pilihan.
CLEAR
STORE " " TO Cetak, PMacro
*
@ 15,5 SAY "Penyaluran data ke pencetak ? (Y/N) : "
@ 15, 61 GET Cetak PICT "!"
READ
IF Cetak = "Y"
PMacro = "TO PRINT"
WAIT "Persiapkan pencetak dan tekan tombol"
ENDIF
*
* Catatan bertanda dihapus dibiarkan.
SET DELETED ON
CLEAR
*
DO CASE
*
CASE MPilih = "1"
DO Latih27.prg
CASE MPilih = "2"
DO Latih28A.prg
CASE MPilih = "3"
DO Latih28B.prg
CASE MPilih = "4"
DO Latih30.prg
CASE MPilih = "5"
DO Latih31.prg
CASE MPilih = "6"
DO Latih32.prg
CASE MPilih = "7"
DO Latih33.prg
CASE MPilih = "8"
DO Latih34.prg
*
ENDCASE
*
* Pelaksanaan selesai, kemali ke menu utama.
IF Cetak = "Y"
EJECT
ENDIF
SET DELETED OFF
SET FILTER TO
USE Tagihan
WAIT "Tombol ditekan, kembali ke menu..."
RETURN

11
*************************************************************
* Nama Program : TagiSUN *
* Nama Pencipta : Abdullah, S.E., M.M. *
* Hak Cipta : Hak cipta dilindungi oleh Undang-undang.*
* Tanggal : 1 Januari 1999. *
* Versi : 1.0 *
* Catatan : Program untuk perbaikan kesalahan *
* Perbaikan dan penyesuaian data. *
* Penentuan perputaran untuk perbaikan kesalahan *
*************************************************************
USE Tagihan
INDEX ON UPPER(NAMA)+UPPER(ALAMAT) TO %%BNAME2
Lagi = .T.
DO WHILE Lagi
CLEAR
Garis = REPLICATE("_",80)
@ 1,1 SAY "PERBAIKAN DATA"
@ 2,0 SAY Garis
Teliti = SPACE(10)
@ 10,5 SAY "Pemasukan ke perbaikan"
@ 12,5 SAY "atau tekan tombol <--' untuk keluar " GET Teliti
READ

* Keluar dari perbaikan jika tidak ada yang dimasukkan.


IF Teliti = " "
Lagi = .F.
LOOP
ENDIF
Teliti = UPPER(TRIM(Teliti))
* Catatan sedang dicari.
SEEK Teliti
COUNT WHILE UPPER(Nama) = Teliti TO Berapa
IF Berapa > 1
@ 20,2 SAY STR(Berapa,3)+"catatan diketemukan"
@ 22,1 SAY "Tombol PgDn, PgUp ditekan agar layar bergerak"
?
WAIT "Tombol ditekan untuk perbaikan....."
ENDIF (howmany)
SEEK Teliti
* Perbaikan dilakukan jika catatan diketemukan.
IF FOUND()
SET FORMAT TO TAGIHAN
EDIT
CLOSE FORMAT
ELSE
@ 22,0
? "Catatan tidak diketemukan : ",Teliti
?? CHR(7)
WAIT
ENDIF

ENDDO

RETURN

*************************************************************
* Nama Program : TagiHAP *

12
* Nama Penulis : Abdullah, S.E., M.M. *
* Hak cipta : Hak cipta dilindngi oleh Undang-undang. *
* Tanggal : 1 Januari 1999. *
* Versi : 1.0 *
* Catatan : Program Penghapusan Catatan. *
* Penghapusan data: PENAGIHAN PIUTANG PARA PELANGGAN
*************************************************************

Garis = REPLICATE("_",80)
CLEAR
@ 1,1 SAY "Penghapusan Data"
@ 2,0 SAY Garis
* Nomor catatan tertinggi dicari.
USE Tagihan
GO BOTTOM
Max = RecNo()
INDEX ON UPPER(NAMA)+UPPER(ALAMAT) TO %%DBNAME2
* Pertanyaan tentang nomor catatan.
Lagi = .T.
DO WHILE Lagi
@ 3,0 CLEAR
Teliti = SPACE(10)
@ 10,2 SAY "Pemasukan untuk penghapusan "
@ 12,2 SAY "atau <--' untuk keluar " ;
GET Teliti
READ
* Pemasukan tanggapan.
DO CASE
* Penyajian jika tidak ada.
CASE Teliti # " "
Teliti = UPPER(TRIM(Teliti))
SEEK Teliti

* Lainnya akan keluar.


OTHERWISE
Lagi = .F.
LOOP
ENDCASE

* Keyakinan bahwa catatan itu ada.


IF .NOT. FOUND()
@ 20,0 CLEAR
? "Catatan tidak diketemukan",Teliti
?? CHR(7)
WAIT "Tombol ditekan, mencoba lagi..."
LOOP
ENDIF
*
* Perhitungan dan penyajian dilakukan jika catatan diketemukan.
COUNT WHILE UPPER(Nama) = Teliti TO Berapa
IF Berapa > 1
@ 3,0 CLEAR
SEEK Teliti
DISPLAY Nama,Alamat,Banyak,Harga_sat,Lunas WHILE ;
UPPER(Nama) = Teliti
RecNo = 0
@ 23,2 SAY "Nomor catatan manakah yang akan dihapus ?";
GET RecNo PICTURE "9999"

13
READ
IF RecNo <= Max .AND. RecNo > 0
DELETE RECORD RecNo
ELSE
@ 20,0 CLEAR
@ 22,1 SAY "Catatan tersebut belum ada: "+STR(RecNo,4)
? CHR(7)
WAIT "Tombol ditekan untuk mencoba lagi..."
ENDIF
ELSE
SEEK Teliti
@ 3,0 CLEAR
DISPLAY Nama,Alamat,Banyak,Harga_sat,Lunas
Mungkin = " "
@ 23,1 SAY "Apakah catatan ini ingin dihapus? (Y/N) ";
GET Mungkin PICTURE "!"
READ
IF UPPER(Mungkin) = "Y"
DELETE
ENDIF
ENDIF
ENDDO
*
* Pengujian akhir sebelum penghapusan secara permanen.
* Perhitungan catatan bertanda penghapusan.
* dan penyimpanan dalam peubah ingatan No_Dels
COUNT FOR DELETED() TO No_Dels
*
Permisi = "N"
DO WHILE Permisi = "N" .AND. No_Dels > 0
@ 3,0 CLEAR
?
DISPLAY Nama,Alamat,Banyak,Harga_sat,Lunas FOR DELETED()
?
?
RecNo = 0
@ 20,0 CLEAR
@ 23,5 SAY "Penghapusan catatan bertanda bintang (nomor catatan):
";
GET RecNo PICT "99999"
READ
IF RecNo > 0 .AND. RecNo <= Max
GOTO RecNo
IF DELETED()
PACK
No_Dels = No_Dels - 1
ENDIF
ELSE
@ 20,0 CLEAR
@ 22,1 SAY "Catatan itu tidak ada: "+STR(RecNo,4)
? CHR(7)
WAIT
ENDIF

ENDDO

PACK

14
RETURN

*************************************************************
* Nama Program : TagiGAN *
* Nama Penulis : Abdullah, S.E., M.M. *
* Hak cipta : Hak cipta dilindngi oleh Undang-undang. *
* Tanggal : 1 Januari 1999. *
* Versi : 1.0 *
* Catatan : Penapis duplikasi arsip data. *
*************************************************************

SET HEADING OFF


SET DELETED ON
*
* Pertanyan tentang perangkat pencetak.
CLEAR
Garis = REPLICATE("_",80)
@ 1,1 SAY "Pengujian atas Duplikasi :"
@ 2,0 SAY Garis
Cetak = " "
@ 10,5 SAY "Pencetakan duplikasi yang ada? (Y/N) ";
GET Cetak PICTURE "!"
READ
*
* Pencetak dinyalakan, jika perlu.
IF Cetak = "Y"
WAIT "Pencetak dipersiapkan dan tombol ditekan, dilanjutkan."
SET PRINT ON
ENDIF
*
* Layar penampil dibersihkan dan judul disajikan.
@ 3,0 CLEAR
USE Tagihan
? "Persiapan sortasi untuk menguji duplikasi..."
INDEX ON UPPER(NAMA)+UPPER(ALAMAT) TO %%DBName2
*
CLEAR
? "Duplikasi yang mungin" + SPACE(38) + DTOC(DATE())
? Garis
?
?
*
* Perputaran melalui arsip data sampai dengan akhir arsip, dan
* membandingkan catatan-catatan berdasarkan unsur data tertentu.
*
RecCheck = " UPPER(NAMA)+UPPER(ALAMAT) "
DO WHILE .NOT. EOF()
Banding = &RecCheck
SKIP
IF &RecCheck = Banding
SKIP -1
LIST WHILE &RecCheck = Banding;
NAMA, ALAMAT,Nama,Banyak,Harga_sat,Lunas
?
ENDIF
ENDDO
*

15
* Pelaksanan selesai dan kembali ke menu utama.
IF Cetak = "Y"
EJECT
SET PRINT OFF
ENDIF
SET DELETE OFF
* Pengaturan kembali arsip berindek dan kembali.
USE Tagihan

WAIT "Tombol ditekan, kembali ke menu..."


RETURN

Pelaksanaan Hasil

Pelaksanaan hasil-hasil yang dicipta sebagaimana disajikan di atas dilakukan dalam dBASE III Plus
dengan cara memakai perintah Do Tagihan. Langkah ini akan menyajikan menu Tagihan sebagai
berikut :

Menu ini dapat digabung dengan menu-menu lain dengan cara mencipta menu dari suatu menu yang
telah dicipta. Bentuk menu utama adalah sebagai berikut :

************************************************************
* Nama Program : Menu.PRG *
* Nama Menu : MENU UTAMA *
* Nama Penulis : Abdullah, S.E.,M.M. *
* Hak Cipta : Hak cipta dilindungi oleh Udang-undang.*
* Tanggal : 1 Januari 1999. *
* Versi : 1.0 *
* Catatan : Menu utama sebagai dasar pelaksanan. *
************************************************************
* SET DEFAULT TO C :
SET TALK OFF
SET HEADING OFF
SET STATUS OFF
SET SAFETY OFF
SET BELL OFF

16
* SET COLOR TO WB+/B,W+/BW,BB
IF ISCOLOR()
* SET COLOR TO BB+/BB,N/BG,WB
ENDIF
CLEAR
ATAS = 1
KIRI = 1
BAWAH = 23
KANAN = 79
DO WHILE ATAS < 12
@ ATAS, KIRI TO BAWAH, KANAN DOUBLE
ATAS = ATAS + 1
BAWAH = BAWAH - 1
KIRI = KIRI + 2
KANAN = KANAN - 2
ENDDO
ATAS = 11
KIRI = 21
BAWAH = 13
KANAN = 59
IF ISCOLOR()
* SET COLOR TO BB+/BB,N/BG,BB
ENDIF
DO WHILE ATAS > 0
@ ATAS, KIRI TO BAWAH, KANAN
ATAS = ATAS - 1
BAWAH = BAWAH + 1
KIRI = KIRI - 2
KANAN = KANAN + 2
ENDDO
PESAN = " PROGRAM PENERAPAN DICIPTA dBPLUS "
@ 12,22 GET PESAN
CLEAR GETS
HITUNG = 1
DO WHILE HITUNG < 1000
HITUNG = HITUNG + 1
ENDDO
* Penciptaan garis dengan peubah Garis
Garis = REPLICATE("_",80)
CLEAR
IF ISCOLOR()
SET COLOR TO GR+/B,W+/BR,RB
ENDIF
@ 1,1 TO 3,78 DOUBLE
IF ISCOLOR()
SET COLOR TO R+*/BG,R+/B,RB
ENDIF

@ 2,25 SAY " *** M E N U U T A M A *** "


IF ISCOLOR()
SET COLOR TO GR+/B,W+/BR,R
ENDIF
?
?
?
?
?
Yatak = " "

17
@ Row()+2,13 SAY " Apakah dilanjutkan ?(Y/N)";
GET Yatak PICTURE "!"
READ
IF Yatak # "Y"
CANCEL
ENDIF
* Penyajian menu dan peluang pemilihan.
Pilih = " "

DO WHILE Pilih # "X"


CLEAR
IF ISCOLOR()
SET COLOR TO GB+/B,W+/B,B
ENDIF
@ 1,1 TO 3,78 DOUBLE
IF ISCOLOR()
SET COLOR TO R+*/B,R+/B,B
ENDIF
@ 2, 25 SAY " *** M E N U U T A M A *** "
IF ISCOLOR()
SET COLOR TO BR+/B,W+/BR,B
ENDIF

TEXT

1. MENU MOBIL

2. MENU NILAI HASIL UJIAN

3 MENU TAGIHAN PIUTANG

X. PELAKSANAAN SELESAI

ENDTEXT
?
@ 04,20 TO 20,60 DOUBLE
@ 21,20 TO 23,60 DOUBLE
@ 22,25 SAY " PILIHAN DIMASUKKAN " GET Pilih PICT "!"
READ
*
SET COLOR TO GR+/B,W+/BR,RB
* Langkah ke arah program yang serasi.
DO CASE
CASE Pilih = "1"
DO MOBIL
CASE Pilih = "2"
DO MAHA
CASE Pilih = "3"
DO TAGIHAN

18
ENDCASE
ENDDO
DO MENU

Menu utama ini mencakup tiga kelompok submenu yaitu submenu Mobil, submenu Nilai Hasil Ujian,
dan submenu Tagihan Piutang. Tiap submenu dapat mencakup delapan laporan sehingga tiga
submenu akan dapat mencakup 24 macam laporan. Penambahan submenu dapat dilakukan dengan
cara-cara dan langkah-langkah sebagaimana disajikan di atas. Menu utama dapat juga disusun dalam
beberapa submenu dan tiap sub menu dapat mencakup tiga sub-submenu. Langkah ini dilakukan
sejalan dengan konsep pemrograman terstruktur atas pemrograman bersifat relational. Pelaksanaan
menu utama ini akan menyajikan peluang-peluang pilihan sebagai berikut :

Rangkuman

dBASE III Plus di Indonesia telah mengalami kematian akan tetapi pembahasan mengenai database
management systems dan database masih terkandung dalam buku-buku tentang sistem informasi
manajemen. Penyajian di atas untuk mengungkap perbedaan antara sistem manajemen database dan
database itu sendiri. Sistem manajemen database adalah perangkat lunak yang biasa dipakai untuk
database sedangkan database sendiri merupakan arsip data.

Sistem manajemen database seperti dBASE III Plus dapat dipakai untuk mengolah arsip data yang
biasa disebut database dan dalam dBASE III Plus arsip data ini diberi kepanjangan .dbf misalkan arsip
data Tagihan adalah Tagihan.dbf.

Penulis akhirnya mengharap kritik dari para pembaca.

Permata Depok Regency, 20 Maret 2017.

19