Proses Perangkat Lunak Pengembangan Sistem

28 1 Perangkat lunak dibangun dan dikembangkan, tidak dibuat dalam bentuk yang klasik. 2 Perangkat lunak tidak pernah usang. Sebagian besar perangkat lunak dibuat berdasarkan kebutuhan, tidak hanya dibuat dari komponen yang sudah ada. Menurut Soemerville 2003: 26, rekayasa perangkat lunak adalah disiplin ilmu yang membahas semua aspek produksi perangkat lunak. Mulai dari awal spesifikasi sistem sampai pemeliharaan sistem setelah digunakan. Secara umum, perekayasa perangkat lunak memakai pendekatan sistematis dan terorganisir terhadap pekerjaan mereka karena cara ini seringkali efektif untuk menghasilkan perangkat lunak berkualitas tinggi.

2.10. Proses Perangkat Lunak

Proses software merupakan serangkaian kegiatan dan hasil yang menghubungkan dengan proses tersebut, yang menuju pada di\hasilkannya produk perangkat lunak Sommerville, 2003: 41. Walaupun ada banyak proses perangkat lunak, ada kegiatan- kegiatan mendasar yang umum bagi semua proses perangkat lunak. Menurut Sommerville, 2003: 41 kegiatan-kegiatan tersebut adalah: 1 Penspesifikasian perangkat lunak. Fungsionalitas perangkat lunak dan batasan operasinya harus didefinisikan. 29 2 Perancangan dan implementasi perangkat lunak. Perangkat lunak yang memenuhi persyaratan harus dibuat. 3 Pemvalidasian perangkat lunak. Perangkat lunak tersebut harus divalidasi untuk menjamin bahwa perangkat lunak bekerja sesuai dengan apa yang diinginkan pelanggan. 4 Pengevolusian perangkat lunak. Perangkat lunak harus dapat berkembang untuk menghadapi kebutuhan pelanggan yang berubah. Model proses perangkat lunak merupakan representasi abstrak dari proses perangkat lunak. Ada banyak proses perangkat lunak, diantaranya: model air terjun waterfall, pengembangan evolusioner, pengembangan sistem formal, pengembangan berdasarkan pemakaian ulang Sommerville, 2003: 42.

2.11. Pengembangan Sistem

Pengembangan sistem System Development dapat berarti menyusun atau membuat suatu sistem baru untuk menggantikan atau memperbaiki sistem lama, baik secara keseluruhan atau sebagian dari sistem yang telah ada dengan mengintegrasikan dan memadukan prosedur, sarana dan sumber daya manusia yang dimiliki. Sistem yang lama perlu diperbaiki atau diganti disebabkan karena beberapa hal sebagai berikut: 30 1 Adanya permasalahan-permasalahan yang timbul di sistem yang lama seperti adanya ketidakberesan atau adanya pertumbuhan organisasi. 2 Untuk meraih kesempatan-kesempatan, kesempatan ini dapat berupa peluang pasar, pelayanan yang meningkat kepada pelanggan. 3 Adanya instruksi-instruksi dari atasan atau pimpinan atau dari luar organisasi, seperti peraturan pemerintah. Dalam sebuah perancangan perangkat lunak diperlukan model- model proses atau paradigm rekayasa perangkat lunak berdasarkan sifat aplikasi dan proyeknya, metode dan alat bantu yang dipakai dan control serta penyampaian yang dibutuhkan. Menurut Pressman, 2005: 79 ada beberapa proses model diantaranya Sequential Linier, Prototype, Rapid Aplication Development RAD, Incremental, Iterative, Spiral, Concurrent, Componen-Based Development , Model Metode Fomral, Aspect Oriental Software Development, Unified Process, dan Extreme Programming XP. Berikut tabel perbedaan model-model pengembangan sistem. Tabel 2.1 Perbedaan pengembangan sistem Metode Kelebihan Kekurangan Penggunaan Secara Umum Sequential Linear Waterfall oleh Winston W. Royce 1929- 1995 pada tahun Metode ini baik digunakan untuk kebutuhan yang sudah diketahui dengan baik Iterasi yang sering terjadi menyebabkan masalah baru. Bagi pelanggan sulit menentukan Waterfall bekerja dengan baik pada proyek skala kecil 31 1970 kebutuhan secara eksplisit dan harus bersabar karena memakan waktu yang lama Prototype oleh Eleanor Rosch 1938-N pada tahun 1970 Metode ini cukup efektif dengan mendapatkan kebutuhan dan aturan yang jelas dan pelanggan bisa langsung melihat sistem yang sebenarnya Pengembang kadang0kadang membuat implementasi sembarang, karena ingin working version selesai dengan cepat Prototyping dapat bekerja dengan baik, jika ada kerja sama yang baik antara pengembang dan pelanggan Rapid Aplication Development RAD oleh James Martin 1933-N pada tahun 1991 Metode ini lebih cepat dari waterfall jika kebutuhan dan batasa proyek sudah diketahui dengan baik bisa untuk dimodularisasi Karena proyek dipecah menjadi beberapa bagian, maka dibutuhkan banyak orang untuk membentuk suatu tim karena komponen- komponen yang sudah ada, fasilitas-fasilitas pada tiap komponen belum tentu digunakan seluruhnya sehingga fasilitas program bisa menurun RAD cocok untuk aplikasi yang tidak mempunyai resiko teknis yang tinggi, RAD cocok untuk proyek yang memiliki SDM yang baik dan sudah berpengalaman Incremental oleh Schlimmer, et all. Pada tahun 1986 Fleksibel dan mudah untuk dikelola serta pengujiannya mudah Semua kebutuhan tidak dikumpulkan pada tahap awal sehingga menimbulkan masalah serta sulit untuk mengukur progress karena tidak ada timelines Cocok untuk aplikasi kebutuhan yang diidentifikasi dengan baik Iterative Fase desain pengkodean dan pengujian lebih cepat Butuh waktu yang banyak untuk menganalisis dan terlalu banyak langkah yang Hanya cocok untuk skala besar 32 dibutuhkan model Spiral oleh Barry

W. Boehm 1935- N

pada tahun 1986 Model ini digunakan untuk sistem skala besar, membutuhkan konsiderasi langsung terhadap resiko teknis, sehingga dapat mengurangi resiko besar Resiko utama tidak ditemukan, maka masalah bisa muncul kemudian sehingga membutuhkan manajemen dan perkiraan resiko yang cukup tinggi Hanya cocok untuk skala besar Concurrent oleh C.A.R. Hoare et all pada tahun 1960 Peningkatan aplikasi yang sudah selesai pada umumnya satu periode. Sangan memperhatikan input-output dari aplikasi. Dapat dieksekusi secara parallel Tidak bisa mendeteksi eror pada sub-program fungsi-fungsi program. Membutuhkan waktu yang lama Cocok untuk aplikasi yang membutuhkan ketelitian dalam proses input- output program Component- Based Development oleh Malcolm Douglas Mcllroy 1932-N pada tahun 1998 Komponen- komponen program dijadikan satu set paket sehingga dapat memudahkan para pengembang dalam pengkodean dan menggunakan kembali kode program tersebut Cukup menyulitkan dalam membuat paket-paket program yang dibutuhkan dalam mengembangkan aplikasi Baik digunakan untuk aplikasi yang banyak menggunakan program-program yang pernah dibuat Model Metode Fomral Sistem diekspresikan dengan teori matematika sehingga mudah dipahami Sulit dipahami bagi orang yang tidak memberti ekspresi matematika dan logikanya Baik digunakan untuk pengembangan aplikasi matematika atau perhitungan Aspect Oriented Software Development oleh Gregor Kiezales et all Mendukung modularisasi perhatiannya sejak dari pembuatan kode program Waktu pengerjaan kode program akan lebih lama karena lebih memperhatikan modul-modul program yang tersusun rapi. Baik digunakan untuk proyek skala besar. Aplikasi yang berbasis object oriented 33 Unified Process oleh Ivar Hjalmar Jacobson 1939- N, et all pada tahun 1990 Team proyek fokus pada alamat yang memiliki banyak resiko paling tinggi lebih awal. Sehingga dapat meminimalisir resiko pada saat apikasi sudah jadi Waktu pengerjaan proyek lebih lama karena menggabungkan konsep iterasi dan incremental Baik digunakan untuk aplikasi yang dibuat berbasis object oriented dengan notasi rational. Extreme Programming XP oleh Kent Beck 1943-N pada tahun 1999 Peningkatan kualitas software dan memfokuskan pada perubahan- perubahan yang diminta oleh pelanggan Para pengembang tidak bisa mengembangkan kualitas software karena tidak ada feedback dari pelanggan Baik untuk software yang sudah ada tetapi masih dibutuhkan pengembangan kualitas karena kebutuhan- kebutuhan dari pelanggan. Beberapa ahli membagi proses-proses pengembangan sistem ke dalam sejumlah urutan yang berbeda-beda. Tapi semuanya mengacu pada proses-proses standar berikut : 1 Analisis 2 Desain 3 Implementasi 4 Pemeliharaan Menurut Al Fatta, 2007: 26.Pada perkembangannya proses di atas dituangkan dalam satu metode yang dikenal dengan nama System Development Life Cycle SDLC yang merupakan metodologi umum dalam pengembangan sistem yang menandai kemajuan usaha analisis dan desain. 34 Menurut Mcleod, Jr 2001: 184 daur hidup pengembangan sistem adalah suatu urutan atau tahapan dari aktifitas yang berhubungan erat, yang dikerjakan oleh orang-orang yang terlibat dalam sistem informasi bersama-sama dengan pemakai akhir end user dengan tujuan untuk membangun sistem informasi yang berbasiskan komputer computer based information . Berikut adalah gambar pengembangan sistem perangkat lunak dengan proses SDLC System Development Life Cycle dengan model sekuensial linear yang sering disebut juga dengan “siklus kehidupan klasik” atau “model air terjun”. Gambar 2.4 Model sequential linier atau waterfall Sumber: Roger S. Pressman.“Software Engineering A practitioner’s Approach” , 2010: 39 Menurut Sutabri, 2004: 68-70 Metodologi pengembangan sistem informasi dikelompokkan menjadi 4 tahap antara lain sebagai berikut: 1 Metodologi yang Berorientasi Keluaran Metodologi ini disebut juga metodologi tradisional, diperkenalkan sekitar tahun 1960 dengan memberikan tahapan dalam pengembangan system tanpa dibekali dengan tehnik dan peranti yang memadai. Communication Project initiation Requirement gathering Planning Estimating Scheduling Tracking Modeling Analysis Design Construction Code Test Deployment Delivery Support Feedback 35 2 Metodologi yang Berorientasi Proses Metodologi ini disebut juga dengan metodologi struktur analisis dan desain, diperkenalkan sekitar tahun 1970 dan masih mendominasi pengembangan sistem sampai saat ini. Metodologi ini telah dilengkapi dengan alat-alat tool dan tehnik-tehnik yang dibutuhkan untuk pengembangan sistem, khususnya pemrograman terstruktur dan modular. 3 Metodologi yang Berorientasi Data Metodologi ini disebut juga metodologi model informasi. Diperkenalkan sekitar tahun 1980 dengan semakin banyaknya yang menggunakan Relational Database.Management System. Alat yang digunakan untuk membuat model ialah Entity Relational Diagram ERD. 4 Metodologi yang Berorientasi Objek Metodologi ini diperkenalkan sekitar tahun 1990 sebagai pelengkap untuk pemrograman yang terlebih dahulu telah mengadopsi metode berorientasi objek. Beberapa alat dan tehnik yang digunakan antara lain dynamic and case scenario.

2.12. Web