Minggu, 11 Oktober 2009

Oprasi I/O Stream Sederhana

Stream Standard

1. System.in: menangani pembacaan dari keyboard (standard input)
2. System.out: mengirimkan keluaran ke layar (standard output)
3. System.err: mengirimkan kesalahan (standard error)


Membaca Input dari Keyboard
  • Perintah sederhana untuk memasukkan data dari keyboard adalah membaca sebagai karakter
  • Penggunaannya memerlukan blok try-catch (akan dibahas pada bagian eksepsi)
  • Contoh:
char karakter;
karakter = System.in.read();
  • Untuk mudahnya, gunakan class
InputKeyboard.java untuk menerima masukkan data dari keyboard


InputKeyboard.java

import java.io.*;

public class InputKeyboard{

public static String inputString(){

int karakter; String str ="“; boolean selesai = false;
while(!selesai){
try{

karakter = System.in.read();
if(karakter < 0 || (char) karakter == '\n') selesai = true;
else if ((char) karakter != '\r') str = str + (char) karakter;


}catch (java.io.IOException e){

System.err.println("Ada kesalahan");
selesai = true;

}

}

return str;

}

}



Konversi String ke Tipe Lain

  • Method inputString() pada class InputKeyboard memiliki nilai balik bertipe String
  • Tipe String bisa kita konversi ke tipe lain (int, float, atau double) dengan menggunakan method valueOf() yang ada di class Integer, Float dan Double:
  • Integer.valueOf(nilaiString).intValue()
  • Float.valueOf(nilaiString).floatValue()
  • Double.valueOf(nilaiString).doubleValue()

KonversiData.java


public class KonversiData{

public static void main(String[] args){
String dataString;

System.out.println("Masukkan sebuah bilangan bulat:" );
dataString = InputKeyboard.inputString();
int dataBulat = Integer.valueOf(dataString).intValue();

System.out.println("Masukkan sebuah bilangan pecahan:" );
dataString = InputKeyboard.inputString();
double dataPecahan = Double.valueOf(dataString).doubleValue();

System.out.println("Bilangan Bulat:" + dataBulat);
System.out.println("Bilangan Pecahan:" + dataPecahan);


}

Argument untuk Menerima Input


public class LuasSegitigaArgs {
public static void main(String[] args) {
double alas= Double.parseDouble(args[0]);
double tinggi = Double.parseDouble(args[1]);


luas = (alas*tinggi)/2;

System.out.println("Luas Segitiga : " + luas);

}

}

Argument untuk Menerima Input

public class LuasSegitigaArgs {

public static void main(String[] args) {

if (args.length == 2){
double alas = Double.parseDouble(args[0]);
double tinggi = Double.parseDouble(args[1]);
double luas = (alas*tinggi)/2;
System.out.println("Luas Segitiga : " + luas);

}else{

System.out.println("Penggunaan Argument Salah!");
System.out.println("Contoh: java LuasSegitigaArgs 30 20");

}

}

}