Tipe Data Java
-
Upload
sahrul-gunawan -
Category
Documents
-
view
276 -
download
0
Transcript of Tipe Data Java
-
7/22/2019 Tipe Data Java
1/38
Primitif Tipe data
dan Operator
By : Sahrul Gunawan
1
-
7/22/2019 Tipe Data Java
2/38
Penamaan dalam Java
Java classes, methods, dan Variables semuanya mempunyainama.
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, dantidak memiliki batasan maksimum.
Contohpenulisan nama yang dibolehkan didalam java.
Hello ThisIsTest ABC A1B2 a_12Contohpenulisan nama yang tidak dibolehkan didalam java.
1Day _toupper dan lain lain
ditambah dengan reserved keywords
2Pemrograman Berorientasi Objek
-
7/22/2019 Tipe Data Java
3/38
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.
Contohuntuk class.
HelloWorld ThisIsTest
Contohuntuk methods dan variables.getString toUpperCase statusPerkawinan
3Pemrograman Berorientasi Objek
Penamaan dalam Java
-
7/22/2019 Tipe Data Java
4/38
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
4Pemrograman Berorientasi Objek
Penamaan dalam Java
-
7/22/2019 Tipe Data Java
5/38
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.
5Pemrograman Berorientasi Objek
Tipe Data
-
7/22/2019 Tipe Data Java
6/38
Tipe Data PrimitiveKata Kunci Keterangan Size/Format
(integers)byte Byte-length integer 8-bit two's complementshort Short integer 16-bit two's complement
int Integer 32-bit two's complementlong Long integer 64-bit two's complement
(real numbers)float Single-precision floating point 32-bit IEEE 754
double Double-precision floating point 64-bit IEEE 754(other types)
char A single character 16-bit Unicode characterboolean A boolean value (trueor false) true or false
6Pemrograman Berorientasi Objek
Tipe Data
-
7/22/2019 Tipe Data Java
7/38
Contoh Tipe Data178 Int
8864L long37.266 double37.266D double87.363F float26.77e3 double
'c' charTrue booleanFalse 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 deretandigit 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)
7Pemrograman Berorientasi Objek
Contoh Tipe Data Primitive
Tipe Data
-
7/22/2019 Tipe Data Java
8/38
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.
8Pemrograman Berorientasi Objek
Tipe Data Reference
Tipe Data
-
7/22/2019 Tipe Data Java
9/38
Variabel Primitif adalah variabel dengan tipe data primitif. Mereka
menyimpan data dalam lokasi memori yang sebenarnya di mana
variabel tersebut berada.
contoh: intnum = 10;
Variabel reference adalah variabel yang menyimpan alamat dalam
lokasi memori yang menunjuk ke lokasi memori di mana data
sebenarnya berada.
contoh: Stringnama = adi
Pemrograman Berorientasi Objek 9
Variabel Tipe Data
-
7/22/2019 Tipe Data Java
10/38
Konstantaadalah sebuah tempat penyimpanan data didalam memory
komputer yang mana nilai yang ada didalamnya sudah tidakdapat berubah selama program dijalankan. Sedangkan
Variabelsebaliknya, dimana nilai-nya dapat berubah selama program
berjalan.
Tipe data didalam java, yang tergolong kedalam tipe data primitif :
Tipe Bit Range / Jangkauan Sub-Tipe
boolean 1 True or false
char 16 \u0000 to \uFFFF -
byte 8 -128 127
Integershort 16 -32,768 32,767int 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+383.4e+38 Floating
Pointdouble 64 -1.7e+3081.7e+308
10Pemrograman Berorientasi Objek
Konstanta dan Variabel
-
7/22/2019 Tipe Data Java
11/38
Integer Konstanta dan Variabel adalah bilangan bulat posistif atau
negatif dengan range yang sudah disebutkan pada tabelsebelumnya.
Contohyang dibolehkan:
12
0
-123456
9999999999L // tipe long
Contohyang tidak diperbolehkan :
1,024 // memiliki tanda berkoma
9999999999 // terlalu besar untuk tipe intDeklarasi variabel integersbb:
int var1, var2;
short var3;
int var4 = 100 // deklarasi dan inisialisasi nilai 100 ke var4
11Pemrograman Berorientasi Objek
Konstanta dan Variabel
-
7/22/2019 Tipe Data Java
12/38
Real Konstanta dan Variabel adalah bilangan pecahan posistif atau
negatif dengan range yang sudah disebutkan pada tabelsebelumnya.
Contohyang dibolehkan:
12. // tipe double
12E2 // tipe double
12.0e2 // tipe double3.14159F // tipe float
Contohyang 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 ;
12Pemrograman Berorientasi Objek
Konstanta dan Variabel
-
7/22/2019 Tipe Data Java
13/38
boolean Konstanta dan Variabeladalah data yang berisi nilai dua
kemungkinan, yaitu nilai benar atau salah.Contohyang dibolehkan:
true
false
Deklarasi variabel boolean sbb:boolean test = false;
character Konstanta dan Variabel adalah character dan stringdidalam java menggunakan unicode character set. Dimanadisimpan didalam bentuk 16 bit memori, yang memungkinkanmenyimpan sebanyak 65,536 karakter. Nilai Karakter ditandaidengan diapit dengan dengan tanda petik tunggal. Data ini jugadapat direpresentasikan dengan escape character, sepertiterlihat pada tabel dibawah ini. Sedangkan string diapit dengantanda petik ganda.
13Pemrograman Berorientasi Objek
Konstanta dan Variabel
-
7/22/2019 Tipe Data Java
14/38
Contohyang dibolehkan:
a 1 abc C
Deklarasi variabel char sbb:
char test = A;
string test = Universitas Respati Yogyakarta;
Escape
sequence
Description
\n Baris baru. Posisi cursor diawal baris berikutnya.
\t Horizontal tab. Memindahkan kursor ke tab berikutnya
\rCarriage return. Posisi cursor diawal baris yang sedang aktif
\\ Backslash. Mencetak karakter backslash.
\" Double quote. Mencetak tanda petik ganda,System.out.println( \ in quotes\ );displaysin quotes
14Pemrograman Berorientasi Objek
Konstanta dan Variabel
-
7/22/2019 Tipe Data Java
15/38
Keeping Constants Consisten in a Program adalah bagaimanamembentuk nilai konstanta menjadi tetap dan tidak dapat berubahsepanjang program berjalan. Untuk itu dapat dilakukan denganmenggunakan keyword final didepan tipe data dari sebuahkonstanta. Dan nama constanta menggunakan huruf besar semua
Contohprogram sbb:1. public class Constant {
2. public static void main(String[] args) {3. finalfloat PI= 3.14159F;
4. Syatem.out.println(2*pi = + 2*PI);
5. }
6. }
Hasilnya sbb:2*pi = 6.28318
Jika antara baris 3 & 4 disisipkan perintah sbb:
PI = 3.0F
Hasilnya sbb:
cantassign a value to final variable: PI 1 error
15Pemrograman Berorientasi Objek
Konstanta dan Variabel
-
7/22/2019 Tipe Data Java
16/38
Latihan :
Pertanyaan 18 jawablah dengan pernyataan valid atau tidakvalid dan berikan alasannya kalau tidak valid.
1. 10.0 5. -100,000
2. 123E-5 6. T
3. 7. 3.14159
4. Siapa kamu? 8. TruePertanyaan 911, apakah sama atau tidak nilai real disisi kiri
dengan disisi kanan?
9. 4650.; 4.65E+3
10. -12.71; -1.27E1
11. 0.0001; 1.0e4
Pertanyaan 1215, apakah valid atau tidak penulisan nama
berikut, jika tidak berikan alasannya?
12. isVector 14. 2ndChance
13. MyNewApp 15. MIN_DISTANCE
16Pemrograman Berorientasi Objek
Konstanta dan Variabel
-
7/22/2019 Tipe Data Java
17/38
Latihan :
Pertanyaan berikut, jawablah dengan pernyataan valid atau tidakvalid dan berikan alasannya kalau tidak valid, untuk penulisandeklarasi variabel dan konstanta berikut.
16. int firstIndex = 20;17. Final short MAX_COUNT = 100000;
18. Char test = Y;
Pertanyaan terakhir, apakah legal atau tidak program dibawah ini,jika legal apa hasil dari program tersebut, jika tidak dimana letakkesalahannya?
int I, j;
final int k = 4;I = k * k;
j = I / k;
k = I + j;
17Pemrograman Berorientasi Objek
Konstanta dan Variabel
-
7/22/2019 Tipe Data Java
18/38
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
18Pemrograman Berorientasi Objek
-
7/22/2019 Tipe Data Java
19/38
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_name19Pemrograman Berorientasi Objek
Operator Penugasan
Operator
-
7/22/2019 Tipe Data Java
20/38
Operator ini digunakan dalam ekspresi matematika. Berikut ini daftar
operator matematika yang dikenal dalam Java:
Nilai dari ekspresi dapat berupa proses kalkulasi matematik dimana kita
sebut dengan assignmnet operator. Contoh
a = a + 10
20Pemrograman Berorientasi Objek
Operator Matematika
Type Symbol Algebraic Expression Java Expression
Additon + a + b a + b
Subtraction - ab ab
Multiplication * ab a*b
Division / a / b or a b a / b
Modulus (Remainder) % a mod b a % b
Operator
-
7/22/2019 Tipe Data Java
21/38
Superioritas Operator.1. Operator dapat dikombinasikan ke dalam ekspresi yang kompleks
result = total + count / max - offset;
1. Operator memiliki superioritas yang terdefinisi secara baik, yang menentukanurutan mereka dievaluasi
2. Perkalian, pembagian dan remainder dievaluasi sebelum pengurangan,
penjumlahan dan penggabungan string
3. Operator aritmatik dengan superioritas sama dievaluasi dari kiri ke kanan
4. Kurung dapat digunakan untuk memaksa urutan evaluasi
Contoh :
a + b + c + d + e1 432
a + b * c - d / e3 241
a / (b + c) - d % e
2 341
a / (b * (c + (d - e)))
4 123
21Pemrograman Berorientasi Objek
Operator
-
7/22/2019 Tipe Data Java
22/38
Numeric Promotion of OperandsAdalah sebuah aturan dari hasil sebuah perhitungan matematik
dimana atruran tersebut adalah:
1. Jika dalam operand tersebut terdapat nilai double maka operand lain akan di
konvert ke nilai double
2. Selain itu, jika dalam operand tersebut terdapat nilai float maka operand lainakan di konvert ke nilai float.
3. Selain itu, jika dalam operand tersebut terdapat nilai long maka operand lain
akan di konvert ke nilai long
4. Selain itu, semua operand akan di konvert ke nilai int.
Contoh :Expression Result
1. 1 + 1 / 4 1
2. 1.0 + 1 / 4 1.0
3. 1 + 1.0 / 4 1.2522Pemrograman Berorientasi Objek
Operator
-
7/22/2019 Tipe Data Java
23/38
Ilustrasi Program1. public class TestPromotion {
2. public static void main(String[] args) {
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.javaC:\>java TestPromotion
1
1.0
1.25 23Pemrograman Berorientasi Objek
Operator
-
7/22/2019 Tipe Data Java
24/38
Assignment Conversion - Casting Conversion
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.
24Pemrograman Berorientasi Objek
Operator
-
7/22/2019 Tipe Data Java
25/38
Untuk mengatasi masalah tersebut, maka perlu dilakukan pemaksaan
tipe data dengan menggunakan teknik Casting, yaitu denganmemberikan tipe data lain pada data yang ingin dirubah tipenya.
Contoh :
x = (int) y;
Contoh Programsbb:1. public class TestCast {
2. public static void main(String[] args) {
3. double x = 3.99, y = 1.1e38
4. System.out.println((int) x = + (int) x);
5. System.out.println((int) y = + (int) y);
6. }
7. }
Hasil dari program diatas dbb:
(int) x = 3
(int) y = 2147483647 // nilai maksimal int, y lebih besar dari hasil
25Pemrograman Berorientasi Objek
Assignment Conversion - Casting Conversion
Operator
-
7/22/2019 Tipe Data Java
26/38
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;
26Pemrograman Berorientasi Objek
Assignment Conversion - Casting Conversion
Operator
-
7/22/2019 Tipe Data Java
27/38
Java juga memiliki spesial assingment operators denganmengkombinasikan assignment dengan binary operator menjadi sebuahekpresi tunggal.
1. Assignment Statement
a = a + 5;
dapat digantikan dengan menggunakan Addition assignmentoperator +=. Sehingga dituliskan sbb:
a += 5;
2. 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 = a2 1
*= a *= 4 a = a * 4 12
/= a /= 2 a = a / 2 1
%= b %= 3 b = b % 3 2 27Pemrograman Berorientasi Objek
Assignment Statement & Assignment Operator
Operator
-
7/22/2019 Tipe Data Java
28/38
Operator Increment dan DecrementJava memiliki unary Increment Operator (++) dan unary Decrement
Operator (--). Biasanya data disimpan dalam bentuk penambahan nilaiinteger 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
28Pemrograman Berorientasi Objek
Operator
-
7/22/2019 Tipe Data Java
29/38
Contoh Program :
1. public class TestIncrement {
2. public static void main(String[] args) {
3. int i = 4, k = 0;
4. k = i-- + 2 * i * ++i;
5. System.out.println( i = + i );6. System.out.println( k= + k );
7.
8. k = --i + 2 * i * i++;
9. System.out.println( i = + i );
10. System.out.println( k= + k );11. }
12. }
Hasilnya :4
28
4
21
29Pemrograman Berorientasi Objek
Operator Increment dan DecrementOperator
-
7/22/2019 Tipe Data Java
30/38
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 nilaisebelumnya.
Contoh Program : DemoOperatorLogika.java
30Pemrograman Berorientasi Objek
Logika
Operator
http://localhost/var/www/apps/conversion/tmp/scratch_8/DemoOperatorLogika.javahttp://localhost/var/www/apps/conversion/tmp/scratch_8/DemoOperatorLogika.javahttp://localhost/var/www/apps/conversion/tmp/scratch_8/DemoOperatorLogika.javahttp://localhost/var/www/apps/conversion/tmp/scratch_8/DemoOperatorLogika.java -
7/22/2019 Tipe Data Java
31/38
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:
Pemrograman Berorientasi Objek 31
Operator Sample Expression Meaning
Relatinal operators:
>
=
y
x < 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
Relasi
Operator
-
7/22/2019 Tipe Data Java
32/38
Relasi
Contoh Program: RelasiDemo.java
32Pemrograman Berorientasi Objek
Operator
http://localhost/var/www/apps/conversion/tmp/scratch_8/RelasiDemo.javahttp://localhost/var/www/apps/conversion/tmp/scratch_8/RelasiDemo.javahttp://localhost/var/www/apps/conversion/tmp/scratch_8/RelasiDemo.javahttp://localhost/var/www/apps/conversion/tmp/scratch_8/RelasiDemo.java -
7/22/2019 Tipe Data Java
33/38
Contoh Program:1. public class TestAnd {
2. public static void main(String[] args) {
3. int i = 10, j = 9;
4. boolean test;
5. test = i > 10 && j++ > 10;
6. System.out.println(i);
7. System.out.println(j);
8. System.out.println(test);
9.
10. test = i > 10 & j++ > 10;
11.
System.out.println(i);12. System.out.println(j);
13. System.out.println(test);
14. }
15. }
Pemrograman Berorientasi Objek 33
-
7/22/2019 Tipe Data Java
34/38
?: merupakan operator ternary.
Sintaks; exp1 ? Exp2 : exp3
Operator kondisi (?:)
Operator
34Pemrograman Berorientasi Objek
-
7/22/2019 Tipe Data Java
35/38
Standard Input and Output
Pada bahasa pemrograman selalu digunakan sesuatu untukmembaca 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, biasanyamelalui 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.
35Pemrograman Berorientasi Objek
-
7/22/2019 Tipe Data Java
36/38
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();36Pemrograman Berorientasi Objek
-
7/22/2019 Tipe Data Java
37/38
Standard Input and Output
Contoh Program:1. import java.io.*;
2. public class ReadStdIn {3. public static void main(String[] args) throws IOException {
4. double v1; int i1; float b1;
5. BufferedReader stdin = new BufferedReader(new
InputStreamReader(System.in));
6. try {
7. System.out.println("Enter a double value: ");
8. v1 = Double.parseDouble(stdin.readLine());9. System.out.println("Value = " + v1);
10. System.out.println("Enter a int value: ");
11. i1 = Integer.parseInt(stdin.readLine());
12. System.out.println("Value = " + i1);
13. System.out.println("Enter a float value: ");
14. b1 = Float.parseFloat(stdin.readLine());15. System.out.println("Value = " + b1);
16. }
17. catch(Exception e) {
18. System.out.println("Error : " + e);
19. }
20. }
21. } 37Pemrograman Berorientasi Objek
-
7/22/2019 Tipe Data Java
38/38
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
38P B i t i Obj k