Pada bagian kedelapan ini kita akan buat sebuah laporan yang berisi daftar nama karyawan yang telah diinput, karena pada Tutorial Membuat Program Biodata Karyawan Part 7 kita telah menyelesaikan pembuatan window w_karyawan, dimana window w_karyawan tersebut merupakan sarana bagi user untuk menambah atau mengedit data karyawan.
Langsung saja, berikut adalah langkah-langkahnya:
- Jalankan Powerbuilder Classic 12 lalu buka kembali workspace biokaryawan
- Buat datawindow baru dengan cara klik File->New->pilih tab Datawindow lalu pilih Tabular dan klik OK
- Pilih Quick Select lalu klik Next
- Pilih tabel karyawan.tbl_karyawan
- Pada kotak Columns, pilih kolom-kolom sesuai dengan kebutuhan anda, untuk gampangya, pilih saja semuanya terlebih dahulu, nanti kalau ada kolom yang tidak dibutuhkan anda bisa hapus kolom tersebut pada painter datawindownya, untuk memilih semua kolom klik Add All lalu klik OK
- Atur Background Color menjadi White lalu klik OK
- Klik Finish untuk membuat datawindownya
Atur layout datawindownya sesuai dengan keinginan anda, kalau saya hasil akhir desain datawindownya menjadi seperti ini:
Untuk membuat layout datawindow seperti yang saya lakukan adalah sebagai berikut:
- Hapus kolom-kolom berikut ini: tempat_lahir, tanggal_lahir, alamat_lengkap, nomor_telepon, nomor_handphone, alamat_email, nama_bagian, nama_jabatan.
- Hapus control Text header berikut ini: tanggal_lahir_t, nomor_telepon_t, nomor_handphone_t, alamat_email_t, nama_jabatan_t
Masukkan control Computed Field berikut ini:
Name | Expression Value |
compute_1 | getrow() |
Masukkan control Computed Field berikut ini (sebagai pengganti dari kolom-kolom yang telah kita hapus sebelumnya)
Name | Expression Value |
compute_2 | tempat_lahir + ", " + string( tanggal_lahir , "dd/mm/yyyy") |
compute_3 | alamat_lengkap + ", Telp: " + nomor_telepon + ", HP: " + nomor_handphone + ", Email: " + alamat_email |
compute_4 | nama_bagian + "-" + nama_jabatan |
Name | Text Value |
tempat_lahir_t | Tempat, Tgl Lahir |
alamat_lengkap_t | Alamat, Telp, HP, Email |
nama_bagian_t | Bagian-Jabatan: |
Name | Text Value |
t_1 | NAMA PERUSAHAAN |
t_2 | Alamat, Telp, Fax, Email, Website Perusahaan |
t_3 | Laporan Data Karyawan |
Untuk Font yang saya gunakan adalah font Times New Roman dengan size 10, untuk headernya saya Bold
Atur Properti Print Specifications berikut ini:
- Document Name : Laporan Data Karyawan
- Paper Orientation : Landscape (1)
(Opsional) Masukkan satu buah control computed field dengan expression:
"Tgl Cetak: " + String(Today(), "dd mmm yyyy")
"Tgl Cetak: " + String(Today(), "dd mmm yyyy")
Atur Tab Order menjadi 0 untuk semua kolom
(Opsional) Atur penempatan semua control agar muat di 1 halaman Landscape A4
(Opsional) Atur penempatan semua control agar muat di 1 halaman Landscape A4
Simpan datawindow ini dengan nama d_laporan_karyawan
Langkah selanjutnya adalah:
- Buka window w_laporan, lalu masukkan control-control berikut ini:
- 3 buah Command Button dengan nama: cb_refresh, cb_cetak, dan cb_tutup
- 1 buah Datawindow dengan nama dw_laporan, dan Data Object : d_laporan_karyawan
Atur Properti Width dan Heightnya:
Control/Object | Width | Height |
Window w_laporan | 4754 | 2464 |
dw_laporan | 4686 | 2212 |
cb_refresh | 402 | 168 |
cb_cetak | 402 | 168 |
cb_tutup | 402 | 168 |
Atur posisinya menjadi seperti ini:
Beri tanda pada properti HScrollBar dan VScrollBar dari dw_laporan
Sampai disini, kita telah selesai mendesain layout dari w_laporan, langkah berikutnya adalah memberikan script kode yang diperlukan, langsung saja, berikut langkah-langkah dan script codenya:
Buka event Open dari window w_laporan, lalu masukkan script kode berikut ini dibawah script This.Move(5,5):
dw_laporan.SetTransObject(SQLCA)
dw_laporan.Retrieve()
dw_laporan.Object.Datawindow.Print.Preview = "Yes"
Buka event Clicked dari cb_refresh dan masukkan script berikut ini:
dw_laporan.Retrieve()
Buka event Clicked dari cb_cetak, lalu masukkan script berikut ini:
// buka pengaturan printer, jika nilai return bukan 1, akhiri event ini
IF PrintSetup() <> 1 THEN Return
// cetak datawindownya, jika nilai return 1 tampilkan pesan sukses, jika bukan 1 tampilkan pesan gagal mencetak
IF dw_laporan.Print() = 1 THEN
MessageBox("Sukses", "Data laporan berhasil dicetak.", Information!)
ELSE
MessageBox("Gagal", "Gagal mencetak data laporan.", Exclamation!)
END IF
Buka event Clicked dari cb_tutup lalu masukkan script berikut ini:
Close(Parent)
(Opsional) langkah berikut ini untuk meresize ulang properti Width dan Height dari dw_laporan agar tetap proporsional mengikuti ukuran Width dan Height dari window w_laporan, caranya adalah buka event resize dari w_laporan, lalu masukkan script code berikut ini:
dw_laporan.Width = newwidth - (4754 - 4686)
dw_laporan.Height = newheight - (2464 - 2212)
Beri tanda pada properti HScrollBar dan VScrollBar dari dw_laporan
Sampai disini, kita telah selesai mendesain layout dari w_laporan, langkah berikutnya adalah memberikan script kode yang diperlukan, langsung saja, berikut langkah-langkah dan script codenya:
Buka event Open dari window w_laporan, lalu masukkan script kode berikut ini dibawah script This.Move(5,5):
dw_laporan.SetTransObject(SQLCA)
dw_laporan.Retrieve()
dw_laporan.Object.Datawindow.Print.Preview = "Yes"
Buka event Clicked dari cb_refresh dan masukkan script berikut ini:
dw_laporan.Retrieve()
Buka event Clicked dari cb_cetak, lalu masukkan script berikut ini:
// buka pengaturan printer, jika nilai return bukan 1, akhiri event ini
IF PrintSetup() <> 1 THEN Return
// cetak datawindownya, jika nilai return 1 tampilkan pesan sukses, jika bukan 1 tampilkan pesan gagal mencetak
IF dw_laporan.Print() = 1 THEN
MessageBox("Sukses", "Data laporan berhasil dicetak.", Information!)
ELSE
MessageBox("Gagal", "Gagal mencetak data laporan.", Exclamation!)
END IF
Buka event Clicked dari cb_tutup lalu masukkan script berikut ini:
Close(Parent)
(Opsional) langkah berikut ini untuk meresize ulang properti Width dan Height dari dw_laporan agar tetap proporsional mengikuti ukuran Width dan Height dari window w_laporan, caranya adalah buka event resize dari w_laporan, lalu masukkan script code berikut ini:
dw_laporan.Width = newwidth - (4754 - 4686)
dw_laporan.Height = newheight - (2464 - 2212)
Ket:
newwidth = Argument yang disediakan oleh event resize untuk Width terbaru dari windownya
newheight = Argument yang disediakan oleh event resize untuk Height terbaru dari windownya
4754 = Ukuran asli Width w_laporan*
4686 = Ukuran asli Width dw_laporan*
2464 = Ukuran asli Height w_laporan*
2212 = Ukuran asli Height dw_laporan*
(* Lihat tabel diatas)
Simpan perubahan untuk w_laporan, dan coba jalankan programnya lalu lihat hasilnya.
Dengan demikian bagian kedelapan ini telah selesai, dan untuk sementara, program ini sudah bisa digunakan dari login hingga mencetak data laporan, untuk bagian selanjutnya kita akan membuat window penggantian password untuk user yang sedang login, silahkan klik Tutorial Membuat Program Biodata Karyawan Part 9.
newwidth = Argument yang disediakan oleh event resize untuk Width terbaru dari windownya
newheight = Argument yang disediakan oleh event resize untuk Height terbaru dari windownya
4754 = Ukuran asli Width w_laporan*
4686 = Ukuran asli Width dw_laporan*
2464 = Ukuran asli Height w_laporan*
2212 = Ukuran asli Height dw_laporan*
(* Lihat tabel diatas)
Simpan perubahan untuk w_laporan, dan coba jalankan programnya lalu lihat hasilnya.
Dengan demikian bagian kedelapan ini telah selesai, dan untuk sementara, program ini sudah bisa digunakan dari login hingga mencetak data laporan, untuk bagian selanjutnya kita akan membuat window penggantian password untuk user yang sedang login, silahkan klik Tutorial Membuat Program Biodata Karyawan Part 9.
Akhir kata, semoga sukses untuk semua yang sedang dan akan anda lakukan.
Download tutorial ini dalam format pdf:
Download tutorial ini dalam format pdf:
Tidak ada komentar:
Posting Komentar
Silahkan berikan komentar anda.