PRAKTIKUM 8 FILE INPUT OUTPUT

dokumen-dokumen yang mirip
//PROGRAM " tidak dapat dibaca")); import java.io.file; Date tanggal = new Date(); import java.io.ioexception;

Topik. Stream I/O Cara menggunakan Stream Hierarchy Java I/O Membaca File Menulis File Menghapus File Cara membaca isi Direktori dalam file

Materi kuliah I/O & FILE. Ir. Roedi Goernida, MT.

PEMROGRAMAN JARINGAN MODUL 3 STREAM

Objek Stream, Akses File & Exception Handling

BAB Argument Command-Line dan System Properties

PRAKTIKUM 7 DASAR INPUT OUTPUT

STREAM DAN FILE. PipedInputStream, SequenceInputStream, dan StringBufferInputStream.

Pertemuan 7 File pada Java

PENGAKSESAN FILE DI JAVA

Pertemuan ke-1 STREAM DAN IO. A. TUJUAN : Mampu mengimplementasikan kelas-kelas untuk menangani aliran data.

Cara Membaca File Text di JAVA

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

PEMROGRAMAN JAVA. Yoannita, S.Kom. Input Kondisi (IF-ELSE, SWITCH)

Exception adalah penanda bahwa kondisi/kejadian yang tidak diinginkan telah terjadi pada program kita. Ada 2 jenis exception (+1 Error):

A. TUJUAN PEMBELAJARAN

PEMROGRAMAN JAVA : STREAM DAN FILE

PERTEMUAN V STREAM DAN OOP TUJUAN PRAKTIKUM. 2. Praktikan memahami pemrograman berbasis objek dengan mengetahui karakteristik OOP.

Pemrograman Jaringan 4. Java IO

Bahasa Pemrograman :: Dasar Pemrograman Java

PRAKTIKUM 6 EXCEPTION

OPERASI FILE & EXCEPTION HANDLING. Herman Tolle

Percabangan & Perulangan

MODUL III ARRAYLIST TUGAS PENDAHULUAN

PERTEMUAN 3 OBJEK DAN CLASS

Dapat dicompile dan mendapat output hai. Dapat dicompile dan mendapat output disana

2. Pernyataan mana yang dapat kita laksanakan dengan menggunakan class File? Mengganti direktori tempat bekerja saat ini

IOSTREAM bagian 2. Kholid Fathoni

Percobaan 6 Exception

PERCOBAAN 6 EXCEPTION

I/O (Input dan Output)

I/O Streams. Oleh Kholid Fathoni

2. Pilih instruksi yang dapat digunakan dalam method actionperformed untuk membedakan antara tombol buttonone dan buttontwo.

1. Mana diantara pilihan-pilihan berikut ini yang merupakan penulisan loop yang benar?

PEMROGRAMAN JAVA : EXCEPTION

Pemrograman Socket menggunakan TCP

TPI4202 e-tp.ub.ac.id. Lecture 4 Mas ud Effendi

if (ekspresi_boolean) { Pernyataan1; } else { Pernyataan2; }

A. TUJUAN PEMBELAJARAN

CompileError - The method write(int) in the type FileOutputStream is not applicable for

Algoritma dan Pemrograman File Sekuensial. Oleh: Eddy Prasetyo N 05/05/2014 1

SUMBER BELAJAR PENUNJANG PLPG

Overview I/O Streams Byte stream & Character Stream Hirarki class pada package java.io Read & write streams

EXCEPTION. 2. Pada kondisi bagaimana klausa finally tidak akan dieksekusi? Kode didalam block try memiliki statement return

Input Nilai tanpa Case String di Java

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

Topik. Penanganan Eksepsi. Menangkap Eksepsi. Catch Secara bertingkat. Melontarkan Eksepsi. Melontarkan kembali Eksepsi.

IF2281 Pemrograman Berorientasi Objek Program kecil Pelengkap Diktat. import java.io.*; import java.util.scanner; class IO {

Pertemuan 2 Struktur Kontrol Percabangan

Variabel tersebut seharusnya bisa dideklarasikan didalam try block dan block catch

Waktu Sisa : 0:43:4. Sukses. Kesalahan pada URL. File tidak lengkap. Kesalahan umum. Mengerjakan finally. Diluar block

PRAKTIKUM PEMROGRAMAN OBJEK DENGAN JAVA MODUL KE-5 EXCEPTION HANDLING

LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java)

A. TUJUAN PEMBELAJARAN 1. Mengetahui cara menangani exception dengan cara melempar exception. 2. Mengetahui cara membuat sendiri class exception.

PRAKTIKUM 17 MENANGANI EXCEPTION

Modul 3 Flow Control dan Input

if (ekspresi_boolean) {

Pemrograman Berorientasi. Class dan Obyek 2

BAB 4 ARRAY. number1 = 10; number2 = 20; number3 = 30;

BAB II VARIABEL DAN TIPE DATA

Introduction To Stream

2 TIPE DATA DAN VARIABEL

Pengenalan OOP. Object-Oriented programming (OOP) Menitikberatkan pada konsep object sebagai elemen dasar dari program.

BAB 5 Mendapatkan Input dari Keyboard

Perulangan / Looping

Exception. Oleh: Mike Yuliana PENS-ITS

JAVA BASIC PROGRAMMING Joobshet

PERTEMUAN VII Multithreaded Programming. Praktikan mampu membuat program sederhana mengenai threading

Praktikum 9 Exception Handling

A. TUJUAN : Dapat mengimplementasi-kan kelas-kelas Java yang digunakan dalam pemrogaman jaringan.

Tidak ada satupun dari pilihan di atas yang benar karena checked exception tidak bisa ditulis

BAB 2 INPUT DARI KEYBOARD

PENGENALAN JAVA (2)

Operasi File. terdapat 5 konstruktor dan 7 method untuk membuat file yang akan diakses menggunakan byte stream.

Sesi 8. Event Handling & Exception Handling. Tujuan Intruksional

TUGAS PROGRAM DIAGONAL, VETIKAL, DAN HORIZONTAL OPENGL (MENGGUNAKAN JAVA) NAMA : SYIFA MUTIARA SARI KELAS : 3KA23 NPM :

game yang dibangun lebih semakin hidup dan terasa nyata, hal ini juga yang membuat para pemain lebih tertarik, bayangkan apabila di dalam suatu

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA

PEMOGRAMAN JAVA. Yoannita. Tipe Data (ii) : Array Exception Handling

Struktur Kontrol Pemrograman Java : PERCABANGAN

1. Apa yang harus dilakukan oleh programmer untuk menangani user-defined exception? Menuliskan exception sebagai start method

Sukses. Kesalahan pada URL. File tidak lengkap. Kesalahan umum

BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA

IKG2I4 / Software Project I

Modul Praktikum Pemrograman

PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN

BAB 5 Mendapatkan Input dari Keyboard

PEMROGRAMAN JAVA. Petunjuk Penulisan Program Token Aturan Penamaan Identifier Lingkungan /Scope dari variabel Tipe Data (i) Yoannita

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK

Pertemuan 3 Struktur Perulangan pada Java

1.Tujuan. 2. Latar Belakang. Tahu tipe-tipe stream yang umum digunakan Menggunakan class File dan methodnya

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

Pemrograman. Pertemuan-3 Fery Updi,M.Kom

subclass class manapun private default protected public package yang sama

Tujuan Intruksional. Mampu menjelaskan tentang event handling Mampu menjelaskan tentang method Mampu menggunakan event handling Mampu membuat method

Modul Praktikum Bahasa Pemrograman 1

MK. Pemrograman Berorientasi Objek. Input dari Keyboard. Karmilasari

PEMROGRAMAN BERORIENTASI OBJEK

PEMROGRAMAN II. By : Sri Rezeki Candra Nursari. Penilaian : Gasal TA 2011/2012. UAS (lisan) = 35 % UTS = 25 % Tugas = 15 % Praktikum = 25 %

Operator, Statement kondisional, dan Iterasi pada Java

Transkripsi:

PRAKTIKUM 8 FILE INPUT OUTPUT A. TUJUAN 1. Memahami cara memasukkan Input dan menampilkan Output 2. Memahami dasar membaca dan menulis file B. DASAR TEORI Dasar Baca / Tulis File Terdapat dua buah stream yang sering digunakan untuk melakukan proses pembacaan/penulisan data dari/ke dalam file, yaitu FileInputStream (untuk membaca data) dan FileOutputStream (untuk menulis data). Keduanya akan membentuk stream byte yang terhubung ke sebuah file. Untuk membuka file, harus membentuk objek dari salah satu kelas stream tersebut dengan menyertakan nama file sebagai argument pada constructornya. Constructor dari kedua kelas tersebut dioverload menjadi beberapa constructor sebagai berikut: FileInputStream(String filename) throws FileNotFoundException FileOutputStream(String filename) throws FileNotFoundException Dalam hal ini filename adalah nama file yang akan dibuka. Bila file tidak ditemukan pada saat menggunakan stream input, maka kedua constructor di atas akan membangkitkan eksepsi FileNotFoundException, sedangkan eksepsi saat menggunakan stream output akan muncul bila file output tidak dapat terbentuk/terbuat. Apabila terdapat file dengan nama yang sama pada direktori tempat file dibuat/dibuka, maka file lama akan ditumpuki. Setelah selesai menggunakan stream yang terhubung dengan file, maka stream tersebut harus ditutup dengan menggunakan method close() dengan bentuk umum deklarasi sebagai berikut: void close() throws IOException Untuk membaca data dari file, perlu memanggil method read(). Setiap kali method tersebut dipanggil, maka program akan membaca byte tunggal yang terdapat Praktek Dasar Programming 2 51

dalam file dan mengembalikan nilai byte tersebut dalam bentuk nilai integer. Apabila data terakhir dari file yang dibaca (end-of-file, EOF) telah ditemukan, maka method read() akan menghasilkan nilai -1. Method tersebut juga dapat membangkitkan eksepsi IOException apabila terdapat kegagalan pada proses pembacaan datanya. Proses penulisan data ke dalam file menggunakan method write(). Karena System.out adalah objek dari tipe PrintStream, dan PrintStream itu sendiri merupakan turunan dari kelas OutputStream, maka System.out dapat menggunakan method write() yang sebenarnya didefinisikan pada kelas OutputStream. Bentuk umum dari method write() yang telah di override oleh kelas PrintWriter adalah sebagai berikut: void write(int nilaibyte) Data yang dituliskan harus dalam bentuk integer, sehingga harus diyakinkan dulu bahwa data telah dikonversi ke tipe int dulu sebelum memasukkan data tersebut ke dalam stream. Kelas File Kelas File dalam paket java.io tidak beroperasi dengan menggunakan stream, tetapi terhubung langsung dengan file dan sistem file yang ada, sehingga objek dari kelas File digunakan untuk memperoleh dan memanipulasi informasi yang berkaitan dengan file, seperti hak akses (permission), waktu dan tanggal pembuatan atau modifikasi, lokasi direktori yang ditempatinya, dan sebagainya. Beberapa constructor yang dapat digunakan untuk membuat objek dari kelas File dan contoh kodenya sebagai berikut: File(String path) File file1 = new File( /java ); File(String path, String namafile) File file2 = new File( /java, contoh.java ); File(File objfile, String namafile) File file3 = new File(file1, contoh.java ); dengan path adalah lokasi tempat file berada dan namafile adalah nama dari file yang akan diakses, sedangkan objfile adalah objek dari kelas File yang akan digunakan untuk menunjukkan direktori dimana file berada. Praktek Dasar Programming 2 52

Beberapa method dalam kelas File yang digunakan untuk memanipulasi file adalah sebagai berikut: Memperoleh informasi file sesuai Tabel 8.1 Nama Method Exist() getcanonicalpath() getname() getparent() canread() canwrite() lasmodified() length() isfile() isdirectory Tabel 8.1 Daftar method untuk memperoleh informasi file Keterangan Mengembalikan nilai true apabila file ada Mengembalikan nama lengkap Mengembalikan nama file relatif Mengembalikan directory yang ditempatinya Mengembalikan nilai true bila file dapat dibaca Mengembalikan nilai true bila file dapat ditulis Mengembalikan waktu modifikasi yang dilakukan terhadap file Mengembalikan ukuran file Mengembalikan nilai true bila file yang diakses oleh objek File berupa file (bukan direktori) Mengembalikan nilai true bila file yang diakses oleh objek File berupa direktori Membuat file createnewfile() Mengubah nama file renameto() Menghapus file delete(), yang mengembalikan nilai true bila proses penghapusan berhasil dan false bila gagal. Menampilkan daftar file dan direktori list(), daftar file dan direktori yang diperoleh akan disimpan dalam variabel bertipe array dari tipe string. Membuat direktori baru mkdirs() C. TUGAS PENDAHULUAN 1. Jelaskan perbedaan pemakaian di dalam program untuk konstruktor berikut a. File(String path) b. File(String path, String namafile) c. File(File objfile, String namafile) Praktek Dasar Programming 2 53

2. RandomAccessFile adalah kelas yang memungkinkan membaca dan menulis data tanpa melalui pembacaan secara sekuensial. Kelas ini memiliki konstruktor dengan bentuk sebagai berikut: RandomAccessFile(String nama, String mode) RandomAccessFile(File file, String mode) Jelaskan pemakaian konstruktor-konstruktor tersebut! D. PERCOBAAN 1. Eksekusi program berikut, dan analisalah. import java.io.*; public class DemoBacaFile { public static void main(string[] args) { FileInputStream finput = null; int data; finput = new FileInputStream("D:/file1.txt"); catch (FileNotFoundException fnfe) { System.out.println("File tidak ditemukan."); while ((data = finput.read())!= -1) { System.out.println((char)data); catch (IOException ioe) { System.out.println(ioe.getMessage()); finput.close(); catch(ioexception ioe){ Praktek Dasar Programming 2 54

2. Eksekusi program berikut, dan analisalah. import java.io.*; public class DemoTulisFile { public static void main(string[] args) { FileOutputStream foutput = null; String data = "Baris pertama \nbaris kedua \nbaris ketiga"; foutput = new FileOutputStream("d:/output.txt"); catch (FileNotFoundException fnfe) { System.out.println("File tidak dapat terbentuk."); for (int i=0; i<data.length(); i++) { foutput.write((int)data.charat(i)); catch (IOException ioe) { System.out.println(ioe.getMessage()); foutput.close(); catch (IOException ioe) { 3. Tulislah program berikut, lakukan kompilasi dan amati hasilnya. import java.io.*; public class DemoSalinFile { public static void main(string[] args) { FileInputStream finput = null; FileOutputStream foutput = null; int data; try{ Praktek Dasar Programming 2 55

finput = new FileInputStream("d:/file1.txt"); catch (FileNotFoundException fnfe) { System.out.println("File input tidak ditemukan"); try{ foutput = new FileOutputStream("d:/file2.txt"); catch (FileNotFoundException fnfe) { System.out.println("File output tidak dapat terbentuk"); while ((data = finput.read())!= -1) { foutput.write(data); catch (IOException ioe) { System.out.println(ioe.getMessage()); finput.close(); foutput.close(); catch (IOException ioe) { 4. Tulislah program berikut, lakukan kompilasi dan amati hasilnya. import java.io.file; public class DemoListDirektori { public static void main(string[] args) { String dir = "d:/hanif"; File f = new File(dir); String[] daftar = f.list(); java.util.arrays.sort(daftar); System.out.println("File dan direktori dalam D:\\hanif"); System.out.println(); Praktek Dasar Programming 2 56

for(int i=0; i<daftar.length; i++) { File ftemp = new File(dir + "/" + daftar[i]); if (ftemp.isdirectory()) { System.out.println(daftar[i] + "\t\t<dir>"); else { System.out.println(daftar[i]); 5. Eksekusi program berikut, dan analisalah. import java.io.*; public class AksesRandom { public static void main(string[] args) throws IOException { RandomAccessFile berkas = null; berkas = new RandomAccessFile("abc.dat", "rw"); berkas.writebytes("abcdefghijklmnopqrstuvw"); char kar = ' '; berkas.seek(0); System.out.println("isi berkas: "); while (berkas.getfilepointer()<berkas.length()) { kar = (char) berkas.readbyte(); System.out.print(kar); System.out.println(); berkas.seek(3); berkas.writebyte((int) 'Z'); System.out.println("Sesudah penggantian"); berkas.seek(0); System.out.println("isi berkas "); while (berkas.getfilepointer()<berkas.length()) { kar = (char) berkas.readbyte(); System.out.print(kar); Praktek Dasar Programming 2 57

6. Buat program yang mengubah urutan string dari belakang. Misalnya, bila diinputkan ABCDEFGHIJ maka outputnya JIHGFEDCBA. E. TUGAS LAPORAN RESMI 1. Buatlah program untuk membuat suatu file baru pada disk. 2. Buatlah program untuk menghapus file3.txt yang ada pada suatu disk. 3. Buatlah program untuk membuat sebuah direktori baru. 4. Dari percobaan yang telah dilakukan, buat analisa program-program tersebut. Praktek Dasar Programming 2 58