Lompat ke konten Lompat ke sidebar Lompat ke footer

Memahami Operasi Masukan dan Keluaran pada Pemrograman Java

Pada saat program Java dijalankan, terdapat tiga buah stream yang dengan sendirinya disediakan Java, yaitu :
  1. System.in : berguna untuk menangani pembacaan dari keyboard (standar input)
  2. System.out : berguna untuk mengirimkan keluaran ke layar (standar output)
  3. System.err : digunakan untuk mengirimkan kesalahan (didalam system Unix dikenal dengan standar error)

MENAMPILKAN TEKS
Untuk menampilkan teks ke layar digunakan metode println() yang merupakan milik System.out. Selain itu terdapat metode print() yang tidak menambahkan newline sehingga tidak terjadi perpindahan baris.

Contoh :
//nama file berkas : cetak.java
public class cetak
{
public static void main (String[] args)
{
System.out.print("Belajar Bahasa Java");
System.out.println(" Itu Mudah");
System.out.print("Baris ini tercetak dibawah");
}
}

Hasil :
Belajar Bahasa Java Itu Mudah
Baris ini tercetak dibawah


MEMBACA DARI KEYBOARD

Memahami Operasi Masukan dan Keluaran pada Pemrograman Java - Sayang sekali Java tidak mendukung perintah sederhana untuk memasukkan data dari keyboard. Satu-satunya pernyataan sederhana yang tersedia adalah membaca sebuah karakter dengan menggunakan blok try ... catch.

Oleh karena itu perlu dibuat suatu rutin yang memudahkan pembacaan data dari keyboard dimana tombol enter dianggap sebagai akhir masukan. Stream berhubungan dengan proses untuk membaca data dari suau sumber atau mengirimkan data ke suatu tujuan. Sebagai contoh, untuk menampilkan informasi ke layar dengan menggunakan System.out.println() ataupun dengan System.err.println() untuk menampilkan pesan kesalahan .

Pada Java terdapat banyak kelas yang berhubungan dengan stream, namun secara prinsip terdapat dua buah kelas yang menjadi dasar bagi kelas-kelas lain yang berhubungan dengan stream. yaitu kelas InputStream dan OutputStream.

Memahami Operasi Masukan dan Keluaran pada Pemrograman Java_



Untuk menggunakan stream seringkali Anda diharuskan untuk meng-impor dengan memberikan pernyataan import java.io.*. Hal ini disebabkan kebanyakan kelas yang berhubungan dengan stream berada pada paket java.io

Contoh :
//nama file berkas : masuk.java
import java.io.*;
public class masuk
{
public static String baca()
{
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;
}
}

Simpan program dengan nama masuk.java dan disimpan pada direktori tempat Anda menyimpan program java. Selanjutnya kompilasi program sehingga terbentuk masuk.class yang akan digunakan oleh program yang memerlukan pemasukan data dari keyboard. Selanjutnya buat program untuk memasukkan data dengan menggunakan kelas baru.

Contoh :
//nama file berkas : MasukanNama.java
public class MasukanNama
{
public static void main(String[] args)
{
System.out.print("Nama anda ? ");
String nama=masuk.baca();
System.out.print("Halo..."+ nama + " Apa Kabar ?");
}
}

Hasil :
Nama anda ? Yudi Irawan
Halo...Yudi Irawan Apa Kabar ?   

Metode lain yang digunakan adalah read() dengan tujuan untuk membaca sebuah byte data dari stream masukan.

Contoh :
//nama file berkas : bacastring.java
import java.io.*;
public class bacastring
{
public static void main (String[] args)
{
int karakter;
String str="";
boolean selesai = false;
System.out.print("Ketik suatu kalimat : ");
while (!selesai)
{
try
{
karakter = System.in.read();
if (karakter < -1 || (char) karakter =='\n')
selesai = true;
else if ((char) karakter != '\r')
str = str + (char) karakter;
}
catch(java.io.IOException i)
{
System.err.println("Ada Kesalahan...!");
selesai=true;
}
}
System.out.println("Kalimat yang Anda ketik adalah : " + str);
}
}

Hasil :
Ketik suatu kalimat : Yudi Irawan
Kalimat yang Anda ketik adalah : Yudi Irawan

Pada program di atas, pembacaan terhadap standar input dilakukan secara terus-menerus selama hasil read() tidak bernilai -1 (variabel karakter), tidak berupa kode untuk tombol enter (dinyatakan dengan \n) atau terjadi suatu eksepsi. Pengendalian untuk keluar dari pengulangan dilakukan dengan variabel selesai dimana pengulangan terus dilakukan selama variabel bernilai false.

Selain itu dapat pula digunakan metode DataInputStream yang digunakan untuk menangani proses pemasukan data dari input-device.

Contoh :
//nama file berkas : EntryData.java
import java.io.*;
public class EntryData
{
public static void main(String[] args) throws Exception
{
DataInputStream karakter=new DataInputStream (System.in);
System.out.print("Masukkan N.P.M : ");
String npm=karakter.readLine();
System.out.print("Masukkan Nama Anda : ");
String nama=karakter.readLine();
System.out.println("Halo..."+nama +" NPM Anda adalah : "+npm);
}
}

Hasil :
Masukkan NoBP : 1320042
Masukkan Nama Anda : Syandi Gafri

Halo...Syandi Gafri NoBP Anda adalah : 1320042

Variabel karakter adalah objek yang digunakan untuk menampung data dari keyboard menggunakan metode readLine().


MENGKONVERSI STRING KE TIPE YANG LAIN

Rutin untuk membaca data dari keyboard menghasilkan data berkelas String sehingga apabila ingin dirubah ke tipe data lain digunakan metode valueOf misaknya :
  • Integer.valueOf(nilaiString).intValue() digunakan untuk mengkonversi string ke tipe int
  • Double.valueOf(nilaiString).doubleValue() digunakan untuk mengkonversi string ke tipe double
  • Float.valueOf(nilaiString).floatValue() digunakan untuk mengkonversi string ke tipe float
Contoh :
//nama file berkas : jumlah.java
import java.io.*;
public class jumlah
{
public static void main(String[] args) throws Exception
{
DataInputStream karakter=new DataInputStream (System.in);
System.out.print("Nilai ke-1 : ");
String nil1=karakter.readLine();
int bnil1=Integer.valueOf(nil1).intValue();
System.out.print("Nilai ke-2 : ");
String nil2=karakter.readLine();
int bnil2=Integer.valueOf(nil2).intValue();
int jumlah=bnil1+bnil2;
System.out.println("Jumlah bilangan adalah : "+jumlah);
}
}

Hasil :
Nilai ke-1 : 12
Nilai ke-2 : 18
Jumlah bilangan adalah : 30

TUGAS :
  1. Buat program untuk menghitung konversi suhu Celcius ke Fahrenheit dan Reamur dengan menggunakan input keyboard untuk nilai Celciusnya.
    Rumus : F = (9/5)*C + 32 dan R = 4/5 * C 
  2. Buat program untuk menghitung nilai akhir dengan rumus NA = 20% dari nilai tugas + 30% dari nilai mid + 50% nilai final 
  3. Buatlah sebuah program yang akan menghitung isi kotak dan luas permukaan kotak. dengan rumus :
    Isi = Panjang x Lebar x Tinggi
    Luas permukaan = 2x(PanjangxLebar) + 2x(PanjangxTinggi) + 2x(LebarxTinggi)

Nikita Dini
Nikita Dini Blogger, Internet Marketer, Web Designer