TUJUAN PEMBELAJARAN
import java.util.Scanner;
package cobaScanner;
// mengimpor Scanner ke program
import java.util.Scanner;
public class DataKaryawan {
public static void main(String[] args) {
// deklarasi variabel
String nama, alamat;
int usia, gaji;
// membuat scanner baru
Scanner keyboard = new Scanner(System.in);
// Tampilkan output ke user
System.out.println("### Pendataan Karyawan PT. Petani Kode ###");
System.out.print("Nama karyawan: ");
// menggunakan scanner dan menyimpan apa yang diketik di variabel nama
nama = keyboard.nextLine();
// Tampilkan output lagi
System.out.print("Alamat: ");
// menggunakan scanner lagi
alamat = keyboard.nextLine();
System.out.print("Usia: ");
usia = keyboard.nextInt();
System.out.print("Gaji: ");
gaji = keyboard.nextInt();
// Menampilkan apa yang sudah simpan di variabel
System.out.println("--------------------");
System.out.println("Nama Karyawan: " + nama);
System.out.println("Alamat: " + alamat);
System.out.println("Usia: " + usia + " tahun");
System.out.println("Gaji: Rp " + gaji);
}
}
Penggunakan fungsi untuk mengambil data bergantung dari tipe data yang digunakan. Misal, tipe
datanya adalah String, maka fungsi atau method yang dipakai adalah nextLine(). Begitu juga
dengan tipe data lain, Integer menggunakan nextInt(), Double menggunakan nextDouble()
Mengambil Input dengan Class BufferReader
Class ini juga dapat digunakan untuk membaca input dari file dan jaringan.
import java.io.BufferedReader;
package Coba_BufferedReader;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
Lalu untuk tipe data integer, BufferReader menggunakan fungsi read() saja.
Mengambil Input dengan Class Console
Class Console hampir sama dengan BufferReader. Dia juga menggunakan fungsi
readLine() untuk mengambil input. Akan tetapi, Class ini hanya bisa digunakan di
lingkungan console saja, seperti Terminal dan CMD. Class Console tidak bisa
digunakan langsung di Netbeans. Maka dari itu, kita harus kompilasi secara manual.
Untuk menggunakan class ini, kita perlu mengimpornya terlebih dahulu.
import java.io.Console;
import java.io.Console;
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.
Dalam Stream ini terdapat proses input dan output sebagai berikut :
1. Input Stream
2. Output Stream
INPUT STREAM
• Read
• Close
- Data Output dalam stream ini merupakan class yang menyediakan cara praktis untuk menuliskan tipe data
primitif ke output stream yang lebih mudah digunakan dalam penyelesaian program dalam java.
Byte Streams
ByteStream Java digunakan untuk melakukan input dan output tipe data byte 8-
bit. Meskipun ada banyak kelas yang terkait dengan stream byte tetapi kelas yang
paling sering digunakan adalah, FileInputStream dan FileOutputStream.
import java.io.*;
public class CopyFile {
public static void main(String args[]) throws IOException {
FileInputStream in = null;
FileOutputStream out = null;
try {
in = new FileInputStream("input.txt");
out = new FileOutputStream("output.txt");
int c;
while ((c = in.read()) != -1) {
out.write(c);
}
}finally {
if (in != null) {
in.close();
}
if (out != null) {
out.close();
}
}
}
Kemudian, kita perlu memiliki sebuah file input.txt dengan mengikuti contoh berikut ini:
$javac CopyFile.java
$java CopyFile
Character Streams
Java Byte Streams digunakan untuk mengoperasikan input dan output dari 8-bit
bytes, yang mana Character Stream pada Java digunakan untuk mengoperasikan
input dan output 16-bit Unicode. Meskipun ada banyak kelas yang terkait dengan
stream karakter tetapi kelas yang paling sering atau biasanya digunakan adalah,
kelas FileReader dan kelas FileWriter.
Pada langkah selanjutnya, kompilasi dari kode program di atas dan yang jalankan,
yang akan menghasilkan file output.txt dengan konten yang sama seperti yang
kita miliki di input.txt. Kemudian, letakkan kode di atas dalam file CopyFile.java
dan lakukan hal berikut:
$javac CopyFile.java
$java CopyFile
STANDARD STREAM
Semua bahasa pemrograman menyediakan dukungan untuk I / O standar. didalam program pengguna
dapat mengambil input dari keyboard dan kemudian menghasilkan output di layar komputer. Java
menyediakan tiga standard stream berikut:
1. Standard Input
Standard Input digunakan untuk memasukkan data ke program pengguna dan biasanya keyboard
digunakan sebagai stream input standar dan direpresentasikan sebagai System.in.
2. Standard Output
Standard Output digunakan untuk mengeluarkan data atau output yang dihasilkan oleh program
pengguna. biasanya output akan muncul pada layar komputer. digunakan untuk stream keluaran standar
dan direpresentasikan sebagai System.out.
3. Standard Error
Standard Error digunakan untuk mengeluarkan data kesalahan yang dihasilkan oleh program pengguna
dan biasanya layar komputer digunakan untuk stream kesalahan standar dan direpresentasikan sebagai
System.err.
import java.io.*;
public class ReadConsole {
public static void main(String args[]) throws IOException {
InputStreamReader cin = null;
try {
cin = new InputStreamReader(System.in);
System.out.println("Masukkan Karakter, Ketik 'q' Untuk Keluar.");
char c;
do {
c = (char) cin.read();
System.out.print(c);
} while(c != 'q');
}finally {
if (cin != null) {
cin.close();
}
}
}
Kemudian, simpan kode di atas dalam file ReadConsole.java dan coba kompilasi dan jalankan
seperti yang ditunjukkan pada program berikut. Program ini terus membaca dan mengeluarkan
karakter yang sama sampai kita menekan ‘q’.
$javac ReadConsole.java
$java ReadConsole
Masukkan Karakter, Ketik 'q' Untuk Keluar.
1
1
e
e
q
q
FILE
File merupakan data yang siap diinput dan diproses dalam Stream yang merupaka data
operasi dalam pemrograman. Keterkaitan antara keduanya, proses Input dan Ouput tetap
dilakukan walau dengan cara yang berbeda, dari subclass maupun method yang
digunakan.
FileInputStream digunakan untuk membaca data dari file yang merupakan turunan
langsung dari class InputStream dan FileOutputStream untuk menuliskan data ke file
merupakan turunan langsung dari class OutputStream.
Dalam file pun terdapat subclass – subclass dan
method, sama halnya dengan Stream, seperti :
1. Class File
2. File Writer
3. File Reader
Class File
Class File merupakan langkah awal dalam mempelajari proses input-output dengan
Java, karena File merupakan objek yang mewakili path, file, atau direktori pada
harddisk. Ada tiga cara membuat objek File, yaitu :
3. Menggunakan dua argumen, dimana yang pertama adalah argumen string yang
mendefinisikan direktori, dan yang kedua adalah argumen string yang
mendefinisikan nama file.
FILE WRITER
File Reader merupakan class yang dapat digunakan untuk membaca file teks.
Konstruktor dari FileReader :
- FileReader(File objekfile);
- FileReader(String pathkefile);
- Read(char[] array);
Buatlah laporan dari program-program yang sudah dikerjakan mengenai File Input Output,
isi laporan adalah kode program, output program dan penjelasan singkat mengenai
program.
Kode-kode program yang diinsert di dalam laporan adalah :
1. Program Copy File slide 20
2. Program untuk melihat isi direktori slide 33
3. Program untuk Menggunakan File Input Stream slide 34
4. Program untuk menggunakan Buffered Input Stream slide 35
5. Program untuk menggunakan Push Back Input Stream slide 36
6. Program untuk menggunakan Serialization slide 37
Nama siswa yang