Masukkan Password
45 5.0 File Handling in Dart Programming Language | Read Write Files in Dart | Learn Dart | Dart Course
Materi ini adalah pengenalan Chapter 5: File Handling di Dart. Karena caption-nya masih berupa transkrip video, saya akan rapikan istilah yang salah transkripsi seperti βDOT/do programming languageβ β Dart dan βiioβ β dart:io.
Yang paling penting dari materi ini adalah memahami apa itu file handling, kenapa dibutuhkan, dan operasi apa saja yang nanti akan kita lakukan dengan file.
π Chapter 5 β File Handling di Dart
1. Apa itu File Handling?
File handling adalah proses bagaimana program kita berinteraksi dengan file yang tersimpan di komputer.
Misalnya di komputer kita memiliki file:
data.txt
yang berisi:
Hello World
Saya sedang belajar Dart
File Handling sangat menarik
Program Dart nantinya bisa:
- π membaca isi file
- β membuat file baru
- βοΈ menulis data ke file
- π memperbarui isi file
- ποΈ menghapus file
Jadi program tidak hanya bekerja dengan data yang berada di dalam kode.
2. Kenapa kita membutuhkan File Handling?
Bayangkan kita membuat program sederhana:
String name = "Budi";
Data "Budi" disimpan di dalam variable.
Selama program berjalan, kita bisa menggunakan:
print(name);
Tetapi variable seperti ini berada di memory program.
Kalau program dihentikan, data tersebut tidak otomatis menjadi file yang tersimpan di komputer.
Berbeda jika kita menyimpan data ke:
users.txt
Misalnya:
Budi
Andi
Siti
Joko
Kemudian program dihentikan.
File tersebut tetap ada di komputer.
Saat program dijalankan lagi, kita bisa membaca kembali file tersebut.
Jadi secara sederhana:
Variable
β
Data selama program berjalan
File
β
Data yang disimpan di storage
3. Analogi sederhana: File seperti buku catatan π
Bayangkan kamu mempunyai buku catatan.
Membaca buku
Kamu membuka buku dan membaca isinya.
Dalam Dart:
read
Menulis ke buku
Kamu menulis informasi baru.
Dalam Dart:
write
Mengubah isi buku
Kamu mengganti informasi lama.
Dalam Dart:
update
Membuat buku baru
Kamu membeli/membuat buku baru.
Dalam Dart:
create
Membuang buku
Kamu menghapus buku.
Dalam Dart:
delete
Jadi:
FILE
β
ββββββββββΌβββββββββ
β β β
READ WRITE DELETE
π βοΈ ποΈ
β
CREATE
β
4. Library yang digunakan: dart:io
Nah, ini bagian yang sangat penting.
Untuk bekerja dengan file di Dart, kita menggunakan:
import 'dart:io';
Caption menyebut "iio", tetapi yang benar adalah:
dart:io
Apa itu dart:io?
dart:io adalah library Dart yang menyediakan berbagai kemampuan untuk berinteraksi dengan sistem operasi.
Misalnya:
- membaca input dari keyboard
- menampilkan output
- membaca file
- membuat file
- menulis file
- menghapus file
- bekerja dengan directory/folder
- dan lain-lain
Jadi ketika kita ingin bekerja dengan file menggunakan Dart, salah satu library utama yang kita gunakan adalah:
import 'dart:io';
5. Apa arti io?
IO biasanya merupakan singkatan dari:
Input / Output
Input berarti data masuk ke program.
Contohnya user mengetik:
Budi
Program menerima data tersebut.
Keyboard
β
Program
Itu input.
Output berarti program mengeluarkan data.
Contohnya:
print("Hello");
Alurnya:
Program
β
Screen
Itu output.
File juga termasuk bagian dari konsep input/output.
Misalnya:
File
β
Program
Program membaca file β input.
Sedangkan:
Program
β
File
Program menulis ke file β output.
6. Membuat file secara manual
Di video, instructor terlebih dahulu menunjukkan cara membuat file melalui File Explorer.
Misalnya kita membuat:
newfile.txt
Kemudian memasukkan:
This is data into file
Setelah menekan:
Ctrl + S
file tersebut tersimpan.
Ini sebenarnya bukan operasi Dart.
Ini adalah cara biasa membuat file melalui sistem operasi.
Misalnya:
File Explorer
β
New File
β
newfile.txt
β
Tulis data
β
Save
7. Tetapi Dart juga bisa membuat file
Nah, tujuan Chapter 5 adalah agar kita tidak perlu selalu menggunakan File Explorer.
Kita bisa meminta program Dart untuk membuat file.
Misalnya:
import 'dart:io';
void main() {
File file = File('data.txt');
file.createSync();
}
Mari kita pecah.
File
File
adalah class yang digunakan untuk merepresentasikan sebuah file.
Kemudian:
File('data.txt')
berarti kita menentukan file yang ingin kita gunakan.
Lalu:
File file = File('data.txt');
artinya:
Buat sebuah objek
Fileyang menunjuk ke file bernamadata.txt.
8. Struktur kode File
Perhatikan:
File file = File('data.txt');
Ada beberapa bagian:
File file = File('data.txt');
β β β
β β βββ nama/path file
β β
β βββ nama variable
β
βββ tipe/class
Jadi:
File
adalah tipe/class.
file
adalah nama variable.
'data.txt'
adalah file yang ingin kita akses.
9. Membuat file dengan createSync()
Setelah:
File file = File('data.txt');
kita bisa menggunakan:
file.createSync();
Contoh lengkap:
import 'dart:io';
void main() {
File file = File('data.txt');
file.createSync();
}
Kalau file tersebut belum ada, Dart akan membuatnya.
Gambaran:
Program Dart
β
File('data.txt')
β
createSync()
β
π data.txt
10. Menulis data ke file
Setelah file dibuat, kita bisa menulis data ke dalamnya.
Contohnya:
import 'dart:io';
void main() {
File file = File('data.txt');
file.writeAsStringSync('Hello Dart');
}
Setelah program dijalankan, file:
data.txt
akan berisi:
Hello Dart
11. Apa yang dilakukan writeAsStringSync()?
Perhatikan:
file.writeAsStringSync('Hello Dart');
Kita bisa membacanya seperti:
“Tuliskan String
Hello Dartke dalam file.”
Alurnya:
"Hello Dart"
β
writeAsStringSync()
β
data.txt
12. Membaca isi file
Misalnya data.txt memiliki isi:
Hello Dart
Saya sedang belajar File Handling
Kita bisa membacanya:
import 'dart:io';
void main() {
File file = File('data.txt');
String data = file.readAsStringSync();
print(data);
}
Output:
Hello Dart
Saya sedang belajar File Handling
13. Bagaimana proses membaca file?
Perhatikan:
String data = file.readAsStringSync();
Ada beberapa tahap:
data.txt
β
readAsStringSync()
β
isi file
β
String
β
variable data
Misalnya file berisi:
Hello Dart
maka:
data
berisi:
"Hello Dart"
Kemudian:
print(data);
menampilkan isi tersebut.
14. Read dan Write adalah kebalikan
Ini konsep yang sangat bagus untuk dipahami.
Read
String data = file.readAsStringSync();
Alurnya:
FILE
β
PROGRAM
Artinya data keluar dari file menuju program.
Write
file.writeAsStringSync('Hello');
Alurnya:
PROGRAM
β
FILE
Artinya data dari program ditulis ke file.
Jadi:
READ
File β Program
WRITE
Program β File
15. Update file
Kita juga bisa mengubah isi file.
Misalnya file awal:
data.txt
Hello World
Kemudian:
file.writeAsStringSync('Hello Dart');
Maka isinya menjadi:
Hello Dart
Jadi data sebelumnya diganti dengan data baru.
Secara sederhana:
Sebelum
β
Hello World
β UPDATE
Sesudah
β
Hello Dart
16. Delete file
Dart juga dapat menghapus file.
Misalnya:
import 'dart:io';
void main() {
File file = File('data.txt');
file.deleteSync();
}
Artinya:
Hapus file
data.txt.
Alurnya:
π data.txt
β
deleteSync()
β
β file dihapus
17. Mengecek apakah file ada
Sebelum melakukan operasi tertentu, sering kali kita perlu memastikan file memang ada.
Gunakan:
file.existsSync()
Contoh:
import 'dart:io';
void main() {
File file = File('data.txt');
if (file.existsSync()) {
print('File ditemukan');
} else {
print('File tidak ditemukan');
}
}
Kalau file ada:
File ditemukan
Kalau tidak ada:
File tidak ditemukan
Ini penting supaya program tidak sembarangan mencoba membaca atau menghapus file yang tidak ada.
18. Kenapa ada Sync?
Di materi ini kamu akan sering menemukan:
createSync()
readAsStringSync()
writeAsStringSync()
deleteSync()
existsSync()
Kata:
Sync
berarti synchronous.
Untuk tahap awal, pahami sederhananya sebagai:
Program menunggu operasi tersebut selesai sebelum lanjut ke operasi berikutnya.
Misalnya:
String data = file.readAsStringSync();
print(data);
Urutannya:
1. Baca file
β
2. Tunggu selesai
β
3. Masukkan hasil ke data
β
4. print(data)
Jadi urutannya mudah dipahami.
Nanti ketika belajar asynchronous programming, kamu akan mengenal versi tanpa Sync, misalnya:
file.readAsString()
yang berhubungan dengan Future.
Untuk sekarang, fokus dulu memahami konsep file handling-nya.
19. Empat operasi utama yang akan dipelajari
Dari materi ini, kamu bisa mengingat empat operasi utama:
π’ Create
Membuat file.
file.createSync();
π΅ Read
Membaca file.
String data = file.readAsStringSync();
π‘ Write / Update
Menulis atau mengubah isi file.
file.writeAsStringSync('Data baru');
π΄ Delete
Menghapus file.
file.deleteSync();
20. Tabel ringkas
| Operasi | Method | Fungsi |
|---|---|---|
| Create | createSync() | Membuat file |
| Read | readAsStringSync() | Membaca isi file |
| Write | writeAsStringSync() | Menulis isi file |
| Update | writeAsStringSync() | Mengganti isi file |
| Delete | deleteSync() | Menghapus file |
| Check | existsSync() | Mengecek apakah file ada |
21. Contoh program sederhana
Sekarang kita gabungkan semuanya.
import 'dart:io';
void main() {
File file = File('data.txt');
// Menulis data
file.writeAsStringSync('Hello Dart');
// Membaca data
String data = file.readAsStringSync();
// Menampilkan data
print(data);
}
Hasil:
Hello Dart
Alurnya:
PROGRAM
β
β write
βΌ
π data.txt
β
β read
βΌ
PROGRAM
β
βΌ
print
22. Hal yang perlu diperhatikan
Ada satu hal yang perlu kamu bedakan.
Kalau kamu membuat file menggunakan File Explorer:
File Explorer
β
buat file
itu dilakukan secara manual.
Sedangkan kalau menggunakan:
file.createSync();
itu dilakukan oleh program Dart.
Jadi tujuan file handling adalah agar program dapat melakukan pekerjaan terhadap file secara otomatis.
Contohnya, bayangkan aplikasi memiliki 10.000 file.
Tidak mungkin kita ingin:
klik file
buka
ubah
save
tutup
klik file berikutnya
buka
ubah
save
tutup
...
Dengan programming, proses tersebut bisa diotomatisasi.
π§ Konsep paling penting dari materi ini
Jangan buru-buru menghafalkan semua method.
Pahami dulu alurnya:
DART
β
import 'dart:io'
β
βΌ
File
β
βββββββββΌβββββββββ
β β β
CREATE READ WRITE
β β β
β β βββ Program β File
β β
β ββββββββββββ File β Program
β
βββββββββββββββββββ Membuat file
β
βΌ
DELETE
β
βΌ
Hapus file
Kalau dibuat sangat sederhana:
dart:ioadalah library yang membantu Dart berkomunikasi dengan sistem, termasuk file.
Dan:
File file = File('data.txt');
adalah titik awal kita untuk bekerja dengan sebuah file.
Setelah itu kita bisa melakukan:
file.createSync(); // buat
file.readAsStringSync(); // baca
file.writeAsStringSync(); // tulis/update
file.deleteSync(); // hapus
β Inti Chapter 5 bagian pengenalan
Kalau kamu hanya mengingat 5 hal dari materi ini, ingat ini:
- File handling = cara program bekerja dengan file.
- Library yang digunakan adalah
dart:io. - Class utama untuk file adalah
File. - Operasi utama: create, read, write/update, delete.
Syncberarti operasi synchronous, yaitu program menunggu operasi selesai sebelum melanjutkan.
Jadi pola dasar yang akan sering kamu lihat di chapter ini adalah:
import 'dart:io';
void main() {
File file = File('data.txt');
// lakukan operasi terhadap file
}
Dari sinilah pembahasan berikutnya biasanya akan masuk lebih dalam ke cara membaca file, mengambil seluruh isinya ke variable, dan kemudian menggunakan data tersebut di dalam program Dart.