dasar program berorientasi objek pada power builder

26
E-Business & New Media SI Perusahaan SI Pendidikan Informasi Perkantoran Industri Kreatif Multimedia PowerBuilder Developer Community Object Oriented Programming Dosen: YUSUF WIBISONO Materi Mata Kuliah STMIK SPB Airlangga

Transcript of dasar program berorientasi objek pada power builder

E-Business & New Media SI Perusahaan SI Pendidikan Informasi Perkantoran Industri Kreatif Multimedia

PowerBuilderDeveloper Community

Object Oriented Programming

Dosen:YUSUF WIBISONO

Materi Mata Kuliah

STMIK SPB Airlangga

E-Business & New Media SI Perusahaan SI Pendidikan Informasi Perkantoran Industri Kreatif Multimedia

PowerBuilderDeveloper CommunityProgramming

• Structured ProgrammingPemrograman terstruktur, prosedural

• Console ProgrammingPemrograman berbasis teks, biasanya untuk terminal mesin

• Web ProgrammingPemrograman berbasis Web

• Object Oriented ProgrammingPemrograman berbasis objek

• Visual ProgrammingPemrograman secara visual, minimum coding.

• Mobile ProgrammingPemrograman untuk perangkat genggam

• SQLPemrograman permintaan terstruktur

E-Business & New Media SI Perusahaan SI Pendidikan Informasi Perkantoran Industri Kreatif Multimedia

PowerBuilderDeveloper CommunityStructured vs OOP

• Pemrograman Terstruktur adalah suatu aktivitas pemrograman dengan memperhatikan urutan langkah-langkah perintah secara sistematis, logis, dan tersusun berdasarkan algoritma yang sederhana dan mudah dipahami.

• Pemrograman Berorientasi Objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek, jadi semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek.

E-Business & New Media SI Perusahaan SI Pendidikan Informasi Perkantoran Industri Kreatif Multimedia

PowerBuilderDeveloper CommunityStructured vs OOP

• Perbedaan keduanya adalah pada pemrograman berorientasi objek setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya.

• Sedangkan untuk pemrograman terstruktur fokus cara pemrosesan data yang terstruktur (sistematis) dalam analisis, cara, dan penulisan kode program.

E-Business & New Media SI Perusahaan SI Pendidikan Informasi Perkantoran Industri Kreatif Multimedia

PowerBuilderDeveloper CommunityStructured vs OOP

• Pemrograman terstruktur unggul dalam melakukan pemrograman sederhana karena lebih efisien dan lebih mudah dalam hal perawatannya.

• Sementara itu pemrograman berorientasi objek memiliki beberapa keuntungan seperti:– Maintenance, program lebih mudah dibaca dan

dipahami, dan pemrograman berorientasi objek mengontrol kerumitan program hanya dengan mengijinkan rincian yang dibutuhkan untuk programmer.

– Pengubahan program (berupa penambahan atau penghapusan fitur tertentu) disesuaikan dengan keperluan berdasarkan objeknya.

E-Business & New Media SI Perusahaan SI Pendidikan Informasi Perkantoran Industri Kreatif Multimedia

PowerBuilderDeveloper CommunityWhat is OOP?

• Paradigma pemrograman yang memandang sistem yang akan dibangun berdasarkan objek-objek yang terlibat dan interaksinya dalam sistem.

• Sistem dibangun dengan membuat objek-objek dan membangun interaksinya untuk menyelesaikan suatu pekerjaan.

• Fungsi dan data menjadi satu kesatuan yang disebut sebagai Objek

• Program adalah serangkaian objek yang berinteraksi untuk menyelesaikan suatu problem.

E-Business & New Media SI Perusahaan SI Pendidikan Informasi Perkantoran Industri Kreatif Multimedia

PowerBuilderDeveloper CommunityOOP

• OOP berputar pada konsep dari objek yang merupakan elemen dasar dari program.

• Ilustrasinya adalah– Objek mobil mempunyai atribut seperti tipe transmisi,

warna dan manufaktur. Mobil juga mempunyai tingkah laku berbelok, mengerem, dan berakselerasi.

– Cara yang sama pula kita dapat mendefinisikan perbedaan sifat dan tingkah laku dari singa.

– Pada perangkat lunak, menggunakan atribut sebagai data dan tingkah laku sebagai method.

E-Business & New Media SI Perusahaan SI Pendidikan Informasi Perkantoran Industri Kreatif Multimedia

PowerBuilderDeveloper CommunityClass

• Kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing.

• Class adalah suatu struktur dalam program yang berisi satu atau beberapa metode yang dapat berupa fungsi atau prosedur, dan atribut atau properti yang dapat berupa data ataupun variabel yang akan dioperasikan dalam metode.

• Dengan demikian atribut atau properti merupakan anggota kelas yang bersifat statis, sedangkan metode merupakan anggota kelas yang bersifat dinamis.

E-Business & New Media SI Perusahaan SI Pendidikan Informasi Perkantoran Industri Kreatif Multimedia

PowerBuilderDeveloper CommunityObject

• Setiap objek dibangun dari sekumpulan atribut atau properti untuk menjabarkan karakteristik khusus dari objek, dan juga terdiri dari sekumpulan method yang menjabarkan tingkah laku dari objek.

• Bisa dikatakan bahwa objek adalah sebuah perangkat lunak yang berisi sekumpulan property dan method yg berhubungan.

• Sebuah objek adalah sebuah instance (keturunan) dari class.

E-Business & New Media SI Perusahaan SI Pendidikan Informasi Perkantoran Industri Kreatif Multimedia

PowerBuilderDeveloper CommunityClass vs Object

• Misal, kita memiliki sebuah class mobil yang dapat digunakan untuk mendefinisikan beberapa objek mobil. Pada tabel di bawah, mobil A dan mobil B adalah objek dari class mobil. Class memiliki field nomor, plat, warna, manufaktur dan kecepatan yang diisi dengan nilai pada objek mobil A dan mobil B. Mobil juga dapat berakselerasi, berbelok, dan melakukan pengereman.

E-Business & New Media SI Perusahaan SI Pendidikan Informasi Perkantoran Industri Kreatif Multimedia

PowerBuilderDeveloper CommunityClass vs Object

• Ketika diinisiasi, setiap objek mendapat satu set variabel yang baru. Bagaimanapun, implementasi dari method dibagi di antara objek pada class yang sama. Class menyediakan keuntungan dari reusability. Programmer perangkat lunak dapat menggunakan sebuah kelas beberapa kali untuk membuat banyak objek.

E-Business & New Media SI Perusahaan SI Pendidikan Informasi Perkantoran Industri Kreatif Multimedia

PowerBuilderDeveloper Community

E-Business & New Media SI Perusahaan SI Pendidikan Informasi Perkantoran Industri Kreatif Multimedia

PowerBuilderDeveloper Community

• Dalam pohon proses inheritance, sebuah descendant (subclass) mewujudkan abstraksi yang lebih spesifik dari ancestor (superclass).Descendant = Ancestor + fitur-fitur baru– Descendant dapat menambahkan fields dan methods baru– Descendant dapat mengambil alih (override) method milik

ancestor dan mengubah implementasi method tersebut

• Manfaat inheritance:– Pemanfaatan kembali (reuse) attribut dan method

ancestor– Menyediakan model yang bersifat generik (abstract class);

implementasi spesifiknya bisa dilakukan kemudian (mungkin oleh pemrogram yang berbeda)

• Dalam pohon proses inheritance, sebuah descendant (subclass) mewujudkan abstraksi yang lebih spesifik dari ancestor (superclass).Descendant = Ancestor + fitur-fitur baru– Descendant dapat menambahkan fields dan methods baru– Descendant dapat mengambil alih (override) method milik

ancestor dan mengubah implementasi method tersebut

• Manfaat inheritance:– Pemanfaatan kembali (reuse) attribut dan method

ancestor– Menyediakan model yang bersifat generik (abstract class);

implementasi spesifiknya bisa dilakukan kemudian (mungkin oleh pemrogram yang berbeda)

Inheritance

E-Business & New Media SI Perusahaan SI Pendidikan Informasi Perkantoran Industri Kreatif Multimedia

PowerBuilderDeveloper Community

Contoh :• Dulu mobil remote kontrol tanpa kabel hanya ada

satu tombol untuk maju mundur, sekarang bisa bergerak sesuai keinginan kita.

• Dulu fungsi jam tangan hanya sebagai penunjukwaktu saja, sekarang fungsinya sudah bertambah, bisa menampilkan tanggal hingga kalender.

• Dulu perseneling mobil hanya manual sekarangsudah ada yang otomatis.

• Jadi, dengan inheritance semua perubahan itu tidak sepenuhnya mengubah objek yang ada, tetapi hanya menambah dan memodifikasi dengan mempertahankan objek (class) awalnya.

Inheritance

E-Business & New Media SI Perusahaan SI Pendidikan Informasi Perkantoran Industri Kreatif Multimedia

PowerBuilderDeveloper Community

• Enkapsulasi menyembunyikan property dan behaviour objek dari pihak luar (object yang lain). Object lain melihat objek ini sebagai “black box” saja

• Intinya adalah kita tidak perlu mengetahui apa sih yang ada dalam objek itu, yang kita butuhkan adalah apa kegunaan, bagaimana cara memakainya dan apa yang akan terjadi.

• Ilustrasinya adalah motor. Bagaimana cara menghidupkan motor?

• Masukkan kunci, tekan tombol starter dan gas atau kalau tidak ada, gunakan kick starter.

Encapsulation

E-Business & New Media SI Perusahaan SI Pendidikan Informasi Perkantoran Industri Kreatif Multimedia

PowerBuilderDeveloper Community

• Kita tidak perlu tahu apa yang terjadi sebenarnya waktu kita menekan starter atau kick starter. Yang penting motor hidup dan bisa dijalankan.

• Ilustrasi lainnya adalah remote control tanpa kabel pada mobil-mobilan.

• Kita tidak perduli kerja remote control itu yang sebenarnya, yang penting begitu dihidupkan dan dan stick-nya digerakkan ke atas dia akan maju. Begitu digerakkan ke kanan, dia akan belok, dst.

• Contoh terakhir adalah jam tangan. • Waktu membeli jam tangan, kita hanya memilih tampilan dan

kualitas yang bagus, itu yang terpenting. Tidak peduli cara mesin rangkaian digital yang bekerja di dalam jam itu.

Encapsulation

E-Business & New Media SI Perusahaan SI Pendidikan Informasi Perkantoran Industri Kreatif Multimedia

PowerBuilderDeveloper Community

• Poly: banyak; morphism: bentuk sebuah fitur (generik) bisa diimplementasikan dengan berbagai cara

• Polymorphism diimplementasikan dengan mekanisme inheritance

hewan

anjing“menggonggong”

kucing“mengeong”

kuda“meringkik”

“bersuara”

method

Polymorphism

E-Business & New Media SI Perusahaan SI Pendidikan Informasi Perkantoran Industri Kreatif Multimedia

PowerBuilderDeveloper Community

• Dengan satu baris perintah kita bisa menggunakannya untuk berbagai keperluan, fungsi itu akan menyesuaikan sendiri ke pemanggilnya.

• Ilustrasinya adalah tombol play. Di manapun tombol play fungsinya sama, untuk menjalankan. Padahal beda cara kerja tombol play di vcd dan radio.

• Inti polymorphism adalah objek yang kita gunakan ini bisa berubah sesuai dengan kondisi yang terjadi. Jadi kita tidak perlu menulis kode program yang panjang.

Polymorphism

E-Business & New Media SI Perusahaan SI Pendidikan Informasi Perkantoran Industri Kreatif Multimedia

PowerBuilderDeveloper Community

Object Oriented Programming

Dosen:YUSUF WIBISONO

Materi Mata Kuliah

STMIK SPB Airlangga

Introduction to PowerBuilder

E-Business & New Media SI Perusahaan SI Pendidikan Informasi Perkantoran Industri Kreatif Multimedia

PowerBuilderDeveloper CommunityPowerBuilder Files

• Workspace (PBW= PowerBuilder Workspace)

• Target (PBT= PowerBuilder Target)• Library (PBL= PowerBuilder Library)

Dalam file library inilah disimpan semua object-object yang digunakan dalam project PowerBuilder.

E-Business & New Media SI Perusahaan SI Pendidikan Informasi Perkantoran Industri Kreatif Multimedia

PowerBuilderDeveloper Community

Toolbar

Properties

Window, tempat meletakkan objek program

Library, untuk melihat daftar objek yang sudah dibuat

Pengatur display:layout, current event (method), event list, function list, instance variable

PowerBuilder IDE

Painter bar, daftar objek yang bisa dipasang di window

E-Business & New Media SI Perusahaan SI Pendidikan Informasi Perkantoran Industri Kreatif Multimedia

PowerBuilderDeveloper CommunityDatawindow

• DWO (Datawindow Object)Sebuah objek datawindow yang langsung terhubung dengan table (bisa 1 atau lebih table) dari suatu database

• DWC (Datawindow Control)Sebuah objek yang berguna untuk menempelkan DWO ke dalam Window. Sebuah DWC memiliki property dan event khusus untuk pengaturan datawindow

E-Business & New Media SI Perusahaan SI Pendidikan Informasi Perkantoran Industri Kreatif Multimedia

PowerBuilderDeveloper CommunityDWO Type

E-Business & New Media SI Perusahaan SI Pendidikan Informasi Perkantoran Industri Kreatif Multimedia

PowerBuilderDeveloper CommunityDWO Rules

• Jika datawindow dimaksudkan untuk membuat form pengisian data, maka yang perlu diperhatikan:– Tab Order harus bernilai bukan 0 (nol) untuk kolom-kolom yang

perlu diisi oleh user– Update properties harus sudah dilengkapi. – Umumnya menggunakan DW Type: Free Form, Tabular, Grid

E-Business & New Media SI Perusahaan SI Pendidikan Informasi Perkantoran Industri Kreatif Multimedia

PowerBuilderDeveloper CommunityDWO Rules

• Jika datawindow dimaksudkan untuk membuat desain laporan, maka yang harus dipastikan adalah:– Tab Order harus bernilai 0 (nol) agar user tidak

mempunyai akses untuk mengubah data pada laporan– Update Properties tidak perlu dilengkapi, karena

dalam laporan tidak ada kegiatan mengisi data ke table melalui datawindow

– Secara prinsip, semua DW Type bisa digunakan sebagai model desain laporan:Composite, CrossTab, Freeform, Graph, Grid, Group, Label, N-Up, OLE 2.0, RichText, Tabular

E-Business & New Media SI Perusahaan SI Pendidikan Informasi Perkantoran Industri Kreatif Multimedia

PowerBuilderDeveloper CommunityDWC Command

Command Description dw_1.ScrollToRow(dw_1.InsertRow(0))*kombinasi dari ScrollToRow dan InsertRow()

Mengisi data baru; menyiapkan 1 barus kosong yang siap diisi di urutan terbawah

dw_1.DeleteRow(0) Menghapus 1 record data pada posisi pointer

dw_1.Update() Menyimpan datadw_1.ScrollToRow(1) Menuju ke data pertama dw_1.ScrollPriorRow() Menuju ke data sebelumnyadw_1.ScrollNextRow() Menuju ke data berikutnyadw_1.ScrollToRow(dw_1.RowCount()) Menuju ke data terakhirdw_1.RowCount() Menghitung jumlah dataCOMMIT; Final update ke table, biasanya untuk

melengkapi perintah penghapusan dan penyimpanan