Praktikum Modul Pengenalan dan Konsep OOP pada Pemrograman Dasar Lanjutan
👋 Halo teman-teman pejuang kode!
Di pembahasan Pemrograman Dasar Lanjutan kali ini, kita akan berkenalan dengan konsep yang jadi fondasi penting dalam dunia pemrograman modern, yaitu Object-Oriented Programming (OOP). Mungkin kamu sudah sering dengar istilah class dan object, tapi di tahap ini kita akan mulai benar-benar memahami bagaimana OOP bekerja dan kenapa konsep ini banyak digunakan dalam pengembangan aplikasi nyata.
Dalam materi ini, kamu akan diajak mengenal cara berpikir OOP yang memandang program sebagai kumpulan objek dengan atribut dan perilaku masing-masing. Kita akan membahas konsep dasar seperti class, object, encapsulation, inheritance, dan polymorphism secara bertahap dan dengan contoh yang mudah dipahami. Semua disusun supaya kamu nggak cuma paham teorinya, tapi juga bisa langsung menerapkannya dalam kode.
Jadi, siap naik level dari pemrograman prosedural ke pemrograman yang lebih rapi, terstruktur, dan profesional? Yuk, kita mulai eksplorasi dunia OOP dan bangun program yang lebih keren bareng-bareng! 🚀💻
Pada praktikum ini, perhitungan luas segitiga dilakukan dalam satu fungsi tanpa mengembalikan nilai, melainkan langsung menampilkan hasil menggunakan print().
Fungsi dipanggil dua kali:
Pada praktikum kedua, program dibuat menggunakan fungsi biasa (tanpa OOP) dan melibatkan input dari pengguna. Fungsi ini digunakan untuk mengambil input alas dan tinggi dari pengguna, lalu dikembalikan ke program utama.
Penjelasan:
-
input()digunakan untuk menerima nilai dari pengguna. -
float()digunakan untuk memastikan data bertipe numerik. -
Nilai dikembalikan menggunakan
return.
alas dan tinggi, serta method untuk menghitung luas segitiga.Penjelasan:
-
__init__()adalah constructor yang digunakan untuk menginisialisasi nilai alas dan tinggi. -
selfmerepresentasikan objek yang sedang digunakan. -
get_luas()merupakan method untuk menghitung luas segitiga.
Kemudian dibuat dua objek:
Hasil:
-
Luas segitiga pertama = 25.0
-
Luas segitiga kedua = 50.0
✔️ 1. Membuat Class Mobil
-
class Mobildigunakan untuk mendefinisikan sebuah class bernama Mobil. -
Class ini menjadi cetakan (blueprint) untuk membuat object mobil.
✔️ 2. Membuat Constructor (__init__)
Penjelasan:
-
__init__adalah constructor, yaitu fungsi yang otomatis dipanggil saat object dibuat. -
self.merkdanself.modeladalah atribut instance. -
Nilainya diisi sesuai data saat object dibuat.
✔️ 3. Membuat Method deskripsi()
Penjelasan:
-
Method adalah fungsi di dalam class.
-
Method ini digunakan untuk menampilkan informasi mobil.
-
selfdigunakan untuk mengakses atribut milik object.
✔️ 4. Membuat Object dari Class
Penjelasan:
-
mobil1danmobil2adalah object dari classMobil. -
Masing-masing object memiliki data berbeda.
✔️ 5. Menampilkan Hasil Method
Output:
Penjelasan:
-
Method
deskripsi()dipanggil melalui object. -
Output menampilkan data sesuai atribut masing-masing object.
✔️ 1. Menambahkan Atribut Class
Penjelasan:
-
jumlah_rodaadalah atribut class. -
Berlaku untuk semua object dari class
Mobil. -
Tidak bergantung pada data object.
✔️ 2. Constructor Tetap Digunakan
-
Constructor tetap digunakan untuk atribut instance (
merk,model).
✔️ 3. Membuat Object
-
Object dibuat seperti biasa.
✔️ 4. Mengakses Atribut Class melalui Object
Output:
Penjelasan:
-
Walaupun dipanggil lewat object,
jumlah_rodaberasal dari class.
1️⃣ Deklarasi Class Karyawan
Penjelasan:
-
Karyawanadalah class (cetak biru objek karyawan). -
bonus_tahunanadalah atribut kelas → nilainya sama untuk semua karyawan. -
Bonus ini akan digunakan saat karyawan memiliki performa yang baik.
2️⃣ Method __init__ (Constructor)
Penjelasan:
-
__init__adalah constructor, otomatis dipanggil saat objek dibuat. -
self.nama,self.jabatan, danself.gajiadalah atribut instance (milik tiap objek). -
Setiap karyawan bisa punya data yang berbeda.
📌 Contoh:
3️⃣ Method total_gaji()
Penjelasan:
-
Method ini menghitung total gaji karyawan.
-
Parameter
performa_baikmenentukan apakah karyawan mendapat bonus. -
Jika
True→ gaji + bonus -
Jika
False→ hanya gaji pokok
📌 Karyawan.bonus_tahunan diambil dari atribut kelas.
4️⃣ Fungsi buat_karyawan()
Penjelasan:
-
Fungsi ini mengambil input dari pengguna.
-
Data yang dimasukkan digunakan untuk membuat objek Karyawan.
-
int()dipakai agar gaji bertipe integer. -
returnmengembalikan objek karyawan.
📌 Fungsi ini membuat program lebih rapi dan reusable.
5️⃣ Membuat Objek Karyawan
Penjelasan:
-
Membuat dua objek karyawan.
-
Setiap pemanggilan fungsi akan meminta input baru.
-
karyawan1dankaryawan2menyimpan objek berbeda.
6️⃣ Input Performa Karyawan
Penjelasan:
-
Program menanyakan performa masing-masing karyawan.
-
Menggunakan f-string agar nama karyawan tampil dinamis.
-
Jawaban disimpan dalam variabel
performa1danperforma2.
7️⃣ Menampilkan Total Gaji
Penjelasan:
-
Memanggil method
total_gaji(). -
Jika performa
"yes"→ dianggap True → dapat bonus. -
Jika
"no"→ False → tanpa bonus. -
Hasil ditampilkan ke layar.
Penjelasan Alur dan Proses
-
Program dimulai dari baris atas dan dieksekusi berurutan.
-
User memasukkan harga dan jumlah barang.
-
Program langsung menghitung total belanja.
-
Hasil ditampilkan ke layar.
-
Semua proses berada dalam satu alur tanpa fungsi terpisah.
Penjelasan Alur dan Proses
-
Fungsi
hitung_total()dibuat untuk menghitung total belanja. -
User memasukkan harga dan jumlah barang.
-
Data dikirim ke fungsi.
-
Fungsi mengembalikan hasil perhitungan.
-
Program menampilkan hasil.
Penjelasan Alur dan Proses
-
Class
Belanjadibuat sebagai cetakan objek. -
Atribut
hargadanjumlahdisimpan dalam object. -
Method
total_belanja()menghitung total. -
Object dibuat dari class.
-
Method dipanggil untuk menampilkan hasil.
Penjelasan Konsep, Alur, dan Proses
🔹 Class
-
Mahasiswaadalah class yang menjadi cetakan object.
🔹 Atribut
-
namadannimadalah data milik object mahasiswa.
🔹 Method
-
tampilkan_data()berfungsi menampilkan informasi mahasiswa.
🔹 Object
-
mhs1adalah object dari classMahasiswa.
🔹 Alur Program
-
User memasukkan nama dan NIM.
-
Object mahasiswa dibuat.
-
Method dipanggil untuk menampilkan data.
-
Program selesai.
Komentar
Posting Komentar