BAB II
DASAR TEORI

2.1	Gambaran Umum
Perkembangan Bisnis di Yogyakarta yang relative cukup maju dan berkembang pesat dengan seiringnya waktu, membuat para pengusaha yang ingin membuat suatu terobosan baru di dalam hal memasarkan jasa ataupun produknya kepada para konsumen terutama yang memerlukan jasa.

2.2	Pengertian WAP
WAP (Wireless Aplication Protocols) adalah sebuah standarisasi komunikasi antar mobile device telephone dengan informasi yang ada di internet. Teknologi ini menyatukan dalam sebuah ponsel dan alat-alat komunikasi mobile device telephone lainnya.

2.2.1	Sejarah WAP
Protokol ini awalnya di kembangkan oleh WAP Forum pada tahun 1997. WAP Forum merupakan organisasi nirlaba yang bertujuan untuk menetapkan standar dalam memberikan akses internet ke kelas konsumen melalui alat wirless. Standar membantu platform global untuk menciptakan jalur yang berbeda tetapi sejalan dengan internet.
Cara kerja WAP hampir sama dengan cara kerja internet, seperti halnya dengan cara kerja PC yang akan membutuhkan sebuah ISP (Internet Service Provider) yang akan berperan sebagai gateway dalam menjembatani PC
dengan internet, WAP juga memerlukan WAP gateway untuk menjembatani ponsel dengan internet dalam transfer data.
WAP tidaklah sehebat website. Pada saat ini wap belum dapat menampung bentuk-bentuk informasi dalambentuk animasi dan suara. Dalam WAP hasil gambar yang sangat terbatas, informasi dalam bentuk text dan tulisan.

2.2.2	Cara kerja WAP
Mekanisme kerja pada WAP terdiri dari beberapa bagaian yaitu perangkat wireless yang akan mendukung kinerja dari pada WAP, sebagai perantara web server sebagai sumber dokumennya yang di sebut sebagai HTML ( Hyper Text Markup Language) atau WML ( Wireless Markup Language). Dokumen yang berbentuk HTML yang di tampilkan melalui browser WAP yang di akses oleh client di terjemahkan dahulu oleh gateway kedalam format WML supaya dapat menyesuaikan dengan layar pada ponsel dimana ukurannya sangat relative kecil. Web browser untuk menampilkan isi dari pada dokumen dari web server  dan nantinya akan di tampilkan maka akan membutuhkan seperti WAP browser dan akan tampil di layer ponsel. Untuk mereka yang suka akan mengakses WAP menggunakan PC terdapat fasilitas browser emulator gunanya untuk mengakses situs tersebut.
Apabila di pandang dari sisi kebutuhan informasi dalam mengakses WAP akan menguntungkan bagi pengakses ponsel karena sifatnya statis dan informasi yang di dapat oleh user sangatlah real time oleh karena itu di butuhkan pemrogram WAP untuk menjawab kebutuhan informasi tersebut.
Tedapat tiga bagian untuk model pemrogrman WAP yaitu client yang akan mengakses permintaan informasi ke web server, gateway bertugas sebagai penerjemah WAP dan HTTP, server akan memproses permintaan gateway untuk kemudian menjawab sebelumnya jawaban dari server akan diproses terlebih dahulu dari CGI script akan di kirim melalui gateway yang statusnya sebagai perantara dan ukuran dari proses tersebut akan di perkecil.

2.3	Perancangan Basis Data 
Rancangan dari sebuah basis data merupakan suatu hal yang sangat penting dalam suatu pengolahan data karena sangat mempengaruhi dalam peningkatan pelayanan kepada pelanggan terutama perusahaan yang bergerak di bidang bisnis keuntungan ini dapat meningkatkan mutu dari pada perusahaan yang bersangkutan serta untuk menyangingi para pesaingnya oleh karena itu tahap transisi dari perusahaan yang awalnya menggunakan sistem manual beralih ke sistem basisdata.
Terdapat kendala di dalam merancang sistem basis data karena dalam merancang sebuah basis data bukan hanya sekedar untuk saat ini yang sedang di butuhkan tetapi juga untuk masa yang akan datang.
Terdapat tiga tahapan-tahapan untuk perancangan basis data yaitu:
1. Perancangan basis data secara konseptual.
Perancangan basis data secara konseptual pemodelan dalam bentuk konsep.
2. Perancangan basis data secara logis
Perancangan basis data model pemetaan dari model  konseptual ke model basis data yang akan di pakai seperti model relasional, hirarki atau jaringan.
3. Perancangan basis data secara fisis
Perancangan basis data model fisis merupakan tahapan untuk menuangkan perancangan basis data yang bersifat logis menjadi data fisis yang tersimpan pada media external.

2.3.1	Merancang Model Konseptual Basis Data
Perancangan model konseptual penekan dilakukan pada struktur data dari relasi antar file. Terdapat 2 buah teknik yaitu :
1.	Teknik Normalisasi
Teknik normalisasi akan menunjukkan entitas dan relasinya. Pada tahapan normalisasi ini terdapat kendala yaitu pada saat menambah, menghapus, mengubah, membaca pada suatu basis data yang di rancang. Oleh karena itu sangat tidak mungkin untuk menyempurnakan bila terdapat suatu kelemahan dimana akan mengakibatkan struktur table yang kurang fleksibel dan tidak efisien.
2.	Teknik Entity Relationship
Model relasional   hubungan antar file yang di relasikan dengan cara mengambil kunci utama dari masing-masing file dehingga akan mengoptimalisasikan untuk perancangan basis data juga bekerja secara optimal.
2.3.2	Bentuk Normalisasi
Normalisasi yang di kenal dengan tahapan normalisasi yaitu :
1. Salah  Satunya Bentuk  Tidak Normal.
Di dalam bentuk ini merupakan kumpulan data yang akan di rekam di haruskan mengikuti suatu format tertentu bisa juga terdapat penduplikasian nantinya data akan terkumpul seadanya.
2. Bentuk Normalisasi Ke satu
Di dalam bentuk normal pertama yang belum ternomalisasi dan memiliki atribut berulang-ulang. Dari bentuk normal yag pertama mempunyai ciri-ciri yaitu disetiap data di bentuk dalam ke dalam flat file, data di ambil dari satu record ke record yang lain sehingga tidak ada set atribut yang berulang-ulang sehingga tidak mempunyai arti ganda.
3. Bentuk Normal Kedua.
Pengubahan bentuk normal pertama ke dalam bentuk nomal ke dua perlu di lakukan dekomposisi terhadap relasi.
Bentuk normal kedua ini mempunyai persyaratan yaitu bahwa bentuk data yang telah memenuhi keriteria bentuk normal ke satu maka langkah yang akan di ambil yaitu menetapkan kunci primari atau utama dan akhirnya akan membentuk bentuk dari normal kedua yang akan di tentukan oleh kunci field-field.
4. Bentuk Normal Ketiga
Pengubahan dari bentuk normal kedua menjadi bentuk normal yang ketiga agar menjadi bentuk normal ke tiga dengan syarat bahwa semua atribut bukan primer tidak punya hubungan yang transitif terhadap kunci primer. Yang di maksud di sini bahwa setiap atribut bukan kunci utama.
5. Boyce-Codd Normal Form
Agar menjadi Boyce-Codd Normal Form relasi yang menghubungkan dari bentuk normal kesatu yang terdapat pada setiap atribut harus bergantung pada fungsi pada atribut superkey sebagai penentunya adalah kunci kandidat (yang mempunyai sifat unik).

2.4	Diagram Arus Data
Fungsi dari diagram arus data banyak sekali digunakan untuk menggambarkan suatu sistem yang ada nantinya akan di kembangkan dengan cara logika dan tanpa mempertimbangkan lingkungan fisik dimana data akan mengalir sebagai contoh lewat surat dan sebagainya. Dari diagram arus data ini akan menggambarkan suatu arus data di dalam sistem dengan struktur dan jelas dengan menggunakan simbol-simbol. Sebagai contohnya di bawah terdapat berbagai simbol.

Nama	Simbol	Keterangan	

Kesatuan Luar		Menerangkan kesatuan entity di lingkungan luar sistem dapat berupa orang, sistem yang berada di luar akan memberikan input dan menghasilkan outputnya 	

Proses	
	Suatu proses adalah kegiatan atau kerja yang di lakukan oleh orang, mesin atau komputer dari hasil suatu arus data yang masuk ke dalam proses .	

Aliran		Arus data ini akan menggambarkan aliran suatu proses. Arus data ini akan menunjukkan arus data dari yang berupa input akan di teruskan ke proses dan akan menghasilkan output .	
Media Penyimpanan		Data akan di simpan dan juga merupakan lokasi data dimana data akan tersimpan.	

2.5	Bagan Alir Sistem
Bagan alir suatu sistem akan menunjukkan arus dari kinerja secara keseluruhan dari suatu sistem. Di bagan alir sistem ini akan di jelaskan prosedur dari semua system secara runtut. Sebagai penggambarannya terdapat contoh-contoh di bawah ini.

Nama	Simbol	Keterangan	

Simbol Masukkan Data		Menunjukkan data masukkan	

Simbol Dokumen		Menunjukkan dokumen output baik proses	

Display		Menunjukkan dokumen output yang di tampilkan pada layar monitor	
Panah		Menunjukkan arus data	

Simbol proses		Menunjukkan kegiatan proses dari operasi program komputer	

Media Penyimpanan		Input dan output tersimpan dalam media hardisk	

Simbol Penghubung		Menunjukkan korelasi page ke page lain	

2.6 	Mengenal Bahasa WML (Wireless Markup Language)
Aplikasi WAP di kenal dengan bahasa WML(Wireless Markup Language) dimana bahasa komputasi ini mirip dengan HTML. Bahasa komputer tersebut merubah informasi berupa teks dari halaman situs dan menampilkannya ke dalam layar ponsel. Bila HTML mempunyai javascript untuk membuat halaman-halaman di dalamnya menjadi interaktif, WML juga mempunyai versi sendiri dari dari script yang disebut WML Script. Namum berbeda dengan dengan javascript yang bisa dimasukkan ke dalam HTML, WML Script tidak bisa dijadikan satu dengan WML dan harus berdiri sendiri sebagai satu file script khusus yang dibuat ekstensi wml.perbedaan lainnya adalah pada gambar yang akan ditamplkan pada layar ponsel. Gambar yang hendak ditampilkan haruslah di konversi dahulu ke format wbmp 1 bit dan terdiri dari warna hitam dan background, mengingat layar ponsel yang relatif kecil dan sebagaian besar ponsel yang sudah WAP support masih belum memiliki layar yang berwarna.
WML adalah salah satu script Markup Language untuk membangun aplikasi WAP. Markup language sendiri berarti bahasa penandaan, yang digunakan untuk memberikan ciri khas pada sebuah dokumen atau teks yang ingin ditonjolkan. Pemberian tanda ini dilakukan dengan cara meletakkan tag diantara dokumen atau teks yang hendak ditandai, misalnya hal ini bertujuan untuk menguatkan suatu teks yang mengandung arti asing.
Perbedaan lainnya adalah pada struktur penulisan dokumen WML. Jika sebuah dokumen HTML hanya terdiri atas dua bagian utama, yaitu header dan body, dokumen WML mempunyai header, template (optioanal), dan body yang disebut dengan cards. Susunan secara lengkap ini disebut dengan deck.

Gambar 2.1 Hirarki dalam WML
2.6.1	Penulisan Tag
	Penulisan tag dilakukan agar dokumen WML dapat ditampilkan pada browser sesuai dengan keinginan. Secara umum, sebuah tag diawali dengan tanda lebih kecil (<) dan diakhiri dengan tanda lebih besar (>). Tag biasanya merupakan suatu pasangan, yang disebut sebagai awal dan tag akhir. Tag awal dinyatakan dalam bentuk  < nama tag > dan diakhiri dengan tag akhir yang dinyatakan dalam bentuk </nama tag>. Format penulisan seperti berikut ini :
< nama_tag> kalimat </nama_tag >

tetapi tidak semua tag ditulis berpasangan, karena ada pula tag yang dinamakan single tag atau tunggal, yang hanya terdiri atas tag awal saja. Pada penulisan tag tunggal, sebelum menuliskan penutup tag, lebih dahulu ditulis dengan tanda miring. Format penulisan tag tunggal adalah seperti berikut :
< nama_tag/ >

komentar dapat ditulis di dalam dokumen  WML, meskipun tidak akan diproses oleh browser, tulisan tersebut dapat di jadikan sebagai alat dokumentasi. Adapun format penulisan komentar adalah sebagai berikut :
<!- - komentar - - >

2.6.2	Membuat Deck
Didalam script WML, anda hanya perlu menciptakan sebuah deck saja, yaitu dengan cara menuliskan <wml> dan diakhiri dengan <wml>.

2.6.3	Membuat Card
Suatu kelebihan WML adalah dapat menempatkan beberapa card dalam satu deck sehingga jika kedua card tersebut di hubungkan menggunakan hyperlink, card ini bisa menghemat waktu dan biaya, karena kedua card tersebut masih berada dalam satu file yang sama sehingga ponsel tidak perlu mengkontak server.
Card di bentuk oleh pasangan tag <card> dan </card>. Untuk menuliskan tag cukup dengan meletakkkan tag <card> dan </card> diantara deck, seperti :
<wml>
<card>
<p> Kalimat </p>
</card>
<wml>
Namum mengingat kapasitas memori sebuah ponsel yang cukup terbatas, dalam penggunaan card disarankan secukupnya.

2.6.4	Atribut
Di dalam tag tertentu terdapat atribut yang menyertai dalam pengaturan fungsinya dalam mengatur isi dokumen. Atribut biasanya diletakkan pada tag awal dan berisi nilai-nilai tertentu. Atribut biasanya diletakkan pada tag awal dan berisi nilai-nilai tertentu. Atribut yang menyertai tag <card>. . .</card> antara lain :
a.	Title =” judul card ”
Berfungsi untuk menampilkan topik tertentu dari  halaman WAP.
<card title =”Contoh1”>
b.	Id =” nama card ”
Berfungsi untuk mengidentifikasi sebuah card untuk keperluan tujuan navigasi dari yang lain.
c.	Ontimer =” dokumen tujuan ”
Berfungsi untuk menyatakan tujuan card setelah waktu tertentu.
d.	Newcontext =” true/false “
Berfungsi untuk mengatur penggunaan isi variabel baru dokumen WAP. Jika diisi dengan true, maka seluruh variabel yang digunakan adalah baru. Sedangkan jika diisi dengan false, isi variabel yang digunakan adalah lama.

2.6.5	Link
Antara halaman yang satu dengan yang lain dapat berhubungan dengan adanya link. Selaian halaman, link juga dapat digunakan untuk menghubungkan alamat satu dengan halaman yang lain.
Adapun tag link yang digunakan antara lain :
a.	< go href = “ URL “/>
b.	<a href =” URL “> teks keterangan </a>

2.6.6	Menampilkan Gambar
WAP hanya mengenal file berekstensi wbmp sebagai gambar, jadi sebelum kita memasukkan gambar file-file yang tidak berekstensi wbmp haruslah dikonversikan terlebih dahulu ke dalam tipe wbmp. Perintah memasukkan gambar adalah dengan menggunakan tag <img> yang dituliskan didalam card, contoh :
<img src =”gambar.wbmp” alt=”gambar”/>

2.6.7	Elemen Tabel
WML telah mendukung pembuatan tabel, sehingga kita bisa memunculkan tabel beserta data-datanya ke dalam ponsel. Tag yang digunakan untuk membuat tabel adalah tag <table>, tag ini harus diletakkan diantara tag <p> dan </p> karena tab <table> merupakan bagian dari elemen paragraf (<p>). Tag <table> memiliki dua buah atribut yaitu tag <tr> </tr> dan tag <td> </td>, tag <tr> berfungsi untuk membuat baris dalam tabel. Sedangkan tag <td> berfungsi untuk membuat kolom.

2.7	Mengenal PHP
PHP dikenal sebagai bahasa script yang menyatu dengan tag-tag HTML, dieksekusi diserver, dan digunakan untuk membuat halaman web yang dinamis seperti halnya Active Server Pages (ASP) atau Java Server Page (JSP).
PHP adalah sebuah bahasa script server-side yang digunakan dengan bahasa HTML atau dokumennya secara bersamaan untuk membangun sebuah aplikasi di web yang sangat banyak kegunaannya. PHP ini mirp dengan bahasa C dan mempunyai banyak kesederhanaan dalam pemrosesan perintah dan sangat kompatibel digunakan dengan aplikasidatabase yag ada. Karena memang PHP berasal dari bahasa c dan PERL. Versi pertama PHP dibuat pada tahun 1995, kemudian pada tahun 1996 diluncurkan versi keduanya yang diberi nama PHP/F1, pada pertengahan tahun 1997 versi ketiga dirilis. Barulah pada bulan oktober tahun 2000 versi terakhir PHP 4.0 diluncurkan. Adapun database yang didukung PHP saat ini antara lain :
1.	dBASE ( dBASE III+, Visual dBASE, Visual FoxPro, dan semacamnya ).
2.	DBM.
3.	Filero ( Personix, Inc ).
4.	Informix.
5.	Ingres.
6.	Interbase.
7.	Microsoft Access.
8.	MSQL.
9.	MySQL.
10.	Oracle.
11.	Postgre SQL.
12.	Sybase.

2.7.1	Kelebihan PHP
Beberapa kelebihan lain dari PHP adalah sifatnya gratis (freeware) tidak perlu membayar apapun untuk menggunakan perangkat lunak ini. Perangkat lunak ini dapat di download melalui situs www.php.net. Kemudian walaupun masih tergolong program baru, tetapi PHP sudah banyak melalui pembaruan lewat versi-versinya terbarunya.
PHP memiliki life cycle yang singkat, sehingga PHP selalu up to date mengikuti perkembangan teknologi internet.
PHP dapat dipakai hampir oleh semua web server yang ada di pasaran (misalnya Apache, Xitami, AOLServer, fhttpd, phttd, Microsoft IIS, dan lain-lain) yang dijalankan pada berbagai sistem operasi linux, Unix, Solaris, Windows.
PHP telah banyak didukung oleh paket database baik komersil maupun yang nonkomersil seperti postgreSQL, mSQL, MySQL, Oracle, Infomix, Microsoft SQL Server, dan lain-lain.

2.7.2	Cara Kerja PHP
Cara kerja HTML diawali dengan permintaan suatu halaman web oleh browser. Berdasarkan URL ( Uniform Resource Locator) atau dikenal dengan alamat internet, browser mendapatkan alamat dari webserver, mengidentifikasi halaman yang dikehendaki, dan menyampaikan segala informasi yang dibutuhkan oleh webserver, mengidentifikasi halaman yang dikehendaki, dan menyampaikan segala informasi yang dibutuhkan oleh webserver.
Kemudian webserver akan mencarikan berkas yang dimitna dan memberikan isinya ke browser. Browser yang mendapatkan isinya segera melakukan proses penerjemahan kode HTML dan menampilkannya ke layar pemakai. Prinsip kerja PHP hampir sama dengan HTML. Hanya saja, ketika berkas PHP dan mesin inilah yang memproses dan memberikan hasilnya (berupa kode HTML) ke webserver. Kemudian webserver menyampaikan ke klien.

2.8	Mengenal MySQL
MySQL adalah salah satu jenis database server yang sangat terkenal buatan T.c.X Data konsul AB, Swedia. Kepopulerannya disebabkan MySQL menggunakan SQL sebagai bahasa dasar untuk mengakses databasenya. Database server ini sedikit unik, karena bila digunakan disoftware Microsoft Windows, sifatnya adalah shareware.
MySQL termasuk RDBMS (Relational Databse Management System). Itulah sebabnya istilah seperti tabel, baris, dan kolom digunakan pada MySQL. Pada MySQL sebuah databse mengandung satu atau lebih tabel. Suatu tabel terdiri dari sejumlah baris dan setiap baris mengandung satu atau lebih kolom. Dengan utilitas yang terbatas pada MySQL, mungkin para DBA yang terbiasa dengan SQL server akan merasa kesulitan dengan MySQL, karena banyak kemampuan yang dibuang diMySQL. Disisi lain, MySQL ini lebih mudah dipelajari.
MySQL dirancang untuk dapat berjalan sampai 100 akses secara simultan, selain itu MySQL juga dirancang untuk dapat berjalan cepat. Oleh karena itu MySQLmenghilangkan kemampuan seperti transectional processing. MySQL juga mampu berjalan pada databse sampai 100 GB. Hal ini sukup untuk msebuah software gratis.
Untuk menghubungkan PHP dengan dabase di server MySQL dibutuhkan dua fungsi utama yaitu :
1.	mysql_connect($hostname, $username, $password).
Perintah ini berfungsi sebagai penghubung atau mengkoneksikan ke server MySQL dengan alamat $hostname, login $username, dan password $password.
2.	mysql_select_db($database).
Sedangkan perintah ini dipakai untuk database $database.

2.9	Prosedur Pemesanan Tiket Melalui Telepon
Untuk melakukan pemesanan tiket pesawat, user dapat menghubungi agen travel melalui telepon. Kemudian operator atau bagian reservasi menanyakan identitas customer atau user, misalnya nama, alamat, jenis kelamin, nomor telepon. Prosedur selanjutnya user dapat menanyakan jadwal keberangkatan, jenis maskapai penerbangan, dan harga tiket.
Setelah user mengetahui semua informasi yang dibutuhkan maka user atau customer dapat melakukan pemesanan tiket pesawat yang diinginkan user tersebut. Selanjutnya user memastikan apakah tiket yang telah ditawarkan operator tersebut jadi dipesan atau tidak.
Apabila user menyetujui tiket yang ditawarkan operator akan dilakukan proses booking selanjutnya operator akan memberikan kode booking. Dari proses pembokingan sampai keluar kode booking operator atau reservasi akan menjelaskan kembali kepada customer atau user.
Kemudian tiket akan diantarkan langsung ke alamat customer. Untuk pembayaran tiket dapat dilakukan setelah customer mendapatkan tiketnya.