Anda di halaman 1dari 12

KD 1.

Menjelaskan file I/O ( input / output), tipe data dan variable pada Java
programming
A. Tipe Data pada java programing
Pada java programing terdapat 2 tipe data utama, yaitu
1. Tipe data sederhana
a. Integer (bilangan bulat)
Tipe data yang masuk menjadi bagian ini adalah byte, short, int dan long.
Semua tipe data ini bersifat Signed, yaitu bisa mempresentasikan nilai positif
dan negatif. Tidak seperti tipe data lainnya, Java tidak mendukung tipe
data unsigned yang hanya bisa mempresentasikan nilai postif.
Ketikkan kode program berikut untuk memahami tipe tipe data bilangan bulat
Contoh Program 1. Tipe data int

Contoh Program 2. Tipe data short

b. Tipe data bilangan pecahan (floating point)


Tipe floating-point digunakan untuk merepresentasikan nilai-nilai yang
mengandung pecahan atau angka decimal di belakang koma, seperti
3.1416,5.25, dan sebagainya. Bilangan semacam ini disebut sebagai bilangan
riil. Dalam Java tipe ini dibedakan menjadi dua jenis, yaitu float, dan double.
Contoh Program 3. Tipe data double
c. Tipe data char
Tipe data char merupakan tipe untuk menyatakan sebuah karakter. Java
menggunakan karakter Unicode untuk merepresentasikan semua karakter yang
ada . Unicode ialah sekumpulan karakter yang terdapat pada semua bahasa,
seperti bahasa Latin, Arab, Yunani dan lain-lainnya. Karena bahasa Java
dirancang untuk dapat diterapkan di berbagai macam platform, maka Java
menggunakan karakter Unicode yang membutuhkan ukuran 16-bit. Untuk
karakter-karakter yang tidak dapat diketikkan secara langsung melalui
keyboard, java menyediakan beberapa escape sequence (pasangan karakter
yang dianggap sebagai karakter tunggal). Escape sequence tidak dianggap
sebagai String, melainkan tetap sebagai tipe karakter khusus. Di bawah ini akan
dijelaskan beberapa contoh tentang escape sequence.
Escape Sequence Keterangan
\ddd Karakter octal (ddd)
\uxxxx Karakter Unicode heksadecimal (xxxx)
\ Petik tunggal
\ Petik ganda
\\ Backslash
\r Carriage return
\n Baris baru (line feed)
\f Form feed
\t Tab
\b Backspace

Contoh Program 4. Tipe data char

d. Tipe data boolean


Tipe boolean adalah tipe data yang digunakan untuk menampung nilai logika,
yaitu nilai yang hanya memiliki dua buah kemungkinan (benar atau salah). Tipe
ini ditandai dengan kata kunci Boolean. Dalam bahasa Java, nilai benar
dipresentasikan dengan kata kunci true dan nilai salah dengan kata kunci false.
Contoh Program 5. Tipe data Boolean

2. Tipe data referensi


a. Class
Dalam dunia permrograman java, sebenarnya kelas tidak jauh berbeda dengan
tipe data sederhana. Perbedaannya, tipe data sederhana digunakan untuk
mendeklarasikan variabel normal, sedangkan kelas digunakan untuk
mendeklarasikan sebuah variabel yang berupa objek. Variabel yang berupa
objek ini sering disebut dengan referensi objek (object reference).
Pada saat kita membuat sebuah kelas baru. Sekali didefiniskan, maka tipe data
baru ini dapat digunakan untuk membuat suatu objek dari tipe tersebut. Dengan
kata lain, kelas adalah pola (template) untuk pembuatan objek, dan objek adalah
wujud nyata (instance) dari sebuah kelas.
Contoh program 6. Tipe data String dalam class

b. Array
Tipe data ini memiliki kemampuan untuk menggunakan satu variabel yang
dapat menyimpan sebuah data list dan kemudian memanipulasinya dengan
lebih efektif. Sebuah array akan menyimpan beberapa item data yang memiliki
tipe data sama didalam sebuah blok memori yang berdekatan yang kemudian
dibagai menjadi beberapa slot
Contoh program 7. Tipe data Array
Latihan 1
1. Jalankan semua contoh program pada Netbean dan print screen hasil programnya
2. Pada contoh program 1 coba hapus nilai gaji dan lama kerja, jelaskan apa yang terjadi pada
program
3. Pada contoh program 2 coba hapus kata short pada baris
selisih = (short) (umurWafiy-umurAdit) , jelaskan apa yang terjadi pada program
4. Pada contoh program 3 coba hapus baris keliling = 2*pi*r, jelaskan apa yang terjadi pada
program
5. Pada contoh program 4 coba ganti ch = 65 menjadi ch = 70, jelaskan apa yang terjadi pada
program.
6. Pada contoh program 5 coba ganti true menjadi false, jelaskan apa yang terjadi pada
program
7. Pada contoh program 6 coba hapus \n , jelaskan apa yang terjadi pada program
8. Pada contoh program 7 coba ganti 0 menjadi angka 1, jelaskan apa yang terjadi pada
program

B. Metode I/O (input/output)


Ada 3 bentuk inputan dalam pemrograman java yakni Scanner, BufferedReader,
JOptionPane.
1. BufferedReader
kelas abstrak yang menangani baca tulis ke suatu media. Kelas ini membutuhkan kelas lain
sebagai pekerjanya, yaitu InputStreamReader. Dan InputStreamReader membutuhkan
media tempat baca tulis dilakukan, yaitu System.in. Fungsi buffered reader ini adalah
digunakan untuk menangkap inputan dari keyboard.
Contoh Program 8. I/O dengan BufferedReader
2. Scanner
Scanner merupakan perintah untuk membuat objek atau menginisialisasi object yang
diinginkan pengguna atau yang diinputkan pengguna
Contoh Program 9. I/O dengan Scanner

3. JoptionPane
Merupakan packages dari javax.swing , digunakan untuk input dan output data
berbasis GUI swing . tampilannya memudahkan pengguna karena berupa dialog box.
Contoh Program 10. I/O dengan Joptionpane

Latihan 2
Buatlah program data kelompok anda dengan input menggunakan Joptionpane dan hasilnya
tampil di console netbean
UH 1 KD 1
1. Buatlah sebuah program untuk mencari luas segitiga, dengan hasil output program
sebagai berikut. Bobot 30
Alas = 3
Tinggi = 4
Luas Segitiga = 6.0
2. Jalankan program berikut ini dan jelaskan apa hasilnya (jelaskan karakter tambahan
dalam programnya) bobot 30.
public class tipe_data_class {
public static void main(String[]args){
String a = "*";
System.out.println("\t" +a );
System.out.print("\f \f \f" +a);
System.out.println("\t \f \f" +a );
System.out.print("\f" +a );
System.out.println("\t \t" +a );
System.out.print("\f \f \f" +a);
System.out.println("\t \f \f" +a );
System.out.println("\t" +a );
}

}
3. Buatlah program yang menampilkan nilai a, b, dan c. Dimana nilai a = 4, nilai b adalah 2
kali nilai b dan nilai c adalah perkalian antara nilai a dan b. (bobot 40)

Source Code latihan 2


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
import javax.swing.JOptionPane;

public class Latihan2 {


public static void main (String[] args){
String nama = JOptionPane.showInputDialog(null, "Masukkan Nama
Anggota 1");
String nama2 = JOptionPane.showInputDialog(null, "Masukkan Nama
Anggota 2");

System.out.println("Data Anggota Kelompok 1");


System.out.println("Anggota ke-1 : " +nama);
System.out.println("Anggota ke-2 : " +nama2);
}
}
Latihan 3
Buatlah program menampilkan biodata diri anda masing masing dengan input melalui console
dan output melalui JoptionPane data diri berupa Nama, TTL, Alamat, Agama, Umur, Jurusan
Source code
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
import javax.swing.JOptionPane;

public class Latihan3 {


public static void main(String[] args){
BufferedReader dataIn = new BufferedReader (new
InputStreamReader(System.in));
String nama = "";
String alamat = "";
String jurusan = "";
System.out.print("BIODATA ");

try{
System.out.print("Masukkan Nama :");
nama = dataIn.readLine();
System.out.print("Masukkan Alamat :");
alamat = dataIn.readLine();
System.out.print("Masukkan Jurusan :");
jurusan = dataIn.readLine();
JOptionPane.showMessageDialog(null, "Biodata \n Nama : " +nama+
"\n Alamat : " +alamat+
"\n Jurusan :" +jurusan);
}catch(IOException e){
System.out.println("Error!");
}
}
}
KD 2. Exception Handling
A. Pengertian Exception Handling
Exception adalah singkatan dari Exceptional Events. Kesalahan (errors) yang
terjadi saat runtime, menyebabkan gangguan pada alur eksekusi program. Terdapat
beberapa tipe error yang dapat muncul. Sebagai contoh adalah error pembagian 0,
mengakses elemen di luar jangkauan sebuah array, input yang tidak benar dan membuka
file yang tidak ada.
Seluruh exceptions adalah subclasses, baik secara langsung maupun tidak
langsung, dari sebuah root class Throwable. Kemudian, dalam class ini terdapat dua
kategori umum : Error class dan Exception class.
Exception class menunjukkan kondisi yang dapat diterima oleh user program.
Umumnya hal tersebut disebabkan oleh beberapa kesalahan pada kode program. Contoh
dari exceptions adalah pembagian oleh 0 dan error di luar jangkauan array.
Error class digunakan oleh Java run-time untuk menangani error yang muncul
pada saat dijalankan. Secara umum hal ini di luar control user karena kemunculannya
disebabkan oleh run-time environment. Sebagai contoh adalah out of memory dan
harddisk crash.
Exception dapat dibangkitkan secara otomatis oleh sistem Java runtime maupun
sengaja kita buat melalui pernyataan tertentu untuk tujuan tertentu.
Perhatikan kode program 1 berikut:

public class DivByZero {


public static void main(String args[]) {
int a = 5, b = 0, c;
c = a/b;
System.out.println("c = " + c);
}
}
Hasil kode program diatas adalah

Hasil diatas suskes karena memang tidak ada kesalahan pada kode program.
Namun ada kesalahan yang fatal yaitu ada pembagian dengan 0. Yaitu a = 5 dibagi b = 0.
Kesalahan seperti ini sering terjadi karena memang tidak kentara bila kita tidak cermat.
Pesan pada Gambar tersebut menginformasikan tipe exception yang terjadi pada baris
dimana exception itu berasal. Inilah aksi default yang terjadi bila terjadi exception yang
tidak tertangani. Jika tidak terdapat kode yang menangani exception yang terjadi, aksi
default akan bekerja otomatis.
Beberapa tipe exception yang umum antara lain:
ArithmeticException.
Exception karena kesalahan yang ada hubungannya dengan perhitungan, misalnya
pembagian dengan 0.
ArrayIndexOutOfBoundException.
Exception karena membaca indeks array diluar batas yang ditetapkan.
NullPointerException.
Kesalahan karena pointer yang tidak berisi (null)

B. Try dan Catch


Try digunakan untuk membuat blok yang berisi pernyataan-pernyataan yang mungkin
menimbulkan exception. Apabila dalam proses eksekusi pernyataan-pernyataan pada blok
tersebut terjadi exception maka exception akan dilempar ke bagian blok penangkap
exception yang dibuat dengan kata kunci catch. Perhatikan contoh berikut ini.
Kode program 2
public class DivByZero {
public static void main(String args[]) {
int a = 5, b = 0, c;
try {
c = a/b;
} catch (ArithmeticException exc) {
//Reaksi jika terjadi exception
System.out.println(exc);
}
System.out.println("Setelah exception");
}
}
Kode program 2 adalah pengembangan dari kode program 1. Pernyataan c = a/b
merupakan pernyataan yang kita uji apakah mengandung exception atau tidak. Jika terjadi
exception maka exception akan dilempar ke bagian catch. Exception yang kita periksa
adalah ArithmeticException. Reaksi yang muncul jika terjadi exception adalah
menjalankan pernyataan System.out.println(exc);. Dengan mekanisme seperti ini maka
program tidak akan dipaksa berhenti dan perintah setelah blok try-catch tetap bisa
dijalankan. Gambar dibawah menunjukkan hasil eksekusi kode program 2. Bandingkan
dengan hasil program 1.

Contoh program menggunakan beberapa tipe exception dengan try-cacth


Kode program 3. Exception dengan try-catch
class BanyakEksepsi {
public static void test(int a, int b) {
try {
int c = a / b;
System.out.println("Hasil bagi: " + c);

int[] Arr = {1,2,3,4,5}; // array dengan 5 elemen


Arr[10] = 11; // mengakses indeks ke-10
} catch (ArithmeticException ae) {
System.out.println("Terdapat pembagian dengan 0");
System.out.println(ae);
} catch (ArrayIndexOutOfBoundsException oobe) {
System.out.println("Indeks di luar rentang");
System.out.println(oobe);
}
}

public static void main(String[] args) {


test(4, 0); // menimbulkan ArithmeticException
System.out.println();
test(12, 4); // menimbulkan ArrayIndexOutOfBoundsException
}
}

C. Throw
Disamping menangkap exception, Java juga mengijinkan seorang user untuk melempar
(throw) sebuah exception. Perhatikan kode program 4 berikut ini.
class ThrowDemo {
public static void main(String args[]){
String input = "Salah input";
try {
if (input.equals("Salah input")) {
throw new RuntimeException("Demonstrasi Throw");
} else {
System.out.println(input);
}
System.out.println("Setelah throw");
} catch (RuntimeException e) {
System.out.println("Exception ditangkap di sini.");
System.out.println(e);
}
}
}
Perhatikan pada pernyataan yang dimulai dari perintah if. Kalau diartikan pernyataan
tersebut adalah jika nilai variabel input sama dengan Salah input maka lemparkan
exception dengan menampilkan Demonstrasi Throw. Output dari kode program ini akan
tampak seperti pada Gambar
D. Finally
Blok finally mengandung kode penanganan setelah penggunaan try dan catch. Blok kode
ini selalu tereksekusi apapun yang terjadi pada blok try. Blok kode tersebut juga akan
menghasilkan nilai true meskipun return, continue ataupun break tereksekusi. Perhatikan
kode program 5. Exception dengan try-catch-finally berikut.
class DemoFinally {
private static int i = 0;
public static void main(String[] args) {
while (true) {
try {
System.out.print("Pada saat i = " + i + ": ");
if (i++ == 0) {
throw new Exception(); // melempar exception
}
System.out.println("Tidak terjadi exception");
} catch (Exception e) {
System.out.println("Terdapat exception");
} finally {
System.out.println("Pernyataan dalam blok
finally\n");
if (i == 2) {
break; // pada saat i==2, pengulangan akan berhenti
}
}
}
}
}
Bila kode program dijalankan maka akan tampak seperti pada gambar dibawah. Perhatikan
bahwa apa yang ada pada blok kode finally akan selalu dijalankan meskipun ada nilai try
cacth nya true ataupun break.

Latihan 3
1. Jalankan kode program 3 dan print screen hasil programnya
2. Jalankan kode program 3 dengan menghapus bagian di bawah ini dan jelaskan apa
yang terjadi pada program
public static void main(String[] args) {
test(4, 0); // menimbulkan ArithmeticException
System.out.println();
test(12, 4); // menimbulkan ArrayIndexOutOfBoundsException
}
3. Jalankan kode program 3 dimana isi dari class BanyakEksepsi hanya bagian di soal
nomor 2. Jelaskan apa yang terjadi pada program
4. Jalankan kode program 4 dengan mengganti kata Salah input menjadi kata input.
Bandingkan hasil program sebelum dan setelah diganti dan jelaskan kenapa hasilnya
berbeda.
5. Jalankan kode program 5 dengan mengganti i = 0 menjadi i = 1 dan i = 2.
Bandingkan hasil program sebelum dan setelah diganti dan jelaskan kenapa hasilnya
berbeda.
6. Jalankan program 3 dengan menghapus bagian
int[] Arr = {1,2,3,4,5}; // array dengan 5 elemen
Arr[10] = 11; // mengakses indeks ke-10
Jelaskan apa yang terjadi pada hasil program
7. Jalankan program 3 dengan mengganti angka dalam kurung [ ] dengan angka 1-5
pada baris
Arr[10] = 11; // mengakses indeks ke-10
Jelaskan apa yang terjadi pada hasil program
8. Jalankan program 3 dan Tambahkan perintah berikut ini di bawah baris Arr[10]=11;
System.out.println("nilai array:");
for(int i=0;i<Arr.length;i++){
System.out.println("arr["+i+"]="+Arr[i]);
Apa hasil dari program tersebut?
9. Jalankan program 3 yang sudah ditambahkan perintah seperti no.8 diatas kemudian
ganti angka dalam kurung [ ] dengan angka 1-5. Jelaskan apa yang terjadi.
10. Jalankan program 4 kemudian ganti kata Salah input menjadi nama anda masing
masing. Jelaskan apa yang terjadi pada hasil program
11. Jalankan program 5 dan ganti kalimat dalam baris dibawah ini menjadi nama anda
masing masing
System.out.println("Pernyataan dalam blok finally\n");
Jelaskan apa yang terjadi pada hasil program
12. Jalankan program 5 dan ganti angka 2 menjadi angka 3 5 pada baris dibawah ini
if (i == 2)
jelaskan apa yang terjadi pada hasil program.