12
BAB II TINJAUAN PUSTAKA
2.1 Bahasa Pemrograman Ruby
Ruby adalah bahasa pemrograman scripting yang berorientasi obyek. Tujuan dari ruby adalah menggabungkan kelebihan dari semua bahasa-bahasa
pemrograman scripting yang ada di dunia. Ruby ditulis dengan bahasa pemrograman C dengan kemampuan dasar seperti Perl dan Python[4].
2.1.1 Sejarah Ruby
Ruby pertama kali dibuat oleh seorang programmer Jepang bernama Yukihiro Matsumoto. Pada tahun 1993 Yukihiro ingin membuat sebuah bahasa
pemrograman scripting yang memiliki kemampuan orientasi obyek. Pada saat itu pemrograman berorientasi obyek sedang berkembang tetapi belum ada bahasa
pemrograman scripting yang mendukung pemrograman obyek[1].
Penulisan Ruby dimulai pada Februari 1993 dan pada Desember 1994 dirilis versi alpha dari Ruby. Pada awal perkembangan Ruby, Yukihiro menulis
Ruby sendiri sampai pada tahun 1996 sudah terbentuk komunitas Ruby yang banyak mengontribusikan perkembangan Ruby[1].
Saat ini Ruby telah berkembang tidak hanya di Jepang, tetapi diseluruh dunia. Bulan Agustus tahun 2006, Macintosh telah melakukan kerja sama dengan
mengintegrasikan Ruby on Rails pada Mac OS X v10.5 Leopard yang akan diluncurkan bulan Oktober 2007[1].
2.1. 2.1.2
Kelebihan Ruby
Sintaks sederhana.
Memiliki exception handling yang baik.
Bahasa Pemrograman Berorientasi Objek.
Mengusung konsep single inheritance.
Open source, siapa saja dapat menggunakannya dengan cuma-cuma dan dapat ikut berpartisipasi mengembangkannya.
Memiliki garbage collector yang secara otomatis akan menghapus informasi tak terpakai dari memori [2].
2.1.3 Variabel
Untuk mendeklarasikan variabel dalam Ruby tidak perlu mendefinisikan tipe data seperti pada bahasa pemrograman Java atau C. Variabel dapat langsung
digunakan contoh:
irb a = 3 irb b = 2
irb a + b = 5
Tidak hanya tipe data numerik saja melainkan tipe data string dapat didefinisikan secara langsung.
irb saya = sedang menulis = sedang menulis
irb saya.class = String
irb saya.length = 14
Dalam pemrograman Ruby terdapat istilah simbol. Simbol adalah konstanta pengganti string. Untuk mendefinisikan simbol digunakan tanda ”:”.
Contoh
a =:test. Beberapa aturan penulisan variabel dalam Ruby.
a. Variabel lokal, dimulai dengan huruf kecil. Contoh: admin, e-book
b. Variabel global, dimulai dengan tanda dollar . Contoh: admin, e-
book c.
Konstanta dan class, dimulai dengan huruf besar. Contoh: Admin, E- book
d. Instance variables, dimulai dengan tanda . Contoh: admin, e-
book e.
Class variables, dimulai dengan tanda . Contoh: admin [6]
2.1.4 Array
Dalam pemrograman Ruby inisialisasi array disimbolkan dengan tanda [ ]. Sama seperti bahasa pem rograman lain elemen ke-0 menunjukkan data pertama
dalam array [6].
irb kecepatan = [5000, 15000, 30000, 60000, 100000] = [5000, 15000, 30000, 60000, 100000]
irb kecepatan[0] = 5000
irb kecepatan[2] = 30000
Ruby memiliki cara lain untuk memasukkan nilai pada data string array dengan perintah w .
irb warna = w red green blue black = [red, green, blue, black]
irb warna[0] = red
irb warna[3]
= black
Dalam array, Ruby juga memiliki methods yang berguna untuk mengetahui manajemen informasi pada array.
a. empty? akan mengembalikan nilai true jika array kosong.
irb warna.empty? =
false
b. size akan mengembalikan nilai berupa data numerik jumlah elemen
pada suatu array
irb warna.size = 4
c. first dan last akan mengembalikan nilai berupa elemen pertama dan
terakhir.
irb warna.first = red
irb warna.last = black
d. delete akan menghapus nilai elemen pada elemen dan mengembalikan
nilai tersebut.
irb warna.delete red = red
irb warna = [green, blue, black]
2.1.5 Hash
Hash merupakan jenis lain tempat penyimpanan data dalam Ruby. Hash mempunyai sebuah key yang mempunyai satu nilai value. Sebuah hash dapat
mempunyai beberapa key, akan tetapi satu key hanya dapat mempunyai satu nilai.
Ketika mendefinisikan sebuah hash, diperlukan spesifikasi sebuah key dengan perintah key = value.
irb warna_mobil = { irb kitt = hitam,
irb herbie = putih, irb batmobile = hitam,
irb larry = hijau irb }
= {kitt=hitam, herbie=putih, batmobile=hitam,larry=hijau}
Untuk contoh di atas didefinisikan sebuah hash bernama warna_mobil dengan masing-masing key dan value. Untuk key herbie mempunyai value putih.
Untuk mengambil nilai key yang ada dalam hash digunakan. irb warna_mobil[herbie]
= putih [6]
2.1.6 Control structure
Dalam pemrograman Ruby juga mengenal struktur kontrol program yang biasa digunakan oleh bahasa pemrograman lain.
a. If structure: Digunakan dalam kondisi bersyarat. Sintaksnya:
if ”syarat”
”jika kondisi terpenuhi lakukan ini” end
if ”syarat” ”jika kondisi terpenuhi lakukan ini”
else ”jika tidak terpenuhi lakukan ini”
end
Jika terdapat 2 syarat if ”syarat pertama”
”jika syarat pertama terpenuhi lakukan ini” elseif ”syarat kedua”
”jika syarat pertama tidak terpenuhi dan kedua terpenuhi lakukan ini”
else ”jika syarat pertama dan kedua tidak terpenuhi”
end b.
Unless structure: Digunakan dalam kondisi bersyarat. Adapun unless
kebalikan dari if. Unless ”syarat”
”jika syarat tidak terpenuhi lakukan ini” end
c. Loops structure: Ruby menyediakan fasilitas untuk perulangan dengan
perintah while, until dan for.
while Car.count 10 Car.new
puts A new car instance was created. end
until Car.count == 10 Car.new
puts A new car instance was created. end
Kedua pernyataan while dan until di atas menghasilkan keluaran yang sama [6].
2.1.7 Method
Sebuah method dideklarasikan dengan menggunakan keyword def dan diakhiri dengan end. Sebagai contoh :
def coba_methodname puts coba {name}
end a = Jaya
coba_methoda coba_methodDunks
Ketika dieksekusi, program diatas akan mengahasilkan output sebagai berikut:
coba Jaya coba Dunks
Untuk me-return sebuah nilai, hanya perlu menuliskan nilai atau variable tersebut di dalam method.
def kali_duanilai_awal kali_dua = nilai_awal 2
kali_dua end
kali_dua = kali_dua4 puts kali dua {kali_dua}
Hasil eksekusi dari program ini adalah:
kali dua 8
Sebenarnya bisa saja menggunakan keyword return untuk mereturn sebuah nilai dari method. Namun, di sini hanya ingin menunjukkan alternatif dari cara
tersebut [6].
2.1.8 Classes
Deklarasi sebuah kelas dimulai dengan class dan diakhiri dengan end. Sebagai contoh akan membuat sebuah kelas Mahasiswa .
class Mahasiswa def initializenama, npm
nama = nama
npm = npm end
def cetak_info puts Nama: {nama}
puts NPM: {npm} end
end
Instance variable dari sebuah kelas dideklarasikan dengan ‘’ yang akan membuatnya bisa diakses oleh semua instance method yang ada di kelas tersebut.
Namun instance variable tersebut tidak akan bisa diakses dari luar kelas. Untuk bisa melakukan itu perlu membuat accessor method. Dengan menambahkan
kedua method pada kelas yang telah dibuat.
def nama=nama_baru nama = nama_baru
end def nama
nama end
Bisa juga menguji method ini dengan melakukan pemanggilan method seperti dibawah ini.
mhs = Mahasiswa.newSi Bocung,1203000439 mhs.cetak_info
mhs.nama = Si Bocah mengubah nama menjadi Si Bocah mhs.cetak_info
nama = mhs.nama method ini akan mereturn Si Bocah sebagai
nama puts nama
Namun untuk mendefinisikan method setter dan getter bagi setiap variable adalah pekerjaan yang melelahkan. Oleh karena itu Ruby menyediakan method
attr_accessor untuk memudahkan. attr_accessor :npm
attr_accessor :nama Selain accessor method ada lagi yang akan sering ditemukan di Rails,
yaitu class
method. def self.whatami
puts “Saya Mahasiswa” end
Method ini diakses dengan diawali oleh nama kelasnya. Mahasiswa.whatami akan mencetak Saya Mahasiswa [6]
2.1.9 Sistem operasi yang didukung
Linux
Microsoft Windows 9598XPNT20002003Vista
MacOS X v10.5 Leopard
BeOS
OS2
Unix
MorphOS
Acorn RISC OS
Syllable
Symbian OS
2.2 Framework Ruby On Rails