Anda di halaman 1dari 20

2 PENGEMBANGAN PERANGKAT LUNAK

Tujuan
Bagian ini menjelaskan tentang pengembangan perangkat lunak, meliputi pengertian, aktivitas, model proses, dan metode pengembangannya. Setelah mempelajari bagian ini dengan baik, pembaca diharapkan dapat: Memahami arti pengembangan perangkat lunak. Mengetahui aktivitas pengembangan perangkat lunak. Memahami model proses pengembangan perangkat lunak dan mengetahui beberapa jenis model proses yang sering digunakan. Mengetahui metode pengembangan perangkat lunak.

Pokok Bahasan
Pokok bahasan pada bagian ini meliputi: Proses Pengembangan Perangkat Lunak Aktivitas Pengembangan Perangkat Lunak Model Proses Pengembangan Perangkat Lunak Metode Pengembangan Perangkat Lunak

19

20

BAGIAN I: KONSEP DASAR

Perangkat lunak sebagai sebuah produk rekayasa dihasilkan melalui sekumpulan proses yang dilaksanakan menurut kerangka kerja tertentu. Salah satu proses yang sangat dominan dari rekayasa perangkat lunak adalah pengembangan perangkat lunak (software development).

2.1 Proses Pengembangan Perangkat Lunak


Pengembangan perangkat lunak didefinisikan sebagai suatu proses dimana kebutuhan pemakai diterjemahkan menjadi produk perangkat lunak melalui suatu rangkaian aktivitas tertentu sesuai model proses yang digunakan (lihat Gambar 2.1).

Kebutuhan pemakai

Pengembangan Perangkat Lunak

Perangkat lunak

Gambar 2.1 Proses Pengembangan Perangkat Lunak Proses pengembangan perangkat lunak dilaksanakan setelah proses akuisisi dan pasokan. Dalam pelaksanaannya, proses pengembangan ini akan melibatkan: Orang (people) Individu, kelompok, atau bagian organisasi yang menjadi pelaksana pekerjaan, seperti analis sistem, pemrogram, penguji perangkat lunak, dan pihak-pihak lainnya termasuk pemakai dan pelanggan. Proyek (project) Pekerjaan pengembangan perangkat lunaknya sendiri, yang dikelola sesuai prinsip-prinsip manajemen proyek. Produk (product) Kode sumber (source code), executable programs, model-model, dan dokumen-dokumen yang dihasilkan sebagai produk selama pelaksanaan pengembangan. Proses (process) Kumpulan aktivitas yang digunakan untuk menghasilkan perangkat lunak. Setiap aktivitas dilaksanakan dengan menggunakan pendekatan atau metode teknis tertentu. Alat bantu Kumpulan perangkat bantu atau kakas otomatis dan semi-otomatis yang akan digunakan untuk mendukung aktivitas-aktivitas dari proses.

Hubungan kelima elemen yang terkait dengan proses pengembangan di atas ditunjukkan oleh Gambar 2.2 berikut.

BAB 2: MODEL PROSES PERANGKAT LUNAK

21

Proses
template

Orang
partisipan

Proyek

otomasi

Alat Bantu

hasil

Produk

Gambar 2.2 Hubungan Antar Elemen Proses Pengembangan (Sumber: Jacobson, Booch, and Rumbaugh [JAC99])

2.2 Aktivitas Pengembangan Perangkat Lunak


Secara praktis sesuai kronologis pengerjaannya, aktivitas pengembangan perangkat lunak meliputi: persiapan pengembangan analisis kebutuhan sistem perancangan sistem analisis kebutuhan perangkat lunak perancangan perangkat lunak implementasi perangkat lunak (coding) pengujian perangkat lunak integrasi perangkat lunak pengujian sistem penyerahan kepada pemakai (user acceptance)

Semua aktivitas yang di atas akan selalu berulang seiring dengan munculnya kebutuhan untuk membuat perangkat lunak yang lain jika: perangkat lunak yang ada sudah tidak dapat memenuhi kebutuhan lagi akibat adanya perubahan lingkungan dan teknologi.

22

BAGIAN I: KONSEP DASAR

munculnya masalah-masalah atau proses bisnis baru yang sebelumnya tidak ada. adanya peluang bisnis baru. berubahnya keinginan dan pengharapan pemakai.

2.2.1 Persiapan Pengembangan


Aktivitas awal dari proses pengembangan perangkat lunak yang bertujuan untuk menetapkan baseline dari pengerjaan pengembangan: 1. Pendefinisian model proses pengembangan perangkat lunak yang akan digunakan (beberapa model proses pengembangan akan dibahas secara lebih rinci di bagian 2.3). Penentuan standar yang akan dijadikan acuan, misalnya standar dari IEEE (lihat di http://standards.ieee.org) atau MIL-STD-498 (lihat di http://www.sepo.spawar.navy.mil/sepo/docs.html), serta alat bantu dan perangkat implementasi yang akan digunakan. Pembuatan rencana pengembangan (lihat IEEE Std 1058-1998 Standard for Software Project Management Plans (SPMP) atau Software Development Plans (SDP) dari MIL-STD-498). Contoh sederhana dari rencana pengembangan ini dapat dilihat pada Lampiran C. Penetapan produk-produk yang akan diserahkan kepada pemakai.

2.

3.

4.

2.2.2 Analisis Kebutuhan Sistem


Aktivitas untuk mempelajari dan menentukan kebutuhan sistem yang menjadi lingkungan dimana perangkat lunak akan beroperasi, meliputi: kebutuhan lingkungan sistem, mencakup kebutuhan perangkat keras, perangkat lunak, dan komunikasi data. kebutuhan bisnis fungsional. kebutuhan informasi. kebutuhan antarmuka sistem. kebutuhan lain, seperti unjuk kerja, keselamatan, keamanan, dan sebagainya.

Pembahasan rinci untuk aktivitas analisis kebutuhan sistem akan disampaikan pada Bab 3.

BAB 2: MODEL PROSES PERANGKAT LUNAK

23

2.2.3 Perancangan Sistem


Aktivitas untuk merancang struktur dan keterkaitan antar komponenkomponen sistem sesuai kriteria yang sudah ditetapkan, termasuk antarmuka dengan lingkungan operasionalnya. Objek perancangan sistem pada dasarnya meliputi: prosedur (berkaitan dengan bagaimana sistem nanti akan digunakan). antarmuka, misalnya formulir isian dan dokumen output, atau modulmodul penghubung. arsitektur perangkat keras dan perangkat lunak sistem. data dan informasi.

Pembahasan rinci untuk aktivitas perancangan sistem akan disampaikan pada Bab 3.

2.2.4 Analisis Kebutuhan Perangkat Lunak


Aktivitas untuk mendefinisikan kebutuhan perangkat lunak, yaitu kondisi atau kemampuan yang harus dimiliki oleh perangkat lunak untuk memenuhi apa yang disyaratkan atau diinginkan pemakai. Pembahasan rinci untuk aktivitas analisis kebutuhan perangkat lunak akan disampaikan pada Bab 4, 5, dan 6.

2.2.5 Perancangan Perangkat Lunak


Aktivitas untuk menentukan bagaimana perangkat lunak memenuhi kebutuhan yang sudah didefinisikan. Cakup perancangan meliputi perancangan data, arsitektur perangkat lunak, antarmuka, dan algoritma. Pembahasan rinci untuk aktivitas perancangan perangkat lunak akan disampaikan pada Bab 7, 8, dan 9.

2.2.6 Implementasi Perangkat Lunak (Coding)


Aktivitas untuk mewujudkan perangkat lunak melalui proses transformasi semua model hasil perancangan menjadi program komputer dan data, dengan menggunakan perangkat implementasi tertentu. Pembahasan rinci untuk aktivitas implementasi perangkat lunak akan disampaikan pada Bab 10.

24

BAGIAN I: KONSEP DASAR

2.2.7 Pengujian Perangkat Lunak


Aktivitas untuk memeriksa perangkat lunak yang dihasilkan apakah sudah memenuhi kebutuhan yang sudah didefinisikan atau belum. Cakupan pengujian meliputi pengujian unit atau modul program, integrasi modul, dan validasi. Pembahasan rinci untuk aktivitas implementasi perangkat lunak akan disampaikan pada Bab 11.

2.2.8 Integrasi Perangkat Lunak


Aktivitas untuk mengintegrasikan perangkat lunak yang sudah selesai diuji dengan perangkat keras dan bagian-bagian sistem lainnya menjadi suatu kesatuan. Pelaksanaan integrasi perangkat lunak dilaksanakan apabila semua lingkungan operasi dan sarana yang dibutuhkannya sudah siap. Secara umum, pelaksanaan integrasi perangkat lunak meliputi: 1. 2. 3. 4. 5. Pembuatan rencana integrasi dan dokumentasinya. Instalasi perangkat keras dan perangkat lunak pendukung yang dibutuhkan oleh perangkat lunak. Pengujian apakah perangkat keras yang sudah diinstalasi dan perangkat lunak pendukungnya sudah bekerja dengan benar. Instalasi perangkat lunak. Pengujian dan evaluasi hasil integrasi.

2.2.9 Pengujian Sistem


Aktivitas untuk menguji perangkat lunak di lingkungan sebenarnya dengan menggunakan data sebenarnya, dan melibatkan komponen sistem lainnya, seperti perangkat keras, perangkat komunikasi data, pemakai, dan prosedurprosedur seperti prosedur manual, prosedur audit, dan prosedur keamanan. Tujuan yang diharapkan tidak lain adalah untuk meyakinkan bahwa perangkat lunak yang dibuat dapat berintegrasi kedalam sistem dan beroperasi sesuai kebutuhan. Pelaksanaan pengujian sistem secara umum meliputi: 1. 2. 3. Pembuatan dokumen rencana pengujian sistem. Penyusunan petunjuk operasi. Konversi dan penyiapan data yang sebenarnya.

BAB 2: MODEL PROSES PERANGKAT LUNAK

25

4. 5.

Pelaksanaan pengujian oleh pemakai atau perwakilan pemakai yang benar-benar mengetahui kebutuhannya. Evaluasi hasil pengujian.

2.2.10 Penyerahan Kepada Pemakai (User Acceptance)


Apabila pemakai dapat menerima seluruh hasil pengujian, perangkat lunak dapat segera diserahterimakan. Sebagai kelengkapan, diserahkan juga dokumen-dokumen pendukungnya seperti: spesifikasi produk perangkat lunak manual pemakaian perangkat lunak manual masukan/keluaran perangkat lunak manual pengoperasian komputer

2.3 Model Proses Pengembangan Perangkat Lunak


Model proses pengembangan perangkat lunak adalah suatu cara atau strategi pengembangan yang memadukan metode, teknik, dan alat bantu sedemikian rupa sehingga produk perangkat lunak dapat diwujudkan. Model proses ini ada karena beragamnya sifat proyek dan aplikasi, metode dan alat yang digunakan, serta pengendalian dan hasil yang diinginkan. Sampai saat ini sudah banyak model proses pengembangan yang dikenal. Berikut adalah penjelasan untuk beberapa model proses pengembangan perangkat lunak yang sering digunakan.

2.3.1 Waterfall Model


Model proses waterfall (atau disebut juga classic life cycle) adalah model proses pengembangan perangkat lunak yang pelaksanaan proses pengembangannya dilakukan secara berurutan. Hal ini berarti bahwa aktivitas pengembangan berikutnya baru dapat dilaksanakan jika aktivitas sebelumnya sudah diselesaikan lebih dahulu. Setiap tahapan aktivitas pada model proses waterfall ini akan menghasilkan keluaran yang diperlukan sebagai bahan masukan untuk melanjutkan ke tahap berikutnya, atau sebagai umpan balik untuk memperbaiki kekurangan atau kesalahan yang mungkin ada di tahap sebelumnya. Gambar 2.3 berikut mengilustrasikan model proses linear sequential yang disampaikan untuk pertama kalinya oleh Winston Royce pada tahun 1970.

26

BAGIAN I: KONSEP DASAR

Analisis Kebutuhan Perancangan Pengkodean Pengujian Pengoperasian

Gambar 2.3 Model Proses Waterfall (Sumber: Davis [DAV93]) Cakupan aktivitas yang ada pada model proses waterfall meliputi: 1. Analisis kebutuhan Mempelajari dan memahami masalah yang akan dibuat perangkat lunaknya, menetapkan ranah informasi, fungsi, perilaku, unjuk kerja dan antarmuka perangkat lunak untuk didefinisikan sebagai kebutuhan perangkat lunak. Perancangan Transformasi setiap spesifikasi kebutuhan menjadi modul-modul perancangan yang lebih rinci sehingga menghasilkan model solusi dalam bentuk rancangan struktur data, arsitektur perangkat lunak, antar muka, dan prosedur-prosedur atau algoritma. Pengkodean Menerjemahkan model perancangan ke dalam bentuk yang dapat dimengerti oleh mesin (komputer) dengan menggunakan perangkat implementasi tertentu. Pengujian Memeriksa kebenaran logika internal dan fungsi perangkat lunak untuk menemukan kesalahan-kesalahan, dan memastikan bahwa perangkat lunak yang dihasilkan sesuai dengan kebutuhan yang sudah didefinisikan sebelumnya. Pengoperasian Penggunaan perangkat lunak oleh pemakai di lingkungan sebenarnya. Untuk menjaga supaya perangkat lunak yang dioperasikan ini tetap berjalan sebagaimana mestinya, dilakukan proses pemeliharaan.

2.

3.

4.

5.

Versi lain dari model proses waterfall adalah model proses linear sequential (lihat Gambar 2.4). Pada model proses ini, setiap aktivitas dilaksanakan secara linear, tanpa umpan balik untuk memperbaiki tahap sebelumnya.

BAB 2: MODEL PROSES PERANGKAT LUNAK

27

R ekayasa Sistem / Inform asi

Analisis

P erancangan

Pengkodean

Pengujian

Gambar 2.4 Model Proses Linear Sequential (Sumber: Pressman [PRE01]) Model proses waterfall atau linear sequential pada umumnya dipilih jika semua kebutuhan sudah jelas dan dapat didefinisikan secara eksplisit di awal proses pengembangan.

2.3.2 Prototyping Model


Pendekatan model prototyping dipilih jika kebutuhan belum dapat didefinisikan secara jelas dan tegas. Pemakai hanya memberikan gambaran umum dari spesifikasi dan kegunaan perangkat lunak tanpa merinci seperti apa masukan, poses, dan keluarannya. Model proses prototyping dilaksanakan secara berulang dengan diawali oleh aktivitas pengumpulan kebutuhan sistem dan berakhir jika produk perangkat lunak yang dihasilkan sudah sesuai dengan yang diharapkan oleh pemakai seperti ditunjukkan oleh Gambar 2.5. Cakupan aktivitas model prototyping secara lengkap meliputi aktivitas: 1. Pengumpulan kebutuhan dan perbaikan Pengembang bertemu dengan pemakai (pelanggan) untuk menentukan objektif perangkat lunak secara keseluruhan dan mengidentifikasi kebutuhan-kebutuhan yang sudah diketahui. Perancangan cepat Melakukan perancangan secara cepat dengan fokus pada hal-hal yang akan langsung terlihat oleh pemakai, seperti antarmuka pemakai dan fungsi-fungsi dasar. Membangun prototype Model perancangan yang dihasilkan selanjutnya digunakan untuk membuat prototype pertama, yang mungkin berbentuk: Interactions prototype Prototype perangkat lunak yang memungkinkan pemakai untuk memahami bagaimana berinteraksi dengan sistem perangkat lunak.

2.

3.

28

BAGIAN I: KONSEP DASAR

Subset function prototype Prototype perangkat lunak yang sudah dapat digunakan tetapi baru mengimplementasikan sebagian dari fungsi-fungsi yang diinginkan. Existing program Program sebenarnya yang mengimplementasikan sebagian besar atau seluruh fungsionalitas yang dibutuhkan, tetapi masih ada hal-hal utama lainnya yang harus disempurnakan pada pengembangan berikutnya.

4.

Evaluasi prototype Menguji coba dan mengevaluasi prototype bersama-sama dengan pemakai untuk mendapatkan umpan balik yang dapat membantu pengembang memperbaiki prototype yang sudah dibuat, atau membangun prototype yang baru. Perbaikan prototype Melakukan penambahan dan perbaikan-perbaikan terhadap prototype berdasarkan hasil evaluasi sampai diperoleh produk yang diinginkan.

5.

Pengumpulan Kebutuhan

Perbaikan Prototype

Perancangan Cepat

Evaluasi Prototype

Bangun Prototype

Gambar 2.5 Model Proses Prototyping

2.3.3 Incremental Model


Model proses evolusioner yang mengkombinasikan model linear sequential dan pengulangan dari model prototyping. Setiap satu kali pelaksanaan model linear sequential akan dihasilkan suatu penambahan (deliverable increment)

BAB 2: MODEL PROSES PERANGKAT LUNAK

29

bagi perangkat lunak. Hasil penambahan yang pertama biasanya merupakan produk inti yang mewakili kebutuhan dasar dari sistem. Produk inti inilah yang nantinya akan ditambah terus-menerus sampai didapat produk yang lengkap dan memenuhi kebutuhan pemakai (lihat Gambar 2.6).
penambahan pertama Analisis Perancangan Implementasi Pengujian hasil penambahan pertama

penambahan kedua

Analisis

Perancangan

Implementasi

Pengujian

hasil penambahan kedua

. . .
penambahan ke-n Analisis Perancangan Implementasi Pengujian hasil akhir / produk lengkap

Gambar 2.6 Model Proses Incremental (Sumber: Pressman [PRE01]) Sebagai gambaran, misalkan dikembangkan perangkat lunak text editor. Hasil penambahan pertama mungkin berupa text editor dengan fasilitas untuk membentuk, membuka, menyunting, dan menyimpan dokumen teks. Pada penambahan kedua, disertakan fasilitas untuk mengatur halaman dan mencetak. Dan pada penambahan berikutnya didapat produk akhir text editor yang sudah ditambahi dengan fasilitas pengaturan font, pencarian dan penggantian kata, serta fasilitas bantuan (help).

2.3.4 Spiral Model


Model proses perangkat lunak evolusioner yang mengadopsi pengulangan model prototyping dan pengendalian model linear sequential dengan tambahan elemen analisis resiko pada proses pengembangannya. Representasi model ini berbentuk spiral (Gambar 2.7), dimana setiap pengulangan dinyatakan dengan suatu sirkuit yang melingkari 4 aktivitas utama: 1. Perencanaan Mendefinisikan tujuan, kendala, sumber daya, waktu, dan informasi lain yang berhubungan dengan proyek. Analsis resiko Mengenali, menganalisis dan menilai resiko teknis dan manajemen. Rekayasa Membangun satu atau beberapa produk yang merepresentasikan aplikasi.

2. 3.

30

BAGIAN I: KONSEP DASAR

4.

Evaluasi pemakai Mendapatkan umpan balik dari pemakai berdasarkan hasil evaluasi produk yang direkayasa.
PERENCANAAN ANALISIS RESIKO

EVALUASI PEMAKAI

REKAYASA

Gambar 2.7 Model Proses Spiral

2.3.5 Rational Unified Process (RUP)


RUP adalah proses pengembangan perangkat lunak berbasis UML (Unified Modeling Language) yang mempunyai karakteristik: 1. Berulang (iterative) Tahap pengembangan untuk setiap produk yang diserahkan (release) dilaksanakan secara berulang. Architecture centric Menggunakan arsitektur sistem sebagai artifak utama untuk konseptualisasi, konstruksi, pengelolaan, dan penyusunan sistem selama pengembangan. Use case-driven Menggunakan use case sebagai artifak utama untuk menetapkan perilaku sistem yang diinginkan dan untuk mengkomunikasikan perilaku sistem tersebut kepada para stakeholder sistem. Risk-driven Menghilangkan atau mengurangi menghambat kesuksesan proyek. resiko-resiko yang dapat

2.

3.

4.

BAB 2: MODEL PROSES PERANGKAT LUNAK

31

Sasaran RUP adalah menghasilkan perangkat lunak yang berkualitas tinggi, sesuai kebutuhan pemakai, dengan jadwal dan biaya sesuai dengan yang direncanakan

Gambar 2.8 Model Proses Pengembangan dengan RUP (Sumber: www.rational.com) Proses pengembangan pada RUP dinyatakan dalam dua dimensi, atau dua sumbu (lihat Gambar 2.8). sumbu horizontal (sumbu x) merepresentasi waktu dan menunjukkan aspek dinamis dari proses, yaitu siklus, tahap, iterasi, dan milestone. sumbu vertikal (sumbu y) merepresentasikan aspek statis dari proses, yaitu aktivitas, artifak, pelaksana kerja (worker) dan aliran kerja (workflow).

2.3.5.1 Tahap RUP


Berdasarkan Gambar 2.8, tahap (phases) pelaksanaan pengembangan pada RUP meliputi: 1. Permulaan (inception) Tahap inception fokus pada penentuan manfaat perangkat lunak yang harus dihasilkan, penetapan proses-proses bisnis (business case), dan perencanaan proyek.

32

BAGIAN I: KONSEP DASAR

2.

Pemerincian (elaboration) Tahap untuk menentukan use case (set of activities) dari perangkat lunak berikut rancangan arsitekturnya. Konstruksi (construction) Membangun produk perangkat lunak secara lengkap yang siap diserahkan kepada pemakai. Transisi (transition) Menyerahkan perangkat lunak kepada pemakai, mengujinya di tempat pemakai, dan memperbaiki masalah-masalah yang muncul saat dan setelah pengujian.

3.

4.

2.3.5.2 Aliran Kerja RUP


Ada dua jenis aliran kerja (workflow) pada RUP, yaitu aliran kerja utama dan aliran kerja pendukung. Aliran Kerja Utama 1. 2. Pemodelan bisnis (business modeling ) Mendeskripsikan struktur dan proses-proses bisnis organisasi. Kebutuhan (requirements) Mendefinisikan kebutuhan perangkat lunak dengan menggunakan metode use case. Analisis dan perancangan (analysis and design) Mendeskripsikan berbagai arsitektur perangkat lunak dari berbagai sudut pandang. Implementasi (implementation) Menulis kode-kode program, menguji, dan mengintegrasikan unit-unit programnya. Pengujian (testing ) Mendeskripsikan kasus uji, prosedur, dan alat ukur pengujian. Deployment Menangani konfigurasi sistem yang akan diserahkan.

3.

4.

5. 6.

Aliran Kerja Pendukung 1. Manajemen konfigurasi dan perubahan (configuration and change management) Mengendalikan perubahan dan memelihara artifak-artifak proyek. Manajemen proyek (project management) Mendeskripsikan berbagai strategi pekerjaan dengan proses yang berulang. Lingkungan (environment) Menangani infrastruktur yang dibutuhkan untuk mengembangkan sistem.

2.

3.

BAB 2: MODEL PROSES PERANGKAT LUNAK

33

2.4 Metode Pengembangan Perangkat Lunak


Yang dimaksud dengan metode pengembangan perangkat lunak disini adalah pendekatan, sudut pandang, atau kumpulan aturan yang harus diikuti untuk menyelesaikan tahap-tahap pekerjaan saat melaksanakan pengembangan perangkat lunak. Ada beberapa pendekatan atau metode yang sudah dikenal, dan berikut adalah penjelasan untuk metode-metode yang sering digunakan.

2.4.1 Konvensional atau Tradisional


Sudut pandang pengembangan pada metode ini ditujukan pada sistem fisik (prosedur kerja) yang ada dalam suatu organisasi. Tahap pengembangan biasanya diawali dengan mengamati dokumen apa yang menjadi media data atau informasi, bagaimana dokumen tersebut terbentuk, bagaimana dokumen tersebut mengalir dari satu bagian ke bagian yang lain, proses apa yang terjadi pada dokumen tersebut, dan seterusnya. Hasil setiap tahap pengembangan dimodelkan dengan menggunakan alat bantu yang disebut bagan alir (flowchart) yang menggunakan simbol-simbol tertentu yang sudah dibakukan oleh ANSI (American National Standard Institute). Pemodelan yang dibuat pada umumnya adalah: 1. Peta aliran kerja (flowmap) Menggambarkan prosedur kerja secara fisik, baik yang masih manual atau yang sudah menggunakan komputer, dilihat berdasarkan aliran dokumen yang digunakan. System Flowchart Menggambarkan kerangka proses program dilihat dari masukan, proses dan keluarannya. Program Flowchart Menggambarkan urut-urutan logika proses dari program.

2.

3.

Contoh hasil pengembangan perangkat lunak dengan metode konvensional dapat dilihat pada Lampiran B.

2.4.2 Berorientasi Aliran Data atau Fungsi


Sudut pandang pengembangan dengan metode ini adalah aspek fungsional dan perilaku laku sistem. Pengembang harus mengetahui fungsi-fungsi atau prosesproses apa saja yang ada dalam sistem, data apa yang menjadi masukannya, dimana data tersebut disimpan, transformasi apa yang akan dilakukan terhadap data tersebut, dan apa yang menjadi hasil transformasinya. Selain itu, pengembang harus mengetahui keadaan, perubahan, kondisi, dan aksi dari sistem.

34

BAGIAN I: KONSEP DASAR

Salah satu teknik yang paling populer untuk metode ini adalah Teknik Terstruktur (Structured Technique) yang meliputi analisis, perancangan, dan pemrograman. Pada teknik ini, hasil analisis dan perancangan dimodelkan dengan menggunakan alat bantu pemodelan seperti: 1. Diagram Aliran Data (Data Flow Diagram atau DFD) Digunakan untuk menggambarkan aliran data dalam sistem, sumber dan tujuan data, proses yang mengolah data tersebut, dan tempat penyimpanan datanya. Kamus Data (Data Dictionary) Digunakan untuk mendeskripsikan struktur dari data atau informasi yang mengalir (ada) dalam sistem. Spesifikasi Proses (Process Specification atau P-Spec) Digunakan untuk menggambarkan deskripsi dan spesifikasi dari setiap proses yang ada pada sistem, biasanya untuk proses-proses atomik, dengan menggunakan notasi yang disebut Structured English. Diagram Transisi Keadaan (State Transition Diagram atau STD) Digunakan untuk menggambarkan perilaku sistem, dan biasanya untuk sistem waktu nyata (real time). Diagram E-R Digunakan untuk menggambarkan hubungan (relationship) antara entitas-entitas dilihat dari aspek datanya (atau hubungan antar tempat penyimpanan). Bagan Terstruktur (Structure Chart) Digunakan untuk menggambarkan struktur atau arsitektur program. Pseudo-code Digunakan untuk menuliskan algoritma setiap modul program.

2.

3.

4.

5.

6. 7.

Penjelasan rinci untuk metode pengembangan berorientasi aliran data ini akan disampaikan pada Bab 5 dan 8.

2.4.3 Berorientasi Data


Sudut pandang pengembangan pada metode ini adalah struktur data dari dokumen masukan/keluaran yang digunakan dalam sistem. Tahap pelaksanaan pengembangannya pada umumnya mengikuti urutan sebagai berikut: 1. 2. 3. Mengidentifikasi entitas-entitas atau item-item yang menjadi objek informasi kunci berikut operasi-operasinya. Menyatakan struktur informasi (dari dokumen) secara hirarki dengan menggunakan konstruksi sequence, selection dan repetition. Memetakan hirarki struktur informasi menjadi struktur program.

BAB 2: MODEL PROSES PERANGKAT LUNAK

35

Beberapa teknik pengembangan perangkat lunak berorientasi struktur data ini diantaranya adalah: Data Structured System Development (DSSD) Diperkenalkan pertama kali oleh J.D. Warnier (1974) dan kemudian oleh Ken Orr (1977) sehingga sering disebut juga teknik Warnier-Orr. Teknik ini menggunakan perangkat entity diagram, assembly line diagram dan Warnier-Orr diagram untuk memodelkan hasil analisis dan perancangannya. Jackson System Development (JSD) Dikembangkan oleh M.A. Jackson (1975) dengan menggunakan perangkat pemodelan yang disebut structure diagram dan system specification diagram.

2.4.4 Berorientasi Objek


Berbeda dengan pendekatan-pendekatan sebelumnya, metode berorientasi objek memandang perangkat lunak yang akan dikembangkan sebagai suatu kumpulan objek yang berkorespondensi dengan objek-objek dunia nyata. Pada metode ini, informasi dan proses yang dipunyai oleh suatu objek dienkapsulasi (dibungkus) dalam satu kesatuan. Gambar 2.9 berikut menunjukkan cara pandang metode berorientasi objek dibandingkan dengan metode berorientasi fungsi.
Sistem Akademik

Dekomposisi berdasarkan objek atau konsep Dosen Jadwal Kuliah

Dekomposisi berdasarkan fungsi atau proses Konteks

Mahasiswa

Kontrak Kuliah

Pengambilan Kuliah

Penjadwalan

Penilaian

Metodologi Berorientasi Objek

Metodologi Berorientasi Fungsi

Gambar 2.9 Sudut Pandang Metode Berorientasi Objek vs Fungsi Beberapa teknik pengembangan perangkat lunak yang berorientasi objek ini diantaranya adalah: Object Oriented Analysis (OOA) dan Object Oriented Design (OOD) dari Peter Coad dan Edward Yourdon (1990).

36

BAGIAN I: KONSEP DASAR

Object Modeling Technique (OMT) dari James Rumbaugh, Michael Blaha, William Premerlan, Frederick Eddy dan William Lorensen (1991). Object Oriented Software Engineering (OOSE) dari Ivar Jacobson (1992). Metode Booch dari Grady Booch (1994). Syntropy dari Steve Cook dan John Daniels (1994).

Pembahasan rinci untuk metode pengembangan objek dijelaskan pada Bab 6 dan 9.

BAB 2: MODEL PROSES PERANGKAT LUNAK

37

Rangkuman
1. Pengembangan perangkat lunak adalah salah satu proses dari berbagai proses yang ada dalam rekayasa perangkat lunak. Pada proses ini, kebutuhan pemakai ditransformasi menjadi perangkat lunak. Walaupun pelaksanaan proses pengembangan mungkin mempunyai ragam aktivitas yang berlainan, tetapi pada umumnya terdiri dari: penetapan baseline, analisis dan perancangan sistem, analisis kebutuhan dan perancangan perangkat lunak, penulisan program, pengujian, instalasi dan pengujian sistem, dan penyerahan kepada pemakai. Model proses pengembangan adalah cara atau strategi bagaimana mengembangkan perangkat lunak berdasarkan model proses, metode pengembangan, teknik, dan alat bantu tertentu sehingga produk perangkat lunak dapat diwujudkan. Penentuan model proses mana yang digunakan saat pengembangan, tergantung sepenuhnya kepada sifat dan ukuran proyek, area aplikasi, atau kompleksitas masalah. Metode pengembangan adalah metode teknis untuk menyelesaikan setiap aktivitas dari pengembangan perangkat lunak yang mempunyai pendekatan, sudut pandang, dan kumpulan aturan tertentu. Jika diklasifikasi sesuai pendekatannya, dikenal empat metode pengembangan, yaitu metode konvensional, berorientasi fungsi, data, dan objek.

2.

3.

4.

Daftar Pustaka
[DAV93] Davis, Alan M., Software Requirements: Objects, Functions and States, Prentice-Hall International Editions, Englewood Cliffs, New Jersey, 1993. [DOD94] US Department of Defense, MIL-STD-498 Software Development and Documentation, 1994. [IEE93] The Institute of Electrical and Electronics Engineers, IEEE Std 610.12-1993 Standard Glossary of SW Engineering Terminology, 1993. The Institute of Electrical and Electronics Engineers; Electronic Industries Association (EIA), IEEE/EIA 12207.0 Standard for Information Technology - Software Life Cycle Processes, 1998.

[IEE98]

[JAC99] Jacobson, Ivar; Booch, Grady; and Rumbaugh, James The Unified Software Development Process, Addison Wesley, Reading, Massachusetts, 1999.

38

BAGIAN I: KONSEP DASAR

[LAR98] Larman, Craig, Applying UML and Paterns An Introduction to Object-Oriented Analysis and Design, Prentice-Hall PTR, Upper Saddle River, New Jersey, 1998. [PRE01] Pressman, Roger S., Software Engineering: A Practioners Approach, Fifth Edition, MacGraw-Hill International Editions, 2001. [RAT99] Rational Software, The Rational Unified Process, November, 1999.

Anda mungkin juga menyukai