Lompat ke konten Lompat ke sidebar Lompat ke footer

Scanner Class Java Beserta Contohnya

Scanner adalah sebuah class pada package java.util yang digunakan untuk mendapatkan nilai input dari tipe data primitif seperti tipe data int, double, dan lain sebagainya, serta tipe data string. Class Scanner merupakan cara termudah untuk membaca nilai input dari sebuah program Java, meskipun bukan hal yang efisien jika ingin melakukan input method untuk skenario dimana waktu adalah sebuah constraint seperti pemrograman yang kompetitif.

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

Scanner Class adalah salah satu kelas yang paling umum digunakan dalam Java untuk mengambil input dari pengguna. Ini menyediakan berbagai metode untuk memindai dan menguraikan data yang dimasukkan dari berbagai sumber, seperti keyboard atau file teks. Artikel ini akan menjelaskan cara menggunakan Scanner Class dalam Java bersama dengan contoh-contohnya.

Penggunaan Scanner Class dalam Java

Untuk menggunakan Scanner Class dalam Java, pengembang perlu mengimpor paket java.util.Scanner. Setelah itu, pengembang juga dapat membuat objek Scanner dan menggunakannya untuk mengambil input dari pengguna. Berikut adalah langkah-langkah umum dalam menggunakan Scanner Class:
  • Membuat Objek Scanner: pengembang perlu membuat objek Scanner dengan menentukan sumber inputnya, seperti System.in untuk mengambil input dari keyboard.
  • Mengambil Input: Gunakan metode-metode seperti nextInt(), nextDouble(), nextLine(), dll., untuk mengambil input dari pengguna sesuai dengan tipe datanya.
  • Mengolah dan Memanipulasi Input: Setelah mendapatkan input dari pengguna, pengembang dapat mengolahnya sesuai dengan kebutuhan program.
  • Menutup Scanner: Penting untuk menutup objek Scanner setelah selesai menggunakannya untuk menghindari sumber daya yang tidak terpakai.

Contoh:

import java.util.Scanner;


public class ScannerExample {

public static void 

main(String[] args) {

Scanner scanner = new 

Scanner(System.in);

        

// Mengambil input integer

System.out.print(

"Masukkan sebuah 

bilangan bulat: ");


int bilanganBulat

scanner.nextInt();


System.out.println(

"Anda memasukkan "

+ "bilangan bulat: " 

+ bilanganBulat);

        

// Mengambil input double

System.out.print(

"Masukkan sebuah bilangan"

+ " pecahan: ");


double bilanganPecahan

scanner.nextDouble();


System.out.println(

"Anda memasukkan bilangan" 

+ pecahan: " 

+ bilanganPecahan);

        

// Mengambil input string

System.out.print(

"Masukkan sebuah string: ");


String inputString = scanner.next();


System.out.println(

"Anda memasukkan string: " 

+ inputString);

        

// Menutup Scanner

scanner.close();

}

}

Berdasarkan contoh yang diperlihatkan sebelumnya, pengembang membuat objek Scanner dengan menggunakan System.in sebagai sumber input. Kemudian, pengembang menggunakan metode nextInt(), nextDouble(), dan next() untuk mengambil input dari pengguna sesuai dengan tipe datanya.

Untuk menciptakan sebuah object dari class scanner, biasanya dilewatkan nilai object perdefinisi System.in, yang merepresentasikan nilai input aliran standar. Dapat pula dilewatkan sebuah object dari class File jika ingin dilakukan pembacaan nilai input dari sebuah file. Tidak hanya itu, untuk membaca nilai angka dari sebuah tipe data XYZ, maka fungsi yang digunakan adalah nextXYZ(). Contoh, untuk membaca sebuah nilai dari tipe data short, maka dapat digunakan fungsi nextShort(). Juga untuk membaca nilai string dari class Scanner, maka dapat digunakan nextLine().

Untuk membaca sebuah karakter tunggal, maka gunakan next().charAt(0). Fungsi next() berfungsi untuk mengembalikan nilai token atau kata selanjutnya pada input yang berfungsi sebagai string, sementara fungsi charAt(0) bertugas untuk mengembalikan nilai karakter pertama dari string tersebut.

Contoh: Perhatikan kode program berikut.

// Program java untuk membaca

// berbagai tipe data

// menggunakan class Scanner.

import java.util.Scanner;


public class ScannerDemo1

{


public static void main(String[] args)

{

// Deklarasi object dan

// inisialisasi predefinisi

// standar object input.

Scanner sc = new Scanner(System.in);


// String input

String name = sc.nextLine();


// Character input

char gender = sc.next().charAt(0);


// Input dapat numerik seperti

// byte, short, dan float

// dapat dibaca menggunakan

// fungsi similar-named.

int age = sc.nextInt();

long mobileNo = sc.nextLong();

double cgpa = sc.nextDouble();


// Mencetak nilai untuk

// memeriksa apakah nilai

// input telah benar atau

// tidak.

System.out.println("Name: "

+name);


System.out.println("Gender: "

+gender);


System.out.println("Age: "

+age);


System.out.println("Mobile Number: "

+mobileNo);


System.out.println("CGPA: "

+cgpa);

}


}

Input:
Maan
F
40
9876543210
9.9


Output:
Name: Maan
Gender: F
Age: 40
Mobile Number: 9876543210
CGPA: 9.9


Baca Juga:

Catatan: Terkadang, pengembang harus memeriksa apakah nilai berikutnya yang dibaca bertipe tertentu atau apakah nilai inputnya telah berakhir (ditemui penanda EOF) atau belum. Tidak hanya itu, terkadang programmer juga perlu untuk memeriksa apakah nilai input pemindai adalah tipe yang diinginkan atau tidak menggunakan dengan bantuan fungsi hasNextXYZ() dimana XYZ adalah tipe data yang diminati. Untuk mengatasi permasalah tersebut, maka fungsi ini dapat digunakan untuk mengembalikan nilai true jika pemindai memiliki token tipe tersebut, jika tidak maka akan bernilai salah.

Contoh: Perhatikan potongan kode program berikut.

// Program java untuk membaca

// beberapa nilai menggunakan

// class scanner dan mencetak

// nilai MEAN dari input

// tersebut.

import java.util.Scanner;


public class ScannerDemo2

{


public static void main(String[] args)

{


// Deklarasi object dan

// inisialisasi dengan

// predefinisi standar object

// input.

Scanner sc = new Scanner(System.in);


// Inisialisasi sum dan count

// dari elemen input.

int sum = 0, count = 0;


// Memeriksa apakah nilai int

// telah tersedia atau tidak.

while (sc.hasNextInt())

{

// Membaca nilai int.

int num = sc.nextInt();

sum += num;

count++;

}


int mean = sum / count;


System.out.println("Mean: " + mean);

}


}

Input:
101
223
238
892
99
500
728


Output:
Mean: 397

Penggunaan Scanner Class dalam Java memiliki beberapa kelebihan yang membuatnya menjadi pilihan umum dalam pengambilan input dari pengguna:
  • Kemudahan Penggunaan: Scanner Class menyediakan antarmuka yang mudah digunakan untuk mengambil input dari pengguna. Dengan metode-metodenya yang intuitif, seperti nextInt(), nextDouble(), dan nextLine(), pengembang dapat dengan mudah mengambil berbagai jenis input tanpa harus menulis kode yang rumit.
  • Fleksibilitas: Scanner Class dapat digunakan untuk mengambil input dari berbagai sumber, termasuk keyboard (System.in), file teks, atau bahkan string. Ini memberikan fleksibilitas yang besar dalam pengembangan aplikasi, terutama ketika perlu untuk mengambil input dari sumber yang berbeda.
  • Dukungan untuk Berbagai Tipe Data: Scanner Class mendukung berbagai jenis tipe data, seperti int, double, String, dan lain-lain. Ini memudahkan untuk mengambil input dalam berbagai format dan mengonversinya ke tipe data yang sesuai.
  • Validasi Sederhana: Pengembang dapat dengan mudah melakukan validasi sederhana terhadap input pengguna menggunakan metode-metode Scanner Class, seperti hasNextInt() atau hasNextDouble(). Ini memungkinkan untuk memastikan bahwa input yang diberikan sesuai dengan yang diharapkan sebelum digunakan dalam program.
  • Performa yang Baik: Meskipun tidak selalu menjadi yang tercepat, Scanner Class memiliki kinerja yang baik dalam pengambilan input dari pengguna, terutama untuk aplikasi yang tidak memerlukan pengolahan input dalam skala besar.
  • Kemampuan untuk Mengelola Kesalahan: Scanner Class menyediakan berbagai mekanisme untuk menangani kesalahan yang mungkin terjadi selama pengambilan input, seperti ketika pengguna memberikan input yang tidak valid. Ini memudahkan untuk memberikan umpan balik kepada pengguna atau mengatasi masalah dengan elegan.

Dengan memahami kelebihan dari penggunaan Scanner Class dalam Java, pengembang dapat memanfaatkannya secara efektif dalam pengembangan aplikasi untuk menciptakan pengalaman pengguna yang lebih baik dan responsif.

Kesimpulan

Scanner Class adalah alat yang sangat berguna dalam pengembangan perangkat lunak Java yang memungkinkan untuk mengambil input dari pengguna dengan mudah dan efisien. Dengan memahami cara menggunakan Scanner Class dan metode-metodenya, pengembang dapat membuat program yang interaktif dan responsif, serta memperluas fungsionalitas dan kegunaan program. Pastikan untuk menggunakan Scanner Class dengan bijak sesuai kebutuhan program untuk mencapai hasil yang diinginkan.

Referensi Tambahan:

Artikel ini didedikasikan kepada: Sekar Arum Manggarsari, Sheilla Novita Alviani, Shintia Apriliana, Siwi Nugrahaning Widhi, dan Sonyadi Kurniatama.

6 komentar untuk "Scanner Class Java Beserta Contohnya"

  1. Apa yang dimaksud dengan class Scanner pada program Java?

    BalasHapus
    Balasan
    1. Java Scanner merupakan bentuk class dalam paket utilitas Java, dan berfungsi untuk menciptakan komunikasi dua arah diantara perangkat lunak dan penggunanya melalui perangkat keras.

      Hapus
    2. Class Scanner Java berfungsi untuk menyediakan cara bagi pengguna untuk memasukkan informasi yang dapat digunakan perangkat lunak untuk menginformasikan perilakukanya.

      Hapus
    3. Class Scanner Java utamanya digunakan untuk mendapatkan nilai input pengguna dan merupakan bagian dari program java.util.

      Hapus
  2. Bagaimana cara untuk menggunakan class Scanner pada bahasa pemrograman Java?

    BalasHapus
    Balasan
    1. Cara yang dapat dilakukan untuk menggunakan class Scanner Java adalah dengan membuat object class Java tersebut dan menggunakan salah satu method class Scanner.

      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 -