isi bab 2 - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2007-2-00545 bab2.pdf · ya,model sudah...
TRANSCRIPT
BAB 2
LANDASAN TEORI
Salah satu bentuk paling umum dari Count Regression adalah regresi Poisson,
bentuk distribusi dari Poisson memang digunakan untuk menghitung suatu kejadian
pada jangka waktu tertentu. Peneliti kadang – kadang melakukan analisis regresi untuk
data jumlah dengan regresi “klasik” atau biasa. Regresi ini mengasumsikan bahwa
variabel dependen merupakan kontinyu dan berada pada -∞ ke + ∞ , yang merupakan
variabel acak mengikuti bentuk distribusi normal. Asumsi ini merupakan asumsi yang
salah karena pada data jumlah jelas bahwa variabel dependen merupakan diskrit selain
itu dengan menggunakan model regresi biasa ini maka akan memungkinkan nilainya
bernilai Negatif, seharusnya nilai dari variabel dependen tidak boleh Negatif karena
merupakan jumlah (Rawaswamy et.al.,1994). Maka berdasarkan berbagai keadaan
tersebut lebih tepat jika digunakan distribusi yang menyebar dan menghitung jumlah
yaitu distribusi Poisson ini. Ada hal yang harus diperhatikan pada model regresi Poisson
bahwa variance-nya sama dengan nilai tengah, bentuk ini kadang-kadang tidak sesuai
dengan kenyataan. Kadang - kadang variance dari data yang didapatkan lebih besar dari
nilai tengah. Situasi ini dinamakan over dispersion. Keberadaan dari over dispersion ini
mirip heteroskadisitas pada model regresi linier.
Jika model regresi Poisson ini dianggap kurang sesuai untuk memodelkan data
karena terjadinya over dispersion, maka terdapat beberapa alternatif untuk menangani
masalah ini. Model binomial negatif merupakan yang paling populer, mungkin karena
lebih mudah digunakan dari model lainnya. Model regresi ini mempunyai parameter
tambahan yang digunakan untuk memperkirakan nilai over dispersion pada variance.
6
2.1 Kerangka Pemikiran
Secara umum proses penelitian yang dilakukan speerti yang terlihat pada
Gambar 2.1, adalah sebagai berikut. Pada awal didefinisikan terlebih dahulu bagaimana
model Poisson yang akan digunakan berserta penjelasannya. Kemudian berdasarkan
model yang dibentuk maka digunakan metode Maximum Likelihood Estimator (MLE)
untuk mencari penduga dari parameter yang hilang atau tidak diketahui.
Gambar 2.1 Proses penelitian yang dilakukan
Pendefinisian Model regresi
Penduga Maximum Likelihood untuk Poisson
Penduga Maximum Likelihood untuk binomial negatif
Model Poisson didapatkan
Model Binomial negatif didapatkan
Hipotesis pengujian model dengan over dispersion, uji F dan Likelihood Ratio
Terima Ho : model tidak dapat digunakan Tolak Ho : model
dapat digunakan
Perbandingan nilai AIC
Mendapatkan model yang terbaik (Poisson/Binomial negatif)
Evaluasi Model Lakukan Perbaikan Model
Ya,Model sudah baik
Model kurang baik
7
Setelah model Poisson dan Binomial negatif didapatkan maka keduanya diuji
dengan hipotesis menggunakan uji F, Wald dan uji Likelihood Ratio. Jika hipotesis nol
diterima maka model tidak baik dalam mendeskripsikan regresi, sedangkan jika
hipotesis nol ditolak maka model sudah dapat digunakan secara baik. Dilakukan
pengujian juga untuk mengetahui apakah model regresi Poisson mengalami over-
dispersi. Kemudian dilakukan perbandingan dengan melihat nilai Aikaen Information
Criterion (AIC) untuk mengetahui model mana yang lebih baik Poisson atau binomial
negatif.
2.2 Penentuan variabel
Pada regresi-jumlah ini variabel dependennya (Y) merupakan jumlah kejadian
tertentu berdasarkan nilai variabel independen (X). Variabel dependen (Y) yang
digunakan pada pembahasan adalah jumlah kejadian kecelakaan.
Untuk variabel independen maka tentunya didapatkan dari data laporan PT. Jasa
Marga. Data mentah tersebut tidak bisa diolah secara langsung, harus dilihat
penyebarannya. Jika kurang baik, maka tidak semua data dapat digunakan. Berdasarkan
pengamatan dari data-data yang tersedia maka data-data yang dapat digunakan, yaitu :
• Data penyebab kecelakaan : mengantuk, ban pecah, kerusakaan mekanis,
menyalip / memotong jalur.
• Data cuaca : hujan atau cerah
• Data jenis kelamin : Pria atau Wanita
• Data umur : nilai umur apakah remaja, dewasa, atau tua
8
• Data pendidikan : SD, SMP, SMU, PT (Perguruan Tinggi) atau lainnya
• Data pekerjaan : Pengemudi, Swasta, PNS, lainnya.
• Data jenis ban : ban biasa atau radial
• Data warna kaca mobil : jelas atau gelap.
2.3 Pemodelan Dengan Regresi
2.3.1 Pengertian Regresi
Menurut Neter et.al.(1996), yang dimaksud regresi dalam statistik yaitu suatu
metode yang menggunakan dan memanfaatkan relasi antar dua atau lebih variabel jadi
variabel tersebut dapat diperkirakan oleh variabel lainnya. Contohnya : penjualan produk
dapat diprediksi berdasarkan hubungan penjualan produk jumlah pengiklanan, atau
tinggi suatu tanaman dapat diprediksi dengan hubungan tinggi tanaman dengan jumlah
dan jenis pupuk yang dilakukan.
2.3.2 Regresi Model Poisson
Regresi Poisson merupakan suatu bentuk analisis menggunakan regresi untuk
menduga model data seperti jumlah, perubahan nilai (rate) atau organisasi data ke tabel.
Regresi Poisson dapat dimodelkan menggunakan kombinasi non- linier it xβ dari
variabel – variabel yang diberikan :
[ ] ( )it
ii xxYE βexp| =
Penggunaan dari fungsi eksponensial untuk memastikan bahwa bagian sebelah
kanan selalu positif, seperti yang kita harapkan dari nilai Y yang merupakan
penjumlahkan tidak mengkin Negatif. Pemilihan penggunaan fungsi eksponensial atau
bisa kita sebut fungsi “link”, hanya untuk kemudahan. Pada prinsipnya dengan cara ini
9
akan selalu menghasilkan nilai positif, tetapi dengan adanya eksponensial ini tidak ada
hubungannya dengan model Poisson. Fungsi “link” ini bisa saja diganti dengan yang
lainnya misalnya saja dengan logaritma natural (Neter et.al.,1996). Akan tetapi
penggunaan eksponensial dipilih karena lebih umum digunakan dan eksponensial dapat
menerima bentuk Negatif.
Untuk menentukan parameter – parameter dari model maka dapat digunakan
Maximum Likelihood. Untuk itu agar dapat menggunakan cara ini, maka perlu
dispesifikasikan distribusi untuk Yi dengan variabel xi :
[ ] ( )it
iii xxYE βλ exp| ==
Dari model ini diestimasi nilai β , yang merupakan parameter yang tidak
diketahui. Sebagai catatan bahwa dengan mengestimasi β maka dapat diestimasi juga
keseluruhan dari distribusi dari Y terhadap x. Dengan ini maka dapat diestimasi jumlah
seperti ( ) ( ),...|,|0 iiii xYPxYP = Jadi dapat diketahui probabilitas kemungkinan suatu
kejadian berdasarkan karakteristik yang diberikan, misal: dengan mengetahui jenis
kelamin dan umur sesesorang maka dapat diketahui berapa nilai kemungkinan bahwa
orang tersebut akan membeli suatu produk tertentu.
2.3.2.1 Distribusi Poisson
Proses Poisson berhubungan dengan menghitung jumlah suatu kejadian diskrit
pada selang waktu kontinyu. Sebagai contoh misalnya: mengobservasi berapa jumlah
telepon yang masuk pada jangka waktu tertentu, atau berapa jumlah orang yang
mengantri tiap harinya. Berdasarkan Mood et.al.(1998) secara umum bentuk distribusi
Poisson adalah sebagai berikut :
10
!)()(
kekYP λλ−
==
Dimana : λ = rata-rata kejadian pada waktu t
Y = jumlah kejadian yang diobservasi pada waktu t
Pada distribusi Poisson nilai harapan dan variance mempunyai nilai yang sama yaitu :
[ ] λ=YE dan [ ] λ=YVar
Gambar 2.2 Contoh Penyebaran data distribusi Poisson
Masih menurut Mood et.al. (1998) distribusi Poisson menyediakan model yang
nyata untuk kejadian yang acak. Kejadian acak tersebut dihitung jumlahnya maka
merupakan distribusi Poisson.
Berdasarkan Gambar 2.2 dapat dilihat bahwa jika jumlah kejadian besar maka
akan mendekati distribusi normal, tetapi jika jumlah kejadian kecil maka tidak berbentuk
normal lagi, karena itu bentuk Poisson ini cocok untuk memodelkan kasus dengan
jumlah kejadian yang jarang terjadi.
11
2.3.3 Regresi Model Negatif Binomial
Pada distribusi binomial negatif variance tidak konstan seperti pada model
Poisson, karena itu jika pada data yang dianalisis terdapat variance yang terlalu
menyebar lebih baik digunakan model regresi binomial negatif.
Pada model regresi Poisson jika [ ] [ ]iiii xYVarxYE || < disebut sebagai over
dispersion dan jika [ ] [ ]iiii xYVarxYE || > under dispersion.
Model dari Poisson tidak memperbolehkan perbedaan variance ini. Model yang
lebih baik yaitu dengan menggunakan binomial negatif. Perbedaan model regresi
Poisson dan binomial negatif adalah dari fungsi probabilitas, karena itu jika regresi
binomial negatif digunakan fungsi probabilitasnya menjadi :
( ) ( )( ) ( )
θ
θλλ
θλλ
θθ
β ⎟⎟⎠
⎞⎜⎜⎝
⎛+
−⎟⎟⎠
⎞⎜⎜⎝
⎛+Γ+Γ
+Γ==
i
i
yi
i
i
i
iiii y
yxyYP 1
1,|
2.3.3.1 Distribusi Binomial Negatif
Seperti yang sudah dibahas sebelumnya, hampir sama seperti distribusi Poisson ,
binomial negatif juga merupakan model dimana untuk menghitung jumlah suatu
kejadian. Mood et.al. (1998) menyatakan bahwa distribusi binomial negatif merupakan
non-negatif karena itu sama seperti Poisson, distribusi binomial negatif dapat digunakan
untuk memodelkan kejadian dengan jumlah. Perbedaannya jika Poisson memiliki nilai
tengah dan variance adalah sama, sedangkan distribusi binomial negatif mempunyai
variance yang lebih besar dari nilai tengah.
Berdasarkan Casella dan Berger (2001) maka bentuk distribusi binomial negatif
adalah sebagai berikut :
12
( ) ( )kr
rrk
kYP θθ −⎟⎟⎠
⎞⎜⎜⎝
⎛−−+
== 11
1
Dimana :
Y = jumlah dari kegagalan sebelum r sukses
θ = Probabilitas dari sukses pada tiap percobaan
dengan nilai tengah variance sebagai berikut :
( ) ( ) μθθ =−= /1rYE dan [ ] Φ=−= μθθ 2/)1(rYVar
Jika Φ >0 maka merupakan parameter penyebaran lebih besar dari nilai tengah
atau lebih kecil. Dan jika Φ =1, maka distribusinya menjadi sama seperti Poisson.
Dengan cara seperti ini maka membuat modelnya menjadi lebih fleksibel karena dapat
memperbolehkan perbedaan variance dari nilai harapan.
Biasanya distribusi binomial negatif digunakan untuk menghitung probabilitas
dari jumlah kegagalan yang terjadi sebelum berhasil. Tetapi karena merupakan
kebalikan dari binomial maka dapat juga digunakan untuk menghitung jumlah kejadian,
karena percobaan akan dilakukan terus menerus sampai berhasil. Perbedaannya dengan
Poisson jika waktu pada Poisson dianggap kontinyu sampai tak hingga sedangkan pada
negatif binomial sampai berhasil.
2.4 Pencarian Penduga untuk Model
Untuk menemukan penduga parameter dari model regresi Poisson dan binomial
negatif ada beberapa cara, pada penelitian ini digunakan MLE karena pendugaannya
sangat baik dan tidak bias. Selain cara ini bisa juga dengan beberapa metode lain
misalnya menggunakan metode momen, kuadrat terkecil (least square), penduga bayes
atau algoritma EM (Casella, G ; Berger, Roger L.,2001). Tetapi penggunaan metode ini
13
kurang disarankan karena belum tentu optimal dan terjadi kemungkinan bias
(Sakamoto, C.M,1973). Penggunaan Maximum Likelihood merupakan metode yang
terbaik dalam banyak kasus.
2.4.1 Pengertian Penduga Maximum Likelihood
Berdasarkan Neter et.al.(1996) penduga Maximum Likelihood merupakan
metode yang umum untuk menemukan suatu parameter yand diduga. Anggap terdapat
populasi dengan fungsi probabilitas ( )θ,iYP mempunyai satu parameter maka jika
diberikan hasil observasi nYY ,...,1 fungsi joint probabilitas dari sampel :
( ) ( )∏=
=n
iin YPYYg
11 ,,..., θ
Jika fungsi ini dianggap fungsi dengan parameter theta (θ ) , dari observasi yang
diberikan disebut fungsi Likelihood :
( ) ( )∏=
=n
iiYPL
1
,θθ
Jika fungsi Likelihood dengan parameter θ ini dapat dimaksimumkan maka
akan didapatkan nilai penduga θ yang optimal. Untuk memaksimumkan fungsi
likelihood ini dapat dilakukan dengan beberapa cara yaitu diferensial biasa, atau
diferensial dengan Newton-Raphson (Neter, et.al,1996).
14
2.4.2 Penduga Maximum Likelihood untuk Poisson.
Misalkan data observasi ( ){ }niyx ii ≤≤1|, . Dengan nilai dari iy merupakan
variabel acak dari iY . Total dari likelihood yang diberikan oleh :
( )∏=
==n
iiiinn xyYPxxyyL
111 ,|),...,,|,...,( ββ
( )∑=
==n
iiiinn xyYPxxyyLogL
111 ,|log),...,,|,...,( ββ
Dimana :
( )!
)exp(,|
i
yiii
iii yxyYP
λλβ
−==
Dengan ( )it
i xβλ exp= . Maka dengan melakukan log pada P dapat sederhanakan
persamaan diatas menjadi :
( ) ( ) ( ) ( ){ }∑=
−+−=n
iii
tii
t yxyxLogL1
!logexp βββ
Jika penduga maximum Likelihood didefinisikan sebagai :
( )βββ
LLogML .maxargˆ =
Setelah melakukan turunan pertama dapat dicari nilai optimal dan kemudian
didapatkan nilai β yang optimal.
( ) ( )∑=
=−=∂
∂ n
iiii xyLLog
10. λ
ββ
Karena persamaan ini non-linier maka tidak dapat diselesaikan dengan
melakukan perhitungan langsung. Implementasi Maximum Likelihood menggunakan
bantuan R language.
15
2.4.3 Penduga Maximum Likelihood untuk Binomial Negatif
Untuk pencarian penduga pada binomial negatif, perbedaannya yaitu pada
penggunaan distribusi yang digunakan. Maka fungsi distribusinya menjadi seperti
berikut :
( ) ( )( ) ( )
θ
θλλ
θλλ
θθ
β ⎟⎟⎠
⎞⎜⎜⎝
⎛+
−⎟⎟⎠
⎞⎜⎜⎝
⎛+Γ+Γ
+Γ==
i
i
yi
i
i
i
iiii y
yxyYP 1
1,|
Dengan memasukkan ke dalam fungsi likelihood akan didapatkan :
( )
)ln()()ln(
...)ln()1ln()ln(,
**
**1
0
*
θθ
θθ
μμ
θβ
eyey
eeyjeLogL
iiii
ki
y
j
i
++−
++−−+= ∑−
=
Dari turunan fungsi maximum Likelihood dapat dicari estimasi parameter regresi
yaitu β dan juga parameter tambahan yaitu : θ . Parameter θ merupakan derajat nilai
over / under dispersion. Nilai limit dari θ = 0 akan membuat binomial negatif menjadi
sama seperti Poisson.
2.5 Metode Analisis Data
2.5.1 Pemodelan Regresi
Berdasarkan variabel – variabel independen yang dapat digunakan dari
keterangan sebelumnya maka didesain model regresinya. Seperti yang terlihat pada
Tabel 2.1 pada model ada beberapa variabel yang dibagi berdasarkan grup masing-
masing, yaitu : umur, pendidikan, pekerjaan, dan penyebab kecelakaan sedangkan
sisanya merupakan variabel yang berdiri sendiri.
16
Tabel 2.1– Menjelaskan variabel independen
Nama Variabel Deskripsi Tipe Data X1 Jenis Kelamin 1 : Pria , 0 : Wanita X2.1 Umur 16-30 1 : Umur 16-30, 0 : Lainnya X2.2 Umur 31-45 1 : Umur 31-45, 0 : Lainnya X2.3 Umur 45>= 1 : Umur 45>=0, 0 : Lainnya X3 Situasi Kejadian Malam / Siang 1 : Malam , 0 : Lainnya X4.1 SMP/SD 1 : SMP/SD, 0 : Lainnya X4.2 SMU 1 : SMU, 0 : Lainnya X4.3 Perguruan Tinggi 1 : P.T. 0 : Lainnya X5.1 Pengemudi 1 : Pengemudi 0 : Lainnya X5.2 PNS 1 : PNS 0 : Lainnya X5.3 Swasta 1 : Swasta 0 : lainnya X6.1 Memotong Jalan 1 : Memotong 0 : Lainnya X6.2 Mengantuk 1 : Mengantuk , Lainnya X6.3 Rusak Mobil , 1 : Rusak mobil , 0 : Lainnya X6.4 Pecah Ban 1 : Pecah , 0 : Lainnya X7 Warna kaca gelap / tidak gelap 1 : Gelap , 0 : Tidak Gelap
X8 Kondisi Cuaca Hujan / Tidak hujan
1 : Hujan/Gerimis , 0 : Tidak hujan
Maka berdasarkan variabel – variabel tersebut bisa dituliskan kebentuk
persamaan regresi sebagai berikut :
)
exp(
8187176416631562146213611253115210
51943842741635234223212110
xxxxxxxxx
xxxxxxxxxY
βββββββββ
ββββββββββ
++++++++
++++++++++=
Dimana: Y : Jumlah Kejadian
180 ,...,ββ : Parameter yang diduga
17
2.5.2 Uji drop-in deviance
Jika model asli tidak baik maka dapat dilakukan perbaikan model dengan
menghilangkan variabel yang tidak signifikan. Untuk mengetahui apakah model
perbaikan dapat digunakan, maka diperlukan pengujian drop-in deviance menggunakan
uji F (Larget B., 2003) :
F = [(RSS2– RSS1) / (DF_RSS2-DF_RSS1)] /
[RSS1 / (DF_RSS1)]
Dimana : RSS2 : galat jumlah kuadrat model perbaikan
RSS1 : galat jumlah kuadrat model awal
DF_RSS2 : derajat bebas galat model perbaikan
DF_RSS1 : derajat bebas galat model awal
2.5.3 Hipotesis Pengujian Model
Sesuai dengan penulisan skripsi ini akan dianalisis apakah jumlah kecelakaan
berhubungan dengan karakter pengemudi dan situasi ketika kecelakaan terjadi. Maka
hipotesis alternatifnya adalah :
H01 : Jumlah kecelakaan berhubungan dengan karakteristik pengemudi dan
keadaan lingkungan kecelakaan.
Untuk menguji variabel satu persatu dapat digunakan uji Wald (Greene, 2002),
sedangkan untuk menguji model secara keseluruhan biasanya digunakan uji Goodness-
of-fit, tetapi karena nilai tengah dari data kecelakaan kecil maka digunakan Likelihood
Ratio sebagai penguji yang lebih baik (Famoye, F, 2003). Menurut Greene (2002)
perhitungan uji Wald adalah :
18
( )i
i oWald
βββ
var)( 2−
=
Dimana : Wald : nilai Wald dari variabel ke-i, yang menyebar
mengikuti distribusi 2X .
iβ : parameter ke-i yang diuji.
oβ : nilai dari uji hipotesis untuk parameter iβ
)var( iβ : variance parameter ke-i yang diuji.
Pada uji Wald ini digunakan hipotesis oβ = 0 sehingga hipotesis alternatifnya
adalah asebagai berikut :
H11 : 0≠iβ atau variabel ke-i mempengaruhi jumlah kejadian kecelakaan.
Selain mnggunakan Wald untuk mengujian juga dapat digunakan Uji Likelihood
Ratio. Pada Uji Likelihood Ratio ini dilakukan perbandingan nilai likelihood model
keseluruhan dengan nilai likelihood model variabel slope-nya (Reduced Model) saja
(Neter et.al,1996, p588-p589). Jika likelihood dari model keseluruhan adalah :
( ) ( )110 ,...,, −= kF bbbLL θ
Sedangkan untuk model variabel slope-nya (Reduced Model) adalah
( ) ( )110 ,...,, −= lR bbbLL θ
Setelah memaksimumkan kedua fungsi likelihood diatas, maka akan didapatkan
nilai likelihood-nya. Uji Likelihood Ratio menggunakan 2X , yang dapat dituliskan
sebagai berikut (Neter et.al, 1996) :
( )( ) ( ) ( )FR
F
R LLnLLnLL
LnG θθθθ
..(222 −−=⎥⎦
⎤⎢⎣
⎡−=
Dimana : 2G : bervariasi dengan K-1 derajat bebas, K merupakan jumlah
19
parameter yang dihapus dari model. Jika parameter hanya satu,
maka K = 1.
2.5.4 Hipotesis Pengujian Over dispersion
Pada model Poisson terdapat masalah over dispersion karena itu untuk
mengetahui apakah terdapat over dispersion, dapat dilakukan pengujian juga dengan
menggunakan uji likelihood ratio. Bentuk hipotesis dari uji ini adalah :
H21 : Model regresi Poisson mempunyai over dispersion yang disignifikan.
Perbedaan dari uji sebelumnya yang diperbandingkan adalah Log-Likelihood
model regresi Poisson dengan Log-Likelihood model regresi binomial negatif.
Berdasarkan Kagoraoka (2005, p9), nilai dari likelihood ratio adalah :
( )( ) ( ) ( )NegbinPoisson
NegBin
Poisson LLnLLnLL
LnX θθθθ
..(222 −−=⎥⎥⎦
⎤
⎢⎢⎣
⎡−=
Dimana : 2X : bervariasi dengan 1 derajat bebas..
2.5.5 Kekuatan Korelasi pada Regresi (R2)
Untuk mengetahui kuat atau tidaknya suatu model maka perlu diketahui nilai
pengaruh antar variabel X dan Y. Nilai ini disebut korelasi. Berdasarkan Neter et.al.
(1996) nilai korelasi ( 2R ) adalah derajat kekuatan hubungan antara X dan Y. Nilai 2R
berada pada rentang 0 s.d. 1, jika makin mendekati 0 maka kekuatan hubungan makin
20
lemah dan jika makin mendekati 1 kekuatan hubungan makin kuat. Nilai 2R dirumuskan
sebagai berikut (Luc Anselin, 2004):
( )
∑
∑
=
=
−
−−= N
ii
N
iii
yy
yyR
1
2_
1
2
2
)(
ˆ1
2.5.6 Akaike Information Criterion (AIC)
Untuk membandingkan model mana yang lebih baik, selain melihat dari nilai
2R , dapat juga digunakan nilai perhitungan Akaike Information Criterion Nilai AIC
yang terkecil merupakan model yang lebih baik (Luc Anseling, 2004). Nilai dari AIC ini
dapat diambil dari nilai likelihood, sebagai berikut :
KLAIC 2)(.2 += θ
2.6 Rekayasa Piranti Lunak
2.6.1 Pengertian dan Tujuan
Piranti lunak atau software mempunyai 3 pengertian menurut Pressman (2001,
p6), yaitu :
a. Software adalah instruksi-instruksi dalam program komputer yang ketika
dijalankan akan memberi fungsi dan kerja yang diinginkan.
b. Struktur data yang memungkinkan program mampu memanipulasi suatu
informasi.
c. Dokumen-dokumen yang menjelaskan operasi dan pemakaian suatu program.
Ada beberapa karakteristik yang dimiliki oleh piranti lunak antara lain sebagai
berikut :
21
a. piranti lunak dikembangkan dan direkayasa, bukan dirakit seperti pada
piranti keras.
b. piranti lunak tidak dapat rusak.
c. Walaupun industri mengarah pada pembuatan dengan penggabungan
komponen tapi kebanyakkan software dibuat menurut pesanan.
Menurut Pressman (2001, p20), pengertian rekayasa piranti lunak adalah
penetapan dan penggunaan prinsip-prinsip perancangan untuk mendapatkan piranti
lunak yang ekonomis, handal dan bekerja secara efisien pada mesin yang sesungguhnya.
Sedangkan menurut Timothy dan Robert (2002, p5), rekayasa piranti lunak adalah suatu
proses untuk memecahkan masalah pelanggan dengan pengembangan yang sistematik
dan evolusi yang besar dari sistem software yang berkualitas tinggi dengan biaya, waktu
dan faktor lainnya.
2.6.2 Produk
Desain dan pembangunan software engineering pada akhinya akan menghasilkan
program komputer. Program komputer dapat berupa program yang dijalankan pada
ukuran dan arsitektur komputer apapun termasuk dokumen dalam bentuk hardcopy dan
bentuk virtualnya, serta data yang merupakan kombinasi angka dan teks yang
merepresentasikan gambar, video, dan audio (Pressman, 2001).
2.6.3 Proses
Ada tiga elemen yang mampu untuk mengontrol proses pengembangan piranti
lunak (Pressman, 2001), yaitu :
a. Metode
22
Menyediakan cara-cara teknis untuk membangun piranti lunak. Pada
metode-metode ini, hal-hal yang perlu diperhatikan oleh pekerja meliputi :
• Perancangan proyek
• Analisis sistem dan pengusulan piranti lunak
• Desain dan struktur data, arsitektur dan prosedur algoritma
• Pengkodean
• Pengujian
• Pemeliharaan
Metode ini mengutamakan orientasi bahasa yang spesial atau notasi
grafik dan seperangkat kriteria untuk kualitas piranti lunak.
b. Alat Bantu
Alat Bantu rekayasa piranti lunak menyediakan pendukung otomatisasi
atau semi otomatisasi untuk proses dan metode. Ketika alat bantu diintegrasikan
maka informasi yang dibuat oleh satu alat bantu akan dapat digunakan oleh
lainnya, sistem yang mendukung pengembangan software ini atau disebut
Computer-Aided Software Engineering (CASE) pun dibuat. CASE
menggabungkan piranti lunak, piranti keras, dan database.
c. Prosedur
Merupakan penggabungan metode dan alat bantu dan juga termasuk
didalamnya rasionalitas dan pengembangan yang memadai didalam piranti lunak
komputer. Prosedur didefinisikan sebagai urutan didalam metode yang akan
digunakan. Prosedur juga sebagai produk seperti dokumen, laporan, dan formulir
yang dibutuhkan. Selain itu prosedur sebagai pengendali untuk membantu
23
kualitas dan perubahan koordinasi. Dan prosedur juga sebagai kerangka acuan
untuk memungkinkan manager memperkirakan kemajuan.
2.6.4 Pemodelan
Model waterfall atau sekuensial sering disebut juga sebagai classic life cycle.
Model ini merupakan pola dasar dari model-model lainnya. Model ini terdiri dari
beberapa tahapan, yakni (Pressman, 2001, p28) :
a. Perancangan dan estimasi proyek
Piranti lunak merupakan bagian dari sistem yang lebih besar, jadi
pekerjaan dimulai dengan membuat semua kebutuhan untuk setiap elemen dalam
sistem dan kemudian mengalokasikan beberapa pokok dari kebutuhan ini
kedalam piranti lunak. Pandangan sistem ini penting karena piranti lunak harus
berinteraksi dengan elemen lain seperti piranti keras, manusia dan basis data.
Perencanaan dan estimasi proyek meliputi pengumpulan kebutuhan pada tingkat
sistem dengan sejumlah kecil desain tingkat atas dan analisis.
b. Analisis kebutuhan sistem dan software
Proses pengumpulan kebutuhan difokuskan pada piranti lunak untuk
mengerti bagaimana program seharusnya dibuat, seorang analisis harus mengerti
ruang lingkup informasi untuk piranti lunak dan juga fungsi-fungsi yang
dibutuhkan, kemampuan dan tatap muka pengguna. Kebutuhan baik untuk sistem
dan piranti lunak, didokumentasikan dan dibahas bersama pengguna.
c. Perancangan
Desain piranti lunak merupakan proses dengan banyak langkah yang
memfokuskan pada empat atribut dasar program yakni : struktur data, arsitektur
piranti lunak, detail prosedur, dan karakteristik antar muka. Proses desain
24
menterjemahkan kebutuhan kedalam perwakilan piranti lunak yang dapat dinilai
kualitasnya sebelum pembuatan program dimulai. Seperti halnya kebutuhan,
desain didokumentasikan dan menjadi bagian konfigurasi piranti lunak.
d. Pengkodean
Perancangan harus diubah menjadi bentuk yang dapat dibaca oleh mesin.
Tahap pembuatan program melakukan tugas ini. Jika dilakukan secara mendetail
maka pembuatan program dapat diselesaikan dengan baik.
e. Pengujian
Sesudah program selesai dibuat maka baru dapat dilakukan pengujian
program. Tahap pengujian ini menitikberatkan pada logika program, memastikan
bahwa semua baris dalam program sudah diuji dan tidak ada kesalahan.
f. Pemeliharaan
Piranti lunak akan mengalami perubahan dan perbaikan setelah
digunakan oleh pengguna. Perubahan dapat terjadi karena kesalahan program,
adaptasi program untuk menyesuaikan dengan kebutuhan baru atau karena
pengguna menginginkan tambahan fungsi atau kemampuan baru.
2.7 Alat Bantu Perancangan
2.7.1 State Transititon Diagram (STD)
Menurut Whitten, et.al. (2002) State Transition Diagram (STD) adalah
representasi grafis dari state mesin terbatas dimana setiap node merepresentasikan status,
dan setiap garis merepresentasikan perubahan status.
25
Sedangkan menurut Pressman (2001, p227), STD adalah spesifikasi sekuensial
dari sifat suatu sistem. STD mengidentifikasikan bagaimana sistem bereaksi terhadap
kejadian eksternal.
Didalam STD terdapat notasi-notasi:
1. Aktif
Kontrol terhadap lingkungan eksternal dilakukan secara aktif. Selain
menerima data, sistem juga memberi reaksi terhadap aksi yang diterimanya.
• State
State adalah kumpulan keadaan atau atribut yang memberi perincian suatu objek
pada interval waktu tertentu. Contoh: sistem menunggu input user.
Gambar 2.3 diagram State
• Transition State
Simbol yang menyatakan perubahan dari suatu state ke state yang lainnya.
Gambar 2.4 Diagram Transition State
• Condition
Kejadian pada lingkungan eksternal yang dapat dideteksi oleh sistem. Contoh:
sinyal input, enterupsi atau data.
• Action
Proses yang dikerjakan oleh sistem bila terjadi perubahan state. Contoh aksi:
tampilan pesan sewaktu user login.
2. Pasif
26
Sistem tidak melakukan kontrol terhadap lingkungan, melainkan lebih ke
menerima data saja.
Contoh STD sederhana:
Gambar 2.5 STD Sederhana
2.7.2 Konsep Pemrograman Berorientasi Objek (PBO)
2.7.2.1 Pengertian Kelas
Menurut Pressman (2001), kelas adalah konsep Pemrograman Berorientasi Objek
(PBO) yang mengenkapsulasi data dan abstraksi prosedural yang diperlukan untuk
menggambarkan isi serta tingkah laku didunia nyata. Sedangkan Whitten, et.al. (2002)
mengartikannya sebagai satu set objek yang memiliki atribut dan kemampuan yang
sama. Dengan kata lain atribut / sifat dan metode / kemampuan digabungkan ke suatu
bentuk entitas yang terstruktur. Tujuan pembuatan kelas ini tentunya untuk
mempermudah pengembangan system.
2.7.2.2 Komponen -Komponen Kelas
Secara umum kelas mempunyai dua komponen utama :
1 Atribut
Tiap kelas mempunyai atribut unuk menggambarkan sifat dari entitas
objeknya..Berdasarkan Pressman (2001) atribut diartikan sebagai entitas
kehidupan nyata sering digambarkan dengan kata-kata yang mengindikasikan
keadaan stabil. Misalnya manusia mempunyai atribut mata , mulut , tangan ,
kaki.
State X
State Y
27
2 Metode
Tiap kelas juga memerlukan metode untuk memproses dan melakukan
perhitungan pada data ataupun sekedar memanggil status. Hal ini biasanya
diketahui sebagai kemampuan dari objek tersebut. Menurut Whitten,. et.al.(2002)
metode adalah suatu kumpulan dari sesuatu yang dapat dilakukan oleh objek
terkait dngan fungsi-fungsi yan bertindak pada data objek. Dengan adanya
metode maka dapat dilakukan perubahan pada objek. Contohnya mobil dapat
melakukan perubahan kecepatan dengan menjalankan metodenya yaitu gas.
2.7.2.3 Enkapsulasi
Pada konsep PBO enkapsulasi merupakan hal yang utama. Dengan enkapsulasi
atribut dan metode akan lebih aman dan terstruktur. Secara umum enkapsulasi adalah
pengemasan entitas atau item ke dalam suatu unit (Whitten, et.al, 2002). Pada konsep
objek maka yang dienkapsulasi adalah atribut dan metode. Beberapa tujuan penting dari
hal ini, sebagai berikut (Whitten, et.al.,2002 ; Pressman, 2001). :
1. Untuk memperjelas konsep pemrograman menjadi terstruktur sehingga
pembuatan program menjadi lebih baik dan teratur.
2. Menyembunyikan detail data (hidden information) sehingga data diakses hanya
melalui metode yang bersangkutan. Dengan detail data yang tersembunyi maka
data dapat diakses dengan lebih aman dan tidak dapat dimanipulasi dengan cara
yang tidak benar.
3. Penggunaan ulang kelas pada aplikasi yang berbeda (reusable). Dengan
membuat kelas secara baik dan tergeneralisasi maka kelas tersebut dapat
28
digunakan kembali. Hal ini mempersingkat waktu pengembangan sistem dengan
menggunakan kelas-kelas yang telah tersedia.
Representasi objek berdasarkan hal diatas dapat digambarkan sebagai berikut :
Gambar 2.6 Enkapsulasi pada Konsep Berorientasi Objek
2.7.3 File / Berkas
Berdasarkan Whitten et.al. (2002, p470) file merupakan kumpulan data-data
yang sejenis. Konsep file pada mulanya digunakan untuk menggantikan sistem berkas
kertas yang secara manual (Connoly, et.al. 2002, p7). Dengan menyimpan data pada
komputer maka banyak penghematan dapat dilakukan. Keuntungan menggunakan file
adalah sebagai berikut :
1. Kecepatan akses yang baik
Penulisan data ke file tidak memerlukan sistem yang kompleks. File dapat ditulis
dan dibaca tanpa kesulitan.
2. Mudah dipindahkan
metode
Objek
atribut
Nama Kelas
atribut
Operasi
29
Dengan menyimpan data dalam bentuk yang lebih ringkas maka fleksibilitasnya
akan menjadi tinggi. Data akan mudah dipindahkan dari satu tempat ke tempat
yang lain.
2.7.4 Object Serializable
Pada aplikasi dengan konsep objek maka penulisan data ke-file dapat dibantu
dengan menggunakan konsep Object Serializable. Menurut Spell, B. (2002, p606)
Object Seriazeable merupakan suatu cara untuk mengkonversi bentuk objek menjadi
struktur data byte yang dapat ditulis. Object Serializable sangat berguna karena dapat
menyimpan struktur dan isi nilai objek dan dapat diambil kembali walaupun dari
aplikasi yang berbeda. Agar suatu objek dapat menjadi ditulis dan dibaca seperti ini,
maka objek perlu diimplementasi menggunakan attribute Serializable, seperti pada
Gambar 2.7 dibawah ini :
Gambar 2.7 Objek dengan implementasi attribut Serializable
2.7.5 Interaksi Manusia Dan Komputer
Interaksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan
perancangan, evaluasi, serta implementasi sistem komputer yang interaktif untuk
digunakan oleh manusia. Interaksi manusia dan komputer berkaitan dengan user
interface (antarmuka pemakai) yang digunakan oleh pengguna untuk berkomunikasi dan
berinteraksi dengan komputer (Shneiderman, 1998, p 4-8).
Object [Serializable]
Attribute :Implement attribute
30
2.7.5.1 Prinsip – Prinsip Perancangan Antarmuka dengan Metode Heuristic
Metode heuristic merupakan cara yang cepat, mudah dan murah dalam
mengevaluasi antarmuka. Menurut Jacob Neilsen (1994) dan Elane, E., Finney ,A.
(1999, p249) heuristic merupakan suatu cara yang digunakan untuk menemukan
permasalahan kegunaan (usability) pada suatu sistem. Metode ini dilakukan dengan
menggunakan sekelompok kecil yang terdiri dari beberapa orang dan menguji sistem
tersebut dengan berprinsip pada pedoman heuristic berikut (Weiss, E., 1993) :
1. Visibility of System Status
Pada aplikasi yang sedang berjalan pemakai harus mengetahui apa yang terjadi.
Sistem harus memberi informasi pada jangka waktu yang optimal.
2. Match Between System and the Real World
Sistem harus menyesuaikan dengan lingkungan pemakai. Penggunaan bahasa,
simbol, kata-kata harus diperhatikan dengan tepat sehingga terkesan alami.
3. User Control and Freedom
Pemakai diharapkan dapat menggunakan aplikasi dengan mudah dan tidak kaku.
4. Consistency and Standards
Pemakai harus tidak disulitkan dengan standar yang berbeda. Setiap kata-kata,
situasi, dan bahasa yang digunakan jelas maknanya sehingga tidak ambigu.
5. Help Users Recognize, Diagnose, and Recover From Errors
Pesan error harus ditampilkan dengan bahasa yang jelas bukan dengan kode.
6. Error Prevention
Sistem harus bisa mencegah error sebelum terjadi. Dengan ini diharapkan
meminimumkan pesan error yang muncul pada layar.
31
7. Recognition Rather Than Recall
Pemakai dapat mengenali penggunaan aksi dan opsi yang tersedia dengan cepat.
Instruksi atau bantuan penggunaan aplikasi harus dapat diakses dengan mudah.
8. Flexibility and Minimalist Design
Pada aplikasi disediakan metode aksi yang berbeda. Aplikasi dapat digunakan oleh
pemakai awal ataupun pemakai yang sudah berpengalaman.
9. Aesthetic and Minimalist Design
Pada antarmuka dialog seharusnya tidak terdapat informasi atau keterangan yang
tidak dibutuhkan. Penambahan informasi akan mengurangi kemampuan pengenalan
antarmuka untuk pemakai.
10. Help and Documentation
Walaupun aplikasi dapar digunakan tanpa bantuan. Dokumentasi bantuan pada
aplikasi akan sangat diperlukan agar pemakai dapat fokus mencari hal-hal yang
diperlukan.
11. Skill
Pada sistem aplikasi yang berjalan seharusnya dapat disesuaikan kemampuan
pemakai dan pengetahuannnya.
12. Pleasurable and Respectful Interaction with the User
Aplikasi harus dapat meningkatkan kualitas pekerjaan pemakai. Desain aplikasi
harus mencakup desain tampilan dan fungsional yang baik.
32
2.7.5.2 Prinsip – Prinsip Perancangan Antarmuka Penginputan Data
Aplikasi komputer yang dapat melakukan tugas memasukkan data harus
memiliki kemudahan dan fleksibilitas yang tinggi. Tujuannya agar petugas yang
melakukan tugas memasukkan data dapat dengan cepat melakukannya tanpa
menghabiskan waktu, selain itu perancangan desain yang baik dapat mengurangi tingkat
kestresan dan kesalahan. Berdasarkan Smith dan Mosier (1986) ada beberapa hal yang
penting dalam perancangan untuk entry data, yaitu :
1. Consistency of data-entry transactions
Cara untuk melakukan penginputan data harus konsisten pada semua kondisi.
Penggunaan simbol-simbol untuk keterangan harus identik satu sama lain.
2. Minimal input actions by user
Jumlah aksi input yang minim merupakan kunci untuk meningkatkan produktivitas
operator. Mempermudah metode penginputan data seperti: menyediakan tombol
shortcut, pemilihan dengan mouse merupakan cara yang sangat baik. Selain itu
dihindarkan juga penginputan data yang sama berkali-kali, karena akan menyita
waktu dan dapat menyebabkan kesalahan yang lebih besar.
3. Minimal Memory Load on users
Ketika melakukan proses penginputan data pemakai tidak harus mengingat kode atau
perintah tertentu yang menyulitkan.
4. Compability of data entry with data display
Format tampilan penginputan data harus sesuai atau mendekati dengan format
tampilan data.
5. Flexibility for user control of data entry
33
Pemakai harus dapat memasukkan data dengan urutan yang dapat mereka kontrol.
Sehingga penginputan data tidak terlalu kaku karena mengikuti aturan tertentu.
2.7.5.3 Prinsip – Prinsip Perancangan Antarmuka Data
Perancangan tampilan data merupakan hal yang vital bagi pemakai. Dengan
perancangan antarmuka data yang baik maka pemakai dapat dengan memudah
mamahami informasi yang dibutuhkan dengan cepat. Smith dan Mosier (1986)
memberikan beberapa poin penting untuk merancang layar tampilan data, seperti
berikut:
1. Consistency of data display
Pada pembuatan desain antarmuka ada hal-hal harus diperhatikan dengan
standarisasi seperti: format, warna, huruf, singkatan dan istilah sehingga tersusun
dengan baik dan tidak membingungkan.
2. Efficient Information assimilation by the user
Format tampilan data harus sudah dikenal oleh pemakai. Format harus disusun
sedemikian rupa sehingga memudahkan untuk dilihat dan dibaca. Bentuk format
desain seperti kolom, rata kiri, spasi, unit nilai dan angka diperhatikan dengan baik.
3. Minimal Memory load on user
Pemakai tidak harus mengingat suatu informasi dari layar window untuk digunakan
pada layar window lainnya. Tugas-tugas dan fungsi-fungsi harus dilakukan dengan
langkah yang minimal.
34
4. Compability of data display with data entry
Format layar tampilan data harus terhubung dengan layar penginputan data.
Misalnya untuk melakukan pengeditan data dapat dilakukan dengan mudah dari
layer data display.
5. Flexibility for user control of data display
Pemakai harus dapat mengatur bagaimana mengatur hasil tampilan data. Misalnya:
pemakai dapat langsung melakukan sortir pada layar tampilan data.