Staffsite STMIK PPKIA Pradnya Paramita
Pertemuan 003
TIPE DATA, VARIABEL, DAN
OPERATOR
Penamaan dalam Java
Jika kita melihat pada program pertama kita dan programprogram selanjutnya bahwa Java classes, methods, dan
Variables semuanya mempunyai nama.
Penamaan didalam java boleh memiliki kombinasi dari letters,
numbers, dan Underscore character(_), tetapi karakter
pertama dari penulisan nama haruslah dimulai dengan huruf.
Penulisan nama didalam java minimal terdiri dari satu karakter,
dan tidak memiliki batasan maksimum.
Contoh penulisan nama yang dibolehkan didalam java.
Hello ThisIsTest ABC
A1B2 a_12
Contoh penulisan nama yang tidak dibolehkan didalam java.
1Day _toupper dan lain lain
ditambah dengan reserved keywords
2
Penamaan dalam Java
Hasil dari sebuah konfrensi :
Nama class java, selalu dimulai dengan huruf besar.
Nama Methods dan Variables, dengan huruf kecil.
Nama Class, Methods dan Variabel jika terdiri dari dua
atau lebih suku kata, awal kata ke dua dan seterusnya
awali dengan huruf besar.
Contoh untuk class.
HelloWorld
ThisIsTest
Contoh untuk methods dan variables.
getString
toUpperCase statusPerkawinan
3
Penamaan dalam Java
Reserved Keywords
abstract
continue
float
long
short
try
boolean
default
for
native
static
void
break
do
goto
now
super
volatile
byte
double
if
null
synchronized
while
case
else
implements
package
this
catch
extends
import
private
throw
char
false
instanceof
protected
throws
class
final
iInt
public
transient
const
finally
interface
return
true
4
Tipe Data
Bahasa pemrograman java memiliki 2 katagori
tipe data: primitive dan reference. Sebuah
variabel dengan tipe primitive memuat sebuah
nilai tunggal dengan format dan ukuran yang
sesuai tipenya. Sedangkan Reference tipe data
merupakan sebuah tipe data berjenis class, yang
dapat memiliki fungsi atau metode.
5
Tipe Data
Contoh Tipe Data Primitive
Contoh
Tipe Data
178
Int
8864L
long
37.266
double
37.266D
double
87.363F
float
26.77e3
double
'c'
char
True
boolean
False
boolean
Secara umum, sederet digit dengan tanpa titik decimal (dalam notasi Internasional)
atau koma decimal (notasi Indonesia) ditipekan sebagai sebuah integer. Kita juga
dapat menspesifikasi sebuah integer Long dengan menempatkan 'L' atau 'l' setelah
angkanya. 'L' ditunjukkan agar tidak membingungkan dengan didgit '1'. Sebuah
deretan digit dengan ada sebuah titik desimalnya adalah bertipe double. Kita juga
dapat menspesifikasi sebuah float dengan menempatkan 'f' atau 'F' setelah angka.
Sebuah karakter harfiah adalah sebuah karakter Unicode tunggal diantara tanda petik.
Dua karakter Boolean adalah true dan false (benar dan salah)
6
Tipe Data
TIPE DATA REFERENCE
Arrays, class, dan interface adalah tipe-tipe referensi. Nilai dari
variable tipe referensi, berbeda dengan tipe primitive, adalah
sebuah referensi untuk (sebuah alamat dari) nilai atau kumpulan
nilai dari nilai-nilai yang ditunjukkan oleh variable.
7
Variabel Tipe Data
Variabel Primitif adalah variabel dengan tipe
data primitif. Mereka menyimpan data dalam
lokasi memori yang sebenarnya di mana variabel
tersebut berada.
contoh: int num = 10;
Variabel reference adalah variabel yang
menyimpan alamat dalam lokasi memori yang
menunjuk ke lokasi memori di mana data
sebenarnya berada.
contoh: String nama = “adi”
8
Konstanta dan Variabel
Konstanta adalah sebuah tempat penyimpanan data didalam memory
komputer yang mana nilai yang ada didalamnya sudah tidak dapat
berubah selama program dijalankan. Sedangkan
Variabel sebaliknya, dimana nilai-nya dapat berubah selama program
berjalan.
Tipe data didalam java, yang tergolong kedalam tipe data primitif :
Tipe
Bit
Range / Jangkauan
boolean
1
True or false
char
16
‘\u0000’ to ‘\uFFFF’
byte
8
-128 … 127
short
16
-32,768 … 32,767
int
32
-2,147,483,648 … 2,147,483,647
long
64
‑9,223,372,036,854,775,808...
9,223,372,036,854,775,807
float
32
-3.4e+38…3.4e+38
double
64
-1.7e+308…1.7e+308
Sub-Tipe
-
Integer
Floating
Point
9
Konstanta dan Variabel
Integer Konstanta dan Variabel adalah bilangan bulat
posistif atau negatif dengan range yang sudah disebutkan
pada tabel sebelumnya.
Contoh yang dibolehkan:
12
0
-123456
9999999999L // tipe long
Contoh yang tidak diperbolehkan :
1,024
// memiliki tanda berkoma
9999999999 // terlalu besar untuk tipe int
Deklarasi variabel integer sbb:
int var1, var2;
short var3;
int var4 = 100
// deklarasi dan inisialisasi nilai 100 ke
var4
10
Konstanta dan Variabel
Real Konstanta dan Variabel adalah bilangan pecahan
posistif atau negatif dengan range yang sudah disebutkan
pada tabel sebelumnya.
Contoh yang dibolehkan:
12.
// tipe double
12E2
// tipe double
12.0e2
// tipe double
3.14159F
// tipe float
Contoh yang tidak diperbolehkan :
1,024.0
// memiliki tanda berkoma
1.2e108F
// terlalu besar untuk tipe float
Deklarasi variabel real sbb:
double x;
float pi = 3.14159F ;
11
Konstanta dan Variabel
boolean Konstanta dan Variabel adalah data yang berisi
nilai dua kemungkinan, yaitu nilai benar atau salah.
Contoh yang dibolehkan:
true
false
Deklarasi variabel boolean sbb:
boolean test = false;
character Konstanta dan Variabel adalah character dan
string didalam java menggunakan unicode character
set. Dimana disimpan didalam bentuk 16 bit memori,
yang memungkinkan menyimpan sebanyak 65,536
karakter. Nilai Karakter ditandai dengan diapit dengan
dengan tanda petik tunggal. Data ini juga dapat
direpresentasikan dengan escape character, seperti
terlihat pada tabel dibawah ini. Sedangkan string diapit
dengan tanda petik ganda.
12
Konstanta dan Variabel
Contoh yang dibolehkan:
‘a’
‘1’ “abc” “C”
Deklarasi variabel char sbb:
char test = ‘A’;
string test = ”Universitas Budi Luhur”;
13
Konstanta dan Variabel
Keeping Constants Consisten in a Program adalah
bagaimana membentuk nilai konstanta menjadi tetap dan
tidak dapat berubah sepanjang program berjalan. Untuk
itu dapat dilakukan dengan menggunakan keyword “final”
didepan tipe data dari sebuah konstanta. Dan nama
constanta menggunakan huruf besar semua
Contoh program sbb:
1.
2.
3.
4.
5.
6.
public class Constant {
public static void main(String[] args) {
final float PI = 3.14159F;
Syatem.out.println(“2*pi = “ + 2*PI);
}
}
Hasilnya sbb:
2*pi = 6.28318
Jika antara baris 3 & 4 disisipkan perintah sbb:
PI = 3.0F
Hasilnya sbb:
can’t assign a value to final variable: PI
1 error
14
Konstanta dan Variabel
Latihan :
Pertanyaan 1 – 8 jawablah dengan pernyataan valid atau
tidak valid dan berikan alasannya kalau tidak valid.
1.
2.
3.
4.
10.0
5.
123E-5
‘‘‘
“Siapa kamu?”
-100,000
6. ‘T’
7. 3.14159
8. True
Pertanyaan 9 – 11, apakah sama atau tidak nilai real disisi
kiri dengan disisi kanan?
9.
10.
11.
4650.; 4.65E+3
-12.71; -1.27E1
0.0001; 1.0e4
Pertanyaan 12 – 15, apakah valid atau tidak penulisan
nama berikut, jika tidak berikan alasannya?
12.
13.
isVector
MyNewApp
14. 2ndChance
15. MIN_DISTANCE
15
Konstanta dan Variabel
Latihan :
Pertanyaan berikut, jawablah dengan pernyataan valid
atau tidak valid dan berikan alasannya kalau tidak valid,
untuk penulisan deklarasi variabel dan konstanta berikut.
16.
int firstIndex = 20;
17.
18.
Final short MAX_COUNT = 100000;
Char test = “Y”;
Pertanyaan terakhir, apakah legal atau tidak program
dibawah ini, jika legal apa hasil dari program tersebut, jika
tidak dimana letak kesalahannya?
int I, j;
final int k = 4;
I = k * k;
j = I / k;
k = I + j;
16
Operator
Operator merupakan simbol yang biasa
digunakan dalam menulis suatu penyataan
(statement) dalam bahasa pemrograman
apapun. Operator akan melakukan suatu operasi
terhadap operand sesuai dengan fungsinya.
Contoh operasi antara lain penjumlahan,
pengurangan, pembagian dan sebagainya.
3+8*4
3 8 4 adalah operand
+ * adalah Operator
17
Operator
Operator Penugasan
Operator ini adalah operator yang paling sederhana dan hanya
dilambangkan dengan karakter ’=’. Operator ini digunakan untuk
menugaskan suatu nilai ke suatu variabel. Contoh :
int hitung = 4;
yang unik dari operator ini dalam Java adalah kita dapat
menggunakan operator ini secara berantai dalam suatu ekspresi,
contoh:
int a, b, c;
a = b = c = 99;
Bentuk Umumnya sebagai berikut:
variable_name = expression;
yaitu : menyimpan nilai dari expression ke dalam variable_name
18
Operator
Operator Matematika
Operator ini digunakan dalam ekspresi matematika. Berikut ini daftar operator
matematika yang dikenal dalam Java:
Type
Symbol
Algebraic Expression
Java Expression
Additon
+
a+b
a+b
Subtraction
-
a–b
a–b
Multiplication
*
ab
a*b
Division
/
a / b or a ÷ b
a/b
%
a mod b
a%b
Modulus (Remainder)
Nilai dari ekspresi dapat berupa proses kalkulasi matematik dimana kita sebut dengan
assignmnet operator. Contoh
a = a + 10
19
Operator
Superioritas Operator.
1.
Operator dapat dikombinasikan ke dalam ekspresi yang kompleks
result
=
total + count / max - offset;
2.
Operator memiliki superioritas yang terdefinisi secara baik, yang
menentukan urutan mereka dievaluasi
3.
Perkalian, pembagian dan remainder dievaluasi sebelum
pengurangan, penjumlahan dan penggabungan string
4.
Operator aritmatik dengan superioritas sama dievaluasi dari kiri ke
kanan
5.
Kurung dapat digunakan untuk memaksa urutan evaluasi
Contoh
a:+
b + c + d + e
1
2
3
4
a / (b + c) - d % e
2
1
4
3
a + b * c - d / e
3
1
4
2
a / (b * (c + (d - e)))
4
3
2
1
20
Operator
Numeric Promotion of Operands
Adalah sebuah aturan dari hasil sebuah perhitungan
matematik dimana atruran tersebut adalah:
1.
2.
3.
4.
Jika dalam operand tersebut terdapat nilai double maka operand lain
akan di konvert ke nilai double
Selain itu, jika dalam operand tersebut terdapat nilai float maka
operand lain akan di konvert ke nilai float.
Selain itu, jika dalam operand tersebut terdapat nilai long maka
operand lain akan di konvert ke nilai long
Selain itu, semua operand akan di konvert ke nilai int.
Contoh :
Expression
Result
1. 1 + 1 / 4 1
2. 1.0 + 1 / 41.0
3. 1 + 1.0 / 41.25
21
Operator
Ilustrasi Program
1.
public class TestPromotion {
public static void main(String[] args) {
2.
3.
System.out.println(1 + 1/4);
4.
System.out.println(1.0 + 1/4);
5.
System.out.println(1 + 1.0/4);
}
6.
7.
}
Jika dikompile dan dijalankan akan menghasilkan sbb:
C:\>javac TestPromotion.java
C:\>java TestPromotion
1
1.0
1.25
22
Operator
Assignment
Conversion
Conversion
-
Casting
Terkadang kita perlu melakukan Assignment Conversion (konversi
terhadap data dari satu tipe data ketipe data yang lain), konversi
harus dilakukan secara hati-hati, untuk menhindari terjadinya
kehilangan data. Adapun jenis assignment conversion ini adalah
1. Widening Conversion : perubahan dilakukan dari tipe data yang
kecil ketipe data yang lebih besar. Contoh :
int x = 4;
double y;
y = x;
// legal y = 4.0
2. Narrowing Conversion : perubahan dilakukan dari tipe data yang
besar ketipe data yang lebih kecil. Contoh :
int x;
double y=1.25;
x = y;
// illegal, karena y bilangan pecahan.
23
Operator
Assignment
Conversion
Casting
Conversion
Untuk
mengatasi masalah tersebut, maka perlu dilakukan
pemaksaan tipe data dengan menggunakan teknik “Casting”,
yaitu dengan memberikan tipe data lain pada data yang ingin
dirubah tipenya.
Contoh :
x = (int) y;
Contoh Program sbb:
1.
2.
3.
4.
5.
6.
7.
public class TestCast {
public static void main(String[] args) {
double x = 3.99, y = 1.1e38
System.out.println(“(int) x = “ + (int) x);
System.out.println(“(int) y = “ + (int) y);
}
}
Hasil dari program diatas dbb:
(int) x = 3
(int) y = 2147483647
// nilai maksimal int, y lebih besar24
Operator
Assignment
Conversion
Conversion
-
Casting
Latihan :
Perhatikan potongan program dibawah ini, legal atau tidak,
hasil dari potongan program tersebut. Jika legal hasilnya
seperti apa, jika tidak baris mana yang salah, dan berikan
solusinya.
1.
int x = 16, y = 3;
double result;
result = x + y / 2.0;
2.
int x = 16, y = 3;
int result;
result = x + y / 2.0;
25
Operator
Assignment Statement & Assignment
Operator
Java
juga memiliki spesial assingment operators dengan
mengkombinasikan assignment
menjadi sebuah ekpresi tunggal.
1.
2.
dengan
binary
operator
Assignment Statement
a = a + 5;
dapat
digantikan
dengan
menggunakan
Addition
assignment operator +=. Sehingga dituliskan sbb:
a += 5;
Arithmatic Assignment Operators
Assignment Operators
Sample Expression
Expanded Expression
Result
Assume: int a = 3, b = 11;
+=
a += 3
a=a+3
6
-=
a -= 2
a=a–2
1
*=
a *= 4
a=a*4
12
/=
a /= 2
a=a/2
1
%=
b %= 3
b=b%3
2
26
Operator
Operator Increment dan Decrement
Java memiliki unary Increment Operator (++) dan unary
Decrement Operator (--). Biasanya data disimpan dalam
bentuk penambahan nilai integer dengan satu.
Bila anda perhatikan maka pernyataan ini akan sama
maknanya, walaupun menggunakan cara yang berbeda-beda.
c = c + 1;
c += 1;
c++;
Tabel : Increment and Decrement Operator
Operator
Sample Expression
Expanded Expression Result
preincrement
++a
Hasil cetak setelah a ditambah 1
postincrement
a++
Hasil cetak sebelum a ditambah 1
Predecrement
--a
Hasil cetak setelah a dikurangi 1
postdecrement
a--
Hasil cetak sebelum a dikurangi 1
27
Operator
Operator Increment dan Decrement
Contoh Program :
1.
2.
3.
4.
5.
6.
public class TestIncrement {
public static void main(String[] args)
int i = 4, k = 0;
k = i-- + 2 * i * ++i;
System.out.println( “i = “ + i );
System.out.println( “k= “ + k );
{
7.
k = --i + 2 * i * i++;
System.out.println( “i = “ + i );
System.out.println( “k= “ + k );
8.
9.
10.
}
11.
12.
}
Hasilnya :
4
28
4
21
28
Operator
Logika
Apabila 2 operand bernilai boolean (Contoh A dan B) dan keduanya digunakan
dalam operasi AND, OR, XOR, dan NOT maka nilai yang dihasilkan antara lain:
Operasi AND hanya akan menghasilkan nilai true apabila kedua operand (A dan B) bernilai
true;
Operasi OR hanya akan menghasilkan nilai false apabila kedua nilai operand false;
Operasi XOR hanya akan menghasilkan nilai true apabila salah satu operand-nya (bukan
kedua-duanya) bernilai true; sedangkan
Operasi NOT akan menghasilkan negasi atau kebalikan dari nilai sebelumnya.
Contoh Program : DemoOperatorLogika.java
29
Operator
Relasi
Relational and Logical Operator adalah dua buah type operator
yang menghasilkan nilai boolean true atau false. Biasanya digunakan
untuk mengontrol banyak pengulangan dan struktur percabangan
didalam java.
Tabel Relational Operators:
Operator
Sample Expression
Meaning
Relatinal operators:
>
<
>=
y
x= y
x y
True if x > y
True if x ≥ y
True if x ≤ y
Equality operators:
==
!=
x == y
x != y
True if x = y
True if x ≠ y
30
Operator
Relasi
Contoh Program: RelasiDemo.java
31
CONTOH PROGRAM:
1.
2.
3.
4.
5.
6.
7.
8.
public class TestAnd {
public static void main(String[] args) {
int i = 10, j = 9;
boolean test;
test = i > 10 && j++ > 10;
System.out.println(i);
System.out.println(j);
System.out.println(test);
9.
test = i > 10 & j++ > 10;
System.out.println(i);
System.out.println(j);
System.out.println(test);
}
10.
11.
12.
13.
14.
15.
}
32
STANDARD INPUT AND OUTPUT
Pada bahasa pemrograman selalu digunakan sesuatu untuk
membaca data untuk diproses, dan menulis kembali dalam bentuk
cetakan setelah memperoleh sebuah hasil. Ini lah yang kita sebut
standart input dan output.
Pemrograman java memiliki tiga standar input dan output objek. Yaitu:
1. System.in : merepresentasikan standard input stream, biasanya
melalui keyboard.
2. System.out : merepresentasikan standard output stream, biasanya
melalui layar monitor.
3. System.err : merepresentasikan standard error sttream, khusunya
untuk menampilkan pesan-pesan error pada program.
33
STANDARD INPUT AND OUTPUT
Using the standard input stream:
Digunakan untuk membaca data dari keyboard, atau dari media input
lainnya. Membaca data menggunakan metode standar java
sangatlah komplek. Pada kesempatan ini kita akan mencoba
menggunakan class BufferedReader dengan InputStreamReader untuk
membaca data pada program-program berikut.
Untuk menggunakan class ini dan metode yang terdapat didalamnya
haruslah mengimport paket java.io kedalam program yang kana
dibuat.
Metoda yang digunakan sbb:
readLine()
Contoh penggunaan sbb:
BufferedReader stdin = new BufferedReader(new
InputStreamReader(System.in));
………
stdin.readLine();
34
STANDARD INPUT AND OUTPUT
Contoh Program:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
import java.io.*;
public class ReadStdIn {
public static void main(String[] args) throws IOException {
double v1; int i1; float b1;
BufferedReader stdin = new BufferedReader(new
InputStreamReader(System.in));
try {
System.out.println("Enter a double value: ");
v1 = Double.parseDouble(stdin.readLine());
System.out.println("Value = " + v1);
System.out.println("Enter a int value: ");
i1 = Integer.parseInt(stdin.readLine());
System.out.println("Value = " + i1);
System.out.println("Enter a float value: ");
b1 = Float.parseFloat(stdin.readLine());
System.out.println("Value = " + b1);
}
catch(Exception e) {
System.out.println("Error : " + e);
}
}
}
35
Pemrograman Berorientasi Objek-3 sks
Fakultas Teknologi Informasi
STANDARD INPUT AND OUTPUT
Latihan :
Buatlah sebuah class konversi derajat Fahrenheit ke derajat Kelvins. Dimana
derajat Fahrenheit diinput dari keyboard dengan rumus konversi sbb:
Dejarat Kelvin = ( 5. / 9. ) * (Derajat Fahrenheit – 32.) + 273.15
36
TIPE DATA, VARIABEL, DAN
OPERATOR
Penamaan dalam Java
Jika kita melihat pada program pertama kita dan programprogram selanjutnya bahwa Java classes, methods, dan
Variables semuanya mempunyai nama.
Penamaan didalam java boleh memiliki kombinasi dari letters,
numbers, dan Underscore character(_), tetapi karakter
pertama dari penulisan nama haruslah dimulai dengan huruf.
Penulisan nama didalam java minimal terdiri dari satu karakter,
dan tidak memiliki batasan maksimum.
Contoh penulisan nama yang dibolehkan didalam java.
Hello ThisIsTest ABC
A1B2 a_12
Contoh penulisan nama yang tidak dibolehkan didalam java.
1Day _toupper dan lain lain
ditambah dengan reserved keywords
2
Penamaan dalam Java
Hasil dari sebuah konfrensi :
Nama class java, selalu dimulai dengan huruf besar.
Nama Methods dan Variables, dengan huruf kecil.
Nama Class, Methods dan Variabel jika terdiri dari dua
atau lebih suku kata, awal kata ke dua dan seterusnya
awali dengan huruf besar.
Contoh untuk class.
HelloWorld
ThisIsTest
Contoh untuk methods dan variables.
getString
toUpperCase statusPerkawinan
3
Penamaan dalam Java
Reserved Keywords
abstract
continue
float
long
short
try
boolean
default
for
native
static
void
break
do
goto
now
super
volatile
byte
double
if
null
synchronized
while
case
else
implements
package
this
catch
extends
import
private
throw
char
false
instanceof
protected
throws
class
final
iInt
public
transient
const
finally
interface
return
true
4
Tipe Data
Bahasa pemrograman java memiliki 2 katagori
tipe data: primitive dan reference. Sebuah
variabel dengan tipe primitive memuat sebuah
nilai tunggal dengan format dan ukuran yang
sesuai tipenya. Sedangkan Reference tipe data
merupakan sebuah tipe data berjenis class, yang
dapat memiliki fungsi atau metode.
5
Tipe Data
Contoh Tipe Data Primitive
Contoh
Tipe Data
178
Int
8864L
long
37.266
double
37.266D
double
87.363F
float
26.77e3
double
'c'
char
True
boolean
False
boolean
Secara umum, sederet digit dengan tanpa titik decimal (dalam notasi Internasional)
atau koma decimal (notasi Indonesia) ditipekan sebagai sebuah integer. Kita juga
dapat menspesifikasi sebuah integer Long dengan menempatkan 'L' atau 'l' setelah
angkanya. 'L' ditunjukkan agar tidak membingungkan dengan didgit '1'. Sebuah
deretan digit dengan ada sebuah titik desimalnya adalah bertipe double. Kita juga
dapat menspesifikasi sebuah float dengan menempatkan 'f' atau 'F' setelah angka.
Sebuah karakter harfiah adalah sebuah karakter Unicode tunggal diantara tanda petik.
Dua karakter Boolean adalah true dan false (benar dan salah)
6
Tipe Data
TIPE DATA REFERENCE
Arrays, class, dan interface adalah tipe-tipe referensi. Nilai dari
variable tipe referensi, berbeda dengan tipe primitive, adalah
sebuah referensi untuk (sebuah alamat dari) nilai atau kumpulan
nilai dari nilai-nilai yang ditunjukkan oleh variable.
7
Variabel Tipe Data
Variabel Primitif adalah variabel dengan tipe
data primitif. Mereka menyimpan data dalam
lokasi memori yang sebenarnya di mana variabel
tersebut berada.
contoh: int num = 10;
Variabel reference adalah variabel yang
menyimpan alamat dalam lokasi memori yang
menunjuk ke lokasi memori di mana data
sebenarnya berada.
contoh: String nama = “adi”
8
Konstanta dan Variabel
Konstanta adalah sebuah tempat penyimpanan data didalam memory
komputer yang mana nilai yang ada didalamnya sudah tidak dapat
berubah selama program dijalankan. Sedangkan
Variabel sebaliknya, dimana nilai-nya dapat berubah selama program
berjalan.
Tipe data didalam java, yang tergolong kedalam tipe data primitif :
Tipe
Bit
Range / Jangkauan
boolean
1
True or false
char
16
‘\u0000’ to ‘\uFFFF’
byte
8
-128 … 127
short
16
-32,768 … 32,767
int
32
-2,147,483,648 … 2,147,483,647
long
64
‑9,223,372,036,854,775,808...
9,223,372,036,854,775,807
float
32
-3.4e+38…3.4e+38
double
64
-1.7e+308…1.7e+308
Sub-Tipe
-
Integer
Floating
Point
9
Konstanta dan Variabel
Integer Konstanta dan Variabel adalah bilangan bulat
posistif atau negatif dengan range yang sudah disebutkan
pada tabel sebelumnya.
Contoh yang dibolehkan:
12
0
-123456
9999999999L // tipe long
Contoh yang tidak diperbolehkan :
1,024
// memiliki tanda berkoma
9999999999 // terlalu besar untuk tipe int
Deklarasi variabel integer sbb:
int var1, var2;
short var3;
int var4 = 100
// deklarasi dan inisialisasi nilai 100 ke
var4
10
Konstanta dan Variabel
Real Konstanta dan Variabel adalah bilangan pecahan
posistif atau negatif dengan range yang sudah disebutkan
pada tabel sebelumnya.
Contoh yang dibolehkan:
12.
// tipe double
12E2
// tipe double
12.0e2
// tipe double
3.14159F
// tipe float
Contoh yang tidak diperbolehkan :
1,024.0
// memiliki tanda berkoma
1.2e108F
// terlalu besar untuk tipe float
Deklarasi variabel real sbb:
double x;
float pi = 3.14159F ;
11
Konstanta dan Variabel
boolean Konstanta dan Variabel adalah data yang berisi
nilai dua kemungkinan, yaitu nilai benar atau salah.
Contoh yang dibolehkan:
true
false
Deklarasi variabel boolean sbb:
boolean test = false;
character Konstanta dan Variabel adalah character dan
string didalam java menggunakan unicode character
set. Dimana disimpan didalam bentuk 16 bit memori,
yang memungkinkan menyimpan sebanyak 65,536
karakter. Nilai Karakter ditandai dengan diapit dengan
dengan tanda petik tunggal. Data ini juga dapat
direpresentasikan dengan escape character, seperti
terlihat pada tabel dibawah ini. Sedangkan string diapit
dengan tanda petik ganda.
12
Konstanta dan Variabel
Contoh yang dibolehkan:
‘a’
‘1’ “abc” “C”
Deklarasi variabel char sbb:
char test = ‘A’;
string test = ”Universitas Budi Luhur”;
13
Konstanta dan Variabel
Keeping Constants Consisten in a Program adalah
bagaimana membentuk nilai konstanta menjadi tetap dan
tidak dapat berubah sepanjang program berjalan. Untuk
itu dapat dilakukan dengan menggunakan keyword “final”
didepan tipe data dari sebuah konstanta. Dan nama
constanta menggunakan huruf besar semua
Contoh program sbb:
1.
2.
3.
4.
5.
6.
public class Constant {
public static void main(String[] args) {
final float PI = 3.14159F;
Syatem.out.println(“2*pi = “ + 2*PI);
}
}
Hasilnya sbb:
2*pi = 6.28318
Jika antara baris 3 & 4 disisipkan perintah sbb:
PI = 3.0F
Hasilnya sbb:
can’t assign a value to final variable: PI
1 error
14
Konstanta dan Variabel
Latihan :
Pertanyaan 1 – 8 jawablah dengan pernyataan valid atau
tidak valid dan berikan alasannya kalau tidak valid.
1.
2.
3.
4.
10.0
5.
123E-5
‘‘‘
“Siapa kamu?”
-100,000
6. ‘T’
7. 3.14159
8. True
Pertanyaan 9 – 11, apakah sama atau tidak nilai real disisi
kiri dengan disisi kanan?
9.
10.
11.
4650.; 4.65E+3
-12.71; -1.27E1
0.0001; 1.0e4
Pertanyaan 12 – 15, apakah valid atau tidak penulisan
nama berikut, jika tidak berikan alasannya?
12.
13.
isVector
MyNewApp
14. 2ndChance
15. MIN_DISTANCE
15
Konstanta dan Variabel
Latihan :
Pertanyaan berikut, jawablah dengan pernyataan valid
atau tidak valid dan berikan alasannya kalau tidak valid,
untuk penulisan deklarasi variabel dan konstanta berikut.
16.
int firstIndex = 20;
17.
18.
Final short MAX_COUNT = 100000;
Char test = “Y”;
Pertanyaan terakhir, apakah legal atau tidak program
dibawah ini, jika legal apa hasil dari program tersebut, jika
tidak dimana letak kesalahannya?
int I, j;
final int k = 4;
I = k * k;
j = I / k;
k = I + j;
16
Operator
Operator merupakan simbol yang biasa
digunakan dalam menulis suatu penyataan
(statement) dalam bahasa pemrograman
apapun. Operator akan melakukan suatu operasi
terhadap operand sesuai dengan fungsinya.
Contoh operasi antara lain penjumlahan,
pengurangan, pembagian dan sebagainya.
3+8*4
3 8 4 adalah operand
+ * adalah Operator
17
Operator
Operator Penugasan
Operator ini adalah operator yang paling sederhana dan hanya
dilambangkan dengan karakter ’=’. Operator ini digunakan untuk
menugaskan suatu nilai ke suatu variabel. Contoh :
int hitung = 4;
yang unik dari operator ini dalam Java adalah kita dapat
menggunakan operator ini secara berantai dalam suatu ekspresi,
contoh:
int a, b, c;
a = b = c = 99;
Bentuk Umumnya sebagai berikut:
variable_name = expression;
yaitu : menyimpan nilai dari expression ke dalam variable_name
18
Operator
Operator Matematika
Operator ini digunakan dalam ekspresi matematika. Berikut ini daftar operator
matematika yang dikenal dalam Java:
Type
Symbol
Algebraic Expression
Java Expression
Additon
+
a+b
a+b
Subtraction
-
a–b
a–b
Multiplication
*
ab
a*b
Division
/
a / b or a ÷ b
a/b
%
a mod b
a%b
Modulus (Remainder)
Nilai dari ekspresi dapat berupa proses kalkulasi matematik dimana kita sebut dengan
assignmnet operator. Contoh
a = a + 10
19
Operator
Superioritas Operator.
1.
Operator dapat dikombinasikan ke dalam ekspresi yang kompleks
result
=
total + count / max - offset;
2.
Operator memiliki superioritas yang terdefinisi secara baik, yang
menentukan urutan mereka dievaluasi
3.
Perkalian, pembagian dan remainder dievaluasi sebelum
pengurangan, penjumlahan dan penggabungan string
4.
Operator aritmatik dengan superioritas sama dievaluasi dari kiri ke
kanan
5.
Kurung dapat digunakan untuk memaksa urutan evaluasi
Contoh
a:+
b + c + d + e
1
2
3
4
a / (b + c) - d % e
2
1
4
3
a + b * c - d / e
3
1
4
2
a / (b * (c + (d - e)))
4
3
2
1
20
Operator
Numeric Promotion of Operands
Adalah sebuah aturan dari hasil sebuah perhitungan
matematik dimana atruran tersebut adalah:
1.
2.
3.
4.
Jika dalam operand tersebut terdapat nilai double maka operand lain
akan di konvert ke nilai double
Selain itu, jika dalam operand tersebut terdapat nilai float maka
operand lain akan di konvert ke nilai float.
Selain itu, jika dalam operand tersebut terdapat nilai long maka
operand lain akan di konvert ke nilai long
Selain itu, semua operand akan di konvert ke nilai int.
Contoh :
Expression
Result
1. 1 + 1 / 4 1
2. 1.0 + 1 / 41.0
3. 1 + 1.0 / 41.25
21
Operator
Ilustrasi Program
1.
public class TestPromotion {
public static void main(String[] args) {
2.
3.
System.out.println(1 + 1/4);
4.
System.out.println(1.0 + 1/4);
5.
System.out.println(1 + 1.0/4);
}
6.
7.
}
Jika dikompile dan dijalankan akan menghasilkan sbb:
C:\>javac TestPromotion.java
C:\>java TestPromotion
1
1.0
1.25
22
Operator
Assignment
Conversion
Conversion
-
Casting
Terkadang kita perlu melakukan Assignment Conversion (konversi
terhadap data dari satu tipe data ketipe data yang lain), konversi
harus dilakukan secara hati-hati, untuk menhindari terjadinya
kehilangan data. Adapun jenis assignment conversion ini adalah
1. Widening Conversion : perubahan dilakukan dari tipe data yang
kecil ketipe data yang lebih besar. Contoh :
int x = 4;
double y;
y = x;
// legal y = 4.0
2. Narrowing Conversion : perubahan dilakukan dari tipe data yang
besar ketipe data yang lebih kecil. Contoh :
int x;
double y=1.25;
x = y;
// illegal, karena y bilangan pecahan.
23
Operator
Assignment
Conversion
Casting
Conversion
Untuk
mengatasi masalah tersebut, maka perlu dilakukan
pemaksaan tipe data dengan menggunakan teknik “Casting”,
yaitu dengan memberikan tipe data lain pada data yang ingin
dirubah tipenya.
Contoh :
x = (int) y;
Contoh Program sbb:
1.
2.
3.
4.
5.
6.
7.
public class TestCast {
public static void main(String[] args) {
double x = 3.99, y = 1.1e38
System.out.println(“(int) x = “ + (int) x);
System.out.println(“(int) y = “ + (int) y);
}
}
Hasil dari program diatas dbb:
(int) x = 3
(int) y = 2147483647
// nilai maksimal int, y lebih besar24
Operator
Assignment
Conversion
Conversion
-
Casting
Latihan :
Perhatikan potongan program dibawah ini, legal atau tidak,
hasil dari potongan program tersebut. Jika legal hasilnya
seperti apa, jika tidak baris mana yang salah, dan berikan
solusinya.
1.
int x = 16, y = 3;
double result;
result = x + y / 2.0;
2.
int x = 16, y = 3;
int result;
result = x + y / 2.0;
25
Operator
Assignment Statement & Assignment
Operator
Java
juga memiliki spesial assingment operators dengan
mengkombinasikan assignment
menjadi sebuah ekpresi tunggal.
1.
2.
dengan
binary
operator
Assignment Statement
a = a + 5;
dapat
digantikan
dengan
menggunakan
Addition
assignment operator +=. Sehingga dituliskan sbb:
a += 5;
Arithmatic Assignment Operators
Assignment Operators
Sample Expression
Expanded Expression
Result
Assume: int a = 3, b = 11;
+=
a += 3
a=a+3
6
-=
a -= 2
a=a–2
1
*=
a *= 4
a=a*4
12
/=
a /= 2
a=a/2
1
%=
b %= 3
b=b%3
2
26
Operator
Operator Increment dan Decrement
Java memiliki unary Increment Operator (++) dan unary
Decrement Operator (--). Biasanya data disimpan dalam
bentuk penambahan nilai integer dengan satu.
Bila anda perhatikan maka pernyataan ini akan sama
maknanya, walaupun menggunakan cara yang berbeda-beda.
c = c + 1;
c += 1;
c++;
Tabel : Increment and Decrement Operator
Operator
Sample Expression
Expanded Expression Result
preincrement
++a
Hasil cetak setelah a ditambah 1
postincrement
a++
Hasil cetak sebelum a ditambah 1
Predecrement
--a
Hasil cetak setelah a dikurangi 1
postdecrement
a--
Hasil cetak sebelum a dikurangi 1
27
Operator
Operator Increment dan Decrement
Contoh Program :
1.
2.
3.
4.
5.
6.
public class TestIncrement {
public static void main(String[] args)
int i = 4, k = 0;
k = i-- + 2 * i * ++i;
System.out.println( “i = “ + i );
System.out.println( “k= “ + k );
{
7.
k = --i + 2 * i * i++;
System.out.println( “i = “ + i );
System.out.println( “k= “ + k );
8.
9.
10.
}
11.
12.
}
Hasilnya :
4
28
4
21
28
Operator
Logika
Apabila 2 operand bernilai boolean (Contoh A dan B) dan keduanya digunakan
dalam operasi AND, OR, XOR, dan NOT maka nilai yang dihasilkan antara lain:
Operasi AND hanya akan menghasilkan nilai true apabila kedua operand (A dan B) bernilai
true;
Operasi OR hanya akan menghasilkan nilai false apabila kedua nilai operand false;
Operasi XOR hanya akan menghasilkan nilai true apabila salah satu operand-nya (bukan
kedua-duanya) bernilai true; sedangkan
Operasi NOT akan menghasilkan negasi atau kebalikan dari nilai sebelumnya.
Contoh Program : DemoOperatorLogika.java
29
Operator
Relasi
Relational and Logical Operator adalah dua buah type operator
yang menghasilkan nilai boolean true atau false. Biasanya digunakan
untuk mengontrol banyak pengulangan dan struktur percabangan
didalam java.
Tabel Relational Operators:
Operator
Sample Expression
Meaning
Relatinal operators:
>
<
>=
y
x= y
x y
True if x > y
True if x ≥ y
True if x ≤ y
Equality operators:
==
!=
x == y
x != y
True if x = y
True if x ≠ y
30
Operator
Relasi
Contoh Program: RelasiDemo.java
31
CONTOH PROGRAM:
1.
2.
3.
4.
5.
6.
7.
8.
public class TestAnd {
public static void main(String[] args) {
int i = 10, j = 9;
boolean test;
test = i > 10 && j++ > 10;
System.out.println(i);
System.out.println(j);
System.out.println(test);
9.
test = i > 10 & j++ > 10;
System.out.println(i);
System.out.println(j);
System.out.println(test);
}
10.
11.
12.
13.
14.
15.
}
32
STANDARD INPUT AND OUTPUT
Pada bahasa pemrograman selalu digunakan sesuatu untuk
membaca data untuk diproses, dan menulis kembali dalam bentuk
cetakan setelah memperoleh sebuah hasil. Ini lah yang kita sebut
standart input dan output.
Pemrograman java memiliki tiga standar input dan output objek. Yaitu:
1. System.in : merepresentasikan standard input stream, biasanya
melalui keyboard.
2. System.out : merepresentasikan standard output stream, biasanya
melalui layar monitor.
3. System.err : merepresentasikan standard error sttream, khusunya
untuk menampilkan pesan-pesan error pada program.
33
STANDARD INPUT AND OUTPUT
Using the standard input stream:
Digunakan untuk membaca data dari keyboard, atau dari media input
lainnya. Membaca data menggunakan metode standar java
sangatlah komplek. Pada kesempatan ini kita akan mencoba
menggunakan class BufferedReader dengan InputStreamReader untuk
membaca data pada program-program berikut.
Untuk menggunakan class ini dan metode yang terdapat didalamnya
haruslah mengimport paket java.io kedalam program yang kana
dibuat.
Metoda yang digunakan sbb:
readLine()
Contoh penggunaan sbb:
BufferedReader stdin = new BufferedReader(new
InputStreamReader(System.in));
………
stdin.readLine();
34
STANDARD INPUT AND OUTPUT
Contoh Program:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
import java.io.*;
public class ReadStdIn {
public static void main(String[] args) throws IOException {
double v1; int i1; float b1;
BufferedReader stdin = new BufferedReader(new
InputStreamReader(System.in));
try {
System.out.println("Enter a double value: ");
v1 = Double.parseDouble(stdin.readLine());
System.out.println("Value = " + v1);
System.out.println("Enter a int value: ");
i1 = Integer.parseInt(stdin.readLine());
System.out.println("Value = " + i1);
System.out.println("Enter a float value: ");
b1 = Float.parseFloat(stdin.readLine());
System.out.println("Value = " + b1);
}
catch(Exception e) {
System.out.println("Error : " + e);
}
}
}
35
Pemrograman Berorientasi Objek-3 sks
Fakultas Teknologi Informasi
STANDARD INPUT AND OUTPUT
Latihan :
Buatlah sebuah class konversi derajat Fahrenheit ke derajat Kelvins. Dimana
derajat Fahrenheit diinput dari keyboard dengan rumus konversi sbb:
Dejarat Kelvin = ( 5. / 9. ) * (Derajat Fahrenheit – 32.) + 273.15
36