Lompat ke konten Lompat ke sidebar Lompat ke footer

Mengambil Nilai Input Java Beserta Contohnya

Program Java memberikan berbagai macam bentuk aliran data dengan menggunakan package I/O, yang berfungsi untuk membantu pengguna untuk menampilkan semua bentuk operasi input-output. Bentuk aliran ini mendukung semua tipe data mulai dari object, tipe data primitif, karakter, file, dan lain sebagainya guna melakukan operasi eksekusi secara penuh pada bagian input dan output.


Sebelum lebih lanjut mempelajari materi tentang cara Mengambil Nilai Input Java Beserta Contohnya, terlebih dahulu pelajari materi tentang: Operator Logika Java Beserta Contohnya, Operator Ternary Java Beserta Contohnya, dan Operator Bitwise Java Beserta Contohnya.

Pengambilan nilai input adalah salah satu aspek penting dalam pengembangan perangkat lunak, yang memungkinkan pengguna untuk berinteraksi dengan program. Dalam bahasa pemrograman Java, terdapat beberapa cara untuk mengambil nilai input dari pengguna, mulai dari penggunaan kelas Scanner hingga argumen baris perintah (command-line arguments). Artikel ini akan menjelaskan cara-cara tersebut beserta contohnya.

Terdapat dua cara yang dapat digunakan untuk mendapatkan nilai input dari user yang berasal dari suatu file, yaitu:
  • BufferedReader Class
  • Scanner Class

BufferedReader: Merupakan bentuk class sederhana yang digunakan untuk membaca ukuran dari sebuah karakter. Class ini memiliki fungsi tunggal sederhana yang akan membaca karakter, dari urutan array, serta fungsi readLine() yang bertugas untuk membaca sebuah baris, dan fungsi InputStreamReader() yang berfungsi untuk mengkonversi nilai aliran input per byte dari setiap karakter kehingga dapat dilakukan pembacaan sebagai nilai BufferedReader sesuai yang diharapkan dari stream karakter.

Contoh: BufferedReader Melakukan Memeriksaan Exceptions

// Program Java untuk

// mengambil nilai input dari

// pengguna menggunakan class

// BufferedReader.

import java.io.*;


class MKN

{


// Main Method

public static void main(String [] args) throws IOException

{


// Menciptakan BufferedReader

// object InputStreamReader

// yang mengonversi bute ke

// karakter stream.

BufferedReader bfn

new BufferedReader(new InputStreamReader(System.in));


// Menerima nilai input dari

// pengguna.

System.out.println("Enter String : ");

System.out.println("Enter Integer : ");


// String melakukan pembacaan

// secara internal.

String str = bfn.readLine();


// Ineger melakukan pembacaan

// secara internal.

int it = Integer.parseInt(bfn.readLine());


// Mencetak nilai string.

System.out.println("Entered String : "

+ str);


// Mencetak nilai integer.

System.out.println("Entered Integer : "

+ bfn);

}


}

Input:
MKN
123


Output:
Enter String :
Enter Integer :
Entered String :
MKN
Entered Integer : 123


Scanner: Merupakan fungsi yang lebih tinggi dari versi BufferedReader yang telah ditambahkan pada program Java versi terbaru, dimana fungsi Scanner dapat membaca format input. Fungsi ini memiliki fungsi yang berbeda bergantung pada tipe data yang digunakan.

Penggunaan Scanner adalah lebih mudah daripada BufferedReader, karena tidak perlu melakukan penulisan throws jika tidak terdapat exception thrown pada kode programnya. Fungsi ini memiliki fungsi predefinisi yang mampu membaca nilai dari tipe data Integer, Character, dan tipe data lainnya juga.

Sintak Scanner: Scanner scn = new Scanner(System.in);

Sintak Impor Scanner Class: import java.util.Scanner;

Fungsi Inbuilt Scanner:
  • Integer: nextInt()
  • Float: nextFloat()
  • String : readLine()

Catatan: Pada kondisi dimana integer dan string adalah Scanner, maka tidak diperlukan parsing seperti yang dilakukan pada BufferedReader.

Contoh:

// Program Java memperlihatkan

// cara mengambil nila input

// dari pengguna menggunakan

// class Scanner.

import java.util.*;


class MKN {


public static void main( String[] args )

{


// Definisi Scanner

Scanner scn= new Scanner(System.in);


// Nilai input adalah string

// yang dibaca oleh fungsi

// nextLine().

String str= scn.nextLine();


// Mencetak nilai string.

System.out.println("Entered String : "

+ str);


// Menginput nilai integer

// yang dibaca menggunakan

// fungsi nextInt().

int x= scn.nextInt();


// Mencetak nilai integer.

System.out.println("Entered Integer : "

+ x);


// Mengin nilai float yang

// dibaca oleh fungsi

// nextFloat().

float f = scn.nextFloat();


// Mencetak nilai float.

System.out.println("Entered FloatValue : "

+ f);

}


}

Input:
MKN
123
123.090


Output:
Entered String : MKN
Entered Integer : 123
Entered FloatValue : 123.090


Baca Juga:

Perbedaan Antara BufferedReader dan Scanner

Berikut adalah perbedaan penggunaan antara BufferedReader dan Scanner:
  • BufferedReader adalah cara dasar untuk menerima nilai input yang umumnya digunakan untuk membaca nilai stream dari suatu karakter. BufferedReader memberikan batasan akhir dari Scanner yang penggunaannya lebih cepat, karena Scanner sendiri membutuhkan lebih banyak post-processing untuk melakukan proses parsing input.
  • BufferedReader lebih fleksibel jika dilakukan spesifikasi ukuran dari input stream untuk dilakukan proses pembacaan data, dimana kedua faktor yang telah dijelaskan tersebut berperan ketika dilakukan proses pembacaan data dalam ukuran yang besar.
  • BufferedReader lebih disukai karena lebih mudah disinkronkan ketika menangani banyak kondisi stream.
  • Sedangkan untuk input yang layak, atau yang lebih mudah dibaca, maka Scanner lebih disukai daripada BufferedReader.

Beberapa kelebihan dari metode-metode pengambilan nilai input dalam Java:
  • Interaktivitas: Metode-metode pengambilan nilai input memungkinkan program berinteraksi dengan pengguna secara langsung. Ini memungkinkan pengguna untuk memberikan masukan yang spesifik sesuai dengan kebutuhan program.
  • Fleksibilitas: Terdapat beberapa metode untuk mengambil nilai input dalam Java, seperti menggunakan Scanner, BufferedReader, atau argumen baris perintah. Ini memberikan fleksibilitas kepada pengembang untuk memilih metode yang sesuai dengan kebutuhan spesifik program.
  • Validasi: Dengan menggunakan teknik-teknik yang tepat, seperti menggunakan try-catch blocks atau pengujian input, pengembang dapat memvalidasi masukan pengguna untuk memastikan bahwa masukan tersebut sesuai dengan yang diharapkan. Hal ini membantu mencegah kesalahan atau masalah dalam program.
  • Portabilitas: Metode-metode pengambilan nilai input dalam Java dapat digunakan secara lintas-platform, artinya program dapat dijalankan di berbagai sistem operasi tanpa perubahan yang signifikan dalam kode.
  • Integrasi: Beberapa metode, seperti menggunakan argumen baris perintah, memungkinkan program untuk berintegrasi dengan sistem atau alat lainnya dengan mudah. Ini memungkinkan penggunaan program dalam skenario yang lebih luas.
  • Efisiensi: Penggunaan metode yang tepat untuk mengambil nilai input dapat membantu meningkatkan efisiensi program. Misalnya, penggunaan BufferedReader untuk masukan string dapat lebih efisien dalam beberapa kasus daripada Scanner karena tidak melibatkan proses parsing.

Dengan memahami kelebihan dari berbagai metode pengambilan nilai input dalam Java, pengembang dapat memilih metode yang paling sesuai dengan kebutuhan program dan memberikan pengalaman yang baik kepada pengguna.

Meskipun metode-metode pengambilan nilai input dalam Java memiliki banyak kelebihan, namun metode-metode tersebut juga memiliki beberapa kelemahan:
  • Ketergantungan pada Pengguna: Metode-metode ini bergantung pada pengguna untuk memberikan input yang benar dan sesuai. Jika pengguna memberikan input yang tidak valid atau tidak sesuai dengan yang diharapkan, ini dapat menyebabkan kesalahan atau perilaku yang tidak diinginkan dalam program.
  • Risiko Keamanan: Metode-metode pengambilan nilai input dapat rentan terhadap serangan keamanan, seperti serangan injeksi SQL atau serangan buffer overflow jika input tidak divalidasi dengan benar. Hal ini dapat membuka pintu bagi penyusup untuk mengeksploitasi program.
  • Keterbatasan Validasi Otomatis: Beberapa metode, seperti menggunakan Scanner, memiliki keterbatasan dalam hal validasi otomatis. Pengembang perlu secara eksplisit memvalidasi masukan pengguna untuk memastikan kebenaran dan keamanannya.
  • Kesulitan Pengelolaan Kesalahan: Menangani kesalahan dalam pengambilan nilai input dapat menjadi rumit, terutama jika tidak dilakukan dengan benar. Kesalahan seperti IOException atau NumberFormatException perlu ditangani secara tepat agar program tidak berhenti bekerja atau mengalami kegagalan.
  • Keterbatasan dalam Pengambilan Input dari Sumber Eksternal: Meskipun metode-metode ini cocok untuk pengambilan input dari pengguna langsung, pengembang mungkin tidak efisien untuk mengambil input dari sumber eksternal yang besar, seperti file teks besar atau koneksi jaringan yang lambat.
  • Kompleksitas Kode: Kadang-kadang, kode untuk mengambil dan memvalidasi input dapat menjadi cukup rumit, terutama jika program memiliki kebutuhan input yang kompleks atau jika validasi yang ketat diperlukan.

Dengan memahami keterbatasan dari metode-metode pengambilan nilai input dalam Java, pengembang dapat mengambil langkah-langkah untuk memitigasi risiko dan meningkatkan keamanan serta kehandalan program. Hal ini termasuk penerapan validasi input yang ketat, penanganan kesalahan yang baik, dan pemahaman yang kuat tentang keamanan perangkat lunak.

Kesimpulan

Pengambilan nilai input adalah langkah yang penting dalam pengembangan perangkat lunak Java, dan terdapat beberapa cara untuk melakukannya. Dengan menggunakan kelas Scanner, BufferedReader, atau argumen baris perintah, pengembang dapat mengambil nilai input dari pengguna sesuai kebutuhan program. Pastikan untuk memilih metode yang sesuai dengan jenis input yang diperlukan dan mengelolanya dengan benar untuk menjaga keamanan dan konsistensi program.

Referensi Tambahan:

Artikel ini didedikasikan kepada: Salsabila Tiara Aurellia Prameswari, Sekar Arum Manggarsari, Sheilla Novita Alviani, Shintia Apriliana, dan Siwi Nugrahaning Widhi.

6 komentar untuk "Mengambil Nilai Input Java Beserta Contohnya"

  1. Bagaimana cara mengambil nilai input pada program Java?

    BalasHapus
    Balasan
    1. Class Scanner Java digunakan untuk mendapatkan nilai input pengguna yang terdapat pada paket java.util.

      Hapus
  2. Bagaimana cara menggunakan class Scanner Java?

    BalasHapus
    Balasan
    1. Untuk menggunakan class Scanner Java, terlebih dahulu ciptakan object class tersebut dan gunakan salah satu method yang tersedia dalam dokumentasi class Scanner.

      Hapus
  3. Apa yang dimaksud dengan input data pada program Java?

    BalasHapus
    Balasan
    1. Input data Java merupakan data yang diberikan oleh user ke program Java, dimana nilai outputnya adalah data yang telah diterima dari program dalam bentuk hasil yang mewakili nilai aliran data atau urutan data tertentu.

      Hapus

Hubungi admin melalui Wa : +62-896-2414-6106

Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.

Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.

- Ikatlah Ilmu dengan Memostingkannya -
- Big things start from small things -