• Tidak ada hasil yang ditemukan

BAB II LANDASAN TEORI

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB II LANDASAN TEORI"

Copied!
27
0
0

Teks penuh

(1)

5

BAB II

LANDASAN TEORI

2.1. METRIK PERANGKAT LUNAK

Ukuran merupakan faktor utama untuk menentukan biaya, penjadwalan, dan usaha. Kegagalan dari perkiraan ukuran yang tepat akan mengakibatkan penggunaan biaya yang berlebih atau keterlambatan penyelesaian proyek.

Menurut Sommerville [2003], pengukuran terbagi atas dua, yaitu pengukuran (metrik) kontrol dan pengukuran (metrik) prediktor. Metrik kontrol biasanya dihubungkan dengan proses perangkat lunak, misalnya usaha dan waktu rata-rata yang dibutuhkan untuk memperbaiki cacat yang dilaporkan. Sedangkan metrik prediktor berhubungan dengan produk perangkat lunak, misalnya kompleksitas sikomatik modul, panjang rata-rata identifier pada program dan jumlah atribut dan operasi yang berhubungan dengan objek pada suatu rancangan.

Metrik juga dapat dipisahkan dalam dua kategori, yaitu metrik langsung dan metrik tidak langsung. Metrik langsung dalam proses rekayasa perangkat lunak berhubungan dengan biaya dan sumber daya yang diperlukan, misalnya: pengukuran jumlah baris kode, kecepatan eksekusi, ukuran memori, dan kesalahan yang ditemui dalam suatu periode waktu. Metrik tidak langsung dari suatu produk berhubungan dengan fungsionalitas, kualitas, kompleksitas, efisiensi, reliabilitas, dan lain sebagainya. Pengukuran secara langsung lebih mudah dilakukan, karena hasil dapat diperoleh secara langsung, sedangkan pengukuran tidak langsung lebih sulit dilakukan, karena harus melalui proses yang lebih kompleks.

Metrik dipisahkan menjadi metrik proses, proyek, dan produk. Metrik produk bersifat privat untuk individu dan sering dikombinasikan untuk membuat metrik proyek yang bersifat publik bagi tim pengembang. Metrik proyek kemudian dikonsolidasikan untuk membuat metrik proses yang publik untuk

(2)

6

seluruh organisasi atau perusahaan. Kesulitan yang biasanya dihadapi adalah pada saat melakukan kombinasi pada metrik-metrik yang diukur disebabkan karena sering terjadi perbedaan metrik antara individu satu dengan individu lainnya. Masalah tersebut biasa diatasi apabila dilakukan normalisasi pada proses pengukuran. Dengan adanya normalisasi maka dapat dilakukan perbandingan metrik pada cakupan yang lebih luas.

2.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 (misalnya paradigma, tugas-tugas rekayasa perangkat lunak, produk kerja, dan kejadian penting). Indikator proses memungkinkan manajer dan pelaksana memperkirakan apa yang harus dikerjakan dan yang tidak.

Indikator proyek memungkinkan manajer proyek perangkat lunak : a. Memperkirakan status sebuah proyek yang sedang berlangsung

b. Menelusuri risiko-risiko potensial

c. Menemukan area masalah sebelum masalah ”menjadi semakin kritis” d. Menyesuaikan aliran kerja atau tugas-tugas; dan

e. Mengevaluasi kemampuan tim proyek untuk mengontrol kualitas hasil kerja rekayasa perangkat lunak

2.2.1 Metrik Proses dan Peningkatan Perangkat Lunak

Menurut Paulish [1994], proses pada pengembangan perangkat lunak dipaparkan dalam gambar 2.1 sebagai berikut:

(3)

7

Gambar 2.1 Lingkungan pengembangan perangkat lunak

(Sumber:http://www.saujana-ti.blogspot.com)

dari gambar, diperoleh bahwa proses berada di tengah-tengah segitiga yang terhubung pada tiga faktor utama, yaitu: sumber daya manusia, kompleksitas produk, dan perkembangan teknologi. Dari ketiga faktor tersebut yang paling berpengaruh dalam hal kualitas dan performa proses adalah sumber daya manusia. Segitiga proses terdapat di dalam sebuah lingkaran dari kondisi lingkungan dari proses yang sedang berjalan, yang terdiri dari lingkungan pengembangan sistem, kondisi bisnis (misalnya: deadline, aturan bisnis), dan karakteristik pelanggan atau pengguna (misalnya: kemudahan komunikasi).

Efisiensi dari suatu proses dapat diukur secara tidak langsung dengan cara menentukan sekumpulan metrik berdasarkan kesimpulan yang dapat diambil dari suatu proses. Kesimpulan dapat diambil dari perhitungan kesalahan-kesalahan yang belum dapat diatasi sebelum perangkat lunak diterbitkan maupun kesalahan yang dilaporkan oleh pengguna secara langsung. Kesimpulan juga dapat diambil dari ukuran produktifitas pekerjaan, tenaga kerja yang digunakan, waktu yang dihabiskan, kedisiplinan jadual, dan ukuran-ukuran lain yang lebih spesifik.

Grady [1992] berpendapat bahwa terdapat penggunaan privat dan publik untuk data-data proses yang diperoleh. Beberapa metrik proses bisa bersifat privat untuk tim dalam proyek, namun bisa bersifat publik untuk seluruh anggota tim.

(4)

8

Gambar 2.2 Grafik tulang ikan analisa proses pengembangan perangkat lunak

(Sumber:http://www.saujana-ti.blogspot.com)

Untuk memudahkan suatu organisasi dalam melakukan analisis proses, dibuat suatu pendekatan yang disebut dengan Statistical Perangkat lunak Process Improvement (SSPI). SSPI menggunakan analisis kesalahan yang terdapat pada perangkat lunak untuk mengumpulkan informasi mengenai semua kesalahan dan kekurangan yang dapat terjadi pada aplikasi atau sistem. Analisis kesalahan dilakukan pada hal-hal berikut:

1. Semua kesalahan dan kekurangan yang dikategorikan berdasarkan sumber dari kesalahan

2. Pencatatan biaya untuk memperbaiki tiap kesalahan

3. Jumlah kesalahan dan kekurangan pada tiap kategori dijumlahkan dan diurutkan mulai dari yang paling banyak sampai yang paling sedikit

4. Semua biaya dari kesalahan dan kekurangan dari tiap kategori dihitung

5. Data resultan dianalisa untuk menutupi kategori-kategori yang memerlukan biaya paling besar

6. Perencanaan yang cermat dibuat untuk melakukan perubahan pada proses dengan mengurangi frekuensi kesalahan dan kekurangan yang paling banyak menghabiskan biaya.

Kumpulan dari metrik proses menghasilkan sebuah diagram „tulang ikan‟ seperti pada gambar 2.2. Diagram yang lengkap dapat digunakan oleh organisasi perangkat lunak dalam melakukan modifikasi proses untuk mengurangi frekuensi kesalahan.

(5)

9 2.2.2 Metrik Proyek

Metrik yang dikumpulkan dari proyek terdahulu digunakan sebagai dasar yang dari sana perkiraan usaha dan durasi waktu dibuat untuk kerja perangkat lunak saat ini. Selagi sebuah proyek berjalan, pengukuran usaha dan waktu kalender yang digunakan dibandingkan dengan perkiraan awal (dan jadwal proyek).

Nilai produksi yang disajikan dalam bentuk halaman dokumentasi, jam kajian, titik-titik fungsi, dan deretan sumber yang disampaikan diukur serta kesalahan yang ditemukan selama masing-masing tugas kerja rekayasa perangkat lunak kemudian ditelusuri.

Metrik proyek mempunyai tujuan ganda. Pertama, metrik tersebut digunakan untuk meminimalkan jadwal pengembangan dengan melakukan penyesuaian yang diperlukan untuk menghindar 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.

Model lain dari metrik proyek mengusulkan bahwa setiap proyek seharusnya mengukur :

a. Masukan (pengukuran sumber daya seperti manusia, lingkungan yang dibutuhkan untuk melakukan pekerjaan).

b. Keluaran (pengukuran kemampuan penyampaian atau produk kerja yang diciptakan selama proses rekayasa perangkat lunak).

c. Hasil (pengukuran yang menunjukkan efektivitas kemampuan penyampaian).

2.3 MENGIMPLEMENTASIKAN METRIK PADA PERANGKAT LUNAK

Implementasi metrik pada perangkat lunak berkaitan erat dengan estimasi usaha dan biaya kegiatan proyek perangkat lunak. Produktifitas pada sistem dapat diukur dengan menghitung jumlah satuan yang dihasilkan dan membagi nilai ini

(6)

10

dengan jumlah orang-jam yang dibutuhkan untuk menghasilkannya. Estimasi produktifitas biasanya berdasar atas pengukuran beberapa atribut perangkat lunak dan membaginya dengan usaha total yang dibutuhkan untuk pengembangan. Ada dua jenis pengukuran yang telah dipakai:

a. Metrik yang berhubungan dengan ukuran.

Pengukuran ini berhubungan dengan ukuran output dari suatu kegiatan. Pengukuran yang berhubungan dengan ukuran yang paling umum adalah jumlah baris kode sumber yang diserahkan. Pengukuran lain yang dapat digunakan adalah jumlah instruksi kode objek yang diserahkan atau jumlah halaman dokumentasi sistem.

b. Metrik yang berhubungan dengan fungsi.

Pengukuran ini berhubungan dengan fungsionalitas menyeluruh dari perangkat lunak yang diserahkan. Produktifitas dinyatakan dalam jumlah fungsionalitas yang berguna dalam waktu tertentu. Poin fungsi dan poin objek merupakan pengukuran yang paling dikenal dari jenis ini.

Estimasi ukuran perangkat lunak merupakan suatu aktifitas yang komplek dan sukar berdasarkan pada beberapa alasan seperti kemampuan programmer, faktor lingkungan dan sebagainya. Tetapi karena tindakan ini harus dilakukan dan untuk mendapatkannya dengan mengukur ukuran proyek menggunakan ukuran seperti jumlah baris program (Source lines of code/SLOC) dan Function Points. 2.3.1 Pengukuran Yang Berhubungan Dengan Ukuran

Pengukuran yang berhubungan dengan ukuran (Metric Size Oriented) adalah pengukuran dengan normalisasi kualitas dan produktifitas atau mempertimbangkan ukuran perangkat lunak yang dihasilkan. Metric size oriented dilakukan dengan menghitung LOC (Line of Code) dari baris kode suatu perangkat lunak. Pada pengembangan, pengukuran ini juga dapat mengukur:

a. Kesalahan per KLOC (Kilo Line Of Code) b. Biaya per LOC

c. Cacat per LOC

d. Halaman dokumentasi per LOC e. Kesalahan perorang perbulan

(7)

11 f. LOC perorang perbulan

g. Biaya perhalaman dokumentasi.

Menurut Jones [Pressman,2001], LOC merupakan ukuran yang kurang akurat dan merupakan sebuah topik yang menimbulkan perdebatan selama bertahun-tahun, dipandang sebagai sebuah ukuran untuk mengestimasi biaya dan waktu, tidak dapat dipastikan bahwa dua program yang mempunyai LOC sama akan membutuhkan waktu implementasi yang sama walaupun keduanya diimplementasikan dengan kondisi pemrograman yang standar. Meskipun metode ini kurang akurat dan merupakan metodologi yang belum diterima secara luas, tetapi metrik dengan orientasi ukuran ini merupakan kunci pengukuran dan banyak estimasi perangkat lunak yang menggunakan model ini.

LOC pengukurannya didasarkan pada bahasa pemrograman tertentu, oleh karena itu muncul banyak masalah dalam membuat standar pengukuran dengan teknik LOC. Ukuran lain yang ada untuk mengukur besaran perangkat lunak adalah ukuran yang berorientasi fungsi dan ukuran yang berorientasi objek. Metode ini merupakan metode yang lebih konsisten dan diterima secara luas.

2.3.2 Pengukuran yang Berhubungan dengan Function Point

Pengukuran yang berhubungan dengan fungsi (Metric Function Oriented) adalah pengukuran fungsionalitas yang disampaikan oleh aplikasi sebagai suatu nilai normalisasi. Metrik berorientasi fungsi diusulkan oleh Albrecth pada tahun 1979, yang menyarankan pengukuran yang disebut Function Point Analisys (FPA). FPA tidak bergantung pada bahasa sehingga produktifitas pada bahasa pemrograman yang berbeda dapat dibandingkan. Produktifitas dinyatakan sebagai poin fungsi yang dihasilkan per orang-bulan. FPA dibias menuju sistem pemrosesan data yang didominasi oleh operasi masukan dan keluaran. Metode ini sendiri terdiri dari banyak varian. Varian terdapat pada langkah/tahapan yang ada maupun pada isi dari tiap tahapan. Varian-varian ini timbul karena metode ini dapat diubah sesuai dengan kebijakan perusahaan pengembang perangkat lunak. Namun apapun varian yang digunakan oleh pengembang, hendaknya digunakan

(8)

12

dengan konsisten agar tercipta komparasi yang benar antara perangkat lunak-perangkat lunak yang dinilai.

Metode dalam metrik ini berdasarkan publikasi varian yang populer seperti Gramus dan Herron, IEEE, Caldiera [Pressman, 2002] yang menghasilkan manual penggunaan FPA seperti IFPUG3, IFPUG4 dan Mark II. Tahapan-tahapan yang ada dalam menentukan FPA adalah sebagai berikut :

Langkah 1 : Menghitung Crude Function Points (CFP)

Jumlah dari komponen fungsional sistem pertama kali diidentifikasi dan dilanjutkan dengan mengevaluasi kuantitasi bobot kerumitan dari tiap komponen tersebut. Pembobotan tersebut kemudian dijumlahkan dan menjadi angka CFP. Menurut David Longstreet perhitungan CFP melibatkan 5 tipe komponen sistem perangkat lunak berikut :

a. External Inputs (EI)

Merupakan proses dasar dimana data melewati batasan dari luar ke dalam aplikasi. Data ini dapat berasal dari data input pada layar atau aplikasi lain. Data tersebut dapat digunakan untuk memelihara satu atau lebih Internal Logical Files (ILF). Data dapat berupa informasi kontrol atau bisnis. Jika data berupa informasi kontrol maka data tersebut tidak harus mengubah ILF.

Tabel 2.1 Matriks Kompleksitas FPA untuk EI (Sumber: http://www.softwaremetrics.com)

FTR DET

1-4 5-15 16 atau lebih

0-1 Low Low Average

2 Low Average High

3 atau lebih Average High High

b. External Outputs (EO)

Merupakan proses dasar dimana data dikirim melewati batasan dari dalam ke luar. Sebagai tambahan, EO dapat mengubah ILF. Data dapat berupa suatu laporan atau file yang dikirim ke aplikasi lainnya. Laporan dan file ini dibuat dari satu ILF atau lebih dan juga dari External Internal File (EIF).

(9)

13

Tabel 2.2 Matriks Kompleksitas FPA untuk EO (Sumber: http://www.softwaremetrics.com)

FTR DET

1-5 6-19 20 atau lebih

0-1 Low Low Average

2-3 Low Average High

4 atau lebih Average High High

c. External Inquiry (EQ)

Merupakan proses dasar dengan komponen masukan dan keluaran yang menghasilkan data retrival dari satu atau lebih ILF dan EIF. Proses masukan tidak mengubah ILF atau EIF, dan keluaran tidak memuat data asal.

Tabel 2.3 Matriks Kompleksitas FPA untuk EQ (Sumber: http://www.softwaremetrics.com)

FTR DET

1-5 6-19 20 atau lebih

0-1 Low Low Average

2-3 Low Average High

4 atau lebih Average High High

d. Internal Logical Files (ILF)

Merupakan kelompok yang dapat diidentifikasikan oleh pengguna berhubungan dengan data yang berada di ruang lingkup aplikasi dan dipelihara melalui EI. ILF mempunyai beberapa struktur logika dan tersimpan dalam file.

Tabel 2.4 Matriks Kompleksitas FPA untuk ILF (Sumber: http://www.softwaremetrics.com)

RET DET

1-19 20-50 51 atau lebih

1 Low Low Average

2-5 Low Average High

6 atau lebih Average High High

(10)

14 e. External Interface Files (EIF)

Merupakan kelompok yang diidentifikasi pengguna berhubungan dengan data yang digunakan hanya sebagai referensi. Data sepenuhnya berada di luar ruang lingkup aplikasi dan dipelihara oleh aplikasi lain. EIF merupakan Internal Logical Files bagi aplikasi lain.

Tabel 2.5 Matriks Kompleksitas FPA untuk EIF (Sumber: http://www.softwaremetrics.com)

RET DET

1-19 20-50 51 atau lebih

1 Low Low Average

2-5 Low Average High

6 atau lebih Average High High

Dalam pengelompokan tipe komponen harus dapat mengidentifikasi nilai RET, FTR dan DET pada sebuah aplikasi.

- Record Element Type (RET) diketahui pengguna sebagai sub kelompok elemen data dari ILF dan EIF.

- File Type Referenced (FTR) merupakan tipe file yang berasal dari transaksi dalam suatu aplikasi.FTR dapat berupa ILF atau EIF.

- Data Element Type (DET) merupakan elemen data yang bersifat unik, tidak rekursif (berulang) serta dinamis.

Kemudian diberikan faktor bobot pada tiap komponen di atas berdasarkan kompleksitasnya. Tabel 2.6 di bawah ini merupakan contoh blanko pembobotan tersebut.

Tabel 2.6 Blanko Pembobotan

(Sumber: http://www.softwaremetrics.com) Komponen

Sistem Perangkat

lunak

Level Kompleksitas Total

CFP

Sederhana Menengah Kompleks

Count Faktor Bobot

Point Count Faktor Bobot

Point Count Faktor Bobot

Point

A B C= D E F= G H I= J=

(11)

15

A+B DxE GxH C+F+I

Input 3 4 6 Output 4 5 7 Quey Online 3 4 6 File Logic 7 10 15 Interface Eksternal 5 7 10 Total CFP

Langkah 2 : Menghitung faktor pengubah kompleksitas relatif/Relative Complexity Adjustment Factor (RCAF).

RCAF berfungsi untuk menghitung kesimpulan kompleksitas dari sistem perangkat lunak dari beberapa subyek karakteristik. Penilaian berskala 0 sampai 5 diberikan pada tiap subyek yang paling berpengaruh terhadap usaha pengembangan yang dibutuhkan.

Blanko penilaian yang diusulkan penulis diberikan seperti Tabel 2.7

Tabel 2.7 Blanko penghitungan RCAF (Sumber: http://www.softwaremetrics.com)

No Subyek Nilai

1 Tingkat kompleksitas kehandalan backup/recovery 0 1 2 3 4 5 2 Tingkat kompleksitas komunikasi data 0 1 2 3 4 5 3 Tingkat kompleksitas pemrosesan terdistribusi 0 1 2 3 4 5 4 Tingkat kompleksitas kebutuhan akan kinerja 0 1 2 3 4 5 5 Tingkat kebutuhan lingkungan operasional 0 1 2 3 4 5 6 Tingkat kebutuhan pengetahuan pengembang 0 1 2 3 4 5 7 Tingkat kompleksitas updating file master 0 1 2 3 4 5 8 Tingkat kompleksitas instalasi 0 1 2 3 4 5 9 Tingkat kompleksitas aplikasi masukan, keluaran,

query online dan file

0 1 2 3 4 5

10 Tingkat kompleksitas pemrosesan data 0 1 2 3 4 5 11 Tingkat ketidakmungkinan penggunaan kembali dari

kode (reuse)

0 1 2 3 4 5

12 Tingkat variasi organisasi pelanggan 0 1 2 3 4 5

(12)

16

13 Tingkat kemungkinan perubahan/fleksibilitas 0 1 2 3 4 5 14 Tingkat kebutuhan kemudahan penggunaan 0 1 2 3 4 5

Total=RCAF

Keterangan bobot nilai: 0 = Tidak berpengaruh 1 = Insidental 2 = Moderat 3 = Rata - rata 4 = Signifikan 5 = Esensial Langkah 3 : Menghitung Function Point Analisys (FPA)

Nilai function point untuk sistem perangkat lunak tersebut kemudian dihitung berdasarkan hasil dari tahap 1 dan 2 yang dimasukkan ke dalam formula

FP = CFP x (0.65 + 0.01 x RCAF) (2.1)

2.4 ESTIMASI PROYEK PERANGKAT LUNAK

Estimasi biaya dan tenaga sukar untuk menjadi sebuah ilmu pasti. Banyak faktor seperti manusia, teknis, lingkungan, atau politik, yang dapat mempengaruhi besarnya biaya dan tenaga yang diperlukan untuk mengembangkan perangkat lunak. Bagaimanapun juga, estimasi proyek perangkat lunak dapat ditransformasikan dari sesuatu yang abstrak menjadi suatu urutan langkah langkah sistematis yang menghasilkan perkiraan-perkiraan dengan tingkat resiko yang dapat diterima. Ada beberapa cara yang dapat digunakan untuk melakukan perkiraan proyek:

1. Perkiraan keterlambatan suatu proyek dapat diselesaikan

2. Perkiraan berdasarkan proyek serupa yang telah selesai dikerjakan

3. Menggunakan teknik dekomposisi sederhana untuk membuat suatu kisaran biaya dan tenaga

4. Menggunakan satu atau lebih model empiris untuk perkiraan biaya dan tenaga Teknik yang disarankan oleh para ahli di bidang perangkat lunak adalah dengan menggunakan kombinasi antara teknik dekomposisi dan model empiris. Teknik dekomposisi menggunakan pendekatan dengan cara membagi suatu

(13)

17

proyek ke dalam beberapa fungsi mayor yang berhubungan dengan aktivitas rekayasa perangkat lunak. Model estimasi empiris dapat digunakan sebagai pelengkap bagi teknik dekomposisi.

2.4.1 Estimasi Berbasis Masalah

Estimasi berbasis LOC dan FP memiliki teknik yang unik. Keduanya memiliki karakteristik sendiri. Perencana proyek memulai dengan kumpulan pernyataan yang berisi kerangka dan batasan-batasan dari perangkat lunak dan dari pernyataan-pernyataan tersebut kemudian mencoba untuk melakukan dekomposisi perangkat lunak ke dalam banyak fungsi permasalahan (problem function) dan melakukan estimasi variabel-variabel (LOC dan FP) pada tiap fungsi permasalahan. Sebagai alternatif, perencana proyek dapat memilih komponen untuk menentukan ukuran, seperti kelas obyek, perubahan, atau proses bisnis yang terpengaruh.

Metrik produktifitas (misalnya: LOC/pm atau FP/pm9) diaplikasikan ke dalam variabel estimasi. Akronim pm digunakan untuk menyatakan satuan person-month (orang-bulan). Metrik kemudian dikombinasikan untuk memperoleh estimasi dari keseluruhan proyek. Dengan menggunakan data dari proyek di masa lalu, perencana proyek dapat membagi nilai perkiraan ke dalam nilai ukuran (S), yang dihasilkan dari rata-rata antara keadaan optimis (Sopt), mendekati (Sm), dan pesimis (Spess), seperti contoh dalam persamaan (2-2) berikut ini:

S = (Sopt + 4Sm + Spess) / 6 (2-2)

2.5 MODEL ESTIMASI EMPIRIS

Model estimasi perangkat lunak menggunakan formula yang diperoleh secara empiris untuk memperkirakan tenaga sebagai sebuah fungsi dari LOC atau FP. Data empiris yang paling banyak mendukung dalam model-model estimasi diperoleh dari sampel proyek yang jumlahnya terbatas. Dengan alasan ini, maka tidak ada model estimasi yang cocok untuk semua lingkungan pengembangan perangkat lunak. Maka dari itu, penerapan hasil yang diperoleh dari model-model

(14)

18

yang sudah disediakan harus digunakan secara bijaksana sesuai dengan keadaan lingkungan masing-masing pengembang.

2.5.1 Struktur Model-Model Estimasi

Model estimasi diperoleh melalui analisis regresi pada data yang diperoleh pada proyek-proyek di masa lalu. Keseluruhan struktur dari beberapa model mengambil dari persamaan yang dipaparkan oleh Matson [Matson, 1994]:

E = A + B x (ev)C (2-3)

di mana E adalah effort dalam orang-bulan, dan A, B, C adalah konstanta yang diperoleh secara empiris. Dalam perkembangannya persamaan tersebut dikembangkan sesuai dengan proyek yang dikerjakan oleh masing-masing pengembang perangkat lunak. Perbedaan persamaan yang digunakan oleh masing-masing pengembang dikarenakan persamaan tersebut harus dikalibrasi terlebih dahulu, sesuai dengan kondisi maupun kebutuhan.

Di antara berbagai model perkiraan yang berorientasi pada LOC yang diusulkan dalam literatur ini adalah :

E = 5,2 x (KLOC)0,91 Walston-felix Model (2.4)

E = 5,5 + 0,73 x (KLOC)1,16 Baily-Basili Model (2.5) E = 3,2 x (KLOC)1,05 Model sederhana Boehm (2.6) E = 5,288 x (KLOC)1,047 Dotu Model untuk KLOC > 9 (2.7) Model-model orientasi FP juga telah diusulkan, yaitu :

E = -13,39 + 0,0545 FP Albercht dan Gaffney Model (2.8) E = 60,62 x 7,728 x 10-8FP3 Kemerer Model (2.9) E = 585,7 + 15,12 FP Matson, Barnett, dan Mellichamp (2.10)

2.6 EVALUASI BERDASARKAN INTERAKSI MANUSIA DAN KOMPUTER

Menurut Shneiderman (2010), untuk menentukan seberapa efektif dan efisien aplikasi estimasi perangkat lunak yang telah dirancang maka evaluasi juga dilakukan berdasarkan pada delapan aturan emas perancangan interface, yaitu:

(15)

19 1. Konsistensi

Dalam merancang tampilan layar aplikasi digunakan warna, jenis huruf dan tata letak yang konsisten.

2. Memungkinkan penggunaan shortcut untuk frequent user

Tersedianya link-link yang merupakan shortcut bagi pengguna seperti yang terdapat pada halaman proyek.

3. Adanya umpan balik yang informatif

Apabila pengguna selesai melakukan registrasi maka akan muncul layar pemberitahuan bahwa registrasi telah berhasil.

4. Adanya dialog untuk keadaan akhir

Apabila pengguna telah selesai melakukan estimasi maka akan muncul layar hasil estimasi yang berisi informasi yang telah diinputkan beserta hasil akhir estimasi yang didapat.

5. Memberikan pencegahan dan penanganan kesalahan yang sederhana

Pada saat pengguna melakukan login dan memasukkan username dan password yang salah maka akan muncul pesan kesalahan agar pengguna dapat memperbaiki username dan password tersebut.

6. Memberikan pembalikan aksi yang mudah

Dalam melakukan estimasi, jika ingin kembali ke layar sebelumnya terdapat tombol “Kembali” untuk memudahkan pengguna ke layar sebelumnya atau tombol “Batal” untuk membatalkan aksi yang sedang dilakukan.

7. Mendukung internal locus of control Pengguna dapat mengubah password. 8. Mengurangi beban ingatan jangka pendek

Aplikasi estimasi perangkat lunak dirancang dengan tampilan sederhana dan menggunakan perintah yang mudah digunakan sehingga memudahkan pengguna dan tidak membebani ingatan jangka pendek pengguna.

2.7 UNIFIED MODELLING LANGUAGE (UML)

UML adalah graphical language (bahasa pemodelan) untuk memvisualisasikan, menspesifikasikan, membangun dan mendokumentasikan

(16)

20

artifak dari sebuah sistem perangkat lunak. UML memberikan cara standar untuk menuliskan blueprint sistem, termasuk hal-hal konseptual seperti bisnis proses dan fungsi sistem juga hal-hal konkrit seperti programming language statement, skema database, dan komponen software yang reusable (Grady, 1992).

Dalam pemodelan UML ini akan digunakan beberapa diagram untuk menggambarkan requirement fungsional, struktur statis sistem, dan perilaku sistem. Untuk menggambarkan requirement fungsional digunakan use case diagram. Penggambaran struktur sistem ditunjukkan dengan class diagram, component diagram, dan package diagram. Perilaku sistem digambarkan dengan activity diagram dan sequence diagram.

Berikut ini penjelasan singkat mengenai diagram-diagram yang digunakan dalam dokumen ini (Larman, 2005):

Use Case Diagram : menunjukkan fungsionalitas yang disediakan sistem dengan menunjukkan actor, goal yang dijelaskan dalam use case, dan hubungan antara use case. Contoh Use Case Diagram dapat dilihat pada gambar 2.3.

Gambar 2.3 Use Case Diagram (Larman, 2005)

uc Use Case Model

system Actor1 Actor2 Use Case1 Use Case2 Actor3

Simbol-simbol yang digunakan dalam use case diagram adalah :

o Aktor : segala sesbuatu yang berinteraksi dengan sistem untuk bertukar informasi. Aktor bisa manusia, organisasi, sistem lain, perangkat eksternal, atau waktu

(17)

21

o Use case : subset dari fungsionalitas sistem secara keseluruhan. Diwakili dengan bentuk elips secara horizontal dengan nama use case dibawah, diatas, atau didalam elips.

o Asosiasi : hubungan antara aktor dan use case dimana terjadi interaksi diantara mereka. Asosiasi diwakili dengan garis antara aktor dan use case

Class diagram : menjelaskan struktur sistem dengan menunjukkan class, atribut, dan relationship antar class. Contoh class diagram dapat dilihat pada gambar 2.4

class Use Case Model

Class1

- atribute 1: attribute type - attribute 2: attribute type + method 1() : return type Class2

+ method 2() : return type

Gambar 2.4 Class Diagram (Larman, 2005) Simbol yang digunakan dalam class diagram adalah :

o Sebuah kotak yang terbagi menjadi tiga. Bagian paling atas memuat nama class, bagian tengah berisi penjelasan atribut yang dimiliki class tersebut, dan bagian bawah adalah deskripsi method dalam class.

o Asosiasi ditunjukkan dengan garis yang menghubungkan kotak. Garis ini menggambarkan hubungan antar class.

Activity diagram : menyajikan workflow komponen dalam sistem. Activity diagram menunjukkan flow of control secara keseluruhan.

(18)

22

act Use Case Model

Activ ity1

Activ ity2 Activ ity3

ActivityFinal

Gambar 2.5 Activity Diagram (Larman, 2005) Simbol yang digunakan dalam activity diagram adalah : o Aktifitas digambarkan dengan kotak

o If (keputusan) digambarkan dengan belah ketupat

o Fork/Join digunakan sebuah transisi yang masuk dan dua buah transisi atau aliran objek paralel sebagai keluaran.

o Garis yang menghubungkan aktifitas menggambaran aliran objek

o Keadaan akhir digambarkan dengan lingkaran yang memilii titik hitam ditengahnya.

Sequence diagram : menggambarkan bagaimana object saling berkomunikasi satu sama lain menggunakan urutan pesan. Diagram ini juga menunjukkan lifespans suatu object relatif terhadap pesan tersebut.

(19)

23

sd sequence

Object1 Object2 Object3

message ()

message () message ()

self message ()

Gambar 2.6 Sequence Diagram (Larman, 2005) Simbol yang digunakan dalam sequence diagram adalah : o Objek digambarkan dengan kotak.

o Lifetime sebuah objek digambarkan dengan garis putus-putus o Pesan antar objek digambarkan dengan garis putus-putus

2.8 PENGERTIAN SISTEM INFORMASI 2.8.1 Definisi Sistem

Menurut Jogiyanto (2005 : 1) terdapat dua kelompok pendekatan dalam mendefinisikan sistem, yaitu yang menekankan pada prosedurnya dan yang menekankan pada komponen atau elemennya. Pendekatan sistem yang menekankan pada prosedurnya mendefinisikan system sebagai berikut : “Sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan atau untuk menyelesaikan suatu sasaran tertentu.” Pendekatan sistem yang menekankan pada komponen atau elemennya mendefinisikan sistem sebagai berikut : “Sistem adalah kumpulan dari elemen-elemen yang berinteraksi untuk mencapai suatu tujuan tertentu.”

(20)

24

Dari kedua pendekatan di atas, penulis menyimpulkan bahwa system adalah kumpulan dari elemen- elemen atau sub-sub sistem yang saling berintegrasi dan saling berhubungan satu sama lain membentuk satu kesatuan utuh untuk melaksanakan suatu fungsi guna mencapai suatu tujuan tertentu.

2.8.2 Karakteristik Sistem

Suatu sistem mempunyai karakteristik atau sifat-sifat tertentu, menurut Jogiyanto (2005 : 1) dalam bukunya yang berjudul Analisis dan Desain Sistem Informasi antara lain sebagai berikut :

1. Komponen Sistem

Suatu sistem terdiri dari sejumlah komponen yang saling berintegrasi, yang artinya saling bekerja sama membentuk satu kesatuan. Komponen- komponen sistem atau elemen- elemen sistem dapat berupa suatu subsistem atau bagian-bagian dari sistem. Setiap subsistem mempunyai sifat- sifat dari sitem yang menjalankan suatu fungsi tertentu dan mempengaruhi proses sistem secara keseluruhan.

2. Batasan Sistem

Batasan sistem (boundary) merupakan daerah yang membatasi antara suatu sistem dengan sistem yang lainnya atau dengan lingkungan luarnya. Batas sistem ini memungkinkan suatu sistem dipandang sebagai satu kesatuan. Batas suatu sistem menunjukkan ruang lingkup (scope) dari sistem tersebut.

3. Lingkungan luar Sistem

Lingkungan luar (environment) dari suatu sistem adalah apapun diluar batas dari sistem yang mempengaruhi operasi sistem. Lingkungan luar yang menguntungkan merupakan energi dari sistem dan dengan demikian harus tetap dijaga dan dipelihara. Sedangkan lingkungan luar yang merugikan harus ditahan dan dikendalikan, kalau tidak maka akan mengganggu kelangsungan hidup dari sistem.

4. Penghubung Sistem

Penghubung (interface) merupakan media penghubung antara satu subsistem dengan subsistem yang lainnya. Dengan penghubung satu subsistem dapat berintegrasi dengan subsistem yang lainnya membentuk satu kesatuan.

(21)

25 5. Masukan Sistem

Masukan (input) adalah energi yang dimasukkan ke dalam sistem diproses dan akhirnya dikeluarkan berupa informsi yang dibutuhkan.

6. Keluaran Sistem

Keluaran (output) adalah hasil dari energi yang diolah dan diklasifikasikan menjadi informasi yang berguna.

7. Pengolahan Sistem

Pengolah sistem merupakan suatu bagian yang mengolah masukan (input) dan memprosesnya agar menjadi output informasi yang berguna.

8. Sasaran Sistem

Suatu sistem pasti mempunyai tujuan (goal) atau sasaran (objective). Jika suatu tidak mempunyai sasaran maka operasi sistem tidak akan berguna. Sasaran dari sistem sangat menentukan masukan yang dibutuhkan sistem dan keluaran yang dihasilkan sistem. Suatu sistem dikatakan berhasil apabila mengenai sasaran atau tujuannya.

2.8.3. Pengertian Informasi

Definisi informasi dari berbagai sumber sebagai berikut [http://blog.re.or.id/pengertian-informasi/ 23 Maret 2010] :

1. Informasi merupakan kumpulan data yang diolah menjadi bentuk yang lebih berguna dan lebih berarti bagi yang menerima.

2. Menurut Jogiyanto (2005: 8) Informasi adalah data yang diolah menjadi bentuk yang lebih berguna dan lebih berarti bagi yang menerimanya.

Dari pendapat-pendapat tersebut di atas, dapat disimpulkan bahwa informasi merupakan hasil dari pengolahan data ke dalam suatu bentuk yang lebih berguna dan lebih berarti bagi penerimanya yang menggambarkan suatu kejadian (event) yang nyata (fact) yang digunakan untuk pengambilan keputusan.

2.8.4. Pengertian Sistem Informasi

Menurut Jogiyanto (2005:11), sistem informasi adalah suatu sistem didalam organisasi yang mempertemukan kebutuhan pengolahan transaksi harian, mendukung operasi, bersifat manajerial dan kegiatan strategis dari suatu

(22)

26

organisasi dan menyediakan pihak luar tertentu dengan laporan-laporan yang diperlukan.

2.9. ONLINE STORE

Menurut Susrini (2010, p13) Online Store atau Toko Online atau Web Store adalah sebuah toko atau tempat berjualan yang sebagian besar aktivitasnya berlangsung secara online di internet. Contoh dari online store antara lain, kidnapped-ally.com, kutukutubuku.com, plasa21.com. Ada juga yang menawarkan online shopping melalui blog seperti starjunior.wordpress.com, dan melalui jaringan pertemanan kaskus, twitter dan Facebook, seperti Kpop galore, Ichi sepatu lukis, dan Serba murah Shop dan Yorista K-pop

Menurut Susrini (2010, p12) Keuntungan toko online tidak hanya bisa dirasakan oleh penjual. Bagi pembeli, online store adalah sebuah alternatif yang menyenangkan dalam berbelanja. Keberadaan online store sering kali menjadi penolong bagi yang sering melakukan aktivitas di dunia maya. Sebagai pembeli, umumnya adalah pembeli yang tidak punya cukup waktu untuk mendatangi toko dan menginginkan kepraktisan.

Kegiatan komersial ini seperti iklan dalam penjualan produk dan jasa. Transaksi yang dapat dilakukan di internet antara lain pemesanan/pembelian barang dimana barang akan dikirim melalui pos atau sarana lain setelah uang ditransfer ke rekening penjual. Penggunaan internet sebagai media pemasaran dan saluran penjualan terbukti mempunyai keuntungan antara lain untuk beberapa produk tertentu lebih sesuai ditawarkan melalui internet harga lebih murah mengingat membuat situs di internet lebih murah biayanya dibandingkan dengan membuka outlet retail di berbagai tempat, internet merupakan media promosi perusahaan dan produk yang paling tepat dengan harga yang relatif lebih murah, serta pembelian melalui internet akan diikuti dengan layanan pengantaran barang sampai di tempat pemesan.

(23)

27 2.9.1 Profil Perusahaan Kidnapped-Ally

Kidnapped-Ally merupakan sebuah usaha kecil yang pada awalnya hanya menjualkan produk aksesoris menggunakan bahan kayu jati dan daun mahoni. Kemudian disusul dengan meluncurkan pakaian jadi untuk pria dan wanita. Semakin banyaknya pembeli yang tertarik pada produk yang ditawarkan Kidnapped-Ally ini, maka dibentuk web store Kidnapped-Ally untuk mempermudah pembeli dalam memilih produk di lokasi manapun serta keuntungan bagi penjual dapat segera memperbarui produk yang ditawarkan.

Gambar 2.7 Tampilan Web Kidnapped-Ally (http://www.kidnapped-ally.com)

2.10 MICROSOFT VISUAL BASIC 2005

Visual Basic 2005 adalah bahasa pemrograman terbaru yang memudahkan programmer VB/VB .NET beralih ke VB 2005 (Budiharto, 2006). Visual Basic 2005 merupakan salah satu aplikasi pemrograman visual yang dibuat oleh Microsoft. Visual Basic 2005 merupakan bagian dari sebuah suite aplikasi pemrograman bernama Visual Studio 2005.Visual Basic 2005 sudah mendukung konsep pemrograman berorientasi objek (Object Oriented Programming). Dalam

(24)

28

Visual Basic 2005 akan dikenal konsep objek, kelas (class), pewarisan (inheritance), namespace, dan lain-lain.

Program Visual Basic adalah bahasa pemprograman yang paling mudah dikuasai oleh para pemula. Dalam program Visual Basic 2005 (disingkat VB 2005), menawarkan banyak kemudahan lagi dibandingkan versi-versi sebelumnya, antara lain teknik pemrogram dapat dibuat lebih terstruktur dan lebih banyak bantuan dalam pemrograman. Jauh lebih mudah untuk menguasainya dibandingkan dengan versinya yang terdahulu, yaitu Visual Basic 6 (disingkat VB6). Ada banyak perubahan dalam VB 2005 ini dibandingkan VB6, antara lain: 1. Bahasa pemprograman sekarang benar-benar bahasa berbasis objek (Object Oriented Programming), sedangkan VB6 bukan bahasa berbasis objek.

2. Aplikasi dan komponen yang ditulis di VB 2005 mempunyai akses penuh ke Net Framework. Sedangkan di VB6 tidak dikenal atau tidak digunakan Net Framework.

3. Semua aplikasi yang dibuat beroperasi dalam manajemen Common Language Runtime (CLR).

Hampir semua fungsi Windows API tersebut telah dijadikan object-object yang dapat dengan mudah digunakan dan ditemukan oleh programmer VB 2005. Pemrograman berbasis objek (OOP) sendiri adalah suatu pendekatan ke arah struktur pengembangan aplikasi berdasarkan objek. Objek tersebut dapat berupa prosedur, event, ataupun variable. Object satu dapat menjadi bawahan object lainnya berdasarkan susunan fungsinya. Artinya suatu object terdepan terdiri atas beberapa object yang memiliki tugas lebih sempit, dan antarobject dapat saling berinteraksi dalam melaksanakan tugas tertentu.

2.11 DEFINISI DATABASE

Menurut Kustiyaningsih (2011:146), “Database adalah Struktur penyimpanan data. Untuk menambah, mengakses dan memperoses data yang disimpan dalam sebuah database komputer, diperlukan system manajemen database seperti MYSQL Server”. Sedangkan menurut Oktavian (diakses pada tanggal 09 April 2012 di http://carapedia.com/pengertian_definisi_database_

(25)

29

info2083.html), “Database adalah sekumpulan data dan prosedur yang memiliki struktur sedemikian rupa sehingga mudah dalam menyimpan, mengatur dan menampilkan data”. Berdasarkan beberapa pendapat para ahli yang dikemukakan di atas dapat ditarik kesimpulan bahwa database adalah sekelompok data yang mempunyai ciri-ciri khusus dan dapat dikelola sedemikian rupa sehingga bisa menghasilkan sebuah format data yang baru.

2.12 MySQL

Menurut Raharjo (2011:21), “MySQL merupakan RDBMS (atau server database) yang mengelola database dengan cepat menampung dalam jumlah sangat besar dan dapat di akses oleh banyak user”. Pada MySQL, sebuah database mengandung satu atau sejumlah tabel. Tabel terdiri atas sejumlah baris dan setiap baris mengandung satu atau beberapa kolom. Untuk mengelola database MySQL ada beberapa cara yaitu melalui prompt DOS (tool command line) dan dapat juga menggunakan program utility seperti:

1. PHP MyAdmin 2. MySQLGUI

3. MySQL Manager Java Based

4. MySQL Administrator for windows.

Berikut ini adalah beberapa keunggulan MySQL:

Tabel 2.8. Kekurangan dan Kelebihan MySQL (Raharjo 2011:21)

No. Kekurangan Kelebihan

1 Mampu menangani jutaan user dalam kurun waktu yang bersamaan.

Fitur-fitur yang dimiliki oleh MySQL sangat banyak dibutuhkan dalam aplikasi web, contoh : klausa LIMIT yang berfungsi untuk pengaturan halaman.

2 Mampu menampung lebih dari 50.000.000 record.

MySQL memiliki overhead koneksi rendah. Karakteristik inilah yang menjadikan MySQL cocok bekerja dengan aplikasi CGI, dimana disetiap request script akan melakukan

(26)

30

koneksi, mengirimkan satu atau lebih

perintah SQL, lalu memutuskan koneksi lagi. 3 Sangat cepat mengeksekusi

perintah.

4 Memiliki user privilege system yang mudah dan efisien.

5 MySQL tersedia diberbagai platform, baik itu Linux ataupun Windows serta dalam beberapa varian Unix.

6 Fitur-fitur yang dimiliki oleh MySQL sangat banyak

dibutuhkan dalam aplikasi web, contoh: klausa LIMIT yang berfungsi untuk pengaturan halaman.

2.12.1 Perintah Dasar Database MySQL

Menurut Raharjo (2011:22), “Dalam menjalan MySQL diperlukan berbagai perintah untuk membuat suatu database, berikut ini disebutkan beberapa perintah dasar dalam menggunakan MySQL. Untuk menjalankan MySQL pertama kali cukup dengan mengetikkan mysql pada Command Prompt”.

Perintah-perintahnya adalah sebagai berikut: - Menampilkan database : SHOW DATABASE;

- Membuat database baru : CREATE DATABASE database; - Memilih database yang akan digunakan : USE database; - Menampilkan tabel : SHOW TABLE;

- Membuat tabel baru: CREATE TABLE tabel (field spesifikasi_field,…); - Menampilkan struktur tabel: SHOW COLUMNS FROM tabel atau

DESCRIBE tabel;

(27)

31

- Mengubah struktur tabel: ALTER TABLE tabel Jenis_Pengubahan;

- Mengisikan data: INSERT INTO table(kolom1,) VALUES („data_kolom1,); atau INSERT INTO table SET kolom1 = „data_kolom1, ;

- Menampilkan data: SELECT kolom FROM tabel WHERE kriteria ORDER BY kolom atau SELECT * FROM tabel;

- Mengubah data: UPDATE tabel SET kolom = pengubahan_data WHERE kriteria;

- Menampilkan data dengan kriteria tertentu: SELECT kolom1,… FROM table WHERE kriteria;

- Menghapus data: DELETE FROM tabel WHERE kriteria; - Menghapus tabel: DROP tabel;

- Menghapus database: DROP database; - Keluar dari MySQL: QUIT; atau EXIT

Gambar

Gambar 2.1 Lingkungan pengembangan perangkat lunak   (Sumber:http://www.saujana-ti.blogspot.com)
Gambar 2.2 Grafik tulang ikan analisa proses pengembangan perangkat lunak  (Sumber:http://www.saujana-ti.blogspot.com)
Tabel 2.1 Matriks Kompleksitas FPA untuk EI  (Sumber: http://www.softwaremetrics.com)
Tabel 2.3 Matriks Kompleksitas FPA untuk EQ  (Sumber: http://www.softwaremetrics.com)
+7

Referensi

Dokumen terkait

Berdasarkan rencana pengembangan bandar udara Internasional Sultan Iskandar Muda yang akan di bangunnya hotel transit dan pengembangan landasan pacu, yang berfungsi

Khusus terkait Bali dalam konteks penyusunan Buku Bali Masa Depan, adakah program khusus yang disiapkan Kementerian Pemerdayaan Perempuan

Hope S Antone,Ibid,hal.30.. Teori pendidikan multikultural bersifat kontekstual sehingga menggunakan pendekatan pluralis, praktik bagi orang Asia. Oleh karena itu,

Berdasarkan pertimbangan tersebut di atas, maka Peraturan Daerah tentang Dinas Daerah Kabupaten Kepulauan Sangihe ini ditetapkan dengan berpedoman pada Peraturan

Suhu yang dibutuh1an dalam 4ertumbuhan dan 4er1embangan tanaman di1enal sebagai suhu 1erdinal yaitu meli4uti suhu o4timum7 suhu minimum dan suhu ma1simum5 Suhu 1ardinal

BSRE1 - BSR

Dalam hal suami memberikan nafkah, hendaklah suami tidak mengurangi nafkah dari salah seorang istrinya. Memeberi nafkah lebih kepada seorang istri dari yang lain

( 1) Penyam paian dar i syar at - syar at kualit as air seper t i yang t er cant um dalam Per at ur an Ment eri ini t idak dibenar k an, k ecuali dalam k eadaan khusus di