SlideShare une entreprise Scribd logo
1  sur  21
Buku Ajar Rekayasa Perangkat Lunak



                         BAB 3
             Metrik Proyek Perangkat Lunak


Kompetensi Dasar :
Mahasiswa memahami maksud dari metrik proyek perangkat lunak dan
mampu menggunakan metrik tersebut.


Pengukuran merupakan suatu hal yang pokok bagi disiplin
perekayasaan (engineering), rekayasa perangkat lunakpun tidak
terkecuali.
Metrik perangkat lunak mengacu pada suatu jangkauan luas
pengukuran perangkat lunak komputer. Pengukuran dapat
diterapkan     pada      proses    perangkat      lunak guna
mengembangkannya dengan dasar yang kontinyu. Pengukuran
dapat digunakan di seluruh proyek perangkat lunak untuk
membantu perhitungan, kontrol kualitas, perkiraan produktivitas
dan kontrol proyek. Akhirnya, pengukuran dapat digunakan oleh
perekayasa perangkat lunak untuk membantu memperkirakan
kualitas produk kerja teknis serta untuk membantu mengambil
keputusan taktis pada saat proyek sudah berjalan.
Dalam konteks manajemen perangkat lunak, perhatian utama
pada produktivitas dan metrik kualitas – pengukuran output
perkembangan perangkat lunak sebagai sebuah fungsi usaha
dan waktu yang diaplikasikan serta pengukuran “kesesuaian
pemakaian” produk kerja yang dihasilkan. Untuk tujuan
perencanaan dan perkiraan harus memperhatikan sejarah.

1.   Pengukuran, metrik dan indikator.
     Meskipun bentuk measure (mengukur), measurement
     (pengukuran), dan metrik sering dipakai secara bergantian,
     namun penting untuk dicatat perbedaaan kecil yang ada
     diantara ketiganya. Measure dan measurement dapat
     digunakan dengan baik sebagai kata kerja atau kata benda.
     Dalam konteks RPL, measure mengindikasikan kuantitatif dari
     luasan, jumlah, dimensi, kapasitas, atau ukuran dari atribut
     sebuah proses atau produk. Measurement adalah kegiatan



                                                              23
Buku Ajar Rekayasa Perangkat Lunak


     menentukan sebuah measure (pengukuran). IEEE Standard
     Glossary     of Software Engineering     Terms     (IEEE 93)
     mendefinisikan metrics sebagai “Ukuran kuantitatif dari tingkat
     dimana sebuah sistem, komponen, atau proses memiliki
     atribut tertentu “.
     Metrik perangkat lunak menghubungkan pengukuran individu
     dengan banyak cara (seperti rata-rata jumlah kesalahan
     yang ditemukanper kajian atau jumlah rata-rata kesalahan
     yang ditemukan per person-hour yang dipakai pada kajian).
     RPL mengumpulkan pengukuran dan mengembangkan
     metrik sehingga diperoleh suatu indikator. Indikator adalah
     sebuah metrik atau kombinasi dari metrik yang memberikan
     pengetahuan ke dalam proses perangkat lunak, sebuah
     proyek perangkat lunak, atau produk itu sendiri. Indikator
     memberikan pengetahuan yang memungkinkan manajer
     proyek atau perekayasa perangkat lunak meneyesuaikan
     proses, proyek dan produk, untuk membuat semuanya
     menjadi lebih baik.

2.   Metrik dalam proses dan domain proyek.
     Metrik harus dikumpulkan sehingga indikator proses dan
     produk dapat dipastikan. Indikator proses memungkinkan
     sebuah organisasi rekayasa perangkat lunak memperoleh
     pengetahuan tentang reliabilitas sebuah proses yang sedang
     berlangsung. Indikator proses memungkinkan manajer dan
     pelaksana memperkirakan apa yang harus dikerjakan dan
     yang tidak. Metrik proses dikumpulkan di seluruh proyek dan
     pada perkembangan proses perangkat lunak jangka
     panjang.
     Indikator proyek memungkinkan manajer proyek perangkat
     lunak :
     1. memperkirakan status sebuah proyek yang sedang
          berlangsung.
     2. menelusuri risiko-risiko potensial.
     3. menemukan area masalah sebelum masalah menjadi
          semakin kritis.
     4. menyesuaikan aliran kerja atau tugas-tugas.
     5. mengevaluasi kemampuan tim proyek untuk mengontrol
          kualitas hasil kerja rekayasa perangkat lunak.




24
Buku Ajar Rekayasa Perangkat Lunak


   Satu-satunya cara yang paling rasional untuk meningkatkan
   proses adalah dengan mengukur atribut tertentu dari proses,
   mengembangkan        serangkaian    metrik   yang    berarti
   berdasarkan    atribut-atribut tersebut,   dan    kemudian
   menggunakan metrik itu untuk memberikan indikator yang
   akan membawa kepada sebuah strategi pengembangan.




       Gambar 3.1. Determinan untuk kualitas dan efektivitas
                organisasional perangkat lunak.

   Dalam gambar 3.1. proses berada di tengah-tengah sebuah
   segitiga yang menghubungkan tiga faktor yang sangat besar
   pengaruhnya terhadap kualitas pertangkat lunak dan unjuk
   kerja organisasional. Keterampilan dan motivasi yang
   diperlihatkan oleh manusia merupakan satu-satunya faktor
   yang paling berpengaruh pada kualitas dan unjuk kerja tim.
   Teknologi yang menghuni proses juga berpengaruh. Segitiga
   proses juga berada di dalam sebuah lingkaran yang
   menggambarkan kondisi lingkungan yang menyangkut
   lingkungan pengembangan, kondisi bisnis dan karakteristik
   pelanggan.
   Pengukuran reliabilitas proses perangkat lunak secara tidak
   langsung yaitu dengan mengambil serangkaian metrik
   berdasarkan keluaran yang dapat diambil oleh proses.
   Keluaran    menyangkut      pengukuran    kesalahan   yang
   ditemukan sebelum pelepasan perangkat lunak, cacat yang
   disampaikan dan dilaporkan oleh pemakai akhir, produk kerja
   yang dikirim, usaha manusia yang dilakukan, waktu kalender
   yang digunakan, konfirmasi jadwal, serta pengukuran yang
   lain.



                                                               25
Buku Ajar Rekayasa Perangkat Lunak


     Dalam proses terdapat tipe data yang berbeda sehubungan
     dengan “privat dan publik”. Data-data tersebut juga harus
     bersifat privat bagi individu dan berfungsi sebagai indikator
     hanya untuk individu. Contoh metrik yang bersifat privat
     terhadap individu menyangkut :
         Nilai cacat oleh individu.
         Nilai cacat oleh modul.
         Kesalahan yang ditemukan selama pengembangan.
     Metrik publik biasanya mengasimilasi informasi yang secara
     orisinal bersifat privat bagi individu dan tim. Nilai cacat tingkat
     proyek, usaha, waktu kalender dan data dikumpulkan dan
     dievaluasi dalam upaya menemukan indikator yang dapat
     mengembangkan unjuk kerja proses organisasional.
     Metrik proses perangkat lunak digunakan untuk tujuan
     strategis. Pengukuran proyek perangkat lunak bersifat taktis,
     yaitu bahwa metrik proyek dan indikator yang berasal dari
     pengukuran digunakan oleh manajer proyek dan tim
     perangkat lunak untuk mengadaptasi aliran kerja proyek dan
     aktivitas teknis.
     Aplikasi pertama dari metrik proyek pada sebagian besar
     proyek perangkat lunak terjadi selama perkiraan. Metrik yang
     dikumpulkan dari proyek yang terdahulu digunakan sebagai
     dasar untuk membuat perkiraan usaha dan durasi waktu
     untuk kerja perangkat lunak saat ini. Selagi proyek berjalan,
     pengukuran usaha dan waktu kalender yang digunakan
     dibandingkan dengan perkiraan awal dan jadwal proyek.
     Manajer menggunakan data tersebut untuk memonitor dan
     mengontrol kemajuan.
     Pada saat kerja teknis dimulai, metrik proyek mulai memiliki
     arti. Nilai produksi yang disajikan dalam bentuk halaman
     dokumentasi, jam kajian, titik-titik fungsi dan sederetan sumber
     yang disampaikan diukur dan kesalahan yang ditemukan
     selama masing-masing tugas kerja rekayasa perangkat lunak
     kemudian ditelusuri. Selagi perangkat lunak berjalan dari
     spesifikasi ke perancangan, metrik teknik dikumpulkan untuk
     memperkirakan kualitas desain serta memberikan indikator
     yang akan mempengaruhi pendekatan yang akna diambil
     untuk memunculkan kode dan modul serta pengujian
     integrasi.
     Metrik proyek mempunyai tujuan ganda. Pertama, metrik
     tersebut       digunakan       untuk    meminimalkan        jadwal


26
Buku Ajar Rekayasa Perangkat Lunak


     pengembangan dengan melakukan penyesuaian yang
     diperlukan untuk menghindari penundaan serta mengurangi
     masalah dan risiko potensial. Kedua, metrik proyek dipakai
     untuk memperkirakan kualitas produk pada basis yang
     berlaku dan bila dibutuhkan, memodifikasi pendekatan teknis
     untuk meningkatkan kualitas.
     Pada saat kualitas meningkat, kesalahan menjadi minimal,
     dan selagi kesalahan semakin berkurang, jumlah kerja ulang
     yang dibutuhkan selama proyek berlangsung juga berkurang.
     Dengan demikian, pembiayaan proyek secara keseluruhan
     dapat berkurang.
     Model yang lain dari metrik proyek mengusulkan bahwa
     setiap proyek harus mengukur :
         Input, yaitu pengukuran sumber daya seperti manusia,
          lingkungan yang dibutuhkan untuk melakukan pekerjaan.
         Output, yaitu pengukuran kemampuan penyampaian
          atau produk kerja yang diciptakan selama proses
          rekayasa perangkat lunak.
         Hasil, yaitu pengukuran yang menunjukkan efektivitas
          kemampuan penyampaian.
     Pada kenyataannya model ini dapat diterapkan, baik proses
     maupun pada proyek. Dalam konteks proyek, model dapat
     diterapkan secara rekursif pada saat masing-masing aktivitas
     kerangka kerja berjalan, sehingga output dari satu aktivitas
     menjadi input bagi aktivitas selanjutnya. Metrik hasil dapat
     digunakan untuk memberikan indikasi daya guna produk kerja
     selagi mereka mengalir dari satu aktivitas kerangka kerja ke
     aktivitas kerangka kerja selanjutnya.

3.   Pengukuran perangkat lunak.
     Pengukuran langsung dari proses rekayasa perangkat lunak
     menyangkut biaya dan usaha yang diaplikasikan. Pengukuran
     langsung dari produk menyangkut deretan kode (LOC) yang
     diproduksi, kecepatan eksekusi, ukuran memori dan cacat
     yang dilaporkan pada sejumlah periode waktu. Pengukuran
     tidak langsung dari produk menyangkut fungsionalitas,
     kualitas, kompleksitas, efisiensi, reliabilitas, kemampuan
     pemeliharaan dan banyak lagi kemampuan lain.
     3.1.     Metrik size – oriented.
          Metrik perangkat lunak size oriented (berorientasi pada
          ukuran) ditarik dengan normalisasi kualitas dan atau


                                                              27
Buku Ajar Rekayasa Perangkat Lunak


       pengukuran produktivitas dengan mempertimbangkan
       “ukuran” perangkat lunak yang dihasilkan. Bila sebuah
       organisasi memelihara rekaman-rekaman sederhana,
       sebuah tabel pengukuran size-oriented seperti ditunjukkan
       pada gambar 3.2. dapat diciptakan. Tabel tersebut
       mencantumkan daftar setiap proyek pengembangan
       perangkat lunak yang sudah diselesaikan pada tahun-
       tahun terakhir dan pengukuran yang sesuai untuk proyek
       tersebut.




                     Gambar 3.2. Metrik size-oriented.
       Untuk mengembangkan metrik yang dapat diasimilasi
       dengan metrik yang sama dari proyek yang lain, kita
       memilih sederetan kode sebagai nilai normalisasi. Dari
       data yang belum sempurna yang ada pada tabel, dapat
       dikembangkan serangkaian metrik size – oriented yang
       sederhana untuk setiap proyek :
           Kesalahan (error) per KLOC (kilo LOC).
           $ per LOC.
           Cacat (defect) per KLOC.
           Halaman dokumentasi per KLOC.
       Sebagai tambahan, metrik menarik yang lain dapat
       dihitung :
           Kesalahan / person – month.
           LOC per person – month.
           $ / halaman dokumentasi.




28
Buku Ajar Rekayasa Perangkat Lunak




3.2.   Metrik function – oriented.
       Metrik perangkat lunak function – oriented (berorientasi
       pada fungsi) menggunakan sebuah pengukuran
       fungsionalitas yang disampaikan oleh aplikasi sebagai
       suatu nilai normalisasi. Karena fungsionalitas tidak dapat
       diukur secara langsung, maka fungsionalitas harus ditarik
       secara     tidak     langsung   dengan      menggunakan
       pengukuran langsung yang lain. Metrik berorientasi fungsi
       pertama kali diusulkan oleh Albrecht yang mengusulkan
       sebuah pengukuran yang disebut function point.




            Gambar 3.3. Penghitungan metrik function point

       Function point ditarik dengan menggunakan sebuah
       hubungan empiris berdasarkan pengukuran langsung
       domain informasi perangkat lunak yang dapat dihitung
       serta perkiraan kompleksitas perangkat lunak. Function
       point dihitung dengan melengkapi tabel yang
       diperlihatkan pada gambar 3.3. lima karakteristik domain
       informasi ditentukan dan penghitungan diberikan di
       dalam lokasi tabel yang sesuai. Nilai domain informasi
       didefinisikan dengan cara sebagai berikut :
        Jumlah input pemakai (External Input, EI). Setiap input
            pamakai yang memberikan data yang berorientasi
            pada aplikasi yang jelas pada perangkat lunak




                                                              29
Buku Ajar Rekayasa Perangkat Lunak


            dihitung. Input ini harus dibedakan dari penelitian
            yang dihitung secara terpisah.
        Jumlah output pemakai (External Output, EO). Setiap
            output pemakai yang memberikan informasi yang
            berorientasi pada aplikasi kepada pemakai dihitung.
            Pada konteks ini output mengacu pada laporan,
            layar, tampilan kesalahan dan sebaginya. Jenis data
            individual pada sebuah laporan tidak dihitung secara
            terpisah.
        Jumlah penyelidikan pemakai (External Inquiry, EQ).
            Sebuah penyelidikan didefinisikan sebagai input on-
            line yang mengakibatkan munculnya beberapa
            respon perangkat lunak yang cepat dalam bentuk
            sebuah output on-line. Setiap penyelidikan yang jelas
            dihitung.
        Jumlah file (Internal Logical Files, ILF). Setiap file master
            logika (yaitu pengelompokan data secara logis yang
            menjadi suatu bagian dari sebuah database yang
            besar atau sebuah file yang terpisah) dihitung.
        Jumlah interface eksternal (External Interface Files,
            EIF). Semua interface yang dapat dibaca oleh mesin
            yang digunakan untuk memindahkan informasi ke
            sistem yang lain dihitung.
       Setelah komponen-komponen tersebut diklasifikasikan
       pada lima komponen utama, sebuah tingkatan rendah,
       sedang atau tinggi diberikan. Untuk transaksi (EI, EO, EQ)
       tingkatannya berdasarkan jumlah file yang diupdate atau
       direferensi (File Type Referenced, FTR) dan jumlah tipe
       elemen data (DET). Untuk file ILF dan EIF tingkatannya
       berdasarkan tipe elemen record (RET). Tipe elemen record
       adalah subgrup dari elemen data dalam ILF atau EIF yang
       dapat dikenali oleh user. Tipe elemen data adalah
       sesuatu yang dapat dikenali secara unik oleh user,
       nonrekursif field. Tabel-tabel berikut ini membantu dalam
       menentukan tingkatan proses.

                 Tabel 3.1. Tabel jumlah input pemakai.




30
Buku Ajar Rekayasa Perangkat Lunak




          Tabel 3.2. Tabel jumlah output pemakai dan jumlah
                        penyelidikan pemakai.




                        Tabel 3.3. Nilai transaksi.




       Seperti semua komponen, EQ dihitung dan dinilai. Pada
       dasarnya, EQ dihitung (rendah, sedang, tinggi) seperti EO,
       tetapi diberikan nilai seperti EI. Perhitungan berdasar
       pada jumlah DET dan FTR yang merupakan kombinasi
       input dan output. Jika FTR yang sama digunakan pada
       input dan output, maka hanya akan dihitung sekali.
       Untuk ILF dan EIF jumlah tipe elemen record dan jumlah
       tipe elemen data digunakan untuk menentukan tingkatan
       rendah, sedang, atau tinggi. Suatu tipe elemen record
       adalah subgrup dari elemen data yang dapat dikenali
       oleh user dengan ILF atau EIF. Suatu tipe elemen data
       adalah sesuatu yang unik dikenali oleh user, tidak ada
       field rekursif pada ILF maupun EIF.

                    Tabel 3.4. Jumlah elemen data




                                                              31
Buku Ajar Rekayasa Perangkat Lunak




                 Tabel 3.5. Tingkatan untuk ILF dan EIF




       Sekali data tersebut dikumpulkan, maka sebuah nilai
       kompleksitas akan dihubungkan dengan masing-masing
       perhitungan. Organisasi yang menggunakan metode titik
       fungsi mengembangkan kriteria untuk menentukan
       apakah sebuah entri tertentu bersifat sederhana, rata-
       rata atau kompleks. Meskipun demikian perkiraan
       kompleksitas tetap bersifat subyektif.
       Untuk menghitung titik-titik fungsi dipakai hubungan
       sebagai berikut :
       FP = jumlah total x [ 0.65 + 0.01 x (Fi)]
       Dimana jumlah total adalah jumlah semua entri yang
       diperoleh dari gambar 3.3.
       Value Adjustment Factor (VAF) berdasarkan pada 14
       karakteristik umum sistem (GSC) yang menghitung
       fungsionalitas umum dari aplikasi yang sedang dihitung.
       Setiap     karakteristik    mempunyai     deskripsi yang
       berhubungan yang membantu menentukan derajat
       pengaruh karakteristik. Fi ( i = 1 s/d 14 ) adalah harga
       penyesuaian kompleksitas berdasarkan respon pada
       pertanyaan yang ditulis pada tabel 3.6. nilai konstanta
       pada persamaan dan faktor pembobotan yang
       diaplikasikan pada hitungan domain informasi ditentukan
       secara empiris.

                 Tabel 3.6. Menghitung function points.



32
Buku Ajar Rekayasa Perangkat Lunak




                 Karakteristik
         No.                                  Keterangan
                    Sistem
        1      Kemudahan            Apakah sistem membutuhkan
               operasional          backup dan recovery yang
                                    reliabel ?
        2      Komunikasi data      Apakah komunikasi data
                                    dibutuhkan ?
        3      Pemrosesan data      Apakah fungsi pemrosesan
               terdistribusi        didistribusikan ?
        4      Kinerja              Apakah kinerja penting ?
        5      Konfigurasi          Apakah sistem akan berjalan
                                    pada lingkungan operasional
                                    yang sudah ada yang paling
                                    banyak digunakan ?
        6      Data entry on-line   Apakah sistem membutuhkan
                                    entry data on-line ?
        7      Transaksi            Apakah entry data on-line
                                    membutuhkan ada transaksi input
                                    terhadap layar atau operasi
                                    ganda ?
        8      Update on-line       Apakah file master diperbarui
                                    secara on-line ?
        9      Efisiensi end-user   Apakah input, output, file atau
                                    inquiry kompleks ?
        10     Kompleksitas         Apakah pemrosesan internal
               pemrosesan           kompleks ?
        11     Pemakaian            Apakah kode didesain untuk
               kembali              dapat dipakai kembali ?
        12     Kemudahan            Apakah desain melibatkan
               instalasi            konversi dan instalasi ?
        13     Situs ganda          Apakah sistem didesain untuk
                                    instalasi ganda dalam situs untuk
                                    organisasi berbeda ?
        14     Fasilitas            Apakah aplikasi didesain untuk
               perubahan            memfasilitasi perubahan dan
                                    mempermudah pemakai untuk
                                    menggunakannya ?

       Sekali titik fungsi telah dihitung, maka titik-titik itu
       digunakan dengan cara analog dengan LOC untuk



                                                                        33
Buku Ajar Rekayasa Perangkat Lunak


       menormalisasi      pengukuran       produktifitas,   kualitas
       perangkat lunak, serta atribut-atribut yang lain :
           Kesalahan per FP.
           Cacat per FP.
           $ per FP.
           Halaman dokumentasi per FP.
           FP per person – month.
3.3.   Metrik function point yang diperluas.
       Metrik function point secara orisinal dirancang untuk
       diterapkan pada aplikasi informai bisnis yang ditekankan
       pada pengeluaran dimensi (kontrol) tingkah laku dan
       fungsional. Karena alasan tersebut, maka pengukuran
       function point tidak sesuai untuk beberapa sistem terapan
       dan rekayasa. Sejumlah ekstensi pada pengukuran
       function point dasar telah diusulkan untuk mengatasi
       situasi ini.
       Eksistensi function point yang disebut feature point
       merupakan superset dari pengukuran function point yang
       dapat diterapkan pada aplikasi perangkat lunak
       rekayasa dan sistem. Pengukuran feature point
       mengakomodasi aplikasi yang kompleksitas algoritmanya
       tinggi. Real-time, kontrol proses dan aplikasi perangkat
       lunak embedded, cenderung memiliki kompleksitas
       algoritma yang tinggi sehingga dapat dipertanggung
       jawabkan untuk feature point.
       Untuk menghitung feature point, harga domain informasi
       harus dihitung lagi dan dibobot. Sebagai tambahan,
       metrik feature point juga menghitung karakteristik
       perangkat lunak yang baru, yaitu algoritma. Algoritma
       didefinisikan sebagai masalah perhitungan yang terbatas
       yang dilakukan dalam sebuah program komputer yang
       spesifik.
       Ekstensi function point untuk sistem real – time dan produk
       rekayasa telah dikembangkan oleh Boeing. Pendekatan
       Boeing mengintegrasi dimensi data perangkat lunak
       dengan dimensi kontrol dan fungsional untuk memberikan
       sebuah pengukuran yang berorientasi pada fungsi, yang
       disebut 3D function point, yang dapat dipertanggung
       jawabkan untuk aplikasi yang menekankan kemampuan
       fungsi dan kontrol. Karakteristik dari semua dimensi
       perangkat lunak dihitung, dikuantisasi dan ditransformasi


34
Buku Ajar Rekayasa Perangkat Lunak


       ke dalam sebuah pengukuran yang memberikan indikasi
       fungsionalitas yang disampaikan oleh perangkat lunak.
       Dimensi data dievaluasi dengan cara yang sama seperti
       dijelaskan pada subbab sebelumnya. Penghitungan data
       yang disimpan (struktur data program internal, seperti file)
       dan data eksternal (input, output, inquiry dan referensi
       eksternal) dipakai      bersama dengan pengukuran
       kompleksitas untuk menarik penghitungan dimensi data.
       Dimensi fungsional diukur dengan mempertimbangkan
       jumlah operasi internal yang dibutuhkan untuk
       mentransformasi input ke data output. Karena tujuan
       komputasi adalah function point 3D, maka suatu
       transformasi dipandang sebagai sebuah deretan langkah
       pemrosesan yang dibatasi oleh sejumlah pernyataan
       semantik. Sebagai aturan umum, transformasi dilakukan
       dengan sebuah algoritma yang menghasilkan suatu
       perubahan dasar ke data input ketika dia diproses untuk
       menjadi data output. Langkah pemrosesan yang
       membutuhkan data dari sebuah file dan secara
       sederhana menempatkan data tersebut ke dalam
       memori program, tidak akan dipertimbangkan sebagai
       sebuah transformasi. Data itu sendiri tidak diubah dengan
       cara yang mendasar.
       Tingkat kompleksitas yang diberikan pada masing-masing
       transformasi merupakan fungsi dari sejumlah langkah
       proses dan sejumlah pernyataan semantik yang
       mengontrol      langkah    pemrosesan.      Gambar     3.4.
       memberikan tuntunan bagi kompleksitas penugasan
       dalam dimensi fungsional.




                                                                35
Buku Ajar Rekayasa Perangkat Lunak




       Gambar 3.4. Menentukan kompleksitas transformasi untuk
                        function point 3D.

       Dimensi kontrol diukur dengan menghitung jumlah transisi
       antar pernyataan. Pernyataan mewakili beberapa mode
       tigkah laku yang dapat diobservasi secara eksternal.
       Transisi terjadi sebagai hasil dari kejadian yang
       menyebabkan perangkat lunak atau sistem mengubah
       mode tingkah lakunya. Contohnya telepon seluler berisi
       perangkat lunak yang mendukung fungsi-fungsi autodial.
       Untuk menghitung function point 3D, digunakan
       hubungan sebagai berikut :
       Indeks = I + O + Q + F + E + T + R
       Dimana I, O, Q, E, F, T dan R mewakili nilai bobot
       kompleksitas untuk elemen-elemen yang telah disebut-
       kan : input, output, inquiry, struktur data eksternal, file
       eksternal, transformasi dan transisi secara berurutan.
       Masing-masing nilai bobot kompleksitas dihitung dengan
       menggunakan hubungan sebagai berikut :
       Nilai bobot kompleksitas = Nil Wil + Nia Wia + Nih Wih
       Dimana N adalah jumlah kejadian elemen i untuk masing-
       masing tingkat kompleksitas dan W adalah bobot masing-
       masing. Perhitungan keseluruhan untuk function point 3D
       diperlihatkan pada gambar 3.5.




36
Buku Ajar Rekayasa Perangkat Lunak




             Gambar 3.5. Menghitung indeks function point 3D.

         Perlu diperhatikan bahwa function point, feature point
         dan function point 3D menunjukkan hal yang sama yaitu
         fungsionalitas atau utility yang dikirim oleh perangkat
         lunak. Pada dasarnya, masing-masing pengukuran
         menghasilkan nilai yang sama hanya jika dimensi data
         dari sebuah aplikasi dipetimbangkan. Untuk sistem real-
         time yang lebih kompleks, jumlah feature point sering
         antara 20 % dan 35 % lebih tinggi daripada jumlah yang
         ditentukan dengan hanya menggunakan function point.

4.   Menyatukan berbagai pendekatan metrik yang berbeda.
     Hubungan antara baris-baris kode dan function point
     tergantung pada bahasa pemrograman yang digunakan
     untuk mengimplementasikan perangkat lunak dan kualitas
     desain. Berikut ini pernyataan Albrecht dan Gaffney : “Thesis
     studi ini adalah jumlah fungsi yang disediakan oleh aplikasi
     (program) dapat diestimasi dari itemisasi komponen utama
     data yang digunakan atau disediakan oleh aplikasi. Lebih
     lanjut, estimasi fungsi harus dihubungkan dengan jumlah LOC
     yang      akan     dikembangkan       dan      dengan   usaha
     pengembangan yang diperlukan.
     Tabel berikut ini memberikan estimasi kasar terhadap rata-rata
     jumlah baris kode yang diperlukan untuk membangun satu
     function point dalam berbagai bahasa pemrograman :
       Bahasa Pemrograman            LOC / FP (rata-rata)



                                                                37
Buku Ajar Rekayasa Perangkat Lunak


      Assembly                     320
      C                            128
      Cobol                        105
      Fortran                      105
      Pascal                       90
      ADA                          70
      Bahasa berorientasi objek    30
      Bahasa generasi keempat      20
      Generator kode               15
      Spreadsheets                 6
      Bahasa Grafis                4

     Ukuran LOC dan FP sering digunakan untuk mendapatkan
     metrik produktifitas. Hal itu menimbulkan adanya perdebatan
     mengenai pemakaian data tersebut. LOC / person-month
     atau FP / person-month dari suatu kelompok tidak harus
     dibandingkan dengan data serupa dari kelompok lainnya.
     Demikian juga penilaian kerja individual oleh manajer dengan
     menggunakan metrik tersebut tidak harus dilakukan, karena
     ada banyak faktor yang mempengaruhi produktivitas.
     Basili dan Zelkowitz menetapkan empat faktor penting yang
     mempengaruhi produktifitas perangkat lunak, yaitu :
     • Faktor manusia. Ukuran dan keahlian organisasi
         pengembangan.
     • Faktor masalah. Kompleksitas masalah yang dipecahkan
         dan jumlah perubahan dalam batasan dan persyaratan
         desain.
     • Faktor proses. Teknik analisis dan desain yang digunakan,
         bahasa dan peranti CASE yang tersedia, dan teknik-teknik
         kajian.
     • Faktor sumber daya. Ketersediaan peranti CASE dan
         sumber daya perangkat keras dan perangkat lunak.
     Jika salah satu faktor produktifitas tersebut di atas rata-rata
     (sangat baik) untuk suatu proyek yang ditentukan, maka
     produktifitas pengembangan perangkat lunak akan secara
     signifikan lebih tinggi daripada jika faktor yang sama berada
     di bawah rata-rata (tidak baik).
     Proses membuat baseline ditunjukkan pada gambar 3.6.
     idealnya data yang diperlukan untuk membaut baseline
     dikumpulkan secara terus-menerus. Oleh karena itu, kumpulan



38
Buku Ajar Rekayasa Perangkat Lunak


     data membutuhkan investigasi historis terhadap proyek-
     proyek sebelumnya untuk menyusun kembali data yang
     diperlukan. Komputasi metrik dapat dilakukan setelah ukuran-
     ukuran dikumpulkan. Akhirnya metrik harus dievaluasi dan
     diterapkan selama estimasi, kerja teknis, kontrol proyek, dan
     peningkatan proses. Evaluasi metrik memfokuskan pada
     alasan-alasan mendasar untuk hasil yang diperoleh dan
     membuat sekumpulan indikator yang memandu proyek atau
     proses.


       Prose
       s RPL


       Proye          Kumpulan
                                                            ukuran
       k RPL          data


       Produ                     Komputasi
       k RPL                                                metrik
                                 numerik


                                             Evaluasi
                                                            indikator
                                             metrik

         Gambar 3.6. Proses kumpulan metrik perangkat lunak.

5.   Metrik untuk kualitas perangkat lunak.
     Tujuan rekayasa perangkat lunak adalah untuk menghasilkan
     sistem, aplikasi atau produk berkualitas tinggi. Untuk mencapai
     tujuan tersebut, perekayasa perangkat lunak harus
     menerapkan metode-metode yang efektif bersama-sama
     dengan peranti modern dalam konteks proses perangkat
     lunak yang matang. Sebagai tambahan, perekayasa
     perangkat lunak yang baik harus mengukur apakah kualitas
     tinggi terealisasi.
     Kualitas sistem, aplikasi, atau produk, merupakan persyaratan
     yang menjelaskan masalah, desain model solusi, kode yang
     membuat program dapat dieksekusi, dan pengujian yang
     menguji perangkat lunak untuk menemukan kesalahan.
     Perekayasa perangkat lunak yang baik menggunakan
     pengukuran untuk menilai kualitas model analisis dan desain,
     kode sumber, dan test case yang dibuat ketika perangkat
     lunak direkayasa. Untuk mencapai kualitas penilaian real-time,



                                                                     39
Buku Ajar Rekayasa Perangkat Lunak


     perekayasa harus menggunakan pengukuran teknis untuk
     mengevaluasi kualitas dalam cara-cara yang obyektif.
     Manajer proyek juga harus mengevaluasi kualitas saat
     melanjutkan proyek. Metrik-metrik privat yang dikumpulkan
     oleh para perekayasa perangkat lunak disatukan untuk
     mendapatkan hasil tingkat proyek. Meskipun ada banyak
     pengukuran kualitas yang dapat dikumpulkan, tujuan utama
     pada tingkat proyek adalah mengukur kesalahan dan cacat.
     Metrik yang diperoleh dari pengukuran tersebut memberikan
     adanya indikasi mengenai efektifitas jaminan kualitas
     perangkat lunak kelompok dan individual, serta tindakan-
     tindakan kontrol.
     Kesalahan yang ditemukan per jam kajian dan kesalahan
     yang ditemukan per jam pengujian memberikan wawasan
     mengenai       kehebatan     masing-masing   aktivitas yang
     diimplikasikan oleh metrik. Data salah juga dapat digunakan
     untuk menghitung Defect Removal Efficiency untuk masing-
     masing aktifitas kerja proyek.
     McCall dan Cavano menetapkan sekumpulan faktor kualitas
     yang merupakan langkah pertama dalam mengembangkan
     metrik-metrik untuk kualitas perangkat lunak. Faktor-faktor
     tersebut menilai perangkat lunak dari tiga sudut pandang
     berbeda, yaitu operasi produk (menggunakannya), revisi
     produk (mengubahnya), transisi produk (memodifikasinya
     untuk bekerja dalam lingkungan yang berbeda).
     McCall dan Cavano juga menjelaskan hubungan antara
     faktor kualitas tersebut dan aspek-aspek lain dari proses
     rekayasa perangkat lunak :
     • Kerangka kerja memberikan suatu mekanisme untuk
         manajer proyek untuk mengenali kualitas-kualitas apa
         yang penting. Kualitas tersebut merupakan atribut
         perangkat lunak, sebagai tambahan untuk koreksi dan
         kinerja fungsionalnya, yang mempunyai implikasi daur
         hidup.
     • Kerangka kerja memberikan alat untuk menilai secara
         kuantitatif seberapa baik kemajuan pengembangan.
         Dalam hal ini, penilaian adalah bersifat relatif dengan
         tujuan-tujuan kualitas yang ditetapkan.
     • Kerangka kerja memberikan interaksi yang lebih dalam
         pada personil QA di sepanjang usaha pengembangan.



40
Buku Ajar Rekayasa Perangkat Lunak


   •   Personil jaminan kualitas dapat menggunakan indikasi
       buruknya kualitas untuk membantu mengidentifikasi
       standar-standar untuk diusahakan di masa mendatang.
   Gilb memberikan definisi dan ukuran terhadap pengukuran
   kualitas perangkat lunak :
   • Cara yang benar. Program harus beroperasi dengan
       benar atau program itu memberikan sedikit saja nilai bagi
       para pemakainya. Cara yang benar adalah tingkat di
       mana perangkat lunak melakukan fungsi yang ditentukan.
       Ukuran paling umum untuk cara yang benar adalah
       cacat per KLOC, di mana cacat didefinisikan sebagai
       kurangnya kesesuaian dengan persyaratan.
   • Maintanabilitas.        Pemeliharaan      perangkat   lunak
       menjelaskan usaha dari pada sekedar aktivitas rekayasa
       perangkat lunak. Maintanabilitas adalah kemudahan di
       mana program dapat dikoreksi jika ditemukan kesalahan,
       diadaptasi jika lingkungannya berubah, atau diperkuat
       jika pelanggan menginginkan perubahan kebutuhan.
       Tidak ada cara untuk mengukur maintanabilitas secara
       langsung, karena itu harus digunakan pengukuran tidak
       langsung. Metrik time-oriented sederhana adalah rata-
       rata waktu untuk berubah (MTTC), waktu yang diperlukan
       untuk menganalisis perubahan yang diperlukan, desain
       modifikasi yang tepat, mengimplementasi perubahan,
       mengujinya, dan mendistribusikan perubahan kepada
       semua pemakai.
   • Integritas. Atribut ini mengukur kemampuan sistem untuk
       menahan serangan terhadap sekuritasnya. Serangan
       dapat dilakukan pada semua komponen perangkat
       lunak : program, data dan dokumen. Untuk mengukur
       integritas, ada dua atribut tambahan yang harus
       ditentukan : ancaman dan sekuritas. Ancaman adalah
       probabilitas bahwa serangan tipe tertentu akan terjadi
       dalam suatu periode waktu yang ditentukan. Sekuritas
       adalah probabilitas bahwa serangan tipe tertentu akan
       dipukul mundur. Integritas sistem kemudian dapat
       ditentukan sebagai :
       Integritas = ∑ [1 – ancaman x (1- sekuritas)]
       Di mana ancaman dan sekuritas adalah jumlah dari
       masing-masing jenis serangan.



                                                             41
Buku Ajar Rekayasa Perangkat Lunak


     •   Usabilitas. Usabilitas adalah usaha untuk mengukur user
         friendliness dan dapat diukur dalam empat karakteristik :
          o Keterampilan fisik atau intelektual untuk mempelajari
              sistem.
          o Waktu yang diperlukan untuk menjadi cukup efisien
              dalam menggunakan sistem.
          o Peningkatan bersih dalam produktifitas yang diukur
              ketika sistem digunakan oleh seseorang yang cukup
              efisien.
          o Penilaian subyektif dari sikap pemakai terhadap
              sistem.
     Metrik kualitas yang memberikan manfaat pada tingkat
     poyek dan tingkat proses adalah efisiensi penghapusan cacat
     (DRE). Pada dasarnya, DRE adalah mengukur kemampuan
     penyaringan jaminan kualitas dan aktifitas kontrol ketika
     keduanya diterapkan pada semua aktifitas kerangka kerja
     proses.
     Dengan mempertimbangkan proyek sebagai satu kesatuan,
     maka DRE didefinisikan sebagai berikut :
     DRE = E / (E + D)
     Dimana        E = jumlah kesalahan yang ditemukan sebelum
                   perangkat lunak dikirim kepada pemakai akhir
                   D = jumlah cacat yang ditemukan setelah
                   pengiriman.
     Nilai ideal untuk DRE adalah 1, di mana tidak ditemukan
     adanya cacat pada perangkat lunak. Secara kenyataan, D
     akan lebih besar dari 0, tetapi nilai DRE masih dapat
     mendekati 1, jika E bertambah. Jika digunakan sebagai metrik
     yang memberikan indikator kemampuan memfilter aktifitas
     kontrol dan jaminan kualitas, maka DRE mendorong tim
     proyek perangkat lunak melembagakan teknik-teknik untuk
     menemukan         sebnyak    mungkin     kesalahan   sebelum
     pengiriman.
     DRE dapat juga digunakan dalam proyek untuk menilai
     kemampuan tim dalam menemukan kesalahan sebelum
     kesalahan dilewatkan ke aktifitas kerangka kerja atau ke
     tugas rekayasa perangkat lunak berikutnya.

Rangkuman




42
Buku Ajar Rekayasa Perangkat Lunak


Measure dan measurement dapat digunakan dengan baik
sebagai kata kerja atau kata benda. Dalam konteks RPL, measure
mengindikasikan kuantitatif dari luasan, jumlah, dimensi, kapasitas,
atau ukuran dari atribut sebuah proses atau produk. Measurement
adalah kegiatan menentukan sebuah measure (pengukuran).
IEEE Standard Glossary of software Engfineering Terms (IEEE 93)
mendefinisikan metrics sebagai “Ukuran kuantitatif dari tingkat
dimana sebuah sistem, komponen, atau proses memiliki atribut
tertentu“. Indikator adalah sebuah metrik atau kombinasi dari
metrik yang memberikan pengetahuan ke dalam proses
perangkat lunak, sebuah proyek perangkat lunak, atau produk itu
sendiri.
Metrik proyek mempunyai tujuan ganda. Pertama, metrik tersebut
digunakan untuk meminimalkan jadwal pengembangan dengan
melakukan penyesuaian yang diperlukan untuk menghindari
penundaan serta mengurangi masalah dan risiko potensial.
Kedua, metrik proyek dipakai untuk memperkirakan kualitas
produk pada basis yang berlaku dan bila dibutuhkan,
memodifikasi pendekatan teknis untuk meningkatkan kualitas.
Pengukuran langsung dari proses rekayasa perangkat lunak
menyangkut biaya dan usaha yang diaplikasikan. Pengukuran
langsung dari produk menyangkut deretan kode (LOC) yang
diproduksi, kecepatan eksekusi, ukuran memori dan cacat yang
dilaporkan pada sejumlah periode waktu. Pengukuran tidak
langsung dari produk menyangkut fungsionalitas, kualitas,
kompleksitas, efisiensi, reliabilitas, kemampuan pemeliharaan dan
banyak lagi kemampuan lain.

Latihan/Tugas/Test Mandiri
1.   Jelaskan apa yang dimaksud dengan pengukuran perangkat
     lunak !
2.   Mengapa pengukuran perangkat lunak diperlukan ?
3.   Jelaskan yang dimaksud dengan metrik perangkat lunak !
4.   Sebutkan dan jelaskan cara-cara pengukuran perangkat
     lunak !
5.   Carilah contoh kasus tentang pengukuran perangkat lunak,
     dan jelaskan teknik pengukurannya !




                                                                 43

Contenu connexe

Tendances

Jaminan Kualitas Perangkat Lunak
Jaminan Kualitas Perangkat LunakJaminan Kualitas Perangkat Lunak
Jaminan Kualitas Perangkat Lunak
Yunita Rainbow
 
Rpl 3-manajemen proyek pl
Rpl 3-manajemen proyek plRpl 3-manajemen proyek pl
Rpl 3-manajemen proyek pl
f' yagami
 
rekayasa perangkat lunak
rekayasa perangkat lunakrekayasa perangkat lunak
rekayasa perangkat lunak
Wandi Parlente
 
Rekayasa Perangkat Lunak software design fundamentals
Rekayasa Perangkat Lunak software design fundamentalsRekayasa Perangkat Lunak software design fundamentals
Rekayasa Perangkat Lunak software design fundamentals
Listyowatik (Yanie)
 
Analisa dan perancangan sis fo dgn pendekatan agile menurut panduan paus
Analisa dan perancangan sis fo dgn pendekatan agile menurut panduan pausAnalisa dan perancangan sis fo dgn pendekatan agile menurut panduan paus
Analisa dan perancangan sis fo dgn pendekatan agile menurut panduan paus
Stanley Karouw
 
PERANCANGAN PERANGKAT LUNAK
PERANCANGAN PERANGKAT LUNAKPERANCANGAN PERANGKAT LUNAK
PERANCANGAN PERANGKAT LUNAK
Dhika The'Lover
 
Project progress control
Project progress controlProject progress control
Project progress control
artha69
 
Rangkuman perkuliahan proyek management sistem informatika
Rangkuman perkuliahan proyek management sistem informatikaRangkuman perkuliahan proyek management sistem informatika
Rangkuman perkuliahan proyek management sistem informatika
HARISA MARDIANA
 
Tugas besar mkti (fix)
Tugas besar mkti (fix)Tugas besar mkti (fix)
Tugas besar mkti (fix)
artha69
 

Tendances (20)

Jaminan Kualitas Perangkat Lunak
Jaminan Kualitas Perangkat LunakJaminan Kualitas Perangkat Lunak
Jaminan Kualitas Perangkat Lunak
 
Modul rekayasa-perangkat-lunak
Modul rekayasa-perangkat-lunakModul rekayasa-perangkat-lunak
Modul rekayasa-perangkat-lunak
 
Mppl 1
Mppl 1Mppl 1
Mppl 1
 
Software quality assurance (sqa)
Software quality assurance (sqa)Software quality assurance (sqa)
Software quality assurance (sqa)
 
Ch 09
Ch 09Ch 09
Ch 09
 
Rpl 3-manajemen proyek pl
Rpl 3-manajemen proyek plRpl 3-manajemen proyek pl
Rpl 3-manajemen proyek pl
 
rekayasa perangkat lunak
rekayasa perangkat lunakrekayasa perangkat lunak
rekayasa perangkat lunak
 
Rekayasa Perangkat Lunak software design fundamentals
Rekayasa Perangkat Lunak software design fundamentalsRekayasa Perangkat Lunak software design fundamentals
Rekayasa Perangkat Lunak software design fundamentals
 
Arsitektur desain data pada RPL
Arsitektur desain data pada RPLArsitektur desain data pada RPL
Arsitektur desain data pada RPL
 
MPPL Chapter 2
MPPL Chapter 2MPPL Chapter 2
MPPL Chapter 2
 
Ch 11
Ch 11Ch 11
Ch 11
 
Ch 12
Ch 12Ch 12
Ch 12
 
Rekayasa Perangkat Lunak
Rekayasa Perangkat LunakRekayasa Perangkat Lunak
Rekayasa Perangkat Lunak
 
Tnd - Pengantar Manajemen Proyek Sistem Informasi - Temu 1
Tnd - Pengantar Manajemen Proyek Sistem Informasi - Temu 1Tnd - Pengantar Manajemen Proyek Sistem Informasi - Temu 1
Tnd - Pengantar Manajemen Proyek Sistem Informasi - Temu 1
 
Analisa dan perancangan sis fo dgn pendekatan agile menurut panduan paus
Analisa dan perancangan sis fo dgn pendekatan agile menurut panduan pausAnalisa dan perancangan sis fo dgn pendekatan agile menurut panduan paus
Analisa dan perancangan sis fo dgn pendekatan agile menurut panduan paus
 
PERANCANGAN PERANGKAT LUNAK
PERANCANGAN PERANGKAT LUNAKPERANCANGAN PERANGKAT LUNAK
PERANCANGAN PERANGKAT LUNAK
 
Project progress control
Project progress controlProject progress control
Project progress control
 
Rangkuman perkuliahan proyek management sistem informatika
Rangkuman perkuliahan proyek management sistem informatikaRangkuman perkuliahan proyek management sistem informatika
Rangkuman perkuliahan proyek management sistem informatika
 
Tugas besar mkti (fix)
Tugas besar mkti (fix)Tugas besar mkti (fix)
Tugas besar mkti (fix)
 
Gambar Aplikasi RVAC Jilid 1 (Audit Energi pada Bangunan)
Gambar Aplikasi RVAC Jilid 1 (Audit Energi pada Bangunan)Gambar Aplikasi RVAC Jilid 1 (Audit Energi pada Bangunan)
Gambar Aplikasi RVAC Jilid 1 (Audit Energi pada Bangunan)
 

Similaire à Buku ajar kecil 03

Resume software measurement
Resume software measurementResume software measurement
Resume software measurement
Erwan Nur Arief
 
Mengenai development quality plan
Mengenai development quality planMengenai development quality plan
Mengenai development quality plan
Dian Lukitasari
 
SIM 9. Afifah Luthfiah, Hapzi Ali, Metode SDLC. Universitas Mercubuana, 2018
SIM 9. Afifah Luthfiah, Hapzi Ali, Metode SDLC. Universitas Mercubuana, 2018SIM 9. Afifah Luthfiah, Hapzi Ali, Metode SDLC. Universitas Mercubuana, 2018
SIM 9. Afifah Luthfiah, Hapzi Ali, Metode SDLC. Universitas Mercubuana, 2018
Afifah Luthfiah
 
Kebutuhan perangkat lunak
Kebutuhan perangkat lunakKebutuhan perangkat lunak
Kebutuhan perangkat lunak
Ainul Yaqin
 
Rekayasa perangkat lunak
Rekayasa perangkat lunakRekayasa perangkat lunak
Rekayasa perangkat lunak
Wandi Parlente
 
Pertemuan ke 1 (perangkat lunak)
Pertemuan ke 1 (perangkat lunak)Pertemuan ke 1 (perangkat lunak)
Pertemuan ke 1 (perangkat lunak)
gleebelle
 

Similaire à Buku ajar kecil 03 (20)

Fazri m awrd
Fazri m awrdFazri m awrd
Fazri m awrd
 
Rpl upload #4
Rpl upload #4Rpl upload #4
Rpl upload #4
 
Apsi (modul 2)
Apsi  (modul 2)Apsi  (modul 2)
Apsi (modul 2)
 
Pemodelan perangkat lunak 1
Pemodelan perangkat lunak 1Pemodelan perangkat lunak 1
Pemodelan perangkat lunak 1
 
Rekayasa perangkat lunak
Rekayasa perangkat lunakRekayasa perangkat lunak
Rekayasa perangkat lunak
 
Bab 13
Bab 13Bab 13
Bab 13
 
Bab 13
Bab 13Bab 13
Bab 13
 
Rpl upload #3
Rpl upload #3Rpl upload #3
Rpl upload #3
 
Pemodelan perangkat lunak
Pemodelan perangkat lunakPemodelan perangkat lunak
Pemodelan perangkat lunak
 
Materi PPL.docx
Materi PPL.docxMateri PPL.docx
Materi PPL.docx
 
Resume software measurement
Resume software measurementResume software measurement
Resume software measurement
 
Rekayasa Perangkat Lunak - Model Pengembangan Sistem
Rekayasa Perangkat Lunak - Model Pengembangan SistemRekayasa Perangkat Lunak - Model Pengembangan Sistem
Rekayasa Perangkat Lunak - Model Pengembangan Sistem
 
Mengenai development quality plan
Mengenai development quality planMengenai development quality plan
Mengenai development quality plan
 
SIM 9. Afifah Luthfiah, Hapzi Ali, Metode SDLC. Universitas Mercubuana, 2018
SIM 9. Afifah Luthfiah, Hapzi Ali, Metode SDLC. Universitas Mercubuana, 2018SIM 9. Afifah Luthfiah, Hapzi Ali, Metode SDLC. Universitas Mercubuana, 2018
SIM 9. Afifah Luthfiah, Hapzi Ali, Metode SDLC. Universitas Mercubuana, 2018
 
Kebutuhan perangkat lunak
Kebutuhan perangkat lunakKebutuhan perangkat lunak
Kebutuhan perangkat lunak
 
Rekayasa perangkat lunak
Rekayasa perangkat lunakRekayasa perangkat lunak
Rekayasa perangkat lunak
 
Audit edp
Audit edpAudit edp
Audit edp
 
Development & quality plan
Development & quality planDevelopment & quality plan
Development & quality plan
 
Pertemuan ke 1 (perangkat lunak)
Pertemuan ke 1 (perangkat lunak)Pertemuan ke 1 (perangkat lunak)
Pertemuan ke 1 (perangkat lunak)
 
Proses rekayasa perangkat lunak
Proses rekayasa perangkat lunakProses rekayasa perangkat lunak
Proses rekayasa perangkat lunak
 

Plus de Ainul Yaqin

Plus de Ainul Yaqin (20)

Materi Kuliah Sistem Informasi 12 Audit Menggunakan Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 12 Audit Menggunakan Sistem Informasi.pptxMateri Kuliah Sistem Informasi 12 Audit Menggunakan Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 12 Audit Menggunakan Sistem Informasi.pptx
 
Materi Kuliah Sistem Informasi 11 Manajemen Proyek Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 11 Manajemen Proyek Sistem Informasi.pptxMateri Kuliah Sistem Informasi 11 Manajemen Proyek Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 11 Manajemen Proyek Sistem Informasi.pptx
 
Materi Kuliah Sistem Informasi 10 Pengembangan Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 10 Pengembangan Sistem Informasi.pptxMateri Kuliah Sistem Informasi 10 Pengembangan Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 10 Pengembangan Sistem Informasi.pptx
 
Materi Kuliah Sistem Informasi 09 Perencanaan Strategis Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 09 Perencanaan Strategis Sistem Informasi.pptxMateri Kuliah Sistem Informasi 09 Perencanaan Strategis Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 09 Perencanaan Strategis Sistem Informasi.pptx
 
Materi Kuliah Sistem Informasi 08 Kecerdasan dalam Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 08 Kecerdasan dalam Sistem Informasi.pptxMateri Kuliah Sistem Informasi 08 Kecerdasan dalam Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 08 Kecerdasan dalam Sistem Informasi.pptx
 
Materi Kuliah Sistem Informasi 07 Enterprise System.pptx
Materi Kuliah Sistem Informasi 07 Enterprise System.pptxMateri Kuliah Sistem Informasi 07 Enterprise System.pptx
Materi Kuliah Sistem Informasi 07 Enterprise System.pptx
 
Materi Kuliah Sistem Informasi 06 Arsitektur Infrastruktur dalam Sistem Infor...
Materi Kuliah Sistem Informasi 06 Arsitektur Infrastruktur dalam Sistem Infor...Materi Kuliah Sistem Informasi 06 Arsitektur Infrastruktur dalam Sistem Infor...
Materi Kuliah Sistem Informasi 06 Arsitektur Infrastruktur dalam Sistem Infor...
 
Materi Kuliah Sistem Informasi 05 Arsitektur Data dalam Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 05 Arsitektur Data dalam Sistem Informasi.pptxMateri Kuliah Sistem Informasi 05 Arsitektur Data dalam Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 05 Arsitektur Data dalam Sistem Informasi.pptx
 
Materi Kuliah Sistem Informasi 04 Teknologi dalam Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 04 Teknologi dalam Sistem Informasi.pptxMateri Kuliah Sistem Informasi 04 Teknologi dalam Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 04 Teknologi dalam Sistem Informasi.pptx
 
Materi Kuliah Sistem Informasi 03 Sistem Informasi dalam Organisasi.pptx
Materi Kuliah Sistem Informasi 03 Sistem Informasi dalam Organisasi.pptxMateri Kuliah Sistem Informasi 03 Sistem Informasi dalam Organisasi.pptx
Materi Kuliah Sistem Informasi 03 Sistem Informasi dalam Organisasi.pptx
 
Materi Kuliah Sistem Informasi 02 Pengantar Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 02 Pengantar Sistem Informasi.pptxMateri Kuliah Sistem Informasi 02 Pengantar Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 02 Pengantar Sistem Informasi.pptx
 
Materi Kuliah Sistem Informasi 01 Pendahuluan.pptx
Materi Kuliah Sistem Informasi 01 Pendahuluan.pptxMateri Kuliah Sistem Informasi 01 Pendahuluan.pptx
Materi Kuliah Sistem Informasi 01 Pendahuluan.pptx
 
Materi Kuliah Sistem Informasi 13 Tata Kelola Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 13 Tata Kelola Sistem Informasi.pptxMateri Kuliah Sistem Informasi 13 Tata Kelola Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 13 Tata Kelola Sistem Informasi.pptx
 
01. Pendahuluan
01. Pendahuluan01. Pendahuluan
01. Pendahuluan
 
12 Software Measurement
12 Software Measurement12 Software Measurement
12 Software Measurement
 
14 Software Engineering Economics
14 Software Engineering Economics14 Software Engineering Economics
14 Software Engineering Economics
 
13 Software Engineering Model and Methods
13 Software Engineering Model and Methods13 Software Engineering Model and Methods
13 Software Engineering Model and Methods
 
08 Software Testing
08 Software Testing08 Software Testing
08 Software Testing
 
04 Software Design Strategies and Methods
04 Software Design Strategies and Methods04 Software Design Strategies and Methods
04 Software Design Strategies and Methods
 
07 Software Construction Technology
07 Software Construction Technology07 Software Construction Technology
07 Software Construction Technology
 

Buku ajar kecil 03

  • 1. Buku Ajar Rekayasa Perangkat Lunak BAB 3 Metrik Proyek Perangkat Lunak Kompetensi Dasar : Mahasiswa memahami maksud dari metrik proyek perangkat lunak dan mampu menggunakan metrik tersebut. Pengukuran merupakan suatu hal yang pokok bagi disiplin perekayasaan (engineering), rekayasa perangkat lunakpun tidak terkecuali. Metrik perangkat lunak mengacu pada suatu jangkauan luas pengukuran perangkat lunak komputer. Pengukuran dapat diterapkan pada proses perangkat lunak guna mengembangkannya dengan dasar yang kontinyu. Pengukuran dapat digunakan di seluruh proyek perangkat lunak untuk membantu perhitungan, kontrol kualitas, perkiraan produktivitas dan kontrol proyek. Akhirnya, pengukuran dapat digunakan oleh perekayasa perangkat lunak untuk membantu memperkirakan kualitas produk kerja teknis serta untuk membantu mengambil keputusan taktis pada saat proyek sudah berjalan. Dalam konteks manajemen perangkat lunak, perhatian utama pada produktivitas dan metrik kualitas – pengukuran output perkembangan perangkat lunak sebagai sebuah fungsi usaha dan waktu yang diaplikasikan serta pengukuran “kesesuaian pemakaian” produk kerja yang dihasilkan. Untuk tujuan perencanaan dan perkiraan harus memperhatikan sejarah. 1. Pengukuran, metrik dan indikator. Meskipun bentuk measure (mengukur), measurement (pengukuran), dan metrik sering dipakai secara bergantian, namun penting untuk dicatat perbedaaan kecil yang ada diantara ketiganya. Measure dan measurement dapat digunakan dengan baik sebagai kata kerja atau kata benda. Dalam konteks RPL, measure mengindikasikan kuantitatif dari luasan, jumlah, dimensi, kapasitas, atau ukuran dari atribut sebuah proses atau produk. Measurement adalah kegiatan 23
  • 2. Buku Ajar Rekayasa Perangkat Lunak menentukan sebuah measure (pengukuran). IEEE Standard Glossary of Software Engineering Terms (IEEE 93) mendefinisikan metrics sebagai “Ukuran kuantitatif dari tingkat dimana sebuah sistem, komponen, atau proses memiliki atribut tertentu “. Metrik perangkat lunak menghubungkan pengukuran individu dengan banyak cara (seperti rata-rata jumlah kesalahan yang ditemukanper kajian atau jumlah rata-rata kesalahan yang ditemukan per person-hour yang dipakai pada kajian). RPL mengumpulkan pengukuran dan mengembangkan metrik sehingga diperoleh suatu indikator. Indikator adalah sebuah metrik atau kombinasi dari metrik yang memberikan pengetahuan ke dalam proses perangkat lunak, sebuah proyek perangkat lunak, atau produk itu sendiri. Indikator memberikan pengetahuan yang memungkinkan manajer proyek atau perekayasa perangkat lunak meneyesuaikan proses, proyek dan produk, untuk membuat semuanya menjadi lebih baik. 2. Metrik dalam proses dan domain proyek. Metrik harus dikumpulkan sehingga indikator proses dan produk dapat dipastikan. Indikator proses memungkinkan sebuah organisasi rekayasa perangkat lunak memperoleh pengetahuan tentang reliabilitas sebuah proses yang sedang berlangsung. Indikator proses memungkinkan manajer dan pelaksana memperkirakan apa yang harus dikerjakan dan yang tidak. Metrik proses dikumpulkan di seluruh proyek dan pada perkembangan proses perangkat lunak jangka panjang. Indikator proyek memungkinkan manajer proyek perangkat lunak : 1. memperkirakan status sebuah proyek yang sedang berlangsung. 2. menelusuri risiko-risiko potensial. 3. menemukan area masalah sebelum masalah menjadi semakin kritis. 4. menyesuaikan aliran kerja atau tugas-tugas. 5. mengevaluasi kemampuan tim proyek untuk mengontrol kualitas hasil kerja rekayasa perangkat lunak. 24
  • 3. Buku Ajar Rekayasa Perangkat Lunak Satu-satunya cara yang paling rasional untuk meningkatkan proses adalah dengan mengukur atribut tertentu dari proses, mengembangkan serangkaian metrik yang berarti berdasarkan atribut-atribut tersebut, dan kemudian menggunakan metrik itu untuk memberikan indikator yang akan membawa kepada sebuah strategi pengembangan. Gambar 3.1. Determinan untuk kualitas dan efektivitas organisasional perangkat lunak. Dalam gambar 3.1. proses berada di tengah-tengah sebuah segitiga yang menghubungkan tiga faktor yang sangat besar pengaruhnya terhadap kualitas pertangkat lunak dan unjuk kerja organisasional. Keterampilan dan motivasi yang diperlihatkan oleh manusia merupakan satu-satunya faktor yang paling berpengaruh pada kualitas dan unjuk kerja tim. Teknologi yang menghuni proses juga berpengaruh. Segitiga proses juga berada di dalam sebuah lingkaran yang menggambarkan kondisi lingkungan yang menyangkut lingkungan pengembangan, kondisi bisnis dan karakteristik pelanggan. Pengukuran reliabilitas proses perangkat lunak secara tidak langsung yaitu dengan mengambil serangkaian metrik berdasarkan keluaran yang dapat diambil oleh proses. Keluaran menyangkut pengukuran kesalahan yang ditemukan sebelum pelepasan perangkat lunak, cacat yang disampaikan dan dilaporkan oleh pemakai akhir, produk kerja yang dikirim, usaha manusia yang dilakukan, waktu kalender yang digunakan, konfirmasi jadwal, serta pengukuran yang lain. 25
  • 4. Buku Ajar Rekayasa Perangkat Lunak Dalam proses terdapat tipe data yang berbeda sehubungan dengan “privat dan publik”. Data-data tersebut juga harus bersifat privat bagi individu dan berfungsi sebagai indikator hanya untuk individu. Contoh metrik yang bersifat privat terhadap individu menyangkut :  Nilai cacat oleh individu.  Nilai cacat oleh modul.  Kesalahan yang ditemukan selama pengembangan. Metrik publik biasanya mengasimilasi informasi yang secara orisinal bersifat privat bagi individu dan tim. Nilai cacat tingkat proyek, usaha, waktu kalender dan data dikumpulkan dan dievaluasi dalam upaya menemukan indikator yang dapat mengembangkan unjuk kerja proses organisasional. Metrik proses perangkat lunak digunakan untuk tujuan strategis. Pengukuran proyek perangkat lunak bersifat taktis, yaitu bahwa metrik proyek dan indikator yang berasal dari pengukuran digunakan oleh manajer proyek dan tim perangkat lunak untuk mengadaptasi aliran kerja proyek dan aktivitas teknis. Aplikasi pertama dari metrik proyek pada sebagian besar proyek perangkat lunak terjadi selama perkiraan. Metrik yang dikumpulkan dari proyek yang terdahulu digunakan sebagai dasar untuk membuat perkiraan usaha dan durasi waktu untuk kerja perangkat lunak saat ini. Selagi proyek berjalan, pengukuran usaha dan waktu kalender yang digunakan dibandingkan dengan perkiraan awal dan jadwal proyek. Manajer menggunakan data tersebut untuk memonitor dan mengontrol kemajuan. Pada saat kerja teknis dimulai, metrik proyek mulai memiliki arti. Nilai produksi yang disajikan dalam bentuk halaman dokumentasi, jam kajian, titik-titik fungsi dan sederetan sumber yang disampaikan diukur dan kesalahan yang ditemukan selama masing-masing tugas kerja rekayasa perangkat lunak kemudian ditelusuri. Selagi perangkat lunak berjalan dari spesifikasi ke perancangan, metrik teknik dikumpulkan untuk memperkirakan kualitas desain serta memberikan indikator yang akan mempengaruhi pendekatan yang akna diambil untuk memunculkan kode dan modul serta pengujian integrasi. Metrik proyek mempunyai tujuan ganda. Pertama, metrik tersebut digunakan untuk meminimalkan jadwal 26
  • 5. Buku Ajar Rekayasa Perangkat Lunak pengembangan dengan melakukan penyesuaian yang diperlukan untuk menghindari penundaan serta mengurangi masalah dan risiko potensial. Kedua, metrik proyek dipakai untuk memperkirakan kualitas produk pada basis yang berlaku dan bila dibutuhkan, memodifikasi pendekatan teknis untuk meningkatkan kualitas. Pada saat kualitas meningkat, kesalahan menjadi minimal, dan selagi kesalahan semakin berkurang, jumlah kerja ulang yang dibutuhkan selama proyek berlangsung juga berkurang. Dengan demikian, pembiayaan proyek secara keseluruhan dapat berkurang. Model yang lain dari metrik proyek mengusulkan bahwa setiap proyek harus mengukur :  Input, yaitu pengukuran sumber daya seperti manusia, lingkungan yang dibutuhkan untuk melakukan pekerjaan.  Output, yaitu pengukuran kemampuan penyampaian atau produk kerja yang diciptakan selama proses rekayasa perangkat lunak.  Hasil, yaitu pengukuran yang menunjukkan efektivitas kemampuan penyampaian. Pada kenyataannya model ini dapat diterapkan, baik proses maupun pada proyek. Dalam konteks proyek, model dapat diterapkan secara rekursif pada saat masing-masing aktivitas kerangka kerja berjalan, sehingga output dari satu aktivitas menjadi input bagi aktivitas selanjutnya. Metrik hasil dapat digunakan untuk memberikan indikasi daya guna produk kerja selagi mereka mengalir dari satu aktivitas kerangka kerja ke aktivitas kerangka kerja selanjutnya. 3. Pengukuran perangkat lunak. Pengukuran langsung dari proses rekayasa perangkat lunak menyangkut biaya dan usaha yang diaplikasikan. Pengukuran langsung dari produk menyangkut deretan kode (LOC) yang diproduksi, kecepatan eksekusi, ukuran memori dan cacat yang dilaporkan pada sejumlah periode waktu. Pengukuran tidak langsung dari produk menyangkut fungsionalitas, kualitas, kompleksitas, efisiensi, reliabilitas, kemampuan pemeliharaan dan banyak lagi kemampuan lain. 3.1. Metrik size – oriented. Metrik perangkat lunak size oriented (berorientasi pada ukuran) ditarik dengan normalisasi kualitas dan atau 27
  • 6. Buku Ajar Rekayasa Perangkat Lunak pengukuran produktivitas dengan mempertimbangkan “ukuran” perangkat lunak yang dihasilkan. Bila sebuah organisasi memelihara rekaman-rekaman sederhana, sebuah tabel pengukuran size-oriented seperti ditunjukkan pada gambar 3.2. dapat diciptakan. Tabel tersebut mencantumkan daftar setiap proyek pengembangan perangkat lunak yang sudah diselesaikan pada tahun- tahun terakhir dan pengukuran yang sesuai untuk proyek tersebut. Gambar 3.2. Metrik size-oriented. Untuk mengembangkan metrik yang dapat diasimilasi dengan metrik yang sama dari proyek yang lain, kita memilih sederetan kode sebagai nilai normalisasi. Dari data yang belum sempurna yang ada pada tabel, dapat dikembangkan serangkaian metrik size – oriented yang sederhana untuk setiap proyek :  Kesalahan (error) per KLOC (kilo LOC).  $ per LOC.  Cacat (defect) per KLOC.  Halaman dokumentasi per KLOC. Sebagai tambahan, metrik menarik yang lain dapat dihitung :  Kesalahan / person – month.  LOC per person – month.  $ / halaman dokumentasi. 28
  • 7. Buku Ajar Rekayasa Perangkat Lunak 3.2. Metrik function – oriented. Metrik perangkat lunak function – oriented (berorientasi pada fungsi) menggunakan sebuah pengukuran fungsionalitas yang disampaikan oleh aplikasi sebagai suatu nilai normalisasi. Karena fungsionalitas tidak dapat diukur secara langsung, maka fungsionalitas harus ditarik secara tidak langsung dengan menggunakan pengukuran langsung yang lain. Metrik berorientasi fungsi pertama kali diusulkan oleh Albrecht yang mengusulkan sebuah pengukuran yang disebut function point. Gambar 3.3. Penghitungan metrik function point Function point ditarik dengan menggunakan sebuah hubungan empiris berdasarkan pengukuran langsung domain informasi perangkat lunak yang dapat dihitung serta perkiraan kompleksitas perangkat lunak. Function point dihitung dengan melengkapi tabel yang diperlihatkan pada gambar 3.3. lima karakteristik domain informasi ditentukan dan penghitungan diberikan di dalam lokasi tabel yang sesuai. Nilai domain informasi didefinisikan dengan cara sebagai berikut :  Jumlah input pemakai (External Input, EI). Setiap input pamakai yang memberikan data yang berorientasi pada aplikasi yang jelas pada perangkat lunak 29
  • 8. Buku Ajar Rekayasa Perangkat Lunak dihitung. Input ini harus dibedakan dari penelitian yang dihitung secara terpisah.  Jumlah output pemakai (External Output, EO). Setiap output pemakai yang memberikan informasi yang berorientasi pada aplikasi kepada pemakai dihitung. Pada konteks ini output mengacu pada laporan, layar, tampilan kesalahan dan sebaginya. Jenis data individual pada sebuah laporan tidak dihitung secara terpisah.  Jumlah penyelidikan pemakai (External Inquiry, EQ). Sebuah penyelidikan didefinisikan sebagai input on- line yang mengakibatkan munculnya beberapa respon perangkat lunak yang cepat dalam bentuk sebuah output on-line. Setiap penyelidikan yang jelas dihitung.  Jumlah file (Internal Logical Files, ILF). Setiap file master logika (yaitu pengelompokan data secara logis yang menjadi suatu bagian dari sebuah database yang besar atau sebuah file yang terpisah) dihitung.  Jumlah interface eksternal (External Interface Files, EIF). Semua interface yang dapat dibaca oleh mesin yang digunakan untuk memindahkan informasi ke sistem yang lain dihitung. Setelah komponen-komponen tersebut diklasifikasikan pada lima komponen utama, sebuah tingkatan rendah, sedang atau tinggi diberikan. Untuk transaksi (EI, EO, EQ) tingkatannya berdasarkan jumlah file yang diupdate atau direferensi (File Type Referenced, FTR) dan jumlah tipe elemen data (DET). Untuk file ILF dan EIF tingkatannya berdasarkan tipe elemen record (RET). Tipe elemen record adalah subgrup dari elemen data dalam ILF atau EIF yang dapat dikenali oleh user. Tipe elemen data adalah sesuatu yang dapat dikenali secara unik oleh user, nonrekursif field. Tabel-tabel berikut ini membantu dalam menentukan tingkatan proses. Tabel 3.1. Tabel jumlah input pemakai. 30
  • 9. Buku Ajar Rekayasa Perangkat Lunak Tabel 3.2. Tabel jumlah output pemakai dan jumlah penyelidikan pemakai. Tabel 3.3. Nilai transaksi. Seperti semua komponen, EQ dihitung dan dinilai. Pada dasarnya, EQ dihitung (rendah, sedang, tinggi) seperti EO, tetapi diberikan nilai seperti EI. Perhitungan berdasar pada jumlah DET dan FTR yang merupakan kombinasi input dan output. Jika FTR yang sama digunakan pada input dan output, maka hanya akan dihitung sekali. Untuk ILF dan EIF jumlah tipe elemen record dan jumlah tipe elemen data digunakan untuk menentukan tingkatan rendah, sedang, atau tinggi. Suatu tipe elemen record adalah subgrup dari elemen data yang dapat dikenali oleh user dengan ILF atau EIF. Suatu tipe elemen data adalah sesuatu yang unik dikenali oleh user, tidak ada field rekursif pada ILF maupun EIF. Tabel 3.4. Jumlah elemen data 31
  • 10. Buku Ajar Rekayasa Perangkat Lunak Tabel 3.5. Tingkatan untuk ILF dan EIF Sekali data tersebut dikumpulkan, maka sebuah nilai kompleksitas akan dihubungkan dengan masing-masing perhitungan. Organisasi yang menggunakan metode titik fungsi mengembangkan kriteria untuk menentukan apakah sebuah entri tertentu bersifat sederhana, rata- rata atau kompleks. Meskipun demikian perkiraan kompleksitas tetap bersifat subyektif. Untuk menghitung titik-titik fungsi dipakai hubungan sebagai berikut : FP = jumlah total x [ 0.65 + 0.01 x (Fi)] Dimana jumlah total adalah jumlah semua entri yang diperoleh dari gambar 3.3. Value Adjustment Factor (VAF) berdasarkan pada 14 karakteristik umum sistem (GSC) yang menghitung fungsionalitas umum dari aplikasi yang sedang dihitung. Setiap karakteristik mempunyai deskripsi yang berhubungan yang membantu menentukan derajat pengaruh karakteristik. Fi ( i = 1 s/d 14 ) adalah harga penyesuaian kompleksitas berdasarkan respon pada pertanyaan yang ditulis pada tabel 3.6. nilai konstanta pada persamaan dan faktor pembobotan yang diaplikasikan pada hitungan domain informasi ditentukan secara empiris. Tabel 3.6. Menghitung function points. 32
  • 11. Buku Ajar Rekayasa Perangkat Lunak Karakteristik No. Keterangan Sistem 1 Kemudahan Apakah sistem membutuhkan operasional backup dan recovery yang reliabel ? 2 Komunikasi data Apakah komunikasi data dibutuhkan ? 3 Pemrosesan data Apakah fungsi pemrosesan terdistribusi didistribusikan ? 4 Kinerja Apakah kinerja penting ? 5 Konfigurasi Apakah sistem akan berjalan pada lingkungan operasional yang sudah ada yang paling banyak digunakan ? 6 Data entry on-line Apakah sistem membutuhkan entry data on-line ? 7 Transaksi Apakah entry data on-line membutuhkan ada transaksi input terhadap layar atau operasi ganda ? 8 Update on-line Apakah file master diperbarui secara on-line ? 9 Efisiensi end-user Apakah input, output, file atau inquiry kompleks ? 10 Kompleksitas Apakah pemrosesan internal pemrosesan kompleks ? 11 Pemakaian Apakah kode didesain untuk kembali dapat dipakai kembali ? 12 Kemudahan Apakah desain melibatkan instalasi konversi dan instalasi ? 13 Situs ganda Apakah sistem didesain untuk instalasi ganda dalam situs untuk organisasi berbeda ? 14 Fasilitas Apakah aplikasi didesain untuk perubahan memfasilitasi perubahan dan mempermudah pemakai untuk menggunakannya ? Sekali titik fungsi telah dihitung, maka titik-titik itu digunakan dengan cara analog dengan LOC untuk 33
  • 12. Buku Ajar Rekayasa Perangkat Lunak menormalisasi pengukuran produktifitas, kualitas perangkat lunak, serta atribut-atribut yang lain :  Kesalahan per FP.  Cacat per FP.  $ per FP.  Halaman dokumentasi per FP.  FP per person – month. 3.3. Metrik function point yang diperluas. Metrik function point secara orisinal dirancang untuk diterapkan pada aplikasi informai bisnis yang ditekankan pada pengeluaran dimensi (kontrol) tingkah laku dan fungsional. Karena alasan tersebut, maka pengukuran function point tidak sesuai untuk beberapa sistem terapan dan rekayasa. Sejumlah ekstensi pada pengukuran function point dasar telah diusulkan untuk mengatasi situasi ini. Eksistensi function point yang disebut feature point merupakan superset dari pengukuran function point yang dapat diterapkan pada aplikasi perangkat lunak rekayasa dan sistem. Pengukuran feature point mengakomodasi aplikasi yang kompleksitas algoritmanya tinggi. Real-time, kontrol proses dan aplikasi perangkat lunak embedded, cenderung memiliki kompleksitas algoritma yang tinggi sehingga dapat dipertanggung jawabkan untuk feature point. Untuk menghitung feature point, harga domain informasi harus dihitung lagi dan dibobot. Sebagai tambahan, metrik feature point juga menghitung karakteristik perangkat lunak yang baru, yaitu algoritma. Algoritma didefinisikan sebagai masalah perhitungan yang terbatas yang dilakukan dalam sebuah program komputer yang spesifik. Ekstensi function point untuk sistem real – time dan produk rekayasa telah dikembangkan oleh Boeing. Pendekatan Boeing mengintegrasi dimensi data perangkat lunak dengan dimensi kontrol dan fungsional untuk memberikan sebuah pengukuran yang berorientasi pada fungsi, yang disebut 3D function point, yang dapat dipertanggung jawabkan untuk aplikasi yang menekankan kemampuan fungsi dan kontrol. Karakteristik dari semua dimensi perangkat lunak dihitung, dikuantisasi dan ditransformasi 34
  • 13. Buku Ajar Rekayasa Perangkat Lunak ke dalam sebuah pengukuran yang memberikan indikasi fungsionalitas yang disampaikan oleh perangkat lunak. Dimensi data dievaluasi dengan cara yang sama seperti dijelaskan pada subbab sebelumnya. Penghitungan data yang disimpan (struktur data program internal, seperti file) dan data eksternal (input, output, inquiry dan referensi eksternal) dipakai bersama dengan pengukuran kompleksitas untuk menarik penghitungan dimensi data. Dimensi fungsional diukur dengan mempertimbangkan jumlah operasi internal yang dibutuhkan untuk mentransformasi input ke data output. Karena tujuan komputasi adalah function point 3D, maka suatu transformasi dipandang sebagai sebuah deretan langkah pemrosesan yang dibatasi oleh sejumlah pernyataan semantik. Sebagai aturan umum, transformasi dilakukan dengan sebuah algoritma yang menghasilkan suatu perubahan dasar ke data input ketika dia diproses untuk menjadi data output. Langkah pemrosesan yang membutuhkan data dari sebuah file dan secara sederhana menempatkan data tersebut ke dalam memori program, tidak akan dipertimbangkan sebagai sebuah transformasi. Data itu sendiri tidak diubah dengan cara yang mendasar. Tingkat kompleksitas yang diberikan pada masing-masing transformasi merupakan fungsi dari sejumlah langkah proses dan sejumlah pernyataan semantik yang mengontrol langkah pemrosesan. Gambar 3.4. memberikan tuntunan bagi kompleksitas penugasan dalam dimensi fungsional. 35
  • 14. Buku Ajar Rekayasa Perangkat Lunak Gambar 3.4. Menentukan kompleksitas transformasi untuk function point 3D. Dimensi kontrol diukur dengan menghitung jumlah transisi antar pernyataan. Pernyataan mewakili beberapa mode tigkah laku yang dapat diobservasi secara eksternal. Transisi terjadi sebagai hasil dari kejadian yang menyebabkan perangkat lunak atau sistem mengubah mode tingkah lakunya. Contohnya telepon seluler berisi perangkat lunak yang mendukung fungsi-fungsi autodial. Untuk menghitung function point 3D, digunakan hubungan sebagai berikut : Indeks = I + O + Q + F + E + T + R Dimana I, O, Q, E, F, T dan R mewakili nilai bobot kompleksitas untuk elemen-elemen yang telah disebut- kan : input, output, inquiry, struktur data eksternal, file eksternal, transformasi dan transisi secara berurutan. Masing-masing nilai bobot kompleksitas dihitung dengan menggunakan hubungan sebagai berikut : Nilai bobot kompleksitas = Nil Wil + Nia Wia + Nih Wih Dimana N adalah jumlah kejadian elemen i untuk masing- masing tingkat kompleksitas dan W adalah bobot masing- masing. Perhitungan keseluruhan untuk function point 3D diperlihatkan pada gambar 3.5. 36
  • 15. Buku Ajar Rekayasa Perangkat Lunak Gambar 3.5. Menghitung indeks function point 3D. Perlu diperhatikan bahwa function point, feature point dan function point 3D menunjukkan hal yang sama yaitu fungsionalitas atau utility yang dikirim oleh perangkat lunak. Pada dasarnya, masing-masing pengukuran menghasilkan nilai yang sama hanya jika dimensi data dari sebuah aplikasi dipetimbangkan. Untuk sistem real- time yang lebih kompleks, jumlah feature point sering antara 20 % dan 35 % lebih tinggi daripada jumlah yang ditentukan dengan hanya menggunakan function point. 4. Menyatukan berbagai pendekatan metrik yang berbeda. Hubungan antara baris-baris kode dan function point tergantung pada bahasa pemrograman yang digunakan untuk mengimplementasikan perangkat lunak dan kualitas desain. Berikut ini pernyataan Albrecht dan Gaffney : “Thesis studi ini adalah jumlah fungsi yang disediakan oleh aplikasi (program) dapat diestimasi dari itemisasi komponen utama data yang digunakan atau disediakan oleh aplikasi. Lebih lanjut, estimasi fungsi harus dihubungkan dengan jumlah LOC yang akan dikembangkan dan dengan usaha pengembangan yang diperlukan. Tabel berikut ini memberikan estimasi kasar terhadap rata-rata jumlah baris kode yang diperlukan untuk membangun satu function point dalam berbagai bahasa pemrograman : Bahasa Pemrograman LOC / FP (rata-rata) 37
  • 16. Buku Ajar Rekayasa Perangkat Lunak Assembly 320 C 128 Cobol 105 Fortran 105 Pascal 90 ADA 70 Bahasa berorientasi objek 30 Bahasa generasi keempat 20 Generator kode 15 Spreadsheets 6 Bahasa Grafis 4 Ukuran LOC dan FP sering digunakan untuk mendapatkan metrik produktifitas. Hal itu menimbulkan adanya perdebatan mengenai pemakaian data tersebut. LOC / person-month atau FP / person-month dari suatu kelompok tidak harus dibandingkan dengan data serupa dari kelompok lainnya. Demikian juga penilaian kerja individual oleh manajer dengan menggunakan metrik tersebut tidak harus dilakukan, karena ada banyak faktor yang mempengaruhi produktivitas. Basili dan Zelkowitz menetapkan empat faktor penting yang mempengaruhi produktifitas perangkat lunak, yaitu : • Faktor manusia. Ukuran dan keahlian organisasi pengembangan. • Faktor masalah. Kompleksitas masalah yang dipecahkan dan jumlah perubahan dalam batasan dan persyaratan desain. • Faktor proses. Teknik analisis dan desain yang digunakan, bahasa dan peranti CASE yang tersedia, dan teknik-teknik kajian. • Faktor sumber daya. Ketersediaan peranti CASE dan sumber daya perangkat keras dan perangkat lunak. Jika salah satu faktor produktifitas tersebut di atas rata-rata (sangat baik) untuk suatu proyek yang ditentukan, maka produktifitas pengembangan perangkat lunak akan secara signifikan lebih tinggi daripada jika faktor yang sama berada di bawah rata-rata (tidak baik). Proses membuat baseline ditunjukkan pada gambar 3.6. idealnya data yang diperlukan untuk membaut baseline dikumpulkan secara terus-menerus. Oleh karena itu, kumpulan 38
  • 17. Buku Ajar Rekayasa Perangkat Lunak data membutuhkan investigasi historis terhadap proyek- proyek sebelumnya untuk menyusun kembali data yang diperlukan. Komputasi metrik dapat dilakukan setelah ukuran- ukuran dikumpulkan. Akhirnya metrik harus dievaluasi dan diterapkan selama estimasi, kerja teknis, kontrol proyek, dan peningkatan proses. Evaluasi metrik memfokuskan pada alasan-alasan mendasar untuk hasil yang diperoleh dan membuat sekumpulan indikator yang memandu proyek atau proses. Prose s RPL Proye Kumpulan ukuran k RPL data Produ Komputasi k RPL metrik numerik Evaluasi indikator metrik Gambar 3.6. Proses kumpulan metrik perangkat lunak. 5. Metrik untuk kualitas perangkat lunak. Tujuan rekayasa perangkat lunak adalah untuk menghasilkan sistem, aplikasi atau produk berkualitas tinggi. Untuk mencapai tujuan tersebut, perekayasa perangkat lunak harus menerapkan metode-metode yang efektif bersama-sama dengan peranti modern dalam konteks proses perangkat lunak yang matang. Sebagai tambahan, perekayasa perangkat lunak yang baik harus mengukur apakah kualitas tinggi terealisasi. Kualitas sistem, aplikasi, atau produk, merupakan persyaratan yang menjelaskan masalah, desain model solusi, kode yang membuat program dapat dieksekusi, dan pengujian yang menguji perangkat lunak untuk menemukan kesalahan. Perekayasa perangkat lunak yang baik menggunakan pengukuran untuk menilai kualitas model analisis dan desain, kode sumber, dan test case yang dibuat ketika perangkat lunak direkayasa. Untuk mencapai kualitas penilaian real-time, 39
  • 18. Buku Ajar Rekayasa Perangkat Lunak perekayasa harus menggunakan pengukuran teknis untuk mengevaluasi kualitas dalam cara-cara yang obyektif. Manajer proyek juga harus mengevaluasi kualitas saat melanjutkan proyek. Metrik-metrik privat yang dikumpulkan oleh para perekayasa perangkat lunak disatukan untuk mendapatkan hasil tingkat proyek. Meskipun ada banyak pengukuran kualitas yang dapat dikumpulkan, tujuan utama pada tingkat proyek adalah mengukur kesalahan dan cacat. Metrik yang diperoleh dari pengukuran tersebut memberikan adanya indikasi mengenai efektifitas jaminan kualitas perangkat lunak kelompok dan individual, serta tindakan- tindakan kontrol. Kesalahan yang ditemukan per jam kajian dan kesalahan yang ditemukan per jam pengujian memberikan wawasan mengenai kehebatan masing-masing aktivitas yang diimplikasikan oleh metrik. Data salah juga dapat digunakan untuk menghitung Defect Removal Efficiency untuk masing- masing aktifitas kerja proyek. McCall dan Cavano menetapkan sekumpulan faktor kualitas yang merupakan langkah pertama dalam mengembangkan metrik-metrik untuk kualitas perangkat lunak. Faktor-faktor tersebut menilai perangkat lunak dari tiga sudut pandang berbeda, yaitu operasi produk (menggunakannya), revisi produk (mengubahnya), transisi produk (memodifikasinya untuk bekerja dalam lingkungan yang berbeda). McCall dan Cavano juga menjelaskan hubungan antara faktor kualitas tersebut dan aspek-aspek lain dari proses rekayasa perangkat lunak : • Kerangka kerja memberikan suatu mekanisme untuk manajer proyek untuk mengenali kualitas-kualitas apa yang penting. Kualitas tersebut merupakan atribut perangkat lunak, sebagai tambahan untuk koreksi dan kinerja fungsionalnya, yang mempunyai implikasi daur hidup. • Kerangka kerja memberikan alat untuk menilai secara kuantitatif seberapa baik kemajuan pengembangan. Dalam hal ini, penilaian adalah bersifat relatif dengan tujuan-tujuan kualitas yang ditetapkan. • Kerangka kerja memberikan interaksi yang lebih dalam pada personil QA di sepanjang usaha pengembangan. 40
  • 19. Buku Ajar Rekayasa Perangkat Lunak • Personil jaminan kualitas dapat menggunakan indikasi buruknya kualitas untuk membantu mengidentifikasi standar-standar untuk diusahakan di masa mendatang. Gilb memberikan definisi dan ukuran terhadap pengukuran kualitas perangkat lunak : • Cara yang benar. Program harus beroperasi dengan benar atau program itu memberikan sedikit saja nilai bagi para pemakainya. Cara yang benar adalah tingkat di mana perangkat lunak melakukan fungsi yang ditentukan. Ukuran paling umum untuk cara yang benar adalah cacat per KLOC, di mana cacat didefinisikan sebagai kurangnya kesesuaian dengan persyaratan. • Maintanabilitas. Pemeliharaan perangkat lunak menjelaskan usaha dari pada sekedar aktivitas rekayasa perangkat lunak. Maintanabilitas adalah kemudahan di mana program dapat dikoreksi jika ditemukan kesalahan, diadaptasi jika lingkungannya berubah, atau diperkuat jika pelanggan menginginkan perubahan kebutuhan. Tidak ada cara untuk mengukur maintanabilitas secara langsung, karena itu harus digunakan pengukuran tidak langsung. Metrik time-oriented sederhana adalah rata- rata waktu untuk berubah (MTTC), waktu yang diperlukan untuk menganalisis perubahan yang diperlukan, desain modifikasi yang tepat, mengimplementasi perubahan, mengujinya, dan mendistribusikan perubahan kepada semua pemakai. • Integritas. Atribut ini mengukur kemampuan sistem untuk menahan serangan terhadap sekuritasnya. Serangan dapat dilakukan pada semua komponen perangkat lunak : program, data dan dokumen. Untuk mengukur integritas, ada dua atribut tambahan yang harus ditentukan : ancaman dan sekuritas. Ancaman adalah probabilitas bahwa serangan tipe tertentu akan terjadi dalam suatu periode waktu yang ditentukan. Sekuritas adalah probabilitas bahwa serangan tipe tertentu akan dipukul mundur. Integritas sistem kemudian dapat ditentukan sebagai : Integritas = ∑ [1 – ancaman x (1- sekuritas)] Di mana ancaman dan sekuritas adalah jumlah dari masing-masing jenis serangan. 41
  • 20. Buku Ajar Rekayasa Perangkat Lunak • Usabilitas. Usabilitas adalah usaha untuk mengukur user friendliness dan dapat diukur dalam empat karakteristik : o Keterampilan fisik atau intelektual untuk mempelajari sistem. o Waktu yang diperlukan untuk menjadi cukup efisien dalam menggunakan sistem. o Peningkatan bersih dalam produktifitas yang diukur ketika sistem digunakan oleh seseorang yang cukup efisien. o Penilaian subyektif dari sikap pemakai terhadap sistem. Metrik kualitas yang memberikan manfaat pada tingkat poyek dan tingkat proses adalah efisiensi penghapusan cacat (DRE). Pada dasarnya, DRE adalah mengukur kemampuan penyaringan jaminan kualitas dan aktifitas kontrol ketika keduanya diterapkan pada semua aktifitas kerangka kerja proses. Dengan mempertimbangkan proyek sebagai satu kesatuan, maka DRE didefinisikan sebagai berikut : DRE = E / (E + D) Dimana E = jumlah kesalahan yang ditemukan sebelum perangkat lunak dikirim kepada pemakai akhir D = jumlah cacat yang ditemukan setelah pengiriman. Nilai ideal untuk DRE adalah 1, di mana tidak ditemukan adanya cacat pada perangkat lunak. Secara kenyataan, D akan lebih besar dari 0, tetapi nilai DRE masih dapat mendekati 1, jika E bertambah. Jika digunakan sebagai metrik yang memberikan indikator kemampuan memfilter aktifitas kontrol dan jaminan kualitas, maka DRE mendorong tim proyek perangkat lunak melembagakan teknik-teknik untuk menemukan sebnyak mungkin kesalahan sebelum pengiriman. DRE dapat juga digunakan dalam proyek untuk menilai kemampuan tim dalam menemukan kesalahan sebelum kesalahan dilewatkan ke aktifitas kerangka kerja atau ke tugas rekayasa perangkat lunak berikutnya. Rangkuman 42
  • 21. Buku Ajar Rekayasa Perangkat Lunak Measure dan measurement dapat digunakan dengan baik sebagai kata kerja atau kata benda. Dalam konteks RPL, measure mengindikasikan kuantitatif dari luasan, jumlah, dimensi, kapasitas, atau ukuran dari atribut sebuah proses atau produk. Measurement adalah kegiatan menentukan sebuah measure (pengukuran). IEEE Standard Glossary of software Engfineering Terms (IEEE 93) mendefinisikan metrics sebagai “Ukuran kuantitatif dari tingkat dimana sebuah sistem, komponen, atau proses memiliki atribut tertentu“. Indikator adalah sebuah metrik atau kombinasi dari metrik yang memberikan pengetahuan ke dalam proses perangkat lunak, sebuah proyek perangkat lunak, atau produk itu sendiri. Metrik proyek mempunyai tujuan ganda. Pertama, metrik tersebut digunakan untuk meminimalkan jadwal pengembangan dengan melakukan penyesuaian yang diperlukan untuk menghindari penundaan serta mengurangi masalah dan risiko potensial. Kedua, metrik proyek dipakai untuk memperkirakan kualitas produk pada basis yang berlaku dan bila dibutuhkan, memodifikasi pendekatan teknis untuk meningkatkan kualitas. Pengukuran langsung dari proses rekayasa perangkat lunak menyangkut biaya dan usaha yang diaplikasikan. Pengukuran langsung dari produk menyangkut deretan kode (LOC) yang diproduksi, kecepatan eksekusi, ukuran memori dan cacat yang dilaporkan pada sejumlah periode waktu. Pengukuran tidak langsung dari produk menyangkut fungsionalitas, kualitas, kompleksitas, efisiensi, reliabilitas, kemampuan pemeliharaan dan banyak lagi kemampuan lain. Latihan/Tugas/Test Mandiri 1. Jelaskan apa yang dimaksud dengan pengukuran perangkat lunak ! 2. Mengapa pengukuran perangkat lunak diperlukan ? 3. Jelaskan yang dimaksud dengan metrik perangkat lunak ! 4. Sebutkan dan jelaskan cara-cara pengukuran perangkat lunak ! 5. Carilah contoh kasus tentang pengukuran perangkat lunak, dan jelaskan teknik pengukurannya ! 43