BAB 2 LANDASAN TEORI 2.1
Regresi Persamaan matematik yang memungkinkan untuk melakukan peramalan nilai-nilai suatu variabel tak bebas dari nilai satu atau lebih variabel bebas disebut persamaan regresi (Walpole,1995). Secara umum
ada dua macam hubungan
antara dua variabel atau lebih, yaitu bentuk hubungan dan keeratan hubungan. Untuk mengetahui bentuk hubungan digunakan analisis regresi. Untuk keeratan hubungan dapat diketahui dengan analisis korelasi. Analisis regresi dipergunakan untuk menelaah hubungan antara dua variabel atau lebih, terutama untuk menelusuri pola hubungan yang modelnya belum diketahui dengan sempurna, atau untuk mengetahui bagaimana variasi dari beberapa variabel. 2.1.1
Regresi Sederhana Regresi sederhana bertujuan untuk mempelajari hubungan antara dua , di mana, Y adalah variabel
variabel. Model Regresi sederhana adalah
tak bebas (terikat), X adalah variabel bebas, a adalah penduga bagi intersep (α), b adalah penduga bagi koefisien regresi (β), dan α, β adalah parameter yang nilainya tidak diketahui sehingga diduga menggunakan statistik sampel. Rumus yang dapat digunakan untuk mencari a dan b adalah: ∑
∑
(2.1)
7 ∑
∑ ∑
∑
∑
(2.2)
Keterangan: = Rata-rata nilai variabel X = Rata-rata nilai variabel Y 2.1.2
Regresi Ganda Tujuan dilakukannya analisis regresi ganda adalah untuk menduga besarnya
koefisien regesi yang akan menunjukkan besarnya pengaruh masing-masing variabel bebas terhadapvariabel respon. Namun demikian, ada beberapa masalah yang sering dihadapi dalam penggunaan koefisien regresi tersebut. Salah satu diantaranya adalah masalah mulikolinier (Rietveld & Sunaryanto,1994). Model regesi ganda dapat dinyatakan sebagai
(2.3) dengan Y adalaha nilai variabel respon Y untuk semua pengamatan ke-n; x1,x2,x3,…,xn adalah nilai-nilai variabel bebas X1,X2,X3,…,Xn untuk pengamatan ke i; a adalah faktor galat; b1,b2,b3,…,bn adalah parameter koefisien regresi. Untuk menuliskan persamaan regresi linier (2.3) ke dalam bentuk matriks, perlu didefinisikan matriks-matriks berikut
Y=
1 1 X= 1
… … …
1
…
8
=
=
Notasi matriks dari model regresi ganda adalah (2.4) dengan Y adalah vektor respon yang berukuran n x 1;
vektor galat yang
berukuran n x 1; β adalah vektor parameter regresi yang akan diduga berukuran berukuran (k + 1) x 1; X adalah matriks skalar yang berukuran n x (k + 1) dan berpangkat penuh. Nilai vektor β didapat dari persamaan : ′
2.2
′
(2.5)
Matriks Korelasi Matriks korelasi adalah matriks yang berisi nilai kekuatan hubungan antara 2 variabel. Jika ingin mengestimasi parameter dengan model seperti ini: , i=1…n Model tersebut dapat dituliskan kembali dengan sebuah perubahan intersep menjadi:
Atau
9
, dengan Matriks
. ′
untuk model ini adalah :
′
∑
Dimana
Maka bentuk korelasi untuk matriks
′
adalah:
1 1
′
(2.6) 1
Dimana
2.3
; n, j=1…k dan
,
,…,
1
Multikolinier Tujuan dilakukannya analisis regresi ganda adalah untuk menduga besarnya koefisien regresi yang menunjukan besarnya pengaruh masing-masing variabel bebas terhadap variabel terikat. Namun ada beberapa masalah yang sering dihadapi dalam pendugaan koefisien regresi tersebut. Salah satu diantaranya adalah multkolinier (Rietveld & Sunaryanto, 1994).
10
2.3.1 Definisi Mulikolinier Istilah multikolinier pertama kali ditemukan oleh Ragnar Frisch pada tahun 1934 yang berarti adanya hubungan linier antara sesama variabel bebas. Maksud dari hubungan antara sesama variabel bebas adalah terdapat 2 variabel bebas X1 dengan X2. Jika X1 dapat dinyatakan sebagai fungsi linier dari X2 atau sebaliknya, maka dapat dikatakan bahwa terdapat hubungan linier diantara kedua variabel. 2.3.2 Akibat Adanya Multikolinier Adanya multikoloniler dalam regresi berganda dapat mengakibatkan ragam dari β membesar sehingga pengaruh masing-masing variabel bebas tidak dapat dipisahkan (Rietveld & Sunaryanto, 1994). Salah satu masalah yang sering muncul bila varibel-variabel bebas yang disertakan ke dalam model regresi ganda mengalami multikolinier (Myers, 1990) adalah penambahan atau pengurangan variabel bebas akan mengubah koefisien regresi. 2.3.3 Mendeteksi Multikolinier Salah satu masalah penting yang terjadi jika ada multikolinier adalah penambahan atau pengeluaran suatu variabel bebas akan mengubah koefisien regresi. Misalkan suatu persamaan regresi dengan 4 variabel adalah 3
1
4
5
2
, apabila salah satu variabel bebas dikeluarkan maka
persamaan yang dihasilkan adalah
5
ini diindikasi terdapat masalah multikolinier.
10
3
5
maka dalam data
11
Untuk menguji apakah suatu data mempunyai masalah dalam multikolinier ada beberapa cara. Salah satunya adalah dengan melihat koefisien korelasi antara variabel, jika koefisien korelasi lebih besar dari 0,8 maka terdapat multikolinier (Ohyver, 2010). Cara lainnya adalah dengan estimasi seberapa besar multikolinier meningkatkan varian pada suatu koefisien estimasi sebuah variabel (VIF / Variance Infasion Factor). Nilai VIF dapat diperoleh dengan persamaan:
(2.7) dengan
adalah koefisien determinasi ganda bila Xi diregresikan terhadap
1 variabel X lainnya di dalam model. Nilai VIF yang lebih besar dari 10 dapat dijadikan indikasi bahwa multikolinear telah mempengaruhi nilai dugaan kuadrat terkecil (Neter, et al., 1990). 2.4
Transformasi Transformasi yang digunakan adalah transformasi korelasi. Penggunaan tranformasi korelasi sangat membantu dalam mengendalikan galat pembulatan dan menjadikan satuan koefisien dapat dibandingkan. Transformasi korelasi adalah suatu modifikasi sederhana terhadap pembakuan variabel. Persamaan transformasi korelasi adalah 1
′
√
1
2.8
12
1
′
dengan
1…
1
√
adalah rata-rata nilai Y,
2.9
adalah rata-rata nilai Xij, Sy adalah simpangan
baku dugaan variabel Y, dan Sxj adalah simpangan baku dugaan variabel Xj (Neter, et al., 1990). 2.5
Regresi Ridge Regresi ridge adalah salah satu dari metode yang dapat menyelesaikan masalah multikolinier. Pertama kali diperkenalkan oleh Hoerl pada tahun 1962 dan dikaji kembali oleh Hoerl dan Kennard pada tahun 1970. Regresi ridge adalah modifikasi dari metode kuadrat terkecil dan termasuk dalam salah satu dari beberapa penduga regresi bias yang telah diusulkan. Bentuk umum dari regresi ridge : ′
′
;
0
(2.10)
β = koefisien regresi ′
= matriks korelasi ′
2.6
= vektor korelasi
Ridge Trace Suatu cara yang sering digunakan untuk menentukan konstanta pembiasan c adalah ridge trace (jejak ridge) dan VIF. Ridge trace adalah sebuah grafik nilainilai dugaan koefisien regresi baru ridge untuk berbagai nilai c yang berbeda,
13
biasanya di antara 0 dan 1. Pengalaman menunjukan bahwa koefisien regresi dugaan βc berfluktuasi sangat besar jika c berubah, meskipun perubahan itu sangat kecil, dari 0, dan bahkan bisa berubah tanda. Namun, fluktuasi secara perlahanlahan ketika c dinaikkan lebih jauh. Pada saat yang sama, nilai VIFc tidak telalu bervariasi bila c relatif besar. Dengan demikian, koefisien regresi ridge dapat diambil dari nilai c terkcil yang menjadikan koefisien tersebut stabil dalam ridge trace (Neter, et al., 1990). 2.7
Rekayasa Perangkat Lunak (RPL) Menurut Pressman (2005, p54) rekayasa perangkat lunak adalah sebuah teknologi yang terdiri dari lapisan-lapisan, yaitu: 1.
Fokus pada kualitas (a quality focus)
2.
Proses (process)
3.
Metode (method)
4.
Alat bantu (tools)
Tujuan RPL adalah: a. memperoleh biaya produksi perangkat lunak yang rendah b. menghasilkan pereangkat lunak yang kinerjanya tinggi, andal dan tepat waktu c. menghasilkan perangkat lunak yang dapat bekerja pada berbagai jenis platform d. menghasilkan perangkat lunak yang memiliki biaya perawatan yang rendah
14
Fase-fase dalam RPL adalah : -
Fase definisi (definition phase) berfokus pada apa (what). Pada definisi ini pengembang perangkat lunak harus mengidentifikasi informasi apa yang akan diproses, fungsi dan unjuk kerja apa yang dibutuhkan, tingkah laku sistem seperti apa yang diharapkan, interface yang akan dibangun, batasan desain apa yang ada, dan kriteria validasi apa yang dibutuhkan untuk mendefinisikan sistem yang sukses. Kebutuhan (requirement) kunci dari sistem dan perangkat lunak yang didefinisikan.
-
Fase pengembangan (development phase) berfokus pada bagaimana (how), yaitu
selama
masa
pengembangan
perangkat
lunak,
teknisi
harus
mendefinisikan bagaimana data dikonstruksikan, bagaimana fungsi-fungsi diimplementasikan sebagai sebuah arsitektur perangkat lunak, bagaimana detail prosedur akan diimplementasikan, bagaimana interface ditandai (dikarakterisasi), bagaimana rancangan akan diterjemahkan ke dalam bahasa pemrograman (atau bahasa non prosedural), serta bagaimana pengujian akan dilakukan. -
Fase pemeliharaan (maintenance phase) berfokus pada perubahan (change), yang dihubungkan dengan koreksi kesalahan, penyesuaian yang dibutuhkan ketika lingkungan perangkat lunak berkembang, serta perubahan sehubungan dengan perkembangan yang disebabkan oleh perubahan kebutuhan pelanggan.
15
-
Adaptasi Dari waktu ke waktu, lingkungan original (contohnya CPU, sistem operasi, aturan-aturan bisnis, karakteristik produk eksternal) di mana perangkat lunak dikembangkan
akan
terus
berubah.
Pemeliharaan
adaptif
(adaptif
maintenance) menghasilkan modifikasi kepada perangkat lunak untuk mengakomodasi perubahan pada kebutuhan fungsionalitas originalnya. -
Perkembangan (enhancement) Ketika perangkat lunak dipakai, pelanggan akan mengenali fungsi-fungsi tambahan yang memberi mereka keuntungan. Perfective maintenance memperluas perangkat lunak sehingga melampaui kebutuhan fungsi originalnya.
-
Pencegahan Keadaan perangkat lunak semakin memburuk sehubungan dengan waktu, dan karena itu, preventive maintenance yang sering juga disebut rekayasa perangkat lunak, harus dilakukan untuk memungkinkan perangkat lunak melayani
kebutuhan
para
pemakainya.
Pada
dasarnya
preventive
maintenance melakukan perubahan pada program komputer sehingga bisa menjadi lebih mudah untuk dikoreksi, disesuaikan dan dikembangkan. 2.7.1. Waterfall Model Model ini disebut juga sebagai classic life cycle. Disebut dengan waterfall karena tahap yang pertama harus dilalui dan diselesaikan terlebih dahulu untuk dapat melanjutkan ke tahapan selanjutnya.
16
Tahapan--tahapan dallam waterfaall model menurut m Pressman (20055,p79) adalah seebagai berikuut :
Kelebihaan dari model Waterfall adalah a : •
M Mudah diaplikkasikan
•
Jiika semua keebutuhan sisstem dapat didefinisikan d n secara utuhh dan beenar sejak awal proyeek, maka software s enngineering dapat beerjalan denggan baik tanppa masalah.
•
W Walaupun daalam penguumpulan kebutuhan tiddak selalu dapat diidefinisikan secara utuuh seperti yang y diinginnkan akan tetapi t m masalah yangg timbul saaat pengumpuulan kebutuhhan sistem ketika k aw wal proyek tidak menggeluarkan biaya b yang besar dalam m hal uaang, waktu dan d usaha.
Kekuranggan dari moddel Waterfalll adalah :
17 •
Karena pendekatan yang dilakukan secara urut / sequential, maka ketika suatu tahap terhambat maka tahap berikutnya tidak dapat dikerjakan dengan baik
•
Ketika terdapat masalah, maka proses harus dihentikan dan harus dicari tahu apa dan dari mana masalahnya berasal beserta solusinya terlebih dahulu karena tidak dapat melanjutkan ke tahap berikutnya.
•
Pengerjaan model memakan waktu yang cukup lama karena prosesnya hanya dapat berlanjut ke tahap selanjutnya jika tahap sebelumnya sudah selesai (tidak dapat dikerjakan secara bersamaan)
2.8.
Unified Modeling Language (UML) Menurut Pressman (2005, p167), UML menyediakan banyak diagram yang dapat digunakan untuk analisis dan desain pada level sistem dan software. Beberapa model UML yang digunakan dalam penelitian ini adalah use case diagram, activity diagram, dan sequence diagram.
2.8.1. Use Case Diagram Menurut Pressman (2005, p218), use case menangkap interaksi yang terjadi antara produsen dan konsumen dari informasi dan sistem itu
18
sendiri. Komponen-komponen yang terdapat dalam use case diagram adalah sebagai berikut : a. Actor berperan sebagai user terhadap sistem. b. Use case merupakan bagian dari skenario yang terikat bersamasama dengan tujuan umum user. c. Use case relationship merupakan penghubung antara actors dan use cases. d. Include dipakai untuk mengulang user ke dalam 2 atau lebih, untuk memisahkan use cases dan untuk menghindari perulangan. e. Generalization dipakai untuk mendeskripsikan variasi dari tindakan dan merupakan keinginan user. f. Extend digunakan untuk mendeskripsikan variasi dari tindakan dan user menginginkan bentuk yang lebih terkontrol. 2.8.2. Activity Diagram Menurut Pressman (2005, p223), activity diagram merupakan penambahan dari use case dengan menyediakan representasi grafikal dari interaksi dalam scenario yang spesifik. Sama seperti flowchart, activity diagram menggunakan persegi panjang yang bersisi tumpul untuk mengimplikasikan fungsi sistem yang spesifik, tanda panah untuk merepresentasikan
aliran
dari
sistem,
belah
ketupat
untuk
19
menggambarkan percabangan keputusan, dan garis horizontal untuk mengindikasikan aktivitas paralel yang terjadi. 2.8.3. Sequence Diagram Menurut
Pressman
(2005,
p251),
sequence
diagram
mengindikasikan bagaimana suatu kejadian menyebabkan perpindahan dari
suatu
objek
ke
objek
lainnya.
Setelah
suatu
kejadian
diidentifikasikan menggunakan use case, selanjutnya adalah perancangan sequence diagram. Sequence diagram merepresentasikan kelas-kelas kunci dan kejadian yang menyebabkan perpindahan dari kelas ke kelas. 2.9
C# C# (dibaca : C sharp) adalah bahasa pemrograman berorientasi objek yang dikembangkan oleh Microsoft sebagai bagian dari kerangka .NET Framework. Bahasa permrograman ini berbasis C++ dan dipengaruhi oleh fitur bahasa lain seperti Java, Delphi, Visual Basic, dan lain-lain Menurut standar ECMA-334 C# Language Specification, nama C# terdiri atas sebuah huruf Latin C(U+0043) yang diikuti oleh tanda pagar yang menandakan angka #(U+0023). C# dapat digunakan untuk membuat beberapa aplikasi software. Aplikasi software yang umum ditemukan adalah: a.
Web applications.
20
Dengan menggunakan C# maka prgram aplikasi dapat berjalan di web dengan berbagai platform, baik Macintosh, Windows, dan Linux. b.
Windows graphical user interface (GUI) applications
Windows applications dirancang untuk keperluan desktop dan platform tunggal. Program ini berjalan di komputer layaknya program pengolah kata. c.
Concole-based applications.
Console application biasanya mengirimkan permintaan ke operating system untuk menampilkan text ke dalam layar tampilan console atau mengambil data dari keyboard. Nilai dapat dimasukkan dengan input minimal dan output ditampilkan di concole output.