Basic Java Application Developer 
Rudi Hartono 
Comlabs USDI ITB 
Sesi 5 
Erwin Ginanjar 
Comlabs USDI ITB 
Sesi 5 - Java Application Developer
Objektif 
1. Mengerti dan familiar dengan bahasa 
pemrograman Java 
2. Memahami konsep pemrograman 
berorientasi objek 
3. Mampu menggunakan Integrated 
Development Environment Netbeans 
4. Mampu membangun program aplikasi 
desktop berbasis GUI Java 
Sesi 5 - Java Application Developer
Timeline Pelatihan 
Sesi 
1 2 3 4 5 6 7 8 9 10 
Sesi 5 - Java Application Developer
Timeline Pelatihan 
Sesi 
1 2 3 4 5 6 7 8 9 10 
Sesi 5 - Java Application Developer
Sesi 5 
Lesson 6 : Pemograman Berorientasi Objek I 
• Kasus : Kelas Mahasiswa 
• Duplikasi Obyek: Copy Reference 
• Kesamaan Obyek: Atribut dan Method Static 
• Kasus: Kelas Tabungan 
Lesson 7 : Lanj PBO I 
• Inheritance: Penurunan Sifat 
• Polymorphism 
• Kelas dan Method Abstrak 
• Inteface: Kelas Antarmuka 
Sesi 5 - Java Application Developer
Kasus: Kelas Mahasiswa 
Kelas: 
Mahasiswa, DriverMahasiswa 
Atribut: 
Nama, NIM, TempatLahir, TanggalLahir, Fakultas, Nilai 
Method: 
set_nama, get_name, set_tempat_lahir, 
get_tempat_lahir, set_tanggal_lahir, 
get_tanggal_lahir,set_fakultas, get_fakultas,set_nilai, 
get_nilai,display_data_mahasiswa 
Sesi 5 - Java Application Developer
Duplikasi Obyek: Copy Reference 
Sesi 5 - Java Application Developer
public class DriverMahasiswa{ 
public static void main(String args[]){ 
Mahasiswa M1 = new Mahasiswa("Rudi","1001128","Bandung","07- 
07-1992","FPMIPA",90); 
M1.display_data_mahasiswa(); 
//copy by reference 
Mahasiswa M2 = M1; 
M2.set_nama("Erwin"); 
M2.set_tempat_lahir("Purweredjo"); 
M2.set_tanggal_lahir("18-09-1988"); 
M1.display_data_mahasiswa(); 
M2.display_data_mahasiswa(); 
} 
} 
Sesi 5 - Java Application Developer
public class DriverMahasiswa{ 
public static void main(String args[]){ 
Mahasiswa M1 = new Mahasiswa("Rudi","1001128","Bandung","07-07- 
1992","FPMIPA",90); 
M1.display_data_mahasiswa(); 
//copy by reference 
Mahasiswa M2 = M1; 
M2.set_nama("Erwin"); 
M2.set_tempat_lahir("Purweredjo"); 
M2.set_tanggal_lahir("18-09-1988"); 
//copy by value 
Mahasiswa M3 = new Mahasiswa(); 
M3.copy_by_value("Riza","120007","Ciamis","30-12-1994",M1.get_fakultas(),80); 
M1.display_data_mahasiswa(); 
M2.display_data_mahasiswa(); 
M3.display_data_mahasiswa(); 
} 
} 
Sesi 5 - Java Application Developer
Kesamaan Obyek: Atribut dan Method 
Static 
Sesi 5 - Java Application Developer
public class StaticTest{ 
private static int atr1 = 1; 
public static int atr2 = 2; 
private int atr3 = 2; 
public static void write_static(){ 
System.out.println("Method Static"); 
} 
public void write_non_static(){ 
System.out.println("Bukan Method Static"); 
} 
public static void a(){ 
System.out.println("atr1 = " + StaticTest.atr1); 
System.out.println("atr1 = " + StaticTest.atr2); 
//nilai berikut akan error 
//method static tidak boleh mengakses atribut non-static 
//System.out.println("atr1 = " + this.atr1); 
} 
public void b(){ 
System.out.println("Method non-static"); 
System.out.println("atr1 = "+ this.atr1); 
System.out.println("atr2 = "+ this.atr2); 
System.out.println("atr3 = "+ this.atr3); 
} 
} Sesi 5 - Java Application Developer
public class DriverStaticTest{ 
public static void main(String[] args){ 
System.out.println(StaticTest.atr2); 
//baris perintah berikut tidak dianjurkan 
//StaticTest.atr2 = -2; 
StaticTest.write_static(); 
StaticTest.a(); 
StaticTest st = new StaticTest(); 
st.write_non_static(); 
st.b(); 
//perintah berikut tidak error, namun tidak dianjurkan 
//System.out.println(ST.atr2); 
//st.write_static(); 
} 
} 
Sesi 5 - Java Application Developer
Latihan: Kasus Kelas Tabungan 
Kelas: 
Tabungan, DriverTabungan 
Atribut 
Nama, NomorRekening, 
BiayaAdministrasi,SaldoAwal,SukuBunga,LamaMenabung,SaldoAkhi 
r 
Method: 
setNama, 
getNama,setNomorRekening,getNomorRekening,setBiayaAdministr 
asi,getBiayaAdministrasi, setSaldoAwal, getSaldoAwal, 
setLamaMenabung, getLamaMenabung, setSaldoAkhir, 
getSaldoAkhir 
Sesi 5 - Java Application Developer
Chapter 7 - Pemograman Berorientasi 
ObyekI (Lanjutan) 
Sesi 5 - Java Application Developer
Inheritanace 
Pewarisan sifat yang diturunkan kelas di atasnya 
(superclass) ke kelas anak (subclass) 
Untuk membuat subclass dari sebuah superclass 
digunakan kata kunci extends. 
Code : 
public class MahasiswaMagister extends Mahasiswa 
Sesi 5 - Java Application Developer
Contoh Inheritanace 
Silahkan tulis kode programnya! 
Sesi 5 - Java Application Developer
Penting terkait Inheritanace 
1. Overriding: Pendefinisian ulang method-method yang ada 
pada superclass pada kelas turunannya. Jika overriding 
telah dilakukan maka method tersebut yang ada pada 
superclass tidak akan dipanggil lagi. 
2. this: digunakan untuk memanggil method atau atribut 
milik dirinya sendiri. 
3. super : untuk memanggil method atau atribut milik 
superclass 
4. Jika method tidak mau di-overriding oleh subclass maka 
deklarasikan sebagai method final. 
“public final void nama_method(){ 
}” 
Sesi 5 - Java Application Developer
Polymorphism: Perubahan Bentuk 
Perhatikan kode berikut: 
Mahasiswa[] M = new Mahasiswa[2]; 
M[0] = new Mahasiswa(); 
M[1] = new MahasiswaMagister(); 
Catt: subclass dapat menginstansiasi superclass, tetapi 
tidak sebaliknya. 
Contoh: 
Mahasiswa[] M = new MahasiswaMagister(); 
Sesi 5 - Java Application Developer
Kelas dan Method Abstrak 
Kelas Abstrak adalah kelas yang memiliki setidaknya satu 
buah method abstrak. Body method tidak didefinisikan 
pada kelas abstrak. 
Dan untuk subclass yang menjadi turunan kelas abstrak 
mendefinisikan setiap method abstraknya. 
Lihat contoh 
Sesi 5 - Java Application Developer
Kelas Abstrak 
public abstract class KelasAbstrak{ 
public abstract void method1(); 
public void method2(){ 
System.out.println("method2"); 
} 
public abstract void method3(); 
} 
Sesi 5 - Java Application Developer
Turunan Kelas Abstrak 
public class TurunanKelasAbstrak extends 
KelasAbstrak{ 
public void method1(){ 
System.out.println("method1"); 
} 
public void method3(){ 
System.out.println("method3"); 
} 
} 
Sesi 5 - Java Application Developer
Driver Turunan Kelas Abstrak 
public class DriverTurunanKelasAbstrak{ 
public static void main(String args[]){ 
//kode berikut akan error 
//kelas abstrak tidak bileh di instansiasi 
//KelasAbstrak a = new KelasAbstrak(); 
//deklarasi kelas abstrak dipernankan 
KelasAbstrak a; 
TurunanKelasAbstrak b = new TurunanKelasAbstrak(); 
//assignmen kelas abstrak dengan objek dari turunannya 
//yang bukan kelas abstrak dipernankan 
a = b; 
} 
} 
Sesi 5 - Java Application Developer
Jadi Kegunaan Kelas Abstrak adalah 
Kelas Abstrak berguna apabila kita ingin membuat turunan 
dari sebuah kelas dari sebuah kelas yang bersifat 
global, dimana seluruh kelas-kelas turunannya memiliki 
beberapa method yang sama dengan implementasi yang 
berbeda-beda. Dengan demikian kita dapat membuat 
bentuk globakl dari kelas-kelas yang memiliki 
implementasi method berbeda tersebut ke dalam sebuah 
keas abstrak. 
Sesi 5 - Java Application Developer
Kelas Antarmuka: Interface 
Mirip dengan kelas Abstrak 
Karakteristik kelas antarmuka: 
1. Tidak ada satupun method ada inteface yang boleh 
memiliki body 
2. Seluruh method yang ada pada interface harus bersifat 
public 
3. Bodu dari setiap method dituliskan pada kelas yang 
menjadi implementasi sebuah interface 
4. (jika ada) atribut pada sebuah interface harus berupa 
konstanta, memiliki modifier public final. Jika tidak 
dideklarasikan, maka secara otomatis field tersebut akan 
berupa public final 
5. Interface tidak dapat diinstansiasi. 
Sesi 5 - Java Application Developer
Contoh Kelas Inteface 
public interface ContohInterface{ 
public int FIELD = 1; 
public void method1(); 
public void method2(); 
} 
Sesi 5 - Java Application Developer
Contoh Implementasi Kelas Inteface 
public class ImplementasiInterface implements ContohInterface{ 
private int x; 
public void method1(){ 
System.out.println("method1"); 
} 
public void method2(){ 
System.out.println("method2"); 
//kode berikut akan error 
//this.FIELD = 2 
} 
public void method3(){ 
System.out.println("method3"); 
System.out.println(this.x); 
} 
} 
Sesi 5 - Java Application Developer
Contoh Driver Kelas Inteface 
public class DriverInterface{ 
public static void main(String args[]){ 
String.out.println(ContohInterface.FIELD); 
System.out.println(ImplementasiInteface.FIELD); 
//kode berikut akan error 
//ContohInterface impl = new ContohInterface(); 
ImplementasiInteface impl = new 
ImplementasiInteface(); 
impl.method1(); 
impl.method2(); 
} 
} 
Sesi 5 - Java Application Developer
Bonus: Kelas Final dan Obyek 
Kelas Final: Kelas yang 
dideklarasikan sebagai final tidak 
dapat lagi diturunkan menjadi 
kelas lain, atau dengankata lain 
kelas final tidak memiliki satupun 
subclass. Cara penulisannya: 
“public final class KelasFinal{ 
}” 
Sesi 5 - Java Application Developer
Obyek 
Secara tidak langsung seluruh kelas 
merupakan turunan atau subclass 
dari kelas object. Dengan demikian 
instance dari sebuah kelas dapat 
di assgin terhadap variable dengan 
tipe object. 
Sesi 5 - Java Application Developer
Obyek 
public final class KelasObjek(){ 
public static void main(String args[]){ 
Obejct o; 
Mahasiswa M = new Mahasiswa(); 
System.out.println("M Instanceof 
Mahasiswa", + (M instanceof Mahasiswa)); 
System.out.println("M instanceof 
Mahasiswa", + (M instanceof Object)); 
} 
} 
Sesi 5 - Java Application Developer

Basic Java Application - Sesi 5

  • 1.
    Basic Java ApplicationDeveloper Rudi Hartono Comlabs USDI ITB Sesi 5 Erwin Ginanjar Comlabs USDI ITB Sesi 5 - Java Application Developer
  • 2.
    Objektif 1. Mengertidan familiar dengan bahasa pemrograman Java 2. Memahami konsep pemrograman berorientasi objek 3. Mampu menggunakan Integrated Development Environment Netbeans 4. Mampu membangun program aplikasi desktop berbasis GUI Java Sesi 5 - Java Application Developer
  • 3.
    Timeline Pelatihan Sesi 1 2 3 4 5 6 7 8 9 10 Sesi 5 - Java Application Developer
  • 4.
    Timeline Pelatihan Sesi 1 2 3 4 5 6 7 8 9 10 Sesi 5 - Java Application Developer
  • 5.
    Sesi 5 Lesson6 : Pemograman Berorientasi Objek I • Kasus : Kelas Mahasiswa • Duplikasi Obyek: Copy Reference • Kesamaan Obyek: Atribut dan Method Static • Kasus: Kelas Tabungan Lesson 7 : Lanj PBO I • Inheritance: Penurunan Sifat • Polymorphism • Kelas dan Method Abstrak • Inteface: Kelas Antarmuka Sesi 5 - Java Application Developer
  • 6.
    Kasus: Kelas Mahasiswa Kelas: Mahasiswa, DriverMahasiswa Atribut: Nama, NIM, TempatLahir, TanggalLahir, Fakultas, Nilai Method: set_nama, get_name, set_tempat_lahir, get_tempat_lahir, set_tanggal_lahir, get_tanggal_lahir,set_fakultas, get_fakultas,set_nilai, get_nilai,display_data_mahasiswa Sesi 5 - Java Application Developer
  • 7.
    Duplikasi Obyek: CopyReference Sesi 5 - Java Application Developer
  • 8.
    public class DriverMahasiswa{ public static void main(String args[]){ Mahasiswa M1 = new Mahasiswa("Rudi","1001128","Bandung","07- 07-1992","FPMIPA",90); M1.display_data_mahasiswa(); //copy by reference Mahasiswa M2 = M1; M2.set_nama("Erwin"); M2.set_tempat_lahir("Purweredjo"); M2.set_tanggal_lahir("18-09-1988"); M1.display_data_mahasiswa(); M2.display_data_mahasiswa(); } } Sesi 5 - Java Application Developer
  • 9.
    public class DriverMahasiswa{ public static void main(String args[]){ Mahasiswa M1 = new Mahasiswa("Rudi","1001128","Bandung","07-07- 1992","FPMIPA",90); M1.display_data_mahasiswa(); //copy by reference Mahasiswa M2 = M1; M2.set_nama("Erwin"); M2.set_tempat_lahir("Purweredjo"); M2.set_tanggal_lahir("18-09-1988"); //copy by value Mahasiswa M3 = new Mahasiswa(); M3.copy_by_value("Riza","120007","Ciamis","30-12-1994",M1.get_fakultas(),80); M1.display_data_mahasiswa(); M2.display_data_mahasiswa(); M3.display_data_mahasiswa(); } } Sesi 5 - Java Application Developer
  • 10.
    Kesamaan Obyek: Atributdan Method Static Sesi 5 - Java Application Developer
  • 11.
    public class StaticTest{ private static int atr1 = 1; public static int atr2 = 2; private int atr3 = 2; public static void write_static(){ System.out.println("Method Static"); } public void write_non_static(){ System.out.println("Bukan Method Static"); } public static void a(){ System.out.println("atr1 = " + StaticTest.atr1); System.out.println("atr1 = " + StaticTest.atr2); //nilai berikut akan error //method static tidak boleh mengakses atribut non-static //System.out.println("atr1 = " + this.atr1); } public void b(){ System.out.println("Method non-static"); System.out.println("atr1 = "+ this.atr1); System.out.println("atr2 = "+ this.atr2); System.out.println("atr3 = "+ this.atr3); } } Sesi 5 - Java Application Developer
  • 12.
    public class DriverStaticTest{ public static void main(String[] args){ System.out.println(StaticTest.atr2); //baris perintah berikut tidak dianjurkan //StaticTest.atr2 = -2; StaticTest.write_static(); StaticTest.a(); StaticTest st = new StaticTest(); st.write_non_static(); st.b(); //perintah berikut tidak error, namun tidak dianjurkan //System.out.println(ST.atr2); //st.write_static(); } } Sesi 5 - Java Application Developer
  • 13.
    Latihan: Kasus KelasTabungan Kelas: Tabungan, DriverTabungan Atribut Nama, NomorRekening, BiayaAdministrasi,SaldoAwal,SukuBunga,LamaMenabung,SaldoAkhi r Method: setNama, getNama,setNomorRekening,getNomorRekening,setBiayaAdministr asi,getBiayaAdministrasi, setSaldoAwal, getSaldoAwal, setLamaMenabung, getLamaMenabung, setSaldoAkhir, getSaldoAkhir Sesi 5 - Java Application Developer
  • 14.
    Chapter 7 -Pemograman Berorientasi ObyekI (Lanjutan) Sesi 5 - Java Application Developer
  • 15.
    Inheritanace Pewarisan sifatyang diturunkan kelas di atasnya (superclass) ke kelas anak (subclass) Untuk membuat subclass dari sebuah superclass digunakan kata kunci extends. Code : public class MahasiswaMagister extends Mahasiswa Sesi 5 - Java Application Developer
  • 16.
    Contoh Inheritanace Silahkantulis kode programnya! Sesi 5 - Java Application Developer
  • 17.
    Penting terkait Inheritanace 1. Overriding: Pendefinisian ulang method-method yang ada pada superclass pada kelas turunannya. Jika overriding telah dilakukan maka method tersebut yang ada pada superclass tidak akan dipanggil lagi. 2. this: digunakan untuk memanggil method atau atribut milik dirinya sendiri. 3. super : untuk memanggil method atau atribut milik superclass 4. Jika method tidak mau di-overriding oleh subclass maka deklarasikan sebagai method final. “public final void nama_method(){ }” Sesi 5 - Java Application Developer
  • 18.
    Polymorphism: Perubahan Bentuk Perhatikan kode berikut: Mahasiswa[] M = new Mahasiswa[2]; M[0] = new Mahasiswa(); M[1] = new MahasiswaMagister(); Catt: subclass dapat menginstansiasi superclass, tetapi tidak sebaliknya. Contoh: Mahasiswa[] M = new MahasiswaMagister(); Sesi 5 - Java Application Developer
  • 19.
    Kelas dan MethodAbstrak Kelas Abstrak adalah kelas yang memiliki setidaknya satu buah method abstrak. Body method tidak didefinisikan pada kelas abstrak. Dan untuk subclass yang menjadi turunan kelas abstrak mendefinisikan setiap method abstraknya. Lihat contoh Sesi 5 - Java Application Developer
  • 20.
    Kelas Abstrak publicabstract class KelasAbstrak{ public abstract void method1(); public void method2(){ System.out.println("method2"); } public abstract void method3(); } Sesi 5 - Java Application Developer
  • 21.
    Turunan Kelas Abstrak public class TurunanKelasAbstrak extends KelasAbstrak{ public void method1(){ System.out.println("method1"); } public void method3(){ System.out.println("method3"); } } Sesi 5 - Java Application Developer
  • 22.
    Driver Turunan KelasAbstrak public class DriverTurunanKelasAbstrak{ public static void main(String args[]){ //kode berikut akan error //kelas abstrak tidak bileh di instansiasi //KelasAbstrak a = new KelasAbstrak(); //deklarasi kelas abstrak dipernankan KelasAbstrak a; TurunanKelasAbstrak b = new TurunanKelasAbstrak(); //assignmen kelas abstrak dengan objek dari turunannya //yang bukan kelas abstrak dipernankan a = b; } } Sesi 5 - Java Application Developer
  • 23.
    Jadi Kegunaan KelasAbstrak adalah Kelas Abstrak berguna apabila kita ingin membuat turunan dari sebuah kelas dari sebuah kelas yang bersifat global, dimana seluruh kelas-kelas turunannya memiliki beberapa method yang sama dengan implementasi yang berbeda-beda. Dengan demikian kita dapat membuat bentuk globakl dari kelas-kelas yang memiliki implementasi method berbeda tersebut ke dalam sebuah keas abstrak. Sesi 5 - Java Application Developer
  • 24.
    Kelas Antarmuka: Interface Mirip dengan kelas Abstrak Karakteristik kelas antarmuka: 1. Tidak ada satupun method ada inteface yang boleh memiliki body 2. Seluruh method yang ada pada interface harus bersifat public 3. Bodu dari setiap method dituliskan pada kelas yang menjadi implementasi sebuah interface 4. (jika ada) atribut pada sebuah interface harus berupa konstanta, memiliki modifier public final. Jika tidak dideklarasikan, maka secara otomatis field tersebut akan berupa public final 5. Interface tidak dapat diinstansiasi. Sesi 5 - Java Application Developer
  • 25.
    Contoh Kelas Inteface public interface ContohInterface{ public int FIELD = 1; public void method1(); public void method2(); } Sesi 5 - Java Application Developer
  • 26.
    Contoh Implementasi KelasInteface public class ImplementasiInterface implements ContohInterface{ private int x; public void method1(){ System.out.println("method1"); } public void method2(){ System.out.println("method2"); //kode berikut akan error //this.FIELD = 2 } public void method3(){ System.out.println("method3"); System.out.println(this.x); } } Sesi 5 - Java Application Developer
  • 27.
    Contoh Driver KelasInteface public class DriverInterface{ public static void main(String args[]){ String.out.println(ContohInterface.FIELD); System.out.println(ImplementasiInteface.FIELD); //kode berikut akan error //ContohInterface impl = new ContohInterface(); ImplementasiInteface impl = new ImplementasiInteface(); impl.method1(); impl.method2(); } } Sesi 5 - Java Application Developer
  • 28.
    Bonus: Kelas Finaldan Obyek Kelas Final: Kelas yang dideklarasikan sebagai final tidak dapat lagi diturunkan menjadi kelas lain, atau dengankata lain kelas final tidak memiliki satupun subclass. Cara penulisannya: “public final class KelasFinal{ }” Sesi 5 - Java Application Developer
  • 29.
    Obyek Secara tidaklangsung seluruh kelas merupakan turunan atau subclass dari kelas object. Dengan demikian instance dari sebuah kelas dapat di assgin terhadap variable dengan tipe object. Sesi 5 - Java Application Developer
  • 30.
    Obyek public finalclass KelasObjek(){ public static void main(String args[]){ Obejct o; Mahasiswa M = new Mahasiswa(); System.out.println("M Instanceof Mahasiswa", + (M instanceof Mahasiswa)); System.out.println("M instanceof Mahasiswa", + (M instanceof Object)); } } Sesi 5 - Java Application Developer