Anda di halaman 1dari 65

STRUKTUR DATA JAVA

Pertemuan II
Ichal, M.Kom, CEH
SELASA, 15 – 16 MARET 2022
APA YANG HARUS SAYA KUASAI ?
Sebelum kita ke materi pembahasan lebih lanjut tentang struktur data , ada beberapa hall hal penting yag harus
kita pahami terlebih dahulu :

Diantaranya adalah selection dan loop dan tentunya pemrograman berorientasi objek. Pada materi ini kita akan
kembali mengulangnya diantaranya adalah :

1. The Basics of Java Code

- Characteristics of Object-Oriented Programming

2. User Input

- Scanner Class

- nextLine Method

- println Method

3. Variable Declaration

- The Basic Variable Types

- Declaring Variable Types


4. Operators

- Arithmetic Operators

- Increment / Decrement Operators

- Logical Operators

- Bit-Wise Operators

5. Flow Control

- If-Then-Else

- Loops

- try & catch

6. Classes and Objects

- Class

- Instance

- Local

- Relationships
7. Constructors

- This

- Super
SEKILAS TENTANG JAVA
Java dikembangankan oleh sebuah tim yang diketuai oleh JAMES GOSLING di SUN
MINCROSYSTEM,awalnya java dikenal dengan OAK yang didesain pada tahun 1991 untuk chip chip
yang tertanam pada peralatan elektronik.

Pemrograman java adalah pemrograman yang serba bisa, kita bisa menggunakannnya untuk
aplikasi aplikasi pada desktop dan server, kita juga dapat mengembangkannya pada perngkat
perangkat yang bergerak.

Setiap bahasa pemrograman memilik aturan aturan yang ketat yang harus ditaati, jika kta dak
mematuhinya maka computer tidak akan memahaminya.spesifikasi bahasa Java dan Java Api
mendefinisikan standar pemrograman Java. Spesifikasi bahasa java secara utuh dapat ditemukan
pada java.sun.com/docs/books/jls.

Api ( Applicaton Program Interface ) memuat kelas dan antar muka yang telah didefinsikan untuk
mengembangkan program java. Spesifikasi bahasa java stabil, tetapi API akan terus berkembang.
Pada situs Java Sun, kita bisa melihat dan megunduh versi terahr Java Api.

Terdapat 3 edisi java yakni JAVA SE ( Java Standart Edition ), Java EE ( Java Enterprise Edition ) dan
java ME ( Java Micro Edition ), Java SE digunakan untuk mengembakan aplikasi aplikasi pada sisi
client dan Applet, Java EE digunakan untuk megembangkan pada sisi server dan Java ME untuk
megembagkan pada aplikasi aplikasi bergerak, seperti smartphone dll.
DATA DAN EKSPRESI
STRING KARAKTER

String karakter merupakan sebuah objek dalam java, yang didefinisikan oleh Kelas String. Karena
string sangat fundamental dalam pemrograman computer, java menyediakan kemampuan untuk
menggunakan literal string yang diapit oleh dua karater kutip ganda ( “) .

Berikut sejumlah contoh literal string yang tepat :

"pantai batakan yang menawan. "

"pasar tungging 230, telp.0511-29873. "


"abc"

""

Literal string dapat memuat sebanyak mungkin karakter, termasuk digit numeric, tanda baca dan
karakter karakter khusus lain. Contoh terakhir diatas sebuah string tidak memuat karakter apapun.
METODE PRINT DAN PRINTlN
Kita memangil metode println sebagai berikut

System.out.println (" apapun pekerjaan kita, berbanggalah. ");

Pernyataan ini mendemonstrasikan objek. Objek System.out

merepresentasikan sebuah peralatan atau file keluaran, yang secara default meruapakan layar
tampilan atau monitor. Lebih tepatnya nama objek adalah out dan ia disimpan di dalam kelas
system. Nanti Kita akan lebih mengeksplorasi relasi ini.

Metode println merupakan sebuah layanan yang diberikan onjek System.out untuk kita, ketika kita
memintanya , ojek itu akan menampilkan sebuah karakter string dilayar. Dengan kata lain kita
dapat mengatakan bahwa kita mengirim pesan printin kepada objek System.out untuk meminta
teks tertentu dtampilkan di layar.

Setiap potongan data yang dikirimkan ke sebuah metode disebut parameter. Pada kasus ini metode
println hanya mengambil satu parameter . yakni string karakter yang akan ditampilkan.

Objek System.out juga menyediakan layanan lain yg dapat kita gunakan yakni metode print.
Perbedaan antara print dan println sangat tipis. Untuk memahaminya silahkan lihat contoh kode
berikut.
Bandingkan keluaran program dari HitungMundur.java, yang ditampilkan dibawah kode dengan
kode program. Perhatikan kata Angkat ditampilkan pada baris yang sama dengan beberapa kata
pertama, meskipun ia ditampilkan dengan menggunakan metode println, ingat bahwa metode
println bergeser ke awal baris berikutnya setelah informasi yang dilewatkan kepadanya
ditampilkan. Kesimpulannya metode println menampilkan informasi yangdikirim kepadanya ,
kemudian bergeser ke awal baris berikutnya sedangkan metode print tidak bergeser ke awal baris
berikutnya.

Penyambung String
Literal string tidak bisa menempati lebih dari satu baris didalam program, pernyataan program
berikut memiliki kesalahan sintaksis dan akan menghasilkan pesan error ketika dikompilasi:
System.out.println ("Satu-satunya pertanyaan bodoh adalah
Pertanyaan yang tidak ditanyakan.");

Ketika kita ingin menampilkan sebuah string yang terlalu panjang untuk dituliskan dalam satu bars
didalam sebuah program, kita dapat menggunaan penyambung string untuk melektkan satu string
ke string yang lain, disiini kita dapat menggunakn operator tanda plus ( + ). Ekspresi berikut
menyambung satu string karakter ke string yang lain, yang akan menghasilkan satuu string panjang.
System.out.println (“Satu-satunya pertanyaan bodoh adalah” + “Pertanyaan
yang tidak ditanyakan.”);
Untuk lebih memahami lihat contoh kode program dibawah ini :

Kode program diatas membuat beberapa pernyataan println, pernyataan pertama menampikan
sebuah kalimat panjang, karena literal string tidak dapat menempati dua baris pada suatu program,
kta dapat memecahnya menjadi dua dengan menggunakan operator penyambung string. Oleh
karena itu , operasi penyambungan string pada pernyataan println pertama menghasilan satu string
panjang yang dilewatkab kepada metode itu untuk ditampilkan.

Perhatikan kita tidak harus melewatkan informasi apapun kepda metode printl, seperti yang
ditunjukkan pada penyataan println kedua didalam program, pemanggilan ini tidak menampilan
karakter apapun tapi ia bergeser ke baris keluaran program selanjutnya. Jadi pada kasus ini,
pemanggilan println tanpa parameter memilikii efek penampilan sebuah baris kosong.

Kemudian pada penyataan ketiga, bahwa string dapat disambungkan dengan angka, perhatikan
bahwa angka tersebut tidak diapit oleh tanda kutip ganda, oleh karena itu angka tersebut bukanlah
string karate, padda kasus ini angka tersebut dikonversi menjdi string dan kemudian kedua string
tersebut disambung.

Karena kita menampilan nilai nilai tertentu , kita hanya perlu mencantumkan nilai numeric sebagai
bagian dar literal string, seperti :
"Terdapat:24jam sehari"

Digit adalah karakter dan dapat dicantumkan didalam string jika diperlukan, kita memisahkannya
didalam program diatas untuk mendemonstrasikan kemampuan penyambung string dengan angka.

Seperti yang kita bayangkan, operator + juga bisa dipakai untuk penjumlahan aritmetik, oleh karena
itu operator + sangat bergntung pada tipe tipe data dari operand operandnnya. Jika salah satu atau
kedua operand dari operator + adalah string, maka penyambung string akan dilakukan. Untuk lebih
memahami silahkan lihat cntoh program di bawah ini.
Program diatas mendemostrasikan perbedaan antara penyambungan string dan penjumlaha
aritmetik. Disini kita menggunakan operator + sebanyak 4 kali. Pemanggila pertama terhadap
println , kedua operator + melakukan penyambungan string karena operator-operator dieksekusi
dari kiri ke kanan. Operator + pertama menyambung string dengann angka pertama ( 24 ) yang
menciptakan sebuah string yang lebih besar. Kemudian string tersebut disambung dengan angka
kedua ( 45) yang menciptakan string yang lebih besar lagi.

Pada pemanggilan kedua terhadap println , kita menggunakan tanda kurung untuk
mengelompokkan operasi + dengan dua operand numeric. Hal ini akan memaksa operasi tersebut
dieksekusi terlebih dahulu. Karena kedua operand adalah anga, angka – angka itu dijumlahkan
secara aritmetik, yang menghasilkan 69. Angka itu kemudian disambungkan dengan string.
RUNTUN ESCAPE
Tanda kutip ganda digunakan dalam bhasa java untuk mengindikasika awal dan akhir sebuah string.
Bagaimana jika kita ingin menampilkan tanda kutip ..? . untuk mengatasi hal ini java mendefinisikan
runtun escape untuk mempresentasikan sejumlah karakter special. Ciri khas runtun escape ini
diawali dengan karakter garis miring ( \ ) yg mengindikasikan bahwa karakter atauu karakter
karkter yang mengikutinya perlu diinterpretasikan dengan cara tertentu.

Runtun Escape Makna


\b Backspace
\t Tab
\n Newline
\" Kutip ganda
\' Kutip tunggal
\\ Backslash
\r Carriage return
VARIABEL DAN PENUGASAN
Hampir semua informasi yang dikelola didalam sebuah program direpsentasikan oleh variable.apa
itu variabel ?

VARIABEL
Variabel adalah nama untuk suatu lokasi di dalam memori yang digunakan untuk menampung
sebuah nilai data. Deklarasi menginstruksikan penyusun untuk mencadangkan ruang memori
tertentu yag cukup untuk menampung sebuah nilai dengan tipe tertentu dan mengindikasika nama
untuk mengakes lokasi tersebut.
Baris pertma pada metode main adalah deklarasi atas sebuah variabel, dengan nama kunci, yang
menampung sebuah nilai integer ( int ). Deklarasi variabel juga memberikan nlai awal 88 kepada
kunci. Jika nilai awal tidak ditapkan untuk sebuah variabel, nilai dari variabel tersebut tidak
terdefinisi. Hamper semua penyusun java akan menghasilkan error atau memberikan pesan
peringatan jia kita mencoba menggunakan sebuah variabel sebelum memberikannya nilai secara
eksplisit.

Sebuah deklarasi variabel memuat tipe data yang diikuti variabel atau variabel-variabel. Setiap
variabel dapat di inisialisasi degan nilai yang ditetapkan ekspresi. Jika pengenal final dicantumkan di
awal deklarasi, maka pengenal tersebut dideklarasikan sebagai Konstanta bernama dengan nilai
yang tidak dapat diubah setelah ditetapkan. Berikut beberapa contoh untuk meng ilustrasikan
pendeklarasian variabel :

int total;

double angka1, angka2 = 4.356, angka3;

char huruf = 'A', digit = '7';

final int MAKS = 45;

pada program KunciPiano , ada dua potong informasi digunakan dalam pemanggilan terhadap
metode println. potongan informasi pertama adalah sebuah string, dan yang kedua adalah variabel
kunci. Ketika sebuah kunci di referensi, nilai yang ada didalamnya akan digunakan. Oleh karena itu.
Ketika pemanggilan terhadap println dieksekusi, nilai dari kunci, yang bernilai 88, diperoleh. Karena
nilai itu adalah sebuah integer, ia secara otomatis dikonversi menjadi string dan disambungkan
dengan string awal. String hasil penyambungan dilewatkan kepada println dan ditampilkan.

Sebuah deklarasi variabel dapat memiliki variabel bertipe sama yang dideklarasikan pada satu baris.
Setiap variabel pada baris tersebut dapat dideklaraskan dengan atau tanpa nilai awal. Sebagai
contoh.

int hitung, minimum = 0, hasil;


PERNYATAAN PENUGASAN
Contoh diatas kita akan memeriksa seniah program yag mengubah nilai dari suatu variabel.
Program ini mendeklarasikan suatu variabel integer, sisi dan menginisialisasinya dengan nilai 7.
Program kemudian menampilkan nilai terkini dari sisi.

Baris selanjutnya didalam main mengubah nilai yang disimpan didalam variabel sisi.

Sisi = 10;

Ini dinamakan dengan pernyataan penugasan ( assignment statement) karena ia menugaskan nilai
kepada sebuah variabel. Ketika dieksekusi, ekepresi di sisi kanan operator penugasan ( =) akan di
evaluasi, dan hasilnya disimpan didalm lokasi memori yang diindikasikan oleh variabel yang ada
disisi kiri operator penugasan. Pada contoh ini, ekspresi menugaskan nilai 10 kepada variabel sisi.

Sebuah variabel akan dapat menyimpab satu nilai dengan tipe sesuai pendeklarasiannya. Nilai baru
akan menggantikan nilai lama. Pada kasus ini, ketika nilai 10 ditugaska kepada sisi, nilai semula 7
diganti dengan 10.

Pernyataan penugasan dasar menggunakan operator penugasan ( =) untuk menyimpan hasil


ekspresi kedalam pengenal, umumnya sebuah variabel. Sebagai contoh .

total = 57;

jumlah = jumlah + 1;

nilai = (min/2) * nilaiAkhir;


bahasa java merupakan bahasa yang ketat dengan aturan sintaksis, dimana kita tidak
diperbolehkan menugaskan nilai kepada sebuah variabel yang tidak konsisten dengan tipe
terdeklarasi. Oleh karena itu ekspresi disisi kanan pernyataan peugasa harus menghasilkan nilai
evaluasi yang kompatibel dengan tipe variabel yang berada disisi kiri penugasan.

KONSTANTA
Kadangkala kita akan menggu-nakan data yang konstan ( tidak berubah ) selama program
dijalankan. Sebagai contoh kita mungkin akan menulis sebuah program yang berkaitann dengan
sebuah gedung yang memiliki daya tamping tidak lebih dari 247 orang. Akan sangat membantu
untuk memberikan nama kepada sebuah nilai konstanta. Seperti DAYA_TAMPUNG. Daripada
menggunakan nilai literal 247 didalam kode. Ada yang tau mengapa ..??

Konstanta adalah pengenal dann sama dengan variabel, kecuali bahwa konstanta menampung
sebuah nilai tertentu yang tidak dapat diubah.

Didalam javajka kita mengawali sebuah deklarasi dengan kata final, maka pengenal tersebut akan
dijadkan konstanta. Dengan kesepakatan bersama, huruf huruf besar dipakai untuk menamai
konstanta agar dapat membedakannya dari variabel biasa. Disamping itu antar kata dipisahkan
denga karakter garis bawah ( _ ) sebagai contoh :
final int DAYA_TAMPUNG = 247;

penyusun akan menghasilkan pesan error jika kita mencba mengubah mengubah nilai dari sebuah
konstanta, setelah konstanta tersebut diberikan nilai awal. Inilah alasann penggunaan
konstanta.konstanta dapat dipakai untuk mencegah error pengodean yang tak disengaja karena
satu-satunya tempat untuk mengubah nilainya adalah penugasan awal.

Alas an selanjutnya adalah. Jika konstanta digunakan di dalam beberapa bagian program dan
nilainya perlu dimodifikasi, maka kita hanya perlu merubahnya disatu tempat. Contoh, jika daya
tamping gedung berubah ( karena direnovasi ) dari 247 menjadi 555, maka kita hanya perlu
mengubah satu deklarasi dan semua pernyataan yang menggunakan DAYA_TAMPUNG akan
otomatis menyesuaikan dengan nilai tersebut. Bayangkan jika menggunakan literal 247 digunakan
pada beberapa bagian didalam program, maka kita perlu mengubahya satu persatu, jika kita
abaikan salah satunya, maka masalah akan terjadi misalnya ketidak akuratan hasil perhitungan.
TIPE – TIPE DATA PRIMITIF

Ada delapan tipe data primitif didalam java yakni

4 subbagian dari integer

2 subbagian dari titik mengembang

Tipe data karakter

Tipe data Boolean

Segala sesuatu yang lain direpresentasikan menggunakan objek.

INTEGER DAN TITIK MENGAMBANG


Java mempunyai dua jenis nilai numeric yakni integer yang tidak memiliki komponen pecahan dan
titik mengambang, yang memilki komponen pecahan. Ada 4 tipe data integer yakni byte, short, int
dan long dan dua jenis tipe data titik mengambang yakni float dan double. Semua tipe data
numeric berbeda berdasarkan ruang memori yang dipakai untuk menyimpan sebuah nilai, yang
menentukan rentang nilai yang dapat direpresentasikan. Ukuran dari tiap data sama untuk semua
perangkat keras. Semua tipe data numeric memiliki tanda yang berarti bahwa nilai positif dan
negative dapat disimpan didalamnya.

Tipe data Penyimpanan Nilai minimum Nilai maksimum


Byte 8-bit -128 127
Short 16 bit -32,768 32,767
Int 32bit -2,147,483,648 2,147,483,647
Long 64bit -9,223,372,036,854,775,808 9,223,372,036,854,775,807
Float 32bit Berkisar -3.4E+38 dengan 7 digit Berkisar 3.4E+38 dengan 7 digit
signifikan signifikan
Double 64 bit Berkisar -1.7E+308 dengan 15 Berkisar 1.7E+308 dengan 15 digit
digit signifikan signifikan

Ingat bahwa bit direpsentasikan oleh 1 dan 0. Karena setiap bit dapat direpresentasikann dua
keadaan yang berbeda, sebuah string dengan N-bit dapat digunakan untuk merepresentasikan 2
pangkat n nilai yang berbeda.

Seperti yang telah dibahas, literal merupakan sebuah nilai data eksplisit didalam sebuah program.
Pelbagai angka yang telah digunakan dalam contoh program sebelumnya seperti fakta, pejumlahan
dan KunciPiano, semuanya literal integer.java mengasumsikan bahwa semua literal integer bertipe
int. kecuali jika L atau l ditambahkan diakhir nilai untuk mengindikasikan bahwa nilai tersbut
bertipe long , seperti 354L.
Sama halnya java mengasumsikan bahwa semua literal titik mengambang bertipe double. Jika kita
perlu memperlakukan sebuah literal titik mengambang sebagai float, kita bisa menambahkan huruf
F atau f diakhir nilai, seperti 362.464F atau 382.33f.literal numeric bertipe double dapat dibubuhi D
atau d bila diingnkan.

Literal integer terdiri dari sederet digit yang diikuti sufiks opsional untuk mengindikasikan bahwa ia
dipandang sebagai sebuahh integer, contohnya :

45

255694

69320328L

Berikut merupakan contoh-contoh deklarasi variabel numeric dalam java:

int jawaban = 42;

byte angkaKecil1, angkaKecil2;

long jumlahBintang = 86827263927L;

float rasio = 0.2363F;

double delta = 453.523311903;


KARAKTER
Karakter merupakan tipe data fundamental lain yang digunakan dan dikelola pada sebuah
computer. Karakter individual dapat diberlakukan sebagai item data terpisah, dan seperti contoh
contoh yang sudah kita buat sebelumnya beberapa karakter dapat dikombinasikan untuk
membetuk string karakter.

Sebuah literal karakter diekspresikan dalam sebuah program java dengan tanda kutip tunggal,
seperti 'b' atau 'K' atau '#'. Kita tentu mengingat bahwa literal string dibatasi oleh tanda kutip
ganda dan bahwa tipe string bukanlah tipe data primitif didalam java, ia merupaka sbuah nama
kelas. Nanti kita akan bahas masalah string ini lebih mendalam.

Mari kita perhatikan perbedaan antara digit sebagai sebuah karakter ( atau bagian dari sebuah
string ) dan digit sebagaii sebuah angka ( atau bagian dari sebuah angka ). Angka 602 merupakan
sebuah nilai numeric yang dapat direpresentasikan dalam perhitungan numeric. Tetapi didalam
string “602 orang perkilometer”, kita dapat menyimpulkan bahwa 6,0 dan 2 merupakan karakter-
karakter seperti karakter lain didalam string tersebut.

Karakter karakter yang dapatt dikelola didefinisikan oleh himpunan karakter, yang merupakan
sebuah daftar karakter dengan urutan tertentu. Setiap bahasa pemprograman mendukung
himpunan karate tertentu yang mendefiniskan semua nilai valid bagi variabel karakter pada bahasa
itu. Beberapa himpunan karakter namun hanya sedikit yang digunakan secara regular. Himpunan
karakter ASCII ( American standart code for information interchange ) merupakan pilihan yang
popular. Himpunan karakter AsCII dasar menggunakan tujuh bit per karakter, yang menyediakan
ruang untuk mendukung 128 karakter yang berbeda termasuk :

1. Huruf huruf besar seperti A, B dan C


2. Huruf huruf kecil seperti a, b dan c
3. Tanda tanda baca seperti titik (.), titik koma (;) dan koma (,)
4. Digit digit 0 sampai 9
5. Karakter spasi (“ “)
6. Sembol symbol special seperti ampersand ( &), vertical bar (|) dan backslash (\)
7. Karakter karakter control seperti carriage return, null dan lainnya.

Karakter karakter control kadang kala dinamakan dengan karakter karakter nonprinting atau
invisible karena tidak memiliki symbol spesifik untuk mempresentasikannya. Tetapi semua karate
tersebut valid seperti karakter lainnya dan dapat disimpan dan digunakan dengan cara yang sama.
Banyak karate control mempunyai makna khusus pada aplikasi-aplikasi perangkat lunak tertentu.

Seiring perkembangan komputasi pengguna menuntut himpunan karakter yang lebih fleksibel yang
memuat alphabet alphabet bahasa lain. Ascii diperluas untuk menggunakan 8 bit per karakter dan
jumlah karakter didalamnya dilipatgandakan menjadi 256. ASCII extended ini memuat banyak
karater dari luar bahsa inggris.
Namun meskipun dengan 256 karakter himunan karakter ASCII tetap saja tidak bisa
merepresentasikan semua alphabet diseluruh dunia khususnya asia.oleh karena itu pengembang
bahasa java memilih himpunan karakter Unicode yang menggunakan 16 bit perkarakter yang
mendukung 65536 karakter unik. Karakter karakter dan symbol symbol dari banyak bahasa didunia
dicantumkan didalam definisi Unicode. ASCII merupakan subbagian dari himpunan karakter
Unicode.

Dalm java, tipe data char merepresenasikan sebuah karakter tunggal. Berikut merupakan beberapa
contoh deklarasi variabel karakter dalam java:

char nilaiMaks = ‘A’;

char simbol1, simbol2, simbol3 ;

char penutup = ‘;’, pemisah = ‘ ‘;

BOOLEAN

Nilai Boolean yang didefinisikan dalam java menggunakan kata kunci Boolean, hanya memiliki dua
nilai valid yani true dan false, sebuah variabel Boolean umunya dipakai untuk mengindikasikan
apakah kondisi tertentu bernilai true atau false, tetapi ia dapat juga dipakai untuk
merepresentasikan semua situasi yang memiliki dua keadaan, seperti lampu hidup atau mati.
Nilai Boolean tidak dapat dikonversi menjadi tipe data lain atau tipe data lain juga tidak dapat
dikonversi menjadi sebuah nilai Boolean. Kata true dan false merupakan kata kunci dalam java
sebagai literal Boolean dan tidak dapa digunakan diluar konteks ini.

Berikut contoh beberpa deklarasi variabel Boolean dalam java :

boolean kebenaran = true ;

Boolean terlaluBesar, terlaluKecil, terlaluRendah;

Boolean selesai = false;


EKPRESI

Ekspresi merupakan gabungan dari satu atau lebih operator dan operand yang biasanya dpakai
untuk melakukan suatu perhitungan, nilai yang dihitung tidak harus angka. Operand operand yang
dipakai didalam operasi bisa saja berupa literal, konstanta, variabel atau sumber data lainnya.
Untuk saat ini kita mempelajari ekspresi ekspresi aritmetik yang menggunakan operan operand
numeric dan menghasilkan hasil hasil numeric

Operator aritmetik

Umumya operasi aritmetik didefinisikan untuk tipe tipe numeri integer dan titik mengambang.
Termasuk penjumlahan ( + ), pengurangan ( - ), perkalian ( * ) dan pembagian ( / ). Java juga
menyediakan operasi aritmetik lainnya, yaitu operator sisa ( % ) menghasilkan sisa pembagian
operand pertama oleh operand kedua. Operator sisa juga dikenal dengan operator modulus. Tanda
dari hasil operasi modulus adalah tanda dari numerator ( pembilang) oleh karena itu :

Operasi Hasil
17 % 4 1
-20 % 3 -2
10 % -5 0
3%8 3
Seperti yang kita harapkan , jika salah satu atau kedua operand pada operator numeric merupakan
nilai titik mengambang, maka akan dihasilkan nilai titik mengambang, namun, operator pembagian
menghasilkan hasil yang agak susah diprediksi, bergatung pada tipe operandnya. Jika kedua
operand bertipe integer maka operator / akan melakukan pembagian integer, yang berarti bahwa
komponen pecahan dari hasil pembagiann akan dibuang. Tetapi jika salah satu atau kedua operand
bertipe titik mengambang, maka operator / akan melakukan pembagian titik mengambang, dan
komponen pecahan dari hasil dipertahankan. Sebagai contoh, hasil dari 10 / 4 adalah 2, tetapi hasil
dari 10.0/4 dan 10/4/0 dan 10.0/4.0 semuanya adalah 2.5

Operator unary hanya mempunyai satu operand sedangkan operator biner memiliki dua operand.
operand aritmetik + dan – dapat menjadi operator unary atau operator biner. Versi biner dari
kedua operator ini melakukan operasi penjumlahan dan pengurangan, dan versi unary dari kedua
operator ini merepresentasikan angka positif dan angka negative. Sebagai contoh, -1 merupkan
contoh penggunakan operator versi unary dari operator – untuk menghasilkan nilai negative.
Operator + unary jarang digunakan.

Java tidak memiliki operator built-in untuk memangatkan sebuah nilai eksponen tertentu. Namun ,
kelas Math menyediakan metode metode untuk melakukan eksponensiasi dan banya fungsi
matematika lain. Nanti kita akan ketemu dengan kelas MATH.
KEUTAMAAN OPERATOR

Operator-operator dapat dikombinasikan untuk menciptakan ekspresi yang lebih kompleks, sebagai
contoh perhatikan pernyataan penugasan berikut :

hasil = 14 + 8 / 2 ;

sisi kanan dari operator penugasan ( =) dievaluasi, dan kemudian hasilnya disimpan didalam
variabel hasil. Tetapi apa hasilnya ..??.

kesimpulannya adalah pembagian dilakukan terlebih dahulu baru penjumlahan

pada contoh contoh selajutnya kita akan menggunakan nilai nilai literal ( bukan variabel-varibel )
untuk menyederhanakan ekspresi. Urutan evaluasi ekspresi sama jika operand berupa variabel atau
sumber data lain.

Semua ekpresi dievaluasi sesuai hierarki keutamaan operator yang mengatur urutan operasi
operasi dievaluasi. Operator operator artimetik umunya mengikuti aturan yang sama seperti ketika
kita memplejari aljabar …!. Operator perkalian, pembagian dan modulus memiliki keutamaan yang
sama dan dilakukan sebelum ( memiliki keutamaan lebih tinggi ) penjumlahan dan pengurangan.
Operator penjumlahann dan pengurangan memiliki keutamaan yang sama.

Operator-operator aritmetik pada level keutamaan yang sama dilakukan dari kiri ke kanan, oleh
karena itu, operator operator aritmetik dikatakan memiliki asosiasi kiri ke kanan.
Namun, keutamaan dapat dipaksakan didalam sebuah ekpresi menggunakan tanda kurung, sebagai
contoh, jika kita ingin penjumlahan dilakukan lebih dahulu pada contoh sebelumnya, kita dapat
menuliskan ekspresinya sebagai berikut :

hasil = ( 14 + 8) / 2 ;

Semua ekspresi yang ditempaykan didalam kurung harus dievaluasi terlebih dahulu. Pada ekpresi
yang lebih kompleks, penggunaann tanda kurung merupakan hal yang lebih baik untuk
memperjelas bagaimana ekpresi di evaluasi.

Tanda kurung dapat dibuat bersarang, dan ekspresi yang berada didalam kurung terdalam akan
dievaluasi pertama kali. Perhatikan ekspresi berikut :

hasil = 3 * ((18 – 4 ) / 2 );

pada contoh ini, hasilnya adalah 21. Pertama-tama, pengurangan dilakukan, dipaksa oleh tanda
kurung terdalam. Kemudian , meskipun perkalian dan pembagian berada pada level keutamaan
yang sama dan seharusnya dievaluasi dari kiri ke kanan, operasi pembagian dilakukan lebih dahulu
karena tanda kurung terluar. Terakhir operasi perkalian dilakukan.

Setelah operasi-operasi aritmetik selesai dilakukan hasil perhitungan disimpan didalam variabel
yang ada disisi kiri operator penugasann ( = ). Dengan kata lain, operator penugasan memiliki
keutamaan yang lebih rendah dari sembarang operator aritmetik.
Evaluasi terhadap ekspresi tertentu dapat ditunjukkan menggunakan pohon ekspresi. Operator
operator dieksekusi dari bawah ke atas, yang menciptakan nilai-nilai yang akan dipakai pada sisa
ekspresi. Oleh karena itu , operasi operasi yang ada di bawah pohon memiliki keutamaan yang
lebih tinggi daripada yang ada diatas, atau operasi operasi yang ada dibawah pohon dipaksa
dieksekusi menggunakan tanda kurung.

+
Mengevaluasi :
a /
a+(b–c)/d
- d

b c

tanda kurung yang digunakan didalam ekspresi sebenarnya juga operator. Tanda kurung memiliki
keutamaan lebih tinggi dari hamper semua operator lain. Berikut menunjukkan table keutamaan
dengan relasi relasi antara operator aritmetik, tanda kurung dan operator penugasan.
Level keutamaan Operator Operasi asosiasi
1 + Unary Plus Kanan ke kiri
- Unary Minus
2 * Perkalian Kiri ke kanan
/ Pembagian
% modulus
3 + Penjumlahan Kiri ke kanan
- Pengurangan
+ Penyambung string
4 = Penugasan Kanan ke kiri

Untuk sebuah ekspresi yang secara sintaksis tepat, jumlah kurung kiri harus sama dengan jumlah
kurung kanan dan harus secara tepat bersarang, contoh contoh berikut bukan ekspresi yang valid

hasil = ( (19 + 8 ) % 3 ) – 4 ) ; // ini gak valid

hasil = ( 19 ( + 8 %) 3 – 4 ); //tidak valid


ingat bahwa ketik sebuah variabel direferensi ( diakses ) didalam suatu ekspresi, nilai terkininya
dipakai untuk melakukan perhitungan. Pada pernyataan penugasan berikut, nilai terkini dari
variabel hitung di jumlahkan dengan nilai terkini dari variabel total dan hasilnya disimpan dalam
variabel jum :

jum = hitung + total ;

nilai awal yang dimuat didalam jum sebelum penugasan ini diganti dengan nilai hasil perhitungan.
Nilai nilai yang disimpan didalam hitung dan total tidak berubah.

Variabel yang sama dapat ditempatkan baik di sisi kiri maupunn disisi kanan penyataan penugasan.
Dimisalkan bahwa nilai terkinni dari sebuah variabel, hitung adalah 15 ketika penyataan penugasan
berikut dieksekusi :

Hitung = hitung + 1 ;

Karena ekspresi di sisi pernyataan penugasan di evaluasi terlebih dahulu, nilai awal dari hitung
diperoleh dan nilai 1 ditambahkan padanya, yang menghasilkan nilai 16. Hasil itu kemudian
disimpan didalam variabl hitung, menggantikann nilai awal 15 dengan nilai baru 16. Oleh karena
itu, pernyataa penugasan ini menginkremen atau menambah 1 dari variabel hitung.

Mari kita lihat contoh lain dari pemrosesan ekspresi berikut. Pada kode program dibawah kita
namai dengan KonversiSuhu, mengonversi nilai suhu Celcius menajdi nilai suhu Fahrenheit
ekuivalen menggunakan sebuah ekspresi yang menghitung formula berikut ;
Fahrenheit = Celcius + 32

Perhatikan bahwa pada program konversi suhu tersebut, operand operand pada operasi
pembagian adalah literal literal ttik mengambang untuk memastikan bahwa komponen pecahan
dari hasil pembagian tetap dipertahankan. Aturan keutamaan mendikte bahwa perkalian terjadi
sebelum penjumlahan pada komputasi konversi akhir.

Program KonversiSuhu tidak terlalu banyak berguna karena ia hanya mengovenrsi satu nilai data
yang dicantumkan kedalam program sebagai konstanta ( 24 derajat Celcius ). Setiap kali program
dijalankan, ia aan menghasilkan nilai yang sama. Versi program yang lebih baik akan mendapatkan
nilai yang akan dikonversi dari pengguna ketika program di eksekusi. Program interaktif yang
membaca masukk pengguna akan kita bahas nanti.
OPERATOR INKREMEN DAN OPERATOR DEKREMEN

Ada dua operator aritmetik lain yang perlu kta ketahui. Operator inkremen ( ++ ) menambahkan
pda satu sembarang nilai integer atau nilai titik mengambang. Dua tanda plus pada operator
inkremen tidak dapat dipisah dengan spasi putih /blank space . operator dekremen sama dengan
operator inkremen kecuali bahwa ia mengurangi 1 dari nilai integer atau titik mengambng. Keua
operator ini merupakan operator unary karane hanya memerlukan satu operand. Pernyataan
berikut menyebabkan nilai dari hitung di inkremen.

hitung++;

hasil komputasi disimpan kembali kedalam variabel hitung, oleh karena itu pernyataan inni secara
fungsional sama dengan pernyataan berikut, yg sudah kta bahas sebelumnya :

hitung = hitung+ 1;

operator increment dan operator dekremen bisa diterapkan setelah variabel ( seoerti hitung++
atau hitung-- ) yang menciptakan apa yang dinamakan dengn bentuk prefix dari operator. Ketika
digunakan sendiri didalam sebuah pernyataan, bentuk postfiks dan bentuk prefix secara fungsional
ekuivalen, jadi gak ada masalah ketika kita menuliskan seperti Idibawah ini :

hitung++;

atau
++hitung;

Namun, ketika bentuk semacam itu dituliskan sebagai sebuah pernyataan, ia umunya dituliskan
dalam bentuk postfiksnya.

Ketika operator inkremen atau operator dekremen digunakan didalam ekspresi yang cukup
panjang, ia dapat memberikan hasil yang berbeda, bergantung pada bentuk yang dipakai. Sebagai
contoh, jika variabel hitung memuat 15, pernyataan berikut menugaskan nilai 15 kepada total dan
nilai 16 kepada hitung :

total = hitung++;

namun pertnyataan berikut menugaskan nilai 16 kepada kedua total dan hitung

total = ++hitung;

nilai dari hitung di inkremen pada kedua situasi tersebut, tetapi nilai yang dpakai pada ekspresi
yang panjang bergantung pada apakah bentuk prefix atau bentuk postfiks dari operator inkremen
yang digunakan.
OPERATOR PENUGASAN

Beberapa operator penugasann telah didefinisikann didalam java yang menggabungkan sebuah
operasi dasar dengan operasi penugasan. Sebagai contoh , operator += dapat digunakn sebagai
berikut :

total += 5;

ini sama dengan operasi pada pernyataan berikut

total = total + 5;

ekspresi pada sisikanan operator penugasan lebih dahulu di evaluasi, kemudian hasilnya
ditambahkan pada nilai terkini dari variabel yang ada disisi kiri operator penugasan, dan nilai
tersebut disimpan pada variabel itu. Oleh karena itu, pernyataan berikut

total += (jum – 12) / hitung;

euivalen dengan :

total = total + ( ( jum – 12 / hitung ) ;

banyak operator penugasab semacam itu didefinisikan didalam java, termasuk opersi penugasan
pengurangan _( -= ) , operasi penugasan perkalian ( *=), operasi penugasan pembagian ( /=) dan
operasi penugasan modulus ( %=).
Semua operator penugsan tersebut terlebh dahulu mengevaluasi keseluruhan ekspresi yang ada
disisi kanannya, kemudian menggunakan hasil evaluasi tersebut sebagai oprand kanan dari operasi
lain. Oleh karena itu pernyataan berikut :

hasil *= hitung1 + hitung2;

ekuivalenn dengan

hasil = hasil * (hitung1 + hitung2);

sama halnya pernyataan berikut

hasil %= (tertinggi - 40) / 2;

ekuivalen dengan

hasil = hasil % ( (tertinggi - 40) / 2);

beberapa operator penugasan melakukan fungsi fungsi khusus yang bergantung pada tipe data dari
operand operandnya , sama seperti operator biasa, sebagai contoh, jika operand operand pada
operator += adalah string, maka operator operator penugasan akan melakukan penyambungan
string
Kata kunci (Keyword) dan Operator pada JAVA

Kata kunci (keyword) dalam JAVA


Data Loop Conditional Exception Structure Modifier Miscellane
declaration keyword keyword keyword keyword keyword ous keyword
keyword
Boolean Break Case Catch Abstract Final False
Byte Continue Else Finally Class Native Import
Char Do For If Throw Default New Null
Double while Switch Try Extends Private Package
Float Implements Protected Return
Int Instance Of Public Super
Long interface Static This true
Short Synchronized
Thereadsafe
Transient void

Karakter dalam JAVA


Deskripsi Urutan Output
Karakter apa saja ‘A’ A
Backspace (BS) ‘\b’ Backspace
Horizontal tab (HT) ‘\t’ Tab
Linefeed (LF) ‘\n’ Line feed
Formfeed ‘\f’ Formfeed
Carriage ‘\r’ Carriage return
return (CR)
Double quote ‘\*’ ―
Single quote ‘\’’ ‘
Backslash ‘\\’ \
Operator dan Operasi dalam JAVA

Operator Aritmatika
Operator Operasi Contoh
+ Penambahan A+B
- Pengurangan A–B
* Perkalian A*B
/ Pembagian A/B
% Sisa hasil bagi A%B

Operator Pembandingan Dalam Bahasa Java


Operator Operasi Contoh Arti
== Sama A == B Apakah A sama dengan B?
!= Tidak sama A != B Apakah A tidak sama dengan B?
< Lebih kecil A<B Apakah A lebih kecil dari B?
> Lebih besar A>B Apakah A lebih besar dari B?

<= Lebih kecil sama atau A <= B Apakah A lebih kecil atau sama
dengan dengan B?
>= Lebih besar sama atau A >= B Apakah A lebih besar atau sama
dengan dengan B?
Operator Bitwise Dalam Bahasa Java
Operator Operasi
& Bitwise AND
| Bitwise OR
^ Bitwise XOR
<< Left shift
>> Right shift
>>> Zero fill right shift
- Bitwise complete
<<= Left shift assignment
>>= Right shift assignment
>>>>= Zero fill right shift assignment
X&=Y ANG assignment
X|=Y OR assignment
X^=Y XOR assignment

Operator Unary
Operator Operasi
- Negasi
~ Betwise complete
++ Increment
-- Decrement
! Not
Operasi Pemberian Nilai (Assignment) Dalam Bahasa Java
Operator Operasi Contoh Arti
= Pemberian nilai A = 20 A = 20
+= Penambahan pada peubah yang sekarang A += B A=A+B
-= Pengurangan pada peubah yang sekarang A -= B A=A–B
*= Perkalian pada peubah yang sekarang A *= B A=A*B
/= Pembagian pada peubah yang sekarang A /= B A=A/B
%= Sisa hasil bagi pada peubah yang sekarang A %= B A=A%B

Operasi Inkrementasi Dan Dekrementasi Dalam Bahasa Java


operator Operasi Contoh Arti
++ Penambahan dengan 1 A++ atau ++A A=A+1
-- Pengurangan dengan 1 A—atau --A A=A-1

Tipe Data Dalam Bahasa Java

• Rentangan tiper data bilangan bulat


Tipe data Panjang Nilai minimum Nilai maksimum
Byte 8 bit -128 127
Short 16 bit -32768 32767
Int 32 bit -2147483684 2147483647
Long 64 bit -9223372036854775808 922337203654775807

• Rentangan tipe data bilangan pecahan


Tipe data Panjang Nilai minimum Nilai maksimum
Float 4 byte -3.4e38 3.4e38
double 8 byte -1.7e308 1.7e308

• Rentangan tipe data Boolean dan Character


Tipe data Panjang Nilai
Char 16 bit Unicode
Boolean 1 bit TRUE atau FALSE
KONVERSI DATA

JAVA memiliki aturan tipe data yg ketat, setiap nilai data harus mimiliki tipe data tertentu. Kadang
kala sangat berguna atau diperlukan untuk mengoversi sebuah nilai data dengan tipe data tertentu
menjadi tipe data lain. Tetapi kita perlu hati hati dalam melakukannya agar kita tidak kehlangan
informasi penting dalam proses tersebut. Sebagai contoh.

Dimisalkan bahawa sebuah variabel short yang menampung angka 1000 dikonversi menjadi sebuah
nilai byte, karena byte tidak memiliki cukup bit untuk mempresentasikan nilai 1000, sejumlah bit
akan hilang dalam proses konversi tersebut, dan angka yag direpresentasikan dalam byte tidak
akan mempertahankan nilai awalnya.

Konversi antara satu tipe data primitive menjadi tipe data primitiif lain dikategorikan ke dalam dua
kategori, yakni konversi melebar dan konversi menyempit. Konversi melebar merupakan cara
yang paling aman karena informasi tidak akan hilang pada proses tersebut. Dinamakan konversi
melebar karena konversi satu tipe data ke tipe data lain dilakukan menggunakan jumlah memori
yang sama atau lebih besar untuk menyimpan nilai hasil konversi.
Table dibawah mencantumkan sejumlah konversi melebar didalam java

Dari Ke
byte Short, int, long, float atau double
short int,long, float atau double
char int,long, float atau double
int long, float ata double
long float atau double
float double

Sebagai contoh, adalah aman untuk mengonversi dari sebuah byte menjadi sebuah short karena
byte disimpan dalam 8-bit dan short disimpan dalam 16-bit. Tidak ada informasi yang hilang.
Semua konversi melebar dari tipe integer satu menjadi integer lain, atau dari tipe titik
mengambang satu menjadi tipe titik mengambang lain, mempertahankan nilai numeric scara
persis.

Meskipun konversi melebar tidak menyebabkan hilangnya informasi tentang magnitudo dari suatu
nilai, tetapi konversi melebar yang menghasilkan nlai titik mengambang dapat menyebabkan
hilangnya ke presisi an, beberapa digit kurang signifikan bisa hilang., mengikuti aturan aturan
pembulatan yang didefinisikan dalam standart titik mengambang pada IEEE 754.
Konversi menyempit lebih memungkinkan dalam menyebabkan hilangnya informasi daripada
konversi melebar. Konversi ini mengonversi satu tipe data menjadi suatu tipe data yang
menggunakan ruang memori yang lebih sedikit dalam menyimpan sebuah nilai, dan karena itu
sejumlah informasi bisa saja hilang. Konversi menyempit dapat menyebabkan hilangkan magnitude
numeric dan ke presisi an. Oleh karena itu umumnya, hal ini dihindari. Table dibawah encatumkan
sejumlag konversi menyempit dalam java.

Dari ke
byte Char
short Byte atau char
char Byte atau short
int Byte, short atau char
long Byte , short, char atau int
float Byte , short, char , int atau long
double Byte , short, char , int, long atau float

Pengecualian pada konversi menyempit adalah ketika kita mengonversi sebuah byte ( 8-bit) atau
short ( 16-bit ) menjadi sebuah char ( 16-bit ). Ini masih dipandang sebagai konversi menyempit,
karena bit tanda digabungkan ke dalam nilai karakter baru. Karena nilai sebuah karakter adalah tak
bertanda, maka suatu nilai integer negatif akan dikonversi menjadi sebuah karakter yang tidak
memiliki relasi apa pun dengan nilai numeric dari integer asli.
Perhatikan juga, bahwa nilai Boolean tidak disebutkan pada konversi melebar atau konversi
meyempit, sebuag nilai Boolean tidak dapat dikonversi menjadi tipe data primitive apapun, dan
sebaliknya.

TEKNIK TEKNIK KONVERSI

Dalam java konversi dapat terjdi dalam 3 cara

1.konversi penugasan

2. promosi

3. casting

Konversi penugasan terjadi ketika sebuah nilai dengan tipe data tertentu ditugaskan kepada
sebuah variabel dengan tipe data lain dimana pada saat itu nilai dikonversi menjadi tipe data baru.
Hanya konversi melebar yang dapat dilakukan melalui penugasan. Sebagai contoh, jika uang adalah
sebuah variabel float dan rupiah adalah sebagai variabel int. maka pernyataan penugasan berikut
secara otomatis mengonversi nilai rupiah menjadi sebuah float :

uang = rupiah;

oleh karena itu, jika rupiah memuat nilai 25, maka setelah penugasan, uang akan memuat nilai
25.0.
Namun jika kita mencoba menugaskan uang kepada rupiah, maka penyusun akan menampilkan
pesan error untuk mengingatkan kita bahwa kita sedang mencoba melakukan konversi menyempit,
yang bisa menyebabkan hilangnya informasi. Jika kita ingin benar benar melakukan konversi
eksplisit menggunakan casting.

Konversi melalu promosi terjadi secara otomatis ketika operator-operator tertentu perlu
memodifikasi operand operandnya untuk melakukan operasi. Sebagai contoh ketika sebuah nilai
titik mengambang jum dibagi oleh sebuah nilai integer; hitung, maka nilai dari hitung akan
dipromosikan menjadi sebuah nlai titik mengambang secara otomatis, sebelum pembagian
dilakukan, yang memberikan suatu hasil titik mengambang.

hasil = jum / hitung ;

konversi yang sama terjadi ketika sebuah angka disambungkan dengan sebuah string. Angka
tersebut lebih dahuluu dikonversi ( dipromosikan ) menjadi string, dan kedua string tersebut
kemudian disambung.
casting merupakan format umum dari konversi didalam java. Jika sebuah konversi harus dilakukan
didalam sebuah program java, hal itu dapat dilakukan menggunakan casting. Cast merupakan
sebuah operator java yag ditetapkan dengan sebuah nama tipe data didalam tanda kurung.
Operator cast ditempatkan didepan nilai yang akan dikonversi. Sebagai contoh, untuk mengonversi
uang menjadi sebuah nilai integer, kita dapat menempatkan operator cast didepannya.

rupiah = ( int ) uang;

operator cast menghasilkan nilai uang dengan memotng atau membuang komponen pecahannya,
jika uang memuat nilai 36.48, maka setelah penugasan, rupiah akan memuat nilai 36.perhatikan
bahwa cast tiak mengubah nilai didalam uang. Setelah operasi penugasan selesai dilakukan, uang
masih tetap memuat nilai 36.48

cast berguna pada banya situasi, seperti ketika kita perlu memperlakukan sebuah nilai secara
temporer sebagai tipe data lain. Sebagai contoh, jika kita ingin membagi nilai integer total dengan
nilai integer hitung dan ingin mendapatkan hasil titik mengambang, maka hal yang dapat kita
lakukan adalah :

hasil = ( float ) total / hitung ;

pertama tama operator cast menghasilkan versi titik mengambang dari nilai total. Operasi ini tidk
mengubah nilai didalam total. Kemudian hitung diperlakukan sebagai sebuah nilai titik
mengambang melalui promosi aritmetik. Sekarang operator pembagian akan melakukan
pembagian titik mengambang dan memberikan hasil yang diinginkan. Jika cast tidak disertakan,
maka operasi akan melakukan pembagian integer dan membuang komponen pecahan dari hasil
pembagian sebelum menugaskannya kepada hasil. Perhatikan pula bahwa karena operator cast
mempunyai keutamaan yang lebih tinggi dari pada operator pembagian, maka ia beroperasi
(diterapkan ) pada total, bukan pada hasil pembagian.
PROGRAM INTERAKTIF

Dalam beberapa situasi adalah penting untuk mendesain sebuah program untuk membaca data /
inputan dari pengguna secara interaktif selama eksekusi.

KELAS SCANNER

Kelas scanner merupakan bagian dari pustaka kelas java, menyediakan beberapa metode untuk
membaca nilai nilai masukkan pelbagai tipe data. Masukkan bisa berasal dari sejumlah sumber,
termasuk data yang diketikkan oleh pengguna atau data yang disimpan didalam suatu file. Kelas
scanner dapat pula dipakai untuk memecah sebuah string karakter menjadi potongan potongan
terpisah. Dibawah ini adalah sejumlah metode yang disediakan oleh kelas scanner.
Scanner ( InputStream sumber )
Scanner ( File sumber )
Scanner ( String sumber )
Konstruktor : membangun scanner baru yang membaca nilai nilai dari sumber tertentu.
String next ()
Menghasilkan token masukan berikutnya sebagai sebuah karakter string
String nextLine ()
Menghasilkan semua masukan sisa pada baris terkini sebaga sebuah karakter string.

boolean nextBoolean ()
byte nextByte ()
double nextDouble ()
float nextFloat ()
int nextInt ()
long nextLong ()
short nextShort ()
menghasilkan token masukkan berikutnya sebagai tipe data yang diindikasikan. Melempar
InputMismatchException
jika token berikutnya tidak konsisten dengan tipe data tersebut

Boolean hasNext ()
Menghasilkan true jika scanner memiliki token lain sebagai masukkanya.

Scanner useDelimiter (string pola)


Scanner useDelimiter (Pattern pola )
Menetapkan pola pembatas scanner
Pattern delimiter ()
Menghasilkan pola yang sedang digunakan oleh scanner untuk mencocokan pembatas.

String findLine (String pola)


String findLine ( Pattern pola)
Mencoba menemukan kemunculan berikutnya dari pola tertentu., mengabaikan pembatas.

Kita terlebih dahulu menciptakan sebuah objek Scanner untuk memanggil metode metodenya.
Objek didalam java diciptakan menggunakan operator new. Deklarasi berikut menciptakan sebuah
objek scanner yang membaca masukkan dari keypad/papan ketik.

Scanner scan = new Scanner (System.in);

Dekalrasi ini menciptakan sebuah variabel scan, yang merepresentasikan sebuah objek scanner.
Objek itu sendiri diciptakan menggunakan operator new dan sebuah pemanggilan terhadap
metode khusus ( konstruktor ) untuk membangun objek itu.

Konstruktor Scanner menerima sebuah parameter yang mengindikasikan sumber masukkan.

Objek System.in merepresentasikan aliran masukkan standar, yang secara default merupakan
keypad/papan ketik.

Kecuali, bila ditetapkan, sebuah objek scanner mengasumsikan bahwa karakter spasi blank/spasi
putih ( karakter spasi, tab dan newline ) dipakai untuk memisahkan elemen-elemen masukkan,
dinamakan dengan token, satu sama lain. Karakter ini dinamakan dengan pembatas ( delimiter )
masukkan. Pembatas pembatas ini dapat diubah jika token token masukkan dipisahkan oleh
karakter karakter selain spasi blank/putih.

Metode nest dari kelas scanner membaca token masukkan berikutnya sebagai sebuah string dan
menjadikannya nilai balik. Oleh karena itu, jika masukkan terdiri dari sederet kata yang dipisahkan
oleh spasi, setiap pemanggilan terhadap next akan menghasilkan kata berikutnya.

Metode nextLine memnbaca semua masukkan sampai ditemui akhir baris ( end of line ), dan
menghasilkannya sebagai satu string.
Program diatas membaca sebaris teks yag diketikan oleh pengguna, menyimpannya didalam
sebuah variabel yag menampung suatu karakter string, kemudian menampilkannya kembali ke
layar monitor. Pernytaan import diatas define kelas echo memberitahu program bahwa ia akan
menggunakan kelas scanner didalam program. Kelas scanner merupakan bagian dari pustaka kelas
java.util ….. kegunaan dari pernyataan import akan kita bahas nanti.
Sejumlah metode scanner sepert nextInt dan nextDouble disediakan untuk membaca data dengan
tipe tipe tertentu. Contoh program dibawah, membaca jumlah kilometer yang ditempuh sebagai
sebuah integer, dan jumlah liter bbm yag dihabiskan sebagai sebuah double, kemudian akan
menghitung jumlah kilometer perliternya
Seperti yg kita lihat output dari program diatashasil perhitunganya adalah titik mengambang yang
keakuratannya sampai beberapa titik decimal, pada pemabahasan di bab selanjutnya kita akan
membahas iini untuk membantu kita memnformat keluaran dengan sejumlah cara. Termasuk
membulatkan sebuah nilai titik mengambang menjadi sebuah angka dengan beberapa titik decimal
tertentu.

Sebuah objek scanner memproses msukan token satu persatu, berdasarkn metode yang dipakai
untuk membaca data dan pembatas yang dipakai untuk memisahkan nilai nilai masukan.. oleh
karena itu, nilai nilai masukkan dapat ditempatkan pada baris yang sama atau dapat dipisahkan
pada baris baris yang berbeda.

Anda mungkin juga menyukai