File Handling


🎯 1. Pengantar File Handling

https://images.openai.com/static-rsc-4/GZ2qRt5NOFZPtYNfXK0e7GhcXXi6mvmSOvEb0k2K5Q06RDTJRGu9CPgikzItsbD6HKbN9dJ6zmHK09YvM_K9YrXaSkogV8wPlfNGwXKSI7emGl68uY8FFSA1x9Z89S7e6X5m-FEa0DPL_rxFD5fy1K8pnGjiYltjJcGiojoHDzduNfdjpO8V1DoL9tUpRpuS?purpose=fullsize
https://images.openai.com/static-rsc-4/LYMXI9aEjPYi6apxhkm9fTrYm5Ke4-J1_MYnO5eU68umb5nM580GmVueBsphNuSYaTt59OmIz_WvezCOSBHcvDL4u0SafLVu7BaZOfnBBCuXm9uDtXxkPEFIekdbe9IUKRhBzetgx4l38UB_k_QIiHQR6cHnAaePz8FFgDa3EjUG9VsbtSEShfk-srcCwntz?purpose=fullsize
https://images.openai.com/static-rsc-4/jfLtOvx6eF4n5hW_m8yn33otBHq7EbZAegENEInWJT4RSHFRzzQ612wi5rotRA-4hCzsPptghKFfQr97YaAHYBzr-1LMgoa0LNJVMG213euyRz-E03RsIIpUgxBHEbqv2ghn7H0N4MPHkafXDms6rk6rMjZa1ldXtuppbEilkvAzneyiCzDhR_FA2ACiCnR9?purpose=fullsize

9

πŸ“– Deskripsi

File Handling adalah proses membaca (read), menulis (write), dan mengelola file dalam sistem komputer.

🧠 Narasi

Tidak semua aplikasi menggunakan database. Banyak aplikasi desktop sederhana menggunakan file untuk:

  • Menyimpan data
  • Membaca konfigurasi
  • Export/import data

Contohnya: file .txt, .csv, .json


🧩 2. Konsep Dasar File

πŸ“Š Tabel Jenis File

Jenis FileFungsiContoh
TXTTeks biasacatatan
CSVData tabelExcel
JSONData strukturAPI/config
BinaryData khususgambar

🧠 Narasi

Pemilihan jenis file tergantung kebutuhan:

  • Data sederhana β†’ TXT
  • Data tabel β†’ CSV
  • Data kompleks β†’ JSON

πŸ—‚οΈ 3. Mode Akses File

https://images.openai.com/static-rsc-4/1AOfV6amRSuo7HBx4EESoeSyUaPmAWlilBUhKUvodBYDcoKxrZfC3IKLlQQOI2amOFqA7wQL2hYQvb4jE5FL0aUij2TSzdQEuJMsY8egaPtUjk6gQpGyYlud3XsRjSr5ZNcwRUgzij-gLJrrN_bkhbQudriIIw5gF9ylW57kF54delBRQvIC0Ffg728TFv7r?purpose=fullsize
https://images.openai.com/static-rsc-4/mCitUSWjER23Kn-qLfpzjOKSX85A1buHiVLkgjYp2sKCOFruoyuVoaAHWNVSK150ebZs_u97Q1nJbXqO9A9xtVNlnqPFQmivxCS-s2mqzJKzMWMBF0VAX9kMUGNrz4ob4Fva3Hc_WYfW5RoLwkHaQD53WdiYfO_t6CAkXsi7_IeRmOsoYAaZMWyIZqe5cvM_?purpose=fullsize
https://images.openai.com/static-rsc-4/frdnurrFu7QQSW7J02B6YNbDqbEf-XgM9wZsJTCwiTMbL-jqLH7rCcmW6E9TOPRXuO2lp93YazODSet9hpgx3NVGREYtO5W3Z5Q3IUaYfY1gJnZoR3lpeCAOtKsBRS_p_NzO1A7kRtYulddO5D7gxAr6Oq2mFfcXDoGMOirv0V1r44SN4cEq7-GGlUEKWhpm?purpose=fullsize

7

πŸ“Š Mode File

ModeFungsi
rRead (baca)
wWrite (tulis, overwrite)
aAppend (tambah)
rb/wbBinary

🧠 Narasi

Mode menentukan bagaimana file digunakan:

  • w β†’ hapus isi lama
  • a β†’ tambah tanpa menghapus

πŸ“– 4. Membaca File (Read)

πŸ’» Contoh (Python)

file = open("data.txt", "r")
isi = file.read()
print(isi)
file.close()

🧠 Penjelasan

  • open() β†’ membuka file
  • read() β†’ membaca isi
  • close() β†’ menutup file

✏️ 5. Menulis File (Write)

πŸ’» Contoh

file = open("data.txt", "w")
file.write("Halo Dunia")
file.close()

🧠 Narasi

Mode w akan mengganti isi file lama.


βž• 6. Menambahkan Data (Append)

πŸ’» Contoh

file = open("data.txt", "a")
file.write("\nData baru")
file.close()

🧠 Narasi

Mode a aman untuk menambah data tanpa menghapus isi sebelumnya.


πŸ”„ 7. File CSV (Data Tabel)

https://images.openai.com/static-rsc-4/N3kaPvwoqud3U7zD2GfV7UwZWZCqEyJBmu_9CiIi139fKa4H035b7tQEIkRY722XV6JeWquMBUYrFgKadWxlsoCeBKwctUT0XkjjIdmH0Ns91GFwAubQ3U8Qa31YZdkgHmh-CLE37NLx5__uaFsHi3l9NvC7-MVSTolv3ZiZgdFd6zjxNI2w-PVX8GcEq_u6?purpose=fullsize
https://images.openai.com/static-rsc-4/KbW3JjQY973H_Quz77C8y0lATKYSyoze6lyHXXpu56Ay546PFkBF2Lv3NOJhyKtJ2QppH1s-GW74mNVG1ZmSLBQz6Nw0m-TixIZcwHju_-PjiZwWrKi8SZe0V2MDunF1D9qMVdkSCE1kV7ftZImlSAT7e-iteCfaedmDW5YD9QGugvKdZ2YGt143yjRvxK5I?purpose=fullsize
https://images.openai.com/static-rsc-4/vR_NA4aO6cz1JEGFTmjo4ZN1Jps89sWAjRa2diiMe_tZ8vnt-9QPE6Oqt0pvS8V94nZInE3pp32kf_5r0DKoNXdkHKlWA6q6jx5i5Q-QEmRhR3qpqRQAZ1HagofEkXRWRLd3OJ4NrxI_psi1J0cS3Ym5Q6utHNJjwMiREI7W81VuFhepZAuwTK8MupLuBiDo?purpose=fullsize

7

πŸ“– Deskripsi

CSV (Comma Separated Values) digunakan untuk menyimpan data tabel.


πŸ’» Contoh

import csv

with open("data.csv", "w", newline="") as file:
writer = csv.writer(file)
writer.writerow(["Nama", "NIM"])
writer.writerow(["Andi", "101"])

🧠 Narasi

CSV sering digunakan untuk:

  • Export data
  • Import ke Excel

πŸ”— 8. File JSON (Data Terstruktur)

https://images.openai.com/static-rsc-4/pBff7PtMNxADuKZ0Y_zG800BoyxzmsqKYMKF6qV5Q9m0K6HtGia1ulnE20PV1kKxyo2636v6e3DOOlWHbALY-22EUbk5UtY8xgkdNQBa0I5BgvzN3s66n-mqTZ5gYPfn1q2FCkg-hWPWNLDxS9zBNwNeROgBXpmf1qZ_EXHmMA8C2-jd-yZZ-iIVLH7qCsfk?purpose=fullsize
https://images.openai.com/static-rsc-4/Z60vdYTagNPDChJf0zhz32no3ISDp-898FevqU8MEuuGC4gikDq56HEZRMrjAgK2no69si_ylhKoUFCoquagA1o8Soerjt5qoRDhwAtZD7225IRQUlUGvdzzi1oziffVd69nbtD9b7m0mw1QMVTHuURVGTj79nLP5H8CVb2EcmQSyQIGhksE5FZQqn9GCXgV?purpose=fullsize
https://images.openai.com/static-rsc-4/i86BzWQ--q-cok8NQ5STNZYPPJ-KjOYQ7VDHELVFF0AHCdUDpdwTaLUWlEDwe8FCT2Ui5fbJZJEaxIdQfcUaMVigwKVzJJaUAgNtuLvCk2WpECnjBMpPscn-LgLL_AEtAuynZ4H6MDcXuFuAJ9aYhM947BdIwp2ERGhwxRCTXMcLvz0G89Ld9Vfp6Yx2Mt9c?purpose=fullsize

7

πŸ“– Deskripsi

JSON digunakan untuk menyimpan data berbentuk objek.


πŸ’» Contoh

import json

data = {"nama": "Andi", "nim": "101"}

with open("data.json", "w") as file:
json.dump(data, file)

🧠 Narasi

JSON lebih fleksibel dibanding CSV karena bisa menyimpan struktur kompleks.


πŸ–₯️ 9. Integrasi File dengan GUI

https://images.openai.com/static-rsc-4/44su9_bDczmRWnVga55m7VSkPOeWF61pW1YnVaQGRiX8qmxoTt3TbUX8htsPraHl43fZUF9cAmmkVLGmlYTQsKEW9Fn-efb_5VhaMy3B0uq9HajaSEWdkNs4YqJK7ANZixpibRTMVDABh_FaVMz13YM_EL7Un0zb4AaVPT7_8oqMD0uhtUy7B5zi-FgDp5FZ?purpose=fullsize
https://images.openai.com/static-rsc-4/LYMXI9aEjPYi6apxhkm9fTrYm5Ke4-J1_MYnO5eU68umb5nM580GmVueBsphNuSYaTt59OmIz_WvezCOSBHcvDL4u0SafLVu7BaZOfnBBCuXm9uDtXxkPEFIekdbe9IUKRhBzetgx4l38UB_k_QIiHQR6cHnAaePz8FFgDa3EjUG9VsbtSEShfk-srcCwntz?purpose=fullsize
https://images.openai.com/static-rsc-4/RlYdCVwhy0EPxhB28wD6okfFNVobcQG4iFM1uzf_aYIFiEjV8flTtrK-9FDP7RNsWqw2lr0Y37xWnwbw1VdKvV-UfJvQFgWGsUMT8PHIVG0br6we8VabXY3vSbVcRRiGeVo7SUUYspJD4n9BNZDSPAFkxmrelm_M7wQTczmXu-X8SN9AJuko-pPmqbDm8EtB?purpose=fullsize

5

πŸ“– Alur

  1. User klik tombol
  2. Pilih file
  3. Aplikasi membaca/menulis
  4. Data ditampilkan

πŸ’» Contoh Tkinter

from tkinter import filedialog

file = filedialog.askopenfilename()
print(file)

🧠 Narasi

GUI membuat file handling lebih mudah dan user-friendly.


⚠️ 10. Kesalahan Umum

❌ Tabel Kesalahan

KesalahanDampak
Tidak close fileMemory leak
Mode salahData hilang
File tidak ditemukanError
Format tidak sesuaiData rusak

🧠 Narasi

Kesalahan kecil bisa menyebabkan kehilangan data.


🎯 11. Best Practice

βœ… Tips

  • Gunakan with open() (auto close)
  • Gunakan format sesuai kebutuhan
  • Validasi file sebelum dibaca
  • Backup file penting
  • Gunakan exception handling

πŸ—οΈ 12. Studi Kasus Nyata

https://images.openai.com/static-rsc-4/fF4zaGYPo9VLVmNh8ui_zUgb72E7aor9UcSzxDIRLYKpSsBbqc1FjBaqmOAeegb-XNwrLmKhTBTZVnDf3FktQ9z7KpolWqYk5QxPGJ9t7LX8CZL7QKQvtvMKPhoV-1xeFwVeOt8Ld22QEmol4iWlOYeuOUgsuGpFIcm5L2iwzputyD1-DN9d5rjkcsDRSgf4?purpose=fullsize
https://images.openai.com/static-rsc-4/Lgm3AP5Cq60KmeG40XkH68k5Py8GD-im5RzlTiGdDvja1Rds2UQ5rwmCCoNXU0d5WWa7bqurzk5tk5hZAv4sgn-jh41ZAJn8BiMxPxHmvaKV9AqgVxNyPtXZcvMD6UaLBdyuP1__2duo-92pO6wot_f_pOsRKRCZbg_J2lHHCSLO_rQjtK3u7NpoipEBakdZ?purpose=fullsize
https://images.openai.com/static-rsc-4/LUcUOIMaFrPb7McH2XdXLEKbTiHmfmV_DWJiePVBzryxR8pJzdIH7bUo2JhUc-6pMTSPKT9hwWTF0SthXgg78C6yZFKlpSrIC-03k6nl5XcJZuNyx-pyWQux2OcrDnz44ygzNeOu5PrKzOcqQ3WZXOEZoJo2M7G3U2jeexKFdfmeQtRDQ0JFPpGJS3mKR_19?purpose=fullsize

6

πŸ“Œ Contoh

  • Export laporan ke CSV
  • Simpan konfigurasi ke JSON
  • Logging aplikasi ke TXT

🧠 Narasi

File handling sering digunakan berdampingan dengan database.


πŸŽ“ 13. Rangkuman

πŸ“Œ Inti Materi

  • File handling = baca/tulis file
  • Gunakan mode (r, w, a)
  • Format file: TXT, CSV, JSON
  • Bisa diintegrasikan dengan GUI
  • Penting untuk aplikasi sederhana

πŸ“ 14. Latihan & Tugas

✏️ Latihan

  1. Apa itu file handling?
  2. Apa perbedaan mode w dan a?
  3. Kapan menggunakan JSON?

πŸ’» Tugas Praktikum

Buat aplikasi:

  • Input nama & NIM
  • Simpan ke file CSV
  • Tampilkan data dari file

πŸš€ Penutup

File handling adalah:

  • Alternatif database
  • Mudah digunakan
  • Penting untuk aplikasi sederhana