STIMATA
Pemrograman Java
33
Modul 8 : Input dan Output
A. Latar Belakang
Dasar Teori IO yang disampaikan secara teoritis dalam sesi kuliah tatap muka dikelas mengakibatkan mahasiswa memahami secara abstrak sebatas jangkauan pikirannya. Diperlukan
aktivitas yang dapat merangsang pemahaman berdasar pengalaman dengan cara mempraktekkan dalam program yang diharapkan mampu menguatkan pemahaman teoritis
diperkuiahan Dalam kegiatan ini mahasiswa mempraktekkan membuat program yang berisikan beberapa
kelas, yaitu BufferedReader, InputStreamReader, System.in, dan try {}
B. Tujuan
Setelah melakukan kegiatan ini, mahasiswa diharapkan mempunyai kompetensi dalam 1. mengenal dasar-dasar IO
2. melakukan Input 3. menampilkan Output
4. dasar-dasar BacaTulis File 5. Kelas File
6. membuat program yang bisa digunakan untuk menuliskan kalimat
C. Dasar Teori
Proses input dan output IO adalah hal yang paling sering dijumpai pada sebagian besar program yang membutuhkan data-data eksternal. Java menydiakan terhadap proses IO dengan
menghadirkan paket java.io.
Stream
Program java melakukan proses IO melalui stream. Stream adalah sebuah abstraksi yang dapat memberikan atau mendapatkan informasi. Stream dapat menghubungkan dengan perlatan fisik
yang terdapat dalam siste IO Java, seperti keyboard, file, layar console dan yang lainnya. Kelas-kelas dalam stream
Nama Kelas Keterangan
BufferedInputStream Stream input yang telah ter-buffer
BufferedOutputStream Stream output yang telah ter-buffer
ByteArrayInputStream Stream input yang membaca dari array byte
ByteArrayOutputStream Stream output yang menulis ke array byte DataInputStream
Stream input yang berisi method-method untuk membaca tipe data standar terdapat dalam java
DataOutputStream Stream output yang berisi method-method untuk
membaca tipe data standar terdapat dalam java FileInputStream
Stream input yang membaca dari sebuah file FileOutputStream
Stream output yang menulis ke sebuah file FilterInputStream
Mengimplementasikan inputstream FilterOutputStream
Mengimplementasikan Outputstream InputStream
Kelas abstrak yang menjelaskan stream input OutputStream
Kelas abstrak yang menjelaskan stream output PipedInputStream
Penyalur input PipedOutputStream
Penyalur Output PrintStream
Stream output yang berisi method println dan print
STIMATA
Pemrograman Java
34
Kelas-kelas stream karakter
Nama Kelas Keterangan
BufferedReader Stream karakter input yang telah ter-buffer
BufferedWriter Stream Karakter output yang telah ter-buffer
CharArrayReader Stream input yang membaca dari array karakter
CharArrayWriter Stream output yang menulis ke array karakter
FileReader Stream input yang membaca dari sebuah file
FileWriter Stream output yang menulis ke sebuah file
FilterWriter Reader yang ter-filter
FilterReader Writer yang ter-filter
InputStreamReader Stream input yang menerjemahkan byte ke karakter
LineNumberReader Line input yang menghitung jumlah baris
OuputStreamWriter Stream input yan menterjemahkan karakter ke byte
PipedReader Penyalur Input
PipedWriter Penyalur Output
PrintWriter Stream output yang berisi method println dan print
Reader Kelas abstrak yang menjelaskan stream karakter input
StringReader Stream input yang membaca dari sebuah string
StringWriter Stream output yang menulis ke sebuah string
Writer Stream output
Perintah Try {} catch {} perintah try { ... }, adalah perintah yang ingin di
jalankan pada situasi yang “mungkin” tidak berhasil atau perintah yang akan dilakukan apabila kesalahan ditangkap..
Parameter pada catch, yaitu IOException e adalah jenis kesalahan yang ingin Anda tangkap. Dalam hal ini Anda ingin menangkap adanya kesalahan IO, yaitu kesalahan yang bertipe
IOException. Jika tidak ada kesalahan IO yang ditemukan, maka bagian ini akan dilewatkan tidak dijalankan.
try { ...
} catch IOException e { ...
}
Membaca Input data Karakter Percobaan 1
import java.io.; author Irul
class DemoKarakter { public static void mainString [] args throws IOException {
System.out.printMasukkan sembarang karakter: ; char ch;
InputStreamReader isr = new InputStreamReaderSystem.in; BufferedReader br = new BufferedReaderisr;
ch = char br.read; System.out.printlnKarakter yang dimasukkan adalah \+ch+\;
} }
STIMATA
Pemrograman Java
35
Membaca Input data String Percobaan 2
import java.io.; author Irul
class DemoInput { public static void mainString [] args throws IOException {
System.out.printMasukkan Nama Anda: ; String nama;
InputStreamReader isr = new InputStreamReaderSystem.in; BufferedReader br = new BufferedReaderisr;
nama = br.readLine; System.out.printlnHello +nama + , sudahkan Anda paham Java?;
} }
Membaca Input data Numerik Percobaan 3
import java.io.; author Irul
class DemoNumerik { public static void mainString [] args throws IOException {
System.out.printMasukkan sebuah bilangan bulat: ; String temp;
int bilangan = 0; InputStreamReader isr = new InputStreamReaderSystem.in;
BufferedReader br = new BufferedReaderisr; temp = br.readLine;
try{ bilangan =Integer.parseInttemp;
}catch NumberFormatException nfe{ System.out.printlnData
yang dimasukkan
bukan bilangan
bulat; System.exit1;
} System.out.printlnBilangan yang dimasukkan adalah : +bilangan;
} }
Membaca dan Menulis File Percobaan 4
import java.io.; author Irul
class BacaFile { public static void mainString [] args {
FileInputStream finput = null; int data;
Membuka file
try { finput = new FileInputStreamg:data.txt;
}catch FileNotFoundException fnfe{
STIMATA
Pemrograman Java
36
System.out.printlnFile tidak ditemukan; return; Keluar dari method
} Membaca data dari dalam file
try{ while data = finput.read= -1 {
konversi data ke type char System.out.printlnchar data;
} }catch IOException e{
System.out.printlne.getMessage; return;
} Menutup File
try { finput.close;
}catch IOException e{} }
}
D. Praktek