Page 1
BAB1
PENDAHULUAN
Method merupakan suatu Operasi berupa Fungsi-fungsi yang dapat dikerjakan
oleh suatu Object. Method didefinisikan pada class akan tetapi di panggil melalui
Object. Contoh : Dalam class bunga kita dapat membuat method wangi bunga.
Overload Method merupakan method yang memiliki kesamaan nama (nama
yang sama) namun memiliki parameter yang berbeda .
Construktor merupakan bagian dari definisi suatu class yang berfungsi
menciptakan suatu instan dari class tersebut. Yang harus diperhatikan dalam
pembuatan suatu construktor adalah kesamaan nama baik huruf besar kecilnya
terhadap class. Dalam satu class paling tidak memiliki satu construktor, dan
diperbolehkan memiliki beberapa construktor . Jika terdapat lebih dari satu
Construktor yang memiliki kesamaan nama, namun memiliki parameter atau nilai
variabel yang berbeda disebut dengan Overload Construktor.
public class StudentRecord{
private String name;
private String address;
private int age;
private double mathGrade;
private double englishGrade;
private double scienceGrade;
private double average;
public static int studentCount;
/**
* Menghasilkan nama dari Siswa
*/
public String getName(){
1
Page 2
return name;
}
/**
* Mengubah nama siswa
*/
public void setName(String temp){
name=temp;
}
// area penulisan kode lain
/**
* Menghitung rata-rata nilai Matematika, Bahasa inggris, Ilmu
pengetahuan
*/
public double getAverage(){
double result=0;
result=(mathGrade+englishGrade+scienceGrade)/3;
return result;
}
/**
* Menghasilkan jumlah instance StudentRecord
*/
public static int getStudentCount(){
return studentCount;
}
}
2
Page 3
Hasilnya:
Analisa
Saat program di eksekusi bhawa terjadi error karana tidak adanya void main kenapa
tidak ada void karna void main sendiri tidak akan di gunakan oleh program ini .
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();
//Memberi nama siswa
annaRecord.setName("Anna");
beahRecord.setName("Beah");
3
Page 4
crisRecord.setName("Cris");
//Menampilkan nama siswa "Anna"
System.out.println(annaRecord.getName());
//Menampilkan nama siswa "Beah"
System.out.println(beahRecord.getName());
//Menampilkan nama siswa "Cris"
System.out.println(crisRecord.getName());
//menampilkan jumlah siswa
System.out.println("Count="+StudentRecord.getStudentCount());
}
}
Hasilnya
4
Page 5
Analisa
Saat program di eksekusi maka yang tampil adalah anna,beah,dan cris ini di
akibatkan oleh bahawa StudentRecordExample.java ini memanggil method yang ada
di StudentExample.java maka dengan itu maka yang tampil adalah anna beah dan cris
untuk kenapa count = kosong untuk mengisi count kita harus mengisi konstruktor
yang di perlukan
public class StudentRecord{
private String name;
private String address;
private int age;
private double mathGrade;
private double englishGrade;
private double scienceGrade;
private double average;
public static int studentCount;
public StudentRecord(){ //constructor default
studentCount++;
}
public StudentRecord(String temp){
this.name=temp;
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++;
}
5
Page 6
public String getName(){
return name;
}
public void setName(String temp){
name=temp;
}
public String getAddress(){
return address;
}
public void setAddress(String temp){
address=temp;
}
public int getAge(){
return age;
}
public void setAge(int temp){
age=temp;
}
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 double getEnglishGrade(){
return englishGrade;
}
public void setEnglishgrade(double englishGrade){
this.englishGrade=englishGrade;
6
Page 7
}
public double getMathGrade(){
return mathGrade;
}
public void setMathGrade(double mathGrade){
this.mathGrade=mathGrade;
}
public double getScienceGrade(){
return scienceGrade;
}
public void setSGrade(double scienceGrade){
this.scienceGrade=scienceGrade;
}
}
Hasilnya
7
Page 8
Analisa
Saat di lakukan compile dengan printah javac yang ada terjadi error karna tidak ada
void main dan main class dalam source code nya untuk meng fix nya kita akan
membuat program yang memanggil method dari StudentRecord.java ini.
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
StudentRecord recordAnna=new StudentRecord("Candra");
StudentRecord recordBeah=new StudentRecord("Bagus","Malang");
StudentRecord recordCris=new StudentRecord(80,90,100);
//Memberi nama siswa
annaRecord.setName("Anna");
beahRecord.setName("Beah");
crisRecord.setName("Cris");
//Menampilkan nama siswa "Anna"
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);
anna2Record.setScienceGrade(100);
8
Page 9
//overload method
anna2Record.print(anna2Record.getName());
anna2Record.getEnglishGrade();
anna2Record.getMathGrade();
anna2Record.getScienceGrade();
recordAnna.print(recordAnna.getName());
}
}
Hasilnya
Analisa
Saat di compile dan di jalankan maka akan tampil seperti di atas saat di eksekusi si
program memanggil beberapa method yang ada di StudentRecord.java .package schoolClasses;
public class StudentRecord1{
private String name;
private String address;
private int age;
}
9
Page 10
Hasilnya
Analisa
Program dapat di compile tanpa error tapi saat di running program menjadi tidak bisa
berjalan dan program ini tidak dapat memanggil program yang sudah ada .
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;
}
10
Page 11
Hasilnya
Analisa
Di compile bisa tapi tidak bisa di jalankan karetan tidak ada nya void main dalam
program inti maka program tidak bisa berjalan semestinya .
public class PublicElevatorTest{
public static void main(String[]args){
PublicElevator pubElevator=new PublicElevator();
pubElevator.bukaPintu=true; //penumpang masuk
pubElevator.bukaPintu=false; //pintu ditutup
//pergi ke lantai 0 dibawah gedung
pubElevator.lantaiSkrg--;
pubElevator.lantaiSkrg++;
11
Page 12
//lompat ke lantai 7(hanya ada 5 lantai dalam gedung)
pubElevator.lantaiSkrg=7;
pubElevator.bukaPintu=true; //penumpang masuk/keluar
pubElevator.bukaPintu=false;
pubElevator.lantaiSkrg=1; //menuju lantai pertama
pubElevator.bukaPintu=true; //penumpang masuk/keluar
pubElevator.lantaiSkrg++; //elevator bergerak tanpa menutup pintu
pubElevator.bukaPintu=false;
pubElevator.lantaiSkrg--;
pubElevator.lantaiSkrg--;
}
}
Hasilnya
12
Page 13
Analisa
Saat di compile program dapat dapat di compile dengan baik tapi saat di running
program tidak menampilkan apa – apa tidak ada pesan error atau apapun maka dapat
di simpulkan program bisa di compile tapi tidak bisa di running
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;
}
Hasilnya
13
Page 14
Analisa
Dalam source code dari PrivateElevator.java ada varibale yang bersifat private di
mana varibale itu akan di panngil program selanjut nya
public class PrivateElevator1Test{
public static void main(String[]args){
PrivateElevator1 privElevator=new PrivateElevator1();
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 dalam gedung)
privElevator.lantaiSkrg=7;
privElevator.bukaPintu=true; //penumpang masuk/keluar
privElevator.bukaPintu=false;
privElevator.lantaiSkrg=1; //menuju lantai pertama
privElevator.bukaPintu=true; //penumpang masuk/keluar
privElevator.lantaiSkrg++; //elevator bergerak tanpa menutup pintu
privElevator.bukaPintu=false;
privElevator.lantaiSkrg--;
privElevator.lantaiSkrg--;
}
}
Hasilnya
Analisa
Source code dapat di compile tapi tidak bisa di running padahal di dalam source code
tersbut ada perinntah untuk memanggil kelas method dari program yang kita tadi buat
.
14
Page 15
public class PrivateShirt1{
private int idBaju=0; //ID default untuk baju
private String keterangan="-Keterangan Diperlukan-"; //default
//Kode warna R=Merah, G=Hijau, B=Biru, U=Tidak Ditentukan
private char kodeWarna='U';
private double harga=0.0; //Harga default untuk semua barang
private int jmlStok=0; //Default untuk jumlah barang
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 abc){
keterangan=abc;
}
}
Hasilnya
Analisa
15
Page 16
Dalam source code nya ada beberapa variabel yang bertipe private dan jumlahnya ada
5 ke lima variable yang bersifat private ini akan di panngil oleh program selnajut nya
dan program ini tidak bisa di running tanpa ada nya program inti.//Program VII-11. PrivateShirt1Test.java
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 mengisi sebuah kodeWarna yang valid
System.out.println("Kode Warna: " +kodeWarna);
// Mengisi kode warna yang salah
privShirt.setKodeWarna('Z');
kodeWarna=privShirt.getKodeWarna();
// Kelas PrivateShirt1Test bisa mengisi sebuah kodeWarna yang salah
System.out.println("Kode Warna: " +kodeWarna);
}
}
Hasilnya
Analisa
Saat di compile yag tampil adalah kode warna r dan z program ini memanggil kelas
tertentu yang ada di program privateshirt1.java yang memiliki 5 varibale yang
bersifat prvate.
public class PrivateShirt2{
private int idBaju=0; //ID default untuk baju
private String keterangan="-Keterangan Diperlukan-"; //default
//Kode warna R=Merah, G=Hijau, B=Biru, U=Tidak Ditentukan
16
Page 17
private char kodeWarna='U';
private double harga=0.0; //Harga default untuk semua barang
private int jmlStok=0; //Default untuk jumlah barang
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 abc){
keterangan=abc;
}
}
Hasilnya
17
Page 18
Analisa
Saat di compile tidak erjadi error tapi tidak bsa di running dan muncul bahwa
program ini membutuhkan sebuah class untuk bisa run seperti biasa
public class PrivateShirt2Test{
public static void main(String[]args){
PrivateShirt2 privShirt=new PrivateShirt2();
char kodeWarna;
// Mengisi kode warna yang valid
privShirt.setKodeWarna('R');
kodeWarna=privShirt.getKodeWarna();
// Kelas PrivateShirt2Test bisa mengisi sebuah kodeWarna yang valid
System.out.println("Kode Warna: " +kodeWarna);
// Mengisi kode warna yang salah
privShirt.setKodeWarna('Z');
kodeWarna=privShirt.getKodeWarna();
// Kelas PrivateShirt2Test bisa mengisi sebuah kodeWarna yang salah
// Kode warna masih R
System.out.println("Kode Warna: " +kodeWarna);
}
}
Hasilnya
Analisa
Saat program berjalan maka program yang tampil ada gambar di atas dalam program
ini bahwa progra ini memanggil method class yang kita buat tadi agar bisa berjalan
dengan lancar
18
Page 19
BAB II
LATIHAN
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;
/**
* menghasilkan nama dari siswa
*/
public String getName(){
return name;
}
/**
* mengubah nama siswa
*/
public void setName(String temp){
name = temp;
}
//area penulisan kode lain
/**
19
Page 20
* menghitung rata - rata nilai matematik, bahasa inggris,* *
ilmu pasti
*/
public double getAverage(){
double result = 0;
result = (mathGrade+englishGrade+scienceGrade)/3;
return result;
}
/**
* menghasilkan jumlah instance StudentRecord
*/
public static int getStudentCount(){
return studentCount;
}
public StudentRecord(){ //construktor default
studentCount++;
}
public StudentRecord(String temp){
this.name = temp;
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;
20
Page 21
scienceGrade = sGrade;
studentCount++;
}
}
Hasilnya
public class StudentRecordExample{
public static void main(String[] args){
//membuat 3 objek StudentRecord
StudentRecord annaRecord = new StudentRecord();
StudentRecord beahRecord = new StudentRecord();
StudentRecord crisRecord = new StudentRecord();
//memberi nama siswa
annaRecord.setName("Anna");
beahRecord.setName("Beah");
crisRecord.setName("cris");
//memnampilkan nama siswa "Anna"
System.out.println(annaRecord.getName());
System.out.println(beahRecord.getName());
System.out.println(crisRecord.getName());
//menampilkan jumlah siswa
System.out.println("count= " +StudentRecord.getStudentCount());
}
}
Hasilnya
21
Page 22
public class PrivateTugasAkhir1{
private String name = "-HANDOKO MUJI PRABOWO-";
private String address = "-Blok Sinarjaya-";
private long telephoneNumber = 1111;
private String email = "[email protected] ";
public String getName(){
return name;
}
public void setName(String nama){
name=nama;
}
public String getAddress(){
return address;
}
public void setAddress(String alamat){
address=alamat;
}
public long getTelephoneNumber(){
return telephoneNumber;
}
public void setTelephoneNumber(long abc){
telephoneNumber=abc;
}
public String getEmail(){
return email;
}
public void setEmail(String pesan){
email=pesan;
}
public static void main(String[]args){
PrivateTugasAkhir1 privTA=new PrivateTugasAkhir1();
22
Page 23
String name;
String address;
long telephoneNumber;
String email;
//Mengisi nama
privTA.setName("Handoko Muji Prabowo");
name=privTA.getName();
//Kelas PrivateTugasAkhir1 bisa mengisi sebuah nama yang valid
System.out.println("Nama: " +name);
//Mengisi alamat
privTA.setAddress("Blok sinarjaya");
address=privTA.getAddress();
//Kelas PrivateTugasAkhir1 bisa mengisi sebuah alamat yang valid
System.out.println("Alamat: " +address);
//Mengisi nomer telepon
privTA.setTelephoneNumber(1111);
telephoneNumber=privTA.getTelephoneNumber();
//Kelas PrivateTugasAkhir1 bisa mengisi sebuah nomer telepon yang
valid
System.out.println("Nomor Telepon: " +telephoneNumber);
//Mengisi email
privTA.setEmail("[email protected] ");
email=privTA.getEmail();
//Kelas PrivateTugasAkhir1 bisa mengisi sebuah email yang valid
System.out.println("Email: " +email);
}
}
Hasilnya
23
Page 25
BAB III
KESIMPULAN
Dalam modul 7 dapat di simpulkan bahwa penggunaan this,overload
method,package,dan akses modifier sangat membantu dalam membentuk program
yang komplek dalam java ini
25
Page 26
DAFTAR PUSTAKA
http://iputipoet.blogspot.jp/2012/10/penggunaan-overload-method-dan.html
26