Server HTTP Apache atau Server Web/WWW Apache adalah server web yang
dapat dijalankan di banyak sistem operasi (Unix, BSD, Linux, Microsoft Windows
dan Novell Netware serta platform lainnya) dan bersifat open source yang berguna untuk melayani dan memfungsikan situs web. Protokol yang digunakan untuk melayani fasilitas web ini menggunakan HTTP.
2.12 PHP (Hypertext Preprocessor)
PHP (akronim dari PHP: Hypertext Preprocessor) adalah bahasa pemrograman yang berfungsi untuk membuat website dinamis maupun aplikasi web. Berbeda dengan HTML yang hanya bisa menampilkan konten statis, PHP bisa berinteraksi dengan database, file dan folder, sehingga membuat PHP bisa menampilkan konten yang dinamis dari sebuah website. Blog, Toko Online, CMS, Forum, dan
PHP adalah bahasa scripting, bukan bahasa tag-based seperti HTML. PHP termasuk bahasa yang cross-platform, ini artinya PHP bisa berjalan pada sistem operasi yang berbeda-beda (Windows, Linux, ataupun Mac). Program PHP ditulis dalam file plain text (teks biasa) dan mempunyai akhiran “.php”. (Triswansyah Yuliano, 2007)
2.13 MySQL
Menurut Adityo Pratama (2006) MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (database management system) atau DBMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis di bawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual di bawah lisensi komersial untuk kasus-kasus dimana penggunaanya tidak cocok dengan penggunaan GPL.
MySQL memiliki beberapa keistimewaan, antara lain : 1. Portabilitas
MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi. 2. Perangkat Lunak sumber terbuka
MySQL didistribusikan sebagai perangkat lunak sumber terbuka, di bawah lisensi GPL sehingga dapat digunakan secara gratis.
3. Multi-user
MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan tanpa mengalami masalah atau konflik.
4. Performance tuning
MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu.
5. Raga tipe data
MySQL memiliki ragam tipe data yang sangat kaya, seperti signed / unsigned integer, float, double, char, text, date, timestamp, dan lain-lain.
6. Perintah dan Fungsi
MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam perintah (query).
7. Keamanan
MySQL memiliki beberapa lapisan keamanan seperti level subnet mask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi.
8. Skalabilitas dan Pembatasan
MySQL mampu menangani basis data dalam skala besar, dengan jumlah rekaman (records) lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya.
MySQL dapat melakukan koneksi dengan klien menggunakan protokol TCP/IP, UNIX soket (UNIX), atau Named Pipes (NT).
10. Lokalisasi
MySQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan lebih dari dua puluh bahasa. Meski pun demikian, bahasa Indonesia belum termasuk di dalamnya.
11. Antar Muka
MySQL memiliki antar muka (interface) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface).
12. Klien dan Peralatan
MySQL dilengkapi dengan berbagai peralatan (tool) yang dapat digunakan untuk administrasi basis data, dan pada setiap peralatan yang ada disertakan petunjuk online.
13. Struktur tabel
MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan basis data lainnya semacam PostgreSQL ataupun Oracle.
2.14 Database
Menurut Jogiyanto H.M (2005:217) database (basis data) merupakan kumpulan dari data yang saling berhubungan satu dengan yang lainnya, tersimpan di
simpanan luar komputer dan digunakan perangkat lunak tertentu untuk memanipulasinya. Database merupakan salah satu komponen yang penting di sistem informasi, karena berfungsi sebagai basis penyedia informasi bagi para pemakainya.
Data dalam sebuah database disusun berdasarkan sistem hirarki yang unik, yaitu:
1. Database, yaitu kumpulan file yang saling terkait satu sama lain, misalnya file
induk karyawan, file jabatan, file penggajian, dan lain sebagainya.
2. File, yaitu kumpulan dari record yang saling terkait dan memiliki format field
yang sama dan sejenis.
3. Record, yaitu kumpulan field yang menggambarkan suatu unit data individu tertentu.
4. Field, yaitu atribut dari record yang menunjukkan suatu item dari data seperti nama, alamat dan lain sebagainya.
5. Byte, yaitu atribut dari field yang berupa huruf yang membentuk nilai dari sebuah field. Huruf tersebut berupa numerik maupun abjad dan karakter khusus.
6. Bit, yaitu bagian terkecil dari data secara keseluruhan, yaitu karakter ASCII nol atau satu yang merupakan komponen pembentuk byte. (Budi Sutedjo Dharma Oetomo, 2006:102)
2.15 Normalisasi
Menurut Abdul Kadir (2009:116) normalisasi adalah suatu proses yang digunakan untuk menentukan pengelompokkan atribut-atribut dalam sebuah relasi sehingga diperoleh relasi yang berstruktur baik. Dalam hal ini yang dimaksud dengan relasi yang berstruktur baik adalah relasi yang memenuhi dua kondisi berikut:
1. Mengandung redundansi sesedikit mungkin, dan
2. Memungkinkan baris-baris dalam relasi disisipkan, dimodifikasi, dan dihapus tanpa menimbulkan kesalahan atau ketidakkonsistenan.
Secara umum proses normalisasi dibagi menjadi beberapa tahap, di antaranya: tahap tidak normal, normalisasi tahap satu, normalisasi tahap dua dan normalisasi tahap tiga. Pada tahap yang ketiga biasanya sudah diperoleh tabel yang optimal.
1. Bentuk tidak normal. Pada tahap ini, semua data yang direkam tanpa format tertentu. Data bisa jadi mengalami duplikasi.
2. Normalisasi tahap 1. Pada tahap ini, dibentuk tabel-tabel yang menampung data yang ada dan dikelompokkan berdasarkan suatu karakteristik tertentu. Pada tahap ini harus diusahakan tidak ada field dari satu tabel yang berulang. 3. Normalisasi tahap 2. Pada tahap ini dilakukan penentuan field kunci dari
masing-masing tabel. Kunci tersebut harus unik dan dapat mewakili tabel. 4. Normalisasi tahap 3. Pada tahap ini dilakukan penentuan relasi antar tabel,
sehingga akan ditemukan adanya field kunci sekunder pada tabel-tabel tertentu. (Budi Sutedjo Dharma Oetomo, 2006:131)