Java bukan bahasa pemrograman untuk Console
(seperti DOS atau Linux), sehingga untuk mengambil input dari user diperlukan
sedikit trik yang tidak sesederhana. Berbeda dengan Pascal atau C yang hanya
menggunakan readln(); saja untuk
membaca inputan dari user, Java membutuhkan beberapa kelas, yaitu BufferedReader, InputStreamReader, dan System.in (lawan dari System.out yang kita gunakan
untuk menampilkan pesan di layar). Dua kelas pertama terdapat dalam package
yang dinamakan java.io
Untuk itu, kita harus menambah satu baris
perintah :
import java.io.*
# Perintah tersebut berarti mengimport semua kelas dalam
paket java.io.* (tanda * berarti
semua).
Kemudian kita harus juga membuat suatu objek
dari kelas BufferedReader. Kelas BufferedReaderadalah
kelas abstrak yang menangani baca tulis ke suatu media. Kelas ini membutuhkan
kelas lain sebagai pekerjanya, yaitu InputStreamReader. Dan InputStreamReader membutuhkan
media tempat baca tulis dilakukan, yaitu System.in
Semua ini bisa
dituliskan dalam satu perintah yaitu :
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
Lalu untuk memerintahkan Java mengambil input
dari user, kita gunakan fungsi readline(); yang terdapat pada
kelas BufferedReader, dalam hal ini
terealisasi pada objek input
NB : Di sini variabel input merupakan objek
yang merupakan jelmaan dari kelas BufferedReader
Ditulis dengan perintah :
nama = input.readLine();
# Karena kita berhubungan langsung dengan sistem IO
(input-output) komputer yang harus diasumsikan tidak pasti (misalnya ada
masalah pada sistem keyboard, atau komputer sedang bekerja berat sehingga input
dari user tidak bisa diambil), kita harus menempatkan fungsithrows Exception
public static void main(String[]args)throws Exception
Contoh :
import java.io.*;
public class InputBR
{
public static void
main(String[]args)throws Exception
{
//membuat objek
baru
BufferedReader input=new
BufferedReader(new InputStreamReader(System.in));
//deklarasi variabel
String FirstName,LastName;
System.out.print("First Name : ");FirstName=input.readLine();
System.out.print("Last
Name : ");LastName=input.readLine();
System.out.print("Full
Name : "+FirstName+" "+LastName);
}
}
import java.io.*;
public class Test {
public static void main(String[] args) {
System.out.print("Masukkan Nama Anda: ");
// dibungkus pake buffered reader
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String masukan = null;
try {
masukan = reader.readLine();
} catch (Exception e) {
masukan = "INPUT GAGAL";
}
System.out.println("Nama Anda adalah " + masukan + ", saya pintar kan! :)");
}
}
public class Test {
public static void main(String[] args) {
System.out.print("Masukkan Nama Anda: ");
// dibungkus pake buffered reader
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String masukan = null;
try {
masukan = reader.readLine();
} catch (Exception e) {
masukan = "INPUT GAGAL";
}
System.out.println("Nama Anda adalah " + masukan + ", saya pintar kan! :)");
}
}
1. Input Data Melalui
Keyboard Menggunakan Utility Scaner
Sebuah objek scanner dapat mengurai input yang
dimasukkan melalui keyboard atau dari sebuah file. Scanner memisahkan
inputnya menjadi menjadi token terpisah (yang biasanya dipisahkan dengan
spasi), dan kemudian mengembalikannya pada satu waktu. Scanner menyediakan
metode untuk mengubah token menjadi nilai dari tipe yang berbeda.
Kita dapat menggunakan utility scanner dalam dua cara, yaitu :
1. Untuk membaca dari keyboard, menggunakan perintah di bawah ini
Scanner input = new Scanner(System.in);
2. Untuk membaca dari sebuah file, menggunakan perintah di bawah ini
Scanner input = new Scanner(new FileStream(“filename.txt”));
Kita dapat menggunakan utility scanner dalam dua cara, yaitu :
1. Untuk membaca dari keyboard, menggunakan perintah di bawah ini
Scanner input = new Scanner(System.in);
2. Untuk membaca dari sebuah file, menggunakan perintah di bawah ini
Scanner input = new Scanner(new FileStream(“filename.txt”));
Contoh program untuk input string
import java.util.Scanner;
class input1
{
public static void main(String[] args)
{
Scanner sc = new Scanner (System.in);
class input1
{
public static void main(String[] args)
{
Scanner sc = new Scanner (System.in);
System.out.print(“ Nia : “);
String nama = sc.next ();
String nama = sc.next ();
System.out.println(“Hello “+ nama);
}
}
}
}
2. Dengan menggunakan import
java.io.*;
Proses
input dan output (I/O) adalah hal yang paling sering dijumpai pada sebagian
besar program yang membutuhkan data-data eksternal. Java menyediakan dukungan
terhadap proses I/O dengan menghadirkan paket java.io. Di dalam paket tersebut
tersimpan banyak kelas dan interface yang siap pakai. Program Java melakukan
proses I/O melalui stream.
Stream digunakan untuk menangani proses I/O di Java. Input stream digunakan untuk membaca data dan output stream untuk menulis data. Kelas stream yang berbeda, seperti java.io.FileInputStream dan sun.net.TelnetOutputStream, digunakan untuk membaca dan menulis sumber data tertentu. Namun, semua output stream memiliki metode dasar yang sama untuk menulis data dan input stream menggunakan metode dasar yang sama untuk membaca data.
Stream digunakan untuk menangani proses I/O di Java. Input stream digunakan untuk membaca data dan output stream untuk menulis data. Kelas stream yang berbeda, seperti java.io.FileInputStream dan sun.net.TelnetOutputStream, digunakan untuk membaca dan menulis sumber data tertentu. Namun, semua output stream memiliki metode dasar yang sama untuk menulis data dan input stream menggunakan metode dasar yang sama untuk membaca data.
Kemampuan
untuk memproses output dalam java dalam bentuk byte atau bytestream diwakili
oleh class abstrak OutputStream, sedangkan input diwakili class InputStream.
Apabila memproses data karakter atau disebut character stream seperti string
atau bilangan maka Java menyediakan class abstrak Reader dan Writer.
BufferedInputStream
dan BufferedOutputStream menyediakan fungsi buffer dalam proses output dan
input untuk mempercepat dan mengefisiensikan proses. Kedua class ini biasanya
digunakan secara bersamaan dengan implementasi class output dan input stream
lain.
· Contoh program untuk
input string
import java.io.*;
class Program2
{
public static void main(String[] args) throws IOException
{
System.out.print(“Nia: “);
class Program2
{
public static void main(String[] args) throws IOException
{
System.out.print(“Nia: “);
String nama;
InputStreamReader isr = new
InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
BufferedReader br = new BufferedReader(isr);
nama = br.readLine();
System.out.println(nama + “, kelas B”);
}
}
}
}
Dalam
pemrograman Java, tidak ada syntax sederhana membuat perintah untuk memasukkan
data dari keyboard. Tidak seperti C++, ketika kita ingin memasukkan data dari
keyboard, kita cukup membuat syntax cin (C in). Nah, untuk itu saya akan
memberikan tips ini. Kita akan membuat class yang berfungsi untuk memudahkan
kalian dalam memasukkan data dari keyboard. Syaratnya, tentu jika kalian membuat
program lain, dalam folder program tersebut class dari file ini juga harus ada
dalam folder tersebut. Sintaksnya dapat kalian lihat disini: import java.io.*;
public class BacaKeyBoard { public static String input()
{ int karakter;
String str = "";
boolean finish = false;
while(!finish)
{
try{
karakter = System.in.read();
if(karakter < 0 || (char) karakter == '\n')
finish = true;
else if ((char) karakter != '\r')
str
= str + (char) karakter; }
catch(java.io.IOException e){
System.err.println("Error");
finish = true;
}
} return str; }
} Jika diaplikasikan kedalam program, maka sintaks program diatas dapat
berfungsi seperti contoh program dibawah:
public
class Nama {
public
static void main(String[] args) {
String
nama;
System.out.print("Masukkan
nama anda: ");
nama =
BacaKeyBoard.input();
System.out.print("\n\nWelcome
"+nama); } } Fungsi dari program diatas sama seperti
sintaks Scanner new = input Scanner(System.in); dalam java. "Om Santhi,
Santhi, Santhi, Om"
Original Source : http://world-of-programmer.blogspot.com/2010/07/membaca-data-dari-keyboard-dalam-java.html
Copyright world-of-programmer.blogspot.com
Original Source : http://world-of-programmer.blogspot.com/2010/07/membaca-data-dari-keyboard-dalam-java.html
Copyright world-of-programmer.blogspot.com
Contoh1
: (baca.java)
//nama File : baca.java
//Membaca data dari keyboard
import java.io.*;
public class baca{
public static String bacaString(){
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;
}
//nama File : baca.java
//Membaca data dari keyboard
import java.io.*;
public class baca{
public static String bacaString(){
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.out.println(“Ada Kesalahan”);
selesai = true;
}
return str;
}
}
System.out.println(“Ada Kesalahan”);
selesai = true;
}
return str;
}
}
Contoh
: (inputstring.java)
//input
data string dengan keyboard
public class inputstring {
public static void main(String[] args)
{
System.out.print(“Nama Anda :”);
String nama = baca.bacaString();
System.out.print(“Alamat :”);
String alamat = baca.bacaString();
System.out.println(“hallo, “+nama);
System.out.println(“hello, “+alamat);
}
}
public class inputstring {
public static void main(String[] args)
{
System.out.print(“Nama Anda :”);
String nama = baca.bacaString();
System.out.print(“Alamat :”);
String alamat = baca.bacaString();
System.out.println(“hallo, “+nama);
System.out.println(“hello, “+alamat);
}
}
ontoh
: (inputnumerik.java)
//Program
Input Data Numeric
public class inputnumeric{
public static void main(String[] args){
System.out.print(“masukkan sebuah bilangan bulat:”);
String st1;
String st2;
st1 = baca.bacaString();
int bilBulat = Integer.valueOf(st1).intValue();
System.out.print(“Masukkan sebuah bilangan real :”);
st2 = baca.bacaString();
float bilReal = Float.valueOf(st2).floatValue();
System.out.println(“Bilangan Bulat=”+bilBulat);
System.out.println(“Bilangan real=”+bilReal);
System.out.println(“Jumlah = “+(bilBulat + bilReal));
}
}
public class inputnumeric{
public static void main(String[] args){
System.out.print(“masukkan sebuah bilangan bulat:”);
String st1;
String st2;
st1 = baca.bacaString();
int bilBulat = Integer.valueOf(st1).intValue();
System.out.print(“Masukkan sebuah bilangan real :”);
st2 = baca.bacaString();
float bilReal = Float.valueOf(st2).floatValue();
System.out.println(“Bilangan Bulat=”+bilBulat);
System.out.println(“Bilangan real=”+bilReal);
System.out.println(“Jumlah = “+(bilBulat + bilReal));
}
}
Cara
mengkompilasi dengan menggunakan j2sdk1.4.2
public
class programlhs{
public static void main(String[] args)
{String jum;
int jum1;
System.out.print(“Jumlah MTK :”);
jum = baca.bacaString();
jum1= Integer.valueOf(jum).intValue();
String nmmtk[]=new String[jum1];
String SKS[] =new String[jum1];
int SKS1[] =new int[jum1];
String Nilai[]=new String[jum1];
int Bobot[] =new int[jum1];
int mutu[] =new int[jum1];
int jummutu =0;
int totsks =0;
float ip;
for (int i=0;i < jum1;i++)
{
System.out.print(“nama Matakuliah :”);
nmmtk[i]=baca.bacaString();
System.out.print(“SKS :”);
SKS[i] =baca.bacaString();
SKS1[i] =Integer.valueOf(SKS[i]).intValue();
System.out.print(“Nilai Huruf :”);
Nilai[i]=baca.bacaString();
if(Nilai[i].equals(“A”))
Bobot[i]=4;
else if(Nilai[i].equals(“B”))
Bobot[i]=3;
else if(Nilai[i].equals(“C”))
Bobot[i]=2;
else if(Nilai[i].equals(“D”))
Bobot[i]=1;
else
Bobot[i]=10;
totsks =totsks + SKS1[i];
mutu[i] =SKS1[i] * Bobot[i];
jummutu =jummutu + mutu[i];
}
public static void main(String[] args)
{String jum;
int jum1;
System.out.print(“Jumlah MTK :”);
jum = baca.bacaString();
jum1= Integer.valueOf(jum).intValue();
String nmmtk[]=new String[jum1];
String SKS[] =new String[jum1];
int SKS1[] =new int[jum1];
String Nilai[]=new String[jum1];
int Bobot[] =new int[jum1];
int mutu[] =new int[jum1];
int jummutu =0;
int totsks =0;
float ip;
for (int i=0;i < jum1;i++)
{
System.out.print(“nama Matakuliah :”);
nmmtk[i]=baca.bacaString();
System.out.print(“SKS :”);
SKS[i] =baca.bacaString();
SKS1[i] =Integer.valueOf(SKS[i]).intValue();
System.out.print(“Nilai Huruf :”);
Nilai[i]=baca.bacaString();
if(Nilai[i].equals(“A”))
Bobot[i]=4;
else if(Nilai[i].equals(“B”))
Bobot[i]=3;
else if(Nilai[i].equals(“C”))
Bobot[i]=2;
else if(Nilai[i].equals(“D”))
Bobot[i]=1;
else
Bobot[i]=10;
totsks =totsks + SKS1[i];
mutu[i] =SKS1[i] * Bobot[i];
jummutu =jummutu + mutu[i];
}
for
(int i=0;i<jum1;i++)
{
System.out.println(+ i +” “+nmmtk[i]+” “+SKS1[i]+” “+Nilai[i]);
}
System.out.println(+ i +” “+nmmtk[i]+” “+SKS1[i]+” “+Nilai[i]);
}
ip
= jummutu/totsks;
System.out.println(“Jumlah Mutu =”+jummutu);
System.out.println(“Total SKS =”+totsks);
System.out.println(“IP =”+ip);
}
System.out.println(“Jumlah Mutu =”+jummutu);
System.out.println(“Total SKS =”+totsks);
System.out.println(“IP =”+ip);
}
}




0 komentar:
Posting Komentar