• Tidak ada hasil yang ditemukan

Staffsite STMIK PPKIA Pradnya Paramita

N/A
N/A
Protected

Academic year: 2017

Membagikan "Staffsite STMIK PPKIA Pradnya Paramita"

Copied!
36
0
0

Teks penuh

(1)

TIPE DATA, VARIABEL, DAN

OPERATOR

(2)

 Jika kita melihat pada program pertama kita dan

program-program 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

(3)

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

(4)

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

(5)

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.

(6)

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)

Contoh Tipe Data Primitive

(7)

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.

(8)

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”

(9)

Tipe Bit Range / Jangkauan Sub-Tipe

boolean 1 True or false

char 16 ‘\u0000’ to ‘\uFFFF’

-byte 8 -128 … 127

Integer

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 Floating

Point

double 64 -1.7e+308…1.7e+308

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 :

(10)

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

(11)

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 ;

(12)

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.

(13)

Contoh yang dibolehkan: ‘a’ ‘1’ “abc” “C”

Deklarasi variabel char sbb: char test = ‘A’;

string test = ”Universitas Budi Luhur”;

(14)

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. public class Constant {

2. public static void main(String[] args) { 3. final float 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:

can’t assign a value to final variable: PI 1 error

(15)

Latihan :

Pertanyaan 1 – 8 jawablah dengan pernyataan valid atau tidak valid 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. True

Pertanyaan 9 – 11, 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 12 – 15, apakah valid atau tidak penulisan nama berikut, jika tidak berikan alasannya?

12. isVector 14. 2ndChance

13. MyNewApp 15. MIN_DISTANCE

(16)

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. 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 letak kesalahannya?

int I, j;

final int k = 4; I = k * k;

j = I / k; k = I + j;

(17)

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 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

Operator Penugasan

(19)

 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

Operator Matematika

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 Modulus (Remainder) % a mod b a % b

(20)

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 :

20 a + b + c + d + e

1 2 3 4

a + b * c - d / e

3 1 4 2

a / (b + c) - d % e

2 1 4 3

a / (b * (c + (d - e)))

4 3 2 1

(21)

Numeric Promotion of Operands

Adalah 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 lain akan 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 / 41.0 3. 1 + 1.0 / 41.25

(22)

Ilustrasi Program

1. 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.java C:\>java TestPromotion

1 1.0 1.25

(23)

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.

Operator

Assignment

Conversion

-

Casting

(24)

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. 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 24

Assignment

Conversion

-

Casting

Conversion

(25)

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;

Assignment

Conversion

-

Casting

Conversion

(26)

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

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;

2. Arithmatic Assignment Operators

Assignment Statement & Assignment

Operator

(27)

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

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.

[image:27.720.15.720.48.530.2]

c = c + 1; c += 1; c++;

Tabel : Increment and Decrement Operator

Operator

(28)

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

Operator Increment dan Decrement

(29)

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

Logika

(30)
[image:30.720.32.709.31.529.2]

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: >

< >= <=

x > y x < y x >= y x <= y

True if 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

(31)

Contoh Program:

RelasiDemo.java

Operator

(32)

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. }

(33)

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.

(34)

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)); ………

(35)

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. }

(36)

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:

Gambar

Tabel : Increment and Decrement Operator
Tabel Relational Operators:

Referensi

Dokumen terkait

Undang-Undang Nomor 11 Tahun 2012 telah mengedepankan pendekatan restorative justice dan proses diversi sebagai upaya penyelesaian tindak pidana

I then provide empirical evidence that these reforms suc- ceeded in substantially increasing the labor market attachment of the target population and that local welfare

SEHUBUNGAN DENGAN PENGUMUMA PEMENANG, MAKA BERSAMA INI DISAMPA KAN

Pada Bab II Point 2 tertulis masa berlaku penawaran 150 (seratus lima puluh) hari kalender,sedangkan pada Bab IV huruf F masa berlaku penawaran 60 (enam puluh) hari kalender

Dengan ini kami beritahukan bahwa penawaran Saudara Nomor : ll ,1KP/SPHIIIII2AI2 tanggal 07 Maret 2A72 perlhal Penawaran Pekerjaan Pengadaan Sarana

Pendekatan sistem yang lebih menekankan pada prosedur didefinisikan bahwa sistem yaitu suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan, berkumpul

[r]

[r]