7
BAB 2
LANDASAN TEORI
2.1. Sistem Rekomendasi
Konsep sistem rekomendasi telah digunakan secara luas oleh hampir semua area bisnis dimana seorang konsumen memerlukan informasi untuk membuat suatu keputusan (Sharda, N., 2010). Sistem rekomendasi pariwisata atau perjalanan menggunakan konsep ini untuk menolong para wisatawan untuk memutuskan tujuan perjalanan mereka, akomodasi dan aktivitas di tempat tujuan.
Sistem rekomendasi merupakan model aplikasi dari hasil observasi terhadap keadaan dan keinginan pelanggan. Oleh karena itu sistem rekomendasi memerlukan model rekomendasi yang tepat agar yang direkomendasikan sesuai dengan keinginan pelanggan, serta mempermudah pelanggan mengambil keputusan yang tepat dalam menentukan produk yang akan digunakannnya (McGinty dan Smyth., 2006).
Menurut Sebastia, L et al (2009) sistem rekomendasi merupakan sebuah (web) alat personalisasi yang menyediakan pengguna sebuah informasi daftar item-item yang sesuai dengan keinginan masing-masing pengguna. Sistem rekomendasi menyimpulkan preferensi pengguna dengan menganalisis ketersediaan data pengguna, informasi tentang pengguna dan lingkungannya (Sebastia, L et al., 2009). Oleh karena itu Sebastia, L et al (2009) menyatakan sistem rekomendasi akan menawarkan kemungkinan dari penyaringan informasi personal sehingga hanya informasi yang sesuai dengan kebutuhan dan preferensi pengguna yang akan ditampilkan di sistem dengan menggunakan sebuah teknik atau model rekomendasi.
Universitas Sumatera Utara
8
Ada beberapa metode atau teknik yang digunakan dalam sistem rekomendasi. Setiap metode disesuaikan dengan permasalahan dalam menghasilkan sebuah informasi yang sesuai. Belka dan PlΓΆΓnig (2004) menyatakan metode atau pendekatan yang dipilih pada sistem rekomendasi bergantung pada permasalahan yang akan diselesaikan, teknik rekomendasi yang berbeda-beda digunakan untuk aplikasi yang berbeda, dasar dari suatu tujuan dan objektif dari sebuah aplikasi. Dari penelitian terbaru metode atau teknik rekomendasi memiliki beberapa sejumlah kemungkinan klasifikasi (Adomavicius & Tuzilin., 2005).
Berdasarkan metode rekomendasi yang sering digunakan, sistem rekomendasi dibagi
dalam
beberapa
collaborative-based
klasifikasi
recommendation
yaitu: dan
content-based
hybrid-based
recommendation,
recommendation
dan
beberapa peneliti menambahkan metode knowledge based recommendation.
Tipe Sistem Rekomendasi
Content-based : membangun profil pengguna.
Collaborative-filtering based : Menggunakan feedback, ulasan dan rating
Knowledge-based :
Hybrid-based :
menggunakan pengetahuan.
Menggabungkan dua atau lebih metode.
pola
Gambar 2.1 Klasifikasi Sistem Rekomendasi
2.1.1. Content-based recommendation
Menurut Bogers & Bosh (2007) content-based recommendation adalah hasil dari penelitian penyaringan informasi dalam sistem berbasis konten. Sistem rekomendasi berbasis konten dimulai dengan memahami kebutuhan user (pengguna), preferensi dan kendala jika ada. Informasi ini digabungkan dengan log dari interaksi user sebelumnya (jika ada) untuk membangun profil pengguna (Sharda N., 2007).
Universitas Sumatera Utara
9
Kemudian sistem rekomendasi mencocokan profil user (pengguna) dengan informasi tentang suatu produk yang telah tersimpan dalam database.
Menurut Baudisch, P (1999) proses yang dilakukan dalam content-based recommendation yaitu melalui informasi retrieval dan sistem filtering informasi yang menampilkan keseluruhan perhitungan dari hubungan tunggal descriptor x object. Objek dapat berupa dokumen teks dan descriptor dapat berupa kata kunci. Gambar 2.2 berikut menunjukan dua entitas dalam relasi antara descriptor dan object.
descriptor
matches
object
Gambar 2.2 Model hubungan entitas content-based retrieval informasi dan filtering
Namun menurut Li, Qing dan Kim, Byeong Man (2002) sistem rekomendasi berbasis konten memiliki kelemahan yaitu : a. Penyaringan berbasis konten sulit untuk menghasilkan rekomendasi yang tidak teduga (serendipitous recommendation), karena semua informasi dipilih dan direkomendasikan berdasarkan konten. b. Tidak reliable (handal) tidak adanya ide, pendapat serta masukkan dari pengguna sebelumya yang sulit dianalis oleh komputer sehingga sulit untuk user (pengguna) pemula memakai sistem ini secara efektif.
2.1.2. Collaborative-based recommendation
Adomavicius
&
Tuzilin
(2005)
menyatakan
sistem
collaborative-based
recommendation adalah metode yang digunakan untuk memprediksi kegunaan item berdasarkan penilaian pengguna sebelumnya. Metode ini merekomendasikan itemitem yang dipilih oleh pengguna lain dengan kemiripan model item dari pengguna saat ini (Sebastia, L et al., 2009).
Universitas Sumatera Utara
10
Sistem rekomendasi berbasis kolaboratif (collaborative-based) dibuat untuk mengatasi kelemahan dari sistem rekomendasi berbasis konten (content-based) yaitu:
a. Pendekatan collaborative dapat bekerja dalam domain dimana terdapat sedikit content yang berasosiasi dengan item atau ditempat dimana content sulit dianalisis menggunakan komputer seperti ide, masukkan atau opini sehingga menjadi reliable.
b. Pendekatan
collaborative
mempunyai
kemampuan
untuk
menyediakan
rekomendasi yang tidak terduga atau tidak disengaja, misalnya dapat merekomendasikan item yang relevan kepada pengguna sekaligus tidak mengandung content dari profil pengguna tersebut.
Berikut merupakan tabel metode collaborative-based recommendation menurut Adomavicius & Tuzilin (2005) :
Tabel 2.1 Tabel collaborative-based recommendation Metode
Algoritma yang digunakan
Kelebihan
Kekurangan 1. Kualitas
bergantung
pada
historical
kumpulan data 1. Domain a. Nearest neighbor b. Clustering Collaborative-based
c. Teori Graph d. Linier regression e. Jaringan Neural
pengetahuan
tidak dibutuhkan 2. Dengan rating,
pemberian pengguna
2. Jika
terdapat
item
baru dalam basis data tidak
dapat
direkomendasikan
lainnya dapat membuat
sampai pengguna lain
prediksi
berminat pada item
berdasarkan
rating sebelumnya
tersebut 3. Poor recommendation, jika terdapat
pengguna
yang memiliki selerea
Universitas Sumatera Utara
11
yang berbeda maka tidak ada pengguna yang
lain
yang
dikatakan
mirip
dengan
pengguna
tersebut,
sehingga
tidak
dapat
menghasilkan
suatu
rekomendasi
Baudisch,P
(1999)
menyatakan
dalam
sistem
collaborative,
seluruh
perhitungan berdasarkan single relation user x object. Gambar 2.3 berikut menunjukan dua entitas dalam relasi antara descriptor dan object.
user
Likes
object
Gambar 2.3 Model hubungan entitas dalam collaborative-based system
2.1.3. Hybrid-based recommendation
Hybrid recommender system digunakan untuk menggambarkan setiap sistem rekomendasi yang menggabungkan beberapa teknik rekomendasi untuk menghasilkan sebuah output (Burke, R.,2007).
Adomavicius & Tuzilin (2005) menyatakan beberapa sistem rekomendasi menggunakan metode hybrid untuk menggabungkan metode content-based dan collaborative untuk membantu keterbatasan yang terdapat pada kedua metode tersebut. Menurut Li,Qing dan Kim, Byeong Man (2002) terdapat beberapa cara penggabungan yang dapat dilakukan dalam metode hybrid yaitu :
Universitas Sumatera Utara
12
1. Penggabungan secara Liner (Linier Combination) Penggabungan ini menggabungkan hasil rating dari metode content-based dan collaborative. Penggabungan ini dilakukan dengan cara pemberian ranking atau rating. Penggabungan ini digambarkan pada gambar 2.4 berikut : Rating Matrix
Collaborative filter
User Profile
Content filter
Combination filter
based
Gambar 2.4 Kombinasi Linier
2. Penggabungan secara Sekuensial (Sequential Combination) Penggabungan ini melakukan perhitungan pada salah satu metode (misalnya content-based) kemudian hasilnya digabungkan dengan perhitungan metode lainnya (collaborative). Penggabungan ini digambarkan pada gambar 2.5 berikut : Content based filter
User Profil
Combination filter
Collaborative filter
Gambar 2.5 Kombinasi Sekuensial
3. Penggabungan secara Item-based Clustering Hybrid Method (ICHM) Penggabungan ini mengintegrasikan informasi item dan rating pengguna untuk menghitung kemiripan item-item. Penggabungan ini digambarkan pada gambar 2.6 berikut : Rating Data Group + rating
Group rater
Collaborative filter
Item rating
Item group vector
Item content
clustering
Gambar 2.6 Item-based Clustering Hybrid Method
Universitas Sumatera Utara
13
Burk, R. (2002) memperkenalkan taxonomy untuk sistem rekomendasi hybrid. taxonomy ini diklasifikasikan ke dalam tujuh kategori, yaitu: a. Weighted hybrid : Nilai komponen dari sistem rekomendasi yang berbeda digabungkan secara numerik atau menggunakan algoritma linier. b. Switching hybrid : Sistem memilih komponen-komponen dari setiap rekomendasi dan menerapkan komponen yang dipilih. c. Mixed hybrid
: Rekomendasi dari berbagai sistem rekomendasi
disajikan bersama d. Feature Combination
: Fitur-fitur yang berasal dari berbagai sumber
pengetahuan digabungkan dan diberikan algoritma rekomendasi e. Feature Augmentation
: merupakan salah satu teknik rekomendasi yang
digunakan untuk menghitung sebuah fitur atau sekumpulan fitur yang kemudian menjadi bagian yang dimasukkan ke teknik berikutnya. f. Cascade
: merupakan rekomendasi yang memiliki prioritas tinggi sebagai solusi
pemecahan masalah dalam melakukan perbaikan g. Meta-level : merupakan salah satu teknik rekomendasi yang diterapkan dan menghasilkan beberapa jenis model, yang kemudian digunakan sebagai input oleh teknik berikutnya.
Berikut ini merupakan gambar model hubungan entitas dari metode hybrid menurut Baudisch P (1999).
Descriptor
matches object
User
likes
Gambar 2.7 Model hubungan entitas dalam hybrid system (Baudisch P.1999)
Hubungan entitas diatas menyediakan fungsionalitas dari sebuah sistem content-based dan juga fungsionalitas dari collaborative system.
Universitas Sumatera Utara
14
2.2. Proses Pengambilan Keputusan (Decision Making) pada tujuan wisata
Ricci & Missier (2004) menyatakan proses pengambilan keputusan untuk tujuan wisata merupakan salah satu area yang paling komprehensif untuk diteliti dalam bidang pariwisata. Produk wisata biasanya sangat kompleks dan beragam, ini menjadi masalah utama dalam memberikan gambaran produk untuk pemasaran pariwisata (Bonera, 2008). Salah satunya contonhnya adalah dalam pemilihan suatu perjalanan ke daerah wisata. Hwang, Gretzel & Fesenmeir (2002) menyatakan pemilihan perjalanan atau tujuan didefinisikan sebagai proses pemilihan salah satu tujuan dari beberapa alternatif untuk tujuan memenuhi kebutuhan perjalanan. Dimana proses pemilihan perjalanan ini merupakan salah satu pengambilan keputusan dalam proses perencanaan suatu perjalanan.
Ricci & Missier (2004) mengklasifikasikan pengambilan keputusan pada tujuan wisata dalam dua kategori yaitu : fitur-fitur personal dan karakteristik perjalanan. Fitur-fitur personal meliputi faktor-faktor sosial-ekonomi, psikologi, dan sifat-sifat kognitif. Karakteristik perjalanan terdiri dari variable-variabel situasi pada membentuk suatu perjalanan, seperti tujuan wisata, lama atau waktu, jarak dan kelompok wisata.
Bierger & Laesser (2004) mengklasifikasikan pengambilan keputusan pada suatu tujuan wisata dalam tiga tahapan yaitu: tahap pra-keputusan, tahap keputusan dan tahap pasca keputusan. Tahap pra-keputusan adalah fase ketika seorang pengguna belum memutuskan suatu tujuan wisata, pada tahap ini wisatawan mengumpulkan informasi tentang daerah tujuan yang cocok untuk tujuan wisata mereka. Tahap keputusan adalah tahap ketika pengguna telah memutuskan area atau tempat tujuan wisata. Tahap pasca keputusan adalah tahap dimana pengguna telah memutuskan dan mengumpulkan informasi tentang daerah tujuan wisata sebagai persiapan sebelum keberangkatan. Tahapan-tahapan tersebut digambarkan pada gambar berikut:
Universitas Sumatera Utara
15 The pre-decision Importance of Information sources before trip decision
Information sources for decision making
Trip decision Decision after collect important information about purposes, activities, accomodation etc
The post-decision Importance of Information sources after trip decision
Information sources for travel preparation
Gambar 2.8 Proses Pengambilan Keputusan Pada Area Pariwisata
Menurut Laitenen, K (2004) pengambilan keputusan pada tujuan wisata dibagi dalam empat bagian yang setiap bagiannya berpengaruh dalam proses pengambilan keputusan.
Gambar 2.9 Bagian-bagian Proses Pengambilan Keputusan Pada Tujuan Wisata
Bagian pertama yaitu travel stimuli merupakan bagian yang berjalan melalui iklan dan promosi, literature travel, masukkan dari wisatawan lain dan rekomendasi
Universitas Sumatera Utara
D E P A R T U R E
16
dari perusahaan travel. Bagian kedua yaitu faktor penentu bagi personal dan sosial mempengaruhi keputusan dalam bentuk kebutuhan perjalanan dan keinginan, motivasi dan harapan. Bagian ketiga terdiri dari hubungan karakteristik perjalanan dan pelayanan yang memberikan keputusan dan hasil.
2.3. Algoritma Nearest Neighbor
Algoritma nearest neighbor adalah sebuah metode untuk melakukan klasifikasi terhadap objek berdasarkan data pembelajaran yang jaraknya paling dekat dengan objek tersebut (Widiarsana, O et al., 2011). Algoritma nearest neighbor juga disebut dengan lazy learner yang mudah menyimpan data di dalam memori dan dapat mengklasifikasikan item baru dengan membandingkan item tersebut dengan item yang telah tersimpan dengan menggunakan fungsi kesamaan (similarity function)
Menurut Kusrini dan Emha (2009) algoritma nearest neighbor adalah pendekatan untuk mencari kasus dengan menghitung kedekatan antara kasus baru dengan kasus lama dengan berdasarkan pada pencocokan bobot dari sejumlah fitur yang ada yang memiliki kesamaan (similiarity). Tujuan dari algoritma ini untuk mengklasifikasikan objek baru berdasarkan atribut dan training sample. Classifier tidak menggunakan model apapun untuk dicocokan dan hanya berdasarkan pada memori. Adapun rumus untuk menghitung algoritma ini yaitu :
similarity (T,S)=
π π=1 π
ππ,ππ βπ€π π€π
Dimana : T : kasus baru S : kasus yang ada dalam memori (penyimpanan) n : jumlah atribut dalam setiap kasus i
: atribut individu anatara 1 s/d n
f
: fungsi similiarity atribut i antara kasus T dan kasus S
w : bobot yang diberikan pada atribut ke-i
Universitas Sumatera Utara
17
2.4. Algoritma Euclidean
Algoritma Euclidean merupakan salah satu algoritma yang sering digunakan untuk menghitung jarak (Kardi, T., 2006). Dalam kebanyakan kasus yang berhubungan dengan penghitungan jarak maka sering merujuk pada algoritma euclidean. Jarak euclidean dihitung berdasarkan akar kuadrat dari sepasang benda, rumusnya adalah sebagai berikut : π₯
(π₯ππ β π₯π π )2
πππ = πβ1
Dimana : dij : jarak euclidean antara i dan j n
: banyaknya jarak ke-n
xik : jarak x ke-ik Xjk
: jarak x ke-jk
2.5. Unified Modeling Language (UML) Unified Modeling Language (UML) adalah sebuah βbahasaβ yang telah menjadi standard industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak (Dharwiyanti, S dan Wahono, S.R., 2003). Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka UML lebih cocok untuk penulisan piranti lunak dalam bahasa berorientasi objek. Unified Modeling Language (UML) bukanlah :
1. Bahasa pemrograman visual, tapi bahasa pemodelan visual. 2. Spesifikasi kakas, tetapi spesifikasi bahasa pemodelan. 3. Proses, tetapi yang memungkinkan proses-proses.
Universitas Sumatera Utara
18
Menurut Hariyanto, B (2004) tujuan perancangan UML adalah: 1. Menyediakan bahasa pemodelan visual yang ekspresif dan siap pakai untuk mengembangkan dan pertukaran model-model yang berarti. 2. Menyediakan mekanisme perluasan dan spesialisasi untuk memperluas konsepkonsep inti. 3. Mendukung spesifikasi independen bahasa pemrograman dan pengembangan tertentu. 4. Menyediakan basis formal untuk pemahaman bahasa pemodelan. 5. Mendukung konsep-konsep pengembangan level lebih tinggi seperti komponen, kolaborasi, framework dan pattern.
Unified Modeling Language (UML) menyediakan sejumlah diagram untuk menggambarkan pemodelan berorientasi objek yang dilakukan. UML membagi diagram menjadi dua tipe yaitu :
1. Diagram Struktur Diagram
ini
untuk
memvisualisasi,
menspesifikasi,
membangun
dan
mendokumentasikan aspek statik dari sistem. Diagram struktur di UML terdiri dari : a. Diagram Kelas (Class diagram) b. Diagram Objek (Object diagram) c. Diagram komponen (Component Diagram) d. Diagram deployment (Deployment Diagram)
2. Diagram perilaku Diagram
ini
untuk
memvisualisasi,
menspesifikasi,
membangun
dan
mendokumentasikan aspek dinamis dari sistem. Diagram struktur di UML terdiri dari : e. Diagram use-case (Use case diagram) f. Diagram sekuen (sequence diagram) g. Diagram kolaborasi (collaboration diagram) h. Diagram statechart (Statechart diagram) i. Diagram aktivitas (Activity diagram)
Universitas Sumatera Utara
19
2.5.1
Diagram Use case
Diagram Use case (use case diagram) merupakan salah satu diagram untuk memodelkan aspek perilaku sistem atau digunakan untuk mendeskripsikan apa yang seharusnya dilakukan oleh sistem (Hariyanto, B. 2004). Diagram use case terdiri dari beberapa elemen yaitu:
1. Aktor Aktor adalah pemakai sistem, dapat berupa manusia atau sistem terotomatisasi lain. Aktor adalah sesuatu atau seseorang yang berinteraksi dengan sistem, yaitu siapa dan apa yang menggunakan sistem. Aktor adalah tipe (kelas) bukan instan. Aktor mempresentasikan peran bukan pemakai individu dari sistem. Aktor memiliki nama, nama yang dipilih seharusnya menyatakan peran aktor.
user (member)
tamu (guest)
admin
Gambar 2.10 Aktor-aktor use case
2. Use-case Use case adalah cara spesifik penggunaan sistem oleh aktor. Use case melibatkan interaksi antara aktor-aktor dan sistem. Use case mengemukakan suatu kerja yang tampak.
login user (member)
Gambar 2.11 Aktor dan use case
Universitas Sumatera Utara
20
3. Keterhubungan Keterhubungan antar use case dengan use case lain berupa generalisasi antara use case yaitu : a. include, perilaku use case merupakan bagian dari use case lain. b. extend, perilaku use case memperluas perilaku use case yang lain.
Β«usesΒ»
Pilih menu rekomendasi wisata
Β«extendsΒ»
input data preferensi
include
login Member (actor)
Gambar 2.12 Aktor, Use case dan Keterhubungan
2.5.2
Use case Spesifikasi
Spesifikasi use case memberikan gambaran lengkap spesifikasi tekstual pada use case. Spesifikasi use case sistem rekomendasi dilakukan berdasarkan case yang ada pada use case diagram. Spesifikasi use case biasanya terdiri dari : a. Deskripsi singkat case, yang menjelaskan apa yang terjadi pada case. b. Pra kondisi yaitu keadaan apa yang terjadi sebelum case berlangsung. c. Karakteristik yang dimiliki oleh case. d. Skenario (flow of event) yaitu menjelaskan cara kerja case mulai dari awal hingga. akhir. e. Pasca kondisi yaitu keadaan apa atau output apa yang dihasilkan setelah case berlangsung.
Universitas Sumatera Utara
21
2.5.3 Diagram Sekuen
Diagram sekuen (sequence diagram) menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display dan sebagainya) berupa message (pesan) yang digambarkan terhadap waktu.
Diagram sekuen digunakan untuk memodelkan scenario penggunaan. Skenario penggunaan adalah barisan kejadian yang terjadi selama satu eksekusi sistem. Diagram sekuen menunjukkan objek sebagai garis vertical dan tiap kejadian sebagai panah horizontal dari objek pengirim ke objek penerima. Waktu berlalu dari atas ke bawah dengan lama waktu tidak relevan.
Diagram sekuen (sequence diagram) memeiliki beberapa elemen yang terdiri dari : Tabel 2.2 Elemen-elemen Sequence Diagram 1.
2.
3.
Nama Objek lifeline
Boundary
Controller
Penjelasan Menggambarkan batasan objek
berhubungan dengan proses input output ataupun interface.
Gambar Object1
Halaman Utama (boundary)
berhubungan dengan proses. Kontrol utama (controller)
Universitas Sumatera Utara
22
4.
5.
Entity
Massage arrow
berhubungan dengan inputoutput data
menggambarkan alir proses, perintah atau pengiriman data.
Entity Lokasi Wisata (entity)
Message
message(call)
Message(return)
6.
Aktivasi (activation)
menggambarkan objek.
aktivitas
7.
Actor
menggambarkan sebagai objek.
actor
User
2.5.4. Diagram Aktivitas (Activity Diagram)
Diagram aktivitas adalah diagram flowchart yang diperluas untuk menunjukkan aliran kendali satu aktivitas ke aktivitas lain. Diagram aktivitas digunakan untuk memodelkan aspek dinamis sistem. Diagram aktivitas berupa operasi-operasi dan aktivitas-aktivitas di use case (Hariyanto, B., 2004). Diagram aktivitas dapat digunakan untuk: 1. Pandangan dalam yang dilakukan di operasi. 2. Pandangan dalam bagaimana objek-objek bekerja 3. Pandangan dalam di aksi-aksi dan pengaruhnya pada objek-objek 4. Pandangan dalam dari suatu use cas 5. Logik dari proses bisnis
Universitas Sumatera Utara
23
Diagram aktivitas merupakan state diagram khusus, dimana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh state sebelumnya (internal processing). Oleh karena itu diagram aktivitas tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum (Dharwiyanti, S dan Wahono, S.R., 2003). Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas. (Dharwiyanti, S dan Wahono, S.R., 2003). Berikut adalah gambaran diagram aktivitas berserta tabel simbolnya:
Gambar 2.13 Diagram Aktivitas
Universitas Sumatera Utara
24
Tabel 2.3 Simbol Aktivitas Diagram Simbol
Keterangan Start Point End Point Activities
Fork (Percabangan)
Join (Penggabungan)
Decision
Swimlane
Sebuah cara untuk mengelompokkan activity berdasarkan Actor (mengelompokkan activity dalam sebuah urutan yang sama)
2.6. Bahasa Pemrograman PHP
PHP (Hypertext Preprocessor) adalah bahasa komputer yang dibuat untuk pengembangan web dinamis. Pada umumnya PHP digunakan di server namun juga dapat berdiri sendiri sebagai aplikasi graphical (www.php.net, 2008). Pada analisis sistem rekomendasi metode hybrid untuk daerah wisata ini digunakan bahasa pemrograman PHP dan database MySQL sebagai penyimpanan data dan basis pengetahuan. Penggunanan PHP dan MySQL dipilih karena PHP dan MySQl memiliki beberapa kelebihan seperti dinyatakan oleh Nugroho, B (2008) kelebihannya sebagai berikut:
1. Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaanya. 2. Web Server yang mendukung PHP dapat ditemukan dimana β mana dari mulai IIS sampai dengan Apache, dengan konfigurasi yang relatif mudah.
Universitas Sumatera Utara
25
3. Dalam sisi pengembangan lebih mudah, karena banyaknya milis β milis dan developer yang siap membantu dalam pengembangan. 4. Dalam sisi pemahamanan, PHP adalah bahasa scripting yang paling mudah karena referensi yang banyak. 5. PHP adalah bahasa open source yang dapat digunakan di berbagai mesin (Linux, Unix, Windows) dan dapat dijalankan secara runtime melalui console serta juga dapat menjalankan perintah-perintah sistem.
Sedangkan database MySQL memiliki beberapa kelebihan yaitu: 1. Portability MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi.
2. Open Source MySQL didistribusikan secara open source (gratis), dibawah lisensi GPL sehingga dapat digunakan secara cuma-cuma.
3. Multiuser MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah atau konflik.
4. Performance tuning MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu.
5. Column types MySQL memiliki tipe kolom yang sangat kompleks, seperti signed / unsigned integer, float, double, char, text, date, timestamp, dan lain-lain.
6. Command dan functions MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam query.
Universitas Sumatera Utara
26
7. Security MySQL memiliki beberapa lapisan sekuritas seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta password terenkripsi. 8. Scalability dan limits MySQL mampu menangani database dalam skala besar, dengan jumlah records lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya.
9. Connectivity MySQL dapat melakukan koneksi dengan client menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT).
10. Localization MySQL dapat mendeteksi pesan kesalahan pada client dengan menggunakan lebih dari dua puluh bahasa. Meskipun demikian, bahasa Indonesia belum termasuk di dalamnya.
11. Interface MySQL memiliki interface (antar muka) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface).
12. Clients dan tools MySQL dilengkapi dengan berbagai tool yang dapat digunakan untuk administrasi database, dan pada setiap tool yang ada disertakan petunjuk online.
13. Struktur tabel MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan database lainnya semacam PostgreSQL ataupun Oracle.
Universitas Sumatera Utara