Belajar Java: Cara Mengambil Input
dan Menampilkan Output
· 09 Nov 2015
#Java
Seperti yang kita ketahui, program komputer terdiri dari tiga komponen
utama, yaitu: input, proses, dan output.
Input:nilai yang kita masukan ke program
Proses: langkah demi langkah yang dilakukan untuk mengelola input
menjadi sesuatu yang berguna
Output: hasil pengolahan
Semua bahasa pemrograman telah menyediakan fungsi-fungsi untuk
melakukan input dan output.
Java sendiri sudah menyediakan tiga class untuk mengambil input:
1. Class Scanner;
2. Class BufferReader;
3. dan Class Console.
Tiga class tersebut untuk mengambil input pada program berbasis
teks (console). Sedangkan untuk GUI menggunakan class yang lain
seperti JOptionPane dan inputbox pada form.
Sementara untuk outputnya, Java menyediakan fungsi print(), println(),
dan format().
Mengambil Input dengan Class Scanner
Scanner merupakan class yang menyediakan fungsi-fungsi untuk mengambil
input dari keyboard.
Agar kita bisa menggunakan Scanner, kita perlu mengimpornya ke dalam
kode:
import [Link];
Lebih jelasnya…
Mari Kita Praktik
Sekarang adalah pertemuan ke-2, jadi buatlah paket baru
bernama pertemuan2 pada source packages.
Klik kanan pada source packages, kemudian pilih new package:
Kemudian isi nama paket dengan pertemuan2, lalu klik Finish:
Setelah itu, lanjutkan dengan membuat kelas (java class) baru di
paket pertemuan2:
Berikan nama: DataKaryawan. Kemudian klik Finish:
Setelah itu, silakan ikuti kode berikut ini:
package pertemuan2;// mengimpor Scanner ke programimport [Link];public class
DataKaryawan { public static void main(String[] args) { // deklarasi variabel String nama,
alamat; int usia, gaji; // membuat scanner baru Scanner keyboard = new
Scanner([Link]); // Tampilkan output ke user [Link]("### Pendataan
Karyawan PT. Petani Kode ###"); [Link]("Nama karyawan: "); // menggunakan
scanner dan menyimpan apa yang diketik di variabel nama nama = [Link](); //
Tampilkan outpu lagi [Link]("Alamat: "); // menggunakan scanner lagi alamat =
[Link](); [Link]("Usia: "); usia = [Link]();
[Link]("Gaji: "); gaji = [Link](); // Menampilkan apa yang sudah simpan
di variabel [Link]("--------------------"); [Link]("Nama Karyawan: " +
nama); [Link]("Alamat: " + alamat); [Link]("Usia: " + usia + "
tahun"); [Link]("Gaji: Rp " + gaji); }}
Perlu diperhatikan, penggunakan fungsi untuk mengambil data bergantung
dari tipe data yang digunakan.
Misal, tipe datanya adalah String, maka fungsi atau method yang dipakai
adalah nextLine().
Begitu juga dengan tipe data
lain, Integermenggunakan nextInt(), Doublemenggunakan nextDouble(),
dsb.
Setelah selesai membuat program, silakan dijalankan. Klik kanan kemudian
pilih Run Fileatau tekan tombol [Shift]+[F6].
Mengambil Input dengan Class BufferReader
Class BufferReader sebenarnya tidak hanya untuk mengambil input dari
keyboard saja.
Class ini juga dapat digunakan untuk membaca input dari file dan jaringan.
Class ini terletak di dalam paket [Link].
Silakan diimpor untuk dapat menggunakan class BufferReader.
import [Link];
Mari kita coba…
Silakan buat class baru bernama ContohBufferReader, kemudian isi dengan
kode berikut ini.
package pertemuan2;import [Link];import [Link];import
[Link];public class ContohBufferReader { public static void main(String[] args)
throws IOException { String nama; // Membuat objek inputstream InputStreamReader isr
= new InputStreamReader([Link]); // membuat objek bufferreader BufferedReader br =
new BufferedReader(isr); // Mengisi variabel nama dengan Bufferreader
[Link]("Inputkan nama: "); nama = [Link](); // tampilkan output isi variabel
nama [Link]("Nama kamu adalah " + nama); }}
Ternyata class BufferReader tidak bisa bekerja sendirian. Dia juga butuh
teman yaitu: class InputStreamReader dan class IOException.
Sekarang mari kita coba jalankan programnya:
Perbedaan BufferReader dengan Scannerterlihat dari fungsi
atau method yang dipakai.
Scanner menggunakan next(),
sedangkan BufferReader menggunakan readLine().
Lalu untuk tipe data integer, BufferReadermenggunakan fungsi read() saja.
Hal ini dapat kita lihat dalam hint autocomplete .
Tips: Tekan Ctrl+Spasi saat menulis kode untuk menampilkan hint
autocomplete .
Mengambil Input dengan Class Console
Class Console hampir sama dengan BufferReader. Dia juga menggunakan
fungsi readLine() untuk mengambil input.
Akan tetapi…
Class ini hanya bisa digunakan di lingkungan console saja, seperti Terminal
dan CMD.
Class Console tidak bisa digunakan langsung di Netbeans.
Maka dari itu, kita harus kompilasi secara manual.
Untuk menggunakan class ini, kita perlu mengimpornya terlebih dahulu.
Mari kita coba…
Buatlah file baru bernama [Link] dengan isi sebagai berikut:
import [Link];public class InputConsole { public static void main(String[] args)
{ String nama; int usia; // membuat objek console Console con = [Link]();
// mengisi variabel nama dan usia dengan console [Link]("Inputkan nama: "); nama
= [Link](); [Link]("Inputkan usia: "); usia = [Link]([Link]());
// menampilkan isi variabel nama dan usia [Link]("Nama kamu adalah: " + nama);
[Link]("Saat ini berusia " + usia + " tahun"); }}
Perhatikan: dalam kode di atas, kita menggunakan
fungsi [Link]([Link]())untuk tipe data integer. Artinya, kita
mengubah tipe data String ke Integer.
Karena Console tidak memiliki nilai kembalian berupa integer untuk
fungsi read().
Lanjut…
Setelah itu, lakukan kompilasi melalui Terminal atau CMD. Buka terminal,
kemudian masuk ke direktori tempat menyimpan kodenya.
Ketik perintah: javac [Link] melakukan kompilasi.
Setelah itu, ketik perintah java InputConsole untuk menjalankannya:
Menampilkan Output
Kita sudah mengenal beberapa cara mengambil input dari keyboard untuk
program berbasis teks.
Sekarang bagaimana dengan outputnya?
Ada beberapa fungsi yang sudah disediakan oleh Java:
1. Fungsi [Link]()
2. Fungsi [Link]()
3. Fungsi [Link]()
Apa saja perbedaan dari fungsi-fungsi tersebut?
Mari kita bahas…
Fungsi print() vs println()
Fungsi print() dan println() sama-sama digunakan untuk menampilkan teks.
Lalu apa bedanya?
Fungsi print() akan menampilkan teks apa adanya. Sedangkan println() akan
menampilkan teks dengan ditambah baris baru.
Mari kita coba dalam kode:
package eksperimen;public class PrintVsPrinln { public static void main(String[] args)
{ [Link]("ini teks yang dicetak dengan print()"); [Link]("sedangkan ini
teks yang dicetak dengan println()"); [Link]("pakai print() lagi"); }}
Sekarang lihat hasil outputnya:
Menggabungkan String
Ketika menggunakan fungsi print() maupun println(), kadang kita perlu
mengambil teks dari variabel dan menggabungkannya dengan teks yang
lain.
Misalnya seperti ini:
Kita punya variabel namaDepan dan namaBelakang:
String namaDepan = "Petani";String namaBelakang = "Kode";
Kemudian kita ingin menampilkannya dengan fungsi print(), maka kita
hanya perlu memasukkannya ke sana.
[Link](namaDepan);[Link](namaBelakang);
Kode tersebut akan menghasilkan: PetaniKode
Sebenarnya kita tidak perlu menggunakan dua fungsi print(), karena kita
bisa menggabungkannya dengan operator +.
Contoh:
[Link](namaDepan + namaBelakang);
Agar ada spasi, tinggal ditambahkan saja spasi:
[Link](namaDepan + " " + namaBelakang);
Format String
Sedangkan untuk menggabungkan String yang lebih kompleks, kita bisa
menggunakan fungsi format().
Contoh:
package eksperimen;public class FormatString { public static void main(String[] args) { String
namaDepan = "Petani"; String namaBelakang = "Kode"; [Link]("Nama saya %s
%s %n", namaDepan, namaBelakang); }}
Perhatikan: di sana kita menggunakan simbol %s untuk mengambil nilai
dari variabel di sampingnya. %s artinya string.
Selain %s, ada juga simbol lain:
%d untuk desimal atau angka;
%f untuk bilangan pecahan;
%n untuk baris baru, bisa juga pakai \n;
dan masih banyak lagi, cek didokumentasi java.
Kode di atas akan menghasilkan: Nama saya Petani Kode