6 Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu Metode MVC sudah banyak diterapkan dan digunakan dalam aplikasi yang mendukung sistem, salah satu diantaranya adalah Perancangan dan Implementasi Perangkat Lunak dengan menerapkan Arsitektur MVC (Model View Controller) Studi Kasus: Sistim Informasi KP/TA FTI UKSW, menyatakan bahwa penggunaan arsitektur MVC dapat mempermudah dalam pembuatan aplikasi berskala besar, mudah dalam pengembangan, kode program aplikasi yang dibuat menjadi lebih terstruktur dan rapi, lebih mudah dibaca dan dipahami serta mempermudah perawatan aplikasi. Aplikasi ini menghasilkan sebuah program (Sistem Informasi berupa aplikasi desktop) yang bisa mengelola mahasiswa-mahasiswa FTI UKSW yang sudah pada tahap kerja praktek maupun skripsi (Vyorbigger, 2008). Sebuah Skripsi yang berjudul yang berjudul Sistem Informasi Manajemen Jemaat Gereja Kristen Jawa Sidomukti Salatiga Menggunakan Konsep MVC (Model View Controller). Aplikasi ini menghasilkan sebuah informasi berbasis web (dibangun dengan menggunakan PHP) yang bisa mengelola manajemen jemaat berupa kegiatan jemaat (Lukito, 2010) Penelitian yang lain, yaitu membahas tentang Perancangan dan Implementasi Sistim Informasi Administrasi dan Akademik Bebasis
7 Web dengan Teknologi Model View Controller dan Ajax pada Fakultas Teknologi Informasi yang memberikan sarana bagi administrator FTI dalam pengelolaan informasi data perpustakaan, pengelolaan informasi praktikum berupa absen dan asisten yang mendaftar, pengelolaan data inventaris, pengelolaan informasi data dosen berupa biodata, pendidikan dan training, pengolaan informasi. Menyatakan bahwa penggunaan arsitektur Model View Controller (MVC) membuat perancangan sistem dapat lebih teratur (Lusiana, 2010). 2.2 Pengertian Analisis Sistem 2.2.1 Sistem Sistem adalah kumpulan elemen-elemen yang saling berinteraksi satu sama lain untuk mencapai tujuan yang telah ditetapkan. Sebuah sistem terdiri dari bagian-bagian yang saling berkaitan yang beroperasi bersama untuk mencapai beberapa sasaran atau maksud, tujuan dan sasaran yang sama (Jogiyanto, 2001). 2.2.2 Analisa Sistem Analisa sistem dapat didefinisikan sebagai penguraian dari suatu sistem informasi yang utuh ke dalam bagian-bagian komponennya dengan maksud untuk mengidentifikasikn dan mengevaluasi permasalahan-permasalahan, kesempatan-kesempatan, hambatan-hambatan yang terjadi dan kebutuhan-kebutuhan yang diharapkan sehingga dapat diusulkan perbaikan-perbaikannya. (Jogiyanto, 2001).
8 Langkah-langkah dalam tahap analisa sistem hampir sama dengan yang akan langkah-langkah yang dilakukan dalam mendefinisikan proyek-proyek sistem yang akan dikembangkan di tahap perencanaan sistem. Perbedaannya terletak pada ruang-lingkup tugasnya. Di analisa sistem ini, penelitian yang dilakukan oleh analis sistem adalah penelitian terinci, sedangkan pada perencanaannya sifatnya hanya penelitian pendahuluan. 2.2.3 Desain Sistem Desain sistem adalah gambaran secara menyeluruh dari terminology yang diinginkan serta bagaimana dari bentuk masingmasing komponen rancangan sistem baikmasukan, keluaran, pemrosesan, pengendalian, database dan platform teknologi yang akan dirancang. Desain sistem dapat diartikan sebagai berikut: 1. Tahap setelah analisis dari siklus pengembangan sistem. 2. Pendefenisian dari kebutuhan-kebutuhan fungsional. 3. Persiapan untuk rancang bangun implementasi. 4. Mengambarkan bagaimana suatu sistem ini di bentuk. 5. Penggambaran, perencanaan dan pembuatan sketsa atau peraturan dari beberapa elemen yang terpisah kedalam satu kesatuan yang utuh dan berfungsi. (Jogiyanto, 2001) 2.3 Pengertian Sistem Informasi Akademik Informasi merupakan hasil dari pengolahan data, akan tetapi tidak semua hasil dari pengolahan data tersebut bisa menjadi informasi. Hasil pengolahan data yang tidak memberikan makna
9 atau arti serta tidak bermanfaat bukanlah merupakan informasi bagi orang tersebut. (Lusiana, 2010) Ada tiga hal penting yang harus diperhatikan yaitu : 1. Informasi merupakan hasil pengolahan data 2. Memberikan makna atau arti bagi pengguna / user. 3. Berguna atau bermanfaat bagi pengguna / user. Akademik adalah merupakan suatu sistem yang dibangun untuk mengolah data sehingga terjadi proses kegiatan akademik yang melibatkan penggunanya baik itu antara mahasiswa, dosen, administrasi akademik, keuangan dan data atribut lainnya. Sistem informasi dapat juga diartikan sebagai suatu proses berurutan dimulai dari pengumpulan data dan diakhiri dengan komunikasi/desiminasi yang mana dapat menghasil kan informasi yang baik, tepat waktu, lengkap dan ringkas isinya. (Rachmat Effendi, S.Ag, http://media.diknas.go.id) Sistem informasi akademik adalah sistem yang dibangun dalam satu kesatuan yang mana saling terintegrasi dan memiliki hubungan saling keterkaitan antara satu sama lain. Dalam hal ini semua yang berhubungan dengan akademik merupakan hubungan yang berfokus dengan akademik itu sendiri, seperti pengelolaan mahasiswa, data dosen dan data pegai serta aktivitas lainnya dimana semuanya akan terhubung dalam satu jaringan yang saling terintegrasi dengan data yang dikelola oleh database sebagai media penyimpanan data terpusat (manukallo, 2009).
10 2.4 Konsep PHP. PHP merupakan salah satu bahasa Server-side yang didesain khusus pada perancangan aplikasi berbasis web. PHP dapat disisipkan di antara bahasa HTML dan karena bahasa Server-side, maka bahasa PHP akan dieksekusi di server sehingga yang dikirimkan ke browser adalah hasil jadi dalam bentuk HTML, dan kode PHP tidak akan terlihat. Pada awal Januari 2001, sebanyak lebih dari 5 juta domain di seluruh dunia telah menggunakan PHP sebagai bahasa pemograman untuk membangun aplikasi berbasis web, dan populasi penggunanya akan terus berkembang hingga saat ini. Hal ini lebih diutamakan karena kemudahan aplikasi PHP itu sendiri dibandingkan dengan bahasa server-side yang lain. PHP bersifat open source product, sehingga setiap user dapat merubah source code serta mendistribusikannya secara bebas. Hal ini bertujuan agar setiap user dapat memberikan ide baru maupun meningkatkan kreativitas, serta terobosan baru sebagai sarana pengembangan bakat. Selain itu PHP juga diedarkan secara gratis, sehingga tidak membutuhkan biaya besar untuk menggunakannya. PHP juga dapat berjalan di berbagai web server seperti IIS, Apache. Dalam perancangan aplikasi Formulir Rencana Studi penulis menggunakan PHP sebagai bahasa pemrograman oleh karena : 1. PHP telah mendukung berbagai macam sistem database antara lain Oracle, sybase, msql, MySQL, SOLID, Generic ODBC, Postgres SQL.
11 2. PHP adalah termasuk bahasa yang embedded (bisa ditempel atau diletakkan dalam tag HTML). 3. PHP termasuk server side programming. 2.5 Database MySQL. MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL. MySQL termasuk dalam relational Database Manajemen System (RDBMS) yang didistribusikan secara gratis di bawah lisensi GPL (General Public License). bebas, namun tidak boleh dijadikan produk turunan yang bersifat closed source atau komersial. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam database sejak lama, yaitu Structured Query Language atau disingkat SQL (www.mysql.com, 2011) SQL adalah sebuah konsep pengoperasian database, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoprasian data dikerjakan dengan mudah secara otomatis. Keandalan suatu sistem database (DBMS) dapat diketahui dari cara kerja optimizer-nya dalam melakukan proses perintahperintah SQL, yang dibuat oleh user maupun program-program aplikasinya (Hidayat, 2010) MySQL memiliki beberapa keistimewaan antara lain sebagai berikut: 1. Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti windows, linux, FreeBSD, Mac Os X Server, Saloris, Amiga dan masih banyak lagi.
12 2. Perangkat lunak sumber terbuka, MySQL didistribusikan sebagai perangkat lunak sember terbuka, dibawah lisensi GPL sehingga dapat digunakan secara gratis. 3. Multi user. MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan tanpa mengalami masalah atau konflik. 4. Performance tuning, MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL persatuan waktu. 5. Keamanan. MySQL memiliki beberapa lapisan keamanan seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi. 6. Skalabilitas dan pembatasan. MySQL mampu menangani basis data dalam skala besar, dengan jumlah rekaman (records) lebih dari 50 juta dan 60 ribu table serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya. 7. MySQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan lebih dari 20 bahasa. Meskipun demikian, bahasa indonesia belum termasuk didalamnya 8. Antarmuka. MySQL memiliki antarmuka (interface) terhadap berbagai aplikasi dan bahasa pemograman dengan mengunakan fungsi API (Application Programming Interface).
13 2.6 Web server Web server merupakan server internet yang mampu melayani koneksi transfer data dalam protocol HTTP. Web server melayani permintaan client terhadap halaman web. 2.7 Pengertian MVC (Model View Controller) Model-View-Controller (MVC) adalah sebuah pola membangun proyek secara lebih efektif dilakukan dengan cara memilah komponen model, view dan controller pada bagian-bagian proyek sehingga pada proyek besar, penggunaan MVC akan membuat program lebih terstruktur dengan rapi (Lloyd, 2004). Arsitektur metode MVC dipisahkan dalam layer model, view, dan controller, dan dapat dilihat pada Gambar 2.1 Gambar 2.1 Arsitektur Model View Controller (enode Inc, 2002) Gambar 2.1 menunjukkan 3 komponen yang terdapat dalam pola MVC dan interaksi yang terjadi. Penjelasan komponen dalam model, view, dan controller adalah sebagai berikut:
14 - Komponen Model Model berhubungan langsung dengan database untuk manipulasi data, menangani validasi data dari bagian controller, naman tidak dapat berhubungan langsung dengan view. Model mempresentasikan data yang digunakan oleh aplikasi sebagaimana proses bisnis yang diasosiasikan terhadapnya. Misalnya table database yang diolah (simpan, ubah, hapus) oleh controller untuk ditampilakan. Model ini mengatur respon terhadap permintaan, serta member hak akses untuk manipulasi data. Beberapa kelebihan menggunakan model, yaitu dalam proses perawatan aplikasi yang lebih menguntungakan karena detail dari data dan operasinya dapat ditempatkan pada area yang ditentukan oleh model. Keuntungan lainnya komponen model dapat digunakan kembali oleh aplikasi lain yang memiliki kegunaan yang hamper sama, karena telah dipisahkan secara total antara data dan interface-nya. - Komponen View View mengandung keseluruhan detail dari implementasi user interface. View merupakan bagian yang menangani presentation logic. Pada suatu aplikasi web bagian ini biasanya berupa file template HTML, yang diatur oleh controller. View berfungsi untuk menerima dan mempresentasikan data kepada user. Bagian ini tidak memiliki akses langsung terhadap bagian model. - Komponen Controller Controller merupakan bagian yang mengatur hubungan antara bagian model dan bagian view, controller berfungsi untuk
15 menerima request dan data dari user kemudian menentukan apa yang akan diproses oleh aplikasi. Controller akan melakukan segala aktivitas proses bisnis dan aktivitas control lainnya seperti mengelolah data dari model, menyimpannya dalam variablevariabel (manipulasi data) lalu menampilkan pada view, benar atau tidaknya hasil olahan tergantung dari logika kerja aplikasi yang tersusun pada bagian controller ini. Sehingga controller merupakan bagian yang paling penting dari aplikasi berbasis MVC. Dalam controller ini menyediakan detail alur program dan bertanggung jawab menampung events dari user melalui view dan meng-updatem komponen model menggunakan data yang dimasukkan oleh user Jadi secara singkat urutan dari sebuah permintaan adalah user berhubungan dengan view, dimana di dalam view inilah semua informasi yang ditampilkan. Saat user melakukan permintaan, misalnya klik tombol maka permintaan tersebut akan diproses oleh controller. Apa yang harus dilakukan, data apa yang diinginkan, apakah ingin melihat data, atau memasukkan data atau mungkin melakukan validasi terlebih dahulu, semua diproses oleh controller. Kemudian controller akan meminta model untuk menyelesaikan permintaan apakah melakukan query atau apapun. Dari model data akan dikirim kembali untuk diproses lebih lanjut di dalam controller dan dari controller data akan ditampilkan di view.