Month: November 2011

  • Instalasi Ruby on Rails pada Mesin Ubuntu

    Ruby on Rails logo
    Mengapa Ruby on Rails (RoR) di Ubuntu? RoR adalah sebuah web development framework berbasis Model, View, dan Controller (MVC) yang mampu mengoptimalkan produktifitas programmer. Sementara itu Ubuntu, adalah salah satu distribusi Linux turunan Debian yang paling populer saat ini. Jadi gabungan keduanya diyakini mampu membuat para programmer lebih bahagia ๐Ÿ˜€

    Menginstal Ruby on Rails di Ubuntu Linux memang membutuhkan tenaga ekstra, tidak seperti di Windows yang relatif lebih mudah. Bagi para pemula, akan banyak menjumpai pesan kesalahan, terutama adalah masalah dependency (ketergantungan antara satu file/program dengan file/program lainnya).

    Pada saat catatan ini dibuat, versi Ubuntu-nya adalah 11.10 (Oneiric Ocelot), jadi pembahasan berikut ini adalah cara menginstall Ruby on Rails pada Ubuntu 11.10 dari awal sampai membuat aplikasi sederhana dengan Ruby on Rails yang sudah saya kumpulkan dari berbagai sumber.

    Langkah pertama yaitu menginstall Ruby enVironment Manager (RVM), meskipun ini tidak wajib tapi tidak ada salahnya diinstal. Dengan ini kita bisa menggunakan berbagai macam versi Ruby. Sebelumnya instal dependency-nya dulu. Ketikan kode di bawah ini di terminal.

    sudo apt-get install git

    Git adalah program yang umum digunakan sebagai version control di antara para programmer.

    sudo apt-get install curl

    Curl adalah program yang digunakan untuk mendapatkan file dari FTP/HTTP/HTTPS server.

    bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)&#91;/code&#93;
    Ini adalah perintah instalasi RVM, tulis perintah di atas dalam satu baris kemudian enter. Selanjutnya periksa apakah RVM sudah bekerja.
    
    &#91;code lang="plain"&#93;type rvm | head -1&#91;/code&#93;
    Jika semua berjalan lancar, maka seharusnya muncul tulisan <code>rvm is a function</code>.
    
    Ketik perintah di bawah ini dalam satu baris untuk menginstal paket-paket yang dibutuhkan Ruby.
    [code lang="plain"]sudo apt-get install build-essential openssl libreadline6 libreadline6-dev zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion

    Sekarang saatnya menginstal Ruby. Dengan perintah ini akan sekaligus menginstal paket-paket yang berhubungan dengan Ruby, yaitu RubyGems dan Bundler.

    rvm install 1.9.2

    Setelah selesai, atur agar versi ini menjadi default.

    rvm --default use 1.9.2

    Agar lebih meyakinkan, periksa versi masing-masing.

    ruby -v
    gem -v

    Langkah terakhir yaitu menginstal Rails menggunakan RubyGems

    gem install rails

    Setelah berhasil, periksa dengan perintah ini.

    rails -v

    Selesai sudah menginstal RoR di Ubuntu 11.10 ^^
    Sekarang saatnya membuat aplikasi sederhana menggunakan Ruby on Rails.

    rails new hello_rails
    cd hello_rails
    rails server

    Dengan hello_rails adalah nama aplikasinya.

    Kemudian buka browser dan ketikkan di address bar: http://localhost:3000 Jika tidak ada masalah maka akan muncul tampilan: Welcome aboard Youโ€™re riding Ruby on Rails!
    Instalasi ruby on rails

    Tambahan: Kemungkinan terjadinya error.

  • Tema WordPress yang Bersih dan Sederhana

    Ada dua alasan mengapa saya memilih tema ini. Pertama karena saya suka tampilannya yang sederhana, bersih, dan elegan. Kedua adalah tema ini mendukung responsive webdesign dengan CSS3 Media Queries, yang artinya layout-nya sudah dioptimalkan untuk berbagai ukuran layar, termasuk peralatan mobile seperti iPad, iPhone, Android phone, dll.

    Baiklah, semoga catatan saya ini lebih enak dibaca ๐Ÿ˜€

  • Mengatasi Masalah Undefined Index di PHP 5

    undefined index
    Bagi yang beralih dari PHP 4.x ke PHP 5.x mungkin pernah menjumpai peringatan seperti ini:

    Notice: Use of undefined constant mod – assumed ‘mod’ in /var/www/blogsaya/index.php on line 7

    atau seperti ini:

    Notice: Undefined index: mod in /var/www/blogsaya/index.php on line 7

    atau seperti ini:

    Notice: Undefined variable: mod in /var/www/blogsaya/index.php on line 8

    Ketiganya hanyalah pesan peringatan (notice), bukan kesalahan (error). Namun nampak tidak elegan jika pesan seperti itu muncul di halaman website kita. Untuk menyembunyikan pesan peringatan tersebut cukup dengan menambahkan sebaris kode berikut di bagian paling awal kode PHP.

    error_reporting(E_ALL ^ (E_NOTICE | E_WARNING));

    Kode tersebut hanya akan menyembunyikan semua pesan peringatan level Notice dan Warning yang muncul, pesan kesalahan yang lain, misal error, tetap muncul.

    Namun tentu saja menyembunyikan pesan peringatan bukan solusi yang baik. Notice message tersebut muncul karena penanganan register global di PHP 5.x yang sedikit berbeda dengan PHP 4.x, dan juga ada variable atau konstanta yang tidak diinisialisasi sebelum digunakan. Pelanggaran yang umum dalam bahasa pemrograman PHP tetapi penegakan hukumnya kurang ketat.

    Perhatikan contoh berikut:



    $_POST[‘mod’] ada isinya, maka $_POST['mod'] akan disalin ke $mod , jika tidak maka $mod akan berisi string kosong.

    Tulisan ini adalah kategori baru yang ingin saya catat di blog, yaitu tentang troubleshooting (penyelesaian masalah) dalam pemrograman. Troubleshooting adalah salah satu aspek paling penting dalam mempelajari bahasa pemrograman apapun.

  • Tab Sederhana dengan jQuery

    simple tab

    Keuntungan yang didapat dengan membuat sebuah navigasi tab dengan jQuery adalah halaman tidak perlu dimuat ulang hanya untuk berganti tab yang aktif. Kenapa hal itu bisa terjadi? Karena sebenarnya semua halaman yang ada di seluruh tab sudah dimuat sejak pertama kali kita membuka web. Teknik ini yang dipakai untuk bizcard saya. Berikut ini adalah kode jQuery yang digunakan.

    $(document).ready(function() {
      $('#tab1').fadeIn('slow');
      $('ul#nav li a').click(function() {
        $('ul#nav li a').removeClass('aktif');
        $(this).addClass("aktif");
        $('.tab_konten').hide();
        var aktif = $(this).attr('href');
        $(aktif).fadeIn('slow');
        return false;
      });
    });
    

    Sedangkan ini adalah HTML-nya.

    <ul id="nav"><!-- navigasi -->
      <li><a href="#tab1" class="about aktif"><span>About Me</span></a></li>
      <li><a href="#tab2" class="network"><span>Networks</span></a></li>
      <li><a href="#tab3" class="contact"><span>Contact</span></a></li>
    </ul>
     
    <div id="konten"><!-- mulai konten -->
      <div style="display: none;" id="tab1" class="tab_konten">
        <!-- konten #tab1 -->
      </div>
      <div style="display: none;" id="tab2" class="tab_konten">
        <!-- konten #tab2 -->
      </div>
      <div style="display: none;" id="tab3" class="tab_konten">
        <!-- konten #tab3 -->
      </div>
    </div>
    

    Penjelasannya adalah sebagai berikut. Pada kondisi awal, ketiga tab dalam posisi tidak aktif (style=”display: none;”). Kemudian pada saat halaman web dimuat pertama kali, #tab1 diaktifkan (lihat baris ke-2 kode JavaScript) dengan efek fade in, sekaligus menampilkan isinya.

    Berikutnya adalah ketika ada sebuah tab yang diklik, semua class=”aktif” dihilangkan kecuali pada tab yang dipilih (baris ke-4 dan ke-5 kode JavaScript). Begitu pula dengan isinya, semua disembunyikan kecuali tab yang dipilih.

    Bagaimana cara untuk menemukan tab yang aktif? Cari attribute href pada class yang aktif, value-nya menunjukkan mana tab yang harus ditampilkan (baris ke-7 dan ke-8 kode JavaScript).

    Catatan ini disadur dan ditulis ulang dengan modifikasi seperlunya dari blog ini. Gambar juga diambil dari situ.