program pencipta program aplikasi dbase iii plus
DESCRIPTION
APLIKASI DBASETRANSCRIPT
PROGRAM PENCIPTA PROGRAM APLIKASI DBASE III PLUS
Oleh :
Abdullah M. Jaubah
Pendahuluan
Usaha mencipta program yang dapat dipakai untuk mencipta program aplikasi Dbase III Plus
telah dilakukan sejak tahun 1992 sampai dengan tahun 1994. Perubahan-perubahan atas
program-program yang dicipta dilakukan sampai dengan tahun 1999. Langkah ini telah
menghasilkan paket program DBPLUS.EXE yang dapat dipakai untuk mencipta program
aplikasi dBASE III Plus secara otomatis. Perkembangan dBase III Plus ke arah Dbase IV dan
Dbase V masih dapat memanfaatkan hasil dari DBPLUS.EXE akan tetapi perkembangan lebih
lanjut ke arah Virtual Dbase telah menghentikan pemakaian dbase non visual. Tulisan ini
disusun untuk mengenang kembali hasil yang dicipta oleh penulis dengan nama DBPLUS.EXE.
Pemakaian DBPLUS.EXE
Pemakaian DBPLUS.EXE akan menyajikan layar penampil sebagai berikut :
Tombol Y ditekan jika ingin melanjutkan. Langkah ini akan menyajikan layar penampil sebagai
berikut :
1
Tombol Y ditekan jika ingin meneruskan. Langkah ini akan menyajikan layar penampil sebagai
berikut :
Tombol Y ditekan jika ingin melanjutkan. Langah ini akan menyajikan layar penampil sebagai
berikut :
2
Arsip data dari paket program DBASE III Plus disimpan di mana. D dimasukkan jika arsip data
itu disimpan dalam lokasi D. Pengisian D, D, dan Maha dilakukan sehingga layar penampil di
atas berbentuk sebagai berikut :
Tombol Enter ditekan sehingga menyajikan layar penampil sebagai berikut :
3
Hal ini dialami karena arsip data tersebut pernah dipakai dan jika belum pernah dipakai maka
pengisian seperti contoh di atas perlu dilakukan. Tombol ditekan empat kali sehingga layar
penampil di bawah ini disajikan :
DATAMHS diketik dan DATMHS diketik kembali sehingga layar penampil di bawah ini disajikan.
4
Tombol Enter ditekan sehingga informasi lebih lanjut disajikan dalam layar penampil di bawah
ini :
Tombol Y ditekan jika ingin melanjutkan sehingga layar penampil di bawah ini disajikan.
5
Tombol Y ditekan jika ingin melanjutkan.
Beberapa arsip sortasi dapat dicipta akan tetapi di sini hanya dipakai satu arsip sortasi saja,
sehingga tombol Enter ditekan beberapa kali. Langkah ini akan menyajikan layar penampil
sebagai berikut :
6
Tombol Y ditekan jika ingin melanjutkan. Langkah ini akan menyajikan layar penampil sebagai
berikut :
Informasi di atas mencerminkan delapan peluang laporan dapat dipakai yaitu laporan berbentuk
arsip *.FRM, arsip *.LBL, dan arsip *.prg.. Tombol Y ditekan jika ingin melanjutkan. Langkah ini
akan menyajikan peluang sebagai berikut :
7
Perbaikan dapat dilakukan sehingga bentuk layar penampil di atas berubah menjadi layar
penampil seperti di bawah ini :
Tombol Enter ditekan beberapa kali karena hanya dua laporan saja yang dipakai. Langkah ini
akan menyajikan layar penampil sebagai berikut :
8
Tombol Y ditekan sehingga layar penampil untuk memasukkan pengujian duplikasi dapat
dicipta. Layar penampil ini adalah sebagai berikut :
Empat peluang pengujian duplikasi tersedia akan tetapi dua peluang saja yang dipakai. Tombol
Enter ditekan empat kali sehingga program aplikasi dicipta dan layar penampil menyajikan
9
informasi sebagai berikut :
Tombol Enter ditekan sehingga informasi disajikan seperti di bawah ini :
Tombol Enter ditekan sehingga pelaksanaan dilanjutkan dan layar penampil disajikan dalam
bentuk sebagai berikut :
10
Tombol ditekan lagi sehingga disajikan layar penampil sebagai berikut :
Tombol N ditekan untuk mengakhiri penciptaan program aplikasi.
Program Aplikasi
Langkah-langkah di atas telah mencipta beberapa dokumen, antara lain adalah dokumen
sebagai berikut :
11
************************************************************* Nama Program : Maha.PRG ** Nama Menu : LAPORAN MAHASISWA ** 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 OFFSET HEADING OFFSET STATUS OFFSET SAFETY OFFSET BELL OFF* SET COLOR TO WB+/B,W+/BW,BBIF ISCOLOR()* SET COLOR TO BB+/BB,N/BG,WBENDIFCLEARATAS = 1KIRI = 1BAWAH = 23KANAN = 79DO WHILE ATAS < 12 @ ATAS, KIRI TO BAWAH, KANAN DOUBLE ATAS = ATAS + 1 BAWAH = BAWAH - 1 KIRI = KIRI + 2 KANAN = KANAN - 2ENDDOATAS = 11KIRI = 21BAWAH = 13KANAN = 59IF ISCOLOR() * SET COLOR TO BB+/BB,N/BG,BBENDIFDO WHILE ATAS > 0 @ ATAS, KIRI TO BAWAH, KANAN ATAS = ATAS - 1 BAWAH = BAWAH + 1 KIRI = KIRI - 2 KANAN = KANAN + 2ENDDOPESAN = " PROGRAM PENERAPAN DICIPTA dBPLUS "@ 12,22 GET PESANCLEAR GETSHITUNG = 1DO WHILE HITUNG < 1000 HITUNG = HITUNG + 1ENDDO* Penciptaan garis dengan peubah GarisGaris = REPLICATE("_",80)
12
CLEARIF ISCOLOR() SET COLOR TO GR+/B,W+/BR,RBENDIF@ 1,1 TO 3,78 DOUBLEIF ISCOLOR() SET COLOR TO R+*/BG,R+/B,RBENDIF@ 2, 20 SAY " *** LAPORAN MAHASISWA ***"IF ISCOLOR() SET COLOR TO GR+/B,W+/BR,RENDIF?????Yatak = " "@ Row()+2,13 SAY " Apakah dilanjutkan ?(Y/N)";GET Yatak PICTURE "!"READIF Yatak # "Y" CANCELENDIF* Penyajian menu dan peluang pemilihan.Pilih = " "USE Datamhs*INDEX ON UPPER(NO_MHS)+UPPER(NAMA) TO TEMPDO 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, 20 SAY " *** LAPORAN MAHASISWA ***" IF ISCOLOR() SET COLOR TO BR+/B,W+/BR,B ENDIF
TEXT
1. PENAMBAHAN DATA BARU
2. PENCETAKAN LAPORAN
3. PERBAIKAN DATA
13
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 DATAMHS APPEND CLOSE FORMAT CASE Pilih = "2" DO MahaLAP CASE Pilih = "3" DO MahaSUN CASE Pilih = "4" DO MahaHAP CASE Pilih = "5" DO MahaGAN CASE Pilih = "6" BROWSE ENDCASEENDDOCLOSE DATABASESDO DASAR* QUIT
************************************************************** Nama Program : PegaLAP ** 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 mencetak laporan. ** Penentuan sortasi dan syarat pencarian, ** kemudian mencetak laporan yang serasi. **************************************************************USE PegawaiGaris = REPLICATE("_",80)CLEAR@ 1,1 SAY "Pemilihan Laporan"@ 2,0 SAY Garis*?
14
?TEXT
1. LAPORAN
X. KOSONG (Kembali ke Menu Utama)ENDTEXT*MPilih = " "@ 1,1 SAY "Pilihan dimasukkan " GET MPilih PICT "!"READ*IF MPilih = "X" RETURNENDIF* 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
ENDCASE* Penyajian daftar pertanyaan yang dibutuhkan.CLEARKosong = " "@ 5,2 SAY "Pencetakan A dan Q pertanyaan" GET Kosong PICT "!"READIF Kosong = "Q" MODIFY QUERY Pegawai SET FILTER TO FILE PegawaiENDIF** Pencetakan laporan menurut pilihan.CLEARSTORE " " TO Cetak, PMacro*@ 15,5 SAY "Penyaluran data ke pencetak ? (Y/N) : "@ 15, 61 GET Cetak PICT "!"READIF Cetak = "Y" PMacro = "TO PRINT" WAIT "Persiapkan pencetak dan tekan tombol"
15
ENDIF** Catatan bertanda dihapus dibiarkan.SET DELETED ONCLEAR*DO CASE* CASE MPilih = "1" REPORT FORM PEGAWAI.FRM &PMacro*ENDCASE** Pelaksanaan selesai, kemali ke menu utama.IF Cetak = "Y" EJECTENDIFSET DELETED OFFSET FILTER TOUSE PegawaiWAIT "Tombol ditekan, kembali ke menu..."RETURN*
************************************************************** Nama Program : MahaSUN ** 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 DatamhsINDEX ON UPPER(NO_MHS)+UPPER(NAMA) TO %%BNAME2Lagi = .T.DO WHILE Lagi CLEAR Garis = REPLICATE("_",80) @ 1,1 SAY "PERBAIKAN DATA" @ 2,0 SAY Garis Teliti = SPACE( 5) @ 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))
16
* Catatan sedang dicari. SEEK Teliti COUNT WHILE UPPER(No_mhs) = 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 DATAMHS EDIT CLOSE FORMAT ELSE @ 22,0 ? "Catatan tidak diketemukan : ",Teliti ?? CHR(7) WAIT ENDIF
ENDDO
RETURN
************************************************************** Nama Program : MahaHAP ** 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: LAPORAN MAHASISWA **************************************************************
Garis = REPLICATE("_",80)CLEAR@ 1,1 SAY "Penghapusan Data"@ 2,0 SAY Garis* Nomor catatan tertinggi dicari.USE DatamhsGO BOTTOMMax = RecNo()INDEX ON UPPER(NO_MHS)+UPPER(NAMA) TO %%DBNAME2* Pertanyaan tentang nomor catatan.Lagi = .T.DO WHILE Lagi @ 3,0 CLEAR Teliti = SPACE( 5) @ 10,2 SAY "Pemasukan untuk penghapusan " @ 12,2 SAY "atau <--' untuk keluar " ; GET Teliti
17
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(No_mhs) = Teliti TO Berapa IF Berapa > 1 @ 3,0 CLEAR SEEK Teliti DISPLAY No_mhs,Nama,Alamat,Tahap WHILE ; UPPER(No_mhs) = Teliti RecNo = 0 @ 23,2 SAY "Nomor catatan manakah yang akan dihapus ?"; GET RecNo PICTURE "9999" 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 No_mhs,Nama,Alamat,Tahap Mungkin = " " @ 23,1 SAY "Apakah catatan ini ingin dihapus? (Y/N) "; GET Mungkin PICTURE "!" READ IF UPPER(Mungkin) = "Y" DELETE ENDIF ENDIF
18
ENDDO** Pengujian akhir sebelum penghapusan secara permanen.* Perhitungan catatan bertanda penghapusan.* dan penyimpanan dalam peubah ingatan No_DelsCOUNT FOR DELETED() TO No_Dels*Permisi = "N"DO WHILE Permisi = "N" .AND. No_Dels > 0 @ 3,0 CLEAR ? DISPLAY No_mhs,Nama,Alamat,Tahap 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
RETURN
************************************************************** Nama Program : MahaGAN ** 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 OFFSET DELETED ON** Pertanyan tentang perangkat pencetak.CLEARGaris = REPLICATE("_",80)
19
@ 1,1 SAY "Pengujian atas Duplikasi :"@ 2,0 SAY GarisCetak = " "@ 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 ONENDIF** Layar penampil dibersihkan dan judul disajikan.@ 3,0 CLEARUSE Datamhs? "Persiapan sortasi untuk menguji duplikasi..."INDEX ON UPPER(NO_MHS)+UPPER(NAMA) 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(NO_MHS)+UPPER(NAMA) "DO WHILE .NOT. EOF() Banding = &RecCheck SKIP IF &RecCheck = Banding SKIP -1 LIST WHILE &RecCheck = Banding; NO_MHS, NAMA,No_mhs,Alamat,Tahap ? ENDIFENDDO** Pelaksanan selesai dan kembali ke menu utama.IF Cetak = "Y" EJECT SET PRINT OFFENDIFSET DELETE OFF* Pengaturan kembali arsip berindek dan kembali.USE Datamhs
WAIT "Tombol ditekan, kembali ke menu..."RETURN
Pelaksanaan Program Aplikasi
20
Program yang dicipta sebagaimana disajikan di atas dapat dilaksanakan dalam dBase III Plus
dengan cara .Do Maha sehingga layar penampil akan menyajikan peluang pilihan sebagai
berikut :
Menu ini dapat dipakai untuk menyusun menu terstruktur sehingga dapat mencakup berbagai
ragam program misalkan program nilai hasil ujian mahasiswa, program Manajemen Karyawan,
Manajemen Pengajar, Manajemen Keuangan, dan sebagainya. Menu terstruktur disusun
secara manual dari menu Utama dan disimpan dengan nama Dasar.Prg. Menu dasar ini adalah
sebagai berikut :
************************************************************* Nama Program : DASAR.PR ** Nama Menu : MENU DASAR ** 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 OFFSET HEADING OFFSET STATUS OFFSET SAFETY OFFSET BELL OFF* SET COLOR TO WB+/B,W+/BW,BBIF ISCOLOR()* SET COLOR TO BB+/BB,N/BG,WB
21
ENDIFCLEARATAS = 1KIRI = 1BAWAH = 23KANAN = 79DO WHILE ATAS < 12 @ ATAS, KIRI TO BAWAH, KANAN DOUBLE ATAS = ATAS + 1 BAWAH = BAWAH - 1 KIRI = KIRI + 2 KANAN = KANAN - 2ENDDOATAS = 11KIRI = 21BAWAH = 13KANAN = 59IF ISCOLOR() * SET COLOR TO BB+/BB,N/BG,BBENDIFDO WHILE ATAS > 0 @ ATAS, KIRI TO BAWAH, KANAN ATAS = ATAS - 1 BAWAH = BAWAH + 1 KIRI = KIRI - 2 KANAN = KANAN + 2ENDDOPESAN = " PROGRAM PENERAPAN DICIPTA dBPLUS "@ 12,22 GET PESANCLEAR GETSHITUNG = 1DO WHILE HITUNG < 1000 HITUNG = HITUNG + 1ENDDO* Penciptaan garis dengan peubah GarisGaris = REPLICATE("_",80)CLEARIF ISCOLOR() SET COLOR TO GR+/B,W+/BR,RBENDIF@ 1,1 TO 3,78 DOUBLEIF ISCOLOR() SET COLOR TO R+*/BG,R+/B,RBENDIF@ 2, 20 SAY " *** MENU DASAR ***"IF ISCOLOR() SET COLOR TO GR+/B,W+/BR,RENDIF?????Yatak = " "
22
@ Row()+2,13 SAY " Apakah dilanjutkan ?(Y/N)";GET Yatak PICTURE "!"READIF Yatak # "Y" CANCELENDIF* Penyajian menu dan peluang pemilihan.Pilih = " "USE Maha*INDEX ON UPPER(NAMA) TO TEMPDO 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, 20 SAY " *** MENU DASAR ***" IF ISCOLOR() SET COLOR TO BR+/B,W+/BR,B ENDIF
TEXT
1. MENU MAHASISWA
2. MENU UTAMA
3. MENU MOBIL
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 MAHA CASE Pilih = "2" DO UTAMA CASE Pilih = "3" DO MOBIL ENDCASE
23
ENDDOCLOSE DATABASESRETURN* QUIT
Menu Dasar ini mencakup menu Mahasiswa, menu Utama, dan menu Mobil. Menu
Utama mencakup laporan sebagai berikut :
Isi dari Latih30.Prg sampai dengan Latih36.Prg dapat disajikan sebagai berikut :
Latih30.prg adalah sebagai berikut :
********************************************************************* Nama Program : LATIH30.PRG* Penulis : Abdullah* Versi : dBASE III Plus* Pembuatan : 1999********************************************************************SET TALK OFFSET STATUS OFFSET SCOREBOARD OFFSET DATE ITALIANSET CENTURY ONSET COLOR TO W/BCLEARNO = 0MTOTAL = 0BATAS = 13HAL = 0GARIS1 = REPLICATE(CHR(196),79)GARIS2 = REPLICATE(CHR(205),79)
24
USE JUALBRGDO WHILE .NOT. EOF() SET COLOR TO W/B CLEAR HAL = HAL + 1 MHAL = 'Halaman : ' + LTRIM(STR(HAL)) @01,30 SAY 'DAFTAR PENJUALAN' @02,30 SAY 'PT GARUDA JAYA' @04,01 SAY 'TANGGAL : ' + DTOC(DATE()) @04,80-LEN(MHAL) SAY MHAL @05,01 SAY GARIS2 @06,01 SAY 'NO' @06,05 SAY 'NAMA' @06,17 SAY 'NAMA' @06,28 SAY 'BESAR' @06,45 SAY 'BESAR' @06,56 SAY 'BESAR' @06,67 SAY 'BESAR' @07,05 SAY 'PELANGGAN' @07,28 SAY 'PEMBELIAN' @07,45 SAY 'POTONGAN' @07,56 SAY 'DENDA' @07,67 SAY 'PEMBAYARAN' @08,01 SAY GARIS1 BRS = 9 SUBTOTAL = 0 DO WHILE .NOT. EOF() .AND. BRS <= BATAS DO CASE CASE NO_BRG = '1001' MBARANG = 'KOMPUTER' MHARGA = 2000000 MWAKTU = 30 CASE NO_BRG = '1002' MBARANG = 'PRINTER' MHARGA = 350000 MWAKTU = 14 CASE NO_BRG = '1003' MBARANG = 'DISKET' MHARGA = 25000 MWAKTU = 2 OTHERWISE MBARANG = 'SALAH' MHARGA = 0 MWAKTU = 0 ENDCASE MBELI = BANYAK * MHARGA MLAMA = TG_BAYAR - TG_BELI MDENDA = 0 IF MLAMA < MWAKTU MPOT = 0.02 * MBELI MDENDA = 0 ELSE MPOT = 0 MDENDA = 0.001 * (MLAMA - MWAKTU) * MBELI
25
ENDIF MBAYAR = MBELI - MPOT + MDENDA SUBTOTAL = SUBTOTAL + MBAYAR NO = NO + 1 @BRS,01 SAY NO PICT '##' @BRS,05 SAY NAMA @BRS,17 SAY MBARANG @BRS,28 SAY MBELI PICT 'Rp ##,###,###' @BRS,45 SAY MPOT PICT 'Rp ###,###' @BRS,56 SAY MDENDA PICT 'Rp ###,###' @BRS,67 SAY MBAYAR PICT 'Rp ##,###,###' BRS = BRS + 1 SKIPENDDOMTOTAL = MTOTAL + SUBTOTAL@BRS,01 SAY GARIS1@BRS+1,56 SAY 'SUBTOTAL : '@BRS+1,67 SAY SUBTOTAL PICT 'Rp ##,###,###'@BRS+2,01 SAY GARIS1IF EOF() @BRS+3,56 SAY 'TOTAL : ' @BRS+3,67 SAY MTOTAL PICT 'Rp ##,###,###' @BRS+4,01 SAY GARIS2ENDIFIF .NOT. EOF() @BRS+3,01 SET COLOR TO W/B WAIT SPACE(20) + 'TOMBOL DITEKAN AGAR PELAKSANAAN DILANJUTKAN' SET COLOR TOENDIFENDDOCLOSE DATABASEUSE JUALBRGSET TALK ON
Latih31.Prg adalah sebagai berikut :
********************************************************************* Nama Program : LATIH31.PRG* Penulis : Abdullah* Versi : dBASE III Plus* Pembuatan : 1999********************************************************************SET TALK OFFSET STATUS OFFSET SCOREBOARD OFFSET DATE ITALIANSET CENTURY ONSET COLOR TO W/BCLEARNO = 0MTOTAL = 0BATAS = 13
26
HAL = 0GARIS1 = REPLICATE(CHR(196),79)GARIS2 = REPLICATE(CHR(205),79)USE MOBILDO WHILE .NOT. EOF() SET COLOR TO W/B CLEAR HAL = HAL + 1 MHAL = 'Halaman : ' + LTRIM(STR(HAL)) @01,30 SAY 'DAFTAR PENYEWA MOBIL' @02,30 SAY 'PT GARUDA JAYA' @04,01 SAY 'TANGGAL : ' + DTOC(DATE()) @04,80-LEN(MHAL) SAY MHAL @05,01 SAY GARIS2 @06,01 SAY 'NO' @06,05 SAY 'NAMA' @06,20 SAY 'ALAMAT' @06,36 SAY 'MEREK' @06,46 SAY 'KELAS' @06,55 SAY 'LAMA' @06,67 SAY 'BIAYA' @07,05 SAY 'PENYEWA' @07,36 SAY 'MOBIL' @07,46 SAY 'MOBIL' @07,55 SAY 'SEWA' @08,01 SAY GARIS1 BRS = 9 SUBTOTAL = 0 DO WHILE .NOT. EOF() .AND. BRS <= BATAS DO CASE CASE KELAS = 1 MTARIF = 55000 CASE KELAS = 2 MTARIF = 47500 CASE KELAS = 3 MTARIF = 42500 OTHERWISE MTARIF = 0 ENDCASE MLAMA = TG_KBL - TG_PJM IF MLAMA <= 7 MBIAYA = MLAMA * MTARIF ELSE MBIAYA = 7 * MTARIF + (MLAMA - 7) * 0.95 * MTARIF ENDIF SUBTOTAL = SUBTOTAL + MBIAYA NO = NO + 1 @BRS,01 SAY NO PICT '##' @BRS,05 SAY NAMA @BRS,20 SAY ALAMAT @BRS,36 SAY MEREK @BRS,48 SAY KELAS PICT '#' @BRS,55 SAY MLAMA PICT '## hari' @BRS,67 SAY MBIAYA PICT 'Rp ##,###,###'
27
BRS = BRS + 1 SKIP ENDDO MTOTAL = MTOTAL + SUBTOTAL @BRS,01 SAY GARIS1 @BRS+1,55 SAY 'SUBTOTAL : ' @BRS+1,67 SAY SUBTOTAL PICT 'Rp ##,###,###' @BRS+2,01 SAY GARIS1 IF EOF() @BRS+3,55 SAY 'TOTAL : ' @BRS+3,67 SAY MTOTAL PICT 'Rp ##,###,###' @BRS+4,01 SAY GARIS2 ENDIF IF .NOT. EOF() @BRS+3,01 SET COLOR TO W/B WAIT SPACE(20) + 'TOMBOL DITEKAN AGAR PELAKSANAAN DILANJUTKAN' SET COLOR TO ENDIFENDDOCLOSE DATABASEUSE MOBILSET TALK ON
Latih32.Prg adalah sebagai berikut :
********************************************************************* Nama Program : LATIH32.PRG* Penulis : Abdullah* Versi : dBASE III Plus* Pembuatan : 1999********************************************************************SET TALK OFFSET STATUS OFFSET SCOREBOARD OFFSET DATE ITALIANSET CENTURY ONSET COLOR TO W/BCLEARNO = 0MTOTAL = 0BATAS = 13HAL = 0GARIS1 = REPLICATE(CHR(196),79)GARIS2 = REPLICATE(CHR(205),79)USE DISKETDO WHILE .NOT. EOF() SET COLOR TO W/B CLEAR HAL = HAL + 1 MHAL = 'Halaman : ' + LTRIM(STR(HAL)) @01,30 SAY 'DAFTAR PENYEWA MOBIL' @02,30 SAY 'PT GARUDA JAYA'
28
@04,01 SAY 'TANGGAL : ' + DTOC(DATE()) @04,80-LEN(MHAL) SAY MHAL @05,01 SAY GARIS2 @06,01 SAY 'NO' @06,05 SAY 'NAMA' @06,22 SAY 'KODE' @06,34 SAY 'KODE' @06,43 SAY 'JUMLAH' @06,55 SAY 'HARGA' @06,67 SAY 'HARGA' @07,05 SAY 'PELANGGAN' @07,22 SAY 'PELANGGAN' @07,34 SAY 'DISKET' @07,43 SAY 'BARANG' @07,55 SAY 'PER BOX' @07,67 SAY 'PEMBAYARAN' @08,01 SAY GARIS1 BRS = 9 SUBTOTAL = 0 DO WHILE .NOT. EOF() .AND. BRS <= BATAS MKODE_DISK = UPPER(KODE_DISK) MKODE_LGN = UPPER(KODE_LGN) DO CASE CASE MKODE_DISK = "HD" MHARGA = 35000 CASE MKODE_DISK = "DD" MHARGA = 20000 OTHERWISE MHARGA = 0 ENDCASE DO CASE CASE MKODE_LGN = "L1" MDISK = 0.20 CASE MKODE_LGN = "L2" MDISK = 0.15 CASE MKODE_LGN = "L3" MDISK = 0.05 OTHERWISE MDISK = 0 ENDCASE MBELI = BANYAK * MHARGA
IF BANYAK <= 50 MPOT = 0 ELSE MPOT = MDISK * (BANYAK - 50) * MHARGA ENDIF MBAYAR = MBELI - MPOT SUBTOTAL = SUBTOTAL + MBAYAR NO = NO + 1 @BRS,01 SAY NO PICT '##' @BRS,05 SAY NAMA @BRS,22 SAY KODE_LGN @BRS,34 SAY KODE_DISK
29
@BRS,41 SAY BANYAK PICT '#### box' @BRS,55 SAY MHARGA PICT 'Rp ##,###' @BRS,67 SAY MBAYAR PICT 'Rp ##,###,###' BRS = BRS + 1 SKIP ENDDO MTOTAL = MTOTAL + SUBTOTAL @BRS,01 SAY GARIS1 @BRS+1,55 SAY 'SUBTOTAL : ' @BRS+1,67 SAY SUBTOTAL PICT 'Rp ##,###,###' @BRS+2,01 SAY GARIS1 IF EOF() @BRS+3,55 SAY 'TOTAL : ' @BRS+3,67 SAY MTOTAL PICT 'Rp ##,###,###' @BRS+4,01 SAY GARIS2 ENDIF IF .NOT. EOF() @BRS+3,01 SET COLOR TO W/B WAIT SPACE(20) + 'TOMBOL DITEKAN AGAR PELAKSANAAN DILANJUTKAN' SET COLOR TO ENDIFENDDOCLOSE DATABASEUSE DISKETSET TALK ON
Latih33.Prg adalah sebagai berikut :
********************************************************************* Nama Program : LATIH33.PRG* Penulis : Abdullah* Versi : dBASE III Plus* Pembuatan : 1999********************************************************************SET TALK OFFSET STATUS OFFSET SCOREBOARD OFFSET DATE ITALIANSET CENTURY ONSET COLOR TO W/BCLEARNO = 0MTOTAL = 0BATAS = 13HAL = 0GARIS1 = REPLICATE(CHR(196),79)GARIS2 = REPLICATE(CHR(205),79)USE DISKETDO WHILE .NOT. EOF() SET COLOR TO W/B CLEAR HAL = HAL + 1 MHAL = 'Halaman : ' + LTRIM(STR(HAL)) @01,30 SAY 'DAFTAR PENJUALAN DISKET'
30
@02,30 SAY 'PT GARUDA JAYA' @04,01 SAY 'TANGGAL : ' + DTOC(DATE()) @04,80-LEN(MHAL) SAY MHAL @05,01 SAY GARIS2 @06,01 SAY 'NO' @06,05 SAY 'NAMA' @06,22 SAY 'KODE' @06,34 SAY 'KODE' @06,43 SAY 'JUMLAH' @06,55 SAY 'HARGA' @06,67 SAY 'HARGA' @07,05 SAY 'PELANGGAN' @07,22 SAY 'PELANGGAN' @07,34 SAY 'DISKET' @07,43 SAY 'BARANG' @07,55 SAY 'PER BOX' @07,67 SAY 'PEMBAYARAN' @08,01 SAY GARIS1 BRS = 9 SUBTOTAL = 0 DO WHILE .NOT. EOF() .AND. BRS <= BATAS MKODE_DISK = UPPER(KODE_DISK) MKODE_LGN = UPPER(KODE_LGN) DO CASE CASE MKODE_DISK = "HD" MHARGA = 35000 MBTSDISC = 40 CASE MKODE_DISK = "DD" MHARGA = 20000 MBTSDISC = 60 OTHERWISE MHARGA = 0 MDISK = 0 ENDCASE DO CASE CASE MKODE_LGN = "L1" MDISK = 0.20 CASE MKODE_LGN = "L2" MDISK = 0.15 CASE MKODE_LGN = "L3" MDISK = 0.05 OTHERWISE MDISK = 0 ENDCASE MBELI = BANYAK * MHARGA
IF BANYAK <= MBTSDISC MPOT = 0 ELSE MPOT = MDISK * MBELI ENDIF MBAYAR = MBELI - MPOT SUBTOTAL = SUBTOTAL + MBAYAR NO = NO + 1
31
@BRS,01 SAY NO PICT '##' @BRS,05 SAY NAMA @BRS,22 SAY KODE_LGN @BRS,34 SAY KODE_DISK @BRS,41 SAY BANYAK PICT '#### box' @BRS,55 SAY MHARGA PICT 'Rp ##,###' @BRS,67 SAY MBAYAR PICT 'Rp ##,###,###' BRS = BRS + 1 SKIP ENDDO MTOTAL = MTOTAL + SUBTOTAL @BRS,01 SAY GARIS1 @BRS+1,55 SAY 'SUBTOTAL : ' @BRS+1,67 SAY SUBTOTAL PICT 'Rp ##,###,###' @BRS+2,01 SAY GARIS1 IF EOF() @BRS+3,55 SAY 'TOTAL : ' @BRS+3,67 SAY MTOTAL PICT 'Rp ##,###,###' @BRS+4,01 SAY GARIS2 ENDIF IF .NOT. EOF() @BRS+3,01 SET COLOR TO W/B WAIT SPACE(20) + 'TOMBOL DITEKAN AGAR PELAKSANAAN DILANJUTKAN' SET COLOR TO ENDIFENDDOCLOSE DATABASEUSE DISKETSET TALK ON
Latih34.Prg adalah sebagai berikut :
********************************************************************* Nama Program : LATIH34.PRG* Penulis : Abdullah* Versi : dBASE III Plus* Pembuatan : 1999********************************************************************SET TALK OFFSET STATUS OFFSET SCOREBOARD OFFSET DATE ITALIANSET CENTURY ONSET COLOR TO W/BCLEARNO = 0MTOTAL = 0BATAS = 13HAL = 0GARIS1 = REPLICATE(CHR(196),79)GARIS2 = REPLICATE(CHR(205),79)USE DISKETDO WHILE .NOT. EOF() SET COLOR TO W/B
32
CLEAR HAL = HAL + 1 MHAL = 'Halaman : ' + LTRIM(STR(HAL)) @01,30 SAY 'DAFTAR PENJUALAN DISKET' @02,30 SAY 'PT GARUDA JAYA' @04,01 SAY 'TANGGAL : ' + DTOC(DATE()) @04,80-LEN(MHAL) SAY MHAL @05,01 SAY GARIS2 @06,01 SAY 'NO' @06,05 SAY 'NAMA' @06,22 SAY 'KODE' @06,34 SAY 'KODE' @06,43 SAY 'JUMLAH' @06,55 SAY 'HARGA' @06,67 SAY 'HARGA' @07,05 SAY 'PELANGGAN' @07,22 SAY 'PELANGGAN' @07,34 SAY 'DISKET' @07,43 SAY 'BARANG' @07,55 SAY 'PER BOX' @07,67 SAY 'PEMBAYARAN' @08,01 SAY GARIS1 BRS = 9 SUBTOTAL = 0 DO WHILE .NOT. EOF() .AND. BRS <= BATAS MKODE_DISK = UPPER(KODE_DISK) MKODE_LGN = UPPER(KODE_LGN) DO CASE CASE MKODE_DISK = "HD" MHARGA = 35000 MDISC = 0.10 CASE MKODE_DISK = "DD" MHARGA = 20000 MDISC = 0.05 OTHERWISE MHARGA = 0 MDISC = 0 ENDCASE DO CASE CASE MKODE_LGN = "L1" MBTSDISC = 80 CASE MKODE_LGN = "L2" MBTSDISC = 60 CASE MKODE_LGN = "L3" MBTSDISC = 40 OTHERWISE MBTSDISC = 0 ENDCASE MBELI = BANYAK * MHARGA
IF BANYAK <= MBTSDISC MPOT = 0 ELSE MPOT = MDISC * MBELI
33
ENDIF MBAYAR = MBELI - MPOT SUBTOTAL = SUBTOTAL + MBAYAR NO = NO + 1 @BRS,01 SAY NO PICT '##' @BRS,05 SAY NAMA @BRS,22 SAY KODE_LGN @BRS,34 SAY KODE_DISK @BRS,41 SAY BANYAK PICT '#### box' @BRS,55 SAY MHARGA PICT 'Rp ##,###' @BRS,67 SAY MBAYAR PICT 'Rp ##,###,###' BRS = BRS + 1 SKIP ENDDO MTOTAL = MTOTAL + SUBTOTAL @BRS,01 SAY GARIS1 @BRS+1,55 SAY 'SUBTOTAL : ' @BRS+1,67 SAY SUBTOTAL PICT 'Rp ##,###,###' @BRS+2,01 SAY GARIS1 IF EOF() @BRS+3,55 SAY 'TOTAL : ' @BRS+3,67 SAY MTOTAL PICT 'Rp ##,###,###' @BRS+4,01 SAY GARIS2 ENDIF IF .NOT. EOF() @BRS+3,01 SET COLOR TO W/B WAIT SPACE(20) + 'TOMBOL DITEKAN AGAR PELAKSANAAN DILANJUTKAN' SET COLOR TO ENDIFENDDOCLOSE DATABASEUSE DISKETSET TALK ON
Latih35.Prg adalah sebagai berikut :
********************************************************************* Nama Program : LATIH35.PRG* Penulis : Abdullah* Versi : dBASE III Plus* Pembuatan : 1999********************************************************************SET TALK OFFSET STATUS OFFSET SCOREBOARD OFFSET DATE ITALIANSET CENTURY ONSET COLOR TO W/BCLEARNO = 0MTOTAL = 0BATAS = 18HAL = 0GARIS1 = REPLICATE(CHR(196),79)
34
GARIS2 = REPLICATE(CHR(205),79)USE PEGAWAIDO WHILE .NOT. EOF() SET COLOR TO W/B CLEAR HAL = HAL + 1 MHAL = 'Halaman : ' + LTRIM(STR(HAL)) @01,30 SAY 'DAFTAR GAJI PEGAWAI' @02,30 SAY 'PT GARUDA JAYA' @04,01 SAY 'TANGGAL : ' + DTOC(DATE()) @04,80-LEN(MHAL) SAY MHAL @05,01 SAY GARIS2 @06,01 SAY 'NO' @06,05 SAY 'NAMA' @06,22 SAY 'STATUS' @06,34 SAY 'JUMLAH' @06,44 SAY 'GAJI' @06,56 SAY 'TUNJANGAN' @06,68 SAY 'GAJI' @07,05 SAY 'PEGAWAI' @07,22 SAY 'PERKAWINAN' @07,34 SAY 'ANAK' @07,44 SAY 'POKOK' @07,56 SAY 'KELUARGA' @08,01 SAY GARIS1 BRS = 9 SUBTOTAL = 0 DO WHILE .NOT. EOF() .AND. BRS <= BATAS DO CASE CASE GOLONGAN = 1 MGPOKOK = 75000 CASE GOLONGAN = 2 MGPOKOK = 90000 CASE GOLONGAN = 3 MGPOKOK = 130000 OTHERWISE MGPOKOK = 0 ENDCASE
IF STATUS = 0 MSTATUS = 'TIDAK' MTISTRI = 0 MTANAK = 0 ELSE MSTATUS = 'MENIKAH' MTISTRI = 0.15 IF ANAK <= 3 MTANAK = ANAK * 0.10 ELSE MTANAK = 0.30 ENDIF ENDIF MTUNKEL = (MTISTRI +MTANAK) * MGPOKOK MGAJI = MGPOKOK + MTUNKEL
35
SUBTOTAL = SUBTOTAL + MGAJI NO = NO + 1 @BRS,01 SAY NO PICT '##' @BRS,05 SAY NAMA @BRS,22 SAY MSTATUS @BRS,34 SAY ANAK PICT '## orang' @BRS,44 SAY MGPOKOK PICT 'Rp ###,###' @BRS,56 SAY MTUNKEL PICT 'Rp ###,###' @BRS,68 SAY MGAJI PICT 'Rp #,###,###' BRS = BRS + 1 SKIP ENDDO MTOTAL = MTOTAL + SUBTOTAL @BRS,01 SAY GARIS1 @BRS+1,55 SAY 'SUBTOTAL : ' @BRS+1,67 SAY SUBTOTAL PICT 'Rp ##,###,###' @BRS+2,01 SAY GARIS1 IF EOF() @BRS+3,55 SAY 'TOTAL : ' @BRS+3,67 SAY MTOTAL PICT 'Rp ##,###,###' @BRS+4,01 SAY GARIS2 ENDIF IF .NOT. EOF() @BRS+3,01 SET COLOR TO W/B WAIT SPACE(20) + 'TOMBOL DITEKAN AGAR PELAKSANAAN DILANJUTKAN' SET COLOR TO ENDIFENDDOCLOSE DATABASEUSE PEGAWAISET TALK ON
Latih36.Prg adalah sebagai berikut :
********************************************************************* Nama Program : LATIH36.PRG* Penulis : Abdullah* Versi : dBASE III Plus* Pembuatan : 1999********************************************************************SET TALK OFFSET STATUS OFFSET SCOREBOARD OFFSET DATE ITALIANSET CENTURY ONSET COLOR TO W/BCLEARNO = 0MTOTAL = 0BATAS = 18HAL = 0GARIS1 = REPLICATE(CHR(196),79)GARIS2 = REPLICATE(CHR(205),79)USE PEGAWAI2 INDEX NIPX
36
DO WHILE .NOT. EOF() SET COLOR TO W/B CLEAR HAL = HAL + 1 MHAL = 'Halaman : ' + LTRIM(STR(HAL)) @01,30 SAY 'DAFTAR GAJI PEGAWAI' @02,30 SAY 'PT GARUDA JAYA' @04,01 SAY 'TANGGAL : ' + DTOC(DATE()) @04,80-LEN(MHAL) SAY MHAL @05,01 SAY GARIS2 @06,01 SAY 'NO' @06,05 SAY 'NAMA' @06,22 SAY 'STATUS' @06,34 SAY 'JUMLAH' @06,44 SAY 'GAJI' @06,56 SAY 'TOTAL' @06,68 SAY 'GAJI' @07,05 SAY 'PEGAWAI' @07,22 SAY 'PERKAWINAN' @07,34 SAY 'ANAK' @07,44 SAY 'POKOK' @07,56 SAY 'TUNJANGAN' @08,01 SAY GARIS1 BRS = 9 SUBTOTAL = 0 DO WHILE .NOT. EOF() .AND. BRS <= BATAS MNIP = LEFT(NIP,1) DO CASE CASE MNIP = 'A' MGPOKOK = 75000 CASE MNIP = 'B' MGPOKOK = 90000 CASE MNIP = 'C' MGPOKOK = 130000 OTHERWISE MGPOKOK = 0 ENDCASE MLAMA_KRJ = YEAR(DATE()) - VAL('19' + SUBSTR(NIP,2,2)) IF MLAMA_KRJ <= 3 MTSETIA = 0 ELSE MTSETIA = 0.10 * MGPOKOK ENDIF IF .NOT. STATUS MSTATUS = 'TIDAK' MTISTRI = 0 MTANAK = 0 ELSE MSTATUS = 'MENIKAH' MTISTRI = 0.15 IF ANAK <= 3 MTANAK = ANAK * 0.10 ELSE MTANAK = 0.30
37
ENDIF ENDIF MTUNKEL = (MTISTRI + MTANAK) * MGPOKOK MTUNJ = MTUNKEL + MTSETIA MGAJI = MGPOKOK + MTUNJ SUBTOTAL = SUBTOTAL + MGAJI NO = NO + 1 @BRS,01 SAY NO PICT '##' @BRS,05 SAY NAMA @BRS,22 SAY MSTATUS @BRS,34 SAY ANAK PICT '## orang' @BRS,44 SAY MGPOKOK PICT 'Rp ###,###' @BRS,56 SAY MTUNJ PICT 'Rp ###,###' @BRS,68 SAY MGAJI PICT 'Rp #,###,###' BRS = BRS + 1 SKIP ENDDO MTOTAL = MTOTAL + SUBTOTAL @BRS,01 SAY GARIS1 @BRS+1,55 SAY 'SUBTOTAL : ' @BRS+1,67 SAY SUBTOTAL PICT 'Rp ##,###,###' @BRS+2,01 SAY GARIS1 IF EOF() @BRS+3,55 SAY 'TOTAL : ' @BRS+3,67 SAY MTOTAL PICT 'Rp ##,###,###' @BRS+4,01 SAY GARIS2 ENDIF IF .NOT. EOF() @BRS+3,01 SET COLOR TO W/B WAIT SPACE(20) + 'TOMBOL DITEKAN AGAR PELAKSANAAN DILANJUTKAN' SET COLOR TO ENDIFENDDOCLOSE DATABASEUSE PEGAWAI2SET TALK
Program menu utama ini adalah sebagai berikut :
************************************************************* Nama Program : Utama.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 D :SET TALK OFFSET HEADING OFFSET STATUS OFF
38
SET SAFETY OFFSET BELL OFF* SET COLOR TO WB+/B,W+/BW,BBIF ISCOLOR()* SET COLOR TO BB+/BB,N/BG,WBENDIFCLEARATAS = 1KIRI = 1BAWAH = 23KANAN = 79DO WHILE ATAS < 12 @ ATAS, KIRI TO BAWAH, KANAN DOUBLE ATAS = ATAS + 1 BAWAH = BAWAH - 1 KIRI = KIRI + 2 KANAN = KANAN - 2ENDDOATAS = 11KIRI = 21BAWAH = 13KANAN = 59IF ISCOLOR() * SET COLOR TO BB+/BB,N/BG,BBENDIFDO WHILE ATAS > 0 @ ATAS, KIRI TO BAWAH, KANAN ATAS = ATAS - 1 BAWAH = BAWAH + 1 KIRI = KIRI - 2 KANAN = KANAN + 2ENDDOPESAN = " PROGRAM PENERAPAN DICIPTA dBPLUS "@ 12,22 GET PESANCLEAR GETSHITUNG = 1DO WHILE HITUNG < 1000 HITUNG = HITUNG + 1ENDDO* Penciptaan garis dengan peubah GarisGaris = REPLICATE("_",80)CLEARIF ISCOLOR() SET COLOR TO GR+/B,W+/BR,RBENDIF@ 1,1 TO 3,78 DOUBLEIF ISCOLOR() SET COLOR TO R+*/BG,R+/B,RBENDIF@ 2, 20 SAY " *** MENU UTAMA ***"IF ISCOLOR() SET COLOR TO GR+/B,W+/BR,RENDIF?
39
????Yatak = " "@ Row()+2,13 SAY " Apakah dilanjutkan ?(Y/N)";GET Yatak PICTURE "!"READIF Yatak # "Y" CANCELENDIF* Penyajian menu dan peluang pemilihan.Pilih = " "USE Maha*INDEX ON UPPER(NAMA) TO TEMPDO 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, 20 SAY " *** MENU UTAMA ***" 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
40
* SET COLOR TO GR+/B,W+/BR,RB * Langkah ke arah program yang serasi. DO CASE CASE Pilih = "1" SET FORMAT TO MAHA APPEND CLOSE FORMAT CASE Pilih = "2" DO UtamLAP CASE Pilih = "3" DO UtamSUN CASE Pilih = "4" DO UtamHAP CASE Pilih = "5" DO UtamGAN CASE Pilih = "6" BROWSE ENDCASEENDDOCLOSE DATABASESDO DASAR* QUIT
************************************************************** Nama Program : UtamLAP ** 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 mencetak laporan. ** Penentuan sortasi dan syarat pencarian, ** kemudian mencetak laporan yang serasi. **************************************************************USE MahaGaris = 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
41
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" RETURNENDIF* 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
ENDCASE* Penyajian daftar pertanyaan yang dibutuhkan.CLEARKosong = " "@ 5,2 SAY "Pencetakan A dan Q pertanyaan" GET Kosong PICT "!"READIF Kosong = "Q" MODIFY QUERY Maha SET FILTER TO FILE MahaENDIF** Pencetakan laporan menurut pilihan.CLEARSTORE " " TO Cetak, PMacro*@ 15,5 SAY "Penyaluran data ke pencetak ? (Y/N) : "@ 15, 61 GET Cetak PICT "!"READ
42
IF Cetak = "Y" PMacro = "TO PRINT" WAIT "Persiapkan pencetak dan tekan tombol"ENDIF** Catatan bertanda dihapus dibiarkan.SET DELETED ONCLEAR*DO CASE* CASE MPilih = "1" DO LATIH30.PRG CASE MPilih = "2" DO LATIH31.PRG CASE MPilih = "3" DO LATIH32.PRG CASE MPilih = "4" DO LATIH33.PRG CASE MPilih = "5" DO LATIH34.PRG CASE MPilih = "6" DO LATIH35.PRG CASE MPilih = "7" DO LATIH36.PRG CASE MPilih = "8" DO MAHA.PRG*ENDCASE** Pelaksanaan selesai, kemali ke menu utama.IF Cetak = "Y" EJECTENDIFSET DELETED OFFSET FILTER TOUSE MahaWAIT "Tombol ditekan, kembali ke menu..."RETURN*
************************************************************** Nama Program : UtamSUN ** 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 MahaINDEX ON UPPER(NAMA) TO %%BNAME2
43
Lagi = .T.DO WHILE Lagi CLEAR Garis = REPLICATE("_",80) @ 1,1 SAY "PERBAIKAN DATA" @ 2,0 SAY Garis Teliti = SPACE(20) @ 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 MAHA EDIT CLOSE FORMAT ELSE @ 22,0 ? "Catatan tidak diketemukan : ",Teliti ?? CHR(7) WAIT ENDIF
ENDDO
RETURN
************************************************************** Nama Program : UtamHAP ** 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: MENU UTAMA **************************************************************
44
Garis = REPLICATE("_",80)CLEAR@ 1,1 SAY "Penghapusan Data"@ 2,0 SAY Garis* Nomor catatan tertinggi dicari.USE MahaGO BOTTOMMax = RecNo()INDEX ON UPPER(NAMA) TO %%DBNAME2* Pertanyaan tentang nomor catatan.Lagi = .T.DO WHILE Lagi @ 3,0 CLEAR Teliti = SPACE(20) @ 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,Semester,Nilai WHILE ; UPPER(Nama) = Teliti RecNo = 0 @ 23,2 SAY "Nomor catatan manakah yang akan dihapus ?"; GET RecNo PICTURE "9999" READ IF RecNo <= Max .AND. RecNo > 0 DELETE RECORD RecNo ELSE
45
@ 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,Semester,Nilai Mungkin = " " @ 23,1 SAY "Apakah catatan ini ingin dihapus? (Y/N) "; GET Mungkin PICTURE "!" READ IF UPPER(Mungkin) = "Y" DELETE ENDIF ENDIFENDDO** Pengujian akhir sebelum penghapusan secara permanen.* Perhitungan catatan bertanda penghapusan.* dan penyimpanan dalam peubah ingatan No_DelsCOUNT FOR DELETED() TO No_Dels*Permisi = "N"DO WHILE Permisi = "N" .AND. No_Dels > 0 @ 3,0 CLEAR ? DISPLAY Nama,Semester,Nilai 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
RETURN
46
************************************************************** Nama Program : UtamGAN ** 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 OFFSET DELETED ON** Pertanyan tentang perangkat pencetak.CLEARGaris = REPLICATE("_",80)@ 1,1 SAY "Pengujian atas Duplikasi :"@ 2,0 SAY GarisCetak = " "@ 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 ONENDIF** Layar penampil dibersihkan dan judul disajikan.@ 3,0 CLEARUSE Maha? "Persiapan sortasi untuk menguji duplikasi..."INDEX ON UPPER(NAMA) 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) "DO WHILE .NOT. EOF() Banding = &RecCheck SKIP IF &RecCheck = Banding SKIP -1
47
LIST WHILE &RecCheck = Banding; NAMA,Semester,Nilai ? ENDIFENDDO** Pelaksanan selesai dan kembali ke menu utama.IF Cetak = "Y" EJECT SET PRINT OFFENDIFSET DELETE OFF* Pengaturan kembali arsip berindek dan kembali.USE Maha
WAIT "Tombol ditekan, kembali ke menu..."RETURN
Menu Mobil adalah sebagai berikut :
************************************************************* Nama Program : Mobil.PRG ** Nama Menu : PEMINJAMAN DAN PENGEMBALIAN MOBIL ** 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 OFFSET HEADING OFFSET STATUS OFFSET SAFETY OFFSET BELL OFF* SET COLOR TO WB+/B,W+/BW,BBIF ISCOLOR()* SET COLOR TO BB+/BB,N/BG,WBENDIFCLEARATAS = 1KIRI = 1BAWAH = 23KANAN = 79DO WHILE ATAS < 12 @ ATAS, KIRI TO BAWAH, KANAN DOUBLE ATAS = ATAS + 1 BAWAH = BAWAH - 1 KIRI = KIRI + 2 KANAN = KANAN - 2ENDDOATAS = 11KIRI = 21BAWAH = 13
48
KANAN = 59IF ISCOLOR() * SET COLOR TO BB+/BB,N/BG,BBENDIFDO WHILE ATAS > 0 @ ATAS, KIRI TO BAWAH, KANAN ATAS = ATAS - 1 BAWAH = BAWAH + 1 KIRI = KIRI - 2 KANAN = KANAN + 2ENDDOPESAN = " PROGRAM PENERAPAN DICIPTA dBPLUS "@ 12,22 GET PESANCLEAR GETSHITUNG = 1DO WHILE HITUNG < 1000 HITUNG = HITUNG + 1ENDDO* Penciptaan garis dengan peubah GarisGaris = REPLICATE("_",80)CLEARIF ISCOLOR() SET COLOR TO GR+/B,W+/BR,RBENDIF@ 1,1 TO 3,78 DOUBLEIF ISCOLOR() SET COLOR TO R+*/BG,R+/B,RBENDIF@ 2, 20 SAY " *** PEMINJAMAN DAN PENGEMBALIAN MOBIL ***"IF ISCOLOR() SET COLOR TO GR+/B,W+/BR,RENDIF?????Yatak = " "@ Row()+2,13 SAY " Apakah dilanjutkan ?(Y/N)";GET Yatak PICTURE "!"READIF Yatak # "Y" CANCELENDIF* Penyajian menu dan peluang pemilihan.Pilih = " "USE Mobil*INDEX ON UPPER(NAMA)+UPPER(ALAMAT) TO TEMPDO WHILE Pilih # "X" CLEAR IF ISCOLOR() SET COLOR TO GB+/B,W+/B,B ENDIF
49
@ 1,1 TO 3,78 DOUBLE IF ISCOLOR() SET COLOR TO R+*/B,R+/B,B ENDIF @ 2, 20 SAY " *** PEMINJAMAN DAN PENGEMBALIAN MOBIL ***" 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 MOBIL APPEND CLOSE FORMAT CASE Pilih = "2" DO MobiLAP CASE Pilih = "3" DO MobiSUN CASE Pilih = "4" DO MobiHAP CASE Pilih = "5" DO MobiGAN CASE Pilih = "6" BROWSE ENDCASEENDDOCLOSE DATABASES
50
USE MOBIL* QUIT
************************************************************** Nama Program : MobiLAP ** 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 mencetak laporan. ** Penentuan sortasi dan syarat pencarian, ** kemudian mencetak laporan yang serasi. **************************************************************USE MobilGaris = REPLICATE("_",80)CLEAR@ 1,1 SAY "Pemilihan Laporan"@ 2,0 SAY Garis*??TEXT
1. LAPORAN PEMINJAMAN MOBIL
X. KOSONG (Kembali ke Menu Utama)ENDTEXT*MPilih = " "@ 1,1 SAY "Pilihan dimasukkan " GET MPilih PICT "!"READ*IF MPilih = "X" RETURNENDIF* 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
ENDCASE
51
* Penyajian daftar pertanyaan yang dibutuhkan.CLEARKosong = " "@ 5,2 SAY "Pencetakan A dan Q pertanyaan" GET Kosong PICT "!"READIF Kosong = "Q" MODIFY QUERY Mobil SET FILTER TO FILE MobilENDIF** Pencetakan laporan menurut pilihan.CLEARSTORE " " TO Cetak, PMacro*@ 15,5 SAY "Penyaluran data ke pencetak ? (Y/N) : "@ 15, 61 GET Cetak PICT "!"READIF Cetak = "Y" PMacro = "TO PRINT" WAIT "Persiapkan pencetak dan tekan tombol"ENDIF** Catatan bertanda dihapus dibiarkan.SET DELETED ONCLEAR*DO CASE* CASE MPilih = "1" REPORT FORM MOBIL.FRM &PMacro*ENDCASE** Pelaksanaan selesai, kemali ke menu utama.IF Cetak = "Y" EJECTENDIFSET DELETED OFFSET FILTER TOUSE MobilWAIT "Tombol ditekan, kembali ke menu..."RETURN
************************************************************** Nama Program : MobiSUN ** 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 Mobil
52
INDEX ON UPPER(NAMA)+UPPER(ALAMAT) TO %%BNAME2Lagi = .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 MOBIL EDIT CLOSE FORMAT ELSE @ 22,0 ? "Catatan tidak diketemukan : ",Teliti ?? CHR(7) WAIT ENDIF
ENDDO
RETURN
************************************************************** Nama Program : MobiHAP ** 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: PEMINJAMAN DAN PENGEMBALIAN MOBIL*************************************************************
53
Garis = REPLICATE("_",80)CLEAR@ 1,1 SAY "Penghapusan Data"@ 2,0 SAY Garis* Nomor catatan tertinggi dicari.USE MobilGO BOTTOMMax = 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,Kelas,Merek,Tg_pjm,Tg_kbl WHILE ; UPPER(Nama) = Teliti RecNo = 0 @ 23,2 SAY "Nomor catatan manakah yang akan dihapus ?"; GET RecNo PICTURE "9999" READ IF RecNo <= Max .AND. RecNo > 0 DELETE RECORD RecNo ELSE
54
@ 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,Kelas,Merek,Tg_pjm,Tg_kbl Mungkin = " " @ 23,1 SAY "Apakah catatan ini ingin dihapus? (Y/N) "; GET Mungkin PICTURE "!" READ IF UPPER(Mungkin) = "Y" DELETE ENDIF ENDIFENDDO** Pengujian akhir sebelum penghapusan secara permanen.* Perhitungan catatan bertanda penghapusan.* dan penyimpanan dalam peubah ingatan No_DelsCOUNT FOR DELETED() TO No_Dels*Permisi = "N"DO WHILE Permisi = "N" .AND. No_Dels > 0 @ 3,0 CLEAR ? DISPLAY Nama,Alamat,Kelas,Merek,Tg_pjm,Tg_kbl 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
RETURN
55
************************************************************** Nama Program : MobiGAN ** 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 OFFSET DELETED ON** Pertanyan tentang perangkat pencetak.CLEARGaris = REPLICATE("_",80)@ 1,1 SAY "Pengujian atas Duplikasi :"@ 2,0 SAY GarisCetak = " "@ 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 ONENDIF** Layar penampil dibersihkan dan judul disajikan.@ 3,0 CLEARUSE Mobil? "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,Kelas,Merek,Tg_pjm ? ENDIFENDDO
56
** Pelaksanan selesai dan kembali ke menu utama.IF Cetak = "Y" EJECT SET PRINT OFFENDIFSET DELETE OFF* Pengaturan kembali arsip berindek dan kembali.USE Mobil
WAIT "Tombol ditekan, kembali ke menu..."RETURN
Dokumen lain dihasilkan pula yaitu dokumentasi atas program-program yang dicipta. Dokumentasi ini adalah sebagai berikut :
Beberapa arsip di bawah ini telah diciptakan untuk menataMobil.DBF :
Arsip Program Pelaksanaan Tugas
Mobil.PRG: Menu Program Utama
MobiLAP.PRG: Sortasi, Pencarian, dan Penyajian Laporan
MobiSUN.PRG: Perbaikan data
MobiHAP.PRG: Penghapusan data
MobiGAN.PRG: Pengujian Duplikasi.
Arsip Format diungkapkan: MOBIL.FMT dan MOBIL.FRM
Arsip berindek di bawah ini telah diciptakan untuksistem yang dibentuk:
Arsip Berindek Isi Arsip
MobiNx1: UPPER(NAMA) +UPPER(ALAMAT)
Arsip data ini dipakai hanya oleh DBPLUS: D:mobistr.dbf D:mobiprm.dbf
Arsip Batch untuk penggandaan sistem yang tercipta: MobiCopy.BATInformasi ini disimpan dalam: MobiDoc.TXT
Perintah DO Mobil digunakan atas pelaksanaan sistemyang tercipta pada tahap tanda titik program dBASE.
Beberapa menu lain dapat dicipta dan dimasukkan ke dalam Menu Dasar sehingga
struktur menu terbentuk. Struktur menu dapat dicipta dalam bentuk sebagai berikut :
57
Struktur menu dapat dikembangkan lebih lanjut sesuai dengan kebutuhan sehingga
berbentuk seperti struktur menu Microsof Excel atau struktur menu Microsoft Word.
Tiap menu dapat menampung delapan laporan sehingga jika terdapat menu A sampai
dengan E maka akan dapat menampung 40 bentuk laporan.
Rangkuman
Paket program DBPLUS ini dapat dipakai untuk mengolah data hasil penelitian dan penyusunan
laporan hasil penelitian dengan cara mencipta dahulu beberapa arsip data berjenis *.DBF, *.FM.
*.SCR, *.FRM, *.LBL, atau arsip berjenis *.PRG.
Program pencipta program-program aplikasi dalam lingkungan DBASE III Plus ini masih dapat
dipakai hingga saat ini. Hasil-hasil dari program ini dapat dipakai untuk membentuk struktur
menu sehingga cakupan menu Dasar makin bertambah luas dan mencakup berbagai bidang
manajemen.
Struktur menu dapat dikembangkan lebih lanjut secara manual. Cara menjalankan menu
DASAR dilakukan dengan mengaktifkan program Dbase III Plus kemudian diarahkan pada
tingkat titik. Perintah DO Dasar diketik dan tombol Enter ditekan. Pemakaian Menu Dasar,
Menu Mahasiswa, Menu Utama, dan Menu Mobil disajikan di atas. Menu Utama mencakup
tujuh program laporan disajikan sebagai contoh.
Program DBPLUS, berdasar atas uraian di atas, menandung kemampuan untuk membentuk
struktur menu yang dapat dikembangkan sesuai dengan kebutuhan. Program DBPLUS dapat
pula dipakai untuk mengolah data hasil penelitian yang membutuhkan pembahasan berdasar
atas Dbase III Plus misalkan penelitian mengenai gaji karyawan berdasar atas golongan dan
58