BAB I PENDAHULUAN 1.1 Latar Belakang Masalah Perkembangan aplikasi web yang semakin pesat seiring dengan kemajuan teknologi internet juga sangat meningkatkan kemudahan serta kecepatan pengiriman data, pengiriman dan penyampaian informasi. Aplikasi web semakin banyak dimanfaatkan dalam kegiatan penjualan, promosi, belajar dan kegiatan lainnya di mana dibutuhkan pengiriman, penyebaran dan penerimaan informasi sehingga memberikan kemudahan bagi pengguna yang membutuhkannya. Aplikasi web telah berkembang dengan pesat baik dari segi penggunaan, ukuran, bahasa yang digunakan dan kompleksitasnya. Untuk mempermudah proses pembangunan aplikasi web, telah banyak bahasa pemrograman dan framework yang tersedia diantaranya adalah PHP, Ruby on Rails, struts, codeigniter dan lain-lain. Bahasa pemrograman web yang paling banyak dipakai saat ini adalah PHP (singkatan dari PHP Hypertext Preprocessor). PHP banyak dipakai untuk memprogram situs web dinamis. Beberapa alasan yang menyebabkan PHP banyak digunakan antara lain : a. Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak memerlukan sebuah kompilasi dalam penggunaanya. b. Web Server yang mendukung PHP dapat ditemukan dimana - mana dari mulai apache, IIS, Lighttpd, hingga Xitami dengan proses konfigurasi yang relatif mudah. c. Teknologinya sudah dipahami masyarakat, sudah banyak referensi yang tersedia, demikian pula milis-milis maupun pakar/developer yang dapat membantu bila ada kesulitan dalam pengembangan. I-1 I-2 d. PHP adalah bahasa open source yang dapat digunakan di berbagai mesin (Linux, Unix, Macintosh, Windows) dan dapat dijalankan secara runtime melalui console serta juga dapat digunakan untuk menjalankan perintahperintah sistem. Saat ini untuk mempermudah membangun aplikasi berbasis web, sudah banyak tersedia juga web application framework yaitu suatu software framework yang di desain untuk mendukung pengembangan aplikasi web. Web application framework biasanya menyediakan fungsi untuk pembuatan template tampilan, database dan lain sebagainya. Beberapa framework yang ada saat ini adalah Ruby on Rails, struts, codeigniter dan lain-lain. Ruby adalah bahasa scripting yang berorientasi obyek. Tujuan dari Ruby adalah menggabungkan kelebihan dari semua bahasa-bahasa pemrograman scripting. Ruby ditulis dengan bahasa pemrograman C dengan kemampuan dasar seperti Perl dan Python. Kelebihan Ruby antara lain : 1. Sintaks sederhana 2. Memiliki exception handling yang baik 3. Bahasa Pemrograman Berorientasi Objek 4. Open source, siapa saja dapat menggunakannya dengan cuma-cuma dan dapat ikut berpartisipasi mengembangkannya 5. Memiliki garbage collector yang secara otomatis akan menghapus informasi tak terpakai dari memori Salah satu framework berbasis bahasa pemrograman Ruby yang menggunakan pendekatan Model View Controller (MVC) adalah Ruby on Rails. Rails ditulis menggunakan bahasa pemrograman Ruby yang dikenal sangat Object Oriented. Jika ingin membangun suatu website dengan menggunakan Ruby, maka dibutuhkan Rails. Rails merupakan salah satu framework Ruby yang paling populer sekarang ini, sehingga dinamakan Ruby on Rails. Beberapa kelebihan Ruby on Rails antara lain : I-3 1. Program lebih pendek 2. Berorientasi Objek 3. Menggunakan pendekatan MVC (Model View Controller), sehingga secara default para pengembang dapat me-manage file dengan baik. Kekurangan Ruby on Rails antara lain : 1. Dokumentasi kurang lengkap 2. Sangat sedikit web host yang menyediakan Ruby on Rails 3. Plugin-plugin yang disediakan pada Ruby on Rails masih terbatas Di indonesia pengguna Ruby on Rails lebih sedikit dibanding dengan PHP. Menurut situs http://www.workingwithrails.com pengguna Ruby on Rails di indonesia hanya 85 http://phpclub.comli.com orang (Gambar 1.1). Sedangkan menurut situs pengguna PHP mencapai 448 orang (Gambar 1.2). Sehingga dapat disimpulkan bahwa kurang populernya Ruby on Rails di indonesia Gambar 1.1 Pengguna PHP (http://phpclub.comli.com) I-4 Gambar 1.2 Pengguna Ruby on Rails (http://www.workingwithrails.com) 1.2 Rumusan Masalah Berdasarkan latar belakang diatas, maka penulis merumuskan masalah yang akan menjadi topik tugas akhir ini sebagai berikut : 1. Bagaimana memilih dan membangun aplikasi yang cukup sederhana dan dapat dibangun dengan Ruby on Rails maupun PHP? 2. Bagaimana membandingkan kinerja antara Ruby on Rails dan PHP dalam hal pembuatan aplikasi shopping cart ? 3. Bagaimana memperkenalkan/mempopulerkan Ruby on Rails sebagai alat bantu dalam membangun aplikasi berbasis web? 1.3 Tujuan Penelitian Tujuan penelitian ini adalah : 1. Merancang aplikasi shopping cart dengan Ruby on Rails dan PHP 2. Membandingkan antara Ruby on Rails dan php pada aplikasi shopping cart 3. Mempopulerkan Ruby on Rails dalam membangun aplikasi berbasis web I-5 1.4 Batasan Masalah Adapun batasan masalah yang diberikan adalah : 1. Kriteria yang dibandingkan adalah efisiensi waktu, jumlah kode program, kemudahan dalam pemeliharaan, dan fleksibilitas. 2. Tahap Perbandingan dilakukan hanya berdasarkan penilaian subjektif dari pengembang. 3. Lingkup pengenalan Ruby on Rails secara umum di universitas Widyatama 4. Server menggunakan sistem operasi Linux. Database menggunakan Mysql. Bahasa pemrograman menggunakan PHP dan Ruby on Rails. 1.5 Metodologi Penelitian Metode yang digunakan dalam penelitian ini adalah : 1. Mempelajari cara pembuatan aplikasi menggunakan Ruby on Rails dan PHP. 2. Pencarian dan pemilihan aplikasi yang cukup sederhana, popular, dan dapat dibuat menggunakan PHP maupun Ruby on Rails. 3. Membangun aplikasi dengan Ruby on Rails. 4. Membangun aplikasi dengan PHP. 5. Evaluasi terhadap proses pembuatan aplikasi yang dibangun dengan PHP dan Ruby on Rails. Metode yang digunakan untuk membangun aplikasi pada tahap 3 dan 4 diatas adalah Waterfall. Urutan kejadian dari metode Waterfall dapat dilihat pada gambar 1.3. Gambar 1.3 Waterfall Model I-6 Proses pada model Waterfall yang digambarkan pada gambar 1.3, bisa dijelaskan sebagai berikut: 1. Analysis Mengumpulkan kebutuhan secara lengkap kemudian kemudian di analisis dan didefinisikan kebutuhan yang harus dipenuhi oleh program yang akan dibangun. 2. Design Desain dikerjakan setelah kebutuhan selesai dikumpulkan secara lengkap. Pada tahap ini dilakukan perancangan interface dan database. 3. Code Desain program diterjemahkan ke dalam kode-kode dengan menggunakan bahasa pemrograman yang sudah ditentukan. 4. Test Penyatuan unit-unit program kemudian diuji secara keseluruhan. 1.6 Sistematika Penulisan Sistematika penulisan laporan tugas akhir ini adalah sebagai berikut : BAB I Pendahuluan. Menjelaskan tentang latar belakang masalah, identifikasi masalah, rumusan masalah, tujuan masalah, batasan masalah, metodologi penelitian dan sistematika penulisan. BAB II Landasan Teori. Dalam bab ini hal yang akan dibahas adalah tentang dasar teori yang diperlukan dalam pembangunan sistem dan membahas secara singkat mengenai bahasa pemrograman yang digunakan dalam mengimplementasikan sistem yang telah dibangun. BAB III Analisa dan Perancangan. Dalam bab ini dibahas tentang penganalisaan sistem dan perancangan sistem shopping cart dengan Ruby on Rails dan PHP. I-7 BAB IV Implementasi dan Pengujian. Bab ini membahas tentang tahapan pengerjaan aplikasi dengan menggunakan Ruby on Rails dan PHP, dan hasil pengujian terhadap aplikasi yang di bangun. BAB V Evaluasi Sistem. Bab ini membahas tentang tahapan pengevaluasian terhadap proses pembuatan aplikasi serta membahas perbandingannya. BAB V Penutup. Bab ini menguraikan tentang kesimpulan dan saran dari laporan tugas akhir.