Upload
dohanh
View
227
Download
0
Embed Size (px)
Citation preview
UNSUR DALAM MEMBUAT SISTEM
1. Sistem Informasi
1.1 Pengertian sistem informasi
Menurut Jogiyanto Hartono, MBA, Ph.D. (1999), sistem informasi
dapat didefinisikan sebagai suatu sistem di dalam suatu organisasi yang
merupakan kombinasi dari orang-orang, fasilitas, teknologi, media,
prosedur-prosedur dan pengendalian yang ditujukan untuk mendapatkan
jalur komunikasi penting, memproses tipe transaksi rutin tertentu,
memberi sinyal pada manajemen dan yang lainnya terhadap kejadian-
kejadian internal dan eksternal yang penting dan menyediakan suatu dasar
informasi untuk pengembalian keputusan yang cerdik.
Menurut Abdul Kadir (2002) menyimpulkan bahwa sistem
informasi mencakup sejumlah komponen (manusia, komputer, teknologi
informasi, dan prosedur kerja), ada sesuatu yang diproses (data menjadi
informasi), dan dimaksudkan untuk mencapai suatu sasaran atau tujuan.
Kemudian menurut James A. Hall (2001), menyatakan bahwa
sistem informasi adalah sebuah rangkaian prosedur formal dimana data
dikumpulkan, diproses menjadi informasi dan didistribusikan kepada para
pemakai.
Selain itu pengertian sistem informasi menurut Azhar Susanto
(2007), sistem informasi adalah kumpulan dari sub-sub sistem baik phisik
maupun non phisik yang saling berhubungan satu sama lain dan bekerja
sama secara harmonis untuk mencapai satu tujuan yaitu mengolah data
menjadi informasi yang berguna.
Setiap sistem informasi memiliki suatu tujuan, tetapi dengan tujuan
yang berbeda-beda. Walaupun begitu, tujuan utama yang umum ada tiga
macam (Hall, 2001), yaitu:
1. Untuk mendukung fungsi kepengurusan manajemen.
2. Untuk mendukung pengambilam keputusan manajemen.
3. Untuk mendukung kegiatan operasi perusahaan.
1.2 Komponen sistem informasi
Sistem informasi dapat terdiri dari komponen-komponen yang
disebut blok bangunan (building block), yaitu:
1. Blok Masukan
Input mewakili data yang masuk ke dalam sistem informasi. Input
disini termasuk metode-metode dan media untuk menangkap data yang
akan dimasukkan, yang dapat berupa dokumen-dokumen dasar.
2. Blok Model
Blok ini terdiri dari kombinasi prosedur, logika dan model
matematik yang akan memanipulasi data input dan data yang
tersimpan di dasar data dengan cara yang sudah tertentu untuk
menghasilkan keluaran yang diinginkan.
3. Blok Keluaran
Produk sistem informasi adalah keluaran yang merupakan
informasi yang berkualitas dan dokumentasi yang berguna untuk
semua tingkatan manajemen serta semua pemakai sistem.
4. Blok Teknologi
Teknologi merupakan ”kotak alat” (tool-box) dari pekerjaan sistem
informasi. Teknologi digunakan untuk menerima input, menjalankan
model, menyimpan dan mengakses data, menghasilkan dan
mengirimkan keluaran dan membantu pengendalian dari sistem
keseluruhan. Teknologi terdiri dari dua bagian utama, yaitu, perangkat
lunak (software) dan perangkat keras (hardware).
5. Blok Basis Data
Basis data merupakan kumpulan dari data yang saling berhubungan
satu dengan yang lainnya, tersimpan di perangkat keras komputer dan
digunakan perangkat lunak untuk memanipulasinya. Basis data diakses
atau dimanipulasi dengan menggunakan perangkat lunak paket yang
disebut DBMS (Database Management Systems).
6. Blok Kendali
Merupakan semua tindakan yang diambil supaya sistem informasi
dapat berjalan sesuai dengan yang diinginkan dan tidak mengalami
gangguan.
2. Basis Data
(Jogiyanto HM, 1999), basis data (data base) merupakan kumpulan
dari data yang saling berhubungan satu dengan yang lainnya, tersimpan di
perangkat keras komputer dan digunakan perangkat lunak untuk
memanipulasinya.
Basis data merupakan salah satu komponen yang penting dalam sistem
informasi, karena merupakan basis dalam menyediakan informasi bagi para
pemakai. Penerapan data base dalam sistem informasi disebut dengan data
base system. Sistem basis data adalah suatu sistem infomasi yang
mengintegrasikan kumpulam dari data yang saling berhubungan satu dengan
yang lainnya dan membuatnya tersedia untuk beberapa aplikasi yang
bermacam-macam di dalam suatu organisasi.
(Abdul Kadir, 2002), basis data adalah suatu pengorganisasian
sekumpulan data yang saling terkait sehingga memudahkan aktivitas untuk
memperoleh informasi. Untuk mengolah basis data diperlukan perangkat
lunak yang disebut DBMS. DBMS adalah perangkat lunak sistem yang
memungkinkan para pemakai membuat, memelihara, mengontrol, dan
mengakses basis data dengan cara yang praktis dan efisien.
Basis data dirancang terutama untuk meminimalkan dupilkasi data dan
meningkatkan hubungan dari data.
Dalam basis data dikenal suatu hubungan dari data di dalam skema
yaitu:
a. Hubungan satu-ke-satu (1:1 atau one to one)
b. Hubungan satu-ke-banyak (1: M atau one to many)
c. Hubungan banyak-ke-banyak (M:M atau many to many)
Perangkat lunak yang sering digunakan untuk mengelola basis data
adalah DBMS (Database Management System). Sebuah bahasa basis data
biasanya dibedakan kedalam dua bentuk :
1. Data Definition Language (DDL)
DDL digunakan untuk melakukan pendefinisian desain basis data
secara keseluruhan seperti membuat data base, membuat tabel, mengubah
struktur tabel, mengubah tabel dan sebagainya.
2. Data Manipulation Language (DML)
DML adalah bentuk bahasa basis data yang digunakan untuk
melakukan manipulasi data dalam basis data seperti penyisipan,
pengubahan, pengambilan dan penghapusan data di suatu basis data.
Keistimewaan database
1. Data base merupakan kumpulan data yang dapat digunakan bersama-sama
sehingga dapat mengurangi duplikasi data.
2. Dengan adanya data base maka data dikumpulkan bersama sehingga
hubungan data dapat ditingkatkan dimana data yang ada di file yang satu
dapat dihubungkan dengan data yang ada di file lainnya.
2.1 Jenjang data
Sampai dengan membentuk suatu basis data, data mempunyai
jenjang, yaitu:
1. Karakter-karakter
Karakter merupakan bagian data yang terkecil, dapat berupa karakter
numeric, huruf ataupun karakter-karakter khusus (special characters)
yang membentuk suatu item data.
2. Field
Suatu field menggambarkan suatu atribut dari record yang
menunjukkan suatu item dari data, sepeti misalnya nama, alamat dan
lain. Ada tiga hal yang penting dalam suatu field, yaitu:
a. Nama dari field (field name).
Field harus diberi nama untuk membedakan field yang satu dengan
field yang lainnya.
b. Representasi dari field (field representation)
Representasi dari field menunjukkan tipe dari field (field type) serta
lebar dari field (field width). Field dapat bertipe numerik ataupun
huruf (pada paket dBASE ataupun FOXBASE+, tipe field dapat
berupa numerik, karakter atau huruf, tanggal dan memo). Lebar
dari field menunjukkan ruang maksimum dari field yang dapat diisi
dengan karakter-karakter data.
c. Nilai dari field (field value)
Nilai dari field menunjukkan isi dari field untuk masing-masing
record.
3. Record
Kumpulan dari field membentuk suatu record. Record menggambarkan
suatu unit data individu yang tertentu. Kumpulan dari record
membentuk suatu file. Misalnya file personalia, tiap-tiap record dapat
mewakili data tiap-tiap karyawan.
4. File
File terdiri dari record-record yang menggambarkan satu kesatuan data
yang sejenis. Misalnya file matakuliah berisi data tentang semua
matakuliah yang ada.
5. Database
Kumpulan dari file membentuk suatu database.
2.2 Normalisasi
Suatu file yang terdiri dari beberapa grup elemen yang berulang-
ulang perlu diorganisasikan kembali. Menurut Jogiyanto (2005)
normalisasi (normalization) adalah proses untuk mengorganisasikan file
untuk menghilangkan grup elemen yang berulang-ulang. Normalisasi juga
banyak dilakukan dalam merubah bentuk database dari struktur pohon atau
struktur jaringan menjadi struktur hubungan. Istilah data hubungan
menunjukkan suatu struktur data yang mempunyai hubungan dengan
elemen-elemen data lainnya, baik dalam satu file atau dalam file lain.
Database dengan struktur data hubungan (relational data structure)
dapat digambarkan dalam bentuk tabel dua dimensi. Kolom dari tabel
menunjukkan atribut dari file. Atribut ini menunjukkan item data atau
field. Kumpulan nilai field atau item data disebut dengan istilah domain.
Masing-masing baris dari record didalam tabel disebut dengan istilah
tuple.
Suatu tuple (record) yang mempunyai dua domain disebut dengan
2-tuple. Suatu tuple yang mempunyai tiga domain disebut dengan 3-tuple
dan seterusnya. Tiap-tiap tuple atau record ini dapat mempunyai suatu
kunci yang unik dengan cara mana tuple ini dapat diidentifikasikan. Field
yang menjadi kunci yang unik ini disebut dengan field kunci (key field).
Aturan-aturan normalisasi diyatakan dalam istilah bentuk normal.
Bentuk normal menurut Abdul Kadir (2006) adalah suatu aturan yang
dikenakan pada relasi-relasi dalam basis data dan harus dipenuhi oleh
relasi-relasi tersebut pada level-level normalisasi. Suatu relasi dikatakan
berada dalam bentuk normal tertentu jika memenuhi kondisi-kondisi
tertentu. Atribut bukan kunci adalah atribut yang tidak merupakan bagian
kunci primer.
Beberapa tahapan yang bisa digunakan dalam proses normalisasi
adalah:
1. Bentuk normal pertama/First Normal Form (1NF)
Suatu relasi dikatakan dalam bentuk normal pertama, jika dan
hanya jika setiap atribut bernilai tunggal untuk setiap baris.
2. Bentuk normal kedua/Second Normal Form (2NF)
Suatu relasi dikatakan dalam bentuk normal kedua jika dan hanya
jika:
a. Berada dalam bentuk normal pertama.
b. Setiap atribut bukan kunci memiliki dependensi sepenuhnya
terhadap kunci primer.
3. Bentuk normal ketiga /Third Normal Form (3NF)
Suatu relasi dikatakan dalam bentuk normal ketiga jika:
a. Berada dalam bentuk normal kedua.
b. Setiap atribut bukan kunci tidak memiliki dependensi atau
ketergantungan transitif terhadap kunci primer.
4. Boyce-Codd Normal Form (BCNF)
Suatu relasi disebut memenuhi bentuk normal BCNF, jika dan
hanya jika semua penentu (determinan) adalah kunci kandidat (atribut
yang bersifat unik).
2.3 Kamus data
Kamus data (KD) atau data dictionary (DD) menurut Jogiyanto
(2005) adalah katalog fakta tentang data dan kebutuhan-kebutuhan
informasi dari suatu sistem informasi. Dengan menggunakan kamus data,
analis sistem dapat mendefinisikan data yang mengalir di sistem dengan
lengkap. Kamus data dibuat pada tahap analisis sistem dan digunakan baik
pada tahap analisis maupun pada tahap rancangan sistem.
Pada tahap analisis, kamus data dapat digunakan sebagai alat
komunikasi antara analisis sistem dengan pemakai sistem tentang data
yang mengalir di sistem, yaitu tentang data yang masuk ke sistem dan
tentang informasi yang dibutuhkan oleh pemakai sistem. Pada tahap
rancangan sistem, kamus data digunakan untuk merancang input,
merancang laporan-laporan dan database. Kamus data dibuat berdasarkan
arus data yang ada di DAD. Arus data di DAD sifatnya adalah global,
hanya ditunjukkan nama arus datanya saja.
Penganalisis sistem harus berhati-hati dalam mengkatalogkan
istilah-istilah yang berbeda-beda yang menunjuk pada item data yang
sama. Kehati-hatian ini membantu mereka menghindari duplikasi,
memungkinkan adanya komunikasi yang baik antara bagian-bagian
organisasi yang saling berbagi basisdata, dan membuat upaya
pemeliharaan lebih bermanfaat lagi. Kamus data juga bertindak sebagai
standar tetap untuk elemen-elemen data.
Kamus data otomatis sangat berguna karena memiliki kapasitas
dalam hal referensi silang item-item data, dengan demikian
memungkinkan dilakukannya perubahan-perubahan program terhadap
semua program yang berbagi suatu elemen biasa. Fitur ini menggantikan
pengubahan program serampangan, atau mencegah penundaan sampai
program tidak bisa berjalan karena perubahan tersebut tidak
diimplemantasikan pada semua program yang berbagi item-item yang
telah diperbaharui.
Untuk dokumentasi serta mengurangi redudansi, kamus data bisa
digunakan untuk:
1. Menvalidasi diagram aliran data dalam hal kelengkapan dan
keakuratan.
2. Menyediakan suatu titik awal untuk mengembangkan layar dan
laporan-laporan.
3. Menentukan muatan data yang disimpan di file-file.
4. Mengembangkan logika untuk proses-proses diagram aliran data.
3. Diagram Alir Data
Diagram Alir Data (DAD) atau Data Flow Diagram (DFD) adalah
suatu model yang menjelaskan arus data mulai dari pemasukan sampai dengan
keluaran data. Tingkatan DAD dimulai dari diagram konteks yang
menjelaskan secara umum suatu sistem aplikasi yang akan dikembangkan.
Kemudian DAD dikembangkan menjadi DAD tingkat 0 atau level 0 dan
kemudian DAD level 0 dikembangkan lagi menjadi level 1 dan selanjutnya.
Tahapan 0 menggambarkan data base yang akan menampung aliran
data, namum dalam tahap ini, semua proses hanya digambarkan sebagai
sebuah sistem secara umum dan tidak terinci. Setiap penurunan ke tahapan
yang lebih rendah adalah tahapan 1, 2 dan seterusnya, maka proses-proses
tersebut akan diuraikan lebih rinci dengan spesifikasi yang lebih jelas.
Penurunan tahapan dilakukan jika perlu untuk memperinci beberapa proses,
namum tidak semua proses yang ada harus diturunkan dengan jumlah tahapan
yang sama.
Pendekatan aliran data memiliki empat kelebihan utama melalui
penjelasan naratif mengenai cara data-data berpindah disepanjang sistem,
yaitu:
1. Kebebasan dalam menjalankan implementasi teknis sistem yang terlalu
dini.
2. Pemahaman lebih jauh mengenai keterkaitan satu sama lain dalam sistem
dan sub sistem.
3. Mengkomunikasikan pengetahuan sistem yang ada dengan pengguna
melalui diagram aliran data.
4. Menganalisis sistem yang diajukan untuk menentukan apakah data-data
dan proses yang diperlukan sudah ditetapkan.
DAD dibuat dengan menggunakan notasi simbol. Notasi simbol yang
digunakan dalam menggambarkan DAD adalah sebagai berikut :
Kesatuan Luar (External Entity)
Kesatuan luar merupakan kesatuan di lingkungan luar sistem yang dapat
berupa orang, organisasi atau sistem lainnya yang berada di lingkungan
luarnya yang akan memberikan input atau menerima output dari sistem.
Proses atau Fungsi
Proses atau fungsi yang mentransformasikan data secara umum
digambarkan dengan segi empat tumpul. Bagian atas biasanya biasanya
berisi nomor untuk identitas proses. Bagian badan berisi penjelasan
fungsi dari proses.
Simpana Data
Merupakan komponen yang berfungsi untuk menyimpan data atau file.
Arus Data
Menunjukkan arus data dari data atau satu proses ke proses lainnya.
Gambar 3.1 Simbol DAD (Jogiyanto:2005)
Pedoman menggambar DAD:
1. Indentifikasi semua kesatuan luar (external entities) yang terlibat di
sistem.
2. Identifikasi input dan output (I/O) yang terlibat dengan kesatuan luar.
3. Gambarlah diagram konteks. Diagram konteks adalah diagram yang
menggambarkan hubungan sistem informasi dengan pihak luar.
4. Gambarlah bagan berjenjang untuk semua proses yang ada dalam sistem.
5. Gambarlah DAD level 0 berdasarkan proses di bagan berjenjang.
6. Gambarlah DAD level 1 dan seterusnya, level ini menggambarkan detail
dari suatu proses yang ada pada level sebelumnya dalam hal ini level 0.
4. Flowchart (Bagan Alir)
Flowchart adalah bagan yang menunjukan alir di dalam program atau
prosedur sistem logika. Tujuan dari penggunaan flowchart adalah untuk
menggambarkan suatu tahapan penyelesaian masalah secara sederhana,
terurai, rapi dan jelas, dengan menggunakan simbol–simbol standard.
Flowchart digunakan terutama untuk alat bantu komunikasi atau
dokumentasi.
1. Sistem flowchart menunjukan apa yang dikerjakan system
2. Sistem flowchart digambarkan dengan menggunakan simbol – simbol
3. Bagan ini menjelaskan urutan dari procedur yang ada di dalam sistem
Simbol Nama Keterangan
Simbol input /
output
Digunakan untuk mewakili data
input / output
Simbol proses Untuk mewakili suatu proses
Simbol garis alir Menunjukan arus dari proses
Simbol
keputusan
Untuk menyeleksi kondisi di
dalam program
Simbol titik
terminal
Untuk menunjukan awal dan akhir
suatu proses
Gambar 3.2 Simbol bagan alir program (Jogiyanto:2005)
5. Rancangan Input
Alat input (input device) dapat digolongkan ke dalam dua golongan,
yaitu alat input langsung (online input device) dan alat input tidak langsung
(offline input device). Alat input langsung merupakan alat input yang langsung
dihubungkan dengan CPU seperti keyboard, mouse dan sebagainya. Alat input
tidak langsung adalah alat input yang tidak langsung dihubungkan dengan
CPU misalnya KTC (Key to Card), KTT (Key to Tape), dan KTD (Key to
Disc).
5.1 Proses input
Berdasarkan alat input yang digunakan proses input dapat terbagi
menjadi tiga bagian
a. Penangkapan Data (Data Capture)
Merupakan proses mencatat suatu kejadian nyata yang terjadi akibat
transaksi yang dilakukan oleh organisasi ke dalam dokumen dasar.
Dokumen dasar merupakan bukti transaksi.
b. Penyiapan Data (Data Preparation)
Merubah data yang telah ditangkap ke dalam bentuk yang dapat dibaca
oleh mesin (machine readable form). Misalnya kartu plong, pita
magnetik, disk magnetik.
Simbol
penghubung
Penghubung ke halaman yang
masih sama atau ke halaman lain
Simbol keyboard Menunjukan input yang
menggunakan on-line keyboard.
Simbol display Menunjukan output yang
ditampilkan pada monitor.
Simbol harddisk
/ penyimpanan
Menunjukan penyimpanan yang
dapat diakses langsung
c. Pemasukan Data (Data Entry)
Merupakan proses membacakan atau memasukan data ke dalam
komputer.
5.2 Langkah – langkah rancangan input
Langkah – langkah rancangan input secara umum yaitu:
1. Menentukan kebutuhan input dari sistem baru.
Input yang akan dirancang dapat ditentukan dari DAD sistem baru
yang telah dibuat. Input di DAD ditunjukan oleh arus data dari suatu
kesatuan luar kesuatu proses dan bentuk tampilan input di alat input
yang ditunjukkan oleh suatu proses pemasukkan data.
2. Menentukan parameter dari input, meliputi :
a. Bentuk dari input, merupakan dokumen dasar atau bentuk isian di
alat input (dialog layar terminal).
b. Sumber input.
c. Jumlah tembusan untuk input berupa dokumen dasar dan
distribusinya.
d. Alat input yang digunakan.
e. Volume input.
f. Periode input.
6. Rancangan Output
Output (keluaran) adalah produk dari sistem informasi yang dapat
dilihat. Istilah output ini kadang-kadang membingungkan, karena output dapat
terdiri dari macam-macam jenis. Output dapat berupa hasil di media keras
(misalnya kertas, microfilm) atau hasil di media lunak (berupa tampilan di
layar video). Disamping itu output dapat berupa hasil dari suatu proses yang
akan digunakan oleh proses lain dan tersimpan di suatu media seperti tape,
disk atau kartu. Output pada tahap desain ini adalah output yang berupa
tampilan di media keras atau di layar video.
6.1 Tipe output
1. Output Intern (Internal Output)
Adalah output yang dimasukkan untuk mendukung kegiatan
manajemen. Output jenis ini dapat berupa laporan–laporan terinci,
laporan-laporan ringkasan dan laporan lainnya.
2. Output Ekstern (External Output)
Adalah output yang akan didistribusikan kepada pihak luar yang
membutuhkannya. Misalnya faktur, cek, tanda terima pembayaran, dan
sebagainya.
6.2 Langkah-langkah rancangan output
1. Menentukan kebutuhan output dari sistem baru.
Output yang akan dirancang dapat ditentukan dari DAD sistem baru
yang telah dibuat. Output di DAD ditunjukkan oleh arus data dari
suatu proses ke kesatuan luar atau dari suatu proses ke proses yang
lainnya.
2. Menentukan parameter dari output.
Setelah output-output yang akan didesain telah dapat ditentukan,
langkah selanjutnya adalah menentukan parameter dari output.
Parameter ini meliputi tipe dari output, format output, media yang
digunakan, alat output yang digunakan, jumlah tembusannya,
distribusinya dan periode output.
7. MySQL
Menurut Bimo Sunarfrihantono, ST (2003), MySQL adalah multiuser
database yang menggunakan bahasa Structured Query Language (SQL).
MySQL dalam operasi client-server melibatkan server daemon MySQL di sisi
server dan berbagi macam program serta library yang berjalan di sisi client.
MySQL mampu menangani data yang cukup besar.
SQL adalah bahasa standar yang digunakan untuk mengakses database
server. Bahasa ini pada awalnya dikembangkan oleh IBM, namun telah
diadopsi dan digunakan sebagai standar industri. Dengan menggunakan SQL,
proses akses database menjadi lebih user-friendly dibandingkan dengan
menggunakan dBASE atau Clipper yang masih menggunakan perintah-
perintah pemrograman.
Dalam kontek bahasa SQL, pada umumnya informasi tersimpan dalam
tabel-tabel yang secara logika merupakan struktur dua dimensi yang terdiri
atas baris-baris data yang berada dalam satu atau lebih kolom. Baris pada tabel
sering disebut sebagai instance dari data, sedangkan kolom sering disebut
sebagai attribute atau field. Keseluruhan tabel itu dihimpun dalam satu
kesatuan yang disebut database.
Tipe data yang disediakan oleh MySQL, yaitu data numerik (angka),
string, waktu (tanggal, jam) dan data selain numerik atau string (enum, set).
Beberapa contoh perintah dalam lingkungan MySQL:
1. Membuat database
Mysql>CREATE DATABASE nama_database;
2. Melihat daftar database
Mysql>SHOW DATABASES
3. Menggunakan database
Mysql>USE nama_database;
4. Membuat table
Mysql>CREATE TABLE nama_tabel;
5. Menampilkan data dari tabel
Mysql>SELECT * FROM nama_tabel;
Adapun beberapa keunggulan dari MySQL, antara lain:
1. Mendukung Relational Database Management System (RDBMS),
sehingga memiliki kemampuan untuk menangani data–data yang
berukuran sangat besar.
2. Memiliki kemampuan multithread sehingga dapat melayani banyak
permintaan layanan secara bersamaan.
3. Dapat berjalan pada banyak sistem operasi.
4. Memiliki metode enkripsi yang baik.
5. Menggunakan auntentikasi pengguna dan kata sandi sehingga menjadikan
lebih aman.
8. Apache
Web server termasuk tokoh utama di balik teknologi internet. Pada
dasarnya web server hanya menunggu adanya permintaan yang dikirim client
melalui web browser. Setelah ada suatu permintaan dari client, maka langkah
selanjutnya web server akan memproses permintaan tersebut dan kemudian
mengirimkan data-data yang diinginkan client.
Apache sebagai web server telah menjadi yang paling banyak
digunakan sejak bulan April 1996. Hal ini disebabkan karena Apache
memiliki beberapa keunggulan, antara lain :
1. Bersifat open source dan gratis.
2. Hanya menggunakan satu file konfigurasi.
3. Dapat berjalan pada berbagai sistem operasi.
4. Mampu merespon client dengan cepat.
5. Mampu menyediakan fitur server virtual.
6. Memiliki dukungan teknis dan dokumentasi yang lengkap.
9. HTML
HTML (Hipertext Markup Language) merupakan salah satu format
yang digunakan dalam pembuatan dokumen dan aplikasi yang berjalan di
halaman Web.
9.1 Dasar-dasar HTML
HTTP (Hipertext Transfer Protocol) merupakan protokol yang
digunakan untuk mentransfer data antara web server ke web browser.
Protokol ini mentransfer dokumen-dokumen web yang ditulis atau
berformat HTML. Dikatakan markup language karena HTML berfungsi
untuk memformat file dokumen teks biasa untuk bisa ditampilkan pada
web browser dengan bantuan tanda-tanda yang sudah ditentukan. Hal
tersebut dapat dilakukan dengan menambahkan elemen atau yang sering
disebut sebagai tag.
Elemen HTML, biasanya berupa tag yang berpasangan dan setiap
tag ditandai dengan simbol ‘<’ dan ‘>’. Pasangan dari sebuah tag ditandai
dengan ‘/’. Misalnya pasangan dari tag <contoh> adalah </contoh>. Dalam
hal ini <contoh> disebut sebagai elemen dan biasanya dalam suatu elemen
terdapat atribut-atribut untuk mengatur elemen itu. Jadi misalnya elemen
<contoh> bila ditulis dengan atributnya adalah sebagai berikut:
<contoh atribut1=”nilai_atribut1” atribut2=”nilai_atribut2” … >.
Dalam penulisan tag HTML tidaklah case sensitive, artinya penggunaan
huruf kecil ataupun kapital tidaklah menjadi masalah.
9.2 Struktur dasar HTML
Script dituliskan dalam text editor seperti Notepad atau
Notepad++, kemudian disimpan dalam ektensi .htm atau .html.
Kemudian untuk mencobanya dapat langsung dibuka dengan web
browser, seperti Internet Explorer atau Mozila Firework, cukup dengan
perintah File|Open, kemudian browse nama file dan lokasi dimana file
HTML tadi disimpan.
Setiap dokumen HTML memiliki struktur dasar atau susunan
file sebagai berikut:
<html>
<head>
<title> berisi teks yang akan muncul pada title bar browser </title>
</head>
<body> berisi tentang text, gambar, atau apapun yang ingin
ditampilkan pada halaman web anda pada bagian ini
</body>
</html>
Seperti dapat dilihat, struktur file HTML diawali dengan
sebuah tag <html> dan ditutup dengan tag </html>. Di dalam tag ini
terdapat dua bagian utama, yaitu yang diapit oleh tag <head> …
</head> dan yang diapit oleh tag <body> … </body>.
Bagian yang diapit tag head merupakan header dari halaman
HTML dan tidak ditampilkan pada window browser. Bagian ini berisi
tag-tag header seperti <title> … </title> yang berfungsi untuk
mengeluarkan judul pada title bar window web browser dan tag lain,
misalnya <meta>.
Sedangkan, bagian yang diapit oleh tag body merupakan bagian
yang akan ditampilkan pada window web browser nantinya. Pada
bagian ini anda bisa menuliskan semua jenis informasi yang berupa
teks dengan bermacam format maupun gambar yang akan disampaikan
pada pembaca.
10. PHP
Menurut Bimo Sunarfrihantono, S.T (2003), PHP adalah bahasa
server-side scripting yang menyatu dengan HTML untuk membuat halaman
web yang dinamis. Maksud dari server-side scripting adalah sintaks dan
perintah-perintah yang diberikan akan sepenuhnya dijalankan di server tetapi
disertakan pada dokumen HTML. Pembuatan web ini merupakan kombinasi
antar PHP sendiri sebagai bahasa pemrograman dan HTML sebagai
pembangun halaman web.
Ketika seorang pengguna internet akan membuka suatu situs yang
menggunakan fasilitas server-side scripting PHP, maka terlebih dahulu server
yang bersangkutan akan memproses semua perintah PHP di server lalu
mengirimkan hasilnya dalam format HTML ke web browser pengguna
internet tadi. Dengan demikian seorang pengguna internet tidak dapat melihat
kode program yang ditulis dalam PHP sehingga keamanan dari halaman web
menjadi lebih terjamin.
PHP merupakan software yang open source (gratis) dan mampu lintas
Platform, yaitu dapat di gunakan dengan sistem operasi dan web server
apapun. PHP mampu berjalan di Windows dan beberapa versi Linux. PHP
juga dapat dibangun sebagai modul pada web server Apache dan sebagai
binary yang dapat berjalan sebagai CGI.
PHP dapat mengirim HTTP header, dapat mengeset cookies, mengatur
authentication dan redirect users. PHP menawarkan koneksitas yang baik
dengan beberapa basis data, antara lain Oracle, Sybase, mSQL, MySQL,
Solid, PostgreSQL, Adabas, FilePro, Velocis, dBase, Unix dbm dan semua
database berinterface ODBC. Juga dapat berintegrasi dengan beberapa library
eksternal yang membuat anda melakukan segalanya mulai dari membuat
dokumen PDF hingga memparse XML.
PHP juga mendukung komunikasi dengan layanan lain melalui
protokol IMAP, SNMP, NNTP, POP3 atau bahkan HTTP. Bila PHP berada
dalam halaman web anda, maka tidak lagi dibutuhkan pengembangan
lingkungan khusus atau direktori khusus. Hampir seluruh aplikasi berbasis
web dapat dibuat dengan PHP. Namun kekuatan utama adalah konektivitas
basis data dengan web. Dengan kemampuan ini kita akan mempunyai suatu
sistem basis data yang dapat diakses dari web.
Ada beberapa cara untuk mulai menuliskan script PHP, yaitu:
1. <?php
Script PHP anda
?>
2. <?
Script PHP anda
?>
3. <script language = “php”>
Script PHP anda
</script>
4. <%
Script PHP anda
%>
Cara pertama merupakan format yang dianjurkan tetapi mungkin cara
yang kedua lebih sering digunakan karena lebih ringkas. Cara yang ketiga
digunakan untuk mengantisipasi editor dan web server yang tidak dapat
menerima kedua cara di atas. Selain itu kita juga bisa menggunakan cara
penullisan ASP, tetapi tentu saja ada beberapa konfigurasi yang perlu
ditambahkan terlebih dahulu pada file konfigurasi PHP.
Berikut contoh sederhana pemakaian bahasa PHP yang disisipkan
dalam halaman HTML:
<html>
<head>
<title> Example </title>
</head>
<body>
<?php
echo “Ini script PHP pertamaku!”;
?></body></html>
10.1 Tipe data
PHP mengenal beberapa macam tipe data, antara lain integer,
floating point dan string. Floating point lebih dikenal dengan nama
double atau decimal. Penulisan string selalu diawali dengan tanda petik
ganda (“) atau tanda petik tunggal (‘).
Contoh penulisan tipe data adalah sebagai berikut:
Tipe Data Contoh Keterangan
Integer $jumlah = 10; Bilangan bulat
$nlai = -5;
Double $skor = 90.00; Bilangan real
$bunga = 12.50;
String $kota = “Yogyakarta” Karakter, kalimat
$motto = “Nyaman”
10.2 Variabel
Setiap bahasa pemrograman akan kita temui konsep variabel.
Variabel adalah sebuah tempat di memori untuk menyimpan data yang
nilainya dapat berubah-ubah. Namun tidak seperti pada bahasa
pemrograman lain yang mengharuskan kita untuk mendeklarasikan
variabel terlebih dahulu. Variabel dalam PHP tidak harus dideklarasikan
sebelum variabel tersebut digunakan.
Variabel diwakili oleh kata tertentu dengan aturan penulisan
sebagai berikut:
1. Variabel dimulai dengan tanda dollar ($).
2. Harus dimulai dengan huruf atau underscore (_).
3. Tidak boleh menggunakan tanda baca.
4. Case sensitive atau huruf capital dan huruf kecil dibedakan.
Contoh-contoh penulisan variabel:
Benar Salah
$variabel $var!abel
$_pilih $-pilih
$te95 $95te
$ini_itu $ini-itu
10.3 Operator
Operator adalah simbol yang digunakan untuk memanipulasi
data, seperti penambahan dan pengurangan. Ada operator yang
menggunakan satu operand, ada juga yang menggunakan dua operand.
Sedangkan operand adalah data yang dioperasikan atau dimanipulasi.
Disini operand dapat digantikan dengan variabel.
Operator dapat dikelompokkan dalam 4 kategori, yaitu:
1. Operator aritmetika adalah operator yang berhubungan dengan
fungsi matemetika.
Operator aritmetika merupakan operator yang berhubungan dengan
fungsi matematika. Operator ini sering digunakan dalam program
yang akan dibuat.
Berikut operator aritmetika yang didukung PHP, yaitu:
Operator Operasi
+ Penambahan
- Pengurangan
* Perkalian
/ Pembagian
% Sisa Pembagian
++ Penambahan dengan 1
-- Pengurangan dengan 1
Contoh penggunaan operator aritmetika dengan script PHP, yaitu:
<html>
<head><title> Operator Aritmetika </title></head>
<body>
<?php
$harga = 2500;
$banyak = 9;
print (“anda telah menghabiskan$banyak \n”);
print (“porsi sate <br> yang tiap porsi”);
print (“seharga Rp. $harga <br> maka anda harus”);
print (“membayar Rp.”);
print (“$harga * $banyak”);
?>
</body>
</html>
Pada script di atas, pertama-tama dibuat dua variabel dan telah diberi
nilai, yaitu variabel harga dengan nilai integer 2500 dan variabel
banyak dengan nilai integer 9. Kemudian baris berikutnya fungsi
print() berfungsi untuk menampilkan nilai yang ada dalam
argumennya, termasuk menampilkan nilai dari variabel yang
dituliskan di sana. Baris terakhir menampilkan nilai perkalian dua
variabel sebelumnya.
2. Operator logika adalah operator yang membandingkan True dan
False.
Operator logika biasanya digunakan sebagai argument pada struktur
kendali yang berfungsi untuk menentukan aliran jalannya suatu
program dengan membandingkan nilai True atau False dari suatu
operand. Seperti bahasa C, PHP mendefinisikan False dengan 0 dan
True dengan 1. Berikut operator logika dalam PHP, yaitu:
Operator Operasi
== Sama dengan
!= Tidak sama dengan
< Lebih kecil
> Lebih besar
<= Lebih kecil sama dengan
>= Lebih besar sama dengan
AND atau && Logika And
OR atau || Logika OR
XOR Logika XOR
! Logika Not
Berikut nilai kebenaran operasi logika, yaitu:
p q p AND q p OR q p XOR q !p
True True True True False False
True False False True True False
False True False True True True
False False False False False True
3. Operator bitwise adalah operator yang membandingkan binary.
4. Ada juga operator yang sering digunakan namun tidak termasuk
dalam kelompok di atas. Kita dapat mempelajarinya dalam kelompok
lain.
Berikut ini beberapa operator yang sering digunakan dalam script:
Operator Arti
. Penggabungan string
= Penugasan/Pengisian nilai
$ Mengacu pada variable
10.4 Struktur kendali
Struktur kendali merupakan pengatur aliran program, mempunyai
rangkaian perintah yang harus ditulis untuk memenuhi beberapa
keadaan, yaitu:
- Mengulang suatu perintah jika suatu kondisi terpenuhi.
- Melanjutkan sebuah pernyataan bila kondisi terpenuhi.
- Memilih sebuah pilihan dari beberapa alternatif bila kondisi
terpenuhi.
Struktur kendali dapat dibagi manjadi dua jenis, yaitu struktur
kendali percabangan (pengambilan keputusan) dan pengulangan
(looping).
Percabangan
Struktur kendali percabangan adalah struktur kendali yang
memungkinkan pemilihan atas perintah yang akan dijalankan sesuai
dengan kondisi tertentu. Ada tiga macam perintah percabangan dalam
PHP, yaitu if, if ... else, dan switch.
if
Perintah ini digunakan untuk menjalankan satu atau lebih perintah
yang menyatakan keadaan. Sintaks penulisannya adalah sebagai berikut:
if (kondisi)
{
pernyataan yang akan dijalankan bila kondisi bernilai benar
}
Berikut ini contoh struktur kendali if:
<html>
<head>
<title> struktur kendali if </title>
</head>
<body>
<?php
$x = 12;
if ($x > 10) print (”selamat siang”);
?>
</body>
</html>
if ... else
Perintah ini mirip dengan yang diatas, hanya saja dapat digunakan
untuk banyak pernyataan berkondisi.
Sintaks penulisannya sebagai berikut:
if (kondisi 1)
{
pernyataan 1 akan dijalankan bila kondisi 1 bernilai benar
}
elseif (kondisi 2)
{
pernyataan 2 akan dijalankan bila kondisi 1 bernilai salah dan kondisi 2
bernilai benar
}
...
else
{
pernyataan ini akan dijalankan bila kondisi-kondisi sebelumnya bernilai
salah
}
Berikut ini contoh struktur kendali dengan satu else:
<html>
<head>
<title> struktur kendali dengan satu else </title></head>
<body>
<?php
$x = 9;
if ($x > 10)
{
print (”selamat siang”);
}
else
{
print (”selamat pagi”);
}
?>
</body>
</html>
Berikut ini contoh struktur kendali dengan else lebih dari satu:
<html>
<head>
<title> struktur kendali dengan else lebih dari satu </title>
</head>
<body>
<?php
$waktu = getdate();
if ($waktu [hours] <= 10)
{
print (”selamat pagi”);
}
elseif ($waktu [hours] <=15)
{
print (”selamat siang”);
}
elseif ($waktu [hours] <= 18)
{
print (”selamat sore”);
}
else
{
print (”selamat malam”);
}
?>
</body>
</html>
switch
Perintah ini digunakan sebagai alternatif pengganti dari sintaks if ...
else dengan else lebih dari satu. Dengan perintah ini program
percabangan akan semakin mudah dibuat dan dipelajari. Sintaks
penulisanya adalah sebagai berikut:
switch (kondisi)
{
case konstanta 1:
pernyataan 1;
break;
case konstanta 2:
pernyataan 2;
break;
default:
pernyataan default;
}
Perintah switch akan menyeleksi kondisi yang diberikan dan
kemudian membandingkan hasilnya dengan konstanta-konstanta yang
berada di case. Perbandingan akan dimulaia darikonstanta 1 sampai
konstanta terakhir. Jika hasil dari kondisi sama dengan nilai konstanta
tertentu, misalnya konstanta 1, maka pernyataan 1 akan dijalanka sampai
ditemukan pernyataan break.
Pernyataan break akan membawa prosess keluar dari perintah
switch. Jika hasil dari kondisi tidak ada yang sama dengan konstanta-
konstanta yang diberikan maka pernyataan pada default akan dijalankan.
Berikut ini contoh struktur kendali dengan switch:
<html>
<head>
<title> struktur kendali dengan switch </title>
</head>
<body>
<?php
$english_day = date (”1”);
switch ($english_day)
{
case ”Monday”:
$indonesian_day = ”Senin”;
break;
case ”Tuesday”:
$indonesian_day = ”Selasa”;
break;
case ”Wednesday”:
$indonesian_day = ”Rabu”;
break;
case ”Thursday”:
$indonesian_day = ”Kamis”;
break;
case ”Friday”:
$indonesian_day = ”Jumat”;
break;
case ”Saturday”:
$indonesian_day = ”Sabtu”;
break;
default:
$indonesian_day = ”Minggu”;
}
print (”<h2> Hari ini adalah hari $indonesia_day<h2>”)
?>
</body>
</html>
Pengulangan
Digunakan untuk mengulang suatu perintah sebanyak yang
diingikan tanpa harus menulis ulang.
Bahasa PHP mengenal tiga jenis perintah pengulangan, yaitu:
for
Digunakan untuk mengulangi perintah dengan jumlah pengulangan
yang sudah diketahui. Pada perintah ini tidak perlu menuliskan suatu
kondisi untuk diuji. Kita hanya perlu menuliskan nilai awal dan akhir
variabel penghitung. Nilai variabel penghitung akan secara otomatis
bertambah atau berkurang tiap kali sebuah sebuah pengulangan
dilaksanakan. Sintaks penulisannya adalah sebagai berikut:
for (nilai_awal; nilai_akhir; penambahan/pengurangan)
{
pernyataan yang akan dijalankan
}
Contoh struktur pengulangan dengan for:
<html>
<head>
<title> struktur pengulangan dengan for </title>
</head>
<body>
<?php
for ($i = 1; $i <= 6; $i ++)
{
print (”<h$i> ini adalah contoh heading $i </h$i”);
}
?>
</body>
</html>
while
Perintah ini digunakan bila akan mengulangi suatu perintah sampai
jumlah yang belum ditentukan. Pengulangan akan terus berjalan selama
kondisi masih bernilai benar. Sintaks penulisannya adalah sebagai
berikut:
while (kondisi)
{
pernyataan yang akan dijalankan
}
Contoh struktur pengulangan dengan while:
<html>
<head>
<title> struktur pengulangan dengan while </title>
</head>
<body>
<?php
$i =1;
while ($i <= 9)
{
print (”ini pengulangan yang ke-$i<br>”);
$i++;
}
?>
</body>
</html>
do ... while
Proses pengulangan akan berjalan jika kondisi yang diperiksa di
while masih bernilai benar dan pengulangan akan dihentikan jika
kondisinya sudah bernilai salah.
Sintaks penulisannya sebagai berikut:
do
{
pernyataan ayang akan dijalankan
}
while (kondisi)
Perbedaan antara perintah while dengan do ... while terletak pada
kondisi yang diperiksa. Pada perintah while, kondisi yang diperiksa
terletak pada awal perulangan sehingga sebelum masuk kedalam
perulangan while kondisi harus bernilai benar.
Sedangkan pada perintah do ... while, kondisi diperiksa di akhir
perulangan. Ini berarti bahwa paling sedikit sebuah perulangan akan
dilakukan oleh perintah do ... while.
<html>
<head>
<title> struktur pengulangan dengan do ... while </title>
</head>
<body>
<?php
$i = 1;
do
{
print (”ini juga pengulangan yang ke-$i <br>”);
$i ++;
}
while ($i <= 6);
$j = 5;
do
{
print (”<br> perulangan ini kondisinya tidak terpenuhi <br>”);
$j ++;
}
while ($j <= 3);
?>
</body>
</html>
11. Framework
CodeIgniter sebagai salah satu dari sekian framework PHP, kini mulai
banyak digunakan dalam mengembangkan aplikasi berbasis web. Untuk
memahami apa sih framework itu? Mungkin ilustrasi berikut dapat membantu
anda dalam memberikan gambaran tentang framework.
Agus adalah seorang programmer freelance. Ia baru lulus kuliah, dan
sedang mencari kerja. Sebelum ia mendapatkan pekerjaan di sebuah
perusahaan, atas koneksi dan rekan-rekannya ia berhasil mendapatkan sebuah
proyek untuk pembuatan website. Dengan senang ia menerima dan
mengerjakan website itu.
Ia mendesain dan melakukan coding dari awal, sehingga cukup
menguras energi. Singkat kata dalam waktu satu bulan, ia baru berhasil
menyelesaikan proyeknya tersebut.
Akhirnya, proyek selesai dan client senang dengan dengan
pekerjaannya. Kemudian client tersebut juga bersedia merekomendasikannya
jika ada perusahaan lain ingin membuat sebuah website.
Dua minggu kemudian, perusahaan lain memesan sebuah website
dengan fitur yang hampir sama dengan proyek pertamanya. Langsung saja
proyek itu diterima dan dikerjakan.
Agus kembali melihat kode program pada proyek pertamanya,
mengedit bagian yang perlu dan menggunakannya pada proyek yang kedua.
Sehingga pada proyek kali ini ia berhasil menyelesaikannya hanya dalam dua
minggu.
Dalam pembuatan website kedua, Agus menyadari bahwa ada bagian-
bagian program yang biasanya harus selalu ada untuk digunakan, misalnya
kode untuk koneksi kedatabase MySQL, membuat pagination untuk
penampilan data atau email. Dengan demikian, Agus membuat koleksi kode
program yang bisa sewaktu-waktu ia gunakan jika ia membutuhkannya.
Sehinggga bisa menghemat tenaga dan waktunya dalam mengerjakan sebuah
website.
Apa yang dilakukan Agus adalah cikal bakal sebuah framework,
sehingga dalam pengertian yang sangat sederhana, framework dapat diartikan
sebagai koleksi atau kumpulan potongan-potongan program yang disusun atau
diorganisasikan sedemikian rupa, sehingga dapat digunakan untuk membantu
membuat aplikasi utuh tanpa harus membuat seluruh kodenya dari awal.
Saat ini ada banyak framework PHP, diantaranya Zend Framework,
Cake PHP, Trax, Symfony dan sebagainya. Tentu saja setiap framework
memiliki kelebihan dan kekuranganya masing-masing.
CodeIgniter dibuat oleh Rick Ellis berbasis PHP 4, bersifat Open
Source dan gratis. CodeIgniter cocok bagi anda bila:
- Anda ingin framework dengan ukuran kecil.
- Anda membutuhkan performance yang handal.
- Anda ingin agar web anda kompatibel dengan standar hosting yang
menjalankan beberapa versi PHP dan konfigurasi yang berbeda.
- Anda ingin framework dengan konfigurasi minimal.
- Anda tidak ingin menggunakan libraries besar seperti PEAR.
- Anda tidak ingin mempelajari templating language, misalnya smarty.
- Anda ingin solusi yang sederhana.
- Anda menginginkan framework dengan dokumen yang jelas.
Model-View-Controller (MVC)
CodeIgniter adalah framework PHP yang dibuat berdasarkan kaidah
Model-View-Controller (MVC). Dengan MVC, maka memungkinkan
pemisahan antara layer application-logic dan presentation. Sehingga, dalam
sebuah tim pengembangan web, seorang programmer bisa konsentrasi pada
core-system, sedangkan web designer bisa berkonsentrasi pada tampilan web.
Menariknya, skrip PHP, query MySQL, Javascript dan CSS bisa saling
terpisah-pisah, tidak dibuat dalam satu skrip berukuran besar yang
membutukan resource besar pula untuk mengeksekusinya. Dengan demikian,
aplikasi yang anda buat mudah untuk maintenance dan dikembangkan lebih
lanjut.
Adapun alur program aplikasi berbasis framework CodeIgniter dapat
dilihat pada gambar.
Gambar 3.3 Model-View-Controller
12. CodeIgniter
CodeIgniter adalah sebuah framework PHP yang dapat membantu
mempercepat developer dalam pengembangan aplikasi web berbasis PHP
dibandingkan jika menulis semua kode program dari awal.
CodeIgniter menyediakan banyak library untuk mengerjakan tugas-
tugas yang umumnya ada pada sebuah aplikasi berbasis web. Selain itu,
struktur dan susunan logis dari CodeIgniter membuat aplikasi yang anda buat
menjadi semakin teratur dan rapi. Dengan demikian, anda dapat fokus pada
fitur-fitur apa yang dibutuhkan oleh aplikasi anda dengan membuat kode
program seminimal mungkin.
CodeIgniter pertama kali dibuat oleh Rick Ellis, CEO Ellislab, Inc,
(http://ellislab.com), sebuah perusahaan yang memproduksi sebuah CMS
(Content Management System) yang cukup handal, yaitu ExpressionEngine
(http://www.expressionEngine.com). Saat ini, CodeIgniter dikembangkan dan
User Request
Controller
Model View
dimaintain oleh ExpressionEngine Development Team, yang telah dirilis
CodeIgniter versi 1.7.2.
Adapun beberapa keuntungan menggunakan CodeIgniter, diantaranya:
1. Gratis
CodeIgniter berlisensi dibawah Apache/BSD open source, jadi anda bisa
menggunakannya secara bebas. Untuk informasi lebih lanjut, anda bisa
membaca license agreement yang dapat dibaca saat instalasi CodeIgniter.
2. Ditulis Menggunakan PHP 4
Meskipun CodeIgniter dapat berjalan pada PHP 5, namun sampai saat ini
kode program CodeIgniter masih dibuat dengan menggunakan PHP 4. Hal
ini dilakukan agar CodeIgniter dapat tersebar lebih luas di komunitas PHP.
Karena hingga saat ini, sebagian besar web hosting masih menggunakan
PHP 4. Jika CodeIgniter dibuat dengan PHP 5, tentu saja hasilnya juga
akan jauh lebih canggih, karena bisa memanfaatkan teknologi PHP 5 yang
saat ini masih belum dapat dilakukan oleh PHP 4, misalnya untuk
menerapkan konsep OOP Multiple Inheritance.
3. Berukuran Kecil
Ukuran CodeIgniter yang kecil merupakan keunggulan tersendiri.
Dibanding framework lain yang berukuran besar, serta membutuhkan
resource yang besar pula untuk berjalan. Pada CodeIgniter, bisa diatur agar
sistem meload library yang dibutuhkan saja, sehingga dapat berjalan
ringan dan cepat.
4. Menggunakan Konsep M-V-C
CodeIgniter menggunakan konsep M-V-C (Model-View-Controller) yang
memungkinkan pemisahan antara layer application-logic dan presentation.
5. URL yang Sederhana
Secara default, URL yang dihasilkan CodeIgniter sangat bersih (clean) dan
Search Engine Friendly (SEF).
6. Memiliki Paket Library yang Lengkap
CodeIgniter memiliki library yang lengkap untuk mengerjakan operasi-
operasi 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.
8. Tidak Memerlukan Template Engine
Meskipun CodeIgniter dilengkapi dengan template parser sederhana yang
dapat anda gunakan, tetapi hal ini tidak mengharuskan anda untuk
menggunakannya. Penggunaan Template Engine dapat mengurangi
performance dari sistem.
9. Dokumen Lengkap dan Jelas
Dari sekian banyak framework, CodeIgniter adalah satu-satunya
framework dengan dokumen yang lengkap dan jelas. Silakan baca
CodeIgniter User Guide. Tim pengembang CodeIgniter berkomitmen
bahwa dokumentasi juga sama pentingnya dengan kode program
CodeIgniter itu sendiri. Source code CodeIgniter juga dilengkapi comment
didalamnya, sehingga memperjelas fungsi sebuah kode program.
10. Komunitas
Komunitas pengguna CodeIgniter saat ini berkembang pesat, anda pun
dapat berpartisipasi di http://codeigniter.com/forums/. Adakalanya anda
ingin mencari informasi yang case by case yang tidak dapat anda temukan
jawabannya pada User Guide. Forum CodeIgniter adalah salah satu tempat
yang layak anda kunjungi.
Karena keunggulan atau keutungan dari MySQL, Apache, HTML,
PHP, CodeIgniter, hal itulah yang menjadikan alasan bagi penulis untuk
menggunakan aplikasi tersebut.