Pada materi ini akan disampaikan mengenai Konsep Perancangan dengan Pendekatan/ Metodologi Terstruktur dan Berorientasi Objek dan dapat membedakan keduanya serta dapat memhami alat bantu perancangan sistem pada masing-masing pendekatan/metodologi.
Secara global definisi System Development Life Cycle (SDLC) dapat dikatakan sebagai suatu proses berkesinambungan untuk menciptakan atau merubah sebuah sistem, merupakan sebuah model atau metodologi yang digunakan untuk melakukan pengembangan sistem. Dapat
Copylefttsetiaji halaman 1
dikatakan dalam SDLC merupakan usaha bagaimana sebuah sistem informasi dapat mendukung kebutuhan bisnis, rancangan & pembangunan sistem serta delivering-nya kepada pengguna. Secara umum, tahapan SDLC meliputi proses perencanaan, analisis, desain dan implementasi. Planning, proses perencanaan biasanya lebih menekankan pada alasan mengapa sebuah sistem harus dibuat. Analysis, setelah tahapan perencanaan ini kemudian dilanjutkan dengan proses analisis yang lebih menekankan pada siapa, apa, kapan dan dimana sebuah sistem akan dibuat. Design, sedangkan pada proses desain lebih menekankan kepada bagaimana sistem akan berjalan. Implementation, tahap terakhir dilanjutkan dengan fase implementasi yaitu proses delivery-nya kepada pengguna. Pendekatan formal tahapan pengembangan sistem disebut metodologi. Saat ini bermacammacam metodologi dalam pengembangan sistem. Wah, tambah bingung aja milihnya dong.. Nggak usah kuatir, sampeyan dapat memilih metodologi yang tepat disesuaikan dengan kebutuhan proses bisnis dan data yang mendukungnya. Beberapa metodologi yang biasa dikenal antara lain Structural Design, Rapid Application Development (RAD) dan Agile Development. Structural Design Merupakan sebuah metode pengembangan sistem dimana antara satu fase ke fase yang lain dilakukan secara berurutan. Biasanya sebuah langkah akan diselesaikan terlebih dahulu sebelum melanjutkan ke fase berikutnya. Keuntungan menggunakan metodologi ini requirement harus didefinisikan lebih mendalam sebelum proses coding dilakukan. Disamping itu
Copylefttsetiaji halaman 2
metodologi ini memungkinkan sesedikit mungkin perubahan dilakukan pada saat proyek berlangsung. Namun, metodologi ini juga mempunyai beberapa kelemahan, diantaranya desain harus komplit sebelum programming dimulai, serta jika terjadi fase yang terlewati, maka biaya yang akan ditimbulkan akan lumayan besar. Bagian dari metodologi ini antara lain Waterfall Modeling dan Parallel Development. Berbeda dengan Waterfall Modeling, Parallel Development memungkinkan beberapa fase dilakukan secara bersama-sama untuk mempersingkat waktu. Rapid Application Development (RAD) Metodologi ini melakukan beberapa penyesuaian terhadap SDLC pada beberapa bagian sehingga lebih cepat untuk sampai ke tangan pengguna. metodologi ini biasanya mensyaratkan beberapa teknik dan alat2 khusus agar proses bisa cepat, misalnya melakukan sesi joint application development (JAD), penggunaan alat-alat computer aided software engineering (CASE Tools), kode generator dan lain-lain. Beberapa kategori RAD misalnya Phased Development, Prototyping dan Throw-away Prototyping. Phased Development membagi sistem secara keseluruhan menjadi beberapa versi sistem. Setelah desain untuk versi pertama selesai maka akan dilanjutkan ke implementasi. Setelah versi pertama terselesaikan, maka pengembang akan memulai lagi ke versi selanjutnya.
Copylefttsetiaji halaman 3
Metodologi prototyping melakukan analisis, desain dan implementasi secara bersamaan, kemudian dilakukan secara berulang-ulang untuk mendapat review dari pengguna. Sebuah prototiping adalah sebuah sistem dalam fungsi yang sangat minimal. Sedangkan metodologi Throwaway Prototyping hampir sama dengan metodologi Prototyping. Perbedaannya bahwa pada metodologi ini, analisis dilakukan lebih mendalam lagi.
Agile Development Bisa dikatakan ini merupakan metodologi yang lebih cepat dalam pengembangan sebuah sistem informasi. Metodologi ini melakukan perampingan pada proses pemodelan dan pembuatan dokumentasi. Pengembangan metodologi ini adalah eXtreme Programming dan Scrum. Keuntungan menggunakan teknik extreme programming. a) Menjalin Komunikasi yang Baik dengan Klien. b) Meningkatkan Komunikasi dan Sifat Saling Menghargai antar Developer.
Copylefttsetiaji halaman 4
Kelemahan menggunakan teknik extreme programming: a) Developer harus selalu siap dengan perubahan karena perubahan selalu diterima. b) Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran untuk melakukan apa yang diperlukan hari itu juga).
g) SSAD relatif simpel dan mudah dimengerti. Kekurangan a) SSAD berorientasi utama pada proses, sehingga mengabaikan kebutuhan nonfungsional. b) Sedikit sekali manajemen langsung terkait dengan SSAD c) Prinsip dasar SSAD merupakan pengembangan non-iterative (waterfall), akan tetapi kebutuhan akan berubah pada setiap proses. d) Interaksi antara analisis atau pengguna tidak komprehensif, karena sistem telah didefinisikan dari awal, sehingga tidak adaptif terhadap perubahan (kebutuhankebutuhan baru). e) Selain dengan menggunakan desain logic dan DFD, tidak cukup tool yang digunakan untuk mengkomunikasikan dengan pengguna, sehingga sangat sulit bagi pengguna untuk melakukan evaluasi. f) Pada SAAD sulit sekali untuk memutuskan ketika ingin menghentikan dekomposisi dan mliai membuat sistem. g) SSAD tidak selalu memenuhi kebutuhan pengguna. h) 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).
UML (Unified Modeling Language) dari James Rumbaugh. Grady Booch dan Ivar Jacobson [1997].
Metodologi pengembangan sistem berorientasi objek mempunyai tiga karakteristik utama, yaitu: 1. 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. 2. 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 antara kelas yang mempunyai hubungan secara hirarki. Inheritance menggambarkan generalisasi sebuah kelas. 3. Polymorphism Polimorfisme yaitu konsep yang menyatakan bahwa sesuatu yang sama dapat mempunyai bentuk dan perilaku 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. Kelebihan dan kekurangan dari metode perancangan ini adalah sebagai berikut : Kelebihan o Dibandingkan dengan metode SSAD, OOAD lebih mudah digunakan dalam pembangunan sistem
Copylefttsetiaji halaman 7
o Dibandingkan dengan SSAD, waktu pengembangan, level organisasi, ketangguhan,dan penggunaan kembali (reuse) kode program lebih tinggi dibandingkan dengan metode OOAD (Sommerville, 2000). o Tidak ada pemisahan antara fase desain dan analisis, sehingga meningkatkan komunikasi antara user dan developer dari awal hingga akhir pembangunan sistem. o Analis dan programmer tidak dibatasi dengan batasan implementasi sistem, jadi desain dapat diformliasikan yang dapat dikonfirmasi dengan berbagai lingkungan eksekusi. o 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). o Memungkinkan adanya perubahan dan kepercayaan diri yang tinggi terhadap kebernaran software yang membantu untuk mengurangi resiko pada pembangunan sistem yang kompleks (Booch, 2007). o Encapsliation data dan method, memungkinkan penggunaan kembali pada proyek lain, hal ini akan memperingan proses desain, pemrograman dan reduksi harga. o OOAD memungkinkan adanya standarisasi obyek yang akan memudahkan memahami desain dan mengurangi resiko pelaksanaan proyek. o 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 o Pada awal desain OOAD, sistem mungkin akan sangat simple. o Pada OOAD lebih fockus pada coding dibandingkan dengan SSAD. o Pada OOAD tidak menekankan pada kinerja team seperti pada SSAD. o Pada OOAD tidak mudah untuk mendefinisikan class dan obyek yang dibutuhkan sistem. o Sering kali pemrogramam berorientasi obyek digunakan untuk melakukan anlisisis terhadap fungsional siste, sementara metode OOAD tidak berbasis pada fungsional sistem. o 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). o 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).
Copylefttsetiaji halaman 8