
Latihan Belajar OOP
Belajar Object Oriented Programming (OOP) untuk persiapan UTS.
Object Oriented Programming untuk Pemula

Apa itu Object Oriented Programming?
Object-Oriented Programming (OOP) adalah suatu paradigma pemrograman yang menggunakan konsep "objek" untuk membangun program. Di OOP, sebuah program dipecah menjadi objek-objek kecil yang memiliki data (disebut atribut) dan fungsi-fungsi (disebut metode) yang berkaitan dengan objek tersebut. Tujuan utama dari OOP adalah untuk membuat kode lebih mudah dikelola, diubah, dan dipahami.
Konsep Dasar OOP
Kelas (Class)
Class (Kelas): Sebuah template atau blueprint yang mendefinisikan properti dan perilaku umum dari objek-objek yang akan dibuat. Misalnya, "Mobil" adalah sebuah kelas yang mendefinisikan hal-hal umum tentang mobil, seperti warna, merk, dan metode untuk menjalankan mobil.
Objek (Object)
Object (Objek): Instance atau wujud nyata dari sebuah kelas. Jika kelas adalah blueprint-nya, maka objek adalah mobil spesifik yang diciptakan berdasarkan blueprint tersebut. Contohnya, "Mobil Honda merah" adalah objek dari kelas "Mobil."
Contoh Soal buat latihan uts
package oopj22; class Mahasiswa { public String nama; public int nim; private String jenisKelamin; private float ipk; public Mahasiswa(String nama, int nim, String jenisKelamin, float ipk) { this.nama = nama; this.nim = nim; this.setJenisKelamin(jenisKelamin); this.setIpk(ipk); } private [1] setJenisKelamin(String jenisKelamin) { if (jenisKelamin.equals("L") || jenisKelamin.equals("P")) { this.jenisKelamin = jenisKelamin; } else { this.jenisKelamin = "Tidak Diketahui"; } } public [2] getJenisKelamin() { return this.jenisKelamin; } public String getPanggilanJenisKelamin() { if (this.jenisKelamin.equals("L")) { return "Mahasiswa"; } else if (this.jenisKelamin.equals("P")) { return "Mahasiswi"; } else { return "Mahasiswa/i"; } } public void setIpk([3] ipk) { if (ipk >= 0 && ipk <= 4.0) { this.ipk = ipk; } else { System.out.println("IPK tidak valid."); } } public float getIpk() { [4] this.ipk; } } class MahasiswaGhaib [5] Mahasiswa { public MahasiswaGhaib(String nama, int nim, String jenisKelamin, float ipk) { [6](nama, nim, jenisKelamin, ipk); } public String laporan() { String status = [7](); if ([8]() < 3.0) { return nama + " adalah seorang " + status + " ghaib dengam IPK: " + getIpk() + " Ia perlu bimbingan akademik agar bisa kembali ke jalur yang benar."; } else { return nama + " adalah seorang " + status + " ghaib tapi IPK aman!"; } } } class MahasiswaAktif extends Mahasiswa { private [9] ukm; public MahasiswaAktif(String nama, int nim, String jenisKelamin, float ipk, String ukm) { [10](nama, nim, jenisKelamin, ipk); this.ukm = ukm; } public String getDeskripsi() { return nama + " adalah " + [11]() + " aktif " + "dari ukm " + ukm + " dengan IPK: " + getIpk(); } } class MahasiswaAmbis [12] Mahasiswa { public MahasiswaAmbis(String nama, int nim, String jenisKelamin, float ipk) { super(nama, nim, jenisKelamin, ipk); } public String semangat() { String status = getPanggilanJenisKelamin(); if (getIpk() >= 3.51) { return nama + " adalah seorang " + status + " ambis yang berhasil meraih predikat cumlaude dengan IPK: " + getIpk(); } else { return nama + " adalah " + status + " yang sedang berusaha jadi ambis, saat ini memiliki IPK:" + getIpk() + " Semangat!"; } } } public class BelajarUts { public static void main(String[] args) { MahasiswaAktif mhs1 = new MahasiswaAktif("Teguh", 12345, "L", 3.84f, "Creative Student Associaton"); System.out.println(mhs1.getDeskripsi()); MahasiswaAmbis mhs2 = new MahasiswaAmbis("Salma", 23456, "P", 3.85f); System.out.println(mhs2.semangat()); MahasiswaAmbis mhs3 = new MahasiswaAmbis("Uyuy", 34567, "P", 3.4f); System.out.println(mhs3.semangat()); MahasiswaGhaib mhs4 = new MahasiswaGhaib("Big ell", 45678, "L", 1.5f); System.out.println(mhs4.laporan()); } }