JENI Intro1 Bab05 Mendapatkan Input dari Keyboard
J.E.N.I .
BAB 5
M e n dapa t k an I n put da ri Ke yboa r d
5 .1 Tuj ua n
Ki t a t elah m em p elaj ari konsep dasar pada Java dan m enulis beber ap a program
sederh an a. Sekar an g kit a akan m en coba m em b uat program ki t a lebih in t erakt if den gan
m en ggu nakan i nput dari keyboard. Pad a b ab ini , kit a ak an m em p elaj ari du a car a
m em berikan inpu t , yang pert am a adalah m enggun ak an cl ass BufferedReader dan
m elalui GUI ( Graphical User I nt erf ace) dengan m enggun ak an class JOpt ionPan e.
Pada akh ir pem bah asan, diharapkan pem baca dapat :
Mem bu at program Java yang int erak t if yang bisa m endapat kan input dari keyboard
Menggun ak an class Bu fferedReader unt u k m endapat kan input dari keyboard
m el alui l ayar con sole
Menggun ak an class JOpt i onPan e unt u k m endapat kan input dari keyboard
m en ggunakan GUI
5 .2 M e nggu na k an Buffe re dRe a de r u nt u k
m en da pat k a n input
Pada bagian ini, kit a akan m en ggunakan class BufferedReader y an g ber ad a di pack ag e
java.io unt u k m endapat kan input dari keyboard.
Berikut ini adalah langkah- langkah y ang diperlu kan u nt u k m en dapat kan inpu t dari
keyboard:
1. Tam bahk an di bagian paling at as code An da:
i m port j av a.io.* ;
2. Tam bahk an st at em ent berikut :
BufferedReader dataIn = new BufferedReader(new InputStreamReader( System.in) );
3. Deklarasikan variabel St rin g t em porary u nt u k m endapat kan input , dan gunakan
f ungsi readLine( ) un t uk m endapat kan input dari keyboard. An da h aru s
m enget ikkann ya di dalam blok t ry- cat ch :
try{
String temp = dataIn.readLine();
}
catch( IOException e ){
System.out.println(“Error in getting input”);
}
Pengenalan Pem r ogram an I
1
J.E.N.I .
Berikut ini adalah sou rce code l engkapn ya:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class GetInputFromKeyboard
{
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 +"!");
}
}
Berikutnya ak an penj elasan set i ap baris dari code t ersebut :
St at em ent ,
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
m en j elaskan bah wa kit a akan m enggun akan cl ass BufferedReader, InputStreamReader
dan IOException y ang ber ada di java.io pa ck a ge . Jav a Applicat ion Program m in g
I nt erf ace ( API ) berisi rat u san class y an g su dah didefinisi kan sebelum nya y ang dap at
digunakan un tuk program Anda. Class- cl ass t er sebut dikum pul kan di dalam pa ck a ge s.
Pa ck a ge s berisi cl ass y an g m em pun yai fungsi y an g sali ng berh ubungan . Sepert i pad a
con t oh di at as, java.io pa ck a ge m engan dung cl ass-class y an g m em u ngkin kan
program u nt uk m elaku kan in pu t dan out put dat a. Pernyat aan di at as j uga dapat dit ulis
sebag ai beri ku t ,
import java.io.*;
y ang ak an m engel uarkan sem ua cl ass yang berada dalam p ackage, dan selan j ut n ya ki t a
bisa m en ggunakan class- class t ersebu t dalam pr ogram ki t a.
Pengenalan Pem r ogram an I
2
J.E.N.I .
Dua st at em ent selanj ut nya,
public class GetInputFromKeyboard
{
public static void main( String[] args ){
kit a sudah m em p el aj ari pada pelaj ar an sebelum nya. Perny at aan ini m endeklarasikan
class bernam a GetInputFromKeyboard dan kit a m endeklarasi kan m et h od main.
Dalam st at em ent ,
BufferedReader dataIn = new BufferedReader(new
InputStreamReader( System.in) );
kit a m endeklar asikan sebuah variabel bern am a da ta I n den gan t ipe class
Buffe re dRe a de r. Jan gan m engkh aw at irkan t en t an g m aksu d dari synt ax saat ini. Ki t a
akan m en j elaskann ya pada akhir pem bah asan .
Sekar an g, kit a ak an m endeklarasikan variabel St rin g den gan iden tifi er name,
String name = "";
Pernyat aan di at as m eru pakan t em p at u nt uk m enyim pan in pu t dari user. Nam a v ariabel
diinisialisasi sebagai St ring koson g " " . Sebai knya ki t a selalu m engini si ali sasi sebuah
v ariabel set elah kit a m end eklarasikann ya.
Baris beriku tnya adalah m em berikan out put sebuah St ring pada lay ar y ang m en an yakan
nam a u ser.
System.out.print("Please Enter Your Name:");
Sekar an g, blok di bawah ini m eru pakan t ry- cat ch block,
try{
name = dataIn.readLine();
}catch( IOException e ){
System.out.println("Error!");
}
Pada b aris ini m en j el askan bah wa kem un gkinan t erj adi error pada pern yat aan,
name = dataIn.readLine();
akan dit angkap. Ki t a ak an m em b ah as t ent ang pen an gan an except ion pada bab
selanj ut nya dari pem bah asan ini, t et api un tuk sekar an g, An da cukup m encat at bah w a
An da perlu m enam bah kan kode ini unt u k m en ggunakan m et h od readLi ne() dari
Bu fferedReader unt u k m endapat kan input dari user.
Pengenalan Pem r ogram an I
3
J.E.N.I .
Selanj u t nya kem bali ke pernyat aan,
name = dataIn.readLine();
m et h od diat as m em anggil dataIn.readLine(), m end ap at k an input dari u ser dan
m em berikan sebu ah nilai St ring. Nilai ini ak an disim pan ke dalam variabel name, yan g
akan kit a gun akan pada st at em ent akhir un tuk m en yam but user,
System.out.println("Hello " + name + "!");
Pengenalan Pem r ogram an I
4
J.E.N.I .
5 .1 M e nggu na k an JOpt ion Pa ne u nt u k
m en da pat k a n input
Car a l ain un t uk m endapat kan input dari u ser ad alah den gan m en ggunakan class
JoptionPane yang didapat kan dari javax.swing package. JoptionPane m em udah kan
m em un culkan di alog box st andard yang m em berikan kepada u ser sebu ah nilai at au
m en gin form asik an sesuat u.
Diberi kan kode berikut ini,
import javax.swing.JOptionPane;
public class GetInputFromKeyboard
{
public static void main( String[] args ){
String name = "";
name = JoptionPane.showInputDialog("Please enter your
name");
String msg = "Hello " + name + "!";
JOptionPane.showMessageDialog(null, msg);
}
}
Akan m enghasilkan out put ,
Gam bar 1: Mendapat kan I nput m en ggunakan JOpt ionPane
Gam bar 2: I n put fl orence pada JOpt i onPane
Gam bar 3: Menunj uk kan Pesan Men ggu nakan JOpt ionPan e
Pengenalan Pem r ogram an I
5
J.E.N.I .
St at em ent pert am a,
import javax.swing.JOptionPane;
Men j elask an bahw a kit a m engim por class JoptionPane dari package javax.swing.
Bi sa j u ga dit ulis seper t i ,
import javax.swing.*;
Pernyat aan ,
name = JOptionPane.showInputDialog("Please enter your name");
m em bu at sebu ah in put di alog JOptionPane, y an g ak an m en am pil kan dialog den gan
sebuah pesan, sebuah t ex t field dan tom bol OK sepert i pada gam bar. Hasil dari dialog
t ersebu t ad alah St ring dan disim pan ke dal am variabel name.
Sekar an g ki t a m em buat pesan selam at dat an g, y ang ak an disim pan ke dal am variab e
msg,
String msg = "Hello " + name + "!";
Baris sel an j ut n ya adal ah m en am pil kan sebu ah di alog yang berisi sebu ah pesan dan
t om bol OK,
JOptionPane.showMessageDialog(null, msg);
Pengenalan Pem r ogram an I
6
J.E.N.I .
5 .1 Lat ih a n
5 .1 . 1 Ka t a Te r a k hir ( v e rsi Buffe re dRe a de r)
Men ggun ak an BufferedReader, t an yakan t iga kat a dari user d an t am pilkan out put dari
in pu t user t ersebut k e l ay ar. Cont oh,
Enter word1:Goodbye
Enter word2:and
Enter word3:Hello
Goodbye and Hello
5 .1 . 2 Ka t a Te r a k hir ( v e rsi JOpt ion Pa ne )
Men ggun ak an JOptionPan e, t any ak an t iga kat a dari user dan t am pilkan out put dari input
user t ersebut k e layar. Con t oh
Gam bar 1: I nput Pert am a
Gam bar 2: I n put Kedua
Gam bar 3: Menam pilkan Pesan
Pengenalan Pem r ogram an I
7
BAB 5
M e n dapa t k an I n put da ri Ke yboa r d
5 .1 Tuj ua n
Ki t a t elah m em p elaj ari konsep dasar pada Java dan m enulis beber ap a program
sederh an a. Sekar an g kit a akan m en coba m em b uat program ki t a lebih in t erakt if den gan
m en ggu nakan i nput dari keyboard. Pad a b ab ini , kit a ak an m em p elaj ari du a car a
m em berikan inpu t , yang pert am a adalah m enggun ak an cl ass BufferedReader dan
m elalui GUI ( Graphical User I nt erf ace) dengan m enggun ak an class JOpt ionPan e.
Pada akh ir pem bah asan, diharapkan pem baca dapat :
Mem bu at program Java yang int erak t if yang bisa m endapat kan input dari keyboard
Menggun ak an class Bu fferedReader unt u k m endapat kan input dari keyboard
m el alui l ayar con sole
Menggun ak an class JOpt i onPan e unt u k m endapat kan input dari keyboard
m en ggunakan GUI
5 .2 M e nggu na k an Buffe re dRe a de r u nt u k
m en da pat k a n input
Pada bagian ini, kit a akan m en ggunakan class BufferedReader y an g ber ad a di pack ag e
java.io unt u k m endapat kan input dari keyboard.
Berikut ini adalah langkah- langkah y ang diperlu kan u nt u k m en dapat kan inpu t dari
keyboard:
1. Tam bahk an di bagian paling at as code An da:
i m port j av a.io.* ;
2. Tam bahk an st at em ent berikut :
BufferedReader dataIn = new BufferedReader(new InputStreamReader( System.in) );
3. Deklarasikan variabel St rin g t em porary u nt u k m endapat kan input , dan gunakan
f ungsi readLine( ) un t uk m endapat kan input dari keyboard. An da h aru s
m enget ikkann ya di dalam blok t ry- cat ch :
try{
String temp = dataIn.readLine();
}
catch( IOException e ){
System.out.println(“Error in getting input”);
}
Pengenalan Pem r ogram an I
1
J.E.N.I .
Berikut ini adalah sou rce code l engkapn ya:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class GetInputFromKeyboard
{
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 +"!");
}
}
Berikutnya ak an penj elasan set i ap baris dari code t ersebut :
St at em ent ,
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
m en j elaskan bah wa kit a akan m enggun akan cl ass BufferedReader, InputStreamReader
dan IOException y ang ber ada di java.io pa ck a ge . Jav a Applicat ion Program m in g
I nt erf ace ( API ) berisi rat u san class y an g su dah didefinisi kan sebelum nya y ang dap at
digunakan un tuk program Anda. Class- cl ass t er sebut dikum pul kan di dalam pa ck a ge s.
Pa ck a ge s berisi cl ass y an g m em pun yai fungsi y an g sali ng berh ubungan . Sepert i pad a
con t oh di at as, java.io pa ck a ge m engan dung cl ass-class y an g m em u ngkin kan
program u nt uk m elaku kan in pu t dan out put dat a. Pernyat aan di at as j uga dapat dit ulis
sebag ai beri ku t ,
import java.io.*;
y ang ak an m engel uarkan sem ua cl ass yang berada dalam p ackage, dan selan j ut n ya ki t a
bisa m en ggunakan class- class t ersebu t dalam pr ogram ki t a.
Pengenalan Pem r ogram an I
2
J.E.N.I .
Dua st at em ent selanj ut nya,
public class GetInputFromKeyboard
{
public static void main( String[] args ){
kit a sudah m em p el aj ari pada pelaj ar an sebelum nya. Perny at aan ini m endeklarasikan
class bernam a GetInputFromKeyboard dan kit a m endeklarasi kan m et h od main.
Dalam st at em ent ,
BufferedReader dataIn = new BufferedReader(new
InputStreamReader( System.in) );
kit a m endeklar asikan sebuah variabel bern am a da ta I n den gan t ipe class
Buffe re dRe a de r. Jan gan m engkh aw at irkan t en t an g m aksu d dari synt ax saat ini. Ki t a
akan m en j elaskann ya pada akhir pem bah asan .
Sekar an g, kit a ak an m endeklarasikan variabel St rin g den gan iden tifi er name,
String name = "";
Pernyat aan di at as m eru pakan t em p at u nt uk m enyim pan in pu t dari user. Nam a v ariabel
diinisialisasi sebagai St ring koson g " " . Sebai knya ki t a selalu m engini si ali sasi sebuah
v ariabel set elah kit a m end eklarasikann ya.
Baris beriku tnya adalah m em berikan out put sebuah St ring pada lay ar y ang m en an yakan
nam a u ser.
System.out.print("Please Enter Your Name:");
Sekar an g, blok di bawah ini m eru pakan t ry- cat ch block,
try{
name = dataIn.readLine();
}catch( IOException e ){
System.out.println("Error!");
}
Pada b aris ini m en j el askan bah wa kem un gkinan t erj adi error pada pern yat aan,
name = dataIn.readLine();
akan dit angkap. Ki t a ak an m em b ah as t ent ang pen an gan an except ion pada bab
selanj ut nya dari pem bah asan ini, t et api un tuk sekar an g, An da cukup m encat at bah w a
An da perlu m enam bah kan kode ini unt u k m en ggunakan m et h od readLi ne() dari
Bu fferedReader unt u k m endapat kan input dari user.
Pengenalan Pem r ogram an I
3
J.E.N.I .
Selanj u t nya kem bali ke pernyat aan,
name = dataIn.readLine();
m et h od diat as m em anggil dataIn.readLine(), m end ap at k an input dari u ser dan
m em berikan sebu ah nilai St ring. Nilai ini ak an disim pan ke dalam variabel name, yan g
akan kit a gun akan pada st at em ent akhir un tuk m en yam but user,
System.out.println("Hello " + name + "!");
Pengenalan Pem r ogram an I
4
J.E.N.I .
5 .1 M e nggu na k an JOpt ion Pa ne u nt u k
m en da pat k a n input
Car a l ain un t uk m endapat kan input dari u ser ad alah den gan m en ggunakan class
JoptionPane yang didapat kan dari javax.swing package. JoptionPane m em udah kan
m em un culkan di alog box st andard yang m em berikan kepada u ser sebu ah nilai at au
m en gin form asik an sesuat u.
Diberi kan kode berikut ini,
import javax.swing.JOptionPane;
public class GetInputFromKeyboard
{
public static void main( String[] args ){
String name = "";
name = JoptionPane.showInputDialog("Please enter your
name");
String msg = "Hello " + name + "!";
JOptionPane.showMessageDialog(null, msg);
}
}
Akan m enghasilkan out put ,
Gam bar 1: Mendapat kan I nput m en ggunakan JOpt ionPane
Gam bar 2: I n put fl orence pada JOpt i onPane
Gam bar 3: Menunj uk kan Pesan Men ggu nakan JOpt ionPan e
Pengenalan Pem r ogram an I
5
J.E.N.I .
St at em ent pert am a,
import javax.swing.JOptionPane;
Men j elask an bahw a kit a m engim por class JoptionPane dari package javax.swing.
Bi sa j u ga dit ulis seper t i ,
import javax.swing.*;
Pernyat aan ,
name = JOptionPane.showInputDialog("Please enter your name");
m em bu at sebu ah in put di alog JOptionPane, y an g ak an m en am pil kan dialog den gan
sebuah pesan, sebuah t ex t field dan tom bol OK sepert i pada gam bar. Hasil dari dialog
t ersebu t ad alah St ring dan disim pan ke dal am variabel name.
Sekar an g ki t a m em buat pesan selam at dat an g, y ang ak an disim pan ke dal am variab e
msg,
String msg = "Hello " + name + "!";
Baris sel an j ut n ya adal ah m en am pil kan sebu ah di alog yang berisi sebu ah pesan dan
t om bol OK,
JOptionPane.showMessageDialog(null, msg);
Pengenalan Pem r ogram an I
6
J.E.N.I .
5 .1 Lat ih a n
5 .1 . 1 Ka t a Te r a k hir ( v e rsi Buffe re dRe a de r)
Men ggun ak an BufferedReader, t an yakan t iga kat a dari user d an t am pilkan out put dari
in pu t user t ersebut k e l ay ar. Cont oh,
Enter word1:Goodbye
Enter word2:and
Enter word3:Hello
Goodbye and Hello
5 .1 . 2 Ka t a Te r a k hir ( v e rsi JOpt ion Pa ne )
Men ggun ak an JOptionPan e, t any ak an t iga kat a dari user dan t am pilkan out put dari input
user t ersebut k e layar. Con t oh
Gam bar 1: I nput Pert am a
Gam bar 2: I n put Kedua
Gam bar 3: Menam pilkan Pesan
Pengenalan Pem r ogram an I
7