Belajar Python Dasar

Pelajaran 6 dari 12

6. Modul dan File Handling

Menggunakan Modul Bawaan

# Mengimpor modul math
import math

print(math.sqrt(16))  # Output: 4.0
print(math.pi)       # Output: 3.141592653589793

Membuat Modul Sendiri

Buat file my_module.py:

# Isi my_module.py
def sapa(nama):
    return f"Halo, {nama}!"

def hitung_luas_lingkaran(jari_jari):
    return 3.14 * jari_jari ** 2

Gunakan modul di program lain:

import my_module

print(my_module.sapa("Budi"))
print(my_module.hitung_luas_lingkaran(7))

File Handling

# Menulis ke file
with open('data.txt', 'w') as file:
    file.write("Baris pertama\n")
    file.write("Baris kedua\n")

# Membaca file
with open('data.txt', 'r') as file:
    content = file.read()
    print(content)

Contoh Program: Catatan Harian

# Program catatan harian sederhana
def tambah_catatan():
    tanggal = input("Masukkan tanggal (DD-MM-YYYY): ")
    catatan = input("Masukkan catatan Anda: ")
    
    with open('catatan.txt', 'a') as file:
        file.write(f"{tanggal}: {catatan}\n")
    print("Catatan berhasil disimpan!")

def baca_catatan():
    try:
        with open('catatan.txt', 'r') as file:
            print("\n=== CATATAN HARIAN ===")
            print(file.read())
    except FileNotFoundError:
        print("Belum ada catatan.")

# Contoh penggunaan
tambah_catatan()
baca_catatan()

Latihan:

Buat program yang membaca file teks dan menghitung frekuensi kemunculan setiap kata.

# Solusi contoh
def hitung_kata(nama_file):
    frekuensi = {}
    with open(nama_file, 'r') as file:
        for line in file:
            words = line.split()
            for word in words:
                word = word.lower().strip('.,!?')
                if word in frekuensi:
                    frekuensi[word] += 1
                else:
                    frekuensi[word] = 1
    return frekuensi

# Contoh penggunaan (asumsikan ada file 'sample.txt')
print(hitung_kata('sample.txt'))
Tip: Gunakan try-except untuk menangani error saat bekerja dengan file, misalnya ketika file tidak ditemukan.
Sebelumnya Selanjutnya