Anda di halaman 1dari 10

BAB 3 TYPE DATA, VARIABLE DAN OPERATOR Bahasa pemrograman pada umumnya, mengenal adanya variabel yang digunakan

untuk menyimpan nilai atau data. Sedangkan Java sendiri dikenal sebagai bahasa pemrograman dengan sifat strongly typed yang artinya diharuskan mendeklarasikan tipe data dari semua variabel, dan apabila lupa atau salah mengikuti aturan pendeklarasian variabel, maka akan mendapatkan error pada saat proses kompilasi. 1. Type Data Java memiliki tipe data yang dapat dikategorikan menjadi dua kelompok, yaitu tipe data primitif dan referensi. a. Tipe Data Primitif Delapan macam tipe data primitif dalam pemrograman Java, yaitu : Integer (Bilangan Bulat) Integer merupakan tipe data numerik yang digunakan apabila tidak berurusan dengan pecahan atau bilangan desimal. Tipe data numerik yang termasuk integer adalah sebagai berikut : Type Byte Short Int Deskripsi Memiliki nilai integer dari -128 sampai +127 dan menempati 1 byte ( 8 bits ) di memori. Memiliki nilai integer dari -32768 sampai 32767 dan menempati 2 bytes ( 16 bits ) di memori. Memiliki nilai integer dari -2147483648 sampai 2147483647 dan menempati 4 bytes ( 32 bits ) di memori Memiliki nilai dari -9223372036854775808 sampai 9223372036854775807 dan menempati 8 bytes ( 64 bits ) di memori

Long

Bilangan integer biasanya menggunakan int, dan bukan byte, short maupun long. Bilangan integer juga mengenal nilai positif dan negatif ( signed number ). Tipe data byte dan short hanya digunakan pada aplikasi khusus yang memperhatikan penggunaan memori. Sedangkan long jarang digunakan karena jarang memerlukan bilangan sebesar kapasitas long. Floating Point ( Bilangan Pecahan ) Floating Point digunakan untuk menangani bilangan decimal atau perhitungan yang lebih detail dibanding integer. Ada dua macam floating point, yaitu : Deskripsi Memiliki nilai -3.4x108 sampai +3.4x108 dan menempati 4 byte di memori Double Memiliki nilai -1.7x10308 sampai +1.7x10308 Semua bilangan pecahan atau desimal dalam Java tanpa diakhiri huruf f akan dianggap sebagai double. Sedangkan bilangan yang ingin dikategorikan sebagai float harus diakhiri dengan huruf F. Algoritma & Struktur Data ( Bab 3 ) Oleh : Muhammad Ichwanudin 1 Type Float

Misalnya : 4.22 F atau 2.314f. Sedangkan untuk bilangan double, bisa menambah dengan huruf D, karena secara default bilangan dengan koma atau pecahan atau desimal akan dianggap sebagai double. Char Char adalah karakter tunggal yang didefinisikan dengan diawali dan diakhiri dengan tanda ( petik tunggal ). Char berbeda dengan String, karena String bukan merupakan tipe data primitif, tetapi sudah merupakan sebuah objek. Tipe char mengikuti aturan unicode, sehingga dapat menggunakan kode /u kemudian diikuti bilangan dari 0 sampai 65535, tetapi yang biasa digunakan adalah bilangan heksadesimal dari 0000 sampai FFFF. Misalnya : \u123 Selain karakter biasa, juga terdapat karakter khusus yang didefinisikan dengan cara mengawalinya menggunakan tanda \ seperti pada tabel berikut :
Kode \b \t \n \r \* \ \\ Nama Backspace Tab Linefeed Carriage return Double quote Single quote Backsplash \u0008 \u0009 \u000a \u000d \u0022 \u0027 \u005c Nilai Unicode

Boolean Dalam Java dikenal tipe data boolean yang terdiri dari dua nilai saja, yaitu true dan false. Boolean sangat penting dalam mengevaluasi suatu kondisi, dan sering digunakan untuk menentukan alur program.

b. Type Data Referensi Kelebihan pemrograman berorientasi objek adalah dapat mendefinisikan tipe data baru yang merupakan objek dari class tertentu. Tipe data ini digunakan untuk mereferensikan objek atau class tertentu, seperti String. Contoh : TipeData.java
public class TipeData { public static void main(String[] args) { // Tipe data primitif long data1 = 9223372036854775807L; long l1 = 5456469; long l2 = 92233l; int data2 = 2235641; short data3 = 714; byte data4 = 34; float data6 = (float) 1.733; // tipe data pecahan double data5 = 4.967; // tipe data pecahan char data7 = 'C'; boolean data8 = true;

Algoritma & Struktur Data ( Bab 3 ) Oleh : Muhammad Ichwanudin

System.out.println("Nilai System.out.println("Nilai System.out.println("Nilai System.out.println("Nilai System.out.println("Nilai System.out.println("Nilai System.out.println("Nilai System.out.println("Nilai System.out.println("Nilai System.out.println("Nilai } }

Long : "+ data1); Long Minimum: "+Long.MIN_VALUE); Long Maximum: "+Long.MAX_VALUE); Int : "+ data2); Short : "+ data3); Byte : "+ data4); Double : "+ data5); Float : "+ data6); Char : "+ data7); Boolean : "+ data8);

2. Variable Variabel merupakan container yang digunakan untuk menyimpan suatu nilai pada sebuah program dengan tipe tertentu. Untuk mendefinisikan variabel, kita dapat menggunakan identifier untuk menamai variabel tersebut. 1. Identifier Identifier adalah kumpulan karakter yang dapat digunakan untuk menamai variabel, method, class, interface, dan package. Sebagaimana bahasa pemrograman pada umumnya, Java memiliki peraturan untuk identifier yang valid atau sah. Identifier bisa disebut valid atau sah apabila diawali dengan : o Huruf / abjad o Karakter mata uang o Underscore ( _ ) Identifier dapat terdiri dari : o Huruf / abjad o Angka o Underscore ( _ ) Identifier tidak boleh mengandung @, spasi atau diawali dengan angka. Selain itu, identifier tidak boleh menggunakan keyword atau katakata yang memiliki arti atau digunakan dalam pemrograman Java. Daftar Keyword Java : abstract boolean break byte Case Catch Char Class Const Continue Default Do double false fxtends final Finnaly Float For Goto If Implements Import Instanceof int static long native New Package Private Protected Public Return Short Interface strictfp Super Switch Synchronized This Throw Throws Transient Try Void Volatile While

Selain menggunakan karakter biasa, kita juga dapat menggunakan unicode sebagai identifier. Algoritma & Struktur Data ( Bab 3 ) Oleh : Muhammad Ichwanudin 3

2. Mendeklarasikan Variabel Sintaks dasar : [tipe data] [nama variabel] Menuliskan tipe data dari variabel, contoh : int bilangan; char karakter; float bildesimal; boolean status; Setelah mendeklarasikan variabel dengan tipe data, selanjutnya memberikan nilai variabel tersebut dengan tanda = . bilangan = 20; karakter = k; bildesimal = 22.2f; status = true; Dapat juga mendeklarasikan dan memberikan nilai dalam satu baris. int bilangan = 20; char karakter = k; float bildesimal = 22.2f; boolean status = true; Kita dapat membuat variabel menjadi konstanta yang tidak dapat diubah nilainya Dengan menambahkan keyword sebelum tipe data dari variabel. Contoh : final int konstantainteger = 10; final float pajak = 15.5; Agar konstanta ini dapat diakses oleh class lain tanpa harus membuat objek terlebih dahulu, maka kita dapat menambahkan modifier public dan keyword static seperti berikut: public static final konstantainteger = 10; Contoh : Variabel.java
public class Variabel { static int a; public static void main(String[] args) { int x; // variabel x ini dikenal di seluruh method main() x = 10; a = 2; //variabel a juga dikenal di sini System.out.println("Nilai a : " + a); { //awal dari blok baru int y; // variabel ini hanya dikenal di dalam blok code ini saja y = 5; System.out.println("Nilai x : " + x); //variabel x dikenal di sini

Algoritma & Struktur Data ( Bab 3 ) Oleh : Muhammad Ichwanudin

System.out.println("Nilai a : " + a); //variabel a juga dikenal di sini { //nested blok int z;// variabel ini hanya dikenal di dalam nested blok ini saja z = 20; // variabel x,y dan a dikenal di dalam nested blok ini System.out.println("Nilai x + y + z + a : " + (x + y + z + a)); } //akhir dari nested blok //z = 11; // variabel z tidak lagi dikenal di sini //variabel y masih dikenal di sini karena masih dalam blok //code tempat ia dideklarasikan System.out.println("Nilai y : " + y); } //akhir dari blok baru //y = 12; // variabel y tidak dikenal di sini //variabel x masih dikenal di sini karena masih dalam blok //code tempat ia dideklarasikan System.out.println("Nilai x : " + x); } }

3. Operator Operator Java merupakan karakter khusus yang berupa simbol atau tanda yang memerintahkan compiler untuk melakukan berbagai operasi terhadap sejumlah operand. Perintah operasi dispesifikasikan oleh operator, dimana operand-nya adalah variabel, pernyataan, atau besaran literal. Operator yang dibahas pada bagian ini adalah operator aritmatika, increment dan decrement, assignment (penugasan), relasi, logical, dan bitwise. a. Operator Aritmatika Sama halnya dengan semua bahasa pemrograman, Java menyediakan operatoroperator aritmatika untuk manipulasi variabel data numerik.Operator-operator tersebut antara lain: Operator + * / % Penggunaan Op1 + Op2 Op1 - Op2 Op1 * Op2 Op1 / Op2 Op1 % Op2 Deskrisi Menambahkan Op1 dengan Op2 Mengurangkan Op1 dengan Op2 Mengalikan Op1 dengan Op2 Membagi Op1 dengan Op2 Menghasilkan sisa hasil bagi Op1 dengan Op2

b. Operator Increment dan Decrement Operator Increment dan Decrement digunakan untuk menaikan atau menurunkan suatu nilai integer (bilangan bulat) sebanyak satu satuan, dan hanya dapat digunakan pada variabel. Ada dua versi operator increment maupun decrement, yaitu prefix dan postfix. Prefix berarti operator digunakan sebelum variabel atau ekspresi, dan postfix berarti operator digunakan sesudahnya. Penjelasan selengkapnya yaitu:

Algoritma & Struktur Data ( Bab 3 ) Oleh : Muhammad Ichwanudin

Operator ++

Penggunaan Op++ ++Op

--

Op---Op

Deskrisi Op dinaikkan nilainya 1 setelah dilakukan operasi pada Op Op dinaikkan nilainya 1 sebelum dilakukan operasi pada Op Op diturunkan nilainya 1 setelah dilakukan operasi pada Op Op diturunkan nilainya 1 sebelum dilakukan operasi pada Op

Contoh : IncrementDecrement.java public class IncrementDecrement { public static void main (String[] args){ int i = 1; System.out.println("i : " + i); System.out.println("++i : " + ++i); System.out.println("i++ : " + i++); System.out.println("i : " + i); System.out.println("--i : " + --i); System.out.println("i-- : " + i--); System.out.println("i : " + i); } } c. Operator Bitwise Operator ini dalam Java digunakan untuk melakukan manipulasi bit. Operator Penggunaan Deskrisi & Op1 & Op2 Bitwise AND | Op1 | Op2 Bitwise OR ^ Op1 ^ Op2 Bitwise XOR ~ ~Op1 Bitwise Complement << Op1 << Op2 Menggeser bit Op1 ke kiri sejauh Op2 >> Op1 >> Op2 Menggeser bit Op1 ke kanan sejauh Op2 >>> Op1 >>> Op2 Geser kanan tanpa mempertahankan sign (dengan nilai 0 sebagai pengisi bit paling kiri) Operator Penggunaan Deskripsi 1. Bitwise AND Bitwise AND akan menghasilkan bit 1, jika kedua operator bernilai bit 1. Operasi bitwise AND dapat digambarkan sebagai berikut : Op1 Op2 Op1 & Op2 0 0 0 0 1 0 1 0 0 1 1 1

Algoritma & Struktur Data ( Bab 3 ) Oleh : Muhammad Ichwanudin

2. Bitwise OR Bitwise OR akan menghasilkan bit 1, jika salah satu operator bernilai bit 1. Operasi bitwise OR dapat digambarkan sebagai baerikut : Op1 0 0 1 1 Op2 0 1 0 1 Op1 | Op2 0 1 1 1

3. Bitwise XOR ( Exclusive OR ) Bitwise XOR akan menghasilkan bit 1, jika kedua operator memiliki nilai bit yang berbeda. Operasi bitwise XOR dapat digambarkan sebagai berikut : Op1 Op2 Op1 ^ Op2 0 0 0 0 1 1 1 0 1 1 1 0 4. Bitwise Complement Bitwise Complement akan menghasilkan bit yang berlawanan dengan bit yang dioperasikan. Operasinya dapat digambarkan sebagai berikut : Op ~Op 0 1 1 0 Contoh : Bitwise.java
public class Bitwise { public static void main(String[] args) { int x,y; x = ~100; System.out.println("Nilai negasi x : "+x); x = 17 & 30; System.out.println("Nilai and : "+x); x = 17 | 30; System.out.println("Nilai or : "+x); x = 17 ^ 30; System.out.println("Nilai xor : "+x); x = 111; y = x >> 1; System.out.println("Nilai geser kanan : "+y); x = -111; y = x >> 1; System.out.println("Nilai geser kanan negatif : "+y); x = 111; y = x >>> 1; System.out.println("Nilai geser kanan 1 bit 0 : "+y); x = -111; y = x >>> 1; System.out.println("Nilai geser kanan 1 bit 0 negatif : "+y); x = -111; y = x << 1;

Algoritma & Struktur Data ( Bab 3 ) Oleh : Muhammad Ichwanudin

System.out.println("Nilai geser kiri negatif: "+y); x = 1000; y = x << 1; System.out.println("Nilai geser kiri : "+y); } }

d. Operator Assignment ( Penugasan ) Operator assignment dalam Java digunakan untuk memberikan sebuah nilai ke sebuah variabel. Operator assignment hanya berupa =, namun selain itu dalam Java dikenal beberapa shortcut assignment operator yang penting, yang digambarkan dalam tabel berikut : Operator += -= *= /= %= &= |= ^= <<= >>= >>>= e. Operator Relasi Operator relasi dalam Java digunakan untuk menghasilkan nilai boolean yang sering digunakan untuk mengatur alur jalannya sebuah program. Operator Penggunaan Deskripsi > Op1 > Op2 Menghasilkan true jika Op1 lebih besar dari Op2 < Op1 < Op2 Menghasilkan true jika Op1 lebih kecil dari Op2 >= Op1 >= Op2 Menghasilkan true jika Op1 lebih besar atau sama dengan Op2 <= Op1 <= Op2 Menghasilkan true jika Op1 lebih kecil atau sama dengan Op2 == Op1 == Op2 Menghasilkan true jika Op1 sama dengan Op2 != Op1 != Op2 Menghasilkan true jika Op1 tidak sama dengan Op2 Contoh : Relasi.java
public class Relasi { public static void main(String[] args) { int x,y,z; x = 100; y = 99; z = 99; System.out.println("Nilai x = "+x); System.out.println("Nilai y = "+y);

Penggunaan Op1 += Op2 Op1 -= Op2 Op1 *= Op2 Op1 /= Op2 Op1 %= Op2 Op1 &= Op2 Op1 |= Op2 Op1 ^= Op2 Op1 <<= Op2 Op1 >>= Op2 Op1 >>>= Op2

Sama Dengan Op1 = Op1 + Op2 Op1 = Op1 - Op2 Op1 = Op1 * Op2 Op1 = Op1 / Op2 Op1 = Op1 % Op2 Op1 = Op1 & Op2 Op1 = Op1 | Op2 Op1 = Op1 ^ Op2 Op1 = Op1 << Op2 Op1 = Op1 >> Op2 Op1 = Op1 >>> Op2

Algoritma & Struktur Data ( Bab 3 ) Oleh : Muhammad Ichwanudin

System.out.println("Nilai z = "+z); // operator sama dengan if(y == z ){ System.out.println("y sama dengan z"); }else { System.out.println("y tidak sama dengan z"); } // operator tidak sama dengan if(x != y ){ System.out.println("x tidak sama dengan y"); }else { System.out.println("x sama dengan y"); } // operator lebih besar dari if(x > y ){ System.out.println("x lebih besar dari y"); }else { System.out.println("x lebih kecil dari y"); } // operator lebih kecil dari if(y < x ){ System.out.println("y lebih kecil dari x"); }else { System.out.println("y lebih besar dari x"); } // operator lebih besar dari atau sama dengan if(x >= y ){ System.out.println("x lebih besar dari atau sama dengan y"); }else { System.out.println("x lebih kecil dari atau sama dengany"); } // operator lebih kecil dari atau sama dengan if(y <= x ){ System.out.println("y lebih kecil dari atau sama dengan x"); }else { System.out.println("y lebih besar dari atau sama dengan x"); } } }

f. Operator Logical Operator ini digunakan untuk ekspresi logik yang menghasilkan nilai boolean. Operatoroperator yang digunakan adalah AND ( && ), OR ( ) dan NOT ( ! ). A True True False False B True False True False A || B True True True False A && B True False False False !A False False True True !B False True False True 9

Algoritma & Struktur Data ( Bab 3 ) Oleh : Muhammad Ichwanudin

Contoh : logik.java
public class logik { public static void main(String[] args) { boolean Benar = true; boolean Salah = false; System.out.println("Hubungan System.out.println("Benar || System.out.println("Benar || System.out.println("Salah || System.out.println("Salah || System.out.println("Hubungan System.out.println("Benar && System.out.println("Benar && System.out.println("Salah && System.out.println("Salah && OR (||)"); Benar : " +(Benar||Benar)); Salah : " +(Benar||Salah)); Benar : " +(Salah||Benar)); Salah : " +(Salah||Salah)); AND (&&)"); Benar : " +(Benar&&Benar)); Salah : " +(Benar&&Salah)); Benar : " +(Salah&&Benar)); Salah : " +(Salah&&Salah));

System.out.println("Hubungan NOT (!)"); System.out.println("Kebalikan (NOT) dari Benar adalah: " +!Benar); System.out.println("Kebalikan (NOT) dari Salah adalah: " +!Salah); } }

Algoritma & Struktur Data ( Bab 3 ) Oleh : Muhammad Ichwanudin

10

Anda mungkin juga menyukai