Wednesday, August 14, 2019

Input dan Output pada Java

Seperti yang kita ketahui, program komputer terdiri dari tiga komponen utama, yaitu: input, proses, dan output.
  • Input: nilai yang kita masukan ke program
  • Proses: langkah demi langkah yang dilakukan untuk mengelola input menjadi sesuatu yang berguna
  • Output: hasil pengolahan
Semua bahasa pemrograman telah menyediakan fungs-fungsi untuk melakukan input dan output.
Java sendiri sudah menyediakan tiga class untuk mengambil input:
  1. Class Scanner;
  2. Class BufferReader;
  3. dan Class Console.
Tiga class tersebut untuk mengambil input pada program berbasis teks (console). Sedangkan untuk GUI menggunakan class yang lain seperti JOptionPane dan inputbox pada form.
Sementara untuk outputnya, Java menyediakan fungsi print()println(), dan format().

Mengambil Input dengan Class Scanner

Scanner merupakan class yang menyediakan fungsi-fungsi untuk mengambil input dari keyboard.
Agar kita bisa menggunakan Scanner, kita perlu mengimpornya ke dalam kode:
import java.util.Scanner;
Contoh 1 :
Klik kanan pada souce packages, kemudian pilih new package:
Membuat package baru
Kemudian isi nama paket dengan pertemuan2, lalu klik Finish:
Mengisi nama package
Setelah itu, lanjutkan dengan membuat kelas (java class) baru di paket pertemuan2:
Membuat class baru
Berikan nama: DataKaryawan. Kemudian klik Finish:
Finish
Setelah itu, silahkan ikuti kode berikut ini:
package pertemuan2;
// mengimpor Scanner ke program
import java.util.Scanner;
public class DataKaryawan {
public static void main(String[] args) {
// deklarasi variabel
String nama, alamat;
int usia, gaji;
// membuat scanner baru
Scanner keyboard = new Scanner(System.in);
// Tampilkan output ke user
System.out.println("### Pendataan Karyawan PT. Petani Kode ###");
System.out.print("Nama karyawan: ");
// menggunakan scanner dan menyimpan apa yang diketik di variabel nama
nama = keyboard.nextLine();
// Tampilkan outpu lagi
System.out.print("Alamat: ");
// menggunakan scanner lagi
alamat = keyboard.nextLine();
System.out.print("Usia: ");
usia = keyboard.nextInt();
System.out.print("Gaji: ");
gaji = keyboard.nextInt();
// Menampilkan apa yang sudah simpan di variabel
System.out.println("--------------------");
System.out.println("Nama Karyawan: " + nama);
System.out.println("Alamat: " + alamat);
System.out.println("Usia: " + usia + " tahun");
System.out.println("Gaji: Rp " + gaji);
}
}
Perlu diperhatikan, penggunakan fungsi untuk mengambil data bergantung dari tipe data yang digunakan.
Misal, tipe datanya adalah String, maka fungsi atau method yang dipakai adalah nextLine().
Begitu juga dengan tipe data lain, Integer menggunakan nextInt()Double menggunakan nextDouble(), dsb.
Setelah selesai membuat program, silahkan dijalankan. Klik kanan kemudian pilih Run File atau tekan tombol [Shift]+[F6].
Output program dengan scanner

Mengambil Input dgn Class BufferReader

Class BufferReader sebenarnya tidak hanya untuk mengambil input dari keyboard saja.
Class ini juga dapat digunakan untuk membaca input dari file dan jaringan.
Class ini terletak di dalam paket java.io.
Silahkan diimpor untuk dapat menggunakan class BufferReader.
import java.io.BufferedReader;

Contoh 2 :

Buat class baru bernama ContohBufferReader, kemudian isi dengan kode berikut ini.

package pertemuan2;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class ContohBufferReader {
public static void main(String[] args) throws IOException {
String nama;
// Membuat objek inputstream
InputStreamReader isr = new InputStreamReader(System.in);
// membuat objek bufferreader
BufferedReader br = new BufferedReader(isr);
// Mengisi varibel nama dengan Bufferreader
System.out.print("Inputkan nama: ");
nama = br.readLine();
// tampilkan output isi variabel nama
System.out.println("Nama kamu adalah " + nama);
}
}
Ternyata class BufferReader tidak bisa bekerja sendirian. Dia juga butuh teman yaitu: class InputStreamReader dan class IOException.
Sekarang mari kita coba jalankan programnya:
Menjalankan program Java
Perbedaan BufferReader dengan Scanner terlihat dari fungsi atau methodyang dipakai.
Scanner menggunakan next(), sedangkan BufferReader menggunakan readLine().
Lalu untuk tipe data integer, BufferReader menggunakan fungsi read()saja. Hal ini dapat kita lihat dalam hint autocomplete .
hint buffer
Tips: Tekan Ctrl+Spasi saat menulis kode untuk menampilkan hint autocomplete .

Mengambil Input dengan Class Console

Class Console hampir sama dengan BufferReader. Dia juga menggunakan fungsi readLine() untuk mengambil input.
Akan tetapi…
Class ini hanya bisa digunakan di lingkungan console saja, seperti Terminal dan CMD.
Class Console tidak bisa digunakan langsung di Netbeans.
Maka dari itu, kita harus kompilasi secara manual.
Untuk menggunakan class ini, kita perlu mengimpornya terlebih dahulu.
import java.io.Console;

Contoh 3 :

Buatlah file baru bernama InputConsole.java dengan isi sebagai berikut:
import java.io.Console;
public class InputConsole {
public static void main(String[] args) {
String nama;
int usia;
// membuat objek console
Console con = System.console();
// mengisi variabel nama dan usia dengan console
System.out.print("Inputkan nama: ");
nama = con.readLine();
System.out.print("Inputkan usia: ");
usia = Integer.parseInt(con.readLine());
// mengampilkan isi variabel nama dan usia
System.out.println("Nama kamu adalah: " + nama);
System.out.println("Saat ini berusia " + usia + " tahun");
}
}
Perhatikan: dalam kode di atas, kita menggunakan fungsi Integer.parseInt(con.readLine()) untuk tipe data integer. Artinya, kita merubah tipe data String ke Integer.
Karena Console tidak memiliki nilai kembalian berupa integer untuk fungsi read().
Lanjut…
Setelah itu, lakukan kompilasi melalui Terminal atau CMD. Buka terminal, kemudian masuk ke direktori tempat menyimpan kodenya.
Ketik perintah: javac InputConsole.java untuk melakukan kompilasi.
Setelah itu, ketik perintah java InputConsole untuk menjalankannya:
Input console Java

Menampilkan Output

Kita sudah mengenal beberapa cara mengambil input dari keyboard untuk program berbasis teks.
Sekarang bagaimana dengan outputnya?
Ada beberapa fungsi yang sudah disediakan oleh Java:
  1. Fungsi System.out.print()
  2. Fungsi System.out.println()
  3. Fungsi System.out.format()
Apa saja perbedaan dari fungsi-fungsi tersebut?
Mari kita bahas…

Fungsi print() vs println()

Fungsi print() dan println() sama-sama digunakan untuk menampilkan teks.
Lalu apa bedanya?
Fungsi print() akan menampilkan teks apa adanya. Sedangkan println() akan menampilkan teks dengan ditambah baris baru.
Mari kita coba dalam kode:
package eksperimen;
public class PrintVsPrinln {
public static void main(String[] args) {
System.out.print("ini teks yang dicetak dengan print()");
System.out.println("sedangkan ini teks yang dicetak dengan println()");
System.out.print("pake print() lagi");
}
}
Sekarang lihat hasil outputnya:
Perbedaan fungsi print dengan println

Menggabungkan String

Ketika menggunakan fungsi print() maupun println(), kadang kita perlu mengambil teks dari variabel dan menggabungkannya dengan teks yang lain.
Misalnya seperti ini:
Kita punya variabel namaDepan dan namaBelakang:
String namaDepan = "Petani";
String namaBelakang = "Kode";
Kemudian kita ingin menampilkannya dengan fungsi print(), maka kita hanya perlu memasukkannya ke sana.
System.out.print(namaDepan);
System.out.print(namaBelakang);
Kode tersebut akan menghasilkan: PetaniKode
Sebenarnya kita tidak perlu menggunakan dua fungsi print(), karena kita bisa menggabungkannya dengan operator +.
Contoh:
System.out.print(namaDepan + namaBelakang);
Agar ada spasi, tinggal ditambahkan saja spasi:
System.out.print(namaDepan + " " + namaBelakang);

Format String

Sedangkan untuk menggabungkan String yang lebih kompleks, kita bisa menggunakan fungsi format().
Contoh:
package eksperimen;
public class FormatString {
public static void main(String[] args) {
String namaDepan = "Petani";
String namaBelakang = "Kode";
System.out.format("Nama saya %s %s %n", namaDepan, namaBelakang);
}
}
Perhatikan: di sana kita menggunakan simbol %s untuk mengambil nilai dari variabel di sampingnya. %s artinya string.
Selain %s, ada juga simbol lain:
  • %d untuk desimal atau angka;
  • %f untuk bilangan pecahan;
  • %n untuk baris baru, bisa juga pakai \n;
  • dan masih banyak lagi, cek di dokumentasi java.
Format String


Variabel dan Tipe Data di Java

Macam-macam Tipe Data

Berikut ini macam-macam tipe data pada Java:
  • char: Tipe data karakter, contoh Z
  • int: angka atau bilangan bulat, contoh 29
  • float: bilangan desimal, contoh 2.1
  • double: bilangan desimal juga, tapi lebih besar kapasistanya, contoh 2.1
  • String: kumpulan dari karakter yang membentuk teks, contoh Hello World!
  • boolean: tipe data yang hanya bernilai true dan false

Membuat Variabel

Hal yang perlu diketahui dalam pembuatan variabel di java adalah cara penulisannya.
Formatnya seperti ini:
<tipe data> namaVariabel;
Contoh:
Membuat variabel kosong bertipe integer:
int namaVariabel;
Membuat variabel bertipe integer dan langsung diisi nilai:
int namaVariabel = 19;
Membuat sekumpulan variabel yang tipe datanya sama:
int a, b, c;
Lalu, dimana itu ditulis?
  1. Di dalam fungsi main(): variabel yang ditulis di dalam fungsi main()dan fungsi yang lainnya disebut variabel lokal.
  2. Di dalam class: Variabel ini disebut variabel class atau global.
Bingung…?

Mari Kita Coba Latihan dengan Membuat Program DataDiri

Buatlah program baru bernama DataDiri. Silahkan tambahkan kelas (java class) baru di paket (package) pertemuan1.
Membuat Class Java di Netbeans
Pada jendela yang muncul, isi nama kelasnya dengan DataDiri. Setelah itu, silahkan ikuti kode berikut.
Program DataDiri
Setelah itu, coba jalankan dengan menekan tombol [Shift]+[F6]. Analisa dan pahami maksud kode-kode di atas.
Program data diri dengan Java
Hasil outputnya sepertinya salah.
Usia kok nilianya alamat, mengapa demikian?
Itu disebabkan karena kita memanggil variabel alamat pada baris usia.
Jadi yang akan tampil adalah isi dari variable alamat, bukan isi dari variabel usia.
Perbaikilah kodenya menjadi seperti ini:
Perbaikan Program Data Diri
Dan, … silahkan coba jalankan kembali programnya.
Hasil Output Progam DataDiri

Aturan Penulisan Variabel

Ternyata tidak boleh sembarangan dalam membuat variabel.
Ada aturan yang harus diikuit, diantaranya:
  • Nama variabel tidak boleh menggunakan kata kunci dari Java (reserved word) seperti ifforswitch, dll.
  • Nama variabel boleh menggunakan huruf, angka (0-9), garis bawah (underscore), dan symbol dollar ($), namun penggunaan garis bawah dan symbol lebih baik dihindari.
  • Nama variabel harus diawali dengan huruf kecil, karena Java menggunakan gaya CamelCase.
  • Apabila nama variabel lebih dari 1 suku kata, maka kata ke-2 dituliskan dengan diawali dengan huruf besar dan seterusnya, contoh namaVariabel.

Konversi Tipe Data

Konversi artinya merubah ke jenis yang lain.

Cara Konversi Tipe Data

Contoh: Konversi ke tipe integer
Cara 1:
Integer.perseInt(variabel);
Integer.perseInt(1.2);
Cara 2:
Integer.valueOf(2.1);
Cara 3:
objek.toInt();
Cara 4:
(int) variabel;
(int) 2.1;
Contoh Program :
Berikan nama: LuasSegitiga.
Kemudian ikuti kode program berikut:
package pertemuan2;

import java.util.Scanner;

public class LuasSegitia {

    public static void main(String[] args) {
        // deklarasi
        Double luas;
        int alas, tinggi;

        // mebuat scanner baru
        Scanner baca = new Scanner(System.in);

        // Input
        System.out.println("== Program hitung luas Segitiga ==");
        System.out.print("Input alas: ");
        alas = baca.nextInt();
        System.out.print("Input tinggi: ");
        tinggi = baca.nextInt();

        // proses
        luas = Double.valueOf((alas * tinggi) / 2);

        // output
        System.out.println("Luas = " + luas);
    }

}
Variabel luas bertipe data Double, berarti nilai yang bisa disimpan adalah Double.
Sedangkan variabel alas dan tinggi bertipe Integer.
Agar hasil operasi data integer dapat disimpan dalam variabel bertipe double, maka perlu dikonversi.
Kalau dijalankan, akan menghasilkan:
Hasil output program luas segitiga dengan java

Memunculkan Simbol & Emoji Pada OS Mac

  Memunculkan Simbol & Emoji  1. Buka aplikasi Pages / Notes pada Macbook. 2. Klik pada Menubar Edit --> Pilih Emoji and Symbols a...