OBJECT ORIENTED PROGRAMMING
Object-oriented
programs terdiri dari objects yang berinteraksi satu sama lainnya untuk
menyelesaikan sebuah tugas. Seperti dunia nyata, users dari software
programs dilibatkan dari logika proses untuk menyelesaikan tugas.
Contoh, ketika kamu mencetak sebuah halaman diword processor, kamu
berarti melakukan inisialisasi tindakan dengan mengklik tombol printer.
Kemudian kamu hanya menunggu respon apakah job tersebut sukses atau
gagal, sedangkan proses terjadi internal tanpa kita ketahui. Tentunya
setelah kamu menekan tombol printer, maka secara simultan object tombol
tersebut berinteraksi dengan object printer untuk menyelesaikan job
tersebut.
Mengapa menggunakan OOP?
Mengapa OOP dibangun dalam sebuah paradigma yang luas untuk menyelesaikan masalah bisnis? Bahasa
prosedural mengatur program dalam mode barisan linier yang bekerja dari
atas ke bawah. Dengan kata lain, program adalah kumpulan dari tahapan
yang dijalankan setelah yang lain berjalan. Programming tipe ini
bekerja dengan baik untuk program kecil yang berisi code relative
sedikit, tetapi pada saat program menjadi besar, mereka cenderung susah
untuk di-manage dan di-debug. Dalam usaha untuk me-manage program, struktur programming diperkenalkan cara untuk mem-break down code-code tersebut melalui functions dan procedures.
Ini adalah sebuah langkah perbaikan, namun pada saat program dijalankan dalam sebuah fungsi bisnis yang kompleks dan berinteraksi dengan sistem lain, maka kelemahan dari struktur metodologi programming muncul kepermukaan meliputi:
1. Programs menjadi lebih susah untuk dimaintain.
2. Fungsi yang tersedia, susah untuk diubah tanpa harus mempengaruhi fungsi sistem secara keseluruhan.
3. Programming
tidak baik untuk team development. Programmers harus mengetahui setiap
aspek bagaimana program itu bekerja dan tidak menyebabkan terisolasi
usaha mereka atas aspek yang lain dari sistem.
4. Butuh usaha yang keras untuk menterjemahkan Business Models dalam programming models. dll
Karakteristik OOP
Dalam section ini, kita akan melihat beberapa konsep dasar dan term-term yang umum untuk seluruh bahasa OOP.
Objects
Jika kita pikir maka kita sekarang hidup dalam sebuah dunia object-oriented. Kamu adalah object. Kamu berinteraksi dengan object lain. Untuk menulis tugas ini kami berinteraksi dengan object komputer. Ketika saya bangun pagi, saya merespon pesan suara object alarm jam. Faktanya, kamu adalah object dengan data-data seperti tinggi dan warna rambut. Kamu mempunyai metode-metode yang kamu akan lakukan, seperti makan dan berjalan.
Jadi, apa itu objects? Dalam term OOP, object adalah sebuah structure yang menggabungkan data dan prosedur untuk bekerja bersama-sama. Contoh, jika kamu tertarik dalam pelacakan data yang dihubungkan dengan produk, kamu akan menciptakan sebuah object produk yang bertanggung jawab untuk me-maintenance dan bekerja dengan data yang bersinggungan dengan produk. Jika kamu ingin kemampuan mencetak dalam aplikasi kamu, kamu harus bekerja dengan sebuah object printer yang bertanggung jawab untuk data serta metode yang digunakan untuk berinteraksi dengan printermu.
Abstraction
Ketika
kamu berinteraksi dengan object-object di dunia ini, kamu sering hanya
konsentrasi dengan sebuah bagian dari propertiesnya. Tanpa kemampuan
untuk mensarikan/abstract atau menyaring untuk dibuang properties object
yang asing / tidak ada hubungannya, maka kamu akan menemukan kesulitan
untuk memproses informasi yang kebanyakan membombarding kamu. Sebagai
hasil abstraction, ketika 2 orang berbeda berinteraksi dengan object
yang sama, mereka sering setuju dengan bagian yang berbeda atas
atribut. Ketika kami mengendarai mobil, kami perlu tahu kecepatan serta
tujuan yang akan dicapai.
Karena mobil itu otomatis, maka kami tidak perlu tahu berapa RPMs dari mesinnya, jadi kami akan membuang informasi ini. Tapi informasi ini sangat diperlukan oleh mekanik atau pembalap.
Ketika membangun objects dalam aplikasi OOP, adalah penting untuk menggabungkan konsep abstraction ini. Jika kamu membangun aplikasi shipping, kamu harus membangun object produk dengan atribut seperti ukuran dan berat. Warna adalah contoh informasi yang tidak ada hubungannya dan harus dibuang. Tetapi ketika kamu membangun order-entry application, warna menjadi penting dan harus termasuk atribut object produk.
Encapsulation
Ciri penting lainnya dari OOP adalah encapsulation. Encapsulation adalah sebuah proses dimana tidak ada akses langsung ke data yang diberikan, bahkan hidden.
Jika kamu ingin mendapat data, kamu harus berinteraksi dengan object
yang bertanggung jawab atas dara tersebut. Dalam contoh inventory, jika
kita ingin melihat atau mengupdate informasi atas produk, kita
seharusnya bekerja melalui object produk. Untuk membaca data, kita
mengirimkan pesan ke object produk, kemudian object produk akan membaca pesan dan mengirim pesan balik ke kamu.
Object produk mendefinisikan bahwa operasi dapat dilakukan pada data produk. Jika kamu mengirim pesan untuk memodifikasi data dan jika object produk menentukan bahwa permintaan itu valid maka permintaan tersebut akan dilakukan dan akan mengirimkan pesan balik bersama hasilnya.
Pikirkan
mengenai Human Resource Department (HRD), yang meng-encapsulasi
informasi mengenai karyawan. Mereka menentukan bagaimana data ini dapat
digunakan da dimanipulasi. Setiap permintaan data karyawan atau
permintaan untuk mengupdate datanya harus dijalankan melalui mereka.
Contoh lain, network security. Setiap permintaan informasi security atau
perubahan kebijakan security harus dilakukan melalui network
administrator. Data security di-encapsulate dari user network.
Dengan melakukan encapsulasi pada data, berarti kamu membuat data dari sistemmu lebih secure dan terpercaya. Karena kamu mengetahui bagaimana data diakses dan operasi apa yang sedang berjalan pada data. Hal ini membuat maintenance program menjadi lebih mudah. Kamu juga dapat memodifikasi metode yang digunakan untuk kerja pada data, dan jika kamu tidak merubah bagaimana metode itu diminta dan tipe response dikirim balik, maka kamu tidak dapat merubah object lain dengan menggunakan metode tersebut. Pikirkan ketika kamu mengirim surat melalui pos. Kamu membuat permintaan ke kantor pos agar mengantar surat, dan bagaimana kantor pos menyelesaikannya kita tidak perlu tahu. Jika ada perubahan rute yang digunakan, maka hal itu tidak mempengaruhi keinginan untuk kirim surat lewat kantor pos. Kamu tidak perlu tahu prosedur internal yang digunakan oleh kantor pos untuk mengantar surat.
Polymorphism
Polymorphisms
adalah kemampuan 2 buah object yang berbeda untuk merespon pesan
permintaan yang sama dalam suatu cara yang unik. Contoh, saya melatih
anjing saya dengan perintah untuk menggonggong dan juga saya melatih
burung untuk merespon perintah saya untuk berkicau. Saya lakukan latihan
untuk merespon kepada mereka dengan perintah lisan. Melalui
polymorphism saya tahu bahwa anjing dan burung akan merespon dengan
gonggongan atau kicauan.
Bagaimana hal ini berhubungan dengan OOP? Kamu dapat membuat objects yang dapat merespon pesan yang sama dalam implementasi yang unik. Contohnya, kamu dapat mengirim pesan print ke object printer yang akan mencetak pada printer, dan kamu juga dapat mengirim pesan yang sama ke object screen yang akan menuliskan pada screen monitor. Dalam OOP, kamu menerapkan tipe polymorphism melalui proses yang disebut overloading. Kamu dapat mengimplementasikan metode yang berbeda pada sebuah object yang mempunyai nama yang sama.
Inheritance
Banyak
objects diklasifikasikan menurut hirarki. Contoh, kamu dapat
mengklasifikasikan sebuah mobil yang mempunyai karakteristik umumnya
mobil, seperti mempunyai ban, mesin, serta body. Keturunan berikutnya
diklasifikasikan dengan atribut umum seperti ukuran, jumlah roda, isi
silinder dll atau mengklasifikasikan mereka atas dasar daya angkutnya.
Contoh, ada kendaraan komersial atau kendaraan pribadi, ada truk atau
mobil penumpang. Kamu menggunakan inheritance dalam OOP untuk
mengklasifikasikan objects dalam program sesuai karakteristik umum dan
fungsinya. Hal ini akan membuat pekerjaan bersama object lebih mudah dan
lebih intuitif. Hal ini juga membuat programming lebih mudah karena
memungkinkan kita untuk mengkombinasikan karakteristik umum kedalam
object parent dan mewariskan karakteristik ini ke child object
.Aggregation
.Aggregation
Aggregation adalah kondisi ketika object
berisi gabungan dari object-object yang berbeda dan bekerja bersama.
Contoh mesin pemotong rumput terdiri dari object roda, objects mesin,
object pisau dll. Object mesinpun merupakan gabungan dari berbagai
object. Kemampuan untuk menggunakan aggregation dalam OOP adalah satu
feature yang powerful yang memungkinkan model menjadi akurat.
Konsep
dari object oriented programming (OOP) adalah lebih dari sekedar sebuah
konsep pemrograman, Object oriented programming adalah cara berpikir
tentang aplikasi yang mempelajari untuk berpikir bahwa aplikasi bukan
sekedar prosedur melainkan sebagai object dan real entity. Object yang
dimaksud disini memiliki pengertian suatu modul yang mengkombinasikan
antara data dan kode program yang bekerja sama dalam program dengan
melewatkan proses satu sama lain. Jadi object oriented programming
merupakan cara yang paling efisien untuk menulis program komputer yang
sangat mudah untuk di kombinasikan dan untuk dipergunakan kembali.
Object
oriented programming lebih memfokuskan kepada manipulasi object. Kenapa
seorang programmer harus mempelajari object oriented programming bahkan
seorang programmer yang tidak pernah bekerja dengan object oriented
programing pun harus mempelajarinya juga. Hal ini dikarenakan pada suatu
hari nanti semua bahasa pemrograman akan menambahkan kemampuan object
oriented programming pada bahasanya. Object oriented programming yang
paling populer adalah java dan C++, tetapi visual basic pun sudah ikut
menambahakan kemampuan ini sejak meluncurkan VB 4.0. Pada kesempatan
kali ini kita hanya akan membahas tentang visual basic dan C++ saja.
Sesuai dengan namanya object oriented programming maka konsep object
merupakan jantung dari object oriented programming
No comments:
Post a Comment