SlideShare a Scribd company logo
1 of 25
Download to read offline
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

Laporan8
Laporan8Laporan8
Laporan8Sa Lam
 
Jeni intro1-bab11-pewarisan, polimorfisme, dan interface
Jeni intro1-bab11-pewarisan, polimorfisme, dan interfaceJeni intro1-bab11-pewarisan, polimorfisme, dan interface
Jeni intro1-bab11-pewarisan, polimorfisme, dan interfaceKristanto Wijaya
 
Jeni Intro1 Bab11 Pewarisan, Polimorfisme, Dan Interface
Jeni Intro1 Bab11 Pewarisan, Polimorfisme, Dan InterfaceJeni Intro1 Bab11 Pewarisan, Polimorfisme, Dan Interface
Jeni Intro1 Bab11 Pewarisan, Polimorfisme, Dan InterfaceIndividual Consultants
 
Jeni Intro1 Bab10 Membuat Class Sendiri
Jeni Intro1 Bab10 Membuat Class SendiriJeni Intro1 Bab10 Membuat Class Sendiri
Jeni Intro1 Bab10 Membuat Class SendiriIndividual Consultants
 
Jeni intro1-bab10-membuat class sendiri
Jeni intro1-bab10-membuat class sendiriJeni intro1-bab10-membuat class sendiri
Jeni intro1-bab10-membuat class sendiriKristanto Wijaya
 
Jeni Intro1 Bab10 Membuat Class Sendiri
Jeni Intro1 Bab10 Membuat Class SendiriJeni Intro1 Bab10 Membuat Class Sendiri
Jeni Intro1 Bab10 Membuat Class SendiriIndividual Consultants
 
JENI-Intro1-Bab10-Membuat class sendiri.pdf
JENI-Intro1-Bab10-Membuat class sendiri.pdfJENI-Intro1-Bab10-Membuat class sendiri.pdf
JENI-Intro1-Bab10-Membuat class sendiri.pdfJurnal IT
 
3. struktur program java
3. struktur program java3. struktur program java
3. struktur program javaSaprudin Eskom
 
tmplt.ppt
tmplt.ppttmplt.ppt
tmplt.pptwrw243
 
JENI-Intro1-Bab11-Pewarisan, Polimorfisme, dan interface.pdf
JENI-Intro1-Bab11-Pewarisan, Polimorfisme, dan interface.pdfJENI-Intro1-Bab11-Pewarisan, Polimorfisme, dan interface.pdf
JENI-Intro1-Bab11-Pewarisan, Polimorfisme, dan interface.pdfJurnal IT
 
100312080513paket copy
100312080513paket   copy100312080513paket   copy
100312080513paket copyIta Item
 
Dasar pemrograman C++
Dasar pemrograman C++Dasar pemrograman C++
Dasar pemrograman C++Andan Sperrow
 
Laporan PBO pratikum 2
Laporan PBO pratikum 2Laporan PBO pratikum 2
Laporan PBO pratikum 2rahmi wahyuni
 
class-diagram.pptx
class-diagram.pptxclass-diagram.pptx
class-diagram.pptxritathitha1
 
7_Packages.pdf
7_Packages.pdf7_Packages.pdf
7_Packages.pdfJurnal IT
 

Similar to Pemrograman 2 Part 3.pdf (20)

Laporan8
Laporan8Laporan8
Laporan8
 
Jeni intro1-bab11-pewarisan, polimorfisme, dan interface
Jeni intro1-bab11-pewarisan, polimorfisme, dan interfaceJeni intro1-bab11-pewarisan, polimorfisme, dan interface
Jeni intro1-bab11-pewarisan, polimorfisme, dan interface
 
Jeni Intro1 Bab11 Pewarisan, Polimorfisme, Dan Interface
Jeni Intro1 Bab11 Pewarisan, Polimorfisme, Dan InterfaceJeni Intro1 Bab11 Pewarisan, Polimorfisme, Dan Interface
Jeni Intro1 Bab11 Pewarisan, Polimorfisme, Dan Interface
 
Jeni Intro1 Bab10 Membuat Class Sendiri
Jeni Intro1 Bab10 Membuat Class SendiriJeni Intro1 Bab10 Membuat Class Sendiri
Jeni Intro1 Bab10 Membuat Class Sendiri
 
Jeni intro1-bab10-membuat class sendiri
Jeni intro1-bab10-membuat class sendiriJeni intro1-bab10-membuat class sendiri
Jeni intro1-bab10-membuat class sendiri
 
Jeni Intro1 Bab10 Membuat Class Sendiri
Jeni Intro1 Bab10 Membuat Class SendiriJeni Intro1 Bab10 Membuat Class Sendiri
Jeni Intro1 Bab10 Membuat Class Sendiri
 
JENI-Intro1-Bab10-Membuat class sendiri.pdf
JENI-Intro1-Bab10-Membuat class sendiri.pdfJENI-Intro1-Bab10-Membuat class sendiri.pdf
JENI-Intro1-Bab10-Membuat class sendiri.pdf
 
3. struktur program java
3. struktur program java3. struktur program java
3. struktur program java
 
9150 8 interface
9150 8  interface9150 8  interface
9150 8 interface
 
Jeni Intro2 Bab12 Stream Io Lanjut
Jeni Intro2 Bab12 Stream Io LanjutJeni Intro2 Bab12 Stream Io Lanjut
Jeni Intro2 Bab12 Stream Io Lanjut
 
tmplt.ppt
tmplt.ppttmplt.ppt
tmplt.ppt
 
JENI-Intro1-Bab11-Pewarisan, Polimorfisme, dan interface.pdf
JENI-Intro1-Bab11-Pewarisan, Polimorfisme, dan interface.pdfJENI-Intro1-Bab11-Pewarisan, Polimorfisme, dan interface.pdf
JENI-Intro1-Bab11-Pewarisan, Polimorfisme, dan interface.pdf
 
100312080513paket copy
100312080513paket   copy100312080513paket   copy
100312080513paket copy
 
Java4
Java4Java4
Java4
 
Modul 1 Algo
Modul 1 AlgoModul 1 Algo
Modul 1 Algo
 
Dasar pemrograman C++
Dasar pemrograman C++Dasar pemrograman C++
Dasar pemrograman C++
 
Laporan PBO pratikum 2
Laporan PBO pratikum 2Laporan PBO pratikum 2
Laporan PBO pratikum 2
 
Modul 5 pbo
Modul 5 pboModul 5 pbo
Modul 5 pbo
 
class-diagram.pptx
class-diagram.pptxclass-diagram.pptx
class-diagram.pptx
 
7_Packages.pdf
7_Packages.pdf7_Packages.pdf
7_Packages.pdf
 

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