Variabel #
Variabel dalam bahasa Ruby adalah nama yang digunakan untuk menyimpan dan mengacu pada data di dalam program. Variabel ini bisa berisi berbagai tipe data, seperti angka, string, array, hash, objek, dan lainnya. Variabel di Ruby tidak perlu dideklarasikan dengan tipe data tertentu; tipe data ditentukan secara dinamis berdasarkan nilai yang diberikan pada variabel tersebut. Ruby juga membedakan jenis variabel berdasarkan lingkup dan aksesibilitasnya.
Jenis-Jenis Variabel di Ruby #
Variabel Lokal #
Variabel lokal hanya dapat diakses dalam konteks di mana mereka dideklarasikan, seperti di dalam metode atau blok tertentu. Variabel lokal di Ruby dimulai dengan huruf kecil atau garis bawah (_
).
Contoh:
def example_method
local_variable = "I am a local variable"
puts local_variable
end
example_method # Output: I am a local variable
# puts local_variable # Error: undefined local variable or method
Penjelasan:
local_variable
hanya dapat diakses di dalamexample_method
. Jika Anda mencoba mengaksesnya di luar metode tersebut, Ruby akan memberikan kesalahan.
Variabel Instance #
Variabel instance adalah variabel yang terkait dengan instance tertentu dari sebuah kelas. Mereka selalu dimulai dengan tanda @
dan hanya dapat diakses dalam konteks objek tersebut.
Contoh:
class Animal
def initialize(name)
@name = name
end
def display_name
puts @name
end
end
lion = Animal.new("Lion")
lion.display_name # Output: Lion
Penjelasan:
@name
adalah variabel instance. Setiap instance dariAnimal
memiliki nilai@name
yang terpisah.
Variabel Kelas #
Variabel kelas adalah variabel yang dibagikan di antara semua instance dari kelas. Mereka dimulai dengan @@
dan bisa diakses dari metode instance maupun metode kelas.
Contoh:
class Animal
@@species_count = 0
def initialize(name)
@name = name
@@species_count += 1
end
def self.species_count
@@species_count
end
end
lion = Animal.new("Lion")
tiger = Animal.new("Tiger")
puts Animal.species_count # Output: 2
Penjelasan:
@@species_count
adalah variabel kelas yang melacak jumlah instance dari kelasAnimal
.
Variabel Global #
Variabel global dapat diakses dari mana saja dalam program, baik di dalam maupun di luar kelas atau metode. Variabel global dimulai dengan tanda $
.
Contoh:
$global_var = "I am a global variable"
def show_global_var
puts $global_var
end
show_global_var # Output: I am a global variable
Penjelasan:
$global_var
adalah variabel global yang dapat diakses dari mana saja dalam program.
Variabel Konstanta #
Konstanta di Ruby adalah variabel yang nilainya tidak diharapkan untuk berubah setelah penetapan awal. Mereka dimulai dengan huruf kapital.
Contoh:
PI = 3.14159
MAX_USERS = 100
puts PI # Output: 3.14159
puts MAX_USERS # Output: 100
Penjelasan:
PI
danMAX_USERS
adalah konstanta. Meskipun Ruby memungkinkan perubahan nilai konstanta, hal itu akan menghasilkan peringatan.
Aturan Penamaan Variabel #
- Variabel Lokal: Dimulai dengan huruf kecil (
a-z
) atau garis bawah (_
). - Variabel Instance: Dimulai dengan
@
. - Variabel Kelas: Dimulai dengan
@@
. - Variabel Global: Dimulai dengan
$
. - Konstanta: Dimulai dengan huruf kapital (
A-Z
).
Contoh:
my_variable = 10 # Variabel lokal
@instance_variable = 20 # Variabel instance
@@class_variable = 30 # Variabel kelas
$global_variable = 40 # Variabel global
CONSTANT = 50 # Konstanta
Scope dan Visibilitas Variabel #
- Variabel Lokal: Hanya terlihat dalam blok atau metode di mana mereka dideklarasikan.
- Variabel Instance: Terkait dengan instance dari kelas, terlihat dalam metode instance dari objek tersebut.
- Variabel Kelas: Terkait dengan kelas itu sendiri dan dibagikan di antara semua instance dari kelas tersebut.
- Variabel Global: Tersedia di seluruh program, dari mana saja.
- Konstanta: Dapat diakses di mana saja, tetapi biasanya digunakan dalam konteks kelas atau modul.
Shadowing #
Shadowing terjadi ketika variabel dengan nama yang sama mendeklarasikan ulang variabel yang ada dalam lingkup yang lebih dalam, menutupi (shadowing) variabel asli.
Contoh:
x = 10
3.times do |x|
puts x # Menggunakan x dalam blok, yang berbeda dari x di luar blok
end
puts x # Output: 10
Penjelasan:
- Variabel
x
dalam bloktimes
berbeda denganx
di luar blok, meskipun namanya sama.
Best Practices dalam Penamaan Variabel #
- Konsisten: Gunakan penamaan yang konsisten dan jelas. Misalnya, gunakan
snake_case
untuk variabel dan metode. - Deskriptif: Beri nama variabel yang mendeskripsikan tujuan atau isi variabel tersebut, seperti
user_count
atautotal_price
. - Hindari Nama Variabel Singkat: Hindari penamaan variabel dengan huruf tunggal kecuali dalam konteks yang jelas (misalnya,
i
dalam loop).
Kesimpulan #
Variabel dalam Ruby adalah cara untuk menyimpan dan mengakses data di dalam program. Ruby menyediakan berbagai jenis variabel, termasuk variabel lokal, instance, kelas, dan global, masing-masing dengan aturan dan lingkup yang berbeda. Memahami bagaimana variabel bekerja di Ruby akan membantu Anda menulis kode yang lebih efektif dan terstruktur. Jika Anda memiliki pertanyaan lebih lanjut tentang variabel atau aspek lain dari Ruby, jangan ragu untuk bertanya!