• Tidak ada hasil yang ditemukan

Modul Rekayasa Perangkat Lunak

N/A
N/A
Protected

Academic year: 2021

Membagikan "Modul Rekayasa Perangkat Lunak"

Copied!
128
0
0

Teks penuh

(1)

BAB 1

BAB 1

PENDAHULUAN

PENDAHULUAN

1.1.

1.1. Pengertian Rekayasa Perangkat Lunak

Pengertian Rekayasa Perangkat Lunak

Definisi Rekayasa

Definisi Rekayasa Engineering = rekayasa Engineering = rekayasa

 Pemakaian ‘science’ untuk menyelesaikan ‘masalah praktis’Pemakaian ‘science’ untuk menyelesaikan ‘masalah praktis’ 

 Dari tidak ada menjadi adaDari tidak ada menjadi ada Definisi Perangkat Lunak

Definisi Perangkat Lunak

Ada beberapa definisi perangkat lunak yang pernah dikemukakan antara lain : Ada beberapa definisi perangkat lunak yang pernah dikemukakan antara lain : •

• Software Software = = Perangkat Perangkat lunaklunak 

 Kumpulan program komputer dengan fungsi tertentuKumpulan program komputer dengan fungsi tertentu •

• Perangkat lunak adalahPerangkat lunak adalah 1.

1. Instruksi (program komputer) yang bila dieksekusi dapat menjalankan fungsiInstruksi (program komputer) yang bila dieksekusi dapat menjalankan fungsi tertentu,

tertentu, 2.

2. Struktur data yang dapat membuat program memanipulasi informasi, danStruktur data yang dapat membuat program memanipulasi informasi, dan 3.

3. Dokumen yang menjelaskan operasi dan penggunaan program (Pressman,Dokumen yang menjelaskan operasi dan penggunaan program (Pressman, 1997).

1997). •

• Perangkat lunak adalah program komputer, prosedur, aturan, dan dokumentasi yangPerangkat lunak adalah program komputer, prosedur, aturan, dan dokumentasi yang  berkaitan

 berkaitan serta serta data, data, yang yang bertalian bertalian dengan dengan operasi operasi suatu suatu sistem sistem komputer komputer (IEEE,(IEEE, 1993).

1993).

Karakteristik Perangkat Lunak Karakteristik Perangkat Lunak

Perangkat lunak lebih dikenal sebagai elemen lojik daripada fisik, oleh karena itu Perangkat lunak lebih dikenal sebagai elemen lojik daripada fisik, oleh karena itu  perangkat lunak memilik

 perangkat lunak memiliki karakteristik yani karakteristik yang berbeda dari perang berbeda dari perangkat keras :gkat keras : 1.

1. Perangkat lunak dikembangkan atau direkayasa, jadi tidak diproduksi dalamPerangkat lunak dikembangkan atau direkayasa, jadi tidak diproduksi dalam  pengertian klas

 pengertian klasik.ik. 2.

2. Merupakan produk yang unik (tidak ada seri produksi).Merupakan produk yang unik (tidak ada seri produksi). 3.

3. Perangkat lunak tidak pernah akan rusak/aus karena selalu diperbaharuiPerangkat lunak tidak pernah akan rusak/aus karena selalu diperbaharui 4.

4. Tidak terlihat (Tidak terlihat (invisibleinvisible).). 5.

5. Perangkat lunak pada umumnya dibangun sesuai keinginan, jadi tidak dibentuk dariPerangkat lunak pada umumnya dibangun sesuai keinginan, jadi tidak dibentuk dari komponen yang sudah ada.

komponen yang sudah ada. 6.

6. Fleksibel, sehingga mudah dimodifikasi.Fleksibel, sehingga mudah dimodifikasi. 7.

7. Dihubungkan (Dihubungkan (linked linked ) dengan sistem komputer.) dengan sistem komputer. Rekayasa perangkat lunak (

Rekayasa perangkat lunak (software engineeringsoftware engineering) adalah suatu proses rancang bangun.) adalah suatu proses rancang bangun. Beberapa definisi tentang rekayasa perangkat lunak :

Beberapa definisi tentang rekayasa perangkat lunak : •

• Pembentukan dan penggunaan prinsip rekayasa (Pembentukan dan penggunaan prinsip rekayasa (engineeringengineering) untuk mendapatkan) untuk mendapatkan  perangkat lu

 perangkat lunak secara ekononak secara ekonomis namun andal damis namun andal dan dapat bekerja n dapat bekerja secara efesien secara efesien padapada komputer (Fritz Bauer, 1968).

komputer (Fritz Bauer, 1968). •

• Penerapan pendekatan yang sistematis, disiplin, dan terukur untuk pengembangan,Penerapan pendekatan yang sistematis, disiplin, dan terukur untuk pengembangan, operasi, dan pemeliharaan perangkat lunak (IEEE, 1993).

operasi, dan pemeliharaan perangkat lunak (IEEE, 1993). •

• Suatu disiplin yang mengintegrasikan proses/prosedur, metode, dan perangkat toolsSuatu disiplin yang mengintegrasikan proses/prosedur, metode, dan perangkat tools untuk pembangunan perangkat lunak komputer (Pressman, 97).

untuk pembangunan perangkat lunak komputer (Pressman, 97). •

(2)
(3)

o

o Mengurutkan transformasi masalah menjadi solusi yang dapat bekerjaMengurutkan transformasi masalah menjadi solusi yang dapat bekerja dengan baik

dengan baik o

o Urutan pemeliharaan perangkat lunak tersebut sampai tidak dapatUrutan pemeliharaan perangkat lunak tersebut sampai tidak dapat digunakan lagi (Alan M. Davis)

digunakan lagi (Alan M. Davis) Proses RPL dimulai jauh sebelum “

Proses RPL dimulai jauh sebelum “CodingCoding” dilakukan dan berlanjut terus setelah versi” dilakukan dan berlanjut terus setelah versi awal

awal dari dari program program selesai dikerjakan.selesai dikerjakan. Tujuan dari RPL adalah

Tujuan dari RPL adalah a.

a. Menghasilkan sebuah perangkat lunak yang berkualitas. Yang dimaksud denganMenghasilkan sebuah perangkat lunak yang berkualitas. Yang dimaksud dengan  berkualitas

 berkualitas dapat dildapat dilihat dari ihat dari tiga sisi, tiga sisi, sisi sponsosisi sponsor (individu r (individu atau organatau organisasi yang isasi yang telahtelah mengeluarkan biaya dalam pembangunan perangkat lunak), sisi pemakai (siapapun mengeluarkan biaya dalam pembangunan perangkat lunak), sisi pemakai (siapapun yang menggunakan perangkat lunak tersebut), sisi

yang menggunakan perangkat lunak tersebut), sisi maintainer / modifiermaintainer / modifier (yang(yang memelihara dan memodifikasi perangkat lunak tersebut). Untuk lebih jelasnya lihat memelihara dan memodifikasi perangkat lunak tersebut). Untuk lebih jelasnya lihat gambar 1.1.

gambar 1.1.

Sisi Sponsor : Sisi Sponsor :

Tujuan utama sponsor adalah menghasilkan dan atau menghemat uang. Sponsor ingin Tujuan utama sponsor adalah menghasilkan dan atau menghemat uang. Sponsor ingin menggunakan perangkat lunak tersebut untuk meningkatkan produktivitas organisasi. menggunakan perangkat lunak tersebut untuk meningkatkan produktivitas organisasi. Sponsor mengharapkan untuk dapat menghasilkan sebuah layanan dengan biaya yang Sponsor mengharapkan untuk dapat menghasilkan sebuah layanan dengan biaya yang rendah tetapi masuk akal. Karena itu sistem yang dibuat harus handal, fleksibel dan rendah tetapi masuk akal. Karena itu sistem yang dibuat harus handal, fleksibel dan efisien. Selain itu biaya dari pemeliharaan, modifikasi dan peningkatan dari sistem efisien. Selain itu biaya dari pemeliharaan, modifikasi dan peningkatan dari sistem tersebut harus serendah mungkin.

tersebut harus serendah mungkin. Sisi Pemakai

Sisi Pemakai : :

Bagi pemakai perangkat lunak adalah alat untuk membantu menyelesaikan Bagi pemakai perangkat lunak adalah alat untuk membantu menyelesaikan tugas-tugasnya. Karena itu perangkat lunak harus menyediakan fungsi-fungsi yang tugasnya. Karena itu perangkat lunak harus menyediakan fungsi-fungsi yang dibutuhkan oleh pemakai. Perangkat lunak juga harus handal dan efisien, perangkat dibutuhkan oleh pemakai. Perangkat lunak juga harus handal dan efisien, perangkat lunak harus dapat menghasilkan

lunak harus dapat menghasilkan outputoutput yang konsisten. Selain itu pemakai harusyang konsisten. Selain itu pemakai harus merasa perangkat lunak yang dibuat mudah untuk dipelajari, mudah digunakan dan merasa perangkat lunak yang dibuat mudah untuk dipelajari, mudah digunakan dan mudah untuk diingat.

mudah untuk diingat. Sisi

SisiM a i nM a i n t at a i ni n eer r / / m m o d io d i f i e r   f i e r    : : Yang diinginkan oleh

Yang diinginkan oleh maintainer/modifier maintainer/modifier   adalah perangkat lunak tersebut memiliki  adalah perangkat lunak tersebut memiliki sangat sedikit

sangat sedikit errorerror  pada  pada saat saat pengpenginstallinstallan pertama (catatan : sangat kecilan pertama (catatan : sangat kecil kemungkinannya untuk menghasilkan perangkat lunak yang 100 % bebas dari

kemungkinannya untuk menghasilkan perangkat lunak yang 100 % bebas daribugbug).). Selain itu perangkat lunak tersebut harus terdokumentasi dengan baik.

Selain itu perangkat lunak tersebut harus terdokumentasi dengan baik. Source codeSource code  juga harus mudah dib

 juga harus mudah dibaca, terstruktur dan diaca, terstruktur dan dirancang dengan baik drancang dengan baik dan bersifat modular.an bersifat modular.  b.

 b. Tujuan kedua dari RPL adalah menghasilkan perangkat lunak dengan biaya yangTujuan kedua dari RPL adalah menghasilkan perangkat lunak dengan biaya yang efisien.

efisien. c.

c. Sedangkan tujuan ketiga dari RPL adalah menghasilkan perangkat lunak tepat padaSedangkan tujuan ketiga dari RPL adalah menghasilkan perangkat lunak tepat pada waktunya.

(4)
(5)

Gambar 1.1 Paremeter Perangkat Lunak

Gambar 1.1 Paremeter Perangkat Lunak Yang Berkualitas Berdasarkan Sudut PandangYang Berkualitas Berdasarkan Sudut Pandang

Rekayasa perangkat lunak merupakan suatu teknologi berlapis, yaitu proses/prosedur, Rekayasa perangkat lunak merupakan suatu teknologi berlapis, yaitu proses/prosedur, metode, dan perangkat, dengan fokus kualitas sebagai dasar utamanya.

metode, dan perangkat, dengan fokus kualitas sebagai dasar utamanya.

Mengapa Rekayasa Perangkat Lunak ? Mengapa Rekayasa Perangkat Lunak ?

Adanya krisis perangkat lunak (NATO conference, 1968) : Adanya krisis perangkat lunak (NATO conference, 1968) : •

• Perangkat lunak lebih banyak menyebabkan masalah daripada menyelesaikannya.Perangkat lunak lebih banyak menyebabkan masalah daripada menyelesaikannya. •

• Peningkatan ukuran perangkat lunak tanpa pengorganisasian.Peningkatan ukuran perangkat lunak tanpa pengorganisasian. •

• Perbaikan suatu kesalahan menyebabkan timbulnya kesalahan lainnya.Perbaikan suatu kesalahan menyebabkan timbulnya kesalahan lainnya. •

• Tidak ada kendali pemeliharaan.Tidak ada kendali pemeliharaan. Masalah-masalah perangkat lunak : Masalah-masalah perangkat lunak : •

• Perangkat lunak telah diselesaikan dan diserahkan (Perangkat lunak telah diselesaikan dan diserahkan (delivered delivered ) tetapi tidak pernah) tetapi tidak pernah digunakan (47%).

digunakan (47%). •

• Pemakai (Pemakai (user user ) sudah membayar untuk perangkat lunak tetapi tidak pernah jadi dan) sudah membayar untuk perangkat lunak tetapi tidak pernah jadi dan diserahkan (29,7%).

diserahkan (29,7%). •

• Perangkat lunak digunakan setelah dilakukan modifikasi (3%).Perangkat lunak digunakan setelah dilakukan modifikasi (3%). •

• Perangkat lunak digunakan sebagaimana mestinya (2%).Perangkat lunak digunakan sebagaimana mestinya (2%).

Selain itu faktor pendukung kehadiran rekayasa perangkat lunak adalah : Selain itu faktor pendukung kehadiran rekayasa perangkat lunak adalah : •

• Ketidak mampuan untuk memprediksi waktu, usaha dan biaya pada pengembanganKetidak mampuan untuk memprediksi waktu, usaha dan biaya pada pengembangan  perangkat lunak

 perangkat lunak.. •

(6)
(7)

• Perubahan perbandingan (rasio) harga perangkat keras dan perangkat lunak.Perubahan perbandingan (rasio) harga perangkat keras dan perangkat lunak. •

• Kemajuan teknologi perangkat keras.Kemajuan teknologi perangkat keras. •

• Kemajuan teknik perangkat lunak.Kemajuan teknik perangkat lunak. •

• Kebutuhan yang meningkat terhadap perangkat lunak.Kebutuhan yang meningkat terhadap perangkat lunak. •

• Kebutuhan akan perangkat lunak yang lebih besar dan kompleks.Kebutuhan akan perangkat lunak yang lebih besar dan kompleks.

1.2.

1.2. Pengertian Perangkat Lunak

Pengertian Perangkat Lunak

Jenis-jenis Perangkat Lunak

Jenis-jenis Perangkat Lunak

Dilihat dari sudut pandang fungsinya, perangkat lunak dapat dikelompokkan menjadi : Dilihat dari sudut pandang fungsinya, perangkat lunak dapat dikelompokkan menjadi : 1.

1. Perangkat lunak sistemPerangkat lunak sistem

Perangkat lunak yang kegunaannya lebih banyak ditujukan untuk operasional Perangkat lunak yang kegunaannya lebih banyak ditujukan untuk operasional komputer.

komputer. •

• sistem operasisistem operasi •

•  penerjemah bahasa p penerjemah bahasa pemrograman (emrograman (compiler/interpreter compiler/interpreter )) 2.

2. Perangkat lunak aplikasiPerangkat lunak aplikasi

Perangkat lunak yang kegunaannya lebih banyak ditujukan untuk membantu Perangkat lunak yang kegunaannya lebih banyak ditujukan untuk membantu menyelesaikan masalalah-masalah yang dihadapi oleh pemakai.

menyelesaikan masalalah-masalah yang dihadapi oleh pemakai. •

•  program paket yang su program paket yang sudah jadidah jadi •

•  program aplikasi buata program aplikasi buatan sendirin sendiri

Sedangkan dilihat dari aplikasinya, perangkat lunak dibedakan menjadi : Sedangkan dilihat dari aplikasinya, perangkat lunak dibedakan menjadi : 1.

1. Perangkat Lunak Sistem (Perangkat Lunak Sistem (Sistem SoftwareSistem Software)) Sekumpulan program

Sekumpulan program yang ditulis yang ditulis untuk kepentingan untuk kepentingan program lain, program lain, contohcontoheditor editor ,, driver 

driver  dan lain-lain dan lain-lain 2.

2. Perangkat Perangkat Lunak Lunak Waktu Waktu Nyata Nyata (( Real Time Software Real Time Software))

Perangkat lunak yang digunakan untuk mengukur/menganalisis atau mengontrol Perangkat lunak yang digunakan untuk mengukur/menganalisis atau mengontrol  proses

 proses pemasukan pemasukan data data dari dari lingkungan lingkungan luar luar sampai sampai menghasilkan menghasilkan laporan laporan yangyang diinginkan

diinginkan 3.

3. Perangkat Lunak Bisnis (Perangkat Lunak Bisnis ( Business Software Business Software))

Perangkat lunak yang memberikan fasilitas operasi untuk bisnis atau fasilitas Perangkat lunak yang memberikan fasilitas operasi untuk bisnis atau fasilitas  pengambilan

 pengambilan keputusan keputusan manajemen, contomanajemen, contoh sistem h sistem akuntansiakuntansi , inventory, payroll , inventory, payroll dan dan lain-lain

lain-lain 4.

4. Perangat Lunak Rekayasa dan Sains (Perangat Lunak Rekayasa dan Sains ( Engineering and  Engineering and Scientific SoftwareScientific Software))

Perangkat lunak yang digunakan di dalam bidang aplikasi teknik dan kerekayasaan Perangkat lunak yang digunakan di dalam bidang aplikasi teknik dan kerekayasaan Perangkat lunak jenis ini biasanya berhubungan dengan komputasi data numerik, Perangkat lunak jenis ini biasanya berhubungan dengan komputasi data numerik, CAD (

CAD (Computer Aided DesignComputer Aided Design), simulasi sistem, dan lain-lain.), simulasi sistem, dan lain-lain. 5.

5.  Embedded Softwar Embedded Softwaree Perangkat lunak yang

Perangkat lunak yang digunakan untuk digunakan untuk mengontrol suatu produk mengontrol suatu produk dan sistem dan sistem dimanadimana  perangkat

 perangkat lunak lunak tersebut tersebut disimpan. disimpan. Biasanya Biasanya ditempatkan ditempatkan di di ROM, ROM, contoh contoh TombolTombol di

di Microwave Ov Microwave Ovenen 6.

6. Perangkat Lunak Komputer Pribadi (Perangkat Lunak Komputer Pribadi (Personal Computer SoftwarePersonal Computer Software))

Banyak digunakan pada aplikasi yang bersifat perorangan, contohnya : pengolah Banyak digunakan pada aplikasi yang bersifat perorangan, contohnya : pengolah kata,

kata, spreadsheet spreadsheet ,, gamegame, DBMS dan lain-lain., DBMS dan lain-lain. 7.

(8)
(9)

Dibuat dengan menggunakan teknik algoritma non-numerik untuk memecahkan Dibuat dengan menggunakan teknik algoritma non-numerik untuk memecahkan masalah yang kompleks, digunakan dalam bidang aplikasi kecerdasan buatan, masalah yang kompleks, digunakan dalam bidang aplikasi kecerdasan buatan, contohnya :

contohnya :game, expert sistem, neural network game, expert sistem, neural network , Turbo Prolog, dan lain-lain, Turbo Prolog, dan lain-lain

1.3. Mitos Perangkat Lunak

1.3. Mitos Perangkat Lunak

Berkaitan dengan Manajemen : Berkaitan dengan Manajemen :

Biasanya muncul pada manajer yang bertanggung jawab terhadap perangkat lunak. Biasanya muncul pada manajer yang bertanggung jawab terhadap perangkat lunak. Mereka biasanya ditekan untuk menjaga budget, jadwal harus selalu terpenuhi dan harus Mereka biasanya ditekan untuk menjaga budget, jadwal harus selalu terpenuhi dan harus meningkatkan kualitas. Mitos tersebut antara lain :

meningkatkan kualitas. Mitos tersebut antara lain : Mitos :

Mitos :  Kita sudah punya buku yang berisi standard dan prosedur yang banyak untuk  Kita sudah punya buku yang berisi standard dan prosedur yang banyak untuk  pengembangan

 pengembangan perangkat perangkat lunak. lunak. Bukankah Bukankah hal hal ini ini sudah sudah cukup cukup untuk untuk mencari mencari semuasemua yang ingin diketahui ?

yang ingin diketahui ? Kenyataan :

Kenyataan : Buku-buku itu memang lengkap, tapi apakah digunakan ? Apakah praktisi Buku-buku itu memang lengkap, tapi apakah digunakan ? Apakah praktisi  perangkat

 perangkat lunak lunak sadar sadar dengan dengan keberadaannya? keberadaannya? Apakah Apakah cocok cocok dengan dengan pengembanganpengembangan yang modern? Apakah benar-benar lengkap ? Pada banyak kasus jawabannya adalah yang modern? Apakah benar-benar lengkap ? Pada banyak kasus jawabannya adalah tidak.

tidak. Mitos :

Mitos :  Staff Kami mempunyai alat Bantu pengembangan yang canggih, bahkan  Staff Kami mempunyai alat Bantu pengembangan yang canggih, bahkan dibelikan komputer generasi terbaru.

dibelikan komputer generasi terbaru. Kenyataan :

Kenyataan : Masalah pengembangan perangkat lunak yang berkualitas lebih pentingMasalah pengembangan perangkat lunak yang berkualitas lebih penting dari sekedar komputer yang terbaru. CASE (

dari sekedar komputer yang terbaru. CASE (Computer Aided Software EngineeringComputer Aided Software Engineering)) tools lebih penting daripada perangkat keras untuk mendapatkan kualitas dan tools lebih penting daripada perangkat keras untuk mendapatkan kualitas dan  produktifitas

 produktifitas yang yang baik, baik, tapi tapi banyak banyak pengembang pengembang perangkat perangkat lunak lunak yang yang tidaktidak menyadarinya.

menyadarinya. Mitos :

Mitos :Jika Kita dikejar jadwal, tambah programmer untuk mengejarnyaJika Kita dikejar jadwal, tambah programmer untuk mengejarnya Kenyataan :

Kenyataan : Membuat Membuat perangkat perangkat lunak lunak bukan bukan proses proses mekanis mekanis seperti seperti industriindustri manufaktur. Jika kita menambah orang pada proyek yang terlambat itu justru akan lebih manufaktur. Jika kita menambah orang pada proyek yang terlambat itu justru akan lebih terlambat

terlambat

Berkaitan dengan Klien Berkaitan dengan Klien

Konsumen sering mempercayai mitos karena pembuat perangkat lunak kurang berusaha Konsumen sering mempercayai mitos karena pembuat perangkat lunak kurang berusaha untuk membetulkan misinformasi ini.

untuk membetulkan misinformasi ini. Mitos :

Mitos :  Sebuah kalimat umum yang menyatakan objektif sudah cukup untuk memulai  Sebuah kalimat umum yang menyatakan objektif sudah cukup untuk memulai menulis program. Kita bias perinci lagi nanti.

menulis program. Kita bias perinci lagi nanti. Kenyataan :

Kenyataan : Definisi yang tidak jelas, justru akan menggagalkan usaha pengembangan Definisi yang tidak jelas, justru akan menggagalkan usaha pengembangan  perangkat

 perangkat lunak. lunak. Justru Justru diperlukan diperlukan deskripsi deskripsi formal formal dan dan detil detil dari dari domain domain informasi,informasi, fungsi, performansi, antarmuka, batasan desain, dan kriteria validasi. Karakteristik ini fungsi, performansi, antarmuka, batasan desain, dan kriteria validasi. Karakteristik ini hanya bias didapat melalui komunikasi total antara pelanggan dan pengembang.

hanya bias didapat melalui komunikasi total antara pelanggan dan pengembang. Mitos :

Mitos : Kebutuhan proyek akan terus berubah, tapi perubahan ini akan dapat ditanggapi Kebutuhan proyek akan terus berubah, tapi perubahan ini akan dapat ditanggapi dengan mudah karena perangkat lunak itu bersifat fleksibel

dengan mudah karena perangkat lunak itu bersifat fleksibel Kenyataan :

Kenyataan :  memang betul kebutuhan perangkat lunak akan berubah, namun  memang betul kebutuhan perangkat lunak akan berubah, namun dampaknya tergantung pada waktu pemunculannya. Jika muncul pada tahap definisi, dampaknya tergantung pada waktu pemunculannya. Jika muncul pada tahap definisi,  pengaruhnya tida

(10)
(11)

Berkaitan dengan Pengembang Berkaitan dengan Pengembang Mitos :

Mitos : Setelah program selesai ditulis dan dapat dijalankan, maka tugas sudah selesai. Setelah program selesai ditulis dan dapat dijalankan, maka tugas sudah selesai. Kenyataan :

Kenyataan :  Ada yang mengatakan bahwa “Lebih cepat program dibuat, maka lebih  Ada yang mengatakan bahwa “Lebih cepat program dibuat, maka lebih lama selesainya”. Dari data industri 50-70% dari usaha pada pembuatan program akan lama selesainya”. Dari data industri 50-70% dari usaha pada pembuatan program akan  bertambah lagi setela

 bertambah lagi setelah program dilihat untuk ph program dilihat untuk pertama kalinya oleh pelertama kalinya oleh pelanggan.anggan. Mitos :

Mitos : Selama program belum berjalan, sulit untuk mengetahui kualitasnya Selama program belum berjalan, sulit untuk mengetahui kualitasnya Kenyataan :

Kenyataan : Software reviewSoftware review  adalah cara efektif untuk mencari  adalah cara efektif untuk mencari Software defect Software defect  daripada tahap pengujian

daripada tahap pengujian Mitos :

Mitos : Faktor  Faktor penentu suksesnya proyek penentu suksesnya proyek adalah program yang adalah program yang dapat berjalandapat berjalan Kenyataan :

Kenyataan :  Program hanyalah salah satu komponen dari perangkat lunak.  Program hanyalah salah satu komponen dari perangkat lunak. Dokumentasi penting sebagai dasar pengembangan yang sukses serta sebagai penunjuk Dokumentasi penting sebagai dasar pengembangan yang sukses serta sebagai penunjuk untuk pemeliharaan perangkat lunak

(12)
(13)

BAB 2

BAB 2

METODOLOGI PENGEMBANGAN PERANGKAT LUNAK

METODOLOGI PENGEMBANGAN PERANGKAT LUNAK

2.1. Latar Belakang

2.1. Latar Belakang

Pada pertengahan tahun 60 sampai 70-an banyak dikembangkan sistem-sistem Pada pertengahan tahun 60 sampai 70-an banyak dikembangkan sistem-sistem  perangkat

 perangkat lunak lunak yang yang besar. besar. Sistem-sistem Sistem-sistem yang yang dikembangkan dikembangkan ini ini banyak banyak yang yang dipandangdipandang tidak efisien, kurang berhasil, bahkan banyak yang gagal. Kegagalan ini disebabkan karena tidak efisien, kurang berhasil, bahkan banyak yang gagal. Kegagalan ini disebabkan karena tidak tersedianya teknik pengembangan perangkat lunak yang baik. Pada awal tahun 70-an tidak tersedianya teknik pengembangan perangkat lunak yang baik. Pada awal tahun 70-an mulai muncul metodologi-metodologi pengembangan perangkat lunak yang cukup baik.

mulai muncul metodologi-metodologi pengembangan perangkat lunak yang cukup baik.

Pengembangan perangkat lunak dapat diartikan sebagai proses membuat suatu Pengembangan perangkat lunak dapat diartikan sebagai proses membuat suatu  perangkat

 perangkat lunak lunak baru baru untuk untuk menggantikan menggantikan perangkat perangkat lunak lunak lama lama secara secara keseluruhan keseluruhan atauatau memperbaiki perangkat lunak yang telah ada. Agar lebih cepat dan tepat dalam memperbaiki perangkat lunak yang telah ada. Agar lebih cepat dan tepat dalam mendeskripsikan solusi dan mengembangkan perangkat lunak, juga hasilnya mudah mendeskripsikan solusi dan mengembangkan perangkat lunak, juga hasilnya mudah dikembangkan dan dipelihara, maka pengembangan perangkat lunak memerlukan suatu dikembangkan dan dipelihara, maka pengembangan perangkat lunak memerlukan suatu metodologi khusus. Metodologi pengembangan perangkat lunak adalah suatu proses metodologi khusus. Metodologi pengembangan perangkat lunak adalah suatu proses  pengorganisas

 pengorganisasian ian kumpulan kumpulan metode metode dan dan konvensi konvensi notasi notasi yang yang telah telah didefinisikan didefinisikan untukuntuk mengembangkan perangkat lunak. Secara prinsip bertujuan untuk membantu menghasilkan mengembangkan perangkat lunak. Secara prinsip bertujuan untuk membantu menghasilkan  perangkat

 perangkat lunak lunak yang yang berkualitas. berkualitas. Penggunaan Penggunaan suatu suatu metodologi metodologi sesuai sesuai dengan dengan persoalanpersoalan yang akan dipecahkan dan memenuhi kebutuhan pengguna akan menghasilkan suatu produk yang akan dipecahkan dan memenuhi kebutuhan pengguna akan menghasilkan suatu produk  perekayasaan

 perekayasaan yang berkualyang berkualitas dan teitas dan terpelihara sertrpelihara serta dapat menga dapat menghindari masalahindari masalah-masalah yangh-masalah yang sering terjadi seperti estimasi penjadwalan dan biaya, perangkat lunak yang tidak sesuai sering terjadi seperti estimasi penjadwalan dan biaya, perangkat lunak yang tidak sesuai dengan keinginan pengguna dan sebagainya.

dengan keinginan pengguna dan sebagainya.

Metodologi pengembangan perangkat lunak (atau disebut juga model proses atau Metodologi pengembangan perangkat lunak (atau disebut juga model proses atau  paradigma

 paradigma rekayasa rekayasa perangkat perangkat lunak) lunak) adalah adalah suatu suatu strategi strategi pengembangan pengembangan yang yang memadukanmemadukan  proses, metode, dan pera

 proses, metode, dan perangkat (ngkat (toolstools).).

Menurut Pressman (1997) Komponen metodologi pengembangan perangkat lunak Menurut Pressman (1997) Komponen metodologi pengembangan perangkat lunak dapat dibagi dalam tiga unit, yaitu :

dapat dibagi dalam tiga unit, yaitu : 1.

1. Metode, yaitu Metode, yaitu suatu cara suatu cara atau teknik atau teknik pendekatan yang sistematik pendekatan yang sistematik yang dipergunakan untukyang dipergunakan untuk mengembangkan perangkat lunak. Metode ini mencakup : Perencanaan proyek dan mengembangkan perangkat lunak. Metode ini mencakup : Perencanaan proyek dan  perkiraan,

 perkiraan, analisis analisis keperluan keperluan sistem sistem dan dan perangkat perangkat lunak, lunak, perancangan perancangan struktur struktur data,data, arsitektur program, prosedur algoritma, Coding, uji coba dan pemeliharaan.

arsitektur program, prosedur algoritma, Coding, uji coba dan pemeliharaan. 2.

2. Alat Alat bantu bantu ((ToolsTools), yaitu alat-alat (manual atau otomatis) yang mendukung pengembangan), yaitu alat-alat (manual atau otomatis) yang mendukung pengembangan  perangkat lunak. Terdap

 perangkat lunak. Terdapat 2 alat Bantu yang dapat dat 2 alat Bantu yang dapat digunakan yaitu : alaigunakan yaitu : alat Bantu manualt Bantu manual dan alat Bantu otomatis.

dan alat Bantu otomatis. 3.

3. Prosedur, yang Prosedur, yang dipergunakan untuk dipergunakan untuk mendefinisikan urut-urutan mendefinisikan urut-urutan pekerjaan (daur) pekerjaan (daur) daridari metode dan alat bantu tersebut.

metode dan alat bantu tersebut.

Secara umum daur hidup pengembangan perangkat lunak meliputi tahapan-tahapan Secara umum daur hidup pengembangan perangkat lunak meliputi tahapan-tahapan atau aktivitas pengembangan yang terdiri dari tahap analisis, tahap perancangan, tahap atau aktivitas pengembangan yang terdiri dari tahap analisis, tahap perancangan, tahap implementasi serta tahap pengujian dan perawatan perangkat lunak. Tahap analisis dan implementasi serta tahap pengujian dan perawatan perangkat lunak. Tahap analisis dan  perancangan

 perancangan merupakan merupakan tahapan tahapan awal awal yang yang penting penting dalam dalam suatu suatu paradigma paradigma pemgembanganpemgembangan  perangkat

 perangkat lunak, lunak, karena karena sangat sangat mempengaruhi mempengaruhi tahapan tahapan selanjutnya. selanjutnya. Sehingga Sehingga jika jika terjaditerjadi kesalahan pada tahap analisis dan perancangan, maka akan terdapat juga kesalahan pada tahap kesalahan pada tahap analisis dan perancangan, maka akan terdapat juga kesalahan pada tahap implementasi dan tahapan-tahapan selanjutnya. Tahap implementasi perangkat lunak implementasi dan tahapan-tahapan selanjutnya. Tahap implementasi perangkat lunak  bertujuan

 bertujuan untuk untuk menerapkan menerapkan spesifikasi spesifikasi kebutuhan kebutuhan perangkat perangkat lunak lunak ke ke dalam dalam bahasabahasa  pemrograman

 pemrograman tertentu. tertentu. Tahap Tahap pengujian pengujian perangkat perangkat lunak lunak dilakukan dilakukan untuk untuk menemukanmenemukan kesalahan (

kesalahan (bugbug) yang mungkin terdapat di dalam sebuah perangkat lunak. Sedangkan tahap) yang mungkin terdapat di dalam sebuah perangkat lunak. Sedangkan tahap  perawatan

 perawatan perangkat perangkat lunak lunak fokusnya fokusnya adalah adalah pengubahan. pengubahan. Ada Ada tiga tiga pengubahan pengubahan yaitu yaitu ::  pembetulan,

 pembetulan, adaptasi adaptasi (perbaikan (perbaikan terhadap terhadap lingkungan) lingkungan) dan dan perluasan perluasan (penambahan (penambahan karenakarena  permintaan pemakai).

(14)
(15)

2.2.

2.2. Proses Pengembangan Perangkat Lunak

Proses Pengembangan Perangkat Lunak

Proses pengembangan perangkat lunak adalah suatu proses dimana kebutuhan pemakai Proses pengembangan perangkat lunak adalah suatu proses dimana kebutuhan pemakai diterjemahkan menjadi produk perangkat lunak. Proses ini mencakup aktivitas penerjemahan diterjemahkan menjadi produk perangkat lunak. Proses ini mencakup aktivitas penerjemahan kebutuhan pemakai menjadi kebutuhan perangkat lunak, transformasi kebutuhan perangkat kebutuhan pemakai menjadi kebutuhan perangkat lunak, transformasi kebutuhan perangkat lunak menjadi desain, penerapan desain menjadi kode program, uji coba kode program, dan lunak menjadi desain, penerapan desain menjadi kode program, uji coba kode program, dan instalasi serta pemeriksaan kebenaran perangkat lunak untuk operasional (IEEE. 1990). instalasi serta pemeriksaan kebenaran perangkat lunak untuk operasional (IEEE. 1990). Berdasarkan pengertian tersebut, secara umum dapat dikatakan bahwa proses pengembangan Berdasarkan pengertian tersebut, secara umum dapat dikatakan bahwa proses pengembangan  perangkat luna

 perangkat lunak mengikuti tahap-tahk mengikuti tahap-tahap :ap : 1. Menentukan

1. MenentukanAPAAPA yang harus dikerjakan oleh perangkat lunak dalam satu rentangyang harus dikerjakan oleh perangkat lunak dalam satu rentang waktu tertentu.

waktu tertentu. 2. Mendefinisikan

2. MendefinisikanBAGAIMANABAGAIMANA perangkat lunak dibuat, mencakup arsitektur perangkat lunak dibuat, mencakup arsitektur  perangkat lunakn

 perangkat lunaknya, antar muka internal, algya, antar muka internal, algoritma, dan sebagainya.oritma, dan sebagainya. 3. Penerapan (penulisan program) dan pengujian unit-unit program. 3. Penerapan (penulisan program) dan pengujian unit-unit program. 4. Integrasi dan pengujian modul-modul program.

4. Integrasi dan pengujian modul-modul program.

5. Validasi perangkat lunak secara keseluruhan (pengujian sistem). 5. Validasi perangkat lunak secara keseluruhan (pengujian sistem).

2.3.

2.3. Siklus Pengembangan Perangkat Lunak

Siklus Pengembangan Perangkat Lunak

Siklus pengembangan

Siklus pengembangan perangkat lunak perangkat lunak atau sering atau sering disebut disebut juga dengan juga dengan siklus hidupsiklus hidup  perangkat lunak ad

 perangkat lunak adalah (IEEE,1987) :alah (IEEE,1987) : •

• Periode waktu yang diawali dengan keputusan untuk mengembangkan produkPeriode waktu yang diawali dengan keputusan untuk mengembangkan produk  perangkat

 perangkat lunak lunak dan dan berakhir berakhir setelah setelah perangkat perangkat lunak lunak diserahkan. diserahkan. Umumnya Umumnya siklussiklus  pengembangan

 pengembangan ini ini terdiri terdiri dari dari tahap tahap analisis analisis kebutuhan, kebutuhan, perancangan, perancangan, penerapan,penerapan,  pengujian, dan ins

 pengujian, dan instalasi serta pemeriksatalasi serta pemeriksaan.an. •

• Periode waktu yang diawali dengan keputusan untuk mengembangkan produkPeriode waktu yang diawali dengan keputusan untuk mengembangkan produk  perangkat

 perangkat lunak lunak dan dan berakhir berakhir saat saat produk produk tidak tidak dapat dapat ditingkatkan ditingkatkan lebih lebih jauh jauh lagilagi oleh pengembang.

oleh pengembang.

2.4.

2.4. Model Proses Pengembangan Perangkat Lunak

Model Proses Pengembangan Perangkat Lunak

A. Linear Sequential Model

A. Linear Sequential Model  Linear sequential

 Linear sequential modelmodel (atau disebut juga “ (atau disebut juga “classic life cycleclassic life cycle” atau “” atau “waterfallwaterfall model

model”) adalah metode pengembangan perangkat lunak dengan pendekatan sekuensial”) adalah metode pengembangan perangkat lunak dengan pendekatan sekuensial dengan cakupan aktivitas :

dengan cakupan aktivitas : 1.

1. Rekayasa sistem dan Analisis (Rekayasa sistem dan Analisis (Sistem Engineering and AnalysisSistem Engineering and Analysis)) Karena perangkat

Karena perangkat lunak adalah lunak adalah bagian dari bagian dari sistem yang sistem yang lebih besar, lebih besar, pekerjaanpekerjaan dimulai dari pembentukan kebutuhan-kebutuhan untuk seluruh elemen sistem dan dimulai dari pembentukan kebutuhan-kebutuhan untuk seluruh elemen sistem dan kemudian memilah mana yang untuk pengembangan perangkat lunak. Hal ini kemudian memilah mana yang untuk pengembangan perangkat lunak. Hal ini  penting,

 penting, ketika ketika perangkat perangkat lunak lunak harus harus berkomunikasi berkomunikasi dengandenganhardwarehardware, orang dan, orang dan  basis data

 basis data 2.

2. Analisis kebutuhan perangkat lunak (Analisis kebutuhan perangkat lunak (Software Requirements AnalysisSoftware Requirements Analysis)) Pengumpulan kebutuhan dengan fokus pada perangkat lunak, yang meliputi : Pengumpulan kebutuhan dengan fokus pada perangkat lunak, yang meliputi :

Domain informasi, fungsi yang dibutuhkan, unjuk kerja/performansi dan antarmuka. Domain informasi, fungsi yang dibutuhkan, unjuk kerja/performansi dan antarmuka. Hasilnya harus didokumentasi dan di

Hasilnya harus didokumentasi dan direviewreview ke pelanggan ke pelanggan 3.

3. Perancangan (Perancangan ( Design Design))

Ada 4 atribut untuk program yaitu : Struktur Data, Arsitektur perangkat lunak, Ada 4 atribut untuk program yaitu : Struktur Data, Arsitektur perangkat lunak, Prosedur detil dan Karakteristik Antarmuka. Proses desain mengubah Prosedur detil dan Karakteristik Antarmuka. Proses desain mengubah kebutuhan-kebutuhan

(16)
(17)

dimulai penulisan program. Desain ini harus terdokumentasi dengan baik dan dimulai penulisan program. Desain ini harus terdokumentasi dengan baik dan menjadi bagian konfigurasi perangkat lunak.

menjadi bagian konfigurasi perangkat lunak. 4.

4. Pembuatan kodePembuatan kode ((CodingCoding))

Penterjemahan perancangan ke bentuk yang dapat dimengerti oleh mesin, dengan Penterjemahan perancangan ke bentuk yang dapat dimengerti oleh mesin, dengan menggunakan bahasa pemrograman

menggunakan bahasa pemrograman 5.

5. Pengujian (Pengujian (TestingTesting))

Setelah kode program selesai testing dapat dilakukan. Testing memfokuskan pada Setelah kode program selesai testing dapat dilakukan. Testing memfokuskan pada logika internal dari perangkat lunak, fungsi eksternal dan mencari segala logika internal dari perangkat lunak, fungsi eksternal dan mencari segala kemungkinan kesalahan dan memriksa apakah sesuai dengan hasil yang diinginkan. kemungkinan kesalahan dan memriksa apakah sesuai dengan hasil yang diinginkan. 6.

6. Pemeliharaan (Pemeliharaan ( Maintenance Maintenance))

Merupakan bagian paling akhir dari siklus pengembangan dan dilakukan setelah Merupakan bagian paling akhir dari siklus pengembangan dan dilakukan setelah  perangkat lunak

 perangkat lunak dipergunakan. Kegiatdipergunakan. Kegiatan :an : •

• Corrective MaintenanceCorrective Maintenance : Mengoreksi kesalahan pada perangkat lunak, yang: Mengoreksi kesalahan pada perangkat lunak, yang  baru terdeteksi pad

 baru terdeteksi pada saat perangkat lunak a saat perangkat lunak dipergunakandipergunakan •

•  Adaptive Maintenance Adaptive Maintenance : Penyesuaian dengan lingkungan baru, misalnya sistem: Penyesuaian dengan lingkungan baru, misalnya sistem operasi atau sebagai tuntutan atas perkembangan sistem komputer, misalnya operasi atau sebagai tuntutan atas perkembangan sistem komputer, misalnya  penambahan

 penambahan printer driver  printer driver  •

•  Perfektive  Perfektive MaintenanceMaintenance : Bila perangkat lunak sukses dipergunakan oleh: Bila perangkat lunak sukses dipergunakan oleh  pemakai.

 pemakai. Pemeliharaan Pemeliharaan ditujukan ditujukan untuk untuk menambah menambah kemampuannya kemampuannya sepertiseperti memberikan fungsi-fungsi tambahan, peningkatan kinerja dan sebagainya.

memberikan fungsi-fungsi tambahan, peningkatan kinerja dan sebagainya. Kelemahan model

Kelemahan modellinear sequentiallinear sequential:: 1.

1. Proyek yang sebenarnya jarang mengikuti alur sekuensial seperti diusulkan,Proyek yang sebenarnya jarang mengikuti alur sekuensial seperti diusulkan, sehingga perubahan yang terjadi dapat menyebabkan hasil yang sudah didapat tim sehingga perubahan yang terjadi dapat menyebabkan hasil yang sudah didapat tim harus diubah kembali/iterasi sering menyebabkan masalah baru.

harus diubah kembali/iterasi sering menyebabkan masalah baru. 2.

2. Linear sequential model mengharuskan semua kebutuhan pemakai sudah dinyatakanLinear sequential model mengharuskan semua kebutuhan pemakai sudah dinyatakan secara eksplisit di awal proses, tetapi kadang-kadang ini tidak dapat terlaksana secara eksplisit di awal proses, tetapi kadang-kadang ini tidak dapat terlaksana karena kesulitan yang dialami pemakai saat akan mengungkapkan semua karena kesulitan yang dialami pemakai saat akan mengungkapkan semua kebutuhannya tersebut.

kebutuhannya tersebut. 3.

3. Pemakai harus bersabar karena versi dari program tidak akan didapat sampai akhirPemakai harus bersabar karena versi dari program tidak akan didapat sampai akhir rentang waktu proyek.

rentang waktu proyek. 4.

4. Adanya waktu menganggur bagi pengembang, karena harus menunggu anggota timAdanya waktu menganggur bagi pengembang, karena harus menunggu anggota tim  proyek lainnya menun

 proyek lainnya menuntaskan pekerjaantaskan pekerjaannya.nya.

B. Prototyping Model B. Prototyping Model

Pendekatan

Pendekatan prototyping prototyping model digunakan jika pemakai hanya mendefenisikan model digunakan jika pemakai hanya mendefenisikan objektif umum dari perangkat lunak tanpa merinci kebutuhan

objektif umum dari perangkat lunak tanpa merinci kebutuhan input input , pemrosesan dan, pemrosesan dan output 

output nya, sementara pengembang tidak begitu yakin akan efesiensi algoritma, adaptasinya, sementara pengembang tidak begitu yakin akan efesiensi algoritma, adaptasi sistem operasi, atau bentuk antarmuka manusia-mesin yang harus diambil. Cakupan sistem operasi, atau bentuk antarmuka manusia-mesin yang harus diambil. Cakupan aktivitas dari

aktivitas dari prototyping prototyping model terdiri dari : model terdiri dari : 1.

1. Mendefinisikan objektif secara keseluruhan dan mengidentifikasi kebutuhan yangMendefinisikan objektif secara keseluruhan dan mengidentifikasi kebutuhan yang sudah diketahui.

sudah diketahui. 2.

(18)
(19)

3.

3. Menguji coba dan mengevaluasi prototype dan kemudian melakukan penambahanMenguji coba dan mengevaluasi prototype dan kemudian melakukan penambahan dan perbaikan-perbaikan terhadap prototype yang sudah dibuat.

dan perbaikan-perbaikan terhadap prototype yang sudah dibuat. Kelemahan

Kelemahan prototyping prototyping model : model : 1.

1. Pelanggan yang melihat working version dari model yang dimintanya tidakPelanggan yang melihat working version dari model yang dimintanya tidak menyadari, bahwa mungkin saja prototype dibuat terburu-buru dan rancangan tidak menyadari, bahwa mungkin saja prototype dibuat terburu-buru dan rancangan tidak tersusun dengan baik

tersusun dengan baik 2.

2. Pengembang Pengembang kadang-kadankadang-kadang g membuat membuat implementasi implementasi sembarang, sembarang, karena karena inginingin working version bekerja dengan cepat

working version bekerja dengan cepat

C. RAD (Rapid Application Development) Model C. RAD (Rapid Application Development) Model

Merupakan model proses pengembangan perangkat lunak secara linear Merupakan model proses pengembangan perangkat lunak secara linear sequential yang menekankan pada siklus pengembangan yang sangat singkat. Jika sequential yang menekankan pada siklus pengembangan yang sangat singkat. Jika kebutuhan dipahami dengan baik, proses RAD memungkinkan tim pengembangan kebutuhan dipahami dengan baik, proses RAD memungkinkan tim pengembangan menciptakan “sistem fungsional yang utuh” dalam periode waktu yang sangat pendek menciptakan “sistem fungsional yang utuh” dalam periode waktu yang sangat pendek (kira-kira 60-90 hari).

(kira-kira 60-90 hari).

Pendekatan RAD model menekankan cakupan : Pendekatan RAD model menekankan cakupan : 1. Pemodelan bisnis (

1. Pemodelan bisnis ( Bussiness Mo Bussiness Modellingdelling)) Aliran informasi

Aliran informasi diantara fungsi-fungsi bisnis diantara fungsi-fungsi bisnis dimodelkan dimodelkan dengan suatu cara dengan suatu cara untukuntuk menjawab pertanyaan-pertanyaan berikut :

menjawab pertanyaan-pertanyaan berikut : Informasi apa Informasi apa yang mengendalikan prosesyang mengendalikan proses  bisnis ?

 bisnis ? Kemana informasi itu pergi? Kemana informasi itu pergi? Siapa yang memprosesnya ?Siapa yang memprosesnya ? 2. Pemodelan data (

2. Pemodelan data ( Data Modelling Data Modelling))

Aliran informasi yang didefinisikan sebagai bagian dari fase pemodelan bisnis Aliran informasi yang didefinisikan sebagai bagian dari fase pemodelan bisnis disaring ke dalam serangkaian objek data yang dibutuhkan untuk menopang bisnis disaring ke dalam serangkaian objek data yang dibutuhkan untuk menopang bisnis tersebut. K

tersebut. Karakteristik/atarakteristik/atribut ribut dari dari masing-masing masing-masing objek objek diidentifikasi dan diidentifikasi dan hubunganhubungan antara objek-objek tersebut didefinisikan.

antara objek-objek tersebut didefinisikan. 3. Pemodelan proses (

3. Pemodelan proses (Process ModellingProcess Modelling))

Aliran informasi yang didefinisikan dalam fase pemodelan data ditransformasikan Aliran informasi yang didefinisikan dalam fase pemodelan data ditransformasikan untuk mencapai aliran informasi yang perlu bagi implementasi sebuah fungsi bisnis. untuk mencapai aliran informasi yang perlu bagi implementasi sebuah fungsi bisnis. Gambaran pemrosesan diciptakan untuk menambah, memodifikasi, menghapus atau Gambaran pemrosesan diciptakan untuk menambah, memodifikasi, menghapus atau mendapatkan kembali sebuah objek data.

mendapatkan kembali sebuah objek data. 4. Pembuatan aplikasi (

4. Pembuatan aplikasi ( Application gener Application generationation))

Selain menciftakan perangkat lunak dengan menggunakan bahasa pemrograman Selain menciftakan perangkat lunak dengan menggunakan bahasa pemrograman generasi ketiga yang konvensional, RAD lebih banyak memproses kerja untuk generasi ketiga yang konvensional, RAD lebih banyak memproses kerja untuk memakai lagi komponen program yang telah ada atau menciftakan komponen yang memakai lagi komponen program yang telah ada atau menciftakan komponen yang  bias

 bias dipakai dipakai lagi. lagi. Pada Pada semua semua kasus, kasus, alat-alat alat-alat Bantu Bantu otomatis otomatis dipakai dipakai untukuntuk memfasilitasi kontruksi perangkat lunak.

memfasilitasi kontruksi perangkat lunak. 5. Pengujian dan pergantian (

5. Pengujian dan pergantian (Testing and turnover Testing and turnover ))

Karena proses RAD menekankan pada pemakaian kembali, banyak komponen yang Karena proses RAD menekankan pada pemakaian kembali, banyak komponen yang telah diuji. Hal ini mengurangi keseluruhan waktu pengujian. Tapi komponen baru telah diuji. Hal ini mengurangi keseluruhan waktu pengujian. Tapi komponen baru harus diuji.

harus diuji.

Kelemahan RAD model : Kelemahan RAD model : 1.

1. Untuk proyek dengan skala besar, RAD membutuhkan sumber daya manusia yangUntuk proyek dengan skala besar, RAD membutuhkan sumber daya manusia yang cukup untuk membentuk sejumlah tim RAD.

cukup untuk membentuk sejumlah tim RAD. 2.

2. RAD membutuhkan pengembang dan pemakai yang mempunyai komitmen untukRAD membutuhkan pengembang dan pemakai yang mempunyai komitmen untuk melaksanakan aktivitas melengkapi sistem dalam kerangka waktu yang singkat.

(20)
(21)

3.

3. Akan menimbulkan masalah jika sistem tidak dapat dibuat secara modular.Akan menimbulkan masalah jika sistem tidak dapat dibuat secara modular. 4.

4. RAD tidak cocok digunakan untuk sistem yang mempunyai resiko teknik yang tinggi.RAD tidak cocok digunakan untuk sistem yang mempunyai resiko teknik yang tinggi.

D. Spiral Model D. Spiral Model

Merupakan model proses perangkat lunak yang memadukan wujud Merupakan model proses perangkat lunak yang memadukan wujud  pengulangan

 pengulangan dari dari model model prototyping prototyping dengan dengan aspek aspek pengendalian pengendalian dan dan sistematika sistematika daridari linear sequential model, dengan penambahan elemen baru yaitu analisis resiko. Model linear sequential model, dengan penambahan elemen baru yaitu analisis resiko. Model ini memiliki 4 aktivitas penting, yaitu :

ini memiliki 4 aktivitas penting, yaitu : 1. Perencanaan (

1. Perencanaan (PlanningPlanning), penentuan tujuan, alternatif dan batasan), penentuan tujuan, alternatif dan batasan 2. Analisis resiko (

2. Analisis resiko ( Risk Analysis Risk Analysis), analisis alternatif dan identifikasi/pemecahan resiko), analisis alternatif dan identifikasi/pemecahan resiko 3. Rekayasa (

3. Rekayasa ( Engineering Engineering), pengembangan level berikutnya dari produk), pengembangan level berikutnya dari produk 4. Evaluasi Pemakai (

4. Evaluasi Pemakai (Customer EvaluationCustomer Evaluation) penilaian terhadap hasil rekayasa) penilaian terhadap hasil rekayasa

Bentuk spiral memberikan gambaran bahwa semakin besar iterasinya, maka Bentuk spiral memberikan gambaran bahwa semakin besar iterasinya, maka menunjukkan makin lengkap versi dari perangkat lunak yang dibuat. Selama awal menunjukkan makin lengkap versi dari perangkat lunak yang dibuat. Selama awal sirkuit, objektif, alternatif dan batasan didefinisikan serta resiko diidentifikasikan dan sirkuit, objektif, alternatif dan batasan didefinisikan serta resiko diidentifikasikan dan dianalisa. Jika resiko menunjukkan ada ketidakpastian terhadap kebutuhan, maka dianalisa. Jika resiko menunjukkan ada ketidakpastian terhadap kebutuhan, maka  prototyping

 prototyping harus harus dibuat dibuat pada pada kuadran kuadran rekayasa. rekayasa. Simulasi Simulasi dan dan pemodelan pemodelan lain lain dapatdapat digunakan untuk mendefinisikan masalah dan memperbaiki kebutuhan.

digunakan untuk mendefinisikan masalah dan memperbaiki kebutuhan.

Pelanggan mengevaluasi hasil rekayasa (kuadran evaluasi pelanggan) dan Pelanggan mengevaluasi hasil rekayasa (kuadran evaluasi pelanggan) dan membuat usulan untuk perbaikan. Berdasarkan masukan dari pelanggan, fase berikutnya membuat usulan untuk perbaikan. Berdasarkan masukan dari pelanggan, fase berikutnya adalah perencanaan dan analisis resiko. Setelah analisis resiko selalu diperiksa apakah adalah perencanaan dan analisis resiko. Setelah analisis resiko selalu diperiksa apakah  proyek diteruska

 proyek diteruskan atau tidak, jika resiko ten atau tidak, jika resiko terlalu besar, maka proyek drlalu besar, maka proyek dapat dihentikan.apat dihentikan. Model spiral ini adalah pendekatan yang paling realistic untuk sistem sekala Model spiral ini adalah pendekatan yang paling realistic untuk sistem sekala  besar.

 besar. Metode Metode ini ini menggunakan menggunakan pendekatan pendekatan evolusioner, evolusioner, sehingga sehingga pelanggan pelanggan dandan  pengembang dapat menge

 pengembang dapat mengerti dan bereaksi terti dan bereaksi terhadap suatu resiko yrhadap suatu resiko yang mungkin terjadiang mungkin terjadi Kelemahan spiral model :

Kelemahan spiral model :

1. Sulit untuk meyakinkan pemakai (saat situasi kontrak) bahwa penggunaan 1. Sulit untuk meyakinkan pemakai (saat situasi kontrak) bahwa penggunaan

 pendekatan ini ak

 pendekatan ini akan dapat dikendalian dapat dikendalikan.kan. 2.

2. Memerlukan tenaga Memerlukan tenaga ahli untuk ahli untuk memperkirakan resiko, memperkirakan resiko, dan harus dan harus mengandalkannyamengandalkannya supaya sukses.

supaya sukses. 3.

3. Belum terbukti Belum terbukti apakah metode apakah metode ini cukup ini cukup efisien karena efisien karena usianya relatif usianya relatif baru.baru.

E. Fourth Generation Techniques (4GT) E. Fourth Generation Techniques (4GT)

Istilah generasi ke empat, mengarah ke perangkat lunak yang umum yaitu tiap Istilah generasi ke empat, mengarah ke perangkat lunak yang umum yaitu tiap  pengembang

 pengembang perangkat perangkat lunak lunak menentukan menentukan beberapa beberapa karakteristik karakteristik perangkat perangkat lunak lunak padapada level tinggi.

level tinggi.

Saat ini pengembangan perangkat lunak yang mendukung 4GT, berisi tool-tool Saat ini pengembangan perangkat lunak yang mendukung 4GT, berisi tool-tool  berikut :

 berikut :

• Bahasa non prosedural untuk query basis dataBahasa non prosedural untuk query basis data •

•  Report generation Report generation •

•  Data manipulation Data manipulation •

• Interaksi layarInteraksi layar •

• Kemampuan grafik level tinggiKemampuan grafik level tinggi •

(22)
(23)

Tiap

Tiaptooltool ini ada tapi hanya untuk sauatu aplikasi khusus. ini ada tapi hanya untuk sauatu aplikasi khusus. Menggunakan perangkat bantu (

Menggunakan perangkat bantu (toolstools) yang akan membuat kode sumber secara) yang akan membuat kode sumber secara otomatis berdasarkan spesifikasi dari pengembang perangkat lunak. Hanya digunakan otomatis berdasarkan spesifikasi dari pengembang perangkat lunak. Hanya digunakan untuk menggunakan perangkat lunak yang menggunakan bahasa khusus atau notasi untuk menggunakan perangkat lunak yang menggunakan bahasa khusus atau notasi grafik yang diselesaikan dengan syarat yang dimengerti pemakai. Cakupan aktivitas grafik yang diselesaikan dengan syarat yang dimengerti pemakai. Cakupan aktivitas 4GT :

4GT : 1.

1. Pengumpulan Pengumpulan kebutuhan, idealnya kebutuhan, idealnya pelanggan pelanggan akan akan menjelaskan menjelaskan kebutuhan yangkebutuhan yang akan ditranslasikan ke prototype operasional.

akan ditranslasikan ke prototype operasional. 2.

2. Translasi kebutuhan menjadi prototype operasional, atau langsung melakukanTranslasi kebutuhan menjadi prototype operasional, atau langsung melakukan implementasi secara langsung dengan menggunakan bahasa generasi keempat (4GL) implementasi secara langsung dengan menggunakan bahasa generasi keempat (4GL)  jika aplikasi relat

 jika aplikasi relatif kecil.if kecil. 3.

3. Untuk aplikasi yang cukup besar, dibutuhkan strategi perancangan sistem walaupunUntuk aplikasi yang cukup besar, dibutuhkan strategi perancangan sistem walaupun 4GL akan digunakan.

4GL akan digunakan. 4.

4. Pengujian.Pengujian. 5.

5. Membuat dokumentasi.Membuat dokumentasi. 6.

6. Melaksanakan seluruh aktivitas untuk mengintegrasikan solusi-solusi yangMelaksanakan seluruh aktivitas untuk mengintegrasikan solusi-solusi yang membutuhkan paradigma rekayasa perangkat lunak lainnya.

membutuhkan paradigma rekayasa perangkat lunak lainnya.

Salah satu keuntungan penggunaan model 4GT adalah pengurangan waktu dan Salah satu keuntungan penggunaan model 4GT adalah pengurangan waktu dan  peningkatan

 peningkatan produktivitas produktivitas secara secara besar, besar, sementara sementara kekurangannya kekurangannya terletak terletak padapada kesulitan penggunaan perangkat bantu (tools) dibandingkan dengan bahsa kesulitan penggunaan perangkat bantu (tools) dibandingkan dengan bahsa  pemrograman, dan juga kod

 pemrograman, dan juga kode sumber yang dihasile sumber yang dihasilkannya tidak efisienkannya tidak efisien..

Untuk aplikasi yang yang kecil, adalah mungkin untuk langsung berpindah dari Untuk aplikasi yang yang kecil, adalah mungkin untuk langsung berpindah dari  pengumpulan

 pengumpulan kebutuhan kebutuhan ke ke implementasi implementasi dengan dengan menggunakan menggunakan 4GL. 4GL. Tapi Tapi untukuntuk aplikasi yang besar, dibutuhkan pengembangan strategi desain untuk sistem, walau aplikasi yang besar, dibutuhkan pengembangan strategi desain untuk sistem, walau digunakan 4GL. Penggunaan 4GT tanpa perencanaan yang matang (untuk proyek skala digunakan 4GL. Penggunaan 4GT tanpa perencanaan yang matang (untuk proyek skala  besar)

 besar) akan akan meyebabkan meyebabkan kesulitan kesulitan yang yang sama sama (kualitas (kualitas dan dan pemeliharaan pemeliharaan yang yang jelek,jelek, ketidakpuasan pelanggan)

(24)
(25)

BAB 3

BAB 3

MANAJEMEN PROYEK PERANGKAT LUNAK

MANAJEMEN PROYEK PERANGKAT LUNAK

3.1.

3.1. Proses-proses Dalam Manajemen Proyek

Proses-proses Dalam Manajemen Proyek

Manajemen proyek merupakan lapisan pertama dalam proses rekayasa perangkat Manajemen proyek merupakan lapisan pertama dalam proses rekayasa perangkat lunak skala besar. Untuk menuju pada proyek yang berhasil, perlu dimengerti tentang :

lunak skala besar. Untuk menuju pada proyek yang berhasil, perlu dimengerti tentang : •

• Lingkup pekerjaanLingkup pekerjaan •

• Resiko yang dapat ditimbulkanResiko yang dapat ditimbulkan •

• Sumber-sumber yang diperlukanSumber-sumber yang diperlukan •

• Tugas yang harus dilaksanakanTugas yang harus dilaksanakan •

• Patokan yang harus diikutiPatokan yang harus diikuti •

• Usaha atau biaya yang dikeluarkanUsaha atau biaya yang dikeluarkan •

• Dan PenjadwalanDan Penjadwalan

Awal Proyek Perangkat Lunak

Awal Proyek Perangkat Lunak

Untuk mengestimasi biaya, pembagian tugas, dan penjadwalan, sebelum sebuah Untuk mengestimasi biaya, pembagian tugas, dan penjadwalan, sebelum sebuah  proyek direncan

 proyek direncanakan perlu :akan perlu : •

• Memastikan tujuan dan ruang lingkupMemastikan tujuan dan ruang lingkup •

• Memperhatikan alternatif-alternatif solusiMemperhatikan alternatif-alternatif solusi •

• Identifikasi batasan teknik dan manajerialIdentifikasi batasan teknik dan manajerial

Pengukuran dan Satuan Ukuran

Pengukuran dan Satuan Ukuran

Pengukuran dan satuan ukuran akan membantu untuk mengerti proses-proses dalam Pengukuran dan satuan ukuran akan membantu untuk mengerti proses-proses dalam  pengembangan

 pengembangan produk produk dan dan produk produk itu itu sendiri. sendiri. Proses Proses dan dan produk produk diukur diukur dalam dalam usaha usaha untukuntuk meningkatkan kualitasnya.

meningkatkan kualitasnya.

Estimasi

Estimasi

Dalam aktifitas utama proyek yaitu perencanaan, dilakukan estimasi : Dalam aktifitas utama proyek yaitu perencanaan, dilakukan estimasi : •

• Sunber daya manusia (ukuran orang/bulan)Sunber daya manusia (ukuran orang/bulan) •

• Jangka waktu kronologis (Ukuran waktu kalender)Jangka waktu kronologis (Ukuran waktu kalender) •

• Biaya (Ukuran uang Rp)Biaya (Ukuran uang Rp)

Analisis Resiko

Analisis Resiko

Analisis resiko sangat penting dalam manajemen proyek perangkat lunak. Beberapa Analisis resiko sangat penting dalam manajemen proyek perangkat lunak. Beberapa hal yang harus diperhatikan berkaitan dengan resiko adalah ;

hal yang harus diperhatikan berkaitan dengan resiko adalah ; •

• Masa yang akan dating : resiko apa yang mempengaruhi trend (kecenderungan)Masa yang akan dating : resiko apa yang mempengaruhi trend (kecenderungan)  proyek perangkat l

 proyek perangkat lunakunak •

• Perubahan : Bagaimana perkembangan dunia mempengaruhi keawetan danPerubahan : Bagaimana perkembangan dunia mempengaruhi keawetan dan kesuksesan perangkat lunak

kesuksesan perangkat lunak •

• Pilihan : metode apa yang dipakai, berapa orang diperlukan, seberapa tinggi kualitasPilihan : metode apa yang dipakai, berapa orang diperlukan, seberapa tinggi kualitas  perangkat lunak d

 perangkat lunak dan sebagainyaan sebagainya

Analsis resiko merupakan serangkaian langkah untuk menyiasati resiko, yaitu : Analsis resiko merupakan serangkaian langkah untuk menyiasati resiko, yaitu :

• Identifikasi resikoIdentifikasi resiko

Identifikasi resiko melist semua resiko sesuai dengan kategori(secara makro) sebagai Identifikasi resiko melist semua resiko sesuai dengan kategori(secara makro) sebagai  berikut :

 berikut : 1.

1. Resiko proyek : masalah pembiayaan, penjadwalan, personil, sumber daya,Resiko proyek : masalah pembiayaan, penjadwalan, personil, sumber daya,  pelanggan dan kebu

(26)
(27)

2.

2. Resiko teknis : masalah desain, implementasi, antarmuka, verifikasi danResiko teknis : masalah desain, implementasi, antarmuka, verifikasi dan  pemeliharaan.

 pemeliharaan. 3.

3. Resiko bisnis : termasuk di dalamnya adalah resiko pasar, resiko manajemen,Resiko bisnis : termasuk di dalamnya adalah resiko pasar, resiko manajemen, dan resiko pembiayaan.

dan resiko pembiayaan.

Salah satu metode terbaik untuk mengerti tiap resiko adalah dengan sejumlah Salah satu metode terbaik untuk mengerti tiap resiko adalah dengan sejumlah  pertanyaan seper

 pertanyaan seperti :ti : 1.

1. Adakah orang-orang yang paling top (Adakah orang-orang yang paling top (The best The best ) ?) ? 2.

2. Sesuaikah keahlian orang-orang tersebut?Sesuaikah keahlian orang-orang tersebut? 3.

3. Cukupkah orang-orang yang tersedia?Cukupkah orang-orang yang tersedia? 4.

4. Apakah staf cukup dapat dipercaya untuk keseluruhan proyek?Apakah staf cukup dapat dipercaya untuk keseluruhan proyek? 5.

5. Akan adakah staf yang bekerja paruh waktu?Akan adakah staf yang bekerja paruh waktu? 6.

6. Apakah staf telah memiliki persepsi yang benar tentang pekerjaannya?Apakah staf telah memiliki persepsi yang benar tentang pekerjaannya? 7.

7. Sudah cukupkah pelatihan untuk staf?Sudah cukupkah pelatihan untuk staf? 8.

8. Cukup rendahkah tingkat pelimpahan kerja untuk menjamin kelanjutan proyek?Cukup rendahkah tingkat pelimpahan kerja untuk menjamin kelanjutan proyek? •

• Perkiraan resikoPerkiraan resiko

Memperhitungkan lebih lanjut estimasi resiko dalam bentuk : [

Memperhitungkan lebih lanjut estimasi resiko dalam bentuk : [r r  , l , lii i,i, x xii] dengan] dengan r 

r ii : resiko: resiko

llii : kemungkinan terjadinya: kemungkinan terjadinya  x

 xii : akibat dari : akibat dari resiko dengan memprioritaskan resiko dan memulai resiko dengan memprioritaskan resiko dan memulai memikirkan caramemikirkan cara mengendalikan dan atau mengurangi resiko yang mungkin terjadi

mengendalikan dan atau mengurangi resiko yang mungkin terjadi •

• Proyeksi resikoProyeksi resiko

Disebut juga estimasi resiko, adalah usaha untuk mengukur setiao resiko dengan 2 Disebut juga estimasi resiko, adalah usaha untuk mengukur setiao resiko dengan 2 cara :

cara : 1.

1. Kemungkinan adanaya resikoKemungkinan adanaya resiko 2.

2. Konsekuensi (masalah yang bisa timbul karena resiko)Konsekuensi (masalah yang bisa timbul karena resiko) Ada 4 aktivitas estimasi resiko :

Ada 4 aktivitas estimasi resiko : 1.

1. Memastikan skala yang merefleksikan kemungkinan resikoMemastikan skala yang merefleksikan kemungkinan resiko 2.

2. Memperkirakan konsekuensi resikoMemperkirakan konsekuensi resiko 3.

3. Estimasi efek dari resiko pada proyek dan produkEstimasi efek dari resiko pada proyek dan produk 4.

4. Menentukan akurasi keseluruhan dari proyeksi resikoMenentukan akurasi keseluruhan dari proyeksi resiko •

• Strategi manajemen resikoStrategi manajemen resiko •

• Putusan (Resolution) resikoPutusan (Resolution) resiko •

• Dan Pemantauan resikoDan Pemantauan resiko

Penjadwalan

Penjadwalan

Langkah-langkah yang dilakukan dalam penjadwalan : Langkah-langkah yang dilakukan dalam penjadwalan : •

• Identifikasi sekumpulan tugasIdentifikasi sekumpulan tugas •

• Pastikan keterkaitan antar tugasPastikan keterkaitan antar tugas •

• Estimasi usaha untuk tiap-tiap tugasEstimasi usaha untuk tiap-tiap tugas •

• Tentukan pekerja dan sumber-sumber lainnyaTentukan pekerja dan sumber-sumber lainnya •

• Buat jaringan tugasBuat jaringan tugas •

• Buat jadwal kerja berdasarkan waktuBuat jadwal kerja berdasarkan waktu

Penelusuran dan Pengendalian

Penelusuran dan Pengendalian

Penelusuran dan pengendalian dilakukan setelah ada penjadwalan yang pasti, yaitu Penelusuran dan pengendalian dilakukan setelah ada penjadwalan yang pasti, yaitu memeriksa apakah tugas telah dilaksanakan sesuai dengan jadwal.

memeriksa apakah tugas telah dilaksanakan sesuai dengan jadwal.

3.2. Satuan Ukuran Produktivitas dan Kualitas Perangkat Lunak

3.2. Satuan Ukuran Produktivitas dan Kualitas Perangkat Lunak

(28)
(29)

Pengukuran

Pengukuran perangkat perangkat lunak lunak dilakukan dilakukan untuk untuk :: •

• Indikasi kualitas produkIndikasi kualitas produk •

• Perkiraan produktivitas orang-orang yang menghasilkan produkPerkiraan produktivitas orang-orang yang menghasilkan produk •

• Perkiraan manfaat dari penerapan metode dan toolsPerkiraan manfaat dari penerapan metode dan tools •

• Membentuk dasar dari estimasiMembentuk dasar dari estimasi •

• Menegaskan (Menegaskan ( Justify Justify) permintaan tools baru dan pelatihan) permintaan tools baru dan pelatihan Satuan ukuran perangkat lunak dikategorikan ke dalam : Satuan ukuran perangkat lunak dikategorikan ke dalam : •

• Satuan ukuran produktivitas :Satuan ukuran produktivitas :Output Output  dari proses rekayasa dari proses rekayasa •

• Satuan ukuran kualitas : indikasi tingkat pemenuhan kebutuhan konsumenSatuan ukuran kualitas : indikasi tingkat pemenuhan kebutuhan konsumen •

• Satuan ukuran teknik : Karakteristik perangkat lunakSatuan ukuran teknik : Karakteristik perangkat lunak Kategori lain untuk pengukuran :

Kategori lain untuk pengukuran : •

• Pengukuran berorientasi besarnya (Ukuran)Pengukuran berorientasi besarnya (Ukuran) : Besarnya perangkat lunak = jumlah : Besarnya perangkat lunak = jumlah  baris program

 baris program

Pengukuran berorientasi ukuran merupakan pengukuran langsung. Pengukuran Pengukuran berorientasi ukuran merupakan pengukuran langsung. Pengukuran  berorientasi

 berorientasi ukuran ukuran menggunakan menggunakan tabel tabel berisi berisi data data berorientasi berorientasi ukuran ukuran yangyang merupakan daftar proyek pengembangan perangkat lunak yang telah diselesaikan merupakan daftar proyek pengembangan perangkat lunak yang telah diselesaikan dikaitkan dengan data berorientasi ukuran untuk proyek yang bersangkutan

dikaitkan dengan data berorientasi ukuran untuk proyek yang bersangkutan Contoh perhitungan :

Contoh perhitungan : o

o Produktivitas = KLOC (Kilo Line of Code)/Orang-BulanProduktivitas = KLOC (Kilo Line of Code)/Orang-Bulan o

o Kualitas = Cacat (Kesalahan)/ KLOCKualitas = Cacat (Kesalahan)/ KLOC o

o Biaya = Satuan uang ($ atau Rp)/KLOCBiaya = Satuan uang ($ atau Rp)/KLOC o

o Dokumentasi = Jumlah halaman dokumentasi/KLOCDokumentasi = Jumlah halaman dokumentasi/KLOC •

• Pengukuran berorientasi fungsiPengukuran berorientasi fungsi  : fungsi = ruang lingkup informasi dan tingkat  : fungsi = ruang lingkup informasi dan tingkat kesulitannya

kesulitannya

Merupakan pengukuran tidak langsung, yang menitikberatkan pada fungsionalitas atau Merupakan pengukuran tidak langsung, yang menitikberatkan pada fungsionalitas atau utilitas program. Disebut juga metode

utilitas program. Disebut juga metode Function Point Function Point   sesuai dengan informasi-  sesuai dengan informasi-informasi yang didefinisikan sebagai :

informasi yang didefinisikan sebagai : o

o Jumlah masukan dari pemakaiJumlah masukan dari pemakai o

o Jumlah keluaran dari pemakaiJumlah keluaran dari pemakai o

o Jumlah penyelidikan dari pemakaiJumlah penyelidikan dari pemakai o

o Jumlah fileJumlah file o

o Jumlah antarmuka eksternalJumlah antarmuka eksternal

3.3. Satuan Ukuran Kualitas Parangkat Lunak

3.3. Satuan Ukuran Kualitas Parangkat Lunak

Kualitas perangkat lunak dihitung pada saat proses rekayasa perangkat lunak ataupun Kualitas perangkat lunak dihitung pada saat proses rekayasa perangkat lunak ataupun setelah diserahkan kepada pemakai. Satuan ukuran kualitas perangkat lunak pada saat proses setelah diserahkan kepada pemakai. Satuan ukuran kualitas perangkat lunak pada saat proses rekayasa :

rekayasa : o

o Kompleksitas programKompleksitas program o

o Modularitas yang efektifModularitas yang efektif o

o Besarnya programBesarnya program

Definisi pengukuran kualitas menurut Gilb: Definisi pengukuran kualitas menurut Gilb:

• Kebenaran (Kebenaran (CorrectnessCorrectness) : Program harus bekerja dengan benar. Kebenaran) : Program harus bekerja dengan benar. Kebenaran merupakan tingkat perangkat lunak bekerja sesuai dengan fungsi yang dibutuhkan. merupakan tingkat perangkat lunak bekerja sesuai dengan fungsi yang dibutuhkan. Pengukuran yang umum adalah cacat (

(30)
(31)

• Perawatan (Perawatan ( Maintainability Maintainability) : Kemudahan perbaikan jika ada kesalahan, penyesuaian) : Kemudahan perbaikan jika ada kesalahan, penyesuaian terhadap perubahan lingkungan atau peningkatan sesuai permintaan pemakai

terhadap perubahan lingkungan atau peningkatan sesuai permintaan pemakai •

• Integritas (Integritas ( Integrity Integrity) : Pengukuran tingkat ketahanan perangkat lunak terhadap) : Pengukuran tingkat ketahanan perangkat lunak terhadap serangan (disengaja/tidak) pada program, data dan dokumen

serangan (disengaja/tidak) pada program, data dan dokumen •

• Kegunaan (Kegunaan (UsabilityUsability) : Berkaitan dengan kemudahan pemakaian yang diukur) : Berkaitan dengan kemudahan pemakaian yang diukur  berdasarkan

 berdasarkan keahlian keahlian yang yang diperlukan diperlukan untuk untuk mempelajari mempelajari sistem, sistem, waktu waktu yangyang dibutuhkan untuk dapat menggunakan sistem, peningkatan produktivitas dengan dibutuhkan untuk dapat menggunakan sistem, peningkatan produktivitas dengan  penggunaan siste

 penggunaan sistem dan perkiraan yang sifam dan perkiraan yang sifatnya subjektif padtnya subjektif pada kelakuan pemakaia kelakuan pemakai

Menurut Basili dan Zelkowitz ada 5(lima) faktor yang mempengaruhi produktivitas perangkat Menurut Basili dan Zelkowitz ada 5(lima) faktor yang mempengaruhi produktivitas perangkat lunak :

lunak : •

• Faktor manusia : jumlah dan tingkat keahlian timFaktor manusia : jumlah dan tingkat keahlian tim •

• Faktor masalah : Tingkat kerumitan masalah yang harus dipecahkanFaktor masalah : Tingkat kerumitan masalah yang harus dipecahkan •

• Faktor proses : Teknik analisis dan desain, bahasa dan toolsFaktor proses : Teknik analisis dan desain, bahasa dan tools •

• Faktor produk : keandalan dan performansi sistem berbasis komputerFaktor produk : keandalan dan performansi sistem berbasis komputer •

• Faktor sumber daya : ketersediaan tools, sumber-sumber perangkat keras danFaktor sumber daya : ketersediaan tools, sumber-sumber perangkat keras dan  perangkat lunak

(32)

Gambar

Gambar 1.1 Paremeter Perangkat Lunak
Gambar 4.1. Dampak Kesalahan
Tabel 4.1. Simbol
Gambar berikut menunjukkan hubungan antara DFD dengan DD.
+6

Referensi

Dokumen terkait

Gambar III.14 Rancangan Antar Muka Data Pesan Pengunjung .... Gambar III.15 Rancangan Antar Muka Data

Orang Pribadi untuk tahun pajak 2006 dan / atau Tahun-Tahun Pajak sebelumnya dalam kurun waktu mulai tanggal 1 Juli 2008 sampai dengan 31 Desember 2008

Gambar 3A Preparasi mahkota penyangga pada gigi ka- ninus rahang atas untuk GTSL yang telah ada; B tampilan hasil scan sebelum preparasi mahkota (abu-abu) yang diga- bungkan

Setiap pengajar harus memiliki teknik penguasaan kelas yang bagus agar para peserta didik di dalam kelas terkondisikan. Selama kegiatan pembelajaran, guru

Berdasarkan atas Tujuan dan sasaran yang telah ditetapkan dan merupakan kewenangan serta tanggungjawab pada Dinas Pangan dan Perikanan Kabupaten Bandung, maka ditetapkan

EPPA2813 Perakaunan Untuk Pengurusan Accounting for Management WP 2 EPPM3033 Kelakuan Organisasi Organizational Behavior WP 3 EPPM2114 Pengurusan Kewangan

Mengacu pada berbagai pengertian dan definisi tentang pendidikan dan karakter secara sederhana dapat diartikan bahwa pendidikan karakter adalah upaya sadar yang

Nilai rata-rata yang terbaca alat ukur, semua nilai dianggap bertanda positif Alat ukur gerak mekanik yang tidak sensitif terhadap polaritas (alat ukur yang didesain