24
Agus Andriana Belajar-komputer About Me Gustavia savila Lihat profil lengkapku Daftar Komputer Dan Masyarakat (10) tip and trik (7) Tutorial Delphi (4) Database (3) Etika Profesi (2) power builder (2) VB dan Delphi (1) perbandingan PB (1) Blog Archive 2013 (4) 2012 (26) Desember (7) November (8) Oktober (6) Juni (3) Mei (2) Tipe Data Power Builder tutorial Power builder Tip and trick Sponsors Fish Selasa, 29 Mei 2012 tutorial Power builder BAB I MENGENAL POWERBUILDER, JENIS-JENIS WINDOW, MEMBUAT MENU 1.1 Mengenal PowerBuilder 1. Sebelum menjalankan program PowerBuilder, buatlah sebuah folder pada komputer anda yang akan digunakan sebagai folder kerja. 2. Untuk menjalankan PowerBuilder, klik Star > Programs > Sybase > PowerBuilder pada komputer anda 3. PowerBuilder menampilkan layar yang masih kosong. Pada bagian atas layar diperlihatkan menubar dan powerbar (shortcut dengan symbol bergambar icon-icon), sedangkan pada bagian kiri tampak window sistem tree dan clip Seperti aplikasi-aplikasi berbasis Windows pada umumnya, menubar berisi item-item menu dan submenu yang bisa dijalankan oleh pengguna untuk berinteraksi dengan aplikasi yang bersangkutan. Power Bar serupa dengan toolbar, yaitu panel yang berisi tombol-tombol shortcut untuk item-item menubar. Window Sistem Tree digunakan selama aktivitas pengembangan program, misalnya menampilkan objek-objek, membuat dan menjalankan program, men-debug program dan sebagainya, Window Clip berguna untuk menyimpan pototngan-potongan kode program yang sering digunakan, jadi ia berfungsi seperti catatan pribadi. Perhatikan bahwa pada window Sistem Tree ditampilkan tulisan “No Workspace”, artinya saat ini belum dibuka satu workspace apapun. Workspace merupakan sebuah area kerja misalnya ketika anda akan berinteraksi dengan file-file kode program dan profile database dengan konfigurasi tertentu. Workspace berfungsi sebagai meja kerja dengan penataan benda-benda kerja tertentu berkaitan dengan proyek aplikasi yang sedang dibuat. 4. Jalankan menu File > New 5. Pada window dialog, pilih tab Workspace dan pilih Workspace untuk membuat sebuah workspace baru, tekan Ok. 6. Simpan Workspace tersebut pada folder yang telah dibuat sebelumnya. 7. Langkah selanjutnya adalah membuat target didalam workspace. Jalankan menu File > New, klik tab Target dan pilih Application, klik Ok. 8. Berikutnya masukkan nama aplikasi pada kolom “Application Name”, klik Finish. 9. Pada window Sistem Tree, workspace tampak seperti gambar di bawah ini. Workspace Target Library Object Application 1.2 Jenis-jenis Window Jika anda cukup teliti, sewaktu mendisain sebuah objek window terdapat sebuah property yang bernama WindowType yang nilainya bisa dipilih antara child!, main!, mdi!, mdihelp!, popup! dan response!, tipe window itu akan menentukan bagaimana objek itu ditampilkan. 1. Tipe mdi! dan mdihelp! Hanya bisa digunakan untuk sebuah window utama/menu. MDI adalah kependekan dari Multiple Document Interface, artinya window tersebut adalah sebuah antar muka yang didalamnya dapat dibuka lagi window-window lain. 2. Tipe main! Adalah yang paling sering digunakan untuk antarmuka pada umumnya. Window main adalah window yang ditampilkan didalam window mdi atau mdihelp. 3. Tipe child! Adalah window yang dibuka dari tipe window lain, dan dianggap sebagai subwindow tersebut, tapi ini jarang digunakan. 4. Tipe popup! Adalah window yang dibuka dari window main dan umumnya digunakan untuk tujuan window dialog. Belajar-komputer: tutorial Power builder http://gustavias.blogspot.com/2012/05/tutorial-power-builder.html 1 of 24 21/08/2013 20:10

Belajar-Komputer_ Tutorial Power Builder

Embed Size (px)

DESCRIPTION

a

Citation preview

Page 1: Belajar-Komputer_ Tutorial Power Builder

Agus Andriana

Belajar-komputer

About Me

GustaviasavilaLihat profillengkapku

Daftar

Komputer Dan Masyarakat(10)

tip and trik (7)

Tutorial Delphi (4)

Database (3)

Etika Profesi (2)

power builder (2)

VB dan Delphi (1)

perbandingan PB (1)

Blog Archive

► 2013 (4)

▼ 2012 (26)

► Desember (7)

► November (8)

► Oktober (6)

► Juni (3)

▼ Mei (2)

Tipe Data Power

Builder

tutorial Power builder

Tip and trick

Sponsors

Fish

Selasa, 29 Mei 2012

tutorial Power builder

BAB I

MENGENAL POWERBUILDER, JENIS-JENIS WINDOW,

MEMBUAT MENU

1.1 Mengenal PowerBuilder

1. Sebelum menjalankan program PowerBuilder, buatlah sebuah folder pada komputer anda

yang akan digunakan sebagai folder kerja.

2. Untuk menjalankan PowerBuilder, klik Star > Programs > Sybase > PowerBuilder pada

komputer anda

3. PowerBuilder menampilkan layar yang masih kosong. Pada bagian atas layar diperlihatkan

menubar dan powerbar (shortcut dengan symbol bergambar icon-icon), sedangkan pada

bagian kiri tampak window sistem tree dan clip

Seperti aplikasi-aplikasi berbasis Windows pada umumnya, menubar berisi item-item menu

dan submenu yang bisa dijalankan oleh pengguna untuk berinteraksi dengan aplikasi yang

bersangkutan. Power Bar serupa dengan toolbar, yaitu panel yang berisi tombol-tombol

shortcut untuk item-item menubar. Window Sistem Tree digunakan selama aktivitas

pengembangan program, misalnya menampilkan objek-objek, membuat dan menjalankan

program, men-debug program dan sebagainya, Window Clip berguna untuk menyimpan

pototngan-potongan kode program yang sering digunakan, jadi ia berfungsi seperti catatan

pribadi.

Perhatikan bahwa pada window Sistem Tree ditampilkan tulisan “No Workspace”, artinya

saat ini belum dibuka satu workspace apapun. Workspace merupakan sebuah area kerja

misalnya ketika anda akan berinteraksi dengan file-file kode program dan profile database

dengan konfigurasi tertentu. Workspace berfungsi sebagai meja kerja dengan penataan

benda-benda kerja tertentu berkaitan dengan proyek aplikasi yang sedang dibuat.

4. Jalankan menu File > New

5. Pada window dialog, pilih tab Workspace dan pilih Workspace untuk membuat sebuah

workspace baru, tekan Ok.

6. Simpan Workspace tersebut pada folder yang telah dibuat sebelumnya.

7. Langkah selanjutnya adalah membuat target didalam workspace. Jalankan menu File >

New, klik tab Target dan pilih Application, klik Ok.

8. Berikutnya masukkan nama aplikasi pada kolom “Application Name”, klik Finish.

9. Pada window Sistem Tree, workspace tampak seperti gambar di bawah ini.

Workspace

Target

Library

Object Application

1.2 Jenis-jenis Window

Jika anda cukup teliti, sewaktu mendisain sebuah objek window terdapat sebuah property

yang bernama WindowType yang nilainya bisa dipilih antara child!, main!, mdi!, mdihelp!,

popup! dan response!, tipe window itu akan menentukan bagaimana objek itu ditampilkan.

1. Tipe mdi! dan mdihelp!

Hanya bisa digunakan untuk sebuah window utama/menu. MDI adalah kependekan dari

Multiple Document Interface, artinya window tersebut adalah sebuah antar muka yang

didalamnya dapat dibuka lagi window-window lain.

2. Tipe main!

Adalah yang paling sering digunakan untuk antarmuka pada umumnya. Window main adalah

window yang ditampilkan didalam window mdi atau mdihelp.

3. Tipe child!

Adalah window yang dibuka dari tipe window lain, dan dianggap sebagai subwindow

tersebut, tapi ini jarang digunakan.

4. Tipe popup!

Adalah window yang dibuka dari window main dan umumnya digunakan untuk tujuan window

dialog.

Belajar-komputer: tutorial Power builder http://gustavias.blogspot.com/2012/05/tutorial-power-builder.html

1 of 24 21/08/2013 20:10

Page 2: Belajar-Komputer_ Tutorial Power Builder

5. Tipe response!

Adalah jenis window dialog yang selama sebuah window response terbuka maka ialah yang

mendapat fokus dan pengguna tidak dapat beralih dari window itu sampai ia ditutup.

1. Jalankan menu File > New, klik tab “PB Object” dan pilih Window.

2. Sebuah window baru akan ditampilkan pada window painter.

Jalankan menu Insert > Control. Tampak bahwa PowerBuilder mempunyai banyak sekali

kontrol yang bisa diletakkan pada sebuah window atau dapat menggunakan control pada

power bar.

3. Pilih Static Text untuk membuat sebuah text, ketikan “window 1”, kemudian simpan

dengan nama “w_1”.

4. Buat kembali window baru dengan menjalankan menu File > New >, klik tab “PB Object”

dan pilih kembali Window.

5. Pilih Static Text untuk membuat sebuah text, ketikan “window 2”, kemudian simpan

dengan nama “w_2”.

6. Kembali pada window 1, pilih CommandButton kemudian ketik “Tampilkan window 2”.

7. Pada window 1, DoubleClick CommandButton kemudian pada event clicked ketikan kode

program: Open(w_2)

8. DoubleClick pada Object Application kemudian ketikan kode program Open(w_1). Object

Application berfungsi untuk memanggil window yang pertama kali dijalankan pada aplikasi,

9. Jalankan program dengan mengklik icon Run pada power bar atau dengan menekan

tombol Ctrl + R

Coba klik tombol “Tampilkan Window 2” maka window 2 akan tampil sesuai perintah.

untuk melihat jenis-jenis type window rubahlah window type pada properties menjadi type

window yang lain.

1.3 Membuat menu

Sebuah menu dibuat agar pengguna dapat berinteraksi dengan aplikasi. Pada contoh berikut

akan dijelaskan cara membuat sebuah objek menu dan mengasosiasikannya dengan

window

1. Jalankan menu File > New >, pilih tab “PB Object”, kemudian pilih Menu

2. Pada layar akan ditampilkan menu painter, yaitu window yang digunakan untuk mendesain

sebuah menu. Pada menu painter akan ditampilkan sebuah menu yang masih kosong. Untuk

sementara objek menu itu diberi nama Untitled(), karena ia belum disimpan. Klik kanan pada

Untitled() kemudian pilih Insert Submenu Item.

3. Pada item menu yang baru ketikan “&File” dan tekan Enter. PowerBuilder akan

menambahkan sebuah item menu bernama File

4. Klik kanan pada menu File dan pilih Insert Menu Item At End, ketik “&Edit” pada item

menu yang baru maka secara otomatis akan menambahkan item menu bernama Edit.

5. Untuk membuat sub menu klik kanan pada menu File kemudian pilih Insert Submenu Item

dan ketikan “&Exit” maka sebuah submenu dari menu File akan dibuat dengan nama Exit.

6. Ulangi langkah selanjutnya untuk menambahkan menu dan submenu

7. Untuk menambahkan Toolbar Item Text dan Toolbar Item name, klik pada submenu Exit

kemudian klik tab Toolbar pada Properties dan ketikan “Exit” pada Toolbar Item Text serta

pilih icon pada Toolbar Item Name.

8. Untuk menambahkan Shortcut, pilih tab General kemudian pilih Shortcut key

9. Simpan Objek tersebut dengan nama m_menu

10. Sebuah menu tidak bisa ditampilkan begitu saja, melainkan harus diletakkan pada

sebuah objek Window untuk itu buatlah sebuah window dengan cara File > New > PB Object

> Window

11. Setelah sebuah jendela window ditampilkan, pada properties MenuName alamatkan

pada sebuah menu yang telah dibuat yaitu m_menu, kemudian simpan window tersebut

dengan nama w_menu.

12. Untuk menjalankan program klik ganda Object Application dan ketikan kode program

Open(w_menu)

Untuk menampilkan Toolbar Item Text dan Toolbar Item Name rubah type window w_menu

menjadi mdi! atau mdihelp!.

BAB II

DASAR-DASAR POWERSCRIPT

2.1 Tipe Data Standar

Tipe data standar adalah tipe data umum yang banyak digunakan pada banyak bahasa

pemrograman meliputi, char, integer, decimal, long dan string. Pada powerscript, anda dapat

menggunakan tipe-tipe data ini untuk mendeklarasikan variabel atau array, berikut ini adalah

tipe data standar powerscript:

1. Blob

Binary large object. Digunakan untuk menyimpan data biner seperti gambar atau file

2. Boolean

Bernilai true atau false. Digunakan untuk menyimpan data logikal

3. Char atau character

Belajar-komputer: tutorial Power builder http://gustavias.blogspot.com/2012/05/tutorial-power-builder.html

2 of 24 21/08/2013 20:10

Page 3: Belajar-Komputer_ Tutorial Power Builder

Sebuah karakter ASCII, contoh :

Char c

C = “T”

C = ‘T’

4. Date

Untuk mendefinisikan sebuah nilai tanggal, pisahkan tahun, bulan dan tanggal menggunakan

karakter minus (-). Contoh:

1992-12-25 // 15 Desember 1992

5. Datetime

Umumnya untuk membaca atau menulis nilai datetime dari/ke database,

Contoh:

mm-dd-yy hh:mm:ss

6. Decimal atau dec

Angka decimal hingga maksimum 18 digit, anda dapat menempatkan tanda titik, anda dapat

menempatkan tanda titik decimal dimana saja diantara 18 digit itu, contoh:

12.34

0.005

-6500

+3.5555

7. Double

Angka floating-point dengan presisi 15 digit, jangkauan tipe data ini adalah dari

2,2250738585073E-308 hingga 1,79769313486231E+308

8. Integer atau int

Angka bulat 16 bit yang jangkauannya dari -32768 hingga +32767, contoh:

1

123

1200

+55

-32

9. Long

Angka bulat 32 bit yang jangkauannya dari -2.147.438.648 hingga +2.147.483.647

10. Real

Angka floating-point dengan presisi 6 digit dan jangkauannya dari 1,175495E -38

hingga3,402822E+38

11. String

Karakter-karakter ASCII yang panjangnya tidak ditentukan, contoh :

String a

a=”ini adalah string”

12. Time

Waktu dalam format 24 jam meliputi jam, menit, detik untuk mendefinisikan nilai waktu.

13. Unsignedinteger, unsignedint atau uint

Angka bulat positif 16 bit dari 0 hingga 65.535

14. Unsignedlong atau ulong

Angka bulat positif 32 bit dari 0 hingga 4.294.967.295

Tipe-tipe data diatas akan sering digunakan ketika anda mendeklarasikan variabel, tapi anda

perlu mengetahui sebuah istilah yang disebut identifier yaitu nama yang digunakan untuk

mendeklarasikan variabel, konstanta, objek, control, fungsi dan sebagainya.

2.2 Variabel

Variabel adalah identifier yang digunakan untuk menampung data sebelum sebuah variabel

digunakan dalam sebuah kode program, ia harus di deklarasikan terlebih dahulu.

1. Global

Variabel-variabel ini dapat diakses dari mana saja di dalam sebuah aplikasi. Ia tidak

tergantung pada definisi objek apapun. Variabel global dapat dideklarasikan menggunakan

sebuah painter, seperti application painter, window painter, user object painter, atau menu

painter.

2. Instance

Variabel-variabel ini diasosiasikan dengan sebuah objek sehingga variabel ini bias dianggap

sebagai sebuah property dari objek yang bersangkutan. Variabel instance dapat

dideklarasikan menggunakan sebuah painter.

Ketika sebuah variabel instance dideklarasikan pada sebuah objek window, menu, atau

application, variabel tersebut diinisialisasikan ketika objeknya dibuka. Nilai awal variabel itu

adalah nilai default untuk tipe data yang bersesuaian. Ketika objek ditutup , variabel instance

juga dihapus. Ketika objek itu dibuka lagi, variabel instance diinisialisasi lagi dari awal.

3. Shared

Variabel-variabel ini diasosiasikan dengan sebuah objek, namun mereka tidak bias dianggap

sebagai property objek tersebut karena variabel-variabel shared hanya bisa diakses oleh

kode program yang ada di dalam objek yang bersangkutan (private). Variabel shared sebuah

objek akan mempertahankan nilainya ketika objek tersebut ditutup dan dibuka lagi. Variabel

Belajar-komputer: tutorial Power builder http://gustavias.blogspot.com/2012/05/tutorial-power-builder.html

3 of 24 21/08/2013 20:10

Page 4: Belajar-Komputer_ Tutorial Power Builder

shared dapat dideklarasikan menggunakan sebuah painter.

4. Local

Variabel-variabel yang hanya dikenal didalam kode program yang mendefinisikannya. Ketika

kode program tersebut berakhir, hidup variabel-variabel ini juga berakhir dan nilai-nilainya

hilang. Variabel local langsung dideklarasikan di dalam kode program, misalnya pada

sebuah event atau fungsi.

BAB III

OOP POWERBUILDER (INHERITANCE DAN POLYMORPHISM)

3.1 Menerapkan Inheritance

Pada latihan ini akan membuat sebuah objek window ancestor dan dua buah objek window

descendent yang diturunkan dari window pertama.

1. Jalankan sebuah window baru dan letakkan sebuah control static text pada window

tersebut kemudian simpan dengan nama w_ancestor dan tutup.

2. Jalankan menu File > Inherit pilihlah w_ancestor. Tampak window ini serupa dengan

window w_ancestor yang tadi karena window ini diturunkan oleh window ancestor. Rubah

teks menjadi “Saya adalah turunan pertama”.

3. Simpan window tersebut dengan nama w_turunan1.

4. Jalankan kembali File > Inherit dan pilihlah w_ancestor kembali untuk membuat window

turunan lainnya dan rubah teks menjadi “Saya adalah turunan kedua”.

5. Simpan dengan nama w_turunan2

6. Tutup w_turunan1 dan w_turunan2 kemudian buka w_ancestor dan tambahkan kontrol

CommandButton (tombol close) kemudian ketikan kode program pada event Clicked:

Close(parent)

7. Simpan dan tutup w_ancestor

8. Buka kembali w_turunan1 dan w_turunan2, perhatikan bahwa pada kedua window itu juga

tampak sebuah tombol close.

9. Buatlah sebuah menu berisikan inheritance&polymorphism dengan menambahkan

beberapa item sub menu ancestor, turunan 1, dan turunan 2.

10. Ketik kode program untuk masing-masing objek.

11. Simpan m_menu dan lakukan uji coba dengan menjalankan menu

inheritance&polymorphism > Ancestor kemudian descendant 1 dan descendant 2 secara

bergantian.

3.2 Polymorphism

1. Buka window w_ancestor dan letakkan control CommandButton dengan teks “Klik saya”

dan ketikan kode program pada event Clicked, simpan dan tutup w_ancestor.

2. Buka w_turunan1 untuk menulis kode program di event clicked pada tombol klik saya.

3. Simpan dan tutup w_turunan1

4. Buka w_turunan2 dan ketik kode program pada event clicked pada tombol klik saya

5. Simpan dan tutup w_turunan2

6. Jalankan program dan buka ketiga window tersebut secara bergantian.

Namun ketika window turunan1 dan turunan2 dibuka tombol yang sama akan menampilkan

pesan dari ancestor diikuti pesan dari masing-masing turunan. Artinya kode program

ancestor akan dijalankan terlebih dahulu kemudian kode program dari objek itu sendiri

7. Untuk mengubah alur tersebut buka w_turunan1 dan buka script untuk objek tombol klik

saya pada event clicked.

8. Klik kanan pada window script, hilangkan tanda check pada Extend Ancestor Script.

9. Simpan perubahan dan jalankan program

BAB IV

KONEKSI DATABASE

4.1 Membuat Database

Sebelum membuat aplikasi terlebih dahulu mempersiapkan database sebagai tempat

penyimpanan data. Pada latihan ini kita akan membuat aplikasi sederhana penggajian

karyawan dengan susunan table Karyawan, Tunjangan dan Gaji menggunakan database

SQL Server.

1. Tabel karyawan

Column Name Data Type Length

Nip Char 10 *

Nama Varchar 35

Alamat Varchar 50

Tmp_Lahir Varchar 35

Tgl_Lahir Datetime -

Agama Varchar 25

J_Kelamin Varchar 25

Status Varchar 25

Belajar-komputer: tutorial Power builder http://gustavias.blogspot.com/2012/05/tutorial-power-builder.html

4 of 24 21/08/2013 20:10

Page 5: Belajar-Komputer_ Tutorial Power Builder

2. Tabel Tunjangan

Column Name Data Type Length

Kd_Tunjangan Char 5 *

Nama_Tunjangan Varchar 35

Nominal Numeric 9

3. Tabel Gaji

Column Name Data Type Length

No_Gaji Char 10 *

Nip Char 10 **

Kd_Tunjangan Char 5 **

Gapok Numeric 9

Total Numeric 9

Pot_Pajak Numeric 9

Gaji_Bersih Numeric 9

Keterangan :

* Primary Key

** Foreign Key

Strukture Query Language

Table karyawan:

Create table Karyawan(

Nip char (10),

Nama varchar(35),\

Alamat varchar(50),

Tmp_lahir varchar(25),

Tgl_lahir datetime,

Agama varchar(25),

J_kelamin varchar(25),

Status varchar(25),

Primary key(nip)

);

Table Tunjangan

Create table Tunjangan(

Kd_tunjangan char(5),

Nm_tunjangan varchar(35),

Nominal numeric(9),

Primary key(kd_tunjangan)

);

Table Gaji

Create table Gaji

Tanggal datetime,

Kd_gaji char(10),

Nip char(10),

Kd_tunjangan char(5),

Gapok numeric(9),

Total numeric(9),

Pot_pajak numeric(9),

Gaji_bersih numeric(9),

Constraint [pk_gaji] primary key clustered

(

[kd_gaji],

[nim],

[kd_tunjangan]

),

Foreign key(nim) references karyawan,

Foreign key(kd_tunjangan)references tunjangan

);

4.2 Koneksi Database SQL Server

1. Klik File > New > klik tab Database > pilih Database Painter

2. Setelah jendela database painter terbuka klik kanan pada MSS Microsoft SQL > New

Belajar-komputer: tutorial Power builder http://gustavias.blogspot.com/2012/05/tutorial-power-builder.html

5 of 24 21/08/2013 20:10

Page 6: Belajar-Komputer_ Tutorial Power Builder

Profile

3. Kemudian isikan

Profile Name : nama profile

Server : diambil dari server local pada MSSQL Server

Login ID : sa

Password : kosongkan

Database : nama database pada MSSQL Server

4. Setelah selesai kemudian klik tab Preview > Test Connection jika berhasil maka akan

tampil pesan Connection Succesful seperti tampilan dibawah ini.

5. Pada tab Preview terlihat kode program yang secara otomatis dibuatkan oleh database

painter, kemudian Copy/salin kode program tersebut kemudian klik Ok.

6. Pada database painter telah tampil database profile yang baru saja dibuat, kemudian klik

kanan pilih Connect.

7. Setelah terhubung dengan database profile kemudian klik ganda pada object application

kemudian paste atau tempatkan kode program yang telah anda copy/salin dari database

profile. Dan tambahkan kode program dibawah ini:

CONNECT;

IF SQLCA.SQLDBCode <> 0 THEN

Messagebox("Koneksi gagal",SQLCA.SQLErrText,stopsign!)

HALT CLOSE

END IF

8. Kemudian simpan object application yang telah berisikan kode program.

4.3 Koneksi Database Ms Access

1. Untuk koneksi database Ms Access terlebih dahulu harus membuat ODBC Data Source

Name (ODBC DSN). Buka control panel > Administrative Tools > DataSources(ODBC) >

pilih System DSN > klik Add > Pilih Microsoft Access Driver(mdb) atau Microsoft Access

Driver(mdb,accdb) > Finish

2. Isi data source name kemudian klik select, cari alamat database yang telah dibuat, klik Ok.

3. Maka sebuah datasource(ODBC) telah dibuat, klik Ok.

4. Setelah Data Source Name (ODBC DSN) terbentuk, kembali pada powerbuilder,

kemudian klik kanan pada database profile ODB ODBC > New Profile.

5. Kemudian isikan

Profile Name : nama profile

Data Source : pilih datasource yang telah dibuat

Login ID : sa

Password : kosongkan

6. Setelah selesai kemudian klik tab Preview > Test Connection jika berhasil maka akan

tampil pesan Connection Succesful seperti tampilan dibawah ini

7. Pada database painter telah tampil database profile yang baru saja dibuat, kemudian klik

kanan pilih Connect.

8. Setelah terhubung dengan database profile kemudian klik ganda pada object application

kemudian paste atau tempatkan kode program yang telah anda copy/salin dari database

profile. Dan tambahkan kode program dibawah ini:

CONNECT;

IF SQLCA.SQLDBCode <> 0 THEN

Messagebox("Koneksi gagal",SQLCA.SQLErrText,stopsign!)

HALT CLOSE

END IF

9. Kemudian simpan object application yang telah berisikan kode program.

BAB V

MENU APLIKASI PENGGAJIAN

5.1 Membuat Menu

1. Jalankan menu File > New >, pilih tab “PB Object”, kemudian pilih Menu

2. Pada layar akan ditampilkan menu painter, yaitu window yang digunakan untuk mendesain

sebuah menu. Pada menu painter akan ditampilkan sebuah menu yang masih kosong. Untuk

sementara objek menu itu diberi nama Untitled(), karena ia belum disimpan. Klik kanan pada

Untitled() kemudian pilih Insert Submenu Item.

3. Pada item menu yang baru ketikan “&Input” dan tekan Enter. PowerBuilder akan

menambahkan sebuah item menu bernama Input

4. Klik kanan pada menu Input tadi dan pilih Insert Menu Item At End, ketik “&Transaksi”

pada item menu yang baru maka secara otomatis akan menambahkan item menu bernama

Transaksi.

5. Untuk membuat sub menu klik kanan pada menu Input kemudian pilih Insert Submenu

Item dan ketikan “Karyawan” maka sebuah submenu dari menu Input akan dibuat dengan

nama Karyawan.

6. Ulangi langkah selanjutnya untuk menambahkan menu

7. Untuk menambahkan Toolbar Item Text dan Toolbar Item name, klik pada submenu

Karyawan kemudian klik tab Toolbar pada Properties dan ketikan “Karyawan” pada Toolbar

Belajar-komputer: tutorial Power builder http://gustavias.blogspot.com/2012/05/tutorial-power-builder.html

6 of 24 21/08/2013 20:10

Page 7: Belajar-Komputer_ Tutorial Power Builder

Item Text serta pilih icon pada Toolbar Item Name.

8. Untuk menambahkan Shortcut, pilih tab General kemudian pilih Shortcut key

9. Simpan Objek tersebut dengan nama m_menu

5.2 Window Menu

1. Sebuah menu tidak bisa ditampilkan begitu saja, melainkan harus diletakkan pada sebuah

objek Window untuk itu buatlah sebuah window dengan cara File > New > PB Object >

Window

2. Setelah sebuah jendela window ditampilkan, pada properties MenuName alamatkan pada

sebuah menu yang telah dibuat yaitu m_menu. Rubah type window menjadi mdi! atau

mdihelp! kemudian simpan window tersebut dengan nama w_menu.

3. Untuk menjalankan program buka Object Application dan tambahkan kode program

Open(w_menu)

4. Simpan perubahan dan jalankan program

BAB VI

OBJEK DATAWINDOW

6.1 DataWindow Untuk Entri Data

Pada pembahasan ini akan diperlihatkan cara membuat sebuah form entri data, form yang

dimaksud adalah sebuah tampilan yang berisi kolom-kolom dari sebuah table didalam

database.

1. Jalankan menu File > New > pilih tab DataWindow.

2. Pada window tersebut akan ditampilkan bermacam-macam tipe presentasi DataWindow,

pilihlah Freeform, klik Ok.

3. Pilih sumber data untuk DataWindow > Ok > SQL Select > next

4. Pilihlah table yang akan dibuat DataWindow untuk entri data, saat ini pilihlah tabel

karyawan > open maka akan tampil kolom-kolom dari tabel karyawan

5. Klik satu persatu kolom dari tabel karyawan atau untuk memilih semua kolom sekaligus,

klik kanan pada tabel karyawan dan pilih Select All.

6. Apabila sudah selesai jalankan menu File > Return DataWindow Painter untuk

melanjutkan. Window dialog akan muncul saat ini tidak perlu melakukan apa-apa klik Next >

Finish.

7. Pada layar akan ditampilkan sebuah DataWindow painter.

8. Desainlah model DataWindow untuk entri data karyawan: Background Color untuk

mewarnai dan 3D Lowered Border untuk mendesain entrian data.

9. Setelah tampilan DataWindow di desain klik Tab Order untuk urutan data yang lebih dulu di

entri.

10. Klik menu Rows > Update Properties kemudian cheklis Allow Updates > Table To

Update pilih Karyawan > pada Updateable Columns klik satu persatu kolom yang akan

menyimpan data > pilih Unique Key Column > Ok.

11. Setelah selesai simpan DataWindow tersebut dengan nama dw_karyawan.

6.2 DataWindow Pada Window

Setelah anda selesai mendesain sebuah DataWindow, sekarang anda bisa menampilkan

objek tersebut pada program aplikasi. DataWindow tidak bisa ditampilkan begitu saja,

melainkan harus diletakkan pada sebuah objek Window sebagai sebuah kontrol.

1. Buatlah sebuah objek Window baru File > New > PB Object > Window

2. Tambahkan sebuah kontrol DataWindow pada Window w_karyawan dengan cara

menjalankan menu Insert > Control > DataWindow

3. Pada window Properties DataObject pilih dw_karyawan

4. Klik ganda pada window kemudian ketikan kode program dibawah ini

Dw_1.settransobject(sqlca)

Dw_1.retrieve()

5. Simpan window dengan nama w_karyawan

BAB VII

MANIPULASI DATA LEWAT DATA WINDOW

7.1 Tambah, Batal, Simpan, Rubah dan hapus Data

Setelah selesai membuat DataWindow pada Window, kita akan menambahkan tombol

tambah, rubah, simpan, Batal, dan Hapus data.

1. Tambahkan kontrol CommandButton untuk tombol Tambah, Batal, Simpan, Rubah, Hapus

dan Keluar dengan nama masing-masing tombol pada properties cb_tambah, cb_batal,

cb_simpan, cb_rubah dan cb_hapus dan cb_keluar.

2. Klik ganda pada w_karyawan event open tambahkan sebaris kode program

Dw_1.object.datawindow.readonly=’yes’ menonaktifkan DataWindow

Kode program tersebut digunakan untuk menonaktifkan data window sehingga user

diharuskan mengklik tombol Tambah terlebih dahulu sebelum melakukan entri data.

3. Klik ganda pada tombol Tambah dan ketik kode program dibawah ini pada event clicked.

Belajar-komputer: tutorial Power builder http://gustavias.blogspot.com/2012/05/tutorial-power-builder.html

7 of 24 21/08/2013 20:10

Page 8: Belajar-Komputer_ Tutorial Power Builder

Dw_1.object.datawindow.readonly=’no’ mengaktifkan DataWindow

Long i

i=dw_1.insertrow(0)

dw_1.scrolltorow(i)

dw_1.setfocus()

dw_1.setcolumn(1)

4. Ketik kode program untuk tombol Batal pada event clicked

dw_1.object.datawindow.readonly='yes'

dw_1.retrieve()

5. Ketik kode program untuk tombol Simpan pada event clicked.

If dw_1.update() = 1 then

Messagebox(“Pesan”,”Suksess..”,information!)

dw_1.object.datawindow.readonly='yes'

Else

Messagebox(“Pesan”,”Gagal..”,information!)

End if

6. Ketik kode program untuk tombol Rubah pada event clicked.

dw_1.object.datawindow.readonly=’no'

Dw_1.setfoucus()

Dw_1.setcolumn(1)

7. Ketik kode program untuk tombol Hapus pada event clicked.

Integer i

i=messagebox(“Pesan”,”Yakin data akan dihapus”,question!,yesno!)

if i = 1 then

dw_1.deleterow(0)

dw_1.update()

messagebox(“Pesan”,”Suksess…”,information!)

dw_1.object.datawindow.readonly='yes'

else

messagebox(“Pesan”,”Gagal…”,information!)

end if

8. Ketik kode program untuk tombol Keluar pada event clicked

Close(parent)

9. Simpan perubahan dan tutup w_karyawan

10. Buka m_menu dan klik ganda pada submenu karyawan kemudian tuliskan kode program

pada m_menu.m_karyawan.

Open(w_karyawan)

11. Simpan perubahan dan jalankan program

Pengontrolan aliran program untuk menjalankan aksi-aksi tertentu berdasarkan kondisi-

kondisi yang ditetapkan IF… THEN memiliki dua macam sintak.

1. Format satu baris

IF kondisi THEN aksi (ELSE aksi2)

Kondisi : kondisi yang dievaluasi

Aksi1 : aksi yang dijalankan jika ekspresi logical kondisi bernilai true

aksi tersebut harus merupakan sebuah perintah yang ada pada satu baris dengan IF

Aksi2 : aksi yang dijalankan jika kondisi bernilai FALSE.

2. Format beberapa baris

IF kondisi THEN

Aksi1

(ELSEIF kondisi2 THEN

Aksi2)

(ELSE

Aksi3)

END IF

Kondisi : kondisi yang dievaluasi

Aksi1 : aksi yang dijalankan jika ekspresi logical kondisi bernilai TRUE,

aksi tersebut bisa merupakan sebuah perintah atau beberapa baris kode program.

Kondisi2 : kondisi yang dievaluasi jika kondisi1 bernilai FALSE. Beberapa

ELSEIF… THEN dapat dibuat didalam sebuah struktur kontrol IF.. THEN.

Aksi2 : aksi yang dijalankan jika kondisi2 bernilai TRUE aksi tersebut

bisa merupakan sebuah perintah atau beberapa baris kode program.

Aksi3 : aksi yang dijalankan jika semua kondisi sebelumnya bernilai

FALSE, aksi tesebut bisa merupakan sebuah perintah atau beberapa baris kode program.

Pada format beberapa baris, struktur kontrol IF… THEN harus diakhiri dengan END IF.

7.2 Merubah Format Tanggal

Belajar-komputer: tutorial Power builder http://gustavias.blogspot.com/2012/05/tutorial-power-builder.html

8 of 24 21/08/2013 20:10

Page 9: Belajar-Komputer_ Tutorial Power Builder

1. Buka dw_karyawan kemudian klik kolom tgl_lahir.

2. Pada properties pilih tab Edit kemudian rubah Style Type menjadi EditMask

3. Pada Mask rubah format tanggal menjadi DD-MM-YYYY

format tanggal Tampilan

dd-mm-yy 01-12-09

dd/mm/yyyy 01/12/2009

dd mmm yyyy 01 Dec 2009

dddd, d mmm, yyyy Friday, 3 Dec 2009

7.3 Dropdown Listbox

Penggunaan Dropdown Listbox digunakan untuk pilihan dimana telah mempunyai ketetapan

pada pilihannya sebagai contoh untuk entri data jenis kelamin hanya pria dan wanita, tidak

ada pilihan atau tambahan data lainnya karena bersifat tetap.

1. Pada dw_karyawan klik tombol Jenis Kelamin.

2. Pada properties pilih tab Edit kemudian rubah Style Type menjadi DropDownListBox

3. Ceklis pada Always Show Arrow dan V Scrollbar

4. Pada Code Table

Display Value Data Value

Pria Pria

Wanita Wanita

Dalam hal ini Display Value merupakan pilihan yang akan ditampilkan dan Data Value

merupakan data yang akan disimpan dalam database.

7.4 RadioButtons

1. Pada dw_karyawan klik Agama.

2. Pada properties pilih tab Edit kemudian rubah Style Type menjadi RadioButtons.

3. Ceklis pada 3D Look dan Scale Circles

4. Pada Column Acros isi nilai berapa banyak pilihan yang akan ditampilkan.

5. Pada Code Table isikan data-data pilihan yang akan ditampilkan dan disimpan.

7.5 Tombol Navigasi

1. Buka dw_karyawan, buatlah tombol awal, sebelum, sesudah dan akhir

2. Pada properties pilihan Action

Awal = PageFirst

Sebelum = PagePrior

Sesudah = PageNext

Akhir = PageLast

Untuk mengetahui baris data yang ditampilkan harus menambahkan control computed Field

3. Klik create a computed field

4. Letakkan pada dw_karyawan dan pada exspression ketik kode program berikut:

currentrow()+“ Dari ”+rowcount()

5. Klik verify dan Ok

6. Simpan perubahan dan jalankan program

Latihan 1:

Buatlah form entri data Tunjangan lengkap dengan tombol navigasi seperti contoh diatas.

BAB VIII

DROPDOWN DATAWINDOW, DATAWINDOW DENGAN PARAMETER

Dropdown DataWindow pada dasarnya menampilkan sebuah kolom dari tabel tertentu jika

terjadi perubahan atau penambahan data pada tabel itu maka perubahan itu akan tercermin

juga pada Dropdown DataWindow. Pada entri transaksi penggajian terdapat data yang di

entri dari tabel lain misalnya NIK yang diambil dari tabel karyawan.

8.1 DataWindow Transaksi

1. Buatlah DataWindow pilih Freeform.

2. Pilih SQL Select > Ok

3. PowerBuilder akan menampilkan layar baru, pilih tabel Gaji dan Tunjangan > Open

4. Pilih semua kolom pada tabel Gaji dan pada tabel Tunjangan cukup pilih Nominal saja, hal

ini dikarenakan untuk penjumlahan yang mencakup nominal dari tabel Tunjangan.

5. Klik File > Return to DataWindow Painter

6. Simpan dengan nama dw_penggajian

7. Buatlah window untuk dw_karyawan lengkap dengan tombol navigasinya.

8. Simpan dengan nama w_penggajian.

8.2 Dropdown DataWindow

1. Buatlah sebuah objek DataWindow pilih Tabular > Ok

2. Pilih SQL Select > Ok

Belajar-komputer: tutorial Power builder http://gustavias.blogspot.com/2012/05/tutorial-power-builder.html

9 of 24 21/08/2013 20:10

Page 10: Belajar-Komputer_ Tutorial Power Builder

3. Pilih tabel Karyawan > Open

4. Pilih kolom nik dan nama saja

5. Klik File > Return to DataWindow Painter

6. Klik Next > Finish

7. Simpan dengan nama ddw_karyawan

8. Buka dw_penggajian, klik kolom NIK.

9. Pilih Edit pada properties

Style Type = DropdownDW

Always Show Arrow = ceklis

H Scrollbar = ceklis

V Scrollbar = ceklis

DataWindow = ddw_karyawan

Display Column = Nik

Data Column = Nik

10. Simpan perubahan

8.3 DataWindow Dengan Parameter

Pada DataWindow juga bisa ditampilkan data-data berdasarkan kriteria tertentu. Hal ini

dilakukan dengan menambahkan kondisi itu pada perintah SELECT yang bersangkutan,

misalnya menampilkan nominal untuk kode tunjangan tertentu dan sebagainya.

1. Buatlah Dropdown DataWindow untuk kode tunjangan dengan cara yang sudah dijelaskan.

2. Buka window penggajian (w_penggajian) kemudian klik ganda pada dw_1 pada event

itemchanged dan ketikan kode program berikut:

string ls_kd_tunjangan

decimal a

choose case dwo.name

case "gaji_kd_tunjangan"

ls_kd_tunjangan=data

select tunjangan.kd_tunjangan,tunjangan.nominal

into :ls_kd_tunjangan,:a

from tunjangan

where tunjangan.kd_tunjangan=:ls_kd_tunjangan

;

dw_1.object.tunjangan_nominal[getrow()]=a

end choose

3. Simpan perubahan dan jalankan program

BAB IX

ARITHMETIC OPERATORS

Operator digunakan untuk membuat kalkulasi aritmetika, membandingkan nilai, manipulasi

teks, operasi logikal dan sebagainya.

Operator aritmetika

+ Penjumlahan

- Pengurangan

* Perkalian

/ Pembagian

Pangkat

Pada transaksi penggajian kolom Total digunakan untuk menjumlahkan tunjangan dan gaji

pokok secara otomatis, ikutilah langkah-langkah berikut:

9.1 Membuat Total Gaji

1. Buka w_penggajian dan klik ganda pada dw_1 pada event itemchanged tambahkan kode

program berikut:

dw_1.accepttext()

dw_1.object.gaji_total[getrow()]=dw_1.object.tunjangan_nominal[getrow()] + &

dw_1.object.gaji_gapok[getrow()]

2. Simpan perubahan dan jalankan program

Latihan 2:

Buatlah perhitungan gaji bersih dengan kriteria :

Total – Pot_Pajak = Gaji_Bersih

BAB X

DATAWINDOW LAPORAN

Telah disebutkan, bahwa fungsi utama objek DataWindow adalah sebagai antar muka untuk

berinteraksi dengan database. Interaksi yang dimaksud adalah memanipulasi data (tambah,

batal, simpan, rubah, hapus) atau menampilkan data. Berkaitan dengan penampilan.

DataWindow digunakan untuk menyajikan data kepada pengguna sebatas untuk inquiry.

Belajar-komputer: tutorial Power builder http://gustavias.blogspot.com/2012/05/tutorial-power-builder.html

10 of 24 21/08/2013 20:10

Page 11: Belajar-Komputer_ Tutorial Power Builder

Khusus pada bab ini akan diuraikan bagaimana anda dapat menambahkan fitur pencetakan

data atau laporan pada aplikasi anda dengan menggunakan objek DataWindow.

10.1 Laporan Berbentuk Tabular

Untuk yang pertama akan diperlihatkan cara membuat laporan data karyawan yang

sederhana.

1. Buatlah sebuah objek DataWindow baru dan pilih Tabular.

2. Pilih sumber datanya sebagai “SQL Select”. Klik Next

3. Pilihlah table yang akan dibuat DataWindow untuk laporan, saat ini pilihlah tabel karyawan

> open maka akan tampil kolom-kolom dari tabel karyawan

4. Klik satu persatu kolom dari tabel karyawan atau untuk memilih semua kolom sekaligus,

klik kanan pada tabel karyawan dan pilih Select All.

5. Apabila sudah selesai jalankan menu File > Return DataWindow Painter untuk

melanjutkan. Window dialog akan muncul saat ini tidak perlu melakukan apa-apa klik Next >

Finish.

6. Desain tampilan DataWindow untuk laporan

7. Untuk membuat judul laporan, geser kebawah header 1 berikut kolom untuk memberikan

ruang pada judul laporan. Kemudian tambahkan line untuk membuat garis.

8. Untuk menambahkan Jumlah Karyawan, geser kebawah summary 1 untuk memberi ruang.

9. Klik Computed Field untuk ekspresi perhitungan jumlah karyawan, kemudian ketikan kode

program:

Currentrow()

10. Klik verify, kemudian Ok.

11. Simpan dengan nama dw_lap_karyawan

10.2 Laporan Berbentuk Grafik

Pada DataWindow dapat dibuat laporan grafik dengan bentuk yang baragam tipe, diagram

garis atau b, r, baik 2D maupun 3D. laporan dengan bentuk ini umumnya mempunyai

perintah SELECT yang lebih sederhana karena data yang akan ditampilkan biasanya

berbentuk summary.

1. Buatlah DataWindow dengan tipe Graph

2. Piih tabel Karyawan, Tunjangan, dan Gaji untuk merelasikan antar tabel > Return to

DataWindow Painter.

3. Pada kolom Category pilih berdasarkan NIK dan Kolom Values pilih jumlah dari Gaji

Bersih > Next.

4. Pada Title Ketikan Grafik Penggajian > Next. > Finish

5. Untuk merubah Text Category. Pada properties pilihan Axis rubah menjadi Category, pada

label ketikan “NIK Karyawan”

6. Untuk merubah Text Values. Pada properties pilihan Axis rubah menjadi Values, pada

label ketikan “Gaji Bersih”

7. Simpan dengan nama dw_lap_grafik

BAB XI

WINDOW LAPORAN

Semua laporan yang dibuat tadi tentunya harus dapat ditampilkan kepada pengguna. Untuk

melakukan itu, kita harus membuat sebuah objek Window dengan kontrol DataWindow

sehingga objek-objek DataWindow tadi bisa ditampilkan didalamnya.

11.1 Membuat Window Laporan

1. Buatlah sebuah objek Window

2. Letakkan sebuah objek DataWindow laporan karyawan.

3. Klik ganda pada Window event open dan ketikan kode program

Dw_1.settransobject(sqlca)

Dw_1.retrieve()

4. Simpan dengan nama w_karyawan

11.2 Format Laporan

11.2.1 Zoom

1. Buka w_karyawan, tambahkan kontrol DropdownListBox untuk Zoom

2. Pada properties, pilihan Item isikan nilai-nilai ukuran yang akan digunakan.

3. Klik ganda pada DropdownListBox event selectionchanged dan ketikkan kode program

dw_1.object.datawindow.print.preview='yes'

integer li_zoom

li_zoom = integer(This.text)

dw_1.Object.DataWindow.Print.Preview.Zoom = li_zoom

4. Simpan perubahan

11.2.2 Size Text

1. Tambahkan kembali kontrol DropdownListBox untuk Size Text

2. Pada properties, pilihan Item isikan nilai-nilai ukuran yang akan digunakan.

12. Klik ganda pada DropdownListBox event selectionchanged dan ketikkan kode program

dw_1.Object.DataWindow.Zoom = ddlb_2.text

dw_1.Title = "Zoom is " + String ( this.text ) + "%"

Belajar-komputer: tutorial Power builder http://gustavias.blogspot.com/2012/05/tutorial-power-builder.html

11 of 24 21/08/2013 20:10

Page 12: Belajar-Komputer_ Tutorial Power Builder

13. Simpan perubahan

11.2.3 Ruler

1. Tambahkan kontrol CheckBox untuk Ruler

2. Klik ganda pada CheckBox event clicked dan ketikkan kode program

if dw_1.describe('datawindow.print.preview')='yes' then

if this.checked then

dw_1.object.datawindow.print.preview.rulers='yes'

else

dw_1.object.datawindow.print.preview.rulers='no'

end if

end if

3. Simpan perubahan

11.2.4 Page Setup

1. Buatlah kontrol RadioButton untuk pilihan Default, Portrait dan Lanscape

2. Klik ganda pada RadioButton Default, pada event clicked ketikkan kode program

if dw_1.describe('datawindow.print.preview')='yes' then

dw_1.Object.DataWindow.Print.orientation = 0

dw_1.Modify(' datawindow.paper.orientation = 0')

end if

dw_1.object.datawindow.print.preview='yes'

3. Klik ganda pada RadioButton Portrait, pada event clicked ketikkan kode program

if dw_1.describe('datawindow.print.preview')='yes' then

dw_1.Object.DataWindow.Print.orientation = 2

dw_1.Modify(' datawindow.paper.orientation = 2')

end if

dw_1.object.datawindow.print.preview='yes'

4. Klik ganda pada RadioButton Landscape, pada event clicked ketikkan kode program

if dw_1.describe('datawindow.print.preview')='yes' then

dw_1.Object.DataWindow.Print.orientation = 1

dw_1.Modify(' datawindow.paper.orientation = 1')

end if

dw_1.object.datawindow.print.preview='yes'

5. Simpan perubahan

11.2.5 Save As

1. Buatlah kontrol CommandButton untuk tombol Save As

2. Klik ganda pada tombol event clicked dan ketikkan kode program

dw_1.saveas()

3. Simpan perubahan

11.2.5 Cetak Laporan

1. Tambahkan kontrol commandbutton untuk tombol print setup

2. Klik ganda pada tombol print setup event clicked ketikan kode program:

Printsetup()

3. Tambahkan kembali kontrol commandbutton untuk tombol print.

4. Klik ganda pada tombol print event clicked ketikkan kode program:

Dw_1.print()

5. Simpan perubahan dan jalankan program

BAB XII

APLIKASI EXE

Pada bab ini kita akan membuat executable file (EXE) dari kode program yang sudah kita

kembangkan selama ini.

12.1 Membuat File Exe

1. Jalankan menu File > New, kemudian pilih tab Project dan pilih Application > Ok

2. Pada layar ditampilkan sebuah form untuuk mempersiapkan proses compiling. Pada

kolom “Executable File Name” pilih lokasi penyimpanan dan ketiklah nama file.

3. Pada Rebuild, pilih Full untuk meng-compile keseluruhan kode program, jika memilih

Incremental PowerBuilder hanya akan meng-compile bagian kode program yang diubah dari

saat compiling terakhir.

4. Machine Code

Pcode (kependekan dari Pseudocode) adalah bahasa yang diiinterpretasikan dan didukung

oleh semua platform PowerBuilder. Format ini sama dengan yang PowerBuilder gunakan

didalam kode program (file PBL) untuk objek-objek individual, tapi dalam kondisi bisa

eksekusi. Keuntungan Pcode adalah portability.

Machine Code adalah format executable atau dynamic library pada umumnya. Keuntungan

Belajar-komputer: tutorial Power builder http://gustavias.blogspot.com/2012/05/tutorial-power-builder.html

12 of 24 21/08/2013 20:10

Page 13: Belajar-Komputer_ Tutorial Power Builder

dari Machine Code adalah kecepatan eksekusi.

5. Klik menu Run > Full Build Workspace.

6. Jika sudah selesai sebuah file .exe akan terdapat pada folder penyimpanan.

Latihan 3

Buatlah sistem aplikasi point of shale dengan struktur tabel sebagai berikut:

1. Tabel Customer

Column Name Data Type Length

Kd_Customer Char 10 *

Nama Varchar 35

Alamat Varchar 50

Tlp Varchar 35

2. Tabel Barang

Column Name Data Type Length

Kd_Barang Char 5 *

Nama_Barang Varchar 25

Merk Varchar 25

3. Tabel Penjualan

Column Name Data Type Length

No_Penjualan Char 10 *

Kd_Cutromer Char 10 **

Kd_Barang Char 5 **

Tanggal Datetime -

Jumlah_Barang Numeric 9

Harga_Satuan Numeric 9

Total Numeric 9

Discount Numeric 9

Jumlah_Discount Numeric 9

Jumlah_Bayar Numeric 9

Kriteria Transaksi:

Total = Jumlah_Barang * Harga_Satuan

Jumlah_Discount = Total * Discount / 100

Jumlah_Bayar = Total - Jumlah_Discount

Keterangan :

* Primary Key

** Foreign Key

Posted by setiawanthea at 11:20 PM 0 comments

Thursday, May 10, 2007Validasi untuk Requeired Column// function : f_cek_required( datawindow dw )// deskripsi : Untuk mencek column-column yang harus diisi (required)// dan menampilkan pesan jika column tsb tidak diisi.// Required column tsb harus diberi sesuai dengan// label column tsb.// return : 1 (success) , -1 (ada column yg tidak diisi)

string sTemplong lRowCount, lColCount, i, jdwitemstatus l_statusSetPointer(HourGlass!)lRowCount = dw.RowCount()lColCount = long(dw.Describe("DataWindow.Column.Count"))if dw.AcceptText() = -1 then return -1

// Cek setiap column untuk setiap rowFor i = 1 to lRowCountl_status = dw.GetItemStatus(i,0,Primary!)IF l_status <> NotModified! THENFOR j = 1 TO lColCountsTemp = Trim(String(dw.object.data[i,j]))IF isNull(sTemp) THEN sTemp = ""IF sTemp <> "" THEN CONTINUEsTemp = dw.Describe("#" + String(j) + ".tag")IF sTemp <> "" THENIF sTemp <> "?" THENMessageBox("Validation Error","Sorry! " +sTemp + " cannot be Empty.")sTemp = dw.Describe("#" + String(j) + ".name")dw.SetFocus()

Belajar-komputer: tutorial Power builder http://gustavias.blogspot.com/2012/05/tutorial-power-builder.html

13 of 24 21/08/2013 20:10

Page 14: Belajar-Komputer_ Tutorial Power Builder

dw.ScrollToRow(i)dw.SetColumn(sTemp)RETURN -1END IFEND IFNEXTEND IFNext

RETURN 1Posted by setiawanthea at 9:07 PM 0 commentsCari nama parent window pada suatu object (Powerbuilder)/////////////////////////////////////////////////////////////////////////////////////////// function : uf_parentwindow// Purpose : return parent window// Scope : Public// Arguments : graphicobject - ao_grapobj// Returns : window//// Modification Log// ================// NAME VER DATE DESCRIPTION////------------------ ---------------------------------------------// setiawanthea 1.0///////////////////////////////////////////////////////////////////////////////////////////--------------------------Start of declarations----------------------------//

graphicobject lgrwindow lwin

lgr = ao_grapobjif isnull(lgr) or not(isvalid(lgr)) thenreturn lwinend if

do until lgr.typeof() = window!lgr = lgr.getparent()if isnull(lgr) or not(isvalid(lgr)) then//have no parent windowreturn lwinend ifloop

lwin = lgr

return lwinPosted by setiawanthea at 8:48 PM 0 commentsvalidasi time (Powerbuilder)//////////////////////////////////////////////////////////////////////////////////

//

// Purpose : validasi time (hh:mm:ss:ff)

// Scope : Public

// Arguments : as_time - strring

// Returns : long

//

//////////////////////////////////////////////////////////////////////////////////

//*****************Start of Code****************//

if isnull(as_time) then

return true

end if

if len(as_time) = 8 then

else

Belajar-komputer: tutorial Power builder http://gustavias.blogspot.com/2012/05/tutorial-power-builder.html

14 of 24 21/08/2013 20:10

Page 15: Belajar-Komputer_ Tutorial Power Builder

return false

end if

if isnumber(as_time) then

else

return false

end if

if mid(as_time,3,2) > '59' then return false // cek menit

if mid(as_time,5,2) > '59' then return false // cek detik

if mid(as_time,7,2) > '24' then return false // cek frame

if mid(as_time,3,2) < '00' then return false // cek menit if mid(as_time,5,2) < '00' then

return false // cek detik if mid(as_time,7,2) < '00' then return false // cek frame return

true //*****************End of Code****************// Cara Pake nya masukan syntak

dibawah kedalam datawindow - Validation Expression di kolom yang akan di validasi

f_time_valid( gettext())

Posted by setiawanthea at 8:48 PM 0 commentsStatus Baris Data (Powerbuilder)////////////////////////////////////////////////////////// Purpose : Cek Status Kolom

//

// Scope :

// Arguments :

// Returns :

//

///////////////////////////////////////////////////////

//*****************Start of Code****************//

dwitemstatus ldw_st

ldw_st = nama_dw.getitemstatus(nama_dw.getrow(),0,Primary!)

if ldw_st = new! then

messagebox("check",'new')

elseif ldw_st = newmodified! then

messagebox("check",'newmodified')

elseif ldw_st = datamodified! then

messagebox("check",'datamodified')

elseif ldw_st = notmodified! then

messagebox("check",'notmodified')

else

messagebox("check",'others')

end if

//*****************End of Code****************//

Posted by setiawanthea at 8:46 PM 0 commentsOlder Posts HomeSubscribe to: Posts (Atom)

Validasi untuk Requeired Column// function : f_cek_required( datawindow dw )// deskripsi : Untuk mencek column-column yang harus diisi (required)// dan menampilkan pesan jika column tsb tidak diisi.// Required column tsb harus diberi sesuai dengan// label column tsb.// return : 1 (success) , -1 (ada column yg tidak diisi)

string sTemplong lRowCount, lColCount, i, jdwitemstatus l_statusSetPointer(HourGlass!)

Belajar-komputer: tutorial Power builder http://gustavias.blogspot.com/2012/05/tutorial-power-builder.html

15 of 24 21/08/2013 20:10

Page 16: Belajar-Komputer_ Tutorial Power Builder

lRowCount = dw.RowCount()lColCount = long(dw.Describe("DataWindow.Column.Count"))if dw.AcceptText() = -1 then return -1

// Cek setiap column untuk setiap rowFor i = 1 to lRowCountl_status = dw.GetItemStatus(i,0,Primary!)IF l_status <> NotModified! THENFOR j = 1 TO lColCountsTemp = Trim(String(dw.object.data[i,j]))IF isNull(sTemp) THEN sTemp = ""IF sTemp <> "" THEN CONTINUEsTemp = dw.Describe("#" + String(j) + ".tag")IF sTemp <> "" THENIF sTemp <> "?" THENMessageBox("Validation Error","Sorry! " +sTemp + " cannot be Empty.")sTemp = dw.Describe("#" + String(j) + ".name")dw.SetFocus()dw.ScrollToRow(i)dw.SetColumn(sTemp)RETURN -1END IFEND IFNEXTEND IFNext

RETURN 1Posted by setiawanthea at 9:07 PM 0 commentsCari nama parent window pada suatu object (Powerbuilder)/////////////////////////////////////////////////////////////////////////////////////////// function : uf_parentwindow// Purpose : return parent window// Scope : Public// Arguments : graphicobject - ao_grapobj// Returns : window//// Modification Log// ================// NAME VER DATE DESCRIPTION////------------------ ---------------------------------------------// setiawanthea 1.0///////////////////////////////////////////////////////////////////////////////////////////--------------------------Start of declarations----------------------------//

graphicobject lgrwindow lwin

lgr = ao_grapobjif isnull(lgr) or not(isvalid(lgr)) thenreturn lwinend if

do until lgr.typeof() = window!lgr = lgr.getparent()if isnull(lgr) or not(isvalid(lgr)) then//have no parent windowreturn lwinend ifloop

lwin = lgr

return lwinPosted by setiawanthea at 8:48 PM 0 commentsvalidasi time (Powerbuilder)

Belajar-komputer: tutorial Power builder http://gustavias.blogspot.com/2012/05/tutorial-power-builder.html

16 of 24 21/08/2013 20:10

Page 17: Belajar-Komputer_ Tutorial Power Builder

//////////////////////////////////////////////////////////////////////////////////

//

// Purpose : validasi time (hh:mm:ss:ff)

// Scope : Public

// Arguments : as_time - strring

// Returns : long

//

//////////////////////////////////////////////////////////////////////////////////

//*****************Start of Code****************//

if isnull(as_time) then

return true

end if

if len(as_time) = 8 then

else

return false

end if

if isnumber(as_time) then

else

return false

end if

if mid(as_time,3,2) > '59' then return false // cek menit

if mid(as_time,5,2) > '59' then return false // cek detik

if mid(as_time,7,2) > '24' then return false // cek frame

if mid(as_time,3,2) < '00' then return false // cek menit if mid(as_time,5,2) < '00' then

return false // cek detik if mid(as_time,7,2) < '00' then return false // cek frame return

true //*****************End of Code****************// Cara Pake nya masukan syntak

dibawah kedalam datawindow - Validation Expression di kolom yang akan di validasi

f_time_valid( gettext())

Posted by setiawanthea at 8:48 PM 0 commentsStatus Baris Data (Powerbuilder)////////////////////////////////////////////////////////// Purpose : Cek Status Kolom

//

// Scope :

// Arguments :

// Returns :

//

///////////////////////////////////////////////////////

//*****************Start of Code****************//

dwitemstatus ldw_st

ldw_st = nama_dw.getitemstatus(nama_dw.getrow(),0,Primary!)

if ldw_st = new! then

messagebox("check",'new')

elseif ldw_st = newmodified! then

messagebox("check",'newmodified')

elseif ldw_st = datamodified! then

messagebox("check",'datamodified')

elseif ldw_st = notmodified! then

messagebox("check",'notmodified')

else

messagebox("check",'others')

end if

//*****************End of Code****************//

Posted by setiawanthea at 8:46 PM 0 commentsFungsi Terbilang (Powerbuilder)//-----

num = truncate(num,0)

//------

double a, b

Belajar-komputer: tutorial Power builder http://gustavias.blogspot.com/2012/05/tutorial-power-builder.html

17 of 24 21/08/2013 20:10

Page 18: Belajar-Komputer_ Tutorial Power Builder

double c, d

boolean suff, done

string abjad[9]

string str_milyar, str_juta, str_ribu, str_satuan, str

double e1,e2,e3, tmp, tmp2, ix, jx

if num = 0 then

return('Nol')

end if

suff = true

str = ''

str_milyar = ''

str_juta = ''

str_ribu = ''

str_satuan = ''

abjad[1] = 'satu'

abjad[2] = 'dua'

abjad[3] = 'tiga'

abjad[4] = 'empat'

abjad[5] = 'lima'

abjad[6] = 'enam'

abjad[7] = 'tujuh'

abjad[8] = 'delapan'

abjad[9] = 'sembilan'

// ************************************* JUTAAN /

MILLION*************************************

c = 100000000

d = 1000000

a = 100000

b = 1000000

ix = c * d

done = false

do while (not done)

// first

e1 = int(num / ix)

tmp = mod(num, ix)

num = num - (e1 * ix)

// second

e2 = int(tmp/ (ix/10) )

tmp2 = mod(tmp, (ix/10) )

num = num - (e2 * (ix/10))

// third

e3 = int(tmp2/ (ix/100) )

num = num - (e3 * (ix/100))

if e1=1 then

str = str + 'seratus '

else

if (e1 > 1 and e1 <= 9) then

str = str + abjad[e1] + ' ratus '

end if

end if

if (e2=1 and e3 = 0) then

str = str + 'sepuluh '

//suff = false

else

if (e2=1 and e3 = 1) then

str = str + 'sebelas '

//suff = false

else

if (e2=1 and e3 >= 2) then

Belajar-komputer: tutorial Power builder http://gustavias.blogspot.com/2012/05/tutorial-power-builder.html

18 of 24 21/08/2013 20:10

Page 19: Belajar-Komputer_ Tutorial Power Builder

str = str + abjad[e3] + ' belas '

else

if (e2>1 and e2<=9) then

str = str + abjad[e2] + ' puluh '

end if

end if

end if

end if

if (e3=1) and (ix=100000) and (e1=0) and (e2=0) then //RIBUAN => SERIBU

str = str + 'se'

else

if (e3>=1 and e3<=9 and e2<>1) then

str = str + abjad[e3] + ' '

end if

end if

// end if

if ( str<> '' ) then

choose case (ix)

case (c * d)

if str <> '' then

str = str + 'trilyun '

end if

case (a * b)

if str <> '' then

str = str + 'milyar '

end if

case 100000000

if str <> '' then

str = str + 'juta '

end if

case 100000

if str <> '' then

str = str + 'ribu '

end if

case 100

end choose

end if

e1=0

e2=0

e3=0

ix = ix/1000

if num<1>

done = true

end if

loop

// Decimal Handling

// See The Algorithm

integer num_koma

// Manipulate The Value

num_koma = num * 100

if num_koma > 0 then

if str = '' then

return gf_prop('Nol koma ' + gf_prop(gf_angka(num_koma)) +'Sen') // make it nice

else

return gf_prop(str + ' koma ' + gf_prop(gf_angka(num_koma)) + 'Sen') // make it nice

end if

else

return gf_prop(str) // make it nice

end if

Posted by setiawanthea at 8:45 PM 1 commentsExpand All Treeview (Powerbuilder)

Belajar-komputer: tutorial Power builder http://gustavias.blogspot.com/2012/05/tutorial-power-builder.html

19 of 24 21/08/2013 20:10

Page 20: Belajar-Komputer_ Tutorial Power Builder

//////////////////////////////////////////////////////////////////////////////////

//

// Purpose : expand all item on tree

// Scope : Public

// Arguments : none

// Returns : none

//

// Modification Log

// ================

// NAME VER DATE DESCRIPTION

//------------------ -----------------------------------------------------------

// setiawanthea 1.0 01/03/2006 Initial version

//

//////////////////////////////////////////////////////////////////////////////////

//--------------------------------------Start of Code------------------------------//

TreeViewItem ltvi_root

TreeViewItem ltvi_NextTreeViewItem

TreeViewItem ltvi_CurrentTreeViewItem

long ll_root, ll_next

long ll_Current

//Get tree Root

ll_root = tv_1.FindItem( RootTreeItem!, 0)

tv_1.GetItem( ll_root, ltvi_root )

tv_1.SelectItem(ll_root)

//MessageBox( "Root Item", ltvi_root.Label )

// Returns the next tree item in the same branch level

do

//Get current tree

ll_current = tv_1.FindItem( CurrentTreeItem!, 0 )

tv_1.ExpandItem( ll_current )

//Get current tree data information

tv_1.GetItem( ll_current, ltvi_CurrentTreeViewItem )

// MessageBox( "Current Tree Item", ltvi_CurrentTreeViewItem.Label )

//Get next tree

ll_next = tv_1.FindItem( NextTreeitem!, ll_current )

tv_1.GetItem( ll_next, ltvi_NextTreeViewItem )

//select and make it current

tv_1.SelectItem(ll_next)

// MessageBox( "Next Tree Item", ltvi_NextTreeViewItem.Label )

if ll_next <= 0 then exit loop while true //--------------------------------------End of

Code------------------------------//

Posted by setiawanthea at 8:44 PM 0 commentsCollapse All on Treeview (Powerbuilder)//////////////////////////////////////////////////////////////////////////////////

//

// Purpose : Collapse all item on tree

//

// Scope : Public

//

// Arguments : none

//

// Returns : none

//

// Modification Log

// ================

// NAME VER DATE DESCRIPTION

//------------------ -----------------------------------------------------------

// setiawanthea 1.0 01/03/2006 Initial version

//

Belajar-komputer: tutorial Power builder http://gustavias.blogspot.com/2012/05/tutorial-power-builder.html

20 of 24 21/08/2013 20:10

Page 21: Belajar-Komputer_ Tutorial Power Builder

//////////////////////////////////////////////////////////////////////////////////

//--------------------------------------Start of Code------------------------------//

TreeViewItem ltvi_root

TreeViewItem ltvi_NextTreeViewItem

TreeViewItem ltvi_CurrentTreeViewItem

long ll_root, ll_next

long ll_Current

//Get tree Root

ll_root = tv_1.FindItem( RootTreeItem!, 0)

tv_1.GetItem( ll_root, ltvi_root )

tv_1.SelectItem(ll_root)

//tv_1.CollapseItem( ll_current )

//MessageBox( "Root Item", ltvi_root.Label )

// Returns the next tree item in the same branch level

do

//Get current tree

ll_current = tv_1.FindItem( CurrentTreeItem!, 0 )

tv_1.CollapseItem( ll_current )

//Get current tree data information

tv_1.GetItem( ll_current, ltvi_CurrentTreeViewItem )

// MessageBox( "Current Tree Item", ltvi_CurrentTreeViewItem.Label )

//Get next tree

ll_next = tv_1.FindItem( NextTreeitem!, ll_current )

tv_1.GetItem( ll_next, ltvi_NextTreeViewItem )

//select and make it current

tv_1.SelectItem(ll_next)

// MessageBox( "Next Tree Item", ltvi_NextTreeViewItem.Label )

if ll_next <= 0 then exit loop while true //--------------------------------------End of

Code------------------------------//

Posted by setiawanthea at 8:43 PM 0 comments

Monday, May 7, 2007Fungsi untuk ngebuat unik id/////////////////////////////////////////////////////////////////////////////////////////// function : f_getrowid// Purpose : Ngebuat unik id// Scope : Public// Arguments : none// Returns : unik id//// Modification Log// ================// NAME VER DATE DESCRIPTION////------------------ ---------------------------------------------// setiawanthea 1.0///////////////////////////////////////////////////////////////////////////////////////////--------------------------Start of declarations----------------------------//

decimal ldec_10, ldec_intstring ls_tempstring ls_62 = ''char ic_simbol[]string ls_simbol ="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuv

Belajar-komputer: tutorial Power builder http://gustavias.blogspot.com/2012/05/tutorial-power-builder.html

21 of 24 21/08/2013 20:10

Page 22: Belajar-Komputer_ Tutorial Power Builder

wxyz"integer ii

// Prepare string Array for row id// prepare lambangan bilangan untuk row_idfor ii=1 to 62ic_simbol[ii] = mid(ls_simbol,ii,1)next

ldec_10 = dec(string(datetime(today(),now()),'yyyymmddhhmmssffff'))// generates a unique rowid based on time// convert ke bilangan basis 62do until ldec_10 = 0ls_temp = string(ldec_10 / 62)ldec_int = dec(mid(ls_temp,1,pos(ls_temp,'.')))//ldec_int = int(ls_temp)if ldec_int = 0 then ldec_int = dec(mid(ls_temp,1,pos(ls_temp,',')))ls_62 = ic_simbol[ldec_10 - 62 * ldec_int + 1] + ls_62ldec_10 = ldec_intloop

// Counter for Unique Guarantee// counter untuk menjamin uniqueif gl_cc > 99999 then gl_cc = 0ls_62 += gs_id +string(gl_cc,'00000')gl_cc ++if isnull(ls_62) or Trim(ls_62) = "" thenls_62 = string(gf_serverdate(),'yyyymmddhhmmssffff')Messagebox("Error","Cannot Generate Row ID")end ifreturn ls_62

Posted by setiawanthea at 5:26 AM 0 commentsFungsi untuk menimpa teks// Access: public//// Arguments:// as_Source The string being searched.// as_Old The old string being replaced.// as_New The new string.// ab_IgnoreCase A boolean stating to ignore case sensitivity.//// Returns: string// as_Source with all occurrences of as_Old replaced with as_New.// If any argument's value is NULL, function returns NULL.//// Description: Replace all occurrences of one string inside another with// a new string.

Long ll_StartLong ll_OldLenLong ll_NewLenString ls_Source

//Check parametersIf IsNull(as_source) or IsNull(as_old) or IsNull(as_new) orIsNull(ab_ignorecase) Thenstring ls_nullSetNull(ls_null)Return ls_nullEnd If

//Get the string lenghtsll_OldLen = Len(as_Old)ll_NewLen = Len(as_New)

//Should function respect case.If ab_ignorecase Then

Belajar-komputer: tutorial Power builder http://gustavias.blogspot.com/2012/05/tutorial-power-builder.html

22 of 24 21/08/2013 20:10

Page 23: Belajar-Komputer_ Tutorial Power Builder

as_old = Lower(as_old)ls_source = Lower(as_source)Elsels_source = as_sourceEnd If

//Search for the first occurrence of as_Oldll_Start = Pos(ls_Source, as_Old)

Do While ll_Start > 0// replace as_Old with as_Newas_Source = Replace(as_Source, ll_Start, ll_OldLen, as_New)

//Should function respect case.If ab_ignorecase Thenls_source = Lower(as_source)Elsels_source = as_sourceEnd If

// find the next occurrence of as_Oldll_Start = Pos(ls_Source, as_Old, (ll_Start + ll_NewLen))Loop

Return as_Source

Posted by setiawanthea at 5:26 AM 0 commentsPowerbuilder Linkage/************ Setting Linkage ************/

dw_name.of_SetLinkage(True)

child_dw.inv_linkage.of_SetMaster(master_dw)

child_dw.inv_linkage.of_SetStyle(2)

child_dw.inv_linkage.of_Register('child_col_name','master_col_name')

/************ Setting Calendar ************/

dw_name.of_setdropdowncalendar(true)

dw_name.iuo_calendar.of_Register('col_name',dw_name.iuo_calendar.DDL

B_WITHARROW)

/*********** Setting setrowfocus ***********/

dw_name.of_SetRowmanager(true)

dw_name.of_SetRowSelect(true)

dw_name.inv_rowselect.of_setstyle(0)

/************ Setting Dropdown ************/

dw_name.of_setdropdownsearch(true)

dw_name.inv_DropDownSearch.of_register('col_name')

Posted by setiawanthea at 5:07 AM 0 commentsMenampilkan data sebanyak 14 baris per halamanDalam Powerbuilder kita bisa menampilkan data sebanyak yang kita mau,

contoh menampilkan 14 baris per halaman.. caranya :

1. Buat compute field diberinama misalnya "c_baris" yang ekspresinya :

int((getrow() - 1)/14)

(catatan : 14 adalah jumlah baris yang diinginkan )

2. Buat group berdasarkan "c_baris" itu

3. Aktifkan properties "NEW PAGE ON GROUP BREAK"

Posted by setiawanthea at 5:06 AM 0 commentsCari tanggal terakhir disuatu bulan/*Description:pencarian tanggal terakhir suatu bulanArguments:ad_parm - tanggal acuanReturns:

Belajar-komputer: tutorial Power builder http://gustavias.blogspot.com/2012/05/tutorial-power-builder.html

23 of 24 21/08/2013 20:10

Page 24: Belajar-Komputer_ Tutorial Power Builder

Subscribe To

<< Posting Lebih Baru

date - tanggal terakhir suatu bulancontoh - cari tanggal terkahir di bulan ini :ld_last = f_last_date_in_month ( today() )*/date ld_last_date_in_previous_monthdate ld_date_in_next_month

ld_last_date_in_previous_month = RelativeDate ( ad_parm, -day ( ad_parm ) )ld_date_in_next_month = RelativeDate ( ld_last_date_in_previous_month, 35 )

return RelativeDate ( ld_date_in_next_month, &-day ( ld_date_in_next_month ) )

Diposkan oleh Gustavia savila di 06.44

Label: power builder

Posts Relacionados

Tipe Data Power Builder

tutorial Power builder

Seja o primeiro a comentarPoskan Komentar

Link ke posting iniBuat sebuah Link

Beranda

Pos

Komentar

Belajar-komputer ©Template Blogger Green by Dicas Blogger. TOPO

Belajar-komputer: tutorial Power builder http://gustavias.blogspot.com/2012/05/tutorial-power-builder.html

24 of 24 21/08/2013 20:10