Sebelum menulis Rails, kalian perlu menguasai Ruby, dasar HTTP & SQL, serta ekosistem gems & Bundler. Di episode ini kalian juga menyiapkan Ruby 3.4.x, PostgreSQL & SQLite, dan Node.js, lalu memverifikasi seluruh environment siap dipakai sepanjang series

Selamat datang di series Belajar Ruby on Rails! Series ini akan membawa kalian menguasai Rails — full-stack framework Ruby yang mempopulerkan Convention over Configuration — untuk membangun web app, realtime UI dengan Hotwire, dan API. Total ada 27 episode yang tersusun dalam enam fase, dari fondasi konsep sampai production readiness.
Tapi sebelum menjalankan rails new blog yang pertama, ada skill dasar dan perangkat lunak yang wajib kalian siapkan. Mengapa prasyarat ini penting? Karena Rails bukan bahasa baru — ia dibangun di atas Ruby dan mengikat erat tiga dunia: bahasa Ruby (via gems & Bundler), HTTP/MVC (router, controller, view), dan database (Active Record di atas SQL). Tanpa memahami tiga lapisan ini, kalian akan tersesat di episode 5 (Active Record) dan episode 7 (Action View) yang menjadi jantung Rails.
Episode 0 ini adalah peta jalan kalian: kita akan memastikan skill dasar terpenuhi, menyiapkan runtime Ruby, database, dan Node.js, lalu memverifikasi instalasi pertamanya. Setelah episode ini selesai, seluruh series bisa diikuti dengan nyaman.
Seluruh implementasi series ini memakai Ruby modern. Kalian wajib nyaman dengan:
ActiveRecord::Base, ActionController::Base) yang menempel pada class kalian.{ status: :ok } dan keyword arguments.Gemfile dan lockfile Gemfile.lock.Rails adalah kerangka HTTP. Kalian harus paham metode HTTP (GET, POST, PUT, PATCH, DELETE), status code (200, 201, 204, 302, 401, 403, 404, 422, 500), serta alur klasik MVC: request masuk ke router, diteruskan ke controller, controller memakai model untuk data lalu merender view. Tanpa ini, episode 2 (MVC) dan episode 4 (routing) akan terasa abstrak.
Active Record adalah lapisan ORM di atas SQL. Kalian tidak perlu jago SQL, tapi wajib paham konsep tabel, kolom, primary key, foreign key, JOIN, dan indexing. Konvensi Rails (misal tabel posts, class Post) memakai pengetahuan ini langsung.
Rails 8.1.x memerlukan Ruby 3.2+; series ini memakai Ruby 3.4.x sebagai runtime uji. Cara paling mudah mengelola beberapa versi Ruby adalah rbenv (atau RVM / asdf):
rbenv install 3.4.4
rbenv global 3.4.4
ruby --version
gem --versionrbenv global 3.4.4 menjadikan Ruby 3.4.4 default. Ruby 4.0 (rilis Desember 2025) membawa mesin ZJIT yang jauh lebih cepat — detailnya kita bahas di episode 25. Untuk keselarasan gem, series ini tetap memakai 3.4.x.
Rails, dan semua dependency-nya, dipasang sebagai gems. Bundler mengunci versi tiap gem agar reproducible antar mesin:
gem --version
bundle --versionJika bundle belum ada, install dengan gem install bundler. Lockfile Gemfile.lock yang dibuat Rails akan selalu dipakai pada instalasi berikutnya.
Rails mendukung banyak database; series ini memakai PostgreSQL untuk episode yang berat (prod-like) dan SQLite untuk memulai cepat. Cara paling cepat menjalankan PostgreSQL di mesin lokal adalah Docker:
docker run -d --name pg-lab -p 5432:5432 \
-e POSTGRES_USER=dev -e POSTGRES_PASSWORD=dev \
-e POSTGRES_DB=railslab postgres:16PostgreSQL baru benar-benar dipakai mulai episode 5. Untuk episode 0-4, SQLite (sudah bundar dengan Rails) sudah cukup — pastikan sqlite3 terinstall.
Rails 8 memakai Importmap (tanpa bundler JS) secara default, tetapi tetap butuh Node.js untuk tooling seperti jsbundling-rails, Stimulus Controller, dan gem-gem yang memanggil binary JS. Install Node.js 20+ LTS via nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
nvm install 22
node --versionSebelum lanjut ke episode 1, jalankan verifikasi menyeluruh:
ruby --version
bundle --version
node --version
sqlite3 --version
docker psruby --version harus menampilkan 3.4.x, docker ps harus menampilkan kontainer pg-lab, dan node --version mayor 20+. Verifikasi terakhir — kemampuan membuat project Rails — akan kita lakukan di episode 3 ketika menulis app pertama.
Tip
PostgreSQL baru benar-benar dipakai mulai episode 5. Untuk episode 0-4, cukup pastikan kontainer pg-lab berjalan (docker ps) — koneksi database belum diperlukan.
Rangkuman yang sudah kalian siapkan di episode 0:
pg-lab di port 5432.Jika ada yang belum terpenuhi, berhenti dulu dan lengkapi sebelum melanjutkan. Fondasi yang kuat akan membuat 26 episode berikutnya terasa jauh lebih ringan.
Di episode 0 ini kalian sudah menyiapkan pijakan untuk seluruh series: memahami skill Ruby, HTTP/MVC, dan SQL yang dibutuhkan, menginstall Ruby 3.4.x dengan rbenv, menyiapkan PostgreSQL dan SQLite, serta memasang Node.js untuk asset pipeline.
Inti yang harus dibawa pulang:
Di episode 1 selanjutnya kita akan membahas sejarah, latar belakang, dan mengapa kalian membutuhkan Rails — dari penulisannya oleh David Heinemeier Hansson pada 2004 yang diekstrak dari Basecamp, filosofi "Convention over Configuration" dan The Rails Doctrine, hingga posisinya di 2026 dengan Rails 8.1.3.1 dan Ruby 4.0 (ZJIT). Pastikan Ruby kalian sudah siap, karena perjalanan Belajar Ruby on Rails baru saja dimulai!