Anda di halaman 1dari 13

IF0554 - REKAYASA PERANGKAT LUNAK

1/13 - MODUL 1

PENDAHULUAN
A. Perangkat Lunak
1. Pengertian Perangkat Lunak Gambaran perangkat lunak pada sebuah buku teks mungkin mengambil bentuk berikut : (1) perintah (program komputer) yang bila dieksekusi memberikan fungsi dan unjuk kerja seperti yang diinginkan. (2) Struktur data yang memungkinkan program memanipulasi informasi secara proporsional, dan (3) dokumen yang menggambarkan operasi kegunaan program. 2. Karakteristik Perangkat Lunak. Perangkat lunak lebih merupakan elemen logika dan bukan merupakan elemen fisik. Dengan demikian, perangkat lunak memiliki ciri yang berbeda dari perangkat keras. Ciri-ciri yang membedakan tersebut antara lain : 1. Perangkat lunak dibangun dan dikembangkan, tidak dibuat dalam bentuk yang klasik. Meskipun terdapat kesamaan antara pembuatan perangkat keras dan pengembangan perangkat lunak, yaitu kualitas yang tinggi bisa dicapai melalui perancangan yang baik, tetapi di dalam fase pembuatan perangkat keras selalu saja ditemukan masalah kualitas yang tidak mudah disesuaikan dengan perangkat lunak. 2. Perangkat lunak tidak pernah usang

kematian segera Tingkat Kegagalan

usang

Waktu Gambar 1.1. Kurva Kegagalan Perangkat Keras Gambar 1.1 menggambarkan laju kegagalan sebagai fungsi waktu untuk perangkat keras, disebut kurva bathtub, menunjukkan bahwa perangkat keras mengalami laju kegagalan yang sangat tinggi pada awal hidupnya, yang disebabkan oleh perancangan atau cacat pembuatannya. Setelah diperbaiki

Versi 1.0

STIMIK PERBANAS

Maret 2003

IF0554 - REKAYASA PERANGKAT LUNAK

2/13 - MODUL 1

maka laju kegagalan menurun, kemudian naik lagi pada saat komponen perangkat keras terkena penumpukkan debu, getaran, suhu tinggi, serta pengaruh lingkungan yang lain. Secara singkat dapat dikatakan bahwa perangkat keras sudah mulai usang. Sedangkan perangkat lunak tidak rentan terhadap pengaruh lingkungan yang merusak dan menyebakan perangkat keras menjadi usang. Gambar 1.2 secara teoritis menggambarkan tingkat kegagalan perangkat lunak. Kesalahan-kesalahan yang tidak ditemukan akan menyebabkan tingkat kegagalan tinggi pada awal hidup program, tetapi itu dapat diperbaiki sehingga kurvanya menjadi datar. Secara singkat perangkat lunak tidak usang, meskipun pada kenyataannya semakin lama makin memburuk.

Tingkat Kegagalan

Pada tingkat yang sama sampai usang

Waktu Gambar 1.2. Kurva Kegagalan Perangkat Lunak Selama masa hidupnya, perangkat lunak mengalami perubahan (pemeliharaan). Sewaktu perubahan dibuat, kesalahan lain akan muncul yang menyebabkan kurva kegagalan naik secara cepat. Lihat Gamabr 1.3. Setelah semua kesalahan diperbaiki maka kurva akan menjadi normal kembali. Kemudian secara perlahan tingkat laju kesalahan minimum mulai naik Laju kegagalan perangkat lunak mulai memburuk sehubungan perubahan yang dilakukan. meningkat
sehubungan dengan efek sampingan dari perubahan

Laju Kegagalan

Kurva aktual perubahan Kurva ideal Waktu

Gambar 1.3. Kurva Kegagalan Aktual Perangkat Lunak

Versi 1.0

STIMIK PERBANAS

Maret 2003

IF0554 - REKAYASA PERANGKAT LUNAK

3/13 - MODUL 1

Aspek lain dari keusangan yang membedakan antara perangkat keras dan lunak adalah bila perangkat keras telah usang maka bisa diganti dengan suku cadangnya, tetapi tidak demikian dengan perangkat lunak. 3. Sebagian besar perangkat lunak dibuat secara custom-built, serta tidak dapat dirakit dari komponen yang sudah ada. Perhatikan bagaimana perangkat keras komputer dirancang dan dibuat. Pengembang desain menggambar skema sederhana dari rangkaina digital, melakukan serangkaian analisis dasar untuk memastikan bahwa fungsi yang tepat dapat dicapai serta kemudian menyesuaikan ke katalog komponen digital. Setiap IC (chip) mempunyai nomor tersendiri, sebuah fungsi yang telah tervalidasi, interface yang didefinisikan dengan baik, serta rangkaian standar tuntunan integrasi. Setelah masing-masing komponen diseleksi, perangkat keras bisa dipesan secara terpisah. Tidak demikian dengan pengembangan perangkat lunak, katalog komponen perangkat lunak tidak ada. Memang memungkinkan memesan perangkat lunak secara terpisah, tetapi tetap merupakan satu kesatuan yang lengkap, bukan sebagai komponen yang dapat dipasang ke dalam program-program yang baru. 3. Evolusi Perangkat Lunak. Pada awal tahun 1990-an Toffler menggambarkan adanya pergeseran kekuatan dimana struktur kekuatan lama (pemerintah, pendidikan, industri, dan militer) mengalami disintegrasi ketika komputer membawa ke arah demikratisasi pengetahuan. Sedangkan pada tahun 1992 Yourdon mengkawatirkan perusahaan-perusahaan Amerika akan kehilangan sisi kompetitif mereka di dalam bisnis yang berhubungan dengan perangkat lunak dan meramalkan penurunan serta jatuhnya para pemrogram Amerika. Tahun 1993 Hammer dan Champy berpendapat bahwa teknologi informasi akan memainkan peranan sentral dalam pengembangan kerjasama. Pada pertengahan tahun 1990 daya tembus komputer dan perangkat lunak menimbulkan banyak pendapat bahwa komputer menekankan sisi legitimasi tetapi mengabaikan keuntungan besar yang diperoleh. Perkembangan perangkat lunak bisa digambarkan pada Gambar 1.4. Pada masa awal era komputer, perangkat lunak dilihat hanya sebagai suatu permenungan. Pemrogram komputer menjadi sebuah seni seat-of-pants dimana di situ terdapat beberapa metode yang sistematis. Perkembangan perangkat lunak sebenarnya tidak bisa diatur sampai terjadi jadwal yang bergeser, atau biaya yang mulai melonjak. Para pemrogram kemudian berusaha untuk membuat semuanya benar kembali, dan dengan cara yang heroik akhirnya mereka berhasil. Pada masa itu perangkat lunak dirancang secara khusus untuk aplikasi tertentu saja dan hanya memiliki areal distribusi yang terbatas. Produk perangkat lunak yang dijual kepada pelangan atau masyarakat masih langka. Kebanyak dikembangkan dan digunakan oleh orang atau organisasi yang sama, dibuat untuk dipakai sendiri.

Versi 1.0

STIMIK PERBANAS

Maret 2003

IF0554 - REKAYASA PERANGKAT LUNAK

4/13 - MODUL 1

Era kedua evolusi sistem komputer antar pertengahan tahun 1960 dan 1970-an. Sistem multiprogram dan multiuser memperkenalkan konsep baru interaksi manusia dan mesin. Teknik interaktif membuka sebuah dunia aplikasi yang baru serta tingkat kecanggihan perangkat lunak dan perangkat keras yang baru pula. Sistem real-time mampu melakukan pengontrolan dalam menghasilkan output tidak lagi dalam skala menit, melainkan detik. Kemajuan dalam penyimpanan on-line membawa ke generasi pertama sistem mamajemen database. Pada era kedua ini juga ditandai dengan kehadiran software-house. Produk perangkat lunak didistribusikan ke pasar yang lebih luas dan multidisiplin. Program mainframe dan minikomputer didistribusikan kepada masyarakat luas. Pengusaha, pemerintah, industri, serta akademisi masing-masing mengembangkan paket perangkat lunak paling mewah dengan mengeruk banyak uang.
Tahun-tahun awal - Orientasi batch - Distribusi terbatas - Perangkat lunak kustomasi Era kedua - Multi user - Realtime - Database - Perangkat lunak produk Era Ketiga - Sistem terdistribusi - embedded intelegence - Perangkat keras biaya rendah Era keempat - Sistem desk-top bertenaga kuat - Teknologi berorientasi objek - Sistem pakar - Jaringan saraf tiruan - Komputasi paralel - Komputer jaringan

1950

1960

1970

1980

1990

2000

Gambar 1.4. Evolusi Perangkat Lunak Era ketiga evolusi sistem komputer dimulai pertengahan tahun 1970-an dan berlangsung lebih dari satu dekade penuh. Sistem terdistribusi dan multikomputer menambah kompleksitas sistem berbasis komputer. Jaringan area global dan lokal, jaringan komunikasi digital dengan bandwidh yang tinggi serta pertambahan permintaan untuk akses sesaat sangat mendongkrak perkembangan perangkat lunak. Era ketiga ini juga ditandai dengan kehadiran dan penyebaran pemakaian mikroprosesor, sehingga produk-produk pintar, seperti automobil, microwave, robot sampai peralatan kedokteran bisa dihasilkan. Yang paling penting pada era ini adalah munculnya komputer personal (PC = Personal Computer). Evolusi sistem komputer era keempat menjauhkan kita dari komputer individual dan program komputer untuk menuju pengaruh kolektif dari komputer dan perangkat lunak. Mesin desktop yang kuat yang dikontrol oleh sistem operasi yang canggih, jaringan lokal dan global, serta didukung dengan aplikasi perangkat lunak yang maju, menjadi sebuah aturan. Arsitektur penghitungan berubah dari Versi 1.0 STIMIK PERBANAS Maret 2003

IF0554 - REKAYASA PERANGKAT LUNAK

5/13 - MODUL 1

lingkungan mainframe yang terpusat ke lingkungan klien/server yang terdesentralisasi. Dan yang paling penting pada era ini adalah internet sudah dapat dilihat sebagai perangkat lunak yang dapat diakses oleh para pemakai individual. Tetapi selama era evolusi sistem berbasis komputer, serangkaian masalah yang berhubungan ddengan perangkat lunak masih muncul dengan intensitas yang terus bertambah, misalnya : 1. Kemajuan perangkat keras terus berlajut, melampaui perkembangan perangkat lunak yang sesuai dengan perangkat keras yang ada. 2. Kemampuan pengembangan perangakt lunak tidak cukup sepat untuk memenuhi kebutuhan bisnis dan pasar. 3. Pemakaian komputer yang semakin luas membuat masyarakat semakin tergantung pada perangkat lunak yang reliabel. 4. Sistem desain dan sumberdaya untuk mengembangkan perangkat lunak kurang memadai, sehingga masih sulit untuk dibagun perangkat lunak dengan reliabilitas dan kualitas yang tinggi. 4. Aplikasi Perangkat Lunak Perangkat lunak dapat diaplikasikan ke berbagai situasi dimana serangakaian langkah prosedural (seperti algoritma) telah didefinisikan. Kandungan (content) dan determinasi informasi merupakan faktor penting dalam menentukan sifat aplikasi perangkat lunak. Content mengarah pada arti dan bentuk informasi yang masuk dan keluar. Misalnya, banyak aplikasi bisnis memakai data input dengan struktur data lebih tinggi (misal database) dan mengahasilkan laporan yang sudah terformat. Perangkat lunak yang mengontrol mesin otomatis menerima bentuk data diskrit dengan struktur yang terbatas dan menghasulkan perintah mesin individual dalam ekskusi yang cepat. Sedangkan determinasi informasi merujuk pada predikbilitas urutan dan timing informasi. Berikut beberapa jenis aplikasi perangkat lunak : a. Perangkat lunak sistem. Sekumpulan program untuk melayani program program lain, misalnya sistem operasi, kompiler, editor, utilitas pengatur file, driver, prosesor telekomunikasi. b. Perangkat lunak real-time. Program-program untuk mengontrol/menganalisis/ memonitor kejadian dunia nyata pada saat terjadinya. Misalnya program untuk mengontrol mesin industri. c. Perangkat lunak bisnis. Program untuk pemrosesan informasi di dunia bisnis, mulai dari payroll, account payable, inventory, post system, sampai perangkat lunak sistem informasi manajemen yang bisa mengakses satu atau lebih database. d. Perangkat lunak teknik dan ilmu pengetahuan. Jangkauan aplikasinya meliputi, asmronomi, vulkanologi, kedokteran, analisis otomotif, biologi, mesin-mesin pabrik, sampai pada perangkat bantu dalam perancangan (computer aided design) untuk konstuksi bangunan, komponen elektronik, rancangan mesin, simulasi sitem, dan lain-lain.

Versi 1.0

STIMIK PERBANAS

Maret 2003

IF0554 - REKAYASA PERANGKAT LUNAK

6/13 - MODUL 1

e. Embeded Software. Program yang disertakan dalam suatu perangkat dan berfungsi untuk mengontrol hasil serta sistem perangkat tersebut. Contoh : key pad control untuk microwave, fungsi digital pada automobil (pengontrol bahan bakar, penampilan dash board, sistem rem, dll). f. Perangkat lunak komputer personal. Programprogram yang bisa dijalankan pada komputer personal. Contoh : pengolah kata, multimedia, hiburan, manajemen database, aplikasi keuangan bisnis, dll. g. Perangkat lunak kecerdasan buatan dan jaringan syaraf tiruan. Sistem pakar atau disebut juga sistem berbasis pengetahuan. Program yang digunakan untuk menggerakkan/mengontrol robot, permainan game, pengolah gambar dan pola (image dan voice).

B. Rekayasa Perangkat Lunak 1. Pengertian Rekayasa Perangkat Lunak Pada tahun 1969 Fritz Bauer memberikan definisi rekayasa perangkat lunak adalah sebagai berikut : The establishment and use of sound engineering principles in order to obtain economically software that is reliable and work efficiently on real machines. Hampir setiap pembaca tergoda untuk menambah sendiri definisi tersebut, karena definisi tersebut hanya menyinggung sedikit saja tentang aspek teknis dan kualitas perangkat lunak, dan tidak secara langsung menyinggung kebutuhan dan kepuasan pelanggan, pengabaikan pencamtuman pentingnya pengukuran dan matriks, tidak menyinggung pentingnya sebuah proses. Apakah sound enginnering aplication yang dapat diaplikasikan kepada pengembangan komputer? Bagaimana kita secara ekonomis membangun perangkat lunak sehingga menjadi dapat diandalkan dan reliable? Apakah yang dibutuhkan untuk menciptakan program komputer yang bekerja secara efisien pada lebih dari satu mesin riril yang berbeda? Pertanyaan-pertanyaan ini masih terus menjadi tantangan bagi pengembangan perangkat lunak. Pada tahun 1985 Richard Fairly mendefinisikan rekayasa perangkat lunak sebagai berikut : The technological and managerial dicipline concernment with systematic production and maintenance of software products that are developed and modified on time and within cost estimates. Definisi ini sudah menyinggung aspek teknis pengembangan perangkat lunak, pengelolaan tim yang terlibat dalam pengembangan tersebut, pemeliharaan perangkat lunak yang telah dikembangkan, serta waktu serta biaya pengembangan.

Versi 1.0

STIMIK PERBANAS

Maret 2003

IF0554 - REKAYASA PERANGKAT LUNAK

7/13 - MODUL 1

Kemudian pada tahun 1993, IEEE mengembangkan definisi yang lebih komprehensif yaitu sebagai berikut : Rekayasa perangkat lunak adalah : (1) Aplikasi dari sebuah pendekatan kuantifiabel, disiplin, dan sistematis terhadap pengembangan, operasi, dan pemeliharaan perangkat lunak; yaitu aplikasi dan rekayasa perangkat lunak; (2) Studi tentang pendekatan-pendekatan tentang (1). 2. Lingkup Rekayasa Perangkat Lunak Lingkup rekayasa perangkat lunak bisa digambarkan seperti Gambar 1.5. Rekayasa perangkat lunak merupakan suatu kegiatan untuk menghasilkan suatu produk, sehingga harus berada pada satu komitmen dasar menuju kualitas. Untuk itu fokus kualitas menjadi batu landasanya. Lingkup kedua adalah proses. Prosesproses rekayasa perangkat lunak adalah perekat yang menjaga bentangan teknologi secara bersama-sama dan memungkinkan perkembangan perangkat lunak yang tepat waktu dan rasional. Proses-proses tersebut membatasi kerangka kerja untuk serangkaian area proses kunci yang harus dibangun demi keefektifan penyampaian teknologi pengembangan perangkat lunak. Area proses kunci ini membentuk dasar bagi kontrol manajemen proyek pengembangan perangkat lunak serta membangun kontek dimana metode teknis diaplikasikan sehingga sebuah produk yang berkualitas bisa dihasilkan.

perangkat bantu metodologi proses Fokus kualitas Gambar 1.5. Lingkup Rekayasa Perangkat Lunak. Lingkup berikutnya adalah metodologi, yaitu sekumpulan metode untuk melaksanakan setiap tahap pengembangan perangkat lunak, yang meliputi : perencanaan dan estimasi proyek, analisa kebutuhan, prosedur algoritma dan arsitektur program, menulis program (coding), pengujian (testing), dan pemeliharaan (maintenance). Terakhir adalah perangkat bantu (tools). Perangkat bantu yang dimaksus adalah suatu perangkat, baik lunak atau keras, otomatis maupun semi-otomatis yang bisa digunakan untuk proses pengembangan perangkat lunak. Tools untuk rekayasa perangkat lunak disebut computer-aided sofware engineering (CASE). CASE ini terus dikembangkan untuk menciptakan lingkungan

Versi 1.0

STIMIK PERBANAS

Maret 2003

IF0554 - REKAYASA PERANGKAT LUNAK

8/13 - MODUL 1

rekayasa perangkat lunak sehingga analog dengan CAD/CAE (computer-aided design/engineering) pada pengembangan perangkat keras. 3. Paradigma Rekayasa Perangkat Lunak Untuk menyelesaikan masalah aktual didalam sebuah seting industri, rekayasa perangkat lunak atau tim perekaysa harus menggabungkan strategi pengembangan yang mencakup semua lingkup rekayasa perangkat lunak seperti yang digambarkan pada Gambar 1.5 tersebut . Strategi ini sering disebut paradigma atau model proses rekayasa perangkat lunak. Perkembangan perangkat lunak bisa dianggap sebagai lingkaran pemecahan masalah dimana terdapat empat keadaan berbeda, yaitu status quo, definisi masalah, perkembangan teknis pemecahan masalah, dan integrasi pemecahan menyampaikan hasil (dokumen, program, data, fungsi bisnis baru, produk baru) kepada yang membutuhkan hasil/produk tersebut. Lihat Gambar 1.6. Lingkaran pemecahan masalah tersebut digunakan pada tingkat makro ketika bagian dalam aplikasi dipakai; pada tingkat tengah ketika komponen program direkayasa; dan pada tingkat mikro ketika baris-baris kode ditulis. Masing-masing keadaan di dalam pemecahan masalah tersebut berisi lingkaran yang identik. Lihat Gambar 1.7. Tanpa memperdulikan model proses yang dipilih untuk suatu proyek rekayasa perangkat lunak, semua keadaan tersebut -- status quo, definisi masalah, perkembangan teknis pemecahan masalah, dan integrasi pemecahan secara simultan hidup berdampingan pada beberapa tingkatan / tahapan detail. Dalam subbab ini akan dibahas beberapa model proses yang berbeda pada rekaya perangkat lunak.

Definisi Definisi masalah masalah

Status Quo

Pengembangan Pengembangan Teknis Teknis

Penyatuan Penyatuan Solusi Solusi Gambar 1.6. Fase lingkaran pemecahan masalah

Versi 1.0

STIMIK PERBANAS

Maret 2003

IF0554 - REKAYASA PERANGKAT LUNAK

9/13 - MODUL 1

Definisi Definisi masalah masalah

Status Quo
Penyatuan Penyatuan Solusi Solusi

Pengembangan Pengembangan Teknis Teknis

Definisi Definisi masalah masalah

Status Quo

Status Quo
Penyatuan Penyatuan Solusi Solusi

Pengembangan Pengembangan Teknis Teknis

Definisi Definisi masalah masalah

Status Quo
Penyatuan Penyatuan Solusi Solusi

Pengembangan Pengembangan Teknis Teknis

Gambar 1.7. Fase-fase di dalam lingkaran pemecahan masalah a. Siklus Hidup Klasik Paradigma siklus hidup klasik untuk rekayasa perangkat lunak diilustrasikan seperti pada Gambar 1.8. Disebut juga sebagai model air terjun. Beberapa kelebihan model ini adalah : 1) Titik awal dan titik akhir yang eksplisit 2) Setiap tahapan didefinisikan dengan jelas 3) Setiap akhir suatu tahap, disesuikan kembali dengan tahap sebelumnya, sehingga kesalahan yang mungkin terjadi bisa ditemukan dan diselesaikan lebih dini.

Versi 1.0

STIMIK PERBANAS

Maret 2003

IF0554 - REKAYASA PERANGKAT LUNAK

10/13 - MODUL 1

4) Incremental release, lingkup kerja untuk tahapan-tahapan berikutnya menjadi lebih kecil, dan tugas yang lebih mudah. Jika tahap awal dilakukan dengan benar maka akan mempermudah tahap berikutnya. Software Enginering Analysis Design Coding Testing Maintenance

Gambar 1.4. Paradigma Siklus Hidup Klasik : Model Air Terjun 1) 2) 3) 4) 5) 6) Aktivitas setiap tahapannya adalah : System Engineering : Pengumpulan kebutuhan seluruh elemen sistem Sofware Requirements Analysis : Pengumpulan kebutuhan dengan berfokus pada perangkat lunak, meliputi : domain informasi, fungsi, unjuk kerja, antar muka Design, meliputi : Perancang struktur data, arsitektur perangkat lunak, rincian prosedural, karakteristik antar muka Coding : penerjemah perancang ke bentuk yang dapat dimengerti oleh mesin Testing, mencakup kegiatan : penguji lojikal, penguji fungsional, menemukan kesalahan dan memastikan suatu masukan diproses menjadi keluaran yang sesuai dengan yang diinginkan Maintenance, bagian terujung dari siklus pengembangan dan dilakukan setelah perangkat lunak dipergunakan. Kegiatan adalah corrective maintenance, yaitu mengkoreksi kesalahan pada perangkat lunak, yang baru terdeteksi pada saat perangkat lunak dipergunakan

Model air terjun adalah paradigma rekayasa perangkat lunak yang paling luas dipakai dan paling tua. Tetapi kritik terhadap paradigma tersebut menyebabkan banyak pihak yang mempertanyakan kehandalannya. Masalahmasalah yang timbul ketika model tersebut diterapkan adalah : 1. Meskipun dalam prosesnya model ini bisa mengakomodasi iterasi, tetapi tidak dilakukan secara langsung, akibatnya perubahan-perubahan dapat menyebabkan keraguan pada saat tim proyek berjalan. 2. Kadang-kadang pelanggan sulit untuk menyatakan semua kebutuhannya secara eksplisit, sehingga sulit untuk mengakomodasi ketidakpastian tersebut.

Versi 1.0

STIMIK PERBANAS

Maret 2003

IF0554 - REKAYASA PERANGKAT LUNAK

11/13 - MODUL 1

3. Pelanggan harus bersikap sabar, karena masa pakai dari program tidak akan diperoleh sampai akhir waktu proyrk berakhir. Akibatnya bisa saja terdapat kesalahan yang tidak tedeteksi sampai program tersebut tiba masanya untuk dikaji ulang. 4. Pengembang sering melakukan penundaan yang tidak perlu, karena seringnya beberapa anggota tim proyek harus menunggu anggota lain untuk melengkapi tugas yang saling ketergantungan. b. Model Prototype Sering kali seorang pelanggan mendefinisikan serangkaian umum bagi perangkat lunak yang dibutuhkan, tetapi tidak mengidentifikasi kebutuhan output, pemrosesan, maupun input secara detail. Pada kasus lain, pengembang tidak memiliki kepastian terhadap efisiensi algoritma, kemampuan penyesuaian dari sebuah sistem operasi, atau bentuk-bentuk yang harus dilakukan oleh interaksi manusia dan mesin. Dalam hal ini, paradigma prototipe menawarkan pendekatan yang terbak. Paradigma ini dimulai dengan mengumpulkan kebutuhan. Pengembang dan pelanggan bertemu untuk mendefinisikan obyektif keseluruhan dari perangkat lunak. Kemudian dilakukan perancangan kilat yang berfokus pada penyajian dari aspek-aspek perangakt lunak yang akan nampak oleh pelanggan/pemakai (misal format input dan outputnya). Perancangan kilat tersebut membawa kepada konstruksi prototipe. Prototipe ini dievaluasi oleh pelanggan/pemakai dan dipakai untuk menyaring kebutuhan pengembangan perangkat lunak yang dibutuhkan. Iterasi terjadi pada saat prototipe disetel untuk memenuhi kebutuhan pelanggan, dan pada saat yang sama memungkinkan pengembang untuk secara lebih baik memahami apa yang harus dilakukan. Prototipe bisa berfungsi sebagai sistem awal. Tetapi pada beberapa proyek yang dibangun dengan prototipe, saat penggunaan pertama sistem awal yang baru dibangun tersebut, mungkin akan terasa terlalu pelan, terlalu besar, janggal dalam pemakaian, atau bahkan tiga hal tersebut semua terjadi. Jika terjadi demikian maka tidak ada pilihan lain kecuali memulai lagi untuk membangun versi yang baru dimana masalah yang muncul bisa diselesaikan. c. Model RAD (Rapid Aplication Development). RAD adalah merupakan model proses pengembangan perangkat lunak adaptasi kecepatan tinggi dari model sekuensial linier yang menekankan siklus perkembangan yang sangat pendek. Perjalanan pengembangannya sangat cepat dengan menggunakan pendekatan konstruksi berbasis komponen, yang memungkinkan tim pengembang bisa menciptakan sistem fungsional secara utuh dalam waktu 60 s.d. 90 hari. Pada umumnya digunakan pada aplikasi sistem konstruksi. Pendekatan RAD melingkupi fase-fase sebagai berikut : 1) Businnes modelling. Pemodelan dari aliran informasi diantara fungsi-fungsi bisnis.

Versi 1.0

STIMIK PERBANAS

Maret 2003

IF0554 - REKAYASA PERANGKAT LUNAK

12/13 - MODUL 1

2) Data modelling. Mengidentifikasi serangkaian objek data yang dibutuhkan dan karakteristik masing-masing objek tersebut, serta mendefinisikan hubungan antara objek-objek tersebut. 3) Proses modelling. Mentransformasikan hasil data modelling untuk mencapai aliran informasi yang perlu bagi implementasi fungsi-fungsi prosesnya. Gambaran proses dibuat untuk menambah, memodifikasi, menghapus, atau mendapatkan kembali sebuah objek data. 4) Aplication generation. RAD mengasumsikan pemakaian teknik generasi keempat (4GL), lebih banyak memakai komponen program yang sudah ada, juga menciptakan komponen yang bisa dipakai lagi. 5) Testing and turnover. Karena proses RAD menekankan pada pemakaian kembali, maka setiap komponen baru harus diuji untuk mengurangi keseluruhan waktu pengujian Kelemahan model RAD : 1) Bagi proyek yang besar tetapi berskala, RAD memerlukan sumber daya manusi yang memadai untuk menciptakan jumlah tim RAD yang baik. 2) RAD menuntut pengembang dan pelanggan memiliki komitmen tinggi di dalam aktivitas pengembangan. Tim #3 Tim #2
Pemodel an bisnis
Pemodel an

bisnis
Pemodel an

data
Pemodel an data Pemodel an Proses

Tim #1
Pemodel an bisnis Pemode lan data

Pemodel an

Prose s

Pembentu kan

aplikasi
Pembentuk an aplikasi Penguji an & turnov er

Pemodel an Proses Pembentu kan aplikasi

Penguji an & turnove r

Penguji an & turnove r

Versi 1.0

STIMIK PERBANAS

Maret 2003

IF0554 - REKAYASA PERANGKAT LUNAK

13/13 - MODUL 1

Gambar 1.10. Model RAD Disamping tiga model di atas, masih banyak lagi model proses rekayasa perangkat lunak yang lain, yaitu : 1) Model Proses Rekayasa Perangkat Lunak Evolusioner, antara lain : a) Model Pertambahan b) Model Spiral c) Model Rakitan Komponen d) Model Perkembangan Konkuren 2) Model Formal 3) Teknik Generasi Keempat (4GL) Model-model itu bisa anda baca di buku Software Engineering yang ditulis oleh Rogers. Pressman, PhD.

Versi 1.0

STIMIK PERBANAS

Maret 2003