Analisis dan Design PL
A. Pengertian
dan Konsep
Pemrograman adalah proses menulis, menguji dan memperbaiki
(debug), dan memelihara kode yang membangun suatu program komputer. Kode ini
ditulis dalam berbagai bahasa pemrograman. Tujuan dari pemrograman adalah untuk
memuat suatu program yang dapat melakukan suatu perhitungan atau ‘pekerjaan’
sesuai dengan keinginan si pemrogram. Ada banyak teknik pemrograman dalam
membuat program. Apa perbedaan antara teknik pemrograman terstruktur dan yang
berorientasi objek?
Perancangan Terstruktur (SSAD) adalah
aktivitas mentransformasikan suatu hasil analisis ke dalam suatu perencanaan
untuk dapat diimplementasikan (diotomasikan).[1].
Perancangan
berorientasi objek (OOAD)
adalah Suatu teknik atau cara pendekatan baru dalam melihat permasalahan dan
sistem (sistem perangkat lunak. Sistem informasi, atau sistem lainnva).
Pendekatan berorientasi objek akan memandang sistem yang akan dikembangkan
sebagai suatu kumpulan objek yang berkorespondensi dengan objek-objek dunia
nyata. [1].
B.
Analisis Desain Terstruktur (SSAD)
Structured System Analisys and Design(SSAD) atau Analisis
dan Desain Sistem Terstruktur adalah salah satu metodologi dalam mengembangkan
sistem maupun perangkat lunak. Metodologi ini digunakan dalam menjalankan 3
fase di SDLC yaitu fase analisis, desain dan implementasi sebuah sistem dan
perangkat lunak. Selain dari metodologi SSAD ini juga terdapat metodologi
Object Oriented System Analisys and Design (OOSAD) yang berarti Analisis dan
Desain Sistem Berorientasi Objek. Jika OOSAD beorientasi pada objek dan
kelas-kelas sedangkan SSAD berorientasi data dan proses. Contoh bahasa
pemrograman tertrukur adalah C dan Pascal.[2].
Analisis dan desain perangkat lunak terstruktur memiliki beberapa
karakteristik penting, yaitu :
1.
Berdasarkan modul : Dalam metodologi ini semua proses di bagi menjadi
modul-modul yang independen atau dapat berdiri sendiri sehingga setiap modul
dapat digunakan kembali di projek lain. Setiap modul mengandung proses-proses
yang mengolah data lebih detail. Antara setiap proses itu memiliki keterikatan
sehingga di kelompokkan kedalam modul.[2].
2.
Pendekatan Top-Down : Pendekatan Top-Down memiliki arti bahwa dalam
perancangannya sistem di definisikan lebih dahulu secara umum lalu turun ke
level ke yang lebih spesifik. Pendekatan ini sering di lakukan dengan
menggunakan Diagram Arus Data atau Data Flow Diagram(DFD).[2].
3.
Iterasi : Perancangan
dan implementasi sistem di lakukan secara iterasi yaitu berulang ulang kali
sehingga kesalahan kesalahan dari iterasi sebelumnya dapat di perbaiki. Contoh
metode iterasi adalah metode spiral.[2].
4.
Paralel : Karena
setiap modul dapat bekerja secara independen maka dalam pengembangannya dapat
dilakukan secara terpisah. Pengembangan secara terpisah dapat mempercepat
proses pembuatan sistem ini sehingga sumberdaya yang dikeluarkan menjadi lebih
sedikit.[2].
Kelebihan Pemrograman
Terstrukutur :
- 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
Pemrograman Terstruktur :
- 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.
C . Analisis Desain Berorientasi Objek (OOAD)
Analisis sistem dapat didefinisikan sebagai
penguraian dari suatu
sistem informasi yang utuh ke
dalam bagian-bagian komponennya dengan
maksud untuk mengidentifikasikan dan
mengevaluasi permasalahan-permasalahan, kesempatan kesempatan, hambatan-hambatan yang
terjadi dan kebutuhan-kebutuhan yang diharapkan sehingga dapat diusulkan perbaikan-perbaikannya. [3].
Desain sistem dapat didefinisikan sebagai penggambaran
dan pembuatan sketsa
atau pengaturan dari beberapa
elemen yang terpisah ke
dalam satu kesatuan
yang utuh dan
berfungsi. Desain adalah proses mengambil spesifikasi dari deskripsi
dari apa yang dibutuhkan dan
mengubahnya menjadi sebuah
desain dari deskripsi apa
yang akan dibangun (Khoo, 2011).
Sedangkan Objek
dapat diartikan sebagai suatu entitas yang memiliki identitas, state dan
behavior.Dari pengertian di atas dapat
disimpulkan bahwa metode
analisis dan desain berorientasi objek merupakan suatu metode untuk memeriksa kebutuhan dari sudut pandang kelas-kelas
dan objek kemudian
mempelajari permasalahan dengan menspesifikasikannya atau
mengobservasi permasalahan tersebut
sesuai dengan kombinasi antara
struktur data dan perilaku dalam satu entitas.
Metode analisa dan desain
berorientasi objek menawarkan
sebuah kerangka kerja
yang baik untuk skenario (Jakimi dan Koutbi, 2011). Metode analisis
dan desain berorientasi objek
memberikan konsistensi keamanan di
seluruh siklus hidup
pengembangan sistem dari
analisis kebutuhan sampai implementasi
(Kyung dan Jung, 2014).
Fokus utama metodologi
ini pada objek, dengan melihat
suatu sistem terdiri dari objek yang saling berhubungan.
Objek dapat digambarkan sebagai benda, orang, tempat dan
sebagainya yang mempunyai atribut dan
metode. Metodologi terdiri dari pembuatan
model dan domain aplikasi, kemudian
menambahkan rincian implementasi pada saat pembuatan desain dari suatu sistem.
Tahap-tahap metodologi berdasarkan Sistem Development Life Cycle (SDLC) digunakan dengan
memperhatikan karakteristik khusus berorientasi
objek yaitu analisis, desain dan
implementasi (Sutopo. 2008).
Adapun The Object
Management Group (OMG)
yaitu suatu konsorsium
pengembang perangkat lunak
menguraikan ciri-ciri utama
kunci analisis dan perancangan berorientasi objek yang
membedakan dari metodologi lainnya yaitu;
1.
Abstraksi yaitu
mendefinisikan suatu keterhubungan diantara suatu kelompok tipe objek dimana
objek tersebut merepresentasikan suatu rangkaian karakteristik yang dipakai
bersama dengan tipe objek lain.
2.
Enkapsulasi yaitu
mengimplikasikan pengemasan operasi
dan data secara bersama-sama pada
suatu tipe objek
dimana hanya data
tersebut yang dapat diakses melalui antarmukanya.
3.
Reuse atau Penggunaan Ulang yaitu
suatu kemampuan untuk
menggunakan ulang tipe objek
selama perancangan suatu sistem dan kelas-kelas objek dalam suatu implementasi
suatu sistem.
4.
Spesialisasi yaitu
ketika suatu objek menurunkan operasi, tipe atribut dan tipe keterhubungan dari
satu atau lebih supertipe.
5.
Komunikasi objek
yaitu dalam sistem orientasi objek, menggunakan
bentuk dari satu objek mengirim permintaan ke objek lain.
6.
Polymorfisme yaitu
konsep yang menyatakan bahwa sesuatu yang sama dapat mempunyai bentuk dan
perilaku yang berbeda.
Polymorfisme mempunyai arti bahwa
operasi yang sama
mungkin mempunyai perbedaan
dalam kelas yang berbeda.[3].
Kelebihan Pemrograman
Berorientasi Objek :
- 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
Pemrograman Berorientasi Objek :
- 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
sistem, 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.
C
. KESIMPULAN
- OOAD adalah suatu pendekatan dari sebuah sistem yang
berorientasi pada objek, semua paradigma atau fungsi dibungkus dalam
objek.
- SSAD merupakan pendekatan sistem yang semua objeknya
dapat berinteraksi dengan objek lainnya.
DAFTAR PUSTAKA
1 Ananda, Agung Tuah. "Analisis Dan Desain Sistem Terstruktur". https://medium.com/@agungtuahananda/analisis-dan-desain-sistem-terstruktur-1722b4b51a64 [Akses : Sep 18 2018, 20:44 WIB].
3. Andira, Arya. "Perbedaan Teknik Pemrograman Terstruktur dan Berorientasi Objek". https://www.dictio.id/t/apa-perbedaan-teknik-pemrograman-terstruktur-dan-yang-berorientasi-objek/13290/2 [Akses : Sep 20 2018, 20:44 WIB].
Komentar
Posting Komentar