Elemen Dbase :
Data : Satu satuan informasi
Field : Kumpulan data sejenis
Record : Kumpulan dari field yang mempunyai keterkaitan
File : Kumpulan dari record
Database : Sekumpulan informasi/file yang diatur menurut struktur tertentu
Contoh :
FIELD
FILE
1
Suatu field dapat kita samakan dengan satu kolom/judul kolom dalam system
manual dan satu record dapat kita samakan dengan satu baris data.
Numeric (N) : Data ini terdiri dari angka-angka dari 0-9 dengan
berbagai kombinasinya serta titik (.) sebagai titik desimal
(cara penulisan di Indonesia adalah koma), contoh : 12.75
Logic (L) : Data logic hanya ada dua yaitu .T. (true) dan .F. (false)
Date (D) : Data ini menyatakan tanggal dan dituliskan dengan angka
dan karakter slash (/) sebagai pemisah.
Memo (M) : Data ini sama dengan string tetapi tidak dapat menerima
karakter hingga jumlahnya 1000
2. Operator String
Operator Fungsi Contoh Hasil
+ Penggabungan operand ‘Jakarta ‘ +’kota’ Jakarta kota
(tanpa modifikasi)
- Penggabungan operand ‘Jakarta ‘ -’kota’ Jakartakota
(spasi akhir operand
pertama dihapus)
2
() Prioritas ekspresi (‘Jakarta ‘) +(’kota’) Jakarta kota
penggabungan
karakter
3. Operator Logika
Operator Fungsi Contoh Hasil
< Lebih kecil 10 < 11 .T.
> Lebih besar 10 > 11 .F.
<= Lebih kecil atau 10 <= 11 .T.
sama
>= Lebih besar atau 10 >= 11 .F.
sama
<> atau Tidak Sama 10 <> 11 .T.
= Sama 10 = 11 .F.
$ Elemen ‘a’ $’abcd’ .T.
3
CARA KERJA DBASE
2. Modus Program. Disini kita menuliskan rangkaian perintaj dalam program. Dabse
akan melaksanakan perintah tersebut. Suatu program dapat berisi ratusan
sampai ribuan bahkan puluhan ribu perintah. Dengan program kita dapat
memecahkan masalah yang rumit.
Contoh :
Kita ingin mencata data stok barang dengan nama file Barang.dbf dengan struktur
sebagai berikut :
FIELD TYPE PANJANG DESIMAL
KODE CHARACTER 2
NAMA CHARACTER 20
JUMLAH NUMERIC 4 0
HARGA NUMERIC 9 2
Jawab :
C:> cd dbase
C:\dbase>Dbase
.create barang atau .crea barang
4
Keterangan :
Field name Suatu nama field maksimum 10 karakter, dimulai dengan
karakter abjad dan dapat berisi angka-angka atau garis bawah,
tidak boleh ada spasi
Field Type Type dapat berupa C untuk Character, D untuk Tanggal, L untuk
Logika, M untuk Memo, N untuk Numeric
Untuk mengakhiri dan sekaligus menyimpan struktur file yang telah kita buat tekan
<enter> 2 kali atau ctrl+w lalu <enter>.
Pada layar akan tampak pertanyaan :
Input data record now (y/n) ?
Tekan Y(es) jika kita ingin segera mengisi data records atau N(o) jika tidak ingin
mengisi.
Catatan :
1. Untuk semua perintah-perintah yang lebih dari 4 huruf, bias ditulis hanya 4
huruf terdepannya saja, missal : Append cukup ditulis Appe
5
2. Untuk pindah drive ketikkan perintah .set default to b
3. Untuk keluar dari system ketikkan perintah .quit
PEMELIHARAAN DATA
Membuka dan melihat isi file :
Perintah untuk membuka file : .use nama file
Perintah untuk menutup file : .use, close data
Perintah untuk melihat isi file : .list, display
Contoh :
Jika kita telah mempunyai file database barang.dbf dan kita ingin melihat isi file
tersebut maka digunakan perintah :
.use barang
.list
Record# KODE NAMA JUMLAH HARGA
1 02 Pinsil 124 55.00
2 45 Buku Tulis 50 75.00
3 14 Kalkulator 56 25000.00
4 34 Map 5 125.00
5 44 Mesin Tik 3 125000.00
6
MENGATUR POSISI POINTER RECORD
.GOTO n atau .n
meletakkan posisi pointer pada record ke n, n = nomor record
.GOTO TOP atau .GO TOP
meletakkan posisi pointer pada record teratas.
.GOTO BOTTOM atau .GO BOTTOM
meletakkan posisi pointer pada record terbawah.
SKIP memindahkan posisi pointer pada record yang ada dibawahnya.
SKIP(-/+)n memindahkan posisi pointer sebanyak n record ke atas (-)/ke bawah
(+)
dari posisi terakhir pointer
MENAMBAH RECORD
Untuk menambah data baru pada file database kita gunakan instruksi :
Append
Untuk menambah data baru dengan cara menyisip diantara record-record
yang sudah ada digunakan instruksi : Insert
MEMPERBAIKI RECORD
EDIT, perintah ini membuka 1 record dan kita langsunga bisa melakukan
koreksi pada field-field yang bersangkutan.
BROWSE, perintah ini dapat menelusuri file database secara membujur atau
melintang.
REPLACE, perintah ini tidak membuka dan menampilkan record yang kita
inginkan tetapi kita bekerja pada dot prompt.
Bentuk umum : REPLACE nm-field WITH statement
Contoh :
1. Jika kita ingin merubah harga kalkulator menjadi 3000.00
.3
.Replace harga with 30000
2. Jika kita ingin merubah nama Map menjadi Map Plastik
.4
.Replace nama with “Map Plastik”
3. Jika karena suatu hal maka harga semua barang naik sebesar 10%
.Replace all harga with harga+(0.1*harga)
atau
.Replace all harga with harga*1.1
MENGHAPUS RECORD
Delete, untuk menandai record yang akan dihapus
Recall, untuk membatalkan penghapusan
Pack, untuk menegaskan penghapusan
7
PENGURUTAN DATA
8
10 RINI RIAU 120 2 0 0
11 RUDI ACEH 12 2 1 1
12 RUSDI DAGO 200 3 1 2
13 TUTI DAGO 100 1 1 4
Mengurutkan data dengan SORT akan mengasilkan suatu file database baru,
tempat kita menyimpan data hasil pengurutan.
Selain meyusun data dengan urutan naik, kita dapat juga mengurutkan turun.
Untuk menyusun data menurut urutan turun, kita tinggal menambahkan /D (yang
artinya turun) pada akhir perintah. Bentuk perintah :
.SORT ON namafield TO namafile /D
Contoh :
. SORT ON Nomor TO Cadang /D
Kita mengurutkan data berdasarkan field NOMOR untuk diurutkan menurut
urutuan turun, dan hasil pengurutannya akan disimpan ke dalam file Cadang.
Agar pengurutan tidak membedakan huruf kecil dan huruf besar,
tambahan /C.
Untuk memperjelas proses pengurutan data secara lengkap, kita ambil contoh
sebagai berikut :
Kita mempunyai file database Teman yang salah satu field-nya adalah
ALAMAT, sekarang kita akan mengurutkan data tersebut berdasarkan ALAMAT-nya
dengan urutan naik. Hasil pengurutan tersebut akhirnya kita minta untuk kembali ke
file database Teman. Jadi akhirnya file Teman hanya berisi data yang sudah
diurutkan.
Langkah yang digunakan :
.USE Teman
Memanggil file database Teman
.SORT ON Alamat TO Sem
Mengurutkan data berdasarkan ALAMAT disimpan dalam file Sem
.USE Sem
Memanggil file Sem (hasil pengurutan)
.COPY TO Teman
Meng-copy record dan stuktur Sem ke Teman
.USE
Menutup semua file yang sedang terbuka.
.DELETE FILE Sem
Menghapus file Sem, karena sudah tidak digunakan lagi (sudah di copy-kan ke
Teman).
.USE Teman
Memanggil kembali file Teman
.LIST
9
Memperagakan data dari semua record, perhatikan apakah benar sudah
terurut berdasarkan ALAMAT-nya
10
Membuat file dengan urutan menurun
Telah disebut diatas bahwa file indeks tidak dapat mengurutkan data dengan
urutan menurun. Tetapi dengan teknik tertentu kita dapat melakukan hal ini. Sebagai
contoh, kita mempunyai suatu file database dengan nama Nilai .DBF yang berisi data
nilai ujian siswa. Strukturnya sebagai berikut :
Field Field Name Type Width Dec
1 NAMA Character 10
2 NILAI Numeric 2
Bila kita akan membuat urutan naik untuk menentukan ranking, maka
urutannya tentu harus menurun (nilai yang tertinggi yang ditampilkan paling dahulu).
Salah satu cara untuk membuat indeks menurut nilai dengan urutan menurun adalah
dengan membuat –NILAI (minus NILAI) sebagai kunci indeks. Misalkan nama file
indeksnya adalah Nimaidex. Perintah yang harus diberikan adalah :
.INDEX ON –Nilai TO Nilaidex
Bila data di LIST dengan nama file index aktif, hasilnya adalah :
Record #NAMA NILAI
5 PURWANTO 89
2 RATNO 77
6 MELATI 77
4 RATNA 76
8 THOMAS 74
1 YANTO 65
3 MINAH 57
7 BURHAN 45
Contoh lain adalah membuat urutan menurun untuk data berjenis tanggal.
Database DAFBRG berisi data pembelian barang. Fieldnya adalah :
Field Field Name Type Width Dec
11
1 NAMA_BRG Character 10
2 JUMLAH Numeric 3
3 HARGA Numeric 5
4 TGL_BELI Date 8
Catatan : Bila kita mengisikan data ke field berjenis tanggal maka garis miring
sebagai pemisah bulan, tanggal dan tahun sudah ditampilkan seperti ini ,
TGL_BELI : / / :
Anda tidak perlu mengetik garis miringnya.
Kita ingin membuat indeks untuk Tgl_Beli dengan urutan menurun. Caranya
kita ambil suatu tanggal yang akan datang, yang pasti tidak akan dicapai oleh data
dalam database, misalkan kita ambil tanggal 31 Desember 1999. Kunci untuk indeks
adalah tanggal tersebut dikurang Tgl_Beli. Perintah yang harus diberikan adalah :
.INDEX ON CTOD (‘12/31/99’)-Tgl_Beli TO Tgldx
Fungsi CTOD mengubah dua karakter ‘12/31/99’ menjadi data berjenis tanggal agar
pengurangan dengan field Tgl_Beli yang berjenis tanggal dapat dilakukan.
Bila file indeks Tgldx aktif, perintah LIST memberikan hasil sebagai
berikut :
Record#NAMA_BRG JUMLAH HARGA TGL_BELI
2 MODEL A103 12 4500 06/12/86
1 MODEL A101 15 3000 05/11/86
4 MODEL A102 14 3750 05/03/86
5 MODEL A104 11 5000 04/12/86
3 MODEL A105 10 3500 04/02/86
12
Masukan record baru, misalnya ;
NAMA [SUCIPTO ]
ALAMAT [ACEH 500 ]
GOL [2]
STATUS [1]
ANAK [3]
Kemudian berikan perintah LIST. Anda akan lihat record baru tersebut akan
ditampilkan. Tetapi sekarang bukalah file Pegawai beserta indeksnya Namadex.
.USE Pegawai INDEX Namadex
dan berikan perintah LIST. Anda akan melihat record SUCIPTO di situ karena
dalam file indeks record SUCIPTO tidak ada.
Dalam hal ini kita dapat memperbarui indeks dengan perintah :
.REINDEX
setelah perintah diberikan di layar akan ditampilkan :
.REINDEX
.Rebuilding INDEX – B:NAMADEX.ndx
100% indexed 14 Records indexed
Bila sekarang Anda berikan perintah LIST maka nama SUCIPTO kita lihat dalam
daftar.
Perintah REINDEX tidak perlu kita berikan pada waktu memberikan perintah
APPEND atau EDIT file indeks sudah dibuka karena dalam hal ini secara otomatis
file indeks akan diperbarui.
Contoh :
Bukalah file Pegawai beserta indeksnya Namadex.
.USE Pegawai INDEX Namadex
.APPEND
Masukkan data berikut ini :
NAMA [DARMONO ]
ALAMAT [SUNDA 400 ]
GOL [2]
STATUS [0]
ANAK [0]
Selanjutnya berikan perintah LIST.
Untuk suatu file database kita dapat membuat sekaligus beberapa file
indeks. Misalkan untuk file Pegawai kita dapat membuat indeks berdasarkan NAMA
yaitu Namadex.NDX, dan berdasarkan ALAMAT, misalnya Almx.NDX. Kita dapat
membuka file database beserta beberapa file indeksnya sebagai berikut :
.USE Pegawai INDEX Namadex, ALMX
Dalam hal ini bila kita melakukan penambahan atau perubahan data maka
kedua file indeks akan langsung diperbarui. Walaupun kedua file indeks dibuka namun
yang aktif hanyalah satu yaitu yang disebutkan pertama, dalam hal ini Namadex. File
13
indeks yang aktif disebut master Index atau indeks induk. Bila kita memberikan
perintah LIST maka data akan diurutkan menurut NAMA karena master indeks-nya
adalah Namadex.
Untuk mengetahui file indeks yang dibuka dapat kita gunakan fungsi NDX(1)
dan NDX(2) sebagai berikut :
.USE Pegawai INDEX Namadex,Almx
? NDX(1)
B:Namadex.ndx
.? NDX(2)
B:Almx.ndx
Fungsi NDX(1) memberikan nama file indeks yang pertama, sedang NDX(2)
memberikan nama file indeks kedua. Untuk suatu file databasse sekaligus kita dapat
membuka sampai tujuh file indeks.
Kita dapat mengubah file indeks kedua (yaitu file Almx.NDX) menjadi master
index dengan perintah SET ORDER TO 2. Tampilan di layar setelah perintah
diberikan adalah :
.SET ORDER TO 2
Master index: B:Almx.ndx
Bila pada waktu membuka file database kita belum membuka indeksnya maka
kita dapat membukanya dengan perintah :
.SET INDEX To Nama file indeks, Nama file indeks,......
misalnya
.SET INDEX TO Namadex
Perintah ini juga berguna bila kita akan berganti mengaktifkan file indeks
lainnya.
Kita dapat membuat suatu file indeks berdasarkan dua field atau lebih,
misalnya :
.INDEX ON Nama+Kota TO Nkd
Dalam hal ini untuk orang dengan NAMA yang sama data akan diurutkan menurut
KOTA.
14
Bila tidak ada data yang lain lagi dBase akan menampilkan :
End of LOCATE scope
15
Disamping perintah LIST FOR yang telah kita kenal, dBase mengenal juga
perintah LIST WHILE. Makna perintah LIST WHILE dan bedanya dengan LIST
FOR akan dijelaskan dibawah.
Alan Simpson dalam bukunya “Advance Techniques in dBase III Plus” (Sybec,
1987) menunjukan penggunaan perintah FIND (atau SEEK) dan LIST WHILE untuk
mempercepat proses pemcarian data berlipat kali. Ia menggunakan suatu database
dengan 1000 (seribu) record. Salah satu field-nya adalah LNAME (singkatan dari
Last NAME atau nama keluarga).
Nama file databasenya adalah Test.DBF dengan file indeks Names.NDX. Ia
membandingkan kecepatan dua cara mencari daftar orang yang nama keluarga
“Miller. Misalnya diantara 1000 record itu ada 10 orang yang nama keluarganya
“Miller” yang datanya tersebar dalam database bercampur adukj dengan 999 data
lainnya
Cara petama :
.USE TEST INDEX Names
.LIST FOR Lname=”Miller”
16
PROGRAM STRUKTUR DAN PEMAKAIANNYA
,do prog1
Tombol penyuntingan:
Backspace : Kursor kekiri sambil menghapus huruf yang
dilewati
Ctrl – G atau del : Menghapus huruf di atas kursor
Ctrl – T : Menghapus satu kata di kanan kursor
Ctrl – Y : Menghapus baris tempat kedudukan kursor
Ctrl – N : Menyisipkan baris kosong
Ins : Modus sisip on/off
Ctrl – End atau : Menyimpan perubahan program
Ctrl – W
Esc atau Ctrl -Q : Membatalkan perubahan.
Pemasukan data :
1. Store dan langsung
.Store 123.4 to jumlah
.store “ADI” to nama
.kondisi = .T.
.set date british
.tgl=ctod(“10/10/01”)
2. Accept
17
Memasukkan data melalui papan ketik ditengah pelaksanaan suatu program,
data yang dimasukkan adala data karakter.
b.u. : accept <statement> to variabel
contoh : accept “ input nama “ to nama
3. Input
Memasukkan data melalui papan ketik ditengah pelaksanaan suatu program,
data yang dimasukkan adala data karakter dan numerik.
b.u. : input <statement> to variabel
contoh : input “ input harga “ to vharga
4. Wait
Memasukkan data melalui papan ketik ditengah pelaksanaan suatu program,
data yang dimasukkan adala data karakter. Perbedaan dengan accept adalah
wait hanya menunggu kita memasukkan satu karakter saja.
b.u. : wait <statement> to variabel
contoh : if vkode = space(6)
@23,0 say “kode harus diisi “
wait “tekan sembarang tombol “
loop
endif
Menampilkan data.
1. @ ... say
b.u. : @ (brs,klm) say (ekspresi)
contoh :
@10,10 say “tabel chi”
@12,10 say “ nomor : “ get no
@15,0 clear *membersihkan brs 15 ke bawah
2. instruksi ? dan ??
contoh :
?space (10), “tabel chi“
@12,10
?space (10), “tabel chi” *kursor pindah ke baris selanjutnya
??space(10), “tabel chi” *kursor tetap pada baris tersebut.
18
?space(10),”cetak ke prn” *?/?? jika ada set print on maka
akan di cetak ke printer.
@12,10 say “tekan sembarang tombol “ *say jika tidak ada
set device to
printer maka akan
di cetak tetap pada
layar.
STRUKTUR KENDALI
1. Berurutan A B C
2. Kondisi
A. IF ... ENDIF
IF GAJI >500
DISPLAY
ENDIF
3. Berulang
Do while .not. eof()
Jml = jml + gaji
Skip
19
enddo
20