PERANCANGAN TERSTRUKTUR
Definisi
Perancangan terstruktur merupakan aktivitas mentransformasikan suatu hasil
analisis ke dalam suatu perencanaan untuk dapat diimplementasikan
(diotomasikan). Pendekatan perancangan terstruktur dimulai dari awal
1970. Pendekatan terstruktur dilengkapi dengan alat-alat (tools) dan
teknikteknik (techniques) yang dibutuhkan dalam pengembangan sistem,
sehingga hasil akhir dari sistem yang dikembangkan akan diperoleh sistem
yang strukturnya didefinisikan dengan baik dan jelas.
Melalui pendekatan terstruktur, permasalahan yang komplek di organisasi
dapat dipecahkan dan hasil dari sistem akam mudah untuk dipelihara,
fleksibel, lebih memuaskan pemakainya, mempunyai dokumentasi yang baik,
tepat waktu, sesuai dengan anggaran biaya pengembangan, dapat meningkatkan
produktivitas dan kualitasnya akan lebih baik (bebas kesalahan).
Aspek Perancangan Terstruktur
- Membantu pemecahan masalah
- Melakukan penyederhanaan sistem
- Menggunakan graphic tool agar sistem dapat dengan mudah dibaca dan dimengerti
- Memberikan rangkaian strategi untuk pengembangan solusi
- Memberikan kriteria dalam mengevaluasi solusi dengan melihat pada permasalahan aslinya
Elemen Perancangan Terstruktur
1. Modul
Modul merupakan sebuah instruksi atau sekumpulan instruksi program
yang terdiri dari : input(masukan), output(keluaran), fungsi,
mekanisme dan data internal. Contoh : Foxpro / Pascal (Procedure,
function),
COBOL (Program, section,paragraph), FORTRAN (subroutine).
2. Bagan terstruktur (Structured Chart)
Menggambarkan partisi sistem ke dalam : modul-modul, organisasi, dan
komunikasi. Keuntungannya ; Menggunakan gambar, Dapat
dipartisi, Fleksibel, Input sangat berguna pada
implementasi, Membantu pemeliharaan (maintenance) dan modifikasi.
3. Strategi Perancangan
Mentransformasikan hasil analisis (DFD) menjadi Bagan Terstruktur,
untuk diimplementasi. DFD memperlihatkan aliran data dan informasi
dari sistem. Jika dalam suatu DFD aliran datanya ditentukan oleh
suatu data item, misalnya ‘T’ yang mempunyai nilai/ karakteristik
tertentu, kemudian nilai ini akan mempengaruhi / menentukan arah
aliran data (men-trigger arah), maka titik proses dimana terjadi
percabangan arah aliran data tsb disebut titik pusat transaksi
4. Optimasi dari perancangan (Design Heuristic)
Tools Perancangan Terstruktur
- DFD (Data Flow Diagram )
- Kamus Data
- Entity Relationship Diagram (ERD)
- State Transition Diagram (STD)
Metodologi Perancangan Terstruktur
Metodologi pemecahan fungsional
Metodologi ini menekankan pada pemecahan sistem ke dalam
subsistem-subsistem yang lebih kecil, sehingga akan lebih mudah untuk
dipahami, dirancang, dan diterapkan.
Metodologi berorientasi data
Metodologi ini menekankan pada karakteristik data yang akan diproses.
Prescriptive methodologies
Metodologi ini merupakan metodologi yang dikembangkan oleh sistem house
dan pabrik-pabrik perangkat lunak dan tersedia secara komersial dalam
paket-paket program.
Kelebihan dan Kekurangan Perancangan 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 sulit bagi pengguna untuk melakukan evaluasi.
- Pada SAAD sulitt 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).
PERANCANGAN BERORIENTASI OBJEK
Definisi
Perancangan berorientasi objek 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. Pengertian "berorientasi
objek" berarti bahwa kita mengorganisasi perangkat lunak sebagai kumpulan
dari objek tertentu yang memiliki struktur data dan perilakunya.
Karakteristik dari Objek
Objek ialah Identitas. Berarti bahwa data diukur mempunyai nilai tertentu
yang membedakan entitas disebut Objek. Objek dapat kongkrit, seperti halnya
arsip dalam sistem, atau konseptual seperti kebijakan penjadualan dalam
multiprocessing pada sistem operasi. Setiap objek mempunyai sifat yang
melekat pada identitasnya. Dua objek dapat berbeda walaupun bila semua nilai
atributnya identik.
Kelas Objek ialah gambaran sekumpulan Objek yang terbagi dalam atribut,
operasi, metode, hubungan, dan makna yang sama. Suatu kegiatan mengumpulkan
data (atribut) dan perilaku (operasi) yang mempunyai struktur data sama ke
dalam satu grup. Kelas Objek merupakan wadah bagi Objek. Dapat digunakan
untuk menciptakan Objek. Objek mewakili fakta / keterangan dari sebuah
kelas.
Metodologi Berorientasi Objek
Metodologi pengembangan sistem berorientasi objek mempunyai 3
karakteristik utama :
Encapsulation
Encapsulation merupakan dasar untuk pembatasan ruang lingkup program
terhadap data yang diproses. Data dan prosedur atau fungsi dikemas
bersama-sama dalam suatu objek, sehingga prosedur atau fungsi lain
dari luar tidak dapat mengaksesnya. Data terlindung dari prosedur
atau objek lain, kecuali prosedur yang berada dalam objek itu
sendiri.
Inheritance
Inheritance adalah teknik yang menyatakan bahwa anak dari objek akan
mewarisi data/atribut dan metode dari induknya langsung. Atribut dan
metode dari objek dari objek induk diturunkan kepada anak objek,
demikian seterusnya. Inheritance mempunyai arti bahwa atribut dan
operasi yang dimiliki bersama di anatara kelas yang mempunyai
hubungan secara hirarki. Suatu kelas dapat ditentukan secara umum,
kemudian ditentukan spesifik menjadi subkelas. Setiap subkelas
mempunyai hubungan atau mewarisi semua sifat yang dimiliki oleh
kelas induknya, dan ditambah dengan sifat unik yang dimilikinya.
Kelas Objek dapat didefinisikan atribut dan service dari kelas Objek
lainnya. Inheritance menggambarkan generalisasi sebuah kelas.
Polymorphism
Polimorfisme yaitu konsep yang menyatakan bahwa seuatu yang sama dapat
mempunyai bentuk dan perilaku berbeda. Polimorfisme mempunyai arti bahwa
operasi yang sama mungkin mempunyai perbedaan dalam kelas yang berbeda.
Kemampuan objek-objek yang berbeda untuk melakukan metode yang pantas
dalam merespon message yang sama. Seleksi dari metode yang sesuai
bergantung pada kelas yang seharusnya menciptakan Objek.
Tools Perancangan Berorientasi Objek
- Object Oriented Analysis (OOA) dan Object Oriented Design (OOD) dari Peter Coad dan Edward Yourdon [1990].
- Object Modeling Technique (OMT) dan James Rumbaugh, Michael Blaha, William Premerlan, Frederick Eddy dan William Lorensen [1991].
- Object Oriented Software Engineering (OOSE) dan Ivar Jacobson [1992].
- Booch Method dan Grady Booch [1994].
- Sritrop dan Steve Cook dan John Daniels [1994].
- UML (Unified Modeling Language) dari James Rumbaugh. Grady Booch dan Ivar Jacobson [1997].
Kelebihan dan Kekurangan Perancangan Berorientasi Objek
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).
Algoritma Perancangan Terstruktur
Perancangan Terstruktur
Perancangan Terstruktur
Perancangan Terstruktur
0 Comments:
Post a Comment