Pertemuan 7 File pada Java

dokumen-dokumen yang mirip
PEMROGRAMAN JAVA : STREAM DAN FILE

STREAM DAN FILE. PipedInputStream, SequenceInputStream, dan StringBufferInputStream.

A. TUJUAN PEMBELAJARAN

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

A. TUJUAN PEMBELAJARAN

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

PRAKTIKUM 7 DASAR INPUT OUTPUT

PEMROGRAMAN JARINGAN MODUL 3 STREAM

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

PENGENALAN JAVA (2)

I/O Streams. Oleh Kholid Fathoni

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

Pertemuan 2 Struktur Kontrol Percabangan

IOSTREAM bagian 2. Kholid Fathoni

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

PRAKTIKUM 8 FILE INPUT OUTPUT

Pertemuan 3 Struktur Perulangan pada Java

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

MODUL 7 I/O Stream. Tujuan: Mahasiswa dapat mengenal dan memahami konsep I/O Stream, serta penerapan I/O Stream dalam konsep OOP

Pemrograman Socket menggunakan TCP

BAB Argument Command-Line dan System Properties

Pertemuan 4 Array pada Java

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

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

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

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA

Cara Membaca File Text di JAVA

PEMROGRAMAN JAVA : EXCEPTION

I/O (Input dan Output)

PERTEMUAN I PENGENALAN JAVA

BAB 5 Mendapatkan Input dari Keyboard

BAB 5 Mendapatkan Input dari Keyboard

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

PENGAKSESAN FILE DI JAVA

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

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

PEMROGRAMAN JAVA : ARRAY

OPERASI FILE READ WRITE

Bahasa Pemrograman :: Dasar Pemrograman Java

Objek Stream, Akses File & Exception Handling

Modul Praktikum Pemrograman

TIPE DATA PADA JAVA. Pertemuan (K-04/L-04)

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

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

Nama Lengkap : Muiz Lidinillah NIM :

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

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

Pemrograman. Pertemuan-3 Fery Updi,M.Kom

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

BAB 2 INPUT DARI KEYBOARD

MK. Pemrograman Berorientasi Objek. Input dari Keyboard. Karmilasari

Pengenalan Java, Tipe Data, Variabel dan Operator. Putu Putra Astawa

Introduction To Stream

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

Pemrograman Jaringan 4. Java IO

BAB III SEKUENSIAL 3.1. Kompetensi Dasar 3.2. Perintah Masukan a. Scanner

PERTEMUAN 3 OBJEK DAN CLASS

LAPORAN PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK

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

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

Pertemuan 2 (2) : Membuat Class dan mengakses Anggota Class

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

INSTRUKSI PENCABANGAN

Protokol. Pemrograman Client/Server dengan Java Socket. Protokol TCP/IP. Tipe pemrograman jaringan. Java Socket

PEMROGRAMAN JAVA : THREAD

Connection Oriented. Kholid F.

PRAKTIKUM 17 MENANGANI EXCEPTION

Program Java Sesi 1. Arief Susanto

Penggunaan Netbeans IDE, Hello World, variable dan Operator aritmetika.

12.2 Tipe-Tipe Stream yang Umum Digunakan

int i = 0; while (i < 10) { System.out.println( Informatika Unpas ); i++; }

Pemrograman Fery Updi,M.Kom

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN

MODUL III ARRAYLIST TUGAS PENDAHULUAN

Pemrograman I/O File

LAB02 : KODING PROGRAM

Input Nilai tanpa Case String di Java

PEMROGRAMAN JAVA : PENYELEKSIAN KONDISI DAN PERULANGAN

PEMROGRAMAN BERORIENTASI OBJEK

TIPE DATA Pertemuan (K-03/L-03)

Pemrograman Berorientasi. Class dan Obyek 2

Tidak perlu ditentukan jumlah karakternya Inisialisasi iili i: Langsung tanpa kata kunci new Langsung dengan kata kunci new

Metode Sequential Searching di Java Console

PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN

PRAKTEK 1 CLASS, ATTRIBUTE, METHOD, DAN OBJEK

PEMROGRAMAN BERORIENTASI OBJEK

2.1 if Jenis-jenis Percabangan if adalah if, if else, If else if else if - else

Pemrograman Berorientasi Object

BAB 8 Argumen dari Command-line

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

OPERASI FILE & EXCEPTION HANDLING. Herman Tolle

MODUL 1 PENGENALAN OOP

BAB 8 Argumen dari Command-line

Percabangan & Perulangan

JAVA BASIC PROGRAMMING Joobshet

Topik. 1. Statement if 2. Statement if..else.. 3. Statement if..else.. If (bertingkat ) 4. Penggunaan Input Keyboard

SILABUS MATA KULIAH PEMROGRAMAN JAVA

Transkripsi:

Pertemuan 7 File pada Java Objektif : 1. Mahasiswa dapat memahami latar belakang penggunaan File 2. Mahasiswa dapat memahami tentang Java IO Stream 3. Mahasiswa dapat mengetahui tentang Class dan Method File pada Java 4. Mahasiswa dapat mengetahui macam-macam Operasi File 5. Mahasiswa dapat membuat program sederhana tentang File pada Java

P7.1 Teori 1. Latar Belakang Penggunaan File Data yang selama ini disimpan di dalam suatu variabel dan array bersifat sementara. Artinya, data tersebut akan hilang pada saat program berhenti. Komputer biasanya menggunakan fileuntuk penyimpanan yang bersifat menetap, walaupun program yang membuat data tersebut dihentikan. Pemrosesan file merupakan salah satu kemampuan penting dari suatu bahasa pemrograman, agar mampu menghasilkan aplikasi komersil yang membutuhkan penyimpanan data secara menetap dalam jumlah yang besar. 2. Java IO Stream Stream merupakan dasar operasi input-output ( I/O ) dalam Java yang menggunakan package java.io sebagai package utama. Stream adalah representasi abstrak dari input dan output device, dimana aliran bytes akan ditransfer seperti file dalam harddisk, file pada sistem remote atau printer. Kita dapat membaca data dari input stream, yang dapat berupa file, keyboard atau komputer remote. Sedangkan untuk operasi penulisan berarti menulis data pada output stream. Package java.io mendukung dua tipe stream, yaitu binari dan karakter stream. Binari merupakan data berupa bit atau data binari, sedangkan karakter adalah tipe khusus untuk pembacaan dan penulisan teks/karakter. Input Stream Subclass-subclass dari inputstream adalah : AudioInputStream, ByteArrayInputStream, FileInputStream, FilterInputStream, PipedInputStream, SequenceInputStream, dan StringBufferInputStream. Dua method utama dari InputStream adalah : Read Method ini digunakan untuk membaca stream. Close Method ini digunakan untuk menutup koneksi input stream. 7-2

Output Stream Subclass-subclass dari outputstream adalah : ByteArrayOutputStream : digunakan untuk menuliskan stream menjadi byte array. FileOutputStream : digunakan untuk menulis pada file FilterOutputStream : merupakan superclass dari subclass-subclass seperti DataOutputStream, BufferOutputStream, PrintStream, CheckedOutputStream ObjectOutputStream : digunakan untuk menuliskan objek pada OutputStream. PipedOutputStream : digunakan untuk menjadi output dari PipedInputStream. Sebagian method-method OutputStream adalah : Voidclose() Menutup output stream yang aktif dan melepaskan sumber daya terkait dengan stream tersebut. Void flush() Melakukan flush output stream dan memaksa semua byte buffer untuk dituliskan keluar Void write(byte[] b) Menulis sebanyak b.length dari byte array ke output stream Void write(byte[] b, int off, int len) Menuliskan sebanyak len byte dari byte array b dimulai dari index off Program Java melakukan pemrosesan file dengan menggunakan class-class dari packagejava.io. Package java.io ini berisikan class-class streams seperti: 1. FileInputStream Untuk input berupa byte dari suatu file 2. FileOutputStream Untuk output berupa byte kepada suatu file 3. FileReader Untuk input berupa karakter dari suatu file 4. FileWriter Untuk output berupa karakter kepada suatu file 3. Class dan Method File Pada Java Class File adalah kunci dalam pemrosesan File atau Direktori. Objek File merepresentasikan single file atau directory. Class File berguna untuk mengambil 7-3

informasi mengenai suatu file atau direktori dari disk. Constructor class File tediri dari : a. public File( String name ) b. public File( String pathtoname, String name ) c. public File( File directory, String name ) d. public File( URI uri ) Ada 3 cara membuat objek File, yaitu : 1. Menggunakan objek String sebagai argument yang menginformasikan path untuk file atau direktori. Contoh : File direktori = new File( c:\\my documents\\java\\ ); File fileku = new File( c:\\my documents\\java\\dokumen.txt ); 2. Menggunakan dua langkah dimana yang pertama untuk mendefinisikan direktori dan yang kedua untuk file. Contoh : File dirku = new File( c:\\my documents\\java ); File filenya = new File(dirku, dokumennya.txt ); 3. Menggunakan dua argument dimana yang pertama adalah argument String yang mendefinisikan direktori, dan yang kedua adalah argument String yang mendefinisikan nama file. Contoh : File filesaya = new File( c:\\my documents\\java\\, dokumennya.txt ); Method dalam Class File Selain mendefinisikan direktori atau file, objek File juga dapat digunakan untuk mendapatkan informasi file melalui method-method yang ada dalam objek File. 7-4

4. Contoh Teknik Operasi File Berikut ini adalah macam-macam teknik operasi file pada Java antara lain : 1. Membuat File 2. Menampilkan nama File dan Direktori 3. Me-rename File 4. Menghapus File 5. Menghapus non-empty Direktori Langkah-langkah yang dilakukan dalam teknik operasi file yaitu : 1. Membuat Objek File Untuk membuat object File, kita cukup memanggil salah satu constructor-nya. Contoh: String path = "c:\\logs\\hits.log"; File f = newfile(path); if(!f.exists()) System.out.println("The input file does not exist!"); 2. Menampilkan Isi Direktori Kode berikut ini menampilkan nama-nama file yang ada dalam suatu direktori: File dir = newfile(path); if(dir.isdirectory()) { File[] files = dir.listfiles(); 7-5

for(file f : files) System.out.println(f.getName()); 3. Menampilkan hanya file saja, tidak menampilkan subdirektori maupun hidden files. File dir = new File(path); if (dir.isdirectory()) { File[] files = dir.listfiles(); for (File f : files) { if (f.isfile() &&!f.ishidden()) System.out.println(f.getName()); 4. Merename File Kode berikut mengubah nama sebuah file dari: hits.logmenjadi savedhits.log: File f = newfile("hits.log"); if (f.renameto(newfile("savedhits.log"))) System.out.println("File renamed."); else System.out.println("File not renamed."); 5. Menghapus File Kode berikut digunakan untuk menghapus file : File f = newfile("hits.log"); if (f.delete()) System.out.println("File deleted."); else System.out.println("File not deleted."); Untuk menghapus sebuah folder termasuk file dan subdirektori di dalamnya, kita cukup memanggil method tersebut: deletefile(newfile("nama_folder_yg_dihapus"); Baca dan Tulis File Membaca isi karakter File Menuliskan karakter ke dalam File 7-6

BufferReader Class BufferedReaderdapat membungkus class FileReaderuntuk menyediakan proses input yang lebih efisien. Class ini menambahkan suatu buffer kepada input stream sehingga input tersebut dibaca dalam potongan besar dari harddisk daripada byte-per-byte. Hal ini menghasilkan peningkatan performance. Class BufferedReader juga memungkinkan kita untuk membaca data secara per-karakter atau per-baris. Langkah-langkah: Buat object File Buat objek FileReader Buat objek BufferedReader Contoh membuat objek BufferedReader untuk membaca file movie.txt : File f = newfile("movies.txt"); BufferedReader in = newbufferedreader(new FileReader(f)); Read & ReadLine Kita dapat menggunakan methods read dan readline untuk membaca isi objek BufferedReader. int read() - Membaca satu karakter dari file dan me-return suatu angka. - Menghasilkan -1 apabila end-of-file telah dicapai. - Throws IOException String readline() - Membaca satu baris dan me-return-nya sebagai String. - Me-return nullapabila end-of-file telah dicapai. - Throws IOException Menuliskan String ke File Teks FileWriter FileWriter merupakan subclass dari OutputStreamWriter dimana class OutputStreamWriter adalah subclass dari class abstrak Writer. Class Writer memiliki Konstruktor yang umum seperti berikut : 7-7

FileWriter(File objekfile); FilWriter(String pathkefile); FileWriter(String pathkefile, Boolean append); Contoh penggunaan : File inifile = (pathdirektori, namafile); FileWriter outputnya = new FileWriter(inifile); PrintWriter PrintWriter merupakan subclass dari class abstrak Writer yang digunakan melakukan output dari berbagai macam tipe data yang kemudian dikonversi ke bentuk karakter. Penggunaan PrintWriter dengan FileWriter : PrintWriter fileoutput = new PrintWriter ( New FileWriter(File objekfile); ); P7.2 Contoh Kasus Buat program sederhana tentang menggabungkan dan membandingkan string dengan hasil output sebagai berikut: 7-8

Langkah-langkah Pengerjaan: 1. Jalankan Netbeans 2. Buat file project baru dengan memilih menu File New Project, atau dengan menggunakan hotkey Ctrl+Shift+N. 7-9

3. Pilih jenis project yang akan dibuat (Java Java Application) 4. Nama Project beserta nama classnya adalah CobaString 7-10

5. Ketikkan kode program di bawah ini pada code editor package cobastring; import java.io.*; public class CobaString { public static void main(string[] args) throws Exception{ // TODO code application logic here DataInputStream masuk = new DataInputStream(System.in); String nama,alamat; System.out.print("Masukkan Namamu : "); nama = masuk.readline(); System.out.print("Masukkan Alamatmu : "); alamat = masuk.readline(); StringCoba coba = new StringCoba(nama,alamat); System.out.println(); System.out.println("Namaku : "+coba.namaku); System.out.println("Alamatku : "+coba.alamatku); System.out.println(); System.out.println("Jika Namamu dan Alamatmu digabungkan menjadi : "+coba.gabungstring()); // membandingkan nilai dari string namaku yang telah dideklarasikan dengan string nama yang diinput user System.out.println("Jika Namaku dibandingkan dengan Namamu :"+(coba.namaku.equalsignorecase(nama)?"sama":"tidak Sama")); class StringCoba{ String Nama1,Alamat1, gabung; String namaku = "darmadi"; String alamatku = "bekasi"; public StringCoba(String a, String b){ Nama1 = a; Alamat1 = b; public String gabungstring(){ gabung = Nama1 + Alamat1; /* menggabungkan nilai string Nama1 dengan * string Alamat1 ke dalam string gabung */ return gabung; 6. Build project tersebut dengan memilih menu Run Build Main Project, atau dengan menggunakan hotkey F11. 7-11

7. Jika tidak ada kesalahan (BUILD SUCCESSFUL), jalankan project tersebut dengan memilh menu Run Run Main Project, atau dengan menggunakan hotkey F6. P7.3 Latihan Buat program sederhana untuk mengurutkan string dan mencari karakter pada string. Output program tersebut: Jawaban: 1. Jalankan Netbeans Anda 2. Lakukan langkah-langkah pengerjaan seperti contoh kasus sebelumnya. 3. Pada code editor Netbeans, ketikkan program berikut: package lanjutstring; import java.io.*; public class LanjutString { public static void main(string[] args) throws Exception{ // TODO code application logic here DataInputStream masuk = new DataInputStream(System.in); String nama,alamat; System.out.print("Masukkan Namamu : "); nama = masuk.readline(); System.out.print("Masukkan Alamatmu : "); alamat = masuk.readline(); 7-12

StringCoba coba = new StringCoba(nama,alamat); System.out.println(); System.out.println("Namaku : "+coba.namaku); System.out.println("Alamatku : "+coba.alamatku); System.out.println(); System.out.println("Jika Namaku dibandingkan dengan Namamu :"+(coba.namaku.equalsignorecase(nama)?"sama":"tidak Sama")); System.out.println("Jika dibandingkan dengan Namaku maka yang ada di buku absen terlebih dahulu adalah : "+coba.urutstring()); System.out.println("Karakter a pada alamat ditemukan pada indeks : "); int indeks[] = new int[alamat.length()]; for(int i=0;i<alamat.length();i++){ indeks[i] = alamat.indexof('a',i); int k=0, jumlah=0, j; while(k<(alamat.length()-1)){ if(indeks[k]==-1) break; j=k+1; if(indeks[j]!=indeks[k]){ jumlah++; if(jumlah==1) System.out.println(indeks[k]); System.out.println(indeks[j]); k=j; else{k++; class StringCoba{ String Nama1,Alamat1, gabung, temp; String namaku = "darmadi"; String alamatku = "bekasi"; public StringCoba(String a, String b){ Nama1 = a; Alamat1 = b; public String gabungstring(){ gabung = Nama1 + Alamat1; return gabung; public String urutstring(){ if(namaku.compareto(nama1)>0){ temp = Nama1; Nama1 = namaku; namaku = temp; return namaku; 7-13

P7.4 Daftar Pustaka Ady Wicaksono, Dasar-dasar Pemrograman Java, PT. Elex Media Komputindo, Jakarta 2002. Benny Hermawan, Menguasai Java 2 Object Oriented Programming, Andi, Yogyakarta, 2004. Ginanjar Utama, Berfikir Objek: Cara Efektif Menguasai Java, 2003. http://ilmukomputer.com/berseri/ginanjar-java/index.php (26 Desember 2004) Indrajani dan Martin, Pemrograman Berorientasi Objek dengan Java, PT. Elex Media Komputindo, Jakarta, 2004. 7-14