Você está na página 1de 13

FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT

BAB I PENDAHULUAN

1.1 Latar Belakang Masalah Penggunaan website sebagai media informasi semakin meningkat seiring dengan perkembangan teknologi. Menurut Yuhefizar, dkk. (2011) website adalah keseluruhan halamanhalaman web yang terdapat dalam sebuah domain yang mengandung informasi. Halamanhalaman web berisi informasi yang dipublikasikan, sehingga informasi tersebut dapat diakses melalui jaringan internet. Website yang menyediakan isi yang selalu berubah, atau dengan kata lain website tersebut bisa di-upgrade dan di-update, website inilah yang disebut dengan website dinamis. Menurut Firdausillah (2009) pada pengembangan website dinamis ada permasalahannya, yaitu membutuhkan banyak waktu pada saat penulisan kembali kode pemrograman yang seharusnya dapat digunakan berulang kali. Permasalahan lain muncul bila halaman logika pemrograman dan halaman tampilan presentasi dikerjakan dalam halaman yang sama. Hal-hal inilah yang membuat programmer harus menunggu pekerjaan web designer selesai, kemudian menuliskan kode pemrogramannya. Akibatnya, terjadi pemborosan waktu pengerjaan. Seiring dengan perkembangan pembuatan sebuah website dinamis, maka dibutuhkan tools untuk memudahkan programmer dalam membuat suatu website dinamis. Tools yang sering digunakan adalah framework. Framework dapat diartikan sebagai koleksi atau kumpulan potongan-potongan program yang disusun atau diorganisasikan sedemikian rupa, sehingga dapat

FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT digunakan untuk membantu membuat aplikasi utuh tanpa harus membuat kodenya dari awal (Basuki, 2010). Potongan-potongan program tersebut, dapat berupa pustaka ataupun komponenkomponen lain untuk meyelesaikan masalah pemrograman pada saat pembuatan website dinamis. Framework dibangun berdasarkan pola perancangan tertentu. Salah satu pola

perancangan yang banyak dipakai dan dianggap sesuai dengan arsitektur perangkat lunak berbasis web adalah pola perancangan MVC (Syam, 2009). Didalam pola perancangan MVC, perangkat lunak dipisahkan dalam tiga bagian yaitu model, view dan controller. Melalui penelitian ini, peneliti membuat suatu framework yang dapat digunakan sebagai tools untuk membuat website dinamis. Framework tersebut, dibuat menggunakan pola perancangan MVC. 1.2 Perumusan Masalah Rumusan masalah yang diangkat peneliti sebagai titik acuan berdasarkan latar belakang yang dijelaskan dalam penulisan ini yaitu: Bagaimana membuat framework untuk aplikasi web berbasis php 5.3 menggunakan metode MVC. 1.3 Manfaat Penelitian Manfaat dari penelitian ini terbagi untuk pengguna dan peneliti / pengembang selanjutnya. 1. Pengguna Membantu pengguna dalam membuat aplikasi berbasis web. Pengguna dalam aplikasi ini yaitu pengguna framework ini dalam membuat website dinamis.

FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT 2. Peneliti atau pengembang Manfaat penelitian ini untuk pengembang selanjutnya adalah dapat menjadi referensi atau pembanding dalam pengembangan aplikasi framework ini. 1.4 Tujuan Penelitian Tujuan dari penelitian ini adalah membuat aplikasi framework berbasis php 5.3 yang dapat memberikan kemudahan bagi pengguna dalam membuat website dinamis. 1.5 Kerangka Teori Dalam penelitian ini, peneliti menggunakan model spiral untuk pembuatan framework dalam memudahkan perancangan aplikasi web. Model spiral ditemukan oleh Boehm merupakan kombinasi dari prototyping model dengan waterfall model (Pressman, 2005). Pada setiap tahapan dalam model ini selalu dilakukan analisa resiko dan verifikasi atau pengujian.

Gambar 1.1. Model spiral (Pressman, 2005)

FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT Gambar 1.1, menunjukkan langkah-langkah atau tahap-tahap dalam model spiral. Spiral dimulai dari communication, planning, modeling, construction, dan deployment. 1. Communication Tahap untuk membangun komunikasi yang efektif antara developer dengan pengguna / customer terutama mengenai kebutuhan dari customer. Tahap ini menentukan tujuan dari fase yang ditentukan. 2. Planning Pada tahap planning, dilakukan perencanaan terhadap aktivitas yang dilakukan. Aktivitas perencanaan ini dibutuhkan untuk menentukan sumberdaya, perkiraan waktu pengerjaan, dan informasi lainnya yang dibutuhkan untuk pengembangan aplikasi. 3. Modeling Dalam tahap modeling, dilakukan analisis serta perancangan aplikasi yang akan dibuat atau dikembangkan, aktivitas ini untuk menganalisa resiko. Dilakukan dengan menganalisa setiap resiko secara detil, dengan mengetahui langkah-langkah penanganan resiko, misalnya membuat prototype untuk mengetahui ketidakcocokan kebutuhan. 4. Construction Pada tahap construction, dilakukan translasi dari desain yang sudah dibuat menjadi code dari bahasa pemrograman yang sudah ditentukan, melakukan pengujian,intalasi, memberikan pendukung bagi user (doc dan training), dan untuk menemukan dan mengatasi error, bug, ataupun faktor-faktor lain yang dapat mempengaruhi fungsi dan performance dari aplikasi.

FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT 5. Deployment Pada tahap deployment, aplikasi yang sudah dibuat kemudian dirilis untuk digunakan oleh customer. Berdasarkan evaluasi dari customer terhadap perangkat lunak, maka akan didapat feedback yang dapat digunakan untuk pengembangan aplikasi lebih lanjut. Pada model spiral dimulai dari proses yang paling dalam. Proses yang terjadi pada model spiral adalah: a) Concept Development Products Proyek pengembangan konsep dimulai dengan mencari resources dari pengguna / customer dan melakukan planning waktu pengerjaan produk sampai produk selesai dibuat atau dikembangkan. b) New Product Development Projects Proyek pengembangan produk baru dimulai dengan malakukan analisis dan perancangan kemudian melakukan perkiraan risiko, mengevaluasi risiko yang berhubungan dengan teknologi yang diimplementasikan sebagai bagian dari ruang lingkup proyek. Proses ini juga akan melakukan pengkodean berdasarkan analisis dan perancangan. c) Product Enhancement Projects Proses peningkatan produk dimulai saat customer melakukan pengujian terhadap produk yang dibuat atau dikembangkan. Selanjutnya customer malakukan evaluasi terhadap produk. d) Product Maintenance Project Pada proses pemeliharaan produk, developer melakukan perbaikan produk berdasarkan hasil evaluasi dan feedback yang diberikan oleh customer.

FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT 1.5.1 Kerangka Teori MVC Singkatan dari Model, View dan Controller. MVC membagi permasalahan user interface menjadi tiga bagian, model yang berisi bagian logika dari program, view yang merepresentasikan user interface, dan controller yang berisi definisi cara user interface bereaksi terhadap input dari pengguna (Krasner & Pope, 2002) Interaksi antara ketiga bagian program tersebut dapat 2002). digambarkan seperti gambar berikut ini:

Database

Gambar 1.2. Alur Kerja MVC ( Model , View, Controller) (Syam, 2009) Controller pada dasarnya merupakan penerima tamu dari permintaan yang datang (HTTP request). Controller merupakan bagian yang mengatur hubungan antara bagian model dan bagian view, controller berfungsi untuk menerima request dan data dari pengguna menentukan apa yang akan diproses oleh aplikasi. kemudian

FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT View merupakan bagian yang menangani presentation logic. Pada suatu aplikasi web, bagian ini biasanya berupa berkas template HTML, yang diatur oleh controller. View berfungsi untuk menerima dan merepresentasikan data kepada pengguna. Bagian ini tidak memiliki akses langsung terhadap bagian model. Model merupakan representasi dari proses bisnis di dalam setiap aplikasi perangkat lunak. Model adalah bagian yang bertugas mengolah data mentah menjadi data yang mengandung arti yang diinginkan oleh pengguna. Model biasanya berhubungan langsung dengan database untuk memanipulasi data, menangani validasi dari bagian controller, namun tidak dapat berhubungan langsung dengan bagian view. 1.6 Kerangka Konseptual Pada bagian ini akan dibahas tentang kerangka konseptual dari aplikasi yang akan dibangun, baik itu kerangka konseptual penelitian maupun kerangka konseptual aplikasi. 1.6.1 Kerangka Konseptual Penelitian Sesuai dengan kerangka teori yang ada, maka peneliti menggambarkan kerangka konseptual dari proses pembuatan aplikasi sampai aplikasi tersebut selesai seperti pada gambar 1.3.

FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT

memahami masalah pengumpulan data pengumpulan identifikasi kebutuhan observasi


1. Communication

planning waktu planning pengerjaan tinjauan literatur tinjauan

2. Planning

4. Construction

3. Modeling

pengkodean pengujian pendukung user pendukung

analisa aplikasi analisa desain aplikasi desain

Gambar 1.3. Kerangka Konseptual Penelitian Berdasarkan Gambar 1.3 terdapat empat tahap dalam pembangunan aplikasi ini, yaitu: 1. Communication Pada tahap ini peneliti memulainya dengan memahami masalah yang ada dalam pembangunan aplikasi web terlebih khusus aplikasi website dinamis. Selanjutnya dinamis melakukan pengumpulan data serta mengidentifikasi kebutuhan dengan melakukan komunikasi non-verbal yaitu observasi langsung terhadap aplikasi framework. verbal Pengumpulan data dilakukan dengan melakukan tinjauan literature. 2. Planning Pada tahap ini, peneliti melakukan planning waktu pengerjaan aplikasi. Menentukan kapan waktu pengerjaan sampai aplikasi yang dibuat selesai. Pada tahap ini

FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT juga masih melakukan tinjauan literature dalam pengumpulan informasi mengenai aplikasi yang akan dibangun. 3. Modeling Pada tahap ini, peneliti mulai melakukan analisis terhadap aplikasi dan perancangan aplikasi framework tersebut. Analisis dan perancangan aplikasi

menggunakan pendekatan berorientasi pada objek yaitu UML. 4. Construction Pada tahap ini, peneliti melakukan pengkodean dalam membangun aplikasi berdasarkan analisis dan perancangan yang telah dibuat, serta melakukan pengujian atas hasil pengkodean yang telah dibuat. 1.6.2 Kerangka Konseptual Aplikasi Pada kerangka konseptual aplikasi akan digambarkan alur proses dari framework yang akan dibuat, dimana dapat dilihat pada gambar 1.4:

FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT

10

Gambar 1.4 Alur Kerja Framework Gambar 1.4 memperlihatkan alur kerja dari framework yang akan dibuat, di mana konsep kerja framework ini mengikuti model kerja dari MVC (Model, View, Controller). Alur kerja ini dimulai dengan pengguna melakukan request untuk pemanggilan index atau main object. Selanjutnya index tersebut melakukan load ke controller. Selain itu controller juga mempunyai tugas memuat model bila memang diperlukan untuk berkomunikasi dengan basis data melalui permintaan atau request data pada model. Controller ini mampu memuat semua pustaka baik yang berupa library, dan helper. Library merupakan direktori yang menyimpan pustaka dari

FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT pemrogramman PHP dengan fungsi tertentu sedangkan helper adalah pustaka kecil yang digunakan untuk membantu tugas-tugas tertentu seperti penulisan kode HTML. Setelah cukup mengerjakan semua permintaan pengguna, controller memuat tampilan yang telah dibuat pada view untuk ditampilkan pada antarmuka pengguna. Model akan memberikan data kepada controller, model juga melakukan pengecekan terhadap eksistensi class dan method yang dipanggil oleh controller sebelum manjalankan tugas selanjutnya. Jika tidak ditemukan class dan method, maka akan memberikan pesan kesalahan. Model ini akan melakukan komunikasi dengan basis data, komunikasi ini meliputi CRUD (Create, Read, Update, Delete) dengan menggunakan query. Proses view akan dilakukan jika controller melakukan pemanggilan view, dan selanjutnya view ini akan dikembalikan lagi ke controller. View ini sudah dikombinasikan dengan kode HTML dan bahasa lain untuk membentuk tampilan informasi saat dikembalikan ke controller, selanjutnya controller memuat tampilan tersebut pada antarmuka pengguna. 1.7 Cakupan dan Batasan Masalah Cakupan dari aplikasi ini adalah: 1. Mendukung bahasa pemrograman PHP versi 5 2. Menggunakan MVC (Model, View, Controller) yang membedakan antara logika, dan tampilan. 3. Mendukung mysql database

11

FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT Batasan masalah dari aplikasi ini adalah: 1. Dikhususkan untuk bahasa pemrograman PHP versi 5 keatas. 2. Framework ini tidak membuat Object Relational Mapping (ORM). 3. Framework ini tidak mendukung scaffolding dan AJAX. 4. Framework ini tidak membuat library yang akan digunakan oleh pengguna seperti session, pagination, dan sebagainya. 5. Sebatas pada pembuatan framework, tidak mengimplementasikan dalam membuat aplikasi berbasis web. 6. Pengguna harus memiliki pengetahuan dasar dari pemrograman bahasa scripting PHP, HTML dan pengetahuan tentang database. 7. Tidak mendukung tree folder yang berada pada direktori aplikasi tepatnya pada folder controller. 1.8 Daftar Istilah Berikut ini adalah penjelasan istilah-istilah yang digunakan peneliti dalam penelitian ini: Framework : Koleksi atau kumpulan potongan-potongan program yang disusun

12

atau diorganisasikan sedemikian rupa, sehingga dapat digunakan untuk membantu membuat aplikasi utuh tanpa harus membuat kodenya dari awal. PHP : Bahasa pemrograman yang berbentuk script yang diletakkan

didalam web server. Pola Perancangan : Setiap pola mendeskripsikan sebuah permasalahan yang terus muncul dalam lingkungan kita, dan kemudian mendeskripsikan inti solusi dari permasalahan tersebut sedemikian rupa sehingga bisa menggunakan

FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT solusi ini sejuta kali tanpa harus melakukannya dengan cara yang sama dua kali. ORM : Kepanjangan dari Object Relational Mapping. Sebuah teknik pemrograman untuk mengkonversi data dari tipe yang berbeda antara relational database dan object oriented programming. MVC : Singkatan dari Model, View dan Controller. MVC membagi permasalahan user interface menjadi tiga bagian, model yang berisi bagian logika dari program, view yang merepresentasikan user interface, dan controller yang berisi definisi cara user interface bereaksi terhadap input dari user. Scaffolding : Fitur dalam suatu framework yang berguna untuk melakukan CRUD (create, read, update, delete) dalam database tanpa harus menuliskan kode script-nya secara eksplisit. Software Engineering : Aplikasi dari pendekatan yang sistematis, disiplin, pendekatan terukur pada pengembangan operasi dan perawatan dari perangkat lunak. UML : The Unified Modeling Language merupakan suatu bahasa, sehingga merupakan bagian dari metode pengembangan software.

13

Você também pode gostar