PreTest OO
Sejarah berorientasi
objek
Pemrograman berorientasi objek pertama-tama dibicarakan pada akhir tahun 1960
menggunakan bahasa SIMULA. Pada tahun 1970, bahasa pemrograman Smaltalk
dikembangkan oleh Xerox PARC. Pada saat itu sebagian lain dari dunia
menggunakan COBOL dan FORTRAN dengan metode dekomposisi fungsional. Perubahan terjadi
selama beberapa dekade sampai dikenalnya faktor utama, yaitu :
Konsep dasar
berorientasi objek
Konsep dasar pendekatan berorientasi objek mencapai kematangan. Pada umumnya,
perhatian pada masalah coding telah berubah menjadi masalah analisa dan desain.
Teknologi dasar
pembangunan system
Gagasan tentang coding sangat dipengaruhi oleh bahasa pemrograman yang
tersedia. Sangat sulit memikirkan pemrograman terstruktur bila yang tersedia
adalah Assembler, tetapi lebih mudah bila menggunakan Pascal. Sama halnya akan
sulit untuk membuat coding berorientasi objek bila bahasa pemrograman yang
dipilih COBOL atau FORTRAN. Hal ini lebih mudah bila menggunakan Java, C++,
Borland Pascal versi baru, Smalltalk dan Ada.
Penggunaan model
Banyak organisasi mendapatkan bahwa sistem yang dibangun pada saat ini
cenderung berorientasi data dari pada sistem yang dibangun sekitar tahun 1970
dan 1980. Kompleksitas fungsional kurang diperhatikan dari pada waktu
sebelumnya, penggunaan model mendapatkan prioritas yang lebih besar.
Biasanya berupa benda atau sesuatu kejadian
Benda konkrit : pesawat, lampu, buku, …
Konsepsi : terbang, terang, kuliah, …
Abstraksi : perusahaan, bisnis, sekolah, …
PostTest OO
Perbedaan mendasar antara OOP dan pemrograman terstruktur
adalah:
Dengan menggunakan OOP 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:
object oriented menggunakan “method” sedangkan terstruktur
menggunakan “function”. Bila di OOP sering didengar mengenai “objects” maka di
terstruktur kita mengenalnya dengan ” modules”. Begitu pula halnya dengan “message” pada OO dan
“argument” pada terstruktur. “attribute” pada OO juga memiliki tatanan nama
yang sepadan dengan “variabel” pada pemrograman terstruktur.
Berikut ini merupakan kelebihan dan kekurangan metode
perancangan terstruktur (Structured Analisys and Design / SSAD) :
Kelebihan
- 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
sulit bagi pengguna untuk melakukan evaluasi.
- Pada SAAD sulit 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.
Dan juga Kelebihan dan kekurangan dari metode perancangan
berbasis objek (Object-oriented Analysis and Design / OOAD) ini adalah sebagai
berikut :
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 i
mplementasi 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 (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 .
- 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.
Kesimpulan nya adalah saya lebih
cenderung ke analisis dan pemrograman berorientasi objek , dia banyak unggul
nya di banding analisis dan pemrograman berorientasi terstruktur dan analisis
dan pemrograman berorientasi objek dia kelihatan lebih ahli karena kebanyakan
yang make ini adalah para ahli karena memang ini lebih besar di banding yang
terstruktur