Anda di halaman 1dari 14

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

Nama

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 :

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(); 2

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 :

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

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 :

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 6

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) { 7

// 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 8

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) { 9

// 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 { 10

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 11

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

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

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 deklarideklari 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.

14