Anda di halaman 1dari 12

Modul 3 - Constructor

MODUL 3
CONSTRUCTOR

A. Tujuan
1. Mahasiswa memahami penggunaan konstruktor dalam OOP.
2. Mahasiswa memahami penggunaan overloading.
3. Mahasiswa memahami penggunaan overloading konstruktor.
B. Dasar Teori

B.1 Constructor
Constructor merupakan suatu method yang akan memberikan nilai awal
pada saat suatu objek dibuat. Pada saat program dijalankan, constructor akan
langsung memberikan nilai awal pada saat perintah new, membuat suatu objek.
Pada saat kita bekerja dengan constructor, hal mendasar yang perlu diperhatikan,
yaitu :
1) Nama Constructor sama dengan nama Class.
2) Tidak ada return type yang diberikan kedalam Constructor Signature.
3) Tidak ada return stetement, didalam tubuh constructor.
Constructor merupakan sebuah fungsi yang nama fungsinya sama dengan
nama class nya. Sintax constructor sama dengan method namun tidak memiliki
return value (pengembalian nilai). Constructor berfungsi untuk memberikan nilai
awal pada sebuah class ketika class tersebut dibuat dalam bentuk objek pada class
lain. Constructor bias memiliki parameter bisa juga tidak. Dalam constructor, tidak
boleh menggunakan keyword void.
Deklarasi constructor :
<modifier> <nama_class>([parameter])
{
[<statement>]
}
Pada syntax diatas, nama class sama dengan nama fungsinya. By defultnya,
constructornya sudah dibuat ketika membuat sebuah class., namun tidak ada
parameter dan statement nya.

Praktikum Pemrograman Berorientasi Objek 2023 Modul 3-1


Modul 3 - Constructor
Contoh :
class Buku()
{
Buku()
{ judul = “apa saja”;
pengarang = “siapa saja”; }
}

• Defult constructor
Berupa constructor kosong yang secara otomatis akan ditambahkan oleh
compiler pada setiap class. Defult constructor tidak memiliki parameter dan
statement.
Contoh defult constructor :
class Buku()
{
Buku()
{
}

• Pengaksesan Constructor
Pengaksesan constructor dilakukan ketika terjadi pembuatan object. Dengan
cara memberikan nilai diantara tanda “(“ dan “)”. Syntax :

namaClass namaVariabel = new namaClass (nilai constructor);

Cara mengakses constructor :


 Pengaksesan constructor tanpa parameter :
Mahasiswa maba = new Mahasiswa();

 Pengaksesan constructor dengan 1 parameter :


Mahasiswa maba = new Mahasiswa(“Ani”);

 Pengaksesan constructor dengan 2 parameter :


Mahasiswa maba = new Mahasiswa(“1234”,”Ani”);

Praktikum Pemrograman Berorientasi Objek 2023 Modul 3-2


Modul 3 - Constructor
Constructor Biasanya digunakan untuk inisialisasi object atau
mempersiapkan data untuk objek. Kelebihan dari constructor yaitu tanpa membuat
constructor pun, dia sudah ada (by defult) untuk constructor yang kosongan.
B.2 Class Tanpa Constructor
Class bertugas untuk mengumpulkan prosedur/fungsi dan variabel dalam
satu tempat sehingga mudah untuk di gunakan kembali pada beberapa program
hanya untuk sekali proses pembuatan atau biasa disebut reusable. Contoh: Kita
ingin membuat game sederhana, yang di dalamnya ada kucing dan makanan.
Dengan class, kita bisa menentukan variabel dan prosedur untuk kucing dan
makanan. Class ini nanti yang akan kita pakai untuk membuat objek.
Jadi class adalah rancangan atau blue print dari sebuah objek. Sedangkan
objek adalah sebuah variabel yang merupakan instance atau perwujudan dari Class.
Instance bisa diartikan sebagai wujud dari class. Class berisi definisi variabel dan
fungsi yang menggambarkan sebuah objek.
Dalam OOP (Object Oriented Programming) Variabel disebut atribut atau
properti dan Fungsi disebut method. Contoh Class:
class NamaClass {
String atribut1; String atribut2; void
namaMethod(){ ... } void namaMethodLain(){ ...

Lalu, Kita biasanya membuat objek (instance) seperti ini:


NamaClass namaObj = new NamaClass();

Kata kunci new berfungsi untuk membuat objek baru dari class tertentu. Setelah
membuat objek, kita bisa mengakses atribut dan method dari objek tersebut.
Contoh:
namaObj.namaMethod();
namaObj.atribut1;

Tanda titik (.) berfungsi untuk mengakses atribut dan method.

Praktikum Pemrograman Berorientasi Objek 2023 Modul 3-3


Modul 3 - Constructor
B.3 Perbedaan constructor dengan method biasa

Objek merupakan sebuah instance dari class. Dan untuk membuat objek tersebut
dapat menggunakan keyword new. Misalnya:
Kendaraan mobil = new Kendaraan("Innova");
Kendaraan mobil = new Kendaraan("Innova");

Pada pernyataan di atas, suatu objek dengan referensi mobil telah dibuat dan
memiliki nama Innova dengan tipe String. Kemudian “Innova” akan dilewatkan
(passed) sebagai argumen pada konstruktor berikut ini dari class Kendaraan:
Kendaraan(String nama) { this.nama = nama;

Dengan demikian, bisa dilihat bahwa sebuah constructor seperti contoh di atas akan
mengizinkan untuk menentukan nama ketika objek-objek dari class Kendaraan di
buat. Suatu constructor merupakan blok kode yang istimewa dari sebuah class dan
akan selalu dipanggil ketika instance dari class dibuat. Bisa dikatakan bahwa
constructor diperlukan untuk menjamin bahwa objek yang dibuat dari suatu class
telah diinisialisasi dengan keadaan yang diinginkan.

Perbedaan Antara Constructor Dan Method Pada Java


Secara sekilas bisa dilihat kalau constructor itu seperti sebuah method, namun
sebenarnya bukan, dan terdapat perbedaan yang benar-benar signifikan. Perbedaan
tersebut adalah:

1. Constructor memiliki nama yang sama dengan nama class.


2. Conctructor memiliki list parameter sama seperti method tapi tidak memiliki
tipe return ataupun void.

Praktikum Pemrograman Berorientasi Objek 2023 Modul 3-4


Modul 3 - Constructor
C. Studi Kasus / Permasalahan
1. Buatlah sistem kasir dengan Constructor menggunakan Boolean. (input pemilihan
barang dan pembayaran secara dinamis).

Praktikum Pemrograman Berorientasi Objek 2023 Modul 3-5


Modul 3 - Constructor
D. Hasil (flowchart, script program, hasil program)
a. Flowchart

Praktikum Pemrograman Berorientasi Objek 2023 Modul 3-6


Modul 3 - Constructor

b. Script Program

package javaapplication40;

import java.util.Scanner;

public class Kasir {


private String namaBarang;
private int hargaBarang;
private int jumlahBarang;
private boolean pembayaranCash;
private int totalHarga;

public Kasir(String namaBarang, int hargaBarang, int


jumlahBarang, boolean pembayaranCash) {
this.namaBarang = namaBarang;
this.hargaBarang = hargaBarang;
this.jumlahBarang = jumlahBarang;
this.pembayaranCash = pembayaranCash;
this.totalHarga = hargaBarang * jumlahBarang;
}

public void tampilData() {


System.out.println("Nama Barang: " + namaBarang);
System.out.println("Harga Barang: " + hargaBarang);
System.out.println("Jumlah Barang: " + jumlahBarang);
System.out.println("Total Harga: " + totalHarga);
System.out.println("Pembayaran Cash: " + pembayaranCash);
}

public static void main(String[] args) {


Scanner input = new Scanner(System.in);

System.out.print("Nama barang: ");


String namaBarang = input.nextLine();

System.out.print("Harga barang: ");


int hargaBarang = input.nextInt();

System.out.print("Jumlah barang: ");


int jumlahBarang = input.nextInt();

System.out.print("Pembayaran Cash? (true/false): ");


boolean pembayaranCash = input.nextBoolean();

Kasir kasir = new Kasir(namaBarang, hargaBarang,


jumlahBarang, pembayaranCash);
kasir.tampilData();
}
}

Praktikum Pemrograman Berorientasi Objek 2023 Modul 3-7


Modul 3 - Constructor

c. Hasil Running

Praktikum Pemrograman Berorientasi Objek 2023 Modul 3-8


Modul 3 - Constructor
E. Analisa Program

package javaapplication40;
Script di atas mendefinisikan package dengan nama javaapplication40;.Dapat
dikatakan bahwa kita membungkus suatu program ke dalam satu paket yang sama.
import java.util.Scanner;

Program import java.util.Scanner digunakan untuk membaca inputan dari


user. Import ini berfungsi untuk membaca inputan dari keyboard atau sumber input
lainnya. Kita dapat menggunakan Scanner untuk membaca inputan dalam berbagai
format seperti angka, string, atau karakter. Scanner juga memungkinkan kita untuk
melakukan validasi input, sehingga kita dapat memastikan bahwa input yang diterima
adalah sesuai dengan yang diharapkan.

public class Kasir {


private String namaBarang;
private int hargaBarang;
private int jumlahBarang;
private boolean pembayaranCash;
private int totalHarga;

Script di atas mendefinisikan kelas dengan nama Kasir, yang diberi modifier acces
level dengan kata kunci public, yang digunakan untuk memberikan akses yang lebih luas,
sehingga kelas tersebut dapat diakses dari package lain. Jika pada variabel, maka variabel
tersebut dapat diakses dari kelas lain. “private String namaBarang;” bertipe data
String yang digunakan untuk menyimpan nama barang yang akan dibeli. “private int
hargaBarang;” bertipe data int yang digunakan untuk menyimpan harga barang.
“private int jumlahBarang;” bertipe data int yang digunakan untuk menyimpan
jumlah barang. “private boolean pembayaranCash;” bertipe data boolean yang
digunakan untuk menunjukkan dua pilihan, misalnya iya atau tidak. “ private int
totalHarga;” bertipe data int yang digunakan untuk menyimpan total harga pembelian.

public Kasir(String namaBarang, int hargaBarang, int jumlahBarang,


boolean pembayaranCash) {
this.namaBarang = namaBarang;
this.hargaBarang = hargaBarang;
this.jumlahBarang = jumlahBarang;
this.pembayaranCash = pembayaranCash;
this.totalHarga = hargaBarang * jumlahBarang;

Pada program ini, terdapat constructor Kasir yang memiliki parameter namaBarang,
hargaBarang, jumlahBarang, dan pembayaranCash. Pada blok kode di dalam constructor,
nilai dari parameter yang diterima akan di instansiasi yang sesuai (this.namaBarang,
this.hargaBarang, this.jumlahBarang, dan this.pembayaranCash). Dan juga totalHarga akan
dihitung dengan mengalikan hargaBarang dengan jumlahBarang.

Praktikum Pemrograman Berorientasi Objek 2023 Modul 3-9


Modul 3 - Constructor

public void tampilData() {


System.out.println("Nama Barang: " + namaBarang);
System.out.println("Harga Barang: " + hargaBarang);
System.out.println("Jumlah Barang: " + jumlahBarang);
System.out.println("Total Harga: " + totalHarga);
System.out.println("Pembayaran Cash: " + pembayaranCash);
}

Program ini adalah sebuah method tampilData() yang berfungsi untuk


menampilkan informasi dari objek Kasir. Method ini mencetak informasi tentang nama
barang, harga barang, jumlah barang, total harga, dan apakah pembayaran dilakukan secara
cash atau tidak dengan perintah “System.out.println”.

public static void main(String[] args) {


Scanner input = new Scanner(System.in);

System.out.print("Nama barang: ");


String namaBarang = input.nextLine();

System.out.print("Harga barang: ");


int hargaBarang = input.nextInt();

System.out.print("Jumlah barang: ");


int jumlahBarang = input.nextInt();

System.out.print("Pembayaran Cash? (true/false): ");


boolean pembayaranCash = input.nextBoolean();

Kasir kasir = new Kasir(namaBarang, hargaBarang, jumlahBarang,


pembayaranCash);
kasir.tampilData();
}
}

Pada program diatas menggunakan kelas Scanner untuk mengambil input dari user
melalui terminal. Program ini memiliki empat variable yaitu namaBarang bertipe String,
hargaBarang bertipe int, jumlahBarang bertipe int, dan pembayaranCash bertipe boolean.
Pertama program akan mencetak "Nama barang: " menggunakan perintah
“System.out.print("Nama barang: ");” dan mengambil input dari user untuk
dimasukkan ke variabel namaBarang dengan menggunakan method nextLine() dari objek
Scanner.
Kemudian, program akan mencetak "Harga barang: " menggunakan perintah
“System.out.print("Harga barang: ");” dan mengambil input dari user untuk
dimasukkan ke variabel hargaBarang dengan menggunakan method nextInt() dari objek
Scanner.

Praktikum Pemrograman Berorientasi Objek 2023 Modul 3-10


Modul 3 - Constructor
Setelah itu, program akan mencetak "Jumlah barang: " menggunakan perintah
“System.out.print("Jumlah barang: ");” dan mengambil input dari user untuk
dimasukkan ke variabel jumlahBarang dengan menggunakan method nextInt() dari objek
Scanner.
Terakhir, program akan mencetak "Pembayaran Cash? (true/false): " menggunakan
perintah “System.out.print("Pembayaran Cash? (true/false): ");” dan mengambil
input dari user untuk dimasukkan ke variabel pembayaranCash dengan menggunakan
method nextBoolean() dari objek Scanner.
Program membuat sebuah objek baru dengan nama kasir dari kelas Kasir, yang
diinisialisasi dengan empat variable yaitu namaBarang, hargaBarang, jumlahBarang, dan
pembayaranCash. Program akan menggunakan data yang telah dimasukkan oleh user untuk
membuat sebuah objek kasir yang merepresentasikan barang yang dibeli oleh user.
Kemudian program memanggil method tampilData() dari objek kasir. Method ini
berfungsi untuk menampilkan informasi tentang barang yang telah dibeli oleh user, seperti
nama barang, harga, jumlah, total harga, dan metode pembayaran yang dipilih.

Praktikum Pemrograman Berorientasi Objek 2023 Modul 3-11


Modul 3 - Constructor

DAFTAR PUSTAKA

Schildt, H. ( 2019). The Complete Reference Java Seventh Edition. New York: McGraw-
Hill.
Constructor pada Java – Frieyadie. (2021, May 07). Retrieved
from http://frieyadie.web.id/constructor-pada-java
9 Aturan Dan Contoh Penggunaan Constructor Pada Program Java – Bahasa Java. (2021,
May 06). Retrieved from https://bahasajava.com/9-aturan-contoh-
penggunaanconstructor-pada-program-java
Muhardian, A. (2021). Belajar Java OOP: Memahami Konsep Dasar OOP (untuk Pemula).
Petani Kode. Retrieved from https://www.petanikode.com/java-oop

Praktikum Pemrograman Berorientasi Objek 2021 Modul 3-12

Anda mungkin juga menyukai