structured equation modelling
Embed Size (px)
DESCRIPTION
SEM, Case Study, StatisticTRANSCRIPT

ANALISA DAN SISTEM KEPUTUSAN Tugas Akhir Semester Studi Kasus SEM
Algorithma Linear Regression Dan Markov Chain AGUS HERMANTO NRP. 9112205310 DOSEN Prof. Drs. Nur Iriawan, M.Ikom, PhD.
PROGRAM MAGISTER MANAJEMEN TEKNOLOGI BIDANG KEAHLIAN MANAJEMEN TEKNOLOGI INFORMASI SURABAYA 2014

Halaman 2 | 21
1. Studi Kasus SEM
PENGUKURAN USABILITAS LAYANAN SISTEM INFORMASI KAMPUS XYZ
BERBASIS WEB BERDASARKAN PENILAIAN SUBYEKTIF MAHASISWA
Pendahuluan
Selama ini dalam mengembangkan layanan sistem informasi berbasis web
kurang mem-perhatikan faktor usabilitas dari pengguna. Usabilitas didefinisikan sebagai
kemampuan sistem atau perangkat untuk digunakan oleh manusia dengan mudah, efektif
dan efisien serta memuaskan untuk mencapai tujuan tertentu (Nikov et. al., 2006).
Sedangkan menurut ISO 9241-11, usabilitas mengacu pada tingkat efektifitas, efisiensi
dan kepuasan suatu produk dapat digunakan oleh pengguna tertentu untuk mencapai
tujuan tertentu dan dalam konteks tertentu menurut user.
Pengembangan website yang berkualitas baik membutuhkan metode canggih
untuk desain kegunaan dan evaluasi dari keterpaduan interaksi manusia dan komputer,
aspek kognitif, teknik psikologi dan perangkat lunak (Hornbaek, 2006).
Struktural persamaan modeling (SEM) adalah teknik statistik yang mampu
memeriksa variabel penyebab. Parameter dalam model SEM adalah jalur koefisien jalur
antara variabel yang berbeda, yang mencerminkan hubungan secara efektif. Parameter
diperkirakan dengan meminimalkan perbedaan antara kovarian yang diamati dan yang
tersirat oleh model struktural atau path (McIntosh and Gonzalez, 1994). Tujuan utama
dari SEM adalah untuk mengungkapkan pola rangkaian yang saling terkait hubungan
ketergantungan secara simultan antara satu set konstruksi laten (unobserved), sehingga
masing-masing diukur dengan satu atau lebih variabel manifest (observed). Jadi SEM
tampaknya lebih baik untuk metode analisis kompleks. SEM adalah teknik pemodelan
yang kuat untuk secara efektif menangani multikolinieritas (jika banyak variabel yang
sangat berkorelasi) yang merupakan salah satu manfaat dari SEM yang membuatnya lebih
kuat dari faktor analisis dan regresi berganda dalam evaluasi usablilitas .
Untuk mengukur kualitas layanan berbasis web digunakan instrumen SERVQUAL
berbasis web dengan 28 pertanyaan checklist dalam 6 dimensi yang digunakan (Li, Tan,
and Xie, 2002). Hal ini didasarkan pada SERVQUAL yang menggunakan semantik jarak 5
titik atau 7 titik dengan skala Likert. Kegunaan dan kualitas mempengaruhi satu sama lain
(Bevan, 1995). Sedangkan WebQual (Barnes and Vidgen, 2003) mengevaluasi persepsi
pengguna terhadap kualitas situs web untuk memasukkan dimensi kegunaan dalam
proses penilaian. Tetapi beberapa dimensi kegunaan dan item tampak membingungkan
dan tumpang tindih dengan dimensi kualitas. Oleh karena itu ada kebutuhan dari

Halaman 3 | 21
pendekatan evaluasi kuantitatif komprehensif yang dapat menangani teknik evaluasi
kualitas dan kegunaan. Jadi dalam studi kasus kali ini, SEM digunakan untuk menyajikan
daftar dimodifikasi yang ditingkatkan dengan dimensi kegunaan, untuk mengukur
kegunaan layanan web dan kualitas layanannya untuk mengukur tingkat usabilitas
layanan web sistem informasi kampus.
DESKRIPSI PENGGUNAAN SEM
Berdasarkan metode pemeriksaan usabilitas yang dikembangkan Nielsen (1994)
dan mengacu pada standar ISO 9241-10, dalam studi kasus kali ini dibuatlah sebuah
ceklist dengan 2 dimensi obyektif dan 8 dimensi subyektif yang akan diujicobakan pada
mahasiswa dalam menggunakan Sistem Informasi Kampus XYZ, seperti yang terlihat pada
tabel 1 dibawah ini.
Tabel 1. Dimensi Ceklist
Untuk meningkatkan signifikansi dan pengaruh strategis kegunaan data, ada
kebutuhan untuk mewakili seluruh yang membangun usabilitas sebagai variabel dependen
tunggal (indeks usabilitas) tanpa mengorbankan presisi. Indeks usabilitas adalah ukuran,
yang dinyatakan sebagai persentase dari seberapa dekat fitur dari pertandingan situs web
yang berlaku pedoman umum usabilitas. Dengan mengacu pada standar ISO 9241-10
dalam studi kasus ini digunakan agregat pertama dalam 3 dimensi (sebagian besar
bersifat obyektif) untuk layanan web kuantitatif dengan indeks usabilitas 1 (WSUI1) dan
untuk agregat dimensi subjektif dari kegunaan : keandalan, integrasi komunikasi,
navigasi, pengendalian, jaminan, daya tanggap dan kualitas informasi ke kuantitatif
indeks usabilitas layanan web 2 (WSUI2 ). Tujuan dari pendekatan berbasis SEM adalah
untuk mengukur hubungan struktural antara WSUI1 dan WSUI2.

Halaman 4 | 21
Berdasarkan ketergantungan pada analisis faktor, bobot untuk masing-masing
sub dimensi checklist dapat ditemukan. Misalnya yang subdimensi dari dimensi keandalan
adalah pertanyaan checklist 3 sampai 7. Dengan mengambil nilai analisis faktor menjadi
account, yaitu sebuah agregasi dari masing-masing dimensi yang dapat dihitung dengan
cara yang sama. Dalam pendekatan berbasis SEM ini, dimensi agregat akan diasumsikan
diamati (diukur) untuk variabel laten (unobserved) yang membangun Usability Index 2
dalam hal layanan web. Demikian pula efisiensi, efektivitas, dan kepuasan yang diamati
(diukur) untuk variabel laten (unobserved) yang membangun Usability Index 1 dalam hal
layanan web. Pendekatan ini bertujuan untuk membuktikan keabsahan dari checklist
untuk evaluasi layanan web kegunaan dengan mempertimbangkan baik ukuran objektif
dan subjektif dari kegunaan evaluasi dan menentukan dimensi paling kritis dan usabilitas
layanan web.
Gambar 1. Diagram Hubungan Faktor-Faktor Usabilitas Dengan Pendekatan Berbasis SEM

Halaman 5 | 21
Gambar 2. Bobot Regresi Dalam dan Luar Dengan Pendekatan SEM
PENYELESAIAN PERMASALAHAN
Ceklist dalam eksperimen ini dipelajari dengan menguji dan mengevaluasi
layanan web yang disediakan oleh sistem informasi universitas XYZ dengan responden
mahasiswa. Sebanyak 179 mahasiswa dipilih dari lima fakultas yang berbeda. 40% dari
mahasiswa laki-laki dan 60% perempuan. Semua tes dilakukan di laboratorium komputer
milik Universitas XYZ dengan mengalokasikan satu komputer untuk masing-masing
peserta. Para mahasiswa yang menjadi responden menerima checklist yang berisi tujuan
survei dan mereka harus melanjutkan. Mereka diminta untuk melakukan tiga tugas
menggunakan account pribadi mereka di sistem informasi universitas XYZ.
Sebuah data yang dikumpulkan dianalisis sebagai berikut :
1. Exploratory Factor Analysis (EFA) dengan rotasi untuk menentukan dimensi yang
mendasari layanan usabilitas web index 2.

Halaman 6 | 21
2. Confirmatory Factor Analysis (CFA) digunakan untuk menentukan apakah dimensi
yang diekstrak pada langkah 1 cocok untuk data .
3. Mengukur dampak langsung dan tidak langsung dari layanan usabilitas web index 2 di
layanan usabilitas web index 1 oleh SEM.
EFA dilakukan untuk menghasilkan satu set dimensi non overlapping yang sangat
berbeda dari Web Service Quality untuk sistem informasi kampus dari semua item yang
terdapat di checklist. Analisis faktor yang dihasilkan 7 faktor yang menjelaskan 59,18 %
dari varians yang diamati. Alpha Cronbach untuk faktor-faktor yang mendasari berkisar
dari 0,69 sampai 0,75 dengan menunjukkan tingkat konstruksi reliabilitas yang
memuaskan.
Nilai chi square (323 dengan 227 derajat kebebasan) memiliki tingkat signifikansi
statistik dari 0.0001 yang tidak di atas tingkat minimum 0.05. Meskipun nilai chi -square
dalam model tidak di atas tingkat minimum 0.05, itu telah berpendapat bahwa ukuran chi
kuadrat fit tidak harus dianggap sebagai indikator terbaik dari model fit. Terutama , ketika
ada keberangkatan data dari normalitas. Oleh karena itu, salah satu kebutuhan untuk
menguji X2/df , GFI , AGFI , TLI , dan nilai CFI untuk menilai kecukupan model.
Nilai statistik χ2 adalah 323, dengan nilai rasio χ2/df 1,42. Sebagai rasio ini
adalah dalam kisaran 0-3, di mana nilai lebih rendah menunjukkan lebih sesuai, hasil
menunjukkan bahwa model yang dipergunakan menunjukkan sesuai dengan kriteria ini.
Selain itu, kedua goodness-of-fit (GFI) dan adjusment indeks goodness-of-fit (AGFI) yang
membangun usabilitas layanan web index 2 sangat memuaskan, karena mereka sangat
dekat dengan nilai 1,0, yang menunjukkan kesesuaian. Hasil membuktikan validitas
konstruksi untuk model pengukuran usabilitas layanan web index 2.
Langkah terakhir dalam analisis ini adalah untuk menguji model persamaan
struktural sebagaimana ditentukan dalam Gambar 3. Hipotesis tersebut dalam model
persamaan struktural diuji dengan menggunakan paket perangkat lunak AMOS. Untuk
layanan usabilitas web index 2, variabel indikator adalah dimensi masing-masing (faktor)
sebagaimana ditentukan oleh faktor eksploratori dan konfirmatori analisis. Model fit
menentukan sejauh mana model persamaan struktural sesuai dengan data sampel.
Indeks Goodness-of-fit untuk model path (Satorra-Bentler χ2 = 36,149 dengan df
= 32; GFI = 0.962; AGFI = 0.934, NFI = 0.902, CFI = 0.987, RMSEA = 0,027) baik dalam
batas-batas yang berlaku umum, menunjukkan sesuai dengan data.
Gambar 3 menunjukkan hasil model yang berkaitan dengan hubungan struktural
langsung antara usabilitas layanan web index 1 (WSUI1) dan usabilitas layanan web index
2 (WSUI2) seperti yang ditunjukkan dalam persamaan berikut :

Halaman 7 | 21
η1 (WSUI1) = γ11 ξ1(WSUI2) + ζ1 = 0.91 ξ1 (WSUI2) + 0.735
Model ini memiliki satu variabel endogen (variabel dependen) WSUI1 dan satu
variabel eksogen (independent variabel) WSUI2. Berat regresi standar untuk hubungan
antara WSUI2 dan WSUI1 adalah 0.91 (p <0,001), memberikan banyak dukungan untuk
hipotesis bahwa usabilitas layanan web index 2 memiliki dampak signifikan langsung yang
positif di usabilitas web layanan Index 1. Angka ini tinggi pengaruh WSUI2 pada WSUI1
berarti bahwa jika desainer web service meningkatkan usabilitas dengan langkah-langkah
subjektif, dia akan sangat sukses untuk meningkatkan kinerja usabilitas secara
keseluruhan.
Biasanya desainer tidak punya banyak waktu untuk mengatasi dengan semua
dimensi untuk memperbaiki sistem layanan web secara keseluruhan. Jadi mereka ingin
tahu mana satu dimensi yang paling berpengaruh pada usabilitas. Menurut studi kasus ini,
jaminan (assurance) memiliki usabilitas paling penting untuk layanan web. Dimensi yang
bisa diabaikan sementara dalam perbaikan desain pada layanan web ini adalah navigasi.
Item checklist yang paling penting yang ditemukan adalah : " Apakah tombol kontrol
penting diwakili di layar dan sudah cukup jelaskah bagaimana mereka bekerja ?". Saat
mengganti password sistem tidak memberikan tombol kontrol opsional ( yaitu
membatalkan atau mengabaikan) selain tombol perubahan. Apa yang akan pengguna
lakukan selanjutnya jika dia / dia tidak ingin mengubah password yang sudah ada ? Jadi
pengguna bisa bingung jika ia / dia ingin mengubah password.
Studi ini menemukan bobot yang berbeda untuk langkah-langkah tujuan
usabilitas layanan web dibandingkan dengan bobot ditemukan oleh Sauro (2005) dengan
nilai sebagai berikut : untuk efisiensi - 24 % resp . 25 % , untuk efektivitas - 8 % resp .
50 % dan untuk kepuasan - 73 % resp . 25 % . Dalam kasus ini, para peserta terbiasa
dengan sistem informasi kampus tempat mahasiswa tersebut yang diuji. Jadi pentingnya
efisiensi dan efektif tampaknya tidak dapat diketahui. Dalam studi kasus ini, kepuasan
pengguna memiliki dampak terbesar pada nilai usabilitas.
KESIMPULAN
Untuk evaluasi kegunaan dari layanan web yang menggunakan checklist
dikembangkan. Hal tersebut menyajikan modifikasi model SERVQUAL untuk mengukur
kualitas pelayanan yang diperluas dengan dimensi kegunaan. Data yang dikumpulkan
oleh checklist dikumpulkan untuk indeks kegunaan tujuan kuantitatif dan indeks subjektif
kuantitatif dengan menerapkan struktural persamaan modeling. Sebuah studi kasus
dengan sistem informasi mahasiswa termasuk 179 siswa dilakukan oleh pemodelan

Halaman 8 | 21
persamaan struktural, bobot regresi dari tindakan subjektif dari indeks kegunaan yang
ditentukan.
Hasil SEM menunjukkan bahwa jika dimensi checklist (ukuran subjektif dari
indeks usabilitas) ditingkatkan, usabilitas (ukuran objektif dari indeks usabilitas)
diperkirakan akan meningkat secara signifikan. Yang paling signifikan dari item checklist
mempengaruhi usabilitas layanan web terhubung dengan termasuk tombol kontrol lebih
dalam sistem layanan web. Item checklist paling penting memberitahu kita bahwa tidak
ada banyak kebutuhan untuk menyediakan banyak alat bantu navigasi untuk pengguna
sistem.
Gambar 3. Bobot regresi SEM untuk dimensi Ceklist
Keterangan
1. Contoh studi kasus yang diuraikan diatas merupakan rangkuman dari beberapa hasil
penelitian sebelumnya, seperti yang tercantum dalam bagian referensi dengan
beberapa penyesuaian, tanpa bermaksud mengubah tujuan dan makna aslinya.
2. Penulis hanya menyajikan kembali hasil beberapa penelitian sebelumnya, yang
merupakan kajian literatur saja bukan dari hasil penelitian sendiri, hanya utuk tujuan
pembelajaran saja.

Halaman 9 | 21
Referensi
Nikov, et. al, (2006), Usability Evaluation of Web Services By Structural Equation
Modeling, 3rd Symposium on Production Research, Istanbul, 2006.
Barnes, S.J. and Vidgen, R.(2003) Measuring Web Site Quality Improvements: A Case
Study of the Forum on Strategic Management Knowledge Exchenge, Industrial
Management & Data Systems, Vol. 103, No.5, pp.297-309.
Bevan, N. (1995) Measuring usability as quality of use. Journal of Software Quality, 4,
115-140.
Hornbaek, K. (2006) Current Practice in Measuring Usability: Challenges to Studies and
Research, International Journal of Human-Computer Studies, 64, 79-102.
Nielsen J. (1994). Usability Inspection Methods, Wiley, New York.
Sauro, J., and Kindlund, E. (2005) A Method to Standardize Usability Metrics into a Single
Score. CHI Papers : Methods & Usability, Portland, Oregon, USA.

Halaman 10 | 21
2. Algorithma Markov Chain
Model Rantai Markov dikembangkan oleh seorang ahli Rusia A.A. Markov pada
tahun 1896. Dalam analisis markov yang dihasilkan adalah suatu informasi probabilistik
yang dapat digunakan untuk membantu pembuatan keputusan, jadi analisis ini bukan
suatu teknik optimisasi melainkan suatu teknik deskriptif.
Analisis Markov merupakan suatu bentuk khusus dari model probabilistik yang
lebih umum yang dikenal sebagai proses Stokastik (Stochastic process). Kata stokastik
(stochastics) merupakan jargon untuk keacakan. Konsep dasar analisis markov adalah
state dari sistem atau state transisi, sifat dari proses ini adalah apabila diketahui proses
berada dalam suatu keadaan tertentu, maka peluang berkembangnya proses di masa
mendatang hanya tergantung pada keadaan saat ini dan tidak tergantung pada keadaan
sebelumnya, atau dengan kata lain rantai Markov adalah rangkaian proses kejadian
dimana peluang bersyarat kejadian yang akan datang tergantung pada kejadian sekarang
(Rambe, 2005).
Dalam rantai markov, terdapat probabilitas transisi, yaitu perubahan dari satu
status ke status yang lain pada periode (waktu) berikutnya dan merupakan suatu proses
random yang dinyatakan dalam probabilitas (Abdurrahman, 2003). Perhatikan suatu
proses stokastik {Xn, n=0,1,2,..} apabila Xn=i, maka proses dikatan pada state ke-i.
Misalkan apabila proses berada pada state ke-i, maka akan berpindah ke state-j dengan
peluang Pij, dimana Pij tidak tergantung pada n. Dengan perkataan lain, apabila :
Untuk semua state i0, i1, … , in-1, i,j.. dan semua n ≥ 0, maka proses stokastik
markov chain tersebut adalah stasioner. Untuk selanjutnya, mengingat aplikasi Markov
Chain umumnya untuk state berhingga (finite), maka pembahasan ini hanya akan dibatasi
pada kondisi stasioner dengan state berhingga. Peluang transisi Pij dapat dituliskan dalam
bentuk matrik transisi P :
karena unsur-unsur P adalah non negatif dan jumlah peluang semua unsur pada setiap
baris sama dengan 1 , maka setiap baris vektor peluang dan P adalah matrik stokastik .
Matrik tersebut bersama state awal secara lengkap mendefiniskan suatu proses markov

Halaman 11 | 21
chain. Dengan kata lain, apabila informasi tersebut diketahui, kita dapat menentukan
kejadian, misalkan pada step ke-n. Dalam bahasa matrik hal ini dapat dijelaskan sebagai
berikut. Misalkan w0 melambangkan vektor awal atau state awal, maka :
Dengan demikian, apabila kita berawal pada state i, maka w1 adalah baris ke-i
dari P, w adalah baris ke-i dari Pn. Baris-baris pada Pn, menyajikan vektor-vektor kejadian
untuk berbagi state awal. Peluang Pijn adalah peluang jika dimulai pada state i proses
akan berada pada state j setelah n step.
Sebuah state dikatakan accessible, apabila terdapat peluang yang tidak nol untuk
berpindah dari state ke-i ke state ke-j dalam periode waktu tertentu. Markov chain yang
demikian dikatakan irredusible. Syarat cukup bagi P agar irredusible adalah Pn hanya
memiliki unsur-unsur positip. Agar syarat ini dipenuhi, maka matrik transisi untuk
mendefinisikan suatu proses markov chain regular.
Menurut Ross (1986) dalam Stochastic Processes, dalam kaitannya dengan
markov chain reguler terdapat dua theorema yang menyatakan eksistensi dan keunikan
solusi pada tahap equilibrium. Adapaun theorema yang dimaksud adalah sebagai berikut :
Theorema I
1. Jika P adalah matrik transisi MC reguler, maka :
2. Pn akan menuju sebuah matrik T, apabila n -> ∞
3. Setiap baris dari T sama, yaitu berupa vektor peluang w
4. Semua elemen w selalu positip
Theorema II
Apabila P adalah matrik transisi suatu MC reguler dan T, w seperti pada theorema 1,
maka vektor adalah peluang unik yang memiliki wP = w.
Kedua theorema tersebut menyatakan bahwa kalau P adalah matrik Markov Chain
reguler, maka ada w yang sifatnya unik dan merupakan vektor peluang. Vektor peluang
w tersebut tidak tergantung vektor awal. Dari theorema kita peroleh :
wP = w atau w(P-I) = 0 ………………… (1)

Halaman 12 | 21
dimana persamaan (1) diatas adalah r-1 persamaan yang saling bebas linier dengan r
yang tidak diketahui. Karena w adalah vektor peluang, maka :
∑wj = 1 …………………. (2)
Sehingga dengan menggabungkan persamaan (1) dan (2) diatas kita dapat mencari w,
jika diketahui P. Untuk menggunakan metode kemungkinan maksimum (maximum
likehood estimation) berikut ini :
Pij = (aij) / (∑j aij)
Dimana aij adalah banyaknya perpindahan dari state ke-i ke state ke-j pada periode
pengamatan tertentu.
Dalam pembuatan sub routine (snipet code) rantai markov ini, penulis menggunakan
JavaScript, dengan mengganti sebanyak nol yang diperlukan dengan entri dari matriks
dimulai dari sudut kiri atas untuk kedua matriks A dan B. Hasil komputasi akan berada
dalam matriks C. Berikut adalah langkah-langkah algorithma dalam rantai markov
berdasarkan uraian konsep tentang markov chain diatas :
1. Sebuah matriks A [m dengan n] adalah array persegi panjang dari bilangan real
dengan m baris dan n kolom. Jumlah m dan n adalah dimensi dari A. Angka-angka
dalam matriks disebut entri tersebut. Entri dalam baris i dan kolom j disebut aij atau
AIJ.
2. Penambahan dan Pengurangan Dua Matriks : Penjumlahan dan Selisih Dua Matriks :
Jika A dan B memiliki dimensi yang sama, maka jumlah mereka , A + B, diperoleh
dengan menambahkan entri yang sesuai. Dalam simbol, (A + B ) ij = AIJ + Bij. Jika A
dan B memiliki dimensi yang sama, maka selisih mereka, A - B, diperoleh dengan
mengurangi entri yang sesuai. Dalam simbol, (A - B)ij = AIJ - Bij.
3. Beberapa skalar : Jika A adalah matriks dan c adalah angka (kadang-kadang disebut
skalar dalam konteks ini), maka beberapa skalar, cA , diperoleh dengan mengalikan
setiap entri dalam A dengan c. Dalam simbol, (cA)ij = c(AIJ) .
4. Transpose dari sebuah matrix : Hasil transpose , AT dari matriks A adalah matriks
yang diperoleh dari A dengan menuliskan baris sebagai kolom. Jika A adalah sebuah
matrik B [m dengan n] dan B = AT, maka B adalah [n dengan m] matriks dengan bij =
aji .
5. Perkalian Dua Matriks : Jika A memiliki dimensi [ m dengan n ] dan B memiliki dimensi
[n oleh p] , maka produk AB didefinisikan , dan memiliki dimensi [m oleh p ] .
Masuknya ( AB ) ij diperoleh dengan mengalikan baris i dari A dengan kolom j dari B ,

Halaman 13 | 21
yang dilakukan dengan mengalikan entri yang sesuai bersama-sama dan kemudian
menambahkan hasilnya.
Batasan : Ordo matrik yang dipergunakan adalah 3 x 3
Option Explicit
Dim PMatrix As Range
Dim AnswerVector As Range
Sub Read_Input()
Dim n As Integer
Dim myRange As Range
Call qtsUnprotect(Worksheets("MC"))
Range("InputFields").Interior.ColorIndex =
qtsGetGlobalParm("InputInteriorColor")
Range("Inputfields").Font.ColorIndex =
qtsGetGlobalParm("InputFontColor")
'membaca matrik input
Set PMatrix = Range("PAreaStart").CurrentRegion
PMatrix.Interior.ColorIndex =
qtsGetGlobalParm("InputInteriorColor")
PMatrix.Font.ColorIndex = qtsGetGlobalParm("InputFontColor")
PMatrix.Locked = False
Set myRange = Range("AnsStart").CurrentRegion
myRange.Interior.ColorIndex =
qtsGetGlobalParm("OutputInteriorColor")
myRange.Font.ColorIndex = qtsGetGlobalParm("OutputFontColor")
myRange.Locked = True

Halaman 14 | 21
Set AnswerVector = Range(myRange.Offset(0, 1).Cells(1, 1), _
myRange.Offset(Range("NumberOfStates").Value - 1,
1).Cells(1, 1))
Call qtsProtect(Worksheets("MC"))
Worksheets("MC").Range("$A$1").Activate
End Sub
Sub setupFiniteMC(ContinueFlag As Boolean)
Dim NumberOfStates As Integer, n As Integer
Dim myRange As Range
Call qtsVerifySetupRequest(ContinueFlag)
If Not ContinueFlag Then
Exit Sub
End If
Call qtsUnprotect(Worksheets("MC"))
Range("AnswerArea").Clear
With Range("QArea")
.Clear
End With
PMatrix.Locked = True
NumberOfStates = Range("NumberOfStates").Value
Application.ScreenUpdating = False

Halaman 15 | 21
'reset ukuran matrik berdasarkan input
Set PMatrix = Range("PAreaStart",
Range("PAreaStart").Offset(NumberOfStates - 1,
NumberOfStates - 1))
With PMatrix
.Value = "?"
.Interior.ColorIndex =
qtsGetGlobalParm("InputInteriorColor")
.Font.ColorIndex = qtsGetGlobalParm("InputFontColor")
.Locked = False
.HorizontalAlignment = xlCenter
.NumberFormat = "0.######"
End With
Set myRange = Range("AnsStart",
Range("AnsStart").Offset(NumberOfStates - 1, 1))
With myRange
.Interior.ColorIndex =
qtsGetGlobalParm("OutputInteriorColor")
.Font.ColorIndex = qtsGetGlobalParm("OutputFontColor")
End With
With Range("AnsStart")
For n = 0 To NumberOfStates - 1
.Offset(n, 0).Value = "p" & LTrim(Str(n))
Next n
End With
Set AnswerVector = Range(Range("AnsStart").Offset(0, 1),
Range("AnsStart").Offset(NumberOfStates - 1, 1))

Halaman 16 | 21
Application.ScreenUpdating = True
Call qtsProtect(Worksheets("MC"))
End Sub
Sub solveFiniteMC()
Dim WorkMatrix As Range
Dim WorkMatrix2 As Range
Dim WorkMatrix3 As Range
Dim ConstantVector As Range
Dim i As Integer, j As Integer
Dim ErrMsg As String
Call qtsUnprotect(Worksheets("MC"))
'cek validitas dari Matrix P
If PMatrix.Columns.Count <> PMatrix.Rows.Count Then 'put out
error message
ErrMsg = "Specified Q Matrix is " +
Str(PMatrix.Rows.Count) + " by " +
Str(PMatrix.Columns.Count) + _
" which is not a square matrix."
MsgBox prompt:=ErrMsg, Buttons:=vbOKOnly + vbCritical,
Title:="Error in Q Matrix"
ActiveSheet.Protect
Exit Sub
End If
For i = 1 To PMatrix.Rows.Count
If Abs(Application.Sum(PMatrix.Rows(i)) - 1#) >
qtsGetGlobalParm("Epsilon") Then

Halaman 17 | 21
ErrMsg = "Row " + Str(i) + " of P Matrix does not sum
to one."
MsgBox prompt:=ErrMsg, Buttons:=vbOKOnly + vbCritical,
Title:="Error in P Matrix"
ActiveSheet.Protect
Exit Sub
End If
Next i
'Bersihkan data lama
AnswerVector.ClearContents
Worksheets("WorkArea").Cells.ClearContents
'Set up Work Matrix & constant vector to compute probabilities
Set WorkMatrix = Worksheets("WorkArea").Range("WorkAreaStart",
Range("WorkAreaStart").Offset(PMatrix.Rows.Count - 1,
PMatrix.Columns.Count - 1))
Set ConstantVector =
Worksheets("WorkArea").Range(Range("WorkMatrixStart").Offset(PMatr
ix.Rows.Count + 2, 0), Range("WorkMatrixStart").Offset(2 *
PMatrix.Rows.Count + 1, 0))
ConstantVector = 0#
ConstantVector.Rows(1) = 1#
'Hitung probabilitas
PMatrix.Copy destination:=WorkMatrix
WorkMatrix = Application.Transpose(WorkMatrix)
For i = 1 To PMatrix.Rows.Count
For j = 1 To PMatrix.Rows.Count
If i <> j Then
WorkMatrix.Cells(i, j) = -1 * WorkMatrix.Cells(i,
j)

Halaman 18 | 21
Else
WorkMatrix.Cells(i, j) = 1 - WorkMatrix.Cells(i,
j)
End If
Next j
Next i
WorkMatrix.Rows(1) = 1#
WorkMatrix = Application.MInverse(WorkMatrix)
AnswerVector = Application.MMult(WorkMatrix, ConstantVector)
Range("AnsStart").CurrentRegion.HorizontalAlignment = xlCenter
AnswerVector.NumberFormat = "0.0#####"
Worksheets("WorkArea").Cells.Clear
Call qtsProtect(Worksheets("MC"))
End Sub
Referensi
Edi Abdurrahman, Konsep dasar Markov Chain dan Penerapannya, 2003
Rambe, A. Jabbar M., Teknik Analisa Rantai Markov dalam Analisa Posisi dan
Perpindahan Fungsi Produk Sejenis, Jurnal Sistem Teknik Industri, 2005
Prof. Dr. Hossein Arsham, Business Statistic, University Of Kent, UK, 1994

Halaman 19 | 21
3. Regresi Linear
Formula Persamaan Regresi Linear yang dipergunakan dalam studi kasus ini adalah :
Y = a + bX1 + cX2
Berikut adalah algorithma yang dipergunakan
a. Penentuan dan pembentukan variabel data
b. Perhitungan table koefisien regresi
c. Perhitungan persamaan koefisien regresi
Perhitungan persamaan I dan II
Perhitungan persamaan I dan III
d. Perhitungan persamaan 1_1 dan 1_2
e. Persamaan 2_1 berhasi terbentuk
f. Menghitung nilai b2, b1 dan a
g. Selesai
Adapun dalam pembuatan sub routine (snipet code) regresi linier ini, penulis
menggunakan C++ berbasis obyek.
class LinearRegression
{
public:
LinearRegression(Point2D *p = 0, long size = 0);
LinearRegression(double *x, double *y, long size = 0);
virtual void addXY(const double& x, const double& y);
void clear() { sumX = sumY = sumXsquared = sumYsquared =
sumXY = n = 0; }
void addPoint(const Point2D& p) { addXY(p.getX(),
p.getY()); }
int haveData() const { return (n > 2 ? 1 : 0); }
long items() const { return n; }
virtual double getA() const { return a; }
virtual double getB() const { return b; }
double getCoefDeterm() const { return coefD; }
double getCoefCorrel() const { return coefC; }
double getStdErrorEst() const { return stdError; }
virtual double estimateY(double x) const {return (a+b* x);
}

Halaman 20 | 21
protected:
long n;
double sumX, sumY;
double sumXsquared, sumYsquared;
double sumXY;
double a, b; // coefficients of f(x) = a + b*x
double coefD, // coefficient of determination
coefC, // coefficient of correlation
stdError; // standard error of estimate
void Calculate(); // calculate coefficients
};
LinearRegression::LinearRegression(Point2D *p, long size)
{
long i;
a = b = sumX = sumY = sumXsquared = sumYsquared = sumXY = 0.0;
n = 0L;
if (size > 0L)
for (n = 0, i = 0L; i < size; i++)
addPoint(p[i]);
}
LinearRegression::LinearRegression(double *x, double *y, long
size)
{
long i;
a = b = sumX = sumY = sumXsquared = sumYsquared = sumXY = 0.0;
n = 0L;
if (size > 0L)
for (n = 0, i = 0L; i < size; i++)
addXY(x[i], y[i]);
}

Halaman 21 | 21
void LinearRegression::addXY(const double& x, const double& y)
{
n++;
sumX += x;
sumY += y;
sumXsquared += x * x;
sumYsquared += y * y;
sumXY += x * y;
Calculate();
}
void LinearRegression::Calculate()
{
if (haveData())
{
if (fabs( double(n) * sumXsquared - sumX * sumX) >
DBL_EPSILON)
{
b = ( double(n) * sumXY - sumY * sumX) /
( double(n) * sumXsquared - sumX * sumX);
a = (sumY - b * sumX) / double(n);
double sx = b * ( sumXY - sumX * sumY / double(n) );
double sy2 = sumYsquared - sumY * sumY / double(n);
double sy = sy2 - sx;
coefD = sx / sy2;
coefC = sqrt(coefD);
stdError = sqrt(sy / double(n - 2));
}
else
{
a = b = coefD = coefC = stdError = 0.0;
}
}
}