unisbadri.com » Python Java Golang Typescript Kotlin Ruby Rust Dart PHP
Sintaks Utama

Sintaks Utama #

Sintaks utama Ruby adalah cara di mana Anda menulis kode Ruby untuk mendefinisikan struktur, data, dan kontrol alur program. Ruby dikenal karena sintaksnya yang bersih dan elegan, serta kemudahan penggunaannya yang mendekati bahasa alami. Berikut adalah penjelasan mendetail mengenai sintaks utama Ruby, termasuk variabel, operator, kontrol alur, dan lainnya.

Variabel #

a. Variabel Lokal

Variabel lokal adalah variabel yang dimulai dengan huruf kecil atau garis bawah (_). Mereka hanya dapat diakses dalam konteks di mana mereka didefinisikan.

Contoh:

age = 25
name = "Alice"

Penjelasan:

  • age dan name adalah variabel lokal.

b. Variabel Instance

Variabel instance diawali dengan @ dan hanya dapat diakses dalam instance dari kelas.

Contoh:

class Person
  def initialize(name)
    @name = name
  end

  def greet
    "Hello, #{@name}!"
  end
end

Penjelasan:

  • @name adalah variabel instance yang hanya dapat diakses dalam instance dari kelas Person.

c. Variabel Kelas

Variabel kelas diawali dengan @@ dan dapat diakses di seluruh instance dari kelas yang sama.

Contoh:

class Counter
  @@count = 0

  def initialize
    @@count += 1
  end

  def self.count
    @@count
  end
end

Counter.new
Counter.new
puts Counter.count  # Output: 2

Penjelasan:

  • @@count adalah variabel kelas yang menyimpan jumlah instance dari kelas Counter.

d. Variabel Global

Variabel global diawali dengan $ dan dapat diakses di mana saja dalam program.

Contoh:

$global_var = "I am global"

def show_global
  puts $global_var
end

show_global  # Output: I am global

Penjelasan:

  • $global_var adalah variabel global yang dapat diakses dari mana saja dalam program.

Tipe Data #

a. String

String didefinisikan dengan tanda kutip ganda (") atau tunggal (').

Contoh:

single_quote = 'Hello'
double_quote = "Hello, #{single_quote}"
puts double_quote  # Output: Hello, Hello

Penjelasan:

  • Tanda kutip ganda memungkinkan interpolasi variabel, sedangkan tanda kutip tunggal tidak.

b. Integer dan Float

Ruby menangani bilangan bulat (integer) dan bilangan pecahan (float) secara langsung.

Contoh:

integer = 42
float = 3.14
puts integer + float  # Output: 45.14

c. Array

Array adalah koleksi dari elemen yang dapat diakses dengan indeks.

Contoh:

array = [1, 2, 3, "four"]
puts array[3]  # Output: four

d. Hash

Hash adalah koleksi pasangan kunci-nilai.

Contoh:

hash = {name: "Alice", age: 25}
puts hash[:name]  # Output: Alice

Operator #

a. Operator Aritmatika

Operator ini digunakan untuk operasi matematika dasar.

Contoh:

a = 10
b = 5
puts a + b  # Output: 15
puts a - b  # Output: 5
puts a * b  # Output: 50
puts a / b  # Output: 2
puts a % b  # Output: 0

b. Operator Perbandingan

Operator ini digunakan untuk membandingkan nilai.

Contoh:

a = 10
b = 5
puts a > b  # Output: true
puts a < b  # Output: false
puts a == b # Output: false
puts a != b # Output: true

c. Operator Logika

Operator ini digunakan untuk operasi logika.

Contoh:

x = true
y = false
puts x && y  # Output: false
puts x || y  # Output: true
puts !x      # Output: false

Kontrol Alur #

a. Kondisi

Penggunaan if, elsif, else, dan unless untuk percabangan logika.

Contoh:

age = 18

if age >= 18
  puts "You are an adult."
else
  puts "You are a minor."
end

b. Pengulangan

Ruby mendukung beberapa jenis loop seperti while, until, dan for.

Contoh:

  • while loop:

    i = 0
    while i < 5
      puts i
      i += 1
    end
    
  • until loop:

    i = 0
    until i == 5
      puts i
      i += 1
    end
    
  • for loop:

    for i in 0..4
      puts i
    end
    
  • each method:

    [1, 2, 3, 4].each do |num|
      puts num
    end
    

c. Case Statement

case digunakan untuk menggantikan beberapa pernyataan if.

Contoh:

day = "Monday"

case day
when "Monday"
  puts "Start of the week"
when "Friday"
  puts "End of the work week"
else
  puts "Midweek days"
end

Blok dan Procs #

a. Blok

Blok adalah segmen kode yang dapat diteruskan ke metode. Mereka biasanya dikelilingi oleh do...end atau {...}.

Contoh:

[1, 2, 3].each do |num|
  puts num
end

b. Procs

Proc adalah objek yang menyimpan blok kode dan dapat dipanggil seperti metode.

Contoh:

greeting = Proc.new { |name| "Hello, #{name}!" }
puts greeting.call("Alice")  # Output: Hello, Alice!

c. Lambda

Lambda adalah jenis khusus dari Proc yang memeriksa jumlah argumen yang diberikan.

Contoh:

my_lambda = -> (x) { x * 2 }
puts my_lambda.call(5)  # Output: 10

Metode Khusus #

a. Metode initialize

Metode ini dipanggil saat objek baru dibuat dan digunakan untuk inisialisasi.

Contoh:

class Person
  def initialize(name)
    @name = name
  end
end

b. Metode self

self merujuk pada instance saat ini dalam metode instance dan kelas saat ini dalam metode kelas.

Contoh:

class MyClass
  def instance_method
    puts self
  end

  def self.class_method
    puts self
  end
end

obj = MyClass.new
obj.instance_method  # Output: #<MyClass:0x00007f8f9c0e83c8>
MyClass.class_method  # Output: MyClass

c. Metode attr_*

Metode attr_reader, attr_writer, dan attr_accessor digunakan untuk membuat getter dan setter.

Contoh:

class Person
  attr_accessor :name  # Getter dan Setter
  
  def initialize(name)
    @name = name
  end
end

Error Handling #

a. begin...rescue...ensure

Digunakan untuk menangani pengecualian.

Contoh:

begin
  # Code that might raise an exception
  result = 10 / 0
rescue ZeroDivisionError
  puts "Cannot divide by zero"
ensure
  puts "This will always be executed"
end

Kesimpulan #

Sintaks utama Ruby dirancang untuk kemudahan penggunaan dan keterbacaan. Dengan variabel lokal, instance, dan kelas, serta berbagai jenis data dan operator, Ruby menyediakan berbagai alat untuk menulis kode yang bersih dan efisien. Kontrol alur, blok, dan error handling memungkinkan Anda untuk mengelola logika program dengan fleksibel. Jika Anda memiliki pertanyaan lebih lanjut atau memerlukan klarifikasi tentang aspek tertentu dari sintaks Ruby, silakan beri tahu saya!

« Komentar
Konstanta »