[Java] Input String
Tidak seperti bahasa pemrograman lain, input dalam bahasa Java ini tergolong sangat berbeda sekali bila dibandingkan dengan bahasa lainnya. Bahkan terkesan agak sulit pada awal mempelajarinya. Apalagi di java terdapat banyak cara dalam melakukan input (input dari keyboard). Namun yang akan saya bahas sekarang yaitu ada 3 cara.
1. Scanner
2. Buffered Reader
3. JOptionPane
Namun dalam penjelasan kali ini, kita akan terfokus ke input string terlebih dahulu (untuk integer mungkin akan dibahas pada tulisan berikutnya).Oke kita kenalan dulu yuk satu persatu
Scanner
Class Scanner ini berada di dalam java.util package. Nah cara yang pertama ini menurut saya lumayan mudah untuk digunakan.
###Contoh programnya seperti ini
[ProgScanner.java]
import java.util.Scanner;
public class ProgScanner
{
public static void main(String[] args)
{
// Below is the main method.
String Name = "";
// Scanner
Scanner s = new Scanner(System.in);
// Prompt the user for some input
System.out.println("What is your nickname?");
Name = s.next();
System.out.println("So, your nickname is " + Name);
}
}
###Penjelasan kodenya yaitu
import java.util.Scanner;
Pada baris ini kita menggunakan class Scanner untuk melakukan input (dari keyboard), yang berada di dalam java.util package.
public class ProgScanner
{
public static void main(String[] args)
{
}
}
Pernyataan ini untuk mendeklarasikan class ProgScanner dan mendeklarasikan method main.
String Name = "";
Pernyataan diatas untuk menyimpan input dari user ke dalam variabel Name. Nama variabel diinisialisasi sebagai string kosong "". Sebaiknya kita selalu menginisialisasi sebuah variabel setelah kita mendeklarasikannya.
Scanner s = new Scanner(System.in);
Untuk menjalankan objek scanner (input) dan disimpan ke dalam variabel s.
System.out.println("What is your nickname?");
Baris ini adalah untuk memberikan output berupa pertanyaan yang menanyakan nama user.
Name = s.next();
Mendapatkan input dari user melalui variabel s tadi, dan disimpan ke dalam variabel Name.
System.out.println("So, your nickname is " + Name);
Terakhir cetak string diatas, kemudian ditambah variabel Name tadi yang sudah kita input.
Buffered Reader
Buffered Reader ini adalah class yang digunakan untuk melakukan input dari keyboard, dan berada di dalam package java.io
###Contoh programnya seperti ini
[ProgBufferedReader.java]
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class ProgBufferedReader
{
public static void main( String[] args )
{
BufferedReader dataIn = new BufferedReader(new InputStreamReader( System.in) );
String name = "";
System.out.print("Please Enter Your Name:");
try{
name = dataIn.readLine();
}catch( IOException e ){
System.out.println("Error!");
}
System.out.println("Hello " + name +"!");
}
}
###Penjelasan kodenya yaitu
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
Pertama-tama deklarasikan terlebih dahulu package yang dibutuhkan, perintahnya yaitu dengan menggunakan import. Dalam program ini kita menggunakan class BufferedReader, InputStreamReader dan IOException yang berada di java.io package
public class ProgBufferedReader
{
public static void main( String[] args )
{
}
}
Pernyataan ini untuk mendeklarasikan class ProgBufferedReader dan mendeklarasikan method main.
BufferedReader dataIn = new BufferedReader(new InputStreamReader( System.in) );
Pada baris ini dilakukan pendeklarasian sebuah variabel bernama dataIn dengan tipe class BufferedReader
String name = "";
Pernyataan diatas untuk menyimpan input dari user ke dalam variabel name. Nama variabel diinisialisasi sebagai string kosong "". Sebaiknya kita selalu menginisialisasi sebuah variabel setelah kita mendeklarasikannya.
System.out.print("Please Enter Your Name:");
Baris ini adalah untuk memberikan output berupa pertanyaan yang menanyakan nama user.
try{
name = dataIn.readLine();
}catch( IOException e ){
System.out.println("Error!");
}
Kode diatas merupakan try-catch block, yang menjelaskan bahwa kemungkinan terjadi error pada pernyataan.
name = dataIn.readLine();
Mendapatkan input dari user dan memberikan sebuah nilai string ke dalam variabel name.
System.out.println("Hello " + name +"!");
Terakhir cetak string diatas, kemudian ditambah variabel name tadi yang sudah kita input.
JOptionPane
Cara lainnya yaitu dengan menggunakan class JOptionPane yang didapatkan dari javax.swing package. Cara ini berbeda dengan 2 cara diatas, karena menggunakan kotak dialog box untuk mendapatkan hasil input.
###Contoh programnya seperti ini
[ProgJOptionPane.java]
import javax.swing.JOptionPane;
public class ProgJOptionPane
{
public static void main( String[] args )
{
String name = "";
name = JOptionPane.showInputDialog("Please enter your name");
String msg = "Hello " + name + "!";
JOptionPane.showMessageDialog(null, msg);
}
}
###Penjelasan kode program
import javax.swing.JOptionPane;
Pada contoh program kali ini, kita menggunakan class JOptionPane yang ada di dalam javax.swing package
public class ProgJOptionPane
{
public static void main( String[] args )
{
}
}
Pernyataan ini untuk mendeklarasikan class ProgJOptionPane dan mendeklarasikan method main.
String name = "";
Pernyataan diatas untuk menyimpan input dari user ke dalam variabel name. Nama variabel diinisialisasi sebagai string kosong "". Sebaiknya kita selalu menginisialisasi sebuah variabel setelah kita mendeklarasikannya.
name = JoptionPane.showInputDialog("Please enter your name");
Pernyataan diatas untuk membuat sebuah input dialog JOptionPane, yang akan menampilkan dialog dengan sebuah pesan, sebuah textfield dan tombol OK. Hasil dari dialog tersebut adalah String dan disimpan ke dalam variabel name.
String msg = "Hello " + name + "!";
Sekarang kita membuat pesan selamat datang, dan akan disimpan ke dalam variabel msg.
JOptionPane.showMessageDialog(null, msg);
Baris selanjutnya adalah menampilkan sebuah dialog yang berisi sebuah pesan dan tombol OK,
Sumber :
http://www.infernodevelopment.com/java-input-and-output-beginners
dan Materi Perkuliahan
sama sama om. kalau ada yang salah kasih tau ya hehe
ReplyDeletehttp://pastebin.com/4WCTmbyR
ReplyDeletetrima kasih sangat membantu
ReplyDeleteThis comment has been removed by the author.
ReplyDelete