Pemahaman OOP

OOP (object-oriented programming) berputar pada konsep dari object sebagai dasar element dari program anda. Ketika kita membandingkan dengan dunia nyata, kita dapat menemukan beberapa objek disekitar kita, seperti mobil, singa, manusia dan seterusnya. Object ini dikarakterisasi oleh sifat / attributnya dan tingkah lakunya.

 Car                  type of transmission                        turning
                         manufacturer                                  braking
                         color                                              accelerating

Lion                 Weight                                            roaring
                        Color                                              sleeping
                        hungry or not hungry                        hunting
                        tamed or wild

Dengan deskripsi ini, objek pada dunia nyata dapat secara mudah dimodelisasi sebagai objek software menggunakan sifat sebagai data dan tingkah laku sebagai method. Data disini dan method dapat digunakan dalam pemrograman game atausoftware interaktif untuk menstimulasi objek dunia nyata. Contohnya adalah sebagai software objek mobil dalam permainan balap mobil atau software objek singadalam sebuah software pendidikan interaktif pada kebun binatang untuk anak anak.

~ Class:
     - konsep dan deskripsi dari sesuatu(rsw)
     - blueprint/cetakan
~ Object:
     - instance dari class, bentuk (contoh) nyata dari class(rsw)
     - hasil cetakan dari class

Perbedaan Class dan Object
        Pada dunia software, sebuah objek adalah sebuah komponen software yang stukturnya mirip dengan objek pada dunia nyata. Setiap objek dibuat dari satu set data (sifat) dimana variable menjabarkan esensial karakter dari objek, dan juga terdiri dari satu set dari methode (tingkah laku) yang menjabarkan bagaimana tingkah laku dari objek. Jadi objek adalah sebuah berkas software dari variable dan method yg berhubungan. Variable dan methods dalam objek Java scara formal diketahui sebagai instance variable dan instance methods untuk membedakannya dari variable klas dan method klas, dimana akan dibahas kemudian.
        Klas adalah sturktur dasa dari OOP. Dia terdiri dari dua tipe dari anggota dimana disebut dengan field (attribut/properti) dan method. Field mespesifikasi tipe data yang didefinisikan oleh class, sementara methode spesifikasi dari operasi. Sebuah objek adalah sebuah instance pada class. Ketika diinisialisi, tiap objek mendapat satu set baru dari state variable. Bagaimanapun, implementasi dari method dibagi diantara objek pada kelas yang sama.
        Kelas menyediakan keuntungan dari reusability. Software programmers dapat digunakan dari sebuah kelas lagi dan lagi untuk membuat beberapa objek.

~ Atribut / Variable / State
     - Variable yang mengitari class, dengan nilai datanya bisa ditentukan di object
     - Variable digunakan untuk menyimpan nilai yang nantinya akan digunakan pada program
     - Sesuatu yang pasti dimiliki oleh class

Instansiasi Class
       Untuk membuat sebuah objek atau sebuah instance pada sebuah kelas. Kita menggunakan operator baru. Sebagai contoh, jika anda ingin membuat instance dari kelas string, kita menggunakan kode berikut :
 
String str2 = new String(“Hello world!”);
or also equivalent to,
String str2 = "Hello";
 
Method
Sebuah method adalah bagian terpisah dari kode yang akan dipanggil oleh program utama dan beberapa method lainnya untuk menunjukkan beberapa fungsi spesifik.
Berikut adalah karakteristik dari method :
    1. dapat mengembalikan satu atau tidak ada nilai
    2. dia mungkin dapat diterima sebagai beberapa parameter yang dibutuhkan atau tidak ada arameter sama
        sekali. Parameter juga disebut sebagai fungsi argument
    3. setelah method telah selesai dieksekusi, dia akan kembali pada method yang memanggilnya.

# Method / Behaviour adalah urutan instruksi yang mengakses data dari object
# Kegiatan yang dapat dilakukan/dikerjakan oleh class.
# Method melakukan:
    1. Manipulasi data
    2. Perhitungan matematika
    3. Memonitor kejadian dari suatu event

Sekarang kita ilustrasikan bagaimana memanggil method, mari kita menggunakan kelas string sebagai contoh. Anda dapat menggunakan the Java API documentation untuk melihat semua method dalam kelas string yang tersedia. Selanjutnya, kita akan membuat method kita sendiri. Tapi sekarang mari kita menggunakan apa yang tersedia.
Untuk memanggil sebuah instance method, kita menuliskan :
nameOfObject.nameOfMethod( parameters );
~ Jenis Method:
    - Method dengan return value
    - Method tanpa return value
~Menggunakan method :
    String str1 = "Hello";
    char x = str2.charAt(0); //will return the character H
    //simpan pada variabel x
            String str2 = "hello";
    //return boolean
    boolean result = str1.equalsIgnoreCase( str1 );


# Method yang identifier/namanya sama dengan nama Class
# Method yang pertama kali di panggil pada proses instansiasi/pembuatan object


Karakteristik Pemrograman Berorientasi Objek
Enkapsulasi 
      Mekanisme menyembunyikan suatu proses dan data dalam sistem untuk menghindari interferensi, dan menyederhanakan penggunaan proses itu sendiri.
      Pembungkusan attribut untuk menghindari akses illegal.
Enkapsulasi data juga dapat dilakukan dengan cara:
    1. mendeklarasikan instance variable sebagai private
    2. mendeklarasikan method yang sifatnya public untuk mengakses variable tersebut

Inheritance (Pewarisan)
Pewarisan adalah keuntungan besar dalam pemrograman berbasis object karena suatu sifat atau method didefinisikan dalam superclass, sifat ini secara otomatis diwariskan dari semua subclasses. Jadi, Anda dapat menuliskan kode method hanya sekali dan mereka dapat digunakan oleh semua subclass. Subclass hanya butuh mengimplementasikan perbedaannya sendiri dan induknya.

~ Suatu class dapat mewariskan atribut dan method kepada class lain (subclass), serta membentuk class
     hierarchy
~ Tujuan : Reusability, Perluasan Attitude
~ Java Keyword: extends

Polymorfisme
Kemampuan dari referensi untuk mengubah sifat menurut object apa yang dijadikan acuan dinamakan polimorfisme. Polimorfisme menyediakan multiobject dari subclasses yang berbeda untuk diperlakukan sebagai object dari superclass tunggal, secara otomatis menunjuk method yang tepat untuk menggunakannya ke particular object berdasar subclass yang termasuk di dalamnya.
Contoh lain yang menunjukkan properti polimorfisme adalah ketika kita mencoba melalui referensi ke method. Misalkan kita punya method statis printInformation yang mengakibatkan object Person sebagai referensi, kita dapat me-referensi dari tipe Employee dan tipe Student ke method ini selama itu masih subclass dari class Person.

# Implementasi konsep polymorphism:
     1. Overloading: Kemampuan untuk menggunakan nama yang sama untuk beberapa method yang berbeda
          parameter (tipe dan atau jumlah)
      2. Overriding: Kemampuan subclass untuk menimpa method dari superclass, yaitu dengan cara
          menggunakan nama dan parameter yang sama pada method

public static main( String[] args ){
         Person ref;
         Student studentObject = new Student();
         Employee employeeObject = new Employee();
         ref = studentObject; //Person menunjuk kepada object Student
        //beberapa kode di sini
}

Semoga Terpahami 

2 komentar:

Thomas Adi Oktavianus. Diberdayakan oleh Blogger.
 
free counters

Tes IQ mu disini

IQ Test
QuickIQTest.net - IQ Test
Engineering and Informatic © 2017 | Template By Thomas Adi Oktavian