Langsung ke konten utama

Pemrograman Berorientasi Objek (PBO)

A. Pengertian
Pemrograman berorientasi objek (Inggrisobject-oriented programming disingkat OOP) merupakan paradigma pemrograman berdasarkan konsep "objek", yang dapat berisi data, dalam bentuk field atau dikenal juga sebagai atribut; serta kode, dalam bentuk fungsi/prosedur atau dikenal juga sebagai method. Semua data dan fungsi di dalam 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,
Pemrograman berorientasi objek adalah metode pemrograman yang berorientasikan kepada objek, dimana semua data dan fungsi dalam metode ini didefinisikan ke dalam kelas-kelas atau objek-objek agar bisa saling bekerjasama dalam memecahkan masalah.

- KELEBIHAN DARI PEMEROGRAMAN BERORIENTASI OBJEK

Kelebihan dari metode pemrograman berorientasi objek sendiri adalah sebagai berikut:
  1. Maintenance program lebih mudah. Program yang dibuat dengan metode pemrograman berorientasi objek lebih mudah dibaca dan dipahami. Selain itu, pemrograman berorientasi obyek dapat mengontrol kerumitan program hanya dengan cara mengizinkan rincian-rincian yang dibutuhkan oleh programmer.
  2. Mudah dalam pengubahan program, bisa berupa penambahan atau penghapusan fitur atau objek tertentu. Contoh perubahan yang bisa dilakukan antara lain penambahan dan penghapusan data di dalam suatu database.
  3. Objek-objek di dalam program dapat digunakan sesering mungkin oleh programmer. Programmer dapat menyimpan objek-objek yang dirancang ke dalam sebuah module, yang dapat disisipkan ke dalam baris kode baru. Penambahan bisa dilakukan dengan sedikit perubahan atau tanpa perubahan pada kode program utama.


- KEKURANGAN PBO

  1. Mudah didekomplikasi. Dekomplikasi adalah proses membalikan kod menjadi kode sumber.
  2. Penggunaan memori yang banyak.
  3. Tulis sekali - perbaikan dimana saja.
Pemrograman berorientasi objek (selanjutnya disebut OOP) bisa digunakan jika tahap penulisan kode program sudah mencapai tingkat kerumitan yang tinggi. Hal ini biasanya terjadi pada bahasa pemrograman yang tingkatan bahasa pemrogramannya termasuk tinggi, sehingga membutuhkan penulisan yang lebih kompleks. Macam-macam bahasa pemrograman yang cocok untuk penerapan metode OOP adalah sebagai berikut:
  1. Visual Foxpro
  2. Java
  3. C++
  4. Pascal (bahasa pemrograman)
  5. Visual Basic.NET
  6. SIMULA
  7. Smalltalk
  8. Ruby
  9. Python
  10. PHP
  11. C#
  12. Delphi
  13. Eiffel
  14. Perl
  15. Adobe Flash AS 3.0
DEFINISI 

PEMROGRAMAN BERORIENTASI OBJEK

 - [Meyer98]: Sebuah sistem yang dibangun berdasarkan metoda berorientasi objek adalah sebuah sistem yang komponennya di-enkapsulasi menjadi kelompok data dan fungsi, yang dapat mewarisi atribut dan sifat dari komponen lainnya, dan komponen-komponen tersebut saling berinteraksi satu sama lain.
- Pemrograman berorientasi objek adalah metode pemrograman berdasarkan hirarki kelas, dimana kelas-kelas tersebut didefinisikan dengan baik dan bisa saling bekerja sama untuk memecahkan masalah.
CLASS (KELAS)
- Merupakan definisi statik (kerangka dasar) dari objek yang akan diciptakan, berupa struktur yang mendefinisikan data (property) dan method dari objek. ?Bisa disebut cetak biru dari objek atau bisa disebut gambaran umum dari benda.?
- Contoh penamaan kelas: Mobil, Laptop, Anggota, Buku, dll
PROPERTY
- Merupakan data atau state yang dimiliki oleh class. ?Contoh pada class Mobil, memiliki property:
  • ?Warna
  • ?Model
  • ?Produsen
- Contoh lain, class Anggota, memiliki property: nomor anggota, nama, alamat, telp, daftar buku yang dipinjam.
METHOD
- Merupakan behavior (perilaku) sebuah class. ?Bisa dikatakan sebagai aksi atau tindakan yang bisa dilakukan oleh suatu class. ?Contoh pada class Mobil, memiliki method:

  • Start, method untuk menjalankan mobil
  • Stop, method untuk menghentikan laju mobil
  • Change Gear, method untuk ganti gigi persneling
  • Turn, method untuk belok kanan atau kiri
Masih banyak lagi Itu hanya penjelasan Singkatnya.


Pemrograman Prosedural

Pada pemrograman prosedural secara mendasar adalah metode pemrograman yang mengeluarkan perintah yang akan dieksekusi oleh komputer. Dan biasanya berupa baris baris program yang dieksekusi secara urut mulai dari baris atas hingga bawah. Pada model Pemrograman tradisional atau prosedural (disebut process-oriented model), 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.
Pemrograman Terstruktur adalah suatu proses untuk mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dalam bentuk program. Selain pengertian diatas Pemrograman Terstruktur adalah suatu aktifitas pemrograman dengan memperhatikan urutan langkah-langkah perintah secara sistematis, logis , dan tersusun berdasarkan algoritma yang sederhana dan mudah dipahami. Prinsip dari pemrograman terstruktur adalah Jika suatu proses telah sampai pada suatu titik / langkah tertentu , maka proses selanjutnya tidak boleh mengeksekusi langkah sebelumnya / kembali lagi ke baris sebelumnya, kecuali pada langkah – langkah untuk proses berulang (Loop).

Berikut adalah Bahasa Pemograman Prosedural antara lain :
  1. Cobol Turbo Prologproglanguages
  2. C
  3. Pascal
  4. Delphi
  5. Borland Delphi
Kelebihan Prosedural :
  1. Memiliki algoritma pemecahan masalah yanag sederhana, standar dan efektif.
  2. Penulisan program memiliki struktur logika yang benar dan mudah dipahami
  3. Program hanya terdiri dari 3(tiga) struktur dasar, yaitu struktur berurutan, struktur seleksi dan struktur perulangan.
  4. Memiliki dokumentasi yang baik.
  5. Menghindari penggunaan pernyataan GOTO, yang akan menjadikan program tidak terstruktur dengan baik.
Kekurangan Prosedural :
  1. Program cukup sulit untuk proses perawatan
  2. Fungsi yang tersedia, susah untuk diubah tanpa harus mempengaruhi fungsi sistem secara keseluruhan.
  3. Butuh usaha yang keras untuk menterjemahkan Business Models dalam programming models.
  4. Mungkin dapat bekerja dengan baik pada saat terisolasi tapi tidak pada saat terintegrasi dengan sistem lain.

Perbedaan Pemrograman Prosedural dengan Pemrograman Berorientasi Object

Bagaimana kita membedakan mana yang pemrograman prosedural dan mana yang pemrograman berorientasi object. Berikut sekilas perbedaannya :
prosedural-OOP
Setelah mengetahu pengertiannya?
dilihat dari pengertian di atas, pemrograman terstruktur memilki beberapa sifat – sifat seperti :
  1. Memuat teknik pemecahan masalah yang logis dan sistematis
  2. Memuat algoritma yang efisien, efektif dan sederhana
  3. Program disusun dengan logika yang mudah dipahami
  4. Tidak menggunakan perintah GO-TO
  5. Biaya pengujian program relatif rendah
  6. Memiliki dokumentasi yang baik
  7.  Biaya perawatan dan dokumentasi yang dibutuhkan relatif rendah
kesimpulan yang bisa saya ambil dari materi ini adalah anda akan merasakan kelebihan dan kekurangan dari gaya prosedural dan OOP ketika anda mengimplementasikannya dalam sebuah project aplikasi anda. Mana yang lebih mudah ataupun yang lebih cepat dalam melakukan proses implementasi. Karena kelebihan dan kekurangan yang saya berikan diatas belum tentu sama dengan yang anda alami.

Komentar

Postingan populer dari blog ini

Belajar Laravel Roles & Permission

 Kali ini kita akan belajar login roles permission menggunakan pake spatie Instal Laravel Roles & Permission Karena kita menggunakan package, maka kita harus menginstal terlebih dulu. Ohya, saya asumsikan kawan-kawan sudah punya proyek  Laravel  yang masih baru & sudah melakukan konfigurasi untuk  database  dan sudah menjalankan  auth scaffolding Laravel . composer require spatie/laravel-permission Setelah terinstal, langkah berikutnya adalah kita menerbitkan  file   migrations  dari  package  ini. php artisan vendor:publish --provider= "Spatie\Permission\PermissionServiceProvider" Berikutnya, jalankan  migration nya. php artisan migrate Setelah dijalankan maka akan ada beberapa tabel yang dibuat oleh migration dari  package  ini. Penggunaan Pertama setelah melakukan proses instalasi. Untuk menggunakan package Laravel Permission ini kita tambahkan dulu  trait   HasRoles  ke model  User . us...

Rekomendari ekstensi vs code

  GitLens Pada GitLens kita bisa preview commitan sebelum di push, dan bisa melihat perubahan pada baris kode ( dibikin oleh siapa, diubah oleh siapa ), Serta masih banyak fitur lain dari GitLens ini. Visual Studio IntelliCode Sebenarnya auto suggest bawaan dari VS Code itu sendiri sudah lumayan bagus, saya menggunakan ini agar auto suggest bisa lebih detail suggestion yang diberikan, bisa diibaratkan Improve dalam hal suggestion ( Intellisense nya ). Sublime Text Keymap and Settings Importer Bagi teman-teman yang migrasi dari Sublime Text 3 ke Visual Studio Code dan merasa aneh dengan keymap di VS Code, bisa nih dicoba in keymap sublime text di VS Code. Secara keseluruhan keymap nya sama persis dengan keymap sublime text. File Utils Bagi teman-teman yang sering menggunakan VS Code tapi terbatas pada klik kanan di tampilan side folder project nya, yang hanya bisa copy dan paste. Nah pada ekstensi ini ada beberapa penambahan seperti Duplicate, Move, dan masih banyak lagi. Prettier E...

Model, View & Controller (MVC)

Model View Controller (MVC) Apa itu MVC?  MVC atau  Model View Controller  adalah sebuah pola desain arsitektur dalam sistem pengembangan website yang terdiri dari tiga bagian, yaitu:  Model,  bagian yang mengelola dan berhubungan langsung dengan database; View , bagian yang akan menyajikan tampilan informasi kepada pengguna; Controller , bagian yang menghubungkan model dan view dalam setiap proses request dari user.  Alur Kerja MVC Oke, setelah mempelajari apa itu MVC, sekarang saatnya memahami bagaimana alur kerja dari MVC. Mari lihat bagan berikut ini: Bagian  view  akan merequest informasi untuk bisa ditampilkan kepada pengguna. Request tersebut kemudian diambil oleh  controller  dan diserahkan bagian  model  untuk diproses;  Model akan mengolah dan mencari data informasi tersebut di dalam database; Model memberikan kembali pada controller untuk ditampilkan hasilnya di view;  Controller mengambil hasil olahan yang...