You are on page 1of 14

1

Nama : MOHAMAD HANAFI


Nim : 095410134
Jurusan : Teknik informatika
Praktikum : Pemrograman berorientasi obyek



A. LISTING

Praktikum 1:
public class lingkaran
{
private double jejari;
public lingkaran(){
this.jejari=1.0;
this.warna="merah";
}
public void setJejari (double jejari, String warna){
this.jejari=jejari;
this.warna=warna;
}
public double getjejari(){
return this.jejari;
}
public double hitungLuas(){
return (3.14*this.jejari*this.jejari);
}
}

Praktikum 2:
public static void main(String[] args) {
// TODO code application logic here
lingkaran bunder1 = new lingkaran();
//Scanner masuk = new Scanner(System.in);
bunder1.setJejari(100,"merah");
System.out.println("jejari= "+bunder1.getjejari());
double hasil = bunder1.hitungLuas();
System.out.println("luas= "+hasil);
lingkaran bunder2 = new lingkaran();
bunder2.setJejari(100,"kuning");
System.out.println("jejari= "+bunder2.getjejari());
double hasil1 = bunder1.hitungLuas();
System.out.println("luas= "+hasil1);
}
}

Hasil outputnya :
2



Latihan :
1 dan 2
public class lingkaran
{
private double jejari;
private String warna;
public lingkaran(){
this.jejari=1.0;
this.warna="merah";
}
public void setJejari (double jejari, String warna){
this.jejari=jejari;
this.warna=warna;
}
public double getjejari(){
return this.jejari;
}
public double hitungLuas(){
return (3.14*this.jejari*this.jejari);
}
public void latihan(){
System.out.println("warna = "+this.warna);
}
public static void main(String[] args) {
// TODO code application logic here
lingkaran bunder1 = new lingkaran();
//Scanner masuk = new Scanner(System.in);
bunder1.setJejari(100,"merah");
System.out.println("jejari= "+bunder1.getjejari());
double hasil = bunder1.hitungLuas();
System.out.println("luas= "+hasil);
lingkaran bunder2 = new lingkaran();
bunder2.setJejari(100,"kuning");
System.out.println("jejari= "+bunder2.getjejari());
double hasil1 = bunder1.hitungLuas();
System.out.println("luas= "+hasil1);
//System.out.print("Masukkan warna :");
//String warna= masuk.nextLine();
lingkaran bunder3 = new lingkaran();
3

bunder3.latihan();
}

}

3.
package person;

/**
*
* @author MOHAMAD HANAFY
*/
import java.util.Scanner;
public class Person {
private String nama;
private String alamat;
private int umur;
public Person(){
nama="";
alamat="";
umur= 0;
}
public Person (String nama, String alamat, int umur){
this.nama = nama;
this.alamat = alamat;
this.umur = umur;
}
public void info(){
System.out.println("Nama = "+this.nama);
System.out.println("Alamat = "+this.alamat);
System.out.println("Umur = "+this.umur);
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Scanner masuk = new Scanner(System.in);
String alamat, nama;
int umur;
System.out.print("Masukkan Nama :");
nama = masuk.nextLine();
System.out.print("Masukkan Alamat :");
alamat = masuk.nextLine();
System.out.print("Masukkan umur :");
umur = masuk.nextInt();
Person oop = new Person(nama,alamat,umur);
oop.info();
}
}
Hasilnya ialah :
4



Atribut yang ada pada program tersebut adalah nama, alamat, dan umur
Konstruktornya
public Person(){
nama="";
alamat="";
umur= 0;
}

Konstruktor untuk inisiasi :
public Person (String nama, String alamat, int umur){
this.nama = nama;
this.alamat = alamat;
this.umur = umur;
}

Method yang ada pada program tersebut adalah method main dan metode mutator
Obyek yang dibuat diatas adalah person, info dan metode main.
Diagram kelas


Latihan selanjutnya :
package tugasp1;

/**
*
* @author MOHAMAD HANAFY
*/
import java.util.Scanner;
public class mahasiswa {
private int nomhs;
private String nama;
private String jurusan;
private float ipk;
5

public mahasiswa(){
nomhs = 0;
nama = "";
jurusan = "";
ipk = 0f;
}
public mahasiswa (int nomhs, String nama, String jurusan, float ipk){
this.nomhs = nomhs;
this.nama = nama;
this.jurusan = jurusan;
this.ipk = ipk;
}

private mahasiswa(String nama, String jurusan, int nomhs, float ipk) {
this.nomhs = nomhs;
this.nama = nama;
this.jurusan = jurusan;
this.ipk = ipk;
}
public void data(){
System.out.println("nomhs = "+this.nomhs);
System.out.println("nama = "+this.nama);
System.out.println("jurusan = "+this.jurusan);
System.out.println("ipk = "+this.ipk);
}

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Scanner masuk = new Scanner(System.in);
String nama, jurusan;
int nomhs;
float ipk;
System.out.print("masukkan nama= ");
nama = masuk.nextLine();
System.out.print("Masukkan jurusan= ");
jurusan = masuk.nextLine();
System.out.print("Masukkan no mahasiswa= ");
nomhs = masuk.nextInt();
System.out.print("Masukkan nilai ipk= ");
ipk = masuk.nextFloat();
mahasiswa m1 = new mahasiswa(nama,jurusan,nomhs,ipk);
m1.data();
}

}
Hasil outputnya :
6


Karakteristik tentang pemrograman berorientasi obyek merupakan elemen dasar dari program
anda. Ketika kita membandingkan dengan dunia nyata, kita dapat menemukan beberapa
obyek disekitar kita seperti mobil, singa, manusia dan seterusnya. Obyek ini dikarakterisasi
oleh atribut dan tingkah lakunya.

B. PEMBAHASAN LISTING

public class lingkaran
{
//daftar field
private double jejari;
public lingkaran(){
this.jejari=1.0;
this.warna="merah";
}
//method setter
public void setJejari (double jejari, String warna){
this.jejari=jejari;
this.warna=warna;
}
Method getter
public double getjejari(){
return this.jejari;
}
//method hitung luas lingkaran
public double hitungLuas(){
return (3.14*this.jejari*this.jejari);
}
}
Pada program diatas yaitu untuk mendeklarasikan daftar field, konstruktor, method setter,
method getter dan method hitung.
Daftar field diatas yaitu untuk membuat tipe data dimana tipe data tersebut untuk
memasukkan angka ataun huruf.
Method setter digunakan untuk mengubah nilai jari jari dimana pada nilai jari-jari tersebut
akan dimasukkan manual didalam programnya.
Method getter digunakan untuk mengambil nilai jari-jari yang telah dimasukkan manual
dalam program.
Method hitung luas lingkaran digunakan untuk menghitung dimana pada method setter dan
getter telah dideklarisan diatasnyasehingga pada methode hitung ini akan langsung saja
dilakukan perhitungan sesuai dengan rumus. Dalam program diatas apabila dijalankan tidak
7

akan mengeluarkan hasilnya tetapi tidak terjadi gallat atau error karena pada program diatas
tidak void mainnya.

public static void main(String[] args) {
// TODO code application logic here
lingkaran bunder1 = new lingkaran();
//Scanner masuk = new Scanner(System.in);
bunder1.setJejari(100,"merah");
System.out.println("jejari= "+bunder1.getjejari());
double hasil = bunder1.hitungLuas();
System.out.println("luas= "+hasil);
lingkaran bunder2 = new lingkaran();
bunder2.setJejari(100,"kuning");
System.out.println("jejari= "+bunder2.getjejari());
double hasil1 = bunder1.hitungLuas();
System.out.println("luas= "+hasil1);
}
}
Program diatas inilah lanjutan pembahasan program sebelumnya yaitu digunakan untuk
terlebih dahulu untuk memenggil kelas dimana kelas tersebut bernama Lingkran soalnya kelas
adalah program java yang akan dieksekusi apabila kelas tidak dipanggil maka program akan
bingung dimana tempat untuk mengeksekusi. Setelah kelas dipanggli maka langkah
selanjutnya memasukkan rumus program memasukkan dalam keyboard yaitu Scanner
masuk = new Scanner(System.in); maka yang demikian itu program akan berjalan dengan
mulus.

import java.util.Scanner;
public class Person {
private String nama;
private String alamat;
private int umur;
//konstruktor
public Person(){
nama="";
alamat="";
umur= 0;
}
//metode mutataor
public Person (String nama, String alamat, int umur){
this.nama = nama;
this.alamat = alamat;
this.umur = umur;
}
public void info(){
System.out.println("Nama = "+this.nama);
System.out.println("Alamat = "+this.alamat);
System.out.println("Umur = "+this.umur);
}
Untuk seluruh private program diatas fungsinnya membrikan tipe data. Konstruktor
berfungsi untuk menginisialisasi object ditempatkan methode mutator dapat memberi atau
mengubah nilai variabel dalam kelas dimana ketika program pemanggilan dijalankan disinilah
mana nama inputan dari keybiard dan mana nama metode mutator.

public static void main(String[] args) {
8

// TODO code application logic here
Scanner masuk = new Scanner(System.in);
String alamat, nama;
int umur;
System.out.print("Masukkan Nama :");
nama = masuk.nextLine();
System.out.print("Masukkan Alamat :");
alamat = masuk.nextLine();
System.out.print("Masukkan umur :");
umur = masuk.nextInt();
Person oop = new Person(nama,alamat,umur);
oop.info();
}
}
Pemanggilan pada program class Person langkah pertama yaitu membuat deklarasi masukan
dari keyboard setelah semua dirumuskan yaitu pemanggilan nama kelas disertai dengan obyek
yang telah dibuat berfungsi untuk menampilkan hasil yang telah dimasukkan dari keyboard
tersebut.

import java.util.Scanner;
public class mahasiswa {
private int nomhs;
private String nama;
private String jurusan;
private float ipk;
// yang ke satu
public mahasiswa(){
nomhs = 0;
nama = "";
jurusan = "";
ipk = 0f;
}
//yang kedua
public mahasiswa (int nomhs, String nama, String jurusan, float ipk){
this.nomhs = nomhs;
this.nama = nama;
this.jurusan = jurusan;
this.ipk = ipk;
}

private mahasiswa(String nama, String jurusan, int nomhs, float ipk) {
this.nomhs = nomhs;
this.nama = nama;
this.jurusan = jurusan;
this.ipk = ipk;
}
public void data(){
System.out.println("nomhs = "+this.nomhs);
System.out.println("nama = "+this.nama);
System.out.println("jurusan = "+this.jurusan);
System.out.println("ipk = "+this.ipk);
}
Untuk public mahasiswa yang pertama berfungsi untuk mengantisipasi apabila user dengan
sengaja tidak memasukkan program lalu pada program tersebut akan berisi kosong isinya
9

akan seperti pada public mahasiswa. Untuk public mahasiswa yang ke 2 untuk
membedakan nama yang ada diprogram akhir(pemanggilan) dan nama yang ada di tipe data
supaya program ketika dijalankan tidak bingung nama mana yang akan ditampilkan sehingga
biasannya program akan tetap kosong walaupun sudah diisikan oleh user. Private mahasiswa
fungsinya untuk memberi masukkan pada kelas yang telah dipanggil di void main agar
program tidak ambigu.void data menampilkan program yang telah user isikan ketika
dijalankan.

public static void main(String[] args) {
// TODO code application logic here
Scanner masuk = new Scanner(System.in);
String nama, jurusan;
int nomhs;
float ipk;
System.out.print("masukkan nama= ");
nama = masuk.nextLine();
System.out.print("Masukkan jurusan= ");
jurusan = masuk.nextLine();
System.out.print("Masukkan no mahasiswa= ");
nomhs = masuk.nextInt();
System.out.print("Masukkan nilai ipk= ");
ipk = masuk.nextFloat();
mahasiswa m1 = new mahasiswa(nama,jurusan,nomhs,ipk);
m1.data();
}

}
Seperti biasa pada program pemanggilan terakhir apabila user ingin memasukkan dari
keyboard maka program pertama kali menginisialisaikan kelas Scanner sebelum ini dipanggil
maka pada atas scrip kelas program diberi import java.util.Scanner; soalnya kalau tidak
dikasih maka program tidak akan jalan. Mendeklerasikan tipe data sesuai tipe data program
masing-masing setelah semua selesai langkah terakhir untuk menampilkan hasil dari inputan
tersebut yaitu memanggil kelas utama setelah itu diikuti dengan obyek dan diisikan inputan
tipe datanya disinilah fungsi private tadi apabila tidak diberi maka program ada yang kurang
dan terjadi gallat.


C. TUGAS
Latihan

Latihan 1:
public class Method1 {
private int umur = 18;
private String nama="galih";
/**
* @param args the command line arguments
*/
public int getUmur(){
return umur;
}
public String getNama(){
return nama;
}
public static void main(String[] args) {
10

// TODO code application logic here
Method1 m1 = new Method1();
System.out.println(m1.getNama());
System.out.println(m1.getUmur());
}
}

Latihan 2
public class Method2 {
private int umur = 18;
private String nama="galih";
public void setUmur(int temp){
umur = temp;
}
public int getUmur(){
return umur;
}
public void setNama(String temp){
nama = temp;
}
public String getNama(){
return nama;
}
public static void main(String args[]){
Method2 m1 = new Method2();
System.out.println(m1.getUmur());
System.out.println(m1.getNama());
m1.setUmur(20);
m1.setNama("Rizky");
System.out.println(m1.getUmur());
System.out.println(m1.getNama());
}
}

Latihan 3
public class Method3 {
public String getNumberInWords(int num){
String defaultNum = "zero";
if (num == 1){
return "one";
}
else if (num == 2){
return "two";
}
return defaultNum;
}
public static void main(String args[]){
Method3 m1 = new Method3();
System.out.println(m1.getNumberInWords(2));
}
}

Latihan 4
public class Method4 {
11

public static int luasKotak(int p, int l){
return p * l;
}
public static void main(String args[]){
System.out.println(luasKotak(10,5));
}
}

Latihan 5
public class Method5 {
private int umur;
private String nama;
public void setUmur(int umur){
this.umur = umur;
}
public void setNama(String nama){
this.nama = nama;
}
public void info(){
System.out.println("Nama : "+nama);
System.out.println("umur : "+umur);
}
public static void main(String args[]){
Method5 m5 = new Method5();
m5.info();
m5.setNama("nana");
m5.setUmur(18);
m5.info();
}
}

Latihan 6
public class Method6 {
public double luas(double p, double l){
return 0.5 * p * l;
}
public int luas(int p, int l){
return p * l;
}
public int luas(int s){
return s * s;
}
public static void main(String args[]){
Method6 m6 = new Method6();
System.out.println("Luas segitiga");
System.out.println(m6.luas(2.5,3.5));
System.out.println("Luas persegi panjang");
System.out.println(m6.luas(5,3));
System.out.println("Luas bujur sangkar");
System.out.println(m6.luas(5));
}
}

Latihan 7
12

public class Method7 {
private int umur;
private String nama;
public Method7(){
umur = 0;
nama = "";
}
public Method7(int umur, String nama){
this.umur = umur;
this.nama = nama;
}
public void info(){
System.out.println("Nama : "+nama);
System.out.println("Umur : "+umur);
}
public static void main(String args[]){
Method7 m1 = new Method7();
m1.info();
Method7 m2 = new Method7(20,"Surya");
m2.info();
}
}

Tugas
1. Karena method sub program yang membiarkan seorang programmer untuk membagi
program dengan membagi masalah kedalam beberapa sub masalah yang bisa
diselesaikan secara modular dengan cara demikian, maka pembuatan bisa lebih
dimanajemen.
2. Konstruktor default : method dimana seluruh inisialisasi object ditempatkan.
Konstruktor overloading : mengijinkan sebuah method dengan nama yang sama namun
memilki parameter yang berbeda sehingga mempunyai implementasi dan return value
yang berbeda pula.
3. Program mahasiswa :
package mahasiswa;

/**
*
* @author MOHAMAD HANAFY
*/
public class Mahasiswa {
private int nomhs;
private String nama;
private String jurusan;
private float ipk;
//kontruktor
public Mahasiswa(){
nomhs = 0;
nama = "";
jurusan = "";
ipk = 0f;
}
//konstruktor ---> untuk inisiasi
public Mahasiswa(int nomhs, String nama, String jurusan, float ipk){
this.nomhs = nomhs;
13

this.nama = nama;
this.jurusan = jurusan;
this.ipk = ipk;
}
//metode mutator
public void tampil(){
System.out.println("nomhs : "+nomhs);
System.out.println("nama : "+nama);
System.out.println("jurusan : "+jurusan);
System.out.println("ipk : "+ipk);
}

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Mahasiswa m1 = new Mahasiswa(95410134,"hanafy","Teknik informatika",3.54f);
m1.tampil();
System.out.println();
Mahasiswa m3 = new Mahasiswa(95410167,"shinta","Teknik informatika",3.45f);
m3.tampil();
}
}
Hasil outputnya :


D. PEMBAHASAN TUGAS

public class Mahasiswa {
private int nomhs;
private String nama;
private String jurusan;
private float ipk;
//kontruktor
public Mahasiswa(){
nomhs = 0;
nama = "";
jurusan = "";
ipk = 0f;
}
14

Pada program diatas ialah untuk mendeklarasikan tipe data yang ada supaya pada program
tidak akan salah mana yang karakter dan mana yang numerik.

//konstruktor ---> untuk inisiasi
public Mahasiswa(int nomhs, String nama, String jurusan, float ipk){
this.nomhs = nomhs;
this.nama = nama;
this.jurusan = jurusan;
this.ipk = ipk;
}
//metode mutator
public void tampil(){
System.out.println("nomhs : "+nomhs);
System.out.println("nama : "+nama);
System.out.println("jurusan : "+jurusan);
System.out.println("ipk : "+ipk);
}
Pada proses inisiasi dimana pada nama variabel dan nama masukkan dari keyboard dapat
dibedakan pada programnya agar bisa ditampilkan setelah user menginputkan dari program
maupun dari keyboard (ketika program dijalankan) dan pada metode mutator yaitu untuk
menampilkan hasil program tersebut bisa juga untuk memudahkan program dimana pada
program ini akan dipanggli kembali di program terakhir diikuti dengan nama obyek yang
telah dibuatnya.

public static void main(String[] args) {
// TODO code application logic here
Mahasiswa m1 = new Mahasiswa(95410134,"hanafy","Teknik informatika",3.54f);
m1.tampil();
System.out.println();
Mahasiswa m3 = new Mahasiswa(95410167,"shinta","Teknik informatika",3.45f);
m3.tampil();
}
}

Dalam nama Mahasiswa yaitu nama kelas program yang fungsinnya memanggil deklari-
deklari yang telah dibuat dalam program diatasnya sedang m1 yaitu nama obyek yang
mempunyai fungsi fungsi tersebut dapat dibagi menjadi 3 bagian :
Deklarasi : kode yang ditulis bold adalah semua deklarasi variabel yang
mengasosiasikan nama variabel dengan sebuah tipe dari obyek.
Instansiasi : kata kunci new adalah operator java yang menciptakan obyek.
Inisialisasi : Operator new diikuti oleh pemanggilan konstruktor, yang mana
menginisialisasi obyek baru.

You might also like