Tipe Data Java
Tipe Data Java
By : Sahrul Gunawan
1
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
Pemrograman Berorientasi Objek 2
statusPerkawinan
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.
Tipe Data
Tipe Data Primitive
Kata Kunci Keterangan (integers) byte short int long Byte-length integer Short integer 8-bit two's complement 16-bit two's complement Size/Format
Integer
Long integer (real numbers)
float double
char boolean
Tipe Data
Contoh Tipe Data Primitive
Contoh
178 8864L 37.266 37.266D 87.363F 26.77e3 'c' True False
Tipe Data
Int long double double float double char boolean 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 digit '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)
7
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.
Variabel Primitif adalah variabel dengan tipe data primitif. Mereka menyimpan data dalam lokasi memori yang sebenarnya di mana variabel tersebut berada.
Variabel reference adalah variabel yang menyimpan alamat dalam lokasi memori yang menunjuk ke lokasi memori di mana data sebenarnya berada.
Bit
1 16 8 16 32 64 32 64
Range / Jangkauan
True or false \u0000 to \uFFFF -128 127 -32,768 32,767 -2,147,483,648 2,147,483,647 -9,223,372,036,854,775,808... 9,223,372,036,854,775,807 -3.4e+383.4e+38 -1.7e+3081.7e+308
Pemrograman Berorientasi Objek
Sub-Tipe
Integer
Floating Point
10
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 ;
12
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: cant assign a value to final variable: PI
Pemrograman Berorientasi Objek
1 error
15
5. 6. 7. 8.
Pertanyaan 9 11, apakah sama atau tidak nilai real disisi kiri dengan disisi kanan?
9. 10. 11.
Pertanyaan 12 15, apakah valid atau tidak penulisan nama berikut, jika tidak berikan alasannya?
12. 13.
isVector MyNewApp
14. 15.
2ndChance MIN_DISTANCE
16
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;
17
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
18
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;
Operator
Operator Matematika
Operator ini digunakan dalam ekspresi matematika. Berikut ini daftar operator matematika yang dikenal dalam Java:
Type Additon Subtraction Multiplication Division Modulus (Remainder) Symbol + * / % Algebraic Expression a+b ab ab a / b or a b a mod b Java Expression a+b ab a*b a/b a%b
Nilai dari ekspresi dapat berupa proses kalkulasi matematik dimana kita sebut dengan assignmnet operator. Contoh
a = a + 10
Pemrograman Berorientasi Objek 20
Operator
Superioritas Operator.
1.
Operator dapat dikombinasikan ke dalam ekspresi yang kompleks result = total + count / max - offset; Operator memiliki superioritas yang terdefinisi secara baik, yang menentukan urutan mereka dievaluasi Perkalian, pembagian dan remainder dievaluasi sebelum pengurangan, penjumlahan dan penggabungan string Operator aritmatik dengan superioritas sama dievaluasi dari kiri ke kanan Kurung dapat digunakan untuk memaksa urutan evaluasi
1.
2.
3. 4.
Contoh :
a + b + c + d + e 1 2 3 4
a + b * c - d / e 3 1 4 2 a / (b * (c + (d - e))) 4 3 2 1
21
a / (b + c) - d % e 2 1 4 3
Operator
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 : 1. 2. 3.
Operator
1. 2. 3. 4. 5. 6. 7.
Ilustrasi Program
public class TestPromotion { public static void main(String[] args) { System.out.println(1 + 1/4); System.out.println(1.0 + 1/4); System.out.println(1 + 1.0/4);
}
}
C:\>java TestPromotion
1 1.0 1.25
Pemrograman Berorientasi Objek 23
Operator
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.
24
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); } }
Operator
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; int x = 16, y = 3; int result; result = x + y / 2.0;
2.
26
Operator
Assignment Statement & Assignment Operator Java juga memiliki spesial assingment operators dengan mengkombinasikan assignment dengan binary operator menjadi sebuah ekpresi tunggal.
1. Assignment Statement a = a + 5; dapat digantikan dengan menggunakan Addition assignment operator +=. Sehingga dituliskan sbb: a += 5; Arithmatic Assignment Operators
Assignment Operators Assume: int a = 3, b = 11; Sample Expression Expanded Expression Result
2.
+=
-= *= /= %=
a += 3
a -= 2 a *= 4 a /= 2
Pemrograman Berorientasi Objek
a=a+3
a=a2 a=a*4 a=a/2 b=b%3
6
1 12 1 2
27
b %= 3
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 preincrement postincrement Predecrement postdecrement Sample Expression ++a a++ --a a-Expanded Expression Result Hasil cetak setelah a ditambah 1 Hasil cetak sebelum a ditambah 1 Hasil cetak setelah a dikurangi 1 Hasil cetak sebelum a dikurangi 1
28
Operator
Operator Increment Contoh Program :
1.
dan Decrement
2.
3. 4. 5. 6. 7. 8. 9. 10.
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 ); k = --i + 2 * i * i++; System.out.println( i = + i ); System.out.println( k= + k );
11.
12.
}
}
Hasilnya : 4 28 4 21
29
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.
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
Relatinal operators:
x>y x<y x >= y x <= y Equality operators: x == y x != y
Pemrograman Berorientasi Objek
Meaning
True if x > y True if x > y True if x y True if x y True if x = y True if x y
31
Operator
Relasi
32
Contoh Program:
1. 2. 3. 4. 5. 6. 7.
8.
9. 10. 11.
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); test = i > 10 & j++ > 10; System.out.println(i); System.out.println(j); System.out.println(test); } }
Pemrograman Berorientasi Objek 33
12.
13. 14. 15.
Operator
34
35
new
BufferedReader(new
36
37
38