SlideShare a Scribd company logo
MAKALAH
PRAKTIKUM
ABSTRACT & INTERFACE
PEMROGRAMAN BERORIENTASI
OBJECT
DISUSUN OLEH :
MELINA KRISNAWATI
12.12.0328
SI 12 F
STMIK AMIKOM PURWOKERTO
TAHUN AJARAN 2012 / 2013
SOAL ( STUDI KASUS )
J Modifikasi program berdasarkan praktek abstrak.
J Menambahkan sebuah kelas yang berisi definisi untuk menghitung luas dan keliling
lingkaran, simpan dengan nama file “lingkaran.java”. kemudian buat obyek lingkaran ada
method main() dan tampilkan hasilnya.
 Modifikasi program berdasarkan praktek inteface.
 Menambahkan sebuah kelas yang berisi definisi untuk menghitung luas dan keliling
segitiga, simpan dengan nama file “InterfaceSegitiga.java”. kemudian pada method
main() buat obyek segitiga tampilkan hasilnya.
LANDASAN TEORI
INTERFACE
Interface adalah class yang hanya berisi deklarasi method tanpa memiliki implementasi dan
semua property yang dimilikinya bersifat final. Interface mirip dengan abstrak.
Pada java, interface merupakan device yang digunakan untuk komunikasi antarobject berbeda
yang tidak memiliki hubungan apa pun. Interface bisa dikatakan sebagai protocol komunikasi
antarobject tersebut.
Interface merupakan mekanisme dimana kita dapat menentukan metode – metode yang harus
ada pada kelas. Interface hamper mirip dengan kelas abstrak, namun ada beberapa perbedaan
pada interface dan kelas abstrak.
1. Kelas abstrak bisa mengandung metode abstrak dan metode tidak abstrak, sedangkan
pada interface harus semua metode abstrak.
2. Kelas abstrak dapat memiliki atribut, sedangkan interface tidak boleh memiliki atribut.
3. Kelas abstrak digunakan oleh kelas lain menggunakan pewarisan ( extends ), sedangkan
interface menggunakan implementasi ( implements ).
Bentuk umum deklarasi :
[modifier] interface namaInterface [extends] [namaInterface1, namaInterface2,
namaInterfaceN]
{
//deklarasi konstanta
//deklarasi fungsi – fungsi abstrak
}
suatu class yang mengimplementasikan suatu interface, maka class tersebut menyediakan
SEMUA definisi fungsi abstrak yang ada di Interface tersebut.
Deklarasi :
[modifier] class namaKelas implements Interface1 [,Interface2, InterfaceN]
{
//Implementasi Method Abstrak
//Badan Class
}
ABSTRAK
Kelas abstrak merupakan kelas dimana memiliki metode – metode namun tidak dideklarasikan,
pendeklarasiannya terjadi ada kelas turunannya. Untuk membuat kelas abstrak sama dengan
membuat kelas biasanya, namun diawali dengan kunci abstract pada kelasnya dan diawali
dengan kata kunci abstract pada metode yang akan dibuat namun tidak akan dideklarasikan.
Metode yang abstract tidak perlu berisikan deklarasinya.
Menurut Sinaga (2004), dijelaskan bahwa Abstract Class adalah class yang tidak dapat
diinstantiasi. Dengan kata lain Objek Class tersbut tidak dapat dibuat. Suatu class menjadi class
Abstract apabila class tersebut paling tidak memiliki fungsi Abstract.
Perbedaan abstrak dengan interface :
1. Class Abstract dapat memiliki fungsi non abstract (fungsi yang memiliki definisi).
2. Class Abstract dapat memiliki deklarasi variable.
Deklarasi :
abstract class nama_class
{
//Delarasi variabel
public abstract nama_fungsi_abstrak (parameter);
//Deklarasi fungsi yang lain
}
PEMBAHASAN
ABSTRACT
Pada class BangunDatar :
Pada class ini berisikan Method Abstrak .
 Method Abstrak
public abstract double hitungLuas();
public abstract double hitungKeliling();
public abstract double HitungLuas();
Merupakan method yang tidak boleh menggunakan/memakai deklarasi.
Jika sebuah method abstrak diisi dengan deklarasi, maka akan error.
Pada class BujurSangkar dan Lingkaran :
Pada class ini berisikan extends, tipe data double, dan method.
 Extends
Untuk mewariskan kelas turunannya, supaya tidak memboroskan coding atau terlalu
banyak penulisan coding.
 Tipe data double
Tipe data ini digunakan untuk suatu jenis bilangan decimal. Tipe data dapat digunakan
sesuai dengan keinginan dan kebutuhan programmer.
 Method
Method tersebut adalah method biasa/method tidak abstrak, artinya boleh diinputkan
sebuah deklarasi.
Pada class AbstractSample :
Pada class main ini, berisikan suatu pemanggilan method beserta objek, dan deklarasi.
BangunDatar obyek1 = new BujurSangkar(10) {
};
namaclass objek
System.out.println("Luas bujur sangkar dengan sisi 10 = " +
obyek1.hitungLuas());
System.out.println("Kelilingnya ="+obyek1.hitungKeliling());
System.out.println("n");
INTERFACE
Pada class InterfaceBangunDatar :
Class ini sama saja dengan class bangundatar pada abstrak, karna hanya berisikan method
abstrak dan disitu terdapat tambahan kata kunci final.
Pada class InterfaceBujurSangkar dan InterfaceSegitiga :
Class inipun tidak jauh berbeda dengan class pada abstrak, hanya saja kelas abstrak
menggunakan extends untuk mewarisi kelas turunannya, sedangkan interface menggunakan
implements.
Pada class InterfaceSample :
Sama saja dengan main class abstrak. Didalamnya berisikan suatu pemanggilan method saja,
diikuti dengan deklarasinya.
LISTING PROGRAM DAN HASIL RUNNING
ABSTRACT
Class BangunDatar :
package abstractsample;
/**
*
* @author azuura
*/
public abstract class BangunDatar {
public abstract double hitungLuas();
public abstract double hitungKeliling();
public abstract double HitungLuas();
public abstract double HitungKeliling();
}
Class BujurSangkar :
package abstractsample;
/**
*
* @author azuura
*/
public class BujurSangkar extends BangunDatar{
private double sisi;
public BujurSangkar(double sisi) {
this.sisi = sisi;
}
public double hitungKeliling() {
return 4 * sisi;
}
public double hitungLuas() {
return sisi * sisi;
}
public double HitungLuas() {
throw new UnsupportedOperationException("Not
supported yet.");
}
public double HitungKeliling() {
throw new UnsupportedOperationException("Not
supported yet.");
}
}
Class Lingkaran :
package abstractsample;
/**
*
* @author azuura
*/
public class Lingkaran extends BangunDatar {
private double r;
public Lingkaran(double r) {
this.r = r;
}
public double HitungKeliling() {
return 2 * 3.14 * r;
}
public double HitungLuas() {
return 3.14 * r * r;
}
public double hitungLuas() {
throw new UnsupportedOperationException("Not
supported yet.");
}
public double hitungKeliling() {
throw new UnsupportedOperationException("Not
supported yet.");
}
}
Class AbstractSample :
package abstractsample;
/**
*
* @author azuura
*/
public class AbstractSample {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
BangunDatar obyek1 = new BujurSangkar(10) {
};
System.out.println("Luas bujur sangkar dengan sisi 10 = "
+ obyek1.hitungLuas());
System.out.println("Kelilingnya = "
+ obyek1.hitungKeliling());
System.out.println("n");
BangunDatar obyek2 = new Lingkaran(7) {
};
System.out.println("Luas Lingkaran dengan jari - jari 7
= " + obyek2.HitungLuas());
System.out.println("Kelilingnya
= " + obyek2.HitungKeliling());
}
}
INTERFACE
Class InterfaceBangunDatar :
package abstractsample;
/**
*
* @author azuura
*/
public interface InterfaceBangunDatar {
static final String JENIS = "Bangun Datar 2D";
public abstract double hitungLuas();
public abstract double hitungKeliling();
}
Class InterfaceBujurSangkar :
package abstractsample;
/**
*
* @author azuura
*/
public class InterfaceBujurSangkar implements
InterfaceBangunDatar{
private double sisi;
public String getJenis(){
return JENIS;
}
public InterfaceBujurSangkar(double sisi){
this.sisi = sisi;
}
public double hitungKeliling() {
return sisi * sisi;
}
public double hitungLuas() {
return 4 * sisi;
}
}
Class InterfaceSegitiga :
package abstractsample;
/**
*
* @author azuura
*/
public class InterfaceSegitiga implements InterfaceBangunDatar{
private double alas;
private double tinggi;
public String getJenis(){
return JENIS;
}
public InterfaceSegitiga(double alas, double tinggi){
this.alas = alas;
this.tinggi = tinggi;
}
public double hitungKeliling() {
return 2 * alas + tinggi;
}
public double hitungLuas() {
return ((alas * tinggi)/2);
}
}
Class InterfaceSample :
package abstractsample;
/**
*
* @author azuura
*/
public class InterfaceSample {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
InterfaceBujurSangkar obyek1 = new
InterfaceBujurSangkar(10){};
System.out.println("Jenisnya adalah =
"+ obyek1.getJenis());
System.out.println("Luas bujur sangkar dengan sisi 10 =
"+ obyek1.hitungLuas());
System.out.println("Kelilingnya =
"+ obyek1.hitungKeliling());
System.out.println("n");
InterfaceBangunDatar obyek2 = new InterfaceSegitiga(6,
8){};
System.out.println("Jenisnya adalah
= "+ obyek1.getJenis());
System.out.println("Luas Segitiga dengan alas 6, dan
tinggi 8 = "+ obyek2.hitungLuas());
System.out.println("Kelilingnya
= "+ obyek2.hitungKeliling());
}
}
KESIMPULAN
Kesimpulannya adalah bahwa Interface merupakan class yang hanya berisi deklarasi method
tanpa memiliki implementasi dan semua property yang dimilikinya bersifat final.
Interface mirip dengan class abstract, tetapi interface tidak terkait dengan class hierarki. Interface
mendefinisikan sebuah ( signature) dari sebuah kumpulan method tanpa tubuh.
Interface perlu digunakan dalam kerja team, karena programmer yang lain tidak perlu tahu
bagaimana detail code ditulis.
Kesimpulan dari abstrak adalah abstrak memiliki Method abstrak dan method biasa/method
tidak abstrak. Namun fungsi method abstrak sama dengan gunanya untuk pewarisan.
DAFTAR PUSTAKA
Khannedy, Eko Kurniawan. 2011. Belajar Java Dasar. StripBandunk
http://7seasons.wordpress.com
Ad

Recommended

Konsep Inheritance
Konsep Inheritance
Riski_kiki
 
Ragam Dialog :: Interaksi Manusia dan Komputer
Ragam Dialog :: Interaksi Manusia dan Komputer
Auliaa Oktarianii
 
Interaksi manusia dan komputer
Interaksi manusia dan komputer
Miftahul Khair N
 
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
eddie Ismantoe
 
BAB 4 PBO C++ PENGENALAN ACCESS SPECIEFER
BAB 4 PBO C++ PENGENALAN ACCESS SPECIEFER
Ricko SkyWriter
 
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Shofura Kamal
 
OOP - Exception
OOP - Exception
KuliahKita
 
GoLang_1
GoLang_1
Dimas Prawira
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Debby Ummul
 
Pertemuan11 unix system call dan manajemen memory
Pertemuan11 unix system call dan manajemen memory
Syaiful Ahdan
 
Tabel, Tipe data, Record & Field Basis data
Tabel, Tipe data, Record & Field Basis data
joshua gidion
 
Pewarisan (inheritance) pada JAVA
Pewarisan (inheritance) pada JAVA
dyko ananta
 
Pertemuan 5 optimasi_dengan_alternatif_terbatas_-_lengkap
Pertemuan 5 optimasi_dengan_alternatif_terbatas_-_lengkap
Abrianto Nugraha
 
Dppl
Dppl
kimloi141297
 
Presentasi Implementasi Algoritma ID3
Presentasi Implementasi Algoritma ID3
Uliel Azmie
 
ppt Tipe data,variabel, operator
ppt Tipe data,variabel, operator
Iwank Odarlean
 
PBO - Pert 7, Mengenal dan Memahami Konsep Array Pada Java
PBO - Pert 7, Mengenal dan Memahami Konsep Array Pada Java
RUDISELAMAT2
 
CONTOH PROPOSAL PKM-KARSA CIPTA (DIDANAI DIKTI 2018)
CONTOH PROPOSAL PKM-KARSA CIPTA (DIDANAI DIKTI 2018)
Meda Aji Saputro
 
[PBO] Pertemuan 6 - Interface
[PBO] Pertemuan 6 - Interface
rizki adam kurniawan
 
Rpl 010 - perancangan arsitektural
Rpl 010 - perancangan arsitektural
Febriyani Syafri
 
Contoh peyelesaian logika fuzzy
Contoh peyelesaian logika fuzzy
Zaenal Khayat
 
Laporan Praktikum Basis Data Modul III-Manipulasi Data
Laporan Praktikum Basis Data Modul III-Manipulasi Data
Shofura Kamal
 
Pembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja online
andiseprianto
 
Sistem Basis Data(PPT)
Sistem Basis Data(PPT)
tafrikan
 
Representasi pengetahuan logika proposisi
Representasi pengetahuan logika proposisi
Gunawan Manalu
 
Frank B. Gilberth, Lillian M. Gilberth dan Perkembangan Ilmu Manajemen
Frank B. Gilberth, Lillian M. Gilberth dan Perkembangan Ilmu Manajemen
ermawidiana
 
Pengendalian sistem informasi berdasarkan komputer ppt sia ii
Pengendalian sistem informasi berdasarkan komputer ppt sia ii
Fergieta Prahasdhika
 
Konsep dasar basis data terpusat,ppde
Konsep dasar basis data terpusat,ppde
PT.Citra Mulia
 
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Melina Krisnawati
 
Pelajaran oop java 2 pengertian method dan cara pembuatan method by hermawan
Pelajaran oop java 2 pengertian method dan cara pembuatan method by hermawan
hermawanawang
 

More Related Content

What's hot (20)

Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Debby Ummul
 
Pertemuan11 unix system call dan manajemen memory
Pertemuan11 unix system call dan manajemen memory
Syaiful Ahdan
 
Tabel, Tipe data, Record & Field Basis data
Tabel, Tipe data, Record & Field Basis data
joshua gidion
 
Pewarisan (inheritance) pada JAVA
Pewarisan (inheritance) pada JAVA
dyko ananta
 
Pertemuan 5 optimasi_dengan_alternatif_terbatas_-_lengkap
Pertemuan 5 optimasi_dengan_alternatif_terbatas_-_lengkap
Abrianto Nugraha
 
Dppl
Dppl
kimloi141297
 
Presentasi Implementasi Algoritma ID3
Presentasi Implementasi Algoritma ID3
Uliel Azmie
 
ppt Tipe data,variabel, operator
ppt Tipe data,variabel, operator
Iwank Odarlean
 
PBO - Pert 7, Mengenal dan Memahami Konsep Array Pada Java
PBO - Pert 7, Mengenal dan Memahami Konsep Array Pada Java
RUDISELAMAT2
 
CONTOH PROPOSAL PKM-KARSA CIPTA (DIDANAI DIKTI 2018)
CONTOH PROPOSAL PKM-KARSA CIPTA (DIDANAI DIKTI 2018)
Meda Aji Saputro
 
[PBO] Pertemuan 6 - Interface
[PBO] Pertemuan 6 - Interface
rizki adam kurniawan
 
Rpl 010 - perancangan arsitektural
Rpl 010 - perancangan arsitektural
Febriyani Syafri
 
Contoh peyelesaian logika fuzzy
Contoh peyelesaian logika fuzzy
Zaenal Khayat
 
Laporan Praktikum Basis Data Modul III-Manipulasi Data
Laporan Praktikum Basis Data Modul III-Manipulasi Data
Shofura Kamal
 
Pembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja online
andiseprianto
 
Sistem Basis Data(PPT)
Sistem Basis Data(PPT)
tafrikan
 
Representasi pengetahuan logika proposisi
Representasi pengetahuan logika proposisi
Gunawan Manalu
 
Frank B. Gilberth, Lillian M. Gilberth dan Perkembangan Ilmu Manajemen
Frank B. Gilberth, Lillian M. Gilberth dan Perkembangan Ilmu Manajemen
ermawidiana
 
Pengendalian sistem informasi berdasarkan komputer ppt sia ii
Pengendalian sistem informasi berdasarkan komputer ppt sia ii
Fergieta Prahasdhika
 
Konsep dasar basis data terpusat,ppde
Konsep dasar basis data terpusat,ppde
PT.Citra Mulia
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Debby Ummul
 
Pertemuan11 unix system call dan manajemen memory
Pertemuan11 unix system call dan manajemen memory
Syaiful Ahdan
 
Tabel, Tipe data, Record & Field Basis data
Tabel, Tipe data, Record & Field Basis data
joshua gidion
 
Pewarisan (inheritance) pada JAVA
Pewarisan (inheritance) pada JAVA
dyko ananta
 
Pertemuan 5 optimasi_dengan_alternatif_terbatas_-_lengkap
Pertemuan 5 optimasi_dengan_alternatif_terbatas_-_lengkap
Abrianto Nugraha
 
Presentasi Implementasi Algoritma ID3
Presentasi Implementasi Algoritma ID3
Uliel Azmie
 
ppt Tipe data,variabel, operator
ppt Tipe data,variabel, operator
Iwank Odarlean
 
PBO - Pert 7, Mengenal dan Memahami Konsep Array Pada Java
PBO - Pert 7, Mengenal dan Memahami Konsep Array Pada Java
RUDISELAMAT2
 
CONTOH PROPOSAL PKM-KARSA CIPTA (DIDANAI DIKTI 2018)
CONTOH PROPOSAL PKM-KARSA CIPTA (DIDANAI DIKTI 2018)
Meda Aji Saputro
 
Rpl 010 - perancangan arsitektural
Rpl 010 - perancangan arsitektural
Febriyani Syafri
 
Contoh peyelesaian logika fuzzy
Contoh peyelesaian logika fuzzy
Zaenal Khayat
 
Laporan Praktikum Basis Data Modul III-Manipulasi Data
Laporan Praktikum Basis Data Modul III-Manipulasi Data
Shofura Kamal
 
Pembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja online
andiseprianto
 
Sistem Basis Data(PPT)
Sistem Basis Data(PPT)
tafrikan
 
Representasi pengetahuan logika proposisi
Representasi pengetahuan logika proposisi
Gunawan Manalu
 
Frank B. Gilberth, Lillian M. Gilberth dan Perkembangan Ilmu Manajemen
Frank B. Gilberth, Lillian M. Gilberth dan Perkembangan Ilmu Manajemen
ermawidiana
 
Pengendalian sistem informasi berdasarkan komputer ppt sia ii
Pengendalian sistem informasi berdasarkan komputer ppt sia ii
Fergieta Prahasdhika
 
Konsep dasar basis data terpusat,ppde
Konsep dasar basis data terpusat,ppde
PT.Citra Mulia
 

Viewers also liked (20)

Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Melina Krisnawati
 
Pelajaran oop java 2 pengertian method dan cara pembuatan method by hermawan
Pelajaran oop java 2 pengertian method dan cara pembuatan method by hermawan
hermawanawang
 
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)
Melina Krisnawati
 
4 abstract class, interface
4 abstract class, interface
Robbie AkaChopa
 
Materi ii dasar dasar netbeans
Materi ii dasar dasar netbeans
Izal Kernel
 
OOP Dalam Pemrograman Java
OOP Dalam Pemrograman Java
Anjar Ridwan
 
Collection in Java
Collection in Java
Home
 
javainterface
javainterface
Arjun Shanka
 
Laporan praktikum Algoritma dan Pemrograman pertemuan 15
Laporan praktikum Algoritma dan Pemrograman pertemuan 15
Ekha Cahya Nugraha
 
Laporan PBO Pratikum 3
Laporan PBO Pratikum 3
rahmi wahyuni
 
Laporan PBO pratikum 2
Laporan PBO pratikum 2
rahmi wahyuni
 
Keliling bangun persegi panjang
Keliling bangun persegi panjang
School of Visual Arts
 
Modul Praktek Java OOP
Modul Praktek Java OOP
Zaenal Arifin
 
Tugas Praktikum Pemrograman Berorientasi Objek
Tugas Praktikum Pemrograman Berorientasi Objek
Pungkas Soebarkah
 
Java collection
Java collection
Arati Gadgil
 
Collections In Java
Collections In Java
Binoj T E
 
contoh Program sederhana Java dan penjelasan programnya
contoh Program sederhana Java dan penjelasan programnya
stephan EL'wiin Shaarawy
 
Power point bangun datar Kelas 3 SD
Power point bangun datar Kelas 3 SD
Fauziyatun Ni'amah
 
Collection Framework in java
Collection Framework in java
CPD INDIA
 
Practical OOP In Java
Practical OOP In Java
wiradikusuma
 
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Melina Krisnawati
 
Pelajaran oop java 2 pengertian method dan cara pembuatan method by hermawan
Pelajaran oop java 2 pengertian method dan cara pembuatan method by hermawan
hermawanawang
 
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)
Melina Krisnawati
 
4 abstract class, interface
4 abstract class, interface
Robbie AkaChopa
 
Materi ii dasar dasar netbeans
Materi ii dasar dasar netbeans
Izal Kernel
 
OOP Dalam Pemrograman Java
OOP Dalam Pemrograman Java
Anjar Ridwan
 
Collection in Java
Collection in Java
Home
 
Laporan praktikum Algoritma dan Pemrograman pertemuan 15
Laporan praktikum Algoritma dan Pemrograman pertemuan 15
Ekha Cahya Nugraha
 
Laporan PBO Pratikum 3
Laporan PBO Pratikum 3
rahmi wahyuni
 
Laporan PBO pratikum 2
Laporan PBO pratikum 2
rahmi wahyuni
 
Modul Praktek Java OOP
Modul Praktek Java OOP
Zaenal Arifin
 
Tugas Praktikum Pemrograman Berorientasi Objek
Tugas Praktikum Pemrograman Berorientasi Objek
Pungkas Soebarkah
 
Collections In Java
Collections In Java
Binoj T E
 
contoh Program sederhana Java dan penjelasan programnya
contoh Program sederhana Java dan penjelasan programnya
stephan EL'wiin Shaarawy
 
Power point bangun datar Kelas 3 SD
Power point bangun datar Kelas 3 SD
Fauziyatun Ni'amah
 
Collection Framework in java
Collection Framework in java
CPD INDIA
 
Practical OOP In Java
Practical OOP In Java
wiradikusuma
 
Ad

Similar to Java (Netbeans) - Abstract & Interface - Object Oriented Programming (20)

Modul 7 pbo
Modul 7 pbo
arrofikzulkarnaen
 
Interfaces & abstrack classes UNP Padang.pptx
Interfaces & abstrack classes UNP Padang.pptx
RizalSitanggang1
 
Algoritma dan Struktur Data
Algoritma dan Struktur Data
As Faizin
 
DESAIN PEMROGRAMAN BERORIENTASI OBJEK - INTERFACE DAN KELAS ABSTRAK.pptx
DESAIN PEMROGRAMAN BERORIENTASI OBJEK - INTERFACE DAN KELAS ABSTRAK.pptx
HardikaKhusnulia
 
SEC12S3 - MATKUL - PBO - 7 - Abstract.pptx
SEC12S3 - MATKUL - PBO - 7 - Abstract.pptx
muhammaddliyaaul
 
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan
hermawanawang
 
Muhammad Firdaus
Muhammad Firdaus
muhammaddaus
 
Lanjutan-Konsep-OOPLanjutan-Konsep-OOP.ppt
Lanjutan-Konsep-OOPLanjutan-Konsep-OOP.ppt
AliKhumaidi4
 
Nelly
Nelly
nellylawar
 
Delphi
Delphi
Hardini_HD
 
Class dan object
Class dan object
Hardini_HD
 
Pemrograman 2 Part 3.pdf
Pemrograman 2 Part 3.pdf
JeffryAndrian
 
Pemograman berorientasi objek
Pemograman berorientasi objek
Alvin Setiawan
 
Blog.yuna
Blog.yuna
syf_yunarti
 
Pewarisan, Polimorfisme, dan Interface
Pewarisan, Polimorfisme, dan Interface
Ibrahim Naki
 
Modul 1 Algo
Modul 1 Algo
STMIK AKAKOM
 
Pengenalan Java
Pengenalan Java
Laili Aidi
 
Modul pratikum pbo - ENCAPSULATION
Modul pratikum pbo - ENCAPSULATION
rahmantoyuri
 
Dasar pemrograman C++
Dasar pemrograman C++
Andan Sperrow
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)
Debby Ummul
 
Interfaces & abstrack classes UNP Padang.pptx
Interfaces & abstrack classes UNP Padang.pptx
RizalSitanggang1
 
Algoritma dan Struktur Data
Algoritma dan Struktur Data
As Faizin
 
DESAIN PEMROGRAMAN BERORIENTASI OBJEK - INTERFACE DAN KELAS ABSTRAK.pptx
DESAIN PEMROGRAMAN BERORIENTASI OBJEK - INTERFACE DAN KELAS ABSTRAK.pptx
HardikaKhusnulia
 
SEC12S3 - MATKUL - PBO - 7 - Abstract.pptx
SEC12S3 - MATKUL - PBO - 7 - Abstract.pptx
muhammaddliyaaul
 
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan
hermawanawang
 
Lanjutan-Konsep-OOPLanjutan-Konsep-OOP.ppt
Lanjutan-Konsep-OOPLanjutan-Konsep-OOP.ppt
AliKhumaidi4
 
Class dan object
Class dan object
Hardini_HD
 
Pemrograman 2 Part 3.pdf
Pemrograman 2 Part 3.pdf
JeffryAndrian
 
Pemograman berorientasi objek
Pemograman berorientasi objek
Alvin Setiawan
 
Pewarisan, Polimorfisme, dan Interface
Pewarisan, Polimorfisme, dan Interface
Ibrahim Naki
 
Pengenalan Java
Pengenalan Java
Laili Aidi
 
Modul pratikum pbo - ENCAPSULATION
Modul pratikum pbo - ENCAPSULATION
rahmantoyuri
 
Dasar pemrograman C++
Dasar pemrograman C++
Andan Sperrow
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)
Debby Ummul
 
Ad

More from Melina Krisnawati (19)

makalah sistem operasi - android vd ios
makalah sistem operasi - android vd ios
Melina Krisnawati
 
Laporan praktikum i dan ii tentang mengenal perintah dasar linux ubuntu
Laporan praktikum i dan ii tentang mengenal perintah dasar linux ubuntu
Melina Krisnawati
 
Kode program layout xml dan tampilan ui graphical (menggunakan eclipse)
Kode program layout xml dan tampilan ui graphical (menggunakan eclipse)
Melina Krisnawati
 
menu strip - visual basic
menu strip - visual basic
Melina Krisnawati
 
Tugas algoritma fibonacci
Tugas algoritma fibonacci
Melina Krisnawati
 
Algoritma - Array
Algoritma - Array
Melina Krisnawati
 
Aplikasi sistem informasi pada fungsi fungsi organisasi
Aplikasi sistem informasi pada fungsi fungsi organisasi
Melina Krisnawati
 
Laporan Final Project - Aplikasi Sistem Informasi Rental CD - Netbeans
Laporan Final Project - Aplikasi Sistem Informasi Rental CD - Netbeans
Melina Krisnawati
 
Java (Netbeans) - Exception handling - Object Oriented Programming
Java (Netbeans) - Exception handling - Object Oriented Programming
Melina Krisnawati
 
Java (Netbeans) - Looping - Object Oriented Programming
Java (Netbeans) - Looping - Object Oriented Programming
Melina Krisnawati
 
Laporan pembuatan Final Project (Java - Netbeans) "Rental CD"
Laporan pembuatan Final Project (Java - Netbeans) "Rental CD"
Melina Krisnawati
 
Konsep & storyboard game multimedia (puzzle alphabet)
Konsep & storyboard game multimedia (puzzle alphabet)
Melina Krisnawati
 
Multimedia 2D (Game) - Puzzle alphabet
Multimedia 2D (Game) - Puzzle alphabet
Melina Krisnawati
 
Pemrograman Mobile - Try Catch
Pemrograman Mobile - Try Catch
Melina Krisnawati
 
Laporan praktikum 4 Sistem Operasi - External Command (mem, xcopy, system, l...
Laporan praktikum 4 Sistem Operasi - External Command (mem, xcopy, system, l...
Melina Krisnawati
 
Laporan praktikum 3 - Sistem Operasi Internal & External Command (Lanjutan)
Laporan praktikum 3 - Sistem Operasi Internal & External Command (Lanjutan)
Melina Krisnawati
 
Laporan praktikum 2 - Sistem Operasi - internal command - copy con, rename,...
Laporan praktikum 2 - Sistem Operasi - internal command - copy con, rename,...
Melina Krisnawati
 
Laporan Praktikum - Sistem Operasi - Perintah Internal Command
Laporan Praktikum - Sistem Operasi - Perintah Internal Command
Melina Krisnawati
 
makalah sistem operasi - android vd ios
makalah sistem operasi - android vd ios
Melina Krisnawati
 
Laporan praktikum i dan ii tentang mengenal perintah dasar linux ubuntu
Laporan praktikum i dan ii tentang mengenal perintah dasar linux ubuntu
Melina Krisnawati
 
Kode program layout xml dan tampilan ui graphical (menggunakan eclipse)
Kode program layout xml dan tampilan ui graphical (menggunakan eclipse)
Melina Krisnawati
 
Aplikasi sistem informasi pada fungsi fungsi organisasi
Aplikasi sistem informasi pada fungsi fungsi organisasi
Melina Krisnawati
 
Laporan Final Project - Aplikasi Sistem Informasi Rental CD - Netbeans
Laporan Final Project - Aplikasi Sistem Informasi Rental CD - Netbeans
Melina Krisnawati
 
Java (Netbeans) - Exception handling - Object Oriented Programming
Java (Netbeans) - Exception handling - Object Oriented Programming
Melina Krisnawati
 
Java (Netbeans) - Looping - Object Oriented Programming
Java (Netbeans) - Looping - Object Oriented Programming
Melina Krisnawati
 
Laporan pembuatan Final Project (Java - Netbeans) "Rental CD"
Laporan pembuatan Final Project (Java - Netbeans) "Rental CD"
Melina Krisnawati
 
Konsep & storyboard game multimedia (puzzle alphabet)
Konsep & storyboard game multimedia (puzzle alphabet)
Melina Krisnawati
 
Multimedia 2D (Game) - Puzzle alphabet
Multimedia 2D (Game) - Puzzle alphabet
Melina Krisnawati
 
Pemrograman Mobile - Try Catch
Pemrograman Mobile - Try Catch
Melina Krisnawati
 
Laporan praktikum 4 Sistem Operasi - External Command (mem, xcopy, system, l...
Laporan praktikum 4 Sistem Operasi - External Command (mem, xcopy, system, l...
Melina Krisnawati
 
Laporan praktikum 3 - Sistem Operasi Internal & External Command (Lanjutan)
Laporan praktikum 3 - Sistem Operasi Internal & External Command (Lanjutan)
Melina Krisnawati
 
Laporan praktikum 2 - Sistem Operasi - internal command - copy con, rename,...
Laporan praktikum 2 - Sistem Operasi - internal command - copy con, rename,...
Melina Krisnawati
 
Laporan Praktikum - Sistem Operasi - Perintah Internal Command
Laporan Praktikum - Sistem Operasi - Perintah Internal Command
Melina Krisnawati
 

Java (Netbeans) - Abstract & Interface - Object Oriented Programming

  • 1. MAKALAH PRAKTIKUM ABSTRACT & INTERFACE PEMROGRAMAN BERORIENTASI OBJECT DISUSUN OLEH : MELINA KRISNAWATI 12.12.0328 SI 12 F STMIK AMIKOM PURWOKERTO
  • 2. TAHUN AJARAN 2012 / 2013 SOAL ( STUDI KASUS ) J Modifikasi program berdasarkan praktek abstrak. J Menambahkan sebuah kelas yang berisi definisi untuk menghitung luas dan keliling lingkaran, simpan dengan nama file “lingkaran.java”. kemudian buat obyek lingkaran ada method main() dan tampilkan hasilnya.  Modifikasi program berdasarkan praktek inteface.  Menambahkan sebuah kelas yang berisi definisi untuk menghitung luas dan keliling segitiga, simpan dengan nama file “InterfaceSegitiga.java”. kemudian pada method main() buat obyek segitiga tampilkan hasilnya.
  • 3. LANDASAN TEORI INTERFACE Interface adalah class yang hanya berisi deklarasi method tanpa memiliki implementasi dan semua property yang dimilikinya bersifat final. Interface mirip dengan abstrak. Pada java, interface merupakan device yang digunakan untuk komunikasi antarobject berbeda yang tidak memiliki hubungan apa pun. Interface bisa dikatakan sebagai protocol komunikasi antarobject tersebut. Interface merupakan mekanisme dimana kita dapat menentukan metode – metode yang harus ada pada kelas. Interface hamper mirip dengan kelas abstrak, namun ada beberapa perbedaan pada interface dan kelas abstrak. 1. Kelas abstrak bisa mengandung metode abstrak dan metode tidak abstrak, sedangkan pada interface harus semua metode abstrak. 2. Kelas abstrak dapat memiliki atribut, sedangkan interface tidak boleh memiliki atribut. 3. Kelas abstrak digunakan oleh kelas lain menggunakan pewarisan ( extends ), sedangkan interface menggunakan implementasi ( implements ). Bentuk umum deklarasi :
  • 4. [modifier] interface namaInterface [extends] [namaInterface1, namaInterface2, namaInterfaceN] { //deklarasi konstanta //deklarasi fungsi – fungsi abstrak } suatu class yang mengimplementasikan suatu interface, maka class tersebut menyediakan SEMUA definisi fungsi abstrak yang ada di Interface tersebut. Deklarasi : [modifier] class namaKelas implements Interface1 [,Interface2, InterfaceN] { //Implementasi Method Abstrak //Badan Class } ABSTRAK Kelas abstrak merupakan kelas dimana memiliki metode – metode namun tidak dideklarasikan, pendeklarasiannya terjadi ada kelas turunannya. Untuk membuat kelas abstrak sama dengan membuat kelas biasanya, namun diawali dengan kunci abstract pada kelasnya dan diawali dengan kata kunci abstract pada metode yang akan dibuat namun tidak akan dideklarasikan. Metode yang abstract tidak perlu berisikan deklarasinya. Menurut Sinaga (2004), dijelaskan bahwa Abstract Class adalah class yang tidak dapat diinstantiasi. Dengan kata lain Objek Class tersbut tidak dapat dibuat. Suatu class menjadi class Abstract apabila class tersebut paling tidak memiliki fungsi Abstract. Perbedaan abstrak dengan interface :
  • 5. 1. Class Abstract dapat memiliki fungsi non abstract (fungsi yang memiliki definisi). 2. Class Abstract dapat memiliki deklarasi variable. Deklarasi : abstract class nama_class { //Delarasi variabel public abstract nama_fungsi_abstrak (parameter); //Deklarasi fungsi yang lain } PEMBAHASAN ABSTRACT Pada class BangunDatar : Pada class ini berisikan Method Abstrak .  Method Abstrak public abstract double hitungLuas(); public abstract double hitungKeliling(); public abstract double HitungLuas();
  • 6. Merupakan method yang tidak boleh menggunakan/memakai deklarasi. Jika sebuah method abstrak diisi dengan deklarasi, maka akan error. Pada class BujurSangkar dan Lingkaran : Pada class ini berisikan extends, tipe data double, dan method.  Extends Untuk mewariskan kelas turunannya, supaya tidak memboroskan coding atau terlalu banyak penulisan coding.  Tipe data double Tipe data ini digunakan untuk suatu jenis bilangan decimal. Tipe data dapat digunakan sesuai dengan keinginan dan kebutuhan programmer.  Method Method tersebut adalah method biasa/method tidak abstrak, artinya boleh diinputkan sebuah deklarasi. Pada class AbstractSample :
  • 7. Pada class main ini, berisikan suatu pemanggilan method beserta objek, dan deklarasi. BangunDatar obyek1 = new BujurSangkar(10) { }; namaclass objek System.out.println("Luas bujur sangkar dengan sisi 10 = " + obyek1.hitungLuas()); System.out.println("Kelilingnya ="+obyek1.hitungKeliling()); System.out.println("n"); INTERFACE Pada class InterfaceBangunDatar : Class ini sama saja dengan class bangundatar pada abstrak, karna hanya berisikan method abstrak dan disitu terdapat tambahan kata kunci final. Pada class InterfaceBujurSangkar dan InterfaceSegitiga : Class inipun tidak jauh berbeda dengan class pada abstrak, hanya saja kelas abstrak menggunakan extends untuk mewarisi kelas turunannya, sedangkan interface menggunakan implements. Pada class InterfaceSample :
  • 8. Sama saja dengan main class abstrak. Didalamnya berisikan suatu pemanggilan method saja, diikuti dengan deklarasinya. LISTING PROGRAM DAN HASIL RUNNING ABSTRACT Class BangunDatar : package abstractsample; /** * * @author azuura */ public abstract class BangunDatar { public abstract double hitungLuas(); public abstract double hitungKeliling();
  • 9. public abstract double HitungLuas(); public abstract double HitungKeliling(); } Class BujurSangkar : package abstractsample; /** * * @author azuura */ public class BujurSangkar extends BangunDatar{ private double sisi; public BujurSangkar(double sisi) { this.sisi = sisi; } public double hitungKeliling() {
  • 10. return 4 * sisi; } public double hitungLuas() { return sisi * sisi; } public double HitungLuas() { throw new UnsupportedOperationException("Not supported yet."); } public double HitungKeliling() { throw new UnsupportedOperationException("Not supported yet."); } } Class Lingkaran : package abstractsample;
  • 11. /** * * @author azuura */ public class Lingkaran extends BangunDatar { private double r; public Lingkaran(double r) { this.r = r; } public double HitungKeliling() { return 2 * 3.14 * r; } public double HitungLuas() { return 3.14 * r * r; } public double hitungLuas() { throw new UnsupportedOperationException("Not supported yet.");
  • 12. } public double hitungKeliling() { throw new UnsupportedOperationException("Not supported yet."); } } Class AbstractSample : package abstractsample; /** * * @author azuura */ public class AbstractSample { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here BangunDatar obyek1 = new BujurSangkar(10) { }; System.out.println("Luas bujur sangkar dengan sisi 10 = " + obyek1.hitungLuas());
  • 13. System.out.println("Kelilingnya = " + obyek1.hitungKeliling()); System.out.println("n"); BangunDatar obyek2 = new Lingkaran(7) { }; System.out.println("Luas Lingkaran dengan jari - jari 7 = " + obyek2.HitungLuas()); System.out.println("Kelilingnya = " + obyek2.HitungKeliling()); } } INTERFACE Class InterfaceBangunDatar : package abstractsample;
  • 14. /** * * @author azuura */ public interface InterfaceBangunDatar { static final String JENIS = "Bangun Datar 2D"; public abstract double hitungLuas(); public abstract double hitungKeliling(); } Class InterfaceBujurSangkar : package abstractsample; /** * * @author azuura */ public class InterfaceBujurSangkar implements InterfaceBangunDatar{ private double sisi; public String getJenis(){ return JENIS; }
  • 15. public InterfaceBujurSangkar(double sisi){ this.sisi = sisi; } public double hitungKeliling() { return sisi * sisi; } public double hitungLuas() { return 4 * sisi; } } Class InterfaceSegitiga : package abstractsample; /** * * @author azuura */ public class InterfaceSegitiga implements InterfaceBangunDatar{ private double alas; private double tinggi; public String getJenis(){ return JENIS; } public InterfaceSegitiga(double alas, double tinggi){ this.alas = alas;
  • 16. this.tinggi = tinggi; } public double hitungKeliling() { return 2 * alas + tinggi; } public double hitungLuas() { return ((alas * tinggi)/2); } } Class InterfaceSample : package abstractsample; /** * * @author azuura */ public class InterfaceSample { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here InterfaceBujurSangkar obyek1 = new InterfaceBujurSangkar(10){}; System.out.println("Jenisnya adalah = "+ obyek1.getJenis());
  • 17. System.out.println("Luas bujur sangkar dengan sisi 10 = "+ obyek1.hitungLuas()); System.out.println("Kelilingnya = "+ obyek1.hitungKeliling()); System.out.println("n"); InterfaceBangunDatar obyek2 = new InterfaceSegitiga(6, 8){}; System.out.println("Jenisnya adalah = "+ obyek1.getJenis()); System.out.println("Luas Segitiga dengan alas 6, dan tinggi 8 = "+ obyek2.hitungLuas()); System.out.println("Kelilingnya = "+ obyek2.hitungKeliling()); } } KESIMPULAN Kesimpulannya adalah bahwa Interface merupakan class yang hanya berisi deklarasi method tanpa memiliki implementasi dan semua property yang dimilikinya bersifat final.
  • 18. Interface mirip dengan class abstract, tetapi interface tidak terkait dengan class hierarki. Interface mendefinisikan sebuah ( signature) dari sebuah kumpulan method tanpa tubuh. Interface perlu digunakan dalam kerja team, karena programmer yang lain tidak perlu tahu bagaimana detail code ditulis. Kesimpulan dari abstrak adalah abstrak memiliki Method abstrak dan method biasa/method tidak abstrak. Namun fungsi method abstrak sama dengan gunanya untuk pewarisan. DAFTAR PUSTAKA Khannedy, Eko Kurniawan. 2011. Belajar Java Dasar. StripBandunk http://7seasons.wordpress.com