Topik ini membahas langkah pertama dalam bekerja dengan Ruby, mulai dari menulis berkas program, menjalankannya melalui interpreter (program yang mengeksekusi kode Ruby), hingga menulis komentar yang tidak dieksekusi. Alur sederhana ini sekaligus menjadi pola kerja dasar pemrograman, yaitu menulis kode, menjalankannya, membaca keluaran, kemudian menyunting kembali. Contoh pada topik ini hanya memerlukan terminal dan editor teks tanpa pustaka tambahan apa pun.
Menulis dan menjalankan program#
Program Ruby ditulis sebagai teks biasa di dalam berkas berekstensi .rb, kemudian dijalankan dengan perintah ruby dari terminal. Simpan baris berikut sebagai halo.rb di sebuah direktori kerja, lalu jalankan dari terminal dengan perintah ruby halo.rb. Keluaran yang muncul pada terminal persis seperti blok keluaran di bawah kode.
# halo.rb
# Program Ruby pertama: menampilkan teks ke terminal.
puts "Halo, dunia!"
puts "Belajar Ruby dimulai dari sini."Halo, dunia!
Belajar Ruby dimulai dari sini.Perintah ruby halo.rb memanggil interpreter, yaitu program yang membaca kode Ruby dan mengeksekusinya baris demi baris dari atas ke bawah. Tidak ada tahap kompilasi terpisah, sehingga hasil suntingan dapat langsung diuji dengan menjalankan ulang perintah yang sama. Ruby mencari berkas di direktori tempat perintah diketik. Apabila halo.rb belum berada di direktori tersebut, pindahkan posisi terminal ke direktori berkasnya dengan perintah cd. Selama kode tidak disunting, pengulangan perintah yang sama selalu menghasilkan teks yang persis sama.
Ekstensi .rb bukan kewajiban teknis bagi interpreter, tetapi konvensi yang membuat berkas Ruby mudah dikenali editor teks dan alat pendukung lainnya. Editor teks menggunakan ekstensi itu untuk mengaktifkan penyorotan sintaks (syntax highlighting), yaitu pewarnaan kode sesuai peran tiap bagiannya. Berkas tanpa ekstensi tetap dapat dijalankan, tetapi konvensi ini diikuti agar proyek tetap rapi dan mudah dinavigasi.
Metode puts menampilkan argumennya ke terminal, kemudian berpindah ke baris baru. Apabila puts menerima beberapa argumen sekaligus, setiap argumen tetap ditampilkan pada baris tersendiri, sebagaimana potongan berikut.
puts "satu", "dua", "tiga"satu
dua
tigaKomentar satu baris#
Komentar adalah teks di dalam kode yang diabaikan interpreter dan hanya ditujukan bagi manusia yang membaca kode. Komentar satu baris diawali tanda pagar #, dan seluruh sisa baris setelah tanda itu tidak dieksekusi. Komentar dapat menempati satu baris penuh maupun mengiringi kode pada sisi kanannya. Berkas berikut memuat kedua bentuk tersebut beserta komentar banyak baris yang dibahas pada bagian setelahnya.
# komentar.rb
# Baris yang diawali tanda pagar tidak dieksekusi Ruby.
puts "Baris ini dijalankan" # komentar juga boleh mengiringi kode
=begin
Semua teks di antara =begin dan =end
diabaikan Ruby, berapa pun panjangnya.
=end
puts "Program selesai"Baris ini dijalankan
Program selesaiKomentar digunakan untuk menjelaskan maksud yang tidak langsung terbaca dari tulisan kodenya, misalnya alasan sebuah keputusan teknis atau catatan tentang batasan data. Baris # Program Ruby pertama pada halo.rb berfungsi sebagai keterangan tujuan berkas, sedangkan komentar di samping puts pada komentar.rb menerangkan perilaku baris tersebut. Karena interpreter mengabaikan seluruh isinya, komentar boleh ditambah, disunting, atau dihapus tanpa mengubah perilaku program sedikit pun. Komentar yang isinya bertentangan dengan perilaku kode lebih merugikan daripada tanpa komentar, sehingga komentar perlu diperbarui setiap kodenya berubah.
Komentar banyak baris#
Komentar yang membentang lebih dari satu baris ditulis di antara =begin dan =end. Ruby mengabaikan semua teks di antara kedua penanda itu, berapa pun jumlah barisnya. Bentuk ini cocok untuk keterangan yang tidak lagi muat dalam satu baris atau untuk menonaktifkan sementara sekelompok baris kode.
Kedua bentuk komentar saling melengkapi. Tanda pagar lebih luwes untuk catatan pendek dan paling sering digunakan dalam praktik, sedangkan =begin dan =end disisihkan untuk penjelasan yang benar-benar membutuhkan banyak baris. Program pada komentar.rb tetap menampilkan dua baris keluaran saja karena seluruh komentar, baik satu baris maupun banyak baris, tidak menyentuh alur eksekusi.
Kesalahan umum pada program pertama#
Dua kekeliruan paling sering terjadi pada program pertama. Pertama, perintah ruby halo.rb diketik pada direktori yang tidak memuat berkasnya, sehingga interpreter menampilkan pesan No such file or directory alih-alih keluaran program. Solusinya adalah memindahkan posisi terminal ke direktori berkas dengan cd atau menyertakan jalur berkas pada perintah. Kedua, tanda petik penutup pada string terlupa, sehingga Ruby menghentikan program dengan pesan unterminated string meets end of file.
Pesan error selalu menyebut nomor baris tempat masalah ditemukan, sehingga baris tersebut menjadi titik pemeriksaan pertama. Nomor baris pada pesan menunjuk posisi pemeriksaan, yang kadang sedikit bergeser dari posisi penyebabnya, misalnya saat tanda petik yang hilang berada di baris sebelumnya. Membaca pesan error mulai dari nomor barisnya, kemudian menyusuri kode di sekitarnya, adalah kebiasaan yang menghemat waktu sejak program pertama.
Sebelum menjalankan ulang program yang panjang, pemeriksaan sintaks dapat dilakukan tanpa mengeksekusinya. Opsi -c memerintahkan Ruby untuk memeriksa sintaks berkas lalu melaporkan hasilnya tanpa menjalankan satu baris pun dari programnya.
# memeriksa sintaks tanpa menjalankan program
ruby -c halo.rbSyntax OKApabila ada kesalahan sintaks, laporan -c menunjuk baris masalahnya dengan pesan yang sama seperti saat eksekusi. Pemeriksaan ini cepat dan aman, sehingga layak dilakukan setiap kali berkas yang disunting sudah cukup panjang.
Ringkasan#
- Program Ruby adalah berkas teks berekstensi
.rbyang dijalankan dari terminal dengan perintahruby halo.rb. - Interpreter mengeksekusi kode baris demi baris dari atas ke bawah tanpa tahap kompilasi terpisah.
- Metode
putsmenampilkan argumennya ke terminal lalu berpindah baris, sehingga beberapa argumen menghasilkan beberapa baris keluaran. - Komentar satu baris diawali
#, sedangkan komentar banyak baris berada di antara=begindan=endyang ditulis tanpa indentasi.
Referensi#
- Komentar dalam kode Ruby — Ruby Documentation
— Menjelaskan bentuk komentar
#serta aturan penulisan=begindan=end. - Dokumentasi Ruby — ruby-lang.org — Halaman dokumentasi resmi Ruby beserta tautan referensi bahasanya.