MATA KULIAH : PEMROGRAMAN 3 JAVA PROGRAMMING (JSE) PERTEMUAN 4 STMIK RAHARJA - 2013 HIMAWAN Materi Pembahasan : 1. Penanganan Inputan Dari Keyboard 2. Penggunaan Class BufferedReader dan Scanner Membuat program sederhana untuk mendapatkan inputan dari keyboard • Program berikutnya yang akan kita buat dan coba adalah bagaimana mendapatkan nilai atau value dari inputan yang diberikan user terhadap program java dan menampilkan inputan tersebut. • Ada 2 cara yang dapat kita lakukan untuk mendapatkan inputan user yang diberikan user melalui keyboard, yaitu dengan menggunakan class BufferedReader dan menggunakan class JOptionPane dalam pemrograman visual (swing). • Cara yang kita gunakan kali ini adalah menggunakan class BufferedReader yang masih terdapat dalam class utama dari java.io . Stream (Aliran Data) • Banyak dari program komputer yang telah di buat, menerima berbagai macam jenis inputan yang di berikan oleh user dan juga akan menghasilkan output. • Karena menerima inputan dan menghasilkan keluaran merupakan fungsi dasar dan utama yang harus dimiliki oleh perangkat komputer, jika tidak maka bagaimana user dapat menggunakan program tersebut ??. • Inputan yang di berikan user bisa dari berbagai jenis masukan, bisa melalui media penyimpanan mulai dari disket, usb flashdisk, cd, dll. Kemudian source inputan tersebut pastinya akan menghasilkan sebuah keluaran. • Pada program aplikasi Java, kita mengenal sebuah istilah tentang inputan yang di berikan oleh user dan istilah ini di namakan dengan sebutan stream. • Stream tidak lain adalah aliran data yang di kirimkan melalui sebuah jalur. Jenis inputan stream ini merupakan jenis inputan yang di berikan dari luar komputer bisa oleh user ataupun program aplikasi lain. • Contoh jenis inputan yang paling sederhana adalah memberikan inputan melalui keyboard, jenis lainnya adalah melalui file yang di kirimkan. • Java menyediakan sebuah class khusus untuk menangani jenis inputan stream ini yaitu class java.io. Selain itu juga terdapat banyak fungsi lain yang di sediakan oleh class java.io ini. Membaca dan Menulis data menggunakan stream • Berikut ini terdapat class-class yang bisa anda gunakan dalam menangani jenis inputan berupa stream dalam package atau library java.io : • BufferredInputStream, merupakan class yang di gunakan untuk penanganan input yang paling dasar. • DataInputStream, merupakan class yang di gunakan untuk penanganan jenis inputan yang menggunakan tipe data primitiv. • FileInputStream, merupakan class yang di gunakan untuk penanganan input data ke dalam sebuah file. • StringBufferInputStream, merupakan class yang di gunakan untuk penanganan input data yang dimana jenis inputannya menggunakan tipe data String. • PrintStream, merupakan class yang di gunakan untuk menghasilkan atau menampilkan output yang berupa teks. • BufferedOutputStream, merupakan class yang di gunakan untuk menampilkan output sederhana. • DataOuputStream, merupakan class yang di gunakan untuk menulis output dengan menggunakan tipe data primitive. • Berikut adalah contoh program java sederhana untuk mendapatkan inputan dari user : (simpan file program java anda dengan nama : buffreader.java) import java.io.*; public class buffreader { public static void main(String args[]) { System.out.print("Input Nama : "); try { String strnama = (new String(new BufferedReader(new InputStreamReader (System.in)).readLine())); System.out.println("Nama anda : " +strnama); } catch(IOException exc) { System.out.println(exc.getStackTrace()); } } } Penjelasan program buffreader.java : • Dalam program untuk mendapatkan inputan dari user ini sebenarnya kita menggunakan 3 sub class yang ada pada java.io, yaitu : class BufferedReader, class InputSreamReader, dan class IOException. • Namun pada program saya hanya menuliskan import java.io.*;. Tanda asteris (*) menandakan bahwa program akan memanggil semua fungsi sub class yang ada dalam java.io, oleh karena itu ke-3 class yang telah disebutkan tidak ditulis satupersatu dalam program. • Walaupun dalam beberapa kondisi dan kasus aplikasi pemrograman Java, pemanggilan sub class secara mendetail dan spesifik diperlukan. • Pada baris public class buffreader, ini berarti bahwa anda mendeklarasikan sebuah class dengan nama buffreader. Berikutnya adalah menyiapkan tipe data dan nama variabel yang akan digunakan untuk menampung inputan yang diberikan user. • System.out.print(“Input Nama : “); digunakan untuk menampilkan output string yang akan ditampilkan pada user untuk menginputkan nama mereka. • Variabel ini kita beri nama strnama dan menggunakan tipe class BufferedReader. • Penggunaan fungsi try-catch di maksudkan untuk menangkap exception yang mungkin terjadi selama program untuk menerima inputan di eksekusi. • Fungsi yang digunakan untuk mendapatkan inputan dari user adalah : readLine(). • Contoh program ke-2 untuk mendapatkan inputan dari keyboard dengan menggunakan class Scanner yang merupakan subclass java.util : import java.util.*; public class basic_scanner { public static void main(String args[]) { Scanner input = new Scanner(System.in); System.out.print("Input Nama Anda : "); String nama = input.nextLine(); System.out.println(); System.out.print("Nama Anda = "+nama); } } • Tampilan output program basic_scanner.java anda dengan menggunakan JCreator : • Notes : Untuk dapat menggunakan class Scanner, maka terlebih dahulu anda harus memanggil/mengimport class tersebut dari dalam class java.util (perhatikan baris pertama pada program basic_scanner.java anda) • Contoh program lain untuk mendapatkan nilai yang di inputkan user dan menjumlahkannya : (simpan file program java anda dengan penjumlahan.java) import java.io.*; import java.util.Scanner; public class penjumlahan { public static void main (String[] args) { Scanner input = new Scanner(System.in); int bilangan1; int bilangan2; int total; System.out.print("Input bilangan pertama : "); bilangan1 = input.nextInt(); System.out.print("Input bilangan kedua : "); bilangan2 = input.nextInt(); total = bilangan1 + bilangan2; } } System.out.print("Total bilangan 1 dan bilangan 2 = "+total); nama : • Tampilan output program penjumlahan.java dengan menggunakan console DOS : • Berikan jenis inputan anda dengan menggunakan bulat untuk menghindari jenis error dengan tampilan berikut ini : • Contoh program lain untuk mendapatkan inputan dari keyboard berupa bilangan bulat (integer) dengan menggunakan metode konversi tipe data : import java.util.Scanner; public class inputaninteger { public static void main (String[] args) { Scanner input = new Scanner(System.in); String bilangan1; String bilangan2; int intbil1,intbil2,total; System.out.print("Input bilangan pertama : "); bilangan1 = input.nextLine(); intbil1 = Integer.parseInt(bilangan1); System.out.print("Input bilangan kedua : "); bilangan2 = input.nextLine(); intbil2 = Integer.parseInt(bilangan2); total = intbil1 + intbil2; } } System.out.println("Total bilangan 1 dan bilangan 2 = "+total); Penjelasan program inputaninteger.java : Secara default fungsi nextLine() di gunakan untuk membaca String, maka ketika program anda di jalankan dan anda menginputkan sebuah bilangan dengan keyboard maka program akan membaca bilangan yang anda input sebagai sebuah string. Karena variabel dengan menggunakan tipe data string tidak dapat di lakukan operasi aritmatika, maka kita mendeklarasikan dan membuat variabel baru dengan menggunakan tipe data integer untuk menampung inputan berupa bilangan. Variabel baru dengan tipe data integer juga akan di gunakan untuk mengkonversikan variabel sebelumnya yang menggunakan tipe data string dengan menggunakan parseInt(). Variabel baru yang di gunakan untuk menampung hasil konversi inputan data dari string menjadi integer itulah yang akan di gunakan untuk melakukan proses aritmatika sehingga program bisa di jalankan. • Ada Pertanyaan ?? • Selesai, Terima Kasih. • Sampai jumpa di pertemuan selanjutnya.