BAB 2 LANDASAN TEORI 2.1 Literature Review Banyak penelitian yang sebelumnya dilakukan mengenai sistem monitoring dari penelitian lain yang berkaitan. Dalam upaya mengembangkan dan menyempurnakan sistem tersebut diperlukan studi pustaka (literature riview) sebagai salah satu dari penerapan metode penelitian yang dilakukan, manfaat dari studi pustaka antara lain : 1. Mengidentifikasikan
kesenjangan
(identify
gaps)
dari
penelitian
sebelumnya. 2. Menghindari membuat ulang (reinventing the wheel) sehingga banyak menghemat waktu dan juga meng hindari kesalahan- kesalahan yang pernah dilakukan dalam penelitian sebelumnya. 3. Mengidentifikasikan metode yang pernah dilakukan dan yang relevan daripenelitian sebelumnya. 4. Meneruskan apa yang penelitian sebelumnya telah dicapai sehingga dengan adanya literature review ini, penelitian yang akan dilakukan dapat membangun di atas landasan (platform) dari pengetahuan atau ide yang sudah ada. 5. Menggambarkan keterhubungan antara satu penelitian dengan penelitian lainnya yang terkait dengan point of interest kita.
8 http://digilib.mercubuana.ac.id/
9
Gambar 2.1 Literature Review
Berikut ini merupakan literature review yang digunakan sebagai referensi penelitian ini : 1.
Penelitian yang dilakukan oleh Rovi Hidayatulloh, Munir Abdullah
Said
dan
PERANCANGAN
Rendi
BASIS
Wahyu
DATA
Andiska
PADA
PT.
(2016) RAMA
INDONESIA, diusulkan dengan sistem basis data berbasis web yang dibuat dapat memenuhi kebutuhan perekrutan yang dapat dilakukan melalui web serta memberikan kemudahan bagi pihak HRD dan perekrutan dalam mensortir para pelamar yang sesuai yang sedang dibutuhkan. Sistem basis data yang dibuat dapat memberikan informasi untuk HRD dengan memberikan daftar pegawai yang berintegrasi dari setiap divisi tanpa perlu melihat satu persatu divisi. HRD dapat mengelola data yang terkait dengan kepegawaian seperti kontrak yang akan habis, pengelolaan pekerjaan dan divisi, hingga pemindahan pegawai antar divisi. Dengan
sistem basis data, setiap Paper-Based formulir seperti
lamaran, kontrak, dan proposal dapat di simpan kedalam database sehingga dapat mengurangi resiko kehilangan data tersebut. Namun dalam Penelitianya belum ada test online untuk melakukan perekrutan karyawan. 2.
Dan penelitian lain yang dilakukan oleh Donnatha Maria
http://digilib.mercubuana.ac.id/
10 Renyasari (2010), penelitian yang berjudul ANALISIS DAN PERANCANGAN
E-RECRUITMENT
PADA
HIMME,
BINUS
UNIVERSITY, diusulkan untuk dapat memberikan kemudahan kemudahan serta efisiensi dan efektif dalam segi waktu dan biaya. Pihak perngurus atau aktivis organisasi tidak perlu melakukan pengumpulan calon aktivis dalam melakukan proses perekrutan, hal ini dapat dilakukan dimana saja, bahkan calon aktivis yang sedang berada di luar kota pun dapat tetap mengikuti proses perekrutan. Namun dalam penelitianya hanya sebatas perancangan sistem. Berdasarkan dari penelitian-penelitian yang sudah dilakukan, dalam penulisan penelitian ini akan melakukan pengembangan dengan memberikan solusi test online dan menggunakan metode analisis pieces.
2.2 E-Recruitment Menururt Compare Infobase
Limited (2009), kata - kata atau tren
terakhir dalam perekrutan adalah E·Recruitment yang juga dikenal dengan "online
recruitment". Ini adalah penggunaan teknologi atau jaringan web
berdasarkan perangkat untuk membantu proses perekrutan. Perangkatnya
bisa
berupa website kerja, website korporat perusahaan atau Intranet. Banyak perusahaan kecil maupun besar menggunakan Internet sebagai sumber perekrutan. Mereka mengiklankan lowongan pekerjaan melalui jaringan web. Pencari kerja mengirim aplikasi atau OJ melalui e·mail menggunakan
internet.
Alternatif
lain pencari kerja menaruh OJ mereka di jaringan web, yang mana bisa dilihat oleh perusahaan sesuai dengan kebutuhan perusahaan tersebut. Dua jenis E·Recruitment yang bisa digunakan organisasi adalah : • Job portal mengirimkan posisi dnegan deskripsi pekerjaan dan spesifikasi pekerjaan
pada portal pekerjaan
mencari
yang sesuai yang
lowongan
dan juga
diposkan
koresponden sampai pada pembukaan organisasi.
http://digilib.mercubuana.ac.id/
pada
untuk situs
11 • Menciptakan perekrutan online yang lengkap atau bagian aplikasi dalam situs web kepunyaan perusahaan. Perusahaan menambahkan sistem aplikasi pada situs web-nya,dimana pencari kerja 'pasif bisa mendaftarkan datanya ke dalam basis data organisasi untuk keperluan mendatang, atau ketika lowongan yang dibutuhkan telah ada. 2.2.1 Teknik Perekrutan Online Menurut Compare Infobase Limited (2009), teknik perekrutan online: • Memberikan detil deskripsi pekerjaan dan spesifikasi pekerjaan dalam daftar perkerjaan untuk menarik minat kandidat yang mempunyai kemampuan dan kualifikasi yang sesuai. • E-Recruitment seharusnya bias digabungkan kedalam keseluruhan startegi perekrutan dalam perusahaan. • Sistem penelusuran yang terstruktur dan didukung dengan baik harus diintegrasikan dan sistem harus mempunyai dukungan data yang memadai. •
Bersama kantor mendukung situs web yang komprehensif untuk menerima dan memproses aplikasi pekerjaan.
• Sebagai penutup, bisa dikatakan bahwa E-Recruitment adalah evolusi dari cara perekrutan.
2.3 Sistem Informasi 2.3.1
Pengertian Sistem Informasi Menurut Satzinger (2012, p4) sistem informasi adalah seperangkat
komponen
komputer
yang
saling
terkait
yang
mengumpulkan, memproses, menyimpan (biasanya dalam database), dan menyediakan sebagai output informasi yang dibutuhkan untuk menyelesaikan tugas-tugas bisnis. Meskipun istilah ini kadang-kadang digunakan secara sinonim, aplikasi biasanya mengacu hanya pada perangkat lunak komputer yang terlibat, sedangkan sistem informasi dapat mencakup perangkat lunak, basis data, dan bahkan proses manual yang terkait
http://digilib.mercubuana.ac.id/
12 2.3.2
Pengertian Data dan Informasi Menurut Turban dan Volonino (2011, p41) yaitu data adalah suatu informasi yang perlu diorganisir sehingga memiliki makna dan nilai untuk penerimanya. Jadi dapat disimpulkan bahwa, data adalah suatu fakta yang belum diolah sedangkan informasi adalah data yang telah diorganisir sedemikian rupa sehingga menghasilkan nilai dan makna untuk penerimanya1.
2.4 Metode Pengembangan Sistem Metode pengembangan sistem yang digunakan adalah Systems Development Life Cycle (SDLC) atau biasa disebut dengan siklus hidup pengembangan sistem. Menurut Joshua Boyde, 2014 “System/Software Development Life Cycle (SDLC) is a project life cycle that is tailored specifically towards the creation, alteration and maintenance of software applications, hardware platforms and information technology systems”. Berdasarkan pengertian tersebut, dapat dikatakan SDLC adalah suatu life cycle yang memfokuskan diri pada sistem. Mulai dari proses pembuatan, perubahan dan pemeliharaan suatu sistem sehingga sangat cocok untuk menjadi pedoman dalam pembuatan sistem. Metode SDLC yang digunakan yaitu metode pendekatan garis terpilin atau air terjun atau waterfall yang menggunakan beberapa tahapan dalam mengembangkan sistem. Metode waterfall mempunyai ciri khusus yaitu harus mengerjakan fase per fase dengan urut dan harus diselesaikan terlebih dahulu sebelum masuk ke fase selanjutnya. Menurut Ian Sommerville, 2011 tahapan utama dari waterfall model langsung mencerminkan aktifitas pengembangan dasar. Terdapat 5 tahapan
http://digilib.mercubuana.ac.id/
13 pada waterfall model yaitu requirement analysis and definition, system and software design, implementation and unit testing, integration and system testing, dan operation and maintenance. Gambar 2.2 Waterfall Model [Sommerville, Ian. 2011]
Berikut adalah penjelasan dari tahapan-tahapan tersebut : 1. Requirement Analysis and Definition Merupakan tahapan penetapan fitur, kendala dan tujuan sistem melalui konsultasi dengan pengguna sistem. Semua hal tersebut akan ditetapkan secara rinci dan berfungsi sebagai spesifikasi sistem. 2. System and Software Design Dalam tahapan ini akan dibentuk suatu arsitektur sistem berdasarkan persyaratan yang telah ditetapkan. Dan juga mengidentifikasi dan menggambarkan
abstraksi
dasar
sistem
perangkat
lunak
dan
hubunganhubungannya. 3. Implementation and Unit Testing Dalam tahapan ini, hasil dari desain perangkat lunak akan direalisasikan sebagai satu set program atau unit program. Setiap unit akan diuji apakah sudah memenuhi spesifikasinya. 4. Integration and System Testing Dalam tahapan ini, setiap unit program akan diintegrasikan satu sama lain dan diuji sebagai satu sistem yang utuh untuk memastikan sistem sudah memenuhi persyaratan yang ada. Setelah itu sistem akan dikirim ke pengguna sistem. 5. Operation and Maintenance Dalam tahapan ini, sistem diinstal dan mulai digunakan. Selain itu juga memperbaiki error yang tidak ditemukan pada tahap pembuatan. Dalam tahap ini juga dilakukan pengembangan sistem seperti penambahan fitur dan fungsi baru.
http://digilib.mercubuana.ac.id/
14 2.5 Metode Analisis Sistem Metode analisis sistem yang digunakan yaitu metode PIECES (Performance, Information, Economics, Control, Efficiency, Service). 2.5.1. Definisi Analisa PIECES Menurut Rohmat Taufiq, 2013 Analisa Pieces merupakan analisa yang melihat sistem dari Performance, Information/Data, Economic, Control/Security, Efficiency, dan Service. Istilah PIECES yang setiap hurufnya bisa diterjemahkan menjadi berikut : 1. Kebutuhan Mengkoreksi atau memperbaiki performa(Performance) Kehandalan suatu sistem merupakan variabel pertama dari PIECES dimana mempunyai peran penting untuk melihat sejauh mana dan seberapa handalkah suatu sistem informasi dalam berproses untuk menghasilkan tujuan yang diinginkan. Variabel ini dapat digunakan sebagai acuan atau pedoman dalam mengevaluasi sistem dengan memperhatikan 2 komponen berikut : a) Kemampuan
suatu
sistem
dalam
mengerjakan
sejumlah
perintah/penugasan dalam periode waktu yang telah ditentukan, dengan baik dan tanpa hambatan (errors). b) Cepat atau lambatnya kemampuan sistem dalam merespon suatu perintah/program pembatalan ataupun permintaan terhadap suatu transaksi. Hal ini dapat disesuaikan juga dengan capability komputer yang digunakan dalam pemrosesan. Bila komponen dalam komputer untuk memenuhi suatu requirement sistem tinggi, maka seharusnya response time yang diperlukan cepat. 2. Kebutuhan Mengkoreksi atau memperbaiki Informasi dan data (Information) Informasi merupakan komoditas krusial bagi pengguna akhir. Evaluasi terhadap kemampuan sistem informasi dalam menghasilkan informasi yang bermanfaat perlu dilakukan untuk menyikapi peluang dan menangani masalah yang muncul. Dalam hal ini meningkatkan kualitas informasi tidak
http://digilib.mercubuana.ac.id/
15 dengan menambah jumlah informasi, karena terlalu banyak informasi malah akan menimbulkan masalah baru. 3. Kebutuhan Mengkoreksi atau memperbaiki ekonomi, mengendalikan biaya dan meningkatkan keuntungan (Economic) Alasan ekonomi barangkali merupakan motivasi paling umum bagi suatu proyek. Pijakan bagi kebanyakan manajer adalah biaya atau rupiah. Persoalan ekonomis dan peluang berkaitan dengan masalah biaya. 4. Kebutuhan Mengkoreksi atau memperbaiki Control atau keamanan (Control) Tugas-tugas bisnis perlu dimonitor dan dibetulkan jika ditemukan kinerja yang di bawah standar. Kontrol dipasang untuk meningkatkan kinerja sistem, mencegah, atau mendeteksi kesalahan sistem, menjamin keamanan data, dan persyaratan. 5. Kebutuhan Mengkoreksi atau memperbaiki efisien orang dan proses( Efficiency) Efisiensi menyangkut bagaimana menghasilkan output sebanyakbanyaknya dengan input yang sekecil mungkin. Berikut adalah suatu indikasi bahwa suatu sistem dapat dikatakan tidak efisien: a) Banyak waktu yang terbuang pada aktivitas sumber daya manusia, mesin, atau komputer. b) Data dimasukkan atau disalin secara berlebihan. c) Data diproses secara berlebihan. Informasi dihasilkan secara berlebihan. Usaha yang dibutuhkan untuk tugas-tugas terlalu berlebihan. d) Material yang dibutuhkan untuk tugas-tugas terlalu berlebihan. 6. Kebutuhan Mengkoreksi atau memperbaiki layanan ke pelanggan, pemasok, rekan kerja, karyawan dan lain-lain (Services) Berikut adalah keriteria penilaian dimana kualitas suatu sistem bisa dikatakan buruk: a) Sistem menghasilkan produk yang tidak akurat. Sistem menghasilkan produk yang tidak konsisten. b) Sistem menghasilkan produk yang tidak dipercaya.
http://digilib.mercubuana.ac.id/
16 c) Sistem tidak mudah dipelajari. d) Sistem tidak mudah digunakan. e) Sistem canggung untuk digunakan. Sistem tidak fleksibel.
2.6 Database 2.6.1 Pengertian Database Menurut Connolly dan Begg (2015, p54), basis data adalah kumpulan dari suatu koleksi data bersama yang saling berhubungan secara logis, dan juga merupakan penjelasan dari data-data tersebut, yang dirancang untuk menampilkan informasi yang dibutuhkan oleh suatu pihak maupun organisasi tertentu. Menurut Connolly dan Begg (2015, p65), dalam basis data terdapat tiga istilah khusus, yakni entitas, atribut, dan relationship. Entitas adalah sebuah objek berbeda (dapat berupa tempat, seseorang, sesuatu konsep, ataupun kejadian) di dalam suatu organisasi yang harus mewakilkan dalam basis data. Atribut adalah sebuah properti yang menjelaskan aspek-aspek dari objek yang ingin di-record. Relationship adalah asosiasi diantara entitas satu dengan entitas lainnya (Connolly & Begg, 2015). 2.6.2
Pengertian Database Management System Menurut Connolly dan Begg (2015:68) Database Management System
adalah
sebuah
software
sistem
yang
memungkinkan
user
untuk
mendefinisikan, membuat, menjaga, dan memiliki akses ke basis data. DBMS memungkinkan user untuk mendefinisikan basis data dengan menggunakan
DDL
(Data
Definition
Language).
DBMS
juga
memungkinkan user dalam melakukan insert, update dan delete, dan mendapatkan data dari basis data melalui DML (Data Manipulation Language). 2.6.3
Komponen DBMS Menurut Connolly dan Begg (2015:70) ada lima komponen-
komponen dalam DBMS yaitu Hardware, Software, Data, Prosedures, dan People :
http://digilib.mercubuana.ac.id/
17
Gambar 2.3 Komponen DBMS (Connolly dan Begg, 2015:74)
1. Hardware (Perangkat Keras) DBMS dan aplikasi membutuhkan hardware untuk dapat dijalankan. 2. Software (Perangkat Lunak) Perangkat-perangkat
lunak
yang
dibutuhkan
dalam
menjalankan DBMS. Perangkat lunak ditulis dengan bahasa pemrograman third-generation, seperti C, C++, C#, Java, Visual Basic atau Pascal. 3. Data Data adalah bagian penting dalam DBMS karena data merupakan penghubung antara komponen mesin dan manusia. 4. Procedure Procedure
adalah
bagaimana
aturan-aturan
dalam
menggunakan basis data. User membutuhkan procedure yang terdokumentasi tentang cara menjalankan sebuah sistem. 5. People Merupakan komponen terakhir yang terlibat dengan sistem, misalnya data administrators, database administrators, database designers, application developers, dan end users.
http://digilib.mercubuana.ac.id/
18 2.6.4
Arsitektur Database Menurut Thomas Connolly & Begg (2015,p.86), terdapat 3 level arsitektur database (Three-Level ANSI-SPARC Architecture) yaitu : 1. External Level Level ini menjelaskan tentang bagian database yang relevan terhadap setiap user dari pengguna database tersebut, 2. Conceptual Level Level ini menjelaskan tentang data apa saja yang disimpan dalam database dan hubungan antara data-data tersebut. 3. Internal Level Level ini menjelaskan bagaimana sebuah data dapat disimpan ke dalam database dengan memperhatikan ketelitian setiap data. Tujuan utama dari 3 level ini adalah untuk mendapatkan Database yang Independence, sehingga tanpa mempengaruhi aplikasi yang terkait dalam Database tersebut.
Gambar 2.4 Three-Level ANSI-SPARC Architecture (Sumber: Connolly, 2015, p.87)
2.7 Unified Modeling Language (UML)
http://digilib.mercubuana.ac.id/
19 Menurut Satzinger, et al (2012:46) mengartikan bahwa “UML is the standard
set of model constructs and notations defined by the Object Management Group (OMG), a standards organization for system development”. UML adalah suatu set standar konstruksi model dan notasi yang ditetapkan oleh Object Management Group (OMG), suatu standar organisasi untuk pengembangan sistem. 2.7.1 Use case Diagram Sebuah diagram yang menunjukkan berbagai peran pengguna dan cara para pengguna berinteraksi dengan sistem. Use case mengidentifikasi bagaimana system akan digunakan dan siapa saja aktor yang terlibat dalam setiap use case.(Satzinger,2012,p213)
Gambar 2.5 Usecase (Satzinger, 2012: p243)
2.7.2 System Sequence Diagram Sebuah diagram yang menunjukkan urutan pesan antara actor eksternal dan sistem selama use caseatau skenario. System sequencediagram digunakan untuk menentukan input, output, dan urutan sekuensial dari inputdan output. System sequencediagram digunakan dalam konjungsi dengan
penggambaran
detail
atau
dengan
activity
diagram
untuk
menunjukkan langkah – langkah dalam proses dan interaksi antara aktor dan system. (Satzinger,2012,p203)
http://digilib.mercubuana.ac.id/
20
Gambar 2.6 System Sequence Diagram (Satzinger, 20012: p434)
2.7.3 Activity Diagram Menurut Satzinger, et al. (2012, p137), Activity Diagram merupakan sebuah diagram yang menggambarkan alat kerja dari berbagai macam kegiatan yang digambarkan secara alur proses awal hingga akhir dari penggunaan sistem. Activity diagram adalah salah satu diagram Unified Modelling Language yang terkait dengan pendekatan berorientasi objek, tetapi dapat digunakan untuk pendekatan pembangunan. Berikut gambar simbol-simbol yang digunakan dalam activity diagram beserta artinya:
http://digilib.mercubuana.ac.id/
21
Gambar 2.7: Simbol-simbol Activity Diagram (Satzinger, J.W., et al. (2012)
Swimlane: adalah area persegi pada activity diagram untuk mewakili seseorang yang melakukan kegiatan.
Initial state: untuk memulai activity diagram.
Transition arrow: untuk menampilkan aliran aktivitas.
Activity: untuk menampilkan aktivitas.
Syncronization bar (split): adalah simbol yang digunakan dalam sebuah activity diagram untuk mengontrol pembagian atau penyatuan jalur berurutan, split untuk membagi satu menjadi dua aliran-aliran dalam kegiatan waktu yang sama.
Syncronization bar (join): adalah simbol yang digunakan dalam activity diagram untuk mengontrol pembagian atau penyatuan jalur berurutan, join adalah untuk menggabungkan dua aliran dari aktivitas menjadi satu aliran kegiatan.
Decision activity: adalah simbol untuk membuat keputusan dalam aliran berupa ya atau tidak.
Final state: untuk mengkhiri aktivitas
http://digilib.mercubuana.ac.id/
22
Gambar 2.8: Contoh Activity Diagram (Satzinger, et al. (2012)
2.7.4 User Interface Menurut Satzinger, et al.(2012, p52), User Intrface adalah suatu komponen yang penting dari setiap sistem baru. Selama kegiatan analisis, Prototyping mungkin telah mengidentifikasikan beberapa elemen dari User Interface. Dengan membuat desain tampilan user dan semua elemen ini digabungkan, dapat menghasilkan sebuah user interface yang berintegrasi yang terdiri dari formulir, laporan, tampilan, bagan, informasi data, dan urutan interaksi.
2.8 Pengertian Internet dan Intranet 2.8.1 Pengertian Internet Menurut Sibero (2011 p10) “Internet (Interconneted Network) adalah jaringan komputer yang menghubungkan antar jaringan secara global, internet dapat juga dapat disebut jaringan alam suatu jaringan yang luas”. Seperti halnya jarigan komputer lokal maupun jaringan
http://digilib.mercubuana.ac.id/
23 komputer area, internet juga menggunakan protokol komunikasi yang sama yaitu TCP/IP (Tranmission Control Protol / Internet Protocol)”. 2.8.2 Pengertian Intranet Menurut Sibero (2011 p,14) Intranet ialah sebuah jaringan informasi internal di suatu perusahaan atau di sebuah organisasi yang pada prinsip kerjanya sama seperti internet. Intranet ini dapat diartikan sebagai bentuk private network dari internet atau internet yang penggunaannya terbatas pada suatu organisasi atau perusahaan. Untuk akses intranet memerlukan indentifikasi pengguna dan password sehingga hanya dapat diakses oleh anggota organisasi atau karyawan perusahan itu saja. Intranet biasanya digunakan untuk membagi sebuah kalender atau jadwal kegiatan, dokumen, dan sarana diskusi internal yang tertutup, sehingga tidak dapat diakses oleh pihak luar. Teknologi dan konsep internet seperti client-server dab protocol internet seperti HTTP dan FTP juga digunakan untuk membantu membangun sebuah intranet. 2.9 Perangkat Pendukung Sistem 2.9.1 Pengertian PHP Menurut Connoly (2015, p672) PHP atau yang memiliki kepanjangan PHP Hypertext Preprocessor merupakan suatu bahasa pemrograman yang difungsikan untuk membangun suatu website dinamis. PHP menyatu dengan kode HTML, maksudnya adalah beda kondisi. HTML digunakan sebagai pembangun atau pondasi dari kerangka layout web, sedangkan PHP difungsikan sebagai prosesnya sehingga dengan adanya PHP tersebut, web akan sangat mudah dimaintenance. PHP berjalan pada sisi server sehingga PHP disebut juga sebagai bahasa Server Side Scripting. Artinya bahwa dalam setiap/untuk menjalankan PHP, wajib adanya web server. PHP ini bersifat open source sehingga dapat dipakai secara cumacuma dan mampu lintas platform, yaitu dapat berjalan pada sistem
http://digilib.mercubuana.ac.id/
24 operasi Windows maupun Linux. PHP juga dibangun sebagai modul pada web server apache dan sebagai binary yang dapat berjalan sebagai CGI.
2.9.2 HTML Menurut Connolly dan Begg (2015, p1067) HTML adalah sebuah bahasa format dokumen yang digunakan untuk mendesain hampir seluruh halaman web dan sistem untuk marking-up, atau melakukan tagging, sebuah dokumen sehingga dapat di publikasi di Web (Connolly & Begg, 2015).
2.9.3 Website Menurut Connolly dan Begg (2015, p1046) Website adalah sistem yang menyediakan sarana informasi browsing di Internet dengan cara non-sequential menggunakan hyperlink. Website membentuk rangkaian bangunan yang saling terkait satu dengan lainnya dimana masing-masing dihubungkan.
2.9.4 Structure Query Language (SQL) Menurut Thomas Connolly dan Begg (2015, p.183) SQL adalah sebuah bahasa yang mucul akibat dari pengembangan model relational. Selama beberapa tahun terakhir SQL telah menjadi bahasa standar relasi database. Sudah lebih dari ratusan DBMS sekarang mendukung aplikasi SQL. 2.9.5 Mysql Mysql adalah sebuah perangkat lunak yang berfungsi untuk manajemen database/basis data dan merupakan sebuah aplikasi yang bersifat open source. MySQL juga merupakan salah satu sistem open source yang menawarkan semua fitur dan kemampuan yang terbaik yang bersaing dengan sistem database proprietary komersial.(Bell,2011:7).
http://digilib.mercubuana.ac.id/
25 2.9.6 Codeigniter Framework Menurut Hakim (2010:8) CodeIgniter adalah sebuah framework PHP yang dapat membantu mempercepat developer dalam pengembangan aplikasi web berbasis PHP dibanding jika menulis semua kode program dari awal. CodeIgniter pertama kali dibuat oleh Rick Ellis, CEO Ellislab, Inc. (http://ellislab.com), sebuah perusahaan yang memproduksi CMS (Content Management System) yang cukup handal,
yaitu
Expression
(http://www.expressionengine.com). dikembangkan
dan
dimaintain
Saat oleh
Engine ini,
CodeIgniter
Expression
Engine
Development Team. Adapun beberapa keuntungan menggunakan CodeIgniter, diantaranya: 1. Gratis CodeIgniter berlisensi dibawah Apache/BSD opensorce. 2. Ditulis Menggunakan PHP 4 Meskipun CodeIgniter dapat berjalan di PHP 5, namun sampai saat ini kode program CodeIgniter masih dibuat dengan menggunakan PHP 4. 3. Berukuran Kecil Ukuran CodeIgniter yang kecil merupakan keunggulan tersendiri. Dibanding dengan framework lain yang berukuran besar. 4. Menggunakan Konsep MVC CodeIgniter menggunakan konsep MVC yang memungkinkan pemisahan layer applicationlogic dan presentation. 5. URL yang Sederhana Secara default, URL yang dihasilkan CodeIgniter sangat bersih dan Serach Engine Friendly (SEF). 6.
Memiliki
mempunyai
Paket library
Library yang
yang
Lengkap
CodeIgniter
lengkap
untuk
mengerjakan
operasioperasi yang umum dibutuhkan oleh sebuah aplikasi berbasis web, misalnya mengakses database, mengirim email, memvalidasi form, menangani session dan sebagainya. 7. Extensible Sistem dapat dikembangkan dengan mudah menggunakan plugin dan helper, atau dengan menggunakan hooks.
http://digilib.mercubuana.ac.id/
26 8. Tidak Memerlukan Template Engine Meskipun CodeIgniter dilengkapi dengan template parser sederhana yang dapat digunakan, tetapi hal ini tidak mengharuskan kita untuk menggunakannya. 9. Dokumentasi Lengkap dan Jelas Dari sekian banyak framework, CodeIgniter adalah satu-satunya framework dengan dokumentasi yang lengkap dan jelas. 10. Komunitas Komunitas CodeIgniter saat ini berkembang pesat.
Salah
satu
komunitasnya
bisa
dilihat
di
(http://codeigniter.com/forum/).
2.9.6.1. MVC (Model-View-Controller) CodeIgniter adalah framework PHP yang dibuat berdasarkan kaidah modelView-controller. Dengan MVC, maka memungkinkan pemisahan antara layer application-logic dan presentation. Sehingga, dalam sebuah pengembangan web, seorang programmer bisa berkonsentrasi pada coresystem, sedangkan web designer bisa berkonsentrasi pada tampilan web. Menariknya, skrip PHP, query MySQL, Javascript dan CSS bisa saling terpisah, tidak dibuat dalam satu skrip berukuran besar yang membutuhkan resource besar pula untuk mengesekusinya Dalam konteks CodeIgniter dan aplikasi berbasis web, maka penerapan konsep MVC mengakibatkan kode program dapat dibagi menjadi tiga kategori, yaitu : 1. Model Kode program (berupa OOP class) yang digunakan untuk memanipulasi database. 2. View Berupa template html/xml atau php untuk menampilkan data pada browser. 3. Controller Kode program (berupa OOP class) yang digunakan untuk mengontrol aliran aplikasi (sebagai pengontol model dan View).
http://digilib.mercubuana.ac.id/