BELAJAR PEMOGRAMAN DATABASE DENGAN SOTWARE POWERBUILDER




Judul Buku       : BELAJAR PEMOGRAMAN DATABASE DENGAN SOTWARE POWERBUILDER
Penulis             : Saepudin S.Kom
Email               : cleverboy230681@yahoo.co.id / saepudin@cj.co.id /





LATAR BELAKANG
Penulis telah beberapa kali pindah perusahaan. Setiap perusahaan yg pernah penulis ‘datangi’ hampir semua berbeda Software dalam mengembangkan Sistem Aplikasinya, ada yg menggunakan Ms.Visual basic, Borland Delphi, Foxro, dan yg terakhir ini menggunakan PowerBuilder.
Ketika penulis mempelajari Software Ms.Visual Basic & Borland Delphi, penulisa cukup mudah mendapatkan buku bacaan sebagai referensi, tapi ketika penulis pindah ke Perusahan yg menggunakan Software Powerbuilder penulis sangat kerepotan mencari buku bacaannya.
Dari pengalaman tersebut penulis ‘terpanggil’ untuk menulis sebuah buku bacaan bagi para Programmer pemula & lanjutan yg ingin mempelajari Software PowerBuilder

Untuk Siapa Buku ini..?
Software PowerBuilder sangan mudah dielajari & dipahami, Sotware ini banyak memberi kebebasan “programmer’ dalam mengembangkannya. Jadi para pembaca tidak usah kuatir menemukan masalah saat mempelajarinya.
Buku ini tidak dikhususkan untuk Para Programmer Pemula atau yg sudah berpengalaman. Tapi  saran penulis agar mudah memahami buku ini  ada baiknya para pembaca sudah mengerti Konsep Pemograman dan konsep database.

Software Yg di Butuhkan.
Buku ini terdiri dari 20% teori dan 80% praktek. Jadi  untuk prakteknya pembaca harus menginstal beberapa Program di bawah ini
1.       PowerBuilder (di buku ini Penulis menggunakan versi 8)
2.      Oracle (sebagai database)
3.      Ms.Accses(sebagai database)


4.       
DAFTAR ISI
PENDAHULUAN
BAB I   FORMAT  PROGRAM POWERBUILDER
            Pendahuluan
Workspace
Application
            Window
BAB II  Menu dan Frame (Multiple Document Interface )
            Latihan : Aplikasi Aritmatika
BAB III Koneksi database
            Seting ODBC di PowerBuilder
            DB Profile
Latihan :
Koneksi database
Menampilkan Data    
BAB IV Datawindow
            Datawindow dengan Argument / Parameter
Data window – Desain Print
BAB V  Penggunaan TreeView & Dropdown Button
            TreeView
Dropdown Button
BAB VI Koneksi Database tahap II
Koneksi Aplikasi langsung ke dua database atau lebih
BAB VII Event dan Fungsinya
BAB VIII Kumpulan Script & Trik (SQL)
            Validasi Input
Script Delete dengan Script Power Builder vs SQL
Cara Manggil/Jalanin Prosedure Oracle
Pengurutan (Sorting)
Datawindow
Datawindow scrollnya balik ke nol (ue_insert)
Supaya Kolom di datawindow wajib di isi
Datawindow Readonly
Memberi warna untuk Row yg aktif dan bisa juga untuk validasi dengan warna
Membuat Warna Zebra di data window
Untuk Control Field didatawindow
Cara bikin Squence di Oracle










           


           




Bagian I :
Pendahuluan
Workspace
Application
Window
 






Pendahuluan
Sekilas Tentang PowerBuilder
PowerBuilder adalah salah satu dari kelompok Sybase  yang memungkinkan Anda untuk membangun  berbagai jenis aplikasi sistem informasi database dan untuk databasenya bisa menggunakan microsoft access, SQL server dan oracle. Selain itu PowerBuilder juga  nyediakan aplikasi untuk pengembangan client / server, multitier, dan aplikasi Internet.

PowerBuilder sangat mudah untuk di pelajari dan di gunakan membangun sistem perusahaan, Seperti  order entry, akuntansi, dan sistem manufaktur. Berbeda dengan Aplikasi pengembang lainnya, PowerBuilder sangat ringan dengan sedikit komponen atau tool di dalamnya. Hal ini merupakan kekurangan dari PowerBuilder tapi sekaligus sebagai kelebihan karena dengan begitu PowerBuilder  tidak menjadi berat ketika Running.

Konsep di PowerBuilder
PowerBuilder bekerja dalam workspace dengan satu target atau beberapa target. Bisa di simpulkan, jika kita akan membuat aplikasi dengan Powerbuilder langkah-langkahnya adalah:
1.      Membuat Workspace 
2.      Membuat Application (target)
3.      Membuat Window (sebagai Form tampilan).
Supaya konsep diatas mudah di mengerti, kita akan membuat aplikasi sederhana sebagai berikut :
1.      Buatlah Folder untuk menyimpan latihan kita ini, misalnya :D:\LatihanPB
2.      Masuk ke Start - Sybase - PowerBuilder 10.0 – PowerBuilder 10.0
Menu dasarnya seperti dibawah ini, Jika menu tree di samping kiri tidak ada, klik Button “System Tree”
3.      Klik File – New - Workspace (Tab Workspace)
4.      Kemudian arahkan ke Folder yg tadi kita Buat, ketikan nama Aplikasinya misalnya LatihanPB1, akhiri dengan Save


5.      Klik File – New - Application (Tab Target) – akhiri OK

6.      Kemudian akan Muncul form seperti di bawah ini, tuliskan nama Applikasi apa yg akan kita buat  kemudian klik Tab / Enter – Akhiri dengan Finish
7.      Klik File – New - Window (Tab PB Object) – akhiri OK,
8.      Masukan Object “Static Text”  , Tulis kata-kata ‘ Aku Pasti Bisa’ di Properties – Text maka akan tampil seperti dibawah ini
9.      Ganti Properties – Tittle : WINDOW LATIHAN
10.  Save as dengan nama w_latihan
11.  Masukan Script untuk menjalankan aplikasi, caranya :
a.      Klik kanan Applicationnya
b.      Pilih Edit
c.       Masukan Script  - open(w_latihan)
12.  Kemudian Save – Pilih menu Run –Run (Ctrl+R)




Bagian II :
Menu
Multiple Document Interface
Latihan : Aplikasi Aritmatika

 





Menu
Menu memberikan cara yg mudah untuk menjalankan kelompok perintah-perintah, misalnya kita akan memanggil window dan lain-lain.
Untuk lebih jelasnya mari kita buat aplikasi sederhana dengan menggunakan Menu.
Sebagai catatan, agar memudahkan di pembahasan menu ini, maka latihan Applikasi diawal tulisan diatas akan kita teruskan dengan penambahan Menu.
1.      Klik File – New - Menu (Tab PB Object) – akhiri OK,



2.      Save dengan nama “m_menu”, kemudian klik kanan pilih ‘Insert Submenu Item’, isi dengan nama ‘FILE’

3.      Kemudian Klik kanan di nama FILE tadi pilih Insert Submenu Item, isi dengan nama ‘MENU_1’
Multiple Document Interface atau disingkat MDI adalah jenis window yang memungkinkan sebuah window program tunggal mengandung beberapa ruang kerja terbuka secara bersamaan. Membuat tampilan tidak terlalu rumit juga meningkatkan efisiensi penggunaan ruang layar., dan bab ini akan mencoba untuk menjelaskan proses secara rinci.
Kembali ke pembasahan menu yg tadi, Langkah selanjutnya adalah kita akan menghubungkan antara menu yg tadi buat dengan window utama sebagai frame,asumsinya adalah w_utama sebagai window utama (frame) dan w_latihan sebagai window yang akan kita panggil di Menu_1.
langkah-langkahnya sebagaiberikut :
1.      Klik File – New - Window (Tab PB Object) – akhiri OK,
2.      Ganti Properties – Tittle : WINDOW UTAMA - Save dengan nama w_utama
3.      Seting MenuName ke ‘m_menu’ dengan cara klik ‘eclip’  kemudian pilih menu yg tadi kita buat
4.      Setting Window Type ke ‘MDI’



5.      Masuk ke m_menu kemudian double klik di MENU_1, masukan script : OpenSheet(w_latihan, w_utama, 5, Original!)
6.      Agar ketika running yg pertama kali berjalan adalah w_utama, maka kita ganti script di Applicationnya menjadi : open(w_utama)
7.      Silahkan di coba running. Ketika kita klik File – MENU_1 maka window w_latihan akan muncul
8.      FINISH

Latihan Aplikasi aritmatika dengan PowerBuilder
Pada pembahasan kali ini kita akan membahas tentang aritmatika di PowerBuilder mulai dari penjumlahan, penambahan & pengurangan
1.      Buatlah aplikasi kemudian atur tampilan seperti di bawah ini, gunakan Object dibawah ini :
a.       untuk : Bilangan 1 & bilangan 2
b.       untuk kolomnya
c.        untuk button Proses
Masukan scrip, caranya double klik Button tambah, maka kita akan masuk ke window script editor, kemudian masukan script di bawah ini.
decimal ld_bil_1,ld_bil_2,ld_total

ld_bil_1 = dec (sle_1.text)
ld_bil_2 = dec (sle_2.text)

ld_total = ld_bil_1 + ld_bil_2

sle_3.text = string (ld_total)

Lakukan juga untuk Button ‘Kurang’.

Kemudian Coba di Running – dan di test

Bagian III :
Koneksi Database
Seting ODBC
Setting DB Profile
 





Koneksi Database
Untuk menghubungkan PowerBuilder dengan database adalah melalui Database Profile , disini kita bisa setting mau ke jenis DataBase apa PowerBuilder akan di hubungkan.
Di PowerBuilder sendiri database yg digunakan bisa bermacam-macam, bisa dengan Ms.Accses, Oracle & SQL Server. Tapi dalam pembahasan kita kali ini, kita akan menggunakan database dari Ms.Accses dengan bantuan mesin ODB ODBC.

Langkah pertama adalah Buatlah Database di Ms.Accses kemudian save dengan Nama : MyDB.mdb
Selanjutnya untuk menyambungkan antara Ms.Accses sebagai database ke Aplikasi yg kita buat dengan PowerBuilder adalah kita harus seting ODBC terlebih dahulu. Seting ODBC bisa melalui PowerBuilder langsung atau bisa juga melalui Control Panel yg berada di Komputer yg berbasis Window.

Untuk latihan Ini, Kita buat database dengan nama MYDB dengan Data Sebagaiberikut :
Tabel :Cd_Code,Member,Sys_Menu,Sys_user_Prv,User_nm

Field di tabel Member : ID_Member,Id_date,Full_Name,Nick_Name,Birth_Place,Birth_date,Education, Work_Status,Email
(karena tabel ini yg akan kita Coba)




A.Seting ODBC
1.      Masuk ke PowerBuilder – DB Profile
2.      Masuk ke ODB ODBC -Utilities– Double Klik Create ODBC data source

3.      Pilih File data Source(Machine Independent) – Next
4.       Pilih Driver do Microsoft Accses(*.mdb)  – Next>



5.      Klik Brouse, arahkan dimana database kita simpan, Klik Next sampai Finish
6.      Selanjutnya Klik – Select Pilih Databasenya, akhiri dengan OK



B.Seting DB Profile
Setelah kita seting ODBC maka langkah selanjutnya adalah kita seting DataBase Profile.
1.      masuk ke DataBase profile – klik New
2.      Masuk ke Tab Connection - Seting Profile namenya menjadi MYDB dan data Source ke Ms Accses dataBase
3.      Masuk ke tab Preview – Klik Test Connection, kemudian arahkan database ke database yg tadi kita buat
4.      Jika Ada Error abaikan saja. Karna error tersebut akan kita tangani dengan Script, Akhiri dengan OK sampai Finish



5.      Klik DB Profile kita – pilih Connect, kemudian arahkan database ke database yg tadi kita buat
6.      Finish (kita Sudah terhubung dengan Database
Untuk melihat data yg ada di database, kita Bisa Masuk ke Icon DataBase , pilih DataBasenya kemudian Pilih Tables-  lalu Klik kanan di Nama Tabel tersebut - edit Data –Grid.




Latihan I:
Pada pembahasan kali ini kita akan menampilkan Data yg ada di database ke Aplikasi dan mengolahnya dengan perintah Insert, Update, Delete dan Save
Untuk menampilkan Data di database ke  Aplikasi, ada 2 langkah yg harus kita Buat
A.      Membuat datawindow
B.      Mengkoneksikan datawindow ke window dengan bantuan Object “DataWindow Control” 

Buatlah Aplikasi Sederhana atau bisa juga kita lanjutkan dari Aplikasi kita di awal dan hanya menambahkan datawindow  & Windownya saja.
Langkah Pertama : Membuat datawindow
1.      Klik File – New - DataWindow (Tab Datawindow) –Tabular - akhiri OK,



2.      Pilih SQL Select – kemudian Pilih tabel yg akan kita Olah. Untuk Contoh dibuku ini kita menggunkan tabel yg ada Misalnya Tabel member, kemudian Pilih Field mana saja yg akan di tampilkan, jika ingin di tampilkan semua kita Pilih Select All
3.      Kemudian Pilih Icon “Return”  Pilih Next sampai Finish
4.      Save dengan nama “dw_member”

Langkah kedua : Mengkoneksikan datawindow ke window
1.      Klik File – New - Window (Tab PB Object) – akhiri OK,
2.      Ganti Properties – Tittle : WINDOW LATIHAN DB
3.      Save window Tersebut dengan nama : w_tampil_db




4.      Masukan Object “DataWindow Control”  , Tempatkan di Window.
5.      Klik (bukan Double Klik) Object datawindow tersebut atur Properties – DataObject, arahkan ke DataWindow kita yg kita seting pertama




Sebelum kita test Ruuning untuk menampilkan data, langkah pertama adalah kita akan masukan Script Koneksi Database dan Script Menampilkannya.
1.      Masukan Object dibawah ini : untuk button Connect DB dan Button Tampil, di window yg kita buat.
2.      Double Klik Button Connect DB, kemudian masukan Script ini :
string ls_dir

ls_dir ='D:\LatihanPB\MyDB.mdb'

// Profile
sqlca.DBMS = "ODBC"
sqlca.AutoCommit = False
sqlca.DBParm = "ConnectString='DSN=MS Access Database;UID=;PWD=;Dbq="+ls_dir+"'"


CONNECT USING sqlca;
if sqlca.sqlcode <> 0 then
            messagebox("Information","Connection fail"+         sqlca.sqlerrtext)
            halt
else
            messagebox("Information","Connection Succses ")
end if

RETURN 0
3.      Double Klik Button Connect DB, kemudian masukan Script ini :
dw_1.settransobject(sqlca)
dw_1.retrieve()

Keterangan :
-          ls_dir ='D:\LatihanPB\MyDB.mdb' (alamat dimana database accses kita disimpan)
-          dw_1. = (nama datawindow kita yg ada di window, bila ‘Name’ nya kita Rubah maka scriptnyapun berubah)
4.      Silahkan Running, setelah anda Running Klik Button Connect DB  untuk Check Koneksi Database dan Klik Button “Tampil” untuk menampilkan data (jika database sudah ada isinya maka akan tampil)

Catatan :
Untuk penempatan Script bisa disesuaikan dengan kebutuhan, dalam pembahasan ini penulis menempatkan script di setiap Button dan pada event “clicked” agar bisa di pelajari dan diikuti dengan mudah. Agar penempatan bisa lebih optimal silahkan pelajari  dipembahasan “Event” di setiap Object.


Latihan II : Untuk lebih memahami latihan yg kedua ini, disarankan untuk mempelajari terlebih dahulu  materi ‘Datawindow dengan Argument”, karena untuk latihan kali ini kita menggunakan datawindow dengan parameter sebagai pencarian

Setelah kita bahas dari awal maka dalam pembahasan saat ini kita akan membuat aplikasi sederhana dengan koneksi database.
1.      Buatlah aplikasi sederhana
2.      Tambahkan datawindow, button comand seperti gambar di bawah ini :
3.      Masukan script di button Comand di bawah ini :
a.      Connect DB :
b.      Tampil :
c.       Insert :



d.      Delete :
e.      Save :




Ketika di Running, maka hasilnya sebagaiberikut :

Jika pada saat kita Insert data kemudian save, tapi didatabase tidak tersimpan maka silahkan Check ke data window – update Properties, caranya :
Masuk ke datawindow (edit datawindow jika datawindow belum terbuka) – Menu Rows – Update properties
Pastikan Semua ‘Updatetable Columns’ terblok (active), sebagaimana gambar :




Bagian IV :
Datawindow
Datawindow dengan Argument
Datawindow untuk Print
 






Datawindow
Sebelum Kita Lanjutkan ke Script Insert, Delete dan Update. Ada baiknya kita akan pelajari terlebih dahulu datawindow & pengaturannya. Agar tampilannya terlihat rapi dan mudah di Baca.
Datawindow dapat dikatakan sebagai form untuk menampilkan data yg ada di database, di datawindow kita bisa seting sebagai tempat inputan atau bisa juga kita seting sebahgai report. Untuk memulai pengaturan ikuti langkah-langkah dibawah ini :

1.      Masuk ke Treeview – klik kanan datawindow mana yg akan kita edit


Dalam Form datawindow tersebut ada 4 bagian
a.      Header : Di Gunakan Untuk penempatan judul atau header
b.      Detail : di gunakan untuk penempatan data
c.       Summary : di gunakan untuk hasil penjumlahan
d.      Footer : di gunakan untuk catatan khusus / Footnote
2.      Klik ID Member yg berada di Posisi Header-kemudian Klik  Pilih Object Should have3rd Raised Border, untuk membuat Kolom menjadi tebal
 
3.      Dan untuk Kolom ID Member yg berada di Posisi Detail-Pilih yg bawahnya Should have3rd lowered Border
4.      Lakukan hal yang sama untuk semua kolom (Field). Lebih jelasnya :
a.      Kolom yg Berada di posisi Header menggunakan Should have3rd Raised Border,
b.      Kolom yg Berada di posisi Detail  menggunakan Should have3rd lowered Border,

5.      Atur warna tect dan warna backgroundnya dengan toolbar
6.      Maka hasilnya seperti berikut
7.      Setelah selesai Save, maka tampilan di window akan ikut berubah

Untuk melihat atau merubah Sintak SQL yg ada di data window, kita gunkana icon , kemudian pilih Design – Convert to Syntax. (jika tampilan awal berupa tabel)



Toolbar yang sering di gunakan saat merancang datawindow
Untuk menyamakan antara Kolom, misalnya kita akan mensejajarkan antara kolom, caranya klik Kolom patokan selanjutnya Klik+shift kolom yg lain untuk menikuti (kolom yg pertama di klik akan selalu jadi patokan
Untuk merubah tampilan kolom menjadi tebal, tipis atau kolom inputan
Untuk merubah warna Text kolom
Untuk merubah background kolom
Retrieve / Untuk menampilkan data
Untuk menambahkan Text
Untuk Memasukan rumus-rumus tertentu, caranya Klik dimana kolom tersebut akan ditempatkan  maka akan muncul form untuk memasukan Rumus
Menambahkan kolom yg belum tampil
Untuk operasi Penjumlahan, caranya Klik kolom yg akan di jumlahkan maka secara otomatis akan tampil hasilnya di bagian Summary
Untuk merubah Sintak SQL, atau mendesain ulang SQL data window
Untuk menutup datawindow
Untuk mengatur Tab juga mengatur kolom mana yg boleh di isi. Jika isinya Nol / 0 maka Kolom tersebut akan bersifat Read Only




Merancang Data window dengan Argument (parameter)
Datawindow dengan Argument maksudnya adalah ketika kita akan menampilkan data yg begitu banyak dan kita harus membatasi data apa saja yg akan di tampilkan, maka dengan itu kita gunakan satu Argument atau beberapa Argument tergantung kebutuhan. Misalnya ketika kita akan menampilkan data ‘Member’ tapi khusus yg namanyaa ‘ ANDY’ maka yg kita butuhkan adalah satu Argument, untuk syntax sqlnya seperti berikut :

SELECT * FROM MEMBER WHERE  FULL_NAME LIKE ‘ANDY%’

Maka dalam PowerBuilder, kata  ‘ANDY%’ kita jadikan variabel misalnya “ :as_nama”, maka penulisanny didatawindow berubah menjadi :
SELECT * FROM MEMBER WHERE  FULL_NAME LIKE :as_nama +‘%’

Untuk lebih jelasnya kita akan praktikan didatawindow sepertiberikut :
1.      Masuk ke Treeview – klik kanan datawindow mana yg akan kita edit


Maka hasilnya seperti berikut
2.      Masuk ke kita icon , kemudian pilih Design – Convert to Syntax. (jika tampilan awal berupa tabel), maka form akan berubah ke Syntax SQL



3.      Buatlah Retrieve Arguments – as_nama dengan variabel String kemudian rubah Scripynya menjadi : SELECT * FROM MEMBER WHERE FULL_NAME LIKE :as_nama+’%’

4.      Pilih Return – kemudian Save
5.      Untuk mengetes hasilnya, masuk ke menu Rows  -Retrieve – masukan parameternya, misalnya ‘ANDY’ maka data yg keluar semuanya berawalan ‘ANDY’
Catatan :
Jika datawindow kita menggunkan parameter/Argument maka script pemanggilanpun berubah, misalnya di awal ketika kita menampilkan data,  scriptnya dalah :
DW_1.RETRIEVE(), (tanpa parameter/argument), ketika ada parameter/argument maka scriptnya :       String ls_nama
ls_nama : ‘ANDY’-----ini adalah isi yg akan di tampilkan
Dw_1.retrieve(ls_nama)
Datawindow – Desain Print
Telah kita uraikan di atas bahwasannya Datawindow bukan hanya bisa dijadikan sebagai Form Inputan tapi bisa juga di Gunakan sebagai Form Report. Maka dalam tulisan ini, kita akan membahas Datawindow dengan desain Report.

Buatlah Aplikasi Sederhana atau bisa juga kita lanjutkan dari Aplikasi kita di awal dan hanya menambahkan datawindow  & Windownya saja.
Langkah Pertama : Membuat datawindow
1.      Klik File – New - DataWindow (Tab Datawindow) –Tabular - akhiri OK,



2.      Pilih SQL Select – kemudian Pilih tabel yg akan kita Olah. Untuk Contoh dibuku ini kita menggunkan tabel yg ada Misalnya Tabel member, kemudian Pilih Field mana saja yg akan di tampilkan, jika ingin di tampilkan semua kita Pilih Select All
3.      Masukan Argument sebagai pencarian



4.      Kemudian masukan Argumentnya : Misalnya dalam report nanti kita akan menggunakan tanggal Daftar sebagai parameternya
5.      Jika kita ingin melihat Syntac SQLnya, maka masuk ke menu Design Convert To Syntac
6.      Kemudian Pilih Icon “Return”  Pilih Next sampai Finish
7.      Save dengan nama “dw_member_print”
Langkah selanjutnya adalah kita mendesaign report, ada beberapa Tool yg dapat di gunakan
Untuk menyamakan antara Kolom, misalnya kita akan mensejajarkan antara kolom, caranya klik Kolom patokan selanjutnya Klik+shift kolom yg lain untuk menikuti (kolom yg pertama di klik akan selalu jadi patokan
Untuk menambahkan garis
Untuk mengatur Tab juga mengatur kolom mana yg boleh di isi. Jika isinya Nol / 0 maka Kolom tersebut akan bersifat Read Only

8.      Untuk tampilan Tanggal yg tadinya :20140701 menjadi : 2014.07.01, maka kita harus mengatur Propoertiesnya menjadi ‘editmask’, caranya, klik kolom tanggal (id_date) yang berada di bagian detail, kemudian sebelah kanan ada Properties - Tab edit – style Type

9.      Klik tab Order , isikan angkanya menjadi Nol / 0 untuk semua kolom. Artinya kolom tersebut bersifat Read Only atau tidak bisa di Klik



10.  Hasil akhirnya seperti ini – jangan Lupa Save untuk semua perubahan ini

Untuk membuat fasilitas Argument, kita akan menggunakan bantuan datawindow yg berisi tanggal mulai (sdate) dan tanggal Akhir (edate).
Silahkan buat datawindow dengan SQL sebagai berikut
Dan desain sebagai berikut
Save dengan nama  : dw_member_print_head
*Guanakan Propoertiesnya ‘editmask’ = ‘####.##.##’ untuk tampilan lebih menarik
** jangan lupa, tab Ordernya di isi / jangan Nol 0



Langkah kedua adalah membuat window Print untuk menempatkan datawindow yang tadi kita buat.
1.      Buat Window dengan desain seperti gambar di bawah ini
2.      Save dengan nama w_print_db
 Keterangan :
a.      Dalam window tersebut ada 2 datawindow
1)      Datawindow dw_head yg berisi dw_member_print_head
2)      Datawindow dw_print yg berisi dw_member_print




Scipt untuk Tiap Buton :
1.      Untuk Connection kita akan mencoba menempatkan pada saat window tersebut di buka (event – Open), caranya double klik window tersebut, masuk event – open. Masukan scriptnya. Maka hasilnya sepeti dibawh ini :
2.      Button Retrieve
3.      Button Preview
4.      Button Print
PrintSetup ( )


Bagian V :
Treeview Control
Dropdown List Box
 






Treeview Control
Pada pembahasan kali ini kita akan membuat Aplikasi sederhana dengan tampilan Treeview Control. Kelebihan dengan penggunaan treeview adalah kita bisa menampilkan data dalam group kecil. Jadi memudahkan kita dalam membaca report atau data inputan. Untuk lebih jelasnya mari kita coba sekarang.
1.      Buatlah Aplikasi sederhana dengan desain  Window seperti gambar di bawah ini
Catatan :
*Untuk Datawindow gunakan Argument ID_date
2.      Save window dengan nama w_tampil_treeview
3.      Atur Poperties Treeview  - PictureName
Untuk Poperties - PictureName tidak baku harus menggunakan gambar yg ada, tergantung kita, menggunakan Picture yg ada atau yg lain.
Catatan : Untuk Latihan Ini kita menngunakan Tabel yg sudah ada isinya sebagai berikut



4.      Script yg di gunakan ada di 2 event
a.      Even Open – Window (w_tampil_treeview – Open())





b.      Event Selectionchanged – Treeview

Test Running,
Untuk Tampilan awal, Datawindow akan kosong, tapi ketika kita Klik di Treeview maka akan muncul datanya
                             
Dropdown List Box
Diatas Kita sudah mencoba menampilkan data dengan bantuan Treeview, maka saat ini kita akan mencoba melalui Dropdown List Box   .
Caranya kita tambahkan  toolbok DropDownListBox, kemudian  Kita hanya perlu menambahkan 1 baris script di Even Open – Window (w_tampil_treeview – Open()). Ini pengalan script tersebut :

Tambahkan Juga script agar ketika Dropdown List di  Klik, data tampil, masukan di event DropDownListBox – SelectionChanged :


Tampilan akhirnya seperti berikut :






                                




Bagian VI : Koneksi Database
Koneksi DB By System
Koneksi DB Manual
 





Untuk Koneksi database dalam Powerbuilder dilakukan dengan scrip dengan cara copy & paste script yg ada di di DbProfile. Script tersebut bisa disimpan di Event Open atau yg lainnya tergantung kebutuhan, namun tidak menutup kemungkinan jika aplikasi yg kita buat mengharuskan koneksi ke database lain atau dalam artian 1 applikasi masuk ke banyak database. Maka untuk kasus seperti ini kita gunakan script di bawah ini :

Script dibawah ini untuk koneksi database yg normal atau database utama :
Koneksi Database By System
// Profile Server01
SQLCA.DBMS = "O84 Oracle8/8i (8.x.4+)"
SQLCA.LogPass ="AkupastiBisa01 "
SQLCA.ServerName = "Server_01"
SQLCA.LogId = "user_01"
SQLCA.AutoCommit = False
SQLCA.DBParm = "PBCatalogOwner='iycost'"
connect using SQLCA;

if sqlca.sqlcode <> 0 then
         messagebox("Informasi","Tidak tehubung database")
         return
end if
open (w_login)

Keterangan : Untuk Script diatas penulis menggunakan data sebagaiberikut :
            Nama Server   : Server_01
            Nama ID          : user_01
            Password         : AkupastiBisa01
            Database         : Oracle8/8i
Script dibawah ini untuk koneksi database yg lain atau database yg di ikut sertakan :
Buat Variabel di Instan
transaction PASS
Ketikan di event Open
string ls_dir
ls_dir ='D:\LatihanPB\MyDB.mdb'
PASS =  CREATE transaction

// Profile
PASS.DBMS = "ODBC"
PASS.AutoCommit = False
PASS.DBParm = "ConnectString='DSN=MS Access Database;UID=;PWD=;Dbq="+ls_dir+"'"

CONNECT USING PASS;
if PASS.sqlcode <> 0 then
            messagebox("Information","Connection fail"+          PASS.sqlerrtext)
            st_1.text = "Connection fail "
            halt
else
            st_1.text = "Connection Succses "
//         messagebox("Information","Connection Succses ")
end if

Keterangan : Untuk Script diatas penulis menggunakan data sebagaiberikut :
            Database         : Ms.Accses
            Nama DB         : MyDB.mdb
Untuk menampilkan datanya sebagai berikut :
dw_1.settransobject(PASS)
dw_1.retrieve()



//setelah window ditutup disarankan tutup koneksinya di even close
Disconnect using PASS;
Untuk memanggil data melaui sytact SQL pun,jangan Lupa  Ujungnya menggunakan using PASS
SELECT USER_NM, USER_PASS, USER_LEVEL
INTO   :gs_user_code,:gs_pass,:gs_level
FROM   MIS_USER using PASS;















Bagian VII :
Event & Fungsinya
 





Event
Event adalah diamana kondisi script tersebut di ekseskusi, misalnya jika kita ingin suatu perintah dijalankan pada saat window di buka, maka script tersebut harus diletakan di event – open, begitu juga saat klik dan lain-lain.
Tabel di bawah ini akan sedikit memberi anda gambaran event-event yang sering di gunakan.
Event
Keterangan
Object
Open
Perintah akan di ekseskusi ketika object tersebut tampil
Window
Double Clicked
Perintah akan di ekseskusi ketika object tersebut di Klik dua kali
Window,Datawindow,Button,Treeview,Dropdown Listbox dan lain-lain
Clicked
Perintah akan di ekseskusi ketika object tersebut di Klik
Window,Datawindow,Button,Treeview,Dropdown Listbox dan lain-lain
Selectchanged
Perintah akan di ekseskusi ketika object tersebut dipilih
Datawindow,Button,Treeview,Dropdown Listbox dan lain-lain
ItemChanged
Perintah akan di ekseskusi ketika object tersebut ada perubahan
Datawindow
Constructor
Perintah akan di ekseskusi ketika object tersebut ditampilkan/diaktifkan
Datawindow
Getfocus
Perintah akan di ekseskusi ketika object tersebut mendapat Focus
Datawindow,Button,Treeview,Dropdown Listbox dan lain-lain
Modified
Perintah akan di ekseskusi ketika object tersebut  ada perubahan
Datawindow,Button,Treeview,Dropdown Listbox dan lain-lain









Tip & Trik Powerbuilder

Validasi Input
  1. Masukan scrip di Sle_1.text di event Modify
ls_order = sle_1.text
if isnull(ls_order) or len(ls_order) = 0 then return

if match ( ls_order, "^[A-Za-z0-9]+$" ) = false then
   messagebox("Perhatian","Ketikkan huruf atau angka !")
            sle_1.setfocus()
            sle_1.selecttext(1,10)
return
end if

Script Enter - Masukan script di Form di event Key
if keydown(keyenter!) then
cb_2.triggerevent("clicked")
end if

Script Delete dengan Script Power Builder vs SQL
integer int_Delete
string ls_no

ls_no = dw_batchlist.GetItemString( dw_batchlist.GetRow(), 'ID_no' )
int_Delete = Messagebox( "Perhatian..",”ID akan didelet..!! ”, Question!, OkCancel! )

IF int_Delete = 1 THEN
   dw_1.DeleteRow (0)
IF dw_1.update() <> 1 THEN
                                 messagebox("Information","Can not Delete ~n~r  to Data :"+ls_no)
                                 rollback;
                                 return
            else  
                     commit;
                     messagebox("InFormation","Sucses..!!")
                     end if
ELSE
   MessageBox("Pesan", "dibatalkan")
END IF



Rumus Delete dari SQL //jangan Lupa KEY di Update Properties Datawindow
Delete From T_Mahasiswa
Where ID_NO = ‘xxxxx’ ;

            IF sqlca.sqlcode <> 0 THEN
                        MessageBox ("Information",”Delete Faild “+SQLCA.SQLERRTEXT)
                        rollback;
                        return
            end if  

Cara Manggil/Jalanin Prosedure Oracle
DECLARE C1 PROCEDURE FOR procedure_aku() USING SQLCA;
EXECUTE C1;
CLOSE C1;

/*---------------Jalanin Prosedure tanpa Keluaran---------------*/

DECLARE C_1 PROCEDURE FOR procedure_mhs(:ls_date1,:ls_date2) USING SQLCA;
EXECUTE C_1 ;
CLOSE C_1 ;

/*---------------Jalanin Prosedure dengan  Keluaran---------------*/
DECLARE C1 PROCEDURE FOR procedure_aku(:ls_nik_no) USING SQLCA;
EXECUTE C1;
            FETCH C1 INTO :ls_keluran;
             if ls_ keluran = '' then
                        messagebox("Information","Data Kosong")
else
messagebox('Information',SQLCA.SQLErrText)
            end if
CLOSE C1;




Pengurutan (Sorting)
 Ketikan di Datawindow - event Buttonclicked
if lower(dwo.name)= 'b_1' then
      dw_1.SetRedraw(false)
      dw_1.SetSort("#1 A") //urutkan Ascending berdasarkan Colom 1
      dw_1.Sort()
      dw_1.SetRedraw(true)
elseif lower(dwo.name)= 'b_2' then
      dw_1.SetRedraw(false)
      dw_1.SetSort("#2 A")// urutkan Ascending berdasarkan Colom 2
      dw_1.Sort()
      dw_1.SetRedraw(true)
else
      messagebox('pesan','salah')
end if

Datawindow
Datawindow scrollnya balik ke nol (ue_insert)
this.Modify("DataWindow.HorizontalScrollPosition='0'")
Supaya Kolom di datawindow wajib di isi
This.Object.kredit.Edit.Required = "no"  atau
dw_1.Modify("kredit .Edit.Required=no")

Datawindow Readonly
dw_1.object.datawindow.readonly = 'No'

Memberi warna untuk Row yg aktif dan bisa juga untuk validasi dengan warna
Scrip ini di ketik di Datawindow - Properties – Font –Background color
if( getrow() = currentRow() , rgb(180,192,192) ,rgb(255,255,255)) atau
if(currentrow() = getrow(), rgb(166,209,225), rgb(255,255,255))

Membuat Warna Zebra di data window, Scrip ini di ketik di Properties – Font –Background color
if( (mod( no =1), rgb(192,192,192), rgb(255,255,255))

Untuk Control Field didatawindow, kita gunakan di event – itemchanged
CHOOSE CASE Lower(dwo.Name)
CASE 'mat_no'
            {ARGUMENT DI KETIK DISINI
END CHOOSE





Cara bikin Squence di Oracle
  1. Buka Toed, Masukan user sama password
  2. Masuk ke Tab.SEQUENCE, pilih new
  3. isikan sesuai gambar – lalu exceute

Cara manggil Sequence
Misal namanya SEQ_ETC, maka cara manggilnya
SELECT SEQ_ETC.NEXTVAL
INTO   :ll_no
FROM   DUAL;
Jika ingin keluaranya String, maka (keluarnnya '0001')
SELECT TRIM(To_char(SEQ_ETC .NEXTVAL,'0000')
INTO   :ls_no
FROM   DUAL;



BIODATA PENULIS
Nama penulis Saepudin, lahir di Lebak banten tgl 23 Juni 1981, anak ke 4 dari 5 bersaudara. Hobi dari dulu menulis. Pernah menjadi Ketua seksi ‘mading’ (majalah dingding) di PonPes Daar Al-Ilmi- kaujon Serang.  Pernah menjadi Assisten Dosen Lab dengan matakuliah pemograman di lanjut menjadi Dosen LB(Luar Biasa) selama satu tahun di Universitas Komputer Indonesia (UNIKOM). Setelah Lulus dari kampus penulis sempat bekerja di salah satu Bank Swasta di kota Bandung. Saat ini penulis bekerja sebagai Programmer di Perusahaan Pakan Ternak (PMA) di Cikande Serang Banten.
Saat bekerja sebagai Assisten Dosen sampai jadi Dosen, penulis sudah terbiasa membuat Modul-modul untuk para mahasiswa agar bisa mencerna setiap pembahasan yg diajarkan. Begitu juga saat bekerja di Perusahaan, penulis selalu membuat ‘Manual Book’ agar para user/pemakai program bisa memahami cara menggunakannya.
Setiap perusahaan yg pernah penulis ‘datangi’ hampir semua berbeda Sotware dalam mengembangkan Sistem Informasinya, ada yg menggunakan Ms.Visual basic, Borland Delphi, Foxro, dan yg terakhir ini menggunakan PowerBuilder. Dengan pengalaman itu semua alhamdulillah bisa menambah ‘kamus’ pemograman penulis.  Pada dasarnya semua logika pemograman sama hanya yg beda bahasa pemograman yg di gunakan. Jadi para pembaca tidak usah kuatir yg penting ada kemauan disitu ada jalan..


0 Response to "BELAJAR PEMOGRAMAN DATABASE DENGAN SOTWARE POWERBUILDER"

Post a Comment