Pemrograman Berorientasi Objek
Tujuan Konsep pemrograman berorientasi objek Menciptakan kelas Membuat objek dari suatu kelas Mengakses variabel dan method suatu kelas Kata Kunci this Penentu Akses:public dan private Kata Kunci static
Konsep pemrograman berorientasi Objek Procedural
mengambil, menabung, mentransfer
Object Oriented
pelanggan, uang, rekening
Objek dan kelas Kelas pemodelan dari objek yang berisi informasi tentang karakteristik(data) dan tingkah laku yang dimiliki oleh objek tersebut (metode) Objek perwujudan dari suatu kelas .
object
class
Santi Nina Mel
girl
Tia
Objek 1
Kelas
Data(variabel): • warna rambut • tinggi badan • warna kulit
Objek 2
Objek 3
Metode(fungsi/ tingkah laku): • tertawa • menangis
girl
Menciptakan Kelas Kelas pada java didefinisikan dengan menggunakan kata kunci “class” Bentuk umum:
class namakelas { class body }
Contoh: UML class diagram siswa nama:String jurusan:String nrp:int
class siswa { String nama; String jurusan; int nrp; }
Membuat Objek dari Suatu Kelas Untuk membuat objek dari suatu kelas digunakan operator “new” Bentuk umum: namakelas variabelreferensiobjek = new namakelas(); Contoh: siswa a = new siswa(); variabel referensi objek
Mengakses variabel dari suatu kelas Program siswaku.java: class siswa { String nama; String jurusan int nrp; }
variabel
public class siswaku { public static void main(String[] args) { siswa a = new siswa(); a.nama = “rani”; a.jurusan = “telkom”; variabelreferensiobjek.namavariabel a.nrp = 7214; System.out.println(“nama” + a.nama + “jurusan” + a.jurusan + “nrp” + a.nrp); } }
Contoh Soal: class Kotak{ double panjang; double lebar; double tinggi; } class DemoKotak{ public static void main(String[] args){ double volume; Kotak k = new Kotak(); k.panjang = 4; k.lebar = 3; k.tinggi = 2; volume = k.panjang * k.lebar * k.tinggi; System.out.println(“Volume kotak = ” + volume); } }
Soal 1: class Segitiga{ double alas; double tinggi; }
class DemoSegitiga{ public static void main(String[] args){ double luas1, luas2; Segitiga s1, s2; s1 = new Segitiga(); s2 = s1; s1.alas = 4; s1.tinggi = 5; luas1 = 0.5 * s1.alas * s1.tinggi; luas2 = 0.5 * s2.alas * s2.tinggi; System.out.println(“Luas segitiga 1 = ” + luas1); System.out.println(“Luas segitiga 2 = ” + luas2); s1 = new Segitiga(); s1.alas = 6; s1.tinggi = 6; luas1 = 0.5 * s1.alas * s1.tinggi; luas2 = 0.5 * s2.alas * s2.tinggi; System.out.println(“Luas segitiga 1 = ” + luas1); System.out.println(“Luas segitiga 2 = ” + luas2); }
}
Mengakses Method dari suatu kelas class Kotak{ double panjang; double lebar; double tinggi; double hitungVolume(){ double volume = panjang * lebar * tinggi; return volume; } } class DemoKotak{ public static void main(String[] args){ Kotak k = new Kotak(); k.panjang = 4; k.lebar = 3; k.tinggi = 2; System.out.println(“Volume kotak = ” + volume); } }
Soal 2: Dari UML class diagram dan potongan program berikut : class Siswa{ String nama; String jurusan; int nrp;
}
void setnama(String namasiswa) { nama=namasiswa; } void setjurusan(String jurusansiswa) { jurusan=jurusansiswa; } void setnrp(String nrpsiswa) { nrp=nrpsiswa; }
Siswa nama:String jurusan:String nrp:int
setnama(namasiswa:String) setjurusan(jurusansiswa:String) setnrp(nrpsiswa:String)
Buatlah suatu program sehingga dihasilkan output : Cita adalah namaku telkom adalah Jurusanku dan nrpku adalah 7206
Kata Kunci(Keyword) this Kata kunci this dipergunakan pada pembuatan kelas dan digunakan untuk menyatakan objek sekarang class
Siswa
{ String
nama;
String
jurusan;
int void
Akan menimbulkan kesalahan!!!
nrp; setnama(String
nama)
{ nama=nama; } void
setjurusan(String
{ jurusan=jurusan; } void
setnrp(String
{ nrp=nrp; } }
nrp)
jurusan)
Penentu Akses public dan private Public : pengaksesan suatu variabel atau metode dapat dilakukan diluar kelas Private : pengaksesan suatu variabel atau method hanya dapat dilakukan di dalam kelas, tidak bisa diakses dari luar kelas -nama:String -jurusan:String -nrp:int +setnama(namasiswa:String) +setjurusan(jurusansiswa:String) +setnrp(nrpsiswa:String) +getnama():String +getjurusan():String +getnrp():int
Kata Kunci Static Bentuk umum: static int a; static void method() {…}
Deklarasi data statis Deklarasi method statis
Note: Data statis dari suatu kelas merupakan variabel global yang dapat diakses oleh semua obyek yang ada Method statis hanya dapat memanggil method yang bersifat statis Method statis hanya dapat mengakses data yang bersifat statis Method statis tidak dapat diacu melalui referensi this maupun super
Contoh : public class coba4{ static int pencacah=0; int nilai; coba4(int nilai){ this.nilai=nilai; this.pencacah++; } public void info(){ System.out.println(this.nilai); System.out.println(this.pencacah); } } class coba{ public static void main(String args[]){ coba4 a=new coba4(4); a.info(); coba4 b=new coba4(5); b.info(); coba4 c=new coba4(6); c.info(); } }
Output: 4 1 5 2 6 3
Contoh : public class coba5{ static int x=10, y=20; } class coba{ public static void main(String args[]){ coba5 a=new coba5( ); coba5 b=new coba5( ); System.out.println(a.x); System.out.println(a.y); b.x=25; b.y=55; System.out.println(a.x); System.out.println(a.y); } }
Output: 10 20 25 55