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

Fungsi #

Di Ruby, fungsi adalah blok kode yang dapat dipanggil untuk menjalankan tugas tertentu. Di Ruby, fungsi sebenarnya disebut metode, dan mereka didefinisikan di dalam kelas atau modul. Berikut adalah penjelasan mendetail tentang fungsi (metode) di Ruby, termasuk berbagai cara untuk mendefinisikan dan menggunakan metode.

Mendefinisikan Metode #

Metode di Ruby didefinisikan menggunakan kata kunci def, diikuti oleh nama metode, parameter (jika ada), dan blok kode yang akan dieksekusi saat metode dipanggil.

Sintaks Dasar:

def nama_metode(parameter1, parameter2)
  # Blok kode
end

Contoh:

def greet(name)
  puts "Hello, #{name}!"
end

Penjelasan: Metode greet menerima satu parameter name dan mencetak pesan sapaan yang disertai dengan nama.

Memanggil Metode #

Metode dipanggil dengan menggunakan nama metode diikuti oleh tanda kurung yang berisi argumen (jika diperlukan).

Contoh:

greet("Alice")  # Output: Hello, Alice!

Penjelasan: Metode greet dipanggil dengan argumen “Alice”.

Parameter dan Argumen #

Metode dapat memiliki parameter yang didefinisikan dalam tanda kurung setelah nama metode. Parameter ini digunakan untuk menerima nilai ketika metode dipanggil.

Contoh:

def add(a, b)
  a + b
end

result = add(5, 3)
puts result  # Output: 8

Penjelasan: Metode add menerima dua parameter a dan b, dan mengembalikan hasil penjumlahan keduanya.

Parameter Default #

Ruby memungkinkan Anda untuk menetapkan nilai default untuk parameter. Jika argumen untuk parameter tersebut tidak diberikan saat metode dipanggil, nilai default akan digunakan.

Contoh:

def greet(name = "Guest")
  puts "Hello, #{name}!"
end

greet           # Output: Hello, Guest!
greet("Bob")    # Output: Hello, Bob!

Penjelasan: Parameter name memiliki nilai default “Guest”. Jika tidak ada argumen yang diberikan, nilai default digunakan.

Parameter Bertumpuk (Variadic Arguments) #

Ruby memungkinkan Anda untuk menerima sejumlah argumen dengan menggunakan * sebelum parameter. Ini akan mengumpulkan semua argumen yang diberikan ke dalam array.

Contoh:

def print_args(*args)
  args.each { |arg| puts arg }
end

print_args("a", "b", "c")  # Output: a b c

Penjelasan: Metode print_args menerima sejumlah argumen dan mencetak setiap argumen yang diterima.

Metode dengan Blok #

Metode dapat menerima blok kode sebagai argumen. Blok dapat diberikan saat memanggil metode dan dapat digunakan di dalam metode.

Contoh:

def greet
  yield "Alice"
end

greet { |name| puts "Hello, #{name}!" }  # Output: Hello, Alice!

Penjelasan: Metode greet menerima blok dan yield digunakan untuk mengeksekusi blok dengan argumen “Alice”.

Metode Instance vs Metode Kelas #

Metode dapat didefinisikan dalam konteks instance (metode objek) atau dalam konteks kelas (metode kelas).

Metode Instance:

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

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

person = Person.new("Alice")
puts person.greet  # Output: Hello, Alice!

Metode Kelas:

class Person
  def self.info
    "This is a Person class."
  end
end

puts Person.info  # Output: This is a Person class.

Penjelasan:

  • Metode instance (greet) dipanggil pada instance dari kelas (person).
  • Metode kelas (info) dipanggil pada kelas itu sendiri (Person).

Metode yang Mengembalikan Nilai #

Metode secara otomatis mengembalikan nilai dari baris terakhir yang dieksekusi jika tidak ada pernyataan return.

Contoh:

def multiply(a, b)
  a * b
end

result = multiply(4, 5)
puts result  # Output: 20

Penjelasan: Metode multiply mengembalikan hasil dari ekspresi a * b.

Menggunakan return #

Anda dapat menggunakan kata kunci return untuk mengembalikan nilai dari metode secara eksplisit.

Contoh:

def multiply(a, b)
  return a * b
end

result = multiply(4, 5)
puts result  # Output: 20

Penjelasan: Metode multiply mengembalikan nilai dari ekspresi a * b menggunakan return.

Method Chaining #

Ruby mendukung method chaining, yaitu memanggil beberapa metode dalam satu baris kode.

Contoh:

class String
  def shout
    upcase + "!"
  end
end

result = "hello".shout.reverse
puts result  # Output: !OLLEH

Penjelasan: Metode shout dan reverse dipanggil secara berantai pada string “hello”.

Metode Pembantu (Helper Methods) #

Di Ruby, Anda bisa membuat metode pembantu di dalam modul atau kelas untuk menyederhanakan kode.

Contoh:

module MathHelpers
  def self.square(x)
    x * x
  end
end

puts MathHelpers.square(4)  # Output: 16

Penjelasan: square adalah metode pembantu di dalam modul MathHelpers.

Kesimpulan #

Metode di Ruby adalah cara utama untuk membagi kode menjadi bagian-bagian yang dapat digunakan kembali dan modular. Dengan memahami cara mendefinisikan dan menggunakan metode, serta fitur-fitur tambahan seperti parameter default, variadic arguments, dan blok, Anda dapat menulis kode Ruby yang lebih bersih, terstruktur, dan efektif. Jika Anda memiliki pertanyaan lebih lanjut atau membutuhkan penjelasan tambahan, silakan beri tahu!

« Perulangan
Kelas »