Dokumen tersebut membahas tentang manajemen file dengan Python. Secara singkat, dokumen tersebut menjelaskan tentang pengertian file, siklus penggunaan file (open, process, close), metode-metode untuk membuka, membaca, menulis, menutup file, serta contoh penggunaannya dalam Python.
2. File
• File adalah sebuah wadah dalam sistem komputer untuk menyimpan suatu
informasi dalam unit byte.
• File biasanya dibuat dengan ekstensi. Ekstensi file adalah akhiran untuk nama file
komputer (.txt , .docx , .mp4 ). Ekstensi merepresentasikan karakteristik dan tujuan
penggunaan dari sebuah file.
• File ditujukan untuk penggunaan di masa mendatang dengan menyimpannya
secara permanen di memori non-volatile seperti harddisk.
• Program yang kita jalankan selama ini dijalankan pada Random Access Memory
(RAM) yang bersifat volatile.
2
3. Siklus Sebuah File
Open
• Buka file
txt
Process
• Membaca /
Menulis hello
world ke dalam txt
Close
• Menutup
file txt
Secara garis besar, siklus sebuah file adalah sebaga berikut:
3
4. Metode open()
Fungsi open digunakan untuk membuka dan membentuk objek file pada
Python. Ada beberapa parameter yang dapat digunakan pada metode
open. Namun yang paling umum digunakan adalah 2 parameter utama
beriku:
1. File+Path (parameter wajib)
Menentukan nama file dan lokasi yang akan digunakan
2. Mode (optional) :
default mode jika tidak didefinisikan adalah rt
Sintaks yang umum digunakan:
f = open(“file”, “mode”)
4
5. File Path
• Untuk membuka sebuah file, kita dapat hanya menyebutkan nama file
saja jika file berada di satu direktori yang sama dengan skrip python
(.py)
• Namun jika file berada di tempat yang berbeda dari skrip, kita dapat
memanggilnya dengan 2 buah cara:
1. Absolute path
-> merupakan path yang selalu dimulai dengan folder root OS
2. Relative path
-> merupakan path yang secara relatif menyesuaikan dengan direktori dari
program yang sedang dijalankan
5
6. Contoh Pemanggilan File
C:
programku
minggu5
percobaan7.py
dataku
konten.txt
Untuk memanggil path konten.txt menggunakan absolute
path pada program percobaan7.py adalah sbb:
f = open(“C:programkuminggu5datakukonten.txt”, “r”)
Untuk memanggil path konten.txt menggunakan relative
path pada program percobaan7.py adalah sbb:
f = open(“dataku//konten.txt”, “r”)
6
7. File Mode
Ada beberapa mode yang umum digunakan saat membuka sebuah file :
r : membaca konten dari file
w : menulis konten ke file. Mode ini akan menimpa file jika file yang dibuka sudah
tersedia.
a : menambahkan konten ke dalam file. Mode ini akan menambahkan konten di akhir
file jika file yang dibuka sudah tersedia.
t : Menampilkan file dalam format teks
b : Menampilkan file dalam format binary.
+ : Untuk memperbaharui file (membaca+menulis). Dikombinasikan dengan mode r,
w, dan a.
r+ : mode ini tidak akan membuat / menimpa file yang sudah ada
w+ : mode ini akan membuat dan menimpa file yang sudah ada
a+ : mode ini akan membuat file yang sudah ada namun tidak menimpa file yang ada
7
8. Metode File
Setelah file objek dibuat, ada beberapa metode yang dapat
digunakan untuk memanipulasi file pada Python.
8
9. Metode read()
• Untuk membaca seluruh isi file
• Kita dapat mengisikan parameter jumlah karakter yang ingin
ditampilkan dengan mengisikanya dengan integer. misal: read(5)
• Setiap file yang dibuka dengan metode open dan mode teks akan
menghasilkan nilai dengan tipe data String
Sintaks :
f = open(“fileku.txt”, “r”)
f.read()
9
10. Read vs Readline
Metode read untuk
membaca seluruh konten
dalam sebuah file
• read()
Metode readline untuk
membaca isi file secara
baris per baris
• readline()
10
11. Metode write()
• Untuk menulis teks / konten ke dalam sebuah file
• Untuk menulis konten ke dalam file, ada dua buah mode yang harus diatur
saat membuka file, yaitu w dan a
• Pada mode write, teks akan menimpa / overwrite konten yang sudah ada
• Pada mode append, teks akan ditambahkan di akhir konten yang ada
Sintaks :
f = open(“fileku.txt”, “w”)
f.write(“Hello world!”)
11
12. Write vs Writelines
Metode write digunakan untuk
menulis konten string ke dalam
sebuah file
• write(string)
Metode writelines digunakan untuk
menulis konten koleksi string dalam
list ke dalam file
• writelines(list)
List akan dipelajari di minggu setelah UTS
12
13. Metode close()
• Ketika membuka dan mengoperasikan file dengan metode-metode
yang ada, sebaiknya kita menutup file dengan metode close untuk
menghindari inkonsistensi dari operasi file yang telah dilakukan.
Sintaks :
f = open(“fileku.txt”, “w”)
f.write(“Hello world!”)
f.close()
13
14. Metode tell()
• Metode ini digunakan untuk memberitahukan lokasi dari kursor file
f = open(“fileku.txt”, “r”)
print(f.read(5))
f.tell()
f.close()
Fileku.txt
Hello world
Saya suka pemrograman
Output yang ditampilkan dari contoh diatas adalah 5 karakter awal yaitu Hello.
Sehingga saaat tell dipanggil, nilai kursor adalah berada di posisi angka 5
14
15. Metode seek()
• Untuk menuju ke suatu posisi dalam sebuah file. Kita dapat mengubah
posisi kursor menjadi 0 / awal file dengan metode seek.
Sintaks :
f = open(“fileku.txt”, “r”)
f.read(5)
f.read(7)
f.seek(0)
f.read(5)
f.close()
Hasil output dari program disamping
adalah:
1. Program akan mengambil 5
karakter awal yaitu Hello
2. Program akan mengambil 7
karakter setelah Hello yaitu World
3. Program akan mengembalikan
kursor ke posisi awal = 0
4. Program akan kembali
menampilkan Hello
15
16. Metode File Lainnya
Beberapa metode lainnya yang dapat digunakan adalah :
seekable()
truncate()
detach()
fileno()
flush()
isatty()
readable()
writables()
Selengkapnya:
https://docs.python.org/3/library/io.html
16
17. Statement with
Cara alternatif untuk
memanipulasi file I/O di Python
With memastikan kode
program dieksekusi secara lebih
clean. Dengan statement ini
sumber daya file secara
otomatis dihentikan setelah
selesai digunakan
nilai = open("hello.txt", "r")
data = nilai.read(5)
print(data)
nilai.close()
with open("hello.txt") as f:
data = f.read(5)
print(data)
17
18. NOTASI ALGORITMA
READ - FROM
WRITE - TO
nilai = READ FROM nilai.txt
IF nilai>60 THEN
OUTPUT “Lulus”
WRITE “Lulus” TO lulus.txt
ELSE
OUTPUT “Gagal”
WRITE “gagal” TO gagal.txt
ENDIF
Contoh :
18
19. Contoh [2]
bilangan = READ FROM bilangan.txt
FOR item IN bilangan
total = total+1
IF bilangan mod 2 is 0 THEN
WRITE bilangan TO genap.txt
genap=genap+1
ELSE
WRITE bilangan TO ganjil.txt
ganjil=ganjil+1
ENDIF
ENDFOR
OUTPUT “Total genap di file adalah”+ genap/total + ”%”
OUTPUT “Total ganjil di file adalah”+ ganjil/total + ”%”
19