BAB II LANDASAN TEORI
2.1
Text Mining Text mining memiliki definisi menambang data yang berupa teks dimana
sumber data biasanya didapatkan dari dokumen, dan tujuannya adalah mencari kata-kata yang dapat mewakili isi dari dokumen sehingga dapat dilakukan analisa keterhubungan antar dokumen. Tahapan text mining biasanya terdiri dari tahap tokenizing, filtering, stemming, tagging, dan analyzing. 2.1.1
Tokenizing Tokenizing atau parsing adalah sebuah proses yang dilakukan seseorang
untuk menjadikan sebuah kalimat menjadi lebih bermakna atau berada dengan cara memecah kalimat tersebut menjadi kata-kata atau frase-frase (“Parsing”). Parsing merupakan proses penguraian deskripsi yang semula berupa kalimatkalimat berisi kata-kata dan tanda pemisah antara kata seperti titik(.), koma(,), spasi dan tanda pemisah lain menjadi kata-kata. Secara sederhana proses parsing ini terlihat sebagai proses pengambilan kata jika bertemu tanda spasi namun pada kenyataannya tidak sesederhana itu. Contoh dari tahap tokenizing ada pada gambar 2.1.
11
12
Gambar 2.1 Tahap Tokenizing
2.1.2
Filtering Tahap filtering adalah tahap pengambilan kata-kata kata yang penting dari hasil
token. Tahap ini dapat menggunakan algoritma stop list (membuang kata yang kurang penting) atau word list (menyimpan kata penting). 2.1.3
Stemming Tahap stemming adalah tahap mencari root kata dari tiap kata hasil
filtering. Stemming adalah proses pemetaan dan penguraian berbagai bentuk (variants) dari suatu kata menjadi bentuk kata dasarnya (stem). Proses ini juga disebut sebagai conflation. Proses stemming secara secara luas sudah digunakan di dalam Information retrieval (pencarian informasi) untuk meningkatkan kualitas informasi yang didapatkan. Kualitas informasi yang dimaksud misalnya untuk mendapatkan hubungan antara variant kata yang satu dengan yang lainnya. 2.1.4
Tagging Tahap tagging adalah tahap mencari bentuk awal/root dari tiap kata
lampau atau kata hasil stemming stemmin yang bukan Bahasa Indonesia.
13
Analyzing
2.1.5
Tahap analyzing merupakan tahap penentuan seberapa jauh keterhubungan antar kata-kata antar dokumen yang ada.
2.2
Text Similarity (Kemiripan Teks) Text similarity atau kemiripan teks adalah sebuah fungsi yang digunakan
untuk mengetahui kemiripan antar dua teks atau lebih. Dalam bahasa pemrorgaman PHP, ada sebuah fungsi untuk mengetahui tingkat kemiripan dari suatu teks yang dibandingkan dengan menggunakan fungsi similar_text() yang sintaksnya sebagai berikut: similar_text(teks1, teks2, percent)
Fungsi similar_text tersebut menghitung kesamaan diantara dua string seperti
yang
dijelaskan
dalam
Oliver
[1993].
Perlu
diketahui
bahwa
perlaksanaannya tidak menggunakan susunan pseudo kode seperti pada Oliver. Perhatikan juga bahwa kompleksitas dari algoritma ini adalah O (N ** 3), dimana N merupakan panjang dari simbol yang sama dan berurutan. Perlu diketahui juga, fungsi kemiripan teks ini bersifat case sensitive atau besar kecil hurufnya dibedakan. Berikut ini adalah contoh penggunaan fungsi kemiripan teks:
14
Script tersebut akan menghasilkan persentase kemiripan sebesar 97,14%. Sedangkan apabila teks yang dibandingkan berbeda huruf besar kecilnya, maka hasilnya akan berbeda. Berikut ini contohnya:
Script tersebut akan menghasilkan persentase kemiripan sebesar 88,57%.
2.3
E-Library Menurut Wikipedia, perpustakaan digital (Inggris: digital library atau
electronic library atau virtual library) adalah perpustakaan yang mempunyai koleksi buku sebagian besar dalam bentuk format digital dan yang bisa diakses dengan komputer. Jenis perpustakaan ini berbeda dengan jenis perpustakaan konvensional yang berupa kumpulan buku tercetak, film mikro (microform dan microfiche), ataupun kumpulan kaset audio, video, dan lain-lain. Isi dari perpustakaan digital berada dalam suatu komputer server yang bisa ditempatkan secara lokal, maupun di lokasi yang jauh, namun dapat diakses dengan cepat dan mudah lewat jaringan komputer. Menurut Simanto (2008), perpustakaan digital adalah sebuah sistem yang memiliki berbagai layanan dan obyek informasi yang mendukung akses obyek informasi tesebut melalui perangkat digital. Perpustakaan digital adalah sebuah sistem yang memiliki berbagai layanan dan obyek informasi yang mendukung akses obyek informasi tesebut melalui perangkat digital. Layanan ini diharapkan
15
dapat mempermudah pencarian informasi di dalam koleksi obyek informasi seperti dokumen, gambar dan database dalam format digital dengan cepat, tepat, dan akurat.
2.4
Internet Internet merupakan hubungan antar berbagai jenis komputer dan jaringan di
dunia yang berbeda sistem operasi maupun aplikasinya dimana hubungan tersebut memanfaatkan kemajuan media komunikasi (telepon dan satelit) yang menggunakan protokol standar dalam berkomunikasi yaitu protokol TCP/IP. Internet dibagi dua yaitu: 1. Intranet sebagai jaringan TCP/IP untuk kalangan terbatas. Masyarakat umum biasa mengartikannya sebagai jaringan lokal (LAN) dengan pengalamatan IP private. 2. Extranet sebagai jaringan TCP/IP untuk kalangan terbatas melalui internet umum.
2.5
Pengenalan Halaman Web Halaman web tersusun atas satu atau beberapa komponen baik dokumen
web itu sendiri ataupun komponen penyerta lain. Komponen-komponen tersebut biasanya dapat langsung ditampilkan oleh browser (client), namun terkadang harus menggunakan aplikasi tambahan lain (plug-in).
16
Web Browser Web browser adalah perangkat lunak (software) pada sisi client yang digunakan untuk mengakses informasi web. Ada beberapa jenis web browser yang dapat digunakan seperti : Internet Explorer, Mozilla Firefox, Netscape Navigator, Opera, Flock, Google Chrome, dan yang lainnya. Web Server Web server adalah server yang melayani permintaan klien terdapat halaman web seperti apache, IIS (Internet Information Server) dan berkomunikasi dengan Middleware untuk menterjemahkan kode-kode tertentu, menjalankan kode-kode tersebut dan memungkinkan berinteraksi dengan basis data atau PHP.
2.6
World Wide Web (WWW) Perlu diketahui bahwa World Wide Web (WWW) bukanlah Internet, demikian
pula sebaliknya. Namun, WWW dan Internet sangat berkaitan satu sama lain. Internet adalah suatu jaringan komputer global, sedangkan WWW bukan sekedar jaringan tetapi didalamnya terdapat suatu set aplikasi komunikasi dan sistem perangkat lunak yang memiliki karakteristik sebagai berikut : 1. Terletak pada Internet host dan client. 2. Umumnya menggunakan protokol TCP/IP. 3. Mengerti HTML. 4. Mengikuti model client/server untuk komunikasi data dua arah. 5. Memungkinkan client untuk mengakses server dengan berbagai protokol. Umumnya seperti HTTP, FTP, telnet, dan Gopher.
17
6. Memungkinkan client untuk mengakses informasi dalam berbagai media, seperti teks, audio dan video. 7. Menggunakan model alamat Uniform Resource Locators (URL).
2.7
Model Proses Pengembangan Metodologi rekayasa perangkat lunak adalah proses untuk menghasilkan
perangkat lunak yang terorganisasi dengan menggunakan teknik-teknik dan konvensi-konvensi
notasi
yang
telah
ditentukan.
Biasanya
metodologi
dipresentasikan sebagai satu rangkaian tahap, dengan teknik-teknik dan notasi yang diasosiasikan pada masing-masing tahap. Tahap-tahap produksi perangkat lunak biasanya diorganisasikan kedalam siklus hidup yang berisi beberapa fase atau tahap pengembangan.
2.7.1 Kegunaan Model Proses Pengembangan Proses pengembangan perangkat lunak memuat serangkaian langkah yang dapat diprediksi yang harus ditempuh untuk menciptakan produk perangkat lunak yang sesuai dengan jadwal yang ditentukan dengan kualitas yang tinggi. [Bambang Hariyanto, 2004] Berikut ini adalah kegunaan dari model proses pengembangan: 1. Penuntun
untuk
mengorganisasikan,
merencanakan,
penugasan,
penganggaran, dan pengolahan kerja proyek perangkat lunak atas waktu, ruang, dan lingkungan komputasi.
18
2. Kerangka mengenai dokumen-dokumen yang dihasilkan untuk diberikan kepada client. 3. Basis untuk menentukan kakas dan metodologi rekayasa perangkat lunak yang paling cocok untuk mendukung aktivitas-aktivitas pengembangan. 4. Kerangka kerja untuk menganalisis atau estimasi pola-pola alokasi dan konsumsi sumber daya selama pengembangan. 5. Basis
untuk
membuat
studi
empiris untuk menentukan
apa
yang
mempengaruhi produktivitas, ongkos, dan kualitas keseluruhan.
2.7.2 Pengembangan Berorientasi Objek Dalam pengembangan sistem berorientasi objek, diperlukan keterampilan untuk analisis, perancangan, pemrograman, dan pengujian berorientasi objek. Langkah pertama menuju analisis berorientasi objek adalah berkaitan dengan pembuatan model yang presisi, relevan, tegas, dapat dipahami dan benar dari dunia nyata. Maksudnya, memodelkan persoalan sehingga dapat dimengerti dan bertindak sebagai basis stabil di tahap perancangan. Tahap perancangan dimulai dari tahap analisis. Dan aktivitas yang dilakukan dari tahap analisis yaitu merancang model yang berbasis komputasi. Keluaran dari tahap perancangan yaitu cetak biru (blueprint) untuk implementasi dalam bahasa pemrograman berorientasi objek. [Bambang Hariyanto, 2004] Berikut ini adalah prinsip-prinsip yang mendasari pengembangan berorientasi objek:
19
1. Abstraksi Abstraksi adalah kemampuan manusia untuk mengenali keserupaan diantara objek-objek, situasi-situasi, atau proses-proses di dunia nyata serta keputusan untuk berkonsentrasi pada keserupaan-keserupaan. Terdapat berbagai cara untuk melakukan klasifikasi abstraksi, diantaranya: a. Abstraksi fungsiolan untuk menyatakan fungsi-fungsi yang akan diperoleh user. b. Abstraksi data. Tipe data merupakan abstraksi data karena tidak perlu mengetahui cara implementasi tipe data tersebut. c. Abstraksi
metode
merupakan
wujud
lain
dari
abstraksi
fungsional/algoritmik. d. Abstraksi perilaku merupakan abstraksi yang ditujukan untuk mengabstraksikan perilaku sistem atau sifat dinamis dari sistem. 2. Pengkapsulan Pengkapsulan adalah memisahkan aspek-aspek eksternal objek, yang dapat diakses objek-objek lain dari rincian implementasi internal objek yang tersembunyi dari objek-objek lain. Pengkapsulan dimaksudkan agar output terhindar dari ketergantungan sehingga menyebabkan perubahan kecil yang memiliki
akibat
beruntun.
Keampuhan
pengkapsulan
adalah
membantu
meminimalkan kerja ulang ketika mengembangkan sistem yang baru. 3. Modularitas Modularitas merupakan kunci penulisan output yang bagus dimana program dapat dipecah menjadi modul-modul kecil yang masing-masing modul
20
tersebut saling berinteraksi. Dengan modularitas, kesalahan pada satu bagian output dapat dikoreksi tanpa perlu mempertimbangkan bagian-bagian lainnya, serta bagian output dapat dipahami tanpa harus memahami ulang. 4. Reusability (Penggunaan Kembali) Reusability adalah sarana untuk meningkatkan kualitas praktek rekayasa perangkat lunak dengan penggunaan artifak-artifak perangkat lunak yang telah ada saat pembangunan sistem perangkat lunak yang baru. Reusability perangkat lunak tidak terbatas pada source code saja, namun juga meliputi dokumentasi, spesifikasi, dan struktur rancangan. 5. Inheritance (Pewarisan) Inheritance atau pewarisan merupakan sarana untuk menghilangkan penulisan ulang terhadap kode yang dapat digunakan berulang kali. Penulisan berulang membutuhkan banyak waktu, dan dapat menimbulkan tidak konsisten dan meningkatkan resiko kesalahan. Pewarisan memberikan fasilitas pemodelan untuk menstrukturkan kelas-kelas menjadi lebih ringkas, menangkap apa yang serupa dan apa yang berbeda diantara kelas-kelas. 6. Polymorphism Polymorphism merupakan konsep pokok pada perancangan berorientasi objek. Dua objek atau lebih dikatakan sebagai polymorphic bila objek-objek itu memiliki antarmuka-antarmuka identik namun mempunyai perilaku berbeda. Polymorphism memungkinkan kita mengenali dan mengeksploitasi keserupaankeserupaan diantara kelas-kelas yang berbeda.
21
2.8
UML (Unified Model Language) UML (Unified Model Language) adalah sebuah "bahasa" yg telah menjadi
standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML merupakan kesatuan dari bahasa pemodelan yang dikembangkan oleh Booch, Object Modelling Technique (OMT) dan Object Oriented Software Engineering (OOSE). Metode Booch dari Grady Booch sangat terkenal dengan nama metode Object Oriented Design (OOD). Metode ini menjadikan proses analisis dan design ke dalam empat tahapan iteratif, yaitu: identifikasi kelas-kelas dan obyek-obyek, identifikasi semantik dari hubungan obyek dan kelas tersebut, perincian interface dan implementasi.
Gambar 2.2 Metodologi dalam UML [Terry Quatrani, 1999]
2.8.1
Diagram dalam UML Suatu sistem yang kompleks harus dapat dipandang dari sudut yang
berbeda-beda sehingga didapat pmahaman menyeluruh. Untuk keperluan tersebut, UML menyediakan 9 jenis diagram yang dapat dikelompokkan berdasarkan
22
sifatnya, yaitu statis atau dinamis. Kesembilan diagram tersebut adalah sebagai berikut: 2.8.1.1 Use Case Diagram (Statis) Diagram ini memperlihatkan himpunan use case dan actor-actor. Diagram ini penting untuk mengorganisasi dan memodelkan perilaku dari suatu sistem yang dibutuhkan serta diharapkan pengguna. Use case merepresentasikan fungsi, kebutuhan dari perspektif user. Actor adalah orang atau sistem yang menerima atau memberikan informasi dari sistem ini. 2.8.1.2 Class Diagram (Statis) Diagram
ini
memperlihatkan
himpunan
kelas-kelas,
antarmuka-
antarmuka, kolaborasi-kolaborasi, dan relasi-relasi. Diagram ini umum ditemui pada pemodelan sistem berorientasi objek. 2.8.1.3 Object Diagrams (Statis) Diagram ini memperlihatkan objek-objek serta relasi-relasi antar objek. Diagram objek memperlihatkan instansi statis dari segala sesuatu yang dijumpai dari pada diagram kelas. 2.8.1.4 Sequence Diagram (Dinamis) Diagram sequence (urutan) adalah diagram interaksi yang menekankan pada pengiriman pesan (message) dalam suatu waktu tertentu. Diagram ini menggambarkan alur kerja dari fungsi-fungsi dalam sistem dengan use case dimana di dalamnya terdapat actor. Diagram ini sangat memperhatikan waktu dan terurut berdasarkan kejadian.
23
2.8.1.5 Collaboration Diagram (Dinamis) Diagram kolaborasi adalah diagram interaksi yang menekankan organisasi struktural dari objek-objek yang menerima serta mengirim pesan. Informasi yang disampaikan sama dengan diagram sequence namun berbeda pada penggambaran dan kegunaan saja. Dalam diagram ini digambarkan hubungan antar objek dan aktor dengan tidak memperhatikan waktu/urutan. 2.8.1.6 State Chart Diagram (Dinamis) State Chart Diagram memperlihatkan state-state pada sistem. Diagram ini memuat state, transisi, event, serta aktifitas. Diagram ini memberikan berbagai cara/jalan kepada model untuk berbagai kejadian yang mungkin terjadi dalam sebuah objek. Diagram ini digunakan untuk menggambarkan berbagai perilaku objek yang sifatnya dinamis dalam sebuah sistem. 2.8.1.7 Activity Diagram (Dinamis) Diagram activity (aktifitas) adalah tipe khusus dari diagram state yang memperlihatkan aliran dari suatu aktifitas ke aktifitas lainnya dalam suatu sistem. Diagram ini penting dalam pemodelan fungsi-fungsi pada suatu sistem dan memberi tekanan pada aliran kendali antar objek. 2.8.1.8 Component Diagram (Statis) Diagram ini memperlihatkan organisasi serta ketergantungan pada komponen-komponen yang telah ada sebelumnya. Diagram ini berhubungan dengan diagram kelas dimana komponen secara tipikal dipetakan kedalam satu atau lebih kelas-kelas, antarmuka-antarmuka, serta kolaborasi-kolaborasi.
24
2.8.1.9 Deployment Diagram (Statis) Deployment
Diagram
memperlihatkan
konfigurasi
saat
aplikasi
dijalankan (run-time), memuat simpul-simpul atau node beserta komponenkomponen yang ada didalamnya. Diagram ini berhubungan erat dengan component diagram dimana deployment diagram memuat satu atau lebih komponen-komponen. Diagram ini sangat berguna saat aplikasi kita berlaku sebagai aplikasi yang dijalankan pada banyak mesin (distributed computing).
2.8.2
Notasi dalam UML Terdapat beberapa notasi dalam UML yang dapat digunakan untuk
menggambarkan proses dalam pembangunan sistem. 2.8.2.1 Use Case Diagram Berikut ini adalah simbol-simbol yang digunakan pada pembuatan Use case diagram. a. Actor Actor menggambarkan segala pengguna (user) software. Actor memberikan suatu gambaran jelas tentang apa yang harus dikerjakan software. Sebuah actor dapat berupa seorang manusia, satu device, hardware atau sistem informasi lainnya.
Simbol 2.1 Notasi Actor [Terry Quatrani, 1999]
25
b. Use case Use case menjelaskan urutan kegiatan yang dilakukan actor dan sistem untuk mencapai suatu tujuan tertentu. Use case hanya menjelaskan apa yang dilakukan oleh actor dan sistem, bukan bagaimana actor dan sistem melakukan kegiatan tersebut.
Simbol 2.2 Notasi Use case [Terry Quatrani, 1999] c. Interaction Interaction digunakan untuk menunjukkan baik aliran pesan atau informasi antar objek maupun hubungan antar objek. Interaction dilengkapi juga dengan teks bernama operation signature yang tersusun dari nama operasi, parameter yang dikirim dan tipe parameter yang dikembalikan.
Simbol 2.3 Notasi Interaction [Terry Quatrani, 1999] d. Association Association menggambarkan navigasi antar class (navigation), berapa banyak objek yang bisa berhubungan dengan satu objek (multiplicity antar class) dan apakah suatu class menjadi bagian dari class lainnya (aggregation).
Simbol 2.4 Notasi Association [Terry Quatrani, 1999] e. Include Hubungan include menggambarkan suatu use case seluruhnya meliputi kegunaan use case lainnya. Sebuah use case dapat meng-include fungsionalitas
26
use case lain sebagai bagian dari proses dalam dirinya. Sebuah use case dapat diinclude oleh lebih dari use case lain, sehingga duplikasi fungsionalitas dapat dihindari.
<
>
Simbol 2.5 Notasi Include [Terry Quatrani, 1999] f. Extend Hubungan extend antar use case berarti bahwa suatu use case merupakan tambahan kegunaan dari use case yang lain jika kondisi atau syarat tertentu dipenuhi. Jika prosedur dari use case merupakan alternatif untuk menjelaskan use case lain. Use case akan dikerjakan apabila salah satu syarat terpenuhi. <<extend>>
Simbol 2.6 Notasi Extend [Terry Quatrani, 1999] 2.8.2.2 Activity Diagram Berikut ini adalah simbol-simbol yang digunakan pada saat pembuatan Activity diagram. a. Activity Activity menggambarkan sebuah pekerjaan/tugas dalam workflow.
Simbol 2.7 Notasi Activity [Terry Quatrani, 1999]
27
b. Start State Start state menunjukkan dimulainya suatu workflow pada sebuah activity diagram. Hanya ada satu start state dalam sebuah workflow.
Simbol 2.8 Notasi Start State [Terry Quatrani, 1999] c. End State End state menggambarkan akhir atau terminal dari sebuah activity diagram. Bisa terdapat lebih dari satu end state pada sebuah activity diagram.
Simbol 2.9 Notasi End State [Terry Quatrani, 1999] d. State Transition State transition menunjukkan kegiatan selanjutnya setelah suatu kegiatan sebelumnya.
Simbol 2.10 Notasi State Transitions [Terry Quatrani, 1999] e. Decision Decision adalah suatu titik/point pada activity diagram yang mengindikasikan suatu kondisi dimana ada kemungkinan perbedaan transisi.
Simbol 2.11 Notasi Decisions [Terry Quatrani, 1999]
28
2.8.2.3 Sequence Diagram Berikut ini adalah simbol-simbol yang digunakan pada saat pembuatan sequence diagram. a. Object Berfungsi untuk menunjukkan objek yang terdapat pada sequence diagram.
Simbol 2.12 Notasi Object [Terry Quatrani, 1999] b. Object Message Berfungsi untuk menunjukkan pesan yang disampaikan ke objek lain dalam sequence diagram.
Simbol 2.13 Notasi Object Message [Terry Quatrani, 1999] 2.8.2.4 Class Diagram Berikut ini adalah simbol yang digunakan pada saat pembuatan class diagram. nama kelas atribut operasi()
Simbol 2.14 Notasi Class Diagram [Terry Quatrani, 1999]
29
2.9
Model Analisis Model analisis menggambarkan realisasi dari use case - use case dalam use
case model, dan bertindak sebagai abstraksi dari model desain. Tujuan akhir dari sebuah model analisis adalah untuk membuat pemetaan awal mengenai perilaku yang diisyaratkan dalam sistem perangkat lunak kedalam elemen-elemen pemodelan. Model analisis merupakan transisi kedalam model desain, dan kelaskelas analisis secara langsung berkembang menjadi elemen-elemen dalam model desain. a. Boundary Class Kelas boundary adalah kelas yang memodelkan interaksi antara satu atau lebih actor dengan sistem. Kelas boundary memodelkan bagian dari sistem yang bergantung pihak lain disekitarnya dan merupakan pembatas sistem dengan dunia luar. Lebih lanjut lagi user interface class sering disamakan dengan form yang digunakan sebagai interface antara sistem dengan user.
Simbol 2.15 Boundary Class [Terry Quatrani, 1999] b. Control Class Kelas control adalah kelas yang mengkoordinasikan aktivitas dalam sistem. Kelas ini menghubungkan kelas boundary dengan kelas entity. Kelas control digunakan untuk memodelkan “perilaku mengatur”, khusus untuk satu atau beberapa use case saja. Kelas ini menggunakan isi dari kelas entity dan biasanya memasangkan kelas boundary dengan kelas entity.
30
Simbol 2.16 Control Class [Terry Quatrani, 1999] c. Entity Class Kelas entity adalah kelas yang berhubungan dengan data dan informasi yang digunakan oleh sistem. Kelas ini adalah kelas yang menyimpan dan mengolah data. Kelas entity memodelkan infromasi yang harus disimpan oleh sistem. Oleh karena itu, kelas entity membantu untuk memahami apa yang kira-kira sistem tawarkan kepada user.
Simbol 2.17 Entity Class [Terry Quatrani, 1999]
2.10 Dasar HTML HTML merupakan singkatan dari Hyper Text Markup Language. HTML digunakan untuk membangun suatu halaman web. HTML sebenarnya bukan merupakan bahasa pemograman, karena seperti tercermin dari namanya, HTML merupakan suatu bahasa mark up (penandaan). HTML digunakan untuk melakukan mark up (penandaan) terhadap sebuah dokumen teks. Tanda tersebut digunakan untuk menentukan format atau style dari teks yang ditandai. Symbol mark up yang digunakan oleh HTML ditandai dengan tanda lebih kecil (<) dan tanda lebih besar (>) dan disebut dengan tag.
31
Struktur Dasar HTML Sebuah file HTML merupakan file teks biasa yang mengandung tag-tag HTML. Karena merupakan file teks, maka HTML dapat dibuat dengan menggunakan teks editor yang sederhana, misalnya Notepad. Dapat juga menggunakan HTML editor yang bersifat visual, misalnya FrontPage, HoTMetaL, Netscape Composer, dan lain-lain, yang meskipun dapat digunakan untuk mendesain halaman web tanpa harus mengenal tag HTML, namun biasanya menyediakan fasilitas untuk menuliskan tag HTML secara manual. Untuk menandai bahwa sebuah file teks merupakan file HTML, maka ciri yang paling nampak jelas adalah ekstensi filenya, yaitu .htm atau .html. namun lebih jauh dari itu, di dalam file tersebut harus terkandung struktur sebagai berikut: …
Tag tersebut harus diletakan pada bagian paling awal dan harus diletakan pada bagian paling akhir. Secara lengkap, file HTML biasanya mempunyai bagian head dan bagian body, jadi struktur lengkapnya adalah sebagai berikut: <TITLE> … …
32
Bagian HEAD umumnya berisi informasi mengenai dokumen tersebut, misalnya judul dokumen, versi HTML yang digunakan. Bagian TITLE berisi judul dari dokumen yang dibuat dan akan terlihat pada bagian title bar windows. Sedangkan bagian BODY berisi layout atau desain halaman web.
2.11 Cascading Style Sheet (CSS) Cascading Style Sheet (CSS) adalah bahasa style sheet yang digunakan untuk mengatur tampilan dokumen. CSS dapat mengendalikan ukuran gambar, warna body teks, warna tabel, ukuran border, warna border, warna hyperlink, warna
mouse
over,
spasi
antar
paragraf,
spasi
antar
teks,
margin
kiri/kanan/atas/bawah, dan parameter lainnya. CSS memisahkan presentation sebuah dokumen dari konten dokumen itu sendiri. Dengan adanya CSS memudahkan programmer dalam hal pembuatan dan pemeliharaan dokumen web.
2.12 JavaScript JavaScript adalah bahasa skrip yang ditempelkan pada kode HTML dan diproses di sisi klien. JavaScript digunakan pada halaman web untuk meningkatkan desain, validasi form, mendeteksi browser, membuat cookies, dan sebagainya. Dengan adanya bahasa ini, kemampuan dokumen HTML menjadi semakin luas.
33
2.12.1 JQuery JQuery adalah JavaScript Library (kumpulan kode/fungsi JavaScript siap pakai), sehingga mempermudah dan mempercepat programmer dalam membuat kode JavaScript. Pada intinya, jQuery menyederhanakan kode JavaScript. Hal ini ini sesuai dengan slogannya, “Write less, do more”, dengan menulis sedikit, tapi bisa melakukan banyak hal.
2.13 PHP PHP (Personal Home Page Tools) adalah sebuah bahasa scripting yang menyatu dengan HTML, yang dijalankan pada server side. Artinya, semua sintaks yang diberikan akan sepenuhnya dijalankan di sisi server. PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1994. Sebagian besar perintahnya berasal dari bahasa C, Java dan Perl dengan beberapa tambahan fungsi khusus PHP. Bahasa ini memungkinkan para pembuat aplikasi web yang menyajikan HTML yang dinamis dan interaktif dengan cepat dan mudah, yang di hasilkan server. PHP bisa berinteraksi dengan hampir semua teknologi web yang sudah ada. Dengan PHP, web browser mengacu secara langsung ke file yang dituju, yang lalu dibaca oleh server sebagaimana file HTML statis biasa. Bedanya, sebelum dikirim balik ke browser web, server web memeriksa isi file dan menentukan apakah ada kode didalam file tersebut yang harus dieksekusi. Bila ada, kode-kode tersebut akan dieksekusi. Hasilnya akan dimasukkan kedalam dokumen yang sama. Server web bekerja secara langsung terhadap file yang bersangkutan.
34
Struktur Dasar PHP Struktur dasar PHP harus ditulis diantara tag : •
•
Pada setiap satu statemenet biasanya diakhiri dengan titik-koma (;). Apabila digabungkan dengan tag HTML, maka script PHP diletakkan diantara tag dan . PHP dapat diintegrasikan dengan berbagai macam server database, seperti : Oralce, Sybase, mSQL, MySQL, Solid, ODBC, PostgreSQL, Adabas D, FilePRo, Velocis, Informic, dBase, UNIX dbm.
2.14 Framework Framework adalah sebuah struktur konseptual dasar yang digunakan untuk memecahkan sebuah permasalahan. Sebuah framework telah berisi sekumpulan arsitektur/konsep-konsep yang dapat mempermudah dalam pemecahan sebuah permasalahan. Framework bukanlah peralatan untuk memecahkan sebuah masalah, tetapi sebagai alat bantu. Framework hanya menjadi sebuah konstruksi dasar yang menopang sebuah konsep atau sistem yang bersifat penting tapi bukan merupakan komponen utama. Di dalam sebuah framework, biasanya sudah tersedia struktur aplikasi yang baik, standard coding, best practice dan design pattern, dan common function. Dengan menggunakan framework, kita dapat langsung fokus kepada business proccess yang dihadapi tanpa harus berfikir banyak masalah struktur aplikasi, standar koding, dan lain-lain.
35
2.15 CodeIgniter CodeIgniter merupakan salah satu dari sekian banyak framework PHP yang ada. CodeIgniter dikembangkan oleh Rick Ellis (http://www.ellislab.com). Tujuan dari pembuatan framework CodeIgniter ini adalah untuk menghasilkan framework yang akan dapat digunakan untuk pengembangan proyek pembuatan website secara lebih cepat ibandingkan dengan pembuatan website dengan cara koding secara manual, dengan menyediakan banyak sekali pustaka (library) yang dibutuhkan dalam pembuatan website, dengan antarmuka yang sederhana dan struktur logika untuk mengakses pustaka yang dibutuhkan. CodeIgniter merupakan framework PHP yang diklaim memiliki eksekusi tercepat dibandingkan dengan framework lainnya. CodeIgniter bersifat open source dan menggunakan basis MVC, yang merupakan model konsep modern framework yang digunakan saat ini. 2.13.1 Konsep MVC MVC adalah kepanjangan dari Model View Controller, merupakan alur kerja dari framework CodeIgniter. Dengan konsep MVC ini, segala macam logika dan layout telah dipisahkan, sehingga programmer dan designer dapat mengerjakan masing-masing tugasnya secara fokus. Konsep model MVC juga dapat menuntun para pembuat program untuk membangun web dengan cara terstruktur. Dilihat dari cara kerjanya, framework CodeIgniter menakankan pada MVC. Untuk alur dari framework ini, dapat dilihat pada gambar berikut ini.
36
Gambar 2.3 Konsep MVC [Agus Saputra, 2011] a. Model Merepresentasikan struktur data dari website yang bisa berupa basis data maupun data lain, misalnya dalam bentuk file teks atau file xml. Biasanya didalam model akan berisi class dan fungsi untuk mengambil, melakukan update dan menghapus data website. Karena sebuah website biasanya memnggunakan basis data dalam menyimpan data maka bagian model biasanya akan berhubungan dengan perintah-perintah query SQL. b. View Merupakan informasi yang ditampilkan kepada pengunjung website. Sebisa mungkin didalam view tidak berisi logika-logika kode tetapi hanya berisi variabel-variabel yang berisi data yang siap ditampilkan. View bisa dibilang adalah halaman website yang dibuat menggunakan HTML dengan bantuan
CSS
atau
JavaScript.
View
hanya
dikhususkan
untuk
menampilkan data-data hasil dari model dan controller. c. Controller Merupakan penghubung antara Model dan View. Didalam Controller inilah terdapat class dan fungsi-fungsi yang memproses permintaan dari
37
View kedalam struktur data didalam Model. Controller tidak boleh berisi kode untuk mengakses basis data. Tugas controller adalah menyediakan berbagai variabel yang akan ditampilkan di view, memanggil model untuk melakukan akses ke basis data, menyediakan penanganan error, mengerjakan proses logika dari aplikasi serta melakukan validasi atau cek terhadap input.
2.16 Basis Data Basis data terdiri dari dua kata, basis dan data. Basis dapat diartikan sebagai markas, gudang atau tempat berkumpul. Sedangkan data adalah repesentasi fakta dunia nyata yang mewakili suatu objek seperti manusia (pegawai, siswa, pembeli dan lain – lain), barang dan sebagainya yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, bunyi atau kombinasi lainnya. Basis data sendiri dapat didefinisikan dalam sejumlah sudut pandang seperti: 1. Himpunan kelompok data (arsip) saling berhubungan yang diorganisasikan sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah. 2. Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redundansi) yang tidak perlu, untuk memenuhi berbagai kebutuhan. 3. Kumpulan file / tabel / arsip saling berhubungan yang disimpan dalam media penyimpanan elektronis.
38
Jadi dapat disimpulkan bahwa Basis Data merupakan kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redudancy) yang tidak perlu, untuk memenuhi berbagai kebutuhan. Atau bisa diartikan sebagai kumpulan file atau arsip yang saling berhubungan yang disimpan dalam media penyimpanan elekronis.
2.17 MySQL MySQL adalah sebuah multithreaded, multi-user, SQL (Structured Query Language) Relational Database Server (RDBMS). MySQL sangat popular digunakan untuk aplikasi web. Popularitas MySQL hampir setara dengan bahasa pemrograman PHP, sehingga pasangan MySQL dan PHP, acapkali dijuluki Dynamic Duo.