Menggunakan Python Random Module: Fungsi dan Contoh

Python random adalah modul yang disertakan dalam standar library Python, digunakan untuk menghasilkan angka pseudo-random. Pelajari fungsi dan contohnya!
RevoU Staff
January 29, 2024
6
min read

Mau Belajar

Data Analytics

?

Belajar di RevoU! Dapatkan skill digital paling in-demand langsung dari praktisi terbaik di bidangnya. Kelas online 100% LIVE, 1:1 career coaching, dan akses ke Community Hub dengan 6000+ member selamanya untuk support perkembangan karir kamu!
DAFTAR FULL PROGRAMCOBA COURSE GRATIS

Overview

Mulai dari simulasi ilmiah sampai game komputer, modul random adalah “jantung” dari banyak aplikasi yang kita gunakan setiap hari. Tapi, bagaimana sebenarnya modul ini bekerja?

Bayangkan kamu sedang berada di sebuah acara kuis, di mana setiap keputusan diambil secara acak. Menarik, bukan? Inilah esensi dari modul random di Python.

Python random adalah modul yang disertakan dalam standar library Python, digunakan untuk menghasilkan angka pseudo-random. Modul ini menyediakan berbagai fungsi yang memungkinkan kamu untuk melakukan tindakan acak, seperti memilih angka acak dari rentang tertentu, mengacak urutan dalam sebuah list, atau memilih elemen acak dari sebuah sequence.

Library random juga sering dimanfaatkan dalam pengujian model machine learning. Hal ini dikarenakan kemampuannya menghasilkan nilai acak, berguna untuk menguji tingkat akurasi model machine learning yang telah dibuat.

Selain itu, library ini dapat dipakai untuk membuat sebuah dataset dummy untuk pelatihan, dikarenakan tidak semua jenis data di-publish secara umum dan bisa dicari di internet.

Mulai dari simulasi ilmiah sampai game komputer, modul random adalah “jantung” dari banyak aplikasi yang kita gunakan setiap hari. Tapi, bagaimana sebenarnya modul ini bekerja? Apa saja kegunaannya di dunia nyata? Dan bagaimana kita dapat memanfaatkannya untuk meningkatkan efisiensi dalam pemrograman? Artikel ini akan menjawabnya!

Daftar Function dalam Modul "random" Python

Berikut beberapa function utama dalam modul random Python:

Cara dan Contoh Penggunaan Modul "random" Python

Berikut cara menggunakan beberapa fungsi dalam modul random Python:

random()

Fungsi ini tidak memerlukan argumen. Ketika dipanggil, secara default fungsi akan menghasilkan angka float acak antara 0.0 dan 1.0. Setiap kali fungsi dipanggil, ia akan menghasilkan angka berbeda.

Contoh:

randint(a, b)

Fungsi randint(a,b) menerima dua argumen (a dan b), merupakan batas bawah dan atas untuk angka yang akan dihasilkan. Fungsi ini akan mengembalikan integer acak yang berada dalam rentang tersebut, termasuk kedua batasnya.

Contoh:

randrange(start, stop[, step])

Fungsi ini mirip dengan range(), yaitu menerima start dan stop sebagai rentang angka, serta step sebagai interval. Fungsi akan menghasilkan angka acak dari rentang tersebut, tetapi tidak termasuk stop.

Contoh:

choice(seq)

Fungsi ini memilih elemen acak dari sequence yang diberikan. Sequence bisa berupa list, string, atau tuple. Jika sequence kosong, fungsi akan menghasilkan IndexError.

Contoh:

shuffle(seq)

Fungsi ini mengacak urutan elemen dalam list. Perlu diperhatikan bahwa fungsi akan mengubah list asli dan tidak mengembalikan nilai baru.

Contoh:

sample(population, k)

Fungsi ini memilih k elemen acak dari population yang diberikan. Population bisa berupa list atau tuple. Fungsi akan mengembalikan list baru dengan elemen terpilih.

Contoh:

uniform(a, b)

Fungsi ini menghasilkan angka float acak yang berada dalam rentang antara a dan b, termasuk a dan b.

Contoh:

Seed dalam Python Random

Seed dalam modul random Python berperan sebagai penyimpan status dari suatu event yang terjadi. Ibarat sebuah checkpoint dalam game, seed memungkinkan kita untuk "menyimpan" suatu keadaan tertentu.

Ketika menggunakan metode seed sebelum memanggil nilai acak, kita sebenarnya sedang menetapkan dasar bagi generator angka acak untuk menghasilkan urutan yang konsisten.

Artinya, selama menggunakan nilai seed yang sama, nilai acak yang dihasilkan akan tetap sama setiap kali program dijalankan, asalkan tidak ada perubahan pada event yang terkait dengan seed tersebut. Dengan kata lain, seed memberikan kemampuan untuk mereproduksi urutan angka acak yang sama, berguna dalam pengujian dan debugging.

Misalkan kita ingin menghasilkan serangkaian angka acak, tetapi ingin hasilnya konsisten setiap kali program dijalankan. Kita dapat menggunakan seed untuk mencapai ini. Pertama, impor modul random dan tetapkan seed. Setelah itu, setiap kali kita menghasilkan angka acak, urutan angka tersebut akan sama selama kita menggunakan seed yang sama.

Dalam contoh di atas, kita menggunakan random.seed(123) untuk menetapkan seed. Kemudian, kita menggunakan random.random() dan random.randint(1, 100) untuk menghasilkan angka acak. Jika menjalankan program ini berulang kali dengan seed yang sama, hasil dari random.random() dan random.randint(1, 100) akan tetap konsisten.

FAQ (Frequently Ask Question)

Bagaimana cara menghasilkan string acak dengan Python random?

Agar menghasilkan string acak, kamu dapat menggunakan fungsi random.choice() untuk memilih karakter secara acak dari sebuah string, berisi semua karakter yang mungkin. Proses ini diulangi beberapa kali sampai mencapai panjang string yang diinginkan.

Bagaimana cara mengacak list tanpa mengubah list asli di Python?

Untuk mengacak sebuah list tanpa mengubah list asli, gunakan fungsi random.sample() dengan memberikan list asli sebagai argumen, serta panjang list sebagai jumlah elemen yang akan dipilih. Proses ini akan mengembalikan list baru yang merupakan versi acak dari list asli.

Apa perbedaan antara random.random() dan random.uniform()?

random.random() menghasilkan angka float acak antara 0 dan 1. Sementara itu, random.uniform(a, b) menghasilkan angka float acak dalam rentang antara dua nilai a dan b yang ditentukan, bisa berada di luar rentang 0 hingga 1.

Bagaimana cara menghasilkan angka acak dalam rentang tertentu dengan distribusi normal?

Untuk menghasilkan angka acak dengan distribusi normal, kamu dapat menggunakan fungsi seperti random.gauss(mu, sigma) atau random.normalvariate(mu, sigma), di mana mu adalah nilai rata-rata (mean) dan sigma adalah standar deviasi.

Fungsi-fungsi ini menghasilkan angka yang terdistribusi secara normal (Gaussian) dengan mean dan standar deviasi yang ditentukan.

RevoU Staff
Kickstart your career in tech with RevoU!

Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!

Rasakan pengalaman belajar di RevoU Full-Stack Program: Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion. Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)

Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!

Rasakan pengalaman belajar di RevoU Full-Stack Program: Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion. Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)

Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!

Rasakan pengalaman belajar di RevoU Full-Stack Program: Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion. Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)

Artikel Lainnya

Mau belajar

Data Analytics

?

Belajar di RevoU! Dapatkan skill digital paling in-demand langsung dari praktisi terbaik di bidangnya. Kelas online 100% LIVE, 1:1 career coaching, dan akses ke Community Hub dengan 6000+ member selamanya untuk support perkembangan karir kamu!
Menu

Mulai karirmu dalam

Data Analytics

Belajar di RevoU! Dapatkan skill digital paling in-demand langsung dari praktisi terbaik di bidangnya. Kelas online 100% LIVE, 1:1 career coaching, dan akses ke Community Hub dengan 6000+ member selamanya untuk support perkembangan karir kamu!

Mau Belajar

Data Analytics

?

Belajar di RevoU! Dapatkan skill digital paling in-demand langsung dari praktisi terbaik di bidangnya. Kelas online 100% LIVE, 1:1 career coaching, dan akses ke Community Hub dengan 6000+ member selamanya untuk support perkembangan karir kamu!

DAFTAR FULL PROGRAM

Mau Belajar

Data Analytics

?