1. Nama : Sri Wahyuni Wulandari
Nim
: 1210651149
Kelas: TI - A
Perbedaan Pemrograman Terstruktur dan Pemrograman Berorientasi Objek
Definisi 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
Pemrograman terstruktur memilki beberapa sifat – sifat seperti :
Memuat teknik pemecahan masalah yang logis dan sistematis.
Memuat algoritma yang efisien, efektif dan sederhana.
Program disusun dengan logika yang mudah dipahami.
Biaya pengujian program relatif rendah.
Memiliki dokumentasi yang baik.
Biaya perawatan dan dokumentasi yang dibutuhkan relatif rendah.
Definisi 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.
Konsep dasar dari Pemrograman Berorientasi Objek Pemrograman orientasi-objek menekankan
konsep berikut:
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; objek merupakan dasar dari modularitas dan struktur dalam sebuah
program komputer berorientasi objek.
2.
Abstraksi – Kemampuan sebuah program untuk melewati aspek informasi yang
diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Proses, fungsi atau
metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk
mengembangkan sebuah pengabstrakan.
Enkapsulasi – Memastikan pengguna sebuah objek tidak dapat mengganti keadaan
dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek
tersebut yang diberi izin untuk mengakses keadaannya.
Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada pemanggilan
subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang
berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di
mana pesa tersebut dikirim.
Perbedaan Pemrograman Terstruktur dan Pemrograman Berorientasi Objek
Pemrograman Terstruktur terdiri dari pemecahan masalah yang besar menjadi
masalah yang lebih kecil dan seterusnya
sedangkan untuk pemrograman berorientasi objek terdiri dari pengkelompokan 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 juga perbedaan secara spesifik antara Pemrograman Berorientasi Objek
dengan Pemrograman Terstruktur, yaitu pada kelas dan objek. Pada pemrograman
terstruktur tidak terdapat kelas dan objek.
Dengan menggunakan PBO maka dalam melakukan pemecahan suatu masalah kita
tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur),
tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut.
Sedangkan untuk pemrograman terstruktur, menggunakan prosedur/tata cara yang
teratur untuk mengoperasikan data struktur.
Untuk tata nama, keduanya pun memiliki tatanan yang sama walaupun memiliki
pengertian tersendiri: PBO menggunakan “method” sedangkan terstruktur
menggunakan “function”. Bila di PBO sering didengar mengenai “objects” maka di
terstruktur kita mengenalnya dengan ”modules”. Begitu pula halnya dengan
“message” pada PBO dan “argument” pada terstruktur. “attribute” pada PBO juga
memiliki tatanan nama yang sepadan dengan “variabel” pada pemrograman
terstruktur.
3.
Pemrograman berorientasikan objek dikatakan lebih baik apabila model data
berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan
mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih
jauh lagi, pendukung PBO mengklaim bahwa PBO lebih mudah dipelajari bagi
pemula dibanding dengan pendekatan sebelumnya, dan pendekatan PBO lebih mudah
dikembangkan dan dirawat.
Kelebihan dan Kekurangan Pemrograman Terstruktur dan Pemrograman Berorientasi Objek
1.
a.
b.
Metode Terstruktur
Kelebihan
Milestone diperlihatkan dengan jelas yang memudahkan dalam manajemen proyek
SSAD(Structured Analisys and Design) merupakan pendekatan visual, ini membuat metode ini
mudah dimengerti oleh pengguna atau programmer.
Penggunaan analisis grafis dan tool seperti DFD(Data Flow Diagram) 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).
2.
a.
Metode Berorientasi Obyek
Kelebihan
Dibandingkan dengan metode SSAD, OOAD(object-oriented analysis and design) 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.
4.
b.
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 pecahanpecahan 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).
Perbedaan passing parameter
a. Pass by value
o
Berlaku pada tipe data primitif (byte,short,int,long,float,double, dan char).
o
Hanya bisa memodifikasi nilai di dalam fungsi, tidak bisa diluar fungsi.
o
Jika kita menggunakan konsep pass-by-value maka isi atau nilai dari variable yang ada di
parameter main akan di copy ke parameter dari fungsi pemanggil. Sehingga jika ada
perubahan pada parameter pemanggil tidak mengubah parameter main.
b. Pass by reference:
o Berlaku pada tipe data array dan objek.
o Bisa memodifikasi nilai baik di dalam maupun di luar fungsi.
5. o
Jika kita menggunakan konsep pass-by-reference maka yang di lewatkan bukan nilainya
melainkan alamat(reference) dari nilai tertentu yang di lewatkan, jadi jika ada perubahan
terhadap nilai oleh fungsi pemanggil maka nilai pada parameter main pun ikut berubah.