RUANGLOKAL AI // TAMPILAN SISWA

Pemograman Berorientasi Objek (OOP)

Kelas: SMK Kelas 10 | Wilayah Konteks: Jawa Barat

KEMBALI

Modul Pembelajaran

Rencana Pembelajaran: Pemrograman Berorientasi Objek (OOP)

SMK Kelas 10

Topik: Pengenalan Pemrograman Berorientasi Objek (OOP)

Alokasi Waktu: 2 x 45 menit


A. Tujuan Pembelajaran

Setelah mengikuti pembelajaran ini, peserta didik diharapkan mampu:

  • Menjelaskan konsep dasar Pemrograman Berorientasi Objek (OOP).
  • Mengidentifikasi komponen-komponen dasar OOP seperti Class dan Object.
  • Memberikan contoh nyata implementasi Class dan Object dalam kehidupan sehari-hari, khususnya di lingkungan Jawa Barat.
  • Memahami secara garis besar empat pilar utama OOP (Encapsulation, Inheritance, Polymorphism, Abstraction).

B. Materi Pembelajaran

1. Pengantar OOP (Apa Itu OOP?)

Pemrograman Berorientasi Objek (OOP) adalah sebuah paradigma pemrograman yang mengorganisir "perangkat lunak" di sekitar "objek" daripada logika dan fungsi. Paradigma ini berfokus pada data dan perilaku yang terasosiasi dengannya, membuatnya "lebih mudah" untuk "mengelola" proyek "berskala besar" dan "kompleks".

Mengapa OOP penting?

  • Modularity: Memecah masalah besar menjadi bagian-bagian kecil yang "lebih mudah" diatur.
  • Reusability: Kode dapat "digunakan kembali", menghemat waktu dan usaha.
  • Maintainability: Lebih "mudah" dalam "perbaikan" dan "pengembangan".

2. Konsep Dasar OOP: Class dan Object

  • Object (Objek)

    • Objek adalah entitas nyata yang memiliki keadaan (state/attribute) dan perilaku (behavior/method).
    • Contoh dari Jawa Barat:
      • Sebuah Angkot berwarna hijau dengan nomor trayek 03 (Cicaheum-Ciwastra) yang sedang "berjalan" di jalanan Bandung. Ini adalah sebuah objek.
      • Sebuah ProdukKopi dari Garut dengan nama "Kopi Arabika Garut", berat 250gr, dan harga Rp 50.000 yang bisa "diseduh" atau "dijual". Ini juga objek.
  • Class (Kelas)

    • Kelas adalah "blueprint" atau "cetak biru" untuk membuat objek. Kelas mendefinisikan struktur dan perilaku yang akan dimiliki oleh objek-objeknya.
    • Contoh dari Jawa Barat:
      • Class Angkot: Sebuah "cetak biru" umum untuk semua angkot, yang mendefinisikan bahwa setiap angkot akan memiliki warna, nomorTrayek, dan dapat melakukan berjalan(), ngetem(), menurunkanPenumpang(). Dari "cetak biru" ini, kita bisa membuat banyak objek angkot yang berbeda (Angkot 03, Angkot 05, dll).
      • Class ProdukKopi: Sebuah "cetak biru" untuk semua jenis produk kopi, yang mendefinisikan bahwa setiap produk kopi akan memiliki nama, berat, harga, dan dapat melakukan seduh(), jual(), beliBahanBaku(). Dari "cetak biru" ini, kita bisa membuat objek "Kopi Arabika Garut", "Kopi Robusta Sumedang", dll.
  • Attribute (Atribut/Properti)

    • Karakteristik atau data yang dimiliki oleh sebuah objek.
    • Contoh: Untuk Angkot, atributnya bisa warna, nomorTrayek, jumlahKursi.
    • Contoh: Untuk ProdukKopi, atributnya bisa nama, berat, harga, asalDaerah.
  • Method (Metode/Perilaku)

    • Aksi atau fungsi yang dapat dilakukan oleh sebuah objek.
    • Contoh: Untuk Angkot, metodenya bisa berjalan(), ngetem(), menurunkanPenumpang(), mengangkutPenumpang().
    • Contoh: Untuk ProdukKopi, metodenya bisa seduh(), jual(), cekStok(), gilingBijiKopi().

3. Empat Pilar Utama OOP (Pengenalan Singkat)

  • Encapsulation (Enkapsulasi)

    • Menggabungkan data (atribut) dan metode yang beroperasi pada data tersebut ke dalam satu unit (kelas), serta menyembunyikan detail implementasi dari luar.
    • Analogi dari Jawa Barat: Kotak mesin Angkot. Kita bisa "mengendarai" angkot tanpa perlu tahu persis bagaimana mesin di dalamnya bekerja. Detail internal mesin tersembunyi, yang penting kita tahu cara "menyalakan" dan "menjalankan"nya.
  • Inheritance (Pewarisan)

    • Mekanisme di mana sebuah kelas (subkelas/child class) dapat mewarisi properti dan metode dari kelas lain (superkelas/parent class).
    • Analogi dari Jawa Barat: Class AngkotUmum bisa menjadi "parent" dari Class AngkotPariwisata. AngkotPariwisata akan mewarisi semua sifat dan perilaku AngkotUmum (punya roda, mesin, bisa berjalan), tapi mungkin punya "tambahan" fitur seperti AC atau WiFi.
  • Polymorphism (Polimorfisme)

    • Kemampuan objek dari kelas yang berbeda untuk merespons pesan atau metode yang sama dengan cara yang berbeda.
    • Analogi dari Jawa Barat: Kita memiliki berbagai jenis Angkot (Misal: Angkot 03, Angkot 05, Angkot 10). Setiap angkot memiliki metode berjalan(). Meskipun namanya sama, cara "berjalan" masing-masing angkot mungkin sedikit berbeda tergantung kondisi jalan atau rutenya, tetapi intinya mereka semua melakukan "berjalan".
  • Abstraction (Abstraksi)

    • Menyembunyikan detail implementasi yang kompleks dan hanya menunjukkan fungsionalitas yang relevan kepada pengguna.
    • Analogi dari Jawa Barat: Ketika kita menggunakan aplikasi pemesanan transportasi online (misal: GoJek/Grab yang populer di Bandung), kita hanya perlu tahu cara "memesan" atau "membayar". Kita tidak perlu tahu detail algoritma di balik penentuan driver, rute optimal, atau sistem pembayaran di server. Semua detail kompleks tersebut "diabstraksi" dari pengguna.

C. Penutup

Pemrograman Berorientasi Objek adalah fondasi penting dalam pengembangan perangkat lunak modern. Memahami konsep-konsep ini akan "membantu" peserta didik dalam "membangun" aplikasi yang "lebih terstruktur", "efisien", dan "mudah" dikelola di masa depan.


Kuis Pemahaman

1. Dalam Pemrograman Berorientasi Objek (OOP), "cetak biru" atau "template" untuk membuat objek disebut apa?

2. Jika kita menganggap sebuah "Angkot 03" yang beroperasi di Bandung sebagai sebuah entitas nyata dalam OOP, maka "Angkot 03" tersebut paling tepat disebut sebagai apa?

3. Sebuah "Angkot" memiliki karakteristik seperti "warna" (misalnya hijau), "nomor trayek" (misalnya 03), dan "jumlah kursi". Dalam konsep OOP, karakteristik ini dikenal sebagai apa?

4. Prinsip OOP yang menggabungkan data (atribut) dan fungsi (metode) yang beroperasi pada data tersebut ke dalam satu unit, serta menyembunyikan detail implementasi dari luar, dikenal sebagai apa? (Analoginya: kotak mesin angkot yang tertutup)

5. Jika "Kelas Kendaraan" memiliki turunan "Kelas Mobil" dan "Kelas Motor", dan "Kelas Mobil" memiliki turunan lagi "Kelas Angkot", konsep OOP apakah yang menjelaskan hubungan ini?