
# Belajar Python Tahap 5: Cara Menyimpan Data ke File Permanen (File Handling) & Mengenal Modul Python
Pada artikel sebelumnya, kita telah berhasil membuat aplikasi catatan tugas menggunakan **List** dan **Error Handling**. Namun, ada satu kelemahan besar pada program tersebut: setiap kali aplikasi ditutup atau komputer dimatikan, seluruh data tugas yang sudah kita ketik langsung hilang begitu saja!
Hal itu terjadi karena variabel biasa hanya menyimpan data di memori sementara (RAM). Agar data program Anda tersimpan secara permanen di dalam *hardisk* atau SSD, Anda harus mempelajari teknik **File Handling (Membaca dan Menulis File)**. Selain itu, kita juga akan berkenalan dengan **Modul / Library**, sebuah fitur ajaib yang membuat Python begitu populer di dunia. Mari kita mulai!
---
## 1. File Handling: Menyimpan dan Membaca Data Permanen
Python memiliki fungsi bawaan bernama `open()` yang sangat mudah digunakan untuk membuat, menulis, dan membaca file teks (seperti `.txt` atau `.csv`).
Saat membuka file, ada tiga mode utama yang wajib Anda ketahui:
* **`"w"` (Write / Tulis):** Membuat file baru atau menimpa (*overwrite*) seluruh isi file lama jika file tersebut sudah ada.
* **`"a"` (Append / Tambah):** Menambahkan data baru di baris paling bawah tanpa menghapus isi file yang sudah ada sebelumnya.
* **`"r"` (Read / Baca):** Hanya membaca isi di dalam file tanpa mengubahnya.
Gunakan perintah `with open(...)` agar file otomatis ditutup kembali oleh Python setelah selesai diproses (sehingga file tidak rusak atau *corrupt*).
### Contoh 1: Menulis dan Menambahkan Data ke File `.txt`
Buat file baru bernama `kelola_file.py` di VS Code Anda, lalu jalankan kode berikut:
```python
# 1. Membuat file baru dan menulis data pertama (Mode "w")
with open("catatan_harian.txt", "w") as file:
file.write("Hari 1: Belajar instalasi Python.\n")
file.write("Hari 2: Belajar variabel dan perulangan.\n")
print("File berhasil dibuat!")
# 2. Menambahkan data baru tanpa menghapus data lama (Mode "a")
with open("catatan_harian.txt", "a") as file:
file.write("Hari 3: Berhasil menyimpan data ke dalam file teks!\n")
print("Data baru berhasil ditambahkan!")
```
*(Catatan: Simbol `\n` berfungsi seperti tombol **Enter** untuk membuat baris baru di dalam file).*
Setelah kode di atas dijalankan, coba lihat panel folder di sebelah kiri VS Code Anda. Akan muncul sebuah file baru bernama `catatan_harian.txt`!
### Contoh 2: Membaca Isi File `.txt`
Sekarang, mari kita tampilkan isi file `catatan_harian.txt` tersebut ke layar terminal menggunakan mode `"r"`:
```python
# Membaca seluruh isi file (Mode "r")
try:
with open("catatan_harian.txt", "r") as file:
isi_dokumen = file.read()
print("\n--- ISI FILE CATATAN HARIAN ---")
print(isi_dokumen)
except FileNotFoundError:
print("Error: File yang Anda cari belum dibuat!")
```
---
## 2. Mengenal Modul / Library Python (Jurus Pintas Programmer)
Mengapa programmer Python bisa membuat aplikasi kecerdasan buatan (AI), *website*, hingga robot otomatisasi hanya dalam waktu singkat? Jawabannya adalah karena **Modul** (sering juga disebut **Library** atau **Package**).
Modul adalah kumpulan kode yang sudah dibuat oleh orang lain atau tim pengembang Python untuk menyelesaikan tugas tertentu. Anda tidak perlu membuat semuanya dari nolโcukup panggil modulnya menggunakan perintah **`import`**!
### Contoh Penggunaan Modul Bawaan Python:
Python sudah menyediakan puluhan modul gratis yang langsung terpasang di komputer Anda. Berikut tiga contoh yang paling sering digunakan:
```python
import random
import math
import datetime
# 1. Modul 'math' untuk perhitungan matematika rumit
angka = 81
akar_kuadrat = math.sqrt(angka)
print(f"Akar kuadrat dari {angka} adalah: {akar_kuadrat}")
# 2. Modul 'random' untuk mengacak angka atau pilihan (cocok untuk membuat game)
angka_acak = random.randint(1, 100)
print(f"Angka keberuntungan Anda hari ini: {angka_acak}")
# 3. Modul 'datetime' untuk mengecek waktu dan tanggal sekarang
waktu_sekarang = datetime.datetime.now()
print("Waktu saat ini:", waktu_sekarang.strftime("%d-%m-%Y %H:%M:%S"))
```
---
## 3. Proyek Praktik: Aplikasi Buku Tamu Digital (Tersimpan Permanen & Otomatis Mencatat Waktu)
Mari kita gabungkan ilmu **File Handling** dan **Modul `datetime`** untuk membuat aplikasi Buku Tamu Digital. Setiap kali ada tamu yang mengisi nama, program akan otomatis mencatat jam kedatangannya dan menyimpannya secara permanen ke dalam file `buku_tamu.txt`!
Buat file baru bernama `buku_tamu.py`, lalu salin dan jalankan kode berikut:
```python
import datetime
def tambah_tamu():
nama = input("Masukkan nama lengkap tamu: ")
keperluan = input("Masukkan keperluan kunjungan: ")
# Mengambil waktu saat ini secara otomatis
waktu = datetime.datetime.now().strftime("%d/%m/%Y %H:%M")
# Menyimpan data ke dalam file secara permanen (Mode Append "a")
with open("buku_tamu.txt", "a") as file:
file.write(f"[{waktu}] Nama: {nama} | Keperluan: {keperluan}\n")
print("Berhasil! Data kunjungan telah disimpan secara permanen.\n")
def lihat_daftar_tamu():
print("\n=== RIWAYAT BUKU TAMU ===")
try:
with open("buku_tamu.txt", "r") as file:
data = file.read()
if data == "":
print("Buku tamu masih kosong.")
else:
print(data)
except FileNotFoundError:
print("Belum ada data tamu yang tercatat.")
# Menu Utama Program
while True:
print("=== SISTEM BUKU TAMU DIGITAL ===")
print("1. Isi Buku Tamu")
print("2. Lihat Riwayat Tamu")
print("3. Keluar")
pilihan = input("Pilih menu (1/2/3): ")
if pilihan == "1":
tambah_tamu()
elif pilihan == "2":
lihat_daftar_tamu()
elif pilihan == "3":
print("Program ditutup. Data Anda tetap aman tersimpan di buku_tamu.txt!")
break
else:
print("Pilihan tidak valid, silakan masukkan angka 1, 2, atau 3.\n")
```
Coba isi beberapa data tamu, lalu tutup programnya. Saat Anda menjalankan kembali program tersebut dan memilih menu nomor **2**, seluruh data tamu sebelumnya masih utuh tersimpan!
---
## Penutup
Luar biasa! Anda kini sudah naik kelas dari sekadar menulis kode dasar menjadi pembuat program yang mampu menyimpan data permanen dan memanfaatkan modul bawaan Python.
Pada artikel tahap selanjutnya, kita akan membahas cara **Menginstal Library Eksternal menggunakan `pip`** (untuk mengambil ribuan modul canggih dari internet, seperti modul pengambil data website atau pembuat grafik) serta pengenalan konsep **OOP (Object-Oriented Programming)** bagi pemula. Sampai jumpa di panduan berikutnya!
Diskusi artikel
Tinggalkan komentar atau pertanyaan seputar artikel ini.
Belum ada komentar
Jadilah yang pertama memberi komentar di artikel ini.