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).
Ada empat kegiatan perancangan yang
harus dilakukan, yaitu:
*Perancangan
     arsitektural: kita merancang struktur modul P/L dengam mengacu pada model
     analisis yang sesuai (DFD). Langkahnya adalah: mengidentifikasi jenis
     aliran (transform flow atau transaction flow), menemukan batas-batas
     aliran (incoming flow dan outgoing flow), kemudian memetakannya menjadi
     striktur hirarki modul. Selanjutnya, kita alokasikan fungsi-fungsi yang
     harus ada pada modul-modul yang tepat. 
*Perancangan
     data: kita merancang struktur data yang dibutuhkan, serta merancang skema
     basisdata dengan mengacu pada model analisis yang sesuai (ERD). 
*Perancangan
     antarmuka: kita merancang antarmuka P/L dengan pengguna, antarmuka dengan
     sistem lain, dan antarmuka antar-modul. 
*Perancangan
     prosedural: kita merancang detil dari setiap fungsi pada modul. Notasi
     yang digunakan bisa berupa flow chart, algoritma, dan lain-lain
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.
Pendekatan Objek memiliki beberapa
karakteristik atau sifat yaitu:
1. Abstraksi, yaitu prinsip untuk
merepresentasikan dunia nyata yang kompleks menjadi satu bentuk model yang
sederhana dengan mengabaikan aspek-aspek lain yang tidak sesuai dengan
permasalahan.
2. Enkapsulasi, yaitu pembungkusan
atribut data dan layanan (operasi-operasi) yang dipunyai objek.
3. Pewarisan (Inheritance), yaitu
mekanisme yang memungkinkan satu objek mewarisi sebagian atau seluruh definisi
dan objek lain sebagai bagian dan dirinya.
4. Reusability, yaitu pemanfaatan
kembali objek yang sudah didefinisikan untuk suatu permasalahan pada
permasalahan lainnya yang melibatkan objek tersebut.
5. Generalisasi dan Spesialisasi,
yaitu menunjukkan hubungan antara kelas dan objek yang umum dengan kelas dan
objek yang khusus.
6. Komunikasi Antar Objek, yaitu
dilakukan lewat pesan yang dikirim dari satu objek ke objek lainnya.
7. Polymorphism, yaitu kemampuan suatu
objek untuk digunakan di banyak tujuan yang berbeda dengan nama yang sama,
sehingga menghemat baris program.
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. 
*OAD 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).
referensi : 
- 
http://supriliwa.wordpress.com/2010/05/07/perbandingan-metode-terstruktrur-dan-obyek-oriented-pada-pengambangan-sistem-informasi/
- http://yosuaalvin.students-blog.undip.ac.id/apbo/http://mrdaniels.wordpress.com/2009/01/31/pendekatan-berorientasi-objek/