g. Komunikasi Data Komunikasi data adalah merupakan bagian dari telekomunikasi yang
secara khusus berkenaan dengan transmisi atau pemindahan data dan informasi diantara komputer-komputer dan piranti-piranti yang lain dalam bentuk digital
yang dikirimkan melalui media komunikasi data. Data berarti informasi yang disajikan oleh isyarat digital. Komunikasi data merupakan bagian vital dari suatu
sistem informasi karena sistem ini menyediakan infrastruktur yang memungkinkan sebuah komputer dapat berkomunikasi satu sama lain.
2.2.2 Arsitektur dan Klasifikasi Sistem Informasi
Didalam sistem informasi terdapat arsitektur untuk membuat sistem informasi secara maksimal. Sistem informasi juga dapat di klasifikasikan dari
berbagai sudut pandang. Berikut penjelasan dari arsitektur dan klasifikasi sistem informasi.
1. Arsitektur Sistem Informasi
Sistem informasi dapat di bentuk sesuai kebutuhan organisasi masing- masing. Oleh karena itu, untuk dapat menerapkan sistem yang efektif dan efisien
diperlukan perencanaan, pelaksanaan, pengaturan, dan evaluasi sesuai keinginan masing-masing organisasi. Guna dari sistem yang efektif dan efisien tidak lain
untuk mendapatkan keunggulan dalam berkompetisi. Semua orang dapat menggunakan sistem informasi dalam organisasi, tetapi faktor efisiensi setiap
sistem adalah berbeda.
2. Klasifikasi Sistem Informasi
Sistem informasi merupakan suatu bentuk integrasi antara satu komponen dengan komponen lain karena sistem informasi memiliki sasaran yang berbeda
untuk setiap kasus yang terjadi yang ada di dalam sistem tersebut. Untuk dapat membedakan setiap kasus yang ada maka sistem informasi dibeda-bedakan
kedalam klasifikasitertentu. Oleh karena itu, sistem dapat di klasifikasikan dari beberapa sudut pandang, diantaranya:
a. Sistem Abstrak Atau Sistem Fisik
Sistem abstrak adalah sistem yang berupa pemikiran atau ide-ide yang tidak tampak secara fisik, misalnya sistem teologia, yaitu sistem yang berupa
pemikiran hubungan antara manusia dengan Tuhan. Sistem fisik merupakan sistem secara fisik, misalnya sistem komputer.
b. Sistem Alamiah Dan Sistem Buatan Manusia
Sistem alamiah adalah sistem yang terjadi melalui proses alam, tidak dibuat oleh manusia, misalnya sistem perputaran bumi. Sistem buatan manusia
merupakan sistem yang melibatkan interaksi manusia dengan mesin, yang disebut human machine system. Sistem informasi berbasis internet merupakan contoh
human machine system karena menyangkut penggunaan komputer yang berinteraksi dengan manusia.
c. Sistem Deterministik Dan Sistem Probabilistik
Sistem deterministik adalah sistem yang beroperasi dengan tingkah laku yang dapat diprediksi. Sistem probabilistik dalah sistem yang kondisi masa
depannya tidak dapat diprediksi karena mengandung unsur probabilistik. d.
Sistem Terbuka Dan Sistem Tertutup Sistem terbuka adalah sistem yang berhubungan dan di pengaruhi oleh
lingkunagn luarnya. Sistem ini menerima masukan dan menghasilkan keluaran untuk subsistem lainnya. Sistem tertutup adalah sistem yang tidak terhubung dan
tidak terpengaruh oleh lingkungan luarnya. Sistem ini bekerja secara otomatis tanpa campur tangan pihak luar.
2.3 UML
Unified Modelling Language Unified Modelling Language UML adalah sebuah bahasa yang telah
menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar
untuk merancang model sebuah sistem. Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut
dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class
dan operation dalam konsep dasarnya, maka UML lebih cocok untuk penulisan piranti lunak dalam bahasa-bahasa berorientasi objek seperti C++, Java, C atau
VB.NET. Walaupun demikian, UML tetap dapat digunakan untuk modeling aplikasi prosedural dalam VB atau C.
Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntaxsemantik. Notasi UML merupakan sekumpulan bentuk khusus untuk
menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut
dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD Object-Oriented Design, Jim Rumbaugh
OMT Object Modeling Technique, dan Ivar Jacobson OOSE Object-Oriented Software Engineering.
Abstraksi konsep dasar UML yang terdiri dari structural classification, dynamic behavior, dan model management. Main concepts bisa kita pandang
sebagai term yang akan muncul pada saat kita membuat diagram. Dan view adalah kategori dari diagaram tersebut. UML mendefinisikan diagram-diagram sebagai
berikut: a.
use case diagram; b.
class diagram; c.
statechart diagram; d.
activity diagram; e.
sequence diagram; f.
collaboration diagram; g.
component diagram; h.
deployment diagram.
2.4 PHP
Script PHP PHP: Hypertext Preprocessor merupakan bahasa web server side yang bersifat open source. Bahasa PHP menyatu dengan script HTML yang
sepenuhnya dijalankan pada server. Kelebihan dari bahasa pemrograman PHP adalah sebagai berikut:
a. Sebuah script yang tidak melakukan kompilasi dalam penggunanya.
b. Web Server yang mendukung PHP dapat ditemukan dimana-mana dari
mulai IIS sampai dengan dengan Apache, dengan konfigurasi yang sangat mudah.
c. Dalam sisi pengembangan lebih mudah, karena banyaknya developer
yang membantu dalam pengembangannya. d.
Pada sisi pemahaman, PHP adalah bahasa scripting yang paling mudah dikuasai karena referensi yang mudah ditemukan.
PHP adalah bahasa pemrograman Open Source yang dapat digunakan diberbagai Sistem Operasi Unix, Linux, Windows dan dapat dijalankan secara
runtime melalui console ataupun terminal serta dapat dijalankan dengan perintah- perintah sistem.
2.5 OOP Object Oriented Programming
Object Oriented Programming OOP adalah istilah yang sangat popular akhir-akhir ini di dunia pemograman. Bahasa pemrograman modern biasanya
mendukung pendekatan OOP untuk membangun software. OOP menggunakan klasifikasi, relasi dan properti pada objek di sistem untuk membantu
pembangunan program. Bagi pemula, logika pemrograman OOP mungkin sedikit rumit. Tidak
seperti pemrograman prosedural yang lebih mudah dipahami. Namun, pendekatan OOP mempunyai proyek yang cerah untuk menyelesaikan pekerjaan-pekerjaan
yang cukup komplek. Beberapa istilah pada OOP:
a. Abstraksi abstraction
b. Pewarisan inheritance
c. Banyak bentuk polymorphism
d. Pembungkusan encapsulation
e. Pengiriman pesan message sending
f.
Assosiasi association
g.
Agregasi aggregation
2.6 CODEIGNITER
CodeIgniter merupakan salah satu dari sekian banyak framework PHP yang ada. CodeIgniter dikembangkan oleh Rick Ellis. Tujuan dari pembuatan
framework CodeIgniter ini menurut user manualnya adalah untuk menghasilkan framework yang akan dapat digunakan untuk pengembangan proyek pembuatan
website secara lebih cepat dibandingkan dengan pembuatan website dengan cara coding secara manual, dengan menyediakan banyak sekali pustaka yang
dibutuhkan dalam pembuatan website, dengan antarmuka yang sederhana dan struktur logika untuk mengakses pustaka yang dibutuhkan. CodeIgniter
membiarkan kita untuk memfokuskan diri pada pembuatan website dengan meminimalkan pembuatan kode untuk berbagai tujuan pembuatan website.
Kelebihan dari bahasa pemrograman PHP CodeIgniter adalah sebagai berikut: a.
Gratis. CodeIgniter dilisensikan dibawah lisensi ApacheBSD style open source
license, ini berarti kita dapat menggunakannya sesuai dengan keinginan kita. b.
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 dan dapat dijalankan
pada PHP versi 5.
c. Ringan dan Cepat.
Secara default CodeIgniter hanya berjalan dengan memutar beberapa pustaka saja, dengan demikian hanya membutuhkan resource yang sedikit
sehingga ringan dan cepat dijalankan. Pustaka-pustaka lain yang nantinya akan digunakan bisa diputar sesuai dengan kebutuhan.
d. Menggunakan MVC.
CodeIgniter menggunakan lingkungan pengembangan dengan metode Model View Controller MVC yang membedakan antara logika dan
presentasitampilan, sehingga tugas bisa lebih mudah dipecah-pecah. Ada bagian yang khusus membuat tampilan dan bagian yang membuat core programnya.
e. 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. Mulai dari langkah installasi
sampai dokumentasi fungsi-fungsinya tersedia. Adanya dokumentasi sangat memudahkan bagi pemula dalam mempelajari lingkungan pengembangan website
dengan CodeIgniter. f.
Pustaka yang Lengkap. CodeIgniter dilengkapi dengan berbagai pustaka siap pakai untuk berbagai
kebutuhan, misalnya saja koneksi database, email, session dan cookies, keamanan, manipulasi gambar dan banyak lagi. Dengan adanya pustaka yang
lengkap memungkinkan seorang programmer mengembangkan aplikasinya supaya menjadi yang lebih baik lagi.
2.6.1 Konsep Model-View-Controller MVC
Konsep MVC adalah konsep pemisahan antara logic dengan tampilan dan database. Manfaat konsep ini adalah, membuat coding logic lebih mudah, karena
sudah dipisah dengan code untuk tampilan dan membuat programmer dapat bekerja secara terpisah dengan designer. Programmer mengerjakan logic,
sedangkan designer berkutat dengan design dan tampilan. Konsep MVC Model view Controller dapat dilihat pada gambar 2.5 beserta penjelasan dari gambar
tersebut.
Gambar 2.5 Pola Desain MVC
Pola desain MVC Model-View-Controller memberikan pemecahan permasalahan coupling yang tinggi tersebut dengan menduplikasi lapisan data
access, business logic, dan data presentation atau user interaction. Berikut ini
penjelasan dari gambar pola desain MVC Model-View-Controller yang ada pada gambar 2.5:
a.
Model : Merupakan code struktur data. Model berisi fungsi di dalam
pengolahan database. Script Sql masuk di sini. Model merepresentasikan lapisan data enterprise dan logika atau rule bisnis yang akan mengakses
dan mengupdate data tersebut. Pada bagian model juga merepresentasikan proses riil yang terjadi pada suatu objek. Bisa termasuk dalam bagian ini
adalah javabeans dengan properti dan method yang dimiliki getters, setters dan constructors. Javabeans berhubungan dengan konsep
kegunaan dari website yang kita buat yang akan digunakan oleh user. b.
View : Merupakan code untuk menampilkan tampilan suata program.
Tampilan dapat berupa Web page, header, footer dan apa saja yang berjenis tampilan.Bagian ini bisa dibangun dengan teknologi JSP. Bagian
ini yang akan memberikan tampilan kepada user, dari data yang didapatkan dari lapisan model. Jadi JSP digunakan disini hanya untuk
menampilkan data saja. Bagian ini bisa juga disebut presentation layer. Selain JSP bisa juga dengan menggunakan JSF.
c.
Controller : Merupakan code untuk logic, algoritma dan sebagai
penghubung antara model, view, dan sumber lain yang di perlukan untuk mengolah HTTP request dan generate web page. Bagian ini digunakan
untuk menerima setiap request dan memformulasikan sutau response untuk request tersebut. Ini bisa dilakukan dengan teknologi servlet, yang
bisa juga diimplementasikan dengan JSP atau JSF.
2.6.2 Struktur File CodeIgniter
CodeIgniter adalah sebuah php framework yang berupa kumpulan folder dan file php, java script,css,txt dan file berbasis web lainnya dengan setting
tertentu untuk menggunakannya dan menyediakan library dan helper yang dapat dimanfaatkan didalam pemrograman php. CodeIgniter di jalankan under web dan
harus dengan web server. Program CodeIgniter cukup di letakkan di bawah folder directory web server anda. Struktur file codeigniter dapat dilihat pada gambar 2.6
beserta penjelasannya.
Gambar 2.6 Struktur File CodeIgniter
CodeIgniter
System User guide
Scaffolding Application
Cache Codeigniter
Database Fonts
Helpers Language
Libraries Logs
Plugins
2.6.3 Installasi CodeIgniter
Meskipun namanya installasi tetapi karena CodeIgniter adalah aplikasi berbasis website maka yang sebenarnya dilakukan adalah menyalin folder aplikasi
CodeIgniter kedalam DocumentRoot dari web server yang sudah diinstall sebelumnya. Bukan melakukan installasi seperti pada aplikasi sistem. Untuk
melakukan installasi cukup ektrak file yaitu file CodeIgniter_1.6.1.zip, kemudian letakan folder hasil ekstrak tadi di DocumentRoot web server, yaitu folder htdocs
didalam direktori C:\\apachefriends\xampp bagi yang menggunakan XAMPP di Windows. Folder hasil ekstrak tersebut bisa dirubah namanya agar memudahkan
kita, misal direname menjadi ci default hasil ekstrak adalah CodeIgniter_1.6.1. Didalam folder tersebut ada 2 folder lagi yaitu sistem dan user_guide, silahkan
saja untuk memindahkan folder user_guide ke tempat lain karena inti aplikasi ada di folder sistem dan folder user_guide berisi dokumentasi dari CodeIgniter.
Didalam folder sistem masih terdapat beberapa folder lain, yang akan sering diakses adalah folder application karena di folder inilah script-script kita akan
disimpan. Beberapa folder yang ada di dalam direktori sistem adalah: a.
Application, di folder inilah kode-kode yang kita buat nantinya akan disimpan didalam folder yang sesuai. Model disimpan di folder model,
Controller di folder controller dan View di folder views. Folder-folder yang terdapat di dalam direktori application adalah:
a. Model untuk menyimpan model yang kita buat.
b. Controller untuk menyimpan controller.
c. View untuk menyimpan view tampilan website.
d. Config untuk menyimpan konfigurasi website yang akan kita buat.
Mulai dari konfigurasi dasar, basis data, routing dan lain-lain. e.
Error berisi file-file yang akan ditampilkan jika ada error pada script yang kita buat.
f. Libraries untuk menyimpan pustaka yang kita tambahkan atau
pustaka buatan kita sendiri. g.
Hooks untuk meyimpan hook yang kita buat. b.
Cache, untuk meyimpan caching dari website. c.
CodeIgniter, berisi file-file yang akan me-load inti dari framework. d.
Database, berisi class-class yang akan digunakan untuk bekerja dengan basis data, termasuk didalamnya driver-driver untuk beberapa server basis
data yang didukung oleh CodeIgniter. e.
Fonts, digunakan untuk menyimpan font yang nanti akan kita gunakan di dalam website.
f. Helpers, berisi helper.
g. Language, digunakan untuk menyimpan file-file dukungan bahasa.
h. Libraries, berisi pustaka-pustaka yang disediakan untuk digunakan untuk
pembuatan website. i.
Logs, berisi file-file catatan yang mencatat log dari website kita. j.
Plugins, untuk menyimpan plugin. k.
Scafollding, berisi file-file untuk keperluan scafollding. Setelah itu, misal foldernya bernama ci maka website bisa diakses lewat
http:localhostci, tapi sebelum itu jangan lupa untuk melakukan sedikit modifikasi pada bagian konfigurasi CodeIgniter. Buka file
systemapplicationconfigconfig.php. Di file inilah konfigurasi dasar CodeIgniter disimpan. Yang perlu dirubah untuk installasi awal ini adalah pada bagian base
URL.
config[base_url] = www.your-site.com;
Pada bagian www.your-site.com
ganti dengan URL anda. Karena saya hanya mencoba di localhost dengan nama folder ci, maka base URL nya saya
ganti menjadi:
config[base_url] = http:localhostci;
Setelah itu silahkan dibuka alamat http:localhostci
. Installasi sudah selesai dan sekarang kita siap membuat website menggunakan framework
CodeIgniter.
Gambar 2.7 Tampilan awal setelah CodeIgniter di install.
2.6.4 Fungsi dan Class dalam CodeIgniter
a. Library
Library atau pustaka merupakan kumpulan class dan fungsi yang disediakan CodeIgniter. Lewat library inilah CodeIgniter menyediakan fungsi-
fungsi yang bisa digunakan dalam pembuatan website. Misalnya saja library untuk akses ke basis data, library untuk mengirim email, library untuk validasi
input dan lain-lain. Library diletakan didalam direktori systemlibraries atau bisa juga di dalam systemapplicationlibraries. Untuk dapat menggunakan sebuah
library maka library tersebut harus di-load lebih dahulu di dalam controller yang akan menggunakannya.
this-load-library‘[nama_library]’;
Selain di-load secara manual di dalam controller, library yang ingin digunakan juga bisa di-load secara otomatis sehingga bisa digunakan pada semua
controller dengan menambahkannya pada array pada file autoload.php didalam direktori systemapplicationconfig pada bagian:
autoload[libraries] = array;
Berikut beberapa library yang ada di CodeIgniter:
a. Library Database.
b. Library E-mail.
c. Library Uploading File
d. Pagination Library
e. HTML Table Library
f. Session Library
b. Helpers
Helpers adalah kumpulan fungsi-fungsi dalam berbagai kategori yang seperti halnya library juga kita gunakan untuk pembuatan website. Misalnya saja
URL helpers untuk berkerja dengan URL, Form helpers untuk bekerja dengan form HTML dan masih banyak lagi. Helpers dalam CodeIgniter tidak seperti
library yaitu tidak ditulis dalam OOP tetapi menggunakan struktur pemrograman biasa. Mungkin saja hal itu untuk memudahkan saja karena sebuah fungsi di
dalam helpers akan berguna hanya untuk menyelesaikan satu masalah. Misalnya saja fungsi anchor digunakan untuk membuat hyperlink. Helpers secara default
tersimpan di dalam direktori systemhelpers meskipun begitu kita juga bisa menyimpannya didalam direktori systemapplicationhelpers. Nama file helpers
memiliki standar [nama_helper]_helper.php sehingga helpers form akan memiliki file dengan nama form_helper.php. Untuk dapat menggunakan helper maka
terlebih dahulu kita me-loadnya didalam controller yang akan menggunakannya. Setelah dibuka helpers tersebut akan bisa digunakan dalam controller tersebut dan
dalam views yang dipanggil dari controller bersangkutan.
this-load-helper‘[nama_helper]’;
Sehingga
this-load-helper‘form’
akam me-load form helpers. Kita juga bisa membuka beberapa helpers sekaligus dengan memasukan helpers-helpers
yang akan dibuka ke dalam array. Selain dibuka di dalam controller, yang menyebabkan helpers tersebut
hanya bisa digunakan di dalam controller tersebut, kita juga bisa melakukan load otomatis sehingga helpers yang dibuka otomatis akan dapat digunakan dalam
semua controller. Caranya buka file systemapplicationconfigautoload.php kemudian masukan helpers yang akan dibuka dalam array di baris:
autoload[helper] = array;
c. Plugin
Plugin, seperti halnya helpers dan library juga berisi fungsi yang dapat digunakan untuk membantu pekerjaan pembuatan website. Bedanya satu plugin
hanya untuk menyelesaikan satu buah tugas saja. Tidak seperti di dalam helpers yang bisa memiliki beberapa fungsi untuk tugas yang berbeda meskipun masih
berhubungan. Selain itu jika helpers dan library termasuk kedalam inti sistem dari CodeIgniter, maka plugin merupakan tambahan yang dibuat oleh para
pengembang di luar CodeIgniter dan biasanya didistribusikan sendiri. Plugin disimpan di dalam direktori systemplugin dengan standar nama file
[nama_plugin]_pi.php sehingga jika ada plugin login maka nama filenya adalah login_pi.php. Sampai CodeIgniter versi 1.6.1 CodeIgniter hanya menyertakan dua
buah plugin yaitu captcha dan calendar. Untuk dapat menggunakan plugin terlebih dahulu plugin tersebut harus di-load terlebih dahulu di dalam controller
yang akan menggunakan plugin tersebut.
this-load-plugin‘[nama_plugin]’;
Plugin juga dapat dibuka secara otomatis dengan menambahkannya kedalam file systemapplicationconfigautoload.php pada bagian:
autoload[plugin] = array;
d. Scaffolding
Pada saat melakukan konfigurasi routing pada
file systemapplicationconfigroutes.php kita menemukan sebuah istilah yang disebut
scaffolding. Fitur scaffolding pada CodeIgniter menyediakan cara yang mudah
dan cepat untuk melakukan akses ke basis data, misalnya untuk input, edit atau delete data tanpa perlu menggunakan aplikasi lain. Dengan memasukan sebuah
kata kedalam konfigurasi route[scaffolding_trigger] kita dapat mengakses tabel dalam basis data hanya dengan meyertakan kata tersebut saat membuka alamat
website. Tentunya dengan asumsi bahwa semua konfigurasi untuk melakukan akses ke server basis data sudah benar. Fitur ini sangat berguna dalam masa
pengembangan dan sebaiknya tidak lagi digunakan jika website sudah kita upload ke internet. Secara sederhana skenario penggunaan scaffolding adalah sebagai
berikut: dalam membuat website dengan basis data tentu saja kita harus membuat tabel kemudian melakukan pengisian data, edit atau delete data. Hal tersebut bisa
dilakukan dengan perintah-perintah SQL atau menggunakan aplikasi semacam phpMyAdmin atau MySQL-front bagi yang menggunakan MySQL. Fitur
scaffolding menyediakan sebuah interface web browser untuk melakukan hal tersebut. Yang perlu dilakukan adalah buat tabelnya, kemudian tentukan kata yang
akan kita gunakan untuk dapat membuka tabel yang kita buat.
e. Penanganan
Error
Error atau kesalahan seringkali terjadi, mulai dari saat pengembangan sampai saat website sudah jadi dan di upload pun error masih sering ditemukan.
Saat pengembangan pesan error sangat penting untuk mengetahui dimana kesalahan terjadi. Secara default CodeIgniter menampilkan semua error yang
terjadi. Konfigurasinya terdapat pada file index.php pada bagian:
error_reportingE_ALL;
Fungsi tersebut membuat PHP akan menampilkan semua error yang terjadi.Jika tidak ingin semua error tampil kita bisa mengganti nilai E_ALL
menjadi nilai lain agar PHP tidak menampilkan semua error yang terjadi. Karena pesan error bisa menjadi masalah. Orang lain bisa menggunakan pesan error
untuk mendapatkan informasi tentang kelemahan yang ada pada website. CodeIgniter menyediakan fungsi-fungsi yang berkaitan dengan error.
Fungsifungsi tersebut tidak perlu di-load terlebih dahulu karena sudah termasuk kedalam inti sistem CodeIgniter yang dibuka secara otomatis. Tampilan untuk
pesan error tersimpan pada direktori systemapplicationerror.
f. Cache
CodeIgniter menyediakan fasilitas caching untuk menaikan performa saat website diakses. Dengan fasilitas caching ini maka semua halaman yang diakses
akan disimpan kedalam cache sehingga saat ada user lain yang mengakses maka akan diberikan halaman hasil caching. Hal ini dapat mempercepat proses loading
halaman website dan tentu saja akan mengurangi beban kerja dari web server. Fasilitas caching termasuk kedalam class library output, dan untuk melakukan
caching pada setiap halaman website bisa dengan meletakan fungsi:
this-output-cache[angka];
Dimana [angka] adalah jumlah menit sebelum halaman tersebut akan kadaluarsa diputar ulang. Saat sebuah halaman di akses untuk pertama kali maka
cache dari halaman tersebut akan disimpan di dalam direktori systemcache. Pastikan direktori tersebut bisa ditulisi oleh web server. Jika ada pengunjung
mengakses halaman yang sama maka akan diambilkan halaman hasil cache tersebut. Jika halaman tersebut sudah expired umurnya sudah melebihi batas
angka yang diberikan maka hasil cache akan dihapus dan diganti dengan yang baru.
g. Keamanan
Masalah keamanan adalah maslah klasik yang selalu menghantui semua pengguna dan pengembang website. Meskipun CodeIgniter sudah menyediakan
beberapa kemampuan untuk melakukan pengamanan tetapi tetap saja aman atau tidaknya suatu website lebih ditentukan oleh web masternya. CodeIgniter
menyediakan batasan karakter apa saja yang bisa digunakan dalam pembuatan alamat URI yaitu berupa huruf dan angka atau jika menggunakan karakter lain
hanya tilde ~ , period ., colon : , underscore _ dan dash - yang diperbolehkan. CodeIgniter juga tidak memperbolehkan penggunaan metode GET
pada input form dan secara default semua input form menggunakan metode POST. Saat sebuah controller di-load maka CodeIgniter akan menghilangkan semua
inputan yang menggunakan metode GET yang ditemukan,melakukan filter terhapap input dengan metode POST jika ditemukan, melakukan filter pada
cookies jika ditemukan, menyediakan XSS filtering serta meyamakan karakter baris baru dengan \n. Cross Scripting Hack adalah salah satu jenis cracking
website dengan memasukan kode-kode jahat kedalam website kita. CodeIgniter memiliki fitur XSS filtering yang akan menyaring semua input kemungkinan
adanya kode-kode jahat.
2.7 DATABASE MySQL
MySQL merupakan database server di mana pemrosesan data terjadi di server, dan client hanya mengirim data serta meminta data. Oleh karena
pemrosesan terjadi di server sehingga pengaksesan data tidak terbatas. Pengaksesan dapat dilakukan di mana saja oleh siapa saja dengan catatan
komputer telah terhubung ke server. Lain halnya dengan database desktop di mana segala pemrosesan data seperti penambahan data ataupun penghapusan data
harus dilakukan pada komputer yang bersangkutan. MySQL termasuk dalam kategori database manajemen sistem, yaitu
database yang terstruktur dalam pengolahan dan penampilan data. Sejak komputer dapat menangani data yang besar, database manajemen sistem
memegang peranan yang sangat penting dalam pengolahan data. Hal ini sangat diperlukan, karena data tersebut dapat diatur sesuai dengan kebutuhan
pemakainya. MySQL merupakan Relational Database Manajemen Sistem RDBMS yaitu hubungan antar tabel yang berisi data-data pada suatu database.
Hal tersebut lebih baik daripada jika semua data terkumpul menjadi satu dalam satu tabel. Kelebihan hal di atas, yaitu dapat mempercepat pencarian suatu tabel.
Tabel-tabel tersebut di link oleh suatu relasi yang memungkinkan untuk mengkombinasikan data dari beberapa tabel ketika seorang user menginginkan
menampilkan informasi dari suatu database.
Ada beberapa alasan mengapa MySQL menjadi program database yang sangat popular dan digunakan oleh banyak orang. Alasan-alasan tersebut
diantaranya ialah: a.
MySQL merupakan database yang memiliki kecepatan yang tinggi dalam melakukan pemrosesan data, dapat diadalkan dan mudah digunakan serta
mudah dipelajari. Mengapa mudah digunakan? Sebab MySQL telah banyak digunakan di manapun sehingga jika mempunyai masalah dengan database
tersebut, dapat bertanya kepada banyak orang melalui internet maupun orang
di sekitar yang siap membangun menyelesaikan masalah tersebut serta dukungan manual maupun referensi yang banyak bertebaran di internet.
b. MySQL mendukung banyak bahasa pemrograman seperti C, C++, Perl,
Phython, Java, dan PHP. Dengan menggunakan bahasa pemrograman tersebut untuk berinterakasi maupun berkomunikasi dengan MySQL, atau dapat
digunakan sebagai komponen pembentuk antarmuka interface dari suatu database MySQL.
c. Koneksi, kecepatan, dan keamanan membuat MySQL sangat cocok diterapkan
untuk pengaksesan database melalui internet, dengan menggunakan bahasa pemrograman Perl atau PHP sebagai antarmukanya.
d. MySQL dapat melakukan koneksi dengan client menggunakan protocol
TCPIP, Unix socket Unix, atau Named Pipes NT. e.
MySQL dapat menangani database dengan skala yang sangat besar dengan jumlah record mencapai lebih dari 50 juta, dapat menampung 60 ribu tabel,
dan juga bisa menampung 5 milyar baris data. Selain itu, batas indek pada tiap tabel dapat menampung mencapai 32 indek.
f. Dalam hal relasi antartabel pada suatu database, MySQL menerapkan metode
yang sangat cepat yaitu dengan menggunakan metode one-sweep multijoin. MySQL sangat efisien dalam mengelola informasi yang di minta yang berasal
dari banyak tabel sekaligus. g.
Multiuser, yaitu dalam satu database server pada MySQL dapat diakses oleh beberapa user dalam waktu yang sama tanpa mengalami konflik atau crash.
h. Security yang dimiliki database MySQL dikenal baik, karena memiliki lapisan
sekuritas seperti level subnetmask, nama host dan izin akses user dengan
sistem perizinan yang khusus serta password yang dimiliki setiap user dalam bentuk data terenkripsi.
i. MySQL merupakan software database yang bersifat free atau gratis, jadi tidak
perlu susah-susah mengeluarkan isi kantong di untuk hanya sekedar membayar lisensi kepada pembuat software. Hal ini sangat berbeda jika
menggunakan software database seperti IBM DB ataupun Oracle, karena harus membayar mahal untuk mendapatkan lisensinya.
A. Structured Query Language SQL
SQL adalah bahasa standard yang digunakan oleh hampir semua database seperti MySQL, Oracle atau Microsoft SQL Server. Database menggunakan
perintah SQL untuk memodifikasi data di dalam tabel, karena SQL dirancang dengan mudah untuk menguraikan hubungan antara tabel dengan baris. Perintah
SQL yang sering digunakan antara lain Insert, Select, Update dan Delete.
a Perintah INSERT
Insert merupakan perintah untuk menambahkan data baru ke dalam tabel. Sintaks:
INSERT INTO nama_tabel fields VALUESnilai_fields;
b Perintah SELECT
Select merupakan perintah untuk menampilkan data dari tabel. Dalam menampilkan data, dapat pula menambahkan kondisi-kondisi tertentu sesuai
dengan kebutuhan. Sintaks:
SELECT ekspresi_dan_fields FROM nama_tabel [ WHERE kondisi ]
[ ORDER BY field [ ASC | DESC ] ] [ LIKE field [ kondisi ] ]