structured equation modelling

of 21 /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

Author: khusnul-hermanto

Post on 20-Oct-2015

20 views

Category:

Documents


1 download

Embed Size (px)

DESCRIPTION

SEM, Case Study, Statistic

TRANSCRIPT

  • 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

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

    }

    }

    }