Definisi dan Fungsi random.randint
random.randint(a, b) adalah fungsi dalam modul standar random pada Python yang digunakan untuk menghasilkan bilangan bulat acak (integer) dalam rentang tertentu. Fungsi ini bersifat inklusif, artinya nilai a (batas bawah) dan b (batas atas) keduanya dapat terpilih sebagai hasil output.
Fungsi ini sangat krusial dalam pengembangan aplikasi yang membutuhkan elemen probabilitas, seperti simulasi, pembuatan ID unik sederhana, atau pengacakan urutan dalam permainan.
Sintaks dan Parameter
import random
# Sintaks dasar
hasil = random.randint(a, b)| Parameter | Tipe Data | Deskripsi |
|---|---|---|
| a | Integer | Batas bawah rentang (termasuk dalam hasil). |
| b | Integer | Batas atas rentang (termasuk dalam hasil). |
Penting untuk dicatat bahwa jika a > b, fungsi ini akan memicu ValueError. Pastikan nilai a selalu lebih kecil atau sama dengan b.
Contoh Implementasi Kode
Berikut adalah contoh penggunaan praktis untuk menghasilkan angka acak antara 1 hingga 10:
import random
# Menghasilkan angka acak antara 1 dan 10
angka = random.randint(1, 10)
print(f"Angka acak yang terpilih: {angka}")Perbedaan dengan random.randrange
Banyak pengembang sering tertukar antara randint dan randrange. Berikut adalah matriks perbandingannya:
| Fitur | random.randint(a, b) | random.randrange(a, b) |
|---|---|---|
| Batas Atas | Inklusif (b termasuk) | Eksklusif (b tidak termasuk) |
| Parameter | Wajib dua argumen | Dapat menerima 1, 2, atau 3 argumen |
| Kegunaan | Rentang tertutup | Rentang dengan langkah (step) |
Tips Troubleshooting
- ValueError: Terjadi jika batas bawah lebih besar dari batas atas. Selalu validasi input sebelum memanggil fungsi.
- Keamanan:
random.randintmenggunakan generator angka acak semu (pseudo-random). Jangan gunakan fungsi ini untuk kebutuhan kriptografi atau keamanan siber yang sensitif. Untuk kebutuhan tersebut, gunakan modulsecrets. - Reproduksibilitas: Jika Anda membutuhkan hasil acak yang sama setiap kali program dijalankan (misalnya untuk pengujian), gunakan
random.seed(nilai)sebelum memanggilrandint.