Professional Documents
Culture Documents
Aditya Nugraha - Modul 8 - Prak PO1
Aditya Nugraha - Modul 8 - Prak PO1
Aditya Nugraha - Modul 8 - Prak PO1
PEMOGRAMAN OBJEK 1
MODUL 8
MEMBUAT KELAS
Disusun oleh :
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
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
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.
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