Oleh:
Azizah Tri Novanti 170533628613
b. Tidak memiliki nilai balik atau tidak boleh menggunakan tipe data void.
2. Aturan hak akses pada fungsi overriding di subclass tidak boleh lebih
ketat di bandingkan dengan hak akses method atau fungsi pada class induk.
System.out.println("\n*************************************
********");
System.out.println("\n\tPENGENALAN
KONSTRUKTOR\n");
System.out.println("\n*************************************
********\n");
mhs.info();
}
}
Hasil Program :
Penjelasan :
Program diatas adalah program yang menggunakan konstruktor method
dimana terdapat method dengan nama yang sama dengan nama kelasnya
yaitu public Mahasiswa. Pada class Mahasiswa terdapat private
String nama dan private int angkatan yang digunakan agar dapat
diakses di dalam class Mahasiswa saja. Pada konstruktor class
Mahasiswa dengan parameter (String nama, int angkatan) terdapat
keyword this yang akan merefer ke objek dari class tersebut, sehingga
ketika parameter dan nama variable yang didelarasi sama akan dapat diakses
didalam konstruktor tersebut. Kemudan pada method public void info()
akan menampilkan identitas mahasiswa yang berisi pemanggilan variable
pada contructor. Agar dapat di eksekusi, maka dibuatlah class baru yaitu
public class Konstruktor dimana class ini memiliki fungsi utama untuk
memanggil class Mahasiswa yang simpan pada objek baru yaitu
Mahasiswa mhs = new Mahasiswa("Surya",2012), didalam deklarasi
tersebut, telah diisi parameter yang sudah dideklarasi pada class
Mahasiswa. Ketika objek memanggil method info() maka akan
menampilkan pmanggilan variable yang telah diisi ketika pembuatan objek
yaitu("Surya",2012). Sehingga akan tampil hasil seperti gambar diatas.
System.out.println("\n*************************************
**********");
System.out.println("\n\tOVERLOAD TERHADAP
KONSTRUKTOR #1\n");
System.out.println("\n*************************************
**********");
Hasil Program :
Penjelasan :
class Lingkaran
{
double radius;
Lingkaran()
{
radius=1.0;
}
Lingkaran(double r)
{
radius=r;
}
double luas()
{
return radius*radius*Math.PI;
}
}
public class Overloading
{
public static void main(String[] args)
{
System.out.println("\n\tMenghitung Luas
Lingkaran");
Hasil Program :
Penjelasan :
Program diatas adalah program untuk menghitung luas lingkaran dengan
radius yang berbeda beda dengan menerapkan konsep overloading
contructor. Pada class Lingkaran dideklarasi radius dengan tipe dat
double. Kemudian pada constructor tanpa parameter Lingkaran() variable
radius menyimpan data yaitu 1.0 sehigga constructor tersebut memiliki
radius sama dengan 1.0. Pada constructor kedua Lingkaran(double r)
yang memiliki parameter, radiusnya akan menyimpan panjang parameter
pada constructor tersebut. Lalu terdapat luas() yang akan mengembalikan
nilai radius dimana sebelumnya telah menyimpan panjang parameter dan
juga nilai PI dengan memanggil Math.PI. Kemudian membuat class baru
yang berisikan method main agar program dapat dieksekusi. Didalam class
tersebut akan dibuat tiga objek dengan nama yang berbeda dimana masing
masing objek digunakan untuk constructor dan parameter yang berbeda.
Objek pertama yaitu Lingkaran L1=new Lingkaran(); akan menghitung
luas lingkaran dengan radius pada constructor tanpa parameter, yaitu 1.0.
kemudian untuk objek kedua da ketiga memanggil constructor yang sama
yaitu yang memiliki parameter, namun panjang atau banyaknya parameter
yang digunakan berbeda. Pada Lingkaran L2=new Lingkaran(10);
membuat objek baru dimana terdapat pemanggilan constructor yang
memiliki parameter sebanyak 10. Sehingga radiusnya akan menyimpan
parameter sebanyak 10 begitupula pada Lingkaran L3=new
System.out.println("\n*************************************
******");
System.out.println("\n\tOVERLOAD TERHADAP
METHOD #1\n");
System.out.println("\n*************************************
******");
Hasil Program :
Penjelasan :
Program diatas merupaka penerapan overloading terhadap method dimana
method memilliki konsep yang sama dengan constructor namun terdapat
perbedaan yang lebih spesifik. Pada class Pilihan terdapat method
public void jurusan() yang tidak memiliki parameter sehingga didalam
method tersebut dideklarasikan variable jrs dengan tipe data string dan akan
menyimpan sebuah teks yaitu "Pendidikan Teknik Informatika".
Kemudian method kedua yang di overloading sebelumnya memiliki
parameter, sehingga didalam method tersbut tidak perlu di deklarasi
variabelnya karena sudah ada pada parameter. Agar dapat dieksekusi maka
diperlukan void main, sehingga dibuatlah class baru yaitu public class
OverloadMethod1. Disinilah pembeda antara method dengan constructor
yaitu pada method tidak perlu membuat objek lagi untuk menampilkan
method overloadingnya. Sehingga hanya membutuhkan satu buah objek saja
kemudian memanggil method sesuai dengan parameternya, seperti
pilih.jurusan(); yang digunakan untuk memanggil method tanpa
parameter, sehingga akan menampilkan variable pada method tersebut dan
yang kedua pilih.jurusan("Pendidikan Matematika"); yaitu
memanggil method yang memiliki parameter, sehingga jurusan yang akan
ditampilkan pada method kedua ini adalah "Pendidikan Matematika"
Hasil Program :
Penjelasan :
Pada program diatas menerapkan overloading pada method yang digunakan
untuk perhitungan matematika. Pada class Matematika terdapat tiga
method yang memiliki parameter yang berbeda beda dan tipe data yang
berbeda juga, namun sama sama menghitung kuadrat dari parameternya.
Pada method static public int kuadrat(int nilai) memiliki
parameter dengan tipe data integer. Kemudian pada method static public
double kuadrat(double nilai) memiliki parameter yang tipe datanya
adalah double dan static public double kuadrat(String nilai)
dimana parameternya memiliki tipe data string. Sehingga didalam method
tersebut terdapat bilangan=Double.valueOf(nilai).doubleValue();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Hasil Program :
Penjelasan :
Program diatas menjelaskan tentang pembuatan JTextField dimana kita
dapat menginputkan text pada kolom yang disediakan lalu ditampilkan pada
sebuah frame. Sebelum membuat class terlebih dahulu mengimport package
yang digunakan oleh frame dan JTextField yaitu package javax.swing.
kemudian buat class untuk membuat JTextField. Sebelum membuat
JTextFieldnya, dibuat dulu framenya dengan membuat objek JFrame frame
= new JFrame(); setelah itu buat JTextField dengan objek baru yaitu
JTextField textfield = new JTextField();. Buat ukuran frame
dengan frame.setBounds(200,200,300,200); dimana parameter tersebut
mewakili koordinat x,y, panjang, lebar sebagai ukuran dari frame. Mengeset
nama pada frame dengan frame.setTitle("CREATE TEXT FIELD");.
Lalu JTextField yang telah dibuat kemudian dimasukkan kedalam frame
dengan frame.add(textfield);. Setelah ditambahkan pada frame, dibuat
ukutan dari JTextField tersebut dengan
textfield.setBounds(50,50,150,25) dimana ukurannya mewakili x, y,
panjang, dan lebar.
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) digunakan
ketika frame di close, maka program akan berhenti setelah frame tersebut di
close.
.
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
}
Hasil Program :
Penjelasan :
Program diatas menampilkan kata dari Text Field dengan menggunakan
JFrame dan JButton untuk menampilkan hasil dari inputan. Sebelum
membuat class, diimport terlebih dahulu package yang akan digunakan,
yaitu import java.awt.event.* yang akan mengimport method yang
berfungsi sebagai penanganan kejadian dan import javax.swing.*
sebagai package untuk JLabel, JFrame, JButton dan juga JTextField. Ketika
membuat class TryTextField terdapat implements ActionListener
yang berarti class tersebut akan menerapkan interaksi dari user yang dapat
dilakukan yaitu menekan tombol atau mengetik di text. Tiap variable di buat
control aksesnya dengan menggunakan private. Setelah dideklarasikan
variable tersebut, kemudian membuat frame dengan membuat objek JFrame
frame = new JFrame(); serta mengeset ukuran dan nama dari frame
tersebut. Kemudian membuat label untuk memberikan keterangan didalam
frame dengan membuat objeknya label = new JLabel("Input Kata :
"). Setelah membuat dan mengatur ukuran labelnya, lalu membuat
textfieldnya dengan membuat objek textfield = new JTextField();
seluruh objek yang telah dibuat dari label hingga textfield ditambahkan pada
frame agar tampilannya berada didalam frame. Setelah itu membuat button
dengan objek btnTampil = new JButton("Tampilkan Kata") dan
menampilkannya pada frame.
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) digunakan
ketika frame di close maka program akan menghentikan jalan program
tersebut. btnTampil.addActionListener(this); dgiunakan untuk
mendeteksi kejadian yang terjadi pada btnTampil. public void
class Buku
{
public Buku(String penyusun, String tahun)
{
System.out.println("\n*************************************
***********");
System.out.println("\n*************************************
***********\n");
System.out.println("\tPenulisan Daftar
Pustaka :\n");
Buku book = new Buku(penyusun, tahun);
book.terbit(judul);
book.terbit(kota,penerbit);
}
}
Hasil Program :
Penjelasan :
Program diatas merupakan implementasi dari overloading method dan
constructor yang digunakan di dalam bidang kepustakaan. Program ini akan
membuat daftar pustaka dari data data yang diinputkan oleh user. Karena
terdapat inputan dari user, maka perlu adanya operasi input dengan
menggunakan input scanner. Maka sebelum membuat kelas, terlebih dahulu
mengimport java.util.Scanner; sebagai package dari input Scanner.
Didalam class Buku terdapat constructor bernama public Buku(String
penyusun, String tahun) yang memiliki dua parameter dengan tipe data
yang sama yaitu String, constructor ini akan menampilkan nama penyusun
dan tahun terbit dari buku sesuai dengan yang diinputkan oleh user. Selain
constructor terdapat overloading method yaitu public void
String penerbit) yang masing masing memiliki satu parameter dan dua
parameter dengan tipe data yang sama pula, dimana untuk method public
void terbit(String judul) akan menampilkan judul buku dan public
void terbit(String kota, String penerbit) akan menampilkan kota
penerbit dan nama penerbit dari buku. Pada program diatas terdapat dua
class dimana class yang satu tidak memiliki void main atau hanya berisikan
method dan contructor saja dan yang satu lagi memiliki void main untuk
mengeksekusi program. Karena terdapat dua class, maka nama file yang
digunakan untuk mengeksekusi adalah nama file class yang memiliki void
main, yaitu public class DaftarPustaka. Pada class tersebut, harus
dideklarasi terlebih dahulu variable yang ada pada class sebelumnya yaitu
String penyusun, judul, tahun, penerbit, kota;. Kemudian
membuat objek untuk inputScanner Scanner inScnanner = new
public FourOperations()
{
JFrame frame = new JFrame();
frame.setBounds(200,200,500,200);
frame.setTitle("SIMPLE PROGRAM TO COUNT");
frame.setLayout(null);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
btnJumlah.addActionListener(this);
btnKurang.addActionListener(this);
btnBagi.addActionListener(this);
btnKali.addActionListener(this);
}
Penjelasan :
Program diatas merupakan kalkulator sederhana yang diimplementasikan
melalui JTextField, JButton, JLabel serta JFrame. Apabila bilangan 1 dan
bilangan 2 diinputkan sebuah angka kemudian user menekan tombol (+)
maka hasilnya akan menjumlahkan dua bilangan tersebut, begitupun ketika
menekaan tombol yang lain, maka operasinya akan sesuai dengan tombol.
Sebelum membuat class, terlebih dahulu mengimmport import
V. Kesimpulan
Kesimpulan yang didapat dari praktikum ini adalah :
1. Polimorpisme adalah konsep sederhana dalam Bahasa pemrograman
berorientasi objek yang berarti kemampuan sebuah objek untuk
menghasilkan aksi yang berbeda.
2. Costructor method adalah method yang dapat digunakan untuk memberikan
nilai awal saat objek diciptakan, dimana nama yang digunakan sama dengan
nama class dan tidak memiliki nilai kembalian seperti void.
3. Overloading merupakan suatu mekanisme pembuatan method atau
konstruktor yang memiliki bentuk lebih dari satu dimana pembedanya
adalah parameter atau tipe data yang digunakan.
4. Pada overloading constructor ketika memanggil constructor pada objek baru
maka objek tersebut hanya bisa memanggil satu constructor saja, hal ini
terrjadi karena constructor dipanggil secara otomatis oleh java ketika
keyword new dipakai, yang berarti satu objek hanya untuk satu constructor
saja. Sehingga jika ingin constructor lainnya juga bisa dipanggil maka harus
membuat objek baru lagi.
5. Berbeda dengan overloading method, dimana method dapat dipanggil dalam
satu objek secara bersamaan.
6. Class untuk method dan class untuk void main dapat dituliskan pada satu file
yang sama, namun penamaan file harus menyesuaikan dengan nama class
yang memiliki void main, karena jika bukan maka program tidak dapat
dieksekusi karena tidak memiliki void main atau void main berada pada
claas yang lain yang tidak dipanggil.
7. JTextField digunakan untuk membuat komponen berupa texfield dimana
user dapat menginputkan text pada kolom textField tersebut.
8. Jika ingin mendapatkan bilangan untuk perhitungan, maka perlu adanya
konversi dari string ke interger atau double dengan menggunakan
Integer.parseInt(objek.getText()) dan menampilkannya dengan
objek.setText(String.valueOf(nilai))