Anda di halaman 1dari 42

MAKALAH

PEMROGRAMAN CONSTRUCTOR

Disusun Oleh:

Nama : Teungku Zulkifli


NIM : 2022903430035
Kelas : TRKJ 1.C
Jurusan : Teknologi Informasi dan Komputer
Program Studi : Teknologi Rekayasa Komputer Jaringan
Dosen Pembimbing : Indrawati, S.ST, M.T

JURUSAN TEKNOLOGI INFORMASI DAN KOMPUTER


PROGRAM STUDI TEKNOLOGI REKAYASA KOMPUTER JARINGAN
POLITEKNIK NEGERI LHOKSEUMAWE
TAHUN AJARAN 2022/2023

1
DAFTAR ISI

DAFTAR ISI......................................................................................................................................2
BAB I...............................................................................................................................................3
PENDAHULUAN..............................................................................................................................3
A. Latar Belakang....................................................................................................................3
B. Rumusan Masalah...............................................................................................................3
BAB II..............................................................................................................................................5
PEMBAHASAN.................................................................................................................................5
D. PENGERTIAN PEMROGRAMAN CONTRUCTOR....................................................................5
E. JENIS-JENIS CONSTRUKTOR DI JAVA...................................................................................5
F. Destructor dalam Java........................................................................................................9
G. Destructor dalam Java......................................................................................................12
H. Pengertian Constructor pada Java....................................................................................13
I. Default Constructor (no-arg constructor).........................................................................16
J. Parameterized Constructor...............................................................................................17
K. Jenis Constructors pada Java............................................................................................23
L. Tujuan dari Konstruktor Default.......................................................................................37
KESIMPULAN.................................................................................................................................41
DAFTAR PUSTAKA.........................................................................................................................42

2
BAB I

PENDAHULUAN
A. Latar Belakang
Java adalah sebuah bahasa pemrograman yang dirancang oleh James Gosling pada
tahun 1995 dan dikembangkan oleh Sun Microsystems. Bahasa pemrograman ini
didesain untuk memudahkan pengembangan aplikasi yang dapat berjalan di berbagai
platform, seperti komputer desktop, server, dan perangkat mobile. Java dikenal sebagai
bahasa pemrograman berorientasi objek, yang artinya bahwa semua kode dalam bahasa
ini dibuat berdasarkan objek-objek yang saling berinteraksi satu sama lain. Objek
dalam bahasa Java memiliki atribut dan metode, yang dapat dipanggil dan dimanipulasi
oleh kode pemrograman.
Salah satu keunggulan Java adalah kemampuan untuk mengelola memori secara
otomatis, yang disebut dengan "garbage collection". Hal ini memudahkan programmer
dalam membuat kode yang lebih aman dan efisien. Selain itu, Java juga memiliki
library standar yang sangat lengkap, yang memudahkan programmer dalam
membangun aplikasi dengan menggunakan komponen-komponen yang sudah tersedia.
Java juga dikenal sebagai bahasa pemrograman yang bersifat platform-independent,
yang artinya bahwa kode yang ditulis dalam bahasa ini dapat berjalan di berbagai
platform tanpa perlu mengubah kode tersebut. Hal ini dikarenakan Java menggunakan
JVM (Java Virtual Machine) sebagai mesin yang menjalankan kode-kode Java.
Untuk mengembangkan aplikasi dalam bahasa Java, dibutuhkan beberapa tools
seperti JDK (Java Development Kit) yang berisi kompiler, debugger, dan tools lainnya
yang diperlukan dalam proses pengembangan. Ada juga banyak IDE (Integrated
Development Environment) yang tersedia untuk memudahkan proses pengembangan,
seperti Eclipse, NetBeans, dan IntelliJ IDEA.Java digunakan dalam berbagai jenis
aplikasi, mulai dari aplikasi desktop, web, mobile, game, hingga enterprise.

B. Rumusan Masalah
Dari uraian latar belakang diatas, penulis merumuskan beberapa masalah yang akan
dijelaskan melalui makalah ini, yaitu sebagai berikut:

3
1. Pengertian Pemrograman constructor pada Java.
2. Sejarah Pemrograman constructor Objek?
3. Apa saja konsep dasar dari Pemrograman constructor pada Java.

C. Manfaat penulisan
1. Dapat memahami pengertian Pemrograman constructor.
2. Dapat memahami cara Pemrograman constructor pada Java.
3. Dapat mengimplementasikan contoh penggunaan Pemrograman constructor pada
Java.

4
BAB II

PEMBAHASAN
D. PENGERTIAN PEMROGRAMAN CONTRUCTOR
Constructor adalah metode khusus yang dijalankan secara otomatis pada saat sebuah
objek dibuat, yakni saat proses instansiasi .Constructor biasa dipakai untuk membuat
proses awal dalam persiapan object, seperti memberi nilai pada property, memanggil
method internal serta beberapa proses lain yang dirasa perlu.

Dalam bahasa Java, constructor dibuat dengan cara menulis sebuah method yang
namanya sama dengan nama class. Sebagai contoh jika kita memiliki class Laptop , maka
function constructor juga harus bernama Laptop() .Sebuah constructor tidak
mengembalikan nilai sehingga tidak perlu menulis tipe data sebelum nama function.
Constructor juga harus memiliki hak akses public , yang apabila tidak ditulis dianggap
public secara default .Ciri lain dari constructor adalah, hanya boleh ada satu method
constructor di setiap class.

Di Java, konstruktor adalah blok kode yang mirip dengan metode. Ini dipanggil ketika
sebuah instance dari kelas dibuat. Pada saat pemanggilan konstruktor, memori untuk
objek dialokasikan di dalam memori. Ini adalah jenis metode khusus yang digunakan
untuk menginisialisasi objek. Setiap kali objek dibuat menggunakan kata kunci new(),
setidaknya satu konstruktor dipanggil.

Konstruktor harus memiliki nama yang sama dengan kelas di mana ia didefinisikan, tidak
diperlukan untuk metode di Java.Konstruktor tidak mengembalikan tipe apa pun
sementara metode memiliki tipe pengembalian atau batal jika tidak mengembalikan nilai
apa pun.Konstruktor dipanggil hanya sekali pada saat pembuatan Objek sementara
metode dapat dipanggil beberapa kali.\

E. JENIS-JENIS CONSTRUKTOR DI JAVA


1. Konstruktor tanpa argumen

5
Konstruktor yang tidak memiliki parameter dikenal sebagai konstruktor No-
argument atau Zero argument. Jika kita tidak mendefinisikan konstruktor di kelas, maka
kompiler akan membuat konstruktor (tanpa argumen) untuk kelas tersebut. Dan jika kita
menulis konstruktor dengan argumen atau tanpa argumen maka kompiler tidak membuat
konstruktor default.

2. Konstruktor Berparameter

Konstruktor yang memiliki parameter dikenal sebagai konstruktor berparameter. Jika kita
ingin menginisialisasi bidang kelas dengan nilai kita sendiri, maka gunakan konstruktor
berparameter.

3. Konstruktor Bawaan

Konstruktor yang tidak memiliki parameter dikenal sebagai default konstruktor.


Konstruktor default tidak terlihat. Dan jika kita menulis konstruktor dengan argumen atau
tanpa argumen maka kompiler tidak membuat konstruktor default. Itu diambil. Itu sedang
kelebihan beban dan disebut konstruktor berparameter. Konstruktor default berubah
menjadi konstruktor berparameter. Tetapi konstruktor Parameterized tidak dapat
mengubah konstruktor default.

Jadi konstruktor digunakan untuk menetapkan nilai ke variabel kelas pada saat
pembuatan objek, baik secara eksplisit dilakukan oleh programmer atau oleh Java sendiri
(konstruktor default).

Contoh Constructor dan Cara Membuatnya


Berikut ini contoh Constructor:

6
Cara membuat constructor adalah dengan menuliskan nama method constructor sama
seperti nama class.
Pada contoh di atas constructor ditulis seperti ini:
public User() {
System.out.println("eksekusi method constructor...");
}
Pastikan memberikan modifier public kepada Constructor, karena ia akan dieksekusi saat
pembuatan objek (instance).
Mari kita coba membuat objek baru dari class User:
User petani = new User();
Sehingga sekarang kita punya kode lengkap seperti ini:

Hasilnya saat dieksekusi:

7
Constructor dengan Parameter
Constructor biasanya digunakan untuk initialize (menyiapkan) data untuk class.
Untuk melakukan ini, kita harus membuat parameter sebagai inputan untuk constructor.
Contoh:
public class User {
public String username;
public String password;

public User(String username, String password){


this.username = username;
this.password = password;
}
}
Pada kode class User di atas, kita menambahkan parameter username dan password ke
dalam constructor.
Berarti nanti saat kita membuat objek, kita harus menambahkan nilai parameter seperti
ini:
User petani = new User("petanikode", "kopi");
Contoh Kode lengkapnya: package konstruktor;

public class User {


public String username;
public String password;

public User(String username, String password){


this.username = username;
this.password = password;
}

class DemoConstructor{

8
public static void main(String[] args) {
User petani = new User("petanikode", "kopi");
System.out.println("Username: " + petani.username);
System.out.println("Password: " + petani.password);
}
}
Hasil outputnya:

F. Destructor dalam Java

Destructor adalah method khusus yang akan dieksekusi saat objek dihapus dari memori.
Java sendiri tidak memiliki method destructor, karena Java menggunakan gerbage
collector untuk manajemen memorinya.
Jadi Si gerbage collector akan otomatis menghapus objek yang tidak terpakai.
Sementara untuk bahasa pemrograman lain, seperti C++ kita bisa membuat destructor
sendiri seperti ini:
class User {
public:
User( String *username ); // <-- ini constructor
~User(); // <-- ini destructor.
private:
String username;
String password;
};
Contoh Constructor dan Cara Membuatnya

9
Cara membuat constructor adalah dengan menuliskan nama method constructor sama
seperti nama class.
Pada contoh di atas constructor ditulis seperti ini:
public User() {

System.out.println("eksekusi method constructor...");


}

Pastikan memberikan modifier public kepada Constructor, karena ia akan dieksekusi saat
pembuatan objek (instance).
Mari kita coba membuat objek baru dari class User:
User petani = new User();
Sehingga sekarang kita punya kode lengkap seperti ini

Hasilnya saat dieksekusi:

10
 Constructor dengan Parameter
Constructor biasanya digunakan untuk initialize (menyiapkan) data untuk class.
Untuk melakukan ini, kita harus membuat parameter sebagai inputan untuk constructor.
Contoh:

public class User {


public String username;
public String password;

public User(String username, String password){


this.username = username;
this.password = password;
}
}

Berarti nanti saat kita membuat objek, kita harus menambahkan nilai parameter seperti
ini

User petani = new User("petanikode", "kopi");

Contoh Kode lengkapnya:

package konstruktor;

public class User {


public String username;
public String password;

11
public User(String username, String password){
this.username = username;
this.password = password;
}
}
class DemoConstructor{
public static void main(String[] args) {
User petani = new User("petanikode", "kopi");
System.out.println("Username: " + petani.username);
System.out.println("Password: " + petani.password);
}
}

Hasil outputnya:

G. Destructor dalam Java


Destructor adalah method khusus yang akan dieksekusi saat objek dihapus dari
memori.
Java sendiri tidak memiliki method destructor, karena Java menggunakan gerbage
collector untuk manajemen memorinya.
Jadi Si gerbage collector akan otomatis menghapus objek yang tidak terpakai.
Sementara untuk bahasa pemrograman lain, seperti C++ kita bisa membuat destructor
sendiri seperti ini:

12
class User {
public:
User( String *username ); // <-- ini constructor
~User(); // <-- ini destructor.
private:
String username;
String password;
};

H. Pengertian Constructor pada Java


Constructor adalah method khusus yang dijalankan secara otomatis pada saat
sebuah object dibuat, yakni saat proses instansiasi.
Constructor biasa dipakai untuk membuat proses awal dalam persiapan object, seperti
memberi nilai kepada property, memanggil method internal serta beberapa proses lain
yang dirasa perlu.

Dalam bahasa Java, constructor dibuat dengan cara menulis sebuah method yang
namanya sama dengan nama class. Sebagai contoh jika kita memiliki class Laptop, maka
function constructor juga harus bernama Laptop().
Sebuah constructor tidak mengembalikan nilai sehingga tidak perlu menulis tipe data
sebelum nama function. Constructor juga harus memiliki hak akses public, yang apabila
tidak ditulis dianggap public secara default.
Ciri lain dari constructor adalah, hanya boleh ada satu constructor method di setiap class.

Contoh Kode Program Pembuatan Constructor Java

Berikut contoh kode program cara membuat constructor dalam bahasa Java:

class Laptop {
Laptop() {
System.out.println("Satu object Laptop sudah di buat");
}
};
class BelajarJava {
public static void main(String args[]){

13
Laptop laptopAnto = new Laptop();
Laptop laptopLisa = new Laptop();
Laptop laptopRudi = new Laptop();
}
}

Dalam kode program di atas saya kembali membuat class Laptop.

Class Laptop memiliki 1 constructor Laptop() di baris 2-4 yang hanya berisi satu
perintah System.out.println.Kemudian di dalam class BelajarJava terdapat 3 buah
object dari class Laptop, yakni object laptopAndi, laptopLisa dan laptopRudi.Pada saat
ketiga object di instansiasi, secara otomatis constructor akan berjalan. Hasilnya tampil 3
baris teks berikut di jendela cmd:

Satu object Laptop sudah di buat


Satu object Laptop sudah di buat
Satu object Laptop sudah di buat

Semua teks ini berasal dari perintah System.out.println di dalam method Laptop().

Constructor Sebagai Tempat Inisialisasi Property


Salah satu fungsi utama constructor adalah untuk proses inisialisasi property, yakni
pemberian nilai awal kepada property yang ada di dalam object:

class Laptop {
Laptop() {
String pemilik = "Anto";
String merk = "Lenovo";
System.out.println("Object Laptop " +merk+
" milik " +pemilik+" sudah dibuat");
}
};

class BelajarJava {
public static void main(String args[]){
Laptop laptopAnto = new Laptop();
}
}
Hasil kode program:
Object Laptop Lenovo milik Anto sudah dibuat

14
Di dalam constructor, terdapat pendefinisian 2 property: pemilik dan merk. Keduanya
langsung diisi nilai awal dan diakses dari perintah System.out.println().
Pada saat class Laptop di-instansiasi ke dalam object laptopAnto di baris 12, akan
tampil teks yang berasal dari constructor.

Mengisi Constructor dengan Parameter/Argument


Kita juga bisa mengirim nilai input ke dalam constructor. Caranya, tulis sebagai argument
pada saat pembuatan object. Sesampainya di dalam constructor, argument tadi bisa
ditampung ke dalam parameter. Berikut contoh prakteknya:

class Laptop {
Laptop(String pemilik, String merk) {
System.out.println("Object Laptop " +merk+
" milik " +pemilik+" sudah dibuat");
}
};

class BelajarJava {
public static void main(String args[]){
Laptop laptopAndi = new Laptop("Andi","Asus");
Laptop laptopLisa = new Laptop("Lisa","Acer");
Laptop laptopRudi = new Laptop("Rudi","Lenovo");
}
}

Constructor class Laptop sekarang menerima 2 buah parameter,yakni pemilik dan merk.
Dengan demikian pada saat proses instansiasi, kita harus mengisi dua nilai, misalnya new
Laptop(“Andi”,”Asus”).
Kedua parameter kemudian ditampilkan dengan perintah System.out.println() dari
dalam constructor.

15
Dalam tutorial belajar OOP Java kali ini kita telah membahas pengertian dan cara
penulisan constructor. Constructor sendiri sangat sering dipakai dalam pembuatan kode
program OOP.
 Java Constructor : Apa itu?

Seperti yang sudah dijelaskan sebelumnya, constructor pada Java adalah blok dari suatu
kode yang digunakan ketika instance dari suatu objek dibuat dan memori yang ada akan
dialokasikan untuk objek. Constructor atau dalam padanan Bahasa Indonesia disebut
dengan konstruktor, adalah tipe metode spesial yang digunakan untuk menginisialisasi
sebuah objek.
Hal ini menggunakan modifier akses ketika mendeklarasikan sebuah konstruktor juga
menjadi mungkin. Konstruktor adalah bagian yang sangat penting dari belajar Java secara
efektif.
Setiap kali sebuah objek membuat keyword new(), setidaknya satu konstruktor
digunakan. Konstruktor disebut sebagai konstruktor karena ia mengkonstruksi kelas yang
tersedia. Dalam beberapa kasus seperti Java compilator menyediakan konstruktor default
yang disediakan secara default juga. Dalam pembuatan konstruktor Java, terdapat
beberapa aturan.
Berikut ini aturan dalam pembuatan konstruktor.
1. Nama konstruktor harus sama dengan nama kelasnya.
2. Konstruktor tidak boleh memiliki tipe pengembalian eksplisit.
3. Konstruktor Java tidak boleh abstrak, statis, final, dan disinkronkan.

Konstruktor Java memiliki dua jenis yaitu no-arg constructor dan parameterized
constructor.

Berikut ini adalah penjelasan lengkap untuk konstruktor Java.

I. Default Constructor (no-arg constructor)


Default Constructor disebut juga no-arg constructor adalah salah satu Constructor
yang ada di Java. Berikut adalah syntax umumnya:

16
<class_name>(){}

Hal yang menarik untuk diperhatikan adalah jika tidak ada konstruktor yang ditentukan
dalam kelas Java, maka kompilator Java secara otomatis membuat konstruktor default
untuk kelas tersebut.

Bergantung pada jenis objek, konstruktor default memberikan nilai default ke objek.
Kekurangan dari menggunakan konstruktor default yang dibuat secara otomatis oleh
javac adalah setelah itu programmer tidak dapat mengatur nilai awal untuk atribut objek.

Contoh Kode:

class ConstructorDemo
{
ConstructorDemo()
public static void main(String args[])
{
ConstructorDemo a = new ConstructorDemo();
}
}
Hasil:
The constructor is created successfully!

J. Parameterized Constructor
Setiap konstruktor Java dengan sejumlah parameter disebut sebagai parameterized
constructor atau konstruktor berparameter. Meskipun konstruktor berparameter umumnya
digunakan untuk memberikan nilai yang berbeda ke objek Java yang berbeda, itu juga
dapat memberikan nilai yang sama untuk objek Java yang berbeda.
Berikut ini adalah contoh penggunaan konstruktor berparameter:

class ParaConst
{
int id;
String name;

17
ParaConst(int i, String n)
{
id = i;
name = n;
}
void display()
public static void main(String args[])
{
ParaConst s1 = new ParaConst(121, “Akhil”);
ParaConst s2 = new ParaConst(232, “Vijay”);
s1.display();
s2.display();
}

121 Akhil
232 Vijay

Constructor Overloading

Seperti metode Java, dimungkinkan untuk membebani konstruktor di Java. Dengan


overloading constructor, seseorang dapat memiliki konstruktor yang sama tetapi dengan
daftar parameter yang berbeda. Semuanya diatur sedemikian rupa sehingga masing-
masing menjalankan tugas yang berbeda.Kompilator Java membedakan antara
konstruktor yang kelebihan beban dengan jumlah total parameter dalam daftar dan
tipenya. Cuplikan kode berikut menunjukkan overloading konstruktor di Java:

Kompilator Java membedakan antara konstruktor yang kelebihan beban dengan jumlah
total parameter dalam daftar dan tipenya. Cuplikan kode berikut menunjukkan
overloading konstruktor di Java:

class OverloadConst
{

18
int id;
String name;
int age;
OverloadConst(int i,String n)
{
id = i;
name = n;
}
OverloadConst(int i, String n, int a)
{
id = i;
name = n;
age = a;
}
void display()
public static void main(String args[])
{
OverloadConst s1 = new OverloadConst(121, “Akhil”);
OverloadConst s2 = new OverloadConst(232, “Vijay”,25);
s1.display();
s2.display();
}
}121 Akhil 0
232 Vijay 25

Membandingkan Constructor vs Metode di Java

Seperti yang sudah disebutkan sebelumnya, konstruktor dan metode dalam Java memiliki
kemiripan. Metode Java adalah potongan kode yang memiliki beberapa nama tertentu.
Metode dapat dipanggil selama titik mana pun dalam program hanya dengan
menggunakan nama metode. Metode juga dapat dipahami sebagai subprogram yang
beroperasi pada data dan mengembalikan beberapa nilai.

Konstruktor Java adalah jenis metode khusus. Keduanya mirip dalam banyak hal, tetapi
tidak identik. Berikut adalah beberapa perbedaan terpenting antara konstruktor Java dan
metode Java:

1. Invoke – Saat konstruktor dipanggil secara implisit, metode ini dipanggil secara
eksplisit

19
2. Java Kompilator – Kompilator Java tidak pernah menyediakan metode Java.
Namun, kompilator Java menyediakan konstruktor default jika tidak ditentukan
dalam kelas Java
3. Number of Calls – Nama konstruktor di Jawa harus sama dengan nama kelas.
Namun, metode tersebut mungkin memiliki atau tidak memiliki nama yang sama
dengan kelas yang memuatnya
4. Jumlah Panggilan – Konstruktor Java dipanggil sekali dan hanya selama waktu
pembuatan objek. Metode Java, di sisi lain, dapat dipanggil sebanyak yang
diperlukan
5. Return Type – Metode Java harus memiliki jenis pengembalian, tetapi tidak wajib
untuk konstruktor yang sama
6. Use – Saat metode digunakan untuk mengekspos perilaku objek Java, konstruktor
digunakan untuk menginisialisasi keadaan yang sama.
Kami juga merangkum perbedaan konstruktor dan metode di Java.
1. Konstruktor digunakan untuk menginisialisasi status suatu objek. Sementara,
metode digunakan untuk mengekspos perilaku suatu objek.
2. Konstruktor tidak boleh memiliki tipe kembalian. Sementara, metode harus
memiliki tipe pengembalian.
3. Konstruktor dipanggil secara implisit. Sementara, metode ini dipanggil secara
eksplisit.
4. Kompilator Java menyediakan konstruktor default jika Anda tidak memiliki
konstruktor di kelas. Sementara, metode ini tidak disediakan oleh kompilator
dalam hal apapun.
5. Nama konstruktor harus sama dengan nama kelas. Sementara, nama metode
mungkin atau mungkin tidak sama dengan nama kelas.

Menyalin Constructor di Java

Meskipun tidak ada ketentuan untuk konstruktor salinan di Java, dimungkinkan untuk
menyalin nilai dari satu objek Java ke objek lain seperti menggunakan konstruktor
salinan di C ++.

20
Selain menggunakan konstruktor untuk menyalin nilai dari satu objek ke objek lainnya,
hal yang sama juga dapat dilakukan dengan menetapkan nilai satu objek ke objek lainnya.
Anda juga dapat menggunakan cara lain, dengan menggunakan metode clone () dari kelas
Object

Ada banyak cara untuk menyalin nilai dari satu objek ke objek lain di Java. Beberapa
cara tersebut adalah:

1. Disalin dengan atau oleh konstruktor.


2. Dengan menetapkan nilai dari satu objek ke objek lainnya.
3. Dengan metode clone () dari kelas Object.
Program berikut mendemonstrasikan penggunaan konstruktor Java untuk
menyalin nilai dari satu objek Java ke objek lainnya:

class Copy
{
int id;
String name;
Copy(int i,String n)
{
id = i;
name = n;
}
Copy(Copy s)
{
id = s.id;
name = s.name;
}
void display()
public static void main(Strong args[])
{
Copy s1 = new Copy(121, ”Akhil”);
Copy s2 = new Coopy(s1);
s1.display();
s2.display();
}
Hasil:
121Akhil
121 Akhil

21
Itulah penjelasan tentang konstruktor Java. Mempelajari cara menggunakan konstruktor
secara efektif adalah salah satu bagian penting untuk membangun pengetahuan yang baik
tentang bahasa pemrograman tujuan umum tingkat tinggi.

Anda dapat melakukan operasi apa pun di konstruktor seperti yang Anda lakukan dalam
metode. Java menyediakan kelas Konstruktor yang dapat digunakan untuk mendapatkan
informasi internal konstruktor di kelas tersebut.

 Definisi Java Constructors

Berikut adalah contoh deklarasi Java Constructors sederhana. Contoh berikut ini
menunjukkan kelas Java yang sangat sederhana dengan konstruktor tunggal.

public class ContohClass {

public ContohClass() {

Konstruktor ada pada bagian ini:

public ContohClass() { }
Bagian pertama dari deklarasi konstruktor Java adalah access changer atau pengubah
akses. Pengubah akses memiliki arti yang sama dengan metode dan bidang. Mereka

22
menentukan kelas apa yang dapat mengakses (memanggil) konstruktor. Pengubah akses
dibahas lebih detail dalam tutorial pengubah akses Java saya.

Bagian kedua dari deklarasi Java Constructor adalah nama kelas yang dimiliki
konstruktor. Menggunakan nama kelas untuk konstruktor memberi sinyal kepada
kompiler Java bahwa ini adalah konstruktor. Perhatikan juga bahwa konstruktor tidak
memiliki tipe pengembalian, seperti yang dimiliki metode lain.

Bagian ketiga yang berada pada deklarasi Java Constructor merupakan list parameter
yang bisa diambil oleh constructor. Parameter konstruktor berada dalam tanda kurung ()
agar dapat dideklarasikan setelah bagian nama kelas dari Java Constructor. Dalam contoh
deklarasi konstruktor di atas tidak ada parameter yang dideklarasikan. Saya akan
menunjukkan contoh deklarasi konstruktor Java dengan parameter nanti dalam teks ini.

Bagian keempat yang ada pada deklarasi konstruktor Java adalah body constructor. Body
constructor ini harus terdefinisi di dalam kurung kurawal {} setelah list parameter. Dalam
contoh konstruktor di atas konstruktor tidak memiliki operasi di dalam badan konstruktor.
Dikatakan sebagai konstruktor “empty”.

Ada dua jenis konstruktor di Java: konstrukt tanpa argument atau default constructor, dan
konstruktor berparameter. Mereka disebut konstruktor karena membangun nilai pada saat
pembuatan objek. Tidak perlu menulis konstruktor untuk kelas. Itu karena kompiler Java
membuat konstruktor default jika kelas Anda tidak memilikinya.

 Ada tiga aturan yang didefinisikan untuk konstruktor pada Java:


1. Nama konstruktor wajib sama dengan class name atau nama kelasnya.
2. Konstruktor tidak boleh memiliki excplicit return type (tipe pengembalian yang
eksplisit)
3. Konstruktor Java tidak bisa abstrak, statis, final, dan disinkronkan

K. Jenis Constructors pada Java


1. Default Constructor (konstruktor tanpa argumen)

23
Konstruktor disebut Default Constructor ketika tidak memiliki parameter apa pun.
Berikut ini adalah contoh syntax default constructor untuk membuat constructor
pada Java.

1. <nama_kelas>(){

2.

3. }

Contoh Default Constructor:

1. class Pesan {

2. Pesan() {

3. System.out.println("Selamat Belajar Java");

4. }

5.

6. public static void main(String args[]){

7. Pesan p=new Pesan();

8. }

9. }
Hasil:
Selamat Belajar Java
Dalam contoh ini, kita membuat konstruktor tanpa argument di kelas Pesan. Konstruktor
tanpa argument atau populer dikenal dengan default constructor akan dipanggil ketika
pembuatan objek berlangsung.

1. class Pegawai {

2. int id;

24
3. String nama;

4.

5. void view() {

6. System.out.println(id+" "+nama);

7. }

8.

9. public static void main(String args[]) {

10. Pegawai p1=new Pegawai();

11. Pegawai p2=new Pegawai();

12.

13. p1.view();

14. p2.view();

15. }

16. }

Hasil:

0 null0 null

Pada kelas di atas, Anda tidak membuat konstruktor lain oleh karena itu compiler
menyediakan Anda default constructor. Di sini, 0 dan null adalah nilai yang disediakan
oleh default constructor.

2. Parameterized Constructor

Parameterized Constructor atau konstruktor yang memiliki sejumlah parameter tertentu


disebut konstruktor berparameter. Mengapa menggunakan konstruktor berparameter?

25
Konstruktor parameter digunakan untuk memberikan nilai yang berbeda untuk objek
yang berbeda. Namun, Anda juga dapat memberikan nilai yang sama.

Berikut ini adalah contoh konstruktor berparameter. Dalam contoh ini, Codekey
membuat konstruktor kelas Siswa yang memiliki dua parameter. Umumnya, saat bekerja
dengan Java dapat memiliki sejumlah parameter dalam konstruktor.

1. class Pegawai {

2. int id;

3. String nama;

4.

5. Pegawai(int x, String y) {

6. id = x;

7. nama = y;

8. }

9. void view() {

10. System.out.println(id+" "+nama);

11. }

12.

13. public static void main(String args[]) {

14. Pegawai p1 = new Pegawai(37,"Andi");

15. Pegawai p2 = new Pegawai(38,"Budi");

16.

17. p1.view();

26
18. p2.view();

19. }

20. }

Output:

37 Andi

38 Budi

3. Constructor Overloading di Java

Pada Java, konstruktor sama seperti metode tetapi tanpa tipe pengembalian. Itu juga bisa
kelebihan beban seperti metode Java. Overloading konstruktor di Java adalah teknik
memiliki lebih dari satu konstruktor dengan daftar parameter yang berbeda. Mereka
diatur sedemikian rupa sehingga setiap konstruktor melakukan tugas yang berbeda.
Mereka dibedakan oleh kompiler dengan jumlah parameter dalam daftar dan tipenya.

Contoh Overloading Konstruktor

1. class Pegawai{

2. int id;

3. String nama;

4. String hobi;

5.

6. Pegawai(int x, String y){

7. id = x;

8. nama = y;

27
9. }

10.

11. Pegawai(int x, String y, String z){

12. id = x;

13. nama = y;

14. hobi = z;

15. }

16. void view() {

17. System.out.println(id+" "+nama+" "+hobi);

18. }

19.

20. public static void main(String args[]){

21. Pegawai p1 = new Pegawai(37, "Andi", "Membaca");

22. Pegawai p2 = new Pegawai(38, "Budi", "Berenang");

23. p1.view();

24. p2.view();

25. }

26. }

Hasil:

37 Andi Membaca

38 Budi Berenang

28
Perbedaan antara konstruktor dan metode di Java

Ada banyak perbedaan antara konstruktor dan metode. Berikut ini adalah penjelasannya.

1. Konstruktor digunakan untuk menginisialisasi keadaan suatu objek. Sementara,


sebuah metode digunakan untuk mengekspos perilaku suatu objek.
2. Konstruktor tidak boleh memiliki return type atau tipe pengembalian. Sementara,
sebuah metode harus memiliki return type.
3. Konstruktor dipanggil atau dijalankan secara implisit. Sementara, metode ini
dipanggil atau dijalankan secara eksplisit.
4. Kompiler Java menyediakan konstruktor default jika Anda tidak memiliki
konstruktor di kelas. Sedangkan, metode ini tidak disediakan oleh kompiler dalam
hal apa pun.
5. Nama konstruktor harus sama dengan nama kelas. Sedangkan, nama metode
mungkin atau mungkin tidak sama dengan nama kelas.

Java Copy Constructor

Tidak ada copy constructor di Java. Namun, kita dapat menyalin nilai dari satu objek ke
objek lain seperti menyalin konstruktor di C++. Menyalin nilai dari satu objek ke objek
lain di Java memiliki banyak cata. Adapun cara-cara tersebut adalah:

 Menggunakan konstruktor
 Dengan menetapkan value/nilai dari satu objek ke objek lain
 Dengan metode clone() dari kelas Object
Dalam contoh ini, kita akan menyalin nilai dari satu objek ke objek lain
menggunakan konstruktor Java.

1. class Pegawai{

2. int id;

3. String nama;

29
4.

5. Pegawai(int x, String y) {

6. id = x;

7. nama = y;

8. }

9.

10. Pegawai(Pegawai p) {

11. id = p.id;

12. nama =p.nama;

13. }

14. void view() {

15. System.out.println(id+" "+nama);

16. }

17.

18. public static void main(String args[]){

19. Pegawai p1 = new Pegawai(31, "Gumi");

20. Pegawai p2 = new Pegawai(p1);

21.

22. p1.view();

23. p2.view();

24. }

30
25. }

Hasil:

31 Gumi

31 Gumi

Menyalin Nilai tanpa Constructor

Kita dapat menyalin nilai dari satu objek ke objek lain dengan menetapkan nilai objek ke
objek lain. Dalam hal ini, tidak perlu membuat constructor pada Java

1. class Pegawai{

2. int id;

3. String nama;

4.

5. Pegawai(int x, String y){

6. id = x;

7. nama = y;

8. }

9.

10. Pegawai() {

11. }

12.

31
13. void view() {

14. System.out.println(id+" "+nama);

15. }

16.

17. public static void main(String args[]){

18. Pegawai p1 = new Pegawai(31, "Gumi");

19. Pegawai p2 = new Pegawai();

20. p2.id=p1.id;

21. p2.nama=p1.nama;

22.

23. p1.view();

24. p2.view();

25. }

26. }

Hasil:

31 Gumi

31 Gumi

 Default Constructor in Java


Apa itu Pembuat Default di Java?

32
Konstruktor default dibuat hanya jika kita tidak mendeklarasikan konstruktor apa pun
dalam kode kita. Kemudian, secara default, kompiler secara otomatis membuat
konstruktor default.

Karena kita mengetahui peran konstruktor di Java, pertanyaannya adalah, apa yang akan
terjadi jika konstruktor tidak tersedia selama pembuatan objek?

Tapi pertama-tama, kita perlu melihat kasus penting di mana kita mencoba mengakses
variabel apapun tanpa inisialisasi. Di sini, dalam contoh ini, kami hanya akan
mendeklarasikan variabel tetapi tidak akan menginisialisasinya dengan nilai defaultnya.

//Program to show declaration of variables


//without initialization
import java.io.*;
import java.util.*;

class Main {
public static void main (String[] args) {
//Declaration of variables
//without initialization
int id;
String first_name;
String last_name;

//Trying to access the variables and print without assigning the


default values
System.out.println("Hi " + first_name + " " + last_name + ",
your id is " + id);
}
}

Compilation error:

./Main.java:15: error: variable first_name might not have been initialized


System.out.println"Hi " + first_name + " " + last_name + ", your id
is " + id);
^
./Main.java:15: error: variable last_name might not have been initialized

33
System.out.println"Hi " + first_name + " " + last_name + ", your id
is " + id);
^
./Main.java:15: error: variable id might not have been initialized
System.out.println"Hi " + first_name + " " + last_name + ", your id
is " + id);
^
3 errors
Dan memang, inilah yang mungkin Anda harapkan. Kode di atas telah menimbulkan
banyak kesalahan. Mengapa? Karena kami tidak repot menginisialisasi variabel dengan
nilai defaultnya. Juga, variabel-variabel ini dideklarasikan dalam metode statis, jadi ini
adalah variabel statis. Penting untuk menyediakan variabel statis dengan nilai defaultnya.

Sekarang, kami akan memberikan nilai default untuk mereka.

//Program to show declaration of variables


import java.io.*;
import java.util.*;

public class Main {


public static void main (String[] args) {
//Declaration & initialization of variables
int id = 001;
String first_name = "John";
String last_name = "Wick";

//Trying to access the variables and print their default values


System.out.println("Hi " + first_name + " " + last_name + ", your id is "
+ id);
}
}

Output:

Hi John Wick, your id is 001

Sekarang, kode berfungsi dengan baik. Jadi, contoh di atas menyoroti kesalahan umum
yang mungkin kita, sebagai pemrogram, lakukan saat membuat objek juga.

34
Variabel instan adalah yang dideklarasikan sebagai properti kelas tetapi di luar
konstruktor, metode, atau blok kelas.

Jadi, menginisialisasi variabel instan juga wajib. Di sinilah peran konstruktor default di
Java yang menetapkan variabel instan ini dengan nilai defaultnya.

Catatan: Kami biasanya menyebut konstruktor default sebagai konstruktor tanpa arg
tetapi sebenarnya tidak sama. Konstruktor no-arg masih merupakan konstruktor yang
dibuat oleh pengguna dan bukan oleh kompiler. Meskipun keduanya memiliki tujuan
yang sama, yang satu dibuat secara otomatis sedangkan yang lainnya dibuat oleh
pengguna.

Contoh Konstruktor Default

Mari kita ambil contoh produk yang terdiri dari data seperti id, nama_produk, dan juga
harga.

Perhatikan apa yang terjadi ketika tidak ada konstruktor yang dideklarasikan dalam kode
oleh programmer, dan tetap saja, kami mencoba mengakses variabel instan.

//Program to show the use of default constructor

35
import java.io.*;
import java.util.*;

//Creating a class 'Product'


public class Product {
String id;
String product_name;
double price;

//No creation of any constructor by the user

public static void main (String[] args) {


//Creating an object by calling
//default constructor
Product product = new Product();

//Trying to access the variables and print their default values


System.out.println(product.id);
System.out.println(product.product_name);
System.out.println(product.price);
}
}
Output:
null
null
0.0

Berhasil! Kode di atas tidak menimbulkan kesalahan apa pun karena kompiler Java
menyediakan konstruktor default untuk kode untuk menginisialisasi atribut dengan nilai
default. Ya, konstruktor default ini tidak terlihat.

36
L. Tujuan dari Konstruktor Default
Seperti dibahas di atas, tujuan konstruktor default adalah untuk memberikan nilai default
ke objek. Bilangan bulat akan diinisialisasi dengan

0
0, gandakan dengan
0
.
0
0.0, boolean dengan

false dan String dengan batal. Itu tergantung pada jenis variabel instan yang
dideklarasikan di kelas tempat objek dibuat.penting

Mari pertimbangkan kasus lain di mana kita akan membuat konstruktor berparameter.

//Program to call the default constructor


//when parameterized, one is declared
import java.io.*;
import java.util.*;

//Creating a class for products


public class Product {
//Declaring instance
String id;
String product_name;
double price;

//Calling parametrized constructor


public Product(String id, String product_name, double price)
{
this.id = id;
this.product_name = product_name;
this.price = price;

37
}

public static void main (String[] args) {


//Creating object of class 'Product' by calling the default constructor
Product product = new Product();

//Trying to access the variables and print without assigning the default
values
System.out.println("Price for " + product.product_name + " with
product_id " + product.id + " is " + product.price);
}
}

Kesalahan kompilasi:

Product.java:23: error: constructor Product in class Product cannot be applied to given


types;

Product product = new Product();


^
required: String,String,double
found: no arguments
reason: actual and formal argument lists differ in length
1 error

Kami telah membuat konstruktor berparameter dalam kode kami, dan kami mencoba
mengakses konstruktor default. Itu melempar kesalahan.

Catatan: Saat kita membuat konstruktor secara manual, maka kompiler tidak akan
memasukkan konstruktor default. Jadi, kita juga harus membuat konstruktor default
secara manual, jika diperlukan.Jika kita telah membuat konstruktor berparameter sendiri
dan kebetulan, kita mencoba memanggil konstruktor default, maka kita juga bertanggung
jawab untuk membuat konstruktor default kita sendiri.

38
Tapi ya, ini hanya terjadi ketika kita memanggil konstruktor default, sedangkan kita
hanya membuat konstruktor berparameter. Anda dapat melihat hal yang sama pada kode
yang diberikan di bawah ini.

//Program to show the use of parametrized constructor


import java.io.*;
import java.util.*;

//Creating a class for products


public class Product {
//Declaring instance
String id;
String product_name;
double price;

//Calling parametrized constructor


public Product(String id, String product_name, double price)
{
this.id = id;
this.product_name = product_name;
this.price = price;
}
public static void main (String[] args) {
//Creating object of class 'Product'
//Here, we'll assign the values for the variables
Product product = new Product("w001", "watch", 15000);

//Trying to access the variables and print without assigning the default
values
System.out.println("Price for " + product.product_name + " with
product_id " + product.id + " is " + product.price);
}

39
}
Price for watch with product_id w001 is 15000.0
Output:

Masalah tidak terjadi di sini karena kami tidak membuat atau memanggil konstruktor
default. Kami memiliki konstruktor berparameter dan kami hanya memanggilnya, jadi
tidak perlu konstruktor default.

40
KESIMPULAN

Java constructor di gunakan Ketika instance dari kelas di buat, constructor java akan
memudahkan dalam mengerjakan dengan kode-kode yang ada di java dalam hal ini
menggunakan akses modifier Ketika mendeklaarasikan sebuah konstruktor juga menjadi
mungkin,konstruktor adalah bagian yang sangat penting dari belajar java secara efektif.

41
DAFTAR PUSTAKA
https://www.codeternity.com/id-id/article/java/java-konstruktor

https://www.petanikode.com/java-oop-constructor

https://docplayer.info/57233161-Modul-2

https://koding.alza.web.id/oop-praktis-constructor-java

42

Anda mungkin juga menyukai