Kompetensi Dasar
Memahami konsep pemrograman berorientasi objek
Mempresentasikan konsep pemrograman berorientasi objek
Indikator Pencapaian Kompetensi
Menjelaskan konsep dasar pemrograman berorientasi obyek.
Menjelaskan prosedur pemrograman berorientasi obyek.
Menjelaskan perbandingan antara pemrograman berorientasi obyek dengan pemrograman struktural.
Mempresentasikan konsep pemrograman berorientasi obyek.
OOP (Object Oriented Programming) atau dalam bahasa indonesia dikenal dengan pemrograman berorientasikan objek (PBO) merupakan sebuah paradigma atau teknik pemrograman yang berorientesikan Objek.
Pada OOP, Fungsi dan variabel dibungkus dalam sebuah objek atau class yang dapat saling brinteraksi, sehingga membentuk sebuah program.
Programmer pemula banyak menjumpai kesulitan ketika mencoba beralih dari gaya pemrograman Prosedural ke gaya OOP (Object Oriented Programming). Hai ini dikarenakan ketika belajar programming pertama kali, doktrinasi gaya pemrograman prosedural yg banyak dilakukan. Hal ini bertujuan agar siswa dapat memahami program yang mereka buat secara algoritmik. Dalam hal ini gaya pemrograman prosedural lah yang paling mudah dipahami secara algoritmik.
Untuk itu OOP ini sangat disarankan bagi para programmer yang sudah memiliki level advanced. Karena OOP merupakan pengembangan dari Prosedural. Selain penguasaaan dari sisi algoritmik, programmer OOP ini harus mampu menyatakan problem ke dalam bentuk obyek-obyek.
Kenapa Harus Belajar OOP ?
Memungkinkan programmer untuk memecah masalah yang kompleks menjadi masalah –masalah yang sederhana dan mudah.
Jika membuat aplikasi besar yang memiliki kerumitan tinggi, kita dapat memecahnya menjadi bagian-bagian kecil.
Untuk menghindari penulisan ulang kode. OOP memungkinkan kita untuk melakukan update ataupun maintenance aplikasi tanpa perlu merombaknya dari nol.
Gaya OOP memungkian bagian-bagian program untuk dibuat bersama-sama tanpa mempengaruhi satu sama lain.
Bisa mengintegrasikan berbagai macam library yang tersedia di internet.
Mudah untuk merubah template, tampilan program.
OOP berperan untuk memisahkan logika program dan tampilan.
Kebanyakan Framework menggunakan gaya OOP. Kita mengenal Model MVC, HMVC dari Codeigniter, Laravel, Yii, Symfoni atau framework lainnya.
Pengertian Object Oriented Programming
Pemrograman berbasis object (OOP) adalah sebuah paradigma pemrograman yang berorientasikan kepada object. Semua data dan fungsi dalam paradigma ini dibungkus dengan class-class atau object-object.
Dalam pemrograman berbasis objek, kita diminta untuk memahami sebuah masalah dan memodelkan masalah tersebut menjadi sebuah class dan kemudian class akan diinstansiasi menjadi sebuah object pada saat runtime.
Setiap class/object dalam pemrograman berbasis object dapat saling berinteraksi dan berkomunikasi satu sama lain untuk mendukung sebuah solusi dari suatu masalah.
Kelebihan OOP dibandingkan procedural
Kelebihan OOP dibandingkan dengan procedural antara lain:
Lebih terstruktur dan mudah dibaca.
Class-Class dapat digunakan kembali pada project yang lain (reuse).
Pemetaan masalah jadi lebih mudah sehingga
mudah untuk membuat solusinya.
Pembatasan akses terhadap suatu fungsi dapat meningkatkan keamaan code.
Interaksi antara code lebih terasa.
Satu untuk semua
Karena pemrograman berbasis objek adalah sebuah konsep. Jika Anda menguasainya, Anda dapat menguasai bahasa pemrograman lain yang mendukung OOP dengan mudah.
Bahasa yang mendukung konsep Pemrograman berbasis objek
Bila Anda menguasai OOP, maka Anda akan lebih mudah mem-pelajari bahasa pemrograman yang mendukung OOP. Adapun bahasa pemrograman yang mendukung OOP antara lain:
• PHP
• Java
• C++
• Python
• .Net
• Ruby
• Go
Dan masih banyak lagi.
Paradigma Prosedural (Imperatif)
Paradigma Prosedural atau dikenal juga dengan paradigma imperatif menggunakan metode pemrograman dengan mengeluarkan perintah yang akan dieksekusi oleh komputer.
Baris demi baris dieksekusi secara berurutan mulai dari baris atas hingga bawah, dimana semua data dan kode digabung menjadi satu bagian dalam satu program. Kata kunci dalam paradigma pemrograman ini adalah:
Algoritma + Struktur Data = Program
Contoh bahasa pemrogaman yang menggunakan paradigma ini adalah bahasa-bahasa pemrograman tingkat tinggi seperti Cobol, Basic, Pascal, Fortran, dan C.
Keuntungan pemrograman dengan paradigma ini adalah pada kesederhanaan, efisiensi, dan keefektifan eksekusi barisan perintah program, karena sangat dekat dengan bahasa mesin.
Selain itu, penulisan program memiliki struktur logika yang benar dan mudah dipahami karena hanya memiliki 3 struktur dasar, yaitu struktur berurutan, struktur seleksi dan struktur perulangan.
Sedangkan kekurangannya adalah cara penulisan programnya sangat jauh dari “kebiasaan manusia” dan tidak alamiah, karena programmer harus memikirkan sampai dengan mana batasan-batasan yang bisa dikerjakan oleh komputer.
Selain itu, program cukup sulit untuk dirawat karena susah untuk diubah tanpa harus mempengaruhi fungsi sistem secara keseluruhan.
Paradigma Object Oriented Programming (OOP)
Paradigma OOP berdasarkan pada kelas dan objek dengan cara memodelkan semua hal seperti dalam dunia nyata. Paradigma ini menawarkan konsep modular, kemudahan untuk digunakan kembali, dan kemudahan modifikasi.
Kelebihan pemrograman dengan paradigma OOP adalah dalam mendefinisikan sebuah class cukup sekali tidak perlu ditulis berulang kali. Selain itu, dapat menambahkan fitur pada class tanpa harus mengedit class asal, dapat menggunakan sebuah objek tanpa harus tahu teknis yang ada didalamnya, data dapat diatur secara private sehingga tidak berpengaruh pada fungsi lainnya, serta dapat membangun library-library yang dapat memudahkan programmer dalam membangun sebuah sistem informasi.
Sedangkan kelemahannya diantaranya adalah membutuhkan ruang memori yang lebih besar dibandingkan dengan pemrograman terstruktur, dan karena sangat responsive maka program dapat dengan mudah diurai sehingga sulit disembunyikan untuk kepentingan security.
Banyak bahasa pemrograman yang menggunakan paradigma OOP, yaitu bahasa pemrograman Visual Foxpro, Java, C++, Ruby, Python, PHP, Perl, dan lain-lain.
Prosedural
Fokus utama pada prosedur yang beroperasi pada data
Program besar terbagi menjadi fungsi
Data dan fungsi dibagi menjadi terpisah
Data bebas bergerak di sekitar sistem dari satu fungsi lain
Data bersifat pasif
Sedangkan OOP
Menekankan pada data tidak memiliki function-function
Program dibagi ke dalam apa yang disebut objek
Data dan fungsi juga dibagi menjadi terpisah
Data private dan tidak dapat diakses oleh fungsi luar
Objek dalam OOP bersifat aktif
Untuk membuat sebuah class, strukturnya adalah sbb:
<?php class namakelas
{
var namavariabel;
. . .
}
?>
Sebagai contoh misalkan kita membuat class bernama kendaraan
<?php class kendaraan {
var $jumlahRoda;
var $warna;
var $bahanBakar;
var $harga;
var $merek; }
?>
Dalam contoh di atas, yang merupakan properti dari class kendaraan adalah: jumlahRoda, warna, bahanBakar dan harga.
Sebuah properties dari suatu class dapat Anda bayangkan sebagai sifat atau informasi yang melekat dari suatu obyek.
Sebagai contoh misalkan kita pandang sebuah obyek ‘siswa, maka properties dari siswa beberapa diantaranya adalah: nim, nama, alamat, nama orang tua, jurusan dsb.
Latihan 1.
1. Buatlah sebuah kelas bernama ‘buku’, kemudian deklarasikan beberapa properties dari buku tersebut, misalnya: judul buku, pengarang, penerbit, tahun tersebut dsb
2. Rancanglah sebuah kelas untuk menyatakan orang, kemudian tentukan sendiri properties nya dan selanjutnya tulis class tersebut ke dalam script PHP.
(Tanya Jawab Materi KBM)
TANYA JAWAB MATERI
Untuk bertanya (tanya jawab materi) silahkan ajukan di Group Watsapp PBO
Untuk Kelas XII RPL 1 masuk di Group PBO 12 RPL 1
Untuk Kelas XII RPL 2 masuk di Group PBO 12 RPL 2
Untuk Kelas XII RPL 3 masuk di Group PBO 12 RPL 3