Artikel ini bagian dari seri Belajar Python Level Basic di hanifmu.com. Di artikel sebelumnya kita sudah membahas Import Module. Sekarang kita lihat apa saja yang sudah disediakan Python.
Salah satu alasan Python cepat dipakai untuk berbagai pekerjaan adalah standard library-nya. Banyak tugas umum sudah punya module siap pakai, jadi kamu tidak perlu menulis dari nol.
Apa itu Standard Library?
Standard library adalah kumpulan module yang ikut terpasang bersama Python. Kamu tidak perlu menginstal apa pun, cukup import lalu pakai.
Isinya sangat luas: perhitungan matematika, angka acak, tanggal dan waktu, pengelolaan file, sampai struktur data tambahan. Di artikel ini kita bahas yang paling sering dipakai pemula.
Modul math
Modul math menyediakan fungsi matematika yang tidak ada di operator biasa:
import math
print(math.sqrt(144)) # 12.0
print(math.floor(3.7)) # 3
print(math.ceil(3.2)) # 4
print(math.factorial(5)) # 120
print(math.gcd(24, 36)) # 12
print(math.pi) # 3.141592653589793
math.floor() membulatkan ke bawah, math.ceil() ke atas, dan math.gcd() mencari faktor persekutuan terbesar. Perhatikan bahwa hasil math.sqrt() selalu berupa float, meski angkanya bulat.
Modul random
Modul random menghasilkan angka acak:
import random
print(random.randint(1, 6)) # angka bulat 1 sampai 6
print(random.random()) # desimal antara 0.0 dan 1.0
print(random.choice(["apel", "jeruk", "mangga"]))
print(random.sample([1, 2, 3, 4, 5], 2))
randint(a, b)menghasilkan bilangan bulat antaraadanb, keduanya ikut.random()menghasilkan desimal antara 0.0 dan 1.0.choice()memilih satu item dari urutan.sample()memilih beberapa item berbeda sekaligus.
Untuk mengacak urutan, gunakan shuffle():
import random
kartu = ["As", "Raja", "Ratu", "Jack"]
random.shuffle(kartu)
print(kartu) # urutan berubah setiap kali dijalankan
Hasilnya berbeda setiap kali program dijalankan. Kalau ingin hasil yang selalu sama untuk pengujian, gunakan random.seed():
import random
random.seed(1)
print(random.randint(1, 100)) # hasil sama setiap kali seed-nya 1
Modul datetime
Modul datetime mengurus tanggal dan waktu:
from datetime import datetime, date, timedelta
sekarang = datetime.now()
print(sekarang.year)
print(sekarang.month)
print(sekarang.day)
hari_ini = date.today()
print(hari_ini)
Untuk menghitung selisih waktu, gunakan timedelta:
from datetime import date, timedelta
hari_ini = date.today()
tujuh_hari_lagi = hari_ini + timedelta(days=7)
print(hari_ini)
print(tujuh_hari_lagi)
timedelta bisa memakai days, hours, minutes, dan seconds. Untuk menampilkan tanggal dengan format tertentu, gunakan strftime():
from datetime import datetime
sekarang = datetime.now()
print(sekarang.strftime("%d-%m-%Y"))
print(sekarang.strftime("%H:%M"))
%d untuk tanggal, %m untuk bulan, %Y untuk tahun empat digit, %H jam, dan %M menit.
Modul os dan sys
Modul os dipakai untuk berinteraksi dengan sistem operasi, terutama file dan folder:
import os
print(os.getcwd()) # folder kerja saat ini
print(os.listdir(".")) # daftar isi folder saat ini
print(os.path.exists("data.txt"))
print(os.path.join("folder", "file.txt"))
os.getcwd() menampilkan folder kerja, os.listdir() menampilkan isi folder, dan os.path.exists() memeriksa keberadaan file. os.path.join() menyusun path dengan pemisah yang benar sesuai sistem operasi, jadi lebih aman daripada menulis garis miring manual.
Modul sys berhubungan dengan penerjemah Python itu sendiri:
import sys
print(sys.version) # versi Python yang dipakai
print(sys.platform) # sistem operasi, misalnya 'win32' atau 'linux'
sys.argv menyimpan argumen yang diberikan saat program dijalankan dari terminal:
import sys
print(sys.argv)
Kalau file sapa.py dijalankan dengan python sapa.py Budi, maka sys.argv berisi ['sapa.py', 'Budi']. Item pertama selalu nama file, sisanya argumen tambahan.
Modul collections
Modul collections menyediakan struktur data tambahan yang lebih praktis untuk kasus tertentu.
Counter menghitung kemunculan item:
from collections import Counter
kata = "belajar python".split()
hitung = Counter(kata)
print(hitung) # Counter({'belajar': 1, 'python': 1})
Contoh yang lebih berguna, menghitung huruf:
from collections import Counter
huruf = Counter("mississippi")
print(huruf.most_common(2))
# [('i', 4), ('s', 4)]
defaultdict membuat dictionary yang otomatis mengisi nilai awal, sehingga tidak perlu memeriksa key:
from collections import defaultdict
kelompok = defaultdict(list)
kelompok["buah"].append("apel")
kelompok["buah"].append("jeruk")
kelompok["sayur"].append("bayam")
print(kelompok)
# defaultdict(<class 'list'>, {'buah': ['apel', 'jeruk'], 'sayur': ['bayam']})
namedtuple membuat struktur mirip tuple, tapi itemnya bisa diakses dengan nama:
from collections import namedtuple
Titik = namedtuple("Titik", ["x", "y"])
p = Titik(3, 5)
print(p.x) # 3
print(p.y) # 5
Menjelajahi Module Lain
Standard library punya ratusan module. Dua function bawaan membantu mengenalinya:
dir(module)menampilkan daftar nama yang tersedia di dalam module.help(module)menampilkan dokumentasinya.
import math
print(dir(math))
import math
help(math.sqrt)
Dokumentasi resmi Python di docs.python.org juga memuat daftar lengkap standard library, lengkap dengan contoh.
Contoh Program: Pengingat Sederhana
Mari gabungkan datetime dan random untuk memilih tugas harian:
# pengingat.py
import random
from datetime import date
tugas = [
"Belajar Python 30 menit",
"Olahraga pagi",
"Baca buku",
"Rapikan catatan",
]
hari_ini = date.today()
pilihan = random.choice(tugas)
print(f"Tanggal: {hari_ini}")
print(f"Tugas hari ini: {pilihan}")
Output:
Tanggal: 2026-09-27
Tugas hari ini: Baca buku
Program ini memanfaatkan dua module sekaligus dalam beberapa baris saja.
Kesalahan Umum Pemula
- Lupa mengimpor module — memicu
NameError, misalnyasqrttanpaimport math. - Mengira
random.randint(1, 6)tidak menyertakan 6 — batas akhirnya ikut. - Menulis path manual dengan
/atau\— pakaios.path.join()agar aman di semua sistem. - Mencetak objek
datetimelangsung — format denganstrftime()bila ingin tampilan tertentu. - Menganggap hasil
randombisa diulang — tanparandom.seed(), hasilnya selalu berubah.
Ringkasan
- Standard library sudah terpasang bersama Python, tidak perlu instalasi
mathuntuk perhitungan matematika,randomuntuk angka acakdatetimemengurus tanggal, waktu, dan selisih waktuosdansysberinteraksi dengan sistem operasi dan penerjemah PythoncollectionsmenyediakanCounter,defaultdict, dannamedtupledir()danhelp()membantu menjelajahi module yang belum dikenal
Langkah Selanjutnya
Kamu sudah bisa memakai module bawaan Python. Tapi suatu saat kamu butuh module yang dibuat orang lain, misalnya untuk mengambil data dari internet atau mengolah gambar.
Artikel selanjutnya membahas pip dan Virtual Environment, cara memasang package tambahan dan mengelolanya agar proyek tetap rapi.
