Program pertama

Menulis dan menjalankan program Ruby pertama dengan puts, disertai aturan penulisan komentar.

Daftar isi

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.

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.

ruby halo.rb
# halo.rb
# Program Ruby pertama: menampilkan teks ke terminal.

puts "Halo, dunia!"
puts "Belajar Ruby dimulai dari sini."
text Keluaran
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.

ruby Contoh: puts dengan beberapa argumen
puts "satu", "dua", "tiga"
text Keluaran
satu
dua
tiga

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

ruby komentar.rb
# 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"
text Keluaran
Baris ini dijalankan
Program selesai

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

bash
# memeriksa sintaks tanpa menjalankan program
ruby -c halo.rb
text Keluaran
Syntax OK

Apabila 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 .rb yang dijalankan dari terminal dengan perintah ruby halo.rb.
  • Interpreter mengeksekusi kode baris demi baris dari atas ke bawah tanpa tahap kompilasi terpisah.
  • Metode puts menampilkan argumennya ke terminal lalu berpindah baris, sehingga beberapa argumen menghasilkan beberapa baris keluaran.
  • Komentar satu baris diawali #, sedangkan komentar banyak baris berada di antara =begin dan =end yang ditulis tanpa indentasi.

Referensi#