Aditya Nugraha - Modul 8 - Prak PO1

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 19

LAPORAN PRAKTIKUM

PEMOGRAMAN OBJEK 1
MODUL 8
MEMBUAT KELAS

Disusun oleh :

ADITYA NUGRAHA 3411191124

PROGRAM STUDI INFORMATIKA


FAKULTAS SAINS DAN INFORMATIKA
UNIVERSITAS JENDERAL ACHMAD YANI
2022
DAFTAR ISI
DAFTAR ISI...................................................................................................................................................2
BAB I............................................................................................................................................................3
HASIL & TUGAS PRAKTIKUM........................................................................................................................3
1.Program VIII-1.......................................................................................................................................3
 Hasil.............................................................................................................................................4
 Analisa.........................................................................................................................................4
2. program VIII-2......................................................................................................................................5
 Hasil.............................................................................................................................................5
 Analisis.........................................................................................................................................6
3.Program VIII-3.......................................................................................................................................6
 Hasil.............................................................................................................................................7
 Analisa.........................................................................................................................................7
4. Program VIII-4......................................................................................................................................8
 Hasil.............................................................................................................................................8
 Analisa.........................................................................................................................................9
5.Program VIII-5.......................................................................................................................................9
 Hasil.............................................................................................................................................9
 Analisa.........................................................................................................................................9
6.Program VIII-6.....................................................................................................................................10
 Hasil...........................................................................................................................................10
 Analisis.......................................................................................................................................10
7.Program VIII-7.....................................................................................................................................10
 Hasil...........................................................................................................................................11
 Analisis.......................................................................................................................................11
8.Program VIII-8.....................................................................................................................................11
 Hasil...........................................................................................................................................11
 Analisis.......................................................................................................................................12
9. Program VIII-9....................................................................................................................................12
 Hasil...........................................................................................................................................12
 Analisa.......................................................................................................................................13
10.Program VIII-10.................................................................................................................................13
 Hasil...........................................................................................................................................13
 Analisa.......................................................................................................................................13
11.Program VIII-11.................................................................................................................................14
 Analisa.......................................................................................................................................14
12. Program VIII-12................................................................................................................................14
 Hasil...........................................................................................................................................15
 Analisi........................................................................................................................................15
13. Program VIII-13................................................................................................................................15
 Hasil...........................................................................................................................................16
 Analisis.......................................................................................................................................16
BAB II KESIMPULAN...................................................................................................................................17
BAB I
HASIL & TUGAS PRAKTIKUM
1.Program VIII-1
 SOURCE CODE
public class StudentRecord{
private String name;
private String address;
private int age;
private double mathGrade;
private double englishGrade;
private double scienceGrade;
private double average;
private static int studentCount;
public StudentRecord(){ //constuctor default
studentCount++;
}
public StudentRecord(String temp){
this.name = name;
studentCount++;
}
public StudentRecord(String name, String Address){
this.name = name;
this.address = Address;
studentCount++;
}
publicStudentRecord(doublemGrade,doubleeGrade,double sGrade){
mathGrade=mGrade;
englishGrade=eGrade;
scienceGrade=sGrade;
studentCount++;
}
public String getName(){
return name;
}
public void setName(String temp){
name = temp;
}
public String getAddress( String temp ){
return address;
}
public void setAddress(String temp){
address = temp;
}
public int getAge(){
return age;
}
public void setAge(int temp){
age = temp;
}
/**
*menghitung rata- rata nilai matematika, bahasaindonesia, ilmu pengetahuan*/
public double getAverage(){
double result = 0;
result = (mathGrade+englishGrade+scienceGrade)/3;
return result;
}
public static int getStudentRecord(){
return studentCount;
}
public void print(String temp){
System.out.println("Name : " +name);
System.out.println("Address : " +address);
System.out.println("Age : " +age);
}
public void print(double eGrade, double mGrade, doublesGrade){
System.out.println("Math Grade : " +mGrade);
System.out.println("English Grade : " +eGrade);
System.out.println("Science Grade : " +sGrade);
}
public double getEnglishGrade(){
return englishGrade;
}
public void setEnglishGrade(double englishGrade){
this.englishGrade=englishGrade;
}
public double getMathGrade(){
return mathGrade;
}
public void setMathGrade(double mathGrade){
this.mathGrade= mathGrade;
}
public double getScienceGrade(){
return scienceGrade;
}
public void setScienceGrade(double scienceGrade){
this.scienceGrade = scienceGrade;
}
}
 Hasil

 Analisa

Program VIII-1 ini adalah program VII-9A yang dilengkapi lagi programnya,tidak ada
error, namun tidak bisa dijalankan programnya karena tidak adanyamain method class,
hanya ada kumpulan dari class-class.Lalu, program iniditambahkan lagi 4 konstruktor ()
yang isinya counterpublic StudentRecordagar mengetahui berapa jumlah objek yang telah
tercipta dan merupakanmethod juga, namun namanya sama dengan kelas (overloading
konstruktor)yang terjadi ketika mendeklarasikan nama method yang sama
namunsyaratnyaharus memiliki jumlah parameter yang berbeda. Danprogram inidibuat
untuk menghitung rata- rata nilai matematika, bahasa indonesia, ilmupengetahuan.

2. program VIII-2
 Source code
public class StudentRecordExample{
public static void main (String[] args){
//membuat 3 object studentRecord
StudentRecord annaRecord = new StudentRecord();
StudentRecord beahRecord = new StudentRecord();
StudentRecord crisRecord = new StudentRecord();
//versi baru yang telah ditambahkan
StudentRecord s1 = new StudentRecord("Indri");
StudentRecord s2 = new StudentRecord("Febriana","Bandung");
StudentRecord s3 = new StudentRecord(85,98,100);
//memberi nama siswa
annaRecord.setName("Anna");
beahRecord.setName("Beah");
crisRecord.setName("Cris");
//menampilkan nama siswa
System.out.println(annaRecord.getName());
//menampilkan jumlah siswa
System.out.println("Count="+StudentRecord.getStudentRecord());
StudentRecord anna2Record = new StudentRecord();
anna2Record.setName("Anna");
anna2Record.setAddress("Philipina");
anna2Record.setAge(15);
anna2Record.setMathGrade(80);
anna2Record.setEnglishGrade(95.5);
anna2Record.setScienceGrade(100);
//overload method
anna2Record.print(anna2Record.getName());
anna2Record.print(anna2Record.getEnglishGrade(),anna2Record.getMathGrade
(),anna2Record.getScienceGrade());
anna2Record.print(anna2Record.getName());
}
}
 Hasil
 Analisis

Dalam program VIII-2 ini, dibuat 3 objek class StudentRecordnya yang berisiAnna,
Beah, dan Cris. Lalu ditambahkan properti yang berisi nama yangsama, parameter yang
berbeda, dan nilai kembalian (return) bisa samaataupun berbeda untuk overloaded
methodnya. Yang nantinya akanmenghasilnya output 2 panggilan.

3.Program VIII-3
 Source code
public class StudentRecord{
private String name;
private String address;
private int age;
private double mathGrade;
private double englishGrade;
private double scienceGrade;
private double average;
private static int studentCount;
public StudentRecord(){ //constuctor default
studentCount++;
}
public StudentRecord(String temp){
this.name = name;
studentCount++;
}
public StudentRecord(String name, String Address){
this.name = name;
this.address = Address;
studentCount++;
}
public StudentRecord(double mGrade, double eGrade,double sGrade){
mathGrade=mGrade;
englishGrade=eGrade;
scienceGrade=sGrade;
studentCount++;
}
public String getName(){
return name;
}
public void setName(String temp){
name = temp;
}
public String getAddress( String temp ){
return address;
}
public void setAddress(String temp){
address = temp;
}
public int getAge(){
return age;
}
public void setAge(int temp){
age = temp;
}
/***meghitung rata- rata nilai matematika, bahasaindonesia, ilmu
pengetahuan*/
public double getAverage(){
double result = 0;
result = (mathGrade+englishGrade+scienceGrade)/3;
return result;
}
public static int getStudentRecord(){
return studentCount;
}
public void print(String temp){
System.out.println("Name : " +name);
System.out.println("Address : " +address);
System.out.println("Age : " +age);
}
public void print(double eGrade, double mGrade, double sGrade){
System.out.println("Math Grade : " +mGrade);
System.out.println("English Grade : " +eGrade);
System.out.println("Science Grade : " +sGrade);
}
public double getEnglishGrade(){
return englishGrade;
}
public void setEnglishGrade(double englishGrade){
this.englishGrade=englishGrade;
}
public double getMathGrade(){
return mathGrade;
}
public void setMathGrade(double mathGrade){
this.mathGrade= mathGrade;
}
public double getScienceGrade(){
return scienceGrade;
}
public void setScienceGrade(double scienceGrade){
this.scienceGrade = scienceGrade;
}
}

 Hasil

 Analisa

Pada Program Tugas VIII-3 ini, saat dieksekusi terjadi error karena tidakadanya void
main/ main method yang digunakan dalam program ini atauhanya terdapat kumpulan
class-class.Serta dilengkapi dengan 3 konstruktoryang berisi nama, alamat, dan umur
siswa. Juga dilengkapi dengan methodgetter dan setter pada address hingga average
semua variabel privatenya.Serta ditambahkan method lagi untuk menghitung total nilai
siswa yang telahdimasukkan tersebut.

4. Program VIII-4
 Source code
public class StudentRecordExample{
public static void main (String[] args){
//membuat 3 object studentRecord
StudentRecord annaRecord = new StudentRecord();
StudentRecord beahRecord = new StudentRecord();
StudentRecord crisRecord = new StudentRecord();
//versi baru yang telah ditambahkan
StudentRecord s1 = new StudentRecord("Aditya");
StudentRecord s2 = new
StudentRecord("Nugraha","Cimahi");
StudentRecord s3 = new StudentRecord(85,98,100);
//memberi nama siswa
annaRecord.setName("Anna");
beahRecord.setName("Beah");
crisRecord.setName("Cris");
//menampilkan nama siswa
System.out.println(annaRecord.getName());
//menampilkan jumlah siswa
System.out.println("Count="+StudentRecord.getStudentRecord());
StudentRecord anna2Record = new StudentRecord();
anna2Record.setName("Anna");
anna2Record.setAddress("Philipina");
anna2Record.setAge(15);
anna2Record.setMathGrade(80);
anna2Record.setEnglishGrade(95.5);
anna2Record.setScienceGrade(100);
//overload method
anna2Record.print(anna2Record.getName());
anna2Record.print(anna2Record.getEnglishGrade(),anna2Record.getMathGrade
(),anna2Record.getScienceGrade());
anna2Record.print(anna2Record.getName());
}
}

 Hasil

 Analisa

Pada Program VIII-4 ini merupakan objek/ main method dari program VIII-3yang telah
dilengkapi syntaxnya. Program Tugas VIII-4 juga ditambahkankonstruktor data diri
penulis, menambahkan variabel yang berfungsi untukmenyatakan jenis kelamin. Dan
Program ini juga berisi data diri dari siswayang telah dimasukkan, yang nantinya akan di
tampilkan hasilnya (nilainyasebelumnya telah di hitung terlebih dahulu di Program Tugas
VIII-3).

5.Program VIII-5
 Source code
package schoolClasses;
public class StudentRecords{
private String name;
private String address;
private int age;}

 Hasil
 Analisa

Pada Program VIII-5 ini, membuat package dimana class StudentRecordakan


ditempatkanbersamadengan class - class yanglaindengannamapackage
schoolClasses.Langkah pertamayangharusdilakukan adalahmembuatfolder
dengannamaschoolClasses.Salinseluruh class yangingindiletakkanpada package
dalamfolderini. Kemudiantambahkankode deklarasi package pada awal file. Package
jugadapatdibuatsecarabersarang.Dalamhalini,Java
Interpretermenghendakistrukturdirektoriyangmengandung class eksekusi untuk
disesuaikandengan struktur package.

6.Program VIII-6
 Source code
public class PublicElevator{
public boolean bukaPintu= false;
public int lantaiSkrg=1;
public int berat = 0;
public final int KAPASITAS = 1000;
public final int LANTAI_ATAS = 5;
public final int LANTAI_BAWAH = 1;
}

 Hasil

 Analisis

Pada Program VIII-6 ini, error karena tidak memiliki main method class di dalamnya.
Program ini jugamenggunakan class Yang dideklarasikan sebagai final ().public
finalKetika suatu class dideklarasikan sebagai final maka class tersebut tidak
bisaditurunkan. Misalnya pada package java.lang di library Java bisa dilihat, jikaclass
integer dan boolean adalah class final.
7.Program VIII-7
 Source code
public class PublicElevatorTest{
public static void main(String args[]){
PublicElevator pubElevator = new PublicElevator();
pubElevator.bukaPintu = true; //penumpang masuk
pubElevator.bukaPintu = false; //pintu ditutup
//pergi kelantai 0 dibawah gedung
pubElevator.lantaiSkrg--;
pubElevator.lantaiSkrg++;
//lompat ke lantai 7 (hanya ada 5 lantai dalamgedung)
pubElevator.lantaiSkrg = 7;
pubElevator.bukaPintu = true; //penumpangmasuk / keluar
pubElevator.bukaPintu = false;
pubElevator.lantaiSkrg = 1; //menuju lantaipertama
pubElevator.bukaPintu = true; //penumpang masuk / keluar
pubElevator.lantaiSkrg++; //elevator bergeraktanpa menutup pintu
pubElevator.bukaPintu = false;
pubElevator.lantaiSkrg--;
pubElevator.lantaiSkrg--;
}
}

 Hasil

 Analisis

Pada Program VIII-7 ini, merupakan main method dari program VIII-6 yanghanya berisi
class-class untuk memproses lift tersebut naik/ turun dan kapanharus terbuka/tertutup.

8.Program VIII-8
 Source code
public class PrivateElevator1{
private boolean bukaPintu = false;
private int lantaiSkrg = 1;
private int berat = 0;
private final int KAPASITAS = 1000;
private final int LANTAI_ATAS = 5;
private final int LANTAI_BAWAH = 1;
}

 Hasil

 Analisis

Pada program VIII-8 ini, tidak ada error saat decompile, namun tidak bisadijalankan
karena tidak adanya main method di dalam program ini. Programini menggunakan
keyword final untuk menjadikan nilai suatu attribute, dantidak dapat diubah lagi,
sehingga dapat menggunakannya sebagai suatukonstanta.

9. Program VIII-9
 Source code
public class PrivateElevator1Test {
public static void main(String[] args) {
PrivateElevator privElevator = new PrivateElevator();
privElevator.bukaPintu = true; //penumpang masuk
privElevator.bukaPintu = false; //pintu ditutup
// pergi ke lantai 0 dibawah gedung
privElevator.lantaiSkrg--;
privElevator.lantaiSkrg++;
//lompat ke lantai 7 (hanya ada 5 lantai dalamgedung)
privElevator.lantaiSkrg=7;
privElevator.bukaPintu = true; //penumpangmasuk/keluar
privElevator.bukaPintu = false;
privElevator.lantaiSkrg = 1; //menuju lantaipertama
privElevator.bukaPintu = true; //penumpang masukatau keluar
privElevator.lantaiSkrg++; //elevator bergerak tanpa menutup pintu
privElevator.bukaPintu = false;
privElevator.lantaiSkrg--;
privElevator.lantaiSkrg--;
}
}

 Hasil
 Analisa

Pada Program VIII-9 ini, merupakan main method dari program VIII-6 yanghanya berisi
class-class untuk memproses lift tersebut naik/ turun dan kapanharus terbuka/tertutup,
tidak ada hasil keluarannya.

10.Program VIII-10
 Source code
public class PrivateShirt1{
private int idBaju = 01; //ID default untuk baju
private String keterangan = "-KeteranganDiperlukan-";
//default Kode warna R=Merah, G=Hijau, B=Biru,U=Tidak Ditentukan
private char kodeWarna = 'U';
private double harga = 20000; //Harga deafultuntuk semua barang
private int jmlStok = 25;
public char getKodeWarna(){
return kodeWarna;
}
public void setKodeWarna(char kode){
kodeWarna = kode;
}
public int getIDBaju(){
return idBaju;
}
public void setIDBaju(int ID){
idBaju = ID;
}
public String getKeterangan(){
return keterangan;
}
public void setKeterangan(String Ket){
keterangan = Ket;
}
}
 Hasil

 Analisa

Pada program VIII-10 ini, program dapat dicompile tanpa error, namun saatdirunning
menggunakan java, program menjadi tidak bisa berjalan karenatidak memiliki main
method di dalam programnya. Dan hanya berisikonstruktor dan class yang akan
digunakan pada program main method VIII-11 nanti.

11.Program VIII-11
 Source code
public class PrivateShirt1Test{
public static void main (String[] args){
PrivateShirt1 privShirt = new PrivateShirt1();
char kodeWarna;
//Mengisi kode warna yang valid
privShirt.setKodeWarna('R');
kodeWarna = privShirt.getKodeWarna();
//Kelas PrivateShirt1Test bisa mengisisebuah kodeWarna yang valid
System.out.println("KodeWarna:"+kodeWarna);
//Mengisi kode warna yang salah
privShirt.setKodeWarna('Z');
kodeWarna = privShirt.getKodeWarna();
//Kelas Private bisa mengisi sebuahkodeWarna yang salah
System.out.println("KodeWarna:"+kodeWarna);
}
}

 Analisa

Pada program VIII-11 ini,adalah main method dari Program VIII-10 yangberisi
parameter untuk kode warna baju menggunakan kelasagar bisa mengisi kodewarna yang
valid, sedangkanprivateshirt1testkelasuntuk mengisi kodewarna yang salah. Lalu
mencetaknyaprivatedengan perintahditambah objek dari
parametersystem.out.printlntersebut

12. Program VIII-12


 Source code
public class PrivateShirt2{
private int idBaju = 0;
private String keterangan = "-Keterangan Diperlukan-";
private char kodeWarna = 'U';
private double harga = 0.0;
private int jmlStok = 0;
public char getKodeWarna(){
return kodeWarna;
}
public void setKodeWarna(char kode){
switch(kode){
case 'R':
case 'G':
case 'B':
kodeWarna = kode;
break;
default:
System.out.println("kodeWarna salah,gunakan R, G, atau B");
}
}
public int getIDBaju(){
return idBaju;
}
public void setIDBaju(int ID){
idBaju = ID;
}
public String getKeterangan(){
return keterangan;
}
public void setKeterangan(String Ket){
keterangan = Ket;
}
}

 Hasil

 Analisi

Pada program VIII-12 ini, program dapat dicompile tanpa error, namun saatdirunning
menggunakan java, program menjadi tidak bisa berjalan karenatidak memiliki main
method di dalam programnya. Pada program ini, jikauser menginputkan kode warna yang
salah, maka program akanmengeluarkan peringatan "Kode salah, gunakan R, G, atau B".
Dan hanyaberisi konstruktor dan class yang akan digunakan pada program main
methodVIII-13 nanti. Program ini menggunakan method accessor dan mutator.

13. Program VIII-13


 Source code
public class PrivateShirt2Test{
public static void main(String [] args){
PrivateShirt2 privShirt = new PrivateShirt2();
char kodeWarna;
privShirt.setKodeWarna('R');
kodeWarna = privShirt.getKodeWarna();
System.out.println("Kode Warna: " +kodeWarna);
privShirt.setKodeWarna('Z');
kodeWarna = privShirt.getKodeWarna();
System.out.println("Kode Warna: " +kodeWarna);
}
}

 Hasil

 Analisis

Pada program VIII-13 ini,adalah main method dari Program VIII-12 yangberisi
parameter untuk kode warna baju. Lalu mencetaknya dengan perintahditambah objek dari
parameter tersebut. Kode warnasystem.out.printlnyang salah tidak akan disimpan di
dalam program, namun program hanyaakan menampilkan kode warna yang pertama
diinputkan saja.
BAB II KESIMPULAN

Pada Modul Praktikum ke - 8 ini, penulis telah tentang membuat kelas.


Yaitutermasuk membuat kelas program sendiri, membuat konstruktor,
menggunakanreferensi this untuk mengakses instance variable, mengetahui ap aitu
Overloadingmethod dan mencoba mengaplikasikannya pada program, membuat suatu
paketdan melakukan import kelas dari paket lainnya. Maka dari itu, tujuan
dibuatnyamodul ini telah tercapai dengan baik.

You might also like