Upload
fariszal-nova
View
74
Download
1
Embed Size (px)
Citation preview
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