SlideShare a Scribd company logo
Paket dan Interface
Nur Hasanah, M.Cs
2
Apa itu Paket
• Paket adalah tempat dari kelas-kelas
maupun interface-interface yang kita buat.
• Kegunaan utama paket adalah untuk
menghindari adanya kesamaan nama
pada kelas-kelas yang dibuat.
3
Membuat Paket
• Menggunakan statement package diikuti
nama paket, dituliskan dibagian paling
atas dari file kode.
package NamaPaket;
• NamaPaket adalah nama paket yang
digunakan sebagai tempat penyimpanan
file .java dan .class.
Contoh:
package Contohpkg;
4
Mengimpor Paket
package ContohPkg;
public class Lingkaran {
private final double PI = 3.1416;
private double r;
public Lingkaran(double r) {
this.r = r;
}
public double luas() {
return (PI * r * r);
}
public double keliling() {
return (2 * PI * r);
}
}
Lingkaran.java
5
package ContohPkg;
public class Segitiga {
private double tinggi;
private double alas;
public Segitiga(double tinggi, double alas) {
this.tinggi = tinggi;
this.alas = alas;
}
public double luas() {
return ((tinggi * alas)/2);
}
}
Segitiga.java
6
// mengimpor semua kelas yang terdapat pada paket
ContohPkg
import ContohPkg.*;
class DemoPanggilPaket {
public static void main(String[] args) {
Lingkaran obLingkaran = new Lingkaran(7);
Segitiga obSegitiga = new Segitiga(4, 3);
System.out.println("Luas lingkaran : " +
obLingkaran.luas());
System.out.println("Keliling lingkaran : " +
obLingkaran.keliling());
System.out.println("Luas Segitiga : " +
obSegitiga.luas());
}
}
DemoPanggilPaket.java
7
• Apabila kita hanya ingin menggunakan salah
satu kelas yang terdapat di paket ContohPkg
(misalnya: kelas segitiga), maka ditulis:
import ContohPkg.Segitiga;
8
Peranan Tingkat Akses di dalam Paket
Tingkat
Akses
private
Tingkat
Akses
protected
Tingkat
Akses
public
Tanpa
Tingkat
Akses
Kelas yang sama Ya Ya Ya Ya
Kelas turunan
Paket sama
Tidak Ya Ya Ya
Bukan kelas turunan
Paket sama
Tidak Ya Ya Ya
Kelas Turunan
Paket Berbeda
Tidak Ya Ya Tidak
Bukan kelas turunan
Paket berbeda
Tidak Tidak Ya Tidak
9
• Sebagai catatan, nilai-nilai yang tercantum pada
tabel hanya berlaku untuk anggota kelas
(bukan untuk kelas).
• Untuk kelas, tingkat akses yang dapat
diterapkan hanya dua, yaitu public dan default
(tanpa tingkat akses).
• Jika public, maka kelas tersebut dapat diakses
oleh kelas lain yang berada di dalam paket yang
berbeda.
• Jika default, maka kelas tersebut hanya dapat
diakses oleh kelas-kelas yang berada dalam
satu paket.
10
Apa itu Interface
• Secara teknis, interface merupakan wadah dari
sekumpulan method yang bersifat abstrak atau
tidak memiliki implementasi sama sekali.
• Method-method tersebut baru akan
diimplementasi oleh kelas-kelas yang
mengimplementasikan interface yang
bersangkutan.
• Dalam java, interface didefinisikan sebagai
protokol atau penghubung antarobjek yang
sebenarnya tidak memiliki relasi.
• Sebuah objek dapat mengimplementasikan lebih
dari satu interface.
11
Apa itu Interface
• Selain method, interface juga dapat berisi
sekumpulan variabel.
• Variabel yang dideklarasikan dalam
interface harus bersifat final (dianggap
sebagai konstanta).
12
Membuat Interface
• Mirip dengan pembuatan sebuah kelas.
• Menggunakan kata kunci interface
• Bentuk umumnya:
tingkatAkses interface NamaInterface{
tipe-kembalian namaMethod1(daftar-parameter);
tipe-kembalian namaMethod2(daftar-parameter);
…
tipe-kembalian namaMethodN(daftar-parameter);
tipe variabel-final1=nilai;
tipe variabel-final2=nilai;
…
tipe variabel-finalN=nilai;
}
13
Membuat Interface
• tingkatAkses dapat diisi dengan public atau
default.
• Jika default, maka interface yang didefinisikan
hanya dapat dikenali oleh kelas maupun
interface-interface yang terdapat di dalam satu
paket yang sama.
• Jika public, maka kelas maupun interface-
interface yang terdapat pada paket lain dapat
mengenalinya.
14
Membuat Interface
• Contoh pembuatan interface sederhana
dengaan tiga method:
• Interface bernama AlatMusik, memiliki tiga
method yang harus diimplementasikan oleh
kelas-kelas yang mengimplementasikannya.
interface AlatMusik {
void mainkan();
void setelNada();
String ambilNama();
}
15
Menggunakan Interface
• Menggunakan kata kunci implements
• Bentuk umumnya:
tingkatAkses class NamaKelas [extends superclass]
[implements interface1 [, interface2 [, interfaceN]] {
// badan kelas
}
16
Contoh implementasi Interface
• DemoInterface.java
17
interface AlatMusik {
void mainkan();
void setelNada();
String ambilNama();
}
class AlatMusikPetik implements AlatMusik {
protected String nama;
public void mainkan() {
System.out.println(ambilNama() +
" dimainkan dengan cara petik");
}
public void setelNada() {
System.out.println("Setel nada pada " + ambilNama());
}
public String ambilNama() {
return nama;
}
}
18
Lanjutan..
class AlatMusikTiup implements AlatMusik {
protected String nama;
public void mainkan() {
System.out.println(ambilNama() +
" dimainkan dengan cara tiup");
}
public void setelNada() {
System.out.println("Setel nada pada " + ambilNama());
}
public String ambilNama() {
return nama;
}
}
19
Lanjutan..
class AlatMusikPukul implements AlatMusik {
protected String nama;
public void mainkan() {
System.out.println(ambilNama() +
" dimainkan dengan cara pukul");
}
public void setelNada() {
System.out.println("Setel nada pada " + ambilNama());
}
public String ambilNama() {
return nama;
}
}
20
Lanjutan..
class Gitar extends AlatMusikPetik {
Gitar(String nama) {
this.nama = nama;
}
}
class Bass extends AlatMusikPetik {
Bass(String nama) {
this.nama = nama;
}
}
class DemoInterface {
public static void main(String[] args) {
AlatMusikPetik gitar, bass;
gitar = new Gitar("Gitar");
bass = new Bass("Bass");
gitar.mainkan();
gitar.setelNada();
System.out.println();
bass.mainkan();
bass.setelNada();
}
}
21
Interface dapat diturunkan
menjadi interface lain
• Seperti kelas, interface dapat diturunkan
menjadi interface lain dengan kata kunci
extends
• Yang harus diingat, saat mengimplementasikan
interface turunan, kita juga harus
mengimplementasikan semua method yang
didefinisikan pada interface induk.
• Contoh: DemoInterfaceTurunan.java
22
interface IInduk {
double tambah(double a, double b);
double kurang(double a, double b);
}
interface ITurunan extends IInduk {
double kali(double a, double b);
double bagi(double a, double b);
}
class Aritmetika implements ITurunan {
private double x;
private double y;
Aritmetika(double x, double y) {
this.x = x;
this.y = y;
}
23
Lanjutan..
public double tambah(double a, double b) {
return (a + b);
}
public double kurang(double a, double b) {
return (a - b);
}
public double kali(double a, double b) {
return (a * b);
}
public double bagi(double a, double b) {
return (a / b);
}
public void cetakHasil() {
System.out.println("x = " + x);
System.out.println("y = " + y);
System.out.println();
System.out.println("x + y = " + tambah(x, y));
System.out.println("x - y = " + kurang(x, y));
System.out.println("x * y = " + kali(x, y));
System.out.println("x / y = " + bagi(x, y));
}
}
24
Lanjutan..
class DemoInterfaceTurunan {
public static void main(String[] args) {
// membuat objek Aritmetika dengan x=10.0 dan y=2.5
Aritmetika obj = new Aritmetika(10.0, 2.5);
obj.cetakHasil();
}
}
Reference
• Budi Rahardjo dkk. (2012). “Mudah Belajar
Java”. Penerbit Informatika Bandung.
25

More Related Content

Similar to Pemrograman 2 Part 3.pdf (20)

PPTX
DESAIN PEMROGRAMAN BERORIENTASI OBJEK - INTERFACE DAN KELAS ABSTRAK.pptx
HardikaKhusnulia
 
PDF
Jeni intro1-bab11-pewarisan, polimorfisme, dan interface
Kristanto Wijaya
 
PDF
Jeni Intro1 Bab11 Pewarisan, Polimorfisme, Dan Interface
Individual Consultants
 
PPT
Lanjutan-Konsep-OOPLanjutan-Konsep-OOP.ppt
AliKhumaidi4
 
PPTX
4 Adt
ahmad haidaroh
 
PDF
7_Packages.pdf
Jurnal IT
 
PDF
7_Packages.pdf
Jurnal IT
 
PPTX
Interfaces & abstrack classes UNP Padang.pptx
RizalSitanggang1
 
PPTX
PEMORGRAMAN BERORIENTASI OBJEK-02 Teknologi JAVA.pptx
BBXSQUAD
 
PDF
Pengenalan Java
Laili Aidi
 
DOCX
Laporan praktikum Algoritma dan Pemrograman pertemuan 15
Ekha Cahya Nugraha
 
PPTX
3. struktur program java
Saprudin Eskom
 
PPT
inheritance
rivia intan
 
PPTX
11. Pemrograman BO pertemuan - Package.pptx
imamherususanto3
 
PDF
Kelas, Kontrol Kelas, dan Konstruktor
I Putu Arya Dharmaadi
 
PDF
Modul Object Oriented Programming
Teknik Komputer & Informatika
 
PDF
[PBO] Pertemuan 10 - Generic Programming & Collection
rizki adam kurniawan
 
PPT
pbo 3 ervan
aris
 
PPT
8.PPBO_Abstract Class_dan_Interface,.ppt
ritathitha1
 
PPTX
15. konsep java class library (jcl)
Saprudin Eskom
 
DESAIN PEMROGRAMAN BERORIENTASI OBJEK - INTERFACE DAN KELAS ABSTRAK.pptx
HardikaKhusnulia
 
Jeni intro1-bab11-pewarisan, polimorfisme, dan interface
Kristanto Wijaya
 
Jeni Intro1 Bab11 Pewarisan, Polimorfisme, Dan Interface
Individual Consultants
 
Lanjutan-Konsep-OOPLanjutan-Konsep-OOP.ppt
AliKhumaidi4
 
7_Packages.pdf
Jurnal IT
 
7_Packages.pdf
Jurnal IT
 
Interfaces & abstrack classes UNP Padang.pptx
RizalSitanggang1
 
PEMORGRAMAN BERORIENTASI OBJEK-02 Teknologi JAVA.pptx
BBXSQUAD
 
Pengenalan Java
Laili Aidi
 
Laporan praktikum Algoritma dan Pemrograman pertemuan 15
Ekha Cahya Nugraha
 
3. struktur program java
Saprudin Eskom
 
inheritance
rivia intan
 
11. Pemrograman BO pertemuan - Package.pptx
imamherususanto3
 
Kelas, Kontrol Kelas, dan Konstruktor
I Putu Arya Dharmaadi
 
Modul Object Oriented Programming
Teknik Komputer & Informatika
 
[PBO] Pertemuan 10 - Generic Programming & Collection
rizki adam kurniawan
 
pbo 3 ervan
aris
 
8.PPBO_Abstract Class_dan_Interface,.ppt
ritathitha1
 
15. konsep java class library (jcl)
Saprudin Eskom
 

Recently uploaded (20)

PPTX
Model-Manajemen-Di-Hospital-Based untuk semester 7
GaizkaDwiSatria
 
PDF
16823 Undangan ON MIPA-PT Tingkat Nasional Tahun 2024.pdf
AmriNurAmiyanaPatty
 
PPTX
02. Presentasi RA - Adik Miftakhur Rohmah.pptx
adik42
 
PPTX
Presentasi_Etos_Kerja materi untuk persiapan kerja.pptx
Sulaksono Saputro
 
PPTX
Tugas 6 ..Materi Presentasi pujinmulyo.pptx
hafidteknik
 
PPTX
Pertemuan_5_Interaksi_manusia_dan_sistem.pptx
LuthfieAlie1
 
PPTX
atp matematika ke gfgfgfgfgfgfglas 1.pptx
jokoprasaja0
 
PPTX
1._MATERI_PEMBEKALAN_FILOSOFI_&_TATA_TERTIB.pptx
Aldiansyah66
 
PPTX
Brigadir KOKO Bhabinkamtibmas Polsek Bojong Polres Purwakarta.pptx
portalkosong14
 
PPTX
membangun-komunitas-belajar-di-sekolah (1).pptx
luthfiab60
 
PPTX
Presentasi miniloka bulanan pertama di Puskesmas
ssuser5dd1cf1
 
DOCX
FINAL_ATbhhhhjjjyhP_IPS_Fase D.docx.docx
NIRAPUSPITA3
 
PPTX
UIII-Survey Sampling and Estimation_final-Agustus 2023 (1).pptx
HasyimNawawi
 
PPTX
fffffffffffffffffffffPresentasi Pak Fat.pptx
TujuhTujuh2
 
PPTX
20240807 Kelompok 10 Format Paparan LPR & LED Operator Risiko.pptx
BeaCukaiParepare
 
DOCX
FINAL_ATP_IPjjjjjjjjjjS_Fase D.docx.docx
NIRAPUSPITA3
 
PPTX
07 Juni 2024 - Joni Nama & Desi Liufeto.pptx
yenikatta34
 
PPTX
ZAKAT FITRAH, ZAKAT MALL, .pptx
syahbana11103
 
PPTX
STRATEGI PENGEMBANGAN PROFESONALISASI GURU.pptx
UlfaRhomaisaBasar
 
PPTX
01. MATERI BIMTEK SKP - POLITANI - 2016.pptx
henny15
 
Model-Manajemen-Di-Hospital-Based untuk semester 7
GaizkaDwiSatria
 
16823 Undangan ON MIPA-PT Tingkat Nasional Tahun 2024.pdf
AmriNurAmiyanaPatty
 
02. Presentasi RA - Adik Miftakhur Rohmah.pptx
adik42
 
Presentasi_Etos_Kerja materi untuk persiapan kerja.pptx
Sulaksono Saputro
 
Tugas 6 ..Materi Presentasi pujinmulyo.pptx
hafidteknik
 
Pertemuan_5_Interaksi_manusia_dan_sistem.pptx
LuthfieAlie1
 
atp matematika ke gfgfgfgfgfgfglas 1.pptx
jokoprasaja0
 
1._MATERI_PEMBEKALAN_FILOSOFI_&_TATA_TERTIB.pptx
Aldiansyah66
 
Brigadir KOKO Bhabinkamtibmas Polsek Bojong Polres Purwakarta.pptx
portalkosong14
 
membangun-komunitas-belajar-di-sekolah (1).pptx
luthfiab60
 
Presentasi miniloka bulanan pertama di Puskesmas
ssuser5dd1cf1
 
FINAL_ATbhhhhjjjyhP_IPS_Fase D.docx.docx
NIRAPUSPITA3
 
UIII-Survey Sampling and Estimation_final-Agustus 2023 (1).pptx
HasyimNawawi
 
fffffffffffffffffffffPresentasi Pak Fat.pptx
TujuhTujuh2
 
20240807 Kelompok 10 Format Paparan LPR & LED Operator Risiko.pptx
BeaCukaiParepare
 
FINAL_ATP_IPjjjjjjjjjjS_Fase D.docx.docx
NIRAPUSPITA3
 
07 Juni 2024 - Joni Nama & Desi Liufeto.pptx
yenikatta34
 
ZAKAT FITRAH, ZAKAT MALL, .pptx
syahbana11103
 
STRATEGI PENGEMBANGAN PROFESONALISASI GURU.pptx
UlfaRhomaisaBasar
 
01. MATERI BIMTEK SKP - POLITANI - 2016.pptx
henny15
 
Ad

Pemrograman 2 Part 3.pdf

  • 1. Paket dan Interface Nur Hasanah, M.Cs
  • 2. 2 Apa itu Paket • Paket adalah tempat dari kelas-kelas maupun interface-interface yang kita buat. • Kegunaan utama paket adalah untuk menghindari adanya kesamaan nama pada kelas-kelas yang dibuat.
  • 3. 3 Membuat Paket • Menggunakan statement package diikuti nama paket, dituliskan dibagian paling atas dari file kode. package NamaPaket; • NamaPaket adalah nama paket yang digunakan sebagai tempat penyimpanan file .java dan .class. Contoh: package Contohpkg;
  • 4. 4 Mengimpor Paket package ContohPkg; public class Lingkaran { private final double PI = 3.1416; private double r; public Lingkaran(double r) { this.r = r; } public double luas() { return (PI * r * r); } public double keliling() { return (2 * PI * r); } } Lingkaran.java
  • 5. 5 package ContohPkg; public class Segitiga { private double tinggi; private double alas; public Segitiga(double tinggi, double alas) { this.tinggi = tinggi; this.alas = alas; } public double luas() { return ((tinggi * alas)/2); } } Segitiga.java
  • 6. 6 // mengimpor semua kelas yang terdapat pada paket ContohPkg import ContohPkg.*; class DemoPanggilPaket { public static void main(String[] args) { Lingkaran obLingkaran = new Lingkaran(7); Segitiga obSegitiga = new Segitiga(4, 3); System.out.println("Luas lingkaran : " + obLingkaran.luas()); System.out.println("Keliling lingkaran : " + obLingkaran.keliling()); System.out.println("Luas Segitiga : " + obSegitiga.luas()); } } DemoPanggilPaket.java
  • 7. 7 • Apabila kita hanya ingin menggunakan salah satu kelas yang terdapat di paket ContohPkg (misalnya: kelas segitiga), maka ditulis: import ContohPkg.Segitiga;
  • 8. 8 Peranan Tingkat Akses di dalam Paket Tingkat Akses private Tingkat Akses protected Tingkat Akses public Tanpa Tingkat Akses Kelas yang sama Ya Ya Ya Ya Kelas turunan Paket sama Tidak Ya Ya Ya Bukan kelas turunan Paket sama Tidak Ya Ya Ya Kelas Turunan Paket Berbeda Tidak Ya Ya Tidak Bukan kelas turunan Paket berbeda Tidak Tidak Ya Tidak
  • 9. 9 • Sebagai catatan, nilai-nilai yang tercantum pada tabel hanya berlaku untuk anggota kelas (bukan untuk kelas). • Untuk kelas, tingkat akses yang dapat diterapkan hanya dua, yaitu public dan default (tanpa tingkat akses). • Jika public, maka kelas tersebut dapat diakses oleh kelas lain yang berada di dalam paket yang berbeda. • Jika default, maka kelas tersebut hanya dapat diakses oleh kelas-kelas yang berada dalam satu paket.
  • 10. 10 Apa itu Interface • Secara teknis, interface merupakan wadah dari sekumpulan method yang bersifat abstrak atau tidak memiliki implementasi sama sekali. • Method-method tersebut baru akan diimplementasi oleh kelas-kelas yang mengimplementasikan interface yang bersangkutan. • Dalam java, interface didefinisikan sebagai protokol atau penghubung antarobjek yang sebenarnya tidak memiliki relasi. • Sebuah objek dapat mengimplementasikan lebih dari satu interface.
  • 11. 11 Apa itu Interface • Selain method, interface juga dapat berisi sekumpulan variabel. • Variabel yang dideklarasikan dalam interface harus bersifat final (dianggap sebagai konstanta).
  • 12. 12 Membuat Interface • Mirip dengan pembuatan sebuah kelas. • Menggunakan kata kunci interface • Bentuk umumnya: tingkatAkses interface NamaInterface{ tipe-kembalian namaMethod1(daftar-parameter); tipe-kembalian namaMethod2(daftar-parameter); … tipe-kembalian namaMethodN(daftar-parameter); tipe variabel-final1=nilai; tipe variabel-final2=nilai; … tipe variabel-finalN=nilai; }
  • 13. 13 Membuat Interface • tingkatAkses dapat diisi dengan public atau default. • Jika default, maka interface yang didefinisikan hanya dapat dikenali oleh kelas maupun interface-interface yang terdapat di dalam satu paket yang sama. • Jika public, maka kelas maupun interface- interface yang terdapat pada paket lain dapat mengenalinya.
  • 14. 14 Membuat Interface • Contoh pembuatan interface sederhana dengaan tiga method: • Interface bernama AlatMusik, memiliki tiga method yang harus diimplementasikan oleh kelas-kelas yang mengimplementasikannya. interface AlatMusik { void mainkan(); void setelNada(); String ambilNama(); }
  • 15. 15 Menggunakan Interface • Menggunakan kata kunci implements • Bentuk umumnya: tingkatAkses class NamaKelas [extends superclass] [implements interface1 [, interface2 [, interfaceN]] { // badan kelas }
  • 17. 17 interface AlatMusik { void mainkan(); void setelNada(); String ambilNama(); } class AlatMusikPetik implements AlatMusik { protected String nama; public void mainkan() { System.out.println(ambilNama() + " dimainkan dengan cara petik"); } public void setelNada() { System.out.println("Setel nada pada " + ambilNama()); } public String ambilNama() { return nama; } }
  • 18. 18 Lanjutan.. class AlatMusikTiup implements AlatMusik { protected String nama; public void mainkan() { System.out.println(ambilNama() + " dimainkan dengan cara tiup"); } public void setelNada() { System.out.println("Setel nada pada " + ambilNama()); } public String ambilNama() { return nama; } }
  • 19. 19 Lanjutan.. class AlatMusikPukul implements AlatMusik { protected String nama; public void mainkan() { System.out.println(ambilNama() + " dimainkan dengan cara pukul"); } public void setelNada() { System.out.println("Setel nada pada " + ambilNama()); } public String ambilNama() { return nama; } }
  • 20. 20 Lanjutan.. class Gitar extends AlatMusikPetik { Gitar(String nama) { this.nama = nama; } } class Bass extends AlatMusikPetik { Bass(String nama) { this.nama = nama; } } class DemoInterface { public static void main(String[] args) { AlatMusikPetik gitar, bass; gitar = new Gitar("Gitar"); bass = new Bass("Bass"); gitar.mainkan(); gitar.setelNada(); System.out.println(); bass.mainkan(); bass.setelNada(); } }
  • 21. 21 Interface dapat diturunkan menjadi interface lain • Seperti kelas, interface dapat diturunkan menjadi interface lain dengan kata kunci extends • Yang harus diingat, saat mengimplementasikan interface turunan, kita juga harus mengimplementasikan semua method yang didefinisikan pada interface induk. • Contoh: DemoInterfaceTurunan.java
  • 22. 22 interface IInduk { double tambah(double a, double b); double kurang(double a, double b); } interface ITurunan extends IInduk { double kali(double a, double b); double bagi(double a, double b); } class Aritmetika implements ITurunan { private double x; private double y; Aritmetika(double x, double y) { this.x = x; this.y = y; }
  • 23. 23 Lanjutan.. public double tambah(double a, double b) { return (a + b); } public double kurang(double a, double b) { return (a - b); } public double kali(double a, double b) { return (a * b); } public double bagi(double a, double b) { return (a / b); } public void cetakHasil() { System.out.println("x = " + x); System.out.println("y = " + y); System.out.println(); System.out.println("x + y = " + tambah(x, y)); System.out.println("x - y = " + kurang(x, y)); System.out.println("x * y = " + kali(x, y)); System.out.println("x / y = " + bagi(x, y)); } }
  • 24. 24 Lanjutan.. class DemoInterfaceTurunan { public static void main(String[] args) { // membuat objek Aritmetika dengan x=10.0 dan y=2.5 Aritmetika obj = new Aritmetika(10.0, 2.5); obj.cetakHasil(); } }
  • 25. Reference • Budi Rahardjo dkk. (2012). “Mudah Belajar Java”. Penerbit Informatika Bandung. 25