Oleh:
Fajri Novitasari 170533628549
Terkadang di dalam sebuah class ada lebih dari satu method yang
namanya sama, tetapi memiliki parameter yang berbeda sehingga fungsinya
pun berbeda. Method dengan kemampuan seperti ini disebut sebagai
overloading method. Pada method overloading perbedaan parameter
mencakup :
Jumlah parameter
Tipe data dari parameter
Urutan dari tipe data parameter
Data yang dimasukkan melalui text field memiliki tipe data String.
Jika membutuhkan data berupa bilangan yang akan dilakukan perhitungan,
maka dapat dikonversi ke dalam tipe data lain, misalnya dikonversi ke
dalam tipe data integer dengan perintah Integer.parseInt(objek.getText()).
Kemudian agar dapat menampilkan hasilnya kembali pada text field, maka
bisa digunakan perintah objek.setText(String.valueOf(nilai)).
System.out.println("***************************
***************");
System.out.println("\n\tPENGENALAN
KONSTRUKTOR\n");
System.out.println("***************************
***************");
mhs.info(); //memanggil method info
}
}
Hasil Program :
a) Hasil Program “Mahasiswa”
b) Hasil Program “Konstruktor”
Penjelasan :
Program diatas menampilkan identitas mahasiswa. Pada class Mahasiswa
dideklarasikan variabel nama bertipe data String dengan modifier private dan
variabel angkataan bertipe data int dengan modifier private. Konstruktor
method Mahasiswa dengan modifier public dengan parameter String
nama, int angkatan dideklarasikan this.nama=nama dimana variabel nama
pada class Mahasiswa sama dengan variabel nama yang nantinya variabel
tersebut dipanggil pada class Konstruktor dan this.angkatan=angkatan
dimana variabel angkatan pada class Mahasiswa sama dengan variabel
angkatan, yang akan dipanggil pada class Konstruktor. Pada fungsi info
digunakan untuk menampilkan output dari variabel nama dan angkatan. Pada
program menggunakan yang menggunakan class Mahasiswa, tidak dapat
menampilkan output karena tidak terdapat main method. Pada class
Konstruktor, membuat fungsi main yaitu public static void main
(String[] args). Static pada method main berarti method main tidak
mengubah atau menggunakan objek yang diciptakan oleh kelas tersebut,
sehingga dapat dikatakan berdiri sendiri, tidak terikat dengan objek dan akan
membuat fungsi dapat dieksekusi langsung tanpa harus membuat instansiasi
objek dari class. Dalam method main terdapat parameter String[]
args berupa array dengan tipe data String, parameter tersebut akan
menampung semua argumen yang diberikan ke program. Pada fungsi main,
pertama membuat objek baru di class Mahasiswa dengan nama objek mhs
yang sama dengan variabel Mahasiswa yang memiliki nilai parameter
("Surya", 2012) . Selanjutnya ditampilkan output berupa nama dan
angkatan dengan memanggil method info.
System.out.println("\n*************************
***********************");
System.out.println("\n\tOVERLOAD TERHADAP
KONSTRUKTOR#1\n");
System.out.println("***************************
*********************");
Mahasiswa1 mhs1=new Mahasiswa1("Surya",
2012); //menugaskan objek mhs1
mhs1.info(); //memanggil method info yang
menampilkan data dari kostruktor dengan parameter
Mahasiswa1 mhs2=new Mahasiswa1();
//membuat objek mhs2
mhs2.info(); //memanggil method info yang
menampilkan data dari kostruktor tanpa parameter
}
}
Hasil Program :
a) Hasil Program “Mahasiswa1”
Penjelasan :
Program diatas digunakan untuk menampilkan identitas mahasiswa dengan
variabel yang ditampilkan adalah nama dan angkatan mahasiswa. Pada class
Mahasiswa1, dideklarasikan variabel nama bertipe data String dengan
modifier private dan variabel angkatan bertipe data int dengan modifier
private. Selanjutnya membuat konstruktor method Mahasiswa tanpa
parameter, pada method dideklarasikan this.nama="Siwi" dimana this
digunakan untuk mengakses variabel nama yang sudah didideklarasikan
sebelumnya. this.angkatan=2013 berarti angkatan mahasiswa yang
mempunyai nama Siwi adalah 2013, dimana variabel angkatan diakses oleh
this dari variabel yang sudah dideklarasikan pada class Mahasiswa1.
Selanjutnya dideklarasikan konstruktor method Mahasiswa1 dengan
parameter, di dalam method dideklarasikan this.nama=nama dimana variabel
nama pada class Mahasiswa1 sama dengan variabel nama yang nantinya
variabel tersebut dipanggil pada class OverloadCOnstructor1 dan
this.angkatan=angkatan dimana variabel angkatan pada class
Mahasiswa1 sama dengan variabel angkatan, yang akan dipanggil pada class
OverloadCOnstructor1. Selanjutnya dibuat method fungsi yang digunakan
untuk menampilkan output identitas mahasiswa,
System.out.println("Nama : "+this.nama) digunakan untuk
menampilkan nama mahasiswa dengan memanggil variabel nama dan
System.out.println("Angkatan : "+this.angkatan) digunakan untuk
menampilkan angkatan mahasiswa dengan memanggil variabel angkatan.
Hasil Program :
a) Hasil Program “Lingkaran”
Penjelasan :
Program diatas menampilkan luas dari lingkaran. Pada class Lingkaran,
dideklarasikan variabel radius bertiipe data double. Setelah itu
mendeklarasikan kontruktor, untuk konstruktor tanpa parameter radius
bernilai 1.0 dan konstruktor identitas dengan parameter radius bernilai r.
Untuk menghitung luas lingkaran, dideklarasikan method luas bertipe double
yang digunakan untuk menghitung luas lingkaran yaitu dengan synatx return
radius*radius*Math.PI. Pada class UjiLingkaran, membuat fungsi main
yaitu public static void main (String[] args). Static pada method
main berarti method main tidak mengubah atau menggunakan objek yang
diciptakan oleh kelas tersebut, sehingga dapat dikatakan berdiri sendiri, tidak
terikat dengan objek dan akan membuat fungsi dapat dieksekusi langsung
tanpa harus membuat instansiasi objek dari class. Dalam method main
terdapat parameter String[] args berupa array dengan tipe data String,
parameter tersebut akan menampung semua argumen yang diberikan ke
program. Pertama membuat objek baru di class Lingkaran, ada 3 objek
dengan nama ling1 yang memiliki nilai sama dengan Lingkaran pada class
Lingkaran, objek kedua dengan nama ling2 memiliki nilai Lingkaran dengan
array 10 dan obejk ling3 memiliki nilai Lingkaran dengan array 100. Dari
objek yang sudah dibuat, selanjutnya menampilkan hasil dari luas 3 objek
lingkaran, dengan memanggil setiap objek dan method luas.
System.out.println("\n*************************
************");
System.out.println("\n\tOVERLOAD TERHADAP
METHOD #1\n");
System.out.println("***************************
***************");
Hasil Program :
a) Hasil Program “Pilihan”
bilangan=Double.valueOf(nilai).doubleValue();
return bilangan*bilangan;
}
}
}
}
Hasil Program :
a) Hasil Program “Matematika”
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Hasil Program :
Penjelasan :
Program diatas menampilkan text field berbasis GUI. Pertama
mendeklarasikan import javax.swing.JFrame yang digunakan untuk
mengimport fungsi class JFrame dari package javax.swing dan import
javax.swing.JTextField yang digunakan untuk memanggil fungsi class
JTextField didalam Swing. Program ini menggunakan class
CreateerTextField, kemudian dibuat fungsi main yaitu public static void
main (String[] args). Static pada method main berarti method main
tidak mengubah atau menggunakan objek yang diciptakan oleh kelas tersebut,
sehingga dapat dikatakan berdiri sendiri, tidak terikat dengan objek dan akan
membuat fungsi dapat dieksekusi langsung tanpa harus membuat instansiasi
objek dari class. Dalam method main terdapat parameter String[]
args berupa array dengan tipe data String, parameter tersebut akan
menampung semua argumen yang diberikan ke program. Selanjutnya
membuat objek baru dari class JFrame dengan nama frame dan membuat
objek dari class JTextField dengan nama textfield. Pada objek frame diberi
judul CREATE TEXT FIELD dengan menggunakan frame.setTitle("CREATE
TEXT FIELD ") dimana setTitle digunakan untuk menampilkan judul dari
objek frame. frame.setBounds (200,200,300,200) digunakan untuk
menentukan ukuran frame. frame.add(textfield) digunakan untuk
menambahkan text field pada frame, frame.setLayout(null)digunakan
untuk mengatur layout yang digunakan dalam frame. Selanjutnya untuk
menampilan frame agar dapat dijalankan menggunakan
frame.setVisible(true).frame.setDefaultCloseOperation(JFrame.
EXIT_ON_CLOSE) digunakan untuk mengakhiri jalannya program bila frame
ditutup. Bila perintah tersebut tidak ada, maka penutupan frame tidak akan
menghentikan jalannya program.
7. Nama Program : Menampilkan kata dari Text Field
Source Code :
import java.awt.event.*;
import javax.swing.*;
public TryTextField()
{
JFrame frame = new JFrame();
frame.setBounds(200,200,325,175);
frame.setTitle("TRY TEXT FIELD");
label = new JLabel("Input Kata : ");
label.setBounds(25,25,100,25);
frame.add(label);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
btnTampil.addActionListener(this); //mendeteksi event
pada btnTampil
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==btnTampil)
{
String kata = textfield.getText();
//mengambil kata yang diinputkan oleh user
JOptionPane.showMessageDialog(null, "Anda
telah menginput kata : \n"+kata, "INFORMASI",
JOptionPane.INFORMATION_MESSAGE);
}
}
public static void main(String[] args)
{
TryTextField frame = new TryTextField();
}
}
Hasil Program :
Penjelasan :
Program diatas menampilkan kata dari text field berbasis GUI. import
java.awt.event.* yaitu merupakan sebuah fungsi import yang digunakan
untuk proses deklarasi dari class event yang berisi komponen dari sebuah
program yang dibuat. import javax.swing.* yang merupakan paket berisi
kelas-kelas dan interface untuk komponen GUI swing Java yang menyediakan
dukungan untuk tampilan grafis yang portabel. Program ini menggunakan
class TryTextField dengan mengimplementasikan ActionListener.
ActionListener digunakan untuk menangani reaksi atas perubahan status pada
objek yang digunakan. Misalnya akibat penekanan tombol mouse atau
keyboard. Selanjutnya membuat objek textfield dari class JTextField,
btnTampil dari class JButton, dan label dari class JLabel. Selanjutnya
membuat constructor method TryTextField. Pada konstruktor method dibuat
frame baru dari class JFrame, frame.setBounds (200,200,325,175)
digunakan untuk menentukan ukuran frame, objek frame diberi judul TRY
TEXT FIELD dengan menggunakan frame.setTitle("TRY TEXT FIELD")
dimana setTitle digunakan untuk menampilkan judul dari objek frame.
Selanjutnya membuat label baru dari class JLabel, label.setBounds
(25,25,100,25) digunakan untuk menentukan ukuran label dan
frame.add(label) digunakan untuk menambah label pada frame.
textfield = new JTextField() digunakan untuk menugaskan textfield
yang sudah dideklarasikan menjadi objek baru dari class JTextField,
textfield.setBounds(125,25,150,25) digunakan untuk menentukan
ukuran textfield, frame.add(textfield) digunakan untuk menambah
textfield pada frame. btnTampil = new JButton("Tampilkan Kata")
digunakan untuk menugaskan objek btnTampil menjadi objek baru dari class
JButton dengan text pada button "Tampilkan Kata".
System.out.println("+********************************
***************+");
System.out.println(" DAFTAR
PUSTAKA");
System.out.println("+********************************
***************+");
System.out.println(" Masukkan Identitas
Buku\n");
System.out.print("Judul Buku : ");
judul = user.nextLine();
System.out.print("Nama Penyusun : ");
penyusun = user.nextLine();
System.out.print("Kota Terbit : ");
kota = user.nextLine();
System.out.print("Nama Penerbit : ");
penerbit = user.nextLine();
System.out.print("Tahun Terbit : ");
tahun = user.nextInt();
System.out.println("\n*******************************
****************");
System.out.println("\n\tPenulisan daftar
pustaka");
System.out.println("\n*************************
**********************");
}
}
Hasil Program :
a) Hasil Program “Buku”
public FourOperations()
{
JFrame frame = new JFrame();
frame.setBounds(200,200,380,250);
frame.setTitle("SIMPLE PROGRAM TO COUNT");
frame.setLayout(null);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
btnJmlh.addActionListener(this);
btnKurang.addActionListener(this);
btnKali.addActionListener(this);
btnBagi.addActionListener(this);
}
Hasil Program :
Penjelasan :
Program diatas menampilkan perhitungan sederhana berbasis GUI yang dapat
melakukan perhitungan penjumlahan, pengurangan, perkalian dan
pembagian. Pada awal program dideklarasikan import java.awt.event.*
yaitu merupakan sebuah fungsi import yang digunakan untuk proses deklarasi
dari class event yang berisi komponen dari sebuah program yang dibuat.
import javax.swing.* yang merupakan paket berisi kelas-kelas dan
interface untuk komponen GUI swing Java yang menyediakan dukungan
untuk tampilan grafis yang portabel. Program ini menggunakan class
FourOperations dengan mengimplementasikan ActionListener.
ActionListener digunakan untuk menangani reaksi atas perubahan status pada
objek yang digunakan. Misalnya akibat penekanan tombol mouse atau
keyboard. Selanjutnya mendeklarasikan objek jTFinput1, jTFinput2,
jTFHasil dari class JTextField , objek label1, label2, labelHasil dari
class JLabel, dan objek btnJmlh, btnKurang, btnBagi, btnKali dari
class JButton. Kemudian pada construction method FourOperations dibuat
frame baru dari class JFrame. frame.setBounds(200,200,380,250)
digunakan untuk menentukan ukuran frame, Pada objek frame diberi judul
SIMPLE PROGRAM TO COUNT dengan menggunakan
frame.setTitle("SIMPLE PROGRAM TO COUNT") dimana setTitle digunakan
V. Kesimpulan
Dari praktikum modul 4 Polymorphism dapat disimpulkan bahwa:
1. Polymorphism merupakan suatu konsep yang menyatakan sesuatu yang
sama dapat memiliki berbagai bentuk dan perilaku yang berbeda atau
dapat dikatakan bahwa polymorphism adalah satu objek yang memiliki
banyak bentuk
2. Konsep dari polymorphism menggunakan dua metode.
Metode pertama yaitu pewarisan yang menggunakan konsep
overriding yaitu membuat method yang bernama dan berstruktur
sama akan tetapi isi method berbeda pada class induk dan class
anak.
Metode yang kedua adalah overloading yaitu method bernama
sama debgan method lain pada suatu class tetapi memiliki
parameter yang berbeda
3. bilangan=Double.valueOf(nilai).doubleValue() digunakan untuk
mengembalikan nilai tipe data double ke tipe data primitive, yaitu seperti
int.
4. ActionLister digunakan untuk menangani reaksi atas perubahan status
pada objek yang digunakan. Misalnya akibat penekanan tombol mouse
atau keyboard.
5. Pada praktikum modul 3 telah dipelajari program menggunakan
constructor method, program yang menerapkan overloading terhadap
constructor method, program yang menerapkan overloading terhadap
method , membuat Text Field, menampilkan kata dari Text Field, program
yang menerapkan overloading terhadap constructor method, program
yang menerapkan overloading terhadap constructor method dan method,
dan program perhitungan sederhana.
6. jTFHasil.setEnabled(false) digunakan untuk menonaktifkan
JTextField sehingga user tidak dapat menyalin data dan mengubah isi
TextField secara langsung
7. Method trim() berfungsi untuk meghapus spasi dari bagian awal dan juga
akhir, pada sebuah nilai yang didefinisikan menggunakan tipe data String,
lalu akan mengembalikan dan menyalin kembali nilai yang telah dihapus
spasinya untuk ditampilkan nilainya