Nama bahasa pemrograman jarang dipilih lewat rapat yang serius. Java diambil dari sebutan populer untuk kopi, Python dari grup komedi Inggris Monty Python, dan Perl terdengar persis seperti pearl alias mutiara. Kebiasaan ini punya konsekuensi yang cukup merepotkan: mencari informasi tentang sebuah bahasa pemrograman sering berakhir di topik yang sama sekali berbeda.

Ruby adalah contoh paling ekstrem dari kebiasaan tersebut. Ketikkan kata itu di mesin pencari, dan hasil yang muncul bercampur antara batu permata merah, nama orang, tokoh anime, sampai karakter dalam game. Namun ada satu hal yang membuat kekacauan ini terasa masuk akal: bahasa pemrogramannya memang sengaja dinamai dari batu permata tersebut, dan alasannya berkaitan langsung dengan Perl.

Artikel ini membahas Ruby sebagai bahasa pemrograman. Kita akan menelusuri asal-usul namanya, ciri sintaks yang membuatnya mudah dikenali, dan framework Ruby on Rails yang membesarkannya. Di bagian akhir, ada pertimbangan jujur soal apakah bahasa ini masih layak dipelajari hari ini.

Apa Itu Ruby dan Termasuk Bahasa Apa?

Ruby adalah bahasa pemrograman serbaguna yang bersifat interpreted (kode dibaca dan diterjemahkan saat program dijalankan, bukan dikompilasi lebih dulu menjadi file program tersendiri). Bahasa ini bertipe dinamis, artinya Anda tidak perlu menyatakan tipe data sebuah variabel di awal — Ruby yang menentukannya saat program berjalan.

Ciri yang paling membedakan Ruby dari kebanyakan bahasa lain adalah orientasi objeknya yang total. Di banyak bahasa, angka dan teks diperlakukan sebagai tipe primitif yang berbeda kelas dari objek. Di Ruby, semuanya objek tanpa kecuali. Angka 5 adalah objek, nil (nilai kosong) adalah objek, bahkan hasil perbandingan true dan false pun objek. Karena itu Anda bisa menulis 5.times atau "halo".upcase — memanggil kemampuan langsung dari nilainya.

Ruby berlisensi open source dan tersedia gratis, dengan pengembangan yang dikoordinasi terbuka oleh tim inti Ruby. Bahasa ini dipakai untuk membangun aplikasi web, menulis skrip otomatisasi, sampai membuat perkakas baris perintah.

Dari Percakapan Chat 1993 sampai Ruby 4.0

Nama Ruby muncul pada 24 Februari 1993, dalam percakapan chat antara Yukihiro Matsumoto — yang lebih dikenal dengan panggilan Matz — dan rekannya, Keiju Ishitsuka. Saat itu belum ada satu baris kode pun yang ditulis. Dua kandidat nama sempat diajukan: "Coral" dan "Ruby". Matz memilih yang kedua.

Alasannya berlapis. Pengucapan Perl sama persis dengan pearl, mutiara, yang merupakan batu kelahiran bulan Juni. Ruby adalah batu kelahiran bulan Juli — satu bulan setelahnya. Ada juga faktor kebetulan: batu kelahiran seorang rekan Matz memang ruby. Jadi ketika hasil pencarian Anda menampilkan perhiasan merah berdampingan dengan dokumentasi kode, itu bukan kesalahan mesin pencari, melainkan warisan sebuah lelucon internal para programmer tahun sembilan puluhan.

Perbandingan asal nama: Perl dari pearl, batu kelahiran Juni, dan Ruby dari batu kelahiran Juli.Perbandingan asal nama: Perl dari pearl, batu kelahiran Juni, dan Ruby dari batu kelahiran Juli.

Ruby versi 0.95 diumumkan ke publik pada 21 Desember 1995 lewat newsgroup domestik Jepang. Matz merancangnya dengan tujuan yang ia nyatakan sendiri secara terbuka: "Saya ingin bahasa skrip yang lebih bertenaga dari Perl dan lebih berorientasi objek dari Python." Untuk mencapainya, ia mengambil unsur dari Perl, Smalltalk, Eiffel, Ada, dan Lisp sekaligus.

Filosofi desainnya diringkas Matz dalam satu kalimat: Ruby dibuat agar terasa natural, not simple — alami, bukan sederhana. Penampakan luarnya sederhana, tetapi bagian dalamnya rumit, seperti tubuh manusia. Prioritasnya bukan menyederhanakan bahasa, melainkan membuat cara menulisnya terasa wajar bagi manusia yang menulis.

Rilis besar Ruby selalu jatuh pada 25 Desember. Yang terbaru, Ruby 4.0 dirilis pada 25 Desember 2025, menandai tiga puluh tahun sejak rilis publik pertamanya. Versi ini membawa dua hal besar. Yang pertama adalah ZJIT, kompiler generasi baru yang akan kita bahas di bagian kelemahan. Yang kedua adalah Ruby::Box, mekanisme isolasi eksperimental yang memisahkan definisi antarbagian program, sehingga modifikasi di satu tempat tidak bocor ke tempat lain.

Yang Membuat Sintaks Ruby Terasa Berbeda

Cara paling cepat mengenali Ruby adalah dengan melihat apa yang tidak ada di dalamnya. Tidak ada titik koma di akhir baris, tidak ada kurung kurawal untuk membungkus blok kode, dan tanda kurung pada pemanggilan metode sering boleh dihilangkan. Blok kode ditutup dengan kata end.

Contoh Kode Ruby Paling Sederhana

Program pertama di hampir semua bahasa adalah menampilkan satu baris teks. Di Ruby, bentuknya sesingkat ini:

RUBY
puts "Halo, dunia!"

Satu baris, tanpa deklarasi kelas, tanpa fungsi pembungkus, tanpa titik koma. Simpan sebagai halo.rb, lalu jalankan dengan ruby halo.rb. Perbandingannya terasa langsung kalau Anda pernah menulis program serupa di Java, yang menuntut kelas dan metode main sebelum satu baris teks bisa tampil.

Block: Ciri Khas yang Paling Sering Ditiru

Contoh berikut menghitung total harga sekaligus menyaring item di atas sepuluh ribu rupiah:

RUBY
harga = [15000, 27500, 9000]

total = harga.sum
mahal = harga.select { |h| h > 10000 }

puts "Total: #{total}"
puts "Di atas 10 ribu: #{mahal.length} item"

Menjalankan kode di atas menghasilkan keluaran berikut:

Code
Total: 51500
Di atas 10 ribu: 2 item

Perhatikan bagian { |h| h > 10000 }. Itu disebut block — sepotong kode yang diserahkan ke sebuah metode untuk dijalankan berulang kali. Block adalah ciri khas Ruby yang paling sering ditiru bahasa lain. Alih-alih menulis perulangan manual dengan penghitung indeks, Anda menyerahkan aturannya dan membiarkan metode yang mengurus pengulangan.

Bentuk yang sama terlihat pada perulangan sederhana:

RUBY
3.times do |i|
  puts "Percobaan ke-#{i + 1}"
end

Angka 3 di sini adalah objek yang punya metode times, dan block di antara do dan end dijalankan tiga kali. Inilah yang dimaksud Matz dengan "alami": kalimatnya terbaca hampir seperti instruksi bahasa manusia.

Tanda #{...} di dalam teks disebut string interpolation. Isinya dievaluasi lebih dulu, lalu hasilnya disisipkan ke dalam teks. Ini hanya bekerja pada teks berkutip ganda, bukan kutip tunggal.

Ruby on Rails Adalah Alasan Ruby Dikenal Luas

Selama hampir sepuluh tahun pertama, Ruby nyaris hanya dikenal di Jepang. Yang mengubah keadaan adalah Ruby on Rails, sebuah framework web yang diperkenalkan David Heinemeier Hansson pada 2004. Rails bukan dibuat sebagai proyek terpisah, melainkan dipisahkan dari kode aplikasi manajemen proyek Basecamp yang sedang ia bangun.

Rails menganut pola MVC (Model-View-Controller), yang memisahkan urusan data, tampilan, dan pengendali alur ke tiga bagian berbeda. Alur satu permintaan di Rails berjalan seperti ini:

Alur permintaan di Ruby on Rails: browser, router, controller, model, database, view, lalu kembali ke browser.Alur permintaan di Ruby on Rails: browser, router, controller, model, database, view, lalu kembali ke browser.

Yang membuat Rails berbeda dari framework sezamannya adalah prinsip convention over configuration — konvensi mendahului konfigurasi. Selama Anda menamai berkas dan tabel database sesuai aturan yang sudah disepakati, Rails menyambungkan semuanya sendiri tanpa berkas konfigurasi. Pendekatan ini menghemat ratusan keputusan kecil yang biasanya harus diambil di awal proyek.

Kalau Anda datang dari dunia PHP, hubungan Ruby dan Rails paling mudah dipahami lewat perbandingan ini: Rails bagi Ruby kurang lebih sama dengan Laravel bagi PHP. Perbandingan itu bukan kebetulan — Laravel memang banyak mengambil gagasan dari Rails, termasuk pola migrasi database dan struktur direktorinya.

Rails masih berkembang aktif. Rilis Rails 8 pada November 2024 mengusung tema "No PaaS Required". Aplikasi Rails kini bisa di-deploy ke server Linux kosong lewat perkakas bernama Kamal. Selain itu, trio Solid Cache, Solid Cable, dan Solid Queue menghilangkan keharusan menjalankan Redis terpisah untuk urusan cache, antrian pekerjaan, dan koneksi real-time.

Skalanya juga bukan mainan. Shopify, yang melayani lebih dari dua juta merchant, berjalan di atas Rails. GitHub men-deploy monolit Rails berukuran dua juta baris kode sebanyak dua puluh kali sehari dengan lebih dari seribu engineer yang mengerjakannya.

Gem: Cara Ruby Memakai Kode Orang Lain

Pustaka pihak ketiga di Ruby dikemas dalam bentuk gem — sekali lagi, mengikuti tema batu permata. Anda akan sering menemukannya ditulis sebagai ruby gem di dokumentasi berbahasa Inggris, meskipun maksudnya sama saja. Semuanya dipusatkan di RubyGems.org, yang per Juli 2026 menampung 195.457 gem dengan total lebih dari 259 miliar unduhan.

Memasang satu gem cukup dengan satu perintah:

Bash
gem install rails

Untuk proyek nyata, Anda jarang memasang gem satu per satu. Daftar kebutuhan proyek ditulis di berkas bernama Gemfile, lalu perkakas bernama Bundler yang memasang semuanya sekaligus dengan versi yang saling cocok. Bundler sendiri adalah gem paling banyak diunduh sepanjang masa, dengan lebih dari 3,5 miliar pemasangan.

Alur pemasangan gem Ruby dalam empat tahap: Gemfile, Bundler, RubyGems.org, lalu aplikasi siap jalan.Alur pemasangan gem Ruby dalam empat tahap: Gemfile, Bundler, RubyGems.org, lalu aplikasi siap jalan.

Kalau Anda pernah memakai Composer di PHP atau npm di Node.js, polanya identik: satu berkas daftar kebutuhan, satu berkas kunci versi, satu perintah pemasangan. Bundler justru muncul lebih dulu dan menjadi rujukan bagi keduanya.

Ruby Dipakai untuk Apa Saja

Rails membuat bahasa pemrograman Ruby identik dengan aplikasi web, tetapi pemakaiannya jauh lebih luas dari itu. Beberapa perkakas yang mungkin sudah Anda pakai tanpa sadar ditulis dengan Ruby:

  1. Homebrew: package manager de facto untuk macOS, dipakai hampir semua developer yang bekerja di Mac.
  2. Metasploit Framework: kerangka kerja pengujian penetrasi yang paling banyak dipakai di dunia keamanan siber.
  3. Jekyll: pembangkit situs statis yang menjadi mesin di balik GitHub Pages.
  4. Vagrant dan Chef: perkakas untuk menyiapkan lingkungan pengembangan dan mengelola konfigurasi server secara otomatis.
  5. Fastlane dan CocoaPods: dua perkakas standar di ekosistem pengembangan aplikasi iOS dan Android untuk urusan rilis dan manajemen dependensi.

Pola yang terlihat di daftar itu konsisten: Ruby kuat di wilayah yang menuntut skrip ekspresif dan bahasa khusus yang mudah dibaca. Berkas Brewfile, Vagrantfile, dan Gemfile semuanya sebenarnya kode Ruby yang menyamar sebagai berkas konfigurasi.

Kelebihan Ruby yang Masih Terasa

  1. Kecepatan menulis fitur: satu fungsi yang butuh dua puluh baris di bahasa lain sering selesai dalam lima baris di Ruby. Untuk tim kecil yang dikejar tenggat, selisih ini nyata.
  2. Kode yang mudah dibaca ulang: pengurangan tanda baca membuat kode Ruby terbaca lebih dekat ke bahasa manusia. Ini terasa terutama saat Anda kembali membaca kode sendiri enam bulan kemudian.
  3. Konvensi Rails yang menghemat keputusan: struktur direktori, penamaan, dan alur sudah ditentukan. Anda tidak menghabiskan minggu pertama proyek untuk berdebat soal tata letak berkas.
  4. Ekosistem gem yang matang: kebutuhan umum seperti autentikasi, unggah berkas, pembayaran, dan pembuatan laporan hampir selalu sudah ada gem-nya, dengan dokumentasi yang sudah teruji bertahun-tahun.
  5. Stabilitas jangka panjang: kode Rails yang ditulis lima tahun lalu umumnya masih bisa dijalankan setelah pembaruan versi, dengan jalur migrasi yang terdokumentasi.

Kekurangan Ruby dan Hal yang Perlu Dipertimbangkan

Bagian ini yang biasanya diringkas terlalu cepat, padahal justru menentukan apakah Ruby cocok untuk Anda.

  1. Eksekusi lebih lambat dari bahasa terkompilasi: sebagai bahasa yang diterjemahkan saat berjalan, Ruby kalah cepat dari Go, Java, atau C dalam pekerjaan yang berat di sisi perhitungan. Reputasi ini sudah lama melekat, tetapi perlu diperbarui. Ruby modern membawa YJIT, sebuah JIT compiler (Just-In-Time — penerjemah yang mengubah bagian kode yang sering dijalankan menjadi instruksi mesin saat program berjalan). Pada pengukuran Shopify, YJIT mencatat peningkatan sekitar 92 persen dibanding interpreter biasa. Ruby 4.0 menambahkan ZJIT sebagai penerus YJIT, meskipun statusnya masih eksperimental. Situs resmi Ruby menyatakan ZJIT sudah lebih cepat dari interpreter tetapi belum secepat YJIT, dan menyarankan menunggu sampai Ruby 4.1 sebelum memakainya di produksi.
  2. Konsumsi memori yang relatif besar: aplikasi Rails berukuran menengah lazim memakan ratusan megabita memori per proses. Ini berpengaruh langsung pada biaya server, terutama kalau Anda menjalankan banyak proses paralel.
  3. Pasar kerja yang sempit di Indonesia: lowongan yang secara eksplisit meminta Ruby atau Rails jauh lebih sedikit dibanding PHP, JavaScript, atau Java. Kalau tujuan Anda adalah mencari pekerjaan pertama secepat mungkin di pasar lokal, Ruby bukan pilihan paling efisien.
  4. Ketergantungan besar pada Rails: di luar Rails, pilihan framework web Ruby jauh lebih sedikit dan komunitasnya lebih kecil. Belajar Ruby dalam praktiknya hampir selalu berarti belajar Rails juga.
  5. Kebutuhan server yang lebih rumit: Ruby tidak bisa dijalankan di sembarang layanan hosting. Alasan teknisnya kita bahas di bagian berikutnya.

Menjalankan Ruby: dari Laptop sampai Server

Memeriksa dan Memasang Ruby

Di macOS dan sebagian besar distribusi Linux, Ruby sudah terpasang sejak awal. Anda bisa memeriksanya dengan:

Bash
ruby -v

Perintah tersebut menampilkan versi yang terpasang, misalnya ruby 4.0.0. Untuk mencoba kode secara langsung tanpa membuat berkas, jalankan irb — sebuah konsol interaktif tempat Anda mengetik satu baris kode dan langsung melihat hasilnya. Pengguna Windows dapat memasangnya lewat RubyInstaller, sementara untuk mengelola beberapa versi Ruby sekaligus tersedia perkakas seperti rbenv dan rvm.

Kenapa Shared Hosting Umumnya Tidak Mendukung Ruby

Persoalannya muncul saat aplikasi hendak dinaikkan ke server. Aplikasi PHP bekerja dengan model per-permintaan: web server memanggil interpreter PHP, kode dijalankan, hasilnya dikirim, prosesnya selesai. Aplikasi Ruby bekerja sebaliknya — ia berjalan sebagai proses aplikasi yang hidup terus-menerus, mendengarkan port tertentu, dan menahan memori selama aplikasi aktif.

Perbedaan itulah yang membuat sebagian besar layanan shared hosting tidak mendukung Ruby. Shared hosting dirancang untuk model per-permintaan, bukan untuk menampung proses aplikasi yang menyala permanen milik banyak pelanggan sekaligus. Untuk menjalankan Rails, Anda membutuhkan server dengan akses penuh dan alokasi memori tersendiri — biasanya berupa VPS. Aplikasi Rails berukuran kecil hingga menengah umumnya berjalan nyaman di VPS Indonesia dengan memori mulai 2 GB, dan naik ke 4 GB begitu jumlah proses pekerja ditambah.

Perbandingan model PHP yang membuat proses tiap permintaan dan model Ruby yang prosesnya hidup terus-menerus.Perbandingan model PHP yang membuat proses tiap permintaan dan model Ruby yang prosesnya hidup terus-menerus.

Kabar baiknya, Rails 8 membuat langkah ini jauh lebih ringan dari sebelumnya. Dengan Kamal, sebuah server Linux kosong dapat disiapkan menjadi server produksi lewat satu perintah kamal setup, selama alamat IP dan kunci SSH sudah tersedia.

Apakah Ruby Masih Layak Dipelajari?

Angka lebih berguna daripada opini di sini. Pada TIOBE Index edisi Juli 2026, Ruby menempati peringkat 20 dengan rating 0,73 persen. Sebagai pembanding, Python di posisi pertama memegang 18,94 persen. Ruby jelas bukan bahasa yang sedang tumbuh cepat.

Namun bertahan di posisi dua puluh selama tiga dekade bukan tanda bahasa yang sekarat. Hampir dua ratus ribu gem tersedia, dan aplikasi sekelas Shopify serta GitHub masih berjalan di atasnya. Pembaruan besar seperti Ruby 4.0 dan Rails 8 pun muncul tepat waktu dengan perubahan substansial, bukan sekadar penambalan.

Untuk menempatkan Ruby di antara dua bahasa yang paling sering dibandingkan dengannya di Indonesia:

AspekRubyPythonPHP
Peringkat TIOBE Juli 202620 (0,73%)1 (18,94%)di luar 10 besar
Framework web utamaRuby on RailsDjango, FastAPILaravel
Kekuatan terbesarKecepatan membangun aplikasi webAnalisis data dan kecerdasan buatanKetersediaan hosting dan lowongan
Bisa di shared hostingUmumnya tidakUmumnya tidakYa, hampir semua
Kebutuhan server minimumVPS 2 GBVPS 1–2 GBShared hosting
Lowongan kerja di IndonesiaSedikitBanyakPaling banyak

Rekomendasi konkretnya:

Pilih Ruby kalau Anda membangun produk web berbasis database dengan tim kecil — dua sampai lima orang — dan kecepatan rilis lebih penting daripada perasan performa terakhir. Pilih Ruby juga kalau Anda akan bergabung ke tim yang sudah memakai Rails, atau kalau pekerjaan Anda banyak bersinggungan dengan perkakas DevOps yang ditulis dengan Ruby.

Pilih bahasa lain kalau Anda sedang mencari bahasa pertama untuk melamar kerja di Indonesia secepatnya — PHP dan JavaScript memberi peluang jauh lebih banyak. Untuk pengolahan data dan kecerdasan buatan, Python tidak tertandingi. Untuk layanan yang menuntut penanganan puluhan ribu koneksi bersamaan dengan memori minimal, Golang pilihan yang lebih tepat.

Pertanyaan yang Sering Diajukan

Bahasa Ruby digunakan untuk apa? Paling banyak untuk membangun aplikasi web lewat Ruby on Rails. Di luar itu, Ruby dipakai untuk skrip otomatisasi, perkakas baris perintah, pembangkit situs statis seperti Jekyll, dan perkakas DevOps seperti Vagrant dan Chef.

Ruby itu bahasa pemrograman jenis apa? Ruby termasuk bahasa tingkat tinggi, serbaguna, bertipe dinamis, dan berorientasi objek secara penuh. Ia dijalankan lewat interpreter, bukan dikompilasi lebih dulu menjadi berkas program tersendiri.

Apakah Ruby mirip dengan C++? Tidak. Keduanya sama-sama mendukung pemrograman berorientasi objek, tetapi berbeda hampir di segala hal lain. C++ dikompilasi, bertipe statis, dan menuntut Anda mengelola memori sendiri. Ruby dijalankan lewat interpreter, bertipe dinamis, dan mengurus memori secara otomatis. Sintaks Ruby jauh lebih dekat ke Perl dan Smalltalk daripada ke C++.

Apa bedanya Ruby dan Ruby on Rails? Ruby adalah bahasa pemrogramannya, Rails adalah framework yang dibangun memakai bahasa itu. Anda bisa menulis Ruby tanpa Rails, tetapi tidak bisa memakai Rails tanpa menguasai Ruby lebih dulu.

Sebaiknya belajar Ruby atau Python dulu untuk pemula? Keduanya sama-sama ramah bagi pemula. Kalau tujuan Anda spesifik membangun aplikasi web dengan cepat, mulai dari Ruby dan Rails. Untuk tujuan yang lebih luas — termasuk analisis data, otomatisasi, dan kecerdasan buatan — Python memberi jangkauan lebih besar dan lowongan kerja yang lebih banyak.

Kesimpulan

Ruby adalah bahasa pemrograman berorientasi objek yang dirancang Yukihiro Matsumoto agar terasa wajar untuk ditulis manusia, dan namanya memang diambil dari batu permata kelahiran bulan Juli mengikuti jejak Perl. Kekuatan terbesarnya terletak pada kecepatan menulis fitur dan kematangan ekosistem Rails, sementara kelemahannya berada pada performa eksekusi, konsumsi memori, dan pasar kerja lokal yang sempit.

Ruby masuk akal dipilih ketika Anda membangun produk web dengan tim kecil dan mengejar kecepatan rilis, atau bekerja di lingkungan yang sudah memakai Rails. Ruby kurang tepat kalau tujuan utamanya adalah melamar kerja secepat mungkin di pasar Indonesia, atau membangun layanan yang menuntut efisiensi memori maksimal.

Semoga artikel ini membantu.