LAPORAN PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK 4 "POLYMORPHISM" PDF

Title LAPORAN PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK 4 "POLYMORPHISM"
Author Fajri Novita
Pages 31
File Size 521.7 KB
File Type PDF
Total Downloads 757
Total Views 846

Summary

LAPORAN MODUL IV PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK “POLYMORPHISM” Disusun untuk Memenuhi Matakuliah Praktikum Pemrograman Berorientasi Objek Dibimbing oleh Heru Wahyu Herwanto, S.T., M.Kom. Oleh: Fajri Novitasari 170533628549 S1 PTI ‘17 OFF A UNIVERSITAS NEGERI MALANG FAKULTAS TEKNIK JURUSAN ...


Description

LAPORAN MODUL IV PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK “POLYMORPHISM”

Disusun untuk Memenuhi Matakuliah Praktikum Pemrograman Berorientasi Objek Dibimbing oleh Heru Wahyu Herwanto, S.T., M.Kom.

Oleh: Fajri Novitasari

170533628549 S1 PTI ‘17 OFF A

UNIVERSITAS NEGERI MALANG FAKULTAS TEKNIK JURUSAN TEKNIK ELEKTRO PRODI S1 PENDIDIKAN TEKNIK INFORMATIKA OKTOBER 2018

I.

Tujuan Praktikum 1. Menerapkan konsep polymorphism. 2. Menggunakan constructor method. 3. Melakukan overloading terhadap constructor method. 4. Melakukan overloading terhadap method. 5. Menggunakan class JTextField.

II.

Dasar Teori 1. Konsep polymorphism. Polymorphism

merupakan

konsep

sederhana

dalam

bahasa

pemrograman berorientasi objek yang berarti kemampuan sebuah objek untuk menghasilkan aksi yang berbeda. Bila method yang sama dipanggil, maka aksi method yang akan dikerjakan tergantung pada tipe objeknya. Ada keterkaitan antara polymorphism dan inheritance (turunan). Dalam konsep turunan, saat obyek dari subclass dikonstruksi, obyek dari superclass juga ikut dikonstruksi. Jadi setiap instance dari subclass adalah juga instance dari superclass. Apabila mendeklarasikan metoda dengan parameter dari tipe superclass, diperbolehkan untuk memberi argumen berupa obyek subclass yang merupakan turunan dari superclass tersebut. 2. Pengenalan constructor method. Sifat constructor method: a.

Namanya sama dengan nama class.

b.

Tidak memiliki nilai balik atau tidak boleh menggunakan tipe data void. Constructor method atau biasa disebut dengan konstruktor saja adalah method yang dapat digunakan untuk memberikan nilai awal

saat objek diciptakan. Method ini akan dipanggil secara otomatis oleh Java ketika keyword new dipakai untuk menciptakan instan kelas.

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.passwoord = password; } }

3. Overloading terhadap constructor method. Overloading terhadap konstruktor merupakan suatu mekanisme pembuatan konstruktor yang memiliki bentuk lebih dari satu. Dalam hal ini pembeda antara satu konstruktor dengan konstruktor yang lain berupa jumlah atau tipe parameter. 4. Pengenalan overloading method. 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

5. Pengenalan class JTextField. Class JTextField merupakan class dari package javax.swing yang digunakan untuk membuat komponen berupa text field. Komponen ini berfungsi untuk memasukkan data satu baris saja. Jika data yang dimasukkan tergolong sebagai password, maka dapat digunakan

JPasswordField dan dilengkapi dengan penggunaan method getPassword() untuk memperoleh string pada objeknya. 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)). Beberapa metoda penting dari kelas JTextComponent yang diturunkan ke kelas-kelas dibawahnya (termasuk JTextField) antara lain adalah metoda getText(), setText(String text) dan setEditable(boolean bValue). Dengan memberi nilai boolean false pada metoda setEditable, string yang terdapat di obyek text field (obyek kelas JTextField) tidak dapat dirubah (diproteksi). Dibatasi hanya sampai pada superclass JComponent, hirarkhi turunan kelas JTextField adalah sebagai berikut:

Kelas JTextField mempunyai beberapa konstruktor. Beberapa diantaranya yang sering digunakan adalah sebagai berikut:

III.

Tugas Latihan 1. Nama Program Source Code

: Menggunakan constructor method :

a) Source Code “Mahasiswa” class Mahasiswa{ private String nama; private int angkatan; public Mahasiswa(String nama, int angkatan) //konstruktor { this.nama=nama; this.angkatan=angkatan; } public void info() { System.out.println("Identitas Mahasiswa : "); System.out.println("Nama : "+this.nama); System.out.println("Angkatan : "+this.angkatan); } }

b) Source Code “Konstruktor” public class Konstruktor { public static void main(String[] args) { Mahasiswa mhs=new Mahasiswa("Surya", 2012); //menungaskan objek mhs 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. args

Dalam method main terdapat parameter String[]

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", angkatan

2012)

. Selanjutnya ditampilkan output berupa nama dan

dengan memanggil method info.

2. Nama Program : Menerapkan overloading terhadap constructor method Source Code

:

a) Source Code “Mahasiswa1” class Mahasiswa1 { private String nama; private int angkatan; public Mahasiswa1() //konstruktor tanpa parameter { this.nama="Siwi"; this.angkatan=2013; } public Mahasiswa1(String nama, int angkatan) //kostruktor dengan parameter { this.nama=nama; this.angkatan=angkatan; } public void info(){ System.out.println("\nIdentitas Mahasiswa : "); System.out.println("Nama : "+this.nama); System.out.println("Angkatan : "+this.angkatan); } }

b) Source Code “OverloadConstructor1” public class OverloadConstructor1 { public static void main(String[] args) { 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”

b) Hasil Program “OverloadConstructor1”

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

this.angkatan=angkatan

pada

dimana

class

OverloadCOnstructor1

variabel

angkatan

pada

dan class

Mahasiswa1 sama dengan variabel angkatan, yang akan dipanggil pada class OverloadCOnstructor1. Selanjutnya dibuat method fungsi yang digunakan untuk

menampilkan

System.out.println("Nama

output :

identitas

"+this.nama)

mahasiswa, 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.

3. Nama Program : Melakukan overloading terhadap constructor method Source Code

:

a) Source Code “Lingkaran” class Lingkaran { double radius; Lingkaran()//konstruktor tanpa parameter { radius=1.0; } Lingkaran(double r) //konstruktor dengan parameter { radius=r; }

double luas() //method penghitung luas { return radius*radius*Math.PI; } }

b) Source Code “UjiLingkaran” public class UjiLingkaran { public static void main(String[] args) { Lingkaran ling1 = new Lingkaran(); Lingkaran ling2 = new Lingkaran(10); Lingkaran ling3 = new Lingkaran(100); System.out.println("Luas1 = "+ling1.luas()); System.out.println("Luas2 = "+ling2.luas()); System.out.println("Luas3 = "+ling3.luas()); } }

Hasil Program

:

a) Hasil Program “Lingkaran”

b) Hasil program “UjiLingkaran”

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.

4. Nama Program Source Code

: Menerapkan overloading terhadap method :

a) Source Code “Pilihan” class Pilihan { public void jurusan() //method tanpa parameter { String jrs="Pendidikan Teknik Informatika"; System.out.println("\nPilihan 1: \nJurusan " +jrs); } public void jurusan(String jrs) //method dengan parameter { System.out.println("\nPilihan 2: \nJurusan "+jrs); } }

b) Source Code “OverloadMethod1” public class OverloadMethod1 { public static void main(String[] args) { System.out.println("\n************************* ************"); System.out.println("\n\tOVERLOAD TERHADAP METHOD #1\n"); System.out.println("*************************** ***************"); Pilihan pilih=new Pilihan(); //membuat objek pilih pilih.jurusan(); //memanggil method tanpa parameter pilih.jurusan("Pendidikan Matematika"); //memanggil method dengan parameter } }

Hasil Program

:

a) Hasil Program “Pilihan”

b) Hasil Program “OverloadMethod1”

Penjelasan

:

Program diatas menggunakan overloading untuk menampilkan pilihan jurusan. Pada class Pilihan mendeklarasikan method jurusan tanpa parameter, di dalam method dideklarasikan variabel jrs dengan tipe data String memiliki nilai "Pendidikan Teknik Informatika". Kemudian akan ditampilkan hasil outputnya dengan memanggil variabel jrs. Selanjutnya dideklarasikan variabel jurusan dengan parameter jrs bertipe data String. Selanjutnya pada method ini akan ditampilkan pilihan jurusan yang nilainya akan dideklarasikan pada class OverloadMethod1. Pada class OverloadMethod1, 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 dari class Pilihan dengan nama objek pilih. Selanjutnya menampilkan hasilnya dengan memanggil method jurusan tanpa parameter dan method jurusan dengan parameter, pada method jurusan dengan parameter, dideklarasikan nilai dari method jurusan yaitu ("Pendidikan

Matematika").

Sehingga outputnya nanti adalah

“Pendidikan Teknik Informatika” dan "Pendidikan Matematika”.

5. Nama Program Source Code

: Melakukan overloading terhadap method :

a) Source Code “Matematika” class Matematika { static public int kuadrat(int nilai) { return nilai*nilai; }

static public double kuadrat(double nilai) { return nilai*nilai; } static public double kuadrat(String nilai) { double bilangan; bilangan=Double.valueOf(nilai).doubleValue(); return bilangan*bilangan; } }

b) Souce Code “UjiMatematika” public class UjiMatematika { public static void main(String[] args) { Matematika mat = new Matematika(); String angka = "7.01"; System.out.println("Pemangkatan : "); System.out.println("Integer(2) : "+mat.kuadrat(2)); System.out.println("Double(3.5) : "+mat.kuadrat(3.5)); System.out.println("String(7.01) : "+mat.kuadrat(angka)); } }

Hasil Program

:

a) Hasil Program “Matematika”

b) Hasil Program “UjiMatematika”

Penjelasan

:

Program diatas digunakan untuk menampilkan hasil dari pemangkatan. Pada class Matematika dideklarasikan method static public int kuadrat yang dapat langsung dapat diakses dari class tanpa membuat objek terlebih dahulu. Pada method kuadrat terdapat satu parameter yaitu nilai dengan tipe data int dan didalam method dideklarasikan return nilai*nilai. Selanjutnya dideklarasikan method static public int kuadrat(double nilai) yang dapat langsung dapat diakses dari class tanpa membuat objek terlebih dahulu. Pada method kuadrat terdapat satu parameter yaitu nilai dengan tipe data double dan didalam method dideklarasikan return

nilai*nilai.

Dideklarasikan method static public int kuadrat(String nilai) yang dapat langsung dapat diakses dari class tanpa membuat objek terlebih dahulu. Pada method kuadrat terdapat satu parameter yaitu nilai dengan tipe data int dan

di

dalam

method

terdapat

bilangan=Double.valueOf(nilai).doubleValue()

yang

syntax merupakan

mengembalikan nilai tipe data double ke tipe data primitive, yaitu seperti int. Pada class UjiMatematika, 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. args

Dalam method main terdapat parameter String[]

berupa array dengan tipe data String, parameter tersebut akan

menampung semua argumen yang diberikan ke program. Selanjutnya membuat

objek

baru bernama

mat

pada

class Matematika

dan

mendeklarasikan variabel angka dengan nilai 7.01 bertipe String. Kemudian menampilkan output Pemangkatan, untuk hasil Integer ditampilkan dengan memanggil variabel kuadrat dengan parameter int nilai, dimana nilai dari parameter adalah 2. Kedua menampilkan output Double dengan memanggil variabel kuadrat dengan parameter double nilai, dimana nilai dari parameter

adalah 3.5. Untuk menampilkan hasil dari String dengan memanggil variabel kuadrat

yang mempunyai parameter String, nilai String merupakan variabel

angka yang sudah dideklarasikan yaitu 7.01.

6. Nama Program Source Code

: Membuat Text Field :

import javax.swing.JFrame; import javax.swing.JTextField; public class CreateTextField { public static void main(String[] args) { JFrame frame = new JFrame(); JTextField textfield = new JTextField(); //menciptakan objek textfield dari class JTextField frame.setTitle("CREATE TEXT FIELD"); frame.setBounds(200,200,300,200); frame.add(textfield); //menambahkan text field pada frame textfield.setBounds(50,50,150,25); //mengatur posisi tampilan text field dan ukuran text field frame.setLayout(null); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }

Hasil Program

:

Penjelasan

:

Program

diatas

menampilkan

mendeklarasikan import

text

field

berbasis

javax.swing.JFrame

GUI.

Pertama

yang digunakan untuk

mengimport fungsi class JFrame dari package javax.swing dan import javax.swing.JTextField

JTextField

didalam

yang digunakan...


Similar Free PDFs