kepanjangan dari XAMPP yaiut Apache, PHP, MySQL dan phpMyAdmin.
XAMPP merupakan tool yang menyediakan paket perangkat lunak ke dalam satu buah paket. Dengan menginstall XAMPP maka tidak perlu lagi melakukan instalasi dan konfigurasi web server Apache, PHP dan MySQL secara manual. XAMPP akan menginstalasi dan mengkonfigurasikannya secara otomatis untuk anda atau auto konfigurasi. Versi XAMPP yang ada saat ini adalah Versi 1.4.14 atau yang terbarunya anda bisa download pada http://www.apachefriends.org/en/xampp-window.html.
Software XAMPP versi ini terdiri atas:
a. Apache versi 2.0.54
b. MySQL versi 4.1.12
c. PHP versi 5.0.4
d. phpMyAdmin versi 2.6.2-p11 dan lain-lain
web server tersebut mari kita mengenalnya lebih dekat satu per satu .
1. Mengenai APACHE
Apache sudah berkembang sejak versi pertamanya. Sampai saat ditulisnya artikel ini versi terakhirnya yang ada yaitu Apache ver 2.0.54. Apache bersifat open source, artinya setiap orang boleh menggunakannya, mengambil dan bahkan mengubah kode programnya.
Tugas utama apache adalah menghasilkan halaman web yang benar kepada peminta, berdasarkan kode PHP yang dituliskan oleh pembuat halaman web. Jika diperlukan juga berdasarkan kode PHP yang dituliskan, maka dapat saja suatu database diakses terlebih dahulu (misalnya dalam MySQL) untuk mendukung halaman web yang dihasilkan.
2. Mengenai PHP
Bahasa pemrograman PHP merupakan bahasa pemrograman untuk mebuat web yang bersifat server-side scripting. PHP memungkinkan kita untuk membuat halaman web yang bersifat dinamis. PHP dapat dijalankan pada berbagai macam Operating System (OS), misalnya Windows, Linux dan Mac OS. Selain Apache, PHP juga mendukung beberapa web server lain, misalnya Microsoft IIS, Caudium, PWS dan lain-lain.
Seperti pernah disinggung sebelumnya bahwa PHP dapat memanfaatkan database untuk menghasilkan halaman web yang dinamis. Sistem manajemen database yang sering digunakan bersama PHP adalah MySQL. Namun PHP juga mendukung system manajemen Database Oracle, Microsoft Acces, Interbase, d-Base, PostgreSQL dan sebagainya.
Hingga kini PHP sudah berkembang hingga versi ke 5. PHP 5 mendukung penuh Object Oriented Programing(OOP), integrasi XML, mendukung semua ekstensi terbaru MySQL, pengembangan web services dengan SOAP dan REST, serta ratusan peningkatan kemampuan lainnya dibandingkan versi sebelumnya. Sama dengan web server lainnya PHP juga bersifat open source sehingga setiap orang dapat menggunakannya dengan gratis.
3. Mengenai MySQL
Pperkembangannya disebut SQL yang merupakan kepanjangan dari Structured Query Language. SQL merupakan bahasa terstruktur yang khusus digunakan untuk mengolah database. SQL pertama kali didefinisikan oleh American National Standards Institute (ANSI) pada tahun 1986. MySQL adalah sebuah sistem manajemen database yang bersifat open source. MySQL adalah pasangan serasi dari PHP. MySQL dibuat dan dikembangkan oleh MySQL AB yang berada di Swedia.
MySQL dapat digunakan untuk membuat dan mengola database beserta isinya. Kita dapat memanfaatkan MySQL untuk menambahkan, mengubah dan menghapus data yang berada dalam database. MySQL merupakan sisitem manajemen database yang bersifat at relational. Artinya data-data yang dikelola dalam database akan diletakkan pada beberapa tabel yang terpisah sehingga manipulasi data akan menjadi jauh lebih cepat.
MySQL dapat digunakan untuk mengelola database mulai dari yang kecil sampai dengan yang sangat besar. MySQL juga dapat menjalankan perintah-perintah Structured Query Language (SQL) untuk mengelola database-database yang ada di dalamnya. Hingga kini, MySQL sudah berkembang hingga versi 5. MySQL 5 sudah mendukung trigger untuk memudahkan pengelolaan tabel dalam database.
4. Mengenai PHPMyAdmin
Pengelolaan database dengan MYSQL harus dilakukan dengan mengetikkan baris-baris perintah yang sesuai (command line) untuk setiap maksud tertentu. Jika anda ingin membuat database, ketikkan baris perintah yang sesuai untuk membuat database. Jika kita ingin menghapus tabel, ketikkan baris perintah yang sesuai untuk menghapus tabel. Hal tersebut tentu cukup menyulitkan karena kita harus hafal dan mengetikkan perintahnya satu persatu.
Banyak sekali perangkat lunak yang dapat dimanfaatkan untuk mengelola data base dalam MySQL, salah satunya adalah phpMyAdmin. Dengan phpMyAdmin kita dapat membuat tabel, mengisi data dan lain-lain dengan mudah tanpa harus hafal perintahnya. Untuk mengaktifkan phpMyAdmin langkah-langkahnya adalah : yang pertama setelah XAMP kita terinstall, kita harus mengaktifkan web server Apache dan MySQL dari control panel XAMPP. Yang kedua, jalankan browser kesayangan Anda (IE, Mozilla Firefox atau Opera) lalu ketikkan alamat web berikut : http://localhost/phpmyadmin/ pada address bar lalu tekan Enter. Langkah ketiga apabila telah nampak interface (tampilan antar muka) phpMyAdmin anda bisa memulainya dengan mengetikkan nama database, nama tabel dan seterusnya.
MyISAM
Tipe tabel MyISAM merupakan tipe tabel yang sederhana, stabil dan mudah digunakan. Jika kita akan menyimpan data sederhana yang tidak terlalu rumit, maka gunakanlah tipe tabel ini. Kelebihan utama MyISAM adalah kecepatan dan kestabilannya. Jika kita memilih tipe tabel MyISAM, maka MySQL secara otomatis akan menentukan salah satu dari tiga jenis tabel MyISAM, yaitu :
1. MyISAM static. Jenis ini digunakan ketika semua kolom dalam tabel didefinisikan dengan ukuran yang pasti (fixed). Dengan kata lain, tidak ada kolom yang memiliki tipe seperti VARCHAR, TEXT dan BLOB. Karena sifatnya yang fixed, maka jenis ini akan lebih cepat, aman dan stabil.
2. MyISAM dymanic. Jenis ini digunakan ketika terdapat kolom dengan tipe yang dinamis, seperti tipe kolom VARCHAR. Keuntungan utama dari jenis ini adalah ukuran yang dinamis. Jadi sifatnya lebih efektif karena ukuran data (file) menyesuaikan isi dari masing-masing kolom (field).
3. MyISAM Compressed. Kedua jenis MyISAM, static dan dynamic dapat dikompresi menjadi satu jenis yaitu MyISAM Compressed dengan perintah myisamchk. Tentunya hasilnya lebih kecil dari segi ukuran. Tabel yang terkompresi tidak dapat dikenakan operasi seperti INSERT, UPDATE dan DELETE.
InnoDB
Tipe tabel InnoDB merupakan tipe tabel MySQL yang mendukung proses transaksi. Tipe ini memiliki beberapa keunggulan, antara lain:
1. Mendukung transaksi antar tabel.
2. Mendukung row-level-locking.
3. Mendukung Foreign-Key Constraints.
4. Crash recovery.
HEAP
Tabel dengan tipe HEAP tidak menyimpan datanya di hardisk, tetapi menyimpan di RAM (memori). Tipe tabel ini biasanya digunakan sebagai tabel sementara (temporary). Tabel secara otomatis akan dihapus (hilang) dari MySQL saat koneksi ke server diputus atau server MySQL dimatikan.
Tipe Tabel yang Lain
Selain 3 (tiga) tipe tabel diatas, yaitu MyISAM, InnoDB dan HEAP, MySQL juga mendukung tipe tabel yang lain, yaitu:
BDB. Tipe tabel ini mirip tipe tabel InnoDB, namun penggunaannya belum maksimal.
Archieve. Tipe ini tersedia sejak MySQL versi 4.1. Tipe ini digunakan untuk menyimpan tabel yang terkompresi, dimana biasanya digunakan dalam proses backup.
CSV. Tipe ini digunakan untuk menyimpan data dalam bentuk file text yang dibatasi dengan koma (delimiter). Tipe ini tersedia sejak MySQL versi 4.1.
NDB Table (MySQL Cluster). Tersedia sejak MySQL versi 4.1.
Federated (External Tables). Tipe ini tersedia sejak MySQL versi 5.0.
Lalu bagaimana menentukan tipe tabel tersebut di tabel yang kita buat? Dengan menggunakan perintah SQL saat membuat tabel kita dapat menambahkan perintah Engine=tipe_tabel di akhir perintah. Contohnya sebagai berikut: CREATE TABLE produk ( id_produk varchar(5) NOT NULL, nm_produk varchar(30) NOT NULL, satuan varchar(10) NOT NULL, harga decimal(10,0) NOT NULL default '0', stock int(3) NOT NULL default '0', PRIMARY KEY (id_produk) ) ENGINE=InnoDB; Jika tabel sudah terbentuk, kita juga dapat mengubah tipe tabel dengan perintah ALTER. Contohnya sebagai berikut: ALTER TABLE produk engine = MyISAM
SQL merupakan singkatan dari Structured Query Language. SQL atau juga sering disebut sebagai query merupakan suatu bahasa (language) yang digunakan untuk mengakses database. SQL dikenalkan pertama kali dalam IBM pada tahun 1970 dan sebuah standar ISO dan ANSII ditetapkan untuk SQL. Standar ini tidak tergantung pada mesin yang digunakan (IBM, Microsoft atau Oracle). Hampir semua software database mengenal atau mengerti SQL. Jadi, perintah SQL pada semua software database hampir sama. Terdapat 3 (dua) jenis perintah SQL, yaitu DDL, DML dan DCL. 1. DDL atau Data Definition Language DDL merupakan perintah SQL yang berhubungan dengan pendefinisian suatu struktur database, dalam hal ini database dan table. Beberapa perintah dasar yang termasuk DDL ini antara lain :
CREATE
ALTER
RENAME
DROP
2. DML atau Data Manipulation Language DML merupakan perintah SQL yang berhubungan dengan manipulasi atau pengolahan data atau record dalam table. Perintah SQL yang termasuk dalam DML antara lain :
SELECT
INSERT
UPDATE
DELETE
3. DCL atau Data Control Language DCL (bukan BCL) merupakan perintah SQL yang berhubungan dengan pengaturan hak akses user MySQL, baik terhadap server, database, tabel maupun field. Perintah SQL yang termasuk dalam DCL antara lain :
GRANT
REVOKE
- nnoDB itu merupakan salah satu storage engine MySQL yang support transaksi & foreign-key (relasi tabel secara physical). Storage engine lainnya yg support adalah BDB (Berkeley DB) -- tapi sejak MySQL 5.1 udah bubar alias almarhum, karna long-time-no-support. Sedangkan InnoDB terus-terusan disupport sampai detik ini oleh kreatornya (Innobase OY) yang merupakan sub-departemen dari Oracle (yupe! Oracle yang itu... DBMS Engine yang maha-besar). Coba cek http://www.innodb.com/company danhttp://www.oracle.com/innodb/index.html utk memastikan klo apa yang gw tulis di siniBUKAN HOAX.
- Popularitas InnoDB di MySQL emang masih kalah ama MyISAM karena InnoDB baru diangkat jadi default-storage-engine ama MySQL 5 (sedangkan mysql customer udah makae MySQL sejak versi 3.x dan 4.x) -- disamping itu, aplikasi web yang sering menggadang MySQL emang (sebelum versi 5) jarang bangedd yg bener-bener memerlukan multi-feature yang ditawarin InnoDB. Mereka menjatuhkan pilihan ke MySQL sebagai DBMS yg lightweight utk project2 mereka yang kelasnya juga lightweight(seperti news-portal/company profile/blog/e-commerce). Sedangkan performa InnoDB pada saat itu malah tampak *membebani* status MySQL jadi heavyweight.. Konsumen Oracle & MSSQL utk pasar lightweight ngga banyak. Mereka concern ke support backend aplikasi berskala Enterprise (yg punya bobot sistem informasi lah). Dan InnoDB -- sejak awal emang dirancang utk aplikasi enterprise seperti itu.
- MyISAM tenar karena selain ringan, maintenance-nya pun mudah. Mo backup bisa pakae beberapa cara, seperti mysqldump, mysqlhotcopy, bahkan pakae cara lugu --> copy folder database-nya trus paste ke backup-storage kita. InnoDB -- banyak yang ngga tau bahwa sebenarnya InnoDB juga bisa seperti itu. Makae tools mysqldump bisa, trus utk padaannya mysqlhotcopy --> Innobase udah nge-rilis shell script (Perl) yg dikasih namainnobackup yang bisa di-donlot di sini. Mau pakae cara lugu copy paste seperti MyISAM di atas juga bisa, walo perlu di-initialize dulu di awal bangedd (sebelum database/tabel berbasis InnoDB itu di-create) --> yaitu dengan menambahkan opsi di my.cnf begini :innodb_file_per_table -- yup! hanya itu doank! Setelah itu, baru "restore-dump" database kita kembali, dan data-data yang terdapat di masing2 tabel akan masuk ke file-file *.ibd secara independen.
- Masih berhubungan dengan innodb_file_per_table -- kalo kita cuman ngikutin settingan default MySQL tentang InnoDB (yaitu dengan tidak meng-apply konfigurasiinnodb_file_per_table), *semua data* dari *semua tabel InnoDB* dari *semua database* yang ada di server MySQL akan disimpan di *satu* file : ibdata --> dan ini seringkali 'membengkak-kan' size ntu file, dan memiliki efek *kerusakan data di satu tabel* akan menyebabkan CATASTROPHIC ERROR --> semua tabel InnoDB di semua database-database yang ngga bersalah dan ngga tau-apa-apa juga ikutan error. --> asumsi inilah yang sering dijadikan deduksi bagi database-administrator bahwa "pengaktifan InnoDB" bisa membawa bencana massal buat server database. Padahal dengan sedikit konfigurasi, hal itu bisa dicegah *sejak awal bangedd*
Tidak ada komentar:
Posting Komentar