CONSTRUCTOR (JAVA)
Pemogaman Berorientasi objek selanjutnya adalah mengenai
CONSTRUCTOR.
Apa itu Constructor ?
Constructor
adalah method yang berfungsi untuk menginisialisasi variable-variabel instans
yang akan di miliki oleh objek. Constructor ini di panggil pada saat proses
inisialisasi kelas menjadi objek, nah jika kelas tidak memiliki method
constructor maka seluruh variable objek akan terinisialisasi pada nilai default
sesuai tipe data masing variable.
Karakteristik Constructor :
- Method Constructor harus memiliki
nama yang sama dengan nama class
- Tidak mengembalikan suatu nila
(Tidak ada keyword return)
- Dalam satu kelas memiliki lebih
dari Constructor (Overloading constructor)
- Dapat di tambah acces modifier
public, private, protected maupun default
- Sebuah constructor dapat di panggi oleh
constructor lain dalam satu class
Structur constructor:
Structur Overloading Constructor :
Perbedaan menggunakan Constructor dengan method setter
Kita lihat Gambar
analogi perbedaan Constructor dengan method setter
Dengan gambar di atas tentunya sudah bisa melihat
perbedaannya yaitu dalam method setter pembuatan objek pertama kali di buat
dari sebuah class (Instance off class), setelah objek terbentuk barulah di beri
atribut sedangkan contructor objek yang sudah di buat di class (instance off
class) langsung di beri atribut.
Langsung saja kita buat programnya berdasarkan materi kita
kali ini (Constructor) yaitu sistem login.
Kita akan membuat 2 buah class yaitu class Login.java dan
Class utama.java.
buatlah class login.java dengan ketentuan sebagai berikut :
- Atribut berisi username dan
password
- Memiliki 2 constructor login.
Constrctor pertama memiliki nilai default contohnya usernme=”admin” dan
password “12345”. Constructor yang kedua memilliki parameter yang nantinya akan
mengeset nilai username dan password yang di inputkan oleh user.
- Terdapat method setter dan
getter.
Langkah – langkahnya sebagai berikut :
Seperti biasa pertama-tama kita membuat schema untuk
mempermudah pembuatan programnya.
Keterangan : (-)
Private : (+)Public
Selanjutnya membuart Kerangka dalam class Login denga
memenuhi ketentuan di atas.
Selanjutnya Pendeklarasian Variabel yang di butuhkan . yaitu
variabel username dan password :
Selanjutnya mendeklarasikan constructor.
Seperti gambar di atas ada garis biru itulah pembuatan
constructor.
Perlu di perhatikan disitu juga ada pengguanaaan keyword this.
Penggunaan keyword tersebut akan mengacu pada variable yang di
deklarasikan pada class Login, jika tidak di beri keyword this maka variable
tersebut akan mengacu pada variable yang di deklarasikan pada parameter
constructor, penggunaan keyword this ini dapat di gunakan atau tidak (optional)
apabila pendeklarasian variable pada class Login berbeda, namun sebaiknya
keyword this ini harus ada.
Selanjutnya yaitu membuat method setter.
Tujuan dari pembuatan method setter disini yaitu untuk
mengeset atau merubah nilai variable username dan password. Tipe data Variabel
yang di buat di method setter ini haruslah
sama dengan tipe data variable yang di deklarasikan di class.
Selanjutnya yaitu pembuatan method getter.
Seperti tugas sebelumnya method getter berfungsi untuk
mengambil nilai dari masing-masing variable dari class Login yang nantinya akan
di kembalikan kedalam class utama. Tipedata di method getter ini juga harus
sama dengan tipedata variable yang di deklarasikan di class.
Class login telah selesai, selanjutnya kita buat class utama
(Utama.java).
Membuat kerangka class utama.
Di program ini nantinya akan meminta inputan dari user Artinya
user di minta mengiputkan ke dalam program melalui keyboard .
Sebelum membuat inputan maka anda harus membuat class
yang nantinya akan menerima inputan salah satunnya adalah class BufferedReader yang
terdapat pada packages java.io
Setelah itu buatlah semacam perintah yang mengharuskan
user untuk menginput sesuai permintaan program yang nantinya akan di tamping ke
dalam variable.
Kita mulai isi satu persatu kerangkanya.
Pertama kita membuat instace of class.
Objek yang saya buat disini ada 2 yaitu user1 (Menggunakan
constructor Login tanpa parameter)
nantinya akan mereferens ke contructor login tanpa parameter, yang kedua
yaitu user2(Menggunakan constructor Login dengan parameter) tanda petik dua
(“”) itu artinya variable telah di beri nilai awal berupa kosong.
Selanjutnya membuat perulangan menu.
Nantinya program ini ada beberapa pilihan jadi menu
memerlukan adanya perulangan, untuk perulangan anda bisa menggunakan “do…
while”ataupun “for” namun disini saya menggunakan “while” dengan jika kondisi
bernilai (true) maka menu akan di
tampilkan dan sebaliknya.
Karena saya sudah membuat program pilihan tentunya harus ada
inputan dari user untuk menentukan pilihan, mari kita buat :
Program akan meminta user untuk menginput dari keyboard
menentukan pilihan-pilihan menu yang ada. Setelah user mengimput tentunya
program akan mengecek sesuai data yang telah user inputkan , maka dari itu kita
buat pengecekannya.
Untuk pengecekan disini saya menggunakan case, dalam setiap
case jangan sampai lupa menambahkan “break;” yang berfungsi menghentikan proses
pengecekan jika salah satu case telah terpenuhi dan di eksekusi. Di dalam case
juga ada default yang isinya “System.exit(0);” artinya jika user memasukkan
inputan yang tidak sesuai dengan menu yang ada maka program akan keluar.
Mari kita isi masing-masing Case-casenya.
Case 1
Didalam case 1 ini kita isi dengan Login admin, artinya jika
user menginput angka 1 maka program akan menampilkan Login admin.
Di dalam case 1 ini user akan di minta memasukan username
dan password, setelah user menginput makan program akan melakukan proses
pengecekan apakah inputan user ini sama atau tidak dengan nilai dari variable
yang telah kita buat di class Login tadi. Jika benar (true) program akan
menampilkan *** Login Sukses *** artinya inputan user sama dengan nilai
variabel username dan password namun jika salah(False) program akan menampilkan
*** Login Gagal *** artinya inputan user tidak sesuai dengan nilai variabel.
Selanjutnya isi case 2.
Dalam case 2 berisi Ubah password Admin, disini user akan
mengganti password default yaitu dari nilai variabel password=”12345” sesuai
dengan keinginan user.
Program akan meminta user menginputkan password lama dan
password baru.
Program akan melakukan pengecekan terhadap inputan user,
password lama harus sesuai dengan nilai variable password di class login. Jika
password lama benar (true) program akan menampilkan *** Password berhasil
dirubah *** artinya eksekusi berhasil, namun jika salah (False) program akan
menampilkan *** Anda salah memasukan password lama *** artinya password yang
user inputkan tidak sama dengan nilai variabel password yang ada di class login.
Selanjutnya isi Case 3.
Pada case 3 ini yaitu Buat User (Membuat user baru)
Disni user diminta untuk menginputkan pada variabel
create_user yang nantinya akan di
transfer ke variabel username dan
create_password ke variabel password (bukan mengganti password default) lihat
user 2. Program akan mencetak *** User telah berhasil di tambah *** artinya
proses tambah atau input nilai ke masing-masing variabel berhasil.
Selanjutnya isi Case 4.
Pada case 4 ini berisi data user artinya program akan
menampilkan nilai-nilai dari masih variabel.
Data user 1 : program menampilkan isi dari variabel username
dan password yang ada pada user 1 jika belum ada perubahan dari user maka
program akan menampilkan isi variabel default yaitu username = admin dan
password = 12345, jika sudah di ganti oleh user maka program akan menampilkan
sesuai isi perubahan.
Data user 2 : Disini akan menampilkan nilai variabel yang
sebelumnya telah di isi di case 3 pada variabel user 2. Jika belum melakukan
inputan pada case 3 maka program akan menampilkan data kosong.
Tampilan hasil running project :
Menu
Ini adalah Tampilan pertama dari output program ini.
Pilihan 1 :
Pilihan 2 :
Pilihan 3 :
Pilihan 4 :
Pilihan 5 :
Pilihan menu yang ke 5 merupakan menu keluar , Artinya Program mengakhiri proses eksekusi.
Demikianlah Penjelasan tentang Constructor kali ini, Jika ada pertanyaan silahkan tullis komentar di bawah, sayapun masih belajar, Terimakasih Semoga bermanfaat.