Anda di halaman 1dari 20

Manajemen File dengan

Python
Oleh :
Muhammad Idris
idris@polibatam.ac.id

1
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
Siklus Sebuah File

Secara garis besar, siklus sebuah file adalah sebaga berikut:

Open Process Close

• Buka file • Membaca / • Menutup


txt Menulis hello file txt
world ke dalam txt

3
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
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
Contoh Pemanggilan File

Untuk memanggil path konten.txt menggunakan absolute


path pada program percobaan7.py adalah sbb:
 C:\
 programku f = open(“C:\\programku\\minggu5\\dataku\\konten.txt”, “r”)
 minggu5
 percobaan7.py
 dataku
 konten.txt Untuk memanggil path konten.txt menggunakan relative
path pada program percobaan7.py adalah sbb:

f = open(“dataku//konten.txt”, “r”)

6
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
Metode File
Setelah file objek dibuat, ada beberapa metode yang dapat
digunakan untuk memanipulasi file pada Python.

8
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
Read vs Readline

Metode read untuk Metode readline untuk


membaca seluruh konten membaca isi file secara
dalam sebuah file baris per baris
• read() • readline()

10
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
Write vs Writelines

Metode write digunakan untuk Metode writelines digunakan untuk


menulis konten string ke dalam menulis konten koleksi string dalam
sebuah file list ke dalam file

• write(string) • writelines(list)

List akan dipelajari di minggu setelah UTS

12
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
Metode tell()

• Metode ini digunakan untuk memberitahukan lokasi dari kursor file

Fileku.txt f = open(“fileku.txt”, “r”)


print(f.read(5))
Hello world f.tell()
Saya suka pemrograman
f.close()

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
Metode seek()

• Untuk menuju ke suatu posisi dalam sebuah file. Kita dapat mengubah
posisi kursor menjadi 0 / awal file dengan metode seek.

Sintaks : Hasil output dari program disamping


f = open(“fileku.txt”, “r”) adalah:
1. Program akan mengambil 5
f.read(5) karakter awal yaitu Hello
f.read(7) 2. Program akan mengambil 7
karakter setelah Hello yaitu World
3. Program akan mengembalikan
f.seek(0) kursor ke posisi awal = 0
f.read(5) 4. Program akan kembali
menampilkan Hello
f.close()
15
Metode File Lainnya

Beberapa metode lainnya yang dapat digunakan adalah :

 seekable()
 truncate()
 detach()
 fileno()
 flush()
 isatty()
 readable() Selengkapnya:
https://docs.python.org/3/library/io.html
 writables()

16
Statement with
nilai = open("hello.txt", "r")
 Cara alternatif untuk data = nilai.read(5)
memanipulasi file I/O di Python print(data)

 With memastikan kode program nilai.close()


dieksekusi secara lebih clean.
Dengan statement ini sumber
daya file secara otomatis
with open("hello.txt") as f:
dihentikan setelah selesai     data = f.read(5)
digunakan     print(data)

17
NOTASI ALGORITMA

Contoh :
nilai = READ FROM nilai.txt

READ - FROM IF nilai>60 THEN


OUTPUT “Lulus”
WRITE “Lulus” TO lulus.txt
ELSE
WRITE - TO OUTPUT “Gagal”
WRITE “gagal” TO gagal.txt
ENDIF

18
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
Terima Kasih

20

Anda mungkin juga menyukai