paket dan interface - staffnew.uny.ac.idstaffnew.uny.ac.id/upload/198412092015041001/pendidikan/3....
TRANSCRIPT
![Page 1: Paket dan Interface - staffnew.uny.ac.idstaffnew.uny.ac.id/upload/198412092015041001/pendidikan/3. Paket dan Interface.pdf · apa itu interface •secara teknis, interface merupakan](https://reader030.vdocuments.pub/reader030/viewer/2022040100/5d22632688c993722e8d76bd/html5/thumbnails/1.jpg)
PAKET DAN INTERFACEMUH. IZZUDDIN MAHALI, M.CS.
PT. Elektronika FT UNY
![Page 2: Paket dan Interface - staffnew.uny.ac.idstaffnew.uny.ac.id/upload/198412092015041001/pendidikan/3. Paket dan Interface.pdf · apa itu interface •secara teknis, interface merupakan](https://reader030.vdocuments.pub/reader030/viewer/2022040100/5d22632688c993722e8d76bd/html5/thumbnails/2.jpg)
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.
PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.
2
![Page 3: Paket dan Interface - staffnew.uny.ac.idstaffnew.uny.ac.id/upload/198412092015041001/pendidikan/3. Paket dan Interface.pdf · apa itu interface •secara teknis, interface merupakan](https://reader030.vdocuments.pub/reader030/viewer/2022040100/5d22632688c993722e8d76bd/html5/thumbnails/3.jpg)
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;
PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.
3
![Page 4: Paket dan Interface - staffnew.uny.ac.idstaffnew.uny.ac.id/upload/198412092015041001/pendidikan/3. Paket dan Interface.pdf · apa itu interface •secara teknis, interface merupakan](https://reader030.vdocuments.pub/reader030/viewer/2022040100/5d22632688c993722e8d76bd/html5/thumbnails/4.jpg)
MENGIMPORT PACKET
CONTOH LINGKARAN.JAVA
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);
}
} PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.
4
![Page 5: Paket dan Interface - staffnew.uny.ac.idstaffnew.uny.ac.id/upload/198412092015041001/pendidikan/3. Paket dan Interface.pdf · apa itu interface •secara teknis, interface merupakan](https://reader030.vdocuments.pub/reader030/viewer/2022040100/5d22632688c993722e8d76bd/html5/thumbnails/5.jpg)
MENGIMPORT PACKET
CONTOH SEGITIGA.JAVA
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);
}
}
PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.
5
![Page 6: Paket dan Interface - staffnew.uny.ac.idstaffnew.uny.ac.id/upload/198412092015041001/pendidikan/3. Paket dan Interface.pdf · apa itu interface •secara teknis, interface merupakan](https://reader030.vdocuments.pub/reader030/viewer/2022040100/5d22632688c993722e8d76bd/html5/thumbnails/6.jpg)
MENGIMPORT PACKET
CONTOH DEMOPANGGILPAKET.JAVA
// 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());
}
}
PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.
6
![Page 7: Paket dan Interface - staffnew.uny.ac.idstaffnew.uny.ac.id/upload/198412092015041001/pendidikan/3. Paket dan Interface.pdf · apa itu interface •secara teknis, interface merupakan](https://reader030.vdocuments.pub/reader030/viewer/2022040100/5d22632688c993722e8d76bd/html5/thumbnails/7.jpg)
MENGIMPORT PACKET
APABILA KITA HANYA INGIN MENGGUNAKAN
SALAH SATU KELAS YANG TERDAPAT DI PAKET
CONTOHPKG (MISALNYA: KELAS SEGITIGA), MAKA
DITULIS:
IMPORT CONTOHPKG.SEGITIGA;
PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.
7
![Page 8: Paket dan Interface - staffnew.uny.ac.idstaffnew.uny.ac.id/upload/198412092015041001/pendidikan/3. Paket dan Interface.pdf · apa itu interface •secara teknis, interface merupakan](https://reader030.vdocuments.pub/reader030/viewer/2022040100/5d22632688c993722e8d76bd/html5/thumbnails/8.jpg)
PERANAN TINGKAT AKSES DI DALAM PAKET
PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.
8
Tingkat
Akses
private
Tingkat
Akses
protected
Tingkat
Akses
public
Tanpa
Tingkat
Akses
Kelas yang sama Ya Ya Ya Ya
Kelas turunan
Paket samaTidak Ya Ya Ya
Bukan kelas turunan
Paket sama
TidakYa Ya Ya
Kelas Turunan
Paket BerbedaTidak
Ya YaTidak
Bukan kelas turunan
Paket berbedaTidak Tidak
YaTidak
![Page 9: Paket dan Interface - staffnew.uny.ac.idstaffnew.uny.ac.id/upload/198412092015041001/pendidikan/3. Paket dan Interface.pdf · apa itu interface •secara teknis, interface merupakan](https://reader030.vdocuments.pub/reader030/viewer/2022040100/5d22632688c993722e8d76bd/html5/thumbnails/9.jpg)
PERANAN TINGKAT AKSES DI DALAM PAKET
• 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.
PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.
9
![Page 10: Paket dan Interface - staffnew.uny.ac.idstaffnew.uny.ac.id/upload/198412092015041001/pendidikan/3. Paket dan Interface.pdf · apa itu interface •secara teknis, interface merupakan](https://reader030.vdocuments.pub/reader030/viewer/2022040100/5d22632688c993722e8d76bd/html5/thumbnails/10.jpg)
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.
PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.
10
![Page 11: Paket dan Interface - staffnew.uny.ac.idstaffnew.uny.ac.id/upload/198412092015041001/pendidikan/3. Paket dan Interface.pdf · apa itu interface •secara teknis, interface merupakan](https://reader030.vdocuments.pub/reader030/viewer/2022040100/5d22632688c993722e8d76bd/html5/thumbnails/11.jpg)
APA ITU INTERFACE
• SELAIN METHOD, INTERFACE JUGA DAPAT BERISI SEKUMPULAN VARIABEL.
• VARIABEL YANG DIDEKLARASIKAN DALAM INTERFACE HARUS BERSIFAT
FINAL (DIANGGAP SEBAGAI KONSTANTA).
PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.
1111
![Page 12: Paket dan Interface - staffnew.uny.ac.idstaffnew.uny.ac.id/upload/198412092015041001/pendidikan/3. Paket dan Interface.pdf · apa itu interface •secara teknis, interface merupakan](https://reader030.vdocuments.pub/reader030/viewer/2022040100/5d22632688c993722e8d76bd/html5/thumbnails/12.jpg)
MEMBUAT INTERFACE
• MIRIP DENGAN PEMBUATAN SEBUAH KELAS.
• MENGGUNAKAN KATA KUNCI INTERFACE
• BENTUK UMUMNYA:
PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.
12
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;
}
![Page 13: Paket dan Interface - staffnew.uny.ac.idstaffnew.uny.ac.id/upload/198412092015041001/pendidikan/3. Paket dan Interface.pdf · apa itu interface •secara teknis, interface merupakan](https://reader030.vdocuments.pub/reader030/viewer/2022040100/5d22632688c993722e8d76bd/html5/thumbnails/13.jpg)
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.
PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.
13
![Page 14: Paket dan Interface - staffnew.uny.ac.idstaffnew.uny.ac.id/upload/198412092015041001/pendidikan/3. Paket dan Interface.pdf · apa itu interface •secara teknis, interface merupakan](https://reader030.vdocuments.pub/reader030/viewer/2022040100/5d22632688c993722e8d76bd/html5/thumbnails/14.jpg)
MEMBUAT INTERFACE
• CONTOH PEMBUATAN INTERFACE SEDERHANA
DENGAAN TIGA METHOD:
• INTERFACE BERNAMA ALATMUSIK, MEMILIKI TIGA
METHOD YANG HARUS DIIMPLEMENTASIKAN OLEH
KELAS-KELAS YANG MENGIMPLEMENTASIKANNYA.
PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.
14
interface AlatMusik {
void mainkan();
void setelNada();
String ambilNama();
}
![Page 15: Paket dan Interface - staffnew.uny.ac.idstaffnew.uny.ac.id/upload/198412092015041001/pendidikan/3. Paket dan Interface.pdf · apa itu interface •secara teknis, interface merupakan](https://reader030.vdocuments.pub/reader030/viewer/2022040100/5d22632688c993722e8d76bd/html5/thumbnails/15.jpg)
MENGGUNAKAN INTERFACE
• MENGGUNAKAN KATA KUNCI IMPLEMENTS
• BENTUK UMUMNYA:
PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.
15
tingkatAkses class NamaKelas [extends superclass]
[implements interface1 [, interface2 [, interfaceN]] {
// badan kelas
}
![Page 16: Paket dan Interface - staffnew.uny.ac.idstaffnew.uny.ac.id/upload/198412092015041001/pendidikan/3. Paket dan Interface.pdf · apa itu interface •secara teknis, interface merupakan](https://reader030.vdocuments.pub/reader030/viewer/2022040100/5d22632688c993722e8d76bd/html5/thumbnails/16.jpg)
CONTOH IMPLEMENTASI INTERFACE
• DEMOINTERFACE.JAVA
PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.
16
![Page 17: Paket dan Interface - staffnew.uny.ac.idstaffnew.uny.ac.id/upload/198412092015041001/pendidikan/3. Paket dan Interface.pdf · apa itu interface •secara teknis, interface merupakan](https://reader030.vdocuments.pub/reader030/viewer/2022040100/5d22632688c993722e8d76bd/html5/thumbnails/17.jpg)
PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.
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;
}
}
![Page 18: Paket dan Interface - staffnew.uny.ac.idstaffnew.uny.ac.id/upload/198412092015041001/pendidikan/3. Paket dan Interface.pdf · apa itu interface •secara teknis, interface merupakan](https://reader030.vdocuments.pub/reader030/viewer/2022040100/5d22632688c993722e8d76bd/html5/thumbnails/18.jpg)
PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.
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;
}
}
![Page 19: Paket dan Interface - staffnew.uny.ac.idstaffnew.uny.ac.id/upload/198412092015041001/pendidikan/3. Paket dan Interface.pdf · apa itu interface •secara teknis, interface merupakan](https://reader030.vdocuments.pub/reader030/viewer/2022040100/5d22632688c993722e8d76bd/html5/thumbnails/19.jpg)
PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.
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;
}
}
![Page 20: Paket dan Interface - staffnew.uny.ac.idstaffnew.uny.ac.id/upload/198412092015041001/pendidikan/3. Paket dan Interface.pdf · apa itu interface •secara teknis, interface merupakan](https://reader030.vdocuments.pub/reader030/viewer/2022040100/5d22632688c993722e8d76bd/html5/thumbnails/20.jpg)
PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.
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();
}
}
![Page 21: Paket dan Interface - staffnew.uny.ac.idstaffnew.uny.ac.id/upload/198412092015041001/pendidikan/3. Paket dan Interface.pdf · apa itu interface •secara teknis, interface merupakan](https://reader030.vdocuments.pub/reader030/viewer/2022040100/5d22632688c993722e8d76bd/html5/thumbnails/21.jpg)
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
PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.
21
![Page 22: Paket dan Interface - staffnew.uny.ac.idstaffnew.uny.ac.id/upload/198412092015041001/pendidikan/3. Paket dan Interface.pdf · apa itu interface •secara teknis, interface merupakan](https://reader030.vdocuments.pub/reader030/viewer/2022040100/5d22632688c993722e8d76bd/html5/thumbnails/22.jpg)
PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.
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;
}
![Page 23: Paket dan Interface - staffnew.uny.ac.idstaffnew.uny.ac.id/upload/198412092015041001/pendidikan/3. Paket dan Interface.pdf · apa itu interface •secara teknis, interface merupakan](https://reader030.vdocuments.pub/reader030/viewer/2022040100/5d22632688c993722e8d76bd/html5/thumbnails/23.jpg)
PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.
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));
}
}
![Page 24: Paket dan Interface - staffnew.uny.ac.idstaffnew.uny.ac.id/upload/198412092015041001/pendidikan/3. Paket dan Interface.pdf · apa itu interface •secara teknis, interface merupakan](https://reader030.vdocuments.pub/reader030/viewer/2022040100/5d22632688c993722e8d76bd/html5/thumbnails/24.jpg)
PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.
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();
}
}
![Page 25: Paket dan Interface - staffnew.uny.ac.idstaffnew.uny.ac.id/upload/198412092015041001/pendidikan/3. Paket dan Interface.pdf · apa itu interface •secara teknis, interface merupakan](https://reader030.vdocuments.pub/reader030/viewer/2022040100/5d22632688c993722e8d76bd/html5/thumbnails/25.jpg)
S E L E S A I
25
PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.