8 BAB II LANDASAN TEORI 2.1 Pengertian Aplikasi Aplikasi adalah penggunaan dalam suatu komputer, instruksi (instruction) atau pernyataan (statement) yang disusun sedemikian rupa sehingga komputer dapat memproses input menjadi output.1 Menurut kamus besar bahasa Indonesia aplikasi adalah penerapan dari rancang sistem untuk mengolah data yang menggunakan aturan atau ketentuan bahasa pemrograman tertentu.2 Aplikasi adalah suatu program komputer yang dibuat untuk mengerjakan dan melaksanakan tugas khusus dari pengguna. Program merupakan kumpulan instruction set yang akan dijalankan oleh pemroses, yaitu berupa software. Bagaimana sebuah sistem komputer berpikir diatur oleh program ini. Program inilah yang mengendalikan semua aktifitas yang ada pada pemroses. Program berisi konstruksi logika yang dibuat oleh manusia, dan sudah diterjemahkan ke dalam bahasa mesin sesuai dengan format yang ada pada instruction set. Program aplikasi merupakan program siap pakai. Program yang direka untuk melaksanakan suatu fungsi bagi pengguna atau aplikasi yang lain. Contoh-contoh aplikasi misalnya pengolah kata, pengolah data dan lain sebagainya. Aplikasi akan menggunakan sistem operasi (OS) komputer dan aplikasi yang lain yang mendukung. Istilah aplikasi mulai masuk ke dalam istilah teknologi informasi semenjak tahun 1993, yang biasa disingkat dengan “app”. ________________________________________________________ 1. Jogiyanto (1999:12) 2. Kamus Besar bahasa Indonesia (1998:52) , 9 2.2. Pengertian Website Website merupakan kumpulan halaman web yang saling terhubung dan file filenya saling terkait. Web terdiri dari page atau halaman, dan kumpulan halaman yang dinamakan homepage. Homepage berada pada posisi teratas, dengan halaman - halaman terkait berada di bawahnya. Biasanya setiap halaman di bawah homepage disebut child page, yang berisi hyperlink ke halaman lain dalam web.3 2.2.1. World Wide Web WWW (World Wide Web) adalah sebuah metode baru yang berjalan di dunia internet yang akhir - akhir ini berkembang dengan cepat.4 2.2.2. Homepage Dan Browser Homepage adalah halaman pembuka / pertama dari sekian banyaknya website, browser merupakan suatu program yang dirancang untuk mengambil informasi-informasi dari suatu server komputer pada jaringan internet. Informasi – informasi ini biasanya di kemas dalam page-page, dimana setiap page biasa mempunyai beberapa link yang menghubungkan web page tersebut ke sumber informasi lainnya. Jika suatu link di klik, browser akan mencari alamat dari tujuan link tersebut dan browser akan menampilkan informasi tersebut, namun jika tidak menemukan alamat yang di tuju, browser akan memberikan suatu pesan yang menyatakan bahwa alamat dari tujuan link tersebut tidak dapat ditemukan. _______________________ 3 Gregorius, 2000, Hal:30 4 Bunafit Nugroho, PHP & MySQL dengan Editor Dreamweaver MX, 2004, h : 1 10 2.3 Pengertian Video 2.3.1 Video atau gambar bergerak adalah data digital yang terdiri dari beberapa gambar. Istilah video biasanya mengacu pada beberapa format penyimpanan gambar bergerak. Terbagi menjadi dua, yaitu video analog, contohnya VHS dan Betamax, dan video digital, contohnya DVD, Quicktime, dan MPEG-4. Video dapat direkam dan ditransmisikan dalam berbagai media fisik, pada pita maknetik ketika direkam sebagai Pal atau NTSC signal elektrik dengan video camera, atau MPEG-4 ketika direkam menggunakan kamera digital. Gambar tersebut dapat ditemui di kehidupan sehari-hari, seperti saat melihat benda-benda yang bergerak. Melalui sebuah teknologi (kamera), gambar-gambar bergerak dapat disimpan pada sebuah data digital (video). Untuk dapat menampilkan data digital (video) ini maka diperlukan sebuah alat untuk mengubah data digital menjadi analog misalnya televisi dan monitor. 2.3.2 Resolusi Resolusi (resolution) atau dimensi frame (frame dimention) adalah ukuran sebuah frame, yang dinyatakan dalam piksel x piksel. Semakin tinggi resolusinya, semakin baik kualitas video tersebut, dalam pengertian bahwa dalam ukuran fisik yang sama, video dengan resolusi tinggi akan lebih detil. Tetapi, resolusi yang tinggi akan mengakibatkan jumlah bit yang diperlukan untuk menyimpan atau mentransmisikannya meningkat. 2.3.2 Laju Frame Laju frame (frame rate) menunjukan jumlah frame yang digambar tiap detik dinyatakan dalam frame/detik. Sehubungan dengan laju frame ini, ada dua hal yang perlu diperhatikan, yaitu kehalusan gerakan (smooth motion) dan kilatan (flash). Kehalusasn 11 gerakan ditentukan oleh jumlah frame yang berbeda per detik. Untuk mendapatkan gerakan yang halus, video digital setidaknya harus berada pada 25 frame/detik. Kilatan ditentukan oleh jumlah berapa kali layar digambar per detik. Dengan 20 frame/detik, kilatan sudah dapat dilenyapkan. Video yang berkualitas baik akan memiliki laju frame minimal 30 frame/detik, setidaknya sesuai dengan mata manusia, yang membutuhkan jumlah bit yang lebih tinggi. 2.4 Prototipe 2.4.1 Definisi Prototipe Prototyping merupakan salah satu metode pengembangan perangkat lunak yang banyak digunakan. Dengan metode prototyping ini pengembang dan pelanggan dapat saling berinteraksi selama proses pembuatan sistem. Sering terjadi seorang pelanggan hanya mendefinisikan secara umum apa yang dikehendakinya tanpa menyebutkan secara detail output apa saja yang dibutuhkan, pemrosesan dan data-data apa saja yang dibutuhkan. Sebaliknya disisi pengembang kurang memperhatikan efesiensi algoritma, kemampuan sistem operasi dan interface yang menghubungkan manusia dan komputer. Untuk mengatasi ketidakserasian antara pelanggan dan pengembang maka harus dibutuhakan kerjasama yang baik diantara keduanya sehingga pengembang akan mengetahui dengan benar apa yang diinginkan pelanggan dengan tidak mengesampingkan segi-segi teknis dan pelanggan akan mengetahui proses-proses dalam menyelesaikan sistem yang diinginkan. Dengan demikian akan menghasilkan sistem sesuai dengan jadwal waktu penyelesaian yang telah ditentukan. Proses pada model prototyping bisa dijelaskan sebagai berikut: 12 a. Pengumpulan kebutuhan: pengembang dan klien bertemu dan menentukan tujuan umum, kebutuhan yang diketahui dan gambaran bagian-bagian yang akan dibutuhkan berikutnya. b. Perancangan : perancangan dilakukan cepat dan rancangan mewakili semua aspek software yang diketahui, dan rancangan ini menjadi dasar pembuatan prototipe. c. Evaluasi prototipe: klien mengevaluasi prototipe yang dibuat dan digunakan untuk memperjelas kebutuhan software. Perulangan ketiga proses ini terus berlangsung hingga semua kebutuhan terpenuhi. Prototipe dibuat untuk memuaskan kebutuhan klien dan untuk memahami kebutuhan klien lebih baik. Prototipe yang dibuat dapat dimanfaatkan kembali untuk membangun software lebih cepat. Prototipe merupakan alat yang digunakan untuk mensimulasikan beberapa atau tidak semua fitur dari sistem yang akan dibuat. Terdapat 3 pendekatan utama prototyping, yaitu: 1. Throw-Away, Prototipe dibuat dan dites. Pengalaman yang diperoleh dari pembuatan prototipe digunakan untuk membuat produk akhir, kemudian prototipe tersebut dibuang (tak dipakai). 2. Incremental, Produk akhir dibuat sebagai komponen-komponen yang terpisah. Desain produk akhir secara keseluruhan haya ada satu tetapi dibagi dalam komonen-komponen lebih kecil yang terpisah (independent). 3. Evolutionary, Pada metode ini, prototipenya tidak dibuang tetapi digunakan untuk iterasi desain berikutnya. Dalam hal ini, sistem atau produk yang sebenarnya dipandang sebagai evolusi dari versi awal yang sangat terbatas menuju produk akhir. 13 2.4.2 Teknik Prototyping Terdapat beberapa terdapat beberapa teknik yang digunakan untuk membuat rapid prototype, seperti: a. Storyboard, adalah bentuk prototipe yang paling sederhana berupa gambaran secara grafis dari tampilan sistem yang akan dibangun tanpa fungsi dari sistem. b. Simulasi Fungsi Teratas, fungsi sistem disertakan pada prototipe tidak sekadar gambar tampilannya saja. c. High-Level Programming Support, HyperTalk adalah contoh dari special-purpose high-level programming language yang memudahkan desainer membuat fitur tertentu dari sebuah sistem interaktif. 2.4.3 Tahapan Prototipe Gambar 2.1. Model Prototipe (Pressman, 2002) Alur dari model prototipe dapat dilihat pada Gambar 2.1. Kunci dari model prototipe adalah mendefinisikan aturan main pada saat awal, yaitu pelanggan dan pengembang harus setuju bahwa prototipe dibangun untuk mendefinisikan kebutuhan. Prototipe akan dihilangkan sebagian atau seluruhnya dan perangkat lunak aktual 14 direkayasa dengan kualitas dan implementasi yang sudah ditentukan. Tahapan-tahapan dari metode ini adalah sebagai berikut: 1. Analisis kebutuhan Pelanggan dan pengembang bersama-sama mendefinisikan format seluruh perangkat lunak, mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan dibuat. 2. Membangun prototyping Membuat perancangan sementara yang berfokus pada penyajian kepada pelanggan (misalnya dengan membuat input dan format output). 3. Evaluasi prototyping Evaluasi dilakukan oleh pelanggan, dengan ketentuan prototyping yang telah dibangun sudah sesuai dengan keinginan pelanggan. Jika sudah sesuai, maka tahapan selanjutnya akan diambil. Jika tidak, prototyping diperbaiki dengan mengulangi tahapan 1,2 dan 3. 4. Coding Dalam tahap ini prototyping yang sudah disepakati diterjemahkan ke dalam bahasa pemrograman yang sesuai. 5. Testing Setelah sistem sudah menjadi suatu perangkat lunak yang siap pakai, dilakukan pengujian sebelum digunakan oleh pelanggan. 6. Evaluasi sistem Pelanggan mengevaluasi apakah sistem yang sudah jadi sudah sesuai dengan yang diharapkan. Jika sudah memenuhi, tahap selanjutnya dapat dilakukan. Jika tidak, ulangi tahapan 4 dan 5. 15 7. Implementasi Perangkat lunak yang telah diuji dan diterima pelanggan siap untuk digunakan. 2.5 Perancangan Aplikasi Untuk dapat mengembangkan aplikasi yang berkualitas, diperlukan prosedur-prosedur perancangan yang sesuai dengan sistem pengembangan aplikasi. Perancangan terdiri dari dua aktivitas utama, yaitu perancangan perangkat keras meliputi perancangan arsitektur dan perancangan perangkat lunak yang meliputi perancangan aliran data berupa 2.5.1 Flowmap (Bagan Alir) Flowmap atau bagan alir adalah bagan yang menunjukan aliran di dalam program atau prosedur sistem secara logika. Flowmap ini berfungsi untuk memodelkan masukan, keluaran, proses maupun transaksi dengan menggunakan simbol-simbol tertentu yang sudah dibakukan oleh ANSI (American National Standard Institute). Pembuatan flowmap ini harus dapat memudahkan bagi pemakai dalam memahami alur dari sistem atau transaksi. Adapun simbol-simbol yang sering digunakan dalam flowmap dapat dilihat pada tabel berikut ini: Tabel 2.1 Simbol dan Keterangan Flowmap Simbol Deskripsi Simbol yang digunakan untuk menunjukkan awal atau akhir dari suatu proses 16 Menunjukkan dokumen input dan output baik untuk proses manual mekanik atau komputer Menunjukkan pekerjaan manual Menunjukkan multi dokumen Pengarsipan Data Menunjukkan Proses Simbol input/output digunakan untuk mewakili data input/output Sumber : (Jogiyanto, 2001) 2.5.2 Data Flow Diagram (DFD) Data Flow Diagram (DFD) adalah alat pembuatan model yang memungkinkan profesional sistem untuk menggambarkan sistem sebagai suatu jaringan proses fungsional yang dihubungkan satu sama lain dengan alur data, baik secara manual maupun 17 komputerisasi. DFD ini sering disebut juga dengan nama Bubble chart, Bubble diagram, model proses, diagram alur kerja, atau model fungsi. DFD ini adalah salah satu alat pembuatan model yang sering digunakan, khususnya bila fungsi-fungsi sistem merupakan bagian yang lebih penting dan kompleks daripada data yang dimanipulasi oleh sistem. Dengan kata lain, DFD adalah alat pembuatan model yang memberikan penekanan hanya pada fungsi sistem. DFD ini merupakan alat perancangan sistem yang berorientasi pada alur data dengan konsep dekomposisi dapat digunakan untuk penggambaran analisa maupun rancangan sistem yang mudah dikomunikasikan oleh profesional sistem kepada pemakai maupun pembuat program. Adapun komponen DFD dapat dilihat pada gambar di bawah ini: Gambar 2.3 Komponen DFD Menurut Yordan dan DeMarco Gambar 2.2 Komponen DFD Menurut Gene dan Serson 18 a. Terminator/Entitas Luar Terminator mewakili entitas eksternal yang berkomunikasi dengan sistem yang sedang dikembangkan. Biasanya terminator dikenal dengan nama entitas luar (external entity). Terminator dapat berupa orang, sekelompok orang, organisasi, departemen di dalam organisasi, atau perusahaan yang sama tetapi di luar kendali sistem yang sedang dibuat modelnya. Terminator dapat juga berupa departemen, divisi atau sistem di luar sistem yang berkomunikasi dengan sistem yang sedang dikembangkan. Komponen terminator ini perlu diberi nama sesuai dengan dunia luar yang berkomunikasi dengan sistem yang sedang dibuat modelnya, dan biasanya menggunakan kata benda, misalnya Bagian Penjualan, Dosen, Mahasiswa. b. Proses Komponen proses menggambarkan bagian dari sistem yang mentransformasikan input menjadi output. Proses diberi nama untuk menjelaskan proses/kegiatan apa yang sedang/akan dilaksanakan. Pemberian nama proses dilakukan dengan menggunakan kata kerja transitif (kata kerja yang membutuhkan objek), seperti Mencari video, Hapus video, Tambah video. c. Data Store Komponen ini digunakan untuk membuat model sekumpulan paket data dan diberi nama dengan kata benda jamak, misalnya Mahasiswa. Data store ini biasanya berkaitan dengan penyimpanan-penyimpanan, seperti file atau database yang berkaitan dengan penyimpanan secara komputerisasi, misalnya file disket, file harddisk, file pita magnetik. Data store juga berkaitan dengan penyimpanan secara manual seperti buku alamat, file folder, dan agenda. Suatu data store dihubungkan 19 dengan alur data hanya pada komponen proses, tidak dengan komponen DFD lainnya. d. Data Flow/Alur Data Suatu data flow / alur data digambarkan dengan anak panah, yang menunjukkan arah menuju ke dan keluar dari suatu proses. Alur data ini digunakan untuk menerangkan perpindahan data atau paket data/informasi dari satu bagian sistem ke bagian lainnya. Selain menunjukkan arah, alur data pada model yang dibuat oleh profesional sistem dapat merepresentasikan bit, karakter, pesan, formulir, bilangan real, dan macam-macam informasi yang berkaitan dengan komputer. Alur data juga dapat merepresentasikan data/informasi yang tidak berkaitan dengan komputer. Alur data perlu diberi nama sesuai dengan data/informasi yang dimaksud, biasanya pemberian nama pada alur data dilakukan dengan menggunakan kata benda, contohnya Laporan Penjualan. Terdapat beberapa syarat dalam pembuatan DFD, yaitu: 1. Pemberian nama untuk tiap komponen DFD 2. Pemberian nomor pada komponen proses 3. Penggambaran DFD sesering mungkin agar enak dilihat 4. Penghindaran penggambaran DFD yang rumit 5. Pemastian DFD yang dibentuk itu konsiten secara logika Tidak ada aturan baku untuk menggambarkan DFD. Tapi dari berbagai referensi yang ada, secara garis besar langkah untuk membuat DFD adalah: 1. Identifikasi terlebih dahulu semua entitas luar yang terlibat di sistem. 2. Identifikasi semua input dan output yang terlibat dengan entitas luar. 20 3. Buat Diagram Konteks (context diagram): diagram level tertinggi dari DFD yang menggambarkan hubungan sistem dengan lingkungan luarnya. 4. Buat Diagram Level Zero: dekomposisi dari diagram konteks. 5. Buat Diagram Level Satu: dekomposisi dari diagram level zero. 6. DFD Level Dua, Tiga, …: dekomposisi dari level sebelumnya. 2.5.3 Entity Relationship Diagram (ERD) Model Entity Relationship diperkenalkan pertama kali oleh P.P. Chen pada tahun 1976. Model ini dirancang untuk menggambarkan persepsi dari pemakai dan berisi obyekobyek dasar yang disebut entity dan hubungan antar entity-entity tersebut yang disebut relationship. Pada ditransformasikan model ER ini semesta data yang ada dalam dunia nyata dengan memanfaatkan perangkat konseptual menjadi sebuah diagram, yaitu diagram ER (Entity Relationship). Diagram Entity-Relationship melengkapi penggambaran grafik dari struktur logika. Dengan kata lain Diagram E-R menggambarkan arti dari aspek data seperti bagaimana entity-entity, atribut-atribut dan relationship-relationship disajikan. Sebelum membuat Diagram E-R, tentunya kita harus memahami betul data yang diperlukan dan ruang lingkupnya. Di dalam pembuatan diagram E-R perlu diperhatikan penentuan suatu konsep apakah merupakan suatu entity, atribut atau relationship. 1. Entity, adalah obyek yang dapat dibedakan dengan yang lain dalam dunia nyata. Entity dapat berupa obyek secara fisik seperti orang, rumah, atau kendaraan. Entity dapat pula berupa obyek secara konsep seperti pekerjaan, perusahaan, dan sebagainya. 21 2. Atribut, adalah karakteristik dari entity atau relationship, yang menyediakan penjelasan detail tentang entity atau relationship tersebut. Nilai atribut merupakan suatu data aktual atau informasi yang disimpan pada suatu atribut di dalam suatu entity atau relationship. 3. Relationship, adalah hubungan yang terjadi antara satu atau lebih entity. Relationship set adalah kumpulan relationship yang sejenis. Berikut ini adalah komponen-komponen yang ada dalam Entity Relationship Diagram (ERD) bisa dilihat pada tabel berikut: Tabel 2.2 Simbol dan Deskripsi dalam ERD Simbol Deskripsi Menunjukkan entitas yang terhubungan dengan sistem Menunjukkan atribut yang dimiliki oleh entitas Menunjukkan relasi antar entitas Menunjukkan link 2.6 Kamus Data Kamus data adalah suatu daftar data elemen yang terorganisir dengan definisi yang tetap dan sesuai dengan sistem, sehingga user dan analis sistem mempunyai pengertian yang sama tentang input, output, dan komponen data store. 22 Kamus data ini sangat membantu analis sistem dalam mendefinisikan data yang mengalir di dalam sistem, sehingga pendefinisian data dapat dilakukan dengan lengkap dan terstruktur. Pembentukan kamus data dilaksanakan dalam tahap analisis dan perancangan suatu sistem. Pada tahap analisis, kamus data merupakan alat komunikasi antara user dan analis sistem tentang data yang mengalir di dalam sistem, yaitu tentang data yang masuk ke sistem dan tentang informasi yang dibutuhkan oleh user. Sementara itu, pada tahap perancangan sistem kamus data digunakan untuk merancang input, laporan dan database. Pembentukan kamus data didasarkan atas alur data yang terdapat pada DFD. Alur data pada DFD ini bersifat global, dalam arti hanya menunjukkan nama alur datanya tanpa menunjukkan struktur dari alur data. Untuk menunjukkan struktur dari alur data secara terinci maka dibentuklah kamus data yang diadasarkan pada alur data di dalam DFD. Suatu sistem dapat diuraikan ke dalam 4 form kamus data yang menerangkan isi database sistem dalam bentuk hirarki seperti yang digambarkan sebagai berikut: Gambar 2.3 Hirarki Kamus Data dan Form Kamus Data 23 2.7 Basis Data (Database) 2.7.1 Definisi Basis Data terdiri atas 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 objek seperti manusia, barang hewan, peristiwa, konsep, keadaan, dan sebagainya, yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, bunyi, atau kombinasinya. Basis Data sendiri dapat didefinisikan dalam sejumlah sudut pandang seperti: a. Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah. b. Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redundansi) yang tidak perlu, untuk memenuhi berbagai kebutuhan. c. Kumpulan file/tabel/arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronis. Prinsip utama Basis Data adalah pengaturan data/arsip dan tujuan utamanya adalah kemudahan dan kecepatan dalam pengambilan kembali data/arsip. Yang sangat ditonjolkan dalam basis data adalah pengaturan/pemilahan/pengelompokkan/pengorganisasian data yang akan disimpan sesuai fungsi/jenisnya. 2.7.2 SQL (Structured Query Language) Ada banyak sekali bahasa basis data yang pernah dibuat untuk masing-masing DBMS (Database Management System). Namun akhirnya yang menjadi standar adalah SQL. SQL merupakan kependekan dari Structure Query Language (Bahasa query yang 24 terstruktur). Istilah Query Language memang tidak tepat sama dengan istilah Bahasa Basis Data (Database Language). Bahasa Basis Data terdiri atas Data Definition Language (DDL) dan Data Manipulation Language (DML). DDL merujuk pada kumpulan perintah yang dapat digunakan untuk mendefinisikan objek-objek basis data, seperti membuat tabel basis data atau indeks primer/sekunder. Sedang DML mengacu pada kumpulan perintah yang dapat digunakan untuk melaukan manipulasi data, seperti penyimpanan data ke suatu tabel, lalu kemudian mengubahnya atau menghapusnya atau hanya sekedar menampilkannya kembali. DML inilah yang sebenarnya lebih dekat dengan Query Language (QL). Perbedaan antara DML dan QL terletak pada penekanannya. DML lebih ditekankan pada aspek pengenaan operasi terhadap suatu data. Operasi tersebut dapat berupa penyimpanan data baru ke dalam tabel, pengubahan data lama yang telah ada di dalam tabel, penghapusan data lama yang telah ada di dalam tabel, atau hanya sekedar mengambil data dari dalam tabel. Sedang QL lebih ditekankan pada aspek pencarian data dari dalam tabel. Aspek pencarian ini sedemikian penting karena di situlah sebenarnya inti dari segenap upaya dilakukannya pengelolaan data. Sebagai sebuah standar, sejalan dengan perkembangan teknologi basis data dan teknologi pada umumnya, SQL sendiri mengalami beberapa perubahan (atau tepatnya penyempurnaan). SQL mula-mula dibuat pada tahun 1970 dengan Sequel (nama yang lebih mudah diucapkan ini masih sering digunakan hingga sekarang). Standarisasi yang pertama dibuat pada tahun 1986 oleh ANSI (American National Standards Institute) dan ISO (International Standards Organization), yang disebut sebagai SQL-86. SQL-86 ini diperbaharui pada tahun 1989 menjadi SQL-89. Standar terakhir yang dibuat dan digunakan hingga saat ini adalah SQL-92 yang dikeluarkan pada tahun 1992. Selain 25 mencakup DML, SQL juga telah dilengkapi dengan berbagai perintah yang tergolong DDL dan perintah kontrol transaksi (transaction control). Sebuah ekspresi SQL dasar sebenarnya hanya terdiri atas 3 klausa, yaitu: a. select, digunakan untuk menetapkan daftar atribut (field) yang diinginkan sebagai hasil query. b. from, digunakan untuk menetapkan tabel (atau gabungan tabel) yang akan ditelusuri selama query data dilakukan. c. where, yang sifatnya opsional, digunakan sebagai predikat (kriteria) yang harus dipenuhi dalam memperoleh hasil query.5 2.7.3 MySQL MySQL adalah sebuah program database server yang mampu menerima dan mengirimkan datanya sangat cepat, banyak pengguna serta menggunakan perintah dasar SQL. MySQL merupakan dua bentuk lisensi, yaitu FreeSoftware dan Shareware. MySQL yang biasa digunakan adalah MySQL FreeSoftware yang berada di bawah lisensi GNU/GPL (General Public License). MySQL merupakan sebuah database server yang free, artinya pengguna bebas menggunakan database ini untuk keperluan pribadi atau usaha tanpa harus membeli atau membayar lisensinya. MySQL pertama kali dirintis oleh seorang programmer database bernama Michael Widenius. Selain itu, MySQL adalah sebuah database yang dapat digunakan sebagai client maupun server. Database MySQL merupakan suatu perangkat lunak database yang ______________________________________________ 5 Fathansyah. Basis Data. Penerbit Informatika. Bandung. 2007. Hal 2-7 dan 219-221 berbentuk 26 database relasional atau disebut Relational Database Management System (RDBMS) yang menggunakan suatu bahasa permintaan yaitu SQL. MySQL memiliki beberapa kelebihan dibanding database lain, diantaranya: a. MySQL merupakan Database Management System (DBMS) b. MySQL sebagai Relational Database Management System (RDMBS) atau disebut dengan database relasional. c. MySQL merupakan sebuah database server yang free. d. MySQL merupakan sebuah database client. e. MySQL mampu menerima query yang bertumpuk dalam satu permintaan atau multi-threading. f. MySQL merupakan database server yang multi user, artinya dapat digunakan oleh banyak pengguna. g. MySQL merupakan database yang mampu menyimpan data berkapasitas hingga berukuran gigabyte sekalipun. h. MySQL didukung oleh driver ODBC, artinya database MySQL dapat diakses menggunakan aplikasi apa saja termasuk berupa visual seperti Visual Basic dan Delphi. i. MySQL adalah database menggunakan enkripsi password, jadi database ini cukup aman karena memiliki password untuk mengaksesnya. j. MySQL mendukung field yang dijadikan sebagain kunci primer dan kunci unik (Unique) MySQL memiliki kecepatan dalam pembuatan tabel maupun peng-update-an tabel. 27 2.8 Pengertian PHP PHP adalah kependekan dari PHP Hypertext Preprocessor, bahasa interpreter yang mempunyai kemiripan dengan bahasa C dan Perl yang mempunyai kesederhanaan dalam perintah, yang digunakan untuk pembuatan aplikasi web6 PHP/FI merupakan nama awal dari PHP (Personal Home Page/Form Interface). Dibuat pertama kali oleh Rasmus Lerdoff. PHP awalnya merupakan program CGI yang dikhususkan untuk menerima input melalui form yang ditampilkan dalam browser web. Dengan menggunakan PHP maka maintenance suatu situs web menjadi lebih mudah. Proses update dapat dilakukan dengan menggunakan aplikasi yang dibuat dengan menggunakan script PHP. PHP merupakan script untuk pemrograman script web serverside, script yang membuat dokumen HTML secara on the fly, dokumen HTML yang dihasilkan dari suatu aplikasi bukan dokumen HTML yang dibuat dengan menggunakan editor teks atau editor HTML. 2.8.1 Variabel, Tipe Data dan Konstanta Identifier dalam PHP terdiri atas variabel, konstanta dan fungsi. 1. Variabel Variabel tempat menyimpan data, di dalam PHP diawali dengan karakter $ diikuti dengan huruf sebagai karakter pertama setelah $, kemudian kombinasi karakter dan angka. Tidak boleh ada spasi dan tanda baca dalam penamaan, kecuali karakter garis bawah atau under score. __________________________ 6 Sidik, 2004, h:3 28 2. Tipe Data PHP mempunyai tiga dasar tipe data, yaitu integer, double, dan string. Selain tipe data dasar, PHP juga mempunyai tipe data compound yang terdiri atas array dan object. 3. Konstanta Konstanta adalah suatu nilai yang tidak berubah selama proses dari program. Selain konstanta, PHP juga menyediakan fungsi define() untuk membuat konstanta sendiri. Fungsi define() memperkenankan kita untuk menentukan ada tidaknya konstanta. Menghasilkan nilai 1 jika konstanta ada dan 0 jika tidak ada konstanta. 2.9 Pengujian Perangkat Lunak (Testing) Pengujian perangkat lunak adalah elemen kritis dari jaminan kualitas perangkat lunak dan merepresentasikan kajian pokok dari spesifikasi, desain, dan pengkodean. Pentingnya pengujian perangkat lunak dan implikasinya yang mengacu pada kualitas perangkat lunak tidak dapat terlalu ditekan karena melibatkan sederetan aktivitas produksi di mana peluang terjadinya kesalahan manusia sangat besar dan arena ketidakmampuan manusia untuk melakukan dan berkomunikasi dengan sempurna maka pengembangan perangkat lunak diiringi dengan aktivitas jaminan kualitas. Meningkatnya visibilitas (kemampuan) perangkat lunak sebagai suatu elemen sistem dan “biaya” yang muncul akibat kegagalan perangkat lunak, memotivasi dilakukannya perencanaan yang baik melalui pengujian yang teliti. Sejumlah aturan yang berfungsi sebagai sasaran pengujian pada perangkat lunak adalah: 29 1. Pengujian adalah proses eksekusi suatu program dengan maksud menemukan kesalahan. 2. Test case yang baik adalah test case yang memiliki probabilitas tinggi untuk menemukan kesalahan yang belum pernah ditemukan sebelumnya. 3. Pengujian yang sukses adalah pengujian yang mengungkap semua kesalahan yang belum pernah ditemukan sebelumnya. Sasaran itu berlawanan dengan pandangan yang biasanya dipegang yang menyatakan bahwa pengujian yang berhasil adalah pengujian yang tidak ada kesalahan yang ditemukan. Data yang dikumpulkan pada saat pengujian dilakukan memberikan indikasi yang baik mengenai reliabilitas perangkat lunak dan beberapa menunjukkan kualitas perangkat lunak secara keseluruhan, tetapi ada satu hal yang tidak dapat dilakukan oleh pengujian, yaitu pengujian tidak dapat memperlihatkan tidak adanya cacat, pengujian hanya dapat memperlihatkan bahwa ada kesalahan perangkat lunak. Sebelum mengaplikasikan metode untuk mendesain test case yang efektif, perekayasa perangkat lunak harus memahami prinsip dasar yang menuntun pengujian perangkat lunak, yaitu: a. Semua pengujian harus dapat ditelusuri sampai ke persyaratan pelanggan, maksudnya mengungkap kesalahan dari cacat yang menyebabkan program gagal. b. Pengujian harus direncanakan lama sebelum pengujian itu mulai, maksudnya semua pengujian dapat direncanakan dan dirancang sebelum semua kode dijalankan. 30 c. Prinsip Pareto berlaku untuk pengujian perangkat lunak, maksudnya dari 80% kesalahan yang ditemukan selama pengujian dapat ditelusuri sampai 20% dari semua modul program. d. Pengujian harus mulai “dari yang kecil” dan berkembang ke pengujian “yang besar”, Selagi pengujian berlangsung maju, pengujian mengubah fokus dalam usaha menemukan kesalahan pada cluster modul yang terintegrasi dan akhirnya pada sistem. e. Pengujian yang mendalam tidak mungkin karena tidak mungkin mengeksekusi setiap kombinasi jalur skema pengujian dikarenakan jumlah jalur permutasi untuk program menengah pun sangat besar. f. Untuk menjadi paling efektif, pengujian harus dilakukan oleh pihak ketiga yang independent Dalam lingkungan yang ideal, perekayasa perangkat lunak mendesain suatu program komputer, sebuah sistem atau produk dengan testabilitas dalam pikirannya. Hal ini memungkinkan individu yang berurusan dengan pengujian mendesain test case yang efektif secara lebih mudah. Testabilitas adalah seberapa mudah sebuah program komputer dapat diuji. Karena sangat sulit, perlu diketahui apa yang dapat dilakukan untuk membuatnya menjadi lebih mudah. Prosedural dan menggunakannya sebagai pedoman untuk menetapkan basis set dari jalur eksekusi. Sasaran utama desain test case adalah untuk mendapatkan serangkaian pengujian yang memiliki kemungkinan tertinggi di dalam pengungkapan kesalahan pada perangkat lunak. 31 2.9 .1 Pengujian Black-Box Teknik pengujian black-box berfokus pada domain informasi dari perangkat lunak, dengan melakukan test case dengan menpartisi domain input dari suatu program dengan cara yang memberikan cakupan pengujian yang mendalam. Metode pengujian graph-based mengeksplorasi hubungan antara dan tingkah laku objek-objek program. Partisi ekivalensi membagi domain input ke dalam kelas data yang mungkin untuk melakukan fungsi perangkat lunak tertentu. Analisis nilai batas memeriksa kemampuan program untuk menangani data pada batas yang dapat diterima.