Pengertian Pemrograman Berorientasi Objek

Pemrograman Berorientasi Objek (Object Oriented Programming/OOP) adalah paradigma pemrograman yang mengorganisasikan program ke dalam bentuk objek. Setiap objek merepresentasikan suatu entitas yang memiliki karakteristik (atribut) dan perilaku (method).

Dalam OOP, objek dapat saling berinteraksi untuk menyelesaikan suatu permasalahan. Pendekatan ini membuat struktur program lebih modular sehingga memudahkan proses pengembangan maupun pemeliharaan.


Mengapa Menggunakan OOP?

Pemrograman Berorientasi Objek digunakan karena memiliki berbagai kelebihan, antara lain:

  • Program lebih terstruktur dan mudah dipahami.
  • Mempermudah proses pengembangan aplikasi yang kompleks.
  • Mengurangi penulisan kode yang berulang (code reuse).
  • Memudahkan perawatan (maintenance) dan pengembangan sistem.
  • Meningkatkan keamanan data melalui mekanisme encapsulation.
  • Memudahkan kerja sama dalam tim pengembang.

Perbedaan Pemrograman Prosedural dan Pemrograman Berorientasi Objek

Pemrograman Prosedural Pemrograman Berorientasi Objek
Berorientasi pada fungsi Berorientasi pada objek
Data dan fungsi terpisah Data dan method berada dalam satu class
Sulit dikembangkan pada proyek besar Lebih mudah dikembangkan
Kode sering berulang Mendukung penggunaan kembali kode
Cocok untuk program sederhana Cocok untuk aplikasi skala besar

Konsep Dasar OOP

1. Class

Class adalah cetak biru (blueprint) atau rancangan untuk membuat objek. Di dalam class terdapat atribut dan method yang akan dimiliki oleh setiap objek.

Contoh:

Class Mahasiswa

Atribut:

  • NIM
  • Nama
  • Jurusan

Method:

  • Belajar()
  • MengerjakanTugas()
  • Presentasi()

2. Object

Object adalah hasil nyata dari sebuah class.

Misalnya terdapat class Mahasiswa, maka objeknya dapat berupa:

  • Mahasiswa 1 (Andi)
  • Mahasiswa 2 (Budi)
  • Mahasiswa 3 (Siti)

Masing-masing objek memiliki data yang berbeda tetapi berasal dari class yang sama.


3. Attribute

Attribute merupakan data atau karakteristik yang dimiliki oleh suatu objek.

Contoh atribut pada objek Mahasiswa:

  • Nama
  • NIM
  • Jurusan
  • Semester
  • IPK

4. Method

Method adalah tindakan atau fungsi yang dapat dilakukan oleh suatu objek.

Contoh method:

  • Login()
  • Belajar()
  • SimpanData()
  • CetakLaporan()

Contoh OOP dalam Kehidupan Sehari-hari

Contoh 1: Mobil

Class: Mobil

Attribute:

  • Merk
  • Warna
  • Tahun
  • Kecepatan

Method:

  • Menyalakan mesin
  • Menginjak gas
  • Mengerem
  • Membunyikan klakson

Objek:

  • Toyota Avanza
  • Honda Brio
  • Daihatsu Xenia

Contoh 2: Mahasiswa

Class: Mahasiswa

Attribute:

  • Nama
  • NIM
  • Jurusan

Method:

  • Belajar
  • Mengikuti kuliah
  • Mengumpulkan tugas

Objek:

  • Indah
  • Rina
  • Fajar

Karakteristik Utama OOP

1. Encapsulation (Enkapsulasi)

Encapsulation adalah proses membungkus data dan method ke dalam satu class serta membatasi akses langsung terhadap data agar lebih aman.

Manfaat:

  • Melindungi data.
  • Mengontrol perubahan data.
  • Meningkatkan keamanan program.

2. Inheritance (Pewarisan)

Inheritance memungkinkan sebuah class mewarisi atribut dan method dari class lain.

Contoh:

Class Kendaraan

Class Mobil

Class MobilSport

Dengan inheritance, programmer tidak perlu menulis ulang kode yang sama.


3. Polymorphism

Polymorphism memungkinkan satu method memiliki banyak bentuk atau implementasi yang berbeda.

Contohnya:

Method suara()

Kucing → Meong

Anjing → Guk Guk

Ayam → Kukuruyuk

Method yang sama menghasilkan perilaku yang berbeda sesuai objeknya.


4. Abstraction

Abstraction adalah proses menyembunyikan detail implementasi dan hanya menampilkan fungsi yang diperlukan oleh pengguna.

Contohnya ketika mengendarai mobil, pengemudi cukup menggunakan setir, pedal gas, dan rem tanpa perlu mengetahui cara kerja mesin secara detail.


Kelebihan Pemrograman Berorientasi Objek

Beberapa kelebihan OOP antara lain:

  • Kode lebih rapi dan terstruktur.
  • Mudah dikembangkan.
  • Mudah diperbaiki apabila terjadi kesalahan.
  • Mendukung penggunaan kembali kode.
  • Lebih aman karena adanya pengaturan hak akses data.
  • Cocok digunakan untuk pengembangan aplikasi besar seperti sistem akademik, aplikasi perbankan, e-commerce, dan aplikasi mobile.

Kekurangan OOP

Selain memiliki banyak kelebihan, OOP juga memiliki beberapa kekurangan, yaitu:

  • Membutuhkan pemahaman konsep yang lebih mendalam.
  • Struktur program lebih kompleks dibandingkan pemrograman prosedural.
  • Membutuhkan perencanaan desain class yang baik.
  • Penggunaan memori relatif lebih besar.

Contoh Program Sederhana Java

class Mahasiswa {

    String nama;
    String nim;

    void belajar() {
        System.out.println(nama + " sedang belajar Pemrograman Berorientasi Objek.");
    }
}

public class Main {

    public static void main(String[] args) {

        Mahasiswa mhs = new Mahasiswa();

        mhs.nama = "Indah";
        mhs.nim = "231011234";

        mhs.belajar();

    }
}

Output:

Indah sedang belajar Pemrograman Berorientasi Objek.

Pada contoh di atas:

  • Mahasiswa merupakan class.
  • mhs merupakan object.
  • nama dan nim merupakan attribute.
  • belajar() merupakan method.

Rangkuman

  • Pemrograman Berorientasi Objek (OOP) adalah paradigma pemrograman yang berpusat pada objek.
  • Objek memiliki atribut dan method.
  • Empat konsep utama OOP meliputi Encapsulation, Inheritance, Polymorphism, dan Abstraction.
  • OOP mempermudah pengembangan aplikasi yang kompleks karena kode lebih terstruktur, mudah dipelihara, dan dapat digunakan kembali.