Anda di halaman 1dari 30

KATA PENGANTAR

Puji syukur saya panjatkan ke hadirat Allah Subhanahu wata΄ala, karena


berkat-Nya dan karunia-Nya saya dapat menyelesaikan Laporan akhir praktikum
ini yang membahas tentang Pemrograman Berbasis Objek. Tanpa pertolongan-
Nya mungkin saya tidak akan mampu menyelesaikan tugas Laporan akhir
praktikum ini. Laporan ini disusun untuk memenuhi tugas praktikum mata kuliah
Pemrograman Berbasis Objek.
Tak lupa saya terima kasih kepada Dosen Pengampu mata kuliah
Pemrograman Berbasis Objek saya yaitu Bapak Firmansyah Adiputra, ST.M.Cs
yang membimbing saya dalam mata kuliah tersebut.
Laporan Praktikum ini masih jauh dari sempurna, oleh karena itu saya
mengharapkan kritik dan saran yang membangun demi kesempurnaan laporan ini.
Semoga laporan praktikum ini dapat berguna dan bermanfaat bagi pembaca.

Bangkalan, 12 Juni 2022


Penyusun

M. PUTRA SENJA KAIMANA


NRP. 210441100138
BAB III
IMPLEMENTASI
3.1 Tugas Praktikum
1. Buatlah program java untuk menampilkan nama, nim, jurusan/prodi,
dan alamat mahasiswa menggunakan konsep OOP. Nama, nim,
jurusan/prodi, dan
alamat didefinisikan dari dalam program, dengan kata lain tidak
menggunakan input dari pengguna.
2. Buatlah class manusia dengan dengan attribut nama, umur dan alamat
serta
memiliki method berjalan dan berlari. Buatlah beberapa objek dari class
tersebut.
3. Dari soal nomor 1 buatlah program dinamis dimana nama, nim,
jurusan/prodi, serta alamat. Dengan kata lain diinputkan manual oleh
pengguna saat program dijalankan.
3.2 Jawaban
1. Mahasiswa.java

package mahasiswa;

public class Mahasiswa {

String nama;

String nim;

String prodi;

String alamat;

void nama(String nama){

System.out.println("Nama : "+nama);

void nim (String nim){


System.out.println("nim : "+nim);

void prodi (String prodi){

System.out.println("prodi : "+prodi);

void alamat (String alamat){

System.out.println("alamat : "+alamat);

public static void main(String[] args) {

Mahasiswa biodata = new Mahasiswa();

biodata.nama("Muhammad Putra Senja Kaimana");

biodata.nim("210441100138");

biodata.prodi("Sistem Informasi");

biodata.alamat("JL. Halim Perdana Kusuma");

}
2. Manusia.java

package manusia;

public class Manusia {

//konstruktor

public Manusia (String Nama){

System.out.println("Nama saya :"+Nama);

public static void umur (int umur){

System.out.println("Umur saya :"+umur+" tahun");

public static void alamat (String alamat){

System.out.println("Alamat rumah saya : "+alamat);

public static void kemampuan (String kemampuan){

System.out.println("Saya bisa :"+kemampuan);

public static void main(String[] args) {

Manusia profil = new Manusia("Muhammad Putra Senja Kaimana");

profil.umur(18);

profil.alamat("JL. Halim Perdana Kusuma");

profil.kemampuan("Berjalan Dan Berlari");

}
}

3. DataMahasiswa

package datamahasiswa;

//mengimport sacnner

import java.util.Scanner;

public class DataMahasiswa {

public static void main(String[] args) {

//mendeklarasikan var

String nama,alamat,prodi;

long nim;

// membuat scanner baru

Scanner keyboard = new Scanner(System.in);

Scanner keyboard2 = new Scanner (System.in);

System.out.println("==== Masukkan Data Diri ====");

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

nama = keyboard.nextLine();

System.out.print("Nim :");

nim = keyboard2.nextLong();
System.out.print("Prodi :");

prodi = keyboard.nextLine();

System.out.print("Alamat :");

alamat = keyboard.nextLine();

//menampilkan var yg sdh disimpan

System.out.println("=======");

System.out.println("Nama "+nama);

System.out.println("Nim "+nim);

System.out.println("Prodi "+prodi);

System.out.println("Alamat "+alamat);

3.3 Hasil
1. Mahasiswa.java
2. Manusia.java

3. DataMahasiswa.java
BAB IV

IMPLEMENTASI

4.1 Tugas Praktikum


Buatlah aplikasi rental VCD sederhana sebagai berikut:
Masukkan data VCD Film sebanyak X kali
 Judul : judul film.
 Aktor : nama-nama aktor di dalam film tersebut.
 Sutradara : nama sutradara film tersebut.
 Publisher : yang memproduksi film tersebut.
 Kategori : SU = Semua Umur, D = Dewasa, R = Remaja, A = Anak
anak
 Stok : jumlah stok VCD film tersebut.
Judul, Aktor, Sutradara, Publisher, Kategori dan Stok, dilooping sebanyak X kali.
Desainlah aplikasi rental VCD tersebut dengan konsep inheritance dan tentukan
parent class serta child class-nya. Setelah itu, implementasikan class-class yang
telah didesain dengan membuat program sederhana yang memiliki fasilitas entri
data VCD film dan melihat daftar VCD film yang telah dientrikan.

4.2 Jawaban
a. Rental.java (Superclass/Parent Class)
package main;

public class Rental {


String judul;
String publisher;
int stok;

Rental(String judul,String publisher, int stok){


this.judul = judul;
this.publisher = publisher;
this.stok = stok;
}
Rental(){
}
}
b. CdFilm.java (Subclass/Child class)
package main;

public class CdFilm extends Rental {


String sutradara;
String aktor;
String kategori;

CdFilm (String sutradara, String aktor, String kategori, String judul,


String publisher, int stok){
super(judul,publisher,stok);

this.sutradara = sutradara;
this.aktor = aktor;
this.kategori = kategori;

CdFilm(){

}
}
c. Main.java
package main;
import java.util.Scanner;

public class Main {

public static void main(String[] args) {


int repeat;
do{
Scanner input = new Scanner(System.in);
CdFilm daftar = new CdFilm();
System.out.println("=== SILAHKAN ENTRI DATA FILM ===");
System.out.print("Judul : ");
daftar.judul = input.nextLine();
System.out.print("Sutradara : ");
daftar.sutradara = input.nextLine();
System.out.print("Publisher: ");
daftar.publisher = input.nextLine();
System.out.print("Aktor : ");
daftar.aktor = input.nextLine();
System.out.println("Kategori");
System.out.println("1. SU = Semua Umur\n2. D = Dewasa\n3. R =
Remaja\n4. A = Anak-anak");
System.out.print("Masukkan Pilihan Anda (1/2/3/4): ");

String pil = "y";


int user;
do{
user = input.nextInt();
if(user==1){
daftar.kategori="SU = Semua Umur";
pil = "y";
}
else if(user==2){
daftar.kategori="D = Dewasa";
pil = "y";
}
else if(user==3){
daftar.kategori="R = Remaja";
pil = "y";
}
else if(user==4){
daftar.kategori="A = Anak-anak";
pil = "y";
}
else if (user == 5){
daftar.kategori="Pilihan Tidak ada";
pil = "y";
}
else {
System.out.println("Kategori Tidak Tersedia");
System.out.println("Masukkan Pilihan Anda (1/2/3/4): ");
pil = "t";
}
}while (pil != "y");

System.out.print("Stok : ");
daftar.stok=input.nextInt();
System.out.print("\n");
System.out.print("\n");
System.out.println("=== HASIL ENTRI DATA FILM ===");
System.out.println("Judul Film : "+daftar.judul);
System.out.println("Nama Sutradara : "+daftar.sutradara);
System.out.println("Publisher : "+daftar.publisher);
System.out.println("Daftar Aktor : "+daftar.aktor);
System.out.println("Kategori : "+daftar.kategori);
System.out.println("Stok : "+daftar.stok);

System.out.print("\n");
System.out.println("Mau mencoba lagi? (1/2) : ");
System.out.println("1 = Ya / 2 = TIdak");
System.out.print("Masukkan pilihan anda : ");
repeat=input.nextInt();

}while(repeat<2);
System.out.println("Terima kasih telah menggunakan program ini");
}

4.3 Hasil
a. Entri Data

b. Seteleh di Entri
BAB III

IMPLEMENTASI

a. Main.java

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

String ulang = "Y";

while (ulang.equals("Y")){

Scanner inputdata = new Scanner(System.in);

System.out.println("==== INPUT DATA MAHASISWA ====");

System.out.print("Universitas : ");

Mahasiswa.univ = inputdata.nextLine();

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

Mahasiswa.nama = inputdata.nextLine();

System.out.print("NIM : ");

Mahasiswa.nim = inputdata.nextLine();

System.out.print("Alamat : ");

Mahasiswa.alamat = inputdata.nextLine();

System.out.println("| === INPUT KODE JURUSAN === |");

System.out.println("| MATEMATIKA [61] |");

System.out.println("| BIOLOGI [62] |");

System.out.println("| KIMIA [63] |");


System.out.println("| FISIKA [64] |");

System.out.println("| TEKNIK INFORMATIKA [65] |");

System.out.println("| SISTEM INFORMASI [66] |");

System.out.println("| ========================== |");

System.out.print("Kode Jurusan : ");

Mahasiswa.jurusan = inputdata.nextLine();

Mahasiswa.getJurusan();

System.out.print("Apakah Anda Ingin Mengulangi ? Y/T : ");

ulang = inputdata.nextLine();

if (ulang.startsWith("Y")){

ulang = "Y";

} else {

System.out.println("Terima Kasih Telah Menggunakan Program


Kami");

}
b. Universitas.java
public class Universitas {
static String univ;
static String nim;
static String nama;

public static String getUniv(){


return univ;
}

public static String getNim() {


return nim;
}

public static String getNama() {


return nama;
}

public static void setUniv(String Univ){


Universitas.univ = Univ;
}

public static void setNim(String Nim){


Universitas.nim = Nim;
}

public static void setNama(String Nama) {


Universitas.nama = Nama;
}
}
c. Mahasiswa.java
import java.util.Scanner;

public class Mahasiswa extends Universitas {

static String alamat;


static String jurusan;

public static String getAlamat() {


return alamat;
}

public static void setAlamat(String Alamat) {


Mahasiswa.alamat = Alamat;
}

public static String getJurusan(){


Scanner inputdata = new Scanner(System.in);

switch(jurusan){
case "61":
System.out.println("==== DATA MAHASISWA ====");
System.out.println("Universitas : "+Mahasiswa.getUniv());
Mahasiswa.getUniv();
System.out.println("Nama : "+Mahasiswa.getNama());
Mahasiswa.getNama();
System.out.println("NIM : "+Mahasiswa.getNim());
Mahasiswa.getNim();
System.out.println("Alamat : "+Mahasiswa.getAlamat());
Mahasiswa.getAlamat();
System.out.println("Jurusan : Matematika ");
break;
case "62":
System.out.println("==== DATA MAHASISWA ====");
System.out.println("Universitas : "+Mahasiswa.getUniv());
Mahasiswa.getUniv();
System.out.println("Nama : "+Mahasiswa.getNama());
Mahasiswa.getNama();
System.out.println("NIM : "+Mahasiswa.getNim());
Mahasiswa.getNim();
System.out.println("Alamat : "+Mahasiswa.getAlamat());
Mahasiswa.getAlamat();
System.out.println("Jurusan : Biologi ");
break;
case "63":
System.out.println("==== DATA MAHASISWA ====");
System.out.println("Universitas : "+Mahasiswa.getUniv());
Mahasiswa.getUniv();
System.out.println("Nama : "+Mahasiswa.getNama());
Mahasiswa.getNama();
System.out.println("NIM : "+Mahasiswa.getNim());
Mahasiswa.getNim();
System.out.println("Alamat : "+Mahasiswa.getAlamat());
Mahasiswa.getAlamat();
System.out.println("Jurusan : Kimia ");
break;
case "64":
System.out.println("==== DATA MAHASISWA ====");
System.out.println("Universitas : "+Mahasiswa.getUniv());
Mahasiswa.getUniv();
System.out.println("Nama : "+Mahasiswa.getNama());
Mahasiswa.getNama();
System.out.println("NIM : "+Mahasiswa.getNim());
Mahasiswa.getNim();
System.out.println("Alamat : "+Mahasiswa.getAlamat());
Mahasiswa.getAlamat();
System.out.println("Jurusan : Fisika ");
break;
case "65":
System.out.println("==== DATA MAHASISWA ====");
System.out.println("Universitas : "+Mahasiswa.getUniv());
Mahasiswa.getUniv();
System.out.println("Nama : "+Mahasiswa.getNama());
Mahasiswa.getNama();
System.out.println("NIM : "+Mahasiswa.getNim());
Mahasiswa.getNim();
System.out.println("Alamat : "+Mahasiswa.getAlamat());
Mahasiswa.getAlamat();
System.out.println("Jurusan : Teknik Informatika ");
break;
case "66":
System.out.println("==== DATA MAHASISWA ====");
System.out.println("Universitas : "+Mahasiswa.getUniv());
Mahasiswa.getUniv();
System.out.println("Nama : "+Mahasiswa.getNama());
Mahasiswa.getNama();
System.out.println("NIM : "+Mahasiswa.getNim());
Mahasiswa.getNim();
System.out.println("Alamat : "+Mahasiswa.getAlamat());
Mahasiswa.getAlamat();
System.out.println("Jurusan : Sistem Informasi ");
break;
default:
System.out.println("Kode Jurusan Tidak Tersedia");
System.out.print("Silahkan Input Kembali : ");
jurusan = inputdata.nextLine();
getJurusan();
}
return jurusan;
}
}
BAB III

IMPLEMENTASI

3.1 Source Code


1. OperasiBilangan.java (superclass)
public class OperasiBilangan {

protected double a,b,c;

protected void set_A(double a){


this.a = a;
}
protected void set_B(double b){
this.b = b;
}
protected void set_C(){
//class induk
//kosong karena akan dijadikan override
}
protected double get_A(){
return this.a;
}
protected double get_B(){
return this.b;
}
protected double get_C(){
return this.c;
}
protected void tampil(){
//kosong karena akan dijadikan override
}
}

2. OperasiPenjumlahan.java(subclass)

public class OperasiPenjumlahan extends OperasiBilangan {


@Override
protected void set_C() {
this.c = this.a + this.b;
}

@Override
protected void tampil() {
System.out.println("=====================");
System.out.println("Operasi Penjumlahan :");
System.out.println("=====================");
System.out.println("Nilai A :"+this.get_A());
System.out.println("Nilai B :"+this.get_B());
System.out.println("Hasil Penjumlahan "+this.get_A()+" +
"+this.get_B()+" = "+this.get_C());
}
}

3. OperasiPengurangan.java (subclass)

public class OperasiPengurangan extends OperasiBilangan {


@Override
protected void set_C() {
this.c = this.a - this.b;
}

@Override
protected void tampil() {
System.out.println("=====================");
System.out.println("Operasi Pengurangan :");
System.out.println("=====================");
System.out.println("Nilai A : "+this.get_A());
System.out.println("Nilai B : "+this.get_B());
System.out.println("Hasil Pengurangan "+this.get_A()+" -
"+this.get_B()+" = "+this.get_C());
}
}

4. OperasiPerkalian.java (subclass)

public class OperasiPerkalian extends OperasiBilangan {


@Override
protected void set_C() {
this.c = this.a * this.b;
}

@Override
protected void tampil() {
System.out.println("=====================");
System.out.println("Operasi Perkalian :");
System.out.println("=====================");
System.out.println("Nilai A : "+this.get_A());
System.out.println("Nilai B : "+this.get_B());
System.out.println("Hasil Perkalian "+this.get_A()+" x
"+this.get_B()+" = "+this.get_C());
}
}

5. OperasiPembagian.java (subclass)

public class OperasiPembagian extends OperasiBilangan {


@Override
protected void set_C() {
this.c = this.a / this.b;
}
@Override
protected void tampil() {
System.out.println("=====================");
System.out.println("Operasi Pembagian :");
System.out.println("=====================");
System.out.println("Nilai A : "+this.get_A());
System.out.println("Nilai B : "+this.get_B());
System.out.println("Hasil Pembagian "+this.get_A()
+"/"+this.get_B()+" = "+this.get_C());
}
}

6. OperasiBilanganCetak.java (main)

public class OperasiBilanganCetak {


private static void CetakSemua(OperasiBilangan[]OB, double a,
double b){
OB[0] = new OperasiPenjumlahan();
OB[1] = new OperasiPengurangan();
OB[2] = new OperasiPerkalian();
OB[3] = new OperasiPembagian();

for (int i = 0; i < OB.length; i++) {

OB[i].set_A(a);
OB[i].set_B(b);
OB[i].set_C();
OB[i].tampil();
}
}

public static void main(String[] args) {


System.out.println("PROGRAM OPERASI BILANGAN");
OperasiBilangan[] array1 = new OperasiBilangan[4];
CetakSemua(array1, 10.5, 0.5);
}
}

3.2 Hasil
BAB III

IMPLEMENTASI

3.1 Source Code

a. OperasiBilanganAbs
abstract class OperasiBilanganAbs {

protected double a,b,c;


protected abstract void set_A(double a);
protected abstract void set_B(double b);
protected abstract void set_C();
protected abstract double get_A();
protected abstract double get_B();
protected abstract double get_C();
protected abstract void tampil();

b. OperasiPenjumlahan
public class OperasiPenjumlahan extends OperasiBilanganAbs{
@Override
protected void set_A(double a) {
this.a = a;
}

@Override
protected void set_B(double b) {
this.b = b;
}

@Override
protected void set_C() {
this.c = a + b;
}

@Override
protected double get_A() {
return a;
}

@Override
protected double get_B() {
return b;
}

@Override
protected double get_C() {
return c;
}

@Override
protected void tampil() {
System.out.println("Hasil Penjumlahan");
System.out.println(get_A()+" + "+get_B()+" = "+get_C());
}
}
c. OperasiPengurangan
public class OperasiPengurangan extends OperasiBilanganAbs{
@Override
protected void set_A(double a) {
this.a = a;
}

@Override
protected void set_B(double b) {
this.b = b;
}

@Override
protected void set_C() {
this.c = a-b;
}

@Override
protected double get_A() {
return a;
}

@Override
protected double get_B() {
return b;
}

@Override
protected double get_C() {
return c;
}
@Override
protected void tampil() {
System.out.println("Hasil Pengurangan");
System.out.println(get_A()+" - " +get_B()+" = "
+get_C());
}
}
d. OperasiPerkalian
public class OperasiPerkalian extends OperasiBilanganAbs{
@Override
protected void set_A(double a) {
this.a = a;
}

@Override
protected void set_B(double b) {
this.b = b;
}

@Override
protected void set_C() {
this.c = a*b;
}

@Override
protected double get_A() {
return a;
}

@Override
protected double get_B() {
return b;
}

@Override
protected double get_C() {
return c;
}

@Override
protected void tampil() {
System.out.println("Hasil Perkalian");
System.out.println(get_A()+ " x " +get_B()+ " = "
+get_C());
}
}

e. OperasiPembagian
public class OperasiPembagian extends OperasiBilanganAbs{
@Override
protected void set_A(double a) {
this.a = a;
}

@Override
protected void set_B(double b) {
this.b = b;
}

@Override
protected void set_C() {
this.c = a / b;
}

@Override
protected double get_A() {
return a;
}

@Override
protected double get_B() {
return b;
}

@Override
protected double get_C() {
return c;
}

@Override
protected void tampil() {
System.out.println("Hasil pembagian");
System.out.println(get_A()+ " / " +get_B()+ " = "
+get_C());
}
}
f. OperasiBilanganAbsCetak
final class OperasiBilanganAbsCetak {
private static void cetakSemua(OperasiBilanganAbs[]OB,
double a, double b){
//membuat objek dari masing2 class
OB[0] = new OperasiPenjumlahan();
OB[1] = new OperasiPengurangan();
OB[2] = new OperasiPerkalian();
OB[3] = new OperasiPembagian();

System.out.println("==========================");
System.out.println("|=== OPERASI BILANGAN ===|");
System.out.println("BILANGAN A : "+a);
System.out.println("BILANGAN B : "+b);
System.out.println("==========================");

for (int i = 0; i < OB.length; i++){


OB[i].set_A(a);
OB[i].set_B(b);
OB[i].set_C();
OB[i].tampil();
}
}

public static void main(String[] args) {


OperasiBilanganAbs[] abs = new OperasiBilanganAbs[4];
cetakSemua(abs,6.5,0.5);
}
}

3.2 Hasil

a. OperasiBilanganAbsCetak
BAB III

IMPLEMENTASI

3.1 Source Code


a. Komputer.java
public abstract class Komputer implements Mouse, Keyboard,
Printer{
abstract void hidupkan_os();
abstract void matikan_os();
}
b. Keyboard.java

public interface Keyboard {


public void tekan_enter();
}
c. Mouse.java

public interface Mouse {


public void klik_kanan();

public void klik_kiri();


}
d. Printer.java

public interface Printer {


public void cetak_data();
}
e. PC.java

public class PC extends Komputer implements


Mouse,Keyboard,Printer{

@Override
void hidupkan_os() {
System.out.println("====== PC ========");
System.out.println("Hidupkan PC");
}

@Override
void matikan_os() {
System.out.println("Matikan PC");
}

@Override
public void klik_kanan() {
System.out.println("Klik Kanan pada PC");
}

@Override
public void klik_kiri() {
System.out.println("Klik kiri pada PC");
}
@Override
public void tekan_enter() {
System.out.println("Tekan Enter pada PC");
}

@Override
public void cetak_data() {
System.out.println("Cetak data pada PC");
}

}
f. Netbook.java

public class Netbook extends Komputer implements Mouse, Keyboard,


Printer {
@Override
void hidupkan_os() {
System.out.println("====== Netbook ========");
System.out.println("Hidupkan Netbook");
}

@Override
void matikan_os() {
System.out.println("Matikan Netbook");
}

@Override
public void klik_kanan() {
System.out.println("Klik Kanan pada Netbook");
}

@Override
public void klik_kiri() {
System.out.println("Klik kiri pada Netbook");
}

@Override
public void tekan_enter() {
System.out.println("Tekan Enter pada Netbook");
}

@Override
public void cetak_data() {
System.out.println("Cetak data pada Netbook");
}

}
g. Laptoo.java

public class Laptop extends Komputer implements Mouse, Keyboard,


Printer{

@Override
void hidupkan_os() {
System.out.println("====== LAPTOP ========");
System.out.println("Hidupkan Laptop");
}
@Override
void matikan_os() {
System.out.println("Matikan Laptop");
}

@Override
public void klik_kanan() {
System.out.println("Klik Kanan pada laptop");
}

@Override
public void klik_kiri() {
System.out.println("Klik kiri pada laptop");
}

@Override
public void tekan_enter() {
System.out.println("Tekan Enter pada laptop");
}

@Override
public void cetak_data() {
System.out.println("Cetak data pada laptop");
}
}
h. KomputerCetak.java

final class KomputerCetak {

final static void cetak(Komputer[]obj){


obj[0] = new PC();
obj[1] = new Laptop();
obj[2] = new Netbook();
for (int i = 0; i < obj.length; i++){
obj[i].hidupkan_os();
obj[i].matikan_os();
obj[i].klik_kanan();
obj[i].klik_kiri();
obj[i].tekan_enter();
obj[i].cetak_data();
}
}

public static void main(String[] args) {


Komputer[] com = new Komputer[3];
cetak(com);
}

3.2 Hasil

Anda mungkin juga menyukai