Anda di halaman 1dari 11

PROJECT UAS

PEMROGRAMAN BERORIENTASI OBJEK

Disusun
Oleh

SUKARNI MAJID
121055520120002

FAKULTAS TEKNIK

PROGRAM STUDI TEKNIK INFORMATIKA

UNIVERSITAS MUHAMMADIYAH MALUKU UTARA

TERNATE

2024
JAWABAN

1. PROGRAM UNTUK MENGHITUNG NILAI AKHIR MAHASISWA


 Source Code
package com.mycompany.project_uas_sukarni;
import java.util.Scanner;
public class Project_uas_sukarni {

public static void main(String[] args) {


Scanner input = new Scanner(System.in);
System.out.println("PROGRAM HITUNG NILAI AKHIR MAHASISWA");

for (int i = 1; i <= 5; i++) {


System.out.println("Mahasiswa ke-" + i);
System.out.println("============================");

// deklarasi variabel
String nama, grade;
int n1, n2, n3;
double m1, m2, m3, mm;

System.out.print("Nama Siswa: ");


nama = input.nextLine();

System.out.print("Masukkan Nilai Tugas: ");


n1 = Integer.parseInt(input.nextLine());

System.out.print("Masukkan Nilai UTS: ");


n2 = Integer.parseInt(input.nextLine());

System.out.print("Masukkan Nilai UAS: ");


n3 = Integer.parseInt(input.nextLine());

m1 = n1 * 0.25;
m2 = n2 * 0.35;
m3 = n3 * 0.40;
mm = m1 + m2 + m3;

System.out.println("============================");
System.out.println("Nilai Murni yang diperoleh");
System.out.println("Nilai murni Tugas: " + (int) m1);
System.out.println("Nilai murni UTS: " + (int) m2);
System.out.println("Nilai murni UAS: " + (int) m3);
System.out.println("Nilai Akhir yang diperoleh yaitu: " + (int) mm);
System.out.println();
}
}
}
 Output
2. PROGRAM UNTUK INHERITANCE, ENCAPSULATION, DAN POLYMORPHISM
a. Inheritance (Pewarisan)
 Source Code
// Kelas utama sebagai superclass
class Reptil {
private String nama;
private String jenis;

// Konstruktor untuk inisialisasi objek Reptil


public Reptil(String nama, String jenis) {
this.nama = nama;
this.jenis = jenis;
}

// Metode umum untuk semua reptil berkembang biak


public void berkembangBiak() {
System.out.println(nama + " berkembang biak dengan cara tertentu.");
}

// Metode umum untuk semua reptil tentang makanan


public void makanan() {
System.out.println(nama + " merupakan " + jenis + " yang umumnya
memakan daging.");
}

// Metode umum untuk menampilkan informasi reptil


public void displayInfo() {
System.out.println("Informasi Reptil:");
System.out.println("Nama: " + nama);
System.out.println("Jenis: " + jenis);
System.out.println("-----------------------------");
}

// Getter untuk mendapatkan nama reptil


public String getNama() {
return nama;
}
}

// Kelas turunan sebagai subclass untuk Ular


class Ular extends Reptil {
// Konstruktor untuk inisialisasi objek Ular
public Ular(String nama) {
super(nama, "ular");
}

// Metode khusus untuk Ular


public void hidupDiDarat() {
System.out.println(getNama() + " hidup di darat.");
}
}

// Kelas turunan sebagai subclass untuk Penyu


class Penyu extends Reptil {

// Konstruktor untuk inisialisasi objek Penyu


public Penyu(String nama) {
super(nama, "penyu");
}

// Metode khusus untuk Penyu


public void hidupDiLaut() {
System.out.println(getNama() + " hidup di laut.");
}
}
// Kelas utama untuk menjalankan program
public class PewarisanReptil {
public static void main(String[] args) {
// Membuat objek Ular
Ular sanca = new Ular("Sanca");
sanca.berkembangBiak();
sanca.makanan();
sanca.hidupDiDarat();
sanca.displayInfo();

// Membuat objek Penyu


Penyu belitung = new Penyu("Penyu Belitung");
belitung.berkembangBiak();
belitung.makanan();
belitung.hidupDiLaut();
belitung.displayInfo();
}
}

 Outputnya
 Penjelasannya

Inheritance (Pewarisan) adalah konsep dalam pemrograman berorientasi objek


(OOP) di mana sebuah kelas (subclass atau turunan) dapat mewarisi properti
(variabel dan metode) dari kelas lain yang disebut superclass (kelas induk). Dengan
kata lain, kelas anak dapat menggunakan dan memperluas fungsionalitas yang telah
didefinisikan dalam kelas induk tanpa perlu menulis ulang kode yang sama.

Penjelasan Output:
1. Kelas Reptil:
- Memiliki atribut dan metode umum untuk semua reptil, seperti
berkembangBiak, makanan, dan displayInfo.
2. Kelas Ular dan Penyu (Subclass):
- Merupakan subclass dari kelas Reptil.
- Mewarisi sifat dan metode dari kelas Reptil.
- Masing-masing kelas memiliki metode khusus: hidupDiDarat untuk Ular dan
hidupDiLaut untuk Penyu.
3. Program Utama PewarisanReptil:
- Membuat objek dari kelas Ular dan Penyu.
- Memanggil metode-metode umum dan khusus untuk masing-masing objek
untuk mengilustrasikan pewarisan dan karakteristik khusus.
b. Encapsulation
 Source Code
1. File Lampu.java

public class Lampu {


private String warna;
private boolean menyala;

public Lampu(String warna, boolean menyala) {


this.warna = warna;
this.menyala = menyala;
}

public String getWarna() {


return warna;
}

public void setWarna(String warna) {


this.warna = warna;
}

public boolean isMenyala() {


return menyala;
}

public void setMenyala(boolean menyala) {


this.menyala = menyala;
}

public void nyalakan() {


this.menyala = true;
}

public void matikan() {


this.menyala = false;
}
}

2. File main.java

public class main {


public static void main(String[] args) {
// Membuat objek Lampu dengan warna merah dan menyala
Lampu lampuMerah = new Lampu("merah", true);

// Menampilkan informasi awal


System.out.println("Warna lampu: " + lampuMerah.getWarna());
System.out.println("Status menyala: " + lampuMerah.isMenyala());
// Mematikan lampu
lampuMerah.matikan();

// Menampilkan informasi setelah mematikan lampu


System.out.println("\nSetelah dimatikan:");
System.out.println("Warna lampu: " + lampuMerah.getWarna());
System.out.println("Status menyala: " + lampuMerah.isMenyala());
}
}

 Outputnya

 Penjelasannya

Encapsulation adalah salah satu prinsip dasar dalam pemrograman berorientasi


objek (OOP) yang menggabungkan data dan metode (fungsi) yang beroperasi pada
data ke dalam sebuah unit tunggal yang disebut kelas. Dalam konteks Encapsulation,
sebuah kelas menyembunyikan implementasi internalnya dan hanya mengekspos
fungsionalitas yang diperlukan melalui antarmuka yang jelas.

Penjelasan Output:
1. Lampu memiliki dua atribut private: warna (String) dan menyala (boolean).
2. Konstruktor digunakan untuk menginisialisasi objek Lampu dengan nilai awal
warna dan status menyala.
3. Setter (setWarna dan setMenyala) digunakan untuk mengubah nilai atribut, dan
getter (getWarna dan isMenyala) digunakan untuk mengakses nilai atribut.
4. Terdapat dua metode tambahan, yaitu nyalakan dan matikan untuk mengganti
status menyala lampu.
c. Polymorphism
 Source Codenya

// Bentuk.java
public interface Bentuk {
void tampilkan();
}

// Kendaraan.java
public interface Kendaraan {
void start();
}

//Mobil.java
public class Mobil implements Kendaraan, Bentuk {
@Override
public void start() {
System.out.println("Mobil dinyalakan.");
}

@Override
public void tampilkan() {
System.out.println("Bentuk: Mobil");
}

public void bunyiKnalpot() {


System.out.println("Dor dor!");
}
}

// Motor.java
public class Motor implements Kendaraan, Bentuk {
@Override
public void start() {
System.out.println("Motor dinyalakan.");
}

@Override
public void tampilkan() {
System.out.println("Bentuk: Motor");
}

public void bunyiKnalpot() {


System.out.println("Brum brum!");
}
}
// AplikasiPolymorphism.java
public class AplikasiPolymorphism {
public static void main(String[] args) {

// Polymorphism: Objek Mobil sebagai Kendaraan


Kendaraan mobil = new Mobil();
mobil.start();
((Bentuk) mobil).tampilkan();
((Mobil) mobil).bunyiKnalpot();

// Polymorphism: Objek Motor sebagai Kendaraan


Kendaraan motor = new Motor();
motor.start();
((Bentuk) motor).tampilkan();
((Motor) motor).bunyiKnalpot();
}
}

 Outputnya
 Penjelasannya

Polymorphism adalah konsep dalam pemrograman berorientasi objek yang


memungkinkan suatu objek dapat digunakan sebagai beberapa tipe objek yang
berbeda. Dengan kata lain, objek dapat memiliki banyak bentuk atau tampilan yang
berbeda.

Penjelasan Output:
1. Objek mobil diinisialisasi sebagai new Mobil(), dan ketika kita memanggil
metode start(), itu memanggil implementasi dari Kendaraan yang ada di kelas
Mobil.
2. Karena Mobil mengimplementasikan Bentuk, kita dapat mengakses metode
tampilkan() melalui casting (Bentuk) mobil.
3. Objek motor diinisialisasi sebagai new Motor(), dan ketika kita memanggil
metode start(), itu memanggil implementasi dari Kendaraan yang ada di kelas
Motor.
4. Karena Motor juga mengimplementasikan Bentuk, kita dapat mengakses metode
tampilkan() melalui casting (Bentuk) motor.
5. untuk objek motor, kita memanggil metode bunyiKnalpot() yang ada di kelas
Motor.
6. Berlaku juga di mobil, kita memanggil metode bunyiKnalpot() yang ada di kelas
Mobil.

Anda mungkin juga menyukai