laporan-pbo-2

19
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

Upload: a-m-rousan-shafir

Post on 04-Aug-2015

249 views

Category:

Documents


11 download

TRANSCRIPT

Page 1: laporan-pbo-2

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 FebritaM.Arifin

Oleh:

AM ROUSAN SHAFIR

110533430663

PTI OFFERING E

UNIVERSITAS NEGERI MALANG

FAKULTAS TEKNIK

JURUSAN TEKNIK ELEKTRO

S1 PENDIDIKAN TEKNIK INFORMATIKA

OKTOBER 2012

Page 2: laporan-pbo-2

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 TeoriClassPengertian class adalah suatu pola, template atau cetak biru untuk objek sejenis atau bias didefinisikan sebagai cetakkan dari objek.  Contoh : Class Person, Vehicle, Tree, dll

Bila 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 dicipakan2. Memori dialokasikan untuk instance tersebut3. Special Method didefinisikan pada class (Konstruktor)

Page 3: laporan-pbo-2

Attributmerupakan 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 VariableCakupan 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 MethodMethod 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 / OutputBerikut 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 {

Page 4: laporan-pbo-2

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);

Page 5: laporan-pbo-2

C. Latihan

Latihan 1. Mahasiswa.javapublic 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.javapublic 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();

}}Output program di atas adalah

Page 6: laporan-pbo-2

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.javaclass Lingkup{//Variabel instanString sifat = "Marah";//Metodevoid infoLingkup(){String sifat = "Malu";System.out.println("Sifat pada metode: "+sifat);System.out.println("Sifat milik kelas: "+this.sifat);}}

Page 7: laporan-pbo-2

TestLingkup.javapublic 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.javaclass Scoope {//Variabel instanint angka = 20;//Metodevoid 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.javapublic class TestScoope{public static void main(String[] args){Scoope varx=new Scoope();varx.infoScoope();}}Amati folder penyimpanan data, class yang terbentuk adalah :

Page 8: laporan-pbo-2

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.javaimport 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("Nilai kamu adalah ");

Page 9: laporan-pbo-2

System.out.println("Matematika : " + nilaiMatematika);System.out.println("Fisika : " + nilaiFisika);System.out.println("Kimia : " + nilaiKimia);}}

Output program di atas adalah

Latihan 5. Persegi.javaimport 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);}}Output program di atas adalah

Page 10: laporan-pbo-2

C. Tugas PraktikumTugas Praktikum 1. OverLoad.javapublic 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.javapublic 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;

System.out.println("3 > 9 mengembalikan nilai "+b);

Page 11: laporan-pbo-2

if (b=(9 <= 9)) b = true;System.out.println("9 <= 9 mengembalikan nilai "+b);

}}

Output program di atas adalah

Tugas Praktikum 3.InputOutput.javaimport 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("===================================");

}}

Output program di atas adalah

Page 12: laporan-pbo-2

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

Page 13: laporan-pbo-2

Segitiga sama kakipublic 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.javaimport java.io.*;public class Kombinasi {

public static String shadisk() {String read = ""; InputStreamReader input = new InputStreamReader (System.in);BufferedReader buf = new BufferedReader (input);try {

Page 14: laporan-pbo-2

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.javaimport 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) { String nama=" "; int menu;

Page 15: laporan-pbo-2

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 adalah instansiasi 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

Page 16: laporan-pbo-2

ini sangat bergantung pada tempat dimana ia dideklarasikan. Lingkup variabel terbagi dua, yaitu lingkup Global dan Local.

Method overloading adalah Overloading 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-Javahttp://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