Cara menggunakan python random uniform

View Discussion

Improve Article

Save Article

  • Read
  • Discuss
  • View Discussion

    Improve Article

    Save Article

    uniform() is a method specified in the random library in Python 3.

    Nowadays, in general, day-day tasks, there’s always the need to generate random numbers in a range. Normal programming constructs require a method more than just one word to achieve this particular task. In python, there’s an inbuilt method, “uniform()” which performs this task with ease and using just the one word. This method is defined in “random” module

    Syntax : uniform(int x, int y)

    Parameters :
    x Specifies the lower limit of the random number required to generate.
    y Specifies the upper limit of the random number required to generate.

    Returns : Returns the generated floating point random number between lower limit and upper limit

     
    Code #1 : Code to generate float random number.

    import random

    a = 4

    b = 9

    print("The random number generated between 4 and 9 is : ", end ="")

    print(random.uniform(a, b))

    Output:

    The random number generated between 4 and 9 is : 7.494931618830411
    

    Application :
    There are many possible applications that can be thought of this function, some of the notable being generating random numbers in casino games, for lottery or custom games.
    Below is the game that decided the winner on the basis of closeness to a certain value.

     
    Code #2 : Application of uniform() – A Game

    import random, math

    player1 = 4.50

    player2 = 3.78

    player3 = 6.54

    winner = random.uniform(2, 9)

    diffa = math.fabs(winner - player1)

    diffb = math.fabs(winner - player2)

    diffc = math.fabs(winner - player3)

    if(diffa < diffb and diffa < diffc):

        print("The winner of game is : ", end ="")

        print("Player1")

    if(diffb < diffc and diffb < diffa):

        print("The winner of game is : ", end ="")

        print("Player2")

    if(diffc < diffb and diffc < diffa):

        print("The winner of game is : ", end ="")

        print("Player3")

    Output:

    The winner of game is : Player2
    

    Di dalam buku saya tentang Python, pada salah satu project latihannya di Bab 5, adalah tentang membuat aplikasi game tebak angka. Ketika aplikasi ini nanti dijalankan, komputer akan merandom sebuah bilangan bulat positif kemudian user diminta menebaknya. Permainan tebak angka ini akan berhenti jika tebakan user sesuai dengan bilangan yang dipilih oleh komputer tersebut.

    Untuk membuat aplikasi di atas, di dalam kode program Python diperlukan proses untuk merandom sebuah bilangan. Bagaimana cara merandom bilangan di dalam Python? baik bilangan riil maupun bilangan bulat (integer)? Serta dalam kasus lainnya, apabila terdapat sekumpulan bilangan dalam sebuah list, bagaimana mengambil secara acak sebuah bilangan dari list tersebut? Artikel ini akan membahasnya secara detil.

    Tidak hanya untuk kasus di atas, lebih jauh lagi proses membuat bilangan random ini seringkali dipakai di dalam machine learning untuk mengkonfigurasi dan mengevaluasi sebuah algoritma.

    • Merandom Bilangan Riil
    • Merandom Bilangan Bulat
    • Memilih Bilangan Random dari List

    Merandom Bilangan Riil

    Di dalam Python, untuk mengenerate sebuah bilangan riil dapat menggunakan function random(). Function yang akan mengenerate bilangan riil antara 0 s/d 1 ini ada di dalam library random. Oleh karenanya, sebelum menggunakan function random() terlebih dahulu library random ini harus diload terlebih dahulu. Perhatikan contoh berikut ini!

    # mengimport library random
    from random import random
    # merandom bilangan riil
    bil = random()
    # mencetak bilangan random
    print(bil)
    

    Apabila script di atas dijalankan, maka akan dihasilkan sebuah bilangan random riil sebagai berikut:

    Setiap kali script di atas dijalankan, bilangan random yang dihasilkan akan berbeda-beda. Perhatikan contoh berikut ini yang menunjukkan perubahan bilangan riil random yang dihasilkan.

    # mengimport library random
    from random import random
    # merandom bilangan riil sebanyak 5 kali
    for i in range(5):
        bil = random()
        # mencetak bilangan random
        print(bil)
    

    Salah satu bentuk outputnya adalah:

    0.45096101992144677
    0.6477992505962291
    0.7580327964153457
    0.31451022865099276
    0.9977239458801319
    

    OK.. berdasarkan contoh di atas tampak bahwa setiap kali kita memanggil function random() maka akan dihasilkan bilangan riil random yang berbeda-beda. Selanjutnya, misalkan kita ingin merandomnya cukup sekali saja, katakanlah dihasilkan bilangan riil random yaitu X. Apabila nanti function random() ini dieksekusi kembali maka akan tetap dihasilkan bilangan X yang sama. Bagaimana melakukan hal ini? Untuk melakukan hal ini, digunakan function seed(). Function seed() digunakan untuk membuat pseudorandom sebuah bilangan. Biasanya parameter dari function ini adalah berupa bilangan bulat 1 s/d 7. Perhatikan contoh berikut ini.

    from random import seed
    from random import random
    
    seed(1)
    bil = random()
    print(bil)
    seed(1)
    bil = random()
    print(bil)
    

    Output dari script di atas akan dihasilkan dua bilangan riil yang sama persis, meskipun proses randomnya dilakukan dua kali. Ini dikarenakan proses random yang kedua mengacu pada nomor seed yang sama dengan random yang pertama.

    0.13436424411240122
    0.13436424411240122
    

    Jika function random() digunakan untuk merandom bilangan riil antara 0 s/d 1, maka bagaimana jika bilangan riil yang dirandom antara 10 s/d 20 atau secara umum antara a s/d b?

    Untuk melakukan hal di atas, function yang digunakan adalah uniform(a, b). Perhatikan contoh berikut ini.

    from random import uniform
    
    # mengenerate 5 bil riil 10 s/d 20
    for i in range(5):
        bil = uniform(10, 20)
        print(bil)
    

    Hasil script di atas diperoleh 5 buah bilangan riil random seperti di bawah ini.

    17.62280082457942
    10.021060533511108
    14.453871940548014
    17.215400323407827
    12.287622212704527
    

    Merandom Bilangan Bulat

    Untuk merandom bilangan bulat, digunakan function randint(a, b). Function ini akan merandom sebuah bilangan bulat antara a dan b. Dalam implementasinya, function ini dapat pula digandengkan dengan seed() seperti halnya bilangan riil. Perhatikan contoh berikut ini.

    # mengimport function randint
    from random import randint
    
    # mengenerate 5 bil bulat 0 s/d 10
    for i in range(5):
        bil = randint(0, 10)
        print(bil)
    

    Output dari script di atas adalah bisa berbentuk sebagai berikut:

    Memilih Bilangan Random dari List

    Misalkan dimiliki sebuah list berisi kumpulan beberapa bilangan. Selanjutnya apabila kita ingin memilih sebuah bilangan dari list tersebut secara acak, maka bagaimana caranya? Untuk melakukan hal ini, kita bisa menggunakan function choice(). Contohnya adalah sebagai berikut:

    from random import choice
    
    # list of numbers
    numList = [10, 23, 22, 34, 12]
    
    # memilih bil dari list scr acak
    for i in range(5):
        bil = choice(numList)
        print(bil)
    

    Script di atas akan diperoleh hasil sebagai berikut:

    OK, mudah bukan untuk merandom bilangan di Python? Selamat belajar, dan semoga artikel ini dapat memberikan manfaat serta tambahan wawasan bagi pengunjung setia blog ini.

    Bagikan artikel ini jika bermanfaat !