Nilai Acak
Diperkenalkan| English | Makna |
|---|---|
| unpredictable/ʌnprɪˈdɪktəbl/ | tidak dapat diprediksi |
| random/ˈrændəm/ | acak |
| range/reɪndʒ/ | rentang |
| variability/ˌveərɪəˈbɪlɪti/ | variabilitas |
| outputs/ˈaʊtpʊts/ | output |
Tidak terprediksi secara sengaja
- Beberapa program harus bersifat tidak terprediksi — seperti permainan, tes, atau simulasi.
- Sebuah program dapat menghasilkan nilai acak dalam rentang tertentu.
RANDOM(1, 6)mungkin mengembalikan bilangan bulat apa pun dari 1 hingga 6, masing-masing dengan peluang yang sama.- Ini seperti dadu yang tertanam langsung di dalam program.
RANDOM(1, 6) mengembalikan:
Difficulty 1/5 · 100 coins + a small bonus on first completion today
Ini memilih nilai acak dalam rentang yang diberikan.
Variabilitas
- Keacakan memperkenalkan variabilitas ke dalam perilaku program.
- Dua kali eksekusi program yang sama kemudian dapat berperilaku berbeda.
- Inilah yang membuat sebuah permainan terasa segar setiap kali dimainkan.
- Tidak ada perubahan pada kode — hanya nilai acaknya saja yang berubah.
Sama setiap kali dijalankan, atau bervariasi?
Nilai acak membuat output bervariasi antar jalankan; perhitungan tetap memberikan output yang sama setiap kali.
Keacakan memperkenalkan ⟦variabilitas⟧ sehingga dua kali jalankan bisa berperilaku berbeda.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
Kode yang sama dapat memberikan hasil berbeda setiap kali dijalankan.
roll ← RANDOM(1, 6) melakukan apa?
Difficulty 1/5 · 100 coins + a small bonus on first completion today
Nilai yang dihasilkan disimpan dalam variabel.
Menyimpan dan menggunakannya
- Anda biasanya menyimpan nilai acak dalam variabel untuk logika selanjutnya:
- $\text{roll} \leftarrow \text{RANDOM}(1, 6)$.
- Sekarang
rollmemegang satu nilai dadu yang dapat digunakan oleh sisa program. - Nilai acak memungkinkan program memodelkan peristiwa tidak terprediksi, seperti lemparan koin.
Mendapatkan 4, lalu 1, lalu 6 dari tiga kali jalankan program dadu adalah hal yang wajar, bukan bug.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
Nilai acak berbeda setiap kali dijalankan, sehingga outputnya berbeda.
Program lemparan koin menggunakan RANDOM(1, 2). Dua kemungkinan outputnya adalah:
Difficulty 1/5 · 100 coins + a small bonus on first completion today
1 dipetakan ke heads, 2 ke tails.
Nilai acak memungkinkan program memodelkan peristiwa tak terduga seperti lemparan dadu.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
Ini membuat program terasa lebih mirip dunia nyata.
Output berbeda setiap kali dijalankan
- Karena adanya keacakan, eksekusi berulang dapat menghasilkan output yang berbeda.
- Menjalankan program dadu tiga kali mungkin menghasilkan 4, lalu 1, lalu 6.
Lemparan koin. Program memilih RANDOM(1, 2), menganggap 1 sebagai "kepala" dan 2 sebagai "ekor". Satu eksekusi menyimpan 1 → "kepala"; eksekusi berikutnya menyimpan 2 → "ekor". Tidak ada perubahan pada kode — hanya nilai acaknya yang berbeda, sehingga outputnya pun berbeda. Ini merupakan hal yang wajar, bukan kesalahan (bug).
Nilai acak dipilih dalam rentang (RANDOM(1, 6)), menambahkan variabilitas sehingga dua eksekusi bisa berbeda. Simpan dalam variabel untuk menggunakannya, dan ini memungkinkan program memodelkan peristiwa tidak terprediksi. Output yang berbeda antar eksekusi adalah hal yang diharapkan, bukan bug.