BAB 2. LANDASAN TEORI 2.1. Pengenalan UML Unified Modeling Language (UML) merupakan satu kumpulan konvensi pemodelan yang digunakan untuk menentukan atau menggambarkan sebuah sistem software yang terkait dengan objek (Whitten L. Jeffery et al, 2004). Sementara menurut Henderi (2007: 4) Unified Modeling Language (UML) adalah sebuah bahasa pemodelan yang telah menjadi standar dalam industri software untuk visualisasi, merancang, dan mendokumentasikan sistem perangkat lunak. Bahasa Pemodelan UML lebih cocok untuk pembuatan perangkat lunak dalam bahasa pemrograman berorientasi objek (C++, Java, VB.NET), namun demikian tetap dapat digunakan pada bahasa pemrograman prosedural (Ziga Turck, 2007) Unified Modeling Language (UML) biasa digunakan untuk (Henderi, 2007 :11) 1. Menggambarkan batasan sistem dan fungsi-fungsi sistem secara umum, dibuat dengan use case dan actor 2. Menggambarkan kegiatan atau proses bisnis yang dilaksanakan secara umum, dibuat dengan interaction diagram 3. Menggambarkan representasi struktur statik sebuah sistem dalam bentuk class diagram 4. Membuat model behavior ”yang menggambarkan kebiasaan atau sifat sebuah sistem” dengan state transition diagram 5. Menyatakan arsitektur implementasi fisik menggunakan component and development diagram 6. Menyampaikan atau memperluas fungsionality dengan stereotypes (Ziga Turck, 2007) Unified Modeling Language (UML) merupakan salah satu alat bantu yang sangat handal dalam bidang pengembangan sistem berorientasi objek karena UML menyediakan bahasa pemodelan visual yang memungkinkan pengembang sistem membuat blue print atas visinya dalam bentuk yang baku. UML berfungsi sebagai jembatan dalam mengkomunikasikan beberapa aspek dalam sistem melalui sejumlah elemen grafis yang bisa dikombinasikan menjadi diagram. UML mempunyai banyak diagram yang dapat mengakomodasi berbagai sudut pandang dari suatu perangkat lunak yang akan dibangun. (Syafei 2006) 4 http://digilib.mercubuana.ac.id/ Diagram-diagram tersebut digunakan untuk (Henderi et al, 2008:71) : 1. Mengkomunikasikan ide 2. Melahirkan ide-ide baru dan peluang-peluang baru 3. Menguji ide dan membuat prediksi 4. Memahami struktur dan relasi-relasinya 2.1.1 Definisi Use Case Diagram Use Case diagram adalah model fungsional sebuah sistem yang menggunakan actor dan use case. Use Case adalah layanan (services) atau fungsi-fungsi yang disediakan oleh sistem untuk pengguna-penggunanya (Henderi et al, 2008). Use Case adalah suatu pola atau gambaran yang menunjukan kelakukan atau kebiasaan sistem. Setiap Use Case adalah suatu urut-urutan sequence) transaksi yang saling berhubungan dan dilakukan oleh sebuah actor dan sistem dalam bentuk sebuah dialog (Henderi, 2007). Use Case Diagram dibuat untuk memvisualisasikan / menggambarkan hubungan antara Actor dan Use Case. Use Case diagram mempresentasikan kegunaan atau fungsi-fungsi sistem dari perspektif pengguna. (Syafei 2006) Simbol dan notasi dasar use case diagram : Sistem Gambar batasan (boundries) sebuah sistem menggunakan empat persegi panjang yang berisi use case-use case. Tempatkan actoractor yang terlibat pada setiap use case pada bagian luar boundaries sistem (gambar 2.1) Use Case Gambar use cases menggunakan lingkaran berbentuk bulat telur (ovals) Beri nama ovals tersebut dengan kata kerja (verbs) yang menggambarkan fungsi-fungsi sistem (gambar 2.2) Actors Actors adalah para pengguna (users) dari sebuah sistem. Kadangkala sebuah sistem adalah merupakan actors bagi sistem yang lain, beri nama actors sistem tersebut dengan streotipe (bentuk klise/tiruan) actor (gambar 2.3). Actor adalah seseorang atau sesuatu yang harus berinteraksi dengan sistem atau sistem 5 http://digilib.mercubuana.ac.id/ yang dibangun/dikembangkan. Relationships Ilustrasikan atau gambaran relasi/hubungan antara sebuah actor dan use case dengan sebuah garis sederhana. Untuk relasi-relasi antara use cases, gunakan tanda anak panah-anak panah pada ”uses” yang lainnya atau gunakan ”extends”. Suatu relasi ”uses mengindikasikan bahwa ada use case yang dibutuhkan oleh use case yang lain untuk melakukan sebuat permintaan (task). Sementara suatu relasi ”extends” mengindikasikan beberapa alternatif opsi (pilihan) tertentu pada tingkatan yang lebih bawah yang ada pada use case (gambar 2.4) 2.1.2 Definisi Activity Diagram Activity diagram adalah diagram yang menggambarkan sifat dinamis secara alamiah sebuah sistem dalam bentuk model aliran dan kontrol dari aktivitas ke aktivitas lainnya (Henderi, 2007). Sebuah aktivitas merepresentasikan suatu operasi pada beberapa class dalam sistem yang menghasilkan suatu perubahan keadaan (state) dari sistem tersebut. Secara khusus, activity diagram biasa digunakan untuk memodelkan diagram alir sebuah sistem kerja (workflow) atau proses bisnis (prosedur bisnis) dan operasi-operasi secara internal (Miller Randy, 2008). Sementara menurut Whitten L. Jeffery el al (2004: 428), activity diagram adalah sebuah diagram yang dapat digunakan untuk menggambarkan secara grafis aliran proses bisnis, langkah-langkah sebuah use case atau logika behavior (metode) object. Karena sebuah activity diagram adalah bentuk khusus dari statechart diagram, maka activity diagram kadangkala digunakan untuk memodelkan suatu kebiasaan sesuai dengan ketentuan/kaedah bisnis. (Syafei 2006) Untuk dapat pembangun activity diagram yang baik, berikut proses yang unggul untuk membangun activity diagram: 1. Tambahkan poin awal dan akhir pada sebuah use case 2. Tambahkan sebuah kegiatan untuk tiap langkah utama pada use case (atau tiap langkah utama setiap pelaku yang menginisialisasi) 3. Tambahkan transisi dari setiap kegiatan ke kegiatan lain, poin keputusan, atau poin akhir 6 http://digilib.mercubuana.ac.id/ 4. Tambahkan bar sinkronisasi di mana kegiatan dilakukan secara paralel. Simbol dan notasi Activity Diagram Action states Action state adalah representasi/gambaran dari aksi yang tidak bisa diganggu oleh aksi yang berasal dari objek-objek. Action state digambarkan dalam bentuk empat persegi panjang yang pada sudutsudutnya melingkar (Gambar 2.6 ). Action Flow Action digambarkan dalam bentuk anak panah yang mengilustrasikan relasi antara action pada state ( Gambar 2.7 ). Object Flow Object flow menunjuk kepada kegiatan penciptaan (mengcreate) dan memodifikasi oleh objek melalui activities. Sebuah tanda panah objek flow dari suatu aksi kepada suatu objek berarti bahwa aksi tersebut meng-create atau mempengaruhi objek tersebut. Sementara suatu tanda panah dari objek kepada suatu aksi mengindikasikan bahwa aksi state tersebut menggunakan objek ( Gambar 2.8 ). 2.2. Pengertian Web Server Web server adalah perangkat lunak (software) pada sebuah server yang berperan untuk menerima permintaan data melalui protokol HTTP, HTTPS dan Websocket kemudian mengirimkan data atau berkas kepada klien dalam beentuk HTML pada umumnya. Protokol yang sering kita jumpai pada penggunaan web server adalah HTTP dan HTTPS, namun pada perkembangan website yang semakin modern dan aneka fitur, websocket juga banyak dipakai untuk aplikasi live chat atau push notification yang bersifat real time. Klien yang dimaksudkan disini pada umumnya adalah web browser seperti google crome, mozilla firefox, safari, internet explorer, ataupun opera. Namun istilah klien bagi para software enginer atau programmer bisa juga aplikasi crawlr atau scraper seperti wget dan curl yang sering dipakai untuk mengambil data dari sebuah website. Sebagaimana istilah klien bagi para sysadmin, software enginer atau programmer, data yang dikirimkan dari web server kepada klien tidak hanya berupa HTML, namun ada juga 7 http://digilib.mercubuana.ac.id/ yang berbentuk XML, maupun JSON, kedua format ini banyak digunakan oleh API ( Application Programming interface ). (Bastian 2007) Berkas-berkas yang di transfer bisa berupa teks, video, gambar, file, musik, dan masih banyak lagi yang lain. 2.2.1 Cara Kerja Web Server Sederhananya, alur cara kerjanya adalah Klien meminta data, Web Server mengolah data, Web Server mengirim data. Ayo kita bedah satu per satu alur kerja diatas. 1. Klien meminta data Klien, bisa berupa web browser, atau aplikasi crawler (Wget, Curl) meminta data kepada Web Server melalui alamat IP atau URL. Biasanya, web server yang bersifat publik akan menerima data dari URL untuk alasan keamanan, biar website tidak diretas, scaling up web server dengan load balancer lebih mudah ataupun perubahan DNS tidak mempengaruhi fungsi web server. 2. Web Server mengolah data Permintaan dari Klien diteruskan oleh web server kepada aplikasi web sesuai dengan URL atau alamat IP yang diminta. Dari aplikasi web akan memberikan data kepada web server. Kemudian, web server meneruskan datanya kepada klien. Perlu diketahui bahwa aplikasi web dan web server ini berbeda. Misal, pembaca memiliki website dengan CMS WordPress dan web server Apache. Apache ini adalah web server, sedangkan WordPress adalah aplikasi web. Nah, ketika klien mengetikkan website pembaca, maka yang pertama kali melalukan respon adalah web server, kemudian web server meneruskannya kepada WordPress. WordPress mengolah data, kemudian diberikan kepada web server untuk meneruskannya. Mungkin muncul pertanyaan, “Kalau seperti ini, berarti aplikasi web / web appplication lah yang mengolah data, bukan Web Server. Iya kan?”. Pertanyaan ini ada benarnya, tetapi data yang diolah oleh web server ini adalah respon dari data yang diberikan oleh WordPress itu ada / berhasil, data tidak ditemukan, atau wordpress tidak dapat mengolah data tersebut. Kita bahas respon data ini pada tahap berikutnya. 3. Web Server mengirim data Pengiriman data dari web server kepada klien ini adalah Data + Responnya. Respon yang penulis maksud disini adalah HTTP Status code 200, 403, 404, 500, dan sebagainya. 8 http://digilib.mercubuana.ac.id/ Untuk lebih jelasnya mengenai HTTP Status Code bisa dilihat di Wikipedia. Pada artikel ini, penulis hanya memberikan beberapa HTTP Status Code yang sering muncul. 200 OK : Server berhasil mengolah data. 301 Moved Permanently : halaman website atau URI yang kita minta telah di redirect. 400 Bad Request : Server tidak bisa atau tidak akan memproses respon karena kesalahan klien. Error ini sering muncul ketika kita mengupload berhasil ke server dengan ukuran yang sangat besar menurut server atau ukurannya melebihi batas yang diwajibkan oleh server. 403 Forbidden : Server menolak request. Kode ini muncul jika kita mengakses sesuatu yang tidak diperbolehkan server seperti mengakses berhasil di server sekaligus, melihat direktori server, dll. 404 Not Found : Respon yang paling sering ditemui jika tidak dapat menemukan request / permintaan kepada server. 500 Internal Server Error : Bagi sysadmin, software enginer ataupun programmer pasti sering mendapatkan respon ini jika kodingan atau konfigurasi server ada yang salah. Kode-kode ini dan data permintaan yang nantinya dikirim oleh Web Server kepada Klien. 2.2.2 Contoh Web Server Ada banyak jenis web server yang dipakai karena memiliki fungsi dan kelebihan masing-masing. Pada artikel kali ini, penulis hanya memberikan beberapa web server yang populer digunakan. 1. XAMP XAMPP adalah aplikasi open source yang mendukung banyak sistem operasi (multi platform) dan banyak digunakan oleh developer karena sudah lengkap. di dalam XAMPP terdapat Web server Apache, bahasa pemrograman PHP dan Perl, database MySQL dan MariaDB, PHP Myadmin dan masih banyak lagi. 9 http://digilib.mercubuana.ac.id/ XAMPP cocok digunakan pada tahap development, tetapi penulis tidak merekomendasikan penggunaan XAMPP pada proses production karena XAMPP Lack of Memory. Memory (RAM) yang dibutuhkan untuk melakukan satu request dari klien cukup menyita memory. 2. Apache Apache adalah aplikasi web server yang bersifat open source yang kini banyak digunakan di internet karena konfigurasi yang mudah. Apache dapat dijalankan di sistem operasi yang populer seperti Windows, Linux, Unix, BSD, dan lain-lain. Pada awalnya, apache merupakan perangkat lunak sebagai alternatif Netscape. Sejak April 1996, Apache menjadi server web terpopuler di Internet. Pada Mei 1999, Apache digunakan di 57% dari semua web di seluruh dunia. Pada November 20005, presentasi ini naik menjadi 71%. (sumber: Netcraft Web Server Survey, November 2005). Nama Apache berasala dari sebuah server web populer yang dikembangkan pada awal tahun 1995 yang bernama NCSA HTTPd 1.3 mimiliki sejumlah perubahan besar terhadap kode sumber (patch). Karena terlalu banyaknya patch pada perangkat lunak tersebut sehingga disebut sebah server yang memiliki banyak patch (“a patchy” server). Tetapi pada halaman FAQ situs web resminya, kata “Apache” dipilih untuk menghormati suku asli Indian Amerika Apache, yang dikenal karena keahlian dan strategi perangnya. Apache cocok digunakan bagi anda yang butuh konfigurasi yang mudah dan cepat, namun sayangnya memori yang digunakan juga besar. Jika anda tidak terlalu penting dengan memori yang digunakan, maka Apache bisa menjadi pilihan bagi web server anda. 3. Nginx Nginx adalah web server terpopuler kedua setelah Apache yang juga bersifat open source. Nginx ditulis oleh seorang warna negara Rusia yang bernama Igor Sysoev pada tahun 20002 dan dirilis ke publik pada tahun 2004. Nginx terkenal karena stabil, memiliki performa tinggi dan minim mengonsumsi sumber daya (memory). 10 http://digilib.mercubuana.ac.id/ Bagi pembaca yang memiliki website dengan trafik tinggi bisa menggunakan Nginx sebagai web server daripada Apache untuk mengatasi masalah sumber daya. Namun, menurut penulis, konfigurasi Nginx sedikit lebih sulit daripada Apache. Tetapi kalau sudah terbiasa ya mudah sebenarnya, hehe. Contoh Website – website besar yang menggunakan Nginx sebagai core web server mereka adalah WordPress, Github, Sourceforge, sedangkan Website-website di Indonesia yang pakai Nginx adalah Bukalapak, Tokopedia, Lazada, dan masih banyak lagi. Untuk Lazada mengkombinasikan Nginx dan Apache, jadi tidak pure hanya Nginx. 4. LiteSpeed LiteSpeed Web Server (LSWS) adalah web server pengganti Apache (kebanyakan code nya merupakan optimasi dari Apache) dengan high performance. Banyak fitur LiteSpeed yang serupa dengan apache seperti mod_rewrite, htaccess, mod_security. Pada halaman websitenya, LiteSpeed dapat meningkatkan kinerja dan stabilitas karena konsumsi minimal memori dan penggunaan CPU. Pada hasil banchmark LiteSpeed dan Apache, LiteSpeed memiliki kecepatan 6 kali dibandingkan dengan Apache. LiteSpeed juga dapat menahan serangan DDOS Attack yang banyak ditakuti pemilik website, namun DDOS ini hanya berskala kecil – menengah saja. Meskipun begitu, LiteSpeed juga patut diperhitungkan dari segi keuntungan atau manfaat yang diberikan. LiteSpeed ada yang gratis, ada pula yang berbayar. Yang membedakan antara yang gratis dan berbayar tentunya fitur dan optimasi yang diberikan oleh LiteSpeed. 2.3. Web Browser dan HTML Web browser adalah aplikasi untuk menampilkan halaman yang berbentuk kode HTML, “HTML (Hypertext Markup Language) adalah protokol yang digunakan untuk mentransfer data atau dokumen dari web server kedalam web browser.sebagai mana kita ketahui HTML adalah standar untuk membuat halaman-halaman web, walaupun beberapa file mempunyai ekstensi yang berbeda seperti (.html dan .php), dalam penggunaanya 11 http://digilib.mercubuana.ac.id/ sebagian besar kode HTML tersebut terletak diantara tag container, yaitu diawali dengan nama tag dan di akhiri dengan nama tag yang sama dengan tanda (/), HTML mempunyai tiga buah tag utama yang membentuk struktur dari dokumen tersebut seperti ( tag HTM, HEAD, dan BODY ). (Priyanto 2007) 2.4. Database dan MySQL Database adalah sebuah struktur yang umumnnya terbagi dalam 2 hal, yaitu sebuah database flat dan database relasional. Database relasional lebih mudah dipahami daripada database flat karena database relasional mempunyai bentuk yang sederhana serta mudah dilakukan operasi data. Mysql sendiri adalah sebuah database relasional, database yang memiliki struktur relasional terdapat tabel-tabel untuk menyimpan data pada setiap tabel terdiri dari kolom dan baris serta sebuah kolom untuk mendefinisikan jenis informasi apa yang harus disimpan. (Kristanto 1994) 2.3.1 Database Relasional Konsep model database relasional pertama kali diusulkan oleh para peneliti IBM, Dr. Edgar F.Codd pada tahun 1969, dan model database yang paling banyak di gunakan saat ini. Dr. Codd awalnya mencari cara baru untuk menangani data dalam jumlah besar. Namun, karena keterbatasan model jaringan hirarki dan umum digunakan prinsip-prinsip matematika diterapkan dalam penyusunan data-nya. Dan karena memiliki keahlian dalam bidang matematika, Dr.Codd mencoba untuk menemukan cara untuk mengatasi, sering muncul dalam database model masalah saat ini, relasional redundansi data, data dan ketertiban ketergantungan pada media penyimpanan, seperti antara. Dr.Codd mempresentasikan makalah berjudul Pengekspor Juni 1970 makalah konsep model database relasional dari model relasional dari dua cabang matematika “basis data bersama besar model relasional data”: teori set dan orde pertama logika predikat. Database relasional untuk menyimpan data ‘relasi’ atau disebut juga tabel. Setiap tabel terdiri dari tupel atau record dan atribut atau field. Dalam penyusunan urutan media penyimpanan fisik tidak berpengaruh pada model ini, dan setiap record terdiri dari bidang yang unik diidentifikasi dalam tabel. Model database relasional adalah database saat ini paling populer dan banyak digunakan dalam berbagai aplikasi, termasuk Oracle dan MySQL. Relasional aplikasi 12 http://digilib.mercubuana.ac.id/ database Model, juga dikenal sebagai sistem manajemen database relasional (RDBMS). Sistem manajemen database relasional (RDBMS) software adalah aplikasi menggunakan relasional model database sebagai dasarnya. Sejak 1970an, RDBMS sudah digunakan oleh berbagai pengguna, hardware dan pilihan berbagai sistem. sda RDBMS pertama adalah sistem relational, Yang dikembangkan oleh IBM, Dan INGRES (grafis interaktif sistem pencarian), University of California, Keduanya pada tahun 1970an. Keunggulan data relasional dikenal perusahaan Mulai berlalih dari model database jaringan hirarki dan cabang model database relasional. Pada tahun 1980an, Oracle RDBMS lahir, Dan diikuti oleh pesaingnya saat itu, IBM DB2 database relasional. Jika pada tahun 1980an RDBMS hanya dapat digunakan pilihan Menteri Perusahaan sistem host, namun Saat ini dengan Semakin majunya Perkembangan teknologi hardware, berbasis pc RDBMS sudah berjalan, Jumlah: Tersedia. MySQL RDBMS dapat diinstal di komputer servis biasa / laptop. Ketika mengggunakan software sistem manajemen database terkomputerisasi, umumnya menggunakan database relasional. Prinsip database relasional adalah informasi dibagi menjadi beberapa data yang terpisah secara logis. Data-data yang terpisah tersebut diletakan dalambentuk tabel. Tabel adalah objek dasar yang merupakan jantung dari database relasional. Tabel adalah dasar penyimpanan informasi dan pengambilannya. Ketika informasi sudah tersimpan di tabel-tabel yang terpisah anda nantinya dapat melihat, mengedit, menambah, dan menghapus informasi dengan berbagai metode. Selain itu juga bisa mengambil informasi mengggunakan query dan menampilkan informasi menggunakan report. (Fardhin 2015) Keunggulan penyimpanan data menggunakan database relasional sengat banyak dibandingkan dengan penyimpanan kesatu tabel ukuran besar dua dimensi seperti di dokument word atau spreedsheet excel Salah satu utama keunggulan database relasional adalah kekuranganya redundansi data. Konsekuensinya tidak hanya penyimpanan hardisk menjadi berkurang, tetapi kecepatan pemprosesan data juga berkurang. Selain itu, ada kelebihan lainnya, yaitu : 13 http://digilib.mercubuana.ac.id/ Fleksibilitas : jika data berubah, hanya dapatmengupdate nilainya hanya pada satu tempat, dengan demikian semua query, form dan lainya akan berubah secara konsekuen dengan nilai yang baru tersebut. Simple : model penyimpanan tabel yang merupakan dasar dari sistem relasional memang simple, dan merupakan metode penyimpanan data yang tak redundan, Tiap tabel didesign relasional untuk objek tungal yang mengandung data , yang konsekuen terhadap aspek tertentu dari database, seperti pegawai, produk, atau order. Power : menyimpan data dalam tabel-tabel yang terpisah lebih memudahkan adanya pengelompokan searching, dan enngambilan data menggunakan banyak cara yang tak terbatas. Kemudahan manajemen : dengan tabel yang kecil dan tidak kompleks, informasi jadi mudah dilacak dan di atur. Misalnya menggunakan database untuk menympan data order dari pelanggan, Jika menggunakan tabel tung gal, ada banyak record yang dibuat untuk tap order yang dilakukan pelanggan. (S 2010) Kebutuhan client server arsitektur DBMS, bersama dengan jumlah pengguna dapat mengakses database mulai muncul sekitar awal 1990-an. Sebuah database terpusat, tetapi dapat diakses dari komputer remote, sehingga client server arsitektur dikembangkan banyak RDBMS. Di klien – server arsitektur, komputer bertindak sebagai pusat database server. Server akan layanan dari komputer (client) permintaan yang membutuhkan akses ke database. Tapi database fisik itu sendiri juga tidak di server, mungkin di tempat lain, tetapi koneksi ke server database untuk diproses. MySQL juga menggunakan client – server arsitektur. Tapi kemudian dalam tutorial ini, kita akan berjalan pada komputer yang sama sebagai server aplikasi dan klien. Tapi pada dasarnya, jika Anda menjalankan server MySQL di komputer kita, setiap komputer yang terhubung ke jaringan dapat mengaksesnya menggunakan klien MySQL. (Fardhin 2015) 14 http://digilib.mercubuana.ac.id/ 2.3.2 MySQL MySQL pertama kali dirintis oleh programmer database bernama Michael Widenius, menurutnya pertama kali dirintis oleh programmer database bernama Michael Widenius, menurutnya MySQL databse server adalah RDBMS (Relatsional database management sistem) yang dapat menangani data yang bervolume besar, Meskipun begitu tidak menutun resource yang besar, Mysql database yang paling populer diantara databasedatabase lainnya. MySQL adalah aplikasi atau sistem untuk mengelola database atau management data, untuk menyimpan data dan informasi kekomputer kita menggunakan data, File data yang dikelompokan inilah yang disebut database, dan MySQL bertugas mengatur dan mengelola struktur atau kerangkan yang berbentuk tabel, dalam tabel-tabel itulah data diatur dan di kelompokan, Sama halnya dengan PHP, MySQL merupakan jenis software yang termasuk open source, perangkat lunak sumber terbuka adalah jenis perangkat lunak yang kode sumbernya terbuka untuk dipelajari, diubah, ditingkatkan dan disebarluaskan, Karena sifat ini umumnya pengembangannya oleh satu kelompok yang bertujuan mengembangkan perangkat lunak yang bersangkutan, MySQL sudah cukup lama dikembangkan, beberap fasepenting dalam pengmbangan MySQL sebagai berikut : MySQL dirilis pertama kali secara internal pada 23 Mei 1995. Versi windows dirilis pada 8 Januari 1998 untuk windows 95 dan windows NT. Versi 3.23 : beta dari Agustus 2002, dan dirilis pada Januari 2001. Versi 4.0 : beta dari bulan Agustus 2002, dan si rilis pada Maret 2003 ( un-ions ). Versi 4.1 : beta dari bulan Juni 2004, dirilis pada bulan Oktober 2004 ( R-trees dan Btrees, sub queries, prepared statements ). Versi 5.0 : beta dari bulan Maret 2005, dirilis pada bulan Oktober 2005 ( cursor, storad procedure, trigger, views XA transaction ). Sun Micosystems membeli MySQL AB pada tanggal 26 Februari 2008. Versi 5.1 : dirilis pada tanggal 27 November 2008 ( event Scheduler, partitioning, plugin API, row-based replication, server log table .) MySQL dapat berjalan pada personal komputer ( banyak perngembang dari MySQL terjadi pada sistem yang tidak mahal yaitu Linux System ) tetai MySQL juga poetable dan dapat berjalan pada sistem operasi yang komersial seperti Windows, Solaris, dan Irix, 15 http://digilib.mercubuana.ac.id/ MySQL menggunakan bahasa SQL ( Strusctured Quesry Langguage ) adalah bahasa standart yang digunakan untuk mengakses server database. (Setiabudi November 2002) Dalam penulisan Skripsi ini, penulis merancang sebuah aplikasi web dengan menggunakan aplikasi MySQL untuk databasenya dikarenakan banyak keunggulan yang di milikinya, disamping tingkat keamanan yang cukup tinggi akses ke sistem database yang lebih fleksible dan menjadi pilihan dibandingkan dengan bahasa pemrograman lainnya yang berorientasi pada server-side-scripting. (Komputer 2010) Pada design web browser atau website dirancang menggunakan sebuah web server Apache, Server database MySQL, dan bahasa scripting PHP, secara garis besar hubungan antara client browser, web server, dan database server dapat di lihat pada gambar berikut. Gambar 2.9 Arsitektur Aplikasi Web Database MySQL 16 http://digilib.mercubuana.ac.id/