Materi Khusus Untuk Kalangan Sendiri
STT CAHAYA SURYA KEDIRI - 2015
Materi Lanjutan Mata Kuliah Pemrograman Database Kelas Karyawan
Penjelasan : tdt1 = alltrim(thisform.combo1.value) Digunakan untuk mengambil nilai combo1 dan hasilnya disimpan di variable memori tdt1 tdt2 = alltrim(thisform.combo2.value) Digunakan untuk mengambil nilai combo2 dan hasilnya disimpan di variable memori tdt2 tdt3 = alltrim(str(year(thisform.text4.value))) Digunakan untuk mengambil tahun lahir (diubah menjadi data character) dan hasilnya disimpan di variable memori tdt3 if myadd Digunakan untuk menguji apakah data yang diproses data baru (Myadd = .T.) select dtktp Digunakan untuk mengaktifkan table dtktp calculate max(right(noktp,4)) to tdt4 Digunakan untuk mencari nilai maksimum/tertinggi dari 4 digit terakhir nomor ktp, hasilnya disimpan dalam variable tdt4 tdt4 = val(tdt4) + 1 Digunakan untuk mengubah tdt4 menjadi numeric dan ditambah 1 tdt5 = alltrim(str(tdt4)) Digunakan untuk mengubah tdt4 menjadi character, dihilangkan spasi kosongnya dan disimpan dalam variable tdt5 1
Materi Khusus Untuk Kalangan Sendiri
STT CAHAYA SURYA KEDIRI - 2015 do case case len(tdt5) = 1 tdt5 = '000'+tdt5 case len(tdt5) = 2 tdt5 = '00'+tdt5 case len(tdt5) = 3 tdt5 = '0'+tdt5 case len(tdt5) = 4 tdt5 = tdt5 endcase Digunakan untuk membuat nomor ktp (4 digit dibelakang) secara otomatis dan hasil disimpan dalam tdt5 tdt6 = tdt1 + tdt2 + tdt3 + tdt5 Digunakan untuk membuat nomor ktp otomatis dengan menggabungkan nilai tdt1, tdt2, tdt3 dan tdt5 else Digunakan untuk mendeteksi jika data yang diproses merupakan data ubah (Myadd = .F.) tdt5 = right(thisform.text4.value,4) Digunakan untuk mengambil 4 digit sebelah kanan dari text4 dan hasilnya disimpan dalam tdt5 tdt6 = tdt1 + tdt2 + tdt3 + tdt5 Digunakan untuk membuat nomor ktp otomatis dengan menggabungkan nilai tdt1, tdt2, tdt3 dan tdt5 endif thisform.text1.value = tdt6 Digunakan untuk mengisi nomor ktp (text4) dengan hasil proses di atas (nilai variable tdt6 Jalankan Form KTP
Merupakan hasil dari Perintah CALCULATE MAX
2
Materi Khusus Untuk Kalangan Sendiri
STT CAHAYA SURYA KEDIRI - 2015 Untuk menghilangkan tampilan tersebut : Edit PrgUtama :
Set Talk Off digunakan untuk menghilangkan Efek dari perintah Calculate Max
Simpan PrgUtama Ctrl + W Jalankan PrgUtama Run Lihat Hasilnya…….
Sebelum ditambah Set Talk Off
Setelah ditambah Set Talk Off
MEMBUAT FORM PENCARIAN DATA KTP 1. Pada Project | Documents | Klik Form | New | New Form 2. Atur Properties Form : a. Autocenter True b. Caption DISPLAY DATA KTP c. ControlBox False d. Window Type Modal 3. Tambahkan object Grid (Grid1)
3
Materi Khusus Untuk Kalangan Sendiri
STT CAHAYA SURYA KEDIRI - 2015 4. Klik kanan pada grid1, pilih BUILDER 5. Pilih dtktp, masukkan (noktp, nama, alamat)
6. Klik Style, Pilih Embossed (untuk efek 3 dimensi)
7. Klik Layout, atur lebar kolom sesuai keinginan
4
Materi Khusus Untuk Kalangan Sendiri
STT CAHAYA SURYA KEDIRI - 2015 8. Klik OK, Hasilnya akan seperti di bawah ini
9. Klik pada Grid1, Properties READONLY TRUE, agar data di grid tidak dapat diubah 10. Double klik pada grid1, pilih object Grid1, Column1, Text1. Procedure KeyPress
11. Ketikkan program :
Penjelasan : Nkeycode = 13 untuk mendeteksi penekanan tombol ENTER pada keyboard Thisform.release() menutup form Fcari 5
Materi Khusus Untuk Kalangan Sendiri
STT CAHAYA SURYA KEDIRI - 2015 12. Simpan form (Ctrl + W), beri nama Fcari 13. Buka PrgUtama
Tambahkan pada Public tnama tnama = ‘’ digunakan untuk filter data di form pencarian 14. Simpan PrgUtama (Ctrl + W), Pilih Run 15. Modify Form Fktp, tambahkan 1 Object CommandButton, pada Properties Caption ketikan Pencarian Data
16. Double klik pada CommandButton Pencarian Data dan ketikkan program :
Penjelasan : digunakan untuk menjalankan form pencarian
6
Materi Khusus Untuk Kalangan Sendiri
STT CAHAYA SURYA KEDIRI - 2015 17. Double klik pada form (ditempat kosong), ketikan program
Penjelasan : Program ini dijalankan pada saat form diruning. select dtktp Mengatifkan table dtktp scatter memvar Memindahkan isi record yang aktif ke memori variabel thisform.image1.picture = m.foto Menampilkan foto pada object image1 thisform.refresh() MEMBUAT REPORT REPORT KTP 1. Klik Report, New, New Report
2. Hasil akan tampil seperti di bawah ini
7
Materi Khusus Untuk Kalangan Sendiri
STT CAHAYA SURYA KEDIRI - 2015 3. Menghubungkan report dengan table dtktp. a. Klik kanan, pilih Data Environtment
b. Pada data Environtment, klik kanan, pilih Add
c. Pilih dtktp, klik Add
d. Hasilnya seperti di bawah ini
8
Materi Khusus Untuk Kalangan Sendiri
STT CAHAYA SURYA KEDIRI - 2015 e. Simpan (Ctrl + W) f. Lebarkan kolom detail seperti di bawah ini :
g. Tambahkan object rectangle spserti dibawah ini
h. Pilih Picture
9
Materi Khusus Untuk Kalangan Sendiri
STT CAHAYA SURYA KEDIRI - 2015
i.
Pilih Scale Picture, Fill The Frame
j.
Pilih File foto
Klik tombol …
10
Materi Khusus Untuk Kalangan Sendiri
STT CAHAYA SURYA KEDIRI - 2015 k. Pilih file gambar logo kota kediri, OK
l.
Pilih OK, hasil akan seperti di bawah ini
m. Buat teks dengan memilih Label ( A ), seperti di bawah ini
Untuk melakukan setting Font, pilih menu Format, Font
11
Materi Khusus Untuk Kalangan Sendiri
STT CAHAYA SURYA KEDIRI - 2015 n. Tambahkan gambar pulau (langkah seperti point H – K), hasilnya seperti di bawah ini
o. Tambahan Label ( A ) sehingga menjadi seperti di bawah ini
p. Tambahkan object field
12
Materi Khusus Untuk Kalangan Sendiri
STT CAHAYA SURYA KEDIRI - 2015 q. Maka akan muncul window seperti di bawah ini
Klik tombol …
r.
Pilih noktp dengan cara double klik sehingga field yang dipilih tampil di Expression
Field yang dipilih akan muncul Di Expression
Double klik
s. Klik OK, sehingga akan menjadi seperti di bawah ini
Sesuaikan jenis huruf, ukuran dll (Pilih Menu Format, Font) 13
Materi Khusus Untuk Kalangan Sendiri
STT CAHAYA SURYA KEDIRI - 2015 t.
Lanjutkan untuk field nama, tempat lahir dan tanggal lahir sehingga menjadi seperti di bawah ini
u. Lakukan hal yang sama untuk Jenis Kelamin. Pada expression ketikkan program seperti di bawah ini
IIF(dtktp.jkel=1,’Laki-laki’,’Perempuan’) IIF digunakan untuk seleksi kondisi logika JIKA jkel bernilai 1 maka tuliskan Laki-laki JIKA jkel tidak bernilai 1 maka tuliskan Perempuan
v. Untuk field agama caranya langsung seperti langkah point r. w. Untuk status, pada expression ketikkan program :
14
Materi Khusus Untuk Kalangan Sendiri
STT CAHAYA SURYA KEDIRI - 2015 Penjelasan : IIF(dtktp.status=1,'Belum Menikah', IIF( dtktp.status=2,'Menikah','Janda/Duda')) Digunakan untuk menyeleksi field status. JIKA status = 1 tuliskan Belum Menikah JIKA status = 2 tuliskan Menikah ELSE tuliskan Janda/Duda x. Pilih object image untuk foto seperti langkah sebelumnya.
Ketikkan dtktp.foto
Klik
y. Hasilnya seperti di bawah ini
Simpan report dengan Ctrl + S, beri nama Rktp. Untuk melihat hasil desain : - Klik kanan pada tempat kosong di report, pilih Preview
15
Materi Khusus Untuk Kalangan Sendiri
STT CAHAYA SURYA KEDIRI - 2015 Hasil Preview akan seperti di bawah ini
MEMBUAT FORM KONTROL CETAK KTP (FCetak1.SCX) 1. Buatlah desain form seperti di bawah ini :
2. Pada Command Button Cari Data (No Ktp) procedure Click, ketikkan program :
Penjelasan : tnoktp = alltrim(thisform.text1.value) Menampung isi dari textbox text1 ke dalam memori variable tnoktp select dtktp Mengaktifkan table dtktp set filter to Menonaktifkan dampak dari perintah set filter set filter to upper(tnoktp)$upper(noktp) Membatasi/memfilter data pada tabel dtktp yang nomor ktpnya (Field noktp) mengandung karakter dari memori variable tnoktp 16
Materi Khusus Untuk Kalangan Sendiri
STT CAHAYA SURYA KEDIRI - 2015 do form fcari.scx Menjalankan form fcari.scx 3. Pada Command Button Cari Data (Nama) procedure Click, ketikkan program :
Penjelasan : Pada prinsipnya kerja tombol ini sama dengan pencarian berdasarkan nomor ktp, hanya pada tombol ini pembatasan/filter data pada table dtktp berdasarkan nama 4. Pada Command Button Cetak procedure Click, ketikkan program :
Penjelasan : - Tanda titik koma ( ; ) digunakan untuk memotong baris program yang panjang - + chr(13) digunakan untuk menambahkan ENTER pada komentar messagebox - Hasil dari perintah messagebox di atas :
report form rktp.frx for alltrim(noktp)=alltrim(thisform.text1.value) to print noconsole Digunakan untuk mencetak report ke printer NOCONSOLE agar tidak merusak tampilan form, karena jika tidak diberi noconsole maka selain mencetak report ke printer, oleh Visual Foxpro juga akan dicetak ke form, sehingga tampilan/desain form akan ditimpa dengan hasil cetak report report form rktp.frx for alltrim(noktp)=alltrim(thisform.text1.value) to print preview Digunakan untuk menampilkan report ke layar monitor saja
17
Materi Khusus Untuk Kalangan Sendiri
STT CAHAYA SURYA KEDIRI - 2015 MEMBUAT REPORT LAPORAN DATA PENDUDUK 1. Buatlah 1 report baru dengan langkah seperti pada pembahasan sebelumnya. 2. Tambahkan 3 file table dalam data environtment seperti di bawah ini
3. Membuat relasi antar table: - Table dtktp dan table dkec a. Klik dan tahan field kdkec pada dtktp lalu arahkan ke field kdkec pada table dtkec
b. Jika sudah terhubung lepaskan klik mouse, sehingga hasilnya seperti di bawah ini
18
Materi Khusus Untuk Kalangan Sendiri
STT CAHAYA SURYA KEDIRI - 2015 -
Table dtktp dan table dkel (caranya sama dengan di atas), hasilnya :
-
Simpan Data Environtment (Ctrl + W)
4. Membuat data grouping (pengelompokkan data penduduk berdasarkan Kecamatan dan Kelurahan. - Klik kanan pada tempat kosong di report, pilih Data Grouping
-
Pada Window Group Expression, pilih tombol …
Klik tombol …
19
Materi Khusus Untuk Kalangan Sendiri
STT CAHAYA SURYA KEDIRI - 2015 -
Double klik field kdkec sehingga akan tampil di Group Record By Expression
Akan tampil
Double klik
-
Klik OK. Hasil akan seperti di bawah ini
-
Lakukan kembali untuk group kdkel seperti langkah di atas. Hasilnya seperti dibawah ini
20
Materi Khusus Untuk Kalangan Sendiri
STT CAHAYA SURYA KEDIRI - 2015
5.
Membuat Page Header seperti di bawah ini
6. Lebarkan bagian Group Header kdkec - Tambahkan objek Label ( A ) - Tambahkan field kec
Arahkan Scrolbar ke bawah Double klik dtkec.kec
21
Materi Khusus Untuk Kalangan Sendiri
STT CAHAYA SURYA KEDIRI - 2015
7. Lebarkan bagian Group Header kdkel - Tambahkan objek Label ( A ) - Tambahkan field kel
Arahkan Scrolbar ke bawah Double klik dtkel.kel
22
Materi Khusus Untuk Kalangan Sendiri
STT CAHAYA SURYA KEDIRI - 2015 8. Tambahkan objek label ( A ) dan line pada Group Header kdkel seperti di bawah ini
9. Pada Detail tambahkan objek field (noktp, nama, dan alamat) seperti di bawah ini
Simpan report dengan nama rwarga
23
Materi Khusus Untuk Kalangan Sendiri
STT CAHAYA SURYA KEDIRI - 2015 MEMBUAT FORM KONTROL CETAK LAPORAN (FCetak2.SCX) 1. Buatlah desain form seperti di bawah ini
Dihubungkan ke dtkec.dbf
Dihubungkan ke dtkel.dbf
2. Program optiongroup1 procedure click
Penjelasan: Jika dipilih Option1 (Semua Data) maka object Combo1 dan Combo2 tidak diaktifkan. Jika dipilih Option2 (Per Kecamatan) maka object Combo1 Akan diaktifkan, Combo2 tidak diaktifkan dan kursor diarahkan ke Combo1. Jika dipilih Option3 (Per Kelurahan) maka object Combo1 dan Combo2 Akan diaktifkan, dan kursor diarahkan ke Combo1. 3. Program Combo1 procedure click
Penjelasan: Program ini sama dengan program yang ada di Form FKTP di atas.
24
Materi Khusus Untuk Kalangan Sendiri
STT CAHAYA SURYA KEDIRI - 2015 4. Program Tombol Cetak procedure click
Penjelasan : report form rwarga.frx to print noconsole digunakan untuk mencetak laporan report rwarga keseluruhan.
report form rwarga.frx for alltrim(kdkec)=alltrim(thisform.combo1.value) to print noconsole digunakan untuk mencetak laporan report rwarga yang kode kecamatannya sama dengan yang dipilih di Combo1.
report form rwarga.frx for alltrim(kdkec)=alltrim(thisform.combo1.value) and; alltrim(kdkel)=alltrim(thisform.combo1.value) to print noconsole digunakan untuk mencetak laporan report rwarga yang kode kecamatannya sama dengan yang dipilih di Combo1.dan kode kelurahannya sama dengan yang dipilih di Combo2 To Print Noconsole mencetak ke printer tanpa merusak tampilan form To Print Preview menampilkan report ke layar monitor
MEMBUAT FORM BACKGROUD (Fbackg.SCX) 1. Buat form baru dengan nama Fbackg 2. Atur properties form : - AutoCenter = TRUE - BorderStyle = 0 No Border - Caption = dikosongi - ControlBox = FALSE - Movable = FALSE - Picture = PIlih gambar untuk background - WindowState = 2. Maximised 3. Tambahkan Label (A) dan Image1, Desain seperti di bawah ini
25
Materi Khusus Untuk Kalangan Sendiri
STT CAHAYA SURYA KEDIRI - 2015
Hasil Running Form Fbackg.Scx
26
Materi Khusus Untuk Kalangan Sendiri
STT CAHAYA SURYA KEDIRI - 2015 MEMBUAT MENU PROGRAM 1. Pilih page Other pada Prpject Manager
2. Pilih Menus, New, sehingga akan tampil seperti di bawah ini
3. Pilih MENU, sehingga akan tampil Menu Designer seperti di bawah ini
27
Materi Khusus Untuk Kalangan Sendiri
STT CAHAYA SURYA KEDIRI - 2015 4. Ketikan pada Prompt seperti di bawah ini
Untuk berpindah ke desain sebelumnya
Penjelasan: - Prompt untuk mengetikan menubar, contoh : File, Edit, View dan lain-lain - \< membuat huruf yang bisa diakses dengan Alt + Huruf - Result untuk menentukan setting pada teks menu pada prompt Umumnya yang digunakan adalah : a. Submenu jika memiliki bagian menu, contoh di dalam menubar File ada New, Open, Close b. Command digunakan untuk mengisi program 1 baris, contoh : Keluar Quit c. Procedure digunakan untu mengisi program > 1 baris - Option digunakan untuk mengetikkan 1 baris program 5. Pilih Input Data, kemudian klik Create. Ketikkan Input Data
Penjelasan: Submenu Data KTP memiliki Result Command karena sudah tidak ada lagi bagiannya Pada Option : do form fktp.scx jika nanti dipilih Menu Data KTP maka akan dijalankan form FKTP.SCX
28
Materi Khusus Untuk Kalangan Sendiri
STT CAHAYA SURYA KEDIRI - 2015 6. Untuk kembali ke Menu Bar Menu Level Menu Bar. Lakukan proses seperti di atas untuk menu Output Data
Penjelasan: Data Penduduk do form fcetak2.scx jika memilih menu ini maka akan menjalankan form FCETAK2.SCX Cetak KTP do form fcetak1.scx jika memilih menu ini maka akan menjalankan form FCETAK1.SCX 7. Kembali ke Menu Bar. Klik Preview untuk melihar hasil desain menu yang sudah kita buat
Hasil Preview
Klik OK Untuk mengakhiri Preview
Klik Preview Untuk melihat hasil desain menu
29
Materi Khusus Untuk Kalangan Sendiri
STT CAHAYA SURYA KEDIRI - 2015 8. Setelah hasil desain sesuai dengan yang kita inginkan, langkah selanjutnya adalah melakukan Generate pada menu untuk menghasilkan file menu yang bisa kita jalankan. a. Pilih Menu Generate
Maka akan tampil pertanyaan Do You Wany To Save ……. Pilih YES Ketikan nama file menu dengan nama MENUKTP Save b. Pilih Generate
Setelah selesai, simpan desain menu (Ctrl + W) Catatan : Jika melakukan perubahan pada desain menu maka harus dilakukan Generate Ulang. 9. Menjalankan menu hasil generate. Pada Command Window ketikkan do menuktp.mpr. Lihat hasilnya dan coba jalankan. 10. Untuk mengakhiri/mengembalikan ke menu default pada Command Window ketikkan Set Sysmenu To Default MEMBUAT FORM PASSWORD (STATIS PASSWORD) 1. Buat form baru dengan nama FPassw.scx dan desain seperti di bawah ini
Pada object Text1, properties yang perlu di atur adalah PasswordChar diisi *
30
Materi Khusus Untuk Kalangan Sendiri
STT CAHAYA SURYA KEDIRI - 2015 2. Masukkan program di object Text1 Procedure Lostfocus
Penjelasan: if alltrim(upper(thisform.text1.value)) = 'MASTER' ‘MASTER’ nilai password statis yang dijadikan password program kontrol = 1 Jika user mengetikan password = MASTER nilai control di set 1 untuk control menu (di PrgUtama) thisform.release() else Messagebox('MAAF Anda Tidak Berhak Menggunakan Program ini',31,'Konfirmasi') thisform.release() quit endif FINISHING 1. Edit program di PrgUtama
Penjelasan: do form fbackg.scx do form fpassw.scx if kontrol = 1 do menuktp.mpr else quit endif
Menjalankan form Background Menjalankan form Password Jika control = 1 (password yang dimasukan MASTER Menjalankan menu MenuKTP Jika password yang dimasukan bukan MASTER, maka keluar
31
Materi Khusus Untuk Kalangan Sendiri
STT CAHAYA SURYA KEDIRI - 2015 2. Build Project menjadi file Application a. Pilih Build
b. Pilih Build Application, Recompile All Files, dan Display Errors. Lalu pilih OK.
c. Beri nama file application dengan nama SoftKTP, kemudian Save
d. Tunggu hingga selesai. Jika ditampilkan error maka perbaiki kesalahan programnya. Catatan : jika kita memperbaharui salah satu file dalam project, maka harus di Build ulang. 32
Materi Khusus Untuk Kalangan Sendiri
STT CAHAYA SURYA KEDIRI - 2015 3. 4. 5. 6.
Buat Shortcut di desktop. Lakukan setting pada shortcut (klik kanan, properties), ubah tampilan menjadi maximizeD. Lakukan test dengan double klik pada shortcut. Selesai…….
HASIL AKHIR PEMBUATAN PROGRAM DATA KTP
Jika mengalami kesulitan dapat konsultasi melalui email :
[email protected] Semoga sukses….
33