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

  1. OOAD adalah suatu pendekatan dari sebuah sistem yang berorientasi pada objek, semua paradigma atau fungsi dibungkus dalam objek.
  2. 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

Postingan populer dari blog ini