bab 2 tinjauan pustaka - institutional...
TRANSCRIPT
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 masing-
masing 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 perintah-
perintah 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 variable-
variabel (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.