Anda di halaman 1dari 11

LAPORAN

PEMROGRAMAN BERORIENTASI OBJEK


PERTEMUAN 1 dan 2

DI SUSUN OLEH :
NAMA : AHMAD SOBRI
NIM : 125410295

STMIK AKAKOM
YOGYAKARTA
2014

PEMBAHASAN 1
public class Pegawai{
String NamaPegawai;
int IdPegawai;
String PosisiPegawai;

Potongan program diatas adalah pendeklarasian kelas dengan nama Pegawai dan
property NamaPegawai, IdPegawai, dan PosisiPegawai, dengan masing-masing tipe data
yang digunakan.
Pegawai (String nama, int id, String posisi){ //konstruktor
NamaPegawai = nama;
IdPegawai = id;
PosisiPegawai=posisi;
}

Pada bagian diatas merupakan sebuah konstruktor (method dengan yang namanya
sama dengan nama kelasnya), dengan beberapa parameter yaitu nama, id, dan posisi.
Parameter tersebut berfungsi sebagai pembawa nilai yang nantinya nilai tersebut dimasukan
didalam property yang telah dideklarasikan diatas, dengan cara NamaPegawai = nama, dan
seterusnya pada parameter yang lain.
Pegawai() { //konstruktor
NamaPegawai = "Azkiya";
IdPegawai = 2514;
PosisiPegawai = "Staf Pengajar";
}

Pada bagian diatas merupakan konstruktor kedua (Nama sama tapi tanpa parameter).
Pada konstruktor tersebut langsung memanggil property yang ada pada kelas, kemudian
langsung memberi nilainya, dengan cara NamaPegawa=Azkiya; dan seterusnya pada
property selanjutnya.
void Show(){
System.out.println
System.out.println
System.out.println
System.out.println
}

("Informasi Pegawai");
("Nama Pegawai : "+NamaPegawai);
("Id Pegawai : "+IdPegawai);
("Posisi : "+PosisiPegawai);

Pada bagian diatas, adalah sebuah method void (tanpa return nilai)dengan nama
Show. Didalam method tersebut terdapat perintah mencetak, yaitu System.out.println ("Nama
Pegawai : "+NamaPegawai); yang berfungsi menampilkan nama pegawai dengan mengambil
nilai dari property NamaPegawai diatas, dan pada method pada method lainnya.
public static void main (String [] arg){
Pegawai pegawai1= new Pegawai();
Pegawai pegawai2 = new Pegawai("Zahwa", 3313, "Staf Akademik");
pegawai1.Show();
pegawai2.Show();

Pada bagian diatas adalah method main dari kelas Pegawai ini, didalamnya terdapat
beberapa perintah, yakni menciptakan objek dari kelas Pegawai, kemudian memanggil
property/ method yang ada pada kelas Pegawai. Dalam hal ini, menciptakan objek pertama
dengan cara Pegawai pegawai1= new Pegawai();
dimana pegawai1 adalah nama objeknya. Pada objek tersebut diciptakan dengan cara
langsung memanggil konstruktor Pegawai(), yaitu konstruktor yang tanpa parameter.
Sehingga menghasilkan Nama Pegawai = Azkiya, Id Pegawai = 2154, Posisi = Staf Pengajar.
Hal ini terjadi karena property yang ada pada kelas Pegawai lebih dahulu telah diberi nilai
pada method Pegawai() yang tanpa parameter.
Selanjutnya objek kedua diciptakan dengan nama pegawai2, dengan cara Pegawai
pegawai2 = new Pegawai("Zahwa", 3313, "Staf Akademik"); Pada objek tersebut diciptakan
dengan cara memanggil konstruktor Pegawai (String nama, int id, String posisi), yaitu
konstruktor yang memiliki parameter, dimana parameter tersebut nilainya adalah
Pegawai("Zahwa", 3313, "Staf Akademik").
Setelah memanggil method-method tersebut, selanjutnya objek pegawai1 dan objek
pegawai2 memanggil method Show() yang berfungsi untuk menampilkan value/ nilai-nilai
yang ada pada method tersebut, dengan cara : pegawai1.Show(); pegawai2.Show();
Selanjutnya, dengan cara yang sama, membuat objek baru lagi (objek ke-3) dari kelas
Pegawai diatas, namun dengan nilai paremeter yang berbeda yaitu
Pegawai pegawai3 = new Pegawai("Sobri", 2121, "Programmer");
Kemudian memanggil method Show, pegawai3.Show();
Dari proses diatas, sehingga menghasilkan output sebagai berikut :

Diagram Class :

Tugas :
Buat kelas lingkaran
Atribut : jari-jari;
Methode : setJariJari(); hitungLuas(); hitungKeliling(); tampil();
Ciptakan 2 buah objek dan tampilkan hasilnya, serta diagram kelas dan programnya.
Jawab :
public class Lingkaran{
Double jari;
final Double phi=3.14;
Double Luas;
Double Keliling;
public void setJariJari(Double jari){
this.jari=jari;
}
public Double hitungLuas(){
Luas=phi*jari*jari;
return Luas;
}
public Double hitungKeliling(){
Keliling = (2*phi)*jari;
return Keliling;
}
public void tampil (){
System.out.println("Jari-Jari = "+jari);
System.out.println("Luas Lingkaran = "+Luas);
System.out.println("Keliling Lingkaran = "+Keliling);
}
public static void main (String [] arg){
Lingkaran lingkaran1, lingkaran2;

lingkaran1 = new Lingkaran();


lingkaran1.setJariJari(3.0);
lingkaran1.hitungKeliling();
lingkaran1.hitungLuas();
lingkaran1.tampil();
System.out.print("\n");
lingkaran2 = new Lingkaran();
lingkaran2.setJariJari(10.0);
lingkaran2.hitungKeliling();
lingkaran2.hitungLuas();
lingkaran2.tampil();
}
}

Output :

Diagram Kelas :

Listing : Terlampir

PEMBAHASAN 2

Source code :
public class Lingkaran{
final double phi = 3.14;
double jari;

Potongan program diatas adalah pendeklarasian kelas dengan nama Lingkaran dan
property PHI dan jari, dengan masing-masing tipe data yang digunakan.
public void setJari(double jari){
this.jari=jari;
}

Potongan program diatas adalah method dengan nama setJari dengan parameter jari
bertipe double. Method tersebut digunakan untuk memberi nilai dari properti jari diatas
dengan nilai jari pada parameter, dengan cara this.jari=jari;
public double getJari(){
return (jari);
}

Pada bagian diatas merupakan method bertipe double dengan nama getJari(), pada method
tersebut akan mengembalikan nilai dari value properti jari bertipe double.
public double getLuas(){
double luas;
luas=phi*jari*jari;
return (luas);
}

Pada bagian diatas merupakan method bertipe double dengan nama getLuas() , pada method
tersebut terdapat proses untuk menghitung nilai Luas lingkaran, yakni dengan cara luas =
phi*jari*jari; nilai jari diambil dari properti diatas yang telah di set oleh method setJari
sebelumnya. Pada variabel luas bertipe double.
Kemudian, kelas tersbut akan
mengembalikan nilai luas bertipe double dari proses perhitungan tersebut dengan cara return
(luas);.
public void tampil(){
System.out.println("jari-jari = "+jari);
System.out.println("Luas = "+getLuas());
}
}

Pada bagian diatas merupakan method bertipe void dengan nama tampil(), dalam method ini
terdapat perintah untuk menampilkan nilai jari-jari dengan cara System.out.println("jari-jari =
"+jari); nilai jari-jari diambil dari variabel/ properti jari diatas, dan menampilkan nilai
luas dengan cara System.out.println("Luas = "+getLuas()); nilai luas diambil dari properti luas
diatas.
Ket : pada kelas diatas, mengapa menggunakan tipe data double? Hal ini karena hasil
perhitungan (luas) memungkinkan menghasilkan nilai pecahan/desimal.

Source Code Class Main :


public class Main{

public static void main(String[]args){


Lingkaran a;
a=new Lingkaran();
a.setJari(10.00);
a.tampil();
}
}

Pada bagian diatas adalah kelas dengan nama Main, dimana dalam kelas tersebut terdapat
method main / utama java yang digunakan untuk menjalankan kelas Lingkaran yang telah
dibuat diatas, dengan cara membuat objek dari kelas Lingkaran dengan nama objek a dengan
cara Lingkaran a; a=new Lingkaran(); selanjutnya objek a memanggil method setJari dengan
memberikan nilai pada parameternya yaitu a.setJari(10.00); sehingga nilai jari pada property
kelas diatas akan berisi 10.00. selanjutnya objek a memanggil method tampil() dengan cara
a.tampil(); yang berfungsi untuk menampilkan hasil dari proses perhitungan tersebut.
Output Main :

Source code Class Main2 :


public class Main2{
public static void main(String[]arg){
int i;
Lingkaran[] a;
a = new Lingkaran[5];

Pada bagian diatas merupakan kelas dengan nama Main2, dimana dalam kelas tersebut
terdapat method main / utama java yang digunakan untuk menjalankan kelas yang telah
dibuat diatas, dengan cara membuat objek dari kelas Lingkaran sebelumnya dengan nama
objek a namun kali ini objek tersebut berbentuk array dengan cara Lingkaran[] a; a = new
Lingkaran[5]; dimana panjang array sebanyak 5, dimulai dari index 0 sampai index 4.
for (i=0; i<5; i++){
a[i]= new Lingkaran();
}

Selanjutnya perintah diatas adalah perulangan for yang digunakan untuk melooping setiap
index, dimulai dari i=0; dengan kondisi I kurang dari 5 i<5; kemudian perubahan
penambahan nilai i sebanyak 1 untuk setiap looping dengan cara i++ . kemudian index pada
array objek a di isi dengan nilai i, selanjutnya memanggil konstruktor dari kelas Lingkaran
dengan cara a[i]= new Lingkaran(); sehingga yang terjadi, setiap index array objek a, akan bertipe
objek dari kelas Lingkaran. Dengan demikian setiap index a dapat memanggil atribut/ method
yang ada pada kelas Lingkaran, dengan cara sbb :
a[0].setJari(00.00); index 0 pada objek a memanggil method setJari dengan nilai parameter 00.00
a[1].setJari(10.00); index 1 pada objek a memanggil method setJari dengan nilai parameter 10.00
a[2].setJari(20.00); index 2 pada objek a memanggil method setJari dengan nilai parameter 20.00
a[3].setJari(30.00); index 3 pada objek a memanggil method setJari dengan nilai parameter 30.00
a[4].setJari(40.00); index 4 pada objek a memanggil method setJari dengan nilai parameter 40.00

selanjutnya memanggil method tampil untuk masing-masing index array pada objek a
menggunakan looping for, sebagai berikut :
for (i=0; i<5; i++){
System.out.println("Lingkaran ke- "+i);
a[i].tampil();
}

}
}

Dengan demikian, setiap index array pada objek a akan menghasilkan value tersendiri sesuai
dengan nilai pada parameter setJariyang telah didefinisikan diatas. Berikut adalah hasilnya :
Output Main2 :

Source code :
public class Nasabah{
int noId;
String nama;
String alamat;
String identitas;
String noIdentitas;
double saldo, setoran, pengambilan;

Pada bagian program diatas adalah pendeklarasian kelas dengan nama Nasabah dan beberapa
property didalamnya nama, alamat, identitas, noIdentitas, saldo, setoran dan pengambilan,
dengan masing-masing tipe data yang digunakan.
public void lihatAccount(){
System.out.println("NO Id \t\t: "+noId);
System.out.println("Nama \t\t: "+nama);
System.out.println("Alamat \t\t: "+alamat);
System.out.println("Identitas \t: "+identitas);
System.out.println("NO Identitas \t: "+noIdentitas);
}

Selanjutnya pada bagian program diatas merupakan method bertipe void dengan nama
lihatAccount() didalamnya terdapat perintah untuk menampilkan nilai dari property yang
telah didefinisikan diatas, dengan cara memanggil nama property diatas, yakni
System.out.println("NO Id \t\t: "+noId); dan seterusnya pada property yang lain.

void setoran (double jumlah){


saldo +=jumlah;
setoran =jumlah;
}

Selanjutnya pada bagian program diatas merupakan method bertipe void dengan nama
setoran() dengan parameter jumlah bertipe double.
Dalam method tersebut terdapat perintah untuk memberikan nilai pada property saldo dan
setoran dimana nilainya berasal dari parameter method tersebut, yakni dengan cara saldo
+=jumlah; artinya nilai saldo yang ada akan selalu ditambah dengan nilai dari parameter
jumlah. Selanjutnya nilai pada property setoran =jumlah;
void pengambilan(double jumlah){
saldo-=jumlah;
pengambilan=jumlah;
}

Selanjutnya pada bagian program diatas merupakan method bertipe void dengan nama
pengambilan() dengan parameter jumlah bertipe double.
Dalam method tersebut terdapat perintah untuk memberikan nilai pada property saldo dan
setoran dimana nilainya berasal dari parameter method tersebut, yakni dengan cara saldo=jumlah; yang artinya nilai saldo yang ada akan selalu dikurangi dengan nilai dari parameter
jumlah. Selanjutnya nilai pada property pengambilan=jumlah; guna mengambil nilai jumlah
setelah pengurangan saldo.
public static void main(String[]arg){
Nasabah nasabah = new Nasabah();
nasabah.noId = 1;
nasabah.nama = "Ahmad";
nasabah.alamat="jogja";
nasabah.identitas="KTP";
nasabah.noIdentitas="12345";
nasabah.saldo=150000;
nasabah.lihatAccount();
nasabah.setoran(1000000);
System.out.println("Setoran Anda \t: "+nasabah.setoran);
System.out.println("Sisa Saldo Anda : "+nasabah.saldo);
nasabah.pengambilan(50000);
System.out.println("Pengambiln Anda : "+nasabah.pengambilan);
System.out.println("Sisa Saldo Anda : "+nasabah.saldo);
}
}

Pada bagian diatas adalah method main / utama java yang digunakan untuk menjalankan
kelas Nasabah diatas. Dalam method ini pertama membuat objek dari kelas Nasabah dengan
nama nasabah, dengan cara Nasabah nasabah = new Nasabah();. Selanjutnya objek nasabah
menginisialisasi nilai dari property diatas, yakni nasabah.noId = 1; nasabah.nama = "Ahmad";
nasabah.saldo=150000; dan seterusnya pada property yang lain. Selanjutnya objek nasabah
memanggil method lihatAccount dan setoran dengan cara nasabah.lihatAccount();
nasabah.setoran(1000000); dengan memberikan nilai pada parameter sebesar 1000000 , sehingga
jumlah saldo yang tadinya telah diberi nilai 150000 kini ditambah dengan setoran sebesar
1000000 sehingga total saldo nya 1150000. Kemudian menampilkan hasilnya dengan cara
System.out.println("Setoran Anda \t: "+nasabah.setoran); dan System.out.println("Sisa Saldo Anda :
"+nasabah.saldo);

Setelah melakukan setoran, selanjutnya objek nasabah memanggil method pengambilan


dengan cara nasabah.pengambilan(50000); dengan nilai parameter sebesar 50000 sehingga
total saldo datas akan dikurangi jumlah pengambilan tersebut. Sehingga sisa total saldo
sekarang menjadi 1100000.

Output :

Tugas :
1. Identifikasi atribut dan method untuk mahasiswa gambarkan dengan kelas diagram.
2. Buat program untuk kelas mahasiswa yang telah anda definisikan.
3. Buat kelas baru yang terdiri dari method main yang berfungsi untuk membuat objek
mahasiswa dan mengakses atribut dari method yang dimiliki.
Jawab :
1. Diagram Kelas

2.

Program Kelas Mahasiswa


class Mahasiswa{
int nim;
String nama, jk, jurusan, alamat;
public void setDataMahasiswa(int
jurusan, String alamat){
this.nim = nim;
this.nama=nama;
this.jk=jk;
this.jurusan=jurusan;
this.alamat=alamat;
}

nim,

String

nama,

public void getDataMahasiswa(){


System.out.println("NIM \t \t = "+nim);
System.out.println("Nama \t \t = "+nama);
System.out.println("Jenis Kelamin \t = "+jk);
System.out.println("Jurusan \t = "+jurusan);
System.out.println("Alamat \t \t = "+alamat);
}
}

String

jk,

String

3. Kelas Main Mahasiswa


public class MainMahasiswa{
public static void main(String[]args){
Mahasiswa budi, susi;
budi=new Mahasiswa();
System.out.println("========= OBJEK 1 BUDI =========== \n");
budi.setDataMahasiswa(125410100,
"Budi",
"Laki-Laki",
Informatika", "Yogyakarta");
budi.getDataMahasiswa();

"Teknik

System.out.println("");
susi=new Mahasiswa();
System.out.println("========= OBJEK 2 SUSI =========== \n");
budi.setDataMahasiswa(125410321,
"Susi",
"Perempuan",
Informasi", "Semarang");
budi.getDataMahasiswa();
}
}

Output :

Listing : Terlampir

"Sistem