5 digilib.uns.ac.id perpustakaan.uns.ac.id BAB II LANDASAN TEORI 2.1 SMS Gateway SMS gateway merupakan pintu gerbang bagi penyebaran informasi dengan menggunakan SMS. Kita dapat menyebarkan pesan ke banyak nomor secara otomatis dan cepat yang langsung terhubung dengan database nomor-nomor ponsel saja, tanpa harus mengetik ratusan nomor dan pesan di ponsel kita, karena semua nomor akan diambil secara otomatis dari database tersebut (Tarigan, 2011). Selain itu dengan adanya SMS Gateway, kita dapat mengelola pesan-pesan yang ingin dikirim. Dengan menggunakan program tambahan yang dapat dibuat sendiri, pengirim pesan dapat lebih fleksibel dalam mengirim berita, karena biasanya pesan yang ingin dikirim berbeda-beda untuk masing-masing penerimanya (Tarigan, 2011). Cara kerja SMS gateway pada dasarnya hampir sama dengan mengirimkan SMS melalui handphone pada umumnya. Hanya saja, bedanya adalah perangkat pengirimnya bukan lagi handphone, tetapi modem GSM. Modem inilah yang dikendalikan oleh PC menggunakan aplikasi SMS Gateway yang kita buat. Adapun blok diagram sistem SMS Gateway dapat dilihat pada gambar 2.1 (Tarigan, 2011). commit to user Gambar 2.1 Blok Diagram SMS Gateway 6 digilib.uns.ac.id perpustakaan.uns.ac.id 2.2 Gammu Gammu adalah sebuah aplikasi yang dapat digunakan untuk mengelola berbagai fungsi pada handphone, modem dan perangkat sejenis lainnya. Fungsi-fungsi yang dapat dikelola oleh Gammu antara lain adalah fungsi nomor kontak (phonebook) dan fungsi SMS (Tarigan, 2011). Menurut Tarigan (2011), Keunggulan yang dimiliki gammu adalah sebagai berikut. 1. Kelebihan gammu dijalankan di windows maupun linux. 2. Banyak device yang kompatibel dengan gammu. 3. Gammu menggunakan database MySQL. 4. Baik kabel data USB maupun SERIAL, semuanya kompatible dengan gammu. 5. Gammu adalah aplikasi open source yang dapat dipakai secara gratis. 6. Gammu tidak memerlukan banyak hardware (hanya memerlukan PC + Modem), sehingga memudahkan dalam mengembangkan aplikasi dengan modal terjangkau. 2.3 Basis Data Basis data terdiri dari 2 kata, yaitu Basis dan Data. Basis kurang lebih dapat diartikan sebagai markas atau gudang, tempat bersarang/berkumpul. Sedangkan data adalah representasi fakta dunia nyata yang mewakili suatu obyek seperti manusia (pegawai, siswa, pembeli, pelanggan), barang, hewan, peristiwa, konsep, keadaan, dan sebagainya, yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, bunyi, atau kombinasinya (Fathansyah, 2012). Menurut Fathansyah (2012), Basis Data sendiri dapat didefinisikan dalam sejumlah sudut pandang, seperti: Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali commit to user dengan cepat dan mudah. perpustakaan.uns.ac.id 7 digilib.uns.ac.id Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redudansi) yang tidak perlu, untuk memenuhi berbagai kebutuhan. Kumpulan file/tabel/arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronis. Menurut Fathansyah (2012), di dalam sebuah disk, basis data dapat diciptakan dan dapat pula ditiadakan. Di dalam sebuah disk, kita dapat pula menempatkan beberapa (lebih dari satu) basis data. Sementara dalam sebuah basis data, kita dapat menempatkan satu atau lebih file/tabel. Pada file/tabel inilah sesungguhnya data disimpan/ditempatkan. Setiap basis data umumnya dibuat untuk mewakili sebuah semesta data yang spesifik. Karena itu, operasi-operasi dasar yang dapat kita lakukan berkenaan dengan basis data dapat meliputi: 1. Pembuatan basis data baru (create database), yang identik dengan pembuatan lemari arsip yang baru. 2. Penghapusan basis data (drop database), yang identik dengan perusakan lemari arsip (sekaligus beserta isinya, jika ada). 3. Pembuatan file/tabel baru ke suatu basis data (create table), yang identik dengan penambahan map arsip baru ke sebuah lemari arsip yang telah ada. 4. Penghapusan file/tabel dari suatu basis data (drop table), yang identik dengan perusakan map arsip lama yang ada di sebuah lemari arsip. 5. Penambahan/pengisian data baru ke sebuah file/tabel di sebuah basis data (insert), yang identik dengan penambahan lembaran arsip ke sebuah map arsip. 6. Pengambilan data dari sebuah file/tabel (retreive/search), yang identik dengan pencarian lembaran arsip dari sebuah map arsip. 7. Pengubahan data dari sebuah file/tabel (update), yang identik dengan commit to user perbaikan isi lembaran arsip yang ada di sebuah map arsip. 8 digilib.uns.ac.id perpustakaan.uns.ac.id 8. Penghapusan data dari sebuah file/tabel (delete), yang identik dengan penghapusan sebuah lembaran arsip yang ada di sebuah map arsip. 2.4 Data Flow Diagram (DFD) Data Flow Diagram (DFD) sering diterjemahkan menjadi diagram aliran data. DAD merupakan alat yang biasa dipakai untuk mendokumentasikan proses dalam sistem. DAD menekankan pada fungsifungsi di dalam sistem, cara menggunakan informasi yang tersimpan dan pemindahan informasi antar fungsi di dalam sistem. DAD konteks adalah DAD yang memperlihatkan sistem sebagai sebuah proses. Tujuannya adalah memberikan pandangan umum sistem. DAD konteks memperlihatkan sebuah proses yang berinteraksi degan lingkungannya. Ada pihak luar atau lingkungan yang memberi masukan dan ada pihak yang menerima keluaran sistem. Dalam hal ini pihak luar (sering disebut terminator) dapat berupa sistem lain, suatu perangkat keras, orang, atau organisasi (Kadir, 1998). Perlu diketahui bahwa simbol-simbol yang digunakan pada DAD mempunyai nama sebagaimana diperlihatkan pada tabel 2.1 (Kadir, 1998). Tabel 2.1 Simbol-Simbol dalam DAD Notasi Keterangan Notasi Terminator Proses Data Alur Data Penyimpanan Data commit to user 9 digilib.uns.ac.id perpustakaan.uns.ac.id Kotak digunakan untuk menggambarkan terminator atau suatu entitas eksternal (bagian lain, sebuah perusahaan, seseorang, atau sebuah mesin) yang dapat mengirim data dari sistem. Entitas eksternal, atau hanya entitas, disebut juga sumber atau tujuan data, dan dianggap eksternal terhadap sistem yang sedang digambarkan. Setiap entitas diberi label dengan sebuah nama yang sesuai. Meskipun berinteraksi dengan sistem, namun dianggap di luar batas-batas sistem. Entitas-entitas tersebut harus diberi nama dengan suatu kata benda. Entitas yang sama bisa digunakan lebih dari sekali atas suatu diagram aliran data tertentu untuk menghindari persilangan antara jalur-jalur aliran data (Kendall, et al, 2003). Tanda panah menunjukkan perpindahan data dari satu titik ke titik yang lain, dengan kepala tanda panah mengarah ke tujuan data. Aliran data yang muncul secara simultan bisa digambarkan hanya dengan menggunakan tanda panah paralel. Karena sebuah tanda panah menunjukkan seseorang, tempat, atau sesuatu, maka harus digambarkan dalam kata benda (Kendall, et al, 2003). Lingkaran digunakan untuk menunjukkan adanya proses transformasi. Proses-proses tersebut selalu menunjukkan suatu perubahan dalam di dalam atau perubahan data. Jadi aliran data yang meninggalkan suatu proses selalu diberi label yang berbeda dari aliran data yang masuk. Proses-proses yang menunjukkan hal itu di dalam sistem dan harus diberi nama menggunakan salah satu format berikut ini. Sebuah nama yang jelas memudahkan untuk memahami proses apa yang sedang dilakukan (Kendall, et al, 2003). 1. Menetapkan nama sistem secara keseluruhan saat menamai proses pada level yang lebih tinggi. 2. Menamai suatu subsistem utama. 3. Menggunakan format kata kerja, kata sifat, kata benda untuk prosesproses yang mendetail. commit to user 10 digilib.uns.ac.id perpustakaan.uns.ac.id Sebuah proses juga harus ditetapkan dengan suatu nama unik yang menunjukkan tingkatnnya di dalam diagram. Sejumlah aliran data bisa keluar masuk setiap proses. Mengamati proses dengan suatu aliran tunggal di dalam dan di luar aliran data yang hilang (Kendall, et al, 2003). Simbol data terakhir yang digunakan dalam diagram aliran data adalah bujur sangkar dengan kedua ujung terbuka, yang menunjukkan penyimpanan data. Simbol-simbol ini digambarkan hanya dengan lebar secukupnya saja sehingga memungkinkan menandai bentuk huruf-huruf diantara garis-garis paralel yang ada. Dalam diagram alairan data logika, jenis penyimpanan fisik tidak ditetapkan. Pada poin ini simbol penyimpanan data menunjukkan tempat penyimpanan untuk data-data yang memungkinkan penambahan dan perolehan data (Kendall, et al, 2003). Penyimpanan data menandakan penyimpanan manual, seperti lemari file, atau sebuah file atau basis data terkomputerisasi. Karena penyimpanan data mewakili seseorang, tempat atau sesuatu, maka diberi nama dengan sebuah kata benda (Kendall, et al, 2003). 2.4.1 Kesalahan Diagram Menurut Kendall, et al (2003), Sejumlah kesalahan bisa terjadi saat menggambar diagram aliran data. Beberapa kesalahan umum yang dibuat saat menggambar diagram aliran data adalah sebagai berikut. 1. Lupa memasukkan suatu aliran data atau mengarahkan kepala anak panah pada arah yang salah. Contohnya adalah sebuah proses gambaran yang menunjukkan semua aliran data sebagai masukan atau sebagai keluaran saja. Setiap proses mentarnsformasikan data dan harus menerima dan menghasilkan keluaran. Jenis kesalahan ini biasanya muncul bila penganalisis lupa memasukkan aliran data atau telah menempatkan kepala anak panah menuju arah yang salah. commit to user 11 digilib.uns.ac.id perpustakaan.uns.ac.id 2. Menghubungkan penyimpanan data dan entitas-entitas eksternal secara langsung satu sama lain. Penyimpanan data serta entitas juga tidak perlu dikoneksikan satu sama lain. Penyimpanan data dan entitas eksternal hanya terhubung dengan suatu proses. Suatu file tidak ditampilkan dengan file yang lain tanpa bantuan suatu program atau seseorang untuk memindahkan data. Entitas-entitas eksternal tidak secara langsung bekerja dengan file. Dua entitas eksternal yang terkoneksi secara langsung menunjukkan bahwa mereka ingin berkomunikasi satu sama lain. Koneksi ini tidak termasuk dalam diagram aliran data kecuali bila sistem memfasilitasi komunikasi tersebut. 3. Aliran data atau proses-proses pemberian label yang tidak tepat. Sebuah proses harus menunjukkan nama sistem atau menggunakan format kata kerja, kata sifat, kata benda. Masingmasing aliran data harus bisa digambarkan dengan sebuah kata benda. 4. Memasukkan lebih dari sembilan proses pada diagram aliran data. Memiliki terlalu banyak proses yang menciptakan suatu diagram yang kacau akan memusingkan untuk dibaca dan malah menghalangi komunikasi. Bila melibatkan lebih dari sembilan proses dalam suatu sistem, kelompokkan beberapa proses yang bekerja bersama-sama di dalam suatu sub sistem dan letakkan mereka pada suatu diagram anak. 5. Mengabaikan aliran data. Aliran data dimana setiap proses hanya memiliki satu masukan dan satu keluaran. Kecuali dalam hal diagram aliran data anak sangat mendetail, aliran data linear sangat jarang. Keberadaannya biasanya menunjukkan bahwa diagram tersebut kehilangan aliran data. 6. Menciptakan analisis yang tidak seimbang. Masing-masing diagram anak harus memiliki masukan dan aliran data keluaran user Pengecualiannya adalah keluaran yang sama seperticommit proses to induk. 12 digilib.uns.ac.id perpustakaan.uns.ac.id minor, seperti jalur-jalur kesalahan yang hanya dimasukkan pada diagram anak. Meskipun aliran data tidak linear, kita dapat mengikuti jalurnya secara langsung dari entitas sumber menuju entitas tujuan. 2.4.2 Mengembangkan Diagram Aliran Data Menurut Kendall, et al (2003), Diagram aliran data dapat dan bisa digambarkan secara sistematis. Pertama, penganalisis sistem perlu mengkonseptualisasikan aliran data dari perspektif atas bawah. Untuk memulai suatu diagram aliran data, kita harus merangkum narasi sistem organisasi menjadi sebuah daftar dengan empat kategori yang terdiri dari entitas eksternal, aliran data, proses, dan penyimpanan data. Langkah-langkah untuk mengembangkan diagram aliran data seperti berikut (Kendall, et al, 2003). 1. Membuat sebuah daftar tentang kegiatan-kegiatan bisnis dan digunakan untuk menentukan berbagai macam entitas eksternal, aliran data, proses, dan penyimpanan data. 2. Menciptakan sebuah diagram yang menunjukkan entitas-entitas eksternal dan aliran data menuju dan dari sistem. Tidak menunjukkan setiap proses atau penyimpanan data yang mendetail. 3. Menggambar Diagram 0, level berikutnya. Menunjukkan prosesproses, namun menjaganya tetap umum. Menunjukkan penyimpanan data pada level ini. 4. Menciptakan sebuah diagram anak untuk setiap proses dalam Diagram 0. 5. Mengecek kesalahan dan memastikan label-label yang ditetapkan untuk setiap proses dan aliran data yang mengandung arti. 6. Mengembangkan suatu diagram aliran data fisik dari diagram aliran data logika. Membedakan antara proses manual dengan to user file-file aktual dan dilaporkan proses otomatis, commit menggambarkan 13 digilib.uns.ac.id perpustakaan.uns.ac.id menurut nama dan menambahkan kontrol-kontrol untuk menunjukkan kapan proses-proses tersebut selesai atau kapan muncul kesalahan. 7. Membagi diagram aliran data fisik dengan memisahkan atau mengelompokkan bagian-bagian dari diagram agar bisa memfasilitasi pemrograman dan implementasi. 2.4.3 Menciptakan Diagram Konteks Dengan pendekatan atas bawah untuk membuat diagram pengalihan data, diagram berganti dari umum ke khusus. Meskipun diagram pertama membantu penganalisis sistem memahami pegalihan data, sifat umumnya membatasi kegunaannya. Diagram konteks awal harus berupa suatu pandangan, yang mencakup masukan-masukan dasar, sistem umum, dan keluaran. Diagram ini akan menjadi diagram yang umu, benar-benar mengamati pengalihan data di dalam sistem dan melebarkan konseptualisasi sistem yang memungkinkan (Kendall, et al, 2003). Menurut Kendall, et al (2003), Diagram konteks adalah tingkatan tertinggi dalam diagram aliran data dan hanya memuat suatu proses, menunjukkan sistem secara keseluruhan. Proses tersebut diberi nomor nol. Semua entitas eksternal yang ditunjukkan pada diagram konteks berikut aliran data utama menuju dan dari sistem. Diagram tersebut tidak memuat penyimpanan data dan tampak sederhana untuk diciptakan, begitu entitas-entitas eksternal serta aliran data menuju dan dari sistem diketahui penganalisis dari wawancara dengan pengguna dan sebagai hasil analisis dokumen. 2.4.4 Menggambar Diagram 0 Lebih mendetail dibanding diagram konteks yang diperbolehkan, bisa dicapai dengan “mengembangkan diagram”. Masukan dan keluaran commityang to user yang ditetapkan dalam diagram pertama tetap konstan dalam semua perpustakaan.uns.ac.id 14 digilib.uns.ac.id diagram. Sisa diagram asli dikembangkan ke dalam gambaran terperinci yang melibatkan tiga sampai sembilan proses dan menunjukkan penyimpanan data dan aliran data baru pada level yang lebih rendah. Dampaknya ialah untuk mengikuti diagram aliaran data asli. Setiap diagram yang dikembangkan hanya boleh mengggunakan selembar kertas tunggal. Dengan menggunakan DAD menjadi subproses, penganalisis bisa memulai mengisi detail-detail pengalihan data. Pengecualian diabaikan untuk dua atau tiga level pertama dari pendiagraman aliran data (Kendall, et al, 2003). Menurut Kendall, et al (2003), Diagram 0 adalah pengembangan diagram konteks dan bisa mencakup sampai sembilan proses. Memasukkan lebih banyak proses pada level ini akan terjadi dalam suatu diagram yang kacau yang sulit dipahami. Setiap proses diberi nomor bilangan bulat, umumnya dimulai dari sudut sebelah kiri atas diagram dan mengarah ke sudut sebelah kanan bawah. Penyimpanan data utama dari sistem (mewakili file-file master) dan semua entitas eksternal dimasukkan ke dalam Diagram 0. Karena diagram aliran data memiliki dua dimensi (bukannya linear), kita bisa memulainya pada sembarang titik dan mengarah ke depan atau ke belakang di sepanjang diagram. Bila tidak yakin maka kita mengambil suatu entitas eksternal, proses, atau penyimpanan data yang berbeda, dan kemudian bisa memuai menggambar aliran (Kendall, et al, 2003). 1. Mulai dengan aliran data dari suatu entitas di sisi masukan. 2. Bekerja ke arah belakang mulai dari aliran data keluaran. 3. Perhatikan aliran data yang menuju dan dari penyimpanan data. 4. Analisis proses yang sudah ditentukan dengan baik. 5. Perhatikan setiap hal yang mebingungkan dimana kita merasa tidak yakin dengan apa yang harus diamsukkan atau masukan atau keluaran apa yang diperlukan. commit to user 15 digilib.uns.ac.id perpustakaan.uns.ac.id 2.4.5 Menciptakan Diagram Anak Setiap proses dalam Diagram 0 bisa dikembangkan untuk menciptakan diagram anak yang lebih mendetail. Proses pada Diagram 0 yang dikembangkan itu disebut parent process (proses induk) dan diagram yang dihasilkan disebut child diagram (diagram anak). Aturan utama untuk menciptakan diagarm anak, keseimbangan vertikal, menyatakan bahwa suatu diagram anak tidak bisa menghasilkan keluaran atau menerima masukan dimana proses induknya juga tidak menghasilkan atau menerima. Semua aliran data yang menuju atau keluar dari proses induk harus ditunjukkan mengalir ke dalam atau keluar dari diagram anak (Kendall, et al, 2003). Diagram anak ditetapkan nomor yang sama seperti proses induknya di dalam Diagram 0. Sebagai contoh, proses 3 akan berkembang ke Diagram 3. Proses-proses di dalam anak diberi nomor dengan menggunakan nomor proses induk, poin desimal, serta sebuah nomor unik untuk setiap proses anak. Pada Diagram 3, proses-proses tersebut akan diberi nomor 3.1,3.2,3.3, dan seterusnya. Ketentuan ini memungkinkan penganalisis mengikuti rangkaian proses di setiap tingkat pengembangan. Bila diagram 0 menggambarkan proses-proses 1,2,dan 3, diagram anak 1,2,dan 3 semuanya berada pada level yang sama (Kendall, et al, 2003). Entitas-entitas biasanya tidak ditunjukkan dalam diagram anak di bawah Diagram 0. Aliran data yang menyesuaikan aliran induknya disebut aliran data antarmuka dan ditunjukkan sebagai anak panah dari dan menuju area kosong dalam diagram anak. Bila proses induk memiliki aliran data yang terhubung ke penyimpanan data, diagram anak bisa memasukkan penyimpanan data tersebut. Selain itu, diagram pada level yang lebih rendah ini bisa memasukkan penyimpanan data yang tidak ditunjukkan dalam proses induk. Sebagai contoh, sebuah file yang berisikan suatu tabel informasi, seperti tabel pajak atau file yang commit user anak bisa dimasukkan. Aliran menghubungkan dua proses padatodiagram 16 digilib.uns.ac.id perpustakaan.uns.ac.id data minor, seperti jalur kesalahan, bisa dimasukkan pada diagram anak dan bukan pada diagram induk (Kendall, et al, 2003). Proses-proses tersebut bisa dan tidak bisa dikembangkan, tergantung pada level kerumitnnya. Saat suatu proses tidak dikembangkan, dikatakan primitif secara fungsional dan disebut sebagai proses primitif (Kendall, et al, 2003). 2.5 Model Entity Relationship (Model Hubungan Entitas) Menurut Fathansyah (1999), Pada model Entity Relationship, deterjemahkan/ditransformasikan dengan memanfaatkan sejumlah perangkat konseptual menjadi sebuah diagram data, yang umum disebut sebagai Diagram Entity Relationship (Diagram ER). Model Entity Relationship berisi komponen-komponen himpunan entitas dan himpunan relasi yang masin-masing dilengkapi dengan atribut-atribut dapat digambarkan dengan lebih sistematis dengan menggunakan Diagram Entity Relationship (Diagram ER). Notasi-notasi simbolik di dalam Diagram ER yang dapat kita gunakan adalah: 1. Persegi panjang, menyatakan himpunan entitas. 2. Lingkaran/Elip, menyatakan atribut (atribut yang berfungsi sebagai key digarisbawahi). 3. Belah Ketupat, menyatakan himpunan relasi. 4. Garis, sebagai penghubung antara himpunan relasi dengan hubungan entitas dan himpunan entitas atributnya. 5. Kardinalitas relasi dapat dinyatakan dengan banyaknya garis cabang atau dengan pemakaian angka (1 dan 1 untuk relasi satu ke satu, 1 dan N untuk relasi satu ke banyak atau N dan N untuk relasi banyak ke banyak). commit to user 17 digilib.uns.ac.id perpustakaan.uns.ac.id Notasi-notasi simbolik di dalam Diagram ERD dapat dilihat pada gambar 2.3 (Fathansyah,1999). E Himpunan Entitas E a Atribut a sebagai key R Himpunan Relasi Link Gambar 2.2 Notasi Simbolik dalam ERD Kardinalitas relasi dinyatakan dengan banyaknya garis cabang atau dengan pemakaian angka dapat dilihat pada tabel 2.2 (Fathansyah,1999). Tabel 2.2 Notasi ERD Notasi 1. Derajat Relasi Minimum-Maksimum atau (0,N) atau (1,N) atau (1,1) atau (0,1) Satu ke Satu (One to One) Setiap entitas pada himpunan entitas A berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas B, dan begitu juga sebaliknya setiap entitas pada himpunan entitas B berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas A. 2. Satu ke Banyak (One to Many) Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B, tetapi tidak sebaliknya, dimana setiap entitas pada himpunan entitas B berhubungan dengan commit to userpada himpunan entitas A. paling banyak dengan satu entitas 18 digilib.uns.ac.id perpustakaan.uns.ac.id 3. Banyak ke Satu (Many to One) Setiap entitas pada himpunan entitas A berhubungan dengan banyak dengan paling banyak satu entitas pada himpunan entitas B, tetapi tidak sebaliknya, dimana setiap entitas pada himpunan entitas A berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas B. 4. Banyak ke Banyak (Many to Mony) Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B, dan demikian juga sebaliknya, dimana setiap entitas pada himpunan entitas B dapat berhubungan dengan banyak entitas pada himpunan entitas A. 2.6 MySQL MySQL adalah database server relasional yang gratis di bawah lisensi GNU General Public Licence. Dengan sifatnya yang Open Source, memungkinkan juga user untuk melakukan modifikasi pada source codenya untuk memenuhi kebutuhan spesifik mereka sendiri. MySQL merupakan database server multi-user dan multi-threaded yang tangguh. Dengan memiliki banyak feature MySQL dapat bersaing dengan database komersial sekalipun. Tidak mengejutkan, MySQL menjadi database pilihan untuk banyak pengguna PHP (Utdirartatmo, 2001). MySQL adalah sistem manajemen database relasional. Suatu database relasional menyimpan data dalam tabel-tabel terpisah. Hal ini memungkinkan kecepatan data fleksibilitas. Tabel-tabel yang dihubungkan dengan relasi yang ditentukan membuatnya bisa mengkombinasikan data dari beberapa tabel pada permintaan. Bagian SQL dari kata MySQL berasal dari “Structured Query Language”. Bahasa paling umum yang dipergunakan untuk mengakses database pada internet. MySQL merupakan sistem client/server yang terdiri dari SQL server multithreaded yang memungkinkan backend yang berbeda, sejumlah program client dan library commit dan to user yang berbeda, tool administratif, beberapa antarmuka pemrograman. perpustakaan.uns.ac.id 19 digilib.uns.ac.id MySQL tersedia sebagai library yang bisa digabungkan ke aplikasi (Utdirartatmo, 2001). 2.7 PHP PHP adalah bahasa server-side scripting yang menyatu dengan HTML untuk membuat halaman web yang dinamis. Maksud dari serverside scripting adalah sintaks dan perintah-perintah yang diberikan akan sepenuhnya dijalankan di server tetapi disertakan pada halaman HTML. Pembuatan web ini merupakan kombinasi antara PHP sendiri sebagai bahasa pemrograman dan HTML sebagai pembangun halaman web. Ketika seorang pengguna internet 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 halaman web menjadi lebih terjamin (Sunarfrihantoro, 2002). PHP dapat mengirim HTTP header, dapat mengecek cookies, mengatur authentification 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 tak terkecuali semua database ber-interface ODBC. Juga dapat berinteraksi dengan beberapa library eksternal yang membuat kita dapat 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 maka tidak lagi dibutuhkan pengembangan lingkungan khusus atau direktori khusus. Hampir seluruh aplikasi berbasis web dibuat dengan PHP. Namun kekuatan utama adalah konektivitas basis data dengan web. Dengan kemampuan hal ini kita akan mempunyai suatu sistem basis to user data yang dapat diakses daricommit web (Sunarfrihantoro, 2002).