Rabu, 23 Mei 2018

Pendekatan Perancangan Terstruktur Sistem Informasi

                    

        Assalamualaikum readers. Pada kesempatan kali ini saya akan menyampaikan materi mengenai pendekatan analisis dan perancangan terstruktur untuk membangun sistem informasi. Berikut ini penjabarannya.



A.              Perancangan Terstruktur ( SSAD )

SSAD atau juga disebut dengan pendekatan perancangan terstruktur diperkenalkan pada tahun 1970 yang merupakan hasil turunan dari pemrograman terstruktur. Perancangan ini bertujuan untuk membuat model SOLUSI terhadap PROBLEM yang sudah dimodelkan secara lengkap pada tahap analisis terstruktur. Ada empat kegiatan perancangan yang harus dilakukan, yaitu :

1.  Perancangan arsitektural; kita merancang struktur modul P/L dengan 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 struktur hirarki modul. Selanjutnya, kita alokasikan fungsi-fungsi yang harus ada pada modul-modul yang tepat.
2.   Perancangan data; kita merancang struktur data yang dibutuhkan, serta merancang skema basisdata dengan mengacu pada model analisis yang sesuai (ERD)
3.    Perancangan antarmuka; kita merancang antarmuka P/L dengan pengguna, antarmuka dengan sistem lain dan antarmuka antar-modul.
4.    Perancangan procedural; kita merancang detil dari setiap fungsi pada modul. Notasi yang digunakan bisa berupa flowchart, algoritma dan lain-lain.

Sebelum kita melihat kelebihan dan kekurangan SSAD dan OOAD maka saya juga akan menjelaskan secara singkat apa itu OOAD. OOAD adalah metode analisis yang memeriksa requirements dari sudut pandang kelas-kelas dan objek yang ditemui dalam ruang lingkup permasalahan yang mengarahkan arsitektur software yang didasarkan pada manipulasi objek-objek sistem dan subsistem. 

        B.      Kelebihan dan kekurangan antara SSAD dan OOAD

Kelebihan :
  • OOAD
1. Dibandingkan dengan metode SSAD, OOAD lebih mudah digunakan dalam pembangunan system.
2. Dibandingkan dengan SSAD, waktu pengembangan, level  organisasi, ketangguhan dan penggunaan kembali (re-use) kode program lebih tinggi dibandingkan dengan metode OOAD.
3.  Tidak ada pemisahan antara fase desain dan analisi, sehingga meningkatkan komunikasi antara user dan developer dari awal  hingga akhir pembangunan system.
4.  Analis dan programmer tidak dibatasi dengan batasan implementasi system.
5.  Relasi obyek dengan entitas (thing) umumnya dapat di-mapping dengan baik seperti kondisi pada dunia nyata dan keterkaitan dalam system. Hal ini memudahkan dalam memahami desain.
6.  Memungkinkan adanya perubahan dan kepercayaan diri yang tinggi terhadap kebenaran software yang membantu untuk mengurangi resiko pada pembangunan system yang kompleks.
7.  Encapsulasi data dan method, memungkinkan penggunaan kembali pada proyek lain, hal ini akan memperingan proses desain, pemrograman dan reduksi harga.
8. OOAD memungkinkan adanya standarisasi obyek yang akan memudahkan memahami desain dan mengurangi resiko pelaksanaan proyek.
9.  Dekomposisi obyek, memungkinkan seorang analis untuk memecah masalah menjadi pecahan-pecahan masalah dan bagian-bagian yang di-manage secara terpisah. Kode program dapat dikerjakan bersama-sama. Metode ini memungkinkan pembangunan software dengan cepat, sehingga dapat segera masuk ke pasaran dan kompetitif. System yang dihasilkan sangat fleksibel dan mudah dalam memelihara.

  • SSAD
  1.  Milestone diperlihatkan dengan jelas yang memudahkan dalam 
       manajemen proyek
  2.  SSAD merupakan pendekatan visul, ini membuat metode ini 
       mudah dimengerti oleh pengguna atau programmer
  3.  Penggunaan analisis grafis dan tool seperti DFD menjadikan 
       SSAD bagus untuk digunakan  
  4.  SSAD merupakan metode yang diketahui secara umum pada 
       berbagai industry
  5.  SSAD sudah diterapkan begitu lama sehingga metode ini sudah 
       matang dan layak untuk digunakan
  6.   SSAD memungkinkan untuk melakukan validasi antara berbagai 
       kebutuhan
  7.   SSAD relative simple dan mudah dimengerti

Kekurangan
  • OOAD
  1.    Pada awal desain OOAD, system mungkin akan sangat simple.
  2.    Pada OOAD lebih focus pada coding dibandingkan dengan 
       SSAD.
  3.    Pada OOAD tidak menekankan pada kinerja team seperti pada
       SSAD.
  4.    Pada OOAD tidak mudah untuk mendefinisikan class dan obyek 
       yang dibutuhkan system.
  5.   Seringkali pemrograman berorientasi obyek digunakan untuk
       melakukan analisis terhadap fungsional site, sementara metode 
       OOAD tidak berbasis pada fungsional system.
  6.  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.
 7. Metodologi pengembangan system denga OOAD menggunakan konsep re-use. Re-use merupakan salah satu keuntungan utama yang menjadi alasan digunakannya OOAD. Namun demikian, tanpa prosedur yang emplisit terhadap re-use, akan sangat sulit untuk menerapkan konsep ini 
      pada skala besar
  •      SSAD 

1.     SSAD berorientasi utama pada proses, sehingga mengabaikan 
      kebutuhan non-fungsional
2.     Sedikit sekali manajemen langsung terkait dengan SSAD
3.   Prinsip dasar SSAD merupakan pengembangan non-iterative 
    (waterfall) akan tetapi kebutuhan akan berubah pada setiap 
      proses 
4.     Interaksi antara analisis atau pengguna tidak komprehensif
      karena system telah didefinisikan dari awal, sehingga tidak
      adaptif terhadap perubahan 
5.    Selain dengan menggunakan desain logic dan DFD, tidak 
      cukup tool yang digunakan untuk mengkomunikasikan 
      dengan pengguna, sehingga sangat sulit bagi pengguna untuk 
      melakukan evaluasi. 
6.     Pada SSAD sulit sekali untuk memutuskan ketika ingin 
      menghentikan dekomposisi dan memulai membuat system 
7.     SSAD tidak selalu memenuhi kebutuhan pengguna 
8.     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.           Perbandingan antara SSAD dan OOAD

Sifat-sifat dari pemrograman terstruktur dapat diuraikan sebagai berikut :
1. Memuat teknik pemecahan masalah yang logis dan sistematis
2. Memuat algoritma yang efisien, efektif dan sederhana
3. Program disusun dengan logika yang mudah dipahami
4. Tidak menggunakan perintah GOTO
5. Biaya pengujian program relatif rendah
6. Memiliki dokumentasi yang baik
7. Biaya perawatan dan dokumentasi yang dibutuhkan
    relatif rendah

Berbeda dengan OOP. Suatu program disebut dengan pemrograman berbasis obyek (OOP) karena terdapat :
·           Encapsulation (pembungkusan)
Encapsulation adalah mekanisme pemrograman yang membungkus kode dan data yang dimanipulasi dan menjaganya supaya terhindar dari interferensi dan penggunaan yang tidak perlu. Salah satu caranya dengan membentuk objek.

·           Inheritance (pewarisan)
Inheritance memungkinkan programer meletakkan member yang sama dalam satu class dan  class-class lain dapat mewarisi member tersebut. Class yang mengandung member yang sama dari beberapa class lain dinamakan superclass atau parent class. Class yang mewarisi dinamakan subclass atau child class. Inheritance menghasilkan class hierarchy.

·           Polymorphism (polimorfisme –perbedaan bentuk)
Polymorphisme artinya mempunyai banyak bentuk. Dua objek atau lebih dikatakan sebagai polymorphic, bila objek-objek itu mempunyai antar muka yang identik namun mempunyai perilaku-perilaku yang berbeda
Bisa dikatakan pada pemrograman berorientasi objek, dapat dilakukan sebuah programming terhadap code yang lebih baik daripada pemrograman terstruktur, itu juga untuk kaliber atau skala rumit atau besar, sedangkan untuk coding yang skala kecil lebih mudah menggunakan pemrograman terstruktur dikarenakan lebih singkat dan mudah tanpa banyak perubahan yang penting.
berdasarkan penjelasan diatas, sangat jelas sekali bahwa pemrograman tersktruktur unggul dalam melakukan pemrograman sederhana karena lebih efisien dan lebih murah dalam hal perawatannya tetapi permodelan ini lebih susah untuk dipahami oleh orang – orang selain pembuat program itu sendiri (contohnya ketika dlakukan tracing program ).
Sementara itu pemrograman berorientasi objek memliki beberapa keuntungan seperti : 

1.      Maintenance; program lebih mudah dibaca dan dipahami, dan pemrograman berorientasi obyek mengontrol kerumitan program hanya dengan mengijinkan rincian yang dibutuhkan untuk programmer. 
2.      Pengubahan program (berupa penambahan atau penghapusan fitur tertentu); perubahan yang dilakukan antara lain menyangkut penambahan dan penghapusan dalam suatu database program misalnya. 
3.      Dapat digunakannya obyek-obyek sesering yang diinginkan, kita dapat menyimpan obyek-obyek yang yang dirancang dengan baik ke dalam sebuah tolkit rutin yang bermanfaat yang dapat disisipkan kedalam kode yang baru dengan sedikit perubahan atau tanpa perubahan pada kode tersebut.

         Jadi, pemrograman berorientasi objek sangat cocok sekali digunakan dalam kasus pembuatan software yang rumit dan kompleks karena memberikan berbagai kemudahan kepada pemrogram seperti yang telah disebutkan diatas.

Untuk baik tidaknya suatu pemodelan tergantung dari kebutuhan dan dari sudut pandang mana anda melihatnya. Tujuan dari pemodelan itu sendiri, yang mana agar pada akhir proyek sistem dapat diperoleh sistem informasi yang memenuhi kebutuhan pemakai, tepat waktu dan sesuai anggaran, serta mudah digunakan, dimengerti dan dipelihara



http://saiimilla.wordpress.com/2010/06/04/ooad-object-oriented-analysis-dan-design/
http://fahmiinformatika.blogspot.co.id/2011/11/perbedaan-sistem-oriented-objek-dengan.html