Anda di halaman 1dari 16

Adam Pahlevi Baihaqi

CariFreelancer.com

RUBY
Bahasa Yang Bagus tapi Jarang Diketahui

Learn by Doing
Tell me and I forget, teach me and
I may remember, involve me and I
learn (Benjamin Franklin)

Tujuan penyelenggaraan?
1. Memperkenalkan bahasa Ruby
2. Memperkenalkan web framework Rails

Kenapa Ruby?
1. Banyak hal yang bisa dilakukan di Ruby, tapi
(umumnya) tak bisa di bahasa lain:
a.
b.
c.
d.
e.
f.
g.

Meta-programming, memprogram pemrograman.


Membuat bahasa sendiri dengan Ruby (DSL)
100% OO (1.to_s)
100% Scripting (gak perlu kelas)
Lambda
Syntax yang mudah dibaca
Instalasi plugin/library yang sangat mudah

Fungsi
1.
2.
3.
4.
5.
6.
7.

Fungsi di definisikan dengan def


Fungsi tidak harus berada di dalam kelas
Fungsi dengan self berarti statis
Fungsi bisa private, public atau protected
Pemanggilan fungsi tidak perlu parenthesis
Parameter fungsi bisa menggunakan Hash
Fungsi bisa didefinisikan ulang, tapi tidak bisa di
overload

Data struktur: Array


1. Membuat array: [1,2,3] masukkan elemen
antara [ dan ]
2. Jika elemen String, bisa menggunakan %w{}
3. Iterasi array menggunakan .each

Data struktur: Hash


1. Hash menggunakan simbol {}, contoh: {nama: adam
pahlevi}
2. Di Ruby versi lama, harus menggunakan notasi =>,
contoh: {nama => adam pahlevi}
3. Hash key-nya bisa menggunakan String atau Simbol.
4. Hash memiliki each, each_key, dan each_value

Simbol?
1. String dalam Ruby bersifat Mutable, tidak seperti di
Java. Sehingga, untuk alasan kecepatan/efisiensi,
diciptakanlah Simbol.
2. adam <> (:adam = :adam)
3. Jangan gunakan Simbol sebagai pengganti String!!!
Simbol umumnya digunakan sebagai elemen key dari
Hash.

String (1)
1. String bisa menggunakan petik dua, atau
petik satu.
2. Interpolasi hanya bisa dilakukan jika petik
dua.
3. String multi-line menggunakan %q()
4. print = echo atau System.out.print.

String (2)
1. puts = System.out.println.
2. gets = Scanner
3. .split untuk konversi ke Array
a. .split() per karakter
b. .split( ) per kata
4. .join untuk konversi ke String dari Array

Blok
1. Blok bisa diekspresikan dengan {} ataupun do...end
l = -> { puts adam } # atau
l = Proc.new do # error jika do end berhadapan dengan =
puts ADAM
end

2. Blok bisa menerima argumen


3. Blok banyak digunakan di Ruby
4. Blok sering digunakan untuk kode iterasi

Iterasi
1. Menggunakan x.upto(y) | x & y = integer
1.upto(5).each do |i|
end

2. Menggunakan range x..y atau x...y


(x..y).each { |i| puts index ke-#{i} }

3. Paling sederhana menggunakan times


5.times { |i| puts index ke-#{i} }

Tantangan
Buat program scanner teks. Hitung kemunculan
kata dalam teks tersebut.
Misal, input: saya suka ruby
Output: {saya: 1, suka: 1, ruby: 1}

Null = nil
1. Ruby memang OO, tapi gak memaksa OO.
2. Saking OO-nya Ruby, pada dasarnya, nil adalah
sebuah objek!
3. Untuk mengetahui kelas suatu objek, ketik saja:
nil.class, 1.class, adam.class
4. Untuk mengecek apakah sesuatu itu nil atau tidak,
gunakan saja .nil? 1.nil? adam.nil? nil.nil?

True/False
1. Lucunya, Ruby tidak memiliki Boolean -_2. true adalah TrueClass, false adalah
FalseClass
3. Jujur saja, satu-satunya yang gak tak suka
dari Ruby itu ya ini, gak ada Boolean-nya.
4. Tapi jujur, ini juga karena saking OO-nya
Ruby.

Integer dan Float


1. Setiap angka non-desimal pada dasarnya bertipe
Integer
2. Setiap angka yang memiliki desimal, pada dasarnya
adalah Float
3. Di Ruby tidak ada Long, atau Double. Jika
Integer/Float melebihi batas, akan dikonversi oleh
Ruby secara otomatis ke tipe data yang lebih besar.
4. Untuk mengetahui apakah suatu angka adalah
kosong, .zero?

Anda mungkin juga menyukai