2016

Minggu, 04 September 2016

Paradigma Pemrograman Berorientasi Obyek


A.    MATERI
a.    Paradigma Pemrograman Berorientasi Obyek
Pemrograman berorientasi obyek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada obyek. Pada PBO programmer mendefinisikan tipe data  dan jenis operasi (fungsi) yang dapat diterapkan pada struktur data. Dengan cara ini, struktur data menjadi obyek yang meliputi data dan fungsi. Selain itu, pemrogram dapat membuat hubungan antara satu benda dan lainnya. Sebagai contoh, obyek dapat mewarisi karakteristik dari obyek lain.

Object adalah gabungan antara beberapa data (attribut) dan fungsi yang masing-masing bekerja bersama-sama dan tidak dapat dipisahkan.
                                               Gambar 1. Konsep Obyek                                      
                            
                                           Gambar 2. Contoh Obyek
Obyek mencerminkan pola kerja manusian dalam kehidupan sehari-hari.

Gambar 3. Contoh Obyek dengan properti

b.   Perbandingan pemrograman procedural dan pemrograman berorientasi Obyek
Paradigma perbedaan dalam bahasa pemrograman sebagai berikut :
-          Pemrograman tidak terstruktur atauProgramming Monolitic
-          Pemrograman prosedural
-          Pemrograman struktural
-          Pemrograman berorientasi objek
Pemrograman Terstruktur
Pemrograman Berorientasi Obyek
Pendekatan top-down
Pendekatan bottom-up yang diikuti
Fokus adalah pada algoritma dan kontrol aliran.
Fokus pada model objek

Program dibagi menjadi beberapa sub modul atau fungsi atau prosedur.
Program ini diselenggarakan dengan memiliki sejumlah kelas dan objek.
Fungsi yang independen satu sama lain.
Setiap kelas berhubungan secara hirarkis.
Tidak ada penerima yang ditunjuk dalam panggilan fungsi.
Ada penerima yang ditunjuk untuk setiap lewat pesan.
Data dan fungsi sebagai dua entitas yang terpisah Views.
Data dan fungsi sebagai satu kesatuan pandangan.
Pemeliharaan mahal.
Pemeliharaan relatif lebih murah.
Reuse Software tidak mungkin.
Membantu dalam penggunaan kembali perangkat lunak.
Fungsi panggilan digunakan.
Message passing digunakan.
Fungsi abstraksi digunakan.
Data abstaction digunakan.
Algoritma diberikan penting.
Data diberikan penting.
Solution adalah solusi spesifik-domain.
Solution adalah spesifik masalah domain.
Tidak ada enkapsulasi. Data dan fungsi yang terpisah.
Enkapsulasi paket kode dan data sama sekali. Data dan fungsi disatukan dalam satu kesatuan.
Hubungan antara programmer dan program ditekankan.
Hubungan antara programmer dan pengguna ditekankan.
Teknik data-driven digunakan.
Didorong oleh delegasi tanggung jawab.
c.    Instalasi Perangkat Lunak Pemrograman Berorientasi Obyek
Arsitektur Teknologi Java
Java adalah suatu teknologi di dunia software komputer, yang merupakan  suatu bahasa pemrograman, dan sekaligus suatu platform. Java termasuk bahasa pemograman tingkat tinggi. Java terbagi atas 2 bagian utama yaitu:
·         Java Virtual Machine (JVM).
·         Java Application Programming Interface (JavaAPI).
Contohnya Applet, Java Networking dan lain sebagainya.

Sun membagi arsitektur Java membagi tiga bagian, yaitu:
-          Enterprise Java (J2EE) untuk aplikasi berbasis web
-          Standar Java (J2SE), ini adalah yang biasa dikenal sebagai bahasa Java.
-          Micro Java (J2ME) merupakan subset dari J2SE dan salah satu aplikasinya yang banyak dipakai adalah untuk wireless device / mobile device.
Terdapat beberapa fitur yang disediakan oleh java yakni:
-          JVM
JVM adalah sebuah mesin imajiner (maya) yang bekerja dengan menyerupai aplikasi pada sebuah mesin nyata. JVM menyediakan spesifikasi hardware dan platform dimana kompilasi kode Java terjadi. Menyediakan  spesifikasi platform perangkat keras yang dapat meng-compile semua program JavaProgram ini dikompilasi menghasilkan satu berkas bytecode.
-          Garbage collection
Bertanggung jawab untuk mengosongkan memori. Pengosongan memori terjadi otomatis selama masa aktif dari program java.Programmer dibebaskan dari beban untuk mengalokasikan kembali memori itu sendiri.
-          Code security
Code Security terimplementasi pada Java melalui penggunaan Java Runtime Environment(JRE). Java menggunakan model pengamanan 3 lapis untuk melindungi system dari untrusted Java Code.
1)      Pertama,class-loader menangani pemuatan kelas Java ke runtime interpreter.
2)      Kedua,byte code verifie rmembaca byte code sebelum dijalankan dan menjamin byte code memenuhi aturan–aturan dasar bahasa Java.
3)      Ketiga, manajemen keamanan menangani keamanan tingkat aplikasi dengan mengendalikan apakah program berhak mengakses sumberdaya seperti sistemfile,port jaringan, proses eksternal dan systemwindowing.
Java SDK dan NetBeans diperlukan jika anda hendak mulai membuat program dengan bahasa pemrograman Java. Java SDK adalah platform dasar Java yang diperlukan agar komputer atau laptop dapat digunakan untuk mengeksekusi kode-kode programbahasa Java, sedangkan NetBeans adalah aplikasi editor terpadu (IDE atau Integrated Develepment Environment) yang akan banyak mempermudah dalam membuat aplikasi karena menyediakan kontrol-kontrol visual yang penting dalam pemrograman desktop (atau lebih dikenal sebagai pemrograman visual).


sumber : Ebook Pemograman Berorientasi Objek Kelas XI




Pemrograman Berorientasi Objek


Pemrograman Berorientasi Objek


Sebelum kita membahas Pemrograman Berorientasi Objek / Object Oriented Programming (OOP) coba kita melihat cara pemrograman yang dulu sudah pernah dipelajari, yaitu pemrograman Tersetruktur. Kalau kita berbicara tentang pemrograman terstruktur secara adalah suatu aktifitas pemrograman dengan memperhatikan urutan langkah-langkah perintah secara sistematis, logis, dan tersusun berdasarkan algoritma yang sederhana dan mudah dipahami, sedangkan pemrograman berorientasi object adalah paradigma pemrograman yang memandang sistem yang akan dibangun berdasarkan objek objek yang terlibat dan interaksinya dalam sistem. Sistem dibangun dengan membuat objek objek dan menginteraksikannya untuk menyelesaikan suatu pekerjaan, dengan kata lain Program adalah serangkaian object yang berinteraksi untuk menyelesaikan suatu masalahJadi banyak sekali paradigma yang bisa kita gunakan dalam menyelesaikan masalah dalam pemrograman, sekarang paradigma pemrograman berorientasi object yang sering digunakan oleh programer. Pemrograman berorientasi object berputar pada konsep dari obyek yang merupakan elemen dasar dari program.
Ilustrasi Pemrograman Berorientasi Objek
  • Objek mobil mempunyai atribut 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.
Gambar Ilustrasi PBO
Ilustrasi PBO
  • Pada perangkat lunak, menggunakan atribut sebagai data dan tingkah laku sebagai method.
Sekarang kita bahas komponen dasar dalam pemrograman berorientasi objek :
  1. Class
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. Dalam pemrograman class adalah struktur dalam program yang berisi satu atau beberapa metode (dapat berupa fungsi dan/atau prosedur) dan atribut (dapat berupa data ataupun variabel yang akan dioperasikan dalam metode), dengan demikian atribut merupakan anggota kelas yang bersifat statis, sedangkan metode merupakan anggota kelas yang bersifat dinamis.
  1. Object
Secara definisi bahwa yang dimaksud dengan Object adalah sekumpulan data (atribut) yang disebut variabel untuk menjabarkan karakteristik khusus dari obyek, dan juga terdiri dari sekumpulan method yang menjabarkan tingkah laku dari obyek, bisa dikatan juga bahwa object adalah sebuah perangkat lunak yang berisi sekumpulan variabel dan method yang berhubungan. Sebuah obyek adalah sebuah instance (keturunan) dari class.
Dari penjelasan tersebut bisa disimpulkan bahwa hubungan antara class dan object yaitu, Class adalah suatu template/blueprint/rancangan dari object yang akan dibuat dan Object adalah sesuatu yang diciptakan dari Class.
Contoh Analogi lain:
Class = cetakan kue
Object = kue-nya
Dalam pemrograman hubungan class dan object bisa kita misalkan, kita memiliki sebuah class mobil dimana dapat digunakan untuk medefinisikan beberapa obyek mobil. Pada tabel dibawah, mobil A dan mobil B adalah obyek dari class mobil. Class memiliki field nomor, plat, warna, manufaktur dan kecepatan yang diisi dengan nilai pada obyek mobil A dan mobil B. Mobil juga dapat berakselerasi, berbelok dan melakukan rem.
Gambar class dan object
Class dan Object
Dalam mempelajari Pemrograman berorientasi object kita harus mengerti dengan istilah-istilah sebagai berikut :
  1. Class
  2. Object
  3. Atribut
  4. Method
  5. Constructor
  6. Package
  7. Enkapsulasi (Encapsulation)
  8. Abstraksi
  9. Pewarisan (Inheritance)
  10. Polimorfisme (Polymorpishm)
  11. Interface
  12. Keywords (this, super, final dan static)
  13. Method overloading dan Method overriding

Bahasa pemrograman

Bahasa pemrograman yang mendukung OOP antara lain:
  1. Visual Foxpro
  2. Java
  3. C++
  4. Pascal (bahasa pemrograman)
  5. SIMULA
  6. Smalltalk
  7. Ruby
  8. Python
  9. PHP
  10. C#
  11. Delphi
  12. Eiffel
  13. Perl
  14. Adobe Flash AS 3.0


sumber : http://www.infokah.com dan https://id.wikipedia.org/wiki/Pemrograman_berorientasi_objek