Breaking News
Loading...
Kamis, 10 Agustus 2017

OOP vs PEMROGRAMAN TERSTRUKTUR

OOP (OBJECT ORIENTED PROGRAMING)
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

 
Toggle Footer