Anda di halaman 1dari 17

Tim Penyusun

NIM NAMA KODE ASISTEN


1202170365 Aura Nafarena Syarifah AUR
1202174037 Mufti Alie Satriawan MUF
1202174288 Nur Azizah Harun CHA
1202174082 Umi Zahroh ZAH
1202171049 Ahmad Shohibus Sulthoni TON
1202174137 Made Adhitya Kusumadinatha S. AKD
1202174008 Komang Gustiana Sugosha YNA
1202170118 Lukman Riyadi LKM
1202172047 Narita Ayu Prahastiwi NAE
1202174068 Alwan Alyafi Mulyawan ALW
1202170385 Rakha Labib Ramadhan RKH
1202170280 Dita Aprillia Rahmani DTA
1202174374 Jeremiah Ferdinand L. JFL
1202171186 Erza Putra Albasori ERZ
1202174195 G. N. Kresna Adiputra GNK
1202170250 Rahadian Aldi Nugroho ALD
1202174326 Ilham Nuryanto INT
1202174321 Alifia Zahra Firdaus ALE
1202174143 Fadlan Fikri Dzulfikar FAD

1
Peraturan Praktikum
1. Jika terdapat praktikan yang tidak mengetahui informasi praktikum maka nilai satu
kelas praktikan tersebut dikurangi 10 poin dari nilai akhir modul 1.
2. Tidak diperbolehkan menggunakan nilai praktikum tahun sebelumnya tanpa ada
persetujuan koordinator dosen mata kuliah praktikum yang bersangkutan dan kepala
urusan laboratorium.
3. Jika dia tidak hadir pada satu modul, modul tersebut ditulis alpha dan modul
selanjutnya nama praktikan dihilangkan.
4. Jika praktikan mengajukan izin (sakit, berduka, keperluan keluarga, lomba akademik
serta lomba yang membawa nama baik Universitas Telkom), maka surat perizinan
diberikan ke pihak Laboratorium maksimal 6 hari setelah jadwal praktikum masing-
masing.
5. Izin penugasan institusi tidak berlaku untuk ukm, komunitas dan himpunan kecuali
sudah terdapat dispensasi di Igracias.
NB : dilampirkan screenshot dispensasi Igracias.
6. Kartu praktikum diprint langsung beserta identitas diri (Nama, Nim Kelas, dan Foto).
Foto yang digunakan adalah foto formal. Kartu praktikum diprint dengan kertas buffalo
ukuran A4 dan tidak tidak diperbolehkan menggunakan kartu praktikum semester
sebelumnya.
NB : Margin maksimal 2 cm.
7. Seragam Praktikum
a. Bagi mahasiswa tidak diperkenankan menggunakan celana berbahan
jeans/chino (tidak stretch) saat praktikum.
b. Bagi mahasiswi diwajibkan menggunakan rok panjang tidak ketat saat
praktikum.
c. Jika ditemukan praktikan menggunakan hal-hal terkait, maka diperkenankan
untuk mengganti dengan dresscode yang sesuai dengan peraturan Universitas
Telkom dan tidak ada penambahan waktu.
NB : Untuk dresscode hari senin dapat menggunakan kemeja merah telkom atau
kemeja putih polos, dresscode hari selasa sampai dengan rabu menggunakan
kemeja putih. Untuk dresscode hari Kamis s/d Sabtu praktikan tetap diwajibkan
menggunakan kemeja formal (bukan kerah sanghai dan bukan polo) dan celana
bahan berwarna hitam/biru gelap.

2
Daftar Isi

Tim Penyusun ...................................................................................................................1


Peraturan Praktikum .........................................................................................................2
Tujuan Praktikum .............................................................................................................4
1. Dasar Teori ................................................................................................................4
a. Konsep File............................................................................................................4
b. Membuat File ........................................................................................................6
c. Path ........................................................................................................................6
2. Stream dan File .........................................................................................................7
a. Stream ....................................................................................................................7
b. File .......................................................................................................................11
Latihan Soal ....................................................................................................................14
Daftar Pustaka ................................................................................................................16

3
MODUL 5
FILE PROCESSING

Tujuan Praktikum
1. Praktikan memahami bagaimana penggunaan sebuah file dalam Java.
2. Praktikan mampu melakukan penulisan dan pembacaan data dengan menggunakan
Java.
3. Praktikan mampu membuat penyimpanan file dengan menggunakan java

1. Dasar Teori
Data yang disimpan dalam variabel, array dan objek bersifat sementara, ketika
program berakhir maka akan hilang semua yang telah disimpan. Untuk dapat
menyimpan data yang kita proses lebih lama, maka kita dapat menggunakan File.
File adalah kumpulan data yang tersimpan dalam harddisk atau media penyimpanan
permanen yang lain. Setiap file ditempatkan dalam sebuah direktori pada file system.

a. Konsep File
File merupakan urutan data yang digunakan untuk melakukan encode
informasi digital untuk urusan penyimpanan & pertukaran data. Sedangkan Class
file merupakan langkah awal dalam mempelajari proses input-output dengan
Java, karena File merupakan objek yang mewakili path, file, atau direktori pada
komputer kita. Class file juga dapat berguna untuk mengambil informasi
mengenai suatu file atau direktori dari disk.

Berikut ini method – method yang terdapat dalam Class File, antara lain :

a) boolean canRead()
Menentukan apakah file dapat dibaca atau tidak

b) boolean exists()
Menentukan apakah suatu file ada atau tidak

c) boolean isFile()
Menguji apakah sebuah object berupa file atau bukan.

4
d) boolean isDirectory()
Menguji apakah sebuah object merupakan direktori atau bukan.

e) String getName()
Mendapatkan nama file atau nama direktori dari object File

f) String getParent()
Mendapatkan nama direktori induk.

g) String[] list()
Mengembalikan nilai daftar file dan subdirektori yang berada di dalam
sebuah object. Object ini haruslah berupa sebuah direktori.

Penulisan Syntax File Processing

Hal yang perlu diperhatikan saat menggunakan File Processing adalah import
java.io.File dan letakkan di atas main method.

Bentuk Umum

File <nama_variable> = new File([path]);

Contoh

File file = new File ("D:/praktikum/java.txt");

Catatan :

1. Gunakan tanda “/” untuk akses direktori file.

2. Jika ingin menggunakan tanda backslash “\” maka harus ditulis “\\”

3. Jangan menggunakan absolute file name seperti “C:\book\test.txt”, karena


tidak akan jalan di sistem operasi lainnya.

5
b. Membuat File

1. import java.io.File;
2.
3. public class BuatFile{
4. public static void main(String[] args){
5. //Pembuatan objek file
6. File file = new File ("D:/Praktikum/java.txt");
7. try {
8. //Perintah membuat file baru
9. file.createNewFile();
10.
11. //Menampilkan pesan error
12. } catch(Exception e){
13. System.out.println("Gagal membuat file "+file.getPath());
14. }
15. }
16. }

Perhatikan pada contoh program di atas, pada baris ke-9 penggunaan method
“createNewFile()” yang terdapat pada kelas File adalah untuk membuat sebuah
file kosong baru pada path yang kita tentukan, karena penggunaan method
“createNewFile()” hanya menghasilkan file kosong maka apabila kita hendak
membuat file yang berisikan data penggunaan method ini bisa digantikan dengan
method lain seperti FileWriter maupun BufferedWriter yang akan dibahas
selanjutnya.

Fungsi try-catch yang terdapat di baris ke 7 sampai 14 berfungsi menangani


error di Java. Statement tersebut akan memberi informasi mengenai error yang
terjadi pada suatu program yang dibuat dan dapat membuat program tetap
berjalan tanpa dihentikan secara langsung. Error yang ditangani oleh try-catch
biasa disebut dengan exception. Selain try-catch, terdapat juga finally. Finally
pada exception handling adalah bagian program yang selalu dieksekusi meskipun
terjadi error.

c. Path
File yang diletakan pada direktori kerja disebut “path”, atau nama
lengkap termasuk nama direktorinya. Untuk memperjelas ada dua jenis
path yaitu path absolute dan path relative. Nama path absolute memiliki

6
informasi lengkap dari akar direktorinya. Sedangkan nama path relative
adalah nama file yang dihitung mulai dari direktori aktifnya.

Penulisan path berbeda – beda di tiap sistem operasi, antara lain :

Path Keterangan

Data.dat Pada komputer apapun, yaitu file


Data.dat pada direktori aktif.

/home/documents/alpro/Data.dat Nama path absolute pada pada


sistem operasi LINUX

C:\My Documents\Alpro\Data.dat Nama path absolute pada DOS atau


Windows

Hard Drive:java:contoh:Data.dat Nama path absolute pada Macintosh

2. Stream dan File


Ketika berhubungan dengan input/output kita harus tahu bahwa ada dua kategori
data secara umum, yaitu Binary Format (biner) dan Character Format (karakter).
Binary merupakan data berupa bit atau data biner, sedangkan karakter adalah tipe
khusus untuk pembacaan dan penulisan teks/karakter. Java melakukan pemrosesan
file dengan menggunakan class – class dari package java.io. Beberapa class yang
dapat digunakan antara lain Class Stream dan Class File. Berikut ini penjelasan
lengkap mengenai kedua class tersebut.

a. Stream
Stream merupakan dasar operasi input/output dalam java yang menggunakan
package java.io sebagai package utama. Pada Stream memungkinkan untuk
melakukan input/output data dalam bentuk karakter maupun biner. File yang
dibuat menggunakan format biner seringkali disebut Binary File, sedangkan file

7
yang dibuat dengan menggunakan format karakter disebut Text File. Setiap objek
yang mengeluarkan data ke binary stream akan masuk sebagai kelas turunan dari
kelas OutputStream, sedangkan objek yang membaca data dari binary stream
diturunkan dari kelas InputStream. Artinya kita dapat membaca data dari
InputStream yang dapat berupa file, keyboard atau komputer remote, sedangkan
untuk operasi penulisannya kita akan menulisnya pada OutputStream.

Kelas Kegunaan Argumen

ByteArrayOutp Untuk membuat buffer Opsional untuk memberikan


utStream dalam memori besar buffer yang akan
disiapkan

FileOutputStrea Untuk menulis informasi String yang berupa nama


m ke dalam file suatu file, atau objek bertipe
File atau file Descriptor

PippedOutputSt Informasi yang akan Objek PippedOutputStream


ream dikirim di aliran output
ini akan berakhir pada
objek bertipe
PippedInputStream

FilterOutputStr Kelas abstrak yang


eam merupakan Interface dari
beberapa kelas bantu
untuk menggunakan
OutputStream lain

8
Byte Stream

Character Stream

9
Class turunan dari Stream yang digunakan pada modul kali ini adalah
FileInputStream dan FileOutputStream. Berikut contoh yang menggunakan class
turunan stream.

Contoh :

1. Menulis Binary File menggunakan FileOutputStream

1. import java.io.FileNotFoundException;
2. import java.io.FileOutputStream;
3. import java.io.IOException;
4.
5. public class CobaBiner{
6. public static void main(String[] args){
7. FileOutputStream fos = null;
8. try{
9. fos = new FileOutputStream("D:/Januar/Binary.bin");
10.
11. byte a = 121;
12. fos.write(a);
13.
14. }catch (FileNotFoundException e){
15. System.out.println("Error di "+e);
16.
17. }catch (IOException e) {
18. System.out.println("Error di "+e):
19. }
20.
21. try{
22. fos.close();
23.
24. }catch(IOException e){}
25. }
26. }

2. Membaca Binary File yang sudah dibuat dengan FileInputStream

1. try{
2. FileInputStream fis = new FileInputStream("D:/Januar/Binary.bin");
3. int a;
4.
5. while((a = fis.read()) != 0){
6. System.out.println(a);
7. }
8.
9. }catch(FileNotFoundException e){
10. System.out.println("Error di "+e);
11.
12. }catch(IOException e){
13. System.out.println("Error di "+e);
14. }

10
b. File
Pada Class File hanya memungkinkan melakukan input/output data dalam
bentuk karakter saja. Data karakter dapat dibaca dari file dengan menggunakan
objek dari kelas FileReader yang merupakan kelas turunan dari Reader. Data bisa
ditulis dengan menggunakan PrintWriter().

Berikut merupakan program untuk menulis file yang bernama “data.txt”

1. import java.io.File;
2. import java.io.PrintWriter;
3. import java.util.Scanner;
4.
5. public class FileProcessing {
6. public static void main(String[] args) {
7.
8. String nama;
9. int nim;
10.
11. //Membuat objek file //Direktori penyimpanan file
12. File data = new File ("D:/Praktikum/data.txt");
13. Scanner in = new Scanner(System.in);
14.
15. try{
16. //Perintah membuat file baru
17. data.createNewFile();
18.
19. //Untuk menulis file
20. PrintWriter pewe = new PrintWriter(data);
21.
22. System.out.println("Tulis Nama\t:");
23. nama = in.nextLine();
24. pewe.write("Nama :" +nama);
25. pewe.write("\r\n");
26. System.out.println("Tulis NIM\t:");
27. nim = in.nextInt();
28. pewe.write("NIM :"+nim);
29.
30. pewe.close();
31. System.out.println("File berhasil ditulis");
32.
33. //Untuk menampilkan pesan error
34. }catch(Exception e){
35. System.out.println("Gagal membuat File");
36. System.out.println("Error di "+e);
37. }
38. }
39. }

11
Berikut merupakan program untuk membaca file yang bernama “data.txt”

1. import java.io.BufferedReader;
2. import java.io.FileNotFoundException;
3. import java.io.FileReader;
4. import java.io.IOException;
5.
6. public class bacaFIle {
7. public static void main(String[] args) {
8. //Mendeklarasikan objek dengan nilai awal
9. FileReader file = null;
10.
11. try{
12. //Pembuatan objek //Direktori penyimpanan file

13. file = new FileReader("D:/Praktikum/data.txt");


14. //Untuk membaca file
15. BufferedReader bfr = new BufferedReader(file);
16.
17. String text;
18. while ((text = bfr.readLine()) != null){
19. System.out.println(text);
20. }
21.
22. //Untuk menangani masalah program atau error
23. }catch (FileNotFoundException e){
24. System.out.println("Error di "+e);
25.
26. }catch (IOException e){
27. System.out.println("Error di "+e);
28. }
29.
30. try{
31. //Untuk menutup dile
32. file.close();
33.
34. }catch (Exception e) {
35. System.out.println("Error di "+e);
36. }
37. }
38. }

Begitu kita berhasil membuat FileReader, kita bisa mulai membacanya. Tapi
karena FileReader hanya memiliki metode input primitif dari standar kelas
Reader, maka akan membungkusnya dalam objek lain, misalnya BufferedReader
atau kelas pembungkus lain. Untuk membuat BufferedReader untuk membaca
file bernama “data.dat”, kita bisa gunakan :

12
BufferedReader memiliki metode bantu untuk mengambil data per baris
dengan perintah readLine().Sehingga apabila data ditulis dalam urutan per baris,
kita bisa gunakan perintah Integer.parseInt() untuk mengubahnya menjadi
integer. Untuk menyimpan data, kita bisa membuat objek bertipe FileWriter. Dan
kemudian kita mungkin ingin membungkus aliran output ini dalam objek
PrintWriter. Misalnya kita ingin menyimpan data ke file yang bernama
“hasil.dat”, kita bisa menggunakan :

13
Latihan Soal

1. YoungLex adalah seorang rapper yang kaya raya. Karena kekayaannya, YoungLex ingin
merambah ke bisnis distribusi barang. Siapa sangka, dalam satu hari barang yang harus ia
distribusikan sangat banyak. YoungLex merasa kewalahan jika harus melakukannya
secara manual. Maka dari itu, ia membutuhkan kalian untuk membuat sebuah aplikasi
pengiriman barang dengan ketentuan file sebagai berikut:

a. File disimpan dalam format .txt


b. Data pengiriman dibedakan tiap harinya pada file yang berbeda beda. Contoh, file
hari senin diinputkan pada senin.txt seterusnya hingga sabtu

Output :

2. Fitur fitur dalam aplikasi yang diinginkan Younglex cukup sederhana. YoungLex hanya
ingin untuk menginputkan barang yang didistribusikan pada hari tersebut dan dapat
melihat seluruh distribusi barang tiap hari.

Output input data :

14
Output lihat data :

15
Daftar Pustaka

Laboratorium Daspro. 2017. Modul Praktikum Algoritma Pemrograman. Bandung.

Dahlan, B. N. (2016, Agustus 23). Mencoba Statement Try Catch di Java. Retrieved from :
https://www.codepolitan.com/mencoba-statement-try-catch-dijava

Functionx-Inc (2018, Januari 16). File Processing. Retrieved from :


http://www.functionx.com/java/Lesson23.htm

16

Anda mungkin juga menyukai