TEKNIK SIMULASI

148
TEKNIK SIMULASI FAKULTAS TEKNIK INFORMATIKA UNIVERSITAS INDRAPRASTA

description

FAKULTAS TEKNIK INFORMATIKA UNIVERSITAS INDRAPRASTA . TEKNIK SIMULASI. 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 - PowerPoint PPT Presentation

Transcript of TEKNIK SIMULASI

Page 1: TEKNIK SIMULASI

TEKNIK SIMULASI

FAKULTAS TEKNIK INFORMATIKA UNIVERSITAS INDRAPRASTA

Page 2: TEKNIK SIMULASI

PENDAHULUAN

• TUJUAN MEMPELAJARI SIMULASIMelalui kuliah ini diharapkan kita dapatmempelajari suatu sistem dengan memanfaatkan komputer untuk meniru (to simulate) perilaku sistem tersebut

Page 3: TEKNIK SIMULASI

• 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

Page 4: TEKNIK SIMULASI

SISTEM

Eksperimen dengan sistem

sebenarnya

Eksperimen dengan model

Model MatematikModel Fisik

SIMULASISolusi Analitis

Page 5: TEKNIK SIMULASI

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

DEFINISI – DEFINISI :

Page 6: TEKNIK SIMULASI

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. StokastikModel deterministik: tidak memiliki komponen probabilistik (random).Model stokastik: memiliki komponen input random, dan menghasilkan output yang random pula.

• Model Simulasi Kontinu vs. DiskritModel 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.

Page 7: TEKNIK SIMULASI

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.

Page 8: TEKNIK SIMULASI

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.

Page 9: TEKNIK SIMULASI

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.

Page 10: TEKNIK SIMULASI

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.

Page 11: TEKNIK SIMULASI

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.

Page 12: TEKNIK SIMULASI

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.

Page 13: TEKNIK SIMULASI

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

Page 14: TEKNIK SIMULASI

•Memanfaatkan Teori yang ada•Memanfaatkan hasil dari Model simulasi yang

sama dan relevan •Menggunakan pengalaman atau intuisi

• Langkah 2.Menguji asumsi-asumsi model secara empirisJika distribusi probabilitas secara teoritis cocok dengan observasi dan digunakan sebagai input untuk model simulasi, dapat diuji dengan pembuatan grafik dan uji goodness-of-fitJika beberapa himpunan data diobservasi untuk fenomena random yang sama, maka perbaikan dari penggabungan data tersebut dapat ditentukan dengan uji Kruskal-Wallis

Page 15: TEKNIK SIMULASI

Salah satu utiliti yang sangat berguna adalah analisis sensitivitas

•Langkah 3.Menentukan seberapa representatif data output Simulasi

Page 16: TEKNIK 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.

Page 17: TEKNIK SIMULASI

Waktu dan hubungan dari Validasi dan Verifikasi :

SistemModel

KonseptualProgram Simulasi

Tersedia hasil yang

‘Benar’

Implemen-tasi hasil

Validasi ValidasiVerifikasi

Establish kepercayaan

Analisa & Data

1,2,3 4 5,6,7,8,9

10

Pemrograman

Menjalankan Model

Memberikan Hasil

Page 18: TEKNIK SIMULASI

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 diteliti2. pengukuran kinerja untuk evaluasi3. 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.

Page 19: TEKNIK SIMULASI

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.

Page 20: TEKNIK SIMULASI

Verifikasi Program Komputer Simulasi

Delapan teknik yang dapat digunakan untukmendebug 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.

Page 21: TEKNIK SIMULASI

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 asumsi-asumsi yang disederhanakan di mana karakteristik yang sebenarnya diketahui atau dapat dihitung dengan mudah.

Page 22: TEKNIK SIMULASI

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.

Page 23: TEKNIK SIMULASI

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.

Page 24: TEKNIK SIMULASI

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 di-update secara teratur, dan akhirnya menjadi laporan akhir.

6.Model simulasi harus divalidasi relatif terhadap ukuran-ukuran kinerja yang nanatinya dipakai untuk pengambilan keputusan.

Page 25: TEKNIK SIMULASI

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.

Page 26: TEKNIK SIMULASI

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

Page 27: TEKNIK SIMULASI

• 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

Page 28: TEKNIK SIMULASI

Pseudo Random Number Generator

• METODE KONGRUEN MULTIPLIKATIF

Xn = (aXn-1) modulo mDimana :– 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

Page 29: TEKNIK SIMULASI

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

Page 30: TEKNIK SIMULASI

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)

Page 31: TEKNIK SIMULASI

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)

Page 32: TEKNIK SIMULASI

Contoh :

• METODE KONGRUEN MULTIPLIKATIFmisal komputer berkapasitas 12 bit wordW = 12

m = 2 w-1 = 2 11 = 2048a = 67 a 2 6 & a 3 (mod 8)misal : Xo = 129

X1 = (67)(129) mod 2048 = 451X2 = (67)(451) mod 2048 = 1545X3 = (67)(1545)mod 2048 = 1115X4 = (67)(1115)mod 2048 = 977

Page 33: TEKNIK SIMULASI

Contoh :

U1 = 451/2048 = 0,22015U2 = 1545/2048 = 0,754395U3 = 1115/2048 = 0,544434U4 = 977/2048 = 0,477051

Periode : m/4 = 2048/4 = 512U1 = U513

U2 = U514

Page 34: TEKNIK SIMULASI

Contoh :• METODE KONGRUEN CAMPURAN

misal komputer berkapasitas 12 bit word a = 65 ( 2 6 & 1 mod 4 )

m = 2 12-1 = 2048misal c = 1 , Xo = 129

X1 = {(65).(129)+1} mod 2048 = 194X2 = {(65).(194)+1} mod 2048 = 323X3 = {(65).(323)+1} mod 2048 = 516X4 = {(65).(516)+1} mod 2048 = 773

U1 = 194/2048 = 0,094727U2 = 323/2048 = 0,157715U3 = 516/2048 = 0,251953U4 = 773/2048 = 0,377441

Page 35: TEKNIK SIMULASI

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.

Page 36: TEKNIK SIMULASI

• 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

Page 37: TEKNIK SIMULASI

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)

Page 38: TEKNIK SIMULASI

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

Page 39: TEKNIK SIMULASI

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.

Page 40: TEKNIK SIMULASI

Variabel Acak Diskrit

• Fungsi Probabilitas :

• 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

!

k

ke

Page 41: TEKNIK SIMULASI

Variabel Acak Diskrit

Distribusi HipergeometriCiri: Sampel acak dengan ukuran n dipilih dari populasi ukuran N, dimana sejumlah k

dapat diklasifikasikan sukses dan N-k gagal.

Fungsi Probabilitas :

nN

xnMN

CC

,

,xM,C

Page 42: TEKNIK SIMULASI

Variabel Acak DiskritNilai Ekspektasi:

NMn

Varians :

1M-NnM

2

NNnN

Page 43: TEKNIK SIMULASI

Distribusi Acak KontinuAlgoritma:• 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

Page 44: TEKNIK SIMULASI

Prosedur Statistik untuk membandingkan data output dari observasi dunia nyata dan

simulasi• Pendekatan Inspeksi

Korelasi Pendekatan Inspeksi :

Data Input Sistem Secara Historis

Model SimulasiSistem Aktual

Data Output Sistem

Data Output Model

Data Input Sistem Secara Historis

Perbandingan

Page 45: TEKNIK SIMULASI

•Pendekatan Interval Konfidensi berdasarkan data independen

•Pendekatan Time Series

Page 46: TEKNIK SIMULASI

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.

Page 47: TEKNIK SIMULASI

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.

Page 48: TEKNIK SIMULASI

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 ?

Page 49: TEKNIK SIMULASI

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.

Page 50: TEKNIK SIMULASI

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

Page 51: TEKNIK SIMULASI

Contoh – Kasus 1

Jadi Model Matematikanya :N = 2000 x B + 10000 x kB +

1000 x B(b + kr)/m

Simulasinya : Bila B = 5 perintahb = 15 karakterk = 10 % dari perintah yang memerlukan jawabanr = 50 karakter jawaban

Page 52: TEKNIK SIMULASI

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) …. ( N P(i) ) 3 + 20/m P(i)/5000

20/m P(i)/5000 - 3 ………..(1)

Page 53: TEKNIK SIMULASI

Contoh – Kasus 1

Berdasarkan pers (1), dengan kondisi minimal akan diperoleh rancangan dengan alternatif sebagai berikut :1. Komputer Kecepatan tinggi dengan Buffer 2

karakter2. Komputer Kecepatan sedang dengan Buffer 5

karakter 3. Komputer Kecepatan rendah dengan Buffer 10

karakter

Page 54: TEKNIK SIMULASI

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

Page 55: TEKNIK SIMULASI

Contoh – Kasus 1

Algoritma Kasus 1 :1. Input data sistem.2. Hitung jumlah instruksi yang dibutuhkan per detik untuk setiap alternatif buffer yang ada3. Bandingkan setiap hasil langkah-2 dengan kecepatan maksimum dari setiap kemungkinan komputer yang tersedia.4. Tetapkan rancangan sistem komputer yang

mampu mempertahankan aliran data.

Page 56: TEKNIK SIMULASI

Contoh – Kasus 2

• Kasus Komputer Real TimeDiberikan 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.

Page 57: TEKNIK SIMULASI

Contoh – Kasus 2

Gambar 2.1. Rancangan Mesin - Real Time

Message

C P U

Disk - 1

Disk - 2

Disk - 3

Memory

Page 58: TEKNIK SIMULASI

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.

Page 59: TEKNIK SIMULASI

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.

Page 60: TEKNIK SIMULASI

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.

Page 61: TEKNIK SIMULASI

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.

Page 62: TEKNIK SIMULASI

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.

Page 63: TEKNIK SIMULASI

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, rata-rata pemakaian memori).

Page 64: TEKNIK SIMULASI

OFC-11: Pengertian Random Number

Page 65: TEKNIK SIMULASI

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

SIMULASI PSEUDO RANDOM

Page 66: TEKNIK SIMULASI

Phases in Simulation Study

Problem formulation

Data collection

Data analysis

ModelFormulation

ProgramGeneration

Model valid Fine model

ExperimentalDesign

AnalysisSimulation Results

Page 67: TEKNIK SIMULASI

Contoh Program Generation ;diagram alir simulasi

loading - unloading di pelabuhan laut

Kapal tibaKapal tibaKapal Tunggu dilaut

Kapal Tarik

Tarik ke darmaga

Bongkar muatan

Kapal Tarik Tarik ke laut lepas

Kapal pergi

ada

Tidak ada

ada

Tidak ada

Tunggu didarmaga

Page 68: TEKNIK SIMULASI

Penjelasan gambar diatas1. 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 kedermagab. Waktu bongkar muatan kapalc. Waktu tarik dari darmaga kelaut.

Simulasi dikembangkan untuk mengetahui 1. waktu rata2-nya, bila kapal tarik jumlahnya terbatas. 2. Tidak diketahui kapal kapal-tarik siap utk menarik

kapal yang datang.3. Waktu bongkar muatan tergantung kapasitas kapal

yang datang.

Page 69: TEKNIK SIMULASI

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

Page 70: TEKNIK SIMULASI

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.

DISTRIBUSI PROBABILITAS PSEUDO RANDOM

Page 71: TEKNIK SIMULASI

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

Page 72: TEKNIK SIMULASI

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.

• Probabilitas dari bulan januari di daerah puncak bertemperatur 25 o C adalah 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,-

25oC

Page 73: TEKNIK SIMULASI

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

Page 74: TEKNIK SIMULASI

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.

• Probabilitas dari bulan januari di daerah puncak bertemperatur 25 o C adalah 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.

25oC

Page 75: TEKNIK SIMULASI

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) = 0p2 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,-

Page 76: TEKNIK SIMULASI

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

Page 77: TEKNIK SIMULASI

Analisis Peluang Dalam Kasus Pseudo Random

1. Teori PeluangPeluang adalah suatu probabilitas (ukuran kecenderungan atas munculnya/terjadinya suartu peristiwa/kejadian/event.2. Nilai probabilitas

antara 0 dan 13. Komponen peluang;

Event, Ruang sample,dan sample.

Page 78: TEKNIK SIMULASI

Ringkasan Distribusi Peluang1. Distribusi exponensial;

1. Rata rata = ß= 1/ λ2. Variansi = ß 2

2. Distribusi Normal1. Rata rata = µ2. Variansi = σ2

3. Distribusi bernoulli;1. Rata rata = P2. 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

Page 79: TEKNIK SIMULASI

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.

Page 80: TEKNIK SIMULASI

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)

X

f{P(X)}

f{P(X)}= 1/(2πσ2)1/2 e -(x-µ)2/2σ2

a1 a2 a3 a4 m b4 b3 b2 b1

0.05

0.10

0.15

0.20

Page 81: TEKNIK SIMULASI

Pembangkitan Bilangan AcakRandom 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

Page 82: TEKNIK SIMULASI

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 acak-nya

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

Page 83: TEKNIK SIMULASI

Jenis Bilangan Acak

1. Midsquare Method1. Prosedur;

1. Tentukan Seed; angka random awal dari 4 digit angka random

2. Kuadratkan3. Ambil empat digit yang ditengah4. Kembali ke langkah 25. Ulang sebanyak bilangan acak yang di-inginkan6. Contoh: Seed= 7812, (7812)2 , 51581124, (5811)2

Page 84: TEKNIK SIMULASI

Bentuk Tabulasi Midsquare method

Zi UBilangan acak

terpilih

Zi2

7182 - 51581124

5811 0.5811 33767721

7677 0.7677 58936329

9363 0.9363

Page 85: TEKNIK SIMULASI

Random Number Generator • Linear Conguential Generator (LCG)

Rumus;Zi = (a Zi-1 + c ) mpd mDimana a = multiplier, c = increment, Zo = SeedZi = 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

Page 86: TEKNIK SIMULASI

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)

Page 87: TEKNIK SIMULASI

Linier Congruential Random Number Generator

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

Page 88: TEKNIK SIMULASI

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

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

Page 89: TEKNIK SIMULASI

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

Page 90: TEKNIK SIMULASI

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.090.1 – 0.190.2 – 0.290.3 – 0.390.4 – 0.490.5 – 0.590.6 – 0.690.7 – 0.790.8 – 0.890.9 – 1.00

91210118

10107

1211

10101010101010101010

0.10.40.00.10.40.00.00.90.40.10.1

100 100 2.4

Page 91: TEKNIK SIMULASI

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

Page 92: TEKNIK SIMULASI

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

Page 93: TEKNIK SIMULASI

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.

Page 94: TEKNIK SIMULASI

Pembangkit Bilangan Acak

Page 95: TEKNIK SIMULASI

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

Page 96: TEKNIK SIMULASI

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

Page 97: TEKNIK SIMULASI

Penggunaan Bilangan Acak

• Simulasi– Chaotic molecular behavior– Nuclear detonations– User behavior in network simulation– …

• Gambling

Page 98: TEKNIK SIMULASI

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)

Page 99: TEKNIK SIMULASI

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 membangkit-kannya

• Mempunyai siklus yang cukup panjang• Dapat diulangi hasilnya untuk tujuan

debugging

Page 100: TEKNIK SIMULASI

Teknik membangkitkan bilangan Acak

• Metode Kongruensial Linear (Linear Congruential Method, LCG)– Sangat populer– Efisien

Page 101: TEKNIK SIMULASI

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

Page 102: TEKNIK SIMULASI

Teladan

• X0 = 27• a = 17• c = 43• m = 100

Berapa panjang siklusnya?

Page 103: TEKNIK SIMULASI

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)

Page 104: TEKNIK SIMULASI

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

Page 105: TEKNIK SIMULASI

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

Page 106: TEKNIK SIMULASI

• 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 m-1

• Teladan:– m = 231-1 = 2,147,485,647 (siklusnya

mencapai 2 milyar)– a = 75

Siklus terpanjang (3)

Page 107: TEKNIK SIMULASI

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

Page 108: TEKNIK SIMULASI

Siklus terpanjang (5)

• Tabel berikut ini memberikan kombinasi nilai-nilai m, a dan c

Page 109: TEKNIK SIMULASI

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 mem-peroleh bilangan 4 digit berikutnya X1, kemudian kuadratkan X1 dan ambil kembali 4-digit ditengah-tengah dan seterusnya dilakukan dengan cara yang sama

Page 110: TEKNIK SIMULASI

Metode Midsquare (2)

• Bilangan acak Ui diperoleh dengan menam-bahkan titik desimal disebelah kiri setiap nilai Xi (atau membaginya dengan 10000)

Page 111: TEKNIK SIMULASI

Uji-uji untuk Bil. Acak

• Uji Frequensi– Apakah bilangan acaknya uniform?– Menggunakan uji Kolmorov-Smirnov atau uji chi-

kuadrat• Uji Runs

– Semakin menaik dan semakin menurun?– Menggunakan uji chi-kuadrat

• Uji Autokorelasi– Menguji korelasi diantara bilangan-bilangan itu

Page 112: TEKNIK SIMULASI

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

Page 113: TEKNIK SIMULASI

Uji Keseragaman: Kolmogorov-Smirnov 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

Page 114: TEKNIK SIMULASI

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].

Page 115: TEKNIK SIMULASI

Uji-uji untuk Bil. Acak (4)

• Pada uji kebebasan (independence), bentuk hipothesisnya adalah;

H0: Ui ~ independentlyH1: Ui independently

• hipothesis, H0, dibaca bahwa bilangan-bilangan tersebut menyebar secara bebas. Kegagalan menolak hipothesis nol berarti bahwa tidak ada cukup bukti menunjukkan adanya ketakbebasan yang terdeteksi berdasarkan uji ini.

Page 116: TEKNIK SIMULASI

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

Page 117: TEKNIK SIMULASI

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, 33, 9, 6, 3, 4, 8, 2, 3, 1, 9, 4, 4, 6, 8, 4, 1, 3, 8, 9, 5, 5, 73, 9, 5, 9, 8, 5, 3, 2, 2, 3, 7, 4, 7, 0, 3, 6, 3, 5, 9, 9, 5, 55, 0, 4, 6, 8, 0, 4, 7, 0, 3, 3, 0, 9, 5, 7, 9, 5, 1, 6, 6, 3, 88, 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

Page 118: TEKNIK SIMULASI

Uji Bil. Acak (7)

Kita akan hitung frekuensi gap, -contoh frekuensi gap dengan panjang 10 untuk digit 3-P(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 olehF(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.

Page 119: TEKNIK SIMULASI

(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 8 9 13

total 100

Uji Bil. Acak (8)

Page 120: TEKNIK SIMULASI

Contoh Uji Gap Relative Cum. Relative

Panjang Gap Frequency Frequency Frequency F(x) |F(x) - SN(x)|0-3 35 0.35 0.35 0.3439 0.00614-7 22 0.22 0.57 0.5695 0.00058-11 17 0.17 0.74 0.7176 0.022412-15 9 0.09 0.83 0.8147 0.015316-19 5 0.05 0.88 0.8784 0.001620-23 6 0.06 0.94 0.9202 0.019824-27 3 0.03 0.97 0.9497 0.022328-31 0 0.00 0.97 0.9657 0.004332-35 0 0.00 0.97 0.9775 0.007536-39 2 0.02 0.99 0.9852 0.004340-43 0 0.00 0.99 0.9903 0.000344-47 1 0.01 1.00 0.9936 0.0064

Uji Bil. Acak (9)

Page 121: TEKNIK SIMULASI

Nilai kritis D adalahD0.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 Bil. Acak (10)

Page 122: TEKNIK SIMULASI

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.09 0.23 0.29 0.42 0.55 0.58 0.72 0.89 0.910.11 0.16 0.18 0.31 0.41 0.53 0.71 0.73 0.74 0.840.02 0.09 0.30 0.32 0.45 0.47 0.69 0.74 0.91 0.950.12 0.13 0.29 0.36 0.38 0.54 0.68 0.86 0.88 0.91

Page 123: TEKNIK SIMULASI

Uji Kebebasan Bil Acak•Sekarang bila urutannya adalah seperti di

bawah ini, adakah sedikit alasan untuk mempertanyakan kebebasaanya (independence).

0.41 0.68 0.89 0.84 0.74 0.91 0.55 0.71 0.36 0.30 0.09 0.72 0.86 0.08 0.54 0.02 0.11 0.29 0.16 0.18 0.88 0.91 0.95 0.69 0.09 0.38 0.23 0.32 0.91 0.53 0.31 0.42 0.73 0.12 0.74 0.45 0.13 0.47 0.58 0.29

Page 124: TEKNIK SIMULASI

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

Page 125: TEKNIK SIMULASI

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

Page 126: TEKNIK SIMULASI

a = (2n - 1) / 3

= (16N - 29) / 90Untuk N > 20, sebaran “a” akan mendekati sebaran normal, a ~ N(a , ).

Pendekatan ini dapat digunakan untuk menguji kebebasan bilangan-bilangan yang dibangkitkan dari suatu pembangkit (generator).

Z0= (a - a) / a

2a

2a

Uji Kebebasan Bil Acak

Page 127: TEKNIK SIMULASI

Uji Kebebasan Bil Acak

Substitusikan aanda ==>

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

Page 128: TEKNIK SIMULASI

Uji Kebebasan Bil Acak(Teladan)

Berdasarkan runs menaik dan menurun, tentukan apakah barisan 40 bilangan-bilangan berikut ini menolak hipothesis kebebasan, gunakan = 0.05.

0.41 0.68 0.89 0.94 0.74 0.91 0.55 0.62 0.36

0.27 0.19 0.72 0.75 0.08 0.54 0.02 0.01 0.36

0.16 0.28 0.18 0.01 0.95 0.69 0.18 0.47 0.23

0.32 0.82 0.53 0.31 0.42 0.73 0.04 0.83 0.45 0.13 0.57 0.63 0.29

Page 129: TEKNIK SIMULASI

Uji Kebebasan Bil Acak

Barisan menaik dan menurunnya adalah sebagai berikut: + + + + + + + + + + + + + + + + + + +

Ada 26 runs dalam barisan ini. Dengan N=40 dan a=26, a= {2(40) - 1} / 3 = 26.33 dan= {16(40) - 29} / 90 = 6.79Maka, Z0 = (26 - 26.33) /

Nilai kritisnya adalah Z0.025 = 1.96, jadi kebebasan bilangan-bilangan itu tidak dapat ditolak, berdasarkan uji ini.

2a

Page 130: TEKNIK SIMULASI

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.

Page 131: TEKNIK SIMULASI

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.01P(tepat sepasang) = 1 - 0.72 - 0.01 = 0.27

Page 132: TEKNIK SIMULASI

Uji Kebebasan Bil Acak

Observed Expected (Oi - Ei)2

Combination, Frequency, Frequency, -----------i Oi Ei Ei

Three different digits 680 720

2.24 Three like digits 31 10 44.10 Exactly one pair 289 270 1.33

------ ------ ------- 1000 1000

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.

Page 133: TEKNIK SIMULASI

Uji Auto Korelasi

• Menguji Korelasi setiap m bilangan.• Ri, Ri+m, Ri+2m, Ri+3m …

Page 134: TEKNIK SIMULASI

Pembangkitan Peubah Acak Kontinu

Page 135: TEKNIK SIMULASI

Metode Pembangkitan P.A. Kontinu

• Semua teknik untuk membangkit-kan p.a. diskret dapat digunakan untuk p.a. kontinu–Algoritma transformasi Invers–Metode penolakan

Page 136: TEKNIK SIMULASI

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

Page 137: TEKNIK SIMULASI

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), axb maka fungsi sebarannya adalah xdttfxUPxF

x

UU 0

)(){

abaxdt

abdttfxXPxF

x

a

x

aXX

1)(){

Page 138: TEKNIK SIMULASI

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

Page 139: TEKNIK SIMULASI

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 U2. Set X = (b-a)U + a

• Untuk fungsi sebaran lain berlaku cara yang sama

Page 140: TEKNIK SIMULASI

Teknik Transformasi Invers

Teladan #2Bangkitkan p.a. x dengan fungsi kepekatan

ì e-x , x f(x) = í

î0 , x < 0Jawab:

F(x) = f(t) dt

ì 1 - e-x , x

= íî0 , x < 0

x

Page 141: TEKNIK SIMULASI

Teknik Transformasi Invers

set F(x) = UKemudian penyelesaian untuk x adalah

1 - e-x = U e-x = 1 - U -x = ln(1 - U) x = - {ln(1 - U)} / or = - {ln(U)} /

Page 142: TEKNIK SIMULASI

Peragaan graphis untuk teknik transformasi invers

X1 = -ln(1-U1)

U1 = 1-e-x1

Teknik Transformasi Invers

Page 143: TEKNIK SIMULASI

Teknik Transformasi Invers

• Algoritma pembangkitan p.a. X ~ Exp()1. Bangkitkan bilangan acak U2. Set X = - {ln(U)}/

• SoalBuatlah algoritma untuk membangkitkan p.a. X yang mempunyai fkp.,

f(x) = ex/(e-1), 0 x 1

Page 144: TEKNIK SIMULASI

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)

Page 145: TEKNIK SIMULASI

Metode tolak-terima

• Dicari suatu konstanta c terkecil yang memenuhi kondisi berikut:

kemudian X disimulasikan sebagai berikut

ycygyf semuauntuk ,)()(

Bangkitkan Y ~ g

BankitkanU

ApakahUf(y)/cg(y) X=Y

tidak

ya

c = Max {f(y)/g(y)}

mulai

Page 146: TEKNIK SIMULASI

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

Page 147: TEKNIK SIMULASI

Metode tolak-terima• Sehingga p.a. Y dengan fkp.

g(y) = 1, 0<y<1akan digunakan sebagai basis untuk membangkitkan nilai X

41 xpada tercapai tersebut fungsi maksimum nilai

diperoleh maka 0,dengan ini persamaan menset dengan

],)1(3)1[(20)()(

adalah ini fungsi dari turunan ,)1(20)()(

23

3

xxxxgxf

dxd

xxxgxf

Jadi f(x)/g(x) 20(1/4)(3/4)3 = 135/64 c f(x)/{cg(x)} = {256/27}{x(1-x)3}

Page 148: TEKNIK SIMULASI

Metode tolak-terima

• Sehingga algoritmanya adalah1. Bangkitkan bilangan acak U1 dan U2.2. Jika U2 (256/27) U1(1-U1)3, set X = U1 dan

stop3. Kembali ke langkah 1

Note: bilangan acak U1 sebagai p.a. Y yang menyebar uniform(0,1)