Eno. Diberdayakan oleh Blogger.

Pages

RSS

OOP (OBJECT ORIENTED PROGRAMMING)

Pemahaman tentang OOP
OOP adalah teknik untuk membuat program objek, yaitu program yang tersusun dari kelas dan objek yang saling berhubungan. Hubungan antar kelas/objek ini dapat dilihat baik saat program ditulis maupun saat program dieksekusi.
Karena OOP merupakan teknik pembuatan program, maka ada pendekatan yang digunakan. Ada aturan yang harus diikuti saat menyusun programnya, dan ada tools yang digunakan untuk menuliskan programnya.
Belajar OOP
Belajar OOP adalah belajar pemrograman, oleh karena itu ruang lingkup pembahasannya mencakup:
  1. Belajar ide atau pendekatan yang menjadi konsep dasar OOP.
  2. Belajar bagaimana menerapkan konsep dasar itu menjadi berbagai bentuk OOP.
  3. Belajar bahasa pemrograman yang akan digunakan untuk membuat berbagai bentuk OOP, seperti struktur program, sintaks penulisan, atau mekanisme eksekusi program.
  4. Belajar menggunakan tools bahasa pemrograman untuk menulis program, kompilasi, dan eksekusi.
  5. Belajar menemukan dan mengartikan kesalahan program, dan memperbaikinya.
  6. Belajar bagaimana mengimplementasi 1 s.d. 5 untuk membuat sebuah aplikasi yang utuh.
Peta Materi OOP
Mengacu pada ruang lingkup belajar OOP diatas, peta materi OOP bisa seperti ini :




Supaya semua materi dapat tersampaikan, ada strategi pembelajaran dan prioritas materi yang harus dirancang. Mana yang harus disampaikan di kelas,  atau yang harus dipelajari dan dikerjakan sendiri oleh siswa.
Semoga bermanfaat!

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

BELAJAR OOP

Bagian 1
OOP merupakan paradigma pemrograman yang cukup dominan saat ini, karena mampu memberikan solusi kaidah pemrograman modern. Meskipun demikian, bukan berarti bahwa pemrograman prosedural sudah tidak layak lagi .
OOP diciptakan karena dirasakan masih adanya keterbatasan pada bahasa pemrograman tradisional. Konsep dari OOP sendiri adalah, semua pemecahan masalah dibagi ke dalam objek. Dalam OOP data dan fungsi-fungsi yang akan mengoperasikannya digabungkan menjadi satu kesatuan yang dapat disebut sebagai objek. Proses perancangan atau desain dalam suatu pemrograman merupakan proses yang tidak terpisah dari proses yang mendahului, yaitu analisis dan proses yang mengikutinya. Pembahasan mengenai orientasi objek tidak akan terlepas dari konsep objek seperti inheritance atau penurunan, encapsulation atau pembungkusan,
dan polymorphism atau kebanyakrupaan. Konsep-konsep ini merupakan fundamental dalam orientasi objek yang perlu sekali dipahami serta digunakan dengan baik, dan menghindari penggunaannya yang tidak tepat.
Class dan Objek
Dalam lingkungan program berorientasi objek, pemrogram mendefinisikan class secara statik. Pada saat run-time, class akan diinstantiasi menjadi objek. Ada pun objek yang merupakan instantiasi dari suatu class selalu dapat diacu melalui current objek, apa pun nama instant-nya.
Dapat didefinisikan bahwa class merupakan struktur data dari suatu objek, lebih jelasnya adalah sebuah bentuk dasar atau blueprint yang mendefinisikan variabel method umum pada semua objek dari beberapa macam. Objek sendiri adalah kumpulan variabel dan fungsi yang dihasilkan dari template khusus atau disebut class. objek adalah elemen pada saat run-time yang akan diciptakan, dimanipulasi, dan dihancurkan ketika eksekusi. Ada pun class merupakan definisi statik dari himpunan objek yang mungkin diciptakan sebagai instantiasi dari class. Sederhananya adalah kumpulan objek yang mempunyai atribut sama. Dengan demikian, pada saat run-time maka yang kita miliki adalah objek.
Class biasany dibuat seperti ini
Class nama_classnya{
//berisi sekumpulan fungsi,variabel dan
//statement-statement lainnya
}
Agar class tersebut dpt digunakan maka perlu memiliki atribut-atribut contonya dalam php/c++
//di php
class NamaClass {
var $atribut1;
var $atribut2;
function operasi(){}
}
//di c++
class NamaClass {
public:
int atribut1;
int atribut2;
int operasi(){retun nilai_int}
};

Pada bahasa pemerograman web lain ex. Java file harus disimpan dengan nama class berbeda dengan PHP kita dapat memberikan nama yang tidak mesti sama dengan nama classnya
Inheritance
Inheritance atau pewarisan adalah kalimat yang pasti ada di dalam pemerograman berorientasi objek disebut juga dengan istilah reusable.
Ketika kita menggunakan kembali atau mengganti method dari class yang sudah ada, serta ketika menambahkan field instant dan method baru, maka pada saat itulah Anda bekerja dengan inheritance. Konsep ini merupakan konsep yang fundamental dalam orientasi objek dan harus digunakan dengan baik, ada beberapa macam Inheritance atau pewarisan yang ada di dalam OOP Single Inheritance dan Multple Inheritance
- Single Inheritance

- Multiple Inheritance



dalam penggunaan inheritance class Induk akan mewariskan semua atribut yang ia miliki sehingga class bawahnya akan memilki atribut yang sama dengan class induk, bahkan dapat memilki kebabasan untuk memilki atribut berbeda dengan class induknya berikut ilustrasi dalam php
catatan :
sampai sekarang PHP belum mendukung multiple inheritance seperti C++ walapun PHP dan c/c++ begitu banyak kemiripannya, dan perubahan PHP versi 5 ditekankan pada OOP salah satunya adalah beberapa tambahan untuk kemampuan inheritance
/* inheritance.php */
class Bapak {
var $nama =”Bapak”;
function Bapak($n) {
$this->nama = $n;
}
function Hallo() {echo “Halo, saya $this->nama 
”;}
}
class Anak extends Bapak {}
$test = new Anak(”Anak dari Bapak”);
$test->Hallo();
?>

Hasil tampilan dari listing program di atas adalah “Halo, saya Anak dari Bapak” dan bukannya “Halo, saya Bapak”. Mengapa demikian? Memang di dalam class Bapak didefinisikan variabel nama dengan nilai Bapak, selanjutnya kita membuat objek dari class Anak yang merupakan turunan dari class Bapak. Lihat bahwa instantiasi sekaligus mengisikan parameter baru “Anak dari Bapak”, sehingga ketika dipanggil maka mengisikan $this->nama dengan parameter tersebut. Ada pun di dalam implementasi pemrograman, kebanyakan pemrogram merasakan beberapa manfaat dari inheritance atau pewarisan, diantaranya:
Subclass mampu menyediakan perilaku khusus dari elemen dasar yang disediakan oleh superclass.
Pemrogram dapat mengimplementasikan superclass untuk memanggil class abstrak yang menyatakan perilaku umum.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

BELAJAR PBO PRAKTEK

Bagi pemula dalam hal pemrograman , terutama mengenai bahasa satu ini yaitu JAVA.. tidak diragukan lagi kegunaannya ,, bahkan di luar negeri JAVA sudah digunakan oleh anak-anak untuk melatih logika mereka.. Untuk belajar JAVA itu dibutuhkan praktek , kali ini kita akan membahas tentang belajar PBO "Selamat Mencoba !!!"


Dalam postingan saya kali ini,, saya akan membuat suatu program  JAVA dimana proses pengerjaannya pada aplikasi ECLIPSE,, yang akan memperkenalkan seluk beluk atau bagian-bagian dari PBO.

Dimana PBO adalah  (PEMROGRAMAN BERORIENTASI OBJEK) ,,  yang terdiri dari 5 unsur yaitu :
1. Turunan/Pewarisan/Inheritance
2. Perubahan bentuk/Polymorphisme
3. Pembungkusan / Tingkat - Akses / Encapsulation
    yang terdiri dari 2 macam  :
  • OverLoading/ OverLoad
  • OverRiding/ OverRide
4. Modifier 
    Begitu pula dengan modifier yang terdiri dari 2 macam ,, yaitu :
  • Static
  • Final
5. Abstract & Interface

Nah,, sekarang ayo kita mulai membuat programnya,, agar kita dapat lebih memahami konsep dari PBO...
Pertama-tama

  • Buka aplikasi ECLIPSE
  • Buat java File - New - Other - GUI Forms - Swing - JFRAME 
  • Beri nama class - nya ,, lalu klik Finish

Setelah itu,, buat tampilannya seperti berikut yang terdiri dari 1 JTabbedPane dan 5 JPanel
1. Turunan

Buat Class dari masing-masing button pada JPanel1 Turunan/Pewarisan
Class Manusia 
public class Manusia extends MakhlukHidup {
    String nama,stmMakan,stmKerja,stmTugas,stmTidur;
    //konstruktor
    Manusia(String n){
        this.nama = n;
        }
    //function mengembalikan nilai nama
    String tampilkanNama(){
        return nama;
        }
    //procedure makan
    String  makan(){
        return stmMakan="hem...enyak..enyak..enyak...!!!";
        }
    //procedure kerja
    String kerja(){
        return stmKerja="kerja..kerja...kerja...!!!";
        }
    //procedure tidur
    String tidur(){
        return stmTidur="ZZzzz...!!!";
        }
  
    public String jalan(){
        return berdiri="berdiri tegap...";
        }
}

Class Siswa
public class Siswa extends Manusia{
    //konstruktor Siswa
    Siswa(String n){
    //memanggil konstruktor Manusia
        super(n);
        }
    //method bentukan baru...
    String kerja(){
        return stmKerja="belajar...belajar...!!!";
        }
    String tidur(){
        return stmTidur="Ngiler...!!!";
        }
}

Class Guru
public class Guru extends Manusia {
    Guru(String n){
        super(n);
        }
    String kerja(){      
      
        return stmKerja="mengajar...mengajar...!!!";
        }
    String tugas(String n){
        return stmTugas="ayo kerjakan...kerjakan...!!!";
        }
}

Method Button :

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS