Tipe Operator Java dan Fungsinya
- Operator aritmatika.
- Operator unary.
- Operator penugasan.
- Operator relasi.
- Operator logika.
- Operator ternary.
- Operator bitwise.
- Operator shift.
- Operator instance.
- * : Perkalian.
- / : Pembagian.
- % : Modulus.
- + : Penambahan.
- - : Pengurangan.
- - : Unary minus, digunakan untuk mengurangi atau meniadakan nilai.
- + : Unary plus, mengindikasikan nilai positif. Operator ini menampilkan conversi otomatis untuk int ketika tipe operannya adalah byte, char, atau short. Operator ini juga disebut sebagai unary numeric promotion.
- ++ : Operator increment, digunakan untuk menambahkan nilai sebesar 1 pada variabel. Terdapat dua jenis atau tipe dari operator increment, yaitu Post-increment dan Pre-increment. Pada operator Post-increment nilai pertama kali digunakan untuk menghitung hasil dan kemudian baru ditambah 1 atau diinkrementasi. Pada operator Pre-increment, nilai dilakukan inkrementasi +1 terlebih dahulu baru dilakukan perhitungan hasil.
- -- : Operator decrement, digunakan untuk mengurangi nilai sebesar -1 pada variabel. Terdapat dua jenis atau tipe dari operator decrement, yaitu Post-decrement dan Pre-decrement. Pada operator Post-decrement nilai pertama kali digunakan untuk menghitung hasil dan kemudian baru dikurangi -1 atau dilakukan dekrementasi. Pada operator Pre-decrement, nilai dilakukan dekrementasi -1 terlebih dahulu baru dilakukan perhitungan hasil.
Operator Penugasan, operator ini digunakan untuk menetapkan nilai pada setiap variabel yang telah dideklarasikan. Operator penugasan memiliki tingkat asosiativitas right to left, dimana nilai yang diberikan dari sisi kanan operator akan ditugaskan ke operator sebelah kiri dan oleh karena itu nilai sisi kanan harus dideklarasikan terlebih dahulu sebelum digunakan.
Format umum dari operator penugasan: Variabel = Nilai;
Dalam berbagai kondisi, operator penugasan dapat dikombinasikan dengan operator lainnya untuk membangun versi singkat dari statement yang disebut Compound Statement. Contoh, ketimbang membuat deklarasi a=+5, deklarasi tersebut dapat dibuat dalam bentuk lain yang lebih sederhana seperti a+=5.
- +=, untuk penambahan nilai operand kiri dengan operand kanan dan menetapkan nilainya ke variabel pada bagian kiri.
- =+, untuk pengurangan nilai operand kiri dengan operand kanan dan menetapkan nilainya ke variabel pada bagian kiri.
- *=, untuk perkalian nilai operand kiri ke operand kanan dan menetapkan nilainya ke variabel pada bagian kiri.
- /=, untuk pembagian nilai operand kiri dengan operand kanan dan menetapkan nilainya ke variabel pada bagian kiri.
- %=, untuk modulus nilai operand kiri dengan operand kanan dan menetapkan nilainya ke variabel pada bagian kiri.
variable relation_operator value
Beberapa bentuk operator relasi adalah sebagai berikut:
- ==, Senilai; akan mengembalikan return TRUE jika sisi kiri dan sisi kanan adalah senilai.
- !=, Tidak senilai; akan mengembalikan nilai TRUE jika sisi kiri dan sisi kanan adalah tidak senilai.
- <, kurang dari; akan mengembalikan nilai TRUE jika sisi kiri lebih kecil nilainya daripada sisi kanan.
- <=, kurang dari sama dengan; akan mengembalikan nilai TRUE jika sisi kiri nilainya kurang dari atau sama dengan daripada sisi kanan.
- >, lebih dari; akan mengembalikan nilai TRUE jika sisi kiri lebih besar nilainya daripada sisi kanan.
- >=, lebih dari sama dengan; akan mengembalikan nilai TRUE jika sisi kiri nilainya lebih dari atau sama dengan daripada sisi kanan.
Operator Logika, operator ini digunakan untuk menampilkan operasi logika AND atau logika OR, atau serupa dengan logika AND dan logika OR pada materi logika pemrograman. Hal yang perlu diperhatikan pada penggunaan operator logika adalah, kondisi kedua tidak akan pernah dievaluasi jika kondisi pertama adalah bernilai FALSE. Operator ini secara ekstensif sering digunakan pada statement pembuatan keputusan. Bentuk umum operator logika adalah:
- &&, Logika AND: akan mengembalikan nilai TRUE jika semua kondisi bernilai TRUE.
- ||, logika OR: akan mengembalikan nilai TRUE jika salah satu kondisi ada yang bernilai TRUE.
Operator Ternary, merupakan versi singkat dari statement IF-ELSE. Operator Ternary, merupakan operator yang membutuhkan tiga operand dalam proses operasinya. Secara umum, format operator ternary adalah sebagai berikut:
condition ? if true : if false
Pernyataan diatas menyatakan jika terdapat kondisi bernilai benar, maka jalankan pernyataan setelah tanda '?', jika tidak, maka jalankan pernyataan setelah tanda ':'.
// Program Java untuk
// mengilustrasikan angka
// terbesar dari tiga buah
// angka menggunakan operator
// ternary.
public class operators {
public static void main(String[] args)
{
int a=20, b=10, c=30, result;
// Variabel menyimpan tiga
// buah angka pada tiga buah
// variabel
result = ((a > b)
? (a > c)
? a
: c
: (b > c)
? b
: c);
System.out.println("Angka”
+ "terbesar adalah = "
+ result);
}
}
Output:Angka terbesar adalah = 30
- &, Bitwise AND; mengembalikan bit demi bit AND dari nilai input.
- |, Bitwise OR; mengembalikan bit demi bit OR dari nilai input.
- ^, Bitwise XOR; mengembalilkan bit demi bit XOR dari nilai input.
- ~, Bitwise Operator Komplemen; Merupakan operator unary yang mengembalikan representasi satu komplemen dari nilai input, yaitu dengan semua nilai bit terbalik.
Operator Shift: Operator ini digunakan untuk menggeser bit bit angka ke kiri atau ke kanan sehingga membagi atau mengali angka yang digeser tersebut dengan masing-masing nilai dua.
- <<, Left Shift Operator: menggeser bit nomor ke kiri dan mengisi 0 pada kekosongan kiri sebagai hasilnya.
- >>, Left Shift Operator: menggeser bit nomor ke kanan dan mengisi 0 pada kekosongan kanan sebagai hasilnya.
- >>>>, Unsigned Right Shift Operator: menggeser bit nomor ke kanan dan mengisi 0 pada kekosongan kiri sebagai hasilnya. Bit paling kiri diatur ke 0.
object instance of class/subclass/interface
Contoh:
// Program Java untuk
// mengilustrasikan instance
// dari operator
class operators {
public static void main(String[] args)
{
// Karena obj adalah tipe
// Person(), maka obj1
// bukanlah turunan dari Boy()
// atau interface.
Person obj1 = new Person();
Person obj2 = new Boy();
System.out.println("obj1"
+ "instanceof Person: "
+ (obj1 instanceof Person));
System.out.println("obj1"
+ " instanceof Boy: "
+ (obj1 instanceof Boy));
System.out.println("obj1"
+ "instanceof MyInterface: "
+ (obj1 instanceof MyInterface));
// Karena obj2 adalah tipe
// Boy, yang kelas induknya
// adalah Person dan
// mengimplementasikan
// interface Myinterface, maka
// obj2 adalah turunan dari
// semua kelas tersebut.
System.out.println("obj2"
+ " instanceof Person: "
+ (obj2 instanceof Person));
System.out.println("obj2"
+ " instanceof Boy: "
+ (obj2 instanceof Boy));
System.out.println("obj2"
+ " instanceof MyInterface: "
+ (obj2 instanceof MyInterface));
}
}
class Person {}
class Boy extends Person
implements MyInterface {}
interface MyInterface {}
Output:obj1 instanceof Person: true
obj1 instanceof Boy: false
obj1 instanceof MyInterface: false
obj2 instanceof Person: true
obj2 instanceof Boy: true
obj2 instanceof MyInterface: true
Predesesor dan Asosiativitas dari Operator
Aturan predesesor dan asosiatifitas digunakan ketika berhadapan dengan persamaan hybrid yang melibatkan lebih dari satu tipe operator. Dalam beberapa kondisi, aturan tersebut menentukan bagian mana dari persamaan yang akan dieksekusi terlebih dahulu dari berbagai kombinasi persamaan yang melibatkan berbagai operator didalamnya. Tabel 1 berikut menggambarkan prioritas operator dalam urutan menurun sebagai besaran dengan bagian atas mewakili prioritas tertinggi dan bagian bawah menunjukkan prioritas terendah.Seringkali terdapat kebingungan dalam hal persamaan hybrid, yaitu persamaan yang memiliki atau melibatkan banyak operator bahasa c didalamnya. Yang sering menjadi pertanyaan adalah bagian mana dari operator tersebut yang harus diselesaikan atau harus dieksekusi terlebih dahulu. Untuk mengatasi permasalah tersebut, ada aturan sederhana yang dapat diikuti oleh seorang programmer. Jika operator memiliki prioritas yang berbeda, maka selesaikan terlebih dahulu prioritas yang lebih tinggi. Jika memiliki prioritas yang sama, maka selesaikan menurut aturan asosiatifitas, yaitu dari kanan ke kiri atau dari kiri ke kanan.
Contoh:
public class operators {
public static void main(String[] args)
{
int a=20, b=10, c=0, d=20, e=40, f=30;
// Aturan predesesor untuk
// operator aritmatika.
// (* = / = %) > (+ = -)
// prints a+(b/d)
System.out.println("a+b/d = "
+ (a + b / d));
// Jika predesesor adalah
// sama, maka asosiatifitas
// aturan digunakan.
// e/f -> b*d -> a+(b*d) ->
// a+(b*d)-(e/f)
System.out.println("a+b*d-e/"
+ "f = "
+ (a + b * d - e / f));
}
}
Output:a+b/d = 20
a+b*d-e/f = 219
Kompilator pada program biasanya menggunakan perangkat tertentu untuk melakukan pencocokkan terbaik ketika menghasilkan suatu token tertentu. Proses ini dapat menimbulkan suatu permasalahan jika diabaikan. Contoh perhatikan statement a=b+++c;. Bagi user hal ini mungkin tampak akan menghasilakn pesan error pada komputer jika dilakukan suatu kompilasi program menggunakan kompilator. Tetapi statement yang ditampilkan tersebut pada dasarnya adalah benar karena token yang dibuat adalah a, =, b, ++, +, c. Oleh karena itu statement tersebut memiliki efek yang sama dengan menugaskan b+c ke a dan kemudian menaikkan nilai hasil dari b tersebut. Namun demkikian, pada statement a=b+++++c; akan menghasilkan pesan error pada kompilator jika statement tersebut dilakukan kompilasi program, karena token yang dihasilkan adalah a, =, b, ++, ++, +, c. Yang sebenarnya merupakan suatu kesalahan karena tidak ada operand setelah operand unary kedua.
public class operators {
public static void main(String[] args)
{
int a = 20, b = 10, c = 0;
// a=b+++c dikompilasi sebagai
// b++, +c, a=b+c, kemudian
// b=b+1.
a = b++ + c;
System.out.println("Nilai "
+ "dari a(b+c), b(b+1), c = "
+ a + ", " + b
+ ", " + c);
// a=b+++++c dikompilasi
// sebagai b++, ++, +c yang
// akan menghasilkan error.
// a=b+++++c;
// System.out.println(b+++++c);
}
}
Ketika menggukana operator + pada system.out.println() pastikan untuk melakukan penambahan menggunakan tanda kurung. Jika menuliskan sesuatu sebelum melakukan penjumlahan, maka akan terjadi proses penambahan string, yaitu asosiatifitas penjumlahan kiri ke kanan dan karenanya bilangan bulat akan ditambahkan ke string terlebih dahulu untuk menghasilkan string, dan object string akan digabungkan ketika menggunakan operator +, dan dapat memunculkan hasil yang tidak sesuai atau tidak diinginkan pada program.
Contoh:
public class operators {
public static void main(String[] args)
{
int x=5, y=8;
// menggabungkan x dan y
// sebagai nilai x, kemudian
// ditambahkan ke
// "penggabungan (x+y) = "
// yang menghasilkan
// "penggabungan (x+y) = 5"
// dan digabungkan dengan 8.
System.out.println("Penggabu"
+ "ngan (x+y)= "
+ x + y);
// Penambahan x dan y
System.out.println("Penambah"
+ "an (x+y) = "
+ (x + y));
}
}
Penambahan (x+y) = 13
5 komentar untuk "Tipe Operator Java dan Fungsinya"
Hubungi admin melalui Wa : +62-896-2414-6106
Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.
Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.
- Ikatlah Ilmu dengan Memostingkannya -
- Big things start from small things -
Apa yang dimaksud dengan operator pada Java?
BalasHapusOperator pada Java merupakan simbol khusus yang digunakan untuk melakukan operasi tertentu pada satu, dua, atau tiga operand, dan kemudian akan memberikan nilai return. Ketika programmer menggunakan salah satu dari operator pada bahasa pemrograman Java, maka sangat penting bagi programmer tersebut untuk mengetahui terlebih dahulu tingkat asosiativitas dari setiap operator tersebut.
HapusOperator merupakan simbol khusus yang melakukan operasi tertentu pada nilai operand. Operator pada Java umumnya digunakan untuk memanipulasi tipe data primitif pada program.
HapusApa yang dimaksud dengan operator pada matematik?
BalasHapusDalam dunia matematika operator merupakan karakter yang mewakili suatu tindakan tertentu, misalnya x yang merupakan operator aritmatika yang mewakili simbol perkalian.
Hapus