Penyusun:
Reva Aprilia (170631100002)
2019
MODUL 2: CONSTRUCTOR DAN INHERITANCE
Hasil Praktikum :
BAB I
PENDAHULUAN
1
analisis dan proses yang mengikutinya. Pembahasan mengenai orientasi objek
tidak akan terlepas dari konsep objek seperti inheritance atau penurunan,
encapsulation atau pembungkusan, dan polymorphism atau kebanyakrupaan.
Konsep-konsep ini merupakan fundamental dalam orientasi objek yang perlu
sekali dipahami serta digunakan dengan baik, dan menghindari penggunaannya
yang tidak tepat.
Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang
lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti
lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP
lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya,
dan pendekatan OOP lebih mudah dikembangkan dan dirawat.
Pemrograman Berorientasi Objek memiliki sebuah method khusus serta
beberapa konsep objek yang membantu serta mempermudah. Method khusus
yang berada di pemrograman berorientasi objek disebut dengan constructor.
Constructor adalah sebuah methods khusus yang akan dipanggil ketika sebuah
object dibuat. Penamaan constructor mempunyai nama yang sama sesuai
dengan nama dari suatu class. Salah satu konsep objek yang akan di bahas yaitu
inheritance atau pewarisan. Inheritance adalah kemampuan suatu objek atau
kelas untuk mewariskan sifat-sifat yang terdapat didalamnya ke kelas
turunannya
1.2 TUJUAN
1. Memahami konsep constructor dan multiple constructor
2. Mengimplementasikan constructor dan multiple constructor
3. Memahami konsep inheritance
4. Mengimplementasikan inheritance
2
BAB II
DASAR TEORI
• Constructor
Constructor adalah sebuah methods khusus yang akan dipanggil ketika sebuah
object dibuat. Constructor digunakan untuk memastikan bahwa sebuah object
diinisialisasi dengan benar. Contructor biasanya digunakan untuk memberi
nilai awal pada atribut-atribut class.
Constructor mempunyai nama sama dengan class dan dapat berupa parametric
ataupun non-parametric. Secara default setiap class akan dibuatkan sebuah
constructor non-parametric dengan isi kosong. Secara umum deklarasi sama
dengan methods biasa, hanya saja constructor tidak mempunyai return type.
Deklarasi Constructor:
class NamaKelas {
NamaKelas() {
// isi constructor
}
}
• Multiple constructor
Multiple constructor adalah adanya lebih dari satu contructor untuk sebuah
class. Yang membedakan antara satu constructor dengan constructor lainnya
adalah pada parameternya (nama constructornya sama)
class NamaKelas {
NamaKelas() {
// isi constructor 1
}
3
NamaKelas(parameter) {
// isi constructor 2
}
}
• Inheritance
Inheritance adalah kemampuan suatu objek atau kelas untuk mewariskan
sifatsifat yang terdapat didalamnya ke kelas turunannya. Inheritance
merupakan suatu mekanisme yang memungkinkan seorang pemrogram
menciptakan kelas baru berdasarkan kelas yang sudah tersedia sehingga tidak
perlu menuliskan kode dari nol. Kelas dasar/kelas induk mewarisi semua
metode dan variable instant, namun kelas turunan dapat menambahkan metode
baru atau variable instant baru tersendiri.
super()
super(parameter)
4
Pemanggilan konstruktor class dasar harus memenuhi persyaratan berikut:
• Pemanggilan dengan super seperti diatas hanya bisa dilakukan pada
konstruktor.
• Pemanggilan konstruktor superkelas harus berkedudukan sebagai
pernyataan pertama dalam konstruktor
5
BAB III
IMPLEMENTASI
class manusia {
String nama;
int usia;
manusia (String nama, int usia){
this.nama= nama;
this.usia = usia;
}
void cetak(){
System.out.println("Nama : "+nama);
System.out.println("Usia : "+usia +"\n");
}
}
class latihan_A{
public static void main(String[] args) {
manusia a = new manusia("Reva Aprilia",20);
a.cetak();
6
3.1.1.2 Latihan A
a. Source Code
class manusia2 {
String nama;
int usia;
manusia2 (){
this.nama = "tanpa nama";
this.usia = 0;
}
void cetak(){
if (nama==null&&usia==0)
return;
System.out.println("Nama : "+nama);
System.out.println("Usia : "+usia +"\n");}
7
int usia=masuk.nextInt();
manusia2 d=new manusia2(nama, usia);
}
}
b. Screenshoot Output Program
3.1.1.3 Latihan A
a. Source Code
8
}
}
class Latihan {
public static void main(String[] args) {
pet pet1=new pet();
System.out.println(pet1.speak());
Cat cat1=new Cat();
cat1.setName("kitty");
System.out.println("My name is "+cat1.getName());
System.out.println(cat1.speak());
}
}
b. Screenshoot Output Program
3.1.1.4 Latihan A
a. Source Code
class orang {
private String nama;
private double tinggi;
private double berat;
9
private double nilai;
class Latihan {
public static void main(String[] args) {
mahasiswa mhs1 = new mahasiswa("Reva Aprilia", 158, 48,
"1730631100002", "UTM", 95);
orang org1 = new orang("Dewi",156,55);
System.out.println(mhs1.toString());
System.out.println("\n"+org1.toString());
}
}
b. Screenshoot Output Program
3.1.1.5 Latihan A
a. Source Code
10
class orang {
private String nama;
private double tinggi;
private double berat;
public orang(String nama, double tinggi, double berat){
this.nama = nama;
this.tinggi = tinggi;
this.berat =berat;
}
public String toString(){
return ("Nama : " + nama+ "\nTinggi :" + tinggi+ "\nBerat :"+ berat);
}
}
class mahasiswa extends orang{
private String nim;
private String univAsal;
private double nilai;
public mahasiswa(String nama, double tinggi, double berat, String nim,
String univAsal, double nilai){
super (nama, tinggi, berat);
this.nim = nim;
this.univAsal = univAsal;
this.nilai = nilai;
}
public String toString(){
return(super.toString()+ "\nNIM : " + nim + "\nUniversitas Asal : "+
univAsal+ "\nNilai :" +nilai);
}
}
class siswa extends orang{
String nis;
public siswa(String nama, double tinggi, double berat, String nis){
super (nama, tinggi, berat);
this.nis = nis;
}
public String toString(){
return(super.toString()+ "\nNIS : " + nis );
}
}
class mahasiswalama extends mahasiswa{
private double masastudi;
public mahasiswalama(String nama, double tinggi, double berat, String
nim, String univAsal, double nilai,double masastudi){
super(nama, tinggi, berat, nim, univAsal, nilai);
this.masastudi = masastudi;
}
public String toString(){
11
return(super.toString()+ "\nMasa Studi : " + masastudi);
}
class Latihan_e {
public static void main(String[] args) {
//class mahasiswa extends class orang
mahasiswa mhs1 = new mahasiswa("Reva Aprilia", 158, 48,
"1730631100002", "UTM", 95);
System.out.println(mhs1.toString());
//class orang
orang org1 = new orang("Dewi Hamudiyana",156,55);
System.out.println("\n"+org1.toString());
//class siswa extends class orang
siswa a=new siswa("Reva Aprilia", 158, 48, "170631100002");
System.out.println("\n"+a.toString());
//class mahasiswalama extend class mahasiswa
mahasiswalama b = new mahasiswalama("Reva Aprilia", 158, 48,
"1730631100002", "UTM", 95,4);
System.out.println("\n"+b.toString());
}
}
b. Screenshoot Output Program
12
3.1.2 PELAKSANAAN PRAKTIKUM DI LAB
3.1.2.1 Latihan A
a. Source Code
public class konstruktor {
konstruktor(){
System.out.println("Ini yang dijalankan");
}
void saya(){
System.out.println("Nanti saja");
}
konstruktor(int a){
System.out.println("Ini berparameter");
13
}
}
class panggil{
public static void main(String[] args) {
konstruktor ku=new konstruktor();//setiap membuat
objek pasti terpanggil
ku.saya();
konstruktor b=new konstruktor(4);
Scanner masuk=new Scanner(System.in);
int s=masuk.nextInt();
konstruktor f=new konstruktor(s);
}
}
b. Screenshoot Output Program
3.1.2.2 Latihan A
a. Source Code
class inher{
void kaki(){
System.out.println("Ini kaki saya");
}
void tangan(){
14
System.out.println("Ini tangan dia");
}
inher(){
System.out.println("Anggota Tubuh");
}
}
class memanggil{
public static void main(String[] args) {
adek bisa = new adek();
bisa.tangan();
bisa.mata();
}
}
b. Screenshoot Output Program
15
3.2 TUGAS
1. Source Code Program
class buku{
String judul[]=new String[100];
String pengarang[]=new String[100];
String penerbit[]=new String[100];
int tahun[]=new int[100];
String kategori[]=new String[100];
int stok[]=new int[100];
int size;
buku(){
System.out.println("Welcome to Perpustakaan UTM");
}
buku (String a){
System.out.println("________Selamat Datang_________");
}
void input(int size){
this.size=size;
}
}
class skripsi extends buku{
buku judul[];
buku pengarang[];
buku penerbit[];
int tahun[];
buku kategori[];
buku stok[];
String status[]=new String[100];
String prodi[]=new String[100];
16
String fakultas[]=new String[100];
}
class skripsi_lama extends skripsi{
int jumlah_halaman[] = new int [100];
skripsi_lama(String judul[], String penulis[], String prodi[], String
fakultas[], int tahun_terbit[], String kategori_skripsi[], String
status_peminjaman[], int jumlah_halaman[]){
super();
this.jumlah_halaman = jumlah_halaman;
}
}
class tampil{
public static void main(String[] args) {
int inp = 0,inp2=0;
buku ob=new buku();
buku ob2=new buku("");
//buku o=new buku("======Welcome=====");
buku sk=new skripsi();
skripsi jk=new skripsi();
Scanner masuk1=new Scanner(System.in);
Scanner masuk2=new Scanner(System.in);
int pilihan;
do{
17
System.out.println("======Admin Perpustakaan
UTM=====");
System.out.println("Menu");
System.out.println("1.Entry Buku");
System.out.println("2.Entry Skripsi");
System.out.println("3.Tampil Data Buku");
System.out.println("4.Tampil Data Skripsi");
System.out.println("5.Cari Buku");
System.out.println("6.Cari Skripsi");
System.out.println("7.Keluar ");
System.out.print("Masukkan Pilihan :");
pilihan=masuk1.nextInt();
switch(pilihan){
case 1:
System.out.print("Berapa kali inputan?");
inp=masuk1.nextInt();
for (int i = 0; i < inp; i++) {
System.out.print("Masukkan Judul Buku :");
ob.judul[i]=masuk2.next();
System.out.print("Masukkan Pengarang :");
ob.pengarang[i]=masuk2.next();
System.out.print("Masukkan Penerbit :");
ob.penerbit[i]=masuk2.next();
System.out.print("Masukkan Tahun :");
ob.tahun[i]=masuk2.nextInt();
System.out.println("Kategori =
Pendidikan,Teknik,Agama,Sosial");
System.out.print("Masukkan Kategori :");
ob.kategori[i]=masuk2.next();
18
System.out.print("Masukkan Stok :");
ob.stok[i]=masuk2.nextInt();
}
break;
case 2:
System.out.print("Berapa kali inputan?");
inp2=masuk1.nextInt();
for (int i = 0; i < inp2; i++) {
System.out.print("Masukkan Judul Skripsi :");
sk.judul[i]=masuk2.next();
System.out.print("Masukkan Penulis :");
sk.pengarang[i]=masuk2.next();
System.out.print("Masukkan Prodi :");
jk.prodi[i]=masuk2.next();
System.out.print("Masukkan Fakultas :");
jk.fakultas[i]=masuk2.next();
System.out.print("Masukkan Tahun :");
sk.tahun[i]=masuk1.nextInt();
System.out.println("Kategori =
Pendidikan,Teknik,Agama,Sosial");
System.out.print("Masukkan Kategori :");
sk.kategori[i]=masuk2.next();
System.out.print("Masukkan Status peminjaman :");
jk.status[i]=masuk2.next();
}
break;
case 3:
System.out.println("======Daftar Buku Perpustakaan
UTM=====");
19
System.out.println("Judul Buku\t\tPengarang\tPenerbit"
+ "\tTahun\t\tKategori\t\tStok");
for (int i = 0; i < inp; i++) {
System.out.println(i+1+"."+ob.judul[i]+"\t\t"+ob.pengarang[i]+"\t\t"
+ob.penerbit[i]+"\t\t"+ob.tahun[i]+"\t\t"+ob.kategori[i]+"\t"+ob.stok[i])
;
}
break;
case 4:
System.out.println("=========Daftar Skripsi
UTM==========");
System.out.println("Judul Skripsi\tPenulis\t\tProdi"
+ "\tfakultas\tTahun\t\tkategori\tstatus peminjaman");
for (int i = 0; i < inp; i++) {
System.out.println(i+1+"."+sk.judul[i]+"\t\t"+sk.pengarang[i]+"\t\t"
+jk.prodi[i]+"\t"+jk.fakultas[i]+"\t\t"+sk.tahun[i]+"\t\t"+sk.kategori[i]
+"\t\t"+jk.status[i]);
}
break;
case 5:
System.out.println("Masukkan Tahun terbit buku :");
int th= masuk1.nextInt();
for (int i = 0; i < inp; i++) {
if (th==ob.tahun[i]) {
System.out.println("Judul Buku\t\tPengarang\tPenerbit"
+ "\tTahun\t\tKategori\t\tStok");
20
System.out.println(i+1+"."+ob.judul[i]+"\t\t"+ob.pengarang[i]+"\t\t"
+ob.penerbit[i]+"\t\t"+ob.tahun[i]+"\t\t"+ob.kategori[i]+"\t"+ob.stok[i])
;
}
else{
System.out.println("Tahun Yang anda Masukkan tidak
ada");
}
}
break;
case 6:
System.out.println("Masukkan Tahun terbit buku :");
int th2=masuk1.nextInt();
for (int i = 0; i < inp; i++) {
if (th2==sk.tahun[i]) {
System.out.println("=========Daftar Skripsi
UTM==========");
System.out.println("Judul Skripsi\tPenulis\t\tProdi"
+ "\tfakultas\tTahun\t\tkategori\tstatus peminjaman");
System.out.println(i+1+"."+sk.judul[i]+"\t\t"+sk.pengarang[i]+"\t\t"
+jk.prodi[i]+"\t"+jk.fakultas[i]+"\t\t"+sk.tahun[i]+"\t\t"+sk.kategori[i]
+"\t\t"+jk.status[i]);
}
else{
21
System.out.println("Tahun Yang anda Masukkan tidak
ada");
}
}
break;
case 7:
System.exit(0);
break;
}
}while(pilihan!=99);
}
}
22
23
24
25
2. Source Code (Multiple Constructor)
class buku{
String judul[]=new String[100];
String pengarang[]=new String[100];
String penerbit[]=new String[100];
int tahun[]=new int[100];
String kategori[]=new String[100];
int stok[]=new int[100];
int size;
//CONSTRUCTOR
buku(){
System.out.println("Welcome to Perpustakaan UTM");
}
//CONSTRUCTOR
buku (String a){
System.out.println("________Selamat
Datang_________");
}
26
void input(int size){
this.size=size;
}
int pilihan;
do{
System.out.println("======Admin Perpustakaan
UTM=====");
System.out.println("Menu");
System.out.println("1.Entry Buku");
System.out.println("2.Entry Skripsi");
System.out.println("3.Tampil Data Buku");
System.out.println("4.Tampil Data Skripsi");
System.out.println("5.Cari Buku");
System.out.println("6.Cari Skripsi");
System.out.println("7.Keluar ");
System.out.print("Masukkan Pilihan :");
pilihan=masuk1.nextInt();
switch(pilihan){
case 1:
System.out.print("Berapa kali inputan?");
inp=masuk1.nextInt();
for (int i = 0; i < inp; i++) {
System.out.print("Masukkan Judul Buku :");
ob.judul[i]=masuk2.next();
System.out.print("Masukkan Pengarang :");
ob.pengarang[i]=masuk2.next();
System.out.print("Masukkan Penerbit :");
ob.penerbit[i]=masuk2.next();
System.out.print("Masukkan Tahun :");
27
ob.tahun[i]=masuk2.nextInt();
System.out.println("Kategori =
Pendidikan,Teknik,Agama,Sosial");
System.out.print("Masukkan Kategori :");
ob.kategori[i]=masuk2.next();
System.out.print("Masukkan Stok :");
ob.stok[i]=masuk2.nextInt();
}
break;
case 2:
System.out.print("Berapa kali inputan?");
inp2=masuk1.nextInt();
for (int i = 0; i < inp2; i++) {
System.out.print("Masukkan Judul Skripsi :");
sk.judul[i]=masuk2.next();
System.out.print("Masukkan Penulis :");
sk.pengarang[i]=masuk2.next();
System.out.print("Masukkan Prodi :");
jk.prodi[i]=masuk2.next();
System.out.print("Masukkan Fakultas :");
jk.fakultas[i]=masuk2.next();
System.out.print("Masukkan Tahun :");
sk.tahun[i]=masuk1.nextInt();
System.out.println("Kategori =
Pendidikan,Teknik,Agama,Sosial");
System.out.print("Masukkan Kategori :");
sk.kategori[i]=masuk2.next();
System.out.print("Masukkan Status peminjaman :");
jk.status[i]=masuk2.next();
}
break;
case 3:
System.out.println("======Daftar Buku Perpustakaan
UTM=====");
System.out.println("Judul Buku\t\tPengarang\tPenerbit"
+ "\tTahun\t\tKategori\t\tStok");
for (int i = 0; i < inp; i++) {
System.out.println(i+1+"."+ob.judul[i]+"\t\t"+ob.pengarang[i]+"\t\t"
+ob.penerbit[i]+"\t\t"+ob.tahun[i]+"\t\t"+ob.kategori[i]+"\t"+ob.stok[i])
;
}
break;
28
case 4:
System.out.println("=========Daftar Skripsi
UTM==========");
System.out.println("Judul Skripsi\tPenulis\t\tProdi"
+ "\tfakultas\tTahun\t\tkategori\tstatus peminjaman");
for (int i = 0; i < inp; i++) {
System.out.println(i+1+"."+sk.judul[i]+"\t\t"+sk.pengarang[i]+"\t\t"
+jk.prodi[i]+"\t"+jk.fakultas[i]+"\t\t"+sk.tahun[i]+"\t\t"+sk.kategori[i]
+"\t\t"+jk.status[i]);
}
break;
case 5:
System.out.println("Masukkan Tahun terbit buku :");
int th= masuk1.nextInt();
for (int i = 0; i < inp; i++) {
if (th==ob.tahun[i]) {
System.out.println("Judul Buku\t\tPengarang\tPenerbit"
+ "\tTahun\t\tKategori\t\tStok");
System.out.println(i+1+"."+ob.judul[i]+"\t\t"+ob.pengarang[i]+"\t\t"
+ob.penerbit[i]+"\t\t"+ob.tahun[i]+"\t\t"+ob.kategori[i]+"\t"+ob.stok[i])
;
}
else{
System.out.println("Tahun Yang anda Masukkan tidak
ada");
}
}
break;
case 6:
System.out.println("Masukkan Tahun terbit buku :");
int th2=masuk1.nextInt();
for (int i = 0; i < inp; i++) {
if (th2==sk.tahun[i]) {
System.out.println("=========Daftar Skripsi
UTM==========");
System.out.println("Judul Skripsi\tPenulis\t\tProdi"
+ "\tfakultas\tTahun\t\tkategori\tstatus peminjaman");
29
System.out.println(i+1+"."+sk.judul[i]+"\t\t"+sk.pengarang[i]+"\t\t"
+jk.prodi[i]+"\t"+jk.fakultas[i]+"\t\t"+sk.tahun[i]+"\t\t"+sk.kategori[i]
+"\t\t"+jk.status[i]);
}
else{
System.out.println("Tahun Yang anda Masukkan tidak
ada");
}
}
break;
case 7:
System.exit(0);
break;
}
}while(pilihan!=99);
}
}
30
Sesuai dengan
constructor yang
dibuat constructor
tanpa parameter
(yang tampil:
Welcome to
Perpustakaan
UTM) diulang
sesuai dengan
perulangan.
31
for (int i = 0; i < inp; i++) {
if (th==ob.tahun[i]) {
System.out.println("Judul
Buku\t\tPengarang\tPenerbit"
+ "\tTahun\t\tKategori\t\tStok");
System.out.println(i+1+"."+ob.judul[i]+"\t\t"+ob.pengarang[i]+
"\t\t"
+ob.penerbit[i]+"\t\t"+ob.tahun[i]+"\t\t"+ob.kategori[i]+"\t"+ob.
stok[i]);
}
else{
System.out.println("Tahun Yang anda Masukkan
tidak ada");
}
}
break;
System.out.println(i+1+"."+sk.judul[i]+"\t\t"+sk.pengarang[i]+"
\t\t"
+jk.prodi[i]+"\t"+jk.fakultas[i]+"\t\t"+sk.tahun[i]+"\t\t"+sk.kate
gori[i]
+"\t\t"+jk.status[i]);
}
else{
System.out.println("Tahun Yang anda Masukkan
tidak ada");
32
}
break;
Output
33
34
BAB IV
PENUTUP
4.1 KESIMPULAN
Pemrograman Berorientasi Objek memiliki sebuah method khusus serta
beberapa konsep objek yang membantu serta mempermudah. Method khusus
yang berada di pemrograman berorientasi objek disebut dengan constructor.
Constructor adalah sebuah methods khusus yang akan dipanggil ketika sebuah
object dibuat. Penamaan constructor mempunyai nama yang sama sesuai
dengan nama dari suatu class. Constructor dibagi menjadi 2 yaitu Constructor
dan Multiple Constructor.
Salah satu konsep objek yang akan di bahas yaitu inheritance atau
pewarisan. Inheritance adalah kemampuan suatu objek atau kelas untuk
mewariskan sifat-sifat yang terdapat didalamnya ke kelas turunannya.
Inheritance merupakan suatu mekanisme yang memungkinkan seorang
pemrogram menciptakan kelas baru berdasarkan kelas yang sudah tersedia
sehingga tidak perlu menuliskan kode dari nol.
4.2 SARAN
Sebaiknya sebelum praktikum, praktikan telah mempratekkan contoh dari
program.
Sebaiknya saat praktikum, praktikan lebih memperhatikan penjelasan dari
asprak.
35
DAFTAR PUSTAKA
36