Langsung ke konten

Standard Library Python: Module Bawaan yang Siap Pakai

Standard library Python berisi module siap pakai tanpa instalasi. Artikel ini membahas math, random, datetime, os, sys, dan collections beserta contohnya.

Belajar Python Level Basic
Belajar Python Level Basic
Advertisement

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 antara a dan b, 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, misalnya sqrt tanpa import math.
  • Mengira random.randint(1, 6) tidak menyertakan 6 — batas akhirnya ikut.
  • Menulis path manual dengan / atau \ — pakai os.path.join() agar aman di semua sistem.
  • Mencetak objek datetime langsung — format dengan strftime() bila ingin tampilan tertentu.
  • Menganggap hasil random bisa diulang — tanpa random.seed(), hasilnya selalu berubah.

Ringkasan

  • Standard library sudah terpasang bersama Python, tidak perlu instalasi
  • math untuk perhitungan matematika, random untuk angka acak
  • datetime mengurus tanggal, waktu, dan selisih waktu
  • os dan sys berinteraksi dengan sistem operasi dan penerjemah Python
  • collections menyediakan Counter, defaultdict, dan namedtuple
  • dir() dan help() 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.