Hari 22: Module, Package & Import System
55 min
Last updated 26 Mar 2026
Apa itu Module?
Module adalah file Python (.py) yang berisi kode yang bisa digunakan di file lain. Package adalah kumpulan module dalam satu folder.
Import Dasar
# Import seluruh module
import math
print(math.pi)
print(math.sqrt(144))
# Import dengan alias
import numpy as np # konvensi
import pandas as pd
# Import spesifik
from math import pi, sqrt, factorial
print(pi) # langsung tanpa prefix
print(sqrt(25))
# Import semua (HINDARI — bisa konflik nama)
# from math import *
Membuat Module Sendiri
# File: utils.py
def sapa(nama):
return f"Halo, {nama}!"
def hitung_diskon(harga, persen):
return harga * (1 - persen/100)
VERSI = "1.0.0"
# File: main.py
import utils
print(utils.sapa("Budi"))
print(utils.hitung_diskon(100_000, 20))
print(utils.VERSI)
__name__ == "__main__"
# utils.py
def tambah(a, b):
return a + b
# Kode di bawah ini HANYA dijalankan jika file ini
# dieksekusi langsung, BUKAN saat di-import
if __name__ == "__main__":
print("Testing modul utils...")
print(tambah(3, 4)) # 7
Struktur Package
# Struktur folder:
# myapp/
# __init__.py ← wajib ada (bisa kosong)
# utils.py
# database/
# __init__.py
# connection.py
# query.py
# Import dari package
from myapp.utils import tambah
from myapp.database.query import select_all
# __init__.py bisa mengekspos API publik
# myapp/__init__.py:
# from .utils import tambah
# from .database.query import select_all
Module Standar Populer
import os # interaksi dengan OS
import sys # informasi interpreter
import math # fungsi matematika
import random # angka acak
import datetime # tanggal & waktu
import json # encode/decode JSON
import re # regular expression
import collections # struktur data tambahan
import itertools # iterasi lanjutan
import functools # fungsi tingkat tinggi
# random — sering dipakai
import random
print(random.randint(1, 100)) # angka acak 1-100
print(random.choice(["a","b","c"])) # pilih acak dari list
data = [1,2,3,4,5]
random.shuffle(data) # acak urutan
print(random.sample(data, 3)) # ambil 3 tanpa duplikatAssignment
Buat modul "konversi.py" dengan fungsi-fungsi konversi: (1) suhu C/F/K, (2) mata uang IDR ke USD/SGD/JPY (gunakan kurs tetap), (3) satuan panjang m/km/mil/kaki. Demonstrasikan penggunaan semua fungsi.
Expected output:
100°C = 212.0°F
Rp 1.000.000 = $63.29 USD
5 km = 3.107 mil
1 mil = 1609.3 m
PY
main.py
Solution
Output