LAPORAN
PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK
Disusun untuk Memenuhi Matakuliah Praktikum Pemrograman Berbasis Objek Yang
Dibimbing oleh Heru Wahyu Herwanto, S.T., M.KOM
Asisten Praktikum:
Ruth Ema Febrita
M.Arifin
Oleh:
AM ROUSAN SHAFIR
110533430663
PTI OFFERING E
UNIVERSITAS NEGERI MALANG
FAKULTAS TEKNIK
JURUSAN TEKNIK ELEKTRO
S1 PENDIDIKAN TEKNIK INFORMATIKA
OKTOBER 2012
PENGENALAN JAVA II
A. Tujuan
1. Mahasiswa mampu membuat class sendiri.
2. Mahasiswa mampu mendeklarasikan atribut dan method pada class.
3. Mahasiswa mampu menerapkan overloaded method.
B. Dasar Teori
Class
Pengertian class adalah suatu pola, template atau cetak biru untuk objek sejenis atau
bias didefinisikan sebagai cetakkan dari objek. Contoh : Class Person,
Vehicle, Tree, dllBila diperhatikan script di atas, di buat sebuah kelas bernama Motor, dengan variable
bensin, dan kecepatan serta dengan metode jalan dan isi bensin.
Object
Object adalah instansiasi atau representasi nyata dari sebuah class. Contoh : Dari
class Buah kita dapat membuat object Mangga, Pisang, Apel dan lain-lain. Untuk
membuat object, kita menggunakan perintah new dengan sebuah nama class yang
akan dibuat sebagai instance dari class tersebut.
Date hari = new Date();
hari adalah object reference dari class Date yang akan digunakan untukmengakses class Date.Sedangkan operator new adalah operator yang akan menghasilkan harisebagai reference ke instance dari class Date()
Ketika anda memanggil operator new terjadi beberapa hal : 1. Instance baru yang telah diberikan oleh class dicipakan 2. Memori dialokasikan untuk instance tersebut
3. Special Method didefinisikan pada class (Konstruktor)
Attribut
merupakan nilai data yang terdapat pada suatu object di dalam class. Attribute
mempunyai karakterisitik yang membedakan object yang satu dengan object yang
lainya. Contoh : pada Class Buah terdapat attribute:warna, berat. Misalkan pada object
mangga: warna berisi kuning dan berat 0.5 kg dan pada object apel : warna merah dan
berat 0.6 kg
Dalam pendeklarasian atribut, dapat dituliskan:
mobilku.warna = “Hitam”;
*mobilku adalah objek baru
*warna adalah variable yang ada pada objek *hitam adalah isi dari variabel warna
Scoope Variable
Cakupan dari suatu variabel merupakan area dimana variabel termasuk (semestinya berada), hal tersebut ditentukan oleh area dimana variabel tersebut dideklarasikan. Dalam istilah sederhananya, setiap variabel ada (exists) di dalam blok dimana variabel dideklarasikan termasuk blok-blok yang dideklarasikan di dalam blok tersebut.
Variabel Scoope (cakupan variabel) menentukan seberapa luas variabel dapat diakses. Ruang lingkup atau scoope suatu variabel merupakan penempatan lokasi dimana variabel tersebut dideklarasikan dan dapat berlaku. Lingkup variabel terbagi dua, yaitu lingkup Global dan Local.
Variable global adalah variable yang di inisial di bagian atas program yang bisa di
pakai oleh semua fungsi, prosedur, dan program utama.
Kelemahan dari variable global, antara lain :
•
Pemborosan memory jika semua variable di definisikan ke dalam variable main program,
Karena konsep lokal variable.
•
Jika sebuah fungsi yang memiliki local variable telah dijalankan memory yang terpakai
oleh local variable fungsi tersebut dapat terpakai oleh variable lain/fungsi lain.
Variabel local, Variabel yang hanya dikenal di daerah yang lokal saja, misalnya di
dalam sebuah fungsi/prosedur tertentu saja dan tidak dikenal di daerah lainnya. Harus
dideklarasikan di dalam blok yang bersangkutan Variabel lokal dibentuk ketika fungsi
dipanggil dan akan dihapus dari memori bila eksekusi terhadap fungsi selesai.Tidak ada
inisialisasi otomatis
Overloading Method
Method overloading adalah suatu cara untuk memberikan nama yang sama kepada dua method yang berbeda meski dua method tersebut berada dalam class yang sama. Hal ini dapat dilakukan dengan cara membedakan tipe parameter, jumlah parameter dan susunan parameter.
Kemampuan ini dimungkinkan dalam pemrograman Java, dan dikenal sebagai overloading method.
Input / Output
Berikut ini adalah langkah-langkah yang perlu dilakukan untuk mendapatkan input : Tambahkan di bagian paling atas code anda:
import java.io.*;
Tambahkan statemen berikut pada method main:
BufferedReader dataIn = new BufferedReader (new InputStreamReader(System.in));
Deklarasikan variabel String temporary dan gunakan fungsi readLine() untuk mendapatkan input serta ketikkan pada blog try-catch.
try {
String temp = dataIn.readLine(); } catch ( IOException e ) {
System.out.println(“Terjadi kesalahan saat anda melakukan input ”);
}
Berikut ini adalah langkah-langkah yang perlu dilakukan untuk mendapatkan input dari console dengan Scanner:
Menambahkan
Import java.util.Scanner;
Membuat objek dari class Scanner
Scanner input = new Scanner(System.in);
Memasukan nilai dari masing-masing variabel dengan menggunakan object dari
System.out.print(“Masukkan nama : ”); String nama = nama input.nextLine(); System.out.prinln(nama);
C.
Latihan
Latihan 1.
Mahasiswa.java
public class Mahasiswa { public String nama; public int angkatan; public String asal; public Mahasiswa() {
nama = "Ani"; angkatan = 2010; asal = "Magelang"; }
public void ubah(String nm, int ak, String as) { nama = nm;
angkatan = ak; asal = as; }
public void cetak() {
System.out.println("nama : "+nama); System.out.println("angkatan : "+angkatan); System.out.println("asal : "+asal); }
}
Output program di atas adalah
TestMahasiswa.java
public class TestMahasiswa {
public static void main(String[] args) { Mahasiswa MHS = new Mahasiswa();
System.out.println("IDENTITAS AWAL : "); MHS.cetak(); MHS.ubah("DITA",2010,"MADIUN"); System.out.println("IDENTITAS AKHIR :"); MHS.cetak(); } }
TestMahasiswa.java
public class TestMahasiswa {
public static void main(String[] args) { Mahasiswa MHS = new Mahasiswa(); Mahasiswa PTI = new Mahasiswa(); Mahasiswa PTE = new Mahasiswa();
System.out.println("IDENTITAS AWAL : "); MHS.cetak(); MHS.ubah("DITA",2010,"MADIUN"); PTI.ubah("BIMO PTI",2012,"MALANG"); PTE.ubah("SOPRET PTE",2011,"NGAWI"); System.out.println("IDENTITAS AKHIR :"); MHS.cetak(); PTI.cetak(); PTE.cetak(); } }
Output program di atas adalah
Latihan 2.
Lingkup.java
class Lingkup{ //Variabel instan
String sifat = "Marah"; //Metode
void infoLingkup(){ String sifat = "Malu";
System.out.println("Sifat pada metode: "+sifat); System.out.println("Sifat milik kelas: "+this.sifat); }
TestLingkup.java
public class TestLingkup{
public static void main(String[] args){ Lingkup varx = new Lingkup();
varx.infoLingkup(); }
}
Amati folder penyimpanan data, class yang terbentuk adalah :
Class yang dikompilasi adalah TestLingkup.java karena dalam script TestLingkup.java merupakan awal dari pendefinisian class TestLingkup.java dan terdapat metode main untuk menampilkan output program.
Output program di atas adalah
Fungsi dari kata kunci “this” adalah :
Variabel ini digunakan pada suatu objek untuk memanggil metode atau variabel
instansi pada objek yang sama. Artinya, this, merujuk pada "objek ini" yaitu objek di
mana metode sedang dijalankan.
Latihan 3.
Scoope.java
class Scoope { //Variabel instan int angka = 20; //Metode void infoScoope(){ int angka1 = 12;System.out.println("Angka di method: "+angka1); System.out.println("Angka di kelas: "+this.angka); int modulus = angka % angka1;
System.out.println("Sisa hasil: "+modulus); float bagi = angka / angka1;
System.out.println("Hasil bagi: "+bagi); }
}
TestScoope.java
public class TestScoope{
public static void main(String[] args){ Scoope varx=new Scoope();
varx.infoScoope(); }
}
Class yang dikompilasi adalah TestScoope.java karena dalam script TestScoope.java merupakan awal dari pendefinisian class TestScoope.java dan terdapat metode main untuk menampilkan output program.
Output program di atas adalah
Mengapa angka yang terdapat pada method dan class dapat dibagi?
Karena pada variabel “angka” bersifat variabel global, sehingga pada method dapat diproses
Bagaimana cara menampilkan hasil bagi = 1.8 (isi variabel tetap)?
Menambah variabel yang telah dinisialisasi 1,1111 atau pada Script operasia TestScoope.java ditambah 0.8 dengan variabel baru.
Latihan 4.
Report.java
import java.io.*; public class Report{
public static String bacaInputan(){ String baca="";
InputStreamReader input = new InputStreamReader (System.in); BufferedReader buf = new BufferedReader (input);
try{ baca = buf.readLine(); }catch(IOException e){ System.out.println("Error!"); } return baca; }
public static void main(String[] args){ //Digunakan untuk menangkap exception. String name = " "; int nilaiMatematika; int nilaiFisika; int nilaiKimia; System.out.print("Masukkan nama : "); name=bacaInputan();
System.out.print("Masukkan nilai Matematika : "); nilaiMatematika=Integer.parseInt(bacaInputan()); System.out.print("Masukkan nilai Fisika : "); nilaiFisika=Integer.parseInt(bacaInputan()); System.out.print("Masukkan nilai Kimia : "); nilaiKimia=Integer.parseInt(bacaInputan());
System.out.println("\n---");
System.out.println(""+ name );
System.out.println("Matematika : " + nilaiMatematika); System.out.println("Fisika : " + nilaiFisika);
System.out.println("Kimia : " + nilaiKimia); }
}
Output program di atas adalah
Latihan 5.
Persegi.java
import java.io.*; public class Persegi {
public static void main(String[]args) { BufferedReader data =new BufferedReader(new InputStreamReader(System.in));
String x = " "; int hitungLuas=0;
System.out.println("---Luas Persegi---"); System.out.print("Masukkan nilai sisi : "); try {
x = data.readLine();
int angka = Integer.parseInt(x); hitungLuas = angka*angka;
} catch (Exception e) { System.out.println("Error"); }
System.out.println("Luas persegi dengan sisi "+ x +" adalah "+ hitungLuas);
} }
C. Tugas Praktikum
Tugas Praktikum 1.
OverLoad.java
public class OverLoad {
static int tambah(int x, int y) { return x+y;
}
static double tambah(double x, double y) { return x+y;
}
static int tambah(int x, int y, int z) { return x+y+z;
}
public static void main(String[] args) { OverLoad angka = new OverLoad(); int a = angka.tambah(3, 4); int b = angka.tambah(3, 4); int c = angka.tambah(3, 4, 8p); double d = angka.tambah(3, 11.5); System.out.println("1. "+a); System.out.println("2. x<3> + y<4> = "+b); System.out.println("3. "+c); System.out.println("4. "+d); } }
Output program di atas adalah
Tugas Praktikum 2.
StatementIf.java
public class StatementIf {
public static void main(String[] args) { System.out.println("\n\n");
boolean b = true;
System.out.println("Nilai b = "+b);
System.out.println("Statement Awal dieksekusi"); if (b = false) b = true;
System.out.println("Nilai b = "+b);
System.out.println("Statement Akhir dieksekusi"); if (b=(2 <= 7)) b = true;
System.out.println("2 <= 7 mengembalikan nilai "+b); if (b=(3 > 9)) b = true;
if (b=(9 <= 9)) b = true;
System.out.println("9 <= 9 mengembalikan nilai "+b); }
}
Output program di atas adalah
Tugas Praktikum 3.
InputOutput.java
import java.util.Scanner; public class Tiga{
public static void main (String [] shadisk){ Scanner input=new Scanner(System.in);
System.out.println("====================================="); System.out.printf("Please Input your Name : ");
String nama = input.nextLine();
System.out.printf("Please input your Character : "); String character = input.nextLine();
System.out.println("==================================="); System.out.println("Hay Guys...My Name is "+nama);
System.out.println("I'm a very "+character+" person Guys...");
System.out.println("==================================="); }
}
D. Tugas Rumah
Tugas Rumah 1.
•
Segitiga Sama sisi
public class Bintang1{
public static void main (String shadisk[]) {
System.out.println(" --> Kombinasi Bintang Segitiga Samam Sisi"); int a,b,c; int x=5; for(a=0;a<=x;a++) { for(b=0;b<=a;b++) { System.out.print(" "); } for(c=0;c>=(a-x);c--) { System.out.print(" *"); } System.out.println(""); } } }
Output Program
•
Segitiga sama kaki
public class Bintang2 {
public static void main(String[] shadisk) {
System.out.println(" --> Hasil Kombinasi Bintang Segitiga sama kaki");
int a = 6;
for (int i=0; i<a; i++) {
for (int j=0; j<=i; j++) System.out.print("* "); System.out.println(); }
} }
Output program di atas adalah
Tugas Rumah 2.
Kombinasi.java
import java.io.*;
public class Kombinasi {
public static String shadisk() { String read = "";
InputStreamReader input = new InputStreamReader (System.in); BufferedReader buf = new BufferedReader (input);
try { read = buf.readLine(); } catch (IOException e ) { System.out.println("Eror!"); } return read; }
public static void main(String[] args) { String nama = "";
int kode;
System.out.println("---"); System.out.print("Masukkan Nama Anda : ");
nama=shadisk(); System.out.print("Masukkan ID Anda : "); kode=Integer.parseInt(shadisk()); System.out.println(""); System.out.println("---"); System.out.println("");
System.out.println("--> Kombinasi Nama dan ID anda : "+nama+""+kode);
} }
Output program di atas adalah
Tugas Rumah 3.
Absensi.java
import java.io.*;
public class Absen{ public static String shadisk(){
String read=" "; InputStreamReader input =new InputStreamReader(System.in); BufferedReader buf = new BufferedReader(input);
try {
read=buf.readLine();} catch (Exception e){
System.out.println("error");}
return read;} public static void main(String[] args) {
int menu; int a, jumlah;
System.out.println("---"); System.out.println(" ABSENSI SISWA "); System.out.println("---"); jumlah=0; System.out.println("1. Add student ");
System.out.println("2. Show data student "); System.out.println("3. Exit" ); System.out.println("---"); do { System.out.print(" Pilihan Anda : ");
menu=Integer.parseInt(shadisk()); if (menu==1)
{ System.out.print(" Input New Student : ");
nama = shadisk(); jumlah++; System.out.println("---");} else if (menu==2)
{
System.out.print("Data Student "+jumlah);} else if (menu==3)
{
break;} else {
System.out.println(" Wrong Input !!!");
System.out.println("---");} }while (menu!=3);
} }
Output program di atas adalah
E. Kesimpulan
•
Class merupakan wadah yang akan digunakan untuk menciptakan objek, maka
jelaslah bahwa kita harus membuat kelas terlebih dahulu sebelum membuat objek.
•
Object adalahinstansiasi atau representasi nyata dari sebuah class.
•
Variabel Scoope (cakupan variabel)sampai mana variabel tersebut memiliki nilai
ketika dieksekusi ke dalam sebuah proses. Dengan kata lain, cakupan variabel
ini sangat bergantung pada tempat dimana ia dideklarasikan.
Lingkup variabel terbagi dua, yaitu lingkup Global dan Local.•
Method overloading adalahOverloading method adalah sebuah method yang
nama nya sama namun memiliki perlakuan yang berbeda
.F. Daftar Pustaka
• http://www.scribd.com/doc/22011741/Object-Class-Method-Dalam-Java
http://java.lyracc.com/belajar/java-untuk-pemula/dan-superhttp://hendrosteven.wordpress.com/2008/01/16/scope-variabel/ • http://muhammadghazali.wordpress.com/tag/jenis-jenis-variabel-di-java/ • Modul Java Jeni
• Kadir,Abdul.2003.Dasar Pemrograman Java 2:Yogyakarta.ANDI Yogyakarta • Hermawan Beni.2009.Pemrograman Berbasis Objek Java SE