Friday, June 20, 2014

Data Flow Diagram (DFD) dan Entity Relationship Diagram (ERD)

DATA FLOW DIAGRAM

Data Flow Diagram (DFD) merupakan representasi secara grafis dari aliran data yang melalui sistem informasi,  yang menggambarkan aspek prosesnya. DFD menunjukkan data seperti apa yang dimasukkan dan menjadi keluaran dari sistem, dari mana arah data dan kemana perginya, dan dimana data disimpan. Namun, DFD tidak menunjukkan timing pemrosesan, dan informasi apakah proses tersebut dilakukan dalam urutan atau paralel (seperti yang ditunjukkan oleh alurdata/flowchart).
Proses pembuatan DFD dimulai dengan pembuatan Context-Level Data Flow Diagram pada awalnya, yang menunjukkan interaksi antara sistem dan  agen-agen eksternal (bisa berupa orang/organisasi/sistem) yang bertindak sebagai data sources (yang memberikan informasi pada sistem dalam bentuk alur data) dan data sinks (yang menerima output dari sistem).dalam diagram ini interaksi sistem dengan dunia luar digambarkan murni sebagai alur data antar system boundary. Diagram ini menunjukkan keseluruhan sistem sebagai proses tunggal, dan tidak memberikan informasi mengenai organisasi internalnya.
Context-Level Data Flow  Diagram kemudian berkembang menjadi Level 0 DFD yang menunjukkan beberapa detail dari sistem yang digammbarkan. Level 0 DFD menunjukkan bagaimana sistem dibagi-bagi menjadi subsistem (proses), dimana masing masing subsistem tersebut menangani satu atau lebih alur data dari dan ke agen eksternal, yang mana bila disatukan akan memberikan fungsionalitas dari sistem secara keseluruhan. Diagram ini juga mengidentifikasi penyimpanan data internal yang dibutuhkan agar sistem dapat melakukan pekerjaannya, dan menunjukkan alur data antara masing-masing bagian dari sistem.
Data Flow Diagram (DFD) sendiri diajukan oleh Larry Constantine, pengembang dari desain terstruktur, yang didasarkan dari model komputasi “Data Flow Graph” milik Martin dan Estrin. DFD merupakan salah satu dari tiga perspektif essensial dari analisa sistem terstruktur (Structured-System Analysis) dan metode desain SSADM (Structured System Analysis and Desain Method). Sponsor proyek dan pengguna terakhir harus dilibatkan dan dan dikonsultasikan selama proses dari evolusi sistem tersebut. Dengan DFD, pengguna dapat memvisualisasikan bagaimana suatu sistem beroperasi, apa hasil yang akan dicapai sistem,  dan bagaimana sistem akan diimplementasikan. Sistem lama dari DFD bisa digambar dan dibandingkan dengan sistem yang baru  untuk menggambar perbandingan yang dapat menghasilkan sistem yang lebih efisien. DFD dapat digunakan oleh pengguna terakhir sebagai ide fisik di bagian mana data yang mereka masukkan memiliki efek terhadap struktur dari keseluruhan sistem .  Bagaimana suatu sistem dikembangkan bisa ditentukan melalui DFD.

Berikut merupakan prinsip-prinsip dari DFD:
1.               Prinsip umum DFD adalah sistem dapat dipecah menjadi subsistem, dan subsistem dapat dipecah menjadi level subsistem yang lebih rendah, dan selanjutnya.
2.               Masing-masing subsistem menunjukkan proses atau aktifitas mengenai data mana yang diproses. Pada level terendah, pemecahan subsistem sudah tidak bisa diproses lagi.
3.               Masing-masing proses DFD ter tersebut mempunyai karakteristik dari sistem
4.               Sistem memiliki input dan output (jika sistem tersebut tidak mati), jadi proses pun juga harus memiliki input dan output.
5.               Data masuk ke sistem melalui lingkungan; alur data yang diposes berada dalam sistem; data diproduksi sebagai output dari sistem.


NOTASI DFD

Terminator/Kesatuan luar (External Entity)
Setiap sistem pasti mempunyai batas sistem (boundary) yang memisahkan suatu sistem dengan lingkungan luarnya. Kesatuan luar (external entity) merupakan kesatuan (entity) di lingkungan luar sistem yang berupa orang, organisasi atau sistem lainnya yang berada di lingkungan luarnya yang akan membeikan input atau menerima output dari sistem (Jogiyanto, 1989).
Suatu kesatuan luar dapat disimbolkan dengan suatu notasi kotak.


Notasi terminator/Kesatuan Luar di DFD

Terminator dapat berupa orang, sekelompok orang, organisasi, departemen di dalam organisasi, atau perusahaan yang sama tetapi di luar kendali sistem yang sedang dibuat modelnya. Terminator dapat juga berupa departemen, divisi atau sistem di luar sistem yang berkomunikasi dengan sistem yang sedang dikembangkan.

Arus data (data flow)
Arus data (data flow) di DFD diberi simbol suatu panah. Arus data ini mengalir diantara proses (Process), simpanan data (data store) dan kesatuan luar (external entity). Arus data ini menunjukkan arus data yang dapat berupa masukkan untuk sistem atau hasil dari proses sistem.
Notasi Arus Data di DFD



Arus data  data dapat berbentuk sebagai berikut :
·       Formulir atau atau dokumen dokumen digunakan perusahaan
·       Laporan tercetak  yang dihasilkan sistem
·       Output  dilayar  komputer
·       Masukan untuk komputer
·       Komunikasi ucapan
·       Surat atau memo
·       Data yang dibaca atau atau direkam di  file
·       Suatu isian yang  yang dicatat pada buku agenda
·       Transmisi data  dari suatu komputer ke komputer lain

Proses (process)
Suatu proses adalah kegiatan atau kerja yang dilakukan oleh orang, mesin, atau komputer dan hasil suatu arus data yang masuk ke dalam proses untuk dilakukan arus data yang akan keluar dari prises. Suatu proses dapat ditunjukkan dengan simbol lingkaran atau dengan simbol empat persegi panjang tegak dengan sudut-sudutnya tumpul.







Notasi Proses di DFD

Ada beberapa hal yang perlu diperhatikan tentang proses :
·       Proses harus memiliki input dan output.
·       Proses dapat dihubungkan dengan komponen terminator, data store atau proses melalui alur data.
·       Sistem/bagian/divisi/departemen yang sedang dianalisis oleh profesional sistem digambarkan dengan komponen proses.

Simpanan data (data store)
Simpanan data (data store) merupakan simpanan dari data yang dapat berupa file atau database di sistem komputer, arsip atau catatan manual, kotak tempat data di meja seseorang, tabel acuan manual, agenda atau buku. Simpanan data di DFD dapat disimbolkan dengan sepasang garis horizontal paralel yang tertutup di salah satu ujungnya.


Simbol dari Simpanan Data di DFD





TIPE DFD

Terdapat 2 tipe dari DFD yaitu:
1.               Physical Data Flow Program, Yang merupakankan representasi grafik dari sistem yang menunjukkan kesatuan luar maupun dalam dari sistem, aliran-aliran data kedalam maupun keluar dari kesatuan-kesatuan tersebut. Kesatuan dalam adalah orang, organisasi, atau mesin dalam sistem yang mentransformasikan data. PDFD tidak menunjukkan apa yang dilakukan tapi menunjukkan dimana, bagaimana dan oleh siapa proses-proses di dalam sistem dilakukan. Penamaan aliran data dan proses menggunakan kata benda untuk menunjukkan bagaimaba sistem tersebut mentransformasikan data di dalam prosesnya.
2.               Logical Data Flow Diagram, merupakan representasi grafis dari sistem yang menunjukkan proses-proses dalam sistem dan aliran-aliran data keluar dan ke dalam proses tersebut. LDFD digunakan untuk membuat dokumentasi sebuah sistem informasi karena LDFD mewakili logika suatu sistem tersebut, yaitu apa yang perlu dilakukan sistem tanpa perlu menspesifikasi dimana, bagaimana, dan oleh siapa proses tersebut dilakukan. Penamaan aliran datanya menggunakan kata kerja untuk menunjukkan proses-proses atau aksi yang dilakukan oleh sistem tersebut





ENTITY RELATIONSHIP DIAGRAM

Entity relationship adalah suatu cara memodelkan suatu data ditingkat konseptual dalam perancangan basis data.  Model Entity-Relationship merupakan alat modeling data yang populer dan banyak digunakan oleh para perancang database.  Data model merupakan representasi abstrak dari data tentang entitas, kejadian, aktifitas dan asosiasinya dalam suatu organisasi.  Tujuan dari pemodelan data adalah untuk menyajikan data dan menjadikan data mudah dimengerti, sehingga mempermudah perancangan dan pengaksesan database.
Berdasarkan tipe konsepnya, data model dibagi menjadi dua kategori yaitu Conceptual (High Level) Data Model dan Physical (Low Level) Data ModelConceptual Data Model merupakan konsep yang berkaitan dengan pandangan pemakai terhadap data, sedangkan Physical Data Model merupakan konsep yang menerangkan detail dari bagaimana data di simpan di dalam komputer.  Dalam pandangan ini model Entity-Relationship digunakan untuk menggambarkan Conceptual Data Model (E-R).
Dengan kata lain, ERD adalah suatu model jaringan yang menggunakan susunan data yang disimpan dalam system secara abstrak. Jadi, jelaslah bahwa ERD ini berbeda dengan DFD yang merupakan suatu model jaringan fungsi yang akan dilaksanakan oleh system, sedangkan ERD merupakan model jaringan data yang menekankan pada struktur-struktur dan relationship data.
     

ELEMEN-ELEMEN DIAGRAM HUBUNGAN ENTITAS

  1.  ENTITY
Pada E-R diagram, entity digambarkan dengan sebuah bentuk persegi panjang. Entity adalah sesuatu apa saja yang ada di dalam system, nyata maupun abstrak dimana data tersimpan atau dimana terdapat data. Entitas diberi nama dengan kata benda dan dapat dikelompokkan dalam empat jenis nama, yaitu orang, benda, lokasi, kejadian(terdapat unsur waktu di dalamnya).

  1. RELATIONSHIP
Relationship atau relasi adalah hubungan antara suatu himpunan dengan himpunan entitas yang lainnya. Pada penggambaram diagram hubungan entitas, relasi adalah perekat yang menghubungkan suatu entitas dengan entitas lainnya. Relasi merupakan hubungan yang berarti antara suattu entitas dengan entitas lainnya. Frasa ini berimplikasi bahwa relasi mengijinkan untuk menjawab pertanyaan-pertanyaan yang berkaitan dengan hubungan suatu entits dengan lainya. Hubungan dibedakan antar bentuk hubungan antar entitas dengan isi. Misalnya kasus hubungan antara entitas pegawai dan entitas bagian adalah jam kerja, sedangkan isi hubungannya dapat berupa total jam kerja, gaji lembur. Relasi digambarkan dalam bentuk intan. Pada model data relasi hubungan antar data dihubungkan dengan kunci relasi. Tipe hubungan di antara beberapa buah tipe entitas adalah kumpulan dari relasi di antara entitas-entitas dari tipe entitas tersebut. Relasi mempunyai karakteristik terdiri dari kumpulan tuple-tuple, urutan dari tuple-tuple merepresenrasikan data pada tingkat abstrak logis dan urutam data dianggap penting.

  1. RELATIONSHIP DEGREE
Relation degree atau Derajat Relationship adalah jumlah entitas yang berpartisipasi dalam satu relationship. Terdapat 3 macam derajat dari relationship, yaitu :
  • Unary Degree (derajat satu),
Bila satu entity mempunyai relasi terhadap dirinya sendiri.  Digambarkan sebagai berikut :



  • Binary degree (derajat dua) dan
Bila satu relasi menghubugkan dua entity, digambarkan sebagai berikut :



  • Ternary degree (derajat tiga)
Bila satu entity menghubungkan lebih dari dua entity. Digambarkan sebagai berikut :




  1.  ATRIBUT
`Secara umum atribut adalah sifat atau karakteristik dari tiap entitas maupun tiap Relationship. Maksudnya, atribut adalah sesuatu yang menjelaskan apa sebenarnya yang dimaksud entitas maupun Relationship sehingga sering dikatakan bahwa atribut adalah elemen dari setiap entitas dari Relationship.
     Atribut value atau nilai attribute adalah suatu occurrence teretntu dari sebuah attribute di dalam suatu entity atau Relationship.

Ada dua jenis atribut antara lain sebagai berikut:
  1. Identifier (key) digunakan untuk menentukan suatu entity secara unik (primary key).
  2. Descriptor (nonkey attribute) digunakan untuk menspesifikasikan karakteristik dari suatu entity yang tidak unik.

  1.  KARDINALITAS (CARDINALITY)
Kardinalitas Relasi menunjukkan jumlah maksimum tupel yang dapat berelasi dengan entitas pada entitas yang lain yang berfungsi untuk menjelaskan jumlah hubungan/relationship dari entity-entity yang berpastisipasi.  Terdapat 3 macam kardinalitas yaitu :
·                  Hubungan 1 : 1 (One to One Relationship)
Yaitu suatu entity yang berada di himpunan A berhubungan dengan paling banyak dengan satu entity pada himpunan B, dan entity pada himpunan B berhubungan dengan paling banyak satu entity di himpunan A, digambarkan sebagai :

 
·                  Hubungan 1 : M (One to Many/Many to One Relationship)
Yaitu suatu entity pada himpunan A dapat berhubungan dengan sejumlah entity pada himpunan B, tetapi entity yang berada pada himpunan B hanya dapat berhubungan dengan hanya satu entity dari himpunan A atau sebaliknya.  Digambarkan sebagai :
      


·                  Hubungan M : N (Many to Many Relationship)
             Yaitu suatu entity yang berada di himpunan A dapat berhubungan dengan banyak entity di himpunan B, dan sebaliknya. Digambarkan sebagai :




NOTASI ERD

Notasi-notasi simbolik di dalam Diagram E-R yang dapat kita gunakan adalah sebagai berikut.
  • Persegi panjang, menyatakan Himpunan Entitas / entitas.
  • Lingkaran / Elips, menyatakan Atribut (Atribut yang berfungsi sebagai key digaris bawahi)
  • Belah Ketupat, menyatakan Himpunan Relasi /relasi.
  • Garis, sebagai penghubung anatra Himpunan Relasi dengan Himpunan Entitas dan Himpunan Entitas dengan Atributnya.
  • Kardinalitas Relasi dapat dinyatakan dengan banyaknya garis cabang atau dengan pemakaian angka (1 dan 1 untuk relasi satu-ke-satu, 1 dan N untuk relasi sqatu-ke-satu-ke-banyak atau N dan N untuk relasi banyak-ke-banyak).




E


                                                                      Himpunan Entitas E


                                                a                Atribut a sebagai key


                                               
                                               
                                                R                Himpunan Relasi R



                                                                   Link







TAHAPAN PEMBUATAN DIAGRAM E-R

            Diagram E-R selalu dibuat secara bertahap. Paling tidak ada dua kelompok pentahapan yagn bisa ditempuh di dalam pembuatan Diagram E-R, yaitu:
1.     tahap pembuatan Diagram E-R awal (preliminary design).
2.     tahap optimasi Diagram E-R (final design ).

       Langkah-langkah teknis yang dapat kita lakukan untuk menghasilkan Diagram E-R adalah sebagai berikut:
  1. Mengidentifikasi dan menetapkan seluruh entitas yang akan terlibat.
  2. Menentukan atribut-atribut key (primary key) dari masing-masing entitas.
  3. Mengidentifikasi dan menetapkan seluruh relasi di antara entitas-entitas yang ada berserta foreign-key-nya (jika terjadi kardinalitas relasi one to many to many).
  4. Menentukan derajat/kardinalitas relasi untuk setiap relasi.
  5. Melengkapi entitas dan relasi dengan atribut-atribut deskriptif (non-key).




SUMBER:

PERBANDINGAN SISTEM BERORIENTASI OBJEK (OBJECT ORIENTED) DAN SISTEM TERSTRUKTUR

 
 Konsep Dasar Pendekatan Berorientasi Objek

Pendekatan berorientasi objek merupakan suatu teknik atau cara pendekatan 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 nvata. Ada banvak cara untuk mengabstraksikan dan memodelkan objek-objek tersebut, mulai dan abstraksi objek, kelas, hubungan antar kelas sampai abstraksi sistem. Saat mengabstraksikan dan memodelkan objek mi, data dan proses-proses yang dipunyai oleh objek akan dienkapsulasi (dibungkus) menjadi satu kesatuan.
Dalam rekayasa perangkat lunak, konsep pendekatan berorientasi objek dapat diterapkan pada tahap analisis, perancangan, pemrograman, dan pengujian perangkat lunak. Ada berbagai teknik yang dapat digunakan pada masing masing tahap tersebut, dengan aturan dan alat bantu pemodelan tertentu.
Sistem berorientasi objek merupakan sebuah sistem yang dibangun dengan berdasarkan metode berorientasi objek adalah sebuah sistem yang komponennva dibungkus (dienkapsulasi) menjadi kelompok data dan fungsi. Setiap komponen dalam sistem tersebut dapat mewarisi atribut dan sifat dan komponen lainnya. dan dapat berinteraksi satu sama lain.

Karakteristik atau sifat-sifat yang dipunyai sebuah sistem berorientasi objek adalah sebagai berikut:
1.     Abstraksi
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
pembungkusan atribut data dan layanan (operasi-operasi) yang dipunyai objek. untuk menyembunyikan implementasi dan objek sehingga objek lain tidak mengetahui cara kerja-nya.
3.     Pewarisan (inheritance)
yang memungkinkan satu objek mewarisi sebagian atau seluruh definisi dan objek lain sebagai bagian dan dirinya.
4.     Reusabilily
pemanfaatan kembali objek yang sudah didefinisikan untuk suatupermasalahan pada permasalahan lainnya yang melibatkan objek tersebut.
5.     Generalisasi dan Spesialisasi
menunjukkan hubungan antara kelas dan objek yang umum dengan kelas dan objek yang khusus.
6.     Komunikasi Antar Objek
komunikasi antar objek dilakukan lewat pesan (message) yang dikirim dan satu objek ke objek lainnya.
7.     Polymorphism
kemampuan suatu objek untuk digunakan di banyak tujuan yang berbeda dengan nama yang sama sehingga menghemat baris program.

Metodologi Berorientasi Objek
Metodologi berorientasi objek adalah suatu strategi pembangunan perangkat lunak yang mengorganisasikan perangkat lunak sebagai kumpulan objek yang berisi data dan operasi yang diberlakukan terhadapnva. Metodologi berorientasi objek merupakan suatu cara bagaimana sistem perangkat lunak dibangun melalui pendekatan objek secara sistematis. Metode berorientasi objek didasarkan pada penerapan prinsip-prinsip pengelolaan kompleksitas. Metode berorientasi objek meliputi rangkaian aktivitas analisis berorientasi
objek. perancangan berorientasi objek, pemrograman berorientasi objek. Dan pengujian berorientasi objek.
Pada saat ini, metode berorientasi objek banyak dipilih karena metodologi
lama banyak menimbulkan masalah seperti adanya kesulitan pada saat mentransformasi hasil dari satu tahap pengembangan ke tahap berikutnya, misalnya pada metode pendekatan terstruktur, jenis aplikasi yang dikembangkan saat ini berbeda dengan masa lalu. Aplikasi yang dikembangkan pada saat ini sangat beragam (aplikasi bisnis. real-time, utility, dan sebagainya) dengan platform yang berbeda-beda, sehingga menimbulkan tuntutan kebutuhan metodologi pengembangan yang dapat mengakomodasi ke semua jenis aplikasi tersebut.

Keuntungan menggunakan metodologi berorientasi objek adalah sebagai berikut:
1.     meningkatkan produktivitas
karena kelas dan objek yang ditemukan dalam suatu masalah masih dapat dipakai ulang untuk masalah lainnva yang melibatkan objek tersebut (reusable)
2.     kecepatan pengembangan
karena sistem yang dibangun dengan baik dan benar pada saat analisis dan perancangan akan menyebabkan berkurangnva kesalahan pada saat pengkodean kemudahan pemeliharaan
3.     karena dengan model objek, pola-pola yang cenderung tetap dan stabil dapat dipisahkan dan pola-pola yang mungkin sering berubah-ubah adanya konsistensi karena sifat pewarisan dan penggunaan notasi yang sama pada saat analisis, perancangan maupun pengkodean. meningkatkan kualitas perangkat lunak
4.     karena pendekatan pengembangan lebih dekat dengan dunia nyata dan adanya konsistensi pada saat pengembangannva, perangkat lunak yang dihasilkan akan mampu memenuhi kebutuhan pemakai serta mempunyai sedikit kesalahan.


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).





 Sekilas Pendekatan Terstruktur

Teknik terstruktur, merupakan pendekatan formal untuk memecahkan masalah-masalah dalam aktivitas bisnis menjadi bagian-bagian kecil yang dapat diatur dan berhubungan untuk kemudian dapat disatukan kembali menjadi satu kesatuan yang dapat dipergunakan untuk memecahkan masalah.
Dalam hubungannya dengan pengembangan sistem informasi dan software aplikasi sistem informasi, pemrograman terstruktur adalah proses yang berorientasi kepada teknik yang digunakan untuk merancang dan menulis program secara jelas dan konsisten. Desain terstruktur merupakan salah satu proses yang berorientasi teknik yang digunakan untuk memilah-milah program besar ke dalam hirarki modul-modul yang menghasilkan program komputer yang lebih kecil agar mudah untuk diimplementasikan dan dipelihara (diubah). Analisis Terstruktur Modern merupakan teknik yang berorientasi kepada proses yang paling populer dan banyak digunakan dewasa ini. Pemodelan data merupakan suatu teknik yang berorientasi kepada data dengan menunjukkan sistem hanya datanya saja terlepas dari bagaimana data tersebut akan diproses atau digunakan untuk menghasilkan informasi.  Rekayasa Informasi merupakan perpaduan dari pemodelan data dan proses, juga memberikan penekanan baru terhadap pentingnya perencanaan sistem informasi.

Ciri-ciri utama teknik terstruktur adalah sebagai berikut:
1.     Merancang berdasar modul
Modularisasi adalah proses yang membagi suatu sistem menjadi beberapa modul yang dapat beroperasi secara independen.
2.     Bekerja dengan pendekatan top-down
Dimulai dari level atas (secara global) kemudian diuraikan sampai ke tingkat modul (rinci).
3.     Dilakukan secara iterasi
Dengan iterasi akan didapat hasil yang lebih baik, terlalu banyak iterasi juga akan menurunkan hasilnya dan menunjukkan bahwa tahap sebelumnya tidak dilakukan dengan baik
4.     Kegiatan dilakukan secara paralel
Pengembangan subsistem-subsistem dapat dilakukan secara paralel, sehingga akan memperpendek waktu pengembangan sistem


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 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).



Sumber: