SEJARAH OOP
Sebelum kita melangkah untuk pembelajaran OOP alangkah baiknya sebagai pengetahuan saja mari kita ulas mengapa ada konsep atau teknik pemograman OOP dan apakah ada teknik pemograman sebelum atau selain OOP ?
Konsep OOP ini sendiri sebenarnya sudah lama dimulai yaitu pertengahan 1960-an tepatnya tahun 1966 (Ole Johan Dhal dan Kristen Nygaard berasal dari universitas Olslo, norwegia) dengan sebuah bahasa program SIMULA yang dituliskan pada jurnal yang berjudul “SIMULA An Algol Based Language” kemudian dilanjutkan di era 70-an dengan SMALLTALK. Tetapi secara teknis pengembangan teknik OOP belum insetif atau optimal dipergunakan, pada pertengahan 80-an konsep OOP sudah mulai dibicarakan dan semakin populer dengan bahasa pemogramannya seperti C++ dan Eifle. Popularitas OOP semakin berkembang dan menjadi buah bibir hampir semua pengembang perangkat lunak pada tahun 90-an, dengan akhirnya konsep OOP menjadi booming ditahun 2002 hingga sekarang. Adapun bahasa yang banyak digunakan pengembang yaitu Java (Sun Microsystem), kemudian visual basic (Microsoft) dan C# (c-sharp) diperkenalkan oleh Microsoft.
Seperti yang kita pertanyakan diatas teknik pemograman selain teknik OOP adalah teknik pemograman terstruktur. Beranjak dari teknik pemograman terstruktur maka terbentuk teknik pemograman OOP. Konsep pemograman OOP ini bermaksud untuk mempermudah teknik dalam pemograman ketimbang pemograman terstruktur. Banyak sekali kemudahan yang didapat teknik OOP salah satunya adalah program dapat dipecah menjadi beberapa bagian. Sehingga mempercepat dalam pengembangan software. Tentunya lebih efektif karena jika dipecah dan dikerjakan oleh beberapa programmer maka bisa lebih focus kepada objek tertentu saja tanpa harus mengetahui objek yang lainnya.
KONSEP OOP
Mari kita pelajari lebih dalam apa itu konsep OOP?
OOP (Object Oriented Programming) secara arti dalam bahasa indonesia adalah pemograman berorientasi objek, dari arti nya saja kita sudah bisa mendefinisikan bahwa program yang akan kita buat terdiri dari bermacam macam objek kemudian objek tersebut dapat dipanggil kapan saja. Itulah kelebihan pada paradigm orientasi objek memandang permasalahan sebagai sekumpulan obyek, sehingga dapat dengan mudah memecahkan masalah karena algoritma, logika dan behavior pemogramannya dapat lebih spesifik. Kemudian objek tersebut dikemas (enkapsulasi) sehingga lebih memudahkan dalam trace karena permasalahan yang timbul tidak akan lari dari kemasan yang dimaksud. Setiap objek dapat menerima pesan, memproses data, mengirim pesan ke objek lainnya dan juga pengembalian nilai. Tanpa harus mengetahui isi dari objek tersebut. Selain itu Konsep Pemograman berorientasi objek sangat bisa mendekati pada permasalahan secara nyata. sehingga lebih cepat dalam menyatukan pemikiran, maka akan meminimalis kesalapahaman sistem dan prosedur yang akan dikembangkan
CLASS
Kelas adalah semacam cetakan, atau template, untuk membuat objek, atau pun wadah dari objek ataupun lebih dari satu objek, secara ringkasnya adalah class merupakan tempat sekumpulan objek memiliki karakteristik yang sama, sehingga dapat dibuatkan semacam blueprintnya atau templatenya
OBJECT
Objek Mewakili suatu entitas, baik fisik, atau konsep yang memiliki attribut, variabel, identitas, state dan behavior. State adalah kondisi kondisi yang mungkin di ada dalam obyek. Behavior menentukan bagaimana objek dapat beraksi dan bereaksi. melalui operasi dan method
Objek merupakan instance (wujud nyata) dari Class
Atribut, merupakan property yang dimiliki oleh suatu objek
Variable, merupakan tempat menampung nilai yang yang diberikan terhadap atribut
Method, merupakan cara bagaimana objek bereaksi dan menerima reaksi
Contoh Code Java*
// Class
class Meja{
String warna;
int jumlahKaki;
// Method
void cetakMeja(){
System.out.println("Warna : " + warna);
System.out.println("Jumlah Kakinya : " + jumlahKaki);
}
}
public class MejaInfo{
public static void main(String[] args){
// object
Meja infomeja = new Meja();
// attribut diberi nilai
infomeja.warna = "Hitam";
infomeja. jumlahKaki = 4;
// Menjalankan Method
infomeja. cetakMeja();
}
}
INTERFACE
Interface sama saja artinya dengan class
Tetapi perbedaannya interface hanya memiliki method,
Interface tidak memiliki implementasi
// interface
interface intMobil{
public abstract void majukan();
public abstract void mundurkan();
}
// implement
class Mobil implements intMobil {
public void majukan (){
System.out.println("Mobil Maju ");
public void matikan(){
System.out.println("Mobil Mundur");
}}
public class mobilInfo{
public static void main(String[] args){
Mobil infoMobil = new Mobil ();
infoMobil. majukan ();
infoMobil. mundurkan ();
}
}
INHERITANCE/PEWARISAN
mencipatakan sebuah objek baru yang sebagian sifatnya sama percis atau sudah ada pada objek lain. Anda dapat menggunakannya sebagai fondasi untuk objek yang sama yang memilliki perilaku atau karakteristik sama. Selain Inheriten mempunyai sifat pewaris tetapi dia mempunyai beberapa sifat lagi yang unik yang tidak dimiliki oleh objek lainnya
class Rumah{
int harga = 0;
// method
void hitungHarga (int hargaPermeter, int luasBangunan) {
harga = harga + (hargaPermeter * luasBangunan);
System.out.println("harga yang didapat :" + harga );
}
}
// Inheritance
class RumahMewah extends Rumah {
public void hitungJumlahKamar(int jumlahKamar) {
System.out.println(“Jumlah Kamar :”+ jumlahKamar);
}
}
class RumahInfo {
public static void main(String[] args) {
// object
RumahMewah infoRumah = new RumahMewah ();
// method
infoRumah. hitungJumlahKamar (5);
}
}