Input/output dan Kelas File

Slides:



Advertisements
Presentasi serupa
EXCEPTION HANDLING.
Advertisements

Mendapatkan Input dari Keyboard
Mendapatkan Input dari Keyboard
Try, Catch, Finally Throws
Input dan Output.
Java Progamming Operasi I/O
Pemrograman Berorientasi Objek
Abstract Class & Interface
Flow Control & Exception Handling
MATA KULIAH : PEMROGRAMAN 3 JAVA PROGRAMMING (JSE)
Pemrograman Berorientasi Obyek Oleh Idris Winarno
I/O Stream lanjutan.
Mendapatkan input dari keyboard
Mendapatkan Input dari Keyboard
Struktur Kode Aplikasi Java (1)
Pemrograman Berorientasi Objek 1
PELATIHAN JAVA FUNDAMENTAL
Pengembang aplikasi memiliki kemampuan untuk memperbaiki beberapa parameter TCP, seperti buffer dan maksimum ukuran segmen maksimum Socket Programming.
Dasar I/O Oleh: Mike Yuliana Politeknik Elektronika Negeri Surabaya.
- PERTEMUAN 8- NETWORK PBO. Pengantar Java mengijinkan anda untuk mempermudah mengembangkan aplikasi yang mengerjakan berbagai pekerjaan melalui jaringan.
Exceptional Pendahuluan Bugs dan error dalam sebuah program sangat sering muncul meskipun program tersebut dibuat oleh programmer berkemampuan tinggi.
STREAM.
PERTEMUAN 4 STREAM.
03 Elemen Dasar Bahasa Java
Try, Catch, Finally Throws
Penanganan Eksepsi.
Mendapatkan input dari keyboard
Bahasa Pemrograman Operasi File Oleh: Chaerul Anwar, MTI.
Jaringan.
I/O Streams Pemrograman Berorientasi Obyek Oleh Idris Winarno.
File Stream.
VARIABEL TIPE DATA OPERATOR INPUT
Fakultas Ilmu Komputer Informatika Universitas Bina Darma
MENDAPATKAN INPUT DARI KEYBOARD.
Aplikasi berbasis teks
Constructor dan Overloading
Input/output dan Kelas File
Mendapatkan Input dari Keyboard
INPUT DATA, PERCABANGAN & PERULANGAN DENGAN JAVA
Pengaksesan File Disusun Oleh: Reza Budiawan Untuk:
PEMROGRAMAN BERBASIS JARINGAN
Pengenalan dan Struktur Java (Deklarasi dan Inisialisasi Variabel)
Algoritma & Pemrograman 3
Pemrograman berorientasi Objek
Mendapatkan input dari keyboard
Tugas Minggu Ke 9 PBO Siti Halisah
KELAS DAN OBJEK BAGIAN I Pertemuan 6.
Method.
Identifier, Keyword, dan Tipe data
Tipe Data, Variabel, dan Operator
PERTEMUAN 3 I/O STREAMS PERINTAH MASUKAN.
INPUT DARI KEYBOARD Pertemuan 4 Muhamad Haikal, S.Kom,. MT.
Tipe Data, Variabel, dan Operator
Matakuliah : M0074/PROGRAMMING II Tahun : 2005 Versi : 1/0
S. Indriani Lestariningati, M.T
Aplikasi Berbasis Teks
Dasar Bahasa Java.
INPUT DATA DI JAVA.
PEMROGRAMAN JAVA.
Oleh : Rahmat Robi Waliyansyah, M.Kom.
Mendapatkan input dari keyboard
Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator
Tipe Data, Variabel, dan Operator
Mengulang Kembali Type Data Input Output Struktur Kontrol
Mendapatkan Input dari Keyboard
Pemrograman Berorientasi Objek
Mendapatkan Input dari Keyboard
Input Keyboard & Keyword “Final”
Streams & Files 1. Streams (data moving into and out of a program) and files are supported by the java.io package. 2. InputStream & OutputStream are.
FONDASI PEMROGRAMAN & STRUKTUR DATA #3 - 4
Transcript presentasi:

Input/output dan Kelas File

Dasar-Dasar Input/Output Java menyediakan dukungan terhadap proses Input/Output (I/O) dalam package java.io. Di dalam package tersebut tersimpan banyak interface dan kelas yang akan memudahkan programmer melakukan pengambilan dan penyimpanan informasi ke media lain (misalnya ke suatu file)

Stream Stream adalah sebuah abstraksi yang dapat memberikan atau mendapatkan informasi. Stream dapat dihubungkan dengan peralatan fisik yang terdapat dalam sistem I/O, seperti keyboard, file, layar console, dll. Cara kerja stream selalu sama, meskipun peralatan yang terhubung dengannya berbeda. Kode program yang kita tulis akan sama untuk masing-masing peralatan fisik yang terhubung dengan stream yang bersangkutan Contohnya, programmer dapat menggunakan method dan kelas yang sama untuk melakukan penulisan teks, baik ke console maupun ke dalam file

Tipe-tipe Stream Byte Stream memberikan atau menyimpan informasi data dalam bentuk byte, misalnya untuk menulis dan membaca file biner. Character Stream digunakan untuk melakukan I/O yang melibatkan data dalam bentuk karakter, misalnya proses baca/tulis ke file berisi teks.

Kelas-kelas Stream Stream didefinisikan dengan empat buah kelas abstrak: InputStream, OutputStream, Reader, Writer Kelas InputStream dan OutputStream adalah kelas abstrak yang merupakan kelas induk dari kelas-kelas yang termasuk dalam kategori byte stream Kelas Reader dan Writer adalah kelas abstrak yang merupakan kelas induk dari kelas-kelas yang termasuk dalam kategori character stream

Semua kelas turunan dari InputStream maupun Reader memiliki method read() untuk membaca data Semua kelas turunan dari OutputStream maupun Writer memiliki method write() untuk menulis data Kedua method tersebut adalah method abstrak

Byte Stream Byte stream didefinisikan dengan menggunakan dua buah hirarki kelas Urutan paling atas dari hirarki tersebut adalah kelas InputStream dan OutputStream Tabel berikut memperlihatkan beberapa daftar kelas turunan dari kelas InputStream dan OutputStream

Nama Kelas Keterangan BufferedInputStream Input stream yang telah ter-buffer BufferedOutputStream Output Stream yang telah ter-buffer ByteArrayInputStream Input stream yang membaca dari array byte ByteArrayOutputStream Output stream yang menulis ke array byte DataInputStream Input stream yang meiliki method-method untuk membaca tipe data standar yang terdapat dalam java DataOutputStream Out stream yang meiliki method-method untuk menulis tipe data standar yang terdapat dalam java FileInputStream Input stream yang membaca data dari sebuah file FileOutputStream Output stream yang menulis data ke sebuah file PipedInputStream Penyalur input PipedOutputStream Penyalur output PrintStream Output stream yang berisi method println() dan print()

Character Stream Character stream didefinisikan dengan menggunakan dua buah hirarki kelas Urutan paling atas dari hirarki tersebut adalah kelas Reader dan Writer Tabel berikut memperlihatkan beberapa daftar kelas turunan dari kelas Reader dan Writer

Nama Kelas Keterangan BufferedReader Character stream input yang telah ter-buffer BufferedWriter Character Stream output yang telah ter-buffer CharArrayReader membaca dari array character CharArrayWriter menulis ke array character InputStreamReader Input stream yang menerjemahkan byte ke character OtuputStreamWriter Out stream yang menerjemahkan karakter ke byte FileReader membaca data dari sebuah file FileWriter menulis data ke sebuah file PipedWriter Penyalur input PipedReader Penyalur output PrintWriter Output stream yang berisi method println() dan print() StringReader Input stream yang membaca dari sebuah String StringWriter Output stream yang menulis ke sebuah String

Semua program Java otomatis mengimport package java. lang Semua program Java otomatis mengimport package java.lang. Di dalam package ini didefinisikan sebuah kelas bernama System. Kelas ini mendefinisikan beberapa aspek yang berkaitan dengan runtime. Kelas System mendefinisikan tiga variabel stream: in, out, err. Ketiga variabel ini didefinisikan sebagai public dan static System.out mengacu kepada output stream standar, yang berupa console System.in mengacu kepada input stream standar yang berupa keyboard System.err mengacu pada stream error standar yang berupa console

Proses Input Dalam Java, input console dilakukan dengan pembacaan terhadap stream System.in Untuk mendapatkan karakter-karakter yang dimasukkan melalui keyboard ke layar console, System.in perlu dibungkus didalam objek BufferedReader. Hal ini dilakukan untuk membentuk character stream, karena sebenarnya System.in adalah byte stream

Bentuk konstruktor dari BufferedReader adalah BufferedReader(Reader inputReader) inputReader adalah stream yang akan dihubungkan dengan objek dari kelas BufferedReader yang dibuat. Karena Reader adalah kelas abstrak, kita perlu menggunakan kelas turunannya yang berupa kelas konkrit. Salah satunya adalah InputStreamReader yang dapat mengonversi byte ke character

InputStreamReader(InputStream is) Agar objek dari InputStreamReader dapat dihubungkan dengan System.in, perlu digunakan konstruktor dengan bentuk: InputStreamReader(InputStream is) Pada konstruktor di atas, is dapat diisi dengan System.in, sehingga untuk membuat objek BufferedReader yang terhubung dengan keyboard dapat menggunakan kode: InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr);

Untuk membaca input berupa karakter, gunakan method read() yang terdapat dalam kelas BufferedReader. Deklarasi method read() adalah sebagai berikut: int read() throws IOException

Contoh membaca input data karakter import java.io.*; class DemoInputKarakter { public static void main(String[] args) throws IOException { System.out.print("Masukkan sembarang karakter: "); char ch; InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); ch = (char) br.read(); System.out.println("Karakter yang dimasukkan adalah \'" + ch + "\'"); }

Input Data String Untuk melakukan input berupa String, gunakan method readLine() Deklarasi method tersebut adalah String readLine() throws IOException

Contoh Membaca Input Data String import java.io.*; class DemoInputString { public static void main(String[] args) throws IOException { System.out.print("Masukkan nama Anda: "); String nama; InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); nama = br.readLine(); System.out.println("Halo " + nama + ", sudahkah Anda mengerti Java?"); }

Contoh Input Data Numerik import java.io.*; class DemoInputNumerik1 { public static void main(String[] args) throws IOException { System.out.print("Masukkan sebuah bilangan bulat: "); String temp; int bilangan = 0; InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); // input data dianggap sebagai string temp = br.readLine(); try { // konversi dari string ke integer bilangan = Integer.parseInt(temp); } catch (NumberFormatException nfe) { System.out.println("Data yang dimasukkan “+"bukan bilangan bulat"); System.exit(1); } System.out.println("Bilangan yang dimasukkan " + "adalah " + bilangan);

import java.io.*; class DemoInputNumerik2 { public static void main(String[] args) throws IOException { System.out.print("Masukkan sebuah bilangan riil: "); String temp; double bilangan = 0; InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); // input data dianggap sebagai string temp = br.readLine(); try { // konversi dari string ke floating-point bilangan = Double.parseDouble(temp); } catch (NumberFormatException nfe) { System.out.println("Data yang dimasukkan bukan bilangan"); System.exit(1); } System.out.println("Bilangan yang dimasukkan " + "adalah " + bilangan);

Proses Output Sejauh ini, untuk menampilkan output ke console, kita menggunakan method print() dan println() Untuk menuliskan output ke media lainnya, misalkan file, gunakan method write() System.out adalah objek dari tipe PrintStream. Sedangkan PrintStream adalah turunan dari OutputStream, maka System.out dapat menggunakan method write() yang didefinisikan pada kelas OutputStream. Deklarasi method write() adalah void write(int nilaiByte)

Contoh penggunaan write() class DemoWrite { public static void main(String[] args) { int i = 'A'; byte b = 65; char c = 'B'; System.out.write(i); System.out.write(b); System.out.write(c); }

Kelas PrintWriter Selain menggunakan System.out, kita juga dapat menggunakan kelas PrintWriter untuk menuliskan data ke layar console. Terdapat beberapa bentuk konstruktor dari PrintWriter, di antaranya ialah PrintWriter(OutputStream os, boolean flushOnNewLine) os adalah objek dari OutputStream, sedangkan flushOnNewLine adalah parameter bertipe boolean yang menyatakan apakah stream output akan dibuang atau tidak setiap kali method println() dipanggil.

PrintWriter mendukung method print() dan println() untuk semua tipe data Cara pembentukan objek PrintWriter yang dapat digunakan untuk pembentukkan output adalah: PrintWriter pw = new PrintWriter(System.out, true)

Contoh PrintWriter import java.io.PrintWriter; class DemoPrintWriter { public static void main(String[] args) { // membuat objek PrintWriter PrintWriter pw = new PrintWriter(System.out, true); double d = 3.1416; int i = 123; byte b = 65; char c = 'A'; String s = "Ini adalah string"; pw.println("Data bertipe double : " + d); pw.println("Data bertipe int : " + i); pw.println("Data bertipe byte : " + b); pw.println("Data bertipe char : " + c); pw.println("Data bertipe string : " + s); }

Baca Tulis File Pada contoh program berikut ditunjukkan cara untuk membaca data dari sebuah file dan kemudian menampilkan isi file tersebut ke layar monitor.

import java.io.*; class DemoBacaFile { public static void main(String[] args) { FileInputStream finput = null; int data; // membuka file try { finput = new FileInputStream("d:/INPUT.TXT"); } catch (FileNotFoundException fnfe) { System.out.println("File tidak ditemukan."); return; // keluar dari method } // membaca data dari dalam file // dan menampilkan hasilnya ke layar console while ((data = finput.read()) != -1) { // ketika ditampilkan, data dikonversi ke tipe char System.out.print((char) data); } catch (IOException ioe) { System.out.println(ioe.getMessage()); return; // menutup file finput.close(); } catch (IOException ioe) {}

Berikut contoh menuliskan data ke file

import java.io.*; class DemoTulisFile { public static void main(String[] args) { FileOutputStream foutput = null; String data = "Baris pertama \nBaris kedua \nBaris ketiga"; // membuka file try { foutput = new FileOutputStream("d:/OUTPUT.TXT"); } catch (FileNotFoundException fnfe) { System.out.println("File tidak dapat terbentuk."); return; // keluar dari method } // menulis data ke dalam file for (int i=0; i<data.length(); i++) { // data akan dikonversi per karakter foutput.write((int) data.charAt(i)); } catch (IOException ioe) { System.out.println(ioe.getMessage()); return; // menutup file foutput.close(); } catch (IOException ioe) {}

Berikut demo menyalin isi suatu file ke dalam file lain

import java.io.*; class DemoSalinFile { public static void main(String[] args) { FileInputStream finput = null; FileOutputStream foutput = null; int data; // membuka file input try { finput = new FileInputStream("d:/FILE1.TXT"); } catch (FileNotFoundException fnfe) { System.out.println("File input tidak ditemukan"); return; // keluar dari method } // membuka file output foutput = new FileOutputStream("d:/FILE2.TXT"); System.out.println("File output tidak dapat terbentuk"); // membaca data dari file input // dan memasukkannya ke dalam file output while ((data = finput.read()) != -1) { foutput.write(data); } catch (IOException ioe) { System.out.println(ioe.getMessage()); return; finput.close(); foutput.close(); } catch (IOException ioe) {}