5
Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu Penerapan dari arsitektur MVC (Model View Controller) telah banyak digunakan dalam pembuatan aplikasi yang mendukung suatu sistem, salah satu diantaranya adalah Pengembangan Aplikasi Sistem Informasi Manajemen dengan Metode Model view Controller dan Framework CodeIgniter (Studi Kasus : SMK Telekomunikasi Tunas Harapan) oleh Luluk Suci Rahayu, Program Studi Sistem Informasi, Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana Salatiga. Penelitian diawali dengan analisis terhadap kebutuhan sistem, dilanjutkan dengan perancangan arsitektur dengan MVC. Pengembangan dan pembuatan perangkat lunak, menggunakan teknologi yang gratis yaitu XAMPP (Apachefriends, MySql, PHP5) dan CodeIgniter. Sedangkan dalam pembuatan UML menggunakan Rational Rose (versi 2002) . Uji coba dilakukan dengan proses instalasi, serta pengujian melalui input dan output yang dihasilkan. Sistem Informasi Akademik Sekolah yang sudah berjalan di berbagai Sekolah Dasar pada Yayasan Pangudi Luhur Semarang menggunakan software Microsoft Office Excel. Namun seiring dengan majunya perkembangan teknologi, sistem yang sudah ada tersebut dinilai kurang efisien dan efektif. Umumnya kejadian yang sering terjadi adalah keterbatasan pengolahan data yang dimulai dari pengolahan data untuk hasil studi siswa pada sekolah tersebut. Kejadian tersebut merupakan salah satu proses interaksi antara bagian internal sekolah ataupun akademis yang diwakilkan oleh pengolahan
6 data ataupun administrasi data yang telah disusun sedemikian rupa dengan proses dan prosedur-prosedur tertentu. Diharapkan dengan adanya suatu sistem pengolahan data antara user yang merupakan siswa dan pengolahan data yang merupakan bagian dari sistem akademik
yang
menerima
inputan
dari
administrator
dan
mengolahnya untuk melakukan kegiatan perhitungan hasil studi siswa sekolah tersebut. Maka dari itu, akan dibuat perancangan aplikasi sistem informasi akademik hasil studi siswa pada beberapa Sekolah Dasar Yayasan Pangudi Luhur Semarang yang berbasis web, untuk memaksimalkan pengolahan data yang ada, menggunakan penerapan tentang Model View Controller (MVC) pada Framework Code Igniter (CI).
2.2 Sistem Informasi Sebelum masuk dalam penjelasan utama mengenai sistem informasi akademik sekolah, terlebih dahulu akan dijelaskan mengenai beberapa istilah berikut ini yang merupakan bagian dari suatu sistem informasi tersebut, antara lain : a. Data Data merupakan sekumpulan keterangan atau bukti mengenai suatu kenyataan yang masih mentah, masih berdiri sendiri-sendiri, belum diorganisasikan, dan belum diolah (Zulkiffi, 2011). b.
Informasi Informasi adalah data yang telah diolah menjadi sebuah bentuk
yang berarti bagi penerimanya dan bermanfaat bagi pengambilan keputusan saat ini atau saat mendatang (Davis, 2003).
7 c. Sistem Sistem adalah sekumpulan unsur / elemen yang saling berkaitan dan saling mempengaruhi dalam melakukan kegiatan bersama untuk mencapai suatu tujuan (Dunia Baca, 2011). Dengan penjelasan tersebut, dapat diambil kesimpulan bahwa sistem informasi adalah sekumpulan komponen pembentuk sistem yang mempunyai keterkaitan antara satu komponen dengan komponen lainnya yang bertujuan menghasilkan suatu informasi dalam suatu bidang tertentu (Jogiyanto, 2003). Yang berfungsi untuk membantu perencanaan, pengendalian, dan pengambilan keputusan dengan menyediakan rangkuman rutin dan laporan tertentu.
2.3 Sistem Informasi Akademik Sistem Informasi Akademik Sekolah didefinisikan sebagai sistem sekolah 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 adalah merupakan hubungan yang berfokus pada aktivitas akademik itu sendiri, baik itu pengelolaan data siswa, guru dan pegawai serta aktivitas lainnya yang mana kesemuanya akan terhubung dalam satu jaringan yang saling terintegrasi dan data dikelola oleh database sebagai media penyimpanan data terpusat.
2.4 Pengertian PHP (Hypertext Preprocessor) dan SQL Bahasa pemrograman yang digunakan adalah Hypertext Prepocessor (PHP), bahasa pemrograman ini memudahkan dalam membuat aplikasi web dengan cepat, dapat digunakan untuk membuat dynamic website, baik itu yang memerlukan penggunaan
8 database ataupun tidak. Dynamic website atau halaman web dinamis merupakan halaman web yang dapat menampilkan halaman yang berbeda tergantung input yang dilakukan oleh pengunjung atau kondisi lain yang telah ditentukan dalam program. Beberapa kelebihan PHP dari bahasa pemrograman web, antara lain (Eko Priyanto, 2008) : 1. Mudah dibuat dan berkecepatan tinggi 2. PHP dapat berjalan lintas platform, yaitu dapat berjalan dalam sistem operasi dan web server apapun 3. Dapat digunakan secara gratis 4. Termasuk bahasa yang embedded, yakni dapat diletakkan dalam tag HTML 5. Termasuk server side programming, sehingga kode asli/source code PHP tidak dapat dlihat di browser pengguna, yang terlihat hanya kode dalam format HTML 6. Dapat memanfaatkan sumber-sumber aplikasi yang dimiliki oleh server, seperti misalnya untuk keperluan database connection. PHP dapat melakukan koneksi dengan berbagai database seperti MySQL, Oracle, Sybase, mSQL, Solid, Generic ODBC, Postgres SQL, dBase, Direct MS-SQL, Velocis, IBM DB2, Interbase, Frontbase, Empress, dan semua database yang mempunyai profider ODBC seperti misalnya MS Access dan lain-lain 7. PHP dapat melakukan semua aplikasi program CGI, seperti mengambil nilai form, menghasilkan halaman web yang dinamis, mengirimkan dan menerima cookies 8. PHP juga mendukung komunikasi dengan layanan lain melalui protokol IMAP, SNMP, NNTP, POP3 dan HTTP dan lainnya
9 Database untuk sistem ini menggunakan SQL, di mana SQL adalah sebuah konsep pengoperasian database, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis.
2.5 Pengertian Framework Framework dapat diartikan sebagai alat yang digunakan untuk membantu dan memudahkan pembuatan situs web. Framework dapat diartikan sebagai kumpulan perintah atau fungsi dasar yang dapat membantu menyelesaikan proses-proses yang kompleks. Sebuah framework umumnya telah menyertakan perintah-perintah siap pakai yang dibutuhkan dalam membuat suatu aplikasi, namun pihak developer tetap harus menulis kode sendiri dan harus menyesuaikan dengan lingkungan framework yang digunakan. Sebuah
framework
selain
menyediakan
lingkungan
pengembangan sendiri-sendiri juga menyediakan berbagai macam fungsi siap pakai yang bisa kita gunakan dalam pembuatan situs web. Fungsi tersebut merupakan pengembangan atau penyesuaian fungsi asli PHP agar lebih mudah digunakan atau agar lebih sesuai dengan kebutuhan pengguna.
2.6 Pengertian CodeIgniter CodeIgniter merupakan salah satu dari sekian banyak framework PHP yang ada. CodeIgniter dikembangakan oleh Rick Ellis. Tujuan dari pembuatan framework CodeIgniter ini menurut panduan penggunaan adalah untuk menghasilkan framework yang akan dapat digunakan untuk pengembangan proyek pembuatan situs web dengan cara penggunaan Kode Program secara manual, dengan
10 menyediakan banyak sekali pustaka yang dibutuhkan dalam pembuatan situs web, dengan antarmuka yang sederhana dan struktur logika untuk mengakses pustaka yang dibutuhkan. CodeIgniter membiarkan kita untuk memfokuskan diri pada pembuatan situs web dengan meminimalkan pembuatan kode untuk berbagai tujuan pembuatan situs web. Alasan kenapa menggunakan CodeIgniter yaitu sebagai berikut (Supono, 2010) : 1. Gratis CodeIgniter dilisensikan dibawah Apache, ini berarti kita dapat menggunakannya sesuai dengan keinginan kita. 2. Berjalan di PHP versi 4 dan 5 Sekarang ini PHP sudah mencapai versi ke 5, meskipun begitu masih banyak orang yang tetap menggunakan PHP versi 4, oleh sebab itu CodeIgniter dikembangkan agar tetap kompatibel dengan PHP versi 4. 3. Ringan dan cepat Secara umum CodeIgniter hanya berjalan dengan menggunakan beberapa pustaka saja, dengan demikian hanya membutuhkan sumber daya (resource) yang sedikit sehingga ringan dan cepat dijalankan. 4. Menggunakan MVC CodeIgniter menggunakan lingkungan pengembangan dengan metode MVC yang membedakan antara logika dan tampilan, sehingga proyek bisa lebih mudah dipecah-pecah. Ada bagian yang khusus membuat tampilan dan bagian yang membuat Kode Programmnya.
11 5. Dokumentasi Salah satu hal yang bisa dijadikan barometer apakah sebuah aplikasi benar-benar dikembangkan atau tidak bisa dilihat dari dokumentasinya. Dalam hal ini CodeIgniter sangat luar biasa, terdapat dokumentasi yang sangat lengkap tentang semua hal yang ada dalam CodeIgniter. 6. Pustaka yang lengkap CodeIgniter dilengkapi dengan berbagai pustaka siap pakai untuk berbagai kebutuhan, misalnya saja koneksi database, email, session, keamanan, manipulasi gambar dan banyak lagi.
2.7 Model View Controller (MVC) Model View Controller atau yang sering disebut dengan MVC merupakan arsitektur yang sangat berguna dalam melakukan pengembangan sebuah sistem. Arsitektur metode MVC dipisahkan dalam layer model, view, dan controller, dapat dilihat pada gambar 2.1 (eNode Inc., 2002).
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, Controller akan dipaparkan sebagai berikut.
12 Terdiri dari tiga bagian : a. Model Bertugas untuk mengelola berbagai model yang diperlukan oleh aplikasi. Menampung berbagai class – object- component yang berjalan di bagian belakang dari sistem dan umumnya tidak bisa dilihat prosesnya oleh user. Bagian model ini banyak berisikian bagian-bagian yang mengelola data dengan sistem query database, mengambil dan menyimpan data, menghapus data, mengurutkan data, mencari data dan proses lainnya yang berhubungan dengan pengelolaan data. Bagian ini juga berisikan model yang menampung berbagai
metode
pemodelan
data,
metode
control,
metode
pengolahan citra, dan metode-metode lainnya. b. View Bertugas mengelola tampilan aplikasi, sesuai dengan namanya, merupakan bagian yang dapat dilihat dan dikelola oleh user. Bagian ini umumnya terdiri dari tombol-tombol, tabs, check list, combo box, teks, audio, button, list, table, dan lain-lain. c.
Controller Bertugas untuk menghubungkan antara bagian model dan bagian
view. Bagian ini umumnya menangani request yang disampaikan saat user melalui bagian view untuk mencari padanan model yang sesuai dengan
request
tersebut.
Controller
juga
bertugas
untuk
menyampaikan hasil request kembali kepada user melalui bagian view, misalnya dalam bentuk list, teks, table, atau grafik (eNode Inc., 2002). Arsitektur MVC ini umumnya dipisahkan menjadi class – object – component tersendiri, di mana pemrograman berbasis object seperti Java mengijinkan untuk menerapkan struktur seperti ini.