Apa itu PowerBuiler..?
Power builder adalah Sebuah program aplikasi berbasis OOP (Object Oriented Programming / OOP) yang bagus/ sempurna untuk programmer dalam membuat sebuah program dan perkembangan PowerBuilder ini pun tergolong cepat karena Powerbuilder menggunakan metoda RAD (Rapid Applciation
Development) dan termasuk ke dalam kategori bahasa pemrograman tingkat
tinggi (4GL).
Sebagai bahasa pemrograman yang berorientasi object (OOP), Powerbuilder
telah cukup lama mendukung beberapa fitur utama OOP seperti Inheritance,
Encapsulation dan Polimorphism. Sejak saya pertama kali menggunakan
Powerbuilder versi 5 pun fitur-fitur yang merupakan ciri khas OOP ini
sudah ada di Powerbuilder. Jika dibandingkan dengan Visual Basic
keluaran Microsoft pada era yang sama misalnya, VB ini belum bisa
dikatakan sebagai bahasa pemrograman yang mendukung OOP secara penuh,
dan hingga akhir hayatnya VB berevolusi menjadi VB.Net pun bahkan belum
bisa mendukung OOP ini secara penuh. Ini membuktikan bahwa secara
teknologi Powerbuilder cukup dapat diandalkan untuk membangun aplikasi
skala enterprise sekali pun.
Oke sebelum ke pembahasan lain tentang Powerbuilder, ada baiknya kita harus tahu dulu apa itu Inheritance, Encapsulation, dan Polymorphism.
1. Inheritance adalah Suatu entitas/obyek dapat mempunyai entitas/obyek turunan. Dengan konsep inheritance, sebuah class dapat mempunyai class turunan.
contoh: si A adalah Bapak, si B adalah Anak pertama (Turunan), si C adalah anak ke 2 (Turunan)
si B, si C dalam kasus ini bentuknya sama seperti si A karena mereka adalah turunan dari si A akan tetapi si B dan si C bisa mengembangkan dirinya dan tidak ada pengaruhnya dengan si A, bingungg..??
oke mungkin ada yang bertanya, B, C sama dengan A, trus apa bedanya dengan COPAS..? jelas beda, misal si A dirubah maka otomatis si B dan si C akan berubah juga karna mereka adalah keturunan dari si A, tapi apabila si B berubah, maka tidak akan berpengaruh pada si A maupun si C, dan apabila si C berubah itu tidak akan mempengaruhi si A dan si B.
Keuntungan Inheritance :
1. Subclass menyediakan state/behaviour yang spesifik yang membedakannya dengan superclass, hal ini akan memungkinkan programmer Java untuk menggunakan ulang source code dari superclass yang telah ada.
2. Programmer dapat mendefinisikan superclass khusus yang bersifat generik, yang disebut abstract class, untuk mendefinisikan class dengan behaviour dan state secara umum.
2. Programmer dapat mendefinisikan superclass khusus yang bersifat generik, yang disebut abstract class, untuk mendefinisikan class dengan behaviour dan state secara umum.
2. Encapsulation adalah pembungkus, pembungkus disini dimaksudkan untuk menjaga suatu proses program agar tidak dapat diakses secara sembarangan atau di intervensi oleh program lain. Konsep enkapsulasi sangat penting dilakukan untuk menjaga kebutuhan program agar dapat diakses sewaktu-waktu, sekaligus menjaga program tersebut.
contoh: Dalam kehidupan sehari hari enkapsulasi
dapat dimisalkan sebagai arus listrik pada generator, dan sistem
perputaran generator untuk menghasilkan arus listrik. Kerja arus listrik
tidak mempengaruhi kerja dari sistem perputaran generator, begitu pula
sebaliknya. Karena didalam arus listrik tersebut, kita tidak perlu
mengetahui bagaimana kinerja sistem perputaran generator, apakah
generator berputar kebelakang atau ke depan atau bahkan serong. Begitu
pula dalam sistem perputaran generator, kita tidak perlu tahu bagaimana
arus listrik, apakah menyala atau tidak.
Begitulah konsep kerja dari enkapsulasi, dia
akan melindungi sebuah program dari akses ataupun intervensi dari
program lain yang mempengaruhinya. Hal ini sangat menjaga keutuhan
program yang telah dibuat dengan konsep dan rencana yang sudah
ditentukan dari awal.
3. Polymorphism adalah Suatu aksi yang memungkinkan pemrogram menyampaikan pesan tertentu keluar dari hirarki obyeknya, dimana obyek yang berbeda memberikan tanggapan/respon terhadap pesan yang sama sesuai dengan sifat masing-masing obyek.
Atau Polymorphism dapat berarti banyak bentuk, maksudnya yaitu kita dapat menimpa (override), suatu method, yang berasal dari parent class (super class) dimana object tersebut diturunkan, sehingga memiliki kelakuan yang berbeda.
Polymorphism dapat disamakan dengan Method Overloading, dimana di dalam sebuah class terdapat beberapa method dengan nama sama. Sebuah Method bernama CetakData() yang misalnya berfungsi menampilkan data String, tentu tidak bisa menangani masukan berupa data numerik, boolean, ataupun karakter, demikian juga sebaliknya. Solusi yang bisa dilakukan adalah dengan menyediakan beberapa Method CetakData() yang akan menangani setiap tipe data, sehingga data apapun yang diberikan sebagai parameter tetap bisa diproses.
Atau Polymorphism dapat berarti banyak bentuk, maksudnya yaitu kita dapat menimpa (override), suatu method, yang berasal dari parent class (super class) dimana object tersebut diturunkan, sehingga memiliki kelakuan yang berbeda.
Polymorphism dapat disamakan dengan Method Overloading, dimana di dalam sebuah class terdapat beberapa method dengan nama sama. Sebuah Method bernama CetakData() yang misalnya berfungsi menampilkan data String, tentu tidak bisa menangani masukan berupa data numerik, boolean, ataupun karakter, demikian juga sebaliknya. Solusi yang bisa dilakukan adalah dengan menyediakan beberapa Method CetakData() yang akan menangani setiap tipe data, sehingga data apapun yang diberikan sebagai parameter tetap bisa diproses.
Powerbuilder menggunakan bahasa pemrograman yang dinamakan Powerscript.
Koneksi database bisa dilakukan oleh Powerbuilder melalui beberapa jenis
connection interface, baik itu native database connection interface
yang built in Powerbuilder, maupun interface lainnya seperti ODBC, dan
OLE DB. Salah satu object di dalam Powerbuilder yang merupakan fitur
utama yang diandalkan adalah Datawindow. Dengan datawindow, kita bisa
melakukan proses data presentation maupun modification dengan cepat dan
fully customizable. Selain itu, kita juga bisa menggunakan object
datawindow yang sama untuk keperluan reporting. Simple, mudah, cepat dan
powerfull
No comments:
Post a Comment