Materi Pembelajaran OOP dan POP
Perbedaan Procedural Oriented Programming (POP) dan Object Oriented Programming (OOP)
Procedural Oriented Programming (POP) dan Object Oriented Programming) adalah dua teknik dalam pengembangan aplikasi.
POP(Procedural Oriented Programming)
Pada pemrograman tradisional atau procedural biasanya disebut process oriented mode, semua data dan kode digabung menjadi satu bagian dalam satu program. Untuk program-program sederhana yang hanya membutuhkan beberapa buah baris kode, penggunaan model ini tentu tidak begitu menjadi masalah. Permasalahan akan timbul pada saat program tersebut berkembang ke arah yang lebih besar dan kompleks, yang mungkin membutuhkan ratusan atau bahkan ribuan baris kode.
- Metode pemrograman ini memecah program menjadi beberapa fungsi dan modul.
- Tidak ada hubungan antara fungsi dan data, Fungsi tidak dapat membatasi akses terhadap data yang global.
- Data lokal tersembunyi dalam fungsi dan digunakan secara eklusif oleh fungsi tersebut, tetapi pada saat dua fungsi mengakses data yang sama, maka data tersebut harus dibuat.
- Dalam program yang besar, terdapat banyak fungsi dan data global, sehingga timbul masalah:
- Struktur program rumit.
- Program sulit dimodifikasi, karena perubahan pada data global dapat menyebabkan penulisan program diulang kembali.
- Pemrograman terstruktur menggunakan teorema terstruktur:
- Sequence (berurutan).
- Selection (pemilihan).
- Repetition (pengulangan).
- (DIATAS INI HANYA TAMBA
A. OOP (Object Oriented Programming)
Secara singkat dapat dijelaskan bahwa kerugian membuat program dengen POP adalah masalah yang sering timbul jika kompleksitas program membengkak seiring dengan waktu.
Object Oriented Programming atau pemrograman berorientasi objek atau OOP merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi didalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur, setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya.
- Gagasan dasar dari OOP adalah menggabungkan data dengan fungsi menjadi satu kesatuan yang utuh.
- Karakteristik utama dari OOP adalah:
- Encapsulation (Encapsulation adalah pengemasan data dan fungsi dalam satu wadah bernama obyek)
- Inheritance.yaitu sifat dari OOP yang dimungkinkan menurunkan sifat-sifat dari suatu kelas pada kelas yang lain.
- Polymorphism. yaitu suatu konsep yang menyatakan bahwa sesuatu yang sama dapat mempunyai berbagai bentuk dan perilaku yang berbeda.
B. Konsep OOP (Object Oriented Programming)
1. Kelas Abstrak (Class Abstraksi)
2. Enkapsulasi (encapsulation)
3. Pewarisan (Inheritance)
4. Polimorfisme (polymorphism)
PENJELASAN KONSEP OOP DI ATAS:
1. Kelas Abstrak (Class Abstraksi)
Kelas merupakan deskripsi abstrak informasi dan tingkah laku dari sekumpulan data.
Kelas dapat diilustrasikan sebagai suatu cetak biru(blueprint) atau prototipe yang digunakan untuk menciptakan objek.
Kelas merupakan tipe data bagi objek yang mengenkapsulasi data dan operasi pada data dalam suatu unit tunggal.
Kelas mendefinisikan suatu struktur yang terdiri atas data kelas (data field), prosedur atau fungsi (method), dan sifat kelas (property).
2. Enkapsulasi (encapsulation)
Istilah enkapsulasi sebenarnya adalah kombinasi data dan fungsionalitas dalam sebuah unit tunggal sebagai bentuk untuk menyembunyikan detail informasi.
Proses enkapsulasi memudahkan kita untuk menggunakan sebuah objek dari suatu kelas karena kita tidak perlu mengetahui segala hal secara rinci.
Enkapsulasi menekankan pada antarmuka suatu kelas, atau dengan kata lain bagaimana menggunakan objek kelas tertentu.
Contoh: kelas mobil menyediakan antarmuka fungsi untuk menjalankan mobil tersebut, tanpa kita perlu tahu komposisi bahan bakar, udara dan kalor yang diperlukan untuk proses tersebut.
3. Pewarisan (Inheritance)
Kita dapat mendefinisikan suatu kelas baru dengan mewarisi sifat dari kelas lain yang sudah ada.
Penurunan sifat ini bisa dilakukan secara bertingkattingkat, sehingga semakin ke bawah kelas tersebut menjadi semakin spesifik.
Sub kelas memungkinkan kita untuk melakukan spesifikasi detail dan perilaku khusus dari kelas supernya.
Dengan konsep pewarisan, seorang programmer dapat menggunakan kode yang telah ditulisnya pada kelas super berulang kali pada kelas-kelas turunannya tanpa harus menulis ulang semua kode-kode itu.
4. Polimorfisme (polymorphism)
Polimorfisme merupakan kemampuan objekobjek yang berbeda kelas namun terkait dalam pewarisan untuk merespon secara berbeda terhadap suatu pesan yang sama.
Polimorfisme juga dapat dikatakan kemampuan sebuah objek untuk memutuskan method mana yang akan diterapkan padanya, tergantung letak objek tersebut pada jenjang pewarisan.
-Method overriding.
-Method name overloading.
C. Karakteristik OOP (Object Oriented Programming)
- Semua adalah objek.
- Komputasi dilakukan dengan komunikasi antar objek. Setiap objek berkomunikasi dengan objek yang lain melalui pengiriman dan penerimaan pesan.
- Sebuah pesan merupakan permintaan atas sekumpulan aksi dengan semua argumen yang diperlukan untuk menyelesaikan suatu tugas tertentu.
- Setiap objek memiliki memori sendiri, yang dapat terdiri dari objek-objek lainnya.
- Setiap objek adalah wakil atau representasi dari suatu kelas. Sebuah kelas dapat mewakili sekelompok objek yang sama.
- Kelas merupakan kumpulan tingkah laku yang berkaitan dengan suatu objek. Jadi, semua objek yang merupakan wakil dari kelas yang sama dapat melakukan aksi yang sama pula.
- Kelas-kelas diorganisasikan ke dalam struktur pohon yang berakar tunggal, yang dinamakan dengan jenjang pewarisan (inheritance hierarchy).
- Setiap objek pada umumnya memiliki tiga sifat, yaitu keadaan, operasi dan identitas objek.
- Operasi merupakan tindakan yang dapat dilakukan oleh sebuah objek.
- Keadaan objek merupakan koleksi dari seluruh informasi yang dimiliki oleh objek pada suatu saat.
- Informasi yang terkandung pada objek tersebut pada akhirnya memberikan identitas khusus yang membedakan suatu objek dengan objek lainnya.

Komentar
Posting Komentar