OLEH :
i
DAFTAR ISI
COVER ......................................................................................................................i
DAFTAR ISI ..............................................................................................................ii
DAFTAR GAMBAR .................................................................................................iii
BAB I DASAR TEORI ..............................................................................................1
BAB II PERMASALAHAN ......................................................................................7
BAB III HASIL PRAKTIKUM DAN PEMBAHASAN ...........................................11
BAB IV KESIMPULAN............................................................................................32
DAFTAR PUSTAKA ................................................................................................33
ii
DAFTAR GAMBAR
iii
Gambar 41. Source code menggunakan operator kondisi.......................................................28
Gambar 42. Hasil kompilasi menggunakan operator kondisi .................................................28
Gambar 43. Source code menghitung luas segitiga ................................................................29
Gambar 44. Hasil kompilasi menghitung luas segitiga ..........................................................29
Gambar 45. Source code program genap ganjil ......................................................................30
Gambar 46. Hasil kompilasi program genap ganjil ................................................................30
iv
BAB I
DASAR TEORI
Karakter (char), merupakan tipe data untuk hanya satu (1) digit karakter,
penulisan karakter menggunakan tanda petik (‘ ’) seperti :
1
Gambar 3. Daftar kategori karakter
Metode BufferReader
Class BufferReader tidak hanya digunakan untuk mengambil input
dari keyboard saja, tetapi dapat digunakan unutk membaca input dari file dan
2
jaringan. Class BufferReader terdapat dalam paket java.io. Sebelum
menggunkannya harus mengimport beberapa library seperti :
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
Berikut ini adalah contoh bagaimana membuat objek dari class
BufferedReader:
“BufferedReader [nama bufferedReader] = new BufferedReader(new
InputStreamReader(System.in));”
Metode JOptionPane
JOptioPane adalah Class yang berfungsi untuk memudahkan
penggunaan kotak dialog standar yang meminta pengguna untuk
menginputkan nilai atau data. Sebelum menggunakan JOptionPane harus
mengimport library berikut ini pada bagian atas program : “import
javax.swing.JOptionPane;”
JOptionPane memiliki beberapa metode yang bisa digunakan
diantaranya yaitu showConfirmDialog, showInputDialog,
showMassageDialog, dan showOptionDialog. Masing-masing metode
mempunyai fungsinya sendiri sesuai dengan namanya.
3
Gambar 4. Operator aritmatika
Operator Penugasan
Operator penugasan (Assignment Operator) fungsinya untuk
meberikan tugas pada variabel tertentu. Biasanya untuk mengisi nilai.
Operator Pembanding
Operator pembanding fungsinya untuk membandingkan. Operator ini
juga dikenal dengan opeartor relasi. Nilai yang dihasilkan dari operator ini
berupa boolean, yaitu: true dan false.
4
Gambar 6. Operator pembanding
Operator Logika
Operator Logika digunakan untuk membuat operasi logika.
Operator Bitwise
Operator bitwise merupkan operator yang digunakan untuk operasi bit
(biner).
5
Gambar 8. Operator Bitwise
Operator Ternary
Opertor ini unik, seperti membuat pertanyaan. Simbolnya menggunakan
tanda tanya (?) dan titik-dua (:) untuk memisah jawabannya.
6
BAB II
PERMASALAHAN
class IncDec {
public static void main (String args[]) {
int x = 8, y = 13;
System.out.println("x = " + x);
System.out.println("y = " + y);
System.out.println("x = " + ++x);
System.out.println("y = " + y++);
System.out.println("x = " + x--);
System.out.println("y = " + --y);
}
}
class Bitwise {
public static void main (String args[]) {
int x = 5, y = 6;
System.out.println("x = " + x);
System.out.println("y = " + y);
System.out.println("x & y = " + (x & y));
System.out.println("x | y = " + (x | y));
System.out.println("x ^ y = " + (x ^ y));
}
}
class Shift {
public static void main (String args[]) {
int x = 7;
System.out.println("x = " + x);
System.out.println("x >> 2 = " + (x >>
2));
System.out.println("x << 1 = " + (x <<
1));
System.out.println("x >>> 1 = " + (x >>>
1));
}
}
class LogicalOperator {
public static void main (String args[]) {
int x = 7, y = 11, z = 11;
System.out.println("x = " + x);
System.out.println("y = " + y);
System.out.println("z = " + z);
System.out.println("x < y = " + (x < y));
System.out.println("x > z = " + (x > z));
System.out.println("y <= z = " + (y <=
z));
System.out.println("x >= y = " + (x >=
y));
System.out.println("y == z = " + (y ==
z));
System.out.println("x != y = " + (x !=
z));
}
}
8
public class BooleanAnd {
public static void main(String args[]) {
int a=5, b=7;
if ((a<2) & (b++<10)) b+=2;
System.out.println(b);
}
}
class Conditional {
public static void main (String args[]) {
int x = 0;
boolean isEven = false;
System.out.println("x = " + x);
x = isEven ? 4 : 7;
System.out.println("x = " + x);
}
}
9
2.4 Tugas
1. Buatlah sebuah program untuk menghitung luas segitiga dengan metode
BufferedReader
2. Buatlah sebuah program untuk menampilkan bilangan genap dan ganjil dengan
menggunakan metode Scanner.
10
BAB III
HASIL PRAKTIKUM DAN PEMBAHASAN
2. Apa yang anda ketahui tentang metode input di Java dan kegunaanya ?
Jawab :
Metode Scanner
Pada metode scanner, sebelum bisa digunakan untuk menginputkan
data, harus mengimport suatu library (perpustakaan) untuk mengaktifkan fitur
scanner yang disimpan pada bagian paling atas program dengan kodenya
yaitu
“import java.util.Scanner;”
Sintaks wajib yang digunakan untuk memulai scanner dan disimpan
dibagian main dari program yaitu
“Scanner [nama scanner] = new Scanner(System.in);”
Untuk menginputkan data atau nilai dibutuhkan variabel seperti untuk
data bertipe integer yaitu
“[nama variabel] = [nama scanner].nextInt();”
Metode BufferReader
11
Class BufferReader tidak hanya digunakan untuk mengambil input
dari keyboard saja, tetapi dapat digunakan unutk membaca input dari file dan
jaringan. Class BufferReader terdapat dalam paket java.io. Sebelum
menggunkannya harus mengimport beberapa library seperti :
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
Berikut ini adalah contoh bagaimana membuat objek dari class
BufferedReader:
“BufferedReader [nama bufferedReader] = new BufferedReader(new
InputStreamReader(System.in));”
Metode JOptionPane
JOptioPane adalah Class yang berfungsi untuk memudahkan
penggunaan kotak dialog standar yang meminta pengguna untuk
menginputkan nilai atau data. Sebelum menggunakan JOptionPane harus
mengimport library berikut ini pada bagian atas program : “import
javax.swing.JOptionPane;”
JOptionPane memiliki beberapa metode yang bisa digunakan
diantaranya yaitu showConfirmDialog, showInputDialog,
showMassageDialog, dan showOptionDialog. Masing-masing metode
mempunyai fungsinya sendiri sesuai dengan namanya.
12
Gambar 9. Source code operasi variabel
Hasil kompilasi
Penjelasan
Pada line 6 dideklarasikan variabel ‘nama’ dan ‘alamat’ dengan tipe
data string yang digunakan untuk menampung data nama dan alamat yang
berupa kata (string). Pada line 7 dideklarasikan variabel ‘nim’ dan ‘umur’
dengan tipe data int (integer) yang digunakan untuk menampung data nim
dan umur yang berupa angka. Kemudian data yang telah ditampung dapat
ditampilkan dengan menggunakan fungsi ‘println’ kemudian dalam tanda
kurung masukan kata-kata yang ingin dicetak lalu tambahkan nama variabel.
13
Gambar 11. Source code program input BufferReader
Hasil kompilasi
Penjelasan
Pada line 2 – 4 terdapat beberapa library dari class BufferReader yang
diimportkan gunanya adalah agar dapat membuat objek dari class
BufferedReader. Pada line 7 terdapat objek dari BufferedReader dengan
variabel bernama ‘input’. Kemudian pada line 8 dideklarasikan variabel nama,
14
nim, alamat, dan umur dengan tipe data string yang diinisialisasikan sebagai
string kosong. Kemudian melakukan input data dan data akan disimpan pada
masing-masing variabel dengan menggunakan fungsi readLine() untuk
mendapatkan input dari keyboard, fungsi tersebut dituliskan dalam blok try-
catch. Lalu pada line 23-26 data yang telah ditampung oleh masing-masing
variabel kemudian ditampilkan.
Hasil kompilasi
15
Gambar 15. Hasil kompilasi 2 Input JoptionPane
Penjelasan
Pada line 2, sebelum dapat menggunakan kelas JOptionPane maka kita
harus melakukan import ke package javax.swing. Pada line 6 dideklarasikan
variabel nama, nim, alamat, dan umur dengan tipe data string. Pada line 8-
16
11, dibuat JOptionPane input dialog, yang akan menampilkan dialog box
dengan sebuah pesan, textfield untuk input dan tombol OK seperti gambar
diatas. Hasil dari inputan tersebut akan disimpan dalam variabel-variabel
yang bertipe String. Pada line 12, dibuat JOptionPane untuk menampilkan
sebuah dialog box yang memiliki sebuah pesan dari nilai dalam variabel
tersebut dan tombol OK.
Hasil kompilasi
17
Gambar 20. Hasil kompilasi program input Scanner
Penjelasan
Pada line 2, sebelum dapat menggunakan kelas Scanner maka kita harus
melakukan import library “java.util.Scanner;”. Kemudian kita
mendeklarasikan variabel seperti di line 7 dan 8 agar data dapat di simpan.
Kemudian melakukan input data dan data akan disimpan pada masing-masing
variabel dengan menggunakan fungsi “input.next()” atau “input.nextLine()”
untuk tipe data string dan input.nextInt() untuk tipe data Integer. Lalu pada
line 21-24 data yang telah ditampung oleh masing-masing variabel kemudian
ditampilkan.
18
Hasil kompilasi
Penjelasan
Pada contoh program, operator-operator yang digunakan adalah jenis
operator aritmatika seperti pada line 7, pada variable “semester” akan diisi
dengan nilai 4 + 2 – 1 * 5 / 5 maka sesuai operasi aritmatika hasilnya yaitu
5, jadi nilai dari variabel semester yaitu 5.
3.3 Percobaan
1. Percobaan 1 : Melakukan increment dan decrement nilai
Source code program
Hasil kompilasi
19
Gambar 24. Hasil kompilasi melakukan increment dan decrement nilai
Penjelasan
Percobaan diatas melakukan increment dan decrement pada suatu nilai,
dapat dilihat bahwa jika nilai yang ditampung dari variabel x dan y dicetak
dengan memanggil variabel seperti “++x” maka nilai x akan ditambah 1
kemudian ditampilkan hal ini pada line 8, jika menggunakan “y++” maka
nilai y akan tetap karena nilai y ditampilkan terlebih dahulu sebelum
ditambahkan seperti pada line 9, jika menggunakan “x--” maka nilai x sama
dengan 11 karena nilai x yang telah ditampung sebelumnya ditampilkan
terlebih dahulu sebelum di tambah seperti pada line 10, dan jika
menggunakan “--y” maka nilai y sama dengan 5 seperti pada line 11.
Hasil kompilasi
20
Gambar 26. Hasil kompilasi melakukan operasi bit
Penjelasan
Percobaan diatas melakukan operasi bitwise pada suatu nilai, dapat
dilihat bahwa pada line 8 yaitu jika melakukan operasi “x & y” maka akan
menghasilkan 4 karena bilangan biner 9 (1001) dan 2 (0010) dibandingkan
dengan logika AND akan menghasilkan 0000 sama dengan 0.
Pada line 9, jika melakukan operasi “x | y” maka akan menghasilkan 11
karena bilangan biner dari 9 dan 2 dibandingkan dengan logika OR akan
menghasilkan 1011 yang dalam desimal yaitu 11.
Pada line 10 dengan operasi “x ^ y” maka akan menghasilkan 11 karena
bilangan biner dari 9 dan 2 dibandingkan dengan logika XOR akan
menghasilkan 1011 yang dalam biner yaitu 11.
3. Percobaan 3 : Melakukan operasi komplemen
Source code program
Hasil kompilasi
21
Gambar 28. Hasil kompilasi melakukan operasi komplemen
Penjelasan
Percobaan diatas melakukan operasi komplemen pada suatu nilai, dapat
dilihat bahwa pada line 6 nilai x dicetak yaitu 14, pada line 9 nilai y sama
dengan ~x (not x) sehingga akan dihasilkan nilai y yaitu -15 karena
~x = - (x+1) sehingga ~x= - (14+1) = -15.
Hasil kompilasi
Penjelasan
Percobaan diatas melakukan operasi Shift pada suatu nilai, dapat dilihat
bahwa pada line 6 nilai dari x akan digeser 2 bit kekanan maka akan
22
menghasilkan 1 karena : x=6 dalam biner -> 0110, 0110 digeser 2 bit ke
kanan menghasilkan 01, nilai desimal dari 01 yaitu 1.
Pada line 8, akan menghasilkan nilai 12 karena : 110 digeser 1 bit kekiri
menghasilkan 1100, nilai desimalnya yaitu 12.
Pada line 9, akan menghasilkan nilai 3 karena : 110 digeser 1 bit
kekanan dengan menambahkan angka 0 jadi hasilnya yaitu 011 yang dalam
desimal yaitu 3.
Hasil kompilasi
23
Gambar 32. Hasil kompilasi menggunakan logical operator
Penjelasan
Percobaan diatas melakukan operasi logical operator pada suatu nilai,
dapat dilihat bahwa “x<y” hasilnya yaitu “false” karena 14 tidak lebih kecil
dari 6. “x>z” hasilnya yaitu “true” karena 14 memang lebih besar dari 9.
“y<=z” hasilnya yaitu “true” karena 6 memang lebih kecil sama dengan 9.
“x>=y” hasilnya yaitu “true” karena 14 memang lebih besar sama dengan
6. “y==z” hasilnya yaitu “false” karena 6 tidak sama dengan 9. “x != y”
hasilnya yaitu “true” karena 14 memang tidak sama dengan 6.
Hasil kompilasi
24
Gambar 34. Hasil kompilasi menggunakan operator boolean and
Penjelasan
Percobaan diatas melakukan operasi boolean and pada suatu nilai, dapat
dilihat bahwa pada line 6 terdapat suatu kondisi jika nilai (a < 7) &
(b++<10) maka jalankan perintah b+=2. Karena nilai 4 kurang dari 7 dan
6+1 kurang dari 10 dan terdapat operator AND maka jika salah satu bernilai
salah tidak akan dijalankan perintah tersebut tetapi jika keduanya bernilai
benar maka perintah tersebut akan dijalankan. Sehingga nilai b yang
sekarang yaitu 9, didapat dari b++=b+1=6+1=7 kemudian b+=2 berarti
7+2=9.
Hasil kompilasi
Penjelasan
25
Percobaan diatas melakukan operasi boolean and short-circuit pada
suatu nilai, dapat dilihat bahwa pada line 6 terdapat suatu kondisi jika nilai
(a < 7) & (b++<10) maka jalankan perintah b+=2. Karena nilai 9 tidak
kurang dari 7 dan 6+1 kurang dari 10 dan terdapat operator AND maka jika
salah satu bernilai salah tidak akan dijalankan perintah tersebut tetapi jika
keduanya bernilai benar maka perintah tersebut akan dijalankan. Sehingga
nilai b yaitu tetap 6, karena tidak memenuhi kondisi diatas sehingga peritah
tidak dapat dijalankan.
Hasil kompilasi
Penjelasan
Percobaan diatas melakukan operasi boolean or pada suatu nilai, dapat
dilihat bahwa pada line 6 terdapat suatu kondisi jika nilai (a > 7) &
(b++<10) maka jalankan perintah b+=2. Karena nilai 4 tidak lebih dari 7
dan 8+1 kurang dari 10 dan terdapat operator OR maka jika salah satu
bernilai benar atau jika keduanya bernilai benar maka perintah tersebut akan
26
dijalankan. Sehingga nilai b menjadi 11, didapat dari b++=b+1=8+1=9
kemudian b+=2 berarti 9+2=11.
Hasil kompilasi
Penjelasan
Percobaan diatas melakukan operasi boolean or short-circuit pada suatu
nilai, dapat dilihat bahwa pada line 6 terdapat suatu kondisi jika nilai (a >
7) & (b++<10) maka jalankan perintah b+=2. Karena nilai 4 tidak lebih
dari 7 dan 8+1 kurang dari 10 dan terdapat operator OR maka jika salah satu
bernilai benar atau jika keduanya bernilai benar maka perintah tersebut akan
dijalankan. Sehingga nilai b menjadi 11, didapat dari b++=b+1=8+1=9
kemudian b+=2 berarti 9+2=11.
27
Gambar 41. Source code menggunakan operator kondisi
Hasil kompilasi
Penjelasan
Pada program diatas, dideklarasikan variabel isEven bertipe boolean
dengan value “false” pada line 6, pada line 8 di set nilai x = isEven ? 5 : 1
kemudian nilai x dicetak hasilnya yaitu 1.
3.3 Tugas
1. Buatlah sebuah program untuk menghitung luas segitiga dengan metode
BufferedReader
Source code program
28
Gambar 43. Source code menghitung luas segitiga
Hasil kompilasi
Penjelasan
Program diatas bertujuan untuk menghitung luas segitiga menggunakan
metode BufferedReader. Pada line 2 – 4 terdapat beberapa library dari class
BufferReader yang diimportkan gunanya adalah agar dapat membuat objek
dari class BufferedReader. Pada line 8 terdapat objek dari BufferedReader
dengan variabel bernama ‘input’. Kemudian pada line 9 dideklarasikan
variabel a, t dan l dengan tipe data float agar bisa menampung bilangan
desimal. Variabel a digunakan untuk menampung nilai alas dari segitiga,
variabel t digunakan untuk menampung nilai tinggi dari segitiga, dan
variabel l digunakan untuk menampung nilai luas dari segitiga yang pada
line 15 digunakan rumul "l=(a*t)/2". Kemudian melakukan input data dan
data akan disimpan pada masing-masing variabel dengan menggunakan
fungsi readLine() untuk mendapatkan input dari keyboard, fungsi tersebut
29
dituliskan dalam blok try-catch dan luas dari segitiga ditampilkan sesuai
dengan nilai yang telah di tampung oleh variabel l.
2. Buatlah sebuah program untuk menampilkan bilangan genap dan ganjil dengan
menggunakan metode Scanner.
Source code program
Hasil kompilasi
Penjelasan
30
Program diatas bertujuan untuk menampilkan bilangan ganjil dan genap
menggunakan metode Scanner. Pada line 2 terdapat library dari class
Scanner yang diimportkan gunanya adalah agar dapat membuat objek dari
class Scanner. Pada line 6 terdapat objek dari Scanner dengan variabel
bernama ‘input’. Kemudian pada line 7 dideklarasikan variabel atas, bawah,
I, dan bil dengan tipe data int. Variabel atas digunakan untuk menampung
nilai batas atas, variabel bawah digunakan untuk menampung nilai batas
bawah, dan variabel bil digunakan untuk menampung nilai yang akan
ditentukan ganjil atau genapnya. Kemudian melakukan input data dan data
akan disimpan pada masing-masing variabel dengan menggunakan fungsi
nextInt() untuk mendapatkan input dari keyboard. Kemudian dilakukan
perulangan untuk menentukan bilangan genap atau ganjil.
31
BAB IV
KESIMPULAN
Variabel adalah tempat yang digunakan untuk menampung data atau nilai pada
bahasa pemrograman khususnya disini pemrograman java. Bahasa java juga memiliki
metode input yang berguna untuk menangkap data atau nilai yang diinputkan oleh user
sehingga dapat diproses lebih lanjut. Operator dalam pemrograman digunakan untuk
melakukan operasi tertentu. Bahasa pemrograman java memiliki beberapa operator
diantaranya yaitu : operator aritmatika, operator penugasan, operator pembanding,
operator logika, operator bitwise, dan operator ternary.
32
DAFTAR PUSTAKA
Kadir, Nor. 2016. Tiga Metode Sangat Penting dalam Pemrograman Java Bagi Pemula
<URL : https://norkandirblog.wordpress.com/2016/08/24/tiga-metode-sangat-penting-
dalam-pemrograman-java-bagi-pemula/ > diakses pada 22 September 2019
Kuncoro, Dedy. 2013. Macam-Macam Tipe Data pada Java <URL :
https://dedykuncoro.com/2013/03/macam-macam-tipe-data-pada-java.html > diakses
pada 22 September 2019
33