Tutorial Belajar Java Part 14: Cara Menginput Data ke dalam Bahasa Java

Posted on

Sebelumnya kita telah membahas 4 macam cara menampilkan teks (output) dalam bahasa pemrograman Java. Kali ini akan dilanjutkan ke proses input, yakni cara menerima nilai masukan ke di bahasa Java.


Cara Input nilai dengan Scanner Class

Sekiranya dibandingi dengan beberapa bahasa pemrograman basic lain seperti Pascal, C, C++ dan pun Python, proses input data di bahasa Java termasuk yang benar-benar kompleks. Kita butuh mengakses class khusus dan “membaca inputan” dengan command tertentu. Command yang digunakan pun beda-beda tergantung tipe data.

Terdapat beberapa cara untuk menginput data ke di bahasa Java, diantaranya:

  • Scanner class 
  • BufferReader class 
  • Console class 

Di panduan kali ini kita hanya membahas Scanner class saja. Berikut contoh penggunaannya:

Di baris pertama-tama terdapat command import java.util.Scanner yang bermanfaat untuk proses import java.util.Scanner class ke di kode program ketika ini.

Command tersetbut diperlukan karena Scanner class bukanlah class bawaan Java yang secara otomatis seketika terdapat. Sepanjang belajar bahasa Java ini, nantinya kita akan melihat command import class lain.

Di bagian main(), terdapat command Scanner input = new Scanner(System.in). Ini yakni sebuah proses instansiasi Scanner class ke di variabel input. Dengan kata lain, variabel input akan berisi object dari Scanner class.

Penjelasan ini memang agak susah di paham, karena butuh pemahaman mengenai bahan OOP (Object Oriented Programming), atau pemrograman dengan menggunakan object di Java.

Untuk ketika ini, anggap saja baris Scanner input = new Scanner(System.in) mesti ditulis persis seperti itu, dan hasilnya variabel input akan berisi object dari class Scanner. Variabel input inilah yang nantinya kita gunakan untuk menjalankan command input data.

Di baris 8 saya menulis command System.out.print(“Nama rekan rekan? “) sekedar untuk menampilkan teks “Nama rekan rekan?“. Karena menggunakan System.out.print(), karenanya baris berikutnya akan disambung, tak pindah ke baris baru.

Kemudian di baris 9 terdapat command String nama = input.nextLine(). Di sini saya membangun sebuah variabel nama bertipe String. Artinya, variabel nama dapat diisi dengan kumpulan teks. Variabel nama seketika diisi dengan hasil pemanggilan command input.nextLine(). Disinilah proses input dilakukan.

Terakhir di baris 10 saya menampilkan isi dari variabel nama, yakni hasil yang didapat dari proses input.

Silahkan simpan kode diatas selaku BelajarJava.java, compile dan jalankan ke cmd.

 Di ketika dijalankan, tampil teks “Nama rekan rekan?“, dan kemudian cursor akan berhenti menunggu kita menginput sesuatu. Silahkan input nama sembarang, lalu tekan Enter. Hasilnya, akan tampil teks sapaan berupa “Semangat Pagi, <nama >“. Karena saya menginput “Andre“, karenanya hasilnya menjadi “Semangat Pagi, Andre“.

Sip, kita telah berhasil menginput data ke di program bahasa Java.


Cara Input Data Tipe Data Integer

Di contoh sebelumnya, data yang diinput bertipe String atau teks. Sekiranya diinput angka, itu pun tetap dianggap selaku string yang tak dapat kita olah dengan operasi matematika seperti perkalian.

Untuk dapat menginput tipe angka bulat (integer), mesti me-modifikasi baris input.nextLine() menjadi input.nextInt(). Berikut contoh penggunaannya:

 Di kode ini saya mengerjakan proses input dengan command int usia = input.nextInt(). Sehingga, variabel usia akan berisi data angka.

Karena proses pembacaan data menggunakan command input.nextInt(), karenanya bila kita input huruf atau kata (string) , program Java akan error:

Di contoh ini, saya menginput teks “Duapuluh Tahun“, hasilnya terjadi error karena inputan program seharusnya ditulis di angka bulat (integer).

Bagaimana solusi untuk mengatasi masalah ini? Diantara caranya dapat menggunakan teknik exception handling (via command try-catch). Namun bahan exception handling ini akan kita bahas di panduan terpisah.

Dan seperti dapat ditebak, untuk setiap tipe data, command input yang diaplikasikan pun berbeda-beda. Berikut daftar perintahnya:

  • nextBoolean()
  • nextByte()
  • nextDouble()
  • nextFloat()
  • nextInt()
  • nextLine()
  • nextLong()
  • nextShort()

Selaku contoh, bila kita ingin membaca inputan di tipe data boolean, command yang diaplikasikan ialah input.nextBoolean().


Contoh Program Input Biodata

Selaku penutup panduan ini, saya akan membangun kode program sederhana untuk proses input biodata mahasiswa. Silahkan pelajari sejenak kode berikut:

Di awal kode program saya membangun variabel nama, umur, ipk dan domisili dengan tipe data yang berbeda-beda. Setiap variabel akan diisi dengan nilai yang berasal dari proses input selaku berikut:

  • Untuk tipe data String, yakni variabel nama dan domisili menggunakan command input.nextLine() seperti di baris 18 dan 28.
  • Untuk tipe data Integer, yakni variabel umur menggunakan command input.nextInt() seperti di baris 21.
  • Untuk tipe data Double, yakni variabel ipk menggunakan command input.nextDouble() seperti di baris 24.

Di baris 25, terdapat command input.nextLine() setelah pembacaan data ipk = input.nextDouble(). Baris ini diperlukan selaku trik agar tak bermasalah dengan karakter “Enter” yang kita input setelah mengisi nilai ipk.

Tanpa command ini, proses input domisili tak dapat dilakukan karena secara otomatis seketika berisi karakter “Enter” yang ditekan di ketika mengakhiri input ipk.

Setelah proses input diterima, keempat variabel ditampilkan kembali dengan command System.out.print() di baris 33 – 35. Mari di compile dan run:

Masalah yang mungkin akan rekan rekan alami ialah sewaktu proses input nilai ipk. Dari tampilan di atas, saya memakai tanda koma selaku penanda pecahan, yakni 3,12. Padahal, umumnya penanda pecahan ini menggunakan tanda titik seperti 3.14.

Ini berkaitan dengan konfigurasi program operasi yang digunakan, beberapa ada yang di set ke bahasa indonesia (gunakan tanda koma), dan beberapa ada yang secara default menggunakan input di bahasa inggris (gunakan tanda titik).

Agar proses input angka seragam, tukar command perancangan object Scanner di baris 11 dengan kode berikut:

Selain itu pun perlu menambah proses import Locale class di bagian atas:

Dengan tambahan command ini, karenanya proses input akan memakai pengaturan amerika (US), yakni menggunakan tanda titik selaku penanda pecahan. Berikut kode program komplit biodata mahasiswa dengan tambahan Locale class:


Di panduan belajar bahasa pemrograman Java kali ini kita telah membahas proses input atau cara membaca data inputan. Seperti yang dapat dilihat, proses input di bahasa Java memang sedikit rumit dibandingi bahasa lain.

Untuk bahan berikutnya kita akan masuk ke Jenis-jenis Tipe Data dalam Bahasa Java.


Sumber https://www.duniailkom.com/