Tipe Data dalam Ruby: Kenalan dengan Variabel

| Ruby | ruby, tutorial, tipe-data, variabel

Tipe Data dalam Ruby: Kenalan dengan Variabel

Setelah kenal IRB, saatnya memahami tipe data dalam Ruby. Tipe data itu jenis-jenis nilai yang bisa disimpan dalam variabel — angka, teks, daftar, dan lainnya.

1. Integer — Bilangan Bulat

Integer bilangan tanpa desimal: positif, negatif, atau nol.

umur = 25
harga = 150000
suhu = -5

puts umur    # 25
puts harga   # 150000
puts suhu    # -5

Ruby juga mengenali underscore sebagai pemisah ribuan:

populasi = 1_000_000
puts populasi  # 1000000

Operasi Integer

puts 10 + 3    # 13 (penjumlahan)
puts 10 - 3    # 7  (pengurangan)
puts 10 * 3    # 30 (perkalian)
puts 10 / 3    # 3  (pembagian bulat)
puts 10 % 3    # 1  (modulus/sisa bagi)
puts 10 ** 3   # 1000 (pangkat)

Perhatikan: 10 / 3 hasilnya 3, bukan 3.33. Ini pembagian integer.

2. Float — Bilangan Desimal

Float adalah bilangan berkoma (desimal).

tinggi = 175.5
harga = 99.99
pi = 3.14159

puts tinggi  # 175.5
puts harga   # 99.99

Integer vs Float

# Ini integer
a = 10
puts a.class  # Integer

# Ini float
b = 10.0
puts b.class  # Float

# Hasil operasi campuran = float
puts 10 + 0.5    # 10.5
puts 10 * 2.0    # 20.0

3. String — Teks

String adalah deretan karakter (teks). Ditulis dengan tanda kutip.

Single vs Double Quote

nama1 = 'Andika'      # single quote
nama2 = "Andika"      # double quote

Bedanya: Double quote mengenali escape sequence dan string interpolation.

# Single quote — literal
puts 'Halo\nDunia'    # Halo\nDunia

# Double quote — interpret escape
puts "Halo\nDunia"    # Halo
                       # Dunia

String Interpolation

nama = "Andika"
kota = "Batam"

# Pakai #{...}
puts "Nama saya #{nama}, tinggal di #{kota}"
# Output: Nama saya Andika, tinggal di Batam

Metode String Berguna

teks = "Halo Dunia"

puts teks.length      # 10
puts teks.upcase      # HALO DUNIA
puts teks.downcase    # halo dunia
puts teks.reverse     # ainuD olaH
puts teks.include?("Dunia")  # true

4. Boolean — Benar/Salah

Boolean hanya punya dua nilai: true atau false.

aktif = true
nonaktif = false

puts aktif     # true
puts nonaktif  # false
puts aktif.class  # TrueClass

Kondisi

umur = 20

if umur >= 17
  puts "Dewasa"
else
  puts "Anak-anak"
end
# Output: Dewasa

Operator Perbandingan

puts 5 == 5    # true  (sama dengan)
puts 5 != 3    # true  (tidak sama dengan)
puts 5 > 3     # true  (lebih besar)
puts 5 < 3     # false (lebih kecil)
puts 5 >= 5    # true  (lebih besar atau sama)
puts 5 <= 3    # false (lebih kecil atau sama)

5. Array — Daftar Nilai

Array adalah kumpulan values dalam satu variabel.

Membuat Array

buah = ["Apel", "Mangga", "Pisang"]
angka = [1, 2, 3, 4, 5]
campuran = ["Andika", 25, true, 175.5]

Akses Elemen

buah = ["Apel", "Mangga", "Pisang"]

puts buah[0]    # Apel (index mulai dari 0)
puts buah[1]    # Mangga
puts buah[2]    # Pisang
puts buah[-1]   # Pisang (elemen terakhir)

Metode Array

angka = [1, 2, 3, 4, 5]

puts angka.length     # 5
puts angka.push(6)    # [1, 2, 3, 4, 5, 6]
puts angka.pop        # 6 (dihapus dari akhir)
puts angka.include?(3) # true
puts angka.reverse    # [5, 4, 3, 2, 1]

6. Hash — Dictionary

Hash menyimpan data dalam format key-value pair.

Membuat Hash

# Syntax baru (Ruby 1.9+)
siswa = {
  nama: "Andika",
  umur: 25,
  kota: "Batam"
}

# Syntax lama
siswa = { :nama => "Andika", :umur => 25 }

Akses Value

siswa = { nama: "Andika", umur: 25, kota: "Batam" }

puts siswa[:nama]    # Andika
puts siswa[:umur]    # 25

Menambah/Mengubah Data

siswa[:email] = "[email protected]"  # tambah baru
siswa[:umur] = 26                    # ubah yang sudah ada

Metode Hash

siswa = { nama: "Andika", umur: 25 }

puts siswa.keys      # [:nama, :umur]
puts siswa.values    # ["Andika", 25]
puts siswa.length    # 2
puts siswa.has_key?(:nama)  # true

7. Symbol — Identifier Unik

Symbol adalah immutable identifier yang sering dipake sebagai key di Hash.

:nama
:umur
:kota

Symbol vs String

# Symbol — tidak bisa diubah, hemat memori
simbol = :hello

# String — bisa diubah, makan memori
teks = "hello"

Kapan pakai Symbol?

  • Sebagai key di Hash
  • Sebagai identifier yang tidak berubah
  • Untuk performa (lebih cepat dari String)

8. Cek Tipe Data

puts 42.class        # Integer
puts 3.14.class      # Float
puts "Halo".class    # String
puts true.class      # TrueClass
puts [1,2,3].class   # Array
puts ({a: 1}).class  # Hash
puts :hello.class    # Symbol

Cek Tipe dengan is_a?

nama = "Andika"

puts nama.is_a?(String)   # true
puts nama.is_a?(Integer)  # false

9. Ringkasan

Tipe Contoh Keterangan
Integer 42, -5 Bilangan bulat
Float 3.14, -0.5 Bilangan desimal
String "Halo" Teks
Boolean true, false Benar/salah
Array [1, 2, 3] Daftar values
Hash {nama: "Andika"} Key-value pair
Symbol :nama Identifier unik

Penutup

Tipe data adalah fondasi Ruby. Setiap value punya tipe, dan setiap tipe punya metode yang bisa dipanggil. Memahami tipe data membantu Anda menulis kode yang lebih efektif dan menghindari bug.

Di artikel selanjutnya, kita akan bahas Kontrol Alur dalam Ruby — if/else, case, loops, dan lainnya.


Mail Facebook Twitter Whatsapp