Selamat datang di blog saya dan terima kasih sudah mau berkunjung. Di blog ini saya tidak hanya menuangkan uneg-uneg,tapi juga berbagi ilmu dengan semua. ENJOY MY BLOG !!

Wednesday, April 18, 2012

Pemrograman Terstruktur VS Pemrograman Berorientasi Objek

Pengertian pemrograman terstruktur

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 Apabila kita sudah sampai pada langkah tertentu, kita tidak boleh mengeksekusi langkah sebelumnya. Hal ini dikecualikan pada langkah-langkah untuk proses berulang.

Bahasa pemrograman yang mendukung pemrograman terstruktur:

1.Cobol Turbo Prolog
2.C
3.Pascal
4.Delphi
5.Borland Delphi



Pengertian Pemrograman Berorientasi Objek


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      
- Java       
- VB.Net  
- Smalltalk    
- Ruby  
- C#
-ActionScript 3.0  
- Pascal  
- SIMULA  
- Python        
- PHP  
-Delphi
-Perl    
- Eiffel    
- C++


Suatu program disebut  pemrograman berbasis obyek (OOP) karena terdapat :


-Kelas
kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu.


-Objek
membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer. Objek
merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.


- Abstraksi
Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu
kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari
"pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan
berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini
diterapkan.


Encapsulation (pembungkusan)
Encapsulation adalah mekanisme pemrograman yang membungkus kode dan data yang
dimanipulasi dan menjaganya supaya terhindar dari interferensi dan penggunaan yang tidak perlu.
Salah satu caranya dengan membentuk objek.


– Inheritance (pewarisan)
Inheritance memungkinkan programer meletakkan member yang sama dalam satu class dan class
class lain dapat mewarisi member tersebut. Class yang mengandung member yang sama dari
beberapa class lain dinamakan superclass atau parent class. Class yang mewarisi dinamakan
subclass atau child class. Inheritance menghasilkan class hierarchy.


Polymorphism (polimorfisme –perbedaan bentuk)
Polymorphisme artinya mempunyai banyak bentuk. Dua objek atau lebih dikatakan sebagai
polymorphic, bila objek-objek itu mempunyai antar muka yang identik namun mempunyai perilaku
perilaku yang berbeda.


Sementara itu pemrograman berorientasi objek memliki beberapa keuntungan seperti :


1. maintenanceprogram lebih mudah dibaca dan dipahami, dan pemrograman berorientasi obyek
mengontrol kerumitan program hanya dengan mengijinkan rincian yang dibutuhkan untuk programmer.


2.pengubahan program (berupa penambahan atau penghapusan fitur tertentu); perubahan yang
dilakukan antara lain menyangkut penambahan dan penghapusan dalam suatu database program misalnya


3.dapat digunakannya obyek-obyek sesering yang diinginkan, kita dapat menyimpan obyek-obyek yang yang
dirancang dengan baik ke dalam sebuah tolkit rutin yang bermanfaat yang dapat disisipkan kedalam kode
yang baru dengan sedikit perubahan atau tanpa perubahan pada kode tersebut.


Kelebihan  dan  Kekurangan Pemograman Berorientasi Objek dengan Pemograman
Terstruktur


METODE TERSTRUKTUR


Kelebihan dari perancangan terstruktur (Structured Analisys and Design / SSAD) :


· 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 .


METODE BERORIENTASI OBYEK


Kelebihan dari perancangan berorientasi objek (Object-Oriented Analisys and Design / OOAD):


 ·  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).
·  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
·  Memungkinkan adanya perubahan dan kepercayaan diri yang tinggi terhadap kebernaran software yang
membantu untuk mengurangi resiko pada pembangunan sistem yang kompleks .
·  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.
·  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 .


sumber :
http://id.wikipedia.org/wiki/Pemrograman_berorientasi_objek
http://gutti211.blogspot.com/2011/10/perbedaan-pemograman-berorientasi-objek.html
Baca Selengkapnya...