Laporan OOP 2
Transcript of Laporan OOP 2
LAPORAN
PEMOGRAMAN BERBASIS OBJEK
METODE DAN KONSTRUKTOR
Nama : Syarif Hidayatullah
NIM : 3.34.12.0.21
No.Job : 2
Kelas : IK 2 A
TEKNIK INFORMATIKA
TEKNIK ELEKTRO
POLITEKNIK NEGERI SEMARANG
TAHUN AJARAN 2013/2014
BAB 2
METODE DAN KONSTRUKTOR
I. Tujuan Instruksi KhususSetelah Meyelesaikan praktek ini mahasiswa dapat :
1. Menjelaskan pengertian metode,konstruktor,parameter
dan argument.
2. Mahasiswa dapat membuat program menggunakan metode
dengan parameter dan argumen
3. Mahasiswa dapat membuat program dengan menggunakan
konstruktor.
II. Persyaratan /Kebutuhan Sistem KomputerPersyaratan / kebutuhan sistem untuk menjalankan programjava adalah sebagai berikut :
1. Processor P-II atau yang lebih tinggi,2. RAM minimal 32 Mbyte3. Free space hardisk minimal 200 Mbyte,4. Mouse (Serial/PS2)5. Sistem Operasi:
a. Minimal Windows 98 (disarankan versiWindows yang lebih tinggi),
b. Linux
III. Dasar Teori
3.3.1 Membuat metode dengan parameter dan argumen
Parameter adalah sebuah variable yang didefinisikan oleh
metode yang menerima sebuah nilai. Sedangkan Argumen
adalah sebuah nilai yang dilewatkan ke metode ketika
metode dipanggil.
Bentuk umum dari sintaks metode dengan parameter adalah
sebagai berikut:
Nama metode(parameter)
{
// kode program
}
3.3.2 Konstruktor
Konstruktor merupakan sebuah fungsi (metode) yang
digunakan untuk menginisialisasikan suatu objek baru.
Fungsi ini dijalankan secara otomatis pada saat kelas
diciptakan, dengan nama yang sama dengan kelasnya, dan
tidak mengembalikan nilai, tetapi tidak menggunakan
fungsi void. Konstruktor dipanggil ketika suatu objek
dibuat berdasarkan kelasnya. Dari bentuk pendeklarasian,
konstruktor dapat dibedakan menjadi dua, yaitu:
Konstruktor implicit: didefinisikan oleh Java, dan
disebut: default constructor
Konstruktor eksplisit: ditulis oleh programmer.
Dari penggunaan parameter konstruktor ada dua jenis:
Konstruktor dengan parameter
Konstruktor tanpa parameter
Seperti kita ketahui, ketika kita mendeklarasikan sebuah
objek, kita menggunakan bentuk umum sebagai berikut:
Namakelas var = new namakelas( );
Parentheses ( ) diperlukan sesudah nama kelas,
sesungguhnya menunjukan bahwa konstruktor sedang
dipanggil. Sehingga statemen berikut ini
persegi persegipanjang = new persegi ( );
new persegi( ) adalah sedang memanggil konstruktor
persegi( ). Jika kita tidak mendefinisikan sebuah
konstruktor secara eksplisit untuk sebuah kelas, maka
Java membuat sebuah default construktor untuk kelas tersebut.
Hal inilah yang membuat mengapa program yang terdahulu
‘program pertama class NonOOP’ yang tidak mendefinisikan
konstruktor secara eksplisit tetap berjalan. Default
konstruktor secara otomatis menginisialisasi semua instance
variables bernilai nol. Namun demikian default konstruktor
hanya cocok untuk kelas-kelas yang sederhana.
Konstruktor tanpa parameter
Konstruktor ini digunakan jika objeknya mempunyai
dimensi/ukuran yang sama.
Konstruktor menggunakan parameter
Ketika metode konstruksi Man() dalam contoh di atas
diinisialisasi sebuah Objek, hal ini sangat tidak
bermanfaat, karena semua Man mempunyai dimensi yang sama.
Bagaimana caranya jika obyeknya mempunyai dimensi yang
berbeda-beda? Solusinya adalah dengan menerapkan
parameter ke konstuktor. Parameter ini merupakan variable
lokal yang digunakan pada konstruktor dan dapat
menggunakan nama yang sama dengan instance variable,
tetapi biasanya lebih mudah menggunakan nama yang
berbeda. Jika menggunakan nama yang sama maka variable
lokal akan menyembunyikan ’hide’ instance variable,
dan hal ini dapat menyebabkan terjadinya collision antara
instance variable dengan variable lokal. Untuk mengatasi
hal ini maka dapat menggunakan kata kunci this.
IV. Langkah KerjaJalankan Jcreator , buat file baru java dan ketikankode program berikut:
1. Buat program menggunakan metode dan parameter
//SYARIF HIDAYATULLAH IK A 3.34.12.0.21 DENGAN MENGGUNAKAN METODE DAN PARAMETERclass Lanang{ //class gawe nggawe objek tmplate//instance variabel
String Asmi;int gapok;int masagawe;
//metode njekuk nilaiint hitung_gaji(){
return gapok*masagawe;
}//Sets dimension Lanangvoid setDim(String am,int g, int mg){
Asmi=am;gapok=g;masagawe=mg;
}}class KaryawanMetodeParameter{
public static void main(String args []){
Lanang KaryawanKu = new Lanang();//nggawe objek singasli
Lanang KaryawanMu = new Lanang();//nggawe objek singasli
double gaji;//nilai instanxe variabel-1//penentapan nilai pertamaSystem.out.println("\t\t\tSyarif Hidayatullah");KaryawanKu.setDim("Andi",1000,10);gaji=KaryawanKu.hitung_gaji();System.out.println("Karyawan Ku\
t :"+KaryawanKu.Asmi);System.out.println("Gajinya\t\t :"+gaji);//nilai instanxe variabel-2KaryawanMu.setDim("Budi",2000,10);gaji=KaryawanMu.hitung_gaji();System.out.println("Karyawan Mu\
t :"+KaryawanMu.Asmi);System.out.println("Gajinya\t\t :"+gaji);
}}
Gambar : Output Langkah Kerja 1
2. Sebagai contoh dibaawah ini diberikan sebuahprogram menggunakan konstruktor tanpa parameter.
class Lanang
{
String Asma;
int gapok;
int masagawe;
//konstruktor tanpa parameter
Lanang()
{
System.out.println("Konstruksi dari Lanang");
Asma="Andi";
gapok=1000;
masagawe=10;
}
double hitung_gaji()
{
return gapok*masagawe;
}
}
class KonstruktorKu
{
public static void main(String[]args)
{
Lanang KaryawanKu= new Lanang();
Lanang KaryawanMu= new Lanang();
double gaji;
gaji = KaryawanKu.hitung_gaji();
System.out.println("Volume is\t" +gaji);
gaji= KaryawanMu.hitung_gaji();
System.out.println("Volume is\t"+gaji);
System.out.println("\n\t\t\tSyarif Hidayatullah");
}
}
3. Buat Penerapan parameter ke konstruktor
class Lanang{
String Asma;int gapok;int masagawe;Lanang(String am,int g, int mg) //Konstruktur Lanang{
Asma=am;gapok=g;masagawe=mg;
}
//metode untuk menghitung gaji lan me returndouble hitung_gaji(){
return gapok*masagawe;}}class KonstruktorParameter{
public static void main(String[]args){
//deklarasi ,alokasi dan inisialisasi objekLanang KaryawanKu = new Lanang("Andi",1000,10);Lanang KaryawanMu = new Lanang("Anjar",2000,10);double gaji;
//ambil gaji dari KaryawanKugaji = KaryawanKu.hitung_gaji();System.out.println("Gaji Karyawanmu :"+gaji);System.out.println("\nSyarif Hidayatullah");
}}
V. Pertanyaan1. Jelaskan pengertian metode,konstruktor,parameter dan
argumen.
Jawab :Metode merupakan bagian dari kode program yang dibuatuntuk melaksanakan tugas/fungsitertentu. Suatu metode adadua yaitu void return value
Konstruktor merupakan sebuah fungsi (metode) yangdigunakan untuk menginisialisasikansuatu objek baru.Fungsi ini dijalankan secara otomatis pada saat kelasdiciptakan, dengannama yang sama dengan kelasnya, dantidak mengembalikan nilai, tetapi tidak menggunakanfungsivoid. Konstruktor dipanggil ketika sutau objek dibuatberdasarkan kelasnya.Argumen adalah sebuah nilai yang dilewatkan ke metode ketika metode dipanggil.
2. Sebutkan jenis-jenis konstruktor dan berikan contoh
pemakaian dalam program
Jawab :
a. Konstruktor tanpa parameter
class persegikonstruktor{
int p,l;//class : konstruktor tanpa parameterpersegikonstruktor(){
p=15;l=5;
}int hitungluas(){return p*l;}
}class persegipanjangkonstruktor1{
public static void main (String args[])
{persegikonstruktor
persegipanjang1 = new persegikonstruktor();
System.out.println("Luas = "+persegipanjang1.hitungluas());
}}
b. Konstruktor dengan parameter
class persegikonstruktor{
int p,l;//menggunakan parameterpersegikonstruktor(int panjang,int lebar){
p=panjang;l=lebar;
}int hitungluas(){
return p*l;}
}class persegipanjangkonstruktor1{
public static void main(String args[]){
persegikonstruktor persegipanjang1= new persegikonstruktor(15,5);
System.out.println("Luas : "+persegipanjang1.hitungluas());
}}
3. Buat program menggunakan konstruktor tanpa parameter
untuk menghitung rata-rata BBM yang digunakan oleh
kendaraan dalam waktu 1 minggu, jika per hari
menghabiskan 3 lt kecuali untuk hari sabtu dan minggu
menghabiskan 5 lt.
Jawab :
class BBM
{
double
senin,selasa,rabu,kamis,jumat,sabtu,minggu;
double jumlahminggu;
//konstruktor tanpa parameter
BBM()
{
senin=3;selasa=3;rabu=3;kamis=3;jumat=3;sabtu=5;ming
gu=5;jumlahminggu=7;
}
double hitung_rata()
{
return
(senin+selasa+rabu+kamis+jumat+sabtu+minggu)/jumlahm
inggu;
}
}
class KonstruktorBBM
{
public static void main(String[]args)
{
BBM rata = new BBM();
double ratanya;
ratanya = rata.hitung_rata();
System.out.println("\t\t\t\t\t\t\t\t\t\t\
tMenghitung rata rata Konsumsi BBM\n\t\t\t\t\t\t\t\
t\t\t\t--------------------------------");
System.out.println("Berapakah rata rata
BBM yang digunakan oleh kendaraan dalam waktu 1
minggu, jika per hari menghabiskan 3 lt kecuali
untuk hari sabtu dan minggu menghabiskan 5 lt.\n");
System.out.println("Jawab :");
System.out.println(ratanya+" lt digunakan
dalam seminggu (rata rata)");
System.out.println("\n\t\t\tSyarif
Hidayatullah");
}
}
4. Untuk kasus yang sama jika jenis BBM-nya adalah:
Bensin
Solar
biodiesel
Jawab :
import java.io.*;
import java.util.*;
class BBM
{
//Solusi Berikut untuk kasus nomor 3 dan 4
//contoh metode bertipe static
static String nama;
static double BBM;
static double liter;
//Static metode pengembalian nilai
static double bensin()
{
return (liter*6500);
}
static double solar()
{
return (liter*5500);
}
BBM ()//tanpa paramter
{
nama="1 Minggu";
liter = 25;
}
}
class BBMtanpaParameter
{
public static void main(String[] args)throws
IOException
{
//tanpa parameter
BBM Pertama = new BBM();
BBM Kedua = new BBM();
BBM Ketiga = new BBM();
double hasil1=Pertama.bensin()/7;
System.out.println("\t\t\tManajemen BBM
Anda");
System.out.println("BBM Bensin");
System.out.println("Konsumsi :"+hasil1);
double hasil2=Kedua.solar()/7;
System.out.println("\nBBM Solar");
System.out.println("Konsumsi :"+hasil2);
double hasil3=Ketiga.solar()/7;
System.out.println("\nBBM Biodiesel");
System.out.println("Konsumsi :"+hasil3);
System.out.println("\nSyarif
Hidayatullah");
}
}
VI. KesimpulanPemrograman Berorientasi Objek (PBO) atau Object OrientedProgramming (OOP) merupakan inti (core) dari bahasa Java,
yang bukan bersifat opsional. Konstruksi dari pemrogramanJava selalu berbasis pada OOP. OOP ini merupakan sebuahteknik pemrograman yang bertujuan untuk mengurangikompleksitas suatu program, agar lebih sederhana danmudah.Dalam OOP terdapat konstruksi yang meliputi :Identifikasi,klasifikasi,objek dan kelas,enkapulasi,inheritance , serta polymorphism