PENGERTIAN OOP
OOP (Object Oriented Programming) adalah
suatu metode pemrograman yang berorientasi kepada objek. Tujuan dari OOP
diciptakan adalah untuk mempermudah pengembangan program dengan cara mengikuti
model yang telah ada di kehidupan sehari-hari. Jadi setiap bagian dari suatu
permasalahan adalah objek, nah objek itu sendiri merupakan gabungan dari
beberapa objek yang lebih kecil lagi. Saya ambil contoh Pesawat, Pesawat adalah
sebuah objek. Pesawat itu sendiri terbentuk dari beberapa objek yang lebih
kecil lagi seperti mesin, roda, baling-baling, kursi, dll. Pesawat sebagai
objek yang terbentuk dari objek-objek yang lebih kecil saling berhubungan,
berinteraksi, berkomunikasi dan saling mengirim pesan kepada objek-objek yang
lainnya. Begitu juga dengan program, sebuah objek yang besar dibentuk dari
beberapa objek yang lebih kecil, objek-objek itu saling berkomunikasi, dan
saling berkirim pesan kepada objek yang lain.·
Abstrak
Class
1. Kelas merupakan
deskripsi abstrak informasi dan tingkah laku dari sekumpulan data.
2. Kelas dapat
diilustrasikan sebagai suatu cetak biru(blueprint) atau prototipe yang
digunakan untuk menciptakan objek.
3. Kelas merupakan tipe
data bagi objek yang mengenkapsulasi data dan operasi pada data dalam suatu
unit tunggal.
Kelas mendefinisikan suatu struktur yang terdiri atas
data kelas (data field), prosedur atau fungsi (method), dan sifat kelas
(property).Encapsulation 4. Istilah enkapsulasi
sebenarnya adalah kombinasi data dan fungsionalitas dalam sebuah unit tunggal
sebagai bentuk untuk menyembunyikan detail informasi.
5. Proses enkapsulasi
memudahkan kita untuk menggunakan sebuah objek dari suatu kelas karena kita
tidak perlu mengetahui segala hal secara rinci.
6. Enkapsulasi
menekankan pada antarmuka suatu kelas, atau dengan kata lain bagaimana
menggunakan objek kelas tertentu.
7. Contoh: kelas mobil
menyediakan antarmuka fungsi untuk menjalankan mobil tersebut, tanpa kita perlu
tahu komposisi bahan bakar, udara dan kalor yang diperlukan untuk proses
tersebut.
·
Inheritance
1. Kita dapat
mendefinisikan suatu kelas baru dengan mewarisi sifat dari kelas lain yang
sudah ada.
2. Penurunan sifat ini
bisa dilakukan secara bertingkattingkat, sehingga semakin ke bawah kelas
tersebut menjadi semakin spesifik.
3. Sub kelas
memungkinkan kita untuk melakukan spesifikasi detail dan perilaku khusus dari
kelas supernya.
Dengan konsep pewarisan, seorang programmer dapat
menggunakan kode yang telah ditulisnya pada kelas super berulang kali pada
kelas-kelas turunannya tanpa harus menulis ulang semua kodekode itu. ·
Polymorphism
1. Polimorfisme
merupakan kemampuan objekobjek yang berbeda kelas namun terkait dalam pewarisan
untuk merespon secara berbeda terhadap suatu pesan yang sama.
2. Polimorfisme juga
dapat dikatakan kemampuan sebuah objek untuk memutuskan method mana yang akan
diterapkan padanya, tergantung letak objek tersebut pada jenjang pewarisan.
3. Method overriding.
Keunggulan Pemrograman Berorientasi Objek :
1. Meningkatkan produktivitas
Class dan Object pada PBO yang dibuat untuk
suatu problem masih dapat dipakai lagi untuk problem lainnya yang menggunakan
objek tersebut (reusable).
2. Kecepatan pengembangan
karena sistem yang didevelop dengan cara yang
baik dan benar pada saat menganalisis dan merancang akan menjadikan coding yang
dibuat dapat diminimalisir kesalahannya.
3. Kemudahan pemeliharaan
Karena dengan model yang ebrorientasiobjek,
pola-pola yang cenderung tetap dan stabil dapat dipisahkan dan pola-pola yang
bisa saja berubah.
4. Adanya konsistensi
Karena sifat inheritance dan penggunaan fase
yang sama pada saat menganalisis, merancang maupun coding.
5. Meningkatkan kualitas perangkat lunak
karena pendekatan pengembangan selalu dalam
keadaan yang real dan adanya konsistensi pada saat pengembangannya, perangkat
lunak yang dihasilkan akan mampu memenuhi kebutuhan pemakai serta mempunyai
sedikit kesalahan.
Saat ini sudah banyak sekali bahasa
pemrograman yang menggunakan metode berorientasi objek. Banyak orang tau bahwa
pemrograman berorientasi objek selalu identik dengan bahasa Java. Bahasa Java
adalah bahasa yang paling konsisten dalam menjalankan paradigma pemrograman
berorientasi objek. Namun sesungguhnya bahasa pemrograman yang sama-sama
mendukung pemrograman berorientasi objek bukan hanya bahasa Java.
PENGERTIAN
METHODE, CLASS DAN OBJEK DALAM OOP
1. Objek.
Yang dimaksud dengan
objek pada Java adalah sekumpulan software yang terdiri dari variable dan
method-method yang terkait. Objek juga merupakan benda nyata yang di buat
berdasarkan rancangan yang di definisikan di dalam class
Object adalah instance
dari class. Jika class secara umum mepresentasikan (template) sebuah object,
sebuah instance adalah representasi nyata dari class itu sendiri. Contoh : Dari
class Fruit kita dapat membuat object Mangga, Pisang, Apel, dan lain-lain.2.. Class
2.Class adalah prototype,
atau blueprint, atau rancangan yang mendefinisikan variable dan method-methode
pada seluruh objek tertentu. Class berfungsi untuk menampung isi dari program
yang akan di jalankan, di dalamnya berisi atribut / type data dan method untuk
menjalankan suatu program.
Class merupakan suatu
blueprint atau cetakan untuk menciptakan suatu instant dari object. class
juga merupakan grup suatu object dengan kemiripan attributes/properties,
behaviour dan relasi ke object lain. Contoh : Class Person, Vehicle, Tree,
Fruit dan lain-lain.
3. Method
Method adalah kumpulan
program yang mempunyai nama. Method merupakan sarana bagi programmer untuk
memecah program menjadi bagian-bagian yang kecil agar jadi lebih kompleks
sehingga dapat di gunakan berulang-ulang.
Method merupakan suatu
operasi berupa fungsi-fungsi yang dapat dikerjakan oleh suatu object. Method
didefinisikan pada class akan tetapi dipanggil melalui object. Contoh, pada
object pear : terdapat method ambilRasa , kupasKulit dan lainlain
Pengertian Inheritance (Pewarisan) dalam OOP
Inheritance atau Pewarisan/Penurunan adalah konsep pemrograman
dimana sebuah class dapat ‘menurunkan’ property dan method yang
dimilikinya kepada class lain. Konsep inheritance digunakan untuk memanfaatkan fitur ‘code reuse’ untuk menghindari duplikasi kode program.
Konsep inheritance membuat sebuah struktur atau ‘hierarchy’ class dalam kode program. Class yang akan ‘diturunkan’ bisa disebut sebagai class induk (parent class), super class, atau base class. Sedangkan class yang ‘menerima penurunan’ bisa disebut sebagai class anak (child class), sub class, derived class atauheir class.
Tidak semua property dan method dari class induk akan diturunkan. Property dan method dengan
hak akses private, tidak akan diturunkan kepada
class anak. Hanya property dan method dengan hak
akses protected dan public saja yang bisa
diakses dari class anak.
Polymorphism merupakan suatu aksi
yang memungkinkan pemogram menyampaikan suatu pesan tertentu keluar dari
hierarki obyeknya, dimana suatu obyek tersebut yang berbeda memberikan
tanggapan ataupun respon terhadap pesan yang sama sesuai dengan sifat
masing-masing obyek. Itu berarti, Polymorphism “mempunyai banyak bentuk” yang
juga merupakan salah satu sifat class yang memungkinkan sebuah method mempunyai
nama yang sama, namun memiliki aksi yang berbeda.
Polymorphism adalah pemikiran bahwa objek dinamis suatu class dasar dapat
berperilaku seperti class turunan. Jika objek menunjuk class dasar maka ia
perilaku seperti class dasar, dan jika ia menunjuk class turunan ia akan
berperilaku seperti class turunan.
Dalam hal ini obkjek memiliki
beberapa bentuk, tergantung ia menunjuk kemana. Dalam hal ini suatu objek atau
class dan perubahan perilakunya adalah dari kelas dasar ke kelas turunan, tidak
bisa objek kelas turunan menunjuk ke kelas dasar. Polimorfisme dimungkinkan
karena adanya mekanisme ikatan dinamis, ikatan ini adalah ikatan yang terjadi
ketika program dijalankan (run-time), ikatan yang terjadi pada saat compiling
disebut ikatan dinamis. Ikatan dinamis hanya akan terjadi antara suatu objek
dinamis dengan metode yang dinamis juga, dalam hal ini metode virtual (maya)
Polymorphism berasal dari bahasa
Yunani yang berarti banyak bentuk. Dalam PBO, konsep ini memungkinkan
digunakannya suatu interface yang sama untuk memerintah objek agar melakukan
aksi atau tindakan yang mungkin secara prinsip sama namun secara proses
berbeda.
Keuntungan Pemograman dengan menggunakan Polymorphism adalah :
• Kita dapat menggunakan kelas-kelas yang kita buat (sebagai super kelas) dan
membuat kelas kelas baru berdasar superkelas tersebut dengan karakteristik yang
lebih khusus dari behaviour umum yang dimiliki superkelas.
• kita dapat membuat super kelas
yang hanya mendefinisikan behaviuor namun tidak memberikan implementasidari
metode-metode yang ada.Hal ini berguna jika kita ingin membuat semacam template
kelas,kelas semacam ini disebut kelas abstrak karena behaviournya masih abstrak
dan belum diimplementasikan.subkelas-subkelas dari kelas semacam ini yang
disebut kelas konkret,mengimplementasikan behaviuor abstrak tersebut sesuai dengan
kebutuhan masing-masing.
• Menghindari duplikasi object,kita
dapat menciptakan class baru dari class yang sudah ada,sehingga tidak perlu
menuliskan code dari nol ataupun mengulangnya, namun tetap bisa menambahkan
attribute dan atau method unik dari class itu sendiri. Dalam konsep yang lebih
umum sering kali polymorphism disebut dalam istilah satu interface banyak aksi.
Encapsulation
Maksud
dari encapsulation adalah membungkus class dan menjaga apa apa saja yang ada
didalam class tersebut, baik method ataupun atribut, agar tidak dapat di akses
oleh class lainnya. Untuk menjaga hal tersebut dalam Encapsulation dikenal nama
Hak Akses Modifier yang terdiri dari :
a. Private
= memberikan hak akses hanya pada class itu sendiri, artinya apa-apa
saja yang ada di dalam class A baik itu method ataupun atribut hanya bisa
diakses oleh class A saja, class lain tidak bisa mengaksesnya.
b. public
= memberikan hak akses kepada atribut atau method agar bisa diakses oleh
siapapun (property atau class lain diluar class yang bersangkutan), artinya
method atau atribut yang ada diclass A dapat diakses oleh siapaun baik itu
class A, class B dan seterusnya.
c. protected
= memberikan hak akses kepada class itu sendiri dan class hasil turunannya
(inheritance), artinya apa apa saja yang ada diclass A hanya bisa diakses oleh
class A sendiri dan class yang meng Extends class A. Namun harus dipahami class
lain yang berada dalam satu package dengan class A mampu mengakses tipe data
protected, Sedangkan yang tidak mampu mengakses adalah class-class yang berada
diluar package class A. untuk dapat mengaksesnya, class yang berada diluar
package class A harus meng extends class A.
JAVA - DASAR
·
Java - Pengenalan
·
Java - Pengenalan
·
Java - Install
·
Java - Sintaks Dasar
Java
adalah bahasa pemrograman berorientasi objek 'object oriented programming
(OOP)' yang memfokuskan desain pemrograman pada objek dan class. Dasar-dasar
OOP meliputi istilah class, object, attribute, method.
·
Class: adalah
model dari suatu objek yang menjelaskan karakteristik (sifat) serta fungsi yang
dimiliki dari suatu objek, Class merupakan wadah (tempat) yang digunakan untuk
menciptakan suatu objek. Dengan kata lain sebuah Class merupakan blueprint dari
suatu objek.
·
Object: Setiap
objek selalu memiliki suatu keadaan (state) dan behaviour yang dapat mengubah
state tersebut. Contoh: manusia memiliki state: umur, tinggi, berat badan, dan
sebagainya. Behaviour yang dimiliki oleh manusia dapat berupa: makan, tidur,
bekerja, menua, dan sebagainya.
·
Attribute: adalah elemen data dari suatu class. Atribut
menyimpan informasi tentang class, atribut dapat diartikan sebagai data,
variable, properti atau sebuah field.
·
Method: adalah
sebuah fungsi dalam suatu class, setiap method mempunyai tugas masing-masing,
ada dua jenis method dalam bahasa Java yaitu void dan non void method.
Void method adalah method yang tidak mengembalikan nilai, sedangkan non void method
adalah method yang mengembalikan nilai.
Program
Pertama:
Mari kita mulai
dengan membuat program sederhana.
|
Aktivitas
|
Tool/perangkat
|
Output/keluaran
|
|
Buat
program sederhana
|
Gunakan
text editor kesukaan anda
|
Simpan
file dengan ekstensi
.java |
|
Compile
program
|
Java
Compiler
|
Akan
menghasilkan file berekstensi
.class yang
dinamakan (Java Bytecodes) |
|
Jalankan
program
|
Java
Interpreter
|
Output
program
|
Hello World.HelloWorld.java
|
1
2
3
4
5
|
public class HelloWorld
{public static void main(String[]
args) {System.out.print("Hello World!");}} |
· Simpan dengan nama
HelloWorld dengan ekstensi .java sehingga
menjadi HelloWorld.java· Simpan di drive
D: di folder java : D:\java atau bisa
disesuaikan dengan keinginan anda, jika anda masih bingung ikuti seperti yang
saya lakukan.· Buka CMD (Command Prompt).
· Pindah ke path di mana kita menyimpan file
HelloWorld.java tadi dengan
perintah D: enter cd java enter, sekarang
kita sudah berada di path D:\java>.· Compile program dengan perintah
javac HelloWorld.java dan tekan
enter, jika tidak terjadi error kita akan kembali ke path di mana kita berada.· Jalankan program dengan perintah
java HelloWorld. Jika semua perintah
di atas dilakukan dengan benar maka kita akan melihat kata Hello World! yang dicetak
dengan perintah System.out.print("Hello World!");OUTPUT:
D:
D:\>cd java
D:\java>javac HelloWorld.java
D:\java>java HelloWorld
Hello World!
Tentang sintaks Java yang harus diketahui:
· Case Sensitive: adalah metode yang membedakan penulisan huruf besar dan kecil. Contoh: penulisan
Hello dan hello dalam bahasa Java mempunyai arti yang
berbeda.· Nama Class: semua nama class di Java harus diawali dengan huruf kapital.
Atau jika nama class memiliki lebih dari satu kata, setiap kata harus diawali dengan huruf kapital.
Contoh:
Atau jika nama class memiliki lebih dari satu kata, setiap kata harus diawali dengan huruf kapital.
Contoh:
class
HelloWorld· Nama Program: nama program harus sama dengan nama class.
Contoh: jika kita membuat program dengan nama class
Contoh: jika kita membuat program dengan nama class
HelloWorld maka kita harus
menyimpannya dengan nama HelloWorld.java· Nama Method: nama method harus diawali dengan huruf kecil.
Atau jika nama method memiliki lebih dari satu kata, kata kedua dan seterusnya harus diawali dengan huruf besar (kapital).
Contoh:
Atau jika nama method memiliki lebih dari satu kata, kata kedua dan seterusnya harus diawali dengan huruf besar (kapital).
Contoh:
public void
iniMethodSaya()·
public static void main(String[] args) - merupakan main() method yang
akan di eksekusi sebagai main program atau program utama dan setiap program
Java harus memiliki main() method.Java Identifiers:
Dalam Java, identifier adalah nama yang diberikan untuk variabel, class dan method.
· Identifier hanya boleh dimulai dengan huruf (A-Z atau a-z), menggunakan underscore
_ dan tanda
dollar $.· Java key word tidak bisa digunakan sebagai nama identifier.
· Perlu diingat identifier itu case sensitive.
· Contoh yang benar menulis identifier:
$namavariabel, nama_variabel, $nama_variabel· Contoh yang salah menulis identifier:
123namavariabel, -nama_variabelContoh Identifier | $CobaIdentifier.java
|
1
2
3
4
5
6
7
8
9
10
11
|
public class $CobaIdentifier{public static void main(String[]
args){String $nama, tanggal_lahir, deskripsi;$nama = "James Arthur Gosling";tanggal_lahir = "born May 19, 1955";deskripsi = "The father of the Java
programming language";System.out.println($nama);System.out.println(tanggal_lahir);System.out.println(deskripsi);}} |
James Arthur Gosling
born May 19, 1955
The father of the Java programming language
Contoh Case Sensitive | CaseSensitive.java
|
1
2
3
4
5
6
7
8
9
|
public class CaseSensitive{public static void main(String[]
args){int angka,
Angka;angka = 11;Angka = 7;System.out.println(angka);System.out.println(Angka);}} |
11
7
Coba perhatikan nama variabel
angka dan Angka memiliki arti yang sama, akan tetapi
dalam bahasa Java ini jelas berbeda, variabel angka memiliki nilai
= 11. Sedangkan variabel Angka memiliki nilai = 7.