I Wayan Agus Kerta Nugraha / 1404505073
Teknologi Informasi / Teknik / Universitas Udayana
Teknologi Informasi / Teknik / Universitas Udayana
Pemrograman Berorientasi Objek (B)
I Putu Agus Eka Pratama, ST MT
JAVA
Apakah Java itu ? Java
merupakan bahasa pemrograman berorientasi objek yang dikembangkan oleh Sun
Microsystem, suatu perusahaan yang terkenal dengan Workstation UNIX high-end.
Sejak
dirilis pada tahun 1995, bahasa pemrograman Java dengan cepat memperoleh
popularitas di kalangan para pemrogram. Keberhasilan ini disebabkan teknologi
baru yang diperkenalkan Sun Microsystems yaitu Java Virtual Machine (JVM), yang
memungkinkan sebuah aplikasi dijalankan di atas platform apa saja sepanjang
pada mesin tersebut dipasang JVM.
Program
yang dihasilkan dengan bahasa Java dapat berupa applet (aplikasi kecil yang
berjalan di atas web browser) maupun berupa aplikasi mandiri yang dijalankan
dengan program Java Interpreter. Contoh program yang ditulis dengan bahasa Java
adalah HotJava yang berupa sebuah web browser.
Karakteristik
Java
Java
adalah sebuah bahasa pemrograman berorientasi obyek murni. Jadi program –
program Java berada dalam sebuah struktur kelas – kelas dan obyek – obyek. Pada
dasarnya sintaks pada bahasa Java mirip dengan sintaks pada bahasa C atau C++.
Java bertipe kuat (strongly-typed). Ini berarti semua tipe data terikat secara
statis atau dengan kata lain setiap nama variabel diasosiasikan dengan sebuah
tipe data tunggal yang dikenali pada saat kompilasi.
Ciri
utama dari program Java adalah :
- JVM (Java Virtual Machine)
- Garbage Collection
- Code Security
Keuntungan
dan Kelemahan dari Java
- Java merupakan bahasa pemrograman berorientasi objek (OOP).
- Memiliki tingkat fleksibilitas yang tinggi dan program Java bersifat modular serta kode dapat digunakan kembali.
- Java relatif lebih mudah untuk dipelajari.
- Java lebih sederhana, karena telah menghilangkan beberapa fitur dari C++ yang membingungkan dan sukar untuk dipelajari.
- Java memiliki kinerja yang tinggi dan handal.
- Java dapat dipergunakan sebagai penterjemah sehingga dapat digunakan pada lingkungan komputer jenis apapun tanpa merubah kode program kembali.
- Java memiliki tingkat keamanan yang sangat baik.
- Multithreading, sehingga program java dapat melakukan beberapa perintah (program) sekaligus.
Pemprograman berorientasi
objek (JAVA)
Dalam orientasi objek, class dah objeck tidak dapat
terpisahkan. Pemahaman dasar dalam pemprograman berbasis object ialah harus
mengerti apa maksud dari class dan object.
Definisi
class dan object hampir sama, namun ada sedikit perbedaan, dan perbedaan itu
sangat mempengaruhi keduanya.
Object
Adalah sesuatu yang mempunyai
Adalah sesuatu yang mempunyai
- Attribute (informasi yang melekat pada suatu object), dalam bahasa pemograman biasa di sebut properties, data.
- Behaviour (perilaku), mempunyai method, dalam bahasa pemograman biasa di sebut function.
Contoh:
Mahasiswa
Attributenya : nama, nik.
Behaviornya : jalan ke kanan, jalan ke kiri
Mahasiswa
Attributenya : nama, nik.
Behaviornya : jalan ke kanan, jalan ke kiri
Class
Adalah object yang masih abstrak, belum berwujud, class mencetak object, object di cetak class.
Adalah object yang masih abstrak, belum berwujud, class mencetak object, object di cetak class.
Singkat
contoh perbedaan object dgn class:
Object
Udin-> Udin, 43a67860, IT, Bekasi
Dikatakan Object karma sudah berisi value atau data
Udin-> Udin, 43a67860, IT, Bekasi
Dikatakan Object karma sudah berisi value atau data
Class
Mahasiswa-> nama, nim, jurusan, alamat
Dikatakan Class karna masih berbentuk abstrak, masih dalam bentuk class.
Mahasiswa-> nama, nim, jurusan, alamat
Dikatakan Class karna masih berbentuk abstrak, masih dalam bentuk class.
Jika
dilihat dalah bentuk java, contohnya seperti ini:
1
2
3
|
Mahasiswa
Udin = new Mahasiswa()
|
| |
Class
Object Constructor
|
Constructor
Adalah method yang pertama kali akan dijalankan ketika kita akan membentuk suatu object dari class.
Adalah method yang pertama kali akan dijalankan ketika kita akan membentuk suatu object dari class.
Program
berorientasi object mempunyai karakteristik atau sifat. Ada 4 pokok karakter
OOP:
> Encapsulation
Encapsulation
adalah pembungkusan attribut/properti (field atau variable) dan tingkah laku
(method) di dalam sebuah kelas untuk menyembunyikannya dari kelas lain,
sehingga kelas lain tidak dapat mengakses atribut dan method yang disembunyikan
di dalam kelas yang lainnya. Di dalam sebuah class terdapat atribut dan method
yang memiliki hak akses tertentu terhadap environment/lingkungan-nya, hak akses
ini biasa di sebut Access Modifier.
Access
Modifier terdiri dari private, protected, dan public.
- private
memberikan hak akses hanya kepada anggota class tersebut untuk menggunakan dan/atau mengubah nilai dari property atau method tersebut. - protected
memberikan hak akses kepada anggota class nya dan anggota class hasil inheritance (penurunan sifat) dari class tersebut. - public
memberikan hak akses kepada property dan method agar dapat digunakan diluar class tersebut.
Contoh program encapsulation
public
class Mamalia {
private String kaki,tempat;
private String kaki,tempat;
protected
void setKaki(String kaki){
this.kaki = kaki;
}
this.kaki = kaki;
}
protected
String getKaki(){
return this.kaki;
}
return this.kaki;
}
protected
void setTempatHidup(String tempat){
this.tempat = tempat;
}
this.tempat = tempat;
}
protected
String getTempatHidup(){
return this.tempat;
}
return this.tempat;
}
public
String namaKelas(){
return “Kelas Mamalia”;
}
}
return “Kelas Mamalia”;
}
}
Dari
script di atas terlihat bahwa field kaki dan tempat serta metode-metodenya
terbungkus dalam sebuah kelas yaitu kelas mamalia
> Inheritace
Inheritance atau Pewarisan adalah konsep dimana class superClass /class induk dapat mewariskan semua Attribut dan Method kepada subClass/class anak. Untuk menggunakan konsep pewarisan ini, kita harus menggunakan keyword/kata kunci extend.
Contoh:
public class Mahasiswa {
private int Nim;
private String Nama,Jurusan;
public int getNim() {
return Nim;
}
public void setNim(int nim) {
Nim = nim;
}
public String getNama() {
return Nama;
}
public void setNama(String nama) {
Nama = nama;
}
public String getJurusan() {
return Jurusan;
}
public void setJurusan(String jurusan) {
Jurusan = jurusan;
}
}
private int Nim;
private String Nama,Jurusan;
public int getNim() {
return Nim;
}
public void setNim(int nim) {
Nim = nim;
}
public String getNama() {
return Nama;
}
public void setNama(String nama) {
Nama = nama;
}
public String getJurusan() {
return Jurusan;
}
public void setJurusan(String jurusan) {
Jurusan = jurusan;
}
}
- setelah membuat superclass lanjut dengan membuat subclass/class anak
public
class MHS1 extends Mahasiswa {
public static void main(String[] args) {
MHS1 m = new MHS1();
m.setNim(11201160);
m.setNama("Arif Kurniawan");
m.setJurusan("Teknik Informatik");
System.out.println("Nim :"+m.getNim());
System.out.println("Nama :"+m.getNama());
System.out.println("Jurusan :"+m.getJurusan());
}
}
public static void main(String[] args) {
MHS1 m = new MHS1();
m.setNim(11201160);
m.setNama("Arif Kurniawan");
m.setJurusan("Teknik Informatik");
System.out.println("Nim :"+m.getNim());
System.out.println("Nama :"+m.getNama());
System.out.println("Jurusan :"+m.getJurusan());
}
}
Dari program di atas terbukti bahwa class MHS1 merupakan class anak karena
class MHS! bisa memanggil method
setNim(),setNama(),setJurusan,getNim(),getNama(),getJurusan() padahal pada
class MHS1 tidak memiliki method tersebut. Mengapa demikian?? karena class anak
mendapat warisan method dan attribut dari class Mahasiswa
> Polymorphic
Polymorphism adalah suatu aksi yang memungkinkan pemrogram menyampaikan pesan tertentu keluar dari hirarki obyeknya, dimana obyek yang berbeda memberikan tanggapan/respon terhadap pesan yang sama sesuai dengan sifat masing-masing obyek.
Atau Polymorphic dapat berarti banyak bentuk, maksudnya yaitu kita dapat menimpa (override), suatu method, yang berasal dari parent class (super class) dimana object tersebut diturunkan, sehingga memiliki kelakuan yang berbeda.
Contoh program java nya :
Simpan dengan nama CoolMahasiswa.java
public class CoolMahasiswa extends Mahasiswa{
public void printNama(){
System.out.println(“Hallo, saya Mahasiswa yang baik”);
Super.printNama();
}
}
Simpan dengan nama Main.java
public class Main{
public static void main(String[] args]) {
CooltMahasiswa mhs = new CoolMahasiswa();
mhs.setNim(“09530518”);
mhs.setNama(“Nadia Kharisma Ulfah”);
mhs.printNim();
mhs.printNama();
}
}
Kemudian compile dan run.
C:\>javac CoolMahasiswa.java
C:\>javac Main.java
C:\>java Main
Kontruksi objek mahasiswa
Nim:09530518
Hallo, saya Mahasiswa yang baik
Nama:Nadia Kharisma Ulfah
C:\>
Terlihat bahwa disini kita mengoverride method printNama(), dengan menambahkan beberapa teks tambahan, sehingga method printNama(), pada class CoolMahasiswa, memiliki perilaku yang berbeda dengan class Mahasiswa.
Sumber
0 komentar:
Posting Komentar