Pada tutorial kali ini, materi yang akan dibahas adalah mengenai pengenalan bahasa ruby. Sebelum melanjutkan ke materi, mari kita ingat kembali mengenai apa itu ruby ?.
A. Sekilas Ruby
Ruby adalah bahasa pemrograman berorientasi object murni yang
dikembangkan oleh Yukihiro Matsumoto (Matz) pada tahun 1993. Ruby
merupakan bahasa interpreted, yang berarti untuk menjalankan ruby tidak
perlu dicompile, tetapi cukup dijalankan dalam interpreternya. Ruby juga
merupakan bahasa dinamis. Kita tidak perlu melakukan deklarasi
variable, tetapi cukup melakukan assignment secara langsung.
Di Ruby semuanya merupakan objek, yang artinya setiap informasi dan kode bisa diberi
property dan action. Jadi pada ruby, tidak ada tipe primitif. Semua adalah object, termasuk integer, string, array, class dan sebagainya.
B. Penggunaan Ruby
Setelah melakukan instalasi, bagaimana cara menjalankan ruby ?. Percuma saja bukan jika menginstall tapi tidak digunakan ?. Cara mudah untuk menjalankan ruby dapat dilakukan melalui irb (interactive ruby)
Irb adalah tool yang berfungsi untuk menjalankan perintah ruby. Untuk menggunakan tool ini dapat dilakukan dengan cara menjalankan perintah pada terminal atau Command Prompt, seperti berikut.
$ irb
$ puts "Hello Guys!"
C. Class di Ruby
Class adalah ‘cetak biru’ atau ‘blueprint’ dari object.
Class digunakan hanya untuk membuat kerangka dasar. Yang akan kita
pakai nantinya adalah hasil cetakan dari class, yakni object.
class Name
# beberapa kode yang mendefinisikan behaviour
end
Untuk membuat class, kita menggunakan kata kunci
class
diikuti dengan nama class. Nama class dalam ruby harus dimulai dengan
huruf kapital. Biasanya penulisan class pada Ruby, ditulis secara camelize. Contohnya seperti iniclass Person
def index
end
def show_name
end
end
D. Method di Ruby
Di Ruby semuanya adalah object. Jadi, baik itu berupa string atau number merupakan object. Suatu object biasanya akan mempunyai beberapa method yang dapat dipanggil dan digunakan
Untuk memanggil method, kita menggunakan syntax titik (.) yang diikuti
oleh nama methodnya. Contohnya, jika kita ingin mengetahui jumlah byte dari sebuah string, kita dapat menggunakan method bytesize.
"welcome".bytesize
Penting untuk diingat bahwa untuk penulisan method pada Ruby harus menggunakan kata kunci def, lalu nama method, kemudian diakhiri dengan end. Contohnya seperti berikut
class Cat
def eat
end
end
Selanjutnya, pada tutorial akan dibahas mengenai beberapa operasi string dan number.
E. Tipe String dan Contoh Penggunaannya
String adalah object ruby yang berfungsi memanipulasi rangkaian byte,
yang pada umumnya mereprensentasikan huruf - huruf dalam suatu kalimat.
Ruby memiliki kelas built-in yang bernama
String
yang memiliki beberapa method yang sering kita gunakan dalam memprogram ruby.
Secara umum untuk membuat atau mendeklarasikan string dilakukan dengan cara mengapit string tersebut dengan tanda double qoute (") atau single quote (').
Untuk menampilkan string bisanya dapat menggunakan syntax puts. Contohnya, seperti berikut.
puts "Mari belajar ruby"
Cara memasukan sebuah variable ke dalam string caranya adalah dengan menggunakan #{}
name = "Belajar Ruby on Rails"
puts "Kita Sedang #{name}"
String Method
Berikut ini adalah beberapa string method yang biasa digunakan
-
try_convert(obj)
Untuk mengkonversi object ke sebuah string. Akan mengembalikan string hasil konversi atau nil jika object tidak bisa dikonversi.String.try_convert("str") #=> "str" - str * integer
Mengembalikan sebuah string baru sebanyak integer"Ho" * 3 #=> "Ho" "Ho" "Ho" - str << obj
Menggabungkan obj terhadap str tanpa menghasilkan object baru"Hello from" << "Indonesia" #=> "Hello from Indonesia" - str + obj
Menggabungkan obj terhadap str dan menghasilkan object baru"Hello from" + "Indonesia" #=> "Hello from Indonesia" - str.capitalize
mengubah huruf pertama menjadi huruf kapital, menghasilkan object baru. - str.capitalize!
mengubah huruf pertama menjadi huruf kapital dengan mengubah object yang ada. - str.upcase
mengubah semua huruf menjadi huruf kapital, menghasilkan object baru. - str.upcase!
mengubah semua huruf menjadi huruf kapital dengan mengubah object yang ada. - str.length
menghasilkan panjang string.
F. Numeric
Numeric adalah basis class untuk angka di Ruby. Karena pada Ruby semua adalah objek, jika mendefinisikan 1, maka 1 tersebut adalah objek dari fixnum.
Contoh:
Dari contoh terdapat kata fixnum, float.puts 100.class # Fixnumputs (100.2).class # Float
- Fixnum digunakan untuk integer
- Float digunakan untuk decimal
G. Boolean
Ruby memiliki nilai boolean
true
dan false
, yang merupakan object dari kelas TrueClass
dan FalseClass
. Dalam ruby, semua nilai selain false
dan nil
dianggap bernilai true dan dapat digunakan dalam operasi boolean, seperti conditional, and
, or
dan sebagainya. bool = true
puts "nilai bool saat ini #{bool}"
H. Conditional Statement
Dalam bahasa pemrograman tentunya terdapat bagian yang penting yaitu conditional statement. Conditional statement ini adalah perintah yang dilakukan untuk melakukan suatu pengecekan apakah ekspresi yang dijalankan sudah benar atau belum.
If Statement
a = 1b = 2if a < bputs "nilai a lebih kecil dari nilai b"endSelain itu cara penulisan dapat juga ditulis dengan cara if berada di belakang ekspresi yang akan dicek, yaitu seperti berikut.If... Elsif... Else... Statement
a = 1b = 2if a < bputs "Nilai a lebih kecil dari nilai b"elsif a > bputs "Nilai a lebih besar dari nilai b"elseputs "Nilai a dan b adalah sama"end
(!) atau Unless
Di Ruby untuk mengecek negasi atau kebalikan dari sebuah nilai atau suatu ekspresi dapat menggunakan operator (!) atau unless. Namun yang lebih baik digunakan di Ruby adalah unlesss
unless greeting == "hi"
puts greeting
end
greeting = "hello"
if !(greeting == "hi")
puts greeting
end
Dalam penggunaannya, unless juga dapat ditulis dibelakang ekspresi yang akan dicek sama halnya dengan if.
I. Case Statement
Case statement pada Ruby memiliki kata kunci case dan when. Case statement ini tidak jauh berbeda dengan switch dan case pada bahasa pemrograman lain. Perbedaan yang terdapat pada case dan when adalah case dapat mengecek semua tipe object yang dapat dibandingkan kesamaannya atau ekuivalensinya.
case shoes
when "flat shoes"
puts "using flat shoes"
when "sneakers"
puts "using sneakers"
when "wedges"
puts "using wedges"
when "heels"
puts "using heels"
end
Case juga dapat digunakan dalam perbandingan, contohnya seperti berikut
case age
when age < 11
puts "anak anak"
when 11..17
puts "remaja"
when 18..25
puts "dewasa"
else
"tidak sesuai jangkauan"
end
J. Operator Ternary
Operator ini merupakan bentuk pendek dari if else. Contohnya seperti berikut.
score = 85
predicate = score > 75 ? "Good" : "Bad"
K. Loops
Looping atau pengulangan merupakan hal pemting yang banyak dipakai dalam membuat aplikasi baik pada bahasa pemrograman apapun. Pada Ruby looping ditulis dengan struktur seperti berikut.
while condition
#...
end
Contohnya seperti berikut.
until i >= 5
puts "This is loop in ruby"
i += 1
end
L. Iteration dan Block
Iteration sama saja dengan perulangan seperti until dan while namun dalam proses pembuatan aplikasi sebenarnya, yang banyak dilakukan oleh para developer adalah blok yang digabungkan dengan iterator.
(1..5).each do |num|
puts num
end
3.times do
print "Ho! "
end
M. Array vs Hash
Array adalah salah satu kelas bawaan ruby. Array adalah suatu koleksi object yang berurutan dan dapat diakses berdasarkan indexnya. Dalam ruby, array dapat menyimpan semua object seperti String, Fixnum, Hash bahkan array yang lain. Setiap elemen di dalam array diasosiasikan dan diakses dengan index tertentu. Elemen - elemen array secara otomatis diindex dengan angka dimulai dari 0.
Sedangkan Hash adalah koleksi pasangan key-value. Hash mirip seperti array, tetapi jika array diindex dengan integer yang dimulai dari 0, hash diindex dengan object ruby. Semua object dalam ruby dapat dijadikan key ataupun value dalam hash. Tetapi pada umumnya kita lebih sering menggunakan symbol atau string sebagai key dari sebuah hash.
array = []
hash = {}
array = ['a','b','c','d']
puts array[0]
puts array[1]
hash = {:one => 'a', "two" => 'b'}
puts hash[:one]
puts hash["two"]
Tidak ada komentar:
Posting Komentar