Operator #
Di Ruby, operator digunakan untuk melakukan berbagai operasi pada operand. Ruby mendukung berbagai jenis operator, termasuk operator aritmatika, operator perbandingan, operator logika, dan operator bitwise. Berikut adalah penjelasan lengkap mengenai berbagai operator dalam Ruby.
Operator Aritmatika #
Operator aritmatika digunakan untuk melakukan operasi matematika dasar.
a. Penjumlahan (+
):
Contoh:
a = 5
b = 3
sum = a + b # sum adalah 8
b. Pengurangan (-
):
Contoh:
a = 5
b = 3
difference = a - b # difference adalah 2
c. Perkalian (*
):
Contoh:
a = 5
b = 3
product = a * b # product adalah 15
d. Pembagian (/
):
Contoh:
a = 5
b = 2
quotient = a / b # quotient adalah 2 (pembagian integer)
- Jika Anda ingin pembagian dengan hasil pecahan, pastikan salah satu operand adalah floating-point.
Contoh:
a = 5.0
b = 2
quotient = a / b # quotient adalah 2.5
e. Modulus (%
):
Contoh:
a = 5
b = 3
remainder = a % b # remainder adalah 2
f. Pangkat (**
):
Contoh:
a = 2
b = 3
power = a ** b # power adalah 8 (2 pangkat 3)
Operator Perbandingan #
Operator perbandingan digunakan untuk membandingkan dua nilai dan mengembalikan hasil boolean.
a. Sama dengan (==
):
Contoh:
a = 5
b = 3
result = a == b # result adalah false
b. Tidak sama dengan (!=
):
Contoh:
a = 5
b = 3
result = a != b # result adalah true
c. Lebih besar dari (>
):
Contoh:
a = 5
b = 3
result = a > b # result adalah true
d. Lebih kecil dari (<
):
Contoh:
a = 5
b = 3
result = a < b # result adalah false
e. Lebih besar dari atau sama dengan (>=
):
Contoh:
a = 5
b = 5
result = a >= b # result adalah true
f. Lebih kecil dari atau sama dengan (<=
):
Contoh:
a = 5
b = 6
result = a <= b # result adalah true
Operator Logika #
Operator logika digunakan untuk melakukan operasi logika pada nilai boolean.
a. Dan (&&
):
Contoh:
a = true
b = false
result = a && b # result adalah false
b. Atau (||
):
Contoh:
a = true
b = false
result = a || b # result adalah true
c. Tidak (!
):
Contoh:
a = true
result = !a # result adalah false
d. Dan secara bitwise (&
):
Contoh:
a = 5 # 0101 dalam biner
b = 3 # 0011 dalam biner
result = a & b # result adalah 1 (0001 dalam biner)
e. Atau secara bitwise (|
):
Contoh:
a = 5 # 0101 dalam biner
b = 3 # 0011 dalam biner
result = a | b # result adalah 7 (0111 dalam biner)
f. XOR secara bitwise (^
):
Contoh:
a = 5 # 0101 dalam biner
b = 3 # 0011 dalam biner
result = a ^ b # result adalah 6 (0110 dalam biner)
g. Not secara bitwise (~
):
Contoh:
a = 5 # 0101 dalam biner
result = ~a # result adalah -6 (komplement biner dari 0101 adalah -0110)
Operator Penugasan #
Operator penugasan digunakan untuk menetapkan nilai kepada variabel.
a. Penugasan dasar (=
):
Contoh:
a = 5
b. Penugasan tambah (+=
):
Contoh:
a = 5
a += 3 # a adalah 8
c. Penugasan kurang (-=
):
Contoh:
a = 5
a -= 2 # a adalah 3
d. Penugasan kali (*=
):
Contoh:
a = 5
a *= 2 # a adalah 10
e. Penugasan bagi (/=
):
Contoh:
a = 10
a /= 2 # a adalah 5
f. Penugasan modulus (%=
):
Contoh:
a = 10
a %= 3 # a adalah 1
Operator Ternary #
Operator ternary adalah bentuk singkat dari if-else
yang digunakan untuk membuat keputusan sederhana.
Sintaks:
kondisi ? hasil_true : hasil_false
Contoh:
age = 18
result = age >= 18 ? "Adult" : "Minor"
puts result # Output: Adult
Penjelasan:
- Jika
age >= 18
bernilaitrue
, makaresult
adalah"Adult"
, jika tidak,result
adalah"Minor"
.
6. Operator Range #
Operator range digunakan untuk mendefinisikan rentang nilai.
a. Rentang inklusif (..
):
Contoh:
range = 1..5
range.each do |i|
puts i
end
Penjelasan:
1..5
mencakup nilai dari 1 hingga 5, termasuk 5.
b. Rentang eksklusif (...
):
Contoh:
range = 1...5
range.each do |i|
puts i
end
Penjelasan:
1...5
mencakup nilai dari 1 hingga 4, tetapi tidak termasuk 5.
Operator Kustom #
Di Ruby, Anda juga dapat mendefinisikan operator kustom dengan menggunakan metode yang sesuai. Misalnya, operator +
didefinisikan oleh metode +
dalam kelas.
Contoh:
class Point
attr_accessor :x, :y
def initialize(x, y)
@x = x
@y = y
end
def +(other)
Point.new(@x + other.x, @y + other.y)
end
def to_s
"(#{x}, #{y})"
end
end
point1 = Point.new(1, 2)
point2 = Point.new(3, 4)
result = point1 + point2
puts result # Output: (4, 6)
Penjelasan:
+
didefinisikan sebagai metode dalam kelasPoint
untuk menjumlahkan koordinat dari dua objekPoint
.
Kesimpulan #
Ruby menyediakan berbagai operator yang memungkinkan Anda untuk melakukan berbagai operasi matematika, logika, dan manipulasi bit pada nilai. Memahami operator-operator ini akan membantu Anda menulis kode yang lebih efektif dan efisien. Jika ada bagian tertentu yang perlu penjelasan lebih lanjut atau jika Anda memiliki pertanyaan lain, jangan ragu untuk bertanya!