program pencipta program aplikasi dbase iii plus

69
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 : 1

Upload: david-yu

Post on 30-Nov-2015

293 views

Category:

Documents


4 download

DESCRIPTION

APLIKASI DBASE

TRANSCRIPT

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

masa kerja, penelitian mengenai penjualan barang, penelitian mengenai kemahasiswaan,

penelitian mengenai tenaga pengajar, dan sebagainya.

Daftar Kepustakaan

Abdullah. 1987. C Basic : Pedoman Penyusunan Program Komputer. Jakarta : Penerbit PT Elex

Media Komputindo Kelompok Gramedia.

59