LAPORAN KE - renithaerdiana.files.wordpress.com · Web viewDisusun untuk Memenuhi Matakuliah...
Transcript of LAPORAN KE - renithaerdiana.files.wordpress.com · Web viewDisusun untuk Memenuhi Matakuliah...
LAPORAN IIPRAKTIKUM PEMROGRAMAN BERBASIS OBJEK
Disusun untuk Memenuhi Matakuliah Praktikum Pemrograman Berbasis Objek Yang Dibimbing oleh Heru Wahyu Herwanto, S.T., M.KOM
Asisten Praktikum:
Muh. Zaenul HilmiRidhotul Ulfa
Oleh:
Renitha Erdiana
110533430681
S1 PTI 2011 offering B
UNIVERSITAS NEGERI MALANG
FAKULTAS TEKNIK
JURUSAN TEKNIK ELEKTRO
S1 PENDIDIKAN TEKNIK INFORMATIKA
SEPTEMBER 2012
LAPORAN KE-2
PENGENALAN DASAR PEMROGRAMAN 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
a. Class
Class adalah wadah yang berisi abstraksi (pemodelan) dari suatu fungsi objek
(benda), yang mendeskripsikan data (sifat karakteristik) dan fungsi yang dimiliki oleh
objek tersebut. Karena kelas merupakan wadah yang akan digunakan untuk menciptakan
objek, maka jelaslah bahwa kita harus membuat kelas terlebih dahulu sebelum membuat
objek.
Dalam pendefinisian class, umumnya dituliskan sebagai berikut:
<modifier> class <name> {<attributeDeclaration>*<constructorDeclaration>*<methodDeclaration>*
}<modifier> adalah sebuah modifier bertipe access yang dapat dikombinasikan dengan
modifier lainnya.
Petunjuk penulisan class:
Gunakan nama yang sesuai untuk penamaan class. Disarankan untuk tidak
menggunakan XYZ sebagai nama class atau nama asal-asalan lainnya.
Nama class harus diawali dengan huruf KAPITAL.
Penamaan file harus tepat sama dengan nama yang digunakan oleh class ber-modifier
public
b. Object
Object adalah sekumpulan software yang terdiri dari variable dan method-method
terkait. Object saling berinteraksi dengan saling memanggil metode dari satu object ke
object lainnya, disebut message. Dengan kata lain, object merupakan instance
sebenarnya dari sebuah class. Instance dibuat sewaktu kita melakukan inisialisasi class
dengan menggunakan kata kunci new.
Dalam bahasa pemrograman Java, object dapat ditulis dengan sintaks sebagai
berikut:
nama_class nama_instance = new nama_class();
c. Attribute
Attribute merupakan nilai data yang terdapat pada suatu object yang berasal dari
class. Attribute mempresentasikan karakteristik dari suatu object.
Dalam pendeklarasian atribut, dapat dituliskan:
<modifier> <type> <name> [= <default_value>];
d. Scoope Variable
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.
e. Overloading Methods
Dalam class yang dibuat, kadangkala menginginkan untuk membuat method
dengan nama yang sama namun mempunyai fungsi yang berbeda menurut parameter
yang digunakan. Kemampuan ini dimungkinkan dalam pemrograman Java, dan dikenal
sebagai overloading method.
f. Input/Output
Berikut ini adalah langkah-langkah yang diperlukan untuk mendapatkan input :
1. Tambahkan di bagian paling atas code anda :Import java.io.*;
2. Tambahkan statemen berikut pada method main :BufferedReader dataIn = new BufferedReader (new InputStreamReader(System.in));
3. Deklarasikan variabel String temporary dan gunakan fungsi readLine() untuk
mendapatkan input serta ketikkan pada blog try-catch.try {
String temp = dataIn.readLine();} catch (IOException){
System.out.println(“Terjadi kesalahan saat anda melakukan input”)
}
Berikut ini adalah langkah-langkah yang perly dilakukan untuk mendapatkan input
dan console dengan Scanner :
1. MenambahkanImport java.util.Scanner;
2. Membuat objek dari class Scanner Scanner input = new Scanner(System.in);
3. Memasukkan nilai dari masing-masing variabel dengan menggunakan object dari
ScannerSystem.out.print(“Masukkan nama : “);String nama = input.nextLine();System.out.println(nama);
C. Latihan
Latihan 1
a. Tulis class berikut kemudian simpan dengan nama 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); } }
b. Kompilasi dan jalankan program tersebut.c. Output dari langkah (b) adalah :
d. Tulis Program berikut, simpan dengan nama TestMahasiswa.java pada folder yang sama dengan class Mahasiswa di atas.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(); }}
e. Compilasi dan jalankan!f. Output program di atas adalah :
g. Buatkan dua object lagi dengan nama MahasiswaPTI dan Mahasiswa PTEh. Ubah data kedua object tersebuti. Panggil fungsi cetak untuk kedua object tersebutj. Program test yang telah direvisi adalah :
public class TestMahasiswa{ public static void main(String[] args){ Mahasiswa mahasiswaPTI = new Mahasiswa(); mahasiswaPTI.ubah("Renitha",2011,"Trenggalek"); Mahasiswa mahasiswaPTE = new Mahasiswa(); mahasiswaPTE.ubah("Mina",2011,"Tulungagung"); System.out.println(""); System.out.println("Mahasiswa PTI :"); mahasiswaPTI.cetak(); System.out.println(""); System.out.println("Mahasiswa PTE :"); mahasiswaPTE.cetak(); } }
k. Keluaran program adalah :
Latihan 2a. Tulis dan simpan program berikut :
class Lingkup{ //Variabel instan String sifat = "Marah"; //Metodevoid infoLingkup(){ String sifat = "Malu"; System.out.println("Sifat pada metode: "+sifat); System.out.println("Sifat milik kelas: "+this.sifat); }}
b. Tulis dan simpan program berikut :public class TestLingkup{ public static void main(String[] args){ Lingkup varx = new Lingkup(); varx.infoLingkup(); }}
c. Compilasi TestLingkup.java
d. Amati folder penyimpanan data, class yang terbentuk adalah :
e. Jalankan program tersebut, maka output program adalah sbb :
f. Fungsi dari kata kunci this adalah Digunakan dalam sebuah class untuk menyatakan objek sekarang, untuk
menghindari variabel yang sama antara variabel class dan variabel property.
Latihan 3
a. Tulis dan simpan program berikut.
class Scoope{ //Variabel instan int 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); }}
b. Tulis dan simpan program berikut.
public class TestScoope{ public static void main(String[] args){ Scoope varx=new Scoope(); varx.infoScoope(); }}
c. Compilasi Scoope.java
d. Amati folder penyimpanan data, class yang terbentuk adalah :
e. Jalankan Program tersebut, maka output program adalah sbb :
f. Mengapa angka yang terdapat pada method dan class dapat dibagi!Bagaimana cara
menampilkan hasil bagi = 1.8 (isi variabel tetap)?
Karena nama yang dimiliki yang berbeda, pada class nama yang dimiliki adalah
angka, pada method nama yang dimiliki adalah angka1. Sehingga keduanya dapat
dipanggil dan dieksekusi.
Latihan 4
a. Tulis dan simpan program berikut :
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); }}
b. Output program di atas adalah :
Latihan 5
a. Tulis dan simpan program berikut :
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);}}
b. Ouput program di atas adalah :
D. Tugas Praktikum
1. Buatlah program Oveloading dengan pottongan program di bawah ini:
public class Overloading{
static int tambah (int a,int b){return a+b;
}static double tambah (double a,double b){
return a+b;}static int tambah (int a,int b,int c){
return a+b+c;}}
public class TestOverloading{ public static void main(String[] args){int angka1;int angka2;double angka3;
angka1 = Overloading.tambah(3,4);angka2 = Overloading.tambah(3,4,8);angka3 = Overloading.tambah(10,4.5);
System.out.println("");System.out.print("1. ");System.out.println(angka1);System.out.print("2. a<3> + b<4> = ") ;System.out.println(angka1);System.out.print("3. ");System.out.println(angka2);System.out.print("4. ");System.out.println(angka3);}}
Output :
2. Buat demo kelas Boolean dengan menggunakan Statemen IF sehingga keluarannya
sebagai berikut :
class DemoBoolean {public static void main(String[] args) {boolean b;b = true;System.out.println("-----------------------------------");System.out.println("Nilai b = " + b); if (b) {System.out.println("Statemen awal dieksekusi");}b = false;System.out.println("-----------------------------------");System.out.println("Nilai b = " + b);
if (b) {System.out.println("Statemen tengah tidak akan dieksekusi");}if (!b) {System.out.println("Statemen akhir dieksekusi");}System.out.println("-----------------------------------");System.out.println("2 <= 7 mengembalikan nilai " +(2 <= 7));System.out.println("3 > 9 mengembalikan nilai " + (3 > 9));System.out.println("9 <= 9 mengembalikan nilai "+ (9 <= 9));}}
Output :
3. Buat sebuah program yang menggunakan konsep input/output sehingga dapat
menghasilkan output sebagai berikut :
import java.io.*;
public class Karakter{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 ="";String character ="";System.out.println("");System.out.print("Please Input Your Name : ");name=bacaInputan();System.out.print("Please Input Your Character : ");character=bacaInputan();
System.out.println("");System.out.println("Hello...My Name is " + name );System.out.println("I'm a very " + character +" person.");
}}
Output :
E. Tugas Rumah
1. Segitiga Sama sisi
public class SegitigaSamaSisi{public static void main (String args []){int jumSisi = 7;int i, j;System.out.print ("Membuat segitiga sama sisi, sisi = 6 \n");
for (i=1; i<=jumSisi; i++){
for(j=1; j<=i; j++){
System.out.print (" ");}for(j=1; j<=jumSisi-i; j++){
System.out.print (" *");}System.out.println("");
}}}
Output:
b. Segitiga Sama Kaki
public class SegitigaSamaKaki{
public static void main (String args []){
int jumSisi = 6;
int i, j;
System.out.println ("±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±");
System.out.println ("±±±±± PROGRAM by RENITHA ERDIANA ±±±±");
System.out.println ("±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±\n");
System.out.print ("Membuat segitiga siku-siku dengan sama kaki");
System.out.println (", alas = 6, tinggi = 6");
for (i=1; i<=jumSisi; i++)
{
for(j=1; j<=i; j++)
System.out.print ("*");
System.out.print ("\n");
}
}
}
Output :
2. Buatlah sebuah program dimana terdapat inputan yang kemudian di operasikan
dengan yang lain, sehingga memunculkan sebuah nilai baru.
Example:
Inputan : 1. Angka 2. String
Output : kombinasi keduanya, sejumlah inputan
import java.io.*;
public class Kombinasi{ 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) { String jumlah=""; String nama=""; System.out.println ("±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±"); System.out.println ("±±±± PROGRAM by RENITHA ERDIANA ±±±±"); System.out.println ("±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±\n"); System.out.print("\nMasukkan Nama Anda : "); nama=bacaInputan(); System.out.print("\nMasukkan Jumlah Output : "); jumlah=bacaInputan(); int jml = Integer.parseInt(jumlah);
System.out.print("\n\n::::: Output :::::\n\n"); for(int i=0;i<jml;i++){ System.out.println((i+1)+". "+nama); } System.out.print("\n----- SELESAI -----\n\n"); }
}
3. Buatlah sebuah program absensi dimana terdapat menu :
1. Menambah siswa
2. Melihat jumlah siswa yang masuk
3. Keluar (exit)
import java.util.*;import java.io.*;class Absensi{ public static void main(String[] args){ int i, jmlh=0, jmlhsiswa=0; int na=0; na = jmlhsiswa-jmlh; String[] data; data=new String[30]; String[] data1; data1=new String[50]; int[] data2; data2=new int[50]; int pilihan=0; BufferedReader reader = null; InputStreamReader streamReader = null; Scanner input=new Scanner(System.in); BufferedReader dataIn = new BufferedReader(new InputStreamReader(System.in));
streamReader = new InputStreamReader(System.in); reader = new BufferedReader(streamReader); try{ do{ System.out.println ("\n--- Menu: ---"); System.out.println (""); System.out.println ("1. Menambah siswa"); System.out.println ("2. Melihat jumlah siswa yang masuk"); System.out.println ("3. Keluar (exit)"); System.out.println ("");
System.out.print ("Masukkan Pilihan Anda : "); pilihan = Integer.parseInt(reader.readLine()); switch(pilihan){ case 1: System.out.println (""); System.out.println ("--> Input Data Siswa <--\n"); System.out.print("Masukkan jumlah siswa : "); jmlhsiswa=input.nextInt(); System.out.print("Masukkan jumlah siswa yang tidak masuk : "); jmlh=input.nextInt(); System.out.println (""); System.out.println("--> Yang tidak masuk dalam kelas <--\n"); for (i=1;i<=jmlh;i++) { System.out.print(""); System.out.print(" Nama Siswa : "); data[i]=dataIn.readLine(); System.out.print(" keterangan tidak masuk : "); data1[i]=dataIn.readLine(); System.out.print(" berapa hari siswa tidak masuk : "); data2[i]=input.nextInt(); System.out.println(""); } break; case 2: System.out.print(""); System.out.println("--> Tampilan data siswa <--"); na = jmlhsiswa-jmlh; System.out.println(" jumlah siswa yang masuk adalah : "+na); System.out.println(""); System.out.println("=== Data siswa yang tidak masuk ==="); System.out.print(""); for (i=1;i<=jmlh;i++) { System.out.println("Data Ke - "+i+""); System.out.print(""); System.out.println(" Nama Siswa :
"+data[i]); System.out.println(" keterangan siswa tidak masuk :
"+data1[i]); System.out.println(" siswa tidak masuk selama : "+data2[i]
+" hari"); } System.out.print("\n"); break; case 3: System.exit(1); break; default: System.out.println("Pilihan yang Anda Masukan Salah");
break; } }while(true); }catch(IOException e) {e.printStackTrace(); } }}
Output:
KESIMPULAN
Di dalam program Java, terdapat Class, Object, Attribute, Variabel Scoope dan
Overloading method. Class berisi abstraksi (pemodelan) dari suatu fungsi objek (benda),
yang mendeskripsikan data (sifat karakteristik) dan fungsi yang dimiliki oleh objek tersebut.
Sedangkan Object terdiri dari variable dan method-method terkait. Attribute terdiri dari nilai
data yang terdapat pada suatu object yang berasal dari class. Variabel Scoope (cakupan
variabel) menentukan seberapa luas variabel dapat diakses, lingkup variabel terbagi dua,
yaitu lingkup Global dan Local. Serta overloading method untuk membuat method dengan
nama yang sama namun mempunyai fungsi yang berbeda menurut parameter yang
digunakan.
DAFTAR PUSTAKA
Fajarindra. 2012. Pengertian dari Class, Object, dan Method pada Java, (Online), (http://fajarindra.web.id/pengertian-dari-class-object-dan-method-pada-java), diakses 4 Oktober 2012.
Modul Praktikum II Pemrograman Berbasis Object
Materi PPT Pemrograman Berbasis Object : JENI_Slides-Intro1-Bab10-Membuat_class_sendiri