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, 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 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); 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(); 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. 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(); Amati folder penyimpanan data, class yang terbentuk adalah :
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. 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("Nilai kamu adalah ");
System.out.println("Matematika : " + nilaimatematika); System.out.println("Fisika : " + nilaifisika); System.out.println("Kimia : " + nilaikimia); 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); 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; System.out.println("3 > 9 mengembalikan nilai "+b);
if (b=(9 <= 9)) b = true; System.out.println("9 <= 9 mengembalikan nilai "+b); 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(); 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); 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) String nama=" ";
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); 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
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-java http://java.lyracc.com/belajar/java-untuk-pemula/dansuperhttp://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