Gems adalah pustaka Ruby yang bisa dipakai ulang. Tanpa gems, Anda harus menulis semua fitur dari nol. Dengan gems, cukup install dan pakai.
1. Apa Itu Gem?
Gem adalah pustaka Ruby yang sudah dikemas untuk dipakai ulang. Layaknya npm untuk JavaScript atau pip untuk Python.
RubyGems.org — repository gems terbesar — punya ratusan ribu gems untuk berbagai kebutuhan.
2. Menginstall Gem
Install dari Terminal
gem install rails
gem install rake
gem install sqlite3
Lihat Gems yang Terinstall
gem list
Update Gem
gem update rails
Uninstall Gem
gem uninstall rails
3. Menggunakan Gem
require 'json'
data = '{"nama": "Andika", "umur": 25}'
parsed = JSON.parse(data)
puts parsed["nama"] # Andika
require memuat gem agar bisa dipakai di kode Ruby.
4. Gemfile — Dependensi Proyek
Kalau pakai banyak gems, jangan install manual satu-satu. Pakai Gemfile:
# Gemfile
source "https://rubygems.org"
gem "rails", "~> 7.0"
gem "sqlite3", "~> 1.4"
gem "puma", "~> 5.0"
gem "bcrypt", "~> 3.1"
Install dari Gemfile
bundle install
Ini menginstall semua gems di Gemfile sekaligus.
5. Bundler — Manajer Dependensi
Bundler memastikan semua orang pakai versi gems yang sama.
Perintah Dasar
bundle install # install semua gems
bundle update # update ke versi terbaru
bundle exec ruby app.rb # jalankan dengan versi gems yang benar
Gemfile.lock
Setelah bundle install, Bundler membuat Gemfile.lock — file yang mencatat versi pasti gems yang terinstall.
# Gemfile.lock (excerpt)
rails (7.0.4)
activesupport (= 7.0.4)
...
Jangan edit Gemfile.lock secara manual — biarkan Bundler yang mengelola.
6. Gems Berguna untuk Pemula
| Gem | Kegunaan |
|---|---|
rails |
Framework web |
sinatra |
Web framework ringan |
rake |
Task runner |
rspec |
Testing |
pry |
Debugger interaktif |
httparty |
HTTP client |
nokogiri |
Parse HTML/XML |
dotenv |
Environment variables |
7. Gem vs Library
# Tanpa gem — tulis manual
def bagi(a, b)
raise ZeroDivisionError if b == 0
a.to_f / b
end
# Pakai gem — install dan pakai
gem "mathn"
require "mathn"
Gems menghemat waktu dan mengurangi bug — karena sudah di-test oleh ribuan developer.
8. Membuat Gem Sendiri
Kalau punya kode reusable, bisa dibuat jadi gem:
# Jalankan command untuk scaffold gem
bundle gem my_gem
Struktur gem:
my_gem/
├── lib/
│ └── my_gem.rb
├── spec/
├── Gemfile
├── my_gem.gemspec
└── README.md
Publish ke RubyGems.org:
gem push my_gem-0.1.0.gem
9. Ringkasan
| Konsep | Fungsi | Perintah |
|---|---|---|
| Gem | Pustaka reusable | gem install nama |
| Gemfile | Daftar dependensi | bundle install |
| Bundler | Manajer versi | bundle exec |
| Gemfile.lock | Versi terkunci | Otomatis dibuat |
require |
Muat gem di kode | require 'nama' |
gem list |
Lihat gems terinstall | Terminal |
Penutup
Gems adalah ekosistem yang membuat Ruby powerful. Dengan gems, Anda tidak perlu menemukan ulang roda — cukup install dan pakai.
Selamat! Anda telah menyelesaikan seri Ruby Basics 🎉
Langkah selanjutnya: mulai belajar HTML untuk membuat halaman web, atau langsung ke Ruby on Rails untuk web framework.