LAPORAN STRUKTUR DATA OPERATOR BAHASA JAVA Disusun oleh : Nama : Syarif Hidayatullah Kelas : IK-1A/21 NIM : 3.34.12.0.21 Job : 2 PRODI TEKNIK INFORMATIKA JURUSAN TEKNIK ELEKTRO POLITEKNIK NEGERI SEMARANG 2012/2013
KATA PENGANTAR Puji syukur penulis panjatkan ke hadirat Allah SWT yang telah memberikan Rahmat dan Hidayah-Nya sehingga penulis dapat menyelesaikan penyusunan laporan Struktur Data pada Job 2 OPERATOR BAHASA JAVA Laporan ini menyampaikan tentang operator dalam Java, jenis operar Java, menyebutkan operator presendence dan mampu membuat program menggunakn operator Terwujudnya laporan ini tidak terlepas dari bantuan berbagai pihak dan sumber sumber yang tidak dapat penulis sebutkan satu per satu. Penulis berharap laporan ini dapat bermanfaat bagi semua pihak baik itu pelajar maupun pihak yang sedang ingin belajr mengenai Bahasa Java Semarang, 28 Februari 2013 Penulis STRUKTUR DATA 2 Page 2
DAFTAR ISI HALAMAN JUDUL... 1 KATA PENGANTAR. 2 DAFTAR ISI.. 3 I. Tujuan Instruksional Khusus.. 4 II. Persyaratan / Kebutuhan Sistem Komputer... 4 III. Dasar Teori. 4 IV. Langkah Kerja.. 8 VI. Penutup.. 21 STRUKTUR DATA 2 Page 3
BAB II OPERATOR INSTRUKSI BAHASA JAVA I. Tujuan Instruksi Khusus Setelah menyelesaikan materi ini mahasiswa dapat: Menjelaskan tentang operator dalam Java. Menyebutkan jenis operator Menyebutkan operator precedence Membuat program menggunakn operator II. Persyaratan /Kebutuhan Sistem Komputer Persyaratan /Kebutuhan system untuk menjalankan program Java adalah sebagai berikut : 1. Processor P-II atau lebih tinggi, 2. Ran minimal 32 Mybte, 3. Free space hardisk minimal 200 Mybte, 4. Mouse ( Serial / PS2), 5. Sistem Operasi : a. Minimal Windows 98 ( disarankan versi Windows yang lebih tinggi ), b. Linux III. Dasar Teori 3.1 Operator Operator adalah karakter khusus yang memerintahkan compiler untuk melakukan operasi terhadap sejumlah operand. Perintah operasi dispesifikasikan oleh operator yang operandnya berupa variabel, pernyataan atau konstanta yaitu : Menurut tempatnya dan Operand yang diproses, operator dibagi menjadi 5 Operator unary : Operator yang mengolah satu operand Operator prefix : Operator yang ditempatkan sebelum operand Operator biner infiks : Operator yang ditempatkan diantara dua operand Operator postfiks : Operator yang ditempatkan setelah operand. Operator ternary : Operator yang membutuhkan tiga operand Menurut jenisnya operator dasar Java ada 4 yaitu : aritmatika, bitwise,relasi dal logika. STRUKTUR DATA 2 Page 4
3.2 Operator dan Aritmatika Digunakan untuk proses matematika. Operator aritmatika tidak bisa digunakan untuk tipe Boolean tetapi dapat digunakan pada tipe char. Anggota dari operator aritmatika sebagai berikut : Operator Hasil + Penjumlahan += Persamaan Penjumlahan - Pengurangan ( unary minus ) -= Persamaan Pengurangan * Perkalian *= Persamaan Perkalian / Pembagian /= Persamaan Pembagian % Modulus (Sisa Pembagian) %= Persamaan Modulus ++ Penambahan -- Pengurangan Contoh : int a = 1 + 1; int b = a * 5; int c = b / 10; int d = c - 1; int e = -a; int x = 42 % 10; //Modulus/Pembagian sisa nilai x =2 i+ = 4; //artinya i = i + 4 j- = 2; //artinya j = j - 2 k* = 3; //artinya k = k * 3 a/ = 2; //artinya a = a/2 b% = 2; //artinya b = b % 2 3.3 Operator Bitwise Integer Tipe numeric integer : long, int, short, char dan byte memiliki operator tambahan yang dapat memodifikasi dan memeriksa bit bit yang menyusun nilainya. Operatornya adalah sebagai berikut : STRUKTUR DATA 2 Page 5
Operator Hasil ~ Unary Not & AND OR ^ Exclusive OR >> Shift kanan >>> Shift kanan, isi dengan nol << Shift kiri &= Pernyatataan AND = Pernyataan OR ^= Pernyataan exclusive OR >>= Pernyataan shift kanan >>>= Pernyataan shift kanan, isi dengan nol <<= Pernyataan shift kiri Operator bitwise mengkonversi bilangan decimal ke dalam bentuk biner kemudian dimanipulasi sesuai dengan operatornya. Contoh : 10 diubah menjadi 1010 ~10 hasilnya : NOT 1010 = 0101 ( membalikkan / invers semua bit ) 10 & 2 = 1010 10 2= 1010 0010 0010 & 0010 1010 3.4 Operator Relasi berikut : Digunakan untuk membandingkan dua buah nilai, yang dijabarkan pada table Operator Hasil == Sama dengan!= Tidak sama dengan > Lebih besar dari < Lebih kecil dar >= Lebih besar sama dengan <= Lebih kecil sama dengan Semua operator diatas akan menghasilkan nlai Boolean (true dan false ) contoh : int a = 4 int b = 2 STRUKTUR DATA 2 Page 6
Boolean c = a < b; // c bernilai false 3.5 Operator Logika Boolean Operator ini bekerja pada operand Boolean, yang akan memanipulasi nilai Boolean untuk menghasilkan nilai Boolean pula, contoh : Operator Hasil & Logika AND Logika OR ^ Logika XOR Hubungan singkat OR && Hubungan singkat AND! Hubungan singkat NOT &= Pernyataan AND!= Pernyataan OR ^= Pernyataan XOR == Sama Dengan!= Tidak sama dengan?: Operator tenary if-then-else Boolean q=true; Boolean b=false; Boolean c=a b; Boolean d=a & b; Operator hubungan singkat ( short circuit logical operator) digunakan apabila ada dua operan ( operan kanan dan operan kiri ) dimana operan kanan bergantung pada operan kiri, baik true maupun false. Contoh : if 9 denom! = 0 && num / denom > 10) Keterangan : Bila nilai denom = 0, maka nilainya adalah false sehingga operan kanan tidak akan diperiksa karena hasilnya false sesuai dengan operan kiri. Bila nilai denom!=0, maka nilainya adalah true dan perlu di ANDkan dengan num/denom >10, sehingga operan kiri dan kanan perlu diandkan untuk mengetahui hasil logikanya (TRUE atau FALSE) Operator Ternary if then else membutuhkan 3 parameter yang bentuknya adalah sebagai berikut ; Expression? statement1 : statemen2 STRUKTUR DATA 2 Page 7
Keterangan : Expression berupa pernyataan yang memeriksa besaran Boolean. Jika hasilnya true maka statement1 dijalankan, sebaliknya jika hasilnya false maka statemen2 dijalankan. Syaratnya statement1 dan 2 harus menghasilkan tipe yang sama dan tidak boleh void. Contoh: Ratio = denom == 0? 0 : num / denom; Ketika dijalankan Java akanmemeriksa pernyataan disebalah kiri? ( denom == 0), jiks denom = 0 maka pernyataan diantara tanda tanda? dan : akan diperiksa dan ditetapkan sebagai hasil / nilai Ratio, sebaliknya jika tidak sama dengan 0 maka pernyataan num/ denom yang ditetapkan sebagai hasil / nila Ratio. 3.6 Preseden Operator Preseden operator menunjukkan adanya urutan tingkatan operator ( hirarki) yang penjabarannya pada table berikut : tertinggi ( ) [ ] ++ -- ~! * / % + - >> >>> << > >= < <= ==!= & ^ &&? : terendah IV. Langkah Kerja 1. Jalankan Edit Plus, buat file baru java dan ketikkan kode program berikut : class Aritmatika1 int a= 1+1; int b= a*3; int c= b/4; STRUKTUR DATA 2 Page 8
int d= b-a; int e=-d; System.out.println("a="+a); System.out.println("b="+b); System.out.println("c="+c); System.out.println("d="+d); System.out.println("e="+e); 2. Simpan program Java di atas 3. Eksekusi program Java Pertama dengan mengeklik Build Compile file. Lalu Build Execute file. 4. Ketikkan kode program Java berikut ini class Aritmatika2 STRUKTUR DATA 2 Page 9
int x= 42; double y= 42.3; int a= 1; int b= 2; int c= 3; a+=5; b+=4; c+=a*b; c%=6; System.out.println("x mod 10 =" +x%10); System.out.println("y mod 10 =" +y%10); System.out.println("a="+a); System.out.println("b="+b); System.out.println("c="+c); class Aritmatika3 STRUKTUR DATA 2 Page 10
int a= 1; int b= 2; int c=++b;//++b artinya b=b+1 int d= a++; c++; System.out.println("a="+a); System.out.println("b="+b); System.out.println("c="+c); System.out.println("d="+d); class Bitlogic STRUKTUR DATA 2 Page 11
String binary[]= "0000","0001","0010","0011","0100","0101","0110","0111","1000"," 1001","1010","1011","1100","1101","1110","1111"; int a= 3; int b= 6; int c= a+b; int d= a&b; int e=a^b; int f=(~a&b)*(a&~b); int g= ~a&0x0f;//nilai ~a agar kurang dari 16 System.out.println("a="+binary[a]); System.out.println("b="+binary[b]); System.out.println("c="+binary[c]); System.out.println("d="+binary[d]); System.out.println("e="+binary[e]); System.out.println("f="+binary[f]); System.out.println("g="+binary[g]); 5. Ulangi langkah nomor 3, amati dan catat hasilnya. sudah tersedia V. Pertanyaan 1. Jelaskan apa yang dimaksud operator, operand dan precedence. 2. Jelaskan jenis operator dalam Java! Dan berikan contoh masing masing. 3. Sebutkan hasil kali perhitungan dibawah ini : A = 10 / 2 * 5 2 >> 3; STRUKTUR DATA 2 Page 12
B = 4 * 3 / 4 << 5-4; C = (b==0)?0:(a/b); 4. Buat program menghitung operasi penjumlahan, pengurangan, perkalian dan pembagian. 5. Buatlah program untuk menghitung : a. luas persegi panjang, b. luas lingkaran, c. dan luas bujur sangkar. JAWAB : 1. Operator adalah karakter khusus yang memerintahkan compiler untuk melakukan operasi terhadap sejumlah operand. Perintah operasi dispesifikasikan oleh operator yang operandnya berupa variabel, pernyataan atau konstanta. Operand adalah tanda atau variable yang diproses menggunakan operator. Precedence adalah operator yang memiliki tingkatan (hirarki). 2. Menurut tempatnya dan Operand yang diproses, operator dibagi menjadi 5 yaitu : Operator unary : Operator yang mengolah satu operand Operator prefix : Operator yang ditempatkan sebelum operand Operator biner infiks : Operator yang ditempatkan diantara dua operand Operator postfiks : Operator yang ditempatkan setelah operand. Operator ternary : Operator yang membutuhkan tiga operand Menurut jenisnya operator dasar Java ada 4 yaitu : aritmatika, bitwise,relasi dal logika. Operator dan Aritmatika : Digunakan untuk proses matematika. Operator aritmatika tidak bisa digunakan untuk tipe Boolean tetapi dapat digunakan pada tipe char Operator Bitwise Integer : Tipe numeric integer : long, int, short, char dan byte memiliki operator tambahan yang dapat memodifikasi dan memeriksa bit bit yang menyusun nilainya. Operator Relasi : Digunakan untuk membandingkan dua buah nilai STRUKTUR DATA 2 Page 13
Operator Logika Boolean : Operator ini bekerja pada operand Boolean, yang akan memanipulasi nilai Boolean untuk menghasilkan nilai Boolean pula Preseden operator menunjukkan adanya urutan tingkatan operator ( hirarki) yang penjabarannya pada table berikut : tertinggi ( ) [ ] ++ -- ~! * / % + - >> >>> << > >= < <= ==!= & ^ &&? : terendah 3. A. 10/2*5-2>>3; maka : B. 4*3/4<<5-4; maka : class v3a int a; a=10/2*5-2>>3; System.out.println("a="+a); STRUKTUR DATA 2 Page 14
B=4*3/4<<5-4; maka : class v3b int b; b=4*3/4<<5-4; System.out.println("b="+b); STRUKTUR DATA 2 Page 15
C=(b==0)?0:(a/b) maka : class v3c int a=2; int b=6; int c; c=(b==0)?0:(a/b); System.out.println("c="+c); 4. A. Operasi penjumlahan : class Penjumlahan int a=7; int b=9; int c; c=a+b; System.out.println("c="+c); STRUKTUR DATA 2 Page 16
b. Operasi pengurangan class Pengurangan int a=100; int b=1; int c; c=a-b; System.out.println("c="+c); c. Operasi Perkalian class perkalian int a=9; STRUKTUR DATA 2 Page 17
int b=5; int c; c=a*b; System.out.println("c="+c); d. Operasi pembagian class pembagian int a=90; int b=10; int c; c=a/b; System.out.println("c="+c); STRUKTUR DATA 2 Page 18
5. a. Luas persegi panjang class luaspersegipanjang double p = 9.9; int l =10; double luas; luas = p*l; System.out.println("Luas Persegi panjang="+luas); b. Luas lingkaran class luasperlingkaran double phi = 3.14; double r = 12; double luas; luas = phi*r; System.out.println("Luas lingkaran="+luas); STRUKTUR DATA 2 Page 19
c. Luas bujur sangkar class luasbujursangkar int s=8; double luas; luas = s*s; System.out.println("Luas bujursangkar="+luas); STRUKTUR DATA 2 Page 20
VI. Penutup Operator adalah karakter khusus yang memerintahkan compiler untuk melakukan operasi terhadap sejumlah operand. Perintah operasi dispesifikasikan oleh operator yang operandnya berupa variabel, pernyataan atau konstanta STRUKTUR DATA 2 Page 21