Program yang Tangguh · Pelajaran 10 dari 11
Modul: math, random, dan buatan sendiri
8 menit baca · BelajarCode
Modul adalah file berisi kumpulan fungsi dan nilai yang bisa dipakai di program lain. Python sudah membawa ratusan modul bawaan, sering disebut "baterai sudah termasuk".
Modul math
1import math23print(math.sqrt(144))4print(math.pi)5print(math.ceil(4.1), math.floor(4.9))6print(math.gcd(24, 36))7print(round(math.sin(math.pi / 2), 3))12.0 3.141592653589793 5 4 12 1.0
ceilmembulatkan ke atas danfloormembulatkan ke bawah.gcdadalah FPB (faktor persekutuan terbesar).
Mengimpor sebagian
1from math import sqrt, pi23jari = 74print(round(pi * jari ** 2, 2))5print(sqrt(2))153.94 1.4142135623730951
Dengan from ... import ..., fungsi bisa dipanggil tanpa menulis nama modulnya.
Modul random
random membuat bilangan acak, berguna untuk permainan dan simulasi. Fungsi seed membuat urutan acaknya selalu sama setiap kali program dijalankan, sangat berguna saat menguji program.
1import random23random.seed(7)4print(random.randint(1, 6))5print(random.choice(["batu", "gunting", "kertas"]))6angka = [1, 2, 3, 4, 5]7random.shuffle(angka)8print(angka)3 batu [2, 3, 5, 1, 4]
Tanpa random.seed(7), hasilnya berbeda setiap kali dijalankan.
Simulasi: melempar dadu 6.000 kali
1import random23random.seed(1)4hitung = [0] * 75for _ in range(6000):6 hitung[random.randint(1, 6)] += 17for mata in range(1, 7):8 print(mata, hitung[mata])1 979 2 1002 3 1007 4 995 5 1045 6 972
Setiap mata dadu muncul sekitar 1.000 kali, sesuai peluangnya 1/6. Nama variabel _ dipakai jika nilainya tidak dibutuhkan.
Membuat modul sendiri
Di komputermu sendiri, kamu bisa menyimpan fungsi di file alat_nilai.py, lalu memakainya dari file lain dengan import alat_nilai. Program besar biasanya dipecah ke banyak file seperti ini supaya rapi. Selain modul bawaan, ada ratusan ribu pustaka buatan komunitas yang dipasang dengan perintah pip install, misalnya pustaka untuk mengolah data atau membuat situs web.
Cek pemahaman
Apa gunanya random.seed(...) dalam program?
Latihan
Kalkulator sisi miring
Buat fungsi sisi_miring(a, b) untuk menghitung sisi miring segitiga siku-siku dengan teorema Pythagoras memakai math.sqrt. Uji dengan (3, 4) dan (5, 12). Bonus: bandingkan dengan math.hypot.
Pembahasan
1import math23def sisi_miring(a, b):4 return math.sqrt(a ** 2 + b ** 2)56print(sisi_miring(3, 4), sisi_miring(5, 12))7print(math.hypot(3, 4), math.hypot(5, 12))5.0 13.0 5.0 13.0
math.hypot adalah fungsi bawaan yang menghitung hal yang sama. Mengenal isi modul bawaan sering menghemat waktu menulis kode.
Jalankan contoh kode di pelajaran ini tanpa instalasi lewat compiler Python online.