Pemula Belajar Pemrograman Ruby

Kali ini opvl bakal sharing tentang bahasa pemrograman Ruby Mungkin pada bertanya-tanya, kenapa ruby, kenapa gk yang lain? Itu karena banyak perusahaan besar yang pakai ruby, contohnya airbnb, github & soundcloud. Buat lebih lengkapnya bisa baca disini.

Nah di sesi sharing kali ini gk ada tools khusus yang perlu diinstall. Kita pakai aja online compiler repl.it . Kalau ada yang pengen tau cara install Ruby, coba colek opvl aja di kolom komentar atau lewat email. Sapa tau dibikinin postnya.

Beberapa point yang bakal dibahas kali ini adalah

1. Tipe Data

String

Tipe data string banyak ditemuin. Operasi yang paling sering dilakuin ama si string ini biasanya ambil substringnya. Buat bikin si string ini sendiri sama kaya bahasa pemrograman lainnya.

sesuatu = "ini adalah sebuah setring"

Buat ambil substring sendiri sama kaya yang lain

sesuatu = "ini adalah sebuah setring"
sesuatu[-7, 7] #=> setring
sesuatu[4] #=> a
sesuatu[0, 3] #=> ini
sesuatu[4..9] #=> adalah
sesuatu[4...9] #=> adalah

sesuatu[-7, 7] sama sesuatu[0, 3]berarti diambil dari index tertentu sebanyak n. Index minus berarti kita itung dari belakang, kalau -1 berarti paling akhir kalau -7 berarti posisi ke 7 dari belakang. sesuatu[4] berarti diambil di posisi ke-4. sesuatu[4..9] berarti kita ambil dari index ke 4 sampai 9 sedangkan sesuatu[4...9] berarti kita ambil dari index ke 4 sampai 8. Bedanya .. sama ... cuma kalau .. index yang belakangnya dimasukin sedangkan ... index belakangnya gk dimasukin.

Array

Buat bikin array ada beberapa cara

nama_array = Array.new #=> []
nama_array = Array.new(5) #=> [nil, nil, nil, nil, nil] 
nama_array = Array.new(5, 'default_ini') #=> ['default_ini', 'default_ini', 'default_ini', 'default_ini', 'default_ini']

Array.new dipakai buat bikin array kosong yg gk ada isinya. Array.new(5) dipakai buat bikin array dengan panjang 5 sedangkan Array.new(5, 'default_ini') dipakai buat bikin array dengan panjang 5 dengan isi default nya masing-masing default_ini .

Buat nambahin nilai baru ada beberapa cara

nama_array = [1, 2, 3, 4, 5]
nama_array.push(6) #[1, 2, 3, 4, 5, 6]
nama_array << 7 #[1, 2, 3, 4, 5, 6, 7]
nama_array.insert(2, 'beda') #[1, 2, 'beda', 3, 4, 5, 6, 7]

nama_array.push(6) dan nama_array << 7 dipakai buat masukin nilai baru ke akhir suatu array, sedangkan nama_array.insert(2, 'beda') dipakai buat masukin nilai baru ke index tertentu. Di ruby index dimulai dari 0.

Nah buat ambil data dari array juga ada beberapa cara

nama_array = [0, 1, 2, 3, 4, 5]
nama_array[3] #=> 3
nama_array.at(5) #=> 5

nama_array[3] dan nama_array.at(5) dipakai buat ambil array di index tertentu.

Selain hal-hal diatas, biasanya kita juga suka buat cari tau apakah suatu nilai ada di dalam array. Disini kita bisa pakai nama_array.include?('nilai_yang_dicek') dan buat ngitung panjang dari array bisa pakai nama_array.length atau nama_array.count

Hashes

Hashes mirip sama array, cuma hashes key nya bisa kita modif. Buat contoh pemakaian hashes itu, misal kita pengen nyimpen berapa jumlah utang dari masing-masing temen.

daftarUtang = Hash.new(0)
daftarUtang['Tono'] = 10000
daftarUtang['Mari'] = 23500

Hash.new(0) dipakai buat bikin hash baru dengan nilai default nya 0. Nilai default itu bakal berguna kalau kita akses key yang gk ada. Biar lebih jelas coba liat contoh dibawah

daftarUtang = Hash.new(0)
daftarUtang['Tono'] += 14300 #=> daftarUtang['Tono'] = 0, ditambah 14300 jadi 14300

daftarUtang2 = Hash.new
daftarUtang2['Tono'] += 14300 #=> daftarUtang['Tono'] = nil, ditambah 14300 jadi error

Buat yang pengen bikin hash langsung ada isinya bisa kya gini

daftarUtang = {'abi' => 22000, 'umi' => 13500}

2. Input & Output

Input

Buat ambil input dari user, kita pakai gets

puts "Nama : "
nama = gets.chomp #=> 12
puts "Hasil masukan #{nama}" #=> Hasil masukan 12
puts "Class masukan #{nama.class}" #=> Class masukan String

.chomp setelah gets dipakai buat ilangin \n hasil enter dari keyboard. Hasil dari gets.chomp tipe datanya String. Kalau mau ganti tipe data bisa pakai to_i atau to_f

puts "Nama : "
nama = gets.chomp.to_i #=> 12
puts "Hasil masukan #{nama}" #=> Hasil masukan 12
puts "Class masukan #{nama.class}" #=> Class masukan Integer

Output

Buat nampilin sesuatu ke user, kita bisa pakai beberapa cara puts print

puts 123
puts 456
print 123
print 456

> 123
> 456
> 123456

puts bakal kasih newline diakhir sedangkan print gk kasih newline. Buat tampilin variable pakai #{nama_variable}

a = 2
b = 3
puts "a : #{a}, b : #{b}" #=> a : 2, b : 3

3. Fungsi

Kadang kita perlu buat suatu fungsi yang bisa dipanggil berkali-kali buat bikin code lebih simple. Fungsi di Ruby cukup simple

def cetak
  puts "Hasil fungsi cetak"
end

cetak #=> Hasil fungsi cetak

Nama fungsi di Ruby harus diawali huruf kecil, karena huruf besar dipakai untuk constant. Fungsi di Ruby bisa juga dikasih parameter.

def cetak(a, b)
  puts "Hasil a : #{a}, b : #{b}"
end

cetak 1, 2 #=> Hasil a : 1, b : 2

Sama kaya dibahasa pemrograman lainnya, kita bisa kasih return value dari fungsi

def itungLuas(p, l)
  return p*l
end

luas = itungLuas(4, 3)
puts "Luas : #{luas}" #=> Luas : 12

Sebenernya buat balikin suatu nilai dari fungsi kita bisa aja gk pakai return. Kalau di fungsi gk ada return nya, nilai yang bakal dibalikin adalah nilai terakhir sebelum fungsi nya selesai. Jadi fungsi itungLuas diatas bisa ditulis

def itungLuas(p, l)
  p*l
end

luas = itungLuas(4, 3)
puts "Luas : #{luas}" #=> Luas : 12

4. Looping

Misal kita mau looping dari 0-9 kita bisa pakai beberapa cara

n = 10
n.times do |i|
  print "#{i} " #=> 0 1 2 3 4 5 6 7 8 9
end

(0..9).each do |i|
  print "#{i} " #=> 0 1 2 3 4 5 6 7 8 9
end

.times lebih simple dipakai tapi gk bisa leluasa buat kasih nilai awal. .times pasti diawali dari 0 sedangkan .each bisa kita atur nilai awal dan akhir nya

(1..10).each do |i|
  print "#{i} " #=> 1 2 3 4 5 6 7 8 9 10
end

Buat looping Array dan Hash bisa pakai .each

ini_array = [1, 2, 3, 4]
ini_array.each do |i|
  print "#{i} " #=> 1 2 3 4
end

ini_hash = {'wow' => 'ula', 'shoot' => 'kick'}
ini_hash.each do |key, value|
  puts "key : #{key} value : #{value}"
end

#> key : wow value : ula
#> key : shoot value : kick

5. If Else

n = 1
if n == 1
  puts "Satu"
elsif n == 2
  puts "Dua"
else
  puts "Entah"
end

#> "Satu"

Inget kalau elsif bukan elseif atau elif

Sekian sharing opvl minggu ini. Thanks udah mampir, silakan stay tuned karena bakal ada sharing tiap minggunya. Kalau ada pertanyaan atau request bisa komen dibawah atau colek lewat email hq.opvl@gmail.com . See ya!!

Sharing is Power

from us to us

Colek opvl : hq.opvl@gmail.com

Published by opvl

Tech Lover and Bald

Leave a comment

Design a site like this with WordPress.com
Get started