structured equation modelling

21
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

Upload: khusnul-hermanto

Post on 20-Oct-2015

39 views

Category:

Documents


1 download

DESCRIPTION

SEM, Case Study, Statistic

TRANSCRIPT

Page 1: Structured Equation Modelling

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

Page 2: Structured Equation Modelling

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

Page 3: Structured Equation Modelling

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.

Page 4: Structured Equation Modelling

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

Page 5: Structured Equation Modelling

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.

Page 6: Structured Equation Modelling

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 :

Page 7: Structured Equation Modelling

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

Page 8: Structured Equation Modelling

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.

Page 9: Structured Equation Modelling

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.

Page 10: Structured Equation Modelling

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

Page 11: Structured Equation Modelling

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)

Page 12: Structured Equation Modelling

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 ,

Page 13: Structured Equation Modelling

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

Page 14: Structured Equation Modelling

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

Page 15: Structured Equation Modelling

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))

Page 16: Structured Equation Modelling

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

Page 17: Structured Equation Modelling

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)

Page 18: Structured Equation Modelling

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

Page 19: Structured Equation Modelling

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);

}

Page 20: Structured Equation Modelling

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]);

}

Page 21: Structured Equation Modelling

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;

}

}

}