Modul 2 - Tipe Data Variabel dan Operator

| Minggu, 05 November 2017
MAKALAH
Modul 2
“Tipe Data Variabel dan Operator”
Disusun Oleh :
Idam Idzin Dimiati
20160910116
SI-2016-A

SISTEM INFORMASI
FAKULTAS ILMU KOMPUTER
UNIVERSITAS KUNINGAN

KATA PENGANTAR
Dengan memanjatkan puji dan syukur kehadirat Allah SWT, Makalah ini telah selesai disusun tepat pada waktunya. Makalah praktikum ini bertujuan agar mahasiswa khususnya bagi saya sendiri mengenal lingkungan Bahasa Pemrograman 1 dan pembangunan aplikasi terhadap database. Pada makalah ini akan dijadikan acuan untuk kedepannya agar lebih bisa mengimplementasikan  segala hal yang ada di Bahasa Pemrograman 1 .  Adapun yang dipelajari mengambil dari berbagai sumber sehingga menjadi satu makalah yang insaallah bermanfaat bagi saya selaku penyusun dan orang lain  yang membacanya.
Demikianlah sebagai pengantar, Semoga Allah senantiasa melimpahkan Rahmat-Nya dalam setiap aktivitas yang kita kerjakan.
Aammiinn..
Kuningan, 5 November 2017
Penyusun,
Idam Idzin Dimiati

BAB I
PENDAHULUAN 
A.    LATAR BELAKANG
Bahasa pemrograman atau sering diistilahkan juga dengan bahasa komputer adalah teknik komando/instruksi untuk memerintahkan komputer. Bahasa pemrograman ini merupakan suatu himpunan dari aturan sintaks dan semantik yang dipakai untuk mendefinisikan program komputer. Dengan banyaknya bahasa pemrograman yang ada saat ini, seperti bahasa pemrograman C, C++, python, perl, java dan ruby yang digunakan oleh perusahaan, maka bahasa pemrograman yang dinamis lebih banyak digunakan oleh para programmer dalam menjalankan aktifitasnya bahasa pemrograman berorientasi objek merupakan tujuan yang paling utama. Pentingnya bahasa pemrograman berorientasi objek sebagai media untuk membuat aplikasi yang akan dibuat seperti aplikasi website yang pada akhirnya akan berdampak positif pada seorang programer, tidak saja pada developer website itu sendiri yang mempunyai tujuan untuk mendapatkan keuntungan, tetapi juga bermanfaat positif bagi masyarakat sebagai pengguna.
Oleh karena itu bahasa pemrograman pada akhirnya harus mempunyai efisiensi yang baik dalam bahasa pemrogramanya, terutama dalam hal efisiensi coding. Adapun bahasa pemrograman yang akan dipelajari dan di fokuskan pada bahasa pemrograman Java. Java memang sudah tidak asing lagi karena perintah yang digunakan juga sama halnya dengan bahasa pemrograman C++.
B.     RUMUSAN MASALAH
     1.      Apa itu Tipe Data Variabel dan Operator?
C.     TUJUAN
     1.      Agar dapat memahami Bahasa Pemrograman Java
     2.      Melatih daya pikir dan logika
     3.      Menjadikan acuan awal untuk membuat sebuah program di akhir pembelajaran.

BAB II

PEMBAHASAN

A.    Pengertian Tipe Data
Tipe data adalah suatu keyboard yang secara otomatis datang dari bahasa program Java dan sama juga dari beberapa bahasa program lannya. Dimana tipe data biasanya digunakan ketika kita menentukan suatu jenis nilai yang dapat ditampung oleh suatu variabel.
Tipe data memiliki beberapa kegunaan dalam jenis nilainya sesuai apa nama tipe data tersebut. Adapun perbedaan jenis kelompok tipe data yang harus kita ketahui, yaitu tipe data bilangan bulat (integer), bilangan pecahan (floating point), dan tipe data boolean dan char.
1.      Tipe bilangan bulat (Integer)
Integer  merupakan tipe data numerik  yang digunakan apabila tidak berurusan
dengan pecahan atau bilangan desimal. Bilangan integer juga mengenal nilai positif dan
negatif (  signed number ). Tipe data numerik yang termasuk integer adalah sebagai berikut :
Tipe Data
Ukuran (bit)
Range


Byte
8
-128 s.d. 127

Short
16
-32768 s.d. 32767

Int
32
-2147483648 s.d. 2147483647



-9223372036854775808  s.d.

Long
64
9223372036854775807

Bilangan integer biasanya menggunakan int, dan bukan byte, short maupun long. 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.
• Byte
Type byte umumnya digunakan pada saat kita bekerja dengan sebuah data stream dari suatu file maupun jaringan, yaitu untuk kepeluan proses membaca/menulis. Selain itu, tipe ini juga digunakan saat bekerja dengan data biner yang tidak kompatibel dengan tipe-tipe lain yang didefiniskan di dalam Java.


Contoh program :

public class a {
public static void main (String [] args)
//deklarasi variabel byte jumlah; //inisialisasi variabel jumlah=1;
//output
System.out.println(“Jumlah = "+jumlah);
}
}
• Short
Pada umumnya diaplikasikan pada komputer-komputer 16-bit, yang saat ini semakin jarang keberadaanya.
Contoh program :
public class b {
public static void main (String [] args)
//deklarasi variabel short jumlah; //inisialisasi variabel jumlah=2;
//output
System.out.println(“Jumlah = "+jumlah);
}
}
• Int
Tipe ini juga merupakan tipe yang paling banyak dipakai dalam merepresentasikan angka dalam Java, dikarenakan dianggap paling efisien dibandingkan dengan tipe-tipe integer lainnya. Tipe Int banyak digunakan untuk indeks dalam struktur pengulangan maupun dalam konstruksi sebuah array.Selain itu, secara teori setiap ekspresi yang melibatkan tipe integer byte, short, int, long) semuanya akan dipromosikan ke int terlebih dahulu sebelum dilakukan proses perhitungan.
Contoh program :
public class a {
public static void main (String [] args)
//deklarasi variabel int jumlah; //inisialisasi variabel jumlah=20;
//output
System.out.println(“Jumlah = "+jumlah);
}}
• Long
Tipe ini digunakan untuk kasus-kasus tertentu yang nilainya berada di luar rentang tipe int, karna tipe ini punya range paling tinggi dibanding Integer lainnya. Dengan kata lain, tipe long terpaksa digunakan jikadata memiliki range diluar range int.
Contoh program :
public class d {
public static void main (String [] args){
//deklarasi variabel int jumlah; //inisialisasi variabel jumlah=22121;
//output
System.out.println(“Jumlah = "+jumlah);
}
}
Integer adalah sebuah tipe data yang paling dasar yang berupa bilangan yang tidak mengandung pecahan desimal. Tipe data ini juga memiliki urutan tersendiri, sehingga kita dapat menggunakannya sesuai kebutuhan dalam pemograman dan kita dapat membandingkannya satu dengan yang lainnya. Di bagian tabel diatas kita bisa tahu nama-nama tipe data integer ini dan kita bisa menggunakannya sesuai kebutuhan. Akan tetapi tipe data int lebih umum digunakan dalam pemogramannya.
Contoh program penggabungan beberapa tipe data:
package TipeData;
public class TipeInteger{
public static void main(string[] args)
//membuat variabel dengan beberapa tipe data yang berbeda
byte a = 1;
short b = 2;
int c = 3;
int d;
//menjumlahkan variabel a, b, c


d = a + b + c;

//mencetak variabel d atau menampilkan hasil

system.out.println(“Hasil = “ +d);
}
}


2.      Tipe data Floating Point ( Bilangan Pecahan )

Floating Point digunakan untuk menangani bilangan desimal atau perhitungan yang lebih detail dibanding integer.



Ukuran



Presisi (jumlah
Tipe
bytes
bit
Range
digit)
float
4
32
+/- 3.4 x 1038
6-7
double
8
64
+/- 1.8 x 10308
15

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. Misalnya : 4.22 F atau 2.314f. Sedangkan untuk bilangan doeuble, bisa menambah dengan huruf D, karena secara default bilangan dengan koma atau pecahan atau desimal akan dianggap sebagai double.

• Float
Tipe ini digunakan untuk menandakan nilai–nilai yang mengandung presisi atau ketelitan tunggal (single-precision) yang menggunakan ruang penyimpanan 32-bit. Presisi tunggal biasanya lebih cepat untuk processor-processor tertentu dan memakan ruang penyimpanan setengah kali lebih sedikit dibandingkan presisi ganda (double precision). Permasalahan yang timbul dari pemakaian tipe float untuk nilai-nilai yang terlalu kecil atau justru terlalu besar, karena nilai yang dihasilkan akan menjadi tidak akurat.
Contoh program :
public class a {
public static void main (String [] args)


//     deklarasi variabel int ip; //inisialisasi variabel ip=3,7;

//     output

System.out.println(“ip saya = "+ip);
}
}
• Double
Tipe ini mengandung tingkat ketelitian ganda atau presisi ganda (double precisiondan menggunakan ruang penyimpanan 64-bit untuk menyimpan nilai. Tipe double tentu lebih cepat untuk melakukan perhitungan-perhitungan matematis daripada tipe float. Untuk perhitungan yang bersifat bilangan riil dan menghasilkan hasil yang lebih akurat, maka lebih baik menggunakan tipe double.
Contoh program  :
public class b {
public static void main (String [] args)
//deklarasi variabel int pi; //inisialisasi variabel pi=3,1416;
//output
System.out.println(“nilai pi = "+pi);
}
}
Bilangan pecahan juga bisa dibilang real, real adalah tipe data yang dipakai pada variable yang berdata bilangan pecahan desimal. Dimana kita tahu di dunia matematika ada yang namanya angka dibelakang koma, makanya tipe data ini sangat cocok membantu kita untuk menuntaskan segala masalah dalam perhitungan. Pada tipe data ini yang paling umum digunakan yaitu tipe data double dimana double memiliki ukuran yang besar senilai 64 bit setara dengan 8 byte. Tipe data ini mampu menuntaskan segala hitungan yang melibatkan bilangan pecahan yang banyak angka dibelakang koma, seperti halnya perhitungan kosinus, perhitungan akar, pangkat, bahkan volume, dan masih banyak lagi.
3.      Tipe data 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.
Contoh program :
public class a {
public static void main (String [] args){
//deklarasi variabel
char HurufPertama;
//inisialisasi variabel  
HurufPertama=‟a‟;
//output
System.out.println(“Huruf pertama adalah "+HurufPertama);
}
}
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‟.
Java menggunakan karakter Unicode untuk merepresentasikan semua karakter yang ada.Unicode ialah sekumpulan karakter yang terdapat pada semua bahasa, seperti bahasa Latin, Arab, Yunani dan lain-lainnya. Karena bahasa Java dirancang untuk dapat diterapkan di berbagai macam platform, maka Java menggunakan karakter Unicode yang membutuhkan ukuran 16-bit.
Untuk karakter-karakter yang tidak dapat diketikkan secara langsung melalui keyboard, java menyediakan beberapa escape sequence (pasangan karakter yang dianggap sebagai karakter tunggal). Escape sequence tidak dianggap sebagai String, melainkan tetap sebagai tipe karakter khusus. Di bawah ini akan dijelaskan beberapa contoh tentang escape sequence.
Escape



Nilai Unicode



Sequence
Keterangan



\ddd
Karakter octal (ddd)






Karakter Unicode heksadecimal



\uxxxx
(xxxx)



\‟
Petik tunggal
\u0027
\*
Double Quote
\u0022
\\
Backslash
\u005c
\r
Carriage return
\u000d
\n
Baris baru (line feed)
\u000a
\f
Form feed



\t
Tab
\u0009
\b
Backspace
\u0008











Tipe data Boolean mempunyai dua nilai yaitu true (benar) dan false (salah). Nilai Boolean sangat penting digunakan untuk pengambilan keputusan dalam suatu kejadian tertentu.Contoh penggunaan:

Contoh penggunaan tipe data boolean pada java bisa dicoba dengan perintah berikut :
class TipeData {
public static void main(String[] args) {
// Tipe data primitif
long data1 = 546767226531;
int data2 = 2235641;
short data3 = 714;


bytedata4 = 34;

float data6 = 1.733; // tipe data pecahan
double data5 = 4.967; // tipe data pecahan


char data7 = „C‟;

boolean data8 = true;
System.out.println(“Nilai Long : “+ data1);
System.out.println(“Nilai Int : “+ data2);
System.out.println(“Nilai Short : “+ data3);
System.out.println(“Nilai Byte : “+ data4);
System.out.println(“Nilai Double : “+ data5);
System.out.println(“Nilai Float : “+ data6);
System.out.println(“Nilai Char : “+ data7);
System.out.println(“Nilai Boolean : “+ data8);
}
}
4.      String
String adalah tipe data dasar yang berupa kumpulan karakter dengan panjang tertentu. Meskipun berupa kumpulan karakter, karena tipe data string sering digunakan dalam pemrograman, string dianggap sebagai tipe data dasar.
Untuk penyimpanan string didalam memori, dibutuhkan 1 byte untuk tiap karakternya. Serupa dengan penulisan karakter, penulisan sebuah string juga harus diawali dan diakhiri dengan tanda petik ganda. String juga mengenal null yang dituliskan dengan "".
Contoh string:
·         "KUNINGAN"
·         "Universitas Kuningan”
·         "ABC3456"
·         "Lucu"
·         "30202001"
·         "z"
Perhatikan bahwa sebuah karakter tunggal ("z") juga merupakan string.
Contoh program  :
public class y {
public static void main (String [] args)
//Deklarasi variabel
string a;
a=”senang”;
//output
System.out.println(“Saya sedang merasa "+a);
}
}
B.      Pengertian Variabel
Variabel adalah item yang digunakan data untuk menyimpan pernyataan objek. Variabel memiliki tipe data dan nama. Tipe data menandakan tipe nilai yang dapat dibentuk oleh variabel itu sendiri. Nama variabel harus mengikuti aturan untuk identifier.
1.      Variabel Reference dan Variabel Primitif
Sekarang kita akan membedakan dua tipe variabel yang dimiliki oleh program Java. Ada variabel reference dan variabel primitive :
Variabel primitif adalah variabel dengan tipe data primitif. Mereka menyimpan data dalam lokasi memori yang sebenarnya dimana variabel tersebut berada.
Variabel Reference adalah variabel yang menyimpan alamat dalam lokasi memori. Yang menunjuk ke lokasi memori dimana data sebenarnya berada. Ketika Anda mendeklarasikan variabel pada class tertentu, Anda sebenarnya mendeklarasikan reference variable dalam bentuk objek dalam classnya tersebut.
Sebagai contoh, Apabila kita mempunyai dua variabel dengan tipe data int dan
String.
int num = 10;
String name = "Hello";
Dimisalkan ilustrasi yang ditunjukkan dibawah ini adalah memori yang ada pada komputer Anda, dimana Anda memiliki alamat dari setiap sel memorinya, nama variabel dan datanya terbentuk sebagai berikut.
Seperti yang dapat Anda lihat, untuk variable primitif num, datanya berada dalam lokasi dimana variabel berada. Untuk reference variable name, variabel hanya menunjuk alamat dimana data tersebut benar-benar ada.
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.
a)      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 :
-           Huruf / abjad
-           Karakter mata uang
-           Underscore ( _ )
Identifier dapat terdiri dari :
-           Huruf / abjad
-           Angka
-           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.
b)      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 = ,contoh :
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;
C.     Pengertian Operator
Dalam Java, ada beberapa tipe operator. Ada operator aritmatika, operator relasi, operator logika, dan operator kondisi. Operator ini mengikuti bermacam-macam prioritas yang pasti sehingga compilernya akan tahu yang mana operator untuk dijalankan lebih dulu dalam kasus beberapa operator yang dipakai bersama-sama dalam satu pernyataan.
1.      Operator Aritmatika Dasar
Operator aritmetika adalah operator yang berfungsi perhitungan matematis.
Yang  termasuk  dalam arithmatic  operator  adalah sebagai berikut :
+          :           Penjumlahan
-           :           Pengurangan
*          :           Perkalian
/           :           Pembagian
%         :   Modulus (sisa hasil bagi)
++        :   Increment (menaikkan nilai dengan 1)
--          :   Decrement(menurunkan nilai dengan 1)
Berikut ini contoh program menggunakan operator aritmetika :
class Program1{
public static void main(String[] args){
System.out.println(“Operasi aritmetika ” + “pada tipe integer”);
int a = 7 + 4;
int b = a – 4;
int c = a * b;
int d = c / 3;
int e = -a;
System.out.println(“Nilai a: ” + a);
System.out.println(“Nilai b: ” + b);
System.out.println(“Nilai c: ” + c);
System.out.println(“Nilai d: ” + d);
System.out.println(“Nilai e: ” + e);
System.out.println();
System.out.println(“Operasi aritmetika ” + “pada tipe floating-point”);


double fa = 7 + 4;

double fb = fa – 4;
double fc = fa * fb;
double fd = fc / 3;
double fe = -a;
System.out.println(“Nilai fa: ” + fa);
System.out.println(“Nilai fb: ” + fb);
System.out.println(“Nilai fc: ” + fc);
System.out.println(“Nilai fd: ” + fd);
System.out.println(“Nilai fe: ” + fe);
}
}
a.       Operator Modulus (Sisa Bagi)
Operator modulus (%) digunakan untuk menentukan sisa hasil bagi dari sebuah operasi pembagian bilangan bulat maupun bilangan riil.
Berikut ini contoh program menggunakan operator modulus :
class Program2
{
public static void main(String[] args)
{
int a=25, b=6;
int c = a % b;
double d = 17.75;
double e = d % b;
System.out.println(“Sisa bagi ” + a + “/” + b + ” adalah ” + c);
System.out.println(“Sisa bagi ” + d + “/” + b + ” adalah ” + e);
}
}
b.      Operator Increment – Decrement
Increment decrement operator adalah operator yang berguna untuk menaikkan 1 nilai (increment) dan menurunkan 1 nilai (decrement).
Berdasarkan urutan eksekusi penaikann dan penurunan nilainya, increment-decrement operator ini dapat diklasifikasikan menjadi 2 macam, yaitu pre-increment/decrement dan post-increment/decrement.
Berikut ini contoh program menggunakan operator increment :
class Program3
{
public static void main(String[] args)
{
int a=17;
System.out.println(“Pre-increment”);
System.out.println(“a\t: ” + a);
System.out.println(“++a\t: ” + ++a);
System.out.println(“a\t: ” + a);
int b=17;
System.out.println(“\nPost-increment”);
System.out.println(“b\t: ” + b);
System.out.println(“b++\t: ” + b++);
System.out.println(“b\t: ” + b);
}
}
Berikut ini contoh program menggunakan operator decrement :
class Program4
{
public static void main(String[] args)
{
int a=17;
System.out.println(“Pre-decrement”);
System.out.println(“a\t: ” + a);
System.out.println(“–a\t: ” + –a);
System.out.println(“a\t: ” + a);
int b=17;
System.out.println(“\nPost-decrement”);
System.out.println(“b\t: ” + b);
System.out.println(“b–\t: ” + b–);
System.out.println(“b\t: ” + b);
}
}
2.       Operator Relasional
Operator relasional adalah operator yang menyatakan hubungan antara satu operand dengan operand lainnya. Hasil yang diberikan dari operasi ini akan bernilai boolean (true/false).
Berikut ini contoh program menggunakan operator relasional :
class Program5
{
public static void main(String[] args)
{
int a=7, b=17;
System.out.println(“a == b bernilai ” + (a == b));
System.out.println(“a != b bernilai ” + (a != b));
System.out.println(“a > b bernilai ” + (a > b));
System.out.println(“a < b bernilai ” + (a < b));
System.out.println(“a >= b bernilai ” + (a >= b));
System.out.println(“a <= b bernilai ” + (a <= b));
}
}
3.      Operator Logika
Operator logika berguna ketika kita ingin menguji dua kondisi atau lebih secara bersamaaan apakah syarat itu bernilai benar atau tidak. Operator logika digunakan untuk
melakukan operasi terhadap dua operand yang bertipe Boolean. Hasil yang diberikan dari operasi ini juga akan bertipe Boolean.
Berikut ini contoh program menggunakan operator logika :
class Program6
{
public static void main(String[] args)
{
System.out.println(“Operasi AND”); System.out.println(“true && true = ” + (true && true)); System.out.println(“true && false = ” + (true && false));
System.out.println(“true || true  = ” + (true || true));
System.out.println(“true || false = ” + (true || false));
System.out.println(“false || true = ” + (false || true));
System.out.println(“true ^ true   = ” + (true ^ true));
System.out.println(“true ^ false  = ” + (true ^ false));
System.out.println(“false ^ true  = ” + (false ^ true));
System.out.println(“!true  = ” + (!true));
System.out.println(“!false = ” + (!false));
}
}
4.      Operator Assignment (penugasan)
Operator penugasan berguna untuk memberikan nilai kesuatu variabel.Operator penugasan menggunakan tanda sama dengan ( = ). Dibawah ini beberapa operator penugasan.
Operator          Keterangan
=                      Pemberian nilai
+=                    Penambahan bilangan
-=                     Penguragan bilangan
*=                    Pengalian bilangan
/=                     Pembagian bilangan
%=                   Pemrolehan sisa bagi
           
Operator += digunakan untuk menaikan nilai terhadap suatu variabel contohnya a +=2, jika semula variabel a berisi 5 maka a saat ini akaan bernilai 7.
Operator -= digunakan untuk menurunkan nilai terhadap suatu variabel contohnya a -=2, jika semula variabel a berisi 5 maka a saat ini akaan bernilai 3.
Operator /= digunakan untuk membagi nilai terhadap suatu variabel contohnya a /=2, jika semula variabel a berisi 5 maka a saat ini akaan bernilai 2.5
Operator %= digunakan untuk memperoleh sisa pembagian nilai terhadap suatu isi variabel contohnya x%=2, berarti nilai variabel x (bertipe int) akan diisi dengan sisa pembagian x dengan 2. Kalau misal x berisi 5 maka x saat ini akan bernilai 1.


Contoh operator penugasan yaitu:

class penugasan{
public static void main(String args[]){
int a =1;
int b = 2;
int c = 3;
int d = 4;
int e = 5;
3a+=5;
b*=4;
c-=1;
d/=2;
e%=2;
System.out.println("a = " +a);
System.out.println("b = " +b);
System.out.println("c = " +c);
System.out.println("b = " +d);
System.out.println("c = " +e);
}
}
5.      Operator Bitwise
Operator bitwise digunakan untuk memanipulasi bit-bit dari nilai data yang ada di memori.
Operator bitwise dalam bahasa Java :
           



Operator
Penjelasan



Contoh



Hasil



>> 
Pergeseran bit ke kanan
12 >> 2



3



<< 
Pergeseran bit ke kiri
7
<< 2



28



&
Manipulasi bit dengan logika AND
11 & 7



3



|
Manipulasi bit dengan logika OR
9
| 3



11



^
Manipulasi bit dengan logika XOR
8
^ 6



14



~
Manipulasi bit dengan logika NOT
~13



-14


Setiap numerik yang dimanipulasi harus dirubah dulu kedalam bentu biner, pada contoh di atas maka binernya ada sebagai berikut:




Desimal
Biner



3
11



6
110



7
111



8
1000



9
1001



10
1010



11
1011



12
1100

Setelah didapatkan biner dari sertiap numerik yang akan dimanipulasi maka barulah dilakukan operasi bitwise sesuai dengan operator yang di gunakan. Penjelasan dapat dilihat pada tabel berikut ini :




Penggunaan



Penjelasan
Hasil Biner
Hasil Desimal



12>>2
1100 digeser 2 bit ke kanan
11
3



7<<2
111 digeser 2 bit ke kiri
11100
28



12 & 7
1100
& 0111 maka setiap bit dibandingkan dengan logika AND
0100
8



9 | 3
0101
| 0011 maka setiap bit dibandingkan dengan logika OR
0111
11



8 ^ 6
0100
^ 0110 maka setiap bit dibandingkan dengan logika XOR
0010
2



~13
~(1101)



-14

Pada operator ~ (Not) ada perhitungan tersendiri, secara sederhana rumusnya sebagai berikut :
~(n) = – (n+1), contoh: ~(82) = -83
~(-n) = n-1, contoh: ~(-43) = 42
Contoh Program :
public class OperatorBitwise {
public static void main(String[] args) {
//TODO Auto-generated method stub
System.out.println(" 7 << 2 = "+ (7 << 2));
System.out.println(" 12 >> 2 = "+ (15 >> 2));
System.out.println(" 12 & 7 = "+ (12 & 7));
System.out.println(" 9 | 3 = "+ (9 | 3));
System.out.println(" 8 ^ 6 = "+ (8 ^ 6));
System.out.println(" ~13 = "+ (~13));
System.out.println(" ~(-8) = "+ ~(-8));  
  }
  }


    D.    POSTEST

Program Menghitung Gaji Karyawan :
Coding :
package modul2;
import java.util.Scanner;
public class Latihan_03 {

static void garis(){
for(int i=0;i<=40;i++){System.out.printf("=",i);
    }
}

public static void main(String[] args) {
System.out.println("PROGRAM PENGGAJIAN KARYAWAN");
double gpok=100000;
double tugaji,hgaji,sgaji;
String nama = "";
String nik = "";

garis();

Scanner input=new Scanner(System.in);
System.out.print("\nMasukan NIK Anda : ");
nik = input.next();
System.out.print("\nMasukan Nama Anda : ");
nama = input.next();
System.out.print("\nMasukan Masa Kerja (Tahun) : ");
double mkerja = input.nextDouble();
hgaji=mkerja*gpok;
tugaji=hgaji*0.25;
sgaji=hgaji+tugaji;
garis();
System.out.printf("\nGaji Pokok Anda :%.0f",hgaji);
System.out.printf("\nGaji Tunjangan Anda :%.0f",tugaji);
System.out.printf("\nTotal Gaji Bersih Anda :%.0f\n",sgaji);
garis();
System.out.printf("\n");
}
}
Run :


Perhitungan Bangun Datar dan Bangun Ruang

Coding :
package modul2;
import java.util.*;
public class Latihan_04 {
   
    static void menu(){
        System.out.println("\nPERHITUNGAN MENCARI NILAI");
        System.out.println("1. Bujur Sangkar\n2. Persegi Panjang\n3. Segitiga");
        System.out.println("4. Lingkaran\n5. Limas\n6. Kerucut");
    }
   
    static void bujursangkar(){
        Scanner input=new Scanner(System.in);
        System.out.println("1. MENCARI LUAS BUJUR SANGKAR\n2. MENCARI KELILING BUJUR SANGKAR");
        System.out.print("Masukan pilihan Anda [1/2]: ");
        int pilih=input.nextInt();
        switch (pilih){
            case 1 :
                    System.out.print("Masukan nilai sisi : ");
                    int s1=input.nextInt();
                    int luas=s1*s1;
                    System.out.print("Nilai luas : "+(float)luas);
                    break;
            case 2 :
                    System.out.print("Masukan nilai sisi : ");
                    int s2=input.nextInt();
                    int keliling=4*s2;
                    System.out.print("Nilai Keliling : "+(float)keliling);
                    break;
        }
       
    }
   
    static void persegipanjang(){
        Scanner input=new Scanner(System.in);
       
        System.out.println("1. MENCARI LUAS PERSEGI PANJANG\n2. MENCARI KELILING PERSEGI PANJANG");
        System.out.print("Masukan pilihan Anda [1/2]: ");
        int pilih=input.nextInt();
        switch (pilih){
            case 1 :
                    System.out.print("Masukan nilai panjang : ");
                    int p1=input.nextInt();
                    System.out.print("Masukan nilai lebar   : ");
                    int l1=input.nextInt();
                    int luas=p1*l1;
                    System.out.print("Nilai luas : "+(float)luas);
                    break;
            case 2 :
                    System.out.print("Masukan nilai panjang : ");
                    int p2=input.nextInt();
                    System.out.print("Masukan nilai lebar   : ");
                    int l2=input.nextInt();
                    int keliling=(2*p2)+(2*l2);
                    System.out.print("Nilai luas : "+(float)keliling);
                    break;
        }
    }

static void segitiga(){
    Scanner input=new Scanner(System.in);
        System.out.println("PERHITUNGAN SEGITIGA SAMA SISI");
        System.out.println("1. MENCARI LUAS SEGITIGA\n2. MENCARI KELILING SEGITIGA");
        System.out.print("Masukan pilihan Anda [1/2]: ");
        int pilih=input.nextInt();
        switch (pilih){
            case 1 :
                    System.out.print("Masukan nilai Alas   : ");
                    int a=input.nextInt();
                    System.out.print("Masukan nilai Tinggi : ");
                    int t=input.nextInt();
                    int luas=(1/2*(a*t));
                    System.out.print("Nilai Luas : "+(float)luas);
                    break;
            case 2 :
                    System.out.print("Masukan nilai Sisi   : ");
                    int s=input.nextInt();
                    int keliling=s+s+s;
                    System.out.print("Nilai Keliling : "+(float)keliling);
                    break;
        }
}

static void lingkaran(){
    Scanner input=new Scanner(System.in);
        System.out.println("PERHITUNGAN KELILING LINGKARAN");
        System.out.println("1. Jika Jari-jari diketahui\n2. Jika Diameter diketahui");
        System.out.print("Masukan pilihan Anda [1/2]: ");
        int pilih=input.nextInt();
        switch(pilih){
            case 1 :
                System.out.print("Masukan Nilai jari-jari : ");
                int jari=input.nextInt();
                int k1=((22/7)*(2*jari));
                System.out.print("Nilai keliling : "+(float)k1);
                break;
            case 2 :
                System.out.print("Masukan Nilai jari-jari : ");
                int diameter=input.nextInt();
                int k2=((22/7)*diameter);
                System.out.print("Nilai keliling : "+(float)k2);
                break;
        }
}

static void limas(){
    Scanner input=new Scanner(System.in);
        System.out.println("PERHITUNGAN LIMAS");
        System.out.println("1. MENCARI LUAS ALAS LIMAS\n2. MENCARI VOLUME LIMAS");
        System.out.print("Masukan pilihan Anda [1/2]: ");
        int pilih=input.nextInt();
        switch(pilih){
            case 1 :
                System.out.print("Masukan Nilai Sisi : ");
                int sisi=input.nextInt();
                int la=sisi*sisi;
                System.out.print("Nilai Luas Alas    : "+(float)la);
                break;
            case 2 :
                System.out.print("Masukan Nilai Luas Alas : ");
                int luas=input.nextInt();
                System.out.print("Masukan Nilai Tinggi    : ");
                int tinggi=input.nextInt();
                int volume=(1/3*(luas*tinggi));
                System.out.print("Nilai keliling : "+(float)volume);
                break;
        }   
}

static void kerucut(){
    Scanner input=new Scanner(System.in);
        System.out.println("PERHITUNGAN KERUCUT");
        System.out.println("1. MENCARI LUAS PERMUKAAN KERUCUT\n2. MENCARI VOLUME KERUCUT");
        System.out.print("Masukan pilihan Anda [1/2]: ");
        int pilih=input.nextInt();
        switch(pilih){
            case 1 :
                    System.out.print("Masukan Nilai Jari-jari : ");
                    int jari=input.nextInt();
                    System.out.print("Masukan Nilai Selimut   : ");
                    int s=input.nextInt();
                    int luas=(22/7*(jari*(jari+s)));
                    System.out.print("Nilai Luas Permukaan : "+(float)luas);
                    break;
            case 2 :
                    System.out.print("Masukan Nilai Jari-jari : ");
                    int r=input.nextInt();
                    System.out.print("Masukan Nilai Tinggi    : ");
                    int t=input.nextInt();
                    int volume=((1/3)*(22/7*((r*r)*t)));
                    System.out.print("Nilai Luas Permukaan : "+(float)volume);
                    break;
        }
}
   
static void mencoba(){
    Scanner input=new Scanner(System.in);
    boolean menu=true;
    System.out.print("\nIngin Mencoba Lagi [Y/N]: ");
    String coba=input.next();
    if(coba=="Y"||coba=="y"){
        menu=true;
    }else
        menu=false;
}

    public static void main(String[]args){
        Scanner input=new Scanner(System.in);
        boolean menu=true;
        while(menu){
        menu();
        System.out.print("Masukan No. Pilihan Anda [1/2/3/4/5/6] :");
        int pilih=input.nextInt();
       
        switch(pilih){
            case 1:bujursangkar();mencoba();break;
            case 2:persegipanjang();mencoba();break;
            case 3:segitiga();mencoba();break;
            case 4:lingkaran();mencoba();break;
            case 5:limas();mencoba();break;
            case 6:kerucut();mencoba();break;
        }
       
        }
       
    }
   
}

  Run :






BAB III

PENUTUP
A.    Kesimpulan
            Java dikenal sebagai bahasa pemrograman yang bersifat strongly, yang berarti diharuskan mendeklarasikan tipe data dari semua variable yang apabila lupa atau salah dalam mengikuti aturan pendeklarasian variable, maka akan terjadi error pada saat proses kompilasi. Tipe data yang terdapat pada bahasa pemrograman Java pada umumnya tidak jauh berbeda dengan bahasa pemrograman lain seperti C, C++, Pascal, Basic, dan lainnya, yakni terdiri dari integer, floating point, char, string dan boolean. Aturan penulisan variabel pada bahasa pemrograman Java juga tidak jauh berbeda dengan bahasa pemrograman lain seperti C, C++, Pascal, Basic, dan lainnya, yakni harus diawali dengan huruf/abjad, karakter mata uang, dan underscore ( _ ) dan terdiri dari huruf/abjad, angka, dan underscore ( _ ), serta tidak boleh menggunakan kata-kata yang dikenal oleh bahasa pemrograman Java (keyword), seperti byte, case, int, dan lainnya. Sama halnya dengan semua bahasa dapat dipemrograman, Java juga menyediakan operator-operator aritmatika untuk memanipulasi data numerik. Selain operator aritmatika, Java juga mempunyai operator-operator lain, seperti operator increment dan decrement, operator assignment (penugasan), operator relasi, operator logical, operator bitwise (yang terdiri dari and, or, xor, dan complement), dan operator precedence.



DAFTAR PUSTAKA

 

0 komentar:

Posting Komentar

Next Prev
▲Top▲