Anda di halaman 1dari 21

LAPORAN II

PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK




Disusun untuk Memenuhi Matakuliah Praktikum Pemrograman Berbasis Objek Yang
Dibimbing oleh Azhar Ahmad Smaragdina,

Asisten Praktikum:
Tantri Hari Mukti
Endah Puji Rohmawati
Wildan Setyo











Oleh:
Izzati Alvandiar
130533608186
S1 PTI 2013 offering F


UNIVERSITAS NEGERI MALANG
FAKULTAS TEKNIK
JURUSAN TEKNIK ELEKTRO
S1 PENDIDIKAN TEKNIK INFORMATIKA
Agustus, 2014





LEMBAR PENGESAHAN LAPORAN

Nama : Izzati Alvandiar
Nim : 130533608179
Off : F

Judul Laporan

Tgl/bln/Thn
(Pengumpulan)
Tgl/bln/Thn
(Pengembalian)
Tanda Tangan
Asisten
Keterangan






































LAPORAN KE-2
PENGENALAN DASAR PEMPROGRAMAN JAVA II

A. TUJUAN
1. Mehasiswa mampu membuat class sendiri
2. Mahasiswa mampu mendeklarasikan struktur dan method pada class
3. Mahasiswa mampu menerapkan overload 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> f
<attributeDeclaration>*
<constructorDeclaratlon>*
<methodDeclaration>*

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
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 kita buat, kadangkala kita 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 perlu dilakukan 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 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:
1. Menambahkan
Import java.util.Scanner;
2. Membuat objek dari class Scanner Scanner input = new
Scanner
(System.in) ;
3. Memasukan nilai dari masing-masing variabel dengan
menggunakan
object dari Scanner
System.out.print("Masukan nama);
String nana = input.nextLine(); system.out .println (nama) ;

G. LATIHAN
Latihan 1 :
Kode Program :
o Mahasiswa.java
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

/**
*
* @author Izzati Alvandiar
*/
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)//method untuk
mengisi value dari variable yang bersangkutan
{
nama = nm;//penyalur dari data dari testMahasiswa menuju
Mahasiswa
angkatan = ak;//penyalur dari data dari testMahasiswa menuju
Mahasiswa
asal=as;//penyalur dari data dari testMahasiswa menuju
Mahasiswa
}
public void cetak(){//method untuk mencetak value dari variable
yang bersangkutan
System.out.println("nama : "+nama);
System.out.println("angkatan : "+angkatan);
System.out.println("asal : "+asal);
}
}

o TestMahasiswa.java
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

/**
*
* @author Izzati Alvandiar
*/
public class TestMahasiswa {
public static void main (String args[])
{
Mahasiswa MHS = new Mahasiswa();//objek baru yg
tersambung pada class mahasiswa
Mahasiswa MahasiswaPTI = new Mahasiswa();//objek baru yg
tersambung pada class mahasiswa
Mahasiswa MahasiswaPTE = new Mahasiswa();//objek baru yg
tersambung pada class mahasiswa

System.out.println("Identitas Awal : ");


MHS.cetak();//menghasilkan output berupa data dari class
mahasiswa yang telah didefinisikan

MHS.ubah("Ani", 2010, "Malang");//input data untuk
method ubah()
System.out.println("Identitas Akhir : ");
MHS.cetak();

MahasiswaPTI.ubah("Yogiswara Utama", 2013,
"Malang");//input data untuk method ubah()
System.out.println("Identitas Akhir : ");
MahasiswaPTI.cetak();//memanggil method cetak()

MahasiswaPTE.ubah("Utamakan belajar", 2013,
"Batu");//input data untuk method ubah()
System.out.println("Identias Akhir : ");
MahasiswaPTE.cetak();//memanggil method cetak()



}
}

Hasil Eksekusi :


Deskripsi program :
Program berguna untuk menampilkan isi dari atribut class mahasiswa, mahasiswa
terdiri dari nama,angkatan dan asal. Data diinputkan pada program tanpa


menggunakan keyboard dari end user. Data ditambilkan dengan method cetak,
data diinputkan pada variable dengan method ubah.

Latihan 2 :
Kode Program :
o Lingkup.java
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

/**
*
* @author Izzati Alvandiar
*/
public class Lingkup {
String sifat = "Marah";

void infoLingkup()
{
String sifat = "Malu";
System.out.println("sifat pada metode : "+sifat);
System.out.println("sifat milik kelas : "+this.sifat);/*
* menambahkan this. agar bisa memanggil variable dari
luar namun 1 file
*/

}
}

o TestLingkup.java
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

/**
*
* @author Izzati Alvandiar


*/
public class TestLingkup {
public static void main (String args[])
{
Lingkup varx = new Lingkup();
varx.infoLingkup();
}
}

Hasil Eksekusi :


Deskripsi program :
Program berguna untuk menampilkan pesan pada layar, yang mana pesan
tersebut berasal dari class Lingkup, lalu nilai dari class lingkup tersebut dipanggil
dengan menggunakan method infoLingkup(); . dengan memanfaatkan
konstraktor Lingkup(). Di tambahkan this. Agar nilai untuk ditampilkan pada layar
mengacu pada value untuk variable paling atas (variable deklarasi).
Latihan 3 :
Kode Program :
o Scoope.java
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

/**
*
* @author Izzati Alvandiar
*/
public class Scoope {
double angka = 20;//angka dengan tipe data double
void infoScoope()
{
double angka1 = 12;
System.out.println("angka di method : "+angka1);
System.out.println("angka di kelas : "+this.angka);/*
* ditambahkan .this agar bisa memanggil nilai dari suatu


variable yang dengan class public pada class Scoope
*/
double modulus = angka % angka1;
System.out.println("sisa hasil :"+modulus);
double bagi = angka / angka1;
System.out.println("hasil bagi "+bagi);
}
}

o TestScoope.java
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

/**
*
* @author Izzati Alvandiar
*/
public class TestScoope {
public static void main (String args[])
{
Scoope varx = new Scoope();/*
* membuat objek baru bernama varx yang terhubung dengan
class scoope
*/
varx.infoScoope();//menambilkan data dari class
infoScoope dengan memanggil vaiable batu (varx)

}
}




Hasil Eksekusi :





Deskripsi program :
Fungsi utama progam ialah untuk mendapatkan sisa hasil bagi dan hasil
pembagian dari nilai pada variable angka dan angka1. Data diinputkan dari
program tanpa interaksi dengan end user. Data menggunakan tipe data double
untuk variable angka dan angka1, untuk mencetak hasil eksekusi program
menggunkan method infoScoope yang terkoneksi menggunakan konstruktor/class
Scoope()/Scoope.java;

Latihan 4 :
Kode Program :
o Report.java
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

/**
*
* @author Izzati Alvandiar
*/
import java.io.*;//mengimport semua library dalam java.io (untuk
input dari keyboard dsb)
public class Report {
public static String inputkeyboard(){/*
* API membaca inputan dari keyoard
*/
String baca = "";//menyimpan ketikan dari keyboard pada
variable baca
InputStreamReader masukan = new
InputStreamReader(System.in);//objek baru bernama masukan
BufferedReader garisi = new BufferedReader(masukan);//objek
baru bernama garisi
try {
baca = garisi.readLine();
} catch ( IOException e) {
System.out.println("Error!");


}
return baca;
}
public static void main (String args [])
{
String nama = "";//variable nama dengan data kosong type
string
int nilaiMatematika;
int nilaiFisika;
int nilaiKimia;
System.out.print("Masukan Nama : ");
nama=inputkeyboard();//masukan data dari user untuk variable
nama;
System.out.print("Masukkan nilai Matematika : ");
nilaiMatematika=Integer.parseInt(inputkeyboard());//masukan
data integer untuk vairbale nilai
System.out.print("Masukkan nilai Fisika : ");
nilaiFisika=Integer.parseInt(inputkeyboard());//masukan data
integer untuk vairbale nilai
System.out.print("Masukkan nilai Kimia : ");
nilaiKimia=Integer.parseInt(inputkeyboard());//masukan data
integer untuk vairbale nilai

System.out.println("\n-------------------------");
System.out.println(""+nama);
System.out.println("Nilai kamu adalah ");
System.out.println("Matematika :"+nilaiMatematika);
System.out.println("Fisika : "+nilaiFisika);
System.out.println("Kimia : "+nilaiKimia);
}
}


Hasil Eksekusi :





Deskripsi program :
Fungsi utama program adalah untuk menghasilkan report dari inputan end user,
yang mana data untuk report tersebut diinputkan oleh end user itu sendiri
(melalui keyboard), end user melakukan input untuk nama, nilai untuk
matematika,fisika dan kimia, jika user telah melakukan input, maka hasil inputan
user tadi akan ditampilkan kembali.
Latihan 5 :
Kode Program :
o Persegi.java
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

/**
*
* @author Izzati Alvandiar
*/
import java.io.*;//mengimport semua library dalam java.io (untuk
input dari keyboard dsb)
public class Persegi {
public static void main (String args[])
{
BufferedReader baca = new BufferedReader(new
InputStreamReader(System.in));
String dataawal = "";
int hitungLuas = 0;
System.out.println("---Luas Persegi---");


System.out.println("Masukan nilai sisi : ");

try {
dataawal = baca.readLine();
int angka = Integer.parseInt(dataawal);/*input data
dari dataawal bertipe string
*dan disimpan pada variable angka bertipe integer
*/
hitungLuas = angka * angka;

} catch (Exception e) {/*jika data inputan tidak bertipe
data int seperti yg diminta
* akan menghasilkan pesan error
*/
System.out.println("error");
}
System.out.println("Luas persegi dengan sisi "
+dataawal+ " adalah " +hitungLuas);
}
}

Hasil Eksekusi :


Deskripsi program :
Fungsi utama program adalah untuk menghitung luas sebuah persegi, dengan
inputan berasal dari end user.

H. TUGAS PRAKTIKUM
1. Tugas Praktikum 1
o Tambah.java
public class Tambah {

/**
* @param args
*/



public static void main(String[] args){
System.out.println("1. " + tambah(2,3));
System.out.println("2. a(2) + b(3) = " + tambah(2,3));
System.out.println("3. " + tambah(2,3,5));
System.out.println("4. " + tambah(2.0,6.5));
}

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

Hasil Eksekusi :

Deskripsi program :
Program ini menggunakan overloading method untuk mengeksekusi program.
Program dijalankan menurut masukan dari nilai tersebut. Program ini memiliki
beberapa constructor. Setiap constructor memiliki metoda masing masing.
2. Tugas Praktikum 2
o Boolean.java
public class Boolean {
static boolean b = true;

public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Nilai b = " + b);
System.out.println("Statemen awal eksekusi");
System.out.println("Nilai b = " + !b);
System.out.println("Statemen ahir eksekusi");
b = (2>=7) ? true: false;
System.out.println("2>=7mengembalikan nilai " + b);
b = (3>9) ? true: false;
System.out.println("3>9mengembalikan nilai " + b);
b = (9<=9) ? true: false;
System.out.println("9<=9mengembalikan nilai " + b);
}
}

Hasil Eksekusi :



Deskripsi program :
Program ini menggunakan overloading method untuk mengambil nilai balikan dari suatu
assignment.
3. Tugas Praktikum 3
o InputSederhana.java
public class InputSederhana {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));
String inputNama = null;
String inputChar = null;
System.out.print("Input your name = ");
try {
inputNama = br.readLine();
} catch(IOException e){
e.printStackTrace();
}
System.out.print("Input your character = ");
try {
inputChar = br.readLine();
} catch(IOException e){
e.printStackTrace();
}
System.out.println("Hello..My Name is " + inputNama +
"\nI'm a " + inputChar);
}

}

Hasil Eksekusi :

Deskripsi program :
Program ini method/fungsi I/O yaitu BufferedReader. BufferedReader hanya mengenal
String. Jika ingin input selain String harus mengkonversinya.


I. TUGAS RUMAH
1.Tugas Rumah 1
o SegitigaSamaSisi.java
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

public class SegitigaSamaSisi {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));
System.out.println("Membuat segitiga sama sisi");
String nilai = null;
System.out.print("Masukkan sisi : ");
try {
nilai = br.readLine();
} catch(IOException e){
e.printStackTrace();
}
int Nilai = Integer.valueOf(nilai).intValue();
for(int i = 0; i < Nilai; ++i) {
for(int j = Nilai; j > i; --j) {
System.out.print(" ");
}
for(int k = 0; k <= i; ++k) {
System.out.print("* ");
}
System.out.println();
}
}
}

Hasil Eksekusi :

Deskripsi program :
Program ini yaitu membuat segitiga (*) dengan nilai sisi sebagai inputan.
o SegitigaSamakaki.java
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

public class SegitigaSikuSiku {



/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
BufferedReader br = new
BufferedReader(newInputStreamReader(System.in));
System.out.println("Masukkan sisi : ");
String sisi = null;
int i, j;
try {
sisi = br.readLine();
} catch(IOException e){
e.printStackTrace();}
int Data = Integer.valueOf(sisi).intValue();
for(i = 1; i <= Data; i++){
for(j = Data; j > i; j--){
System.out.print(" ");}
for(int k = 1; k <= i; ++k){
System.out.print("* ");
}
System.out.println();}}}

Hasil Eksekusi :

Deskripsi program :
Program ini yaitu membuat segitiga (*) dengan alas sisi sebagai inputan.
2.Tugas Rumah 2
o InputSederhana.java
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

public class AngkaString {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));
String angka = null;
String nama = "";
System.out.print("Masukkan angka : ");
try {
angka = br.readLine();
} catch(IOException e){


e.printStackTrace();
}
int Data = Integer.valueOf(angka).intValue();
System.out.print("Masukkan string : ");
try {
nama = br.readLine();
} catch(IOException e){
e.printStackTrace();
}
for(int i = 1;i <= Data;i++){
System.out.println(i + ". " + nama);}}


Hasil Eksekusi :

Deskripsi program :
Program ini menggunakan inputan angka sebagai jumlah karakter yang akan
ditampilkan.
3. Tugas Rumah 3
o InputSederhana.java
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

public class Absensi {

static int Menu;
static BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));
static String siswa[] = new String[20];
static int x;

public static void main(String[] args) {
// TODO Auto-generated method stub
Menu();
String inputMenu = null;
try {
inputMenu = br.readLine();
} catch(IOException e){
e.printStackTrace();
}
int Menu = Integer.valueOf(inputMenu).intValue();
switch (Menu) {
case 1:
tambahData();
break;
case 2:
tampilData();
case 3:


hapusData();
default:
System.exit(0);
break;
}
}
private static void tampilData() {
for(int i = 0; i < x; i++){
System.out.println(i + ". " + siswa[i]);
}
}

public static void Menu(){
System.out.println("MENU : ");
System.out.print("1. Menambah Siswa \n2. Lihat Siswa \n3.
Hapus Siswa \n4. Exit\nPilihan Anda : ");
}
public static void tambahData(){
System.out.println("Masukkan jumlah siswa : ");
String input = null;
try {
input = br.readLine();
}catch(IOException e){
e.printStackTrace();
}
int x = Integer.valueOf(input).intValue();
for(int i = 0; i < x; ++i){
System.out.print("Masukkan String ke - " + i + " :
");
String string = null;
try {
string = br.readLine();
}catch(IOException e){
e.printStackTrace();
}
siswa[i] = string;
} }


Hasil Eksekusi :

Deskripsi program :
Program ini method/fungsi I/O yaitu BufferedReader. BufferedReader hanya mengenal
String. Jika ingin input selain String harus mengkonversinya.
J. KESIMPULAN


Pada praktikum kali ini membahas tentang overloading method dimana kita dapat
menggunakan/memanggil method tertentu sesuai kebutuhan sehingga dapat
menghapus duplikasi data pada saat kode.
K. REFERENSI / DAFTAR PUSTAKA
Modul 2 Praktikum OOP
Velocity Documentation
https://tutorialspoint.com
Khannedy, Eko. 2011. Belajar Java Dasar.

Anda mungkin juga menyukai