MODUL 2
MEMBERIKAN INPUT DARI KEYBOARD
2.1 Tujuan Praktikum
Setelah mengikuti praktikum pada modul 2 ini, mahasiswa diharapkan
mampu dalam beberapa kompetensi pokok diantaranya :
1. Memahami penggunaan kelas Scanner untuk input dari keyboard.
2. Menguasai penggunaan BufferedReader untuk input data.
3. Menerapkan JoptionPane untuk input melalui antarmuka GUI.
2.2 Dasar Teori
Dalam pemrograman Java, kelas Scanner merupakan alat canggih yang
memungkinkan Anda menerima input pengguna dan mengurainya menjadi
berbagai tipe data dengan mudah. Kelas ini merupakan bagian dari paket [Link]
dan diperkenalkan di Java 1.5. Dengan kelas Scanner, Anda dapat membaca input
dari berbagai sumber seperti keyboard, file, atau bahkan string (Mahansaria, 2023).
Di baris pertama terdapat perintah import [Link] yang berguna
untuk proses import [Link] class ke dalam kode program saat ini.
Perintah tersebut diperlukan karena Scanner class bukanlah class bawaan Java
yang secara otomatis langsung tersedia. Untuk menginisialisasi instance kelas
Scanner. Pengguna dapat membuat objek Scanner dengan meneruskan sumber
input sebagai parameter ke salah satu konstruktor yang tersedia. Perintah
inisialisasinya adalah Scanner scanner = new Scanner([Link]);. Ini merupakan
proses inisialisasi Scanner class ke dalam variabel input. Dengan kata lain,
variabel input akan berisi object dari Scanner class (Andre, 2019).
Perlu dicatat, fungsi scanner yang digunakan tergantung pada tipe data
variabel. Seperti diatas ketika ia bertipe data string maka nextLine() digunakan.
Saat ia bertipe data int maka nextInt() yang digunakan. Dan apabila ia bertipe data
double maka nextDouble() digunakan (Syuhada, 2023).
Class BufferedReader menyediakan buffering untuk Readerinstance Java
pengguna. Buffering dapat mempercepat IO. Daripada membaca satu karakter pada
satu waktu dari Reader, Java BufferedReader membaca blok (array) yang lebih
15
16
besar pada satu waktu. Ini biasanya jauh lebih cepat, terutama untuk akses disk dan
jumlah data yang lebih besar (Jenkov, 2019).
Statement import [Link], [Link];
[Link]; menjelaskan bahwa kita akan menggunakan class
BufferedReader, InputStreamReader dan IOException yang berada di [Link]
package. Java Application Programming Interface (API) berisi ratusan class yang
sudah didefinisikan sebelumnya yang dapat digunakan untuk program Anda. Class-
class tersebut dikumpulkan di dalam packages (Fauzi, 2019).
JOptionePane adalah class pada java yang berfungsi untuk memudahkan
penggunaan kotak dialog standar yang meminta pengguna untuk memberi nilai atau
suatu masukan yang ditentukan, salah satunya yaitu input menggunakan
JOptionPane ini. JOptionPane sendiri memiliki banyak metode yang bisa
digunakan, beberapa diantaranya yaitu showConfirmDialog, showInputDialog,
showMessageDialog, dan showOptionDialog. Masing – masing metode tersebut
memiliki fungsi tersendiri sesuai dengan penamaan pada class tersebut (Gani,
2021).
2.3 Praktikum
1. Input dengan Scanner
Input:
import [Link];
public class belajar_input
{
public static void main(String[] args)
{
String nama, jurusan, fakultas, universitas;
Scanner input = new Scanner([Link]);
[Link]("Nama : ");
nama = [Link]();
[Link]("Jurusan : ");
nama = [Link]();
[Link]("Fakultas : ");
nama = [Link]();
[Link]("Universitas : ");
nama = [Link]();
}
}
17
[Link]("Universitas : ");
nama = [Link]();
}
}
Output:
Gambar 2.1 Output mendapatkan input dengan scanner
2. Input dengan BufferedReader
Input:
import [Link];
import [Link];
import [Link];
public class belajar_input2
{
public static void main(String[] args) throws IOException
{
String nama;
InputStreamReader isr = new InputStreamReader ([Link]);
BufferedReader br = new BufferedReader (isr);
[Link]("Nama: ");
nama = [Link]();
}
}
Output:
Gambar 2.2 Output mendapatkan input dengan BufferedReader
18
3. Input dengan JOptionPane
Input:
import [Link];
public class belajar_input3
{
public static void main(String[] args)
{
String nama = "___";
nama = [Link]("Masukkan nama");
String msg = "Selamat Belajar " +nama;
[Link](null,msg);
}
}
Output:
Gambar 2.3 Output awal mendapatkan input dengan JOptionPane
Gambar 2.4 Output akhir mendapatkan input dengan JOptionPane
4. Tugas program hitung bangun ruang dengan ketiga metode input
Input:
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
public class HitungBangunRuang {
19
import [Link];
import [Link];
public class HitungBangunRuang {
public static void kelilingLingkaran() {
Scanner scanner = new Scanner([Link]);
[Link]("Masukkan jari-jari lingkaran: ");
double jariJari = [Link]();
double keliling = 2 * [Link] * jariJari;
[Link]("Keliling lingkaran adalah: " + keliling);
}
public static void luasTrapesium() throws IOException {
BufferedReader reader = new BufferedReader(new
InputStreamReader([Link]));
[Link]("Masukkan panjang sisi atas trapesium: ");
double atas = [Link]([Link]());
[Link]("Masukkan panjang sisi bawah trapesium: ");
double bawah = [Link]([Link]());
[Link]("Masukkan tinggi trapesium: ");
double tinggi = [Link]([Link]());
double luas = 0.5 * (atas + bawah) * tinggi;
[Link]("Luas trapesium adalah: " + luas);
}
public static void luasPrismaSegitiga() {
[Link]("Masuk ke perhitungan luas prisma segitiga.");
double alas =
[Link]([Link]("Masukkan panjang alas
segitiga:"));
double tinggiSegitiga =
[Link]([Link]("Masukkan tinggi
segitiga:"));
double tinggiPrisma =
[Link]([Link]("Masukkan tinggi
prisma:"));
double luasAlas = 0.5 * alas * tinggiSegitiga;
double volume = luasAlas * tinggiPrisma;
[Link]("Luas prisma segitiga adalah: " + volume);
[Link](null,
"Panjang alas segitiga: " + alas + "\n" +
"Tinggi segitiga: " + tinggiSegitiga + "\n" +
"Tinggi prisma: " + tinggiPrisma + "\n" +
"Luas prisma segitiga: " + volume);
}
public static void main(String[] args) throws IOException {
20
"Tinggi prisma: " + tinggiPrisma + "\n" +
"Luas prisma segitiga: " + volume);
}
public static void main(String[] args) throws IOException {
Scanner scanner = new Scanner([Link]);
[Link]("Pilih operasi yang ingin dihitung:");
[Link]("1. Keliling Lingkaran");
[Link]("2. Luas Trapesium");
[Link]("3. Luas Prisma Segitiga");
[Link]("Masukkan nomor pilihan: ");
int pilihan = [Link]();
switch (pilihan) {
case 1:
kelilingLingkaran();
break;
case 2:
luasTrapesium();
break;
case 3:
luasPrismaSegitiga();
break;
default:
[Link]("Pilihan tidak valid");
}
}
}
Output:
Gambar 2.5 Output menghitung keliling lingkaran dengan scanner
21
Gambar 2.6 Output menghitung luas trapesium dengan BufferedReader
Gambar 2.7 Output awal menghitung luas prisma segitiga dengan JOptionPane
Gambar 2.8 Output akhir menghitung luas prisma segitiga dengan JOptionPane
2.4 Kesimpulan
Dalam Pemrograman Java, terdapat beberapa cara utama untuk menerima
dan memproses input pengguna. Kelas Scanner, yang merupakan bagian dari paket
[Link], digunakan untuk membaca input dari berbagai tipe data melalui keyboard.
Scanner memungkinkan program mengolah input secara fleksibel. Selain itu,
BufferedReader dari paket [Link] juga dapat digunakan untuk input, dengan
keunggulan berupa buffering yang mempercepat proses pembacaan data, terutama
untuk data dalam jumlah besar. JOptionPane menawarkan pendekatan berbasis
dialog grafis untuk meminta input pengguna melalui jendela interaktif. Berbagai
teknik ini memberikan fleksibilitas dalam menerima input, memungkinkan
pengembang memilih metode yang sesuai dengan kebutuhan aplikasi.
LEMBAR PENGESAHAN
JUDUL : MEMBERIKAN INPUT DARI KEYBOARD
NAMA : RAFIF RISDI AULIA
NIM : 0701222074
PROGRAM STUDI : ILMU KOMPUTER
Medan, Oktober 2024
Disetujui,
Asisten Laboratorium Laboran
Mahfuzhah Rahma Kesuma Mhd. Rizki Maulana, [Link]
Mengetahui,
Dosen Pengampu
Juanda Hakim Lubis, S.T., [Link]
NIDN. 0410048702
22