Option Base 1
Dim spr As New Spreadsheet
Sub Main
Dim akar0, akar1, beda As Double
Dim Nilai1, nilai2 As Double
Dim baris As Integer
akar0=-1
spr.Visible = True
spr.Header ="Latihan ke 7 Newton Raphson"
nilai0=NilaiFungsi(akar0)
baris =1
Do
spr.Cells(baris,1) = baris 'baris
spr.Cells(baris,2) = akar0 'akar0
spr.Cells(baris,3) = NilaiFungsi(akar0) 'nilai fungsi
spr.Cells(baris,4) = NilaiFungsiTurunan(akar0) 'nilai turunan
akar1 =akar0 -(spr.Cells(baris,3)/spr.Cells(baris,4))
spr.Cells(baris,5) = akar1 'akar1
spr.Cells(baris,6) = NilaiFungsi(akar1) 'Nilai fungsi akar1
spr.Cells(baris,7) = NilaiFungsiTurunan(akar1) 'Nilai fungsi Turunan akar1
baris=baris+1
beda =akar1-akar0
akar0=akar1
If baris >=10 Then spr.AddCases (baris,1)
Loop Until (Abs(beda) <=1.0E-6)
End Sub
Function NilaiFungsi(xi As Double) As Double
NilaiFungsi = xi^3 - xi + 2
End Function
Function NilaiFungsiTurunan(xi As Double) As Double
NilaiFungsiTurunan = 3*xi^2 - 1
End Function
Sabtu, 26 Juli 2008
Rabu, 16 Juli 2008
Derajat Kebebasan
Apakah itu derajat kebebasan (Degree of Fredom/df):
Derajat kebebasan (db). Db ini bersumber dari pemikiran ini: tiap kali kita mengestimasi parameter (karakteristik populasi), kita akan kehilangan satu derajat kebebasan. Ilustrasinya begini: misalnya ada populasi dengan mean sebesar 10. Jika kita diijinkan untuk mengambil sampel sebesar 10 orang dari populasi ini, berapa banyak orang yang dapat kita ambil dengan bebas? Misalnya kita ambil orang pertama secara bebas, ia memiliki skor 14. Orang kedua masih dengan bebas, ia memiliki skor 8. Kemudian berturut-turut orang selanjutnya: 15, 6, 11, 14, 8, 6, 5 dan orang kesepuluh…. Tidak. Orang kesepuluh tidak dapat diambil secara bebas lagi. Jika sudah ada 9 angka, angka ke sepuluh tidak lagi dapat ditentukan dengan bebas agar mendapat estimasi yang sama (mean = 10). Misalnya jumlah skor-skor tadi adalah 87. Agar estimasi yang kita dapatkan sama, yaitu mean = 10, orang kesepuluh harus ditentukan sebesar 13. Dengan demikian dapat dikatakan kita kehilangan satu derajat kebebasan.Nah db inilah yang kemudian digunakan untuk melihat tabel t.
Derajat kebebasan (db). Db ini bersumber dari pemikiran ini: tiap kali kita mengestimasi parameter (karakteristik populasi), kita akan kehilangan satu derajat kebebasan. Ilustrasinya begini: misalnya ada populasi dengan mean sebesar 10. Jika kita diijinkan untuk mengambil sampel sebesar 10 orang dari populasi ini, berapa banyak orang yang dapat kita ambil dengan bebas? Misalnya kita ambil orang pertama secara bebas, ia memiliki skor 14. Orang kedua masih dengan bebas, ia memiliki skor 8. Kemudian berturut-turut orang selanjutnya: 15, 6, 11, 14, 8, 6, 5 dan orang kesepuluh…. Tidak. Orang kesepuluh tidak dapat diambil secara bebas lagi. Jika sudah ada 9 angka, angka ke sepuluh tidak lagi dapat ditentukan dengan bebas agar mendapat estimasi yang sama (mean = 10). Misalnya jumlah skor-skor tadi adalah 87. Agar estimasi yang kita dapatkan sama, yaitu mean = 10, orang kesepuluh harus ditentukan sebesar 13. Dengan demikian dapat dikatakan kita kehilangan satu derajat kebebasan.Nah db inilah yang kemudian digunakan untuk melihat tabel t.
Regresi linear 2
Jawaban kenapa ada €i adalah karena dalam analisis regresi, data yang dipakai pada garis regresi adalah data sample dari populasi data yang ada, dan itu adalah rata-rata yi yang didapat pada setiap nilai xi disebut dengan nilai y prediksi (predicted value), sehingga ada gap antara nilai y yang sebenarnya dengan nilai predicted value. gap itulah yang ditampilkan sebagai nilai €i (error/galat).jadi €i dapat di tulis €i = yi - predicted value (y topi).
Bisection
berikut adalah contoh bisection untuk sampai nilai 0.9500000.
terlebih dulu kita sudah menyiapkan suatu sheet kosong, DIMANA Var1 untuk xi, Var2 untuk Xi+1 , Var 3 untuk Q(xi) dan var4 untuk Q(xi+1).
semua Var tersebut harus di set dengan display format number dengan decimal digit 7, untuk tingkat ketelitian 7 digit belakang koma.
kemudian di save.
posisinya harus sama dengan yang ada "h:\kuliah\latihan6.sta" --> bisa di rubah
----
Option Base 1
Option Explicit
'#Uses "*STB.SVX"
'#Uses "*GRAPHICS.SVX"
Dim spr As Spreadsheet
Dim xi As Double
Dim xii As Double
Dim Bariske As Integer
Dim NilaiAwalbawah, NilaiAwalAtas As Double
Sub Main
Dim DisNormal1, DisNormal2 As Double
Dim ArrayXi() As Double
Dim ArrayXii() As Double
NilaiAwalbawah =0.50000
NilaiAwalAtas =2.00000
Set spr= Spreadsheets.Open("h:\kuliah\latihan6.sta")
Bariske = 1
ReDim Preserve ArrayXi(Bariske)
ReDim Preserve ArrayXii(Bariske)
spr.Header ="Latihan ke 6 Bisection "
spr.Visible = True
spr.Cells(1,1) = NilaiAwalbawah
spr.Cells(1,2) = NilaiAwalAtas
spr.Cells(1,3) = HitungNormDist(NilaiAwalbawah)
spr.Cells(1,4) = HitungNormDist(NilaiAwalAtas)
ArrayXi(Bariske) = Round(Abs(0.95-spr.Cells(1,3)),6)
ArrayXii(Bariske)= Round(Abs(0.95-spr.Cells(1,4)),6)
xi = NilaiAwalbawah
xii = NilaiAwalAtas
Bariske=Bariske + 1
ReDim Preserve ArrayXi(Bariske)
ReDim Preserve ArrayXii(Bariske)
Do
'jika xi > xi+1 maka xi+1 Nilainya = nilai sebelumya sebaliknya xi=nilai sebelumnya
If ArrayXi(Bariske-1) < ArrayXii(Bariske-1) Then
spr.Cells(Bariske,1)=spr.Cells(Bariske-1,1)
xii=Format(Nilainya(xi,xii,Bariske,2),"#.00000")
Else
xi=Format(Nilainya(xi,xii,Bariske,1),"#.00000")
spr.Cells(Bariske,2)=spr.Cells(Bariske-1,2)
End If
DisNormal1 = HitungNormDist(xi)
spr.Cells(Bariske,3) = DisNormal1
DisNormal2 = HitungNormDist(xii)
spr.Cells(Bariske,4) = DisNormal2
ArrayXi(Bariske) = Round(Abs(0.95-spr.Cells(Bariske,3)),6)
ArrayXii(Bariske)= Round(Abs(0.95-spr.Cells(Bariske,4)),6)
Bariske = Bariske + 1
ReDim Preserve ArrayXi(Bariske)
ReDim Preserve ArrayXii(Bariske)
If Bariske >= 11 Then spr.AddCases (Bariske - 1,1)
Loop Until (DisNormal1 = 0.9500000 Or DisNormal2 = 0.9500000)
End Sub
Function Nilainya(Bawah As Double, Atas As Double, Baris As Integer, kolom As Integer ) As Double
Dim TmpNilai As Double
Nilainya= ((Bawah + Atas)/2)
spr.Cells(Baris,kolom) = (Bawah + Atas)/2
End Function
Function HitungNormDist(Localxi As Double) As Double
HitungNormDist =Round(INormal(Localxi,0,1),5)
End Function
terlebih dulu kita sudah menyiapkan suatu sheet kosong, DIMANA Var1 untuk xi, Var2 untuk Xi+1 , Var 3 untuk Q(xi) dan var4 untuk Q(xi+1).
semua Var tersebut harus di set dengan display format number dengan decimal digit 7, untuk tingkat ketelitian 7 digit belakang koma.
kemudian di save.
posisinya harus sama dengan yang ada "h:\kuliah\latihan6.sta" --> bisa di rubah
----
Option Base 1
Option Explicit
'#Uses "*STB.SVX"
'#Uses "*GRAPHICS.SVX"
Dim spr As Spreadsheet
Dim xi As Double
Dim xii As Double
Dim Bariske As Integer
Dim NilaiAwalbawah, NilaiAwalAtas As Double
Sub Main
Dim DisNormal1, DisNormal2 As Double
Dim ArrayXi() As Double
Dim ArrayXii() As Double
NilaiAwalbawah =0.50000
NilaiAwalAtas =2.00000
Set spr= Spreadsheets.Open("h:\kuliah\latihan6.sta")
Bariske = 1
ReDim Preserve ArrayXi(Bariske)
ReDim Preserve ArrayXii(Bariske)
spr.Header ="Latihan ke 6 Bisection "
spr.Visible = True
spr.Cells(1,1) = NilaiAwalbawah
spr.Cells(1,2) = NilaiAwalAtas
spr.Cells(1,3) = HitungNormDist(NilaiAwalbawah)
spr.Cells(1,4) = HitungNormDist(NilaiAwalAtas)
ArrayXi(Bariske) = Round(Abs(0.95-spr.Cells(1,3)),6)
ArrayXii(Bariske)= Round(Abs(0.95-spr.Cells(1,4)),6)
xi = NilaiAwalbawah
xii = NilaiAwalAtas
Bariske=Bariske + 1
ReDim Preserve ArrayXi(Bariske)
ReDim Preserve ArrayXii(Bariske)
Do
'jika xi > xi+1 maka xi+1 Nilainya = nilai sebelumya sebaliknya xi=nilai sebelumnya
If ArrayXi(Bariske-1) < ArrayXii(Bariske-1) Then
spr.Cells(Bariske,1)=spr.Cells(Bariske-1,1)
xii=Format(Nilainya(xi,xii,Bariske,2),"#.00000")
Else
xi=Format(Nilainya(xi,xii,Bariske,1),"#.00000")
spr.Cells(Bariske,2)=spr.Cells(Bariske-1,2)
End If
DisNormal1 = HitungNormDist(xi)
spr.Cells(Bariske,3) = DisNormal1
DisNormal2 = HitungNormDist(xii)
spr.Cells(Bariske,4) = DisNormal2
ArrayXi(Bariske) = Round(Abs(0.95-spr.Cells(Bariske,3)),6)
ArrayXii(Bariske)= Round(Abs(0.95-spr.Cells(Bariske,4)),6)
Bariske = Bariske + 1
ReDim Preserve ArrayXi(Bariske)
ReDim Preserve ArrayXii(Bariske)
If Bariske >= 11 Then spr.AddCases (Bariske - 1,1)
Loop Until (DisNormal1 = 0.9500000 Or DisNormal2 = 0.9500000)
End Sub
Function Nilainya(Bawah As Double, Atas As Double, Baris As Integer, kolom As Integer ) As Double
Dim TmpNilai As Double
Nilainya= ((Bawah + Atas)/2)
spr.Cells(Baris,kolom) = (Bawah + Atas)/2
End Function
Function HitungNormDist(Localxi As Double) As Double
HitungNormDist =Round(INormal(Localxi,0,1),5)
End Function
Langganan:
Postingan (Atom)
