Pada pembahasan didalam bab ini, akan tampak berbeda dengan buku-buku Visual FoxPro yang ada di pasaran.
Saya akan menjelaskan dua cara didalam melakukan pemprosesan data, dengan harapan bahwa kelak anda nantinya dapat menggunakan kedua cara tersebut atau hanya menggunakan salah satu cara yang cocok dengan gaya anda.
Adapun cara tersebut adalah :
Mengolah tabel melalui Jendela Command
Mengolah tabel melalui menu utama
5.1 Mengolah tabel melalui Jendela Command
Sebelum anda mengolah data lebih lanjut, maka lakukan dahulu proses penyetingan pada format tanggal.
5.1.1 Setting tanggal.
Format umum dari Visual FoxPro 9.0 untuk perintah format tanggal adalah :
SET DATE [TO] AMERICAN | ANSI | BRITISH | FRENCH | GERMAN | ITALIAN | JAPAN | TAIWAN | USA | MDY | DMY | YMD| SHORT | LONG
Ketikan perintah ini pada Jendela Command
SET DATE BRITISH
Agar data tanggal mempunyai format [ dd/mm/yy ], sehingga jika anda mengetikan tanggal maka ketikan pertama adalah data tanggal (dd) kemudian data bulan (mm) dan terakhir data tahun (yy).
5.1.2 Membuat tabel baru
Untuk pembahasan pengolahan data ini membutuhkan satu buah tabel baru. Tabel baru tersebut saya beri nama dengan nama tabel penduduk
Tutup semua jendela yang terbuka, ketikan perintah dibawah ini melalui Jendela Command
CLOSE ALL
CREATE
Buatlah tabel dengan mengisikan field-fieldnya sebagai berikut:
Name Type Width Index
no_pen Character 19 ?
nama Character 12
pekerjaan Character 15
jn_kelamin Character 13
tmp_lahir Character 15
tgl_lahir Date 8
status Character 14
agama Character 12
gol_darah Character 2
pendidikan Character 10
jml_anak Numeric 8
alamat Character 31
desa Character 12
kecamatan Character 17
kabupaten Character 11
propinsi Character 14
kondisi Character 12
keterangan Character 34
Isikan field name dan tentukan type yang dipakai pada setiap field nama yang digunakan, Atur index menjadi Ascending [ ? ] untuk field no_pen.
Setelah selesai klik tombol OK.
5.1.3 Ketentuan penulisan pada struktur Tabel
Tidak boleh ada tanda spasi didalam field name.
Gunakan tombol Tab, untuk berpindah ke Type atau Width.
Untuk membuka pilihan lain dari Type, klik panah kebawah hingga semua pilihan dapat terlihat, dan pilih format yang sesuai dengan data anda.
Untuk jumlah Width dapat menggunakan (spiner) panah keatas untuk menambah nilai dan panah kebawah untuk mengurangi nilai, atau dapat diketikan langsung pada kotak Spiner tersebut jumlah yang dikehendaki.
Bila ingin menghapus Field yang salah, gunakan tombol delete yang ada pada bagian bawah, dengan catatan kursor tepat menyorot pada Field yang akan dihapus.
Bila akan menyisipkan Field baru maka gunakan tombol Insert disebelah tombol delete.
5.1.4 Menambahkan data.
Proses penambahan data dapat dilakukan dengan beberapa cara, diantaranya dengan menggunakan cara:
Append
Browse
Format umum dari Visual FoxPro 9.0 untuk perintah menambahkan data adalah :
APPEND [BLANK] [IN nWorkArea | cTableAlias] [NOMENU]
Ketikan pada Jendela Command perintah Append untuk menambahkan data pada tabel penduduk.dbf.
APPEND
Isikan Data... ( Ada pada File PDF )
Setelah semua data di atas anda ketikan ke dalam tabel penduduk.dbf, tekanlah tombol Ctrl + W untuk menyimpan data atau tekan tombol Esc untuk keluar dari tampilan Append.
5.1.5 Membuat duplikasi tabel.
Sebelum anda melakukan pengolahan data, saya sarankan melakukan proses duplikasi tabel dahulu, sehingga jika terjadi kesalahan didalam mengolah data maka data backup tersebut dapat dimanfaatkan kembali.
USE c:\dtpenduduk\penduduk.DBF
COPY TO backuppenduduk
Sekarang lihatlah dengan perintah DIR maka akan tampak ada 2 tabel yang tentunya isi dan strukturnya sama, yakni tabel penduduk.dbf dan backuppenduduk.dbf.
5.1.6 Melihat data.
Format umum dari Visual FoxPro 9.0 untuk perintah menampilkan / melihat data adalah :
BROWSE [FIELDS FieldList] [FONT cFontName [, nFontSize [, nFontCharSet]]] [STYLE cFontStyle] [FOR lExpression1 [REST]] [FORMAT] [FREEZE FieldName] [KEY eExpression1 [, eExpression2]] [LAST | NOINIT] [LOCK nNumberOfFields] [LPARTITION] [NAME ObjectName] [NOAPPEND] [NOCAPTIONS] [NODELETE] [NOEDIT | NOMODIFY] [NOLGRID] [NORGRID] [NOLINK] [NOMENU] [NOOPTIMIZE] [NOREFRESH] [NORMAL] [NOWAIT] [PARTITION nColumnNumber [LEDIT] [REDIT]] [PREFERENCE PreferenceName] [SAVE] [TIMEOUT nSeconds] [TITLE cTitleText] [VALID [:F] lExpression2 [ERROR cMessageText]] [WHEN lExpression3] [WIDTH nFieldWidth] [WINDOW WindowName1] [IN [WINDOW] WindowName2 | IN SCREEN] [COLOR SCHEME nSchemeNumber]
Ketikan perintah Browse, untuk melihat data yang telah anda masukan tadi.
BROWSE
NOTE !!
SEMUA GAMBAR ADA PADA FILE PDF / DOC
Perhatikan pada status bar bahwa tabel sudah terisi oleh 25 data dan sedang dibuka dengan mode Exclusive.
5.1.7 Memanipulasi tampilan jendela browse
Tampilan browse seperti halnya tampilan Jendela Command pada Visual FoxPro 9.0 ini dapat dirubah kelakuan. Tampilan browse mempunyai penampilan mirip dengan program pengolah angka Microsoft Excel.
Berikut beberapa cara untuk memanipulasi tampilan browse, diantaranya adalah:
5.1.8 Melebarkan kolom.
anda dapat melebarkan kolom pada setiap field dengan cara : Geser Pointer mouse anda kearah pertemuan batang judul dari pada Field yang ingin dirubah lebar kolomnya.
Jika pointer mouse sudah berubah menjadi tanda panah kekanan dan kekiri, klik Mouse, tahan kemudian geser kearah kanan untuk melebarkan dan kekiri untuk mengecilkan lebar kolom field tersebut.
5.1.9 Mengembalikan lebar kolom.
Sedangkan untuk menggembalikan lebar kolom ke posisi semula maka seperti halnya Microsoft Excel, cara disinipun sama, yakni dengan cara klik dua kali mouse anda pada posisi batang judul field tersebut.
5.1.10 Memindahkan posisi field.
Posisi field dapat dipindah-pindahkan sesuka hati anda, dengan cara meletakan pointer mouse pada batang judul field yang akan dipindahkan, klik dan tahan mouse, kemudian geser kearah kolom baru yang diinginkan.
5.1.11 Membelah tampilan browse menjadi dua bagian.
Tampilan Browse dalam Visual FoxPro 9.0 dapat ditampilkan berdampingan, caranya :
Klik pada kotak Spliter / Kotak Hitam yang ada pada pojok kiri bawah dari jendela browse tersebut, tahan dan geser kekanan untuk membuat tampilan jendela ini menjadi dua bagian.
5.1.12 Menghilangkan jendela yang membelah tampilan.
Jika Jendela yang membelah layar akan dikembalikan menjadi satu tampilan browse, maka lakukan :
Klik pada Kotak hitam / Spliter, yang ada pada bagian bawah tampilan grid data, tahan mouse dan geser kearah semula / arah pojok kiri, jika telah sampai lepaskan penekanan mouse.
5.1.13 Merubah format huruf pada tampilan browse.
Tampilan browse dapat diganti jenis atau besar hurufnya sehingga sesuai dengan yang anda inginkan.
BROWSE FIELDS nama,pekerjaan FONT 'Courier',16
Tampak tampilan berubah jenis huruf serta besarnya huruf telah berubah. Jika anda mengetikan perintah Browse kembali tanpa adanya embel-embel lain, maka tampilan browse akan seperti format browse standar Visual FoxPro 9.0.
Tuliskan seperti perintah dibawah ini :
BROWSE FIELDS nama FONT 'System', 15 STYLE 'NU'
Maka tampilan browse akan mengandung bentuk huruf system, besarnya 15 dan mempunyai style Normal dan bergaris bawah ( Underline ).
Style huruf yang disediakan visual foxpro 9.0 antara lain adalah : B untuk Bold, I untuk Italic, N untuk Normal, O untuk Outline, Q untuk Opaque, S untuk Shadow, - untuk Strikeout, T untuk Transparent dan U untuk Underline.
5.1.14 Menampilkan browse dengan kolom yang ditentukan.
Kadang didalam mengedit data, anda ingin menggunakan tampilan browse, dan anda menginginkan posisi pengeditan tidak berpindah dari kolom yang ditentukan ke kolom lainnya sehingga kursor tetap berada pada kolom yang telah ditentukan. Gunakan perintah Freeze.
BROWSE FIELDS nama,jn_kelamin,pekerjaan FREEZE jn_kelamin
Dengan tambahan perintah Freeze maka posisi kursor tidak dapat berpindah dari kolom yang ditentukan yakni kolom jn_kelamin.
5.1.15 Menampilkan browse yang tidak dapat di edit.
Tampilan browse dapat ditampilkan tetapi tidak dapat dirubah datanya. Ketikan perintah Browse noedit
BROWSE noedit
Dengan perintah tersebut maka data anda aman untuk ditampilkan karena tidak ada yang dapat melakukan perubahan pada data tersebut.
5.1.16 Menambahkan data kosong pada tampilan browse.
Jika pada tampilan browse anda menekan kombinasi tombol Ctrl + Y maka secara otomatis Visual FoxPro 9.0 akan menambahkan baris kosong dan menyimpan data baru yang berisi baris kosong.
Takanlah kombinasi tombolCtrl+Y, perhatikan jumlah record telah menjadi 26 dengan asumsi 1 baris terakhir adalah data kosong.
5.1.17 Menampilkan browse tanpa menu tabel.
Jika anda mengetikan perintah browse, maka menu akan tampil lengkap beserta menu tabel. Tetapi jika anda beri perintah dibawah ini, maka menu tabel tidak ditampilkan.
BROWSE nomenu
5.1.18 Menghilangkan garis dari tampilan browse.
Tampilan garis atau grid pada jendela browse dapat dihilangkan dengan perintah Browse norgrid
BROWSE norgrid
Untuk menampilkan garis atau grid pada tampilan jendela browse dapat anda ketikan perintah Browse nolgrid
BROWSE nolgrid
atau
Browse
5.1.19 Membelah partisi browse.
Tampilan jendela browse dapat dibelah menjadi 2 bagian, sehingga anda dapat menghentikan tampilan yang satu dan menggulung tampilan lainnya. Angka minimal untuk partisi adalah 20, ketiklah perintah Browse Partition ..
BROWSE PARTITION 50
5.1.20 Tampilan edit.
Selain tampilan browse ada juga tampilan Edit dimana pada tampilan ini data ditampilkan kebawah sedang pada browse data ditampilkan dalam bentuk kolom memanjang kekanan, sehingga untuk melihat field berikutnya harus menggulungnya kearah kanan.
Ketikan perintah Edit
EDIT
5.1.21 Menampilkan browse dan edit secara bersamaan.
Tampilan browse dan edit dapat ditampilkan secara bersama-sama. sehingga anda lebih mudah didalam melakukan pengeditan data.
BROWSE PARTITION 50 REDIT
Jika penunjuk kursor dipindahkan ke record lain maka tampilan antar partisi edit dan browse akan mengikut dan melakukan links, jika ada perubahan pada tampilan browse maka akan terjadi perubahan pula pada data yang ada ditampilan edit, begitu pula sebaliknya.
5.1.22 Memutuskan Link.
Jika anda menginginkan tampilan browse dan edit tidak terjadi link antara partisi makan ketikan perintah nolink.
BROWSE PARTITION 50 REDIT nolink
5.1.23 Mengenal area tabel.
anda dapat memanggil tabel dan menempatkannya dalam area kerja yang anda tentukan dengan perintah SELECT atau IN.
5.1.24 Perintah select.
Bentuk umum perintah select adalah :
SELECT nWorkArea | cTableAliasVisual FoxPro 9.0 mempunyai area kerja yang dapat dipakai untuk membuka banyak tabel dalam satu waktu.
SELECT a
USE c:\dtpenduduk\penduduk.DBF
BROWSE
Disini Visual FoxPro 9.0 menempatkan atau membuka tabel penduduk.dbf pada lokasi a.
SELECT 10
USE c:\dtpenduduk\penduduk.DBF
SELECT 15
USE c:\dtpenduduk\backuppenduduk.DBF
SELECT 10
EDIT
Menempatkan atau membuka tabel penduduk.dbf pada area 10 dan membuka tabel backuppenduduk.dbf pada area 15. kemudian membuka area 10 kembali dan kemudian melakukan proses edit pada tabel aktif yakni tabel penduduk.dbf.
Note :
Variabel nWorkArea pada select boleh berupa huruf, penggunaan huruf ini bebas, tanpa membedakan huruf besar atau huruf kecil. Selain penggunaan huruf, anda dapat juga menuliskan area kerja dari tabel tersebut dengan angka [ 1,2,3,…,750 ].
5.1.25 Perintah in.
Selain perintah select ada juga perintah yang berfungsi menempatkan area kerja suatu tabel yakni perintah IN,
USE c:\dtpenduduk\penduduk.DBF IN 50
SELECT 50
Disini Visual FoxPro 9.0 menempatkan tabel penduduk.dbf di lokasi / area kerja ke 50
Jika posisi anda saat ini di area 1 maka anda tidak dapat melihat dengan perintah browse tabel yang berada diarea 50.
Untuk dapat melihat tabel diarea 50 maka, anda harus masuk atau menuju area tersebut.
SELECT 50
BROWSE
Disini anda bebas menentukan area tabel yang anda buka, akan tetapi untuk contoh diatas, mungkin dapat membuat anda lupa karena nilai area yang anda berikan langsung ke area 50 atau bisa jadi tidak beraturan.
Cobalah anda buat yang lebih baik seperti
USE c:\dtpenduduk\backuppenduduk.DBF IN 1
USE c:\dtpenduduk\penduduk.DBF IN 2
Dengan demikian anda mungkin tidak akan lupa dengan area yang anda buat, kerena area tersebut dibuat secara urut dari area 1 dan area 2.
5.1.26 Menyerahkan area pada visual foxpro 9.0.
Namun demikian, demi memanjakan penggunanya, Visual FoxPro 9.0 masih juga menawarkan perintah pengalokasian tabel yang lebih mudah dengan menspesifikasikan pada IN 0 [Nol], dengan perintah ini berarti anda menyerahkan lokasi area penempatan tabel kepada Visual FoxPro 9.0.
USE c:\dtpenduduk\penduduk.DBF IN 0
USE c:\dtpenduduk\backuppenduduk.DBF IN 0
Timbul pertanyaan, lalu tabel mana yang saat ini terbuka ?. saya akan menjelaskan secara visual proses pembukaan tabel pada beberapa area ini.
Pertama tutuplah semua tabel yang terbuka dengan perintah close all
Bukalah tabel penduduk.dbf pada area 0
Buka pula tabel backuppenduduk.dbf pada area 0
USE c:\dtpenduduk\penduduk.DBF IN 0
USE c:\dtpenduduk\backuppenduduk.DBF IN 0
Sedangkan untuk mengetahui tabel mana yang terbuka saat ini adalah dengan cara : Ketikan pada Jendela Command Perintah
?DBF()
Perhatikan hasil yang dapat anda lihat pada Jendela View Visual FoxPro 9.0. Tabel yang terbuka adalah :
C:\dtpenduduk\penduduk.dbf
Jadi tabel yang aktif adalah tabel yang ada pada area kerja pertama, berbeda dengan perintah select, dimana tabel sudah langgung menempatkan area yang dikehendaki.
5.1.27 Mengaktifkan tabel antar area.
anda dapat berpindah ke area tabel backup-penduduk.dbf dengan cara :
SELECT backuppenduduk
?DBF()
Sedangkan untuk membuka area tabel penduduk.dbf, anda menuliskannya dengan cara :
SELECT penduduk
Note :
Bila anda membuka tabel pada area yang telah terbuka sebuah tabel atau membuka tabel pada area yang sama, maka tabel pertama akan tertutup dan digantikan dengan tabel yang baru saja anda buka.
Misalnya :
USE c:\dtpenduduk\penduduk.DBF
USE c:\dtpenduduk\backuppenduduk.DBF
Maka area tabel penduduk.dbf akan ditutup dan secara otomatis Visual FoxPro 9.0 menggantikan posisi tabel penduduk.dbf dengan tabel backup-penduduk.dbf.
5.1.28 Display Status.
Dengan perintah ini anda dapat langsung melihat tabel apa saja yang terbuka saat ini.
Ketik perintah ini pada Jendela Command.
USE c:\dtpenduduk\penduduk.DBF
CLEAR && untuk membersihkan tampilan layar
DISPLAY STATUS
5.1.29 Melihat struktur tabel.
anda dapat melihat langsung struktur dari suatu tabel dengan mengetikkan perintah ini pada Jendela Command.
LIST STRUCTURE
Disini anda dapat melihat nama file yang sedang aktif, jumlah record, dan waktu file di update, serta dapat pula melihat struktur field dari file tersebut.
Pada bagian bawah batang status bar, anda dapat melihat file yang sedang aktif dan jumlah record yang dikandungnya serta record nomor berapa yang saat ini sedang dibaca atau posisi dimana pointer sedang berada.
5.1.30 Posisi record.
Jika anda akan melihat perubahan posisi keberadaan dari record pertama dan akan berpindah ke record 10, maka anda tinggal mengetikkan pada Jendela Command angka 10, dan lihatlah sekarang pada status bar, record pointer sudah menunjukkan angka 10/26.
Bila anda belum yakin dan ingin menampilkannya pada layar Visual FoxPro 9.0 maka anda ketikan perintah ini :
CLEAR
?RECNO()
Perhatikan bahwa tanda record nomor 10 sudah ditampilkan pada jendela view Visual FoxPro 9.0.
Coba anda lihat dengan menggunakan perintah browse. lihatlah bahwa posisi pointer mouse menunjukkan pada posisi record ke 10.
5.1.31 Keluar dari posisi browse.
Untuk keluar dari posisi jendela browse, dapat anda tekan tombol
Esc, atau tombol Ctrl + W, atau tombol icon Close yang ada pada jendela browse tersebut.
5.1.32 Mengedit record / data.
Untuk mengedit atau memperbaiki data ada banyak cara, diantaranya melalui perintah Edit, bila anda ingin mengedit record no 17 misalnya, maka ketik dahulu nomor record tersebut kemudian beri perintah edit.
17
EDIT
5.1.33 Berpindah / menuju record tertentu.
Ada banyak cara untuk melakukan perpindahan pointer / kursor keposisi record yang diinginkan.
Ketikan perintah ini pada Jendela Command :
GO top - menuju Record paling atas / Awal.
GO 9/goto 9 - menuju Record nomor 9.
SKIP 5 - menuju ke record nomor 5
SKIP -2 - menuju ke 2 record sebelumnya
GO bottom - menuju Record paling Akhir.
5.1.34 Copy file / tabel.
Pada pembahasan sebelumnya telah disinggung tentang proses penduplikasian tabel. Format baku perintah untuk itu adalah :
COPY FILE FileName1 TO FileName25.1.35 Mengcopy seluruh data suatu tabel yang tidak sedang dibuka / aktif.
Seluruh isi dari sebuah tabel dapat di duplikasikan atau di copy menjadi tabel baru.
CLOSE ALL
COPY FILE penduduk.dbf TO newpenduduk.dbf
DIR
Perintah diatas adalah membuat tabel baru yang bernama newpenduduk.dbf dimana isin datanya sama persis dengan tabel penduduk.dbf
5.1.36 Mengcopy semua struktur field dari tabel.
Format umum perintah ini adalah :
COPY STRUCTURE TO TableName [FIELDS FieldList] [[WITH] CDX | [WITH] PRODUCTION] [DATABASE cDatabaseName [NAME cTableName]]Ketikan perintah :
USE penduduk
COPY TO penduduk2 stru
Mengcopy seluruh struktur tabel bukan datanya dari tabel penduduk.dbf ke tabel peduduk2.dbf
5.1.37 Mengcopy hanya struktur field yang diinginkan saja.
USE c:\dtpenduduk\penduduk.DBF
COPY STRUCTURE TO penduduk3 FIELDS nama,pekerjaan
Mengcopy struktur tabel dari tabel penduduk.dbf menjadi penduduk3.dbf hanya struktur field nama dan pekerjaan.
Jika anda melihat data dengan perintah browse maka data penduduk3.dbf kosong dan hanya terdapat dua buah field saja
USE penduduk3
BROWSE
Visual FoxPro 9.0 mengijinkan anda melihat data, meski data tersebut belum terisi / kosong.
5.1.38 Mengcopy data tabel beberapa record saja.
Visual FoxPro 9.0 dapat mengambil data dari dalam tabel aktif hanya sejumlah record tertentu saja.
GO top
USE c:\dtpenduduk\penduduk.DBF
COPY next 5 to pnd5
USE pnd5
BROWSE
Jika anda lihat isi dari tabel pnd5.dbf maka akan terlihat 5 data didalamnya
Jika data penduduk akan dicopykan sebanyak 15 buah mulai dari record nomor 9 maka perintahnya sebagai berikut.
9
COPY TO penbaru next 15
USE penbaru
BROWSE
5.1.39 Mengcopy data tabel beberapa record saja dan hanya beberapa struktur.
USE c:\dtpenduduk\penduduk.DBF
GO top
COPY TO temp FIELDS nama,alamat NEXT 10
USE temp
BROWSE
Dari tabel penduduk.dbf yang dibuka, kemudian dicopykan ke tabel baru bernama temp.dbf, sebanyak 10 record dan hanya untuk field nama dan alamat daja
5.1.40 Mengcopy data tabel mulai dari record aktif hingga akhir.
Untuk mengcopy data tabel dari posisi record aktif hingga record terakhir gunakan perintah : Rest
USE c:\dtpenduduk\penduduk.DBF
7
COPY TO pendakhir rest
USE pendakhir
BROWSE
Akan mengcopy data dari record nomor 7 hingga sampai akhir data.
5.1.41 Mengcopy data tabel visual foxpro 9.0 untuk digunakan di program microsoft excel.
Mungkin anda akan membuat laporan, tapi sangat mendesak waktunya, sedangkan anda belum mahir membuat format laporan di Visual FoxPro 9.0, untuk itu buat saja laporan di dalam Microsoft Excel.
Data pada tabel Visual FoxPro 9.0 dapat dicopykan menjadi format .XLS sehingga dapat dibuka didalam program Microsoft Excel
USE penduduk
COPY TO exportoxls TYPE XL5
5.1.42 Mengcopy data dengan kriteria FOR.
Data dalam tabel dapat dicopykan dengan menggunakan kriteria For, proses ini menyeleksi untuk data yang dipilih saja sesuai kriteria For.
USE c:\dtpenduduk\penduduk.DBF
BROWSE
COPY TO datakawin FOR status =[KAWIN]
USE datakawin
BROWSE
Hanya mencopy data yang mempunyai status [KAWIN] dari tabel penduduk.dbf kedalam tabel baru bernama datakawin.dbf
5.1.43 Mengcopy data dengan kriteria for dan and.
Visual FoxPro 9.0 dapat menggabungkan kriteria for dengan kriteria and, hingga didalam melakukan pengolahan data menjadi lebih tepat.
Misalnya : anda akan mengcopykan data dari tabel penduduk yang mempunyai kriteria pekerjaan sebagai PNS dan mempunyai status perkawinannya adalah KAWIN, maka ketikan perintah berikut di Jendela Command.
USE c:\dtpenduduk\penduduk.DBF
COPY TO pnskawin FOR pekerjaan =[PNS] .and. status =[KAWIN]
USE pnskawin
BROWSE
Perhatikan penggunaan perintah and terdapat titik didepan dan dibelakang kata and
Jika tidak dituliskan maka Visual FoxPro 9.0 akan menampilkan pesan kesalahan.
5.1.44 Mengcopy data dengan kriteria while.
Jika anda menggunakan perintah for untuk mengcopy data maka semua perintah yang masuk dalam kriteria for akan dicopykan. Visual FoxPro 9.0 menyediakan perintah while untuk mengcopy data dari posisi record aktif sebanyak record yang memenuhi kriteria while saja dalam sekali proses.
USE c:\dtpenduduk\penduduk.DBF
2
BROWSE
a=status
copy to penwhile WHILE status =a
Perhatikan pada gambar diatas mulai dari posisi record nomor 2 kemudian ditentukan kriteria while untuk field status yang berisi data KAWIN, kemudian dilakukan proses pengcopyan data hingga sebanyak data yang ditentukan oleh kriteria while tersebut.
Proses ini akan berhenti jika kriteria yang ditentukan while tidak ditemukan lagi.
Pada contoh diatas data hanya dicopykan sebanyak 9 record. Karena recor ke 11 berisi data status yang tidak masuk dalam kriteria while.
5.1.45 Mengcopy struktur menjadi data.
Struktur tabel dapat dicopykan fieldnya kedalam data dengan cara:
USE c:\dtpenduduk\penduduk.DBF
COPY STRUCTURE EXTENDED TO Tempa
USE tempa
BROWSE
Struktur tabel penduduk.dbf dicopykan menjadi data dan disimpan didalam file tempa.dbf.
5.1.67 Replaca data.
saya akan menjelaskan kepada anda cara menggunakan perintah Replace.
Kita akan memulainya dari awal data yang belum berubah sama sekali yakni data : backuppenduduk.dbf
CLEAR ALL
USE c:\dtpenduduk\backuppenduduk.DBF
COPY TO penduduk FOR nama <>' '
CLOSE ALL
Perintah diatas adalah perintah membuat tabel baru bernama tabel penduduk.dbf dan isinya berjumlah 25 record, karena hanya record yang terisi atau tidak kosong saja yang dicopykan.
Sekarang kita akan memproses perubahan data yang ada pada tabel penduduk.dbf.
5.1.68 Replace dengan kondisi tertentu.
Untuk merubah isi dari field keterangan menjadi *** dan hanya yang mempunyai kondisi KAYA, maka ketikan perintah ini.
CLOSE ALL
USE c:\dtpenduduk\penduduk.DBF
BROWSE
REPLACEketerangan WITH '***' FOR kondisi =[KAYA]
5.1.69 Replace seluruh data.
Untuk merubah isi field keterangan menjadi kosong semuanya maka ketikan perintah :
REPLACE keterangan WITH ' ' all
5.1.70 Replace data dengan menggabungkan beberapa field.
Untuk membuat isi field keterangan berisi data dari isi field nama, status dan kondisi, maka ketikan perintah :
REPLACE keterangan with nama + status + kondisi all
Jika akan mengisikan data keterangan dengan kombinasi tulisan anda sendiri dan juga berisi dengan data yang ada didalam tabel tersebut, seperti :
REPLACE keterangan WITH TRIM (nama) +' '+ 'lahir pada tgl: ' + DTOC (tgl_lahir)
Data diatas mengisikan pada field keterangan yang berasal dari field nama ( yang diambil hanya namanya saja dan dihapus semua spasi yang ada didepannya dan dibelakangnya, kemudian diberi satu spasi dan ditambahkan dengan kata [lahir pada tgl :] ditambah dengan isi data dari field tgl_lahir.
Hasilnya :
5.1.71 Replace data dengan menjumlahkan pada satu field.
Untuk melakukan proses matematis maka diperlukan data berjenis numeric.
Pada contoh ini di proses field jml_anak karena hanya field ini satu satu nya yang berjenis numeric.
Untuk merubah jumlah pada field jml_anak ditambahkan nilai 10 dengan hanya yang pempunyai isi field agama sama dengan ISLAM
REPLACE jml_anak WITH jml_anak + 10 FOR agama =[ISLAM]
Untuk mengembalikan data seperti semula, tinggal merubah perintah + 10 menjadi -10
REPLACE jml_anak WITH jml_anak - 10 FOR agama =[ISLAM]
5.1.72 Replace data dengan menjumlahkan pada lain field.
Misalnya saja, jika anda mempunyai 3 buah field numeric yakni : gaji, tunjangan dan total. Dimana data gaji dan tunjangan telah terisi dan akan dilakukan perubahan data pada field total dengan nilai sama dengan [gaji+tunjangan], maka perintah nya adalah :
REPLACE total WITH gaji + tunjangan all
5.1.73Replace data dengan data tanggal.
Data bulan pada field tgl_lahir dapat diterjemahkan hingga menghasilkan urutan pada bulan dalam satu tahun.
REPLACE keterangan WITH CMONTH(tgl_lahir)all
BROWSE FIELDS tgl_lahir, keterangan
Perintah tersebut akan merubah semua data pada field keterangan menjadi nama bulan.
5.2 Mengolah tabel melalui menu utama
Berikut adalah cara mengolah data tabel melalui menu utama Visual FoxPro 9.0.
Pertama bukalah tabel bebas penduduk kemudian hapus isinya dengan perintah zap, kemudian tambahkan dengan data yang ada didalam tabel backuppenduduk.
USE penduduk
ZAP
APPEND FROM backuppenduduk
USE
Jalankan project pjpenduduk, masukan tabel bebas penduduk.dbf ke dalam project.
MODIFY PROJECT c:\dtpenduduk\pjpenduduk.pjx
ADD TABLE c:\dtpenduduk\penduduk.dbf
5.2.1 Menampilkan edit dan browse secara bersama-sama.
Setelah tampilan dari jendela browse tampak menjadi dua bagian, maka anda dapat membuat salah satu tampilan browse tersebut menjadi tampilan edit.
Klik pada salah satu tampilan browse kemudian klik Menu View pilih Edit. Sekarang tampilan tampak seperti gambar visual dibawah ini. Jika salah satu digerakan maka tampilan lainnya ikut pula menyesuaikan.
5.2.2 Link partitions.
Tapi jika anda tidak menginginkan antara tampilan Edit dan Browse mempunyai Link maka anda dapat memutuskan Link tersebut melalui Menu Table kemudian pilih Link Partitions.
5.2.3 Gridline.
Seperti halnya Microsoft Excel, pada Visual FoxPro 9.0 juga terdapat Gridlines. Yakni garis-garis bantu yang akan muncul pada posisi tampilan Browse.
Gridlines dapat dihilangkan jika anda menginginkannya. Klik Menu View pilih Grid Line.
5.2.4 Berpindah / menuju record tertentu
Tampilkan data dalam bentuk tampilan browse, klik menu Table pilih Go to Record, tentukan perpindahan yang anda inginkan.
5.2.4.1 Top
Untuk menuju record paling atas / awal.
5.2.4.2 Bottom
"Bottom" Untuk menuju record paling akhir.
5.2.4.3 Next
Untuk menuju record berikutnya
5.2.4.4 Previous
"Previous" Untuk menuju record sebelumnya.
5.2.4.5 Record #...
Untuk menuju record yang ditentukan
Contoh penggunaan dari Record #.... Tempatkan posisi ke record nomor satu dengan cara klik pada tampilan browse record pertama, pada posisi nama HAKA, kemudian klik menu Table – Go to Record – Record # …, akan tampil kotak dialog Go to Record. Isikan dengan nomor record yang diinginkan, misal record nomor 10, tekan button OK.
5.2.4.6 Locate …
Untuk menuju record yang ditentukan dengan kriteria.
Pilihan ini mempunyai kriteria pencarian, dan mengajak anda untuk memanfaatkan fasilitas Expression Builder dari Visual FoxPro 9.0.
Klik menu Table – Go to Record – Locate …, akan tampil kotak dialog Locate Record. Pilih All pada Scope dan pada kotak isian For, isikan langsung kriteria pencarian atau jika anda ingin meminta bantuan dengan menampilkan Fasilitas Expression Builder dari Visual FoxPro 9.0 , klik pada button (…) yang ada disebelah kanan For.
Kotak dialog Expression Builder akan ditampilkan, perhatikan kotak isian pada Locate Record For: masih kosong.
Misalkan saja anda akan mencari atau menuju ke pada teman yang bernama “AJENG”.
Yang harus dilakukan adalah : klik dua kali pada field nama yang ada pada kotak isian dari Fields, sehingga nama field tersebut ditampilkan pada kotak Locate Record For: . Perhatikan kotak isian yang telah terisi dibawah ini, langkah selanjutnya, tekan spasi dan ketikan = “AJENG”, hingga sekarang tampak seperti gambar dibawah ini. Tekan button OK
Setelah penekanan Button OK, maka Visual FoxPro 9.0 akan menampilkan kembali kotak dialog Locate Record yang berisi dengan kriteria pencarian pada For : Tblbiodata.nama = "AJENG "
Klik button Locate, lihatlah data AJENG ditemukan dan pointer telah berpindah pada record dimana posisi AJENG berada.
Perhatikan baris status dibawah layar utama Visual FoxPro 9.0 yang menunjukan posisi record dari pada AJENG menunjukkan record ke 21/25. Artinya record ke 21 dari jumlah seluruhnya 25 record.
Jika pada For : Tblbiodata.nama = "AJENG", kata AJENG tidak diberi tanda petik dua maka Visual FoxPro 9.0 akan menampilkan pesan kesalahan, hal ini dikarenakan struktur type field dari nama adalah character maka jika tidak diberi tanda petik dua, data dianggap numeric.
Ada banyak type field yang dapat dipakai seperti type Character, Numeric, Date , General, Memo dan lain-lain. anda dapat melihat jenis ini pada saat anda mendisain Tabel, atau menampilkannya dengan memilih menu View – Table Designer.
Sebagai gambaran, type Character digunakan untuk data berupa informasi seperti nama orang, alamat, keterangan, type Nuneric untuk diisikan angka bilangan bulat misalkan gaji, tunjangan, bonus, total, type Memo digunakan untuk menyimpan karakter yang mempunyai ukuran yang sangat besar.
Dalam program / Jendela Command dapat ditulis seperti ini :
GO top
LOCATE ALL FOR Tblbiodata.nama = "AJENG"
Browse
5.2.5 Replace data / proses pengkinian data
Proses replace data pada Tabel aktif berguna untuk menghasilkan data yang telah diperbaharui. Untuk melakukan proses replace data maka lakukan hal berikut ini, tampilkan data dengan browse, kemudian dari menu Table pilih Replace Field…, Maka akan terbuka kotak dialog Replace Field yang dapat diisikan.
Klik pada panah kebawah yang ada pada sebelah kotak isian Field, untuk mengganti dengan nama field yang akan anda proses, misalkan dipilih field status.
Isikan kotak With dengan isian yang anda inginkan misalnya “BELUM MENIKAH”, tekan tombol Enter atau klik tombol Replace. Proses perubahan yang dilakukan dengan perintah replace dapat anda lihat hasilnya pada tabel yang sedang terbuka. Tampak sekarang isi data status pada data AJENG telah berubah dari KAWIN menjadi BELUM KAWIN.
Dalam program / Jendela Command dapat ditulis seperti ini
REPLACE NEXT 1 penduduk.status WITH "BELUM KAWIN"
Untuk diperhatikan
Perlu hati-hati didalam melakukan proses Replace, karena begitu perintah ini dijalankan, maka Visual FoxPro 9.0 akan langsung melakukan aksi menjalankan perintah replace dan melakukan perubahan.
Jika anda belum yakin akan kebenaran perintah maka hendaknya melakukan backup data dahulu sehingga jika terjadi perubahan yang tidak diinginkan maka masih dapat mengambil data dari File backup tersebut.
5.2.6 Melihat posisi record yang sedang aktif
Untuk melihat posisi record yang aktif dengan cara : melihat status bar yang ada ditampilan bawah layar utama Visual FoxPro 9.0, atau melihat tanda panah yang ada pada sebelah kiri data pada tampilan browse. Karena jika anda ingin melakukan proses replace data pada record no 2, seandainya anda lupa menempatkan pointer record di no 10 maka data yang akan diproses adalah data record pada no 10 bukan record no 2.
5.2.7 Replace dengan kriteria
5.2.7.1 Scope Next
Batasan Next pada proses replace adalah untuk menentukan berapa banyak record yang diproses kebawah dari posisi pointer berada. Misalkan data pada field pekerjaan akan diganti menjadi “ “ ( data kosong ) dari posisi record nomor 1 kebawah sebanyak 5 record,
Pertama pindahkan pointer ke record nomor satu melalui menu Table – Go to Record – Top.
Kemudian tampilkan kotak dialog replace dengan perintah Table – Replace Field, isikan seperti dibawah ini.
Hasilnya akan tampak bahwa ada 5 record pada field pekerjaan yang telah dirubah menjadi kosong / “ “.
Dalam program / Jendela Command dapat ditulis seperti ini
GO TOP
REPLACE NEXT 5 penduduk.pekerjaan WITH " "
5.2.7.2 Scope Record
Batasan Record menunjukan record nomor yang ditentukan yang akan di rubah. Misalkan untuk record nomor 5 pada Filed nama akan dirubah dengan nama sawal ( huruf kecil ). Maka isikan pada kotak dialog Replace Field seperti dibawah ini.
Hasilnya dapat dilihat pada record nama SAWAL menjadi sawal ( Huruf kecil ).
Dalam program / Jendela Command dapat ditulis seperti ini
REPLACE NEXT 1 penduduk.nama WITH "sawal"
5.2.7.3 Scope Rest
Batasan Rest berfungsi untuk merubah data dari posisi pointer berada hingga record terakhir, misal anda akan merubah data pada field pekerjan menjadi NELAYAN mulai dari record no 5 hingga akhir, maka perintahnya seperti pada gambar dibawah ini.
Maka hasilnya tampak seperti ini.
Dalam program / Jendela Command dapat ditulis seperti ini
GO 5
REPLACE REST penduduk.pekerjaan WITH "NELAYAN"
5.2.7.4 Scope All
Batasan ini adalah untuk merubah seluruh data didalam satu field. Misalnya anda akan merubah data pekerjaan menjadi PETANI semuanya, maka tampilan perintah tampak seperti gambar dibawah ini.
Nb. Untuk perintah All posisi record data boleh dimana saja.
Maka semua data pada field pekerjaan akan dirubah menjadi PETANI seluruhnya.
Dalam program / Jendela Command dapat ditulis seperti ini
REPLACE ALL penduduk.pekerjaan WITH "PETANI"
5.2.7.5 Kriteria For
Kriteria ini untuk menunjukan satu batasan “Untuk”, misalnya anda ingin merubah seluruh isi data pada field status yang berisi data KAWIN menjadi NIKAH.
Tampilkan kotak dialog Replace, pilih status pada pilihan Field, dan isikan “NIKAH” pada kotak With, tentukan All pada pilihan Scope.
Klik dua kali pada kotak disebelah kanan pilihan For, pada tampilan Expression Builder klik dua kali field status pada pilihan Fields hingga field status Penduduk.status tampak pada kotak isian FOR clause(expL), tekan spasi kemudian ketikan kata =”KAWIN”, tekan OK. Perhatikan gambar dibawah ini.
Artinya : anda akan melakukan perubahan semua data pada field status dari data yang berisi KAWIN menjadi NIKAH
Dalam program / Jendela Command dapat ditulis seperti ini
REPLACE ALL penduduk.status WITH "NIKAH" FOR Penduduk.status = "KAWIN"
Lihat hasilnya :
5.2.7.6 Kriteria While
Kriterian ini merupakan batasan pemprosesan dari record aktif saat ini hingga sejumlah record yang ditentukan oleh kriteria while kebawah. Sebelum anda mencoba kriteria while ini coba anda rubah isi data pada record 7 untuk field pekerjaan dengan diisi dengan data PILOT.
Jika sudah tampak seperti gambar diatas, letakan pointer ke record no 5. disini anda akan merubah data pada field pekerjaan dimulai dari record ke 5 hingga kebawah sebanyak record yang mengandung kriteria data PETANI menjadi PETERNAK. Pindahkan pointer ke record no 5 ( nama = sawal ), kemudian tampilkan kotak dialog Replace dan isikan seperti gambar dibawah ini.
Klik kotak disebelah pilihan While, kemudian akan masuk pada kotak dialog Expression Builder, cari field pekerjaan pada pilihan Fields, klik dua kali field pekerjaan hingga tampil didalam kotak WHILE clause. Tekan tombol spasi kemudian ketikan = “PETANI”, kemudian tekan tombol OK.
Rubahlah batasan Scope menja Rest. Sekarang tampak seperti gambar dibawah ini, klik tombol Replace.
Lihat hasilnya bahwa tidak semua field pekerjaan yang berisi PETANI dirubah menjadi PETERNAK, meski telah diberi perintah Rest. dikarenakan adanya kriteria while yang diberikan, terlihat hanya dua record saja yang berubah, padahal semestinya dengan perintah Rest data dari posisi hingga akhir akan berubah, kenapa dalam hal ini tidak terjadi perubahan?.
Penjelasan.
Jika perintah replace diberi kriterian While maka hanya membaca data yang mengandung data yang ditentukan saja ( dalam hal ini “PETANI” ) sampai data tersebut tidak ditemukan. Pada contoh diatas tampak hanya 2 record data yang dirubah menjadi PETERNAK, karena data ke 3 bukan data yang mengandung kata PETANI melainkan data PILOT, maka proses replace berhenti hingga disitu.
Dalam program ditulis seperti :
GO 5
REPLACE REST penduduk.pekerjaan WITH "PETERNAK" WHILE Penduduk.pekerjaan = "PETANI"
Atau
5
A=”PETANI”
REPLACE REST penduduk.pekerjaan WITH "PETERNAK" WHILE Penduduk.pekerjaan = A
5.2.8 Contoh lain penggunaan replace
Beberapa contoh pemprosesan data menggunakan perintah replace
5.2.8.1 Contoh 1. [ LOWER ]
anda akan merubah semua nama yang ada di dalam tabel dari huruf besar menjadi huruf kecil.
Lakukan beberapa tahapan berikut ini:
Klik menu Table – Replace Field…
Klik kotak disebelah kanan With untuk menampilkan kotak dialog Expression Builder.
Klik kotak dropdown pada pilihan String didalam group Functions, cari LOWER(expC), hingga masuk ke dalam kotak WITH:
Setelah tulisan LOWER(expC) muncul pada kotak WITH: , kemudian cari field nama pada pilihan Fields, kemudian klik dua kali field nama tersebut. sehingga pada kotak isian WITH: terisi LOWER(Penduduk.nama).
Tekan OK, dan akan kembali ke kotak dialog Replace Field, rubah Scope menjadi All
Klik tombol Replace.
Tampak hasilnya bahwa data pada field nama yang tadinya huruf besar sekarang telah berubah menjadi huruf kecil semua.
Dalam program / Jendela Command dapat ditulis seperti ini :
REPLACE ALL penduduk.no_pen WITH LOWER(Penduduk.nama)
mencopy beberapa record dari Tabel A ke Tabel B sementara Tabel B telah berisi 10 Record (Jadi singkatnya Tabel B ingin ditambahin beberapa Record dari Tabel A) perintahnya gimana y?
BalasHapusatas bantuannya trima kasih