Senin, 17 Januari 2011

PEMROGRAMAN FOXPRO 2.6

Pengenalan Database...............................................................................................................
-         membuat dan modifikasi table......................................................................................
-         mengisi dan menampilkan data.....................................................................................
-         navigasi data dan pencarian..........................................................................................
-         merubah dan menghapus data......................................................................................
Pengenalan Foxpro Programming.............................................................................................
-         variable.......................................................................................................................
-         basic input output.........................................................................................................
Control Flow en Looping.........................................................................................................
-         if…else…endif............................................................................................................
-         do case … endcase.....................................................................................................
-         for … endfor...............................................................................................................
-         do while … enddo.......................................................................................................
Manipulasi Database................................................................................................................
-         tampil..........................................................................................................................
-         tambah........................................................................................................................
-         cari..............................................................................................................................
-         edit..............................................................................................................................
-         hapus..........................................................................................................................
Menu  en Report.....................................................................................................................
-         menu wizard................................................................................................................
-         report en pencetakan...................................................................................................



PEMROGRAMAN FOXPRO 2.6

>>     Edit Dan Delete Data
Diatas sudah dijelaskan bagaimana menambah, menampilkan dan navigasi data dalam sebah tabel. Berikutnya adalah cara untuk merubah isi/baris data. Untuk merubah baris data juga ada berbagai cara, ada yang secara manual memakai metode BROWSE kemudian dirubah data dan disimpan dengan menekan tombol <CTRL+W> atau menggunakan kalkulasi/rumus REPLACE. Sintak Replace secara umum seperti ini :
REPLACE [ALL] nm_field WITH nilai [FOR kondisi]
Yang artinya Mengganti field [nm_field] dengan [nilai] dapat juga di tambahkan paramater [FOR kondisi] sehingga [nm_field] akan diganti jika memenuhi kondisi yang disyaratkan. Jika paramater ALL ditambahkan maka seluruh baris /isi data yang memenuhi kondisi akan diganti namun jika tidak, hanya baris di record aktif saja yang diganti.
Misal :
LIST
GO 3
REPLACE JUDUL WITH EXPORT-IMPORT 1
LIST
REPLACE ALL PENERBIT WITH “SARANA ILMU KITA” FOR PENERBIT=”SARANA ILMU”
LIST

Berikutnya adalah Perintah untuk menghapus baris data, perintahnya sebagai berikut :
DELETE [ALL] [FOR kondisi]
Perintah Delete saja akan menghapus data pada record aktif, sedangkan menambahkan paramater ALL akan menghapus semua baris data yang ada, dan jika  inging menghapus record yang memiliki kondisi tertentu anda bisa menambahkan FOR kondisi.
Contoh:
LIST
GO 3
DELETE
LIST

Perhatikan data yang di hapus sebenarnya tidak benar2 terhapus, waktu kita menjalankan perintah delete maka record yang terhapus akan ditandai ‘*’ di sebelah kirinya. Nah agar record yang terhapus disembunyikan terlebih dahulu anda bisa menjalankan peritah :
SET DELETE ON
LIST
DELETE ON FOR STOK=5
LIST
Karena sebenarnya data yang terhapus tidak benar2 terhapus jadi kita bisa mengembalikan data yang terhapus tadi menggunakan perintah
RECALL [ALL] [FOR kondisi]
Contoh:
RECALL ALL
LIST
Sedangkan untuk bener2 menghapus data yang di delete tadi kita bisa menggunakan perintah
PACK
Tapi ingat setelah di pack data akan benar2 terhapus dan tidak bisa dikembalikan lagi dengan perintah RECALL.




PEMROGRAMAN FOXPRO 2.6

Sebelum memulai belajar bahasa pemrograman Foxpro 2.6, terlebih dahulu kita kenali environment dari FoxPro 2.6 itu sendiri. Berikut adalah tampilah awal program FoxPro 2.6 :
‘’’Tampilan Awal FoxPro 2.6’’’
Pertama kali masuk program FoxPro 2.6 anda akan di hadapkan pada tampilan dengan menu dan  Command Window. Anda bisa mengetikkan perintah2 foxpro di dalam command window secara interaktif. Mulai dari mengeset variabel2 system hingga perintah2 yang ada dalam FoxPro.
Nah pertama2 sebelum memulai bekerja dengan FoxPro 2.6 yang perlu anda lakukan adalah mengeset direktori kerja anda dengan perintah berikut dalam Command window :
SET DEFAULT TO <DIR>
Contoh :
Misal Direktori kerja anda di C:\FoxProg (karena foxpro 2.6 masih bekerja di dos yang tidak mengenal penamaan file atau directory yang melebihi 8 karakter, maka sebaiknya anda membuat nama direktori tidak lebih dari 8 karakter dan usahakan jangan ada spasi) maka perintah untuk men set default direktorinya adalah sebagai berikut.
SET DEFAULT TO C:\FoxProg

Perintah dalam FoxPro 2.6 tidak Case Sensitive sehingga perintah yang anda ketikkan menggunakan huruf kapital maupun bukan akan dianggap sama. Ada beberapa perintah untuk mengeset variable environment yang lain yang sering digunakan yaitu :
Command
Keterangan
SET DATE [TO] AMERICAN | ITALIAN | BRITISH |DMY | MDY | YMD
Menset input dan output tanggal dengan pilihan :
AMERICAN     = mm/dd/yy
ITALIAN          = dd-mm-yy
BRITISH           = dd/mm/yy
Atau langsung menggunakan format DMY or MDY or YMD dengan D=Day; M=Month en Y=Year
SET CENTURY ON | OFF
Untuk mengeset input dan output tahun dengan ON berarti menggunakan 4 digit sedangkan OFF berarti 2 digit.
Secara default nilainya OFF sehingga kalau menginputkan nilai 09 maka akan dianggap 1909 bukan 2009. Dengan demikan alangkah baiknya jika di ON.
SET STATUS ON | OFF
Memunculkan dan menyembunyikan baris status



Untuk mengetahui perintah2 yang lainnya anda bisa melihat di HELP dengan cara menekan tombol <F1> atau mengetikkan perintah HELP di Command Window.
‘’’Jendela HELP ‘’’


PEMROGRAMAN FOXPRO 2.6

>>     Membuat Tabel
FoxPro 2.6 adalah bahasa pembrograman yang dikhususkan untuk mengolah data, jadi sebelum masuk ke bahasa pemrograman itu sendiri terlebih dahulu kita akan belajar membuat table. Perintah untuk menciptakan sebuah table baru di FoxPro 2.6 adalah :
CREATE nama_tabel.dbf
Dimana nama_tabel.dbf adalah nama table yang akan dibuat. Seperti directori untuk nama tabel ini juga gunakan tidak lebih dari 8 karakter tanpa spasi, jika ekstensi tidak di tuliskan maka secara default foxpro akan memberikan ekstensi dbf. Sebenarnya anda bisa menentukan sendiri ekstensi yang anda gunakan, namun disarankan untuk tetap menggunakan extensi defaultnya FoxPro 2.6 yaitu dbf.
Misal untuk membuat tabel dengan nama t_buku.dbf Anda bisa mengetikkan perintah :
CREATE t_buku
Dan berikutnya akan dihadapkan dengan jendela struktur seperti berikut :
Keterangan :
-         FieldName : Nama Field (kolom dalam sebuah data)
-         Type : Type Field
o       Character               Menyimpan data Karakter mulai A-Z 0-9 beserta simbol dengan Width 1 - 254 Karakter.
o       Numeric                 Menyimpan data Numeric dengan lebar 1 – 20 termasuk tanda + / - beserta
Desimal Place
.
o       Date                       Menyimpan data Tanggal
o       Logical                   Menyimpan data Boolean (True/False)
o       Memo                    Sama dengan type Character namun dapat memuat data yang lebih besar.
o       Float                      Sama dengan Numeric biasanya bilangan pecahan. Dengan lebar 1 – 20 termasuk tanda +/- beserta decimal place.
-         Index Tag : Untuk menentukan index / pengurutan.
Isikan Field2 dari tabel yang akand dibuat jika sudah selesai pilih <OK> atau Tekan <CTRL+W> untuk menyimpan.
See Also :

MODIFY STRUCTURE
Untuk merubah atau menambah struktur tabel.
DISPLAY STRUCTURE
Menampilkan struktur tabel kedalam layar
USE nama_tabel.dbf
Mengaktifkan tabel, jika tidak disebutkan nama tabelnya maka di anggap me non aktifkan tabel.
CLOSE DATABASE ALL
Menutup semua tabel yang terbuka.


>>     Mengisi Data
Untuk mengisi data kedalam tabel ada berbagai macam cara, bisa secara manual mengisi satu persatu, atau berdasarkan kalkulasi dan atau bisa juga dari tabel lain. Untuk mengisi data secara manual diinputkan satu persatu perintah yang biasa digunakan adalah
APPEND
’’Window Append’’’
Isikan datanya dan tekan <CTRL + W> untuk menyimpan datanya.

See Also :
APPEND FROM nama_tabel [WHERE kondisi1,kondisi2…]
Mengkopi dari tabel [nama_tabel] ke dalam tabel yang aktif dengan syarat nama dan tipe datanya sama, jika syarat [WHERE] tidak diisi maka semua data di [nama_tabel] akan dikopi.
INSERT INTO nama_tabel [nama_field1, nama_field2)] VALUES (nilai1, nilai2)
Mengkopi ke [nama_tabel] dengan field1, fields2 dst (jika tidak disebutkan maka dianggap semua fields) dengan values (nilai1, nilai2)
>>     Menampilkan Data
Seperti menambah data, menampilkan data juga ada berbagai macam cara. Seperti berikut :
LIST [field1,field2] [FOR kondisi1,kondisi2]
Menampilkan isi tabel kedalam layar, dengan parameter field1,field2 untuk menentukan nama field apa saja yang di tampilkan dan untuk menampilkan data tertentu anda bisa menambahak parameter FOR kondisi1,kondisi2 … jika tidak disebutkan berarti menampilkan semuanya.
DISPLAY [ALL]
DISPLAY digunakan untuk menampilkan data pada record yang aktif saja sedangkan untuk menampilkan semua data anda bisa menambahkan paramater ALL
BROWSE [FIELDS field1,field2…] [FOR kondisi1,kondisi2…] [NOAPPEND] [NOEDIT] [FREEZE fieldtofreeze] [PARTITION nwidth]
Perintah BROWSE inilah yang paling sering digunakan untuk menampilkan data. Ada banyak fitur yang ditawarkan oleh perintah Browse ini. Paramater FIELDS field1,field2.. untuk menentukan hanya field1 dan field2 saja yang ditampilkan, jika data yang ditampilkan ingin di filter anda bisa menambahkan paramater FOR kondisi.. NOAPPEND untuk menghindari penambahan data (secara default anda bisa menambah data melalui jendela browse ini dengan menekan tombol <CTRL+N>) NOEDIT untuk mencegah pengeditan data, FREEZE untuk memberi efek terkunci selain field yang di sebutkan, dan PARTITION untuk membagi menjadi 2 bagian dengan nwidth adalah lebar bagian yang kiri. Seperti biasanya jika tidak diberi paramater maka akan ditampilkan semua data.

‘’’tampilan data menggunakan LIST atau DISPLAY ALL’’’
‘’’Tampilan data menggunakan perintah BROWSE’’’


PEMROGRAMAN FOXPRO 2.6

Date

Tipe ini berguna utuk menyimpan tipe tanggal, secara default penulisan nilai untuk variabel tipe ini di apit tanda { }.
Tgllahir = {23/03/1986}
Urutan pengisian tanggal dulu baru bulan dan tahun tergantung dari set date, secara default urutan inputnya adalah mm/dd/yy (bulan,tanggal,tahun). Namun anda bisa menggantinya dengan set date to dmy untuk mendapatkan urutan dd/mm/yy.
Untuk mencoba lebih mengenal tipe variabel ini coba buat program baru dengan nama tesVar3.prg kemudian isikan code berikut :
set talk off
clear

set date to dmy
set century on

tglLahir = {23/3/1986}
tglSekarang = date()

? tglLahir
? tglSekarang
? tglSekarang - tglLahir
? tglSekarang + 5

Untuk mendapatkan tanggal sekarang anda bisa memakai fungsi date(). Dalam tipe ini juga mengenal operasi penambahan dan pengurangan hari. Sedang untuk mendapatkan selisih hari dari dua tanggal, anda bisa langsung mengurangkan tanggal akhir dengan tanggal awal.
See also:

Function

Desc…

DTOC(dateVar)
Merubah / Mengkonversi tipe data tanggal menjadi karakter
CTOD(textVar)
Merubah / Mengkonversi tipe data text menjadi tanggal
DATE()



PEMROGRAMAN FOXPRO 2.6

Numeric
Tipe data ini digunakan untuk menyimpan data numeric baik itu bilangan bulat maupun bilangan decimal/pecahan. Untuk mencoba memahami tipe data ini coba buat program tesVar2.prg yang tadi anda buat dengan perintah
MODIFY  COMMAND tesVar2.prg
Mausukkan code berikut ini:
set talk off
clear

umur = 23
tinggi = 170.5
store 1 to istri,anak

? umur
? tinggi
? istri
? anak
? umur / 2
? tinggi+5
? istri+anak
? "Jumlah Istri " + str(istri)
Catatan :
Store <nilai> to NmVar1,NmVar2…
Berarti mengisi var1,2 dst dengan nilai <nilai>. Sedangkan pada baris terakhir ada fungsi str(var) gunanya untuk merubah tipe numeric ke char karena char + numeric akan mengakibatkan error.
See Also:
Function
Desc…
STR(nVar)
Merubah / Mengconvert tipe data numeric menjadi char
VAL(cVar)
Merubah tipe data char menjadi numeric
ROUND(nVar,nDec)
Pembulatan bilangan <nVar> sejumlah nDec
Misal :
Nilai = 12345.6789
? round(Nilai,2)
? round(Nilai,0)
? round(Nilai,-2)
Output
12345.68
12346
12300
INT(nVar)
Mengambil Bilangan bulat dari <nVar>
Misal:
Nilai = 123.45
? int(Nilai)     
? int(5/2)
Output:
123
2


PEMROGRAMAN FOXPRO 2.6

Char

Variabel char atau biasa di sebut string menyimpan data berupa huruf A – Z dan angka 0 – 9 beserta simbol. Variabel char biasanya digunakan untuk menyimpan data yang tidak untuk kalkulasi atau perhitungan aritmatika seperti penambahan, pengurangan dll. Untuh mencoba memahami tipe variabel ini coba program dengan nama tesVar.prg
set talk off
clear

MakananPokok = "Nasi"
NamaDepan = 'Eko'
NamaBelakang = [Purnomo]
Alamat = "Jl. Al'Maidah - Madiun"
Hoby = 'Makan "Sate Ayam" pake Telor'

? MakananPokok
? NamaDepan +  NamaBelakang
? "Alamat Saya " + Alamat
? Hoby