BAB II LANDASAN TEORI 2.1
Pengertian Sistem Penggunaan kata sistem sekarang ini semakin luas dan meliputi berbagai
bidang, sehingga timbul berbagai definisi dan istilah tentang sistem tersebut yang masing–masing beranjak dari sudut pandang dan lingkup pengertian itu sendiri. Pada dasarnya kata sistem berasal dari bahasa Yunani “Systema” yang berarti kesatuan, yakni keseluruhan dari bagian–bagian yang mempunyai hubungan satu sama lain. Beberapa definisi tentang sistem diantaranya : “Sistem menurut West Churchman dapat didefinisikan sebagai serangkaian komponen yang dikoordinasikan
untuk
mencapai serangkaian tujuan.” “Sistem menurut Mulyadi adalah suatu jaringan prosedur yang dibuat menurut pola yang terpadu untuk melaksanakan kegiatan pokok perusahaan.
Sedangkan
prosedur adalah suatu urutan kegiatan klerikal, biasanya melibatkan beberapa orang dalam satu departemen atau lebih, yang dibuat untuk menjamin penanganan secara seragam transaksi perusahaan yang terjadi berulang-ulang.” Dari pengertian tersebut dapat disimpulkan bahwa suatu sistem terdiri dari beberapa jaringan prosedur yang dimaksudkan sebagai langkah pengambilan keputusan dan digunakan dalam teknik perancangan sistem komputerisasi yang berstruktur sehingga dapat menghasilkan output yang baik.
2.2
Sistem Informasi Seringkali terdapat penggunaan istilah data dan informasi secara bersamaan
dengan maksud yang sama, padahal data dan informasi merupakan dua hal yang berbeda. Walaupun demikian keduanya berkaitan erat dengan fakta. Data adalah bahan informasi, dirumuskan sebagai kumpulan dari simbol-simbol yang teratur yang menyatakan jumlah, tindakan–tindakan, hal–hal dan sebagainya. Data dibentuk dari lambang grafis, alfabetis, numerik, atau lambang khusus [2].
II-1
II-2
Iinformasi adalah data yang telah diolah ke dalam bentuk yang berarti bagi si pemakai, mempunyai nilai guna dan manfaat dalam proses pengambilan keputusan pemakainya [2]. Hubungan data dan informasi didefinisikan sebagai bahan baku dan produk jadi. Data sebagai bahan baku, diolah melalui suatu proses transformasi atau pengolahan data menjadi informasi. Atau dapat dikatakan bahwa informasi merupakan keluaran–keluaran (output) dari proses transformasi, dimana data berfungsi sebagai masukan–masukannya (Input). Jika ditinjau sebagai suatu sistem, maka sistem informasi akan menerima masukan–masukan yang berupa data dan instruksi, mengolah data sesuai dengan instruksi–instruksi, dan mengeluarkan hasilnya berupa informasi–informasi. Sistem
informasi
adalah
suatu
sistem
didalam
organisasi
yang
mempertemukan kebutuhan pengolahan transaksi harian, mendukung informasi, bersifat manajerial, dan kegiatan dari suatu organisasi dan menyediakan pihak luar tertentu dengan laporan–laporan yang diperlukan [6]. Berdasarkan uraian pengertian dari kedua kata yang membentuknya, maka dapat dijelaskan sistem informasi adalah sebuah sistem manusia/mesin yang terpadu untuk menyajikan informasi guna mendukung fungsi operasi, manajemen, dan pengambilan keputusan dalam sebuah organisasi. Sistem ini menggunakan perangkat keras dan perangkat lunak komputer, prosedur pedoman, model manajemen dan keputusan, dan sebuah basis data [2].
2.3
Pengertian Hotel [12] Hotel dapat diartikan sebagai tempat / bangunan yang diorganisasikan secara
komersial, dengan sistem yang baik dan fasilitas yang memuaskan kepada setiap tamu yang ada. Pengertian Hotel menurut SK MenParPostel Nomor KM 34/HK 103/MPPT-87, adalah sebagai berikut : “Hotel adalah suatu akomodasi yang mempergunakan sebagian atau seluruh bangunan untuk menyediakan jasa pelayanan penginapan, makan dan minum serta
II-3
jasa lainnya bagi umum, yang dikelola secara komersial serta memenuhi ketentuan persyaratan yang ditetapkan dalam keputusan pemerintah”.
2.3.1 Karakteristik Hotel [12] Perbedaan antara hotel dengan industri lainnya adalah : a. Industri hotel tergolong industri yang padat modal serta padat karya yang artinya dalam pengelolaannya memerlukan modal usaha yang besar dengan tenaga pekerja yang banyak pula. b. Dipengaruhi oleh keadaan dan perubahan yang terjadi pada sektor ekonomi, politik, sosial, budaya, dan keamanan dimana hotel tersebut berada. c. Menghasilkan dan memasarkan produknya bersamaan dengan tempat dimana jasa pelayanannya dihasilkan. d. Beroperasi selama 24 jam sehari, tanpa adanya hari libur dalam pelayanan jasa terhadap pelanggan hotel dan masyarakat pada umumnya. e. Memperlakukan pelanggan seperti raja selain juga memperlakukan pelanggan sebagai patner dalam usaha karena jasa pelayanan hotel sangat tergantung pada banyaknya pelanggan yang menggunakan fasilitas hotel tersebut. 2.3.2 Jenis Hotel [12] Penentuan jenis hotel tidak terlepas dari kebutuhan pelanggan dan ciri atau sifat khas yang dimiliki wisatawan. Berdasarkan hal tersebut, dapat dilihat dari lokasi dimana hotel tersebut dibangun, sehingga dikelompokkan menjadi: a. City Hotel Hotel yang berlokasi di perkotaan, biasanya diperuntukkan bagi masyarakat yang bermaksud untuk tinggal sementara (dalam jangka waktu pendek). City Hotel disebut juga sebagai transit hotel karena biasanya dihuni oleh para pelaku bisnis yang memanfaatkan fasilitas dan pelayanan bisnis yang disediakan oleh hotel tersebut.
II-4
b. Residential Hotel Hotel yang berlokasi di daerah pinngiran kota besar yang jauh dari keramaian kota, tetapi mudah mencapai tempat-tempat kegiatan usaha. Hotel ini berlokasi di daerah-daerah tenang, terutama karena diperuntukkan bagi masyarakat yang ingin tinggal dalam jangka waktu lama. Dengan sendirinya hotel ini diperlengkapi dengan fasilitas tempat tinggal yang lengkap untuk seluruh anggota keluarga. c. Resort Hotel Hotel yang berlokasi di daerah pengunungan (mountain hotel) atau di tepi pantai (beach hotel), di tepi danau atau di tepi aliran sungai. Hotel seperti ini terutama diperuntukkan bagi keluarga yang ingin beristirahat pada hari-hari libur atau bagi mereka yang ingin berekreasi. d. Motel (Motor Hotel) Hotel yang berlokasi di pinggiran atau di sepanjang jalan raya yang menghubungan satu kota dengan kota besar lainnya, atau di pinggiran jalan raya dekat dengan pintu gerbang atau batas kota besar. Hotel ini diperuntukkan sebagai tempat istirahat sementara bagi mereka yang melakukan perjalanan dengan menggunakan kendaraan umum atau mobil sendiri. Oleh karena itu hotel ini menyediakan fasilitas garasi untuk mobil.
2.3.3 Klasifikasi Hotel [12] Menurut keputusan direktorat Jendral Pariwisata, Pos dan Telekomunikasi no 22/U/VI/1978 tanggal 12 Juni 1978, klasifikasi hotel dibedakan dengan menggunakan simbol bintang antara 1-5. Semakin banyak bintang yang dimiliki suatu hotel, semakin berkualitas hotel tersebut. Penilaian dilakukan selama 3 tahun sekali dengan tatacara serta penetapannya dilakukan oleh Direktorat Jendral Pariwisata. Menurut Trizna Tarmoezi dan Heldin Manurung hotel dapat diklasifikasikan sebagai berikut : 1. Berdasarkan Besarnya Hotel (Hotel Size) a. Hotel yang memiliki jumlah kamar tidak lebih dari 150 kamar.
II-5
b. Hotel yang memiliki jumlah kamar antara 150 hingga 299 kamar. c. Hotel yang memiliki jumlah kamar antara 300 hingga 600 kamar. d. Hotel yang memiliki jumlah kamar lebih dari 600 kamar. 2. Berdasarkan Pemakai Jasa Hotel (Hotel Target Market) a. Comercial Hotel (Hotel Bisnis), yaitu hotel yang diperuntukkan khusus bagi para usahawan. b. Airport Hotel, merupakan yang digemari oleh para tamu karena dekat dengan pusat perjalanan seperti pelabuhan udara. c. Suite
Hotel,
merupakan
usaha
perhotelan
yang
sangat
cepat
perkembangannya. d. Residential Hotel, Jenis hotel ini hampir sama dengan suite hotel. e. Resort Hotel, yaitu salah satu jenis hotel yang menjadi pilihan bagi orang yang akan berlibur karena dilengkapi dengan pemandangan yang indah. f. Bed and Breakfast Hotel g. Time-Share Hotel, merupakan usaha perhotelan dimana suatu gedung yang dimiliki oleh perseorangan atau perusahaan yang membentuk suatu asosiasi dan menyewa jasa perusahaan manajemen untuk mengoperasikan gedung tersebut menjadi hotel. h. Casino Hotel i. Conference Hotel, merupakan hotel yang dirancang untuk menangani grup yang mengadakan pertemuan. 3. Berdasarkan Cara Kepemilikan (Ownership) a. Independent Hotel, adalah hotel yang tidak memiliki kerjasama kepemilikan ataupun manajemen dengan hotel lain. b. Parent Company Hotel, adalah hotel yang dimiliki dan dioperasikan oleh perusahaan multi uni. c. Management Contract d. Franchise and Referal Group
II-6
2.4
Pengertian Reservation Setiap wisatawan yang akan berpergian ke suatu daerah baik daerah tujuan
wisata maupun daerah lainnya, terlebih dahulu melalukan perencaan terlebih dahulu dengan membuat reservation. Pemesanan dalam bahasa Inggris adalah reservation yang berasal dari kata “to reserve” yaitu menyediakan atau mempersiapkan tempat sebelumnya. Sedangkan reservation yaitu pemesanan suatu tempat fasilitas. Jadi secara umum reservation yaitu pemesanan fasilitas yang diantaranya akomodasi, meal, seat pada pertunjukan, pesawat terbang, kereta api, bus, hiburan, night club, discoutegue dan sebagainya. Kata reservation atau pemesanan dalam dunia pariwisata disebut juga booking. Kadangkala wisatawan tidak dapat membedakan arti dari kedua kata tersebut. Perlu ditegaskan bahwa kedua kata tersebut tidak memiliki perbedaaan arti. Dalam dunia kepariwisataan reservation merupakan suatu lembaga atau cara yang sangat penting dan merupakan salah satu pemegang kendali bagi kelangsungan aktivitas suatu biro perjalanan wisata. Sebelumnya seseorang atau para wisatawan melakukan perjalanan ke suatu tempat dan tinggal di suatu tempat yang dituju, maka orang atau para wisatawan tersebut harus membuat rencana perjalanan dan melakukan pemesanan tempat pada akomodasi, transportasi, tour program, restaurant dan pertunjukan yang diperlukan. Hal-hal tersebut sangat penting dan harus diketahui oleh petugas industri pariwisata, khususnya pada reservation department pada sebuah travel biro. Department ini harus benar-benar mengetahui secara jelas bahwa tidak semua para wisatawan itu mempunyai kebutuhan dan tujuan yang sama.Secara umum kata reservation itu mempunyai arti dan makna yang sama yaitu pemesanan yang dilakukan oleh seseorang atau lebih untuk suatu tempat yang baik dan nyaman dari pihak travel ke hotel, maupun dari travel ke airline. Salah satu dari komponen tersebut tidak dapat dipisah-pisahkan, namun kebanyakan orang salah menafsirkan yaitu reservasi hanya ada untuk pihak hotel saja. Hal ini memang tidak bisa disalahkan karena setiap wisatawan yang datang pasti akan memerlukan kamar hotel walaupun ini ditangani oleh travel biro.
II-7
Cara untuk membedakan antara reservation hotel, travel dan airlines adalah jenis kegiatan dari masing-masing industri pariwisata itu sendiri. Untuk itulah kegiatan dari reservation dikatakan tidak bisa dipisahkan-pisahkan dari satu komponen dengan komponen lain yang ada dalam dunia industri pariwisata seperti yang telah diuraikan diatas. Bila dilihat secara rinci, kegiatan reservation di hotel, airlines dan travel biro adalah sama namun sedikit perbedaan yaitu pada penerapannya. Pengertian reservation tidak hanya terlepas dari fungsi dan tugas dari reservation department itu sendiri yaitu: penyediaan tempat baik sebelum tamu atau para wisatawan datang. Adapun fungsi dari reservation department secara umum adalah: 1. Melayani wisatawan dalam mempersiapkan tempat (kamar hotel, tempat duduk dalam pesawat, tour dan transportasi). 2. Mempersiapkan pramusiwata atau guide yang professional. 3. Melakukan surat menyurat dengan pihak yang terkait dan arsip.
2.5
Pengertian Reservation Online Reservation Online berasal dari bahasa Inggris yaitu Reservation dan Online,
seperti yang dijelaskan di atas bahwa reservation berasal dari kata “to serve” yaitu menyediakan atau mempersiapkan tempat sebelumnya. Sedangkan kata Online berasal dari bahasa Inggris yaitu “on“ dan “line” dimana kata on itu sendiri berarti hidup atau terus menerus dan line berarti garis atau hubungan, yang dalam pengertian umumnya adalah suatu hubungan yang terus menerus.
2.6
Metode Rekayasa Perangkat Lunak dengan Fountain Model Fountain model merupakan model rekayasa perangkat lunak yang diterapkan
untuk pembangunan sistem yang bersifat object oriented. Tahapan-tahapan pengembangan yang dilakukan adalah Analisa kebutuhan, spesifikasi kebutuhan user, perancangan sistem, perancangan program, coding, unit testing, sistem testing, implementasi, pemeliharaan dan
pengembangan lebih lanjut. Tahapan-tahapan
II-8
tersebut saling terkait dan saling mempengaruhi (life cycle). Keterkaitan tahapantahapan dapat dilihat pada gambar 2.1 dibawah ini : [7]
Gambar 2.1 Fountain Model
a. Tahap requirement analysis: menganalisa kebutuhan sistem dan semua yang berkaitan dengan proses yang terjadi pada sistem yang diperlukan untuk membangun sistem sehingga dapat berjalan dengan baik dan maksimal. b. Tahap user requirement specification: menjelaskan tentang kebutuhan dari sisi pengguna (user), sehingga user dapat menjalankan sistem dengan baik. c. Tahap software requirements specification: menjelaskan tentang kebutuhan sistem dari sisi software sehingga sistem yang ada dapat berjalan dengan baik dan maksimal.
II-9
d. Tahap sistem design: Pada tahap perancangan ini diberikan gambaran umum yang jelas kepada pengguna dan rancang bangun yang lengkap tentang sistem yang akan dikembangkan kepada pihak-pihak yang terlibat dalam pengembangan sistem. Perancangan disini dilakuan dengan permodelan menggunakan metode Object Oriented dengan tools UML (Unified Modeling Language). Tahapan perancangan sistem disini dibagi menjadi dua bagian, yaitu perancangan global dan perancangan rinci. Perancangan global dilakukan untuk memberikan gambaran umum kepada pengguna tentang sistem yang dirancang dan sebagai persiapan untuk tahap perancangan rinci. Perancangan rinci dilakukan untuk memberikan gambaran rancang bangun yang lengkap kepada pemrogram dan pihak-pihak lain yang terlibat dalam pengembangan sistem sebagai persiapan untuk tahap implementasi. e. Tahap program design: proses perancangan dan pembuatan kerangka program yang mengacu pada tahap sebelumnya, sehingga program yang dibuat dapat mememenuhi kebutuhan dari sistem dan mencakup penyelesaian masalah yang ada. f. Tahap unit testing : proses pengujian terhadap setiap unit yang ada pada sistem sehingga dapat unit tersebut dapat melakukan kerja sesuai dengan yang diharapkan. g. Tahap coding: proses penterjemahan tahap perancangan ke dalam bahasa pemrograman. Proses coding meliputi unit-unit yang ada pada keseluruhan sistem. h. Tahap testing: Pengujan perangkat lunak adalah elemen kritis dari jaminan kualitas perangkat lunak dan merepresentasikan kajian pokok dari spesifikasi, desain, dan pengkodean. Sejumlah aturan yang berfungsi sebagai sasaran pengujian adalah: 1. Pengujian adalah proses eksekusi suatu program dengan maksud menemukan kesalahan. 2. Test case yang baik adalah test case yang memiliki probabilitas yang tinggi untuk menemukan kesalahan yang belum pernah ditemukan sebelumnya.
II-10
3. Pengujian yang sukses adalah pengujian yang mengungkap semua kesalaham yang sebelumnya. Pengujian perangkat lunak tidak pernah berakhir, pengujian hanya akan berpindah
dari
pengembang
ke
pelanggan.
Setiap
kali
pelanggan
menggunakan perangkat lunak tersebut berarti pengujian sedang dilakukan.. i. Tahap program use: proses pengaplikasian dan pemakaian program yang telah dibuat untuk memastikan apakah tujuan yang semula telah terpenuhi. j. Tahap maintenance: pada tahap maintenance, Setelah dilakukan pengujian dan sistem diyakini telah valid, selanjutnya sistem tersebut didistribusikan kepada pengguna. Banyak software tidak dapat bertahan 10 sampai 15 tahun, meskipun software tersebut dibuat dengan desain dan teknik pengkodean terbaik saat dibuat. Software akan memburuk dengan semestinya ketika pindah platform sistem operasi yang berbeda, kebutuhan baru dari pengguna atau software tidak cukup bisa menjawab kebutuhan fungsional. Pemeliharaan lebih dari sekedar “memperbaiki kesalahan”, ada empat perbedaan aktifitas dalam pemeliharaan yaitu: 1. Corrective Maintenance, adalah sama dengan garansi untuk software, atau memperbaiki kesalahan software. 2. Adaptive Maintenance, adalah memodifikasi software untuk platform sistem operasi yang berbeda, atau memodifikasi software untuk mengakomodasi lingkungan eksternal. 3. Pervective Maintenence atau Enhancement, adalah menambah dan mengenali fungsi tambahan yang bermanfaat diluar kebutuhan fungsional aslinya. 4. Preventive Maintenance atau Reengineering, adalah pembangunan kembali software yang sudah memburuk kinerjanya. Aktifitas ini lebih mudah disamping aktifitas pemeliharaan yang lain. Hanya 20% dari semua pekerjaan pemeliharaan digunakan untuk melakukan perbaikan kesalahan, sedangkan sisanya 80% digunakan untuk memodifikasi software untuk mengakomodasi lingkungan eksternal, menambah dan
II-11
mengenali fungsi tambahan dan pembangunan kembali software untuk digunakan di masa depan. k. Tahap further development: pada tahap ini dijelaskan kemungkinan yang ada untuk proses pengembangan sistem.
2.7
Perancangan System dengan UML (Unified Modeling Language)[8]
2.7.1 Use Case Diagram Diagram yang bersifat statis, diagram ini memperlihatkan himpunan use case dan actor (suatu jenis khusus dari kelas) diagram ini sangat penting untuk mengorganisasikan dan memodelkan prilaku dari suatu sistem yang dibutuhkan serta diharapkan pengguna. Adapun simbol-simbol yang sering digunakan dalam Use Case Diagram adalah : Tabel 2.1 Simbol-simbol pada Use Case Diagram [8] No. 1.
Simbol
Keterangan Simbol Actor, menggambarkan aktor pada diagram.
2.
Simbol UseCase, menggambarkan UseCase pada diagram
3.
Simbol Unidirectional Association, menggambarkan relasi antar aktor dan use case
II-12
2.7.2 Class Dalam Model Analisis Elemen model yang terdapat dalam model analisis disebut kelas analisis (analysis class). Kelas analisis adalah kelas ber-stereotype “Boundary”, “Control”, atau “Entity” yang menggambarkan sebuah konsep awal mengenai “benda” dalam sistem aplikasi yang memiliki tanggung jawab dan perilaku. Kelas analisi akhirnya berkembang menjadi kelas didalam model desain. Adapun simbol-simbol yang sering digunakan dalam Class dalam model analisis adalah : Tabel 2.2 Simbol-simbol pada Class Model Analisis [8] No.
Simbol
Keterangan Simbol
1.
Boundary,
menggambarkan
batasan kelas pada diagram. Dimana kelas yang memodelkan interaksi antara satu atau lebih actor dengan sistem 2.
Simbol Control, menggambarkan unsur kendali pada diagram. Entity menggambarkan kelas entitas pada
3.
diagram.
2.7.3 Class Diagram Diagram yang bersifat statis, diagram ini memperlihatkan himpunan kelaskelas, antarmuka-antarmuka, kolaborasi-kolaborasi, serta relasi-relasi. Diagram ini umum dijumpai pada pemodelan berorientasi objek, meskipun bersifat statis sering pula diagram kelas ini memuat kelas-kelas aktif. Adapun simbol-simbol yang sering digunakan dalam Class Diagram adalah :
II-13
Tabel 2.3 Simbol-simbol pada Class Diagram [8] No.
Simbol
1.
Keterangan Simbol class, menggambarkan representasi dari class yang dipergunakan dalam sistem.
2.
Simbol Agregation, menggambarkan relasi agregasi.
3.
Simbol Association, menggambarkan relasi asosiasi.
2.7.4 Sequence Diagram Diagram yang bersifat dinamis, diagram urutan adalah diagram interaksi yang menekankan pada pengiriman pesan dalam suatu waktu tertentu. Adapun simbolsimbol yang sering digunakan dalam Sequence Diagram adalah : Tabel 2.4 Simbol-simbol pada Sequence Diagram [8] No. 1.
Simbol
Keterangan Simbol Actor, menggambarkan aktor pada diagram.
2.
Simbol Boundary, menggambarkan batasan kelas pada diagram.
3.
Simbol Control, menggambarkan unsur kendali pada diagram.
4.
Entity menggambarkan kelas entitas pada diagram.
5.
Object Message, menggambarkan pesan antar dua objek.
II-14
6.
Message to Self, menggambarkan pesan yang menuju dirinya sendiri.
2.7.5 Collaboration Diagram Diagram yang bersifat dinamis, diagram kolaborasi adalah diagram interaksi yang menekankan organisasi struktural dari objek-objek yang menerima serta mengirim pesan. Adapun simbol-simbol yang sering digunakan dalam Collaboration Diagram adalah : Tabel 2.5 Simbol-simbol pada Collaboration Diagram [8] No. 1.
Simbol
Keterangan Simbol Actor, menggambarkan aktor pada diagram.
2.
Simbol Boundary, menggambarkan batasan kelas pada diagram.
3.
Simbol Control, menggambarkan unsur kendali pada diagram.
4.
Entity menggambarkan kelas entitas pada diagram.
5.
Link to Self, menggambarkan bahwa suatu objek memanggail operasinya sendiri
6.
Object Link, menggambarkan lintasan komunikasi antar dua objek.
7.
Link Message, menggambarkan pesan antar dua objek, atau dari suatu objek ke dirinya sendiri.
II-15
8.
Reverse Link Message, menggambarkan pesan dalam arah berlawanan antar dua objek. atau dari suatu objek ke dirinya sendiri.
2.7.6 Activity Diagram Diagram yang bersifat dinamis, diagram aktivitas adalah tipe khusus dalam diagram state yang memperlihatkan aliran dari sesuatu aktifitas ke aktfitas lainnya dalam suatu sistem. Diagram ini terutama penting dalam pemodelan fungsi-fungsi dalam suatu sistem dan memberi tekanan pada aliran kendali antar objek. Adapun simbol-simbol yang sering digunakan dalam Activity Diagram adalah : Tabel 2.6Simbol-simbol pada Activity Diagram [8]
No. 1.
Simbol
Keterangan Simbol Start state, menggambarkan aliran kerja berawal.
2.
Simbol End state, menggambarkan aliran kerja berakhir.
3.
Simbol Decision, menggambarkan Titik keputusan pada aliran kerja.
4.
State Transition, menggambarkan transisi dari suatu aktivitas ke aktivitas yang lain.
5.
State, menggambarkan state untuk suatu objek.
II-16
2.7.7 Statechart Diagram Diagram yang bersifat dinamis, diagram ini memperlihatkan state, transisi event, serta aktifitas. Diagram ini penting terutama untuk memperlihatkan sifat dinamis dari antar muka (interface), kelas, kolaborasi, dan terutama penting pada pemodelan sistem-sistem yang reaktif. Adapun simbol-simbol yang sering digunakan dalam Statechart Diagram adalah : Tabel 2.7 Simbol-simbol pada Statechart Diagram [8] No. Simbol 1.
Keterangan Simbol Start state, menggambarkan state awal. Pada diagram.
2.
Simbol End state, menggambarkan state berakhir pada diagram.
3.
Simbol Transition to Self, menggambarkan transisi yang mengarah pada state tunggal.
4.
State Transition, menggambarkan transisi pada diagram.
2.8
Implementasi
2.8.1 PHP [4] PHP adalah kependekan dari Hypertext Preprocessor atau Profesional Homepage, yaitu sebuah bahasa scripting yang dieksekusi di sisi server (Server-side Scripting Language). Fungsinya adalah membuat sebuah web yang interaktif dan dinamis. PHP dibuat pertama kali pada tahun 1995 oleh Rasmus Lerdorf, seorang software engineer anggota tim pengembangan web server Apache. Pada tahun 1996 Rasmos menulis kode script Perl untuk diterapkan pada hal yang lebih komplek dengan bahasa pemrograman C.
II-17
Pada bulan Oktober 2000 PHP merilis versi 4.0 dengan mengintegrasikan Zend Engine, dan merupakan versi pengembangan dari PHP 3 Script Engine. Keunggulannya dari sifatnya yang server-side tersebut antara lain : Tidak diperlukan kompatibilitas browser atau harus menggunakan browser tertentu, karena server-lah yang akan mengerjakan skrip PHP. Hasil yang dikirimkan kembali ke browser apapun. Dapat memanfaatkan sumber-sumber aplikasi yang dimiliki oleh server, misalnya koneksi ke database. Skrip tidak dapat “diintip” dengan menggunakan fasilitas view HTML source. Sebagai contoh, perhatikan skrip PHP sederhana berikut ini: Contoh: Script PHP < TITLE> Hai,Saya Script PHP
”; ?>
Setelah skrip ini dikerjakan di server, server akan memberikan output kepada browser sebagai berikut : Contoh : Script PHP<TITLE> Hai, Saya Script PHP
Output inilah yang dieksekusi oleh browser. Dengan output berupa tag-tag HTML biasa, maka output tersebut pasti dapat dieksekusi oleh browser apapun. Adapun kelebihan dari PHP yaitu dapat “melakukan” semua aplikasi program CGI, seperti mengambil nilai form, menghasilkan halaman web yang dinamis, mengirim dan menerima cookie. PHP juga dapat berkomunikasi dengan layanan-
II-18
layanan yang menggunakan protokol IMAP, SNMP, NNTP, POP3, HTTP, dan lainlain. Namun
tampaknya
kelebihan
PHP
yang
paling
signifikan
adalah
kemampuannya untuk melakukan koneksi dengan berbagai macam database. Saat ini, database yang didukung PHP adalah : Adabas D, InterBase, PostgreSQL, dBase, FrontBase, Solid, Empress, mSQL, Sybase, FilePro(read-only), Direct MS-SQL, Velocis, IBM DB2, MySQL, Unix dbm, Informix, Semua database yang mempunyai provider ODBC, Ingres, Oracle (OCI7 and OCI8). 2.8.2 MySQL [4] MySQL dikembangkan sekitar tahun 1994 oleh sebuah perusahaan pengembang software dan konsultan database bernama MYSQL AB yang berada di Swedia. Waktu itu perusahaan tersebut masih bernama TcX DataKonsult AB, dan tujuan awal dikembangkannya MySQL adalah untuk mengembangkan aplikasi berbasis web pada client. Awalnya Michael "Monty" Widenius, pengembang satusatunya di TcX memiliki sebuah aplikasi UNIREG dan rutin ISAM buatannya sendiri dan sedang mencari antarmuka SQL yang cocok untuk diimplementasikan ke dalamnya. Mula-mula Monty memakai miniSQL (mSQL) pada eksperimennya itu, namun SQL dirasa kurang sesuai, karena terlalu lambat dalam pemrosesan query. Akhirnya Monty menghubungi David Hughes, pembuat mSQL yang sedang merilis versi kedua dari mSQL. Kemudian Monty mencoba membuat sendiri mesin SQL yang memiliki antarmuka mirip dengan SQL, tetapi dengan kemampuan yang lebih sesuai sehingga lahirlah MySQL. Tentang pengambilan nama MySQL, sampai saat ini masih belum jelas asal usulnya. Ada yang berpendapat nama My diambil dari huruf depan dan belakang Monty, tetapi versi lain mengatakan nama itu diambil dari putri Monty yang kebetulan juga bernama My. 2.8.3 Keistimewaan MySQL [4] Sebagai database server yang memiliki konsep database modern, MySQL memiliki banyak sekali keistimewaan. Berikut ini beberapa keistimewaan yang dimiliki oleh MySQL:
II-19
a. Portability MySQL dapat berjalan stabil pada berbagai OS seperti Windows, Linux, Unix, Mac OS, Solaris, Unix, Amiga, HP-UX, Symbian. b. Open Source "limited" Dahulu MySQL didistribusikan secara open source (gratis), dibawah lisensi GPL sehingga kita dapat menggunakannya secara cuma-cuma tanpa dipungut biaya. Namun, saat ini karena MySQL telah dibeli oleh SUN, maka kita tidak dapat lagi menikmati fitur-fitur baru yang ada di MySQL, karena SUN akan membatasi fiturfitur baru ini hanya untuk user yang membeli lisensinya. Sehingga MySQL tidak lagi sebuah opensource yang benar-benar gratis lagi. MySQL sekarang hanya menyediakan fitur-fitur "dasar" saja yang saat ini sudah menggunakan versi 5.1. Untuk mendownloadnya silahkan download di sini dan dicari versi MySQL dengan OS kita. c. Multiuser MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami konflik. Hal ini memungkinkan sebuah database server MySQL dapat diakses klien secara bersamaan. d. Performance Tuning MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu. e. Column Types MySQL memiliki tipe kolom yang sangat kompleks, seperti signed/unsigned integer, float, double, char, varchar, text, blob, date, time, datetime, timestamp, year, set serta enum. f. Command dan Functions MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah SELECT dan WHERE dalam query.
II-20
g. Security MySQL memiliki beberapa lapisan sekuritas seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta password terenkripsi. h. Scalability dan Limits MySQL ammpu menangani database dalam skala besar dengan jumlah records lebih dari 50 juta dan 60 ribu tabel serta 5 miliar baris. Selain itu, batas index yang dapat ditampung mencapai 32 indeks pada tiap tabelnya. i. Connectivity MySQL dapat melakukan koneksi dengan klien menggunakan TCP/IP, Unix soket (Unix), atau Named Pipes (NT). j. Localisation MySQL dapat mendeteksi pesan kesalahan (error code) pada klien dengan menggunakan lebih dari dua puluh bahasa. k. Interface MySQL memiliki interface terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface). l. Clients dan Tools MySQL dilengkapi dengan berbagai tool yang dapat digunakan untuk administrasi database, dan pada setiap tool yang ada disertakan petunjuk online. m. Struktur Tabel
MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE dibandingkan database lainnya.