LAPORAN RESMI MODUL 6 PACKAGE COMMON COM
LAPORAN RESMI
PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK
MODUL 6
“PACKAGE”
Disusun Oleh :
TANGGAL PRAKTIKUM
: 18 Desember 2012
NAMA
: Shobihatul Mubarokah Ayu A.
NRP
: 11.04.111.00039
KELAS
: C2
DOSEN PENGAMPU
: Muhammad Fuad,S.Kom
TELAH DISETUJUI TANGGAL
…………………………..
Asisten Praktikum
(Nur Islami Syabaniyah)
NRP. 09.04.111.00076
COMMON COMPUTING LABORATORY
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK UNIVERSITAS
TRUNOJOYO
2012
BAB I
PENDAHULUAN
1.1 Latar Belakang
Ketika menangani program dalam skala kecil, tidak ada masalah untuk
meletakkan semua file java dalam satu direktori. Itu akan mempercepat dan
mempermudah pekerjaan dan masih aman. Tetapi jika project yang dikerjakan
semakin berkembang dan jumlah file yang dikerjakan semakin banyak serta
orang yang mengerjakan project lebih dari satu maka meletakkan file java ke
dalam satu direktori akan merepotkan pekerjaan karena software yang
dibangun akan tidak terstruktur. Maka dari itu Java menyediakan fitur untuk
menangani
hal
ini
dengan
memakai
“Package”.
Package
adalah
mengelompokkan kelas-kelas yang saling berelasi dan interfaces yang
memberikan proteksi terhadap access kelas yang tidak boleh diakses oleh
kelas lain karena tidak berelasi,dan manajemen nama. Ketentuan membuat
Package di Java yaitu :
package adalah 1 subfolder di file system.
atau library.
Package sangat berguna untuk mengorganisir file dalam suatu Project
Nama package menggunakan lowercase.
Keyword: package name.
1.2 Tujuan
1. Mahasiswa mengenal Package dalam program Java.
2. Mahasiswa mengerti dan memahami Package dalam pemrograman Java.
BAB II
DASAR TEORI
2.1 Teori Dasar
Package adalah cara Java untuk membuat suatu pustaka class. Kita
dapat membuat package berisi
sekumpulan class dan menggunakan package
tersebut dalam class atau program lain tanpa memindah kumpulan class ke dalam
direktori kerja. Untuk membuat package, letakkan beberapa file kode .java ke
dalam direktori dan tambahkan kata kunci package di awal setiap file kode
tersebut. Kemudian lakukan kompilasi sehingga dalam direktori terbentuk file
class. Sebelum suatu package dapat diimport oleh class lain, tambahkan path dari
package ke dalam CLASSPATH.
BAB III
TUGAS PENDAHULUAN
1. Bagaimana agar class dalam suatu package dapat digunakan?
2. Mana yang lebih dahulu ditulis, kata kunci package atau import?
3. Tanda separator apa yang digunakan untuk memisahkan antara nama
package dengan nama class?
Jawaban :
1. Gunakan hak akses public, karena dengan menggunakan keyword Public
dapat diakses sembarang object manapun dan dimanapun posisinya serta
dengan apapun caranya. Namun, ketika file program tidak berada di dalam
satu direktori/ berada dalam package yang berbeda maka diharuskan untuk
melakukan kompilasi menggunakan option-class path. Maka Class-class
dalam suatu package tersebut harus disimpan pada directory yang sama
dengan nama packagenya..
2. Deklarasi package diletakkan sebelum deklarasi import dari source code
setiap kelas yang dibungkus package tersebut.
3. Tanda separator yang digunakan adalah tanda titik (.)
Package.class object = new Package.class();
BAB IV
KEGIATAN PRAKTIKUM
Pada bagian kegiatan praktikum ini, kita akan belajar membuat class yang
dikelompokkan dalam package kemudian menggunakan package ini dari class
lain.
package matematika;
/**
*
* @author labdasar 20
*/
interface MtkDasar{
String tambah(int a, int b);
String kurang(int a, int b);
}
package matematika;
/**
*
* @author labdasar 20
*/
public class Pecahan implements MtkDasar{
private int pembilang, penyebut;
public Pecahan(int a, int b){
this.pembilang = a;
if (b!= 0){
this.penyebut=b;
}else{
System.out.print("penyebut
0");
}
tidak
boleh
}
@Override
public String tambah(int a, int b) {
int atas= (pembilang*b)+(penyebut*a);
int bawah=(penyebut*b);
return (""+atas+ "/"+bawah+"");
}
@Override
public String kurang(int a, int b) {
int atas= (pembilang*b)-(penyebut*a);
int bawah=(penyebut*b);
return (""+atas+ "/"+bawah+"");
}
public String toString(){
return pembilang + "/" + penyebut;
}
}
//
set CLASSPATH=c:/;.
package matematika;
import matematika.Pecahan;
/**
*
* @author labdasar 20
*/
public class CobaPecahan {
public static void main(String[] args) {
Pecahan pecahan1 = new Pecahan(1, 2);
System.out.println("" + pecahan1 + " + 1/4 " +
" = " + pecahan1.tambah(1, 4));
}
}
Print Screen Running Program
BAB V
TUGAS PRAKTIKUM
5.1 Tugas Akhir
1. Modifikasilah kode program interface MtkDasar.java, dan Pecahan.java
agar dapat menghasilkan return value berupa Object.
2. Lengkapi interface MtkDasar dengan kemampuan matematika dasar yang
lain yaitu kali (untuk mengerjakan operasi perkalian), dan bagi (untuk
mengerjakan operasi pembagian). Sesuaikan kedua class lain, Pecahan dan
CobaPecahan.
Jawab :
package matematika;
public interface MtkDasar {
String tambah(Object obj);
String kurang(Object obj);
String kali(Object obj);
String bagi(Object obj);
}
package matematika;
import matematika.Pecahan;
public class Pecahan implements MtkDasar {
private int pembilang, penyebut;
public Pecahan(int pembilang, int penyebut) {
this.pembilang = pembilang;
this.penyebut = penyebut;
}
public int getValuePembilang() {
return this.pembilang;
}
public int getValuePenyebut() {
return this.penyebut;
}
public int penyebutHsl(int a, int b) {
int hsl;
if (a % b == 0 || b % a == 0) {
if (a >= b) {
hsl = (a / b) * b;
} else {
hsl = (b / a) * a;
}
} else {
hsl = a * b;
}
return hsl;
}
public String tambah(Object obj) {
StringBuilder strHasil = new StringBuilder("
");
Pecahan data = new Pecahan(pembilang,
penyebut);
pembilang = data.getValuePembilang();
penyebut = data.getValuePenyebut();
Pecahan tambah = (Pecahan) obj;
int pembilang1 = tambah.getValuePembilang();
int penyebut1 = tambah.getValuePenyebut();
int penyHsl = tambah.penyebutHsl(penyebut,
penyebut1);
int hasil = (pembilang * (penyHsl / penyebut))
+ (pembilang1 * (penyHsl / penyebut1));
strHasil.insert(0, hasil);
strHasil.insert(strHasil.length() - 1, "/");
strHasil.insert(strHasil.length() - 1,
penyHsl);
return (strHasil.toString());
}
public String kurang(Object obj) {
StringBuilder strHasil = new StringBuilder("
");
Pecahan data = new Pecahan(pembilang,
penyebut);
pembilang = data.getValuePembilang();
penyebut = data.getValuePenyebut();
Pecahan tambah = (Pecahan) obj;
int pembilang1 = tambah.getValuePembilang();
int penyebut1 = tambah.getValuePenyebut();
int penyHsl = tambah.penyebutHsl(penyebut,
penyebut1);
int hasil = (pembilang * (penyHsl / penyebut))
- (pembilang1 * (penyHsl / penyebut1));
strHasil.insert(0, hasil);
strHasil.insert(strHasil.length() - 1, "/");
strHasil.insert(strHasil.length() - 1,
penyHsl);
return (strHasil.toString());
}
public String kali(Object obj) {
StringBuilder strHasil = new StringBuilder("
");
Pecahan data = new Pecahan(pembilang,
penyebut);
pembilang = data.getValuePembilang();
penyebut = data.getValuePenyebut();
Pecahan kali = (Pecahan) obj;
int pembilang1 = kali.getValuePembilang();
int penyebut1 = kali.getValuePenyebut();
int penyHsl = kali.penyebutHsl(penyebut,
penyebut1);
int hasil = (pembilang) * (pembilang1);
strHasil.insert(0, hasil);
strHasil.insert(strHasil.length() - 1, "/");
strHasil.insert(strHasil.length() - 1,
penyHsl);
return (strHasil.toString());
}
public String bagi(Object obj) {
StringBuilder strHasil = new StringBuilder("
");
Pecahan data = new Pecahan(pembilang,
penyebut);
pembilang = data.getValuePembilang();
penyebut = data.getValuePenyebut();
Pecahan bagi = (Pecahan) obj;
int pembilang1 = bagi.getValuePembilang();
int penyebut1 = bagi.getValuePenyebut();
int penyHsl = bagi.penyebutHsl(penyebut,
pembilang1);
int hasil = (pembilang) * (penyebut1);
strHasil.insert(0, hasil);
strHasil.insert(strHasil.length() - 1, "/");
strHasil.insert(strHasil.length() - 1,
penyHsl);
return (strHasil.toString());
}
public String toString() {
StringBuilder tampil = new StringBuilder(" ");
Pecahan data = new Pecahan(pembilang,
penyebut);
tampil.insert(0, data.getValuePembilang());
tampil.insert(tampil.length() - 1, "/");
tampil.insert(tampil.length() - 1,
data.getValuePenyebut());
return (tampil.toString());
}
}
package matematika;
import java.util.Scanner;
import matematika.Pecahan;
public class CobaPecahan {
public static void main(String[] args) {
int a;
int b;
int c;
int d;
Scanner x = new Scanner(System.in);
System.out.print("Masukkan nilai a : ");
a = x.nextInt();
System.out.print("Masukkan nilai b : ");
b = x.nextInt();
System.out.print("Masukkan nilai c : ");
c = x.nextInt();
System.out.print("Masukkan nilai d : ");
d = x.nextInt();
System.out.print("Operator [ + ; - ; * ; : ]
");
String op = x.next();
Pecahan pecahanku = new Pecahan(a, b);
Pecahan pecahan2 = new Pecahan(c, d);
if (op.compareTo("+") == 0) {
System.out.println("\n" + pecahanku + "+ "
+ c + "/" + d + " = " + pecahanku.tambah(pecahan2));
} else if (op.compareTo("-") == 0) {
System.out.println("\n" + pecahanku + "- "
+ c + "/" + d + " = " + pecahanku.kurang(pecahan2));
} else if (op.compareTo("*") == 0) {
System.out.println("\n" + pecahanku + "* "
+ c + "/" + d + " = " + pecahanku.kali(pecahan2));
} else if (op.compareTo(":") == 0) {
System.out.println("\n" + pecahanku + ": "
+ c + "/" + d + " = " + pecahanku.bagi(pecahan2));
}
}
}
Print Screen Running Program
5.2 Tugas Tambahan
1. Jelaskan perbedaan Interface dan Class
2. Jelaskan perbedaan Interface dan Abstract Class
Jawab :
1. Interface :
Sebuah blok signature kumpulan method tanpa tubuh (konstan).
class-class yang berbeda.
Sebuah definisi method yang umum/general yang dapat menghubungkan
Dengan kata lain, interface memungkinkan kita mengimplementasikan
method yang sama terhadap class yang tidak ada hubungan sama sekali
(tidak dalam satu hirarki)
Oleh karena itu interface bukanlah sebuah class, walaupun memiliki ciri
yang serupa dengan abstract class.
Class :
Mendefinisikan class yang nyata.
Object hanya bisa dibuat dari non-abstract class (concrete class)
Dapat membentuk atau instansiasi object.
Dapat menurunkan implementasi dari super class
Dapat
sebagai
base
class
pada
hierarchical
relationship
membutuhkan class lain untuk mewarisinya
2.
Abstract Class
Interface
Bisa berisi abstract dan non- Hanya boleh berisi abstract method.
abstract method.
Kita harus menuliskan sendiri Kita tidak perlu susah2 menulis public
modifiernya.
abstract di depan nama method.
Karena secara implisit, modifier untuk
dan
method di interface adalah public dan
abstract.
Bisa mendeklarasikan constant Hanya
bisa
dan instance variable.
Secara implisit variable
constant.
yang
mendeklarasikan
dideklarasikan
di
interface
bersifat public, static dan final.
Method boleh bersifat static.
Method tidak boleh bersifat static.
Method boleh bersifat final.
Method tidak boleh bersifat final.
Suatu abstact class hanya bisa Suatu interface bisa meng-extend satu
meng-extend satu abstract class atau lebih interface lainnya.
lainnya.
Suatu abstract class hanya bisa Suatu interface hanya bisa mengmeng-extend satu abstract class extend interface lainnya. Dan tidak
dan meng-implement beberapa bisa
interface.
meng-implement
interface lainnya.
class
atau
BAB VI
PENUTUP
6.1 Kesimpulan
Dari laporan praktikum modul 6 ini, dapat disimpulkan:
1. Package adalah sebuah kemasan
yang dapat digunakan untuk
mengelompokkan kelas- kelas sehingga memungkinkan beberapa kelas
yang bernama sama disimpan dalam package yang berbeda.
2. Sebuah package pada Java dapat digunakan oleh packag eyang lain
ataupun kelas-kelas di luar Package.
3. Packagepada bahasa pemrograman Java dinyatakan dengan kode:
package nama_package; yang ditulis pada bagian atas kode program kelas
anggota package. Misal sebuah kelas dengan nama Mahasiswa ada di
dalam package dengan nama example.shobi maka file yang menyimpan
kode program kelas Mahasiswa dimasukkan dalam direktori.
6.2 Saran
Dalam menjelaskan materi diharapkan asisten praktikum dapat menjelaskan
lebih detai dan lebih jelas. Dimohon untuk memberikan lebih banyak contoh
program, tidak hanya contoh dari modul.
PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK
MODUL 6
“PACKAGE”
Disusun Oleh :
TANGGAL PRAKTIKUM
: 18 Desember 2012
NAMA
: Shobihatul Mubarokah Ayu A.
NRP
: 11.04.111.00039
KELAS
: C2
DOSEN PENGAMPU
: Muhammad Fuad,S.Kom
TELAH DISETUJUI TANGGAL
…………………………..
Asisten Praktikum
(Nur Islami Syabaniyah)
NRP. 09.04.111.00076
COMMON COMPUTING LABORATORY
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK UNIVERSITAS
TRUNOJOYO
2012
BAB I
PENDAHULUAN
1.1 Latar Belakang
Ketika menangani program dalam skala kecil, tidak ada masalah untuk
meletakkan semua file java dalam satu direktori. Itu akan mempercepat dan
mempermudah pekerjaan dan masih aman. Tetapi jika project yang dikerjakan
semakin berkembang dan jumlah file yang dikerjakan semakin banyak serta
orang yang mengerjakan project lebih dari satu maka meletakkan file java ke
dalam satu direktori akan merepotkan pekerjaan karena software yang
dibangun akan tidak terstruktur. Maka dari itu Java menyediakan fitur untuk
menangani
hal
ini
dengan
memakai
“Package”.
Package
adalah
mengelompokkan kelas-kelas yang saling berelasi dan interfaces yang
memberikan proteksi terhadap access kelas yang tidak boleh diakses oleh
kelas lain karena tidak berelasi,dan manajemen nama. Ketentuan membuat
Package di Java yaitu :
package adalah 1 subfolder di file system.
atau library.
Package sangat berguna untuk mengorganisir file dalam suatu Project
Nama package menggunakan lowercase.
Keyword: package name.
1.2 Tujuan
1. Mahasiswa mengenal Package dalam program Java.
2. Mahasiswa mengerti dan memahami Package dalam pemrograman Java.
BAB II
DASAR TEORI
2.1 Teori Dasar
Package adalah cara Java untuk membuat suatu pustaka class. Kita
dapat membuat package berisi
sekumpulan class dan menggunakan package
tersebut dalam class atau program lain tanpa memindah kumpulan class ke dalam
direktori kerja. Untuk membuat package, letakkan beberapa file kode .java ke
dalam direktori dan tambahkan kata kunci package di awal setiap file kode
tersebut. Kemudian lakukan kompilasi sehingga dalam direktori terbentuk file
class. Sebelum suatu package dapat diimport oleh class lain, tambahkan path dari
package ke dalam CLASSPATH.
BAB III
TUGAS PENDAHULUAN
1. Bagaimana agar class dalam suatu package dapat digunakan?
2. Mana yang lebih dahulu ditulis, kata kunci package atau import?
3. Tanda separator apa yang digunakan untuk memisahkan antara nama
package dengan nama class?
Jawaban :
1. Gunakan hak akses public, karena dengan menggunakan keyword Public
dapat diakses sembarang object manapun dan dimanapun posisinya serta
dengan apapun caranya. Namun, ketika file program tidak berada di dalam
satu direktori/ berada dalam package yang berbeda maka diharuskan untuk
melakukan kompilasi menggunakan option-class path. Maka Class-class
dalam suatu package tersebut harus disimpan pada directory yang sama
dengan nama packagenya..
2. Deklarasi package diletakkan sebelum deklarasi import dari source code
setiap kelas yang dibungkus package tersebut.
3. Tanda separator yang digunakan adalah tanda titik (.)
Package.class object = new Package.class();
BAB IV
KEGIATAN PRAKTIKUM
Pada bagian kegiatan praktikum ini, kita akan belajar membuat class yang
dikelompokkan dalam package kemudian menggunakan package ini dari class
lain.
package matematika;
/**
*
* @author labdasar 20
*/
interface MtkDasar{
String tambah(int a, int b);
String kurang(int a, int b);
}
package matematika;
/**
*
* @author labdasar 20
*/
public class Pecahan implements MtkDasar{
private int pembilang, penyebut;
public Pecahan(int a, int b){
this.pembilang = a;
if (b!= 0){
this.penyebut=b;
}else{
System.out.print("penyebut
0");
}
tidak
boleh
}
@Override
public String tambah(int a, int b) {
int atas= (pembilang*b)+(penyebut*a);
int bawah=(penyebut*b);
return (""+atas+ "/"+bawah+"");
}
@Override
public String kurang(int a, int b) {
int atas= (pembilang*b)-(penyebut*a);
int bawah=(penyebut*b);
return (""+atas+ "/"+bawah+"");
}
public String toString(){
return pembilang + "/" + penyebut;
}
}
//
set CLASSPATH=c:/;.
package matematika;
import matematika.Pecahan;
/**
*
* @author labdasar 20
*/
public class CobaPecahan {
public static void main(String[] args) {
Pecahan pecahan1 = new Pecahan(1, 2);
System.out.println("" + pecahan1 + " + 1/4 " +
" = " + pecahan1.tambah(1, 4));
}
}
Print Screen Running Program
BAB V
TUGAS PRAKTIKUM
5.1 Tugas Akhir
1. Modifikasilah kode program interface MtkDasar.java, dan Pecahan.java
agar dapat menghasilkan return value berupa Object.
2. Lengkapi interface MtkDasar dengan kemampuan matematika dasar yang
lain yaitu kali (untuk mengerjakan operasi perkalian), dan bagi (untuk
mengerjakan operasi pembagian). Sesuaikan kedua class lain, Pecahan dan
CobaPecahan.
Jawab :
package matematika;
public interface MtkDasar {
String tambah(Object obj);
String kurang(Object obj);
String kali(Object obj);
String bagi(Object obj);
}
package matematika;
import matematika.Pecahan;
public class Pecahan implements MtkDasar {
private int pembilang, penyebut;
public Pecahan(int pembilang, int penyebut) {
this.pembilang = pembilang;
this.penyebut = penyebut;
}
public int getValuePembilang() {
return this.pembilang;
}
public int getValuePenyebut() {
return this.penyebut;
}
public int penyebutHsl(int a, int b) {
int hsl;
if (a % b == 0 || b % a == 0) {
if (a >= b) {
hsl = (a / b) * b;
} else {
hsl = (b / a) * a;
}
} else {
hsl = a * b;
}
return hsl;
}
public String tambah(Object obj) {
StringBuilder strHasil = new StringBuilder("
");
Pecahan data = new Pecahan(pembilang,
penyebut);
pembilang = data.getValuePembilang();
penyebut = data.getValuePenyebut();
Pecahan tambah = (Pecahan) obj;
int pembilang1 = tambah.getValuePembilang();
int penyebut1 = tambah.getValuePenyebut();
int penyHsl = tambah.penyebutHsl(penyebut,
penyebut1);
int hasil = (pembilang * (penyHsl / penyebut))
+ (pembilang1 * (penyHsl / penyebut1));
strHasil.insert(0, hasil);
strHasil.insert(strHasil.length() - 1, "/");
strHasil.insert(strHasil.length() - 1,
penyHsl);
return (strHasil.toString());
}
public String kurang(Object obj) {
StringBuilder strHasil = new StringBuilder("
");
Pecahan data = new Pecahan(pembilang,
penyebut);
pembilang = data.getValuePembilang();
penyebut = data.getValuePenyebut();
Pecahan tambah = (Pecahan) obj;
int pembilang1 = tambah.getValuePembilang();
int penyebut1 = tambah.getValuePenyebut();
int penyHsl = tambah.penyebutHsl(penyebut,
penyebut1);
int hasil = (pembilang * (penyHsl / penyebut))
- (pembilang1 * (penyHsl / penyebut1));
strHasil.insert(0, hasil);
strHasil.insert(strHasil.length() - 1, "/");
strHasil.insert(strHasil.length() - 1,
penyHsl);
return (strHasil.toString());
}
public String kali(Object obj) {
StringBuilder strHasil = new StringBuilder("
");
Pecahan data = new Pecahan(pembilang,
penyebut);
pembilang = data.getValuePembilang();
penyebut = data.getValuePenyebut();
Pecahan kali = (Pecahan) obj;
int pembilang1 = kali.getValuePembilang();
int penyebut1 = kali.getValuePenyebut();
int penyHsl = kali.penyebutHsl(penyebut,
penyebut1);
int hasil = (pembilang) * (pembilang1);
strHasil.insert(0, hasil);
strHasil.insert(strHasil.length() - 1, "/");
strHasil.insert(strHasil.length() - 1,
penyHsl);
return (strHasil.toString());
}
public String bagi(Object obj) {
StringBuilder strHasil = new StringBuilder("
");
Pecahan data = new Pecahan(pembilang,
penyebut);
pembilang = data.getValuePembilang();
penyebut = data.getValuePenyebut();
Pecahan bagi = (Pecahan) obj;
int pembilang1 = bagi.getValuePembilang();
int penyebut1 = bagi.getValuePenyebut();
int penyHsl = bagi.penyebutHsl(penyebut,
pembilang1);
int hasil = (pembilang) * (penyebut1);
strHasil.insert(0, hasil);
strHasil.insert(strHasil.length() - 1, "/");
strHasil.insert(strHasil.length() - 1,
penyHsl);
return (strHasil.toString());
}
public String toString() {
StringBuilder tampil = new StringBuilder(" ");
Pecahan data = new Pecahan(pembilang,
penyebut);
tampil.insert(0, data.getValuePembilang());
tampil.insert(tampil.length() - 1, "/");
tampil.insert(tampil.length() - 1,
data.getValuePenyebut());
return (tampil.toString());
}
}
package matematika;
import java.util.Scanner;
import matematika.Pecahan;
public class CobaPecahan {
public static void main(String[] args) {
int a;
int b;
int c;
int d;
Scanner x = new Scanner(System.in);
System.out.print("Masukkan nilai a : ");
a = x.nextInt();
System.out.print("Masukkan nilai b : ");
b = x.nextInt();
System.out.print("Masukkan nilai c : ");
c = x.nextInt();
System.out.print("Masukkan nilai d : ");
d = x.nextInt();
System.out.print("Operator [ + ; - ; * ; : ]
");
String op = x.next();
Pecahan pecahanku = new Pecahan(a, b);
Pecahan pecahan2 = new Pecahan(c, d);
if (op.compareTo("+") == 0) {
System.out.println("\n" + pecahanku + "+ "
+ c + "/" + d + " = " + pecahanku.tambah(pecahan2));
} else if (op.compareTo("-") == 0) {
System.out.println("\n" + pecahanku + "- "
+ c + "/" + d + " = " + pecahanku.kurang(pecahan2));
} else if (op.compareTo("*") == 0) {
System.out.println("\n" + pecahanku + "* "
+ c + "/" + d + " = " + pecahanku.kali(pecahan2));
} else if (op.compareTo(":") == 0) {
System.out.println("\n" + pecahanku + ": "
+ c + "/" + d + " = " + pecahanku.bagi(pecahan2));
}
}
}
Print Screen Running Program
5.2 Tugas Tambahan
1. Jelaskan perbedaan Interface dan Class
2. Jelaskan perbedaan Interface dan Abstract Class
Jawab :
1. Interface :
Sebuah blok signature kumpulan method tanpa tubuh (konstan).
class-class yang berbeda.
Sebuah definisi method yang umum/general yang dapat menghubungkan
Dengan kata lain, interface memungkinkan kita mengimplementasikan
method yang sama terhadap class yang tidak ada hubungan sama sekali
(tidak dalam satu hirarki)
Oleh karena itu interface bukanlah sebuah class, walaupun memiliki ciri
yang serupa dengan abstract class.
Class :
Mendefinisikan class yang nyata.
Object hanya bisa dibuat dari non-abstract class (concrete class)
Dapat membentuk atau instansiasi object.
Dapat menurunkan implementasi dari super class
Dapat
sebagai
base
class
pada
hierarchical
relationship
membutuhkan class lain untuk mewarisinya
2.
Abstract Class
Interface
Bisa berisi abstract dan non- Hanya boleh berisi abstract method.
abstract method.
Kita harus menuliskan sendiri Kita tidak perlu susah2 menulis public
modifiernya.
abstract di depan nama method.
Karena secara implisit, modifier untuk
dan
method di interface adalah public dan
abstract.
Bisa mendeklarasikan constant Hanya
bisa
dan instance variable.
Secara implisit variable
constant.
yang
mendeklarasikan
dideklarasikan
di
interface
bersifat public, static dan final.
Method boleh bersifat static.
Method tidak boleh bersifat static.
Method boleh bersifat final.
Method tidak boleh bersifat final.
Suatu abstact class hanya bisa Suatu interface bisa meng-extend satu
meng-extend satu abstract class atau lebih interface lainnya.
lainnya.
Suatu abstract class hanya bisa Suatu interface hanya bisa mengmeng-extend satu abstract class extend interface lainnya. Dan tidak
dan meng-implement beberapa bisa
interface.
meng-implement
interface lainnya.
class
atau
BAB VI
PENUTUP
6.1 Kesimpulan
Dari laporan praktikum modul 6 ini, dapat disimpulkan:
1. Package adalah sebuah kemasan
yang dapat digunakan untuk
mengelompokkan kelas- kelas sehingga memungkinkan beberapa kelas
yang bernama sama disimpan dalam package yang berbeda.
2. Sebuah package pada Java dapat digunakan oleh packag eyang lain
ataupun kelas-kelas di luar Package.
3. Packagepada bahasa pemrograman Java dinyatakan dengan kode:
package nama_package; yang ditulis pada bagian atas kode program kelas
anggota package. Misal sebuah kelas dengan nama Mahasiswa ada di
dalam package dengan nama example.shobi maka file yang menyimpan
kode program kelas Mahasiswa dimasukkan dalam direktori.
6.2 Saran
Dalam menjelaskan materi diharapkan asisten praktikum dapat menjelaskan
lebih detai dan lebih jelas. Dimohon untuk memberikan lebih banyak contoh
program, tidak hanya contoh dari modul.