3 - fredyantoniusihombing

advertisement
TEKNIK SIMULASI
FAKULTAS TEKNIK INFORMATIKA
UNIVERSITAS INDRAPRASTA
PENDAHULUAN
• TUJUAN MEMPELAJARI SIMULASI
Melalui kuliah ini diharapkan kita dapat
mempelajari suatu sistem dengan
memanfaatkan komputer untuk meniru (to
simulate) perilaku sistem tersebut
• CARA MEMPELAJARI SISTEM
– Sistem dapat dipelajari dengan
pengamatan langsung atau pengamatan
pada model dari sistem tersebut.
– Model dapat diklasifikasikan menjadi
model fisik dan model matematik
– Model matematik ada yang dapat
diselesaikan dengan solusi analitis, ada
yang tidak. Bila solusi analitis sulit
didapatkan maka digunakan SIMULASI
SISTEM
Eksperimen
dengan sistem
sebenarnya
Model Fisik
Solusi Analitis
Eksperimen
dengan model
Model Matematik
SIMULASI
DEFINISI – DEFINISI :
• SISTEM
Sekumpulan obyek yang tergabung dalam suatu
interaksi dan inter-dependensi yang teratur.
Sistem dibedakan menjadi dua tipe yaitu sistem
diskrit dan sistem kontinu.
• MODEL
Penyederhanaan dari sistem yang akan dipelajari.
• SIMULASI
Suatu prosedur kuantitatif, yang menggambarkan
sebuah sistem, dengan mengembangkan sebuah
model dari sistem tersebut dan melakukan
sederetan uji coba untuk memperkirakan perilaku
sistem pada kurun waktu tertentu.
Klasifikasi simulasi dalam tiga dimensi:
• Model Simulasi Statik vs. Dinamik
•
•
Model statik: representasi sistem pada waktu tertentu.
Waktu tidak berperan di sini.
Contoh: model Monte Carlo.
Model dinamik: merepresentasikan sistem dalam
perubahannya terhadap waktu.
Contoh: sistem conveyor di pabrik.
Model Simulasi Deterministik vs. Stokastik
Model deterministik: tidak memiliki komponen
probabilistik (random).
Model stokastik: memiliki komponen input random, dan
menghasilkan output yang random pula.
Model Simulasi Kontinu vs. Diskrit
Model kontinu: status berubah secara kontinu terhadap
waktu, mis. gerakan pesawat terbang.
Model diskrit: status berubah secara instan pada titik-titik
waktu yang terpisah, mis. jumlah customer di bank.
Klasifikasi simulasi dalam tiga dimensi:
Model yang akan dipelajari selanjutnya
adalah diskrit, dinamik, dan stokastik, dan
disebut model simulasi discrete-event.
• Simulasi discrete-event:
pemodelan sistem dalam perubahannya
terhadap waktu di mana variabel-variabel
status berubah secara instan pada titik-titik
waktu yang terpisah.
Penggunaan Simulasi :
• Alternatif terakhir, bila cara lain tak dapat
digunakan.
• Pada kenyataannya, berdasarkan hasil
riset di US tahun 1971, dari 1000
perusahaan :
– 20 % (paling banyak) menggunakan teknik
Simulasi,
– 21% menggunakan Linier Programming,
– 2% menggunakan Inventori dan sisanya
menggunakan berbagai teknik-teknik lain.
Mengapa Perlu Simulasi ?
1. Simulasi adalah satu-satunya cara yang dapat
digunakan untuk mengatasi masalah, jika
sistem nyata sulit diamati secara langsung
Contoh : Jalur penerbangan pesawat ruang
angkasa atau satelit.
2. Solusi Analitik tidak bisa dikembangkan, karena
sistem sangat kompleks.
3. Pengamatan sistem secara langsung tidak
dimungkinkan, karena :
- sangat mahal
- memakan waktu yang terlalu lama
- akan merusak sistem yang sedang berjalan.
Kekurangan Simulasi :
1.Simulasi tidak akurat.
Teknik ini bukan proses optimisasi dan tidak
menghasilkan sebuah jawaban tetapi hanya
menghasilkan sekumpulan output dari sistem
pada berbagai kondisi yang berbeda. Dalam
banyak kasus, ketelitiannya sulit diukur.
2.Model simulasi yang baik bisa jadi sangat mahal,
bahkan sering dibutuhkan waktu bertahun-tahun
untuk mengembangkan model yang sesuai.
Kekurangan Simulasi :
3.Tidak semua situasi dapat dievaluasi dengan
simulasi
Hanya situasi yang mengandung ketidak-pastian
yang dapat dievaluasi dengan simulasi. Karena
tanpa komponen acak semua eksperimen
simulasi akan menghasilkan jawaban yang
sama.
4.Simulasi menghasilkan cara untuk mengevaluasi
solusi, bukan menghasilkan cara untuk
memecahkan masalah.
Jadi sebelumnya perlu diketahui dulu solusi atau
pendekatan solusi yang akan diuji.
Aplikasi Studi Simulasi
• Design dan analisa sistem manufaktur
• Mengetahui kebutuhan sofware dan hardware
•
•
•
•
•
•
untuk sebuah sistem komputer.
Mengevaluasi sistem persenjataan baru, dalam
bidaang militer
Menentukan pengaturan dalam sistem
inventory/persediaan.
Mendesign sistem transportasi
Mendesign sistem komunikasi
Mengevaluasi sistem pelayanan dalam bidang
perbankan.
Mengevaluasi sistem ekonomi dan finansial.
Pendekatan Tiga Langkah untuk membangun
Model Simulasi yang valid dan dapat dipercaya
• Langkah 1.
Membangun sebuah model dengan usaha
melibatkan informasi semaksimal
mungkin.
• Berdiskusi dengan para ‘pakar’ sistem
• Melakukan observasi terhadap sistem
• Memanfaatkan Teori yang ada
• Memanfaatkan hasil dari Model simulasi yang
sama dan relevan
• Menggunakan pengalaman atau intuisi
• Memanfaatkan Teori yang ada
• Memanfaatkan hasil dari Model simulasi yang
sama dan relevan
• Menggunakan pengalaman atau intuisi
• Langkah 2.
Menguji asumsi-asumsi model secara empiris
Jika distribusi probabilitas secara teoritis
cocok dengan observasi dan digunakan
sebagai input untuk model simulasi, dapat
diuji dengan pembuatan grafik dan uji
goodness-of-fit
Jika beberapa himpunan data diobservasi
untuk fenomena random yang sama, maka
perbaikan dari penggabungan data tersebut
dapat ditentukan dengan uji Kruskal-Wallis
Salah satu utiliti yang sangat berguna
adalah analisis sensitivitas
• Langkah 3.
Menentukan seberapa representatif data
output Simulasi
VALIDASI, VERIFIKASI, DAN DISAIN
SIMULASI
• Verifikasi:
Menentukan program komputer simulasi bekerja
sebagaimana mestinya, yaitu sama dengan men-debug
program komputer.
Verifikasi memeriksa penerjemahan model simulasi
konseptual (mis., flowchart dan asumsi-asumsi) menjadi
program yang berjalan dengan benar.
• Validasi:
Berkenaan dengan menentukan apakah model
konseptual simulasi (bukan program komputer)
merupakan representasi yang akurat dari sistem yang
dipelajari.
Jika model simulasi dan hasilnya diterima oleh
manajer/client sebagai valid, dan digunakan sebagai alat
bantu dalam pengambilan keputusan, berarti model
tersebut credible.
Waktu dan hubungan dari Validasi dan
Verifikasi :
Establish
Validasi
Verifikasi
Model
Konseptual
Sistem
Analisa &
Data
1,2,3
Validasi
Tersedia
hasil yang
‘Benar’
Program
Simulasi
Pemrogra
man
4
kepercayaan
Implemen
-tasi hasil
Menjalankan
Model
Memberikan
Hasil
5,6,7,8
,9
10
Prinsip-prinsip Pemodelan Simulasi yang
Valid
Umumnya tidak diperlukan adanya korespondensi
satu-satu antara setiap elemen sistem dengan
elemen model.
Acuan untuk menentukan tingkat detil model
simulasi:
- Di awal studi, definisikan dengan hati-hati:
1. isu yang akan diteliti
2. pengukuran kinerja untuk evaluasi
3. konfigurasi sistem alternatif
- Gunakan analisis “pakar” dan analisis
sensitifitas
untuk membantu menentukan
tingkat detil
model.
- Mulailah dengan detil tingkat “menengah”, yang
dapat diubah jika perlu.
Prinsip-prinsip Pemodelan Simulasi yang
Valid
-
-
Jangan mulai dengan terlalu banyak detil,
tetapi model tersebut juga harus punya
tingkat detil yang cukup agar credible.
Tingkat detil model harus konsisten dengan
jenis data yang tersedia.
Waktu dan biaya merupakan faktor utama
dalam menentukan detil model.
Jika jumlah faktor (aspek yang diteliti) pada
studi cukup besar, gunakan model simulasi
“kasar” atau model analitik untuk
mengidentifikasi faktor-faktor yang penting
sebelum mengembangkan moel simulasi
yang detil.
Verifikasi Program Komputer Simulasi
Delapan teknik yang dapat digunakan untuk
mendebug program komputer dari model simulasi:
• Teknik 1:
Dalam mengembangkan model simulasi, tulis
dan debug program komputer dalam bentuk
modul atau subprogram.
• Teknik 2:
Disarankan agar lebih dari satu orang membaca
program komputer jika model simulasi yang
dikembangkan besar. Penulis program itu
sendiri mungkin tidak dapat memberikan kritik
yang baik.
Verifikasi Program Komputer Simulasi
• Teknik 3:
•
•
Jalankan simulasi dengan beberapa setting parameter
input dan lihat apakah outputnya masuk akal.
Teknik 4:
Lakukan “trace”, di mana status sistem yang
disimulasi, yaitu: daftar event, variabel status, cacahan
statistik, dsb., dicetak setelah masing-masing event
terjadi dan dibandingkan dengan perhitungan manual
untuk melihat apakah program bekerja sebagaimana
mestinya.
Teknik 5:
Jika mungkin, model harus dijalankan dengan asumsiasumsi yang disederhanakan di mana karakteristik
yang sebenarnya diketahui atau dapat dihitung
dengan mudah.
Verifikasi Program Komputer Simulasi
• Teknik 6:
•
•
Pada beberapa model simulasi, akan sangat
menolong jika ada animasi output simulasi yang dapat
diteliti.
Teknik 7:
Tuliskan mean dan varians sampel untuk setiap
distribusi probabilitas input simulasi dan bandingkan
dengan mean dan varians yang diinginkan (mis.,
historikal).
Langkah ini menentukan apakah nilai-nilai input
dibangkitkan dengan benar dari distribusi-distribusi
tsb.
Teknik 8:
Gunakan paket simulasi untuk memperkecil jumlah
baris kode yang dibutuhkan.
Pandangan Umum Mengenai Validasi
1.Ekperimen dengan model simulasi merupakan
pengganti dari eksperimen dengan sistem yang
ada atau yang diusulkan. Dengan demikian,
tujuan ideal dari validasi adalah menjamin
bahwa model simulasi cukup baik sehingga
dapat digunakan untuk mengambil keputusan
bagi sistem.
2. Kemudahan atau kesulitan proses validasi
bergantung pada kompleksitas sistem yang
dimodelkan dan apakah versi sistem tersebut
sudah ada.
3. Model simulasi dari sistem yang kompleks
hanya dapat merupakan pendekatan sistem
yang sebenarnya.
Pandangan Umum Mengenai Validasi
4.Model simulasi harus selalu dikembangkan
untuk sekumpulan tujuan tertentu. Model yang
valid untuk satu tujuan belum tentu valid untuk
tujuan lainnya.
5. Catatan asumsi-asumsi model simulasi harus diupdate secara teratur, dan akhirnya menjadi
laporan akhir.
6. Model simulasi harus divalidasi relatif terhadap
ukuran-ukuran kinerja yang nanatinya dipakai
untuk pengambilan keputusan.
Pandangan Umum Mengenai Validasi
7.Validasi bukan sesuatu yang harus diusahakan
setelah model simulasi selesai dikembangkan,
melainkan, pengembangan model dan validasi
harus dilakukan bersama-sama sepanjang studi
simulasi.
8. Umumnya tidak mungkin melakukan validasi
statistik antara data output model dan data
output sistem ybs (jika ada), bergantung pada
sifat data tsb.
Pembangkit Bilangan Acak
(Random Number Generator)
• CARA MEMPEROLEH :
– ZAMAN DAHULU, dgn cara :
• Melempar dadu
• Mengocok kartu
– ZAMAN MODERN (>1940), dgn cara :
membentuk bilangan acak secara numerik/
aritmatik(menggunakan komputer) , disebut
“Pseudo Random Number” (bilangan pseudo
acak).
• PEMBANGKIT BILANGAN ACAK, HARUS :
– Berdistribusi uniform(0,1) dan tidak
berkorelasi antar bilangan.
– Membangkitkan cepat, storage tidak besar
– Dapat di “reproduce”
– Periode besar, karena mungkin bil.acak
dibangkitkan berulang
Pseudo Random Number Generator
• METODE KONGRUEN MULTIPLIKATIF
Xn = (aXn-1) modulo m
Dimana :
– Bil. Pseudo dimulai dgn nilai awal X0 yang
disebut benih.
– a & m : bilangan bulat positif tertentu
– aXn-1 dibagi dgn m dan sisanya diambil
sebagai nilai Xn
Pseudo Random Number Generator
• Agar Xn berprilaku acak yang dapat
dipertanggungjawabkan :
– Modulo m dipilih sebesar mungkin untuk
memperbesar periode
– a dipilih agar korelasi antar Xn minimum
– Benih Xo: bil. Bulat positif ganjil, Xo<m
– Bil acak : Ui = Xn/m
Metode Pembangkit Kongruen Campuran
Xn = (aXn-1 + C) mod.m
Pemilihan a,c, m dan x0 :
• m = 2w-1
• a  2w/2 dan a  1 (mod 4)
• c & X0 bil. Bulat positif ganjil < m
(c<m , X0<m)
Metode Pembangkit Kongruen Campuran
Catatan:
• Periode pembangkit multiplikatif m/4
• Pembangkit campuran dgn periode penuh (=m)
jika :
– m dan c pembagi bersamanya adalah 1
– Jika m habis dibagi oleh bil. q yang prima,
maka (a-1) juga habis dibagi oleh q
– Jika m habis dibagi 4 maka begitu pula (a-1)
Contoh :
• METODE KONGRUEN MULTIPLIKATIF
misal komputer berkapasitas 12 bit word
W = 12
m = 2 w-1 = 2 11 = 2048
a = 67  a  2 6 & a  3 (mod 8)
misal : Xo = 129
X1 = (67)(129) mod 2048 = 451
X2 = (67)(451) mod 2048 = 1545
X3 = (67)(1545)mod 2048 = 1115
X4 = (67)(1115)mod 2048 = 977
Contoh :
U1 = 451/2048 = 0,22015
U2 = 1545/2048 = 0,754395
U3 = 1115/2048 = 0,544434
U4 = 977/2048 = 0,477051
Periode : m/4 = 2048/4 = 512
U1 = U513
U2 = U514
Contoh :
• METODE KONGRUEN CAMPURAN
misal komputer berkapasitas 12 bit word
 a = 65 (  2 6 &  1 mod 4 )
m = 2 12-1 = 2048
misal c = 1 , Xo = 129
X1 = {(65).(129)+1} mod 2048 = 194
X2 = {(65).(194)+1} mod 2048 = 323
X3 = {(65).(323)+1} mod 2048 = 516
X4 = {(65).(516)+1} mod 2048 = 773
U1 = 194/2048 = 0,094727
U2 = 323/2048 = 0,157715
U3 = 516/2048 = 0,251953
U4 = 773/2048 = 0,377441
VARIABEL ACAK DAN FUNGSI DISTRIBUSI
PROBABILITAS
• Variabel acak (random variable):
variabel yang nilainya ditentukan oleh hasil
sebuah eksperimen. Yaitu, variabel acak
merepresentasikan hasil yang tidak pasti.
• Variabel acak diskrit:
variabel acak yang nilainya dapat dicacah
(dihitung).
Contoh:
- Jumlah pembeli yang memasuki sebuah toko.
- Jumlah televisi yang terjual pada periode
tertentu.
• Variabel acak kontinu:
Variabel acak yang nilainya tidak dapat dicacah.
Contoh:
- Perpanjangan pegas jika ditarik.
- Berat segenggam strawberry.
• Distribusi probabilitas dari variabel acak diskrit
adalah tabel, grafik, atau rumus yang
menyatakan probabilitas setiap nilai yang
mungkin dimiliki variabel acak.
Contoh:
Ada sebuah kuis dengan tiga pertanyaan
dengan kemungkinan jawaban benar/salah.
Ruang sampel kuis ini terdiri dari hasil
Variabel Acak Diskrit
Distribusi Binomial
• Ciri: * Percobaan terdiri dari n ulangan
•
independen, yang dapat
diklasifikasikan
menjadi berhasil atau
gagal
* Probabilitas berhasil (p) dari satu ulangan
ke ulangan lainnya konstan.
Fungsi Probabilitas:
• Nilai Ekspektasi: np
• Varians: np (1 – p)
Variabel Acak Diskrit
Algoritma Binomial
• Bangkitkan U
• C=P/(1-P), I=0, pr=(1-P)n, F=pr
• if U<F, then x=I, stop
• Pr={C (n-i)/(i+1)}pr, F=F+pr, i=i+1
• Go to 3
Variabel Acak Diskrit
Distribusi Poisson
• Ciri: Dalam selang waktu T jumlah peristiwa
terjadi independen terhadap jumlah kejadian
yang terjadi pada waktu yang lain, dengan
peluang kejadian tunggal selama periode waktu
sangat singkat proporsional terhadap panjang
interval waktu. Peluang lebih dari satu kejadian
dlm waktu yang sangat singkat neglibible.
Variabel Acak Diskrit
• Fungsi Probabilitas :  k e  
k!
• Nilai Ekspektasi : 
• Varians : 
Algoritma:
• Bangkitkan U
U(0,1)
• i=0, p=e- , F=P
• if U<F then x=i stop
• p=p/(i+1), F=F+P, i=i+1
• Go to 3
Variabel Acak Diskrit
Distribusi Hipergeometri
Ciri: Sampel acak dengan ukuran n dipilih
dari populasi ukuran N, dimana sejumlah k
dapat diklasifikasikan sukses dan N-k gagal.
Fungsi Probabilitas :
C M, x C N  M ,n  x
C N ,n
Variabel Acak Diskrit
Nilai Ekspektasi:
 M 
n

 N 
Varians :
nM N - M  N  n 
N 2  N  1
Distribusi Acak Kontinu
Algoritma:
• bangkitkan bilangan acak U1 dan U2
• Set t=-log(U1U2)
• Bangkitkan bilangan acak U3
• X=tU3, Y=t-X
Distribusi Eksponensial
Fungsi Probabilitas :
f (x) = ae-ax
Prosedur Statistik untuk membandingkan
data output dari observasi dunia nyata dan
simulasi
• Pendekatan Inspeksi
Korelasi Pendekatan Inspeksi :
Data Input Sistem Secara
Historis
Model Simulasi
Sistem Aktual
Data Output
Sistem
Data Input Sistem Secara
Historis
Perbandingan
Data Output
Model
• Pendekatan Interval Konfidensi
berdasarkan data independen
• Pendekatan Time Series
Contoh – Kasus 1
• Kasus Komputer On-Line
 Komputer segera merespon perintah yang
diterimanya
 Perintah diterima melalui saluran komunikasi
dengan kecepatan B perintah / detik
 Rata-rata setiap perintah terdiri dari
b
karakter.
 Sebagian perintah (k) membutuhkan jawaban
rata-rata sebanyak r karakter.
 Setiap perintah diterima oleh buffer (sekaligus
tempat mengirim jawaban) yang berdaya
tampung maksimum m karakter per detik.
Contoh – Kasus 1
• Proses sebuah perintah yang diterima
membutuhkan 2000 instruksi.
• Penyiapan jawaban membutuhkan program
dengan 1000 instruksi.
• Proses interupsi dalam melakukan transfer
data baik ke dalam / ke luar komputer
membutuhkan eksekusi 1000 instruksi.
Contoh – Kasus 1
• Asumsi :
1.
Terdapat 3 jenis komputer berdasarkan tingkat
kecepatan :
• kecepatan rendah (P1 = 25.000 instruksi/detik)
• kecepatan sedang (P2 = 50.000 instruksi/detik)
• kecepatan tinggi (P3 = 100.000 instruksi/detik)
2. Terdapat 4 ukuran buffer (m) = 1 , 2 , 5, dan 10
karakter
• Permasalahan :
•
•
Bila data harga diketahui maka mana rancangan yang
termurah ?
Rancangan komputer yang mana yang mampu
mempertahankan aliran data ?
Contoh – Kasus 1
• Solusi :
• Akan dihitung berapa karakter per detik yang
ditransfer dan
• membandingkannya dengan jumlah instruksi yang
harus dieksekusi setiap detiknya.
• Berdasarkan kondisi yang ada :
• Terdapat B perintah yang masuk dan kB jawaban
yang ke luar per detik, sehingga akan membutuhkan
Bb + kBr karakter per detik untuk melewati Buffer.
• Kapasitas maksimum Buffer m karakter sehingga
akan terdapat (Bb + kBr)/m interupsi per detik.
Contoh – Kasus 1
Instruksi yang terjadi per detik:
• untuk perintah masuk = 2000 x B
• untuk jawaban = 10000 x kB
• untuk interupsi = 1000 x B(b+kr)/m
Jumlah Instruksi per detik (N) :
N = 2000 x B + 10000 x kB +
1000 x B(b + kr)/m
Contoh – Kasus 1
Jadi Model Matematikanya :
N = 2000 x B + 10000 x kB +
1000 x B(b + kr)/m
Simulasinya : Bila
B = 5 perintah
b = 15 karakter
k = 10 % dari perintah yang memerlukan jawaban
r = 50 karakter jawaban
Contoh – Kasus 1
Maka rancangan komputer yang mampu
mempertahankan aliran data yaitu :
N  P(i)
N = 2000 x 5 + 10000 x 5 x 0.1 +
1000 x 5 (15 + 5)/m
= 15000 + 100000/m  P(i)
3 + 20/m  P(i)/5000
20/m  P(i)/5000 - 3
…. ( N  P(i) )
………..(1)
Contoh – Kasus 1
Berdasarkan pers (1), dengan kondisi
minimal akan diperoleh rancangan dengan
alternatif sebagai berikut :
1. Komputer Kecepatan tinggi dengan Buffer 2
2.
3.
karakter
Komputer Kecepatan sedang dengan Buffer 5
karakter
Komputer Kecepatan rendah dengan Buffer 10
karakter
Contoh – Kasus 1
Bila memperhatikan harga dari komputer
berdasarkan tingkat kecepatannya maka
solusi optimal yang diperoleh dengan tetap
mempertahankan aliran data yang ada yaitu :
Rancangan Komputer Kecepatan rendah
dengan Buffer 10 karakter
Contoh – Kasus 1
Algoritma Kasus 1 :
1. Input data sistem.
2. Hitung jumlah instruksi yang dibutuhkan per
detik untuk setiap alternatif buffer yang ada
3. Bandingkan setiap hasil langkah-2 dengan
kecepatan maksimum dari setiap kemungkinan
komputer yang tersedia.
4. Tetapkan rancangan sistem komputer yang
mampu mempertahankan aliran data.
Contoh – Kasus 2
• Kasus Komputer Real Time
Diberikan suatu rancangan sebuah mesin
pengolah data yang bekerja secara real time,
yang terdiri dari komponen-komponen (lihat
Gambar 2.1) :
 Terminal Masukkan,
 CPU,
 Memory,
 Sabuah saluran komunikasi dari CPU ke
media penyimpan (disk), dan
 3 buah media penyimpan.
Contoh – Kasus 2
CPU
Disk - 1
Disk - 2
Message
Disk - 3
Memory
Gambar 2.1. Rancangan Mesin - Real Time
Contoh – Kasus 2
Spesifikasi perangkat keras dari
komponen-komponen sistim :
• Kecepatan CPU mengolah data bervariasi antara 6
•
•
•
•
milidetik (mdet) sampai dengan 14 mdet.
Waktu yang dibutuhkan CPU untuk memasukkan
perintah (message) ke dalam memori adalah 1
mdet.
Panjang perintah berkisar antara 10 sampai 20 unit.
Kapasistas memori 2000 unit.
Waktu untuk mencari lintasan dari disket berkisar
antara 40 - 2000 mdet.
Contoh – Kasus 2
• Waktu untuk mencari sektor media penyimpanan
berkisar antara 0 - 50 mdet.
• Berkas yang dibutuhkan agar suatu perintah dapat
dilayani terdistribusi secara merata ke ketiga media
penyimpanan.
• Waktu yang dibutuhkan oleh berkas untuk
menempuh saluran komunikasi adalah 2 mdet.
Contoh – Kasus 2
• Waktu untuk mencari sektor media penyimpanan
berkisar antara 0 - 50 mdet.
• Berkas yang dibutuhkan agar suatu perintah dapat
dilayani terdistribusi secara merata ke ketiga media
penyimpanan.
• Waktu yang dibutuhkan oleh berkas untuk
menempuh saluran komunikasi adalah 2 mdet.
Contoh – Kasus 2
Asumsi dari komponen-komponen
sistim :
• Waktu
kedatangan
perintah
berdistribusi
eksponensial dengan rata-rata 50 mdet.
• Berkas yang dibutuhkan oleh suatu perintah
tersebar ke ketiga media penyimpanan dengan
kemungkinan yang sama.
• Panjang perintah berdistribusi uniform dari 10 - 20
unit.
• Waktu proses berdistribusi normal dengan rata-rata
10 mdet dan standar deviasi 4 mdet.
Contoh – Kasus 2
Pengendalian kerja sistim :
• Perintah yang dibaca oleh CPU dimasukkan dalam
antrian di memori.
• Kemudian CPU mendecode perintah yang berada
terdepan pada antrian di memori.
• Bila saluran komunikasi dalam keadaan tidak
terpakai maka berkas yang dibutuhkan oleh perintah
yang sedang dilayani dapat ditransfer ke CPU untuk
diolah.
• Sebaliknya, bila saluran komunikasi dalam keadaan
terpakai maka pelayanan ditunda sampai saluran
komunikasi siap dan permintaan akan ditransfer
berkas dimasukkan dalam antrian saluran
komunikasi.
Contoh – Kasus 2
Permasalahan :
Bagaimana unjuk kerja dari sistim melalui
pengukuran besaran-besaran sebagai berikut :
• Waktu tunggu rata-rata, waktu tunggu maksimum,
waktu tunggu minimum dari suatu perintah untuk
mendapat layanan CPU,
• Panjang antrian yang terjadi,
• Utilisasi dari komponen-komponen sistim (waktu
sibuk CPU, waktu sibuk saluran komunikasi, ratarata pemakaian memori).
OFC-11: Pengertian Random
Number
SIMULASI PSEUDO
RANDOM
• Ciri2-nya
– 1.Simulasi dengan mempergunakan bilangan random
disesuaikan dengan fungsi generator Probabilitas
– 2. Proses pseudo random menghasilkan bilangan
random yang berada dalam distribusi peluang
tertentu untuk dapat mendekati nilai dunia nyata yang
berdasar fungsi distribusi peluang statistik tertentu.
– 3. Distribusi Probabilitas Komulatif mempunyai dua
bentuk yaitu bentuk diskrit dan kontinu.
Phases in Simulation Study
Problem
formulation
Model
Formulation
Data collection
Data analysis
Program
Generation
Model
valid
Fine model
Experimental
Design
Analysis
Simulation Results
Contoh Program Generation ;
diagram alir simulasi
loading - unloading di pelabuhan laut
Kapal tiba
Kapal tiba
Kapal Tunggu dilaut
ada
Tidak ada
Kapal Tarik
Tarik ke darmaga
Tunggu didarmaga
Tidak ada
Bongkar muatan
Kapal Tarik
Kapal pergi
ada
Tarik ke laut lepas
Penjelasan gambar diatas
1. Kapal akan tunggu dilaut bila kapal tarik tidak ada karena
lagi dipakai.
2. Kapal akan tunggu didarmaga bila kapal tarik lagi dipakai.
3.Bila hendak mengetahui efektifitas dari kapal tarik, ada tiga
waktu yang harus di-ketahui
a. Lama waktu kapal tarik menarik kedermaga
b. Waktu bongkar muatan kapal
c. Waktu tarik dari darmaga kelaut.
Simulasi dikembangkan untuk mengetahui
1. waktu rata2-nya, bila kapal tarik jumlahnya terbatas.
kapal
2. Tidak diketahui kapal kapal-tarik siap utk menarik
yang datang.
3. Waktu bongkar muatan tergantung kapasitas kapal
yang datang.
DATA YANG BERKAITAN
DENGAN SIMULASI
• 1. Koleksi data; data yang dikumpulkan
adalah data dasar untuk membangun
program simulasi, dan berkaitan dengan
variabel random dalam simulasi.
• 2.Analisis data; Tentukan fungsi generator
untuk membentuk distribusi
probabilitasnya secara komulatif.
• 3. Buat histogram komulatif
DISTRIBUSI PROBABILITAS PSEUDO RANDOM
Distribusi probabilitas adalah nilai-nilai probabilitas
dipergunakan untuk mewakili semua nilai yang dapat terjadi dari
suatu variabel random X.
Variabel random X adalah sesuatu yang nilainya ditentukan
oleh perobahan dari proses yang berada diluar kontrol kita.
Jumlah probabilitas dari semua kemungkinan kejadian
harus sama dengan satu.
Simbol probabilitas dinyatakan sebagai P(x=X) atau P(X)
yaitu bilangan random dengan nilai dari 0 sampai dengan 1.
Variabel random diskrit adalah semua nilai random dalam
tabel dengan harga diskrit .
Variabel random kontinyu adalah semua nilai pecahan yang
dapat terjadi, tidak semuanya dalam tabel, dengan harga
dinyatakan dengan fungsi kontinyu.
TEORI PROBABILITAS;
• Teori probabilitas selalu berhubungan dengan suatu
kejadian khusus yang disebut kejadian random (random
events).
• Random events yaitu kejadian dimana outcome (keluaran)
terjadi karena adanya kesempatan/chance, atau keluaran
dugaan/ probability of the outcome.
• Konsep dasar suatu probability of the outcome dapat
dicari sebagai prosentasi waktu kapan kejadian outcome
tersebut terjadi. (Outcome tergantung pada waktu).Misal tos
mata uang dimana pada sebagian waktu (50% waktu tos)
akan terbuka sisi salah satu muka dari mata uang tersebut.
• Dua konsep yang berpengaruh terhadap teori probabilitas
adalah;
– Obyektif ; dimana probabilitas dihubungkan terhadap long run
frequencies of occurance.(Pada waktu yang lama maka tos
mata uang akan menghasilkan kemungkinan 50% untuk setiap
sisis muka mata uang.
– Subyektif; dijaga suatu tingkat kepercayaan (Degree of belief).
Lanjutan Probabilitas;
•
Menghitung harga probabilitas;
–
P(x) = 1/ n! ,
Misal;
•
untuk mata uang koin P(x) = 1 / 2! = 0.50, yaitu pada tos mata uamg
tersebut dilakukan dalam jumlah yang banyak akan terbukti bahwa masing
masing akan bergantian sis muka yang keluar sebanyak 50%.(Buktikan).
Contoh; Misalkan koin di-tos sebanyak 1000 kali, maka ekspektasi dari sisi
muka yang akan keluar adalah masing masing 500 kali. Bila fair games
dilakukan maka antara bandar dan penjudi akan sama sama menang.
25oCjanuari di daerah puncak bertemperatur 25 o C adalah
• Probabilitas dari bulan
1/10, artinya
– Telah diselidiki oleh biro statistik bahwa selama 10 tahun tiap bulan januari ada
1 bulan yang bertemperatur 25oC, atau
– berdasar perubahan klimatologi maka setiap januari dalam perioda 10 tahunan
akan ada 1 bulan dimana di Puncak bertemperatur 25oC.
– Penggunaan probabilitas untuk mengukur Expected value
• Expected value (w) = w1 p1 + w2p2 + ...............
• Untuk koin dimana p1 + p2 = 1 , bila p1 untuk kemenangan (positif) dan w =
w1 0.5 + w2 ( - 0.5) = 0
• p2 untuk kekalahan (negatif) maka Bila untuk tos koin diatas w1 = Rp 200,
sedangkan w2 = Rp.100, maka w = 200 (0.5) - 100 (0.5) = Rp.50.- Artinya
setiap main akan ada rata rata kemenangan sebesar Rp/50,-
DISTRIBUSI PROBABILITAS;
•
•
•
•
Distribusi probabilitas selalu berhubungan dengan suatu kejadian khusus
yang disebut kejadian random (random events).
Random events yaitu kejadian dimana outcome (keluaran) terjadi karena
adanya kesempatan/chance, atau keluaran dugaan/ probability of the
outcome.
Konsep dasar suatu probability of the outcome dapat dicari sebagai
prosentasi waktu kapan kejadian outcome tersebut terjadi. (Outcome
tergantung pada waktu).Misal tos mata uang dimana pada sebagian waktu
(50% waktu tos) akan terbuka sisi salah satu muka dari mata uang
tersebut.
Dua konsep yang berpengaruh terhadap teori probabilitas adalah;
– Obyektif ; dimana probabilitas dihubungkan terhadap long run
frequencies of occurance.(Pada waktu yang lama maka tos mata uang
akan menghasilkan kemungkinan 50% untuk setiap sisis muka mata
uang.
– Subyektif; dijaga suatu tingkat kepercayaan (Degree of belief).
Lanjutan Probabilitas;
• Menghitung harga probabilitas;
– P(x) = 1/ n! ,
Misal;
• untuk mata uang koin P(x) = 1 / 2! = 0.50, yaitu pada
tos mata uamg tersebut dilakukan dalam jumlah
yang banyak akan terbukti bahwa masing masing
akan bergantian
sis muka yang keluar sebanyak
25 C
50%.(Buktikan). Contoh; Misalkan koin di-tos
sebanyak 1000 kali, maka ekspektasi dari sisi muka
yang akan keluar adalah masing masing 500 kali. Bila
fair games dilakukan maka antara bandar dan
penjudi akan sama sama menang.
• Probabilitas dari bulan januari di daerah puncak
bertemperatur 25 o C adalah 1/10, artinya
o
– Telah diselidiki oleh biro statistik bahwa selama 10
tahun tiap bulan januari ada 1 bulan yang
bertemperatur 25oC, atau
– berdasar perubahan klimatologi maka setiap januari
dalam perioda 10 tahunan akan ada 1 bulan dimana di
Puncak bertemperatur 25oC.
Penggunaan probabilitas untuk mengukur Expected
value
Expected value (w) = w1 p1 + w2p2 + ...............
Untuk koin dimana p1 + p2 = 1 , bila p1 untuk
kemenangan (positif) dan w = w1 0.5 + w2 ( - 0.5) =
0
p2 untuk kekalahan (negatif) maka Bila untuk tos
koin diatas w1 = Rp 200, sedangkan w2 = Rp.100,
maka w = 200 (0.5) - 100 (0.5) = Rp.50.- Artinya
setiap main akan ada rata rata kemenangan
sebesar Rp/50,-
PERBANDINGAN SIMULASI
DENGAN OPTIMASI (?)
• Model Simulasi
– Input:
• Nilai parameter dan
keputusan
– Proses:
• Simulator
– Output:
• Ukuran efektivitas
• Model Optimasi
– Input;
• Parameter
– Proses:
• Model optimasi
matematika
– Output:
• Variabel keputusan
yang optimal dan nilai
optimal ukuran
efektivitas
Analisis Peluang Dalam
Kasus Pseudo Random
1. Teori Peluang
Peluang adalah suatu probabilitas (ukuran
kecenderungan atas munculnya/terjadinya
suartu peristiwa/kejadian/event.
2. Nilai probabilitas
antara 0 dan
1
3. Komponen peluang;
Event, Ruang sample,dan sample.
Ringkasan Distribusi Peluang
1. Distribusi
exponensial;
1. Rata rata = ß= 1/ λ
2. Variansi = ß 2
2. Distribusi Normal
1. Rata rata = µ
2. Variansi = σ2
3. Distribusi bernoulli;
1. Rata rata = P
2. Variansi = P(1-P)
3. Distribusi binomial;
– Rata rata = nP
– Variansi + nP(1-P)
4. Distribusi Poisson;
1. Rata rata = λ
2. Variansi = λ
5. Distribusi Uniform;
– Rata rata = (B+A)/2
– Variansi = (B-A)2 / x
D.P diskrit contohnya adalah
D.P. Poisson.
• Variabel X = jumlah kejadian pada interval
waktu tertentu. (Mis. 1 hari terjual mobil 2
mobil,dst).
• Bila rata2 banyaknya kejadian perinterval
waktu = λ.
• Jadi P(X)= λx e -λ / x!
• contoh; jumlah mobil terjual setiap harinya
akan mengikuti distribusi Prob. Poisson.
HUBUNGAN X vs P(X)
Disini hubungan D.P nya adalah Kontinyu dan berdistribusi
Normal, dimana nilai P(X) dinyatakan untuk mewakili nilai
variabel random X.
P(X)
f{P(X)}
0.20
0.15
0.10
0.05
f{P(X)}=
a1 a2 a3 a4
m
b4
1/(2πσ2)1/2 e -(x-µ)2/2σ2
b3
b2 b1
X
Pembangkitan Bilangan Acak
Random Number Generator
• Definisi; Suatu algoritma yang digunakan untuk
menghasilkan uruta-urutan angka angka random
baik secara hitungan manual maupun komputasi
elektronik (komputer)
• Bilangan acak disesuaikan dengan besar
probabilitas yaitu antara 0 s/d 1.0 dan
berdistribusi seragam.
• Syarat Pembangkitan Bilangan acak;
– Bersifat random
– Tidak ber-ulang (Degenerative)
– Perioda ulang biasanya munculnya sangat panjang
Metoda Pembangkitan Bilangan
Acak
• Manual Sederhana;
– dengan lempar koin, ambil bola pingpong dalam keranjang
secara acak, lempar dadu, putaran roullete.
• Tabel bilangan acak.
– Berupa daftar angka acak yang sudah diakui kebenaran acaknya
• Menggunakan Komputer.;
– Menggunakan algoritma komputer yang diprogram
• Jenis bilangan acak
– Murni; acak langsung dipergunakan contoh peristiwa simulasi
Monte Carlo penjualan sepatu .
– Tidak Murni (Pseudo random); dihasilkan acak dengan rumusan
matematik, atau bilangan acak diperoleh berdasar hitungan
distribusi statistik tertentu, Misal Poisson, Eksponensial, dsb.
Jenis Bilangan Acak
1. Midsquare Method
1. Prosedur;
1. Tentukan Seed; angka random awal dari 4 digit
angka random
2. Kuadratkan
3. Ambil empat digit yang ditengah
4. Kembali ke langkah 2
5. Ulang sebanyak bilangan acak yang di-inginkan
6. Contoh: Seed= 7812, (7812)2 , 51581124,
(5811)2
Bentuk Tabulasi Midsquare method
Zi
Zi2
7182
U
Bilangan acak
terpilih
-
51581124
5811
0.5811
33767721
7677
0.7677
58936329
9363
0.9363
Random Number Generator
• Linear Conguential Generator (LCG)
Rumus;
Zi = (a Zi-1 + c ) mpd m
Dimana a = multiplier, c = increment, Zo = Seed
Zi = Sisa hasil bagi random number , m = angka modul;
Syarat konstanta;
– harga a > √m atau ; m/100 < a < m - √m
– Harga c harus ganjil, tidak merupakan kelipatan dari angka m
– Modul m harus bilangan yang tdak dapat dibagi (Bilangan prima)
– Harga Seed harus angka integer ganjil dan besar.
Ui = Zi /m
Random Number Generator
• Multiplicative Congruential Generator
(MCG)
– Rumus: Zi = (a Zi-1) mod m
• Mixed Congruential Generator (Linier
Congruential Random Number Generator);
– Rumus;
Zn = an Zo + (an – 1)/(a – 1). C (mod m)
Linier Congruential Random
Number Generator
• Persyaratan
Persyaratan;
N integer > 0, C = Bilangan prima
– Bila C bilangan prima terhadap n berarti pembagi
umum yang terbesar dari c dan m adalah 1.
– .a= 1 (mod q) untuk setiap faktor prima q dari m
berarti a – q (a/q) = 1, bila k = (a/q) maka a = 1 + q k,
dimana q adalah faktor prima dari m
– .a = 1 (mod 4) bila 4 adalah faktor dari m berarti a = 1
+ 4k, bila m/4 = integer (bila m dibagi 4, hasilnya
bulat)
Cara Pemilihan mod m
• Definisi; m angka integer terbesar hasil dari perkalian
awal yang sebagai pembagi dengan angka integer lain.
– Contoh:
• Zo = 7, a = 5 c = 3
• Berdasar metoda Multiplicative Congruential Generator) ; Zi = (a Zi1) mod m
• Z1 = (5x7+3) mod m, m = angka integer
• Angka m dihasilkan dari 38 dibagi 2 angka prima nya adalah 16.
• Z1 = 6, Z2 = (5x6+3) mod 16 , Z2 = 33 mod 16 =1 , Z3 = (5x1+3)
mod 16 , z3 = 8 mod 16 = 8, Z4 = (5x8+3) mod 16 = 43 mood 16 =
11
• Bilangan random ; U1 = 6/16, U2 = 1/16, U3=8/16, U4= 11/16
Validasi Bilangan Acak
• Pengujian dimaksudkan untuk melihat
distribusinya, urutan ke-acakan-nya.
• Metoda pengujian ;
– Uji empiris; dilakukan dengan uji statistik;
• Chi-Square test; Uji keseragaman
• Run test; Ujui keacakan
– UJi teoritis; dilakukan uji parameter pembangkit untuk
pembangkitan secara menyeluruh.
• Spectral test
• Lattice test
Chi Square test
• Dibangkitkan 100 bilangan acak yang akan
dikelompokkan dalam 10 kelompok kelas
probabilitas.
Kelas
Frekuensi
Bilangan acak
Fo
Frekuensi
harapan Fe
(Fo-Fe)2/Fe
Chi-sqre.
0.0 – 0.09
0.1 – 0.19
0.2 – 0.29
0.3 – 0.39
0.4 – 0.49
0.5 – 0.59
0.6 – 0.69
0.7 – 0.79
0.8 – 0.89
0.9 – 1.00
9
12
10
11
8
10
10
7
12
11
10
10
10
10
10
10
10
10
10
10
0.1
0.4
0.0
0.1
0.4
0.0
0.0
0.9
0.4
0.1
0.1
100
100
2.4
Chi Square test
• Pengujian:
– Ho = data/acak terdistribusi seragam
– H1 = Tidak terdistribusi seragam
– Selang kepercayaan α = 0.05 (5%)
• Nilai Chi-square tabel = 16.919
– Chi-square hitung = 2.4 artinya < nilai tabel
– Kesimpulan terima Ho
Run Test
• Urutan ke-acak-an diuji
• Cara uji;
– Bilangan acak dalam urutannya bila harganya naik beri satu tanda +,
sdebaliknya tanda -, seterusnya sampai seluruh bilangan acak.
– Contoh; 40 bilangan acak sbb;
• 0.43;0.32;0.48;0.23;0.90;0.72;0.94;0.11;0.14;0.67;0.61;0.25;0.45;0.56;0.87;0
.54;0.01;0.64;0.65;0.32;0.03;0.93;0.08;0.58;0.41;0.32;0.03;0.18;0.90;0.74;0.
32;0.75;0.42;0.71;0.66;;0.03;0.44;0.99;0.40;0.55.
• Total run x = 26 (26 tanda + dan -)
• Nilai harapan total run;
– μ = (2n – 1)/3 = ((2x40)-1)/3 = 26.33
– Variansi jumlah run; σ2 = (16n – 29)/90 = ((16x40)-29)/90= 6.79
– Standar deviasi σ = 2.61
• Pengujian dengan distribusi normal;
–
–
–
–
Ho : μ = 26.33, H1 = bukan μ
Z = (a – μ)/ σ = (26 – 26.33)/ 2.61 = - 0.13
Batas selang-kepercayaan -1.96 s/d 1.96., berartyi harga Z ada didalamnya
Terima Ho
KESIMPULAN
• Keuntungan simulasi adalah;
– Model simulasi sebagai fasilitas untuk menangani
masalah ketidak pastian
– Dapat dilakukan ber-ulang kali, dengan me-robah
nilai variabel
– Angka acak dapat di-uji statistik
– Hasil hanya merupakan kemungkinan yang dapat
terjadi.
• Kerugian: (?)
• Model Simulasi mempergunakan suatu desain
sistem dari kejadian yang sebenarnya dengan
memasukkan sejumlah variabel kedalam
variabel. Optimasi simulasi tergantung dari
banyaknya dan interaksi variabel.
Pembangkit Bilangan Acak
Bilangan Acak Pseudo
• Bilangan Acak Pseudo
– Dibangkitkan dengan komputer
– Komputer itu deterministik
– bilangan acak dibangkitkan dengan
menggunakan suatu algorithma
– Efisien
– Algoritma yang baik lulus untuk semua uji
statistik
Bilangan Acak Sebenarnya
• Beberapa gejala alam muncul sebagai
fenomena acak
– Peluruhan Radio active, Dadu, Koin,
Sumber Gangguan suatu WebCam CCD
chip (LavaRnd.com)
– Masalah: Tingkat Output Lambat
Penggunaan Bilangan Acak
• Simulasi
–
–
–
–
Chaotic molecular behavior
Nuclear detonations
User behavior in network simulation
…
• Gambling
Bilangan Acak Palsu (Pseudo)
• Berasal dari pembangkitan peuabah
acak yang menyebar seragam (uniform)
dengan rentang (0,1)  X ~ U (0, 1)
• Peubah-peubah acak lainnya dapat
dibangkitkan dari peubah acak ini
– U dipakai untuk notasi peubah acak yang
menyebar uniform (0,1)
Sifat-sifat bilangan acak yang baik
• Mendekati kondisi statistik yang ideal
– Menyebar uniform (0, 1)
– Rataannya sekitar 1/2, Ragamnya sekitar 1/12
– … (Akan kita pelajari kemudian)
• Mudah dan cepat dalam membangkitkannya
• Mempunyai siklus yang cukup panjang
• Dapat diulangi hasilnya untuk tujuan
debugging
Teknik membangkitkan bilangan
Acak
• Metode Kongruensial Linear (Linear
Congruential Method, LCG)
– Sangat populer
– Efisien
Metode LCG
• Xi+1=(aXi+c) mod m
– X0 : Bibit (Seed)
– a: Konstanta pengganda
– c: Penambah (Increment)
• Mixed congruential method: c>0
• Multiplicative congruential method: c=0
– m: Modulus
– Ui = Xi/m  bilangan acak ke-i
Teladan
• X0 = 27
• a = 17
• c = 43
• m = 100
Berapa panjang siklusnya?
Metode LCG
• bilangan-bilangan yang dibangkitkan diskret
– I = { 0,1/m,2/m,…,m-1/m }
• bilangan acak ini baik, jika m cuku
besar (232)
Siklus terpanjang
• Bilamana m = 2b, siklus terpanjang
adalah m, jika c < m and a = 1+4k,
dimana k adalah bulat (integer)
• Teladan:
– m = 24 = 16
–c=3
–a=1
Siklus terpanjang (2)
• Bila m = 2b, siklus terpanjangnya adalah
m/4, jika c = 0 dan a = 3+8k atau a =
5+8k, dimana k adalah integer dan X0
merupakan bilangan ganjil
• Teladan:
– m = 64
– a = 13
– X0 = 3
Siklus terpanjang (3)
• Bila m dalah bilangan prima dan c=0,
siklus terpanjang yang dapat dicapai
adalah m-1, ak-1 habis dibagi oleh m
dand bilangan bulat terkecil k adalah m1
• Teladan:
– m = 231-1 = 2,147,485,647 (siklusnya
mencapai 2 milyar)
– a = 75
Siklus terpanjang (4)
• Dari penjelasan di atas dapat
disimpulkan bahwa:
– Sekuens bilangan acak yang dihasilkan
akan memiliki siklus, dengan maksimum
siklus adalah m
– Bilangan a dan c harus dipilih hati-hati agar
diperoleh pembangkit dengan panjang
siklus maksimum, dan menghasilkan
bilangan acak dengan sifat-sifat statistik
yang baik
Siklus terpanjang (5)
• Tabel berikut ini memberikan kombinasi
nilai-nilai m, a dan c
Metode Midsquare (Von Neumann dan Metropolis, 1945)
• Dimulai dengan bilangan 4-digit sebagai bibit
(X0)
• Kuadratkan bilangan itu untuk memperoleh
8-digit (bila perlu tambahkan 0 pada digit
paling kiri, agar diperoleh persis 8-digit)
• Ambil 4-digit ditengah-tengah untuk memperoleh bilangan 4 digit berikutnya X1,
kemudian kuadratkan X1 dan ambil kembali
4-digit ditengah-tengah dan seterusnya
dilakukan dengan cara yang sama
Metode Midsquare (2)
• Bilangan acak Ui diperoleh dengan menambahkan titik desimal disebelah kiri setiap nilai
Xi (atau membaginya dengan 10000)
Uji-uji untuk Bil. Acak
• Uji Frequensi
– Apakah bilangan acaknya uniform?
– Menggunakan uji Kolmorov-Smirnov atau uji chikuadrat
• Uji Runs
– Semakin menaik dan semakin menurun?
– Menggunakan uji chi-kuadrat
• Uji Autokorelasi
– Menguji korelasi diantara bilangan-bilangan itu
Uji-uji untuk Bil. Acak (2)
• Uji Gap
– Menghitung banyaknya digit antar digit yang
muncul berulang untuk suatu digit tertentu
(gap) dan kemudian menggunakan uji
Kolmogorv-Smirnov untuk membandingkan
dengan nilai harapan gaps tersebut
• Poker test
– Menguji terjadinya pengulangan dari
bilangan-bilangan yang dibangkitkan
– Rangkain bilangan berikut memiliki
banyaknya pengulangan yang tidak biasa
• 0.255 0.577 0.331 0.414 0.828 0.909
Uji Keseragaman: KolmogorovSmirnov test
• Secara teoritis F(x) = x, 0<x<1
• Suatu sampel n bilangan acak:
U1,U2,…,Un, fungsi sebaran komulatif
empirisnya (empirical cdf) adalah:
• Sn(x)=(banyaknya U1,U2,…,Un yang  x)/n
• Sn(x) semestinya mendekati x bila n besar
Uji-uji untuk Bil. Acak (3)
• Untuk menguji keseragaman, bentuk
hipotesisnya adalah
H0: Ui ~ U[0,1]
H1: Ui  U[0,1]
• Hipothesis nol, H0, dibaca sebagai
bilangan-bilangan tersebut menyebar
seragam pada interval [0,1].
Uji-uji untuk Bil. Acak (4)
• Pada uji kebebasan (independence), bentuk
hipothesisnya adalah;
H0: Ui ~ independently
H1: Ui  independently
• hipothesis, H0, dibaca bahwa bilanganbilangan tersebut menyebar secara bebas.
Kegagalan menolak hipothesis nol berarti
bahwa tidak ada cukup bukti menunjukkan
adanya ketakbebasan yang terdeteksi
berdasarkan uji ini.
Uji Bil. Acak (5)
Tingkat nyata (level of significance) 
 = P(tolak H0 | H0 benar)
biasanya,  sama dengan 0.01 atau 0.05
(Hipothesis nol)
Sebenarnya Benar Sebenarnya Salah
Terima
1 - 
(Type II error)
Tolak
1 - 
(Type I error)
Uji Bil. Acak (6)
• Uji Gap menghitung banyaknya digit antar
pemunculun digit yang sama berturutan.
(Teladan) panjang gap yang bersesuaian dengan
digit 3.
4, 1, 3, 5, 1, 7, 2, 8, 2, 0, 7, 9, 1, 3, 5, 2, 7, 9, 4, 1, 6, 3
3, 9, 6, 3, 4, 8, 2, 3, 1, 9, 4, 4, 6, 8, 4, 1, 3, 8, 9, 5, 5, 7
3, 9, 5, 9, 8, 5, 3, 2, 2, 3, 7, 4, 7, 0, 3, 6, 3, 5, 9, 9, 5, 5
5, 0, 4, 6, 8, 0, 4, 7, 0, 3, 3, 0, 9, 5, 7, 9, 5, 1, 6, 6, 3, 8
8, 8, 9, 2, 9, 1, 8, 5, 4, 4, 5, 0, 2, 3, 9, 7, 1, 2, 0, 3, 6, 3
Note: ada delapan belas digit 3 pada barisan di
atas
==> 17 gap, gap pertama panjangnya 10
Uji Bil. Acak (7)
Kita akan hitung frekuensi gap, -contoh frekuensi gap dengan
panjang 10 untuk digit 3P(gap 10) = P(tak 3) P(tak 3) P(3) ,
note: ada 10 bentuk P(tak 3),
= (0.9)10 (0.1)
Sebaran frekuensi teoritis untuk suatu urutan yang bersifat
acak diberikan oleh
F(x) = 0.1 (0.9)n = 1 - 0.9x+1
Note: amati frekuensi untuk semua digit bandingkan dengan
frekuensi teoritis dan gunakan uji Kolmogorov-Smirnov.
Uji Bil. Acak (8)
(Teladan)
Berdasarkan frekuensi kemunculan gap-gap,
analisis 110 digits di atas untuk menguji apakah
barisannya bebas (independent). Gunakan =
0.05. Total # gaps diberikan oleh banyaknya digit
minus 10, jadi 110-10=100. Banyaknya gap
bersesuaian dengan berbagai digit (0-9) adalah:
Digit
0 1 2 3 4 5 6 7 8 9
# Gaps 7
8
8 17 10 13 7
total  100
8
9 13
Uji Bil. Acak (9)
Contoh Uji Gap
Panjang Gap
- SN(x)|
0-3
4-7
8-11
12-15
16-19
20-23
24-27
28-31
32-35
36-39
40-43
44-47
Relative Cum. Relative
Frequency Frequency Frequency F(x)
35
22
17
9
5
6
3
0
0
2
0
1
0.35
0.22
0.17
0.09
0.05
0.06
0.03
0.00
0.00
0.02
0.00
0.01
0.35
0.57
0.74
0.83
0.88
0.94
0.97
0.97
0.97
0.99
0.99
1.00
0.3439
0.5695
0.7176
0.8147
0.8784
0.9202
0.9497
0.9657
0.9775
0.9852
0.9903
0.9936
|F(x)
0.0061
0.0005
0.0224
0.0153
0.0016
0.0198
0.0223
0.0043
0.0075
0.0043
0.0003
0.0064
Uji Bil. Acak (10)
Nilai kritis D adalah
D0.05 = 1.36 / 100 = 0.136
karena D = max |F(x) - SN(x)| = 0.0224
adalah kurang dari D0.05, hipotesis nol
yang menyatakan barisan digit tersebut
bebas tidak ditolak, berdasarkan pada
uji ini.
Uji Kebebasan Bil Acak
• Uji Run (Menaik dan Menurun)
Perhatikan40 bilangan berikut; uji
Kolmogorov-Smirnov dan Chi-square akan
mengindikasikan bahwa bilangan-bilangan
tersebut adalah seragam (uniformly
distributed). Tetapi tidak demikian
sebenarnya.
0.08
0.11
0.02
0.12
0.09
0.16
0.09
0.13
0.23
0.18
0.30
0.29
0.29
0.31
0.32
0.36
0.42
0.41
0.45
0.38
0.55
0.53
0.47
0.54
0.58
0.71
0.69
0.68
0.72
0.73
0.74
0.86
0.89
0.74
0.91
0.88
0.91
0.84
0.95
0.91
Uji Kebebasan Bil Acak
•Sekarang bila urutannya adalah seperti di
bawah ini, adakah sedikit alasan untuk
mempertanyakan kebebasaanya
(independence).
0.41
0.30
0.16
0.32
0.13
0.68
0.09
0.18
0.91
0.47
0.89
0.72
0.88
0.53
0.58
0.84
0.86
0.91
0.31
0.29
0.74
0.08
0.95
0.42
0.91
0.54
0.69
0.73
0.55
0.02
0.09
0.12
0.71
0.11
0.38
0.74
0.36
0.29
0.23
0.45
Uji Kebebasan Bil Acak
• Perhatikanlah:
• Banyaknya runs
• Panjang runs
• 0.41 0.68 0.89 0.74 0.36 0.54
• Banyaknya runs adalah 3, masing-masing
panjangnya 2 runs menaik, 2 runs menurun
dan 1 runs menaik, dilambangkan dengan
++--+
• Jadi runs adalah sekuens menaik atau
menurun dari suatu barisan
Uji Kebebasan Bil Acak
• Note: Jika N adalah banyaknya
bilangan-bilangan dalam barisan,
maksimum banyaknya runs adalah N-1,
dan minimum banyaknya runs adalah
satu.
• Jika “a” adalah total banyaknya runs
pada suatu sekuens, rata-rata dan
ragam (variance) untuk “a” diberikan
oleh
Uji Kebebasan Bil Acak
a = (2n - 1) / 3
 a2 = (16N - 29) / 90
Untuk N > 20, sebaran “a” akan mendekati
2
sebaran normal,
a ~ N(
).
a a,
Pendekatan ini dapat digunakan untuk
menguji kebebasan bilangan-bilangan yang
dibangkitkan dari suatu pembangkit
(generator).
Z0 = (a - a) / a
Uji Kebebasan Bil Acak
Substitusikan a anda ==>
Za = {a - [(2N-1)/3]} / {(16N-29)/90},
dimana Z ~ N(0,1)
Daerah penerimaan untuk hipothesis kebebasan
adalah -Z Z0  Z
 / 2
 / 2
-Z / 2
Z / 2
Uji Kebebasan Bil Acak
(Teladan)
Berdasarkan runs menaik dan menurun,
tentukan apakah barisan 40 bilanganbilangan berikut ini menolak hipothesis
kebebasan, gunakan  = 0.05.
0.41 0.68 0.89 0.94
0.27 0.19 0.72 0.75
0.16 0.28 0.18 0.01
0.32 0.82 0.53 0.31
0.13 0.57 0.63 0.29
0.74
0.08
0.95
0.42
0.91
0.54
0.69
0.73
0.55
0.02
0.18
0.04
0.62
0.01
0.47
0.83
0.36
0.36
0.23
0.45
Uji Kebebasan Bil Acak
Barisan menaik dan menurunnya adalah sebagai
berikut:
+ + + +  +  + +  + + + + + + + + + + + + 
Ada 26 runs dalam barisan ini. Dengan N=40 dan
2
a=26,  a
a= {2(40) - 1} / 3 = 26.33 dan
= {16(40) - 29} / 90 = 6.79
Maka,
Z0 = (26 - 26.33) / 
Nilai kritisnya adalah Z0.025 = 1.96, jadi
kebebasan bilangan-bilangan itu tidak dapat
Uji Kebebasan Bil Acak
• Uji Poker – didasarkan pada seberapa
sering suatu digit berulang.
Contoh:
0.255 0.577 0.331 0.414 0.828
0.909
• Note: sepasang digit yang serupa
muncul pada setiap bilangan yang
dibangkitkan.
Uji Kebebasan Bil Acak
Pada bilangan 3-digit, hanya ada 3 kemungkinan.
P(3 digit berbeda) =
P(2nd berbeda dari 1st) * P(3rd berbeda dr 1st &
2nd)
= (0.9) (0.8) = 0.72
P(3 digit sama) =
P(2nd digit sama dg 1st)  P(3rd digit sama dg 1st)
= (0.1) (0.1) = 0.01
P(tepat sepasang) = 1 - 0.72 - 0.01 = 0.27
Uji Kebebasan Bil Acak
Combination,
i
Three different digits
Three like digits
Exactly one pair
Observed
Frequency,
Oi
680
31
289
-----1000
Expected
Frequency,
Ei
(Oi - Ei)2
----------Ei
720
10
270
-----1000
2.24
44.10
1.33
------47.65
Derajat bebas yang bersesuaian adalah
banyaknya kelas dikurang satu.
Karena 20.05, 2 = 5.99 < 47.65, berdasarkan
uji ini kebebasan bilangan-bilangan itu
ditolak.
Uji Auto Korelasi
• Menguji Korelasi setiap m bilangan.
• Ri, Ri+m, Ri+2m, Ri+3m …
Pembangkitan Peubah
Acak Kontinu
Metode Pembangkitan P.A. Kontinu
• Semua teknik untuk membangkitkan p.a. diskret dapat digunakan
untuk p.a. kontinu
–Algoritma transformasi Invers
–Metode penolakan
Teknik Transformasi Invers
• Bilangan acak merupakan sebuah contoh nilai
dari p.a. kontinu U ~ Uniform (0, 1)
• Cara membangkitkan p.a. ini adalah spesial,
telah dibicarakan pada pertemuan 04, karena
p.a. ini merupakan bahan baku untuk
membangkitkan p.a. yang lain
• Fungsi kepekatan peluang (fkp) untuk p.a. U ini
adalah
fU(x) = 1, 0  x  1
Teknik Transformasi Invers
•
Fungsi sebaran F untuk p.a. U, didefinisikan sebagai
•
Carilah fungsi sebaran untuk X ~ U(a, b)
jawab: fkp untuk X adalah fX(x)=1/(b-a), axb x
maka fungsi sebarannya adalah
FU x   P{U  x)   f U (t )dt  x
0
x
FX x   P{ X  x)  
a
1
xa
f X (t )dt  
dt 
ba
ba
a
x
Teknik Transformasi Invers
• Untuk setiap fungsi sebaran kontinu F dan
U adalah bilangan acak, maka p.a. X yang
berasal dari fungsi sebaran F tersebut
didefinisikan oleh,
X = F-1(U)
• F-1 adalah invers dari fungsi F, sehingga
F(x) = u
Teknik Transformasi Invers
•
•
Fungsi invers untuk F(X) = (X-a)/(b-a)
adalah F-1(U) = (b-a)U + a
Jadi algoritma untuk membangkitkan p.a.
X ~ U(a, b)
1. Bangkitkan bilangan acak U
2. Set X = (b-a)U + a
•
Untuk fungsi sebaran lain berlaku cara
yang sama
Teknik Transformasi Invers
Teladan #2
Bangkitkan p.a. x dengan fungsi kepekatan
 e-x ,
f(x) =

 0 ,
Jawab:
x
F(x) =  f(t) dt

 1 - e-x ,
=

 0 ,
x
x<0
x
x<0
Teknik Transformasi Invers
set F(x) = U
Kemudian penyelesaian untuk x adalah 
1 - e-x = U
e-x = 1 - U
-x = ln(1 - U)
x = - {ln(1 - U)} / 
or
= - {ln(U)} / 
Teknik Transformasi Invers
U1 = 1-e-x1
X1 = -ln(1-U1)
Peragaan graphis untuk teknik transformasi invers
Teknik Transformasi Invers
•
Algoritma pembangkitan p.a. X ~ Exp()
1. Bangkitkan bilangan acak U
2. Set X = - {ln(U)}/ 
•
Soal
Buatlah algoritma untuk membangkitkan
p.a. X yang mempunyai fkp.,
f(x) = ex/(e-1), 0  x  1
Metode tolak-terima
• Bila telah ada suatu metode untuk membangkitkan
suatu peubah acak kontinu Y, dengan fkp. g(Y)
• Berdasarkan metode ini digunakan untuk
membangkitkan p.a. kontinu X, dengan fkp. f(X)
• Pertama dibangkitkan p.a. Y, dan menerima nilai
ini sebagai nilai p.a. X dengan peluang
proporsional f(Y)/g(Y)
Metode tolak-terima
• Dicari suatu konstanta c terkecil yang
memenuhi kondisi berikut:
f ( y)
 c, untuk semua y
g ( y)
 c = Max {f(y)/g(y)}
kemudian X disimulasikan sebagai berikut
mulai
Bangkitkan
Y~g
Bankitkan
U
Apakah
Uf(y)/cg(y)
tidak
ya
X=Y
Metode tolak-terima
• Teladan
Gunakan metode penolakan untuk
membangkitkan p.a. X dengan fkp.
f(x) = 20 x(1-x)3,
0<x<1
• p.a. Y dengan fkp. g(y) yang memiliki
domain yang sama dengan fungsi f dan
sudah kita kenal pembangkitannya
adalah p.a. sebaran seragam (uniform)
dengan interval (0, 1), tidak lain adalah
bilangan acak U.
Metode tolak-terima
• Sehingga p.a. Y dengan fkp.
g(y) = 1, 0<y<1
akan digunakan sebagai basis untuk
membangkitkan nilai X
f ( x)
 20 x(1  x) 3 , turunan dari fungsi ini adalah
g ( x)
d  f ( x) 

  20[(1  x) 3  3x(1  x) 2 ],
dx  g ( x) 
dengan menset persamaan ini dengan 0, maka diperoleh
1
nilai maksimum fungsi tersebut tercapai pada x 
4
Jadi f(x)/g(x)  20(1/4)(3/4)3 = 135/64  c
f(x)/{cg(x)} = {256/27}{x(1-x)3}
Metode tolak-terima
•
Sehingga algoritmanya adalah
1. Bangkitkan bilangan acak U1 dan U2.
2. Jika U2  (256/27) U1(1-U1)3, set X = U1 dan
stop
3. Kembali ke langkah 1
Note: bilangan acak U1 sebagai p.a. Y yang
menyebar uniform(0,1)
Download
Study collections