BAB II LANDASAN TEORI 2.1 Pengertian Program Aplikasi Program Aplikasi merupakan suatu program yang bisa dikerjakan di Komputer yang dibuat untuk menyelesaikan suatu masalah–masalah khusus. 2.2 Pengertian Visualisasi kata Visualisasi berasal dari kata: 1. VISUAL berarti berdasarkan penglihatan atau dapat dilihat 2. VISUALIZATION berarti rekayasa dalam pembuatan gambar, diagram atau animasi untuk penampilan suatu informasi 3. VISUALIZE berarti member gambar tentang sesuatu. Pada saat ini penggunaan Visualisasi sudah meluas meliputi sains, teknik dalam berbagai bentuk pendidikan dan dalam interaktif multimedia. Menurut Kamus Inggris-Indonesia (Hassan Shadily, 2000) “Visualisasi dapat memberikan metafora visual yang jelas untuk memahami konsep-konsep yang rumit serta mengungkap dinamika proses penting yang biasanya tersembunyi”. (Peter Brusilovsky, 2010). 2.3 Pengenalan PHP PHP merupakan singkatan dari PHP Hypertext Preprocessor adalah suatu bahasa yang bersifat server side yang di desain khusus untuk aplikasi web. PHP dapat disisipkan diantara bahasa HTML, karena bahasa server side, maka bahasa PHP akan dieksekusi di server, sehingga yang dikirimkan ke browser adalah “hasil jadi” dalam bentuk HTML, dan kode PHP tidak terlihat lagi (Kadir, 2001). 6 7 2.3.1 Sejarah PHP PHP diciptakan oleh Rasmus Lerdorf, seorang programmer Unix dan Perl. Semula PHP hanya digunakan untuk mencatat jumlah pengunjung yang melihat resume Rasmus Lerdorf. Skrip ini selanjutnya dikemas menjadi tool yang disebut “Personal Home Page”. Paket inilah yang menjadi cikal bakal PHP. Pada bulan September-Oktober 1995, Rasmus menciptakan PHP/FI versi 2.0 pada versi ini programmer dapat menempelkan kode terstruktur didalam tag HTML dan kode ini juga bisa berkomunikasi dengan database dan melakukan perhitungan-perhitungan yang kompleks sambil jalan. Pada tanggal 6 Juni 1998, PHP Versi 3.0 berhasil dirilis, PHP 3 ini mempunyai kinerja yang lebih tinggi, berkemampuan object-oriented, syntax highlighting, array multidimensi, dan dapat diperluas melalui mekanisme extension. Dukungan dan fiturnya pun jauh bertambah banyak. PHP merupakan satu bahasa pemrograman yang popular. 2.3.2 Kelebihan PHP Adapun Kelebihan yang dimiliki PHP antara lain: PHP mudah dibuat dan dipelajari alasan tersebut menjadi salah satu alasan utama untuk menggunakan PHP PHP dapat berjalan dalam web server yang berbeda dan bisa diaplikasikan ke berbagai platform OS (Operating System) dan hampir semua browser juga mendukung PHP. PHP Diterbitkan secara gratis, bersifat open source. PHP termasuk bahasa yang embedded (bisa ditempel atau diletakan dalam tag HTML) PHP termasuk server side programming. 2.3.3 Konsep Kerja PHP Model kerja HTML diawali dengan permintaan suatu halaman web oleh browser. Berdasarkan URL (Uniform Resource Locator) atau dikenal dengan sebutan alamat internet, browser mendapatkan alamat dari web server, mengidentifikasi halaman yang dikehendaki, dan menyampaikan segala informasi 8 yang dibutuhkan oleh web server. Informasi yang disampaikan ke web server antara lain adalah nama browser, versinya, dan sistem operasinya. Selanjutnya, web server akan mencarikan berkas yang diminta dan memberikan isinya ke browser. Browser yang mendapatkan isinya segera melakukan proses penerjemahan kode HTML dan menampilkannya ke layar pemakai. Seperti Gambar 2.1. Gambar 2.1 Skema HTML Jika yang diminta adalah sebuah halaman PHP, maka prinsipnya serupa dengan kode HTML. Hanya saja, ketika berkas PHP yang diminta didapatkan oleh web server, isinya segera dikirimkan ke mesin PHP dan mesin inilah yang memproses dan memberikan hasilnya (berupa kode HTML) ke web server. Selanjutnya, web server menyampaikan ke klien. Untuk memperjelas, lihat Gambar 2.2. Gambar 2.2 Skema PHP 9 Server membaca permintaan dari client/browser, kemudian dilanjutkan untuk mencari halaman/page pada server. Server melakukan instruksi yang diberikan oleh PHP untuk melakukan modifikasi pada halaman/page. Selanjutnya hasil modifikasi tersebut akan dikembalikan kepada client/browser. 2.3.4 Struktur PHP Skrip PHP berkedudukan sebagai tag dalam bahasa HTML (Hypertext Markup Language). Kode PHP diawali dengan tanda lebih kecil (<) dan diakhiri dengan tanda lebih besar (>). Ada tiga cara untuk menuliskan skrip PHP, yaitu : Cara 1, merupakan cara yang paling umum digunakan. <? Script PHP ?> Cara 2 digunakan apabila skrip PHP dikombinasikan dengan skrip XML <?php Script PHP ?> Cara 3 digunakan untuk mengantisipasi teks editor yang tidak dapat menerima penulisan dengan cara 1 maupun cara 2 <SCRIPT LANGUAGE=”php”> Script PHP </SCRIPT> 2.3.5 Perintah – perintah PHP Dalam pemrograman PHP, ada beberapa perintah yang sering digunakan, yaitu : IF 10 Perintah IF biasa digunakan untuk menjalankan satu atau lebih perintah yang menyatakan keadaan. Bentuk penulisan nya adalah : If(kondisi) { Pernyataan akan dijalankan jika kondisi bernilai benar } IF….ELSE Perintah if-else digunakan untuk menjalankan suatu tindakan tertentu bila kondisi bernilai benar dan menjalankan tindakan yang lain kalau kondisi bernilai salah. Bentuk penulisannya adalah : If(kondisi1) { Pernyataan akan dijalankan jika kondisi1 bernilai benar } Elseif(kondisi2) { Pernyataan kedua dijalankan jika kondisi1 bernilai salah dan kondisi2 bernilai benar } Else { Pernyataan ketiga dijalankan jika kondisi1 dan kondisi2 bernilai salah } WHILE Perintah while merupakan salah satu pernyataan yang berguna untuk melakukan suatu pengulangan sebuah perintah sampai jumlah tertentu. Untuk menghentikan pengulangan digunakan suatu kondisi tertentu. Pengulangan akan berjalan terus selama kondisi masih bernilai benar. Bentuk penulisannya adalah : While(kondisi) { Pernyataan akan dijalankan } 11 DO….WHILE Perintah ini mirip dengan printah while. Proses pengulangan akan berjalan jika kondisi yang diperiksa di while masih bernilai benar dan pengulangan akan dihentikan jika kondisinya bernilai salah. Bentuk penulisannya adalah Do : { Pernyataan akan dijalankan } While(kondisi) FOR Perintah FOR digunakan untuk mengulangi perintah dengan jumlah pengulangan yang sudah diketahui. Pada perintah ini tidak perlu menuliskan sebuah kondisi untuk diuji. Jadi hanya perlu menuliskan nilai awal dan nilai akhir variable penghitung. Nilai variable akan otomatis bertambah atau berkurang tiap kali sebuah pengulangan diselesaikan. Bentuk penulisannya adalah : For (nilai awal, nilai akhir, peningkatan/penurunan { Pernyataan akan dijalankan } 2.4 HTML HTML (HyperText Markup Language) merupakan dasar terbentuknya aplikasi berbasis web. Pada dasarnya HTML bukanlah sebuah bahasa pemrograman, akan tetapi merupakan semacam bahasa pengkodean. Hal ini disebabkan karena HTML tidak memerlukan compiler khusus sebagaimana bahasa pemrograman sebenarnya. Beberapa hal yang dapat dilakukan dengan menggunakan HTML antara lain : Mengontrol tampilan dari web page dan content nya Mempublikasikan dokumen secara online melalui internet 12 Menambahkan objek-objek seperti image, audio, video, dalam dokumen HTML Menyisipkan bahasa pemrograman web lainnya seperti PHP. 2.5 MySQL MySQL adalah Relational Database Management System (RDMS) yang didistribusikan secara gratis dibawah lisensi General Public License (GPL). Setiap orang bebas menggunakannya, tetapi tidak boleh dijadikan produk turunan yang bersifat komersial (Sutarman, 2003). MySQL merupakan turunan dari salah satu konsep utama dalam database yaitu Structured Query Language (SQL). SQL adalah sebuah konsep pengoperasian database terutama untuk pemilihan dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis. Di dalam dunia intranet maupun internet, MySQL dijadikan sebagai sebuah database yang paling banyak digunakan Ms Access, penggunaan MySQL ini biasanya dipadukan dengan menggunakan program aplikasi PHP, karena dengan menggunakan kedua program tersebut diatas, telah terbukti akan kehandalan nya dalam menangani permintaan data. Hal lain yang perlu diketahui mengenai MySQL adalah bahwa MySQL merupakan sebuah software database yang bersifat gratis, karena MySQL dilisensi dibawah GNU General Public License (GPL). Dengan adanya keadaan seperti itu makan dapat digunakan software database ini dengan bebas tanpa harus takut dengan lisensi yang ada. 2.6 Database dan MySQL Database sering didefinisikan sebagai kumpulan data yang terkait. Secara teknis, yang berada dalam sebuah database adalah sekumpulan tabel atau objek lain (indeks, view, dan lain-lain). Tujuan utama pembuatan database adalah untuk memudahkan dalam mengakses data. Data dapat ditambahkan, diubah, dihapus, atau dibaca dengan relatif mudah dan cepat. Sebuah tabel (atau kadang disebut relasi berisi sejumlah baris dan kolom). Perpotongan baris dan kolom menyatakan sebuah data. 13 2.7 Normalisasi Normalisasi bertujuan untuk mengurangi ketidak-normalan rancangan tabel yang redudansi atau memiliki struktur atau nilai ganda. Normalisasi merupakan sebuah teknik dalam logical design sebuah basis data (database), teknik pengelompokan atribut di suatu relasi sehingga membentuk struktur relasi yang baik (tanpa redudansi). Berikut bentuk-bentuk normalisasi: 2.7.1 Bentuk Normal Kesatu (1 NF) Sekarang pada bentuk normal kesatu, atribut-atribut yang tepat dan memiliki nilai atomic membentuk suatu tabel yang flat dan disebut flat table atau flat file. Apabila ada atribut rangkap maka salah satu harus dibuang. Jadi hanya akan ada atribut dengan satu arti. Memiliki ketentuan sebagai berikut: 1. Mendefinisikan atribut kunci 2. Tidak adanya grup berulang 3. Semua atribut bukan kunci tergantung pada atribut kunci 2.7.2 Bentuk Normal Kedua (2 NF) Pada bentuk normal kedua memiliki ketentuan sebagai berikut: 1. Sudah memenuhi dalam bentuk normal kesatu 2. Sudah tidak ada ketergantungan parsial, dimana seluruh field hanya tergantung sebagai field kunci 2.8 Entity Relationship Diagram (ERD) (Menurut Fathansyah: 2001) Diagram keterhubungan entitas atau EntityRelationship Diagram, selanjutnya disebut ERD, adalah model konseptual yang mendeskripsikan hubungan antara penyimpan (dalam DAD). ERD digunakan untuk memodelkan struktur data dan hubungan antar data. Model 14 entity-relationship yang berisi komponen-komponen himpunan entitas dan himpunan relasi yang masing-masing dilengkapi dengan atribut-atribut yang merepresentasikan seluruh fakta dari real world (dunia nyata) yang ditinjau, dapat digambarkan dengan lebih sistematis dengan menggunakan ERD. ERD menggunakan sejumlah notasi dan symbol untuk menggambarkan struktur dan hubungan antar data. Notasi-notasi simbolik didalam ERD yang dapat digunakan adalah: 1. Persegi panjang, menyatakan himpunan entitas 2. Lingkaran atau elipse, menyatakan atribut (atribut yang berfungsi sebagai key digarisbawahi). 3. Belah ketupat, menyatakan himpunan relasi. 4. Garis (link), sebagai penghubungan antara himpunan relasi dengan himpunan entitas dan himpunan entitas dengan 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-kebanyak). E a Himpunan entitas e R Gambar Notasi ERD Atribut sebagai key Himpunan relasi Link Gambar 2.4 Entitas ERD Gambar 2.3 Entitas ERD Entitas merupakan individu yang mewakili sesuatu yang nyata (eksistensinya) dan dapat dibedakan dari sesuatu yang lain. Sekelompok entitas yang sejenis dan berada dalam lingkup yang sama membentuk sebuah himpunan entitas. Atribut mendeskripsikan karakteristik (sifat-sifat) dari entitas. Ada atribut yang dijadikan kunci (key) dan yang lainnya disebut atribut deskriptif. 15 2.9 Keamanan Data Untuk proteksi data yang cukup penting tidak ada jalan lain selain menggunakan program khusus proteksi/enkripsi data. Dari pengamatan penulis, kekuatan metode-metode enkripsi adalah pada kunci (dari password yang kita masukan) sehingga walaupun algoritma metode tersebut telah tersebar luas, orang tidak akan dapat membongkar data tanpa kunci yang tepat. Enkripsi adalah proses mengamankan suatu informasi dengan membuat informasi tersebut tidak dapat dibaca tanpa bantuan pengetahuan khusus. Keuntungan dari enkripsi adalah kode asli kita tidak dapat dibaca oleh orang lain. Proses utama dalam suatu algoritma kriptografi adalah enkripsi dan dekripsi. (Wahana Komputer, 2010). Algoritma yang digunakan untuk enkripsi adalah algoritma MD5. MD5 telah dimanfaatkan secara bermacam-macam pada aplikasi keamanan, dan MD5 juga umum digunakan untuk melakukan pengujian integritas sebuah file. 2.10 Pengujian Perangkat Lunak Pentingnya pengujian perangkat lunak dan implikasinya yang mengacu pada kualitas perangkat lunak tidak dapat terlalu ditekankan seperti yang dikatakan oleh Deutsch : “Pengembangan sistem perangkat lunak melibatkan sederetan aktivitas produksi dimana peluang terjadinya kesalahan manusia sangat besar. Kesalahan dapat mulai terjadi pada permulaan proses dimana sasaran ditetapkan secara tidak sempurna, dan dalam desain dan tahap pengembangan selanjutnya… Karena ketidakmampuan manusia untuk melakukan dan berkomunikasi dengan sempurna, maka pengembangan perangkat lunak diiringi dengan aktivitas jaminan kualitas”. (Roger S. Pressman, 1997) Pada kesempatan ini, penulis hendak melakukan pengujian dengan metode pengujian blackbox. Pengujian blackbox berfokus pada persyaratan fungsional perangkat lunak. Dengan demikian, pengujian blackbox memungkinkan perekayasa perangkat lunak mendapatkan serangkaian kondisi input yang sepenuhnya menggunakan semua persyaratan fungsional untuk suatu program. 16 Pengujian blackbox bukan merupakan alternative dari teknik white box, tetapi merupakan pendekatan komplimenter yang kemungkinan besar mampu mengungkap kelas kesalahan daripada metode white box. Pengujian dengan metode blackbox testing dilakukan dengan cara memberikan sejumlah masukan (input) pada program aplikasi yang kemudian diproses sesuai dengan kebutuhan fungsionalnya untuk melihat apakah program aplikasi menghasilkan keluaran (output) yang diinginkan sesuai dengan fungsi dari program aplikasi tersebut. Bila dari input yang diberikan proses menghasilkan output yang sesuai dengan kebutuhan fungsionalnya, maka program aplikasi yang bersangkutan telah benar, tetapi bila output yang dihasilkan tidak sesuai dengan kebutuhan fungsionalnya, maka masih terdapat kesalahan pada program aplikasi tersebut. Pengujian dilakukan dengan mencoba semua kemungkinan yang terjadi dan dilakukan secara berulang-ulang. Jika dalam pengujian ditemukan kesalahan, maka akan dilakukan penelusuran dan perbaikan (debugging) untuk memperbaiki kesalahan yang terjadi. Jika telah selesai melakukan perbaikan maka akan dilakukan pengujian kembali. Pengujian dan perbaikan dilakukan secara terus menerus hingga diperoleh hasil yang terbaik. Pengujian pada aplikasi pemesanan tersebut dilakukan berdasarkan metode BlackBox Testing yaitu pengujian untuk menemukan kesalahan dalam lingkup kategori sebagai berikut : 1. Fungsi-fungsi yang tidak benar atau hilang 2. Kesalahan antar muka 3. Kesalahan kinerja dan struktur data 4. Inisialisasi dan kesalahan terminasi. (Menurut Pressman: 2002) 2.11 Diagram Alur (Flowchart) Flowchart adalah suatu gambaran secara grafik dari setiap langkah dan urutan-urutan prosedur dari suatu program. Flowchart digunakan sebagai penolong seorang analisis serta programmer dalam memecahkan masalah 17 kedalam segmen-segmen yang lebih kecil dan menolong alternatif lain dalam pengoperasian. Berikut ini merupakan simbol-simbol flowchart dan fungsinya : Simbol Keterangan Proses Simbol proses berfungsi untuk menunjukan kegiatan proses dari operasi program komputer Input/ouput Data Simbol I/O berfungsi mewakili fungsi dasar dari masukan data ke komputer atau mengeluarkan informasi. Keputusan Simbol untuk kondisi yang menghasilkan beberapa kemungkinan Jawaban / aksi Garis Alir Simbol ini berfungsi untuk menunjukan arus dari suatu proses Penghubung Simbol penghubung (Off Page Connector) berfungsi untuk menghubungkan alur logis dari satu halaman ke halaman lain