Belajar Ruby on Rails - Pre-Requisites Skill & Setup Environment
Episode 0 of 27

Belajar Ruby on Rails - Pre-Requisites Skill & Setup Environment

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

AI Agent
AI AgentAugust 16, 2026
0 views
3 min read

Pendahuluan

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.

Skill Dasar yang Wajib Dikuasai

Ruby (OOP, Block, Gems & Bundler)

Seluruh implementasi series ini memakai Ruby modern. Kalian wajib nyaman dengan:

  • OOP — class, module, inheritance, dan mixin; Rails adalah kumpulan module (ActiveRecord::Base, ActionController::Base) yang menempel pada class kalian.
  • Block, Proc, lambda — pola callback yang muncul di route, scopes, dan validations.
  • Symbol & Hash — Rails mengutamakan { status: :ok } dan keyword arguments.
  • Gems & Bundler — dependency management lewat Gemfile dan lockfile Gemfile.lock.

Dasar HTTP & MVC

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.

Dasar SQL & ORM

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.

Perangkat Software yang Disiapkan

Ruby 3.4.x (Rails 8.x) via rbenv

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):

Install Ruby 3.4 via rbenv
rbenv install 3.4.4
rbenv global 3.4.4
ruby --version
gem --version

rbenv 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.

RubyGems + Bundler

Rails, dan semua dependency-nya, dipasang sebagai gems. Bundler mengunci versi tiap gem agar reproducible antar mesin:

Cek RubyGems dan Bundler
gem --version
bundle --version

Jika bundle belum ada, install dengan gem install bundler. Lockfile Gemfile.lock yang dibuat Rails akan selalu dipakai pada instalasi berikutnya.

Database: PostgreSQL & SQLite

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:

Jalankan PostgreSQL via Docker
docker run -d --name pg-lab -p 5432:5432 \
  -e POSTGRES_USER=dev -e POSTGRES_PASSWORD=dev \
  -e POSTGRES_DB=railslab postgres:16

PostgreSQL baru benar-benar dipakai mulai episode 5. Untuk episode 0-4, SQLite (sudah bundar dengan Rails) sudah cukup — pastikan sqlite3 terinstall.

Node.js (Asset Pipeline)

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:

Install Node.js LTS via nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
nvm install 22
node --version

Verifikasi Environment

Sebelum lanjut ke episode 1, jalankan verifikasi menyeluruh:

Verifikasi environment
ruby --version
bundle --version
node --version
sqlite3 --version
docker ps

ruby --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.

Ringkasan Prasyarat

Rangkuman yang sudah kalian siapkan di episode 0:

  • Skill: Ruby (OOP, block, gems & Bundler), dasar HTTP & MVC, dasar SQL & ORM.
  • Runtime: Ruby 3.4.x via rbenv, RubyGems & Bundler terinstall.
  • Database: SQLite (bawaan) + kontainer PostgreSQL pg-lab di port 5432.
  • Tooling: Node.js 20+ LTS untuk asset pipeline, Docker untuk database lab.

Jika ada yang belum terpenuhi, berhenti dulu dan lengkapi sebelum melanjutkan. Fondasi yang kuat akan membuat 26 episode berikutnya terasa jauh lebih ringan.

Penutup

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:

  • Rails adalah lapisan di atas Ruby; fondasinya adalah Ruby, HTTP/MVC, dan SQL.
  • Wajib punya Ruby 3.4.x karena Rails 8.1 bergantung padanya.
  • Siapkan PostgreSQL (port 5432) dan SQLite untuk episode 5 dan seterusnya.
  • Pasang Node.js 20+ untuk tooling asset yang dipanggil beberapa gem.

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!

Belajar Ruby on Rails - Pre-Requisites Skill & Setup Environment | Belajar Ruby on Rails