View
240
Download
5
Category
Preview:
Citation preview
7/22/2019 Modul 1 Prakt ST
1/6
Pertemuan I
Stream
Bahasan : IO Stream
Sasaran : - Konsep dari stream
- Char Stream and Byte Stream (basic IO operation)
Materi :
1. Program dalam java melakukan operasi I/O dengan menggunakan Streams. Streams sendiri
adalah adalah abststraksi dari sesuatu yang digunakan untuk menulis atau menghasilkan dan
membaca atau mendapatkan suatu informasi.
Secara umum Stream dalam java dibagi dalam dua bagian besar yaitu Byte Stream
dan Character Stream. Byte Stream sangat cocok untuk digunakan untuk operasi I/O data
biner (byte). Sedangkan Character Stream digunakan untuk menangani operasi I/O yang
menggunakan karakter. Dalam beberapa kasus, seperti menangani operasi I/O yang menulis
dan membaca data yang berupa String, penggunaan character Stream ini lebih effisien.
Semua kelas dan interface yang berhubungan dengan Stream ada dalam package java.io.*.
Table I.1 Daftar beberapa class ber-type byte Streams
class Deskripsi
BufferedInputStream Byte input Stream yng menggunakan buffer
BufferedOutputStream Byte output Stream yng menggunakan buffer
ByteArrayInputStream Byte input stream yang membaca dari array
bertype byte (InputStream)
ByteArrayInputStream Byte output stream yang menulis ke array bertype
byte (OutputStream)
DataInputStream Byte input stream yang memiliki method untukmembaca input yang bertype data standart Java.
DataOutputStream Byte output stream yang memiliki method untuk
menuliskan output yang bertype data standart
Java.
FileInputStream Byte input stream yang membaca dari file.
FileOutputStream Byte output stream yang menuliskan ke file.
PrintStream Byte output Stream yang menambahkan method
untuk memudahkan proses menulis ke suatu
output. Method yang ditambahkan adalah print()
dan println(). Object yang referensinya dipegang
olehSytem.outjuga bertipe PrintStream.
7/22/2019 Modul 1 Prakt ST
2/6
Tabel I.2 Daftar beberapaclassbertipeCharacter Streams.
Class Deskripsi
BufferedReaderInput character stream yang menggunakan
buffer.
BufferedWriterOutput character stream yang menggunakan
buffer.
CharArrayReaderInput character Stream yang membaca dari
array bertipeChar.
CharArrayWriterOutput character Stream yang menulis ke
array bertipeChar.
FileReaderInput character stream yang membaca dari
file.
FileWriter output character stream yang menulis ke file.
InputStreamReaderInput stream yang mengkonversi dari byte ke
char
OutputStreamWriterOutput stream yang mengkonversi dari char
ke byte
PrintWriter
Output karakter stream yang menambahkan
method untuk memudahkan proses menulis
ke suatu output. Method yang di tambahkan
yaitu print() dan println().
StringReaderInput character Stream yang membaca dari
String
StringWriterOutput character stream yang menulis ke
String
2 Byte Stream
Class yang mengimplentasikan byte Stream merupakan turunan dari
OutputStream.class dan InputStream.class. Secara umum cara penggunaan class tersebut
adalah sama. Secara dasar perlu diketahui method yang dideklarasikan oleh superclass
InputStream dan OutputStream untuk dapat menggunakan class class tersebut. Berikut
ini dalah daftar method yang dideklarasikan oleh kedua superclass tersebut :
Table I.3 Daftar method yang didefinisikan oleh class InputStream.
Method Fungsi
Int available()Mengembalikan jumlah byteyang dapat
dibaca / dikembalikan oleh InputStream ini
7/22/2019 Modul 1 Prakt ST
3/6
Void close()
Menutup InputStream dan membebaskan
semua resource yang berhubungan dengan
Stream ini.
Void mark(int
readLimit)
Menandai posisi saat ini dalam InputStream
yang akan tetap valid hingga sebuah
ReadLimit byte dibaca.
Boolean
markSupported()
Mengembalikan nilai true jika stream ini
mendukung methodmark()danreset().
Int read()
Membaca sejumlah byte berikutnya dari
InputStream, dan mengembalikan nilainya
sebagai integer.
Int read(byte [] b)
Membaca sejumlah byte dari InputStream
meletakkannya ke dalam buffer array b dan
mengemblikan jumlah byte yang berhasil
dibaca.
Int read(byte [] b, int
offset, int length)
Membaca sejumlah byte dari InputStream
meletakkannya ke dalam buffer array b mulai
dari posisi offset (b[off]) dan mengemblikan
jumlah byte yang berhasil dibaca.
Void reset()
Mengembalikan posisi pembacaan stream ke
posisi dimana terakhir kali method mark()
dipanggil.
Long skip()Mengacuhkan / melompati (skip) sejumlah n
byte dari InputStream.
Tabel I.4 Daftar method yang didefiniskan oleh class OutputStream.
Method Fungsi
Void close()
Menutup OutputStream dan membebaskan
semua resource yang behubungan dengan
stream ini.
Void flush()Mengosongkan buffer dan menuliskan semua
output ke tujuannya.
Void write(byte [] b) Menuliskan isi array ke OutputStream.
Void write(byte [] b, int
offset, int length)
Menuliskan isi array ke OutputStream mulai
dari posisi offset sebanyak length
Abstract void write(int
b)Menuliskan sebuah byte data ke outputStream
7/22/2019 Modul 1 Prakt ST
4/6
Contoh Program :
1. Input karakter
2. Baca file
import java.io.*;
public class inputkarakter {
public static void main(String args[])throws IOException
{
System.out.println("masukkan sembarang karakter");
InputStreamReader in = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(in);
char ch = (char)br.read();
System.out.println("Karakter yang dimasukkan yaitu \'"+ ch +"\'");
}
}
import java.io.*;
public class bacafile {
public static void main(String args[])
{ FileInputStream input = null;int data;
//membuka file
try{
input = new FileInputStream("f:/template/bacalah.txt");
}catch(FileNotFoundException fn) {System.out.println("file gak temu");}
//membaca data dari dalam file
try{
while ((data = input.read()) != 1){
System.out.print((char) data);
}System.out.println();
}catch(IOException in){
System.out.println(in.getMessage());
} //menutup file
try{
input.close();
}catch(IOException e){}
}
7/22/2019 Modul 1 Prakt ST
5/6
3. Tulis file
Tugas di laboratorium :
1. Buatlah program yang membaca input text dari keyboard dan menyimpannya dalam
sebuah variable kemudian menampilkan inputan tersebut ke layar. Inputan berupa satu
kalimat atau paragraph.
2. Buatlah program yang membaca input angka bulat maupun pecahan kemudian
menyimpan dalam sebuah variable dan membaca input angka kembali dan
menyimpannya dalam variable kedua lalu outputkan perkalian ke dua variable tersebut
ke layar.
3. buatlah program untuk mengkopi isi sebuah file ke file lain.
import java.io.*;
public class tulisfile {
public static void main(String args[])
{
FileOutputStream out = null;
String data = "ok smangat";
//buka file
try{
out= new FileOutputStream("f:/template/about.txt");
}catch(FileNotFoundException fn){
System.out.println("File tidak ditemukan");
}
//menulis
try{
for(int i=0; i
7/22/2019 Modul 1 Prakt ST
6/6
Tugas praktikum :
1. Buatlah program kalkulator sederhana dengan menggunakan 3 inputan dimana inputan
pertama dan kedua adalah bilangan dan inputan yang ketiga adalah operasi yang akan
digunakan yaitu tambah, kurang, kali, dan bagi.
2. Buatlah program untuk menggabungkan file. Baca sebuah file lalu simpan isi tersebut ke
variable dan membaca file kedua lalu menyimpannya pada variable kedua kemudian
menggambungkan kedua filetersebut dalam satufile.
3. Buatlah program untuk simpan file kedalam direktori d . Sebelum menyimpan program
secara otomatis akan memeriksa apakah di direktori d terdapat folder dengan nama
penyimpanan. Apabila belum ada maka program secara otomatis membuat folder
dengan nama penyimpanan kemudian file yang ada isinya tersebut disimpan
didalamnya.
4. Buat program simulasi dari dos prompt dalam windows. Jadi setelah membuat file
dengan isinya dan disimpan didirektori tertentu. Untuk mengetahui keberadaan file
ketikkan dir. Maka seluruh folder yang ada di direktori terbesut akan muncul dan
kelihatan file yang telah kita buat.
Recommended