BAB 2 LANDAS AN TEORI 2.1 Data Data adalah komponen yang paling penting dalam DBM S, berasal dari sudut pandang end-user. Data bertindak sebagai jembatan yang menghubungkan antara mesin dengan pengguna (Connolly, 2002, p19). Whitten mendefinisikan bahwa data adalah fakta mentah mengenai orang, tempat, kejadian, dan hal-hal yang penting dalam organisasi (Whitten, 2004, p23). 2.2 Database Database adalah sekumpulan data yang terhubung secara logikal, dan deskripsi dari data tersebut, yang dapat digunakan oleh banyak user, dan dibentuk untuk dapat menghasilkan informasi yang dibutuhkan oleh organisasi (Connolly, 2002, p14). Database adalah kumpulan file yang saling terkait. File adalah kumpulan record yang serupa. Record merupakan kumpulan field yang disusun dalam format yang telah ditetapkan sebelumnya. Field adalah unit terkecil dari data yang disimpan pada sebuah file atau basis data (Whitten, 2004, p518). 2.3. Database Management System Database Management System adalah sebuah software system yang mengizinkan pengguna untuk mendefinisikan, membuat, mengolah dan mengontrol 7 8 akses ke database Connolly (2002, p16). Software ini berinteraksi dengan aplikas i pengguna dan database. Umumnya DBM S menyediakan beberapa fasilitas, seperti : • Data Definition Language (DDL) Adalah perangkat yang mengizinkan database administrator untuk memberi nama dan mendeskripsikan entitas, atribut, dan relasi yang dibutuhkan untuk membuat aplikasi. • Data Manipulation Language (DML) DM L adalah sebuah perangkat yang menyediakan sebuah set operasi untuk memanipulasi operasi data yang dilakukan didalam basis data. M anipulasi operasi data yang di sediakan berupa insertion, modification, retrieval, deletion. • Structured Query Language (SQL) Query Language yang saat ini digunakan sebagai standar umum pemakai database adalah SQL. • Kontrol Akses Basis Data a) Keamanan Sistem : mencegah user yang tidak terautorisasi untuk mengakses database. b) Integritas Sistem : menjaga konsistensi data yang disimpan. c) Concurency Control System : mengizinkan database untuk di-share. d) Recovery Control System : dapat me-restore data yang telah hilang akibat kesalahan hardware atau software. e) User Accessible Catalog : mengandung deskripsi data dalam sebuah database. 9 DBM S memiliki beberapa komponen yang secara garis besar dibagi menjadi 5 komponen utama, yaitu : • Hardware Untuk dapat menggunakan DBM S, hal penting yang harus diperhatikan adalah ketersediaan perangkat keras atau hardware. Perangkat ini adalah set komputer, server, mainframe, sampai kepada jaringan komputer. Kebutuhan perangkat keras ini akan disesuaikan dengan kebutuhan dari organisasi atau user yang menggunakan DBM S. • Software Komponen perangkat lunak atau software ini terdiri dari software DBM S dan program aplikasi. Dengan bersama-bersama dengan sistem operasi beserta jaringannya. • Data Komponen ini adalah komponen yang paling penting dalam komponen DBM S. Data merupakan penghubung antara mesin dan manusia. Database terdiri dari data operasional dan meta data. • Procedures Prosedur mengacu kepada instruksi dan aturan yang mengatur perancangan dan kegunaan dari basis data. Sistem dan penggunannya secara bersama-sama mengatur prosedur ini untuk menjalankan sistem. Berikut adalah beberapa kemungkinan instruksi untuk : a) Log on ke database. b) M enggunakan sistem basis data tertentu. 10 c) Start dan stop DBM S. d) M embuat back-up database. e) M enangani kesalahan-kesalahan perangkat keras dan perangkat lunak. f) M engubah struktur tabel, mengatur kembali database, meningkatkan performance, atau menyimpan data. • People Komponen people ini terdiri dari empat jenis yaitu : a) Database Administrator Adalah orang yang bertanggung jawab akan realisasi fisik dari basis data, termasuk rancangan fisik dan implementasi, kontrol keamanan dan kontrol integritas, serta perawatan dari sistem operasi. Tugas dari seorang database administrator itu adalah : M engevaluasi DBM S. M engeksekusi jalannya sistem. M enjaga standar sistem, kebijaksanaan, dan prosedur. M engimplementasikan data yang dibutuhkan. M engembangkan rancangan lagikal dan rancangan fisik. M engimplementasikan rancangan fisik database. M engawasi dan mengontrol database. b) Database Designers Adalah perancang dari DBM S itu sendiri. Terdapat dua jenis kategori dari perancang, yaitu perancang rancangan logikal dan perancang rancangan fisik. 11 c) Application Developer Adalah yang mengembangkan aplikasi dari sistem basis data yang telah diimplementasikan di dalam sistem. d) End-user Termasuk dalam kategori pengguna akhir adalah pemilik sistem (enterprise), para manager, supervisor, operator (misalnya karyawan loket bank, bagian pembukuan), pelanggan, dan sebagainya yang terlibat langsung dalam penggunaan basis data. Penggunaan melakukan akses ke dalam basis data menggunakan alat bantu yang dikembangkan oleh programmer / analis, ataupun browser. M engaplikasikan sebuah sistem tentunya akan menimbulkan berbagai macam keuntungan dan kerugian yang ditimbulkan dari sistem tersebut. Begitu juga dengan DBM S, sebaik apapun penawaran yang diberikan oleh DBM S tentunya akan memiliki kelebihan dan kekurangan. Berikut adalah kelebihan dan kekurangan dari DBM S : • Kelebihan : a) Redudansi data dapat dikurangi dan dikontrol. b) Konsistensi data. c) Penggunaan bersama dari data. d) Integritas data yang lebih baik. e) Keamanan data yang lebih baik. f) Penerapan standardisasi. g) Peningkatan produktivitas. 12 h) Peningkatan layanan dan recovery. • Kekurangan : a) Kompleks. b) Biaya tinggi. c) M emory consuming (memakan banyak space memori). 2.4 Entity–Relationship Model Untuk memastikan pemahaman yang tepat terhadap data dan bagaimana penggunaannya di dalam suatu perusahaan, diperlukan sebuah model. M odel Entity–Relationship (ER) adalah salah satunya (Connolly, 2005, p342). M odel ini menggunakan pendekatan Top-Down dalam merancangan basis data yang dimulai dengan mengidentifikasikan data yang penting yang disebut entity dan relationship antara data harus direpresentasikan dalam di dalam model, kemudian ditambahkan beberapa atribut, dan constraint pada entity, atribut dan relationship. 2.4.1 Entity Types Entity type adalah sekumpulan objek dengan sifat (property) yang sama yang diidentifikasikan oleh perusahaan dan keberadaanya independent (Connolly, 2005, p343). Entity Occurrence adalah objek dari entity type yang diidentifikasikan secara unik (Connolly, 2005, p345). Entity type dapat diklasifikasikan menjadi : 1) Strong entity type, yaitu entity type yang keberadaannya tidak bergantung pada entity type lainnya (Connolly dan, 2005, p354). 13 2) Weak entity type, yaitu entity type yang keberadaannya bergantung pada entity type lainnya (Connolly, 2005, p355). 2.5 Relationship Types Relationship type adalah sekumpulan asosiasi antara tipe – tipe entity yang ada dan mempunyai arti (Connolly, 2005, p346). Relationship Occurrence adalah suatu penyatuan yang dapat diidentifikasi secara unik, termasuk satu kejadian (occurrence) dari tiap entity type yang berpartisipasi (Connolly, 2005, p346). - Derajat dari Relationship Type Derajat (degree) dari relationship type adalah jumlah entity type yang berpartisipasi dalam sebuah relationship (Connolly, 2005, p347). Sebuah relationship yang memiliki dua derajat dinamakan binary. Sedangkan sebuah relationship yang tiga memiliki derajat dinamakan ternary, dan jika sebuah relationship memiliki derajat empat dinamakan quarternary. - Recursive Relationship Recursive relationship adalah sebuah tipe relationship dimana tipe entity yang sama berpartisipasi lebih dari sekali pada peran yang berbeda (Connolly, 2005, p349). Relationship dapat diberikan nama peran untuk menentukan fungsi dari setiap entity yang terlibat dalam relationship tersebut. Nama peran juga dapat digunakan jika dua buah entity dihubungkan melalui lebih dari satu relationship. 2.5.1 Atribut – atribut Atribut merupakan sifat – sifat (property) dari sebuah tipe entity atau tipe relationship (Connolly, 2005, p350). Atribut domain adalah kumpulan nilai yang 14 diperbolehkan untuk satu atau lebih atribut. Atribut dapat dibagi menjadi tiga, yaitu (Connolly, 2005, p351) : 1) Simple / composite attributes Simple attribute adalah atribut yang terdiri dari satu komponen tunggal yang keberadaannya independen. Composite attribute adalah atribut yang terdiri dari beberapa komponen yang keberadaannya independen. 2) Single / multi–valued attributes Single–valued attribute adalah atribut yang mempunyai nilai tunggal untuk setiap kejadian atau sebuah tipe entity. Multi–valued attribute adalah atribut yang mempunyai beberapa nilai untuk setiap kejadian atau sebuah tipe entity. 3) Derived attributes Derived attribute adalah atribut yang memiliki nilai yang dihasilkan dari satu atau beberapa atribut lainnya, dan tidak harus berasal dari entity yang sama. - Keys : 1) Candidate key, merupakan sejumlah kecil atribut dari entity yang mengidentifikasikan setiap kejadian dari entity tersebut secara unik (Connolly, 2005, p352). 2) Primary key, merupakan candidate key yang dipilih untuk mengidentifikasikan setiap kejadian dari entity secara unik (Connolly, 2005, p353). 3) Alternate key, adalah setiap candidate key yang tidak terpilih menjadi primary key (Connolly, 2005, p353). 15 4) Composite key, merupakan candidate key yang terdiri dari dua atau lebih atribut (Connolly, 2005, p353). 5) Foreign key, adalah sebuah atribut atau sekumpulan atribut pada suatu relas i yang sama dengan candidate key dari beberapa relasi lainnya (Connolly, 2005, p79). 2.5.2 Structural Constrains - Multiplicity Multiplicity adalah jumlah occurrence (kejadian) yang mungkin terjadi pada sebuah tipe entity yang berhubungan ke sebuah occurrence dari tipe entity lain pada suatu relationship (Connolly, 2005, p356). Derajat yang biasanya digunakan pada suatu relationship adalah binary relationship, yang terdiri atas : 1) One-to-One (1:1) Relationship. 2) One-to-Many (1:*) Relationship. 3) Many-to-Many (*:*) Relationship. - Cardinality dan Participation Constraints Multiplicity sebenarnya terdiri atas dua constraint yang berbeda, yaitu: 1) Cardinality, menggambarkan nilai maksimum dari relationship occurrence yang mungkin terjadi untuk sebuah entity yang ikut serta pada suatu relationship (Connolly, 2005, p363). 2) Participantion, menentukan apakah semua atau hanya beberapa entity occurrence yang ikut serta dalam sebuah relationship (Connolly, 2005, p363). Participation constraint dibagi menjadi : 16 a. Mandatory participation melibatkan semua entity occurrence pada relationship tertentu (Connolly, 2005, p363). b. Optional participation melibatkan beberapa entity occurrence pada relationship tertentu (Connolly, 2005, p363). 2.6 Normalisasi Normalisasi merupakan salah satu tahap dalam proses perancangan yang mengharuskan perancang untuk mempertimbangkan masalah space penyimpanan (efisiensi), mencegah duplikasi dan redundancy data, konsistensi dan integritas data dalam database yang dirancang. Normalisasi merupakan usaha untuk meminimalisasi dan (jika mungkin) menghilangkan masalah duplikasi dan inkonsistensi (Sidik, 2001, p53). Suatu perancangan database harus memenuhi kondisi yang tidak memiliki anomali. Kondisi anomali adalah kondisi dimana suatu database memiliki kejanggalan terhadap penempatan atribut tertentu dari suatu objek data. Oleh karena itu, tujuan utama dari normalisasi adalah pengelompokkan atribut-atribut ke dalam satu relation berdasarkan kepada keys, dan functional dependecies antar atribut di dalamnya (Connolly, 2002, p376). • 1st Normal Form Sebelum dilakukan normalisasi, sebuah form dapat disebut unnormalized form jika form tersebut memiliki satu atau lebih repeating group. Dalam normalisasi tahap satu ini yang dilakukan adalah mengidentifikasi dan menghilangkan repeating group tersebut. Repeating group adalah sebuah atribut atau sekelompok atribut 17 dalam satu tabel yang memilki nilai lebih dari satu (multiple value) untuk sebuah kejadian dalam tabel tersebut. Pada tahap ini juga ditentukan primary key. • 2nd Normal Form Dalam normalisasi yang kedua ini field-field yang bukan merupakan primary key dan tergantung (partially dependency) pada primary key harus dihilangkan. • 3rd Normal Form Pada normalisasi tahap 2 redundansi data memang sudah berkurang. Tetapi tidak berarti berkurangnya redundasi tersebut telah menghilangkan anomali. Oleh karena itu pada tahap ketiga dalam normalisasi dilakukan penghilangan ketergantungan transitif yang dimiliki didalam sebuah database. 2.7 Database lifecycle Untuk merancang aplikasi sistem basisdata, terdapat tahapan-tahapan terstruktur yang harus diikuti yang dinamakan dengan Siklus Hidup Aplikasi Basisdata (Database Application Lifecycle) atau disingkat dengan DBLC. Perlu diingat bahwa tahapan dalam DBLC tidak harus berurutan, namun juga dapat melibatkan beberapa pengulangan ke tahapan sebelumnya melalui putaran balik (feedback loops). Tahapan – tahapan tersebut terlihat pada gambar 2.2. 18 Gambar 2.1 Database Life Cycle (Connolly, 2005, p284) 19 2.7.1 Database planning Tujuan dari database planning adalah merencanakan agar tahap-tahap dari aplikasi basisdata dapat direalisasikan dengan seefektif dan seefisien mungkin (Connolly dan Begg, 2005, p285). 2.7.2 System definition System definition menggambarkan ruang lingkup dan batasan dari sistem basisdata termasuk pandangan pengguna (user view) yang utama (Connolly dan Begg, 2005, p286). Pandangan pengguna (user view) mendefinisikan apa yang dibutuhkan oleh sistem basisdata dari sudut pandang jabatan tertentu (seperti manajer atau pengawas) maupun dari sudut pandang area aplikasi perusahaan (seperti pemasaran, personalia, atau pengawasan persediaan) (Connolly dan Begg, 2005 p287). 2.7.3 Requirement collection and analysis Requirement collection and analysis adalah proses pengumpulan dan analisis informasi tentang bagian perusahaan yang akan didukung oleh sistem basisdata dan menggunakan informasi ini untuk mengidentifikasikan kebutuhan – kebutuhan untuk sistem yang baru (Connoly, 2005, p288). Ada beberapa teknik untuk mengumpulkan informasi ini, salah satunya adalah fact-finding techniques. Teknik fact-finding adalah suatu proses resmi dalam menggunakan teknik-teknik seperti wawancara atau kuesioner untuk mengumpulkan fakta-fakta tentang sistem dan kebutuhan-kebutuhannya (Connolly, 2005, p314). 20 2.7.4 Database design (Perancangan basisdata) Perancangan basisdata adalah suatu proses menciptakan perancangan untuk basisdata yang akan mendukung keseluruhan operasi dan tujuan-tujuan perusahaan (Connoly, 2005, p291). Dalam database design terdapat tiga fase utama, yaitu perancangan konseptual (Conceptual Database Design), perancangan logikal (Logical Database Design), dan perancangan fisik (Physical Database Design). 2.7.5 DBMS selection ( optional ) Tujuan dari DBMS selection adalah untuk memilih DBMS yang tepat untuk mendukung sistem basisdata (Connolly, 2005, p296). Tahapan utama dalam memilih DBMS antara lain : a) Mendefinisikan syarat – syarat sebagai referensi Dibuat dengan menyatakan tujuan dan ruang lingkup pembelajaran dan tugas – tugas yang akan dikerjakan. b) Daftar singkat dua atau tiga produk Kriteria yang dianggap penting dalam keberhasilan implementasi dapat digunakan untuk membuat daftar produk-produk DBMS dalam evaluasi, seperti dana yang tersedia, tingkat dukungan vendor, kecocokan dengan perangkat lunak lainnya, dan apakah produk hanya berjalan pada perangkat keras tertentu. c) Evaluasi produk Fitur-fitur yang digunakan dalam evaluasi produk-produk DBMS dikelompokkan menjadi definisi data, definisi fisik, kemampuan akses, penanganan keperluankeperluan, pengembangan, dan fitur-fitur lainnya. 21 d) Merekomendasikan pilihan dan memproduksi laporan Langkah terakhir dari pemilihan DBMS adalah mendokumentasikan prosesnya dan membuat pernyataan dalam penemuan dan rekomendasi atas produk DBMS tertentu. 2.7.6 Application design Bertujuan merancang antarmuka pemakai (user interface) dan program aplikasi yang menggunakan dan memproses basisdata (Connolly, 2005, p299). Dua aspek merancang aplikasi yaitu : a) Perancangan Transaksi (Transaction Design) Transaksi adalah aksi atau rangkaian aksi yang dilakukan oleh seorang pengguna atau program aplikasi yang mengakses atau mengubah isi dari basisdata (Connolly, 2005, p300). Ada 3 jenis transaksi yaitu : 1. Retrieval tran sactions : digunakan untuk mendapatkan data untuk ditampilkan pada layar atau pada pembuatan laporan. 2. Update tran sactions : digunakan untuk memasukkan data baru, menghapus data lama atau memodifikasi data yang ada dalam basisdata. 3. Mixed transactions : mencakup pengambilan dan pengubahan data. b) Perancangan Antarmuka Pengguna (User Interface Design) Elemen-elemen dalam merancang suatu antarmuka pengguna (user interface) (Connolly, 2005, p301) antara lain : 1. Penetapan judul yang bermakna. 2. Instruksi-instruksi yang dapat dipahami. 3. Pengelompokkan logika dan pengurutan kolom. 22 4. Bentuk form yang menarik secara visual. 5. Judul kolom yang dikenal. 6. Penggunaan istilah dan singkatan yang konsisten. 7. Penggunaan warna yang konsisten. 8. Ruang dan batasan yang terlihat untuk menginput kolom. 9. Pergerakan kursor yang mudah. 10. Perbaikan kesalahan untuk satu huruf dan semua kolom. 11. M enampilkan pesan kesalahan terhadap nilai yang tidak sesuai. 12. Pemberian tanda terhadap kolom yang berupa pilihan (optional field). 13. Pesan-pesan yang bersifat penjelasan untuk suatu kolom. 14. Pemberian tanda penyelesaian. 2.7.7 Prototyping ( optional ) Prototyping adalah proses membangun sebuah model kerja dari aplikasi basisdata (Connolly, 2005, p304). Tujuan utama prototyping adalah untuk memungkinkan pengguna menggunakan prototype untuk mengidentifikasi fitur-fitur yang bekerja dengan baik pada sistem, atau kekurangannya, dan memberikan saran bagi peningkatan kerja sistem atau bahkan memberikan masukan terhadap pengembangan bahkan fitur-fitur baru ke dalam sistem basisdata. 2.7.8 Implementation Implementation adalah realisasi fisikal dari desain basisdata dan desain aplikasi (Connolly, 2005, p304). Dalam tahap ini juga akan diimplementasikan 23 komponen lain dari aplikasi basisdata seperti menu layar, pemasukan data, security dan kontrol integritas. 2.7.9 Data conversion and loading Data conversion and loading adalah suatu proses mentransfer data yang ada ke dalam basisdata baru dan mengubah aplikasi yang ada untuk dijalankan dalam basisdata baru (Connolly, 2005, p305). Tahap ini hanya dibutuhkan ketika sistem basisdata baru menggantikan sistem yang lama. 2.7.10 Testing Testing adalah suatu proses mengeksekusi sistem basisdata dengan tujuan untuk menemukan kesalahan (Connolly dan Begg, 2005, p305). 2.7.11 Operational maintainance Operational maintenance adalah suatu proses memonitor dan memelihara sistem dan diikuti dengan instalasi (Connolly dan Begg, 2005, p306). 2.8 Teori Web 2.8.1 Web Web adalah aplikasi yang menyangkut banyak komputer. Web menyediakan fasilitas seperti menyimpan informasi, menemukan dan mengambil informasi, menyimpan dan mengeksekusi program komputer, meng-input dan memanipulasi informasi, dan yang paling utama adalah siapa saja yang dapat menggunakan fitur – 24 fitur tersebut. Web menyediakan fasilitas tersebut dengan menggunakan jaringan komputer dunia luas yang disebut internet. 2.8.2 Web Server Web server adalah software yang menyediakan layanan web. Web server mempunyai dua arti yaitu : 1. Program komputer yang bertanggung jawab untuk menerima HTTP request dari client yang dikenal sebagai web browser dan memberikan respon dari HTTP client bersama dengan data – data optional yang biasanya berupa halaman – halaman web seperti dokumen - dokumen HTM L dan objek – objek yang terhubung seperti gambar, dan lain-lain. 2. Sebuah komputer yang menjalankan program komputer yang menghasilkan fungsi – fungsi yang telah dideskripsikan pada point pertama. Web server biasanya digunakan untuk menyimpan informasi dan melayani yang diakses oleh web client. Tempat bagi web server untuk menyimpan informasi disebut dengan web site. Web site adalah penyimpanan file secara konvensional yang mana file tersebut berisi dokumen – dokumen web dan sumber – sumber lainnya. Dokumen tersebut dapat berbentuk form atau file html, tetapi dapat juga berbentuk plain text file, pdf file atau format lainnya dimana dokumen tersebut dapat disimpan. Sumber – sumber dapat berupa executeable code yang serin g disebut juga script untuk mengakses program. Web server menggunakan protokol yang disebut dengan HTTP (HyperText Transfer Protocol). 25 2.8.3 HTML HyperText Markup Language (HTM L) adalah sebuah bahasa markup yang digunakan untuk membuat sebuah halaman web dan menampilkan berbagai informasi di dalam sebuah browser internet. Bermula dari sebuah bahasa yang sebelumnya banyak digunakan di dunia penerbitan dan percetakan yang disebut dengan SGM L HTM L adalah sebuah standar yang digunakan secara luas untuk menampilkan halaman web dan HTM L kini merupakan standar Internet saat ini. 2.8.4 CSS Cascading Style Sheet (CSS) adalah kumpulan informasi berupa style-style untuk format desain halaman web seperti style font, warna background dan sebagainya untuk menjaga konsistensi tampilan disetiap halaman web(Lowe, 2006, p242). 2.8.5 PHP PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada waktu itu PHP bernama FI (Form Interpreted). Pada saat tersebut PHP adalah sekumpulan script yang digunakan untuk mengolah data form dari web. Perkembangan selanjutnya adalah Rasmus melepaskan kode sumber tersebut dan menamakannya PHP/FI, pada saat tersebut kepanjangan dari PHP/FI adalah Personal Home Page/Form Interpreter. Dengan pelepasan kode sumber ini menjadi open source, maka banyak programmer yang tertarik untuk ikut mengembangkan PHP. 26 Pada November 1997, dirilis PHP/FI 2.0. Pada rilis ini interpreter sudah diimplementasikan dalam C. Dalam rilis ini disertakan juga modul-modul ekstensi yang meningkatkan kemampuan PHP/FI secara signifikan. Pada tahun 1997, sebuah perusahaan bernama Zend, menulis ulang interpreter PHP menjadi lebih bersih, lebih baik dan lebih cepat. Kemudian pada Juni 1998 perusahaan tersebut merilis interpreter baru untuk PHP dan meresmikan nama rilis tersebut menjadi PHP 3.0. Pada pertengahan tahun 1999, Zend merilis interpreter PHP baru dan rilis tersebut dikenal dengan PHP 4.0. PHP 4.0 adalah versi PHP yang paling banyak dipakai. Versi ini banyak dipakai sebab versi ini mampu dipakai untuk membangun aplikasi web kompleks tetapi tetap memiliki kecepatan proses dan stabilitas yang tinggi. Pada Juni 2004, Zend merilis PHP 5.0. Versi ini adalah versi mutakhir dari PHP. Dalam versi ini, inti dari interpreter PHP mengalami perubahan besar. Dalam versi ini juga dikenalkan model pemrograman berorientasi objek baru untuk menjawab perkembangan bahas pemrograman kearah pemrograman berorientasi objek.(Leon Atkinson dan Zeev Suraski, 2004, p8). 2.8.6 AJAX Asynchronous JavaScript And XM L, atau disingkat Ajax, adalah suatu teknik pemrograman berbasis web untuk menciptakan aplikasi web interaktif. Tujuannya adalah untuk memindahkan sebagian besar interaksi pada komputer web browser, melakukan pertukaran data dengan server di belakang layar, sehingga halaman web tidak harus dibaca ulang secara keseluruhan setiap kali seorang 27 pengguna melakukan perubahan. Hal ini akan meningkatkan interaktivitas, kecepatan, dan usability. Ajax merupakan kombinasi dari: 1. XHTM L (atau HTM L) dan CSS untuk bahasa mark up dan tampilan. 2. DOM yang diakses dengan client side scripting language, khususnya implementasi ECM Ascript seperti Javascript dan JScript, untuk menampilkan secara dinamis dan berinteraksi dengan informasi yang ditampilkan. 3. Objek XM LHttpRequest untuk melakukan pertukaran data asinkronus dengan web server. Pada beberapa framework dan kasus Ajax, objek IFrame lebih dipilih daripada XM LHttpRequest untuk melakukan pertukaran data dengan web server. 4. XM L umumnya digunakan sebagai format untuk pengiriman data. 2.8.7 MySQL MySql adalah salah satu software dari DBM S yang digunakan untuk aplikasi database perusahaan-perusahaan skala kecil-menengah. Kemudahan dari MySql merupakan salah satu kelebihan yang membuat software ini digunakan oleh begitu banyak programmer. Disamping kemudahannya kinerja dari MySql ini sudah tidak diragukan lagi. Query dari software ini dapat melakukan kurang lebih 800 update data tiap detiknya (Sidik, 2001, p1). MySql juga merupakan sebuah software yang bersifat open source, sehingga software ini dapat digunakan untuk kepentingan personal dan komersial tanpa harus mendapat lisensi dari perusahaan pembuat. Tetapi lisensi dari M ySql dapat diperoleh, jika kita tidak menginginkan listing program yang kita buat untuk di share. M odul dari MySql ini sudah dapat dimigrasikan kedalam software database Oracle. 28 MySQL adalah sebuah DBM S yang penuh fitur. Ia sangat stabil dan telah membuktikan banyak kehebatannya selama ini. M ySQL telah diproduksi lebih dari 10 tahun. MySQL adalah sebuah Multithreaded server. Multithreaded berarti setiap waktu seseorang seseorang melakukan koneksi dengan server. Program di server menciptakan thread atau proses untuk menangani permintaan klien. Ini menjadikannya sebagai server yang sangat cepat. Hal ini mengakibatkan setiap klien yang terkoneksi ke sebuah server M ySQL mendapatkan thread atau prosesnya masing-masing. Fitur lainnya adalah sistem bantuan online (online help sistem). Semua perintah untuk MySQL diberikan dalam command prompt. Untuk melihat argumen mana yang dipakai untuk perintah atau kegunaan dari sebuah perintah, yang harus kita lakukan hanya mengetik perintah tersebut dan menambahkan perintah –help atau -?. Ini akan menampilkan informasi tentang perintah yang diketik sebelumnya. Selain itu MySQL juga portable , ia telah dapat diaplikasikan atau di portkan ke hampir setiap platform. Ini berarti kita tidak harus mengganti platform utama kita untuk menggunakan MySQL. Dan jika anda ingin pindah ke platform baru pun , ada kemungkinan port MySQL bisa digunakan di platform yang baru. MySQL juga mempunyai banyak API (Application Programming Interface) yang berbeda-beda. Termasuk di dalamnya API untuk Perl , TCL , Python , C/C++ , Java (JDBC) , dan ODBC. Jadi , tidak peduli apapun keahlian perusahaan anda , MySQL mempunyai jalan untuk mengaksesnya. 29 MySQL juga sangat murah. Untuk sebuah MySQL yang tidak terlisensi dan full version , harganya adalah 0 atau gratis. Untuk melisensikan salinan program, anda hanya perlu mengeluarkan $200. Ini merupakan sebuah harga yang sangat murah, mengingat apa yang bisa kita dapatkan dari uang tersebut. Sistem database yang menyediakan hampir setengah fitur dari fitur yang dimiliki M ySQL dapat menghabiskan uang sepuluh ribuan dolar US. M ySQL dapat melakukan lebih baik dari apa yang dilakukan database lain dan dengan harga yang lebih murah. (M askakowski , 2000 , p10). Table 2. 1 Ukuran Data Number Data Type TINYINT S MALLINT MED IUMINT INT, INTEGER BIGINT FLOAT(p) FLOAT DOUBLE [PRECIS ION], REAL DECIMAL(M,D), NUMERIC(M,D) BIT(M) S torage Required 1 byte 2 bytes 3 bytes 4 bytes 8 bytes 4 bytes if 0 <= p <= 24, 8 bytes if 25 <= p <= 53 4 bytes 8 bytes Varies; see following discussion approximately (M+7)/8 bytes Table 2. 2 Ukuran Data Desimal Le ftove r Digits 0 1 2 3 4 5 6 7 8 Numbe r of Bytes 0 1 1 2 2 3 3 4 4 30 Table 2. 3 Ukuran Data Waktu Data Type DATE TIME DATETIME TIMES TAMP YEAR Storage Required 3 bytes 3 bytes 8 bytes 4 bytes 1 byte Table 2. 4 Ukuran Data Variabel Data Type Storage Required CHAR(M) M × w bytes, 0 <= M <= 255, where w is the number of bytes required for the maximum-length character in the character set M bytes, 0 <= M <= 255 L + 1 bytes if column values require 0 – 255 bytes, L + 2 bytes if values may require more than 255 bytes L + 1 bytes, where L < 28 L + 2 bytes, where L < 216 L + 3 bytes, where L < 224 BINARY(M) VARCHAR(M), VARBINARY(M) TINYBLOB, TINYTEXT BLO B, TEXT MEDIUMBLO B, MEDIUMTEXT LO NGBLOB, LO NGTEXT ENUM('value1','value2',...) SET('value1','value2',...) L + 4 bytes, where L < 232 1 or 2 bytes, depending on the number of enumeration values (65,535 values maximum) 1, 2, 3, 4, or 8 bytes, depending on the number of set members (64 members maximum)