Pemrograman berorientasi
objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma
pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam
paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan
logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses
data, dan mengirim pesan ke objek lainnya.
Bahasa pemrograman yang
mendukung OOP antara lain :
Visual Foxpro, Jaca, C++,
Pascal, Visual Basic.Net, SIMULA, Smalltalk, Ruby, Python, PHP, C#, Delphi,
Eiffel, Perl, Adobe Flash AS 3.0
PEMROGRAMAN TERSTRUKTUR
Pemrograman Terstruktur
adalah suatu proses untuk mengimplementasikan urutan langkah untuk
menyelesaikan suatu masalah dalam bentuk program. Selain pengertian diatas
Pemrograman Terstruktur adalah suatu aktifitas pemrograman dengan memperhatikan
urutan langkah-langkah perintah secara sistematis, logis , dan tersusun
berdasarkan algoritma yang sederhana dan mudah dipahami. Prinsip dari
pemrograman terstruktur adalah Jika suatu proses telah sampai pada suatu titik
/ langkah tertentu , maka proses selanjutnya tidak boleh mengeksekusi langkah
sebelumnya / kembali lagi ke baris sebelumnya, kecuali pada langkah – langkah
untuk proses berulang (Loop).
Bahasa pemrograman yang
mendukung pemrograman terstruktur :
Cobol Turbo Prolog, C,
Pascal, Delphi, Borland Delphi.
Sifat-sifat pemrograman
terstruktur :
·
Memuat
teknik pemecahan masalah yang logis dan sistematis
·
Memuat
algoritma yang efisien, efektif dan sederhana
·
Program
disusun dengan logika yang mudah dipahami
·
Tidak
menggunakan perintah GOTO
·
Biaya
pengujian program relatif rendah
·
Memiliki
dokumentasi yang baik
·
Biaya
perawatan dan dokumentasi yang dibutuhkan relatif rendah
Perbedaaan OOP dan Pemrograman Terstruktur
OOP
-
Pemrograman berorientasi
kepada objek, semua data dan fungsi dibungkus dalam kelas-kelas atau
objek-objek.
-
Setiap objek dapat menerima
pesan, meproses data dan mengirim pesan ke objek lainnya.
-
Kondisi kode/line
pemrogramannya merupakan sebuah kesatuan modular. Untuk pemrograman yang
simple/sederhana menggunakan pemrograman terstruktur karena masih mudah dan
tidak banyak dilakukan perubahan berarti. Untuk line lebih dari 100 atau bisa
dikatakan rumit, maka digunakan pemrograman berorientasi objek.
-
Terdiri dari pengelompokkan
kode dengan data yang mana setiap objek berfungsi secara independen sehingga
untuk setiap perubahan kode tidak tergantung pada kode yang lainnya, atau lebih
dikenal dengan modular.
-
Terdapat kelas dan objek
-
Untuk pemrograman yang lebih
kompleks.
Pemrograman Terstruktur :
-
Sebuah cara pemrosesan data
yang terstruktur dalam analisa, cara dan penulisan pemrograman.
-
Pembuatan antara satu line
pemrograman dengan yang lainnya berhubungan.
-
Terdiri dari pemecahan
masalah yang besar menjadi masalah yang lebih kecil dan seterusnya.
-
Tidak terdapat kelas dan
objek
-
Untuk pemrograman yang
sederhana, karena lebih efisien dan lebih murah dalam hal perawatannya tetapi
pemodelan ini lebih susah untuk dipahami oleh orang-orang selain pembuat program
itu sendiri (contohnya ketika dilakukan tracing program).
Keuntungan Pemrograman Berorientasi Objek
-
Maintenance program lebih
mudah dibaca dan dipahami, dan pemrograman berorientasi obyek mengontrol
kerumitan program hanya dengan mengijinkan rincian yang dibutuhkan untuk
programmer
-
Pengubah program (berupa
penambahan atau penghapusan fitur tertentu), perubahan yang dilakukan antara
lain menyangkut penambahan dan penghapusan dalam suatu database program
misalnya.
-
Dapat digunakan obyek-obyek
sesering yang diinginkan, kita dapat menyimpan obyek-obyek yang dirancang
dengan baik ke dalam sebuah toolkit rutin yang bermanfat yang dapat disisipkan
ke dalam kode yang baru dengan sedikit perubahan atau tanpa perubahan pada kode
tersebut.
Perbendaan
Mendasar Antara OOP dan Pemrograman Terstruktur
-
OOP, bentuk
pemodelan programnya diorientasikan dalam bentuk objek-objek
-
Petruk, pemodelan
programnya diuraikan dan diorganisasikan secara lebih detail.
-
OOP, dikelompokkan
ke dalam kelas, objek, abtraksi, enkapsulasi dan polimorfisme melalui
pengiriman pesan
-
Petruk, harus
mengandung pemecahan masalah yang tepat dan benar, memiliki algortima pemecahan
masalah yang sederhana, standard an efektif. Penulisan program memiliki
struktur logika yang benar dan mudah dipahami, program hanya memiliki 3
struktur dasar, yaitu : struktur berurutan, struktur seleksi, dan struktur
pengulangan, menghindari penggunaan pernyataan GOTO, memiliki dokumentasi yang
baik.
-
OOP, menggunakan
konsep UML
-
Petruk, menggunakan
konsep DFD, dan ERD
-
OOP, dalam
melakukan pemecahan suatu masalah tidak melihat bagaimana cara menyelesaikan
(terstruktur), tetapi objek-objek apa yang dapat melakukan pemecahan masalah
tersebut.
-
Petruk, dalam
melalukan pemecahan masalah menggunakan prosedur/tata cara yang teratur untuk mengoperasikan
data struktur
Tatanan Nama
-
OOP à
method, sedangkan Petruk à function
-
OOP à
objects, sedangkan Petruk à modules
-
OOP à
message, sedangkan Petruk à argument
-
OOP à
attribute, sedangkan Petruk à variable.
Kelebihan dan Kekurangan Pemograman Berorientasi
Objek dengan Pemograman Terstruktur
METODE TERSTRUKTUR
Perancangan Terstruktur (Structured Analisys
and Design / SSAD)
Metode ini diperkenalkan pada tahun 1970,
yang merupakan hasil turunan dari pemrograman terstruktur. Metode pengembangan
dengan metode terstruktur ini terus diperbaiki sampai akhirnya dapat digunakan
dalam dunia nyata. Perancangan ini bertujuan untuk membuat model SOLUSI
terhadap PROBLEM yang sudah dimodelkan secara lengkap pada tahap analisis
terstruktur.
Kelebihan
·
Milestone
diperlihatkan dengan jelas yang memudahkan dalam manajemen proyek
·
SSAD
merupakan pendekatan visual, ini membuat metode ini mudah dimengerti oleh
pengguna atau programmer.
·
Penggunaan
analisis grafis dan tool seperti DFD menjadikan SSAD menjadikan bagus untuk
digunakan.
·
SSAD
merupakan metode yang diketahui secara umum pada berbagai industry.
·
SSAD
sudah diterapkan begitu lama sehingga metode ini sudah matang dan layak untuk
digunakan.
·
SSAD
memungkinkan untuk melakukan validasi antara berbagai kebutuhan
·
SSAD
relatif simpel dan mudah dimengerti.
Kekurangan
·
SSAD
berorientasi utama pada proses, sehingga mengabaikan kebutuhan non-fungsional.
·
Sedikit
sekali manajemen langsung terkait dengan SSAD
·
Prinsip
dasar SSAD merupakan pengembangan non-iterative (waterfall), akan tetapi
kebutuhan akan berubah pada setiap proses.
·
Interaksi
antara analisis atau pengguna tidak komprehensif, karena sistem telah
didefinisikan dari awal, sehingga tidak adaptif terhadap perubahan
(kebutuhan-kebutuhan baru).
·
Selain
dengan menggunakan desain logic dan DFD, tidak cukup tool yang digunakan untuk
mengkomunikasikan dengan pengguna, sehingga sangat sliit bagi pengguna untuk
melakukan evaluasi.
·
Pada
SAAD sliit sekali untuk memutuskan ketika ingin menghentikan dekomposisi dan
mliai membuat sistem.
·
SSAD
tidak selalu memenuhi kebutuhan pengguna.
·
SSAD
tidak dapat memenuhi kebutuhan terkait bahasa pemrograman berorientasi obyek,
karena metode ini memang didesain untuk mendukung bahasa pemrograman
terstruktur, tidak berorientasi pada obyek (Jadalowen, 2002).
METODE BERORIENTASI OBYEK
Perancangan Berbasis Objek
(Object-oriented Analysis and Design / OOAD)
Metode OOAD melakukan
pendekatan terhadap masalah dari perspektif obyek, tidak pada perspektif
fungsional seperti pada pemrograman terstruktur. Akhir-akhir ini penggunakan
OOAD meningkat dibandingkan dengan pengunaan metode pengembangan software
dengan metode tradisional. Sebagai metode baru dan sophisticated bahasa
pemrograman berorientasi obyek diciptakan, hal tersebut untuk memenuhi
peningkatan kebutuhan akan pendekatan berorientasi obyek pada aplikasi bisnis
Kelebihan
· Dibandingkan dengan metode
SSAD, OOAD lebih mudah digunakan dalam pembangunan sistem
· Dibandingkan dengan SSAD,
waktu pengembangan, level organisasi, ketangguhan,dan penggunaan kembali (reuse)
kode program lebih tinggi dibandingkan dengan metode OOAD (Sommerville, 2000).
· Tidak ada pemisahan antara
fase desain dan analisis, sehingga meningkatkan komunikasi antara user dan
developer dari awal hingga akhir pembangunan sistem.
· Analis dan programmer tidak
dibatasi dengan batasan implementasi sistem, jadi desain dapat diformliasikan
yang dapat dikonfirmasi dengan berbagai lingkungan eksekusi.
· Relasi obyek dengan entitas
(thing) umumnya dapat di mapping dengan baik seperti kondisi pada dunia nyata
dan keterkaitan dalam sistem. Hal ini memudahkan dalam mehami desain
(Sommerville, 2000).
· Memungkinkan adanya
perubahan dan kepercayaan diri yang tinggi terhadap kebernaran software yang
membantu untuk mengurangi resiko pada pembangunan sistem yang kompleks (Booch,
2007).
· Encapsliation data dan
method, memungkinkan penggunaan kembali pada proyek lain, hal ini akan
memperingan proses desain, pemrograman dan reduksi harga.
· OOAD memungkinkan adanya
standarisasi obyek yang akan memudahkan memahami desain dan mengurangi resiko
pelaksanaan proyek.
· Dekomposisi obyek,
memungkinkan seorang analis untuk memcah masalah menjadi pecahan-pecahan
masalah dan bagian-bagian yang dimanage secara terpisah. Kode program dapat
dikerjakan bersama-sama. Metode ini memungkinkan pembangunan software dengan
cepat, sehingga dapat segera masuk ke pasaran dan kompetitif. Sistem yang
dihasilkan sangat fleksibel dan mudah dalam memelihara.
Kekurangan
· Pada awal desain OOAD,
sistem mungkin akan sangat simple.
· Pada OOAD lebih fockus pada
coding dibandingkan dengan SSAD.
· Pada OOAD tidak menekankan
pada kinerja team seperti pada SSAD.
· Pada OOAD tidak mudah untuk
mendefinisikan class dan obyek yang dibutuhkan sistem.
· Sering kali pemrogramam
berorientasi obyek digunakan untuk melakukan anlisisis terhadap fungsional
siste, sementara metode OOAD tidak berbasis pada fungsional sistem.
· OOAD merupakan jenis
manajemen proyek yang tergolong baru, yang berbeda dengan metode analisis
dengan metode terstruktur. Konsekuensinya adalah, team developer butuh waktu
yang lebih lama untuk berpindah ke OOAD, karena mereka sudah menggunakan SSAD
dalam waktu yang lama ( Hantos, 2005).
· Metodologi pengembangan
sistem dengan OOAD menggunakan konsep reuse. Reuse merupakan salah satu
keuntungan utama yang menjadi alasan digunakannya OOAD. Namun demikian, tanpa
prosedur yang emplisit terhadap reuse, akan sangat sliit untuk menerapkan
konsep ini pada skala besar (Hantos, 2005).
Sumber : rpl.if.its.ac.id
0 komentar:
Posting Komentar