Peristiwa dan proses deterministik

Simulasi Peristiwa Diskret dengan Python

Diogo Costa (PhD, MSc)

Adjunct Professor, University of Saskatchewan, Canada & CEO of ImpactBLUE-Scientific

Determinisme Event (atau Proses)

CATATAN: Istilah "event" dan "process" digunakan saling bergantian.

Apa itu determinisme event (atau proses)?

  • Kemampuan proses untuk diprediksi secara akurat
  • Proses disebut "Deterministic"

Mengapa proses deterministik penting?

  • Aktivitas alam dan manusia itu kompleks
  • Banyak proses dan sumber daya saling bergantung
  • Beberapa proses berulang dengan cara yang sama setiap kali
  • Dampak pada keluaran sistem dapat diprediksi akurat
Simulasi Peristiwa Diskret dengan Python

Contoh proses atau peristiwa deterministik

Dunia alami

  • Tinggi pasang surut laut
  • Percepatan benda karena gravitasi (9,81 m$^2$/s)
  • Pergerakan planet di tata surya
  • Kecepatan suara di udara (331,29 m/s)
  • Kecepatan cahaya (300.000 km/s)
  • Pembekuan air (pada 0 derajat Celsius)

Dipicu atau digerakkan manusia

  • Aliran dari keran air
  • Kecepatan mesin pengisi botol air
  • Waktu yang dibutuhkan mesin kopi untuk membuat kopi
  • Panas yang dilepas oven pada 230 derajat Celsius
  • Siklus terprogram mesin cuci
  • Fungsi peralatan microwave
Simulasi Peristiwa Diskret dengan Python

Mewakili peristiwa deterministik dalam model peristiwa-diskrit

Proses deterministik

  • Dampak pada sistem dinamis dapat diprediksi
  • Durasi sudah dikenal
  • Berulang dengan cara yang sama

Durasi proses perlu diperhitungkan dalam waktu simulasi

# Deterministic processes (time in hours)
duration_process_1 = 10
duration_process_2 = 5

while sim_time < total_sim_time:
# Update simulation time: Process 1 sim_time += duration_process_1
# Update simulation time: Process 2 sim_time += duration_process_2
Simulasi Peristiwa Diskret dengan Python

Mewakili peristiwa deterministik dengan SimPy

Implementasi SimPy untuk peristiwa deterministik:

  • Metode .timeout() mencatat durasi proses
    • Tidak peka terhadap satuan waktu
    • Memperlakukan waktu sebagai angka
    • Satuan waktu harus konsisten di seluruh model
# Deterministic processes
duration_process_1 = 10
duration_process_2 = 5

while True:

   # Update simulation time: Process 1
   yield env.timeout(duration_process_1)

   # Update simulation time: Process 2
   yield env.timeout(duration_process_2)

Simulasi Peristiwa Diskret dengan Python

Ayo berlatih!

Simulasi Peristiwa Diskret dengan Python

Preparing Video For Download...