BAB II LANDASAN TEORI
2.1
DEFINISI IMPLEMENTASI SISTEM PENCARIAN DAN
REKOMENDASI KOLEKSI
Pencarian adalah proses untuk menemukan suatu informasi yang kita butuhkan. Sementara pengertian rekomendasi adalah berupa saran yang menganjurkan. Secara umum sistem rekomendasi didefinisikan sebagai sistem pendukung yang membantu user untuk mencari informasi, produk dan servis (buku, film, musik dll) dengan menggabungkan dan menganalisa saran dari user, yang berarti meninjau dari beberapa pihak dan user atribut (Frias-Martinex, 2006).
2.1.1 Pengertian Implementasi Sistem Pencarian
Pengertian implementasi secara umum adalah pelaksanaan atau penerapan. Adapun
Schubert (Nurdin dan Usman, 2002:70) mengemukakan bahwa
“implementasi adalah sistem rekayasa”. Pengertian tersebut memperlihatkan bahwa implementasi adalah adanya aksi, tindakan atau mekanisme terhadap suatu sistem.
Dalam
bidang
teknologi
informasi,
implementasi
adalah
mempresentasikan hasil desain ke dalam program. Sistem berasal dari bahasa Latin (systēma) atau bahasa Yunani (sustēma) yang berarti suatu kesatuan yang terdiri dari komponen atau elemen yang dihubungkan bersama untuk memudahkan aliran informasi, materi, atau energi. Implementasi Sistem merupakan kumpulan dari elemen-elemen yang telah didesain kedalam bentuk pemograman untuk menghasilkan suatu tujuan yang dibuat berdasarkan kebutuhan. Implementasi sistem pencarian adalah mempresentasikan desain sistem pencarian
ke
dalam
program sehingga
5
menghasilkan
sebuah
aplikasi.
6
Implementasi sistem pencarian ini akan memberikan hasil berupa rekomendasi berdasarkan katalog kepada user.
2.1.2 Pegertian Rekomendasi Koleksi berdasarkan Katalog Pustaka
Rekomendasi
adalah
saran
yang
menganjurkan
(membenarkan,
menguatkan) sementara merekomendasi adalah memberikan rekomendasi, menasihatkan, menganjurkan. Rekomendasi adalah suatu proses yang berujung pada mengajak pihak lain untuk ikut menikmati penyedia jasa tersebut akibat dari pengalaman positif yang dirasakan (berdasarkan jurnal Analis Kualitas Layanan sebagai Pengukur Loyalitas Pelanggan Hotel Majapahit Surabaya dengan Pemasaran Relasional sebagai Variabel Intervening, oleh Edwin Japarinto, Poppy Laksmono & Nur Ainy Khomariah, 2007). Dari pengertian tersebut dapat diambil kesimpulan bahwa rekomendasi dalam implementasi sistem pencarian ini adalah memberikan, menyarankan sesuatu yang berisi informasi kepada orang lain sesuai dengan pencarian yang dilakukan. Koleksi adalah kumpulan yang berhubungan dengan studi dan penelitian. Koleksi dapat berupa karya cetak seperti buku, majalah, surat kabar dan lain-lain. Selain koleksi berupa karya cetak, koleksi juga dapat berasal dari sumber elektronik seperti e-book dan e-journal. Jenis koleksi yang berasal dari sumber elektronik ini berupa file digital. Koleksi juga dapat berupa rekaman suara maupun rekaman video. Katalog adalah daftar terurut yang berisi informasi tertentu dari benda ataupun barang yang sudah di dokumentasikan. Secara umum pengertian katalog adalah metode penyusunan item secara sistematis baik menurut abjad ataupun logika tertentu. Pustaka atau bahan pustaka adalah dokumen yang memberikan informasi ilmiah serta dapat dijadikan sitasi atau landasan teori dalam suatu karya ilmiah. Tujuan katalog adalah agar memungkinkan seseorang menemukan sebuah buku berdasarkan pengarangnya, judulnya atau tahun terbit.
7
2.2
REKAYASA PERANGKAT LUNAK
Metode pengembangan perangkat lunak yang digunakan oleh penulis adalah waterfall. Metode Waterfall adalah suatu proses pengembangan perangkat lunak berurutan, di mana kemajuan dipandang sebagai terus mengalir ke bawah (seperti air terjun) melewati fase-fase perencanaan, pemodelan, implementasi (konstruksi), dan pengujian. Berikut ini adalah tahapan pada model waterfall (Pressman, 2001:29 ):
Gambar 2.1 Metode Waterfall
1. Analysis Melakukan proses analisa terhadap kebutuhan sistem, fungsi- fungsi yang dibutuhkan, kemampuan kinerja yang ingin dihasilkan serta perancangan antarmuka (interface) yang diperlukan. 2. Design Merancang desain dan model aplikasi yang dikembangkan berdasarkan hasil analisa. Pada penelitian ini penulis menggukan UML (Unified Modeling Language) sebagai alat untuk mengembangkan sistem.
3. Code Menerjemahkan desain yang telah dibuat ke dalam bahasa yang dimengerti oleh komputer. Penggunaan Penulis menggunkan bahasa pemrograman PHP dengan database MySQL.
8
4. Test Proses pengujian. Pada penelitian ini penulis menggunakan metode Black box untuk menguji fitur-fitur yang telah dibangun.
Keistimewaan metode waterfall antara lain adalah: a. Kualitas dari sistem yang dihasilkan baik, karena dilakukan secara bertahap. b. Ketika semua kebutuhan sistem dapat didefinisikan secara utuh dan benar di awal proyek, maka software engineering dapat berjalan dengan baik tanpa masalah.
2.3
PEMODELAN SISTEM
Pemodelan bertujuan untuk menyederhanakan permasalahan. Pemodelan dalam kaitannya dengan kerangka pengembangan sistem adalah sebagai tahapan dalam membuat suatu sistem yang nyata.
2.3.1 UML
Unified Modeling Language selanjutnya disebut UML adalah bahasa permodelan standar. UML adalah alat untuk mengembangkan sistem yang berorientasi obyek. UML menyediakan bahasa pemodelan visual yang memungkinkan bagi pengembang sistem untuk membuat cetak biru. Dengan cetak biru ini maka akan bias diketahui informasi detil tentang coding program (forward engineering) atau bahkan membaca program dan menginterpretasikannya kembali ke dalam diagram (reverse engineering). Dengan UML akan bisa menceritakan apa yang seharusnya dilakukan oleh sebuah sistem bukan bagaimana yang harusnya dilakukan sebuah sistem (Munawar, 2005:25).
9
2.3.2 Use Case Diagram
Use case adalah teknik untuk merekam persyaratan fungsional sebuah sistem. Use case mendeskripsikan interaksi tipikal antara para pengguna sistem dengan sistem itu sendiri, dengan memberi sebuah narasi tentang bagaimana sistem itu digunakan (Fowler, 2004 : 141). Secara umum Use case diagram terdiri dari : 1) Actor Actor adalah sesuatu (entitas) yang berhubungan dengan sistem dan berpartisipasi dalam use case. Actor menggambarkan orang, sistem atau entitas eksternal yang secara khusus membangkitkan sistem dengan input atau masukan kejadian-kejadian, atau menerima sesuatu dari sistem. Actor dilukiskan dengan peran yang mereka mainkan dalam use case, seperti Staff, Kurir dan lain-lain.
< nama actor>
Gambar 2.2 Bentuk Aktor
Dalam use case diagram terdapat satu aktor pemulai atau initiator Actor yang membangkitkan rangsangan awal terhadap sistem, dan mungkin sejumlah aktor lain yang berpartisipasi atau participating Actor. Akan sangat berguna untuk mengetahui siapa aktor pemulai tersebut.
2) Use case Use case yang dibuat berdasar keperluan aktor merupakan gambaran dari “apa”
yang
dikerjakan
oleh
sistem,
bukan
“bagaimana”
sistem
mengerjakannya. Use case diberi nama yang menyatakan apa hal yang dicapai dari interaksinya dengan aktor. Dalam UML use case dinotasikan dengan gambar :
10
< nama use case>
Gambar 2.3 Bentuk Use Case
3) Relationship Relasi (relationship) digambarkan sebagai bentuk garis antara dua simbol dalam use case diagram. Relasi antara Actor dan use case disebut juga dengan asosiasi (association). Asosiasi ini digunakan untuk menggambarkan bagaimana hubungan antara keduanya. Relasi-relasi yang terjadi pada use case diagram bisa antara Actor dengan use case atau use case dengan use case. a) Relasi/asosiasi antara Actor dengan use case :
< nama actor>
< nama use case>
Gambar 2.4 Relasi antar Actor dengan Use Case
b) Relasi antara use case dengan use case : (1)Include, pemanggilan use case oleh use case lain atau untuk menggambarkan suatu use case termasuk di dalam use case lain (diharuskan). Contohnya adalah pemanggilan sebuah fungsi program. Digambarkan dengan garis lurus berpanah dengan tulisan <
>. (2)Extend, digunakan ketika hendak menggambarkan variasi pada kondisi perilaku normal dan menggunakan lebih banyak kontrol form dan mendeklarasikan ekstension pada use case utama. Atau dengan kata lain adalah perluasan dari use case lain jika syarat atau kondisi terpenuhi. Digambarkan dengan garis berpanah dengan tulisan <<extend>>.
11
(3)Generalization/ Inheritance, dibuat ketika ada sebuah kejadian yang lain sendiri atau perlakuan khusus dan merupakan pola berhubungan base parent use case. Digambarkan dengan garis berpanah tertutup dari base use case ke parent use case.
2.3.3 Activity Diagram
Diagram aktivitas menggambarkan proses bisnis dan urutan aktivitasaktivitas yang mendukung penggambaran tindakan sistem baik yang bersifat kondisional maupun paralel. Tindakan kondisional dilukiskan dengan cabang (branch) dan penyatuan (merge). Sebuah branch memiliki sebuah transition masuk atau yang disebut dengan incoming transition dan beberapa transition keluar atau yang disebut dengan outgoing transition dari branch yang berupa keputusan-keputusan. Hanya satu dari outgoing transition yang dapat diambil, maka keputusan-keputusan tersebut harus bersifat mutually exclusive. Else digunakan sebagai keterangan singkat yang menunjukkan bahwa transition “else” tersebut harus digunakan jika semua keputusan yang ada pada branch salah. Sebuah merge memiliki banyak input transition dan sebuah output. Merge menandakan akhir dari suatu kondisi yang diawali dengan sebuah branch. Selain branch dan merge, di dalam diagram aktivitas terdapat pula fork dan join. Fork memiliki satu incoming transition dan beberapa outgoing transition. Sedangkan pada join, outgoing transition diambil atau digunakan hanya ketika semua state pada incoming transition telah menyelesaikan aktivitasnya. Simbol-simbol yang sering digunakan pada saat pembuatan activity diagram diantaranya: 1) Start Point, diletakkan pada pojok kiri atas dan merupakan awal aktivitas.
Gambar 2.5 Simbol Start Point
12
2) End Point, akhir aktivitas.
Gambar 2.6 Simbol End Point
3) Activities, menggambarkan proses bisnis dan dikenal sebagai activity state.
Gambar 2.7 Simbol Activities
4) Decision Points, tidak ada keterangan (pertanyaan) pada tengah belah ketupat seperti pada flowchart dan harus mempunyai Guards (kunci).
Gambar 2.8 Simbol Decision Points
5) Fork (percabangan), digunakan untuk menunjukkan kegiatan yang dilakukan secara pararel atau untuk menggabungkan dua kegiatan pararel menjadi satu.
Gambar 2. 9 Simbol Fork
Activity diagram seperti sebuah flow chart. Activity diagram menunjukkan tahapan, pengambilan keputusan dan percabangan. Activity diagram dapat digunakan untuk menunjukkan siapa mengerjakan apa dengan teknik partition.
13
2.4
ALGORITMA BRUTE FORCE
Algoritma Brute Force adalah algoritma untuk mencocokkan pattern dengan semua teks antara 0 dan n-m untuk menemukan keberadaan pattern dalam teks. Secara rinci, langkah-langkah yang dilakukan algoritma ini saat mencocokan string adalah (Sarno, et al: 2012:12): 1) Algoritma brute force mulai mencocokan pattern dari awal teks. 2) Dari kiri ke kanan, algoritma ini akan mencocokkan karakter per karakter pattern dengan karakter pada teks yang bersesuaian, sampai salah satu kondisi berikut terpenuhi: a.
Karakter di pattern dan di teks yang dibandingkan tidak cocok.
b.
Semua karakter di pattern cocok. Kemudian algoritma akan memberitahukan penemuan di posisi ini.
3) Algoritma kemudian terus menggeser pattern sebesar satu langkah ke kanan, dan mengulangi langkah ke-2 sampai pattern berada di ujung teks.
Gambar 2.10 Algoritma Brute Force
14
Algoritma brute force tidak memerlukan tahap prapemrosesan. Algoritma ini memerlukan jarak tambahan yang konstan untuk tiap pattern dan teks. Berikut merupakan contoh pseudocode algoritma brute force: procedure BruteForceSearch( input m, n : integer, input P : array[0..n-1] of char, input T : array[0..m-1] of char, output ketemu : array[0..m-1] of boolean )
Deklarasi: i, j: integer
Algoritma: for (i:=0 to m-n) do j:=0 while (j < n and T[i+j] = P[j]) do j:=j+1 endwhile if(j >= n) then ketemu[i]:=true; endif endfor
2.5
PHP
PHP merupakan singkatan dari Hypertext Prosesor adalah suatu bahasa pemrograman berbentuk skrip yang bersifat server-side artinya sintaks-sintaks dan perintah yang kita berikan akan sepenuhnya dijalankan oleh server yang juga dapat disertakan pada halaman HTML. Kelahiran PHP bermula saat Rasmus Lerdorf membuat sejumlah skrip perl padatahun 1994. Skrip-skrip ini selanjutnya
15
dikemas menjadi tool yang disebut “Personal Home Page”. Paket inilah yang menjadi cikal-bakal php. Pada tahun 1995, Rasmus menciptakan PHP/FI Versi 2. Pada versi inilah pemrogram dapat menempelkan kode terstruktur di dalam tag HTML. PHP adalah bahasa (Scripting Language) yang dirancang secara khusus untuk penggunaan Web. PHP adalah tool yang akan membuat halaman web menjadi dinamis. Kaya akan fitur yang membuat perancangan web dan pemrograman lebih mudah, PHP digunakan oleh banyak sekali domain. Seperti bahasa pemrograman web lainnya, PHP memproses seluruh perintah yang berada dalam skrip PHP di dalam web server dan menampilkan outputnya ke dalam web browser klien. PHP adalah bahasa scripting yang menghasilkan output HTML ataupun output-output lainnya, sesuai keinginan pemrogram (misalnya: PDF, dan lain-lain) yang dijalankan pada server side. Artinya, semua sintaks yang kita berikan akan sepenuhnya dijalankan pada server sedangkan yang dikirimkan ke browser hanya hasilnya (output) saja (Janner, 2007 : 25).
2.5.1 Konsep Dasar PHP
Kode PHP diawali dengan tanda lebih kecil (<) dan diakhiri dengan tanda lebih besar (>). Cara menuliskan skrip PHP, yaitu: Jika ingin menambahkan komentar, namun komentar tersebut tidak ikut dieksekusi maka dapat ditulis sebagai berikut : /* Tulis Komentar */ atau // Tulis Komentar
Skrip yang dibuat dengan PHP disimpan dengan nama file dan diikuti dengan ekstensi *.php, misalnya : contoh.php. Bila skrip PHP diakses melalui komputer lokal maka file PHP disimpan di folder htdocs di web server. Sama halnya dengan penamaan dokumen HTML, pemberian nama dokumen yang sama
16
tetapi dituliskan dengan case yang berbeda akan dianggap sebagai dokumen yang berbeda, misalnya contoh.php akan berbeda dengan CONTOH.php. Skrip PHP dapat disisipkan (ditempelkan) di bagian manapun dalam dokumen HTML, begitu pula sebaliknya skrip HTML dapat diletakkan diantara skrip PHP: * Contoh1.php (Menuliskan skrip PHP di dokumen HTML) Menuliskan skrip PHP di dokumen HTML Cara belajar PHP dengan mudah:
2.6
MySql
MySQL adalah salah satu database server yang cukup dikenal saat ini. MySQL keluaran T.c.X. data Consult AB, sebuah perusahaan IT Swedia, yang menawarkan berbagai keunggulan dibandingkan database server lainnya, yaitu: a. Mampu menangani jutaan user dalam waktu yamg bersamaan. b. Mampu menampung lebih dari 50.000.000 record. c. Sangat cepat dalam mengeksekusi perintah.
Selain itu MySQL juga menyediakan dukungan open source.Setiap pengguna MySQL diizinkan untuk mengubah source untuk keperluan pengembangan atau menyelaraskan spesifikasi database sesuai kebutuhan (Janner, 2006).
17
2.6.1 Syntaks – syntaks MySQL
Perintah-perintah yang umum digunakan dalam MySQL diantaranya adalah: 1) INSERT Digunakan untuk mengisi data atau menambah record pada suatu tabel. INSERT INTO nama_tabel (kolom1, kolom2..) VALUES (nilai1,nilai2..); 2) SELECT Digunakan untuk melihat data dari satu atau beberapa tabel. SELECT kolom-kolom; FROM nama-tabel; Untuk melihat seluruh isi kolom dari suatu tabel digunakan query SELECT *. SELECT * FROM nama-tabel; 3) WHERE Digunakan untuk menyaring hasil query sehingga record yang dikeluarkan hanyalah record yang sesuai dengan yang diinginkan. SELECT kolom1, kolom2; FROM kolom1 WHERE kolom2 < kriteria; 4) DISTINCT Dapat digunakan untuk menghilangkan record-record yang sama. SELECT DISTINCT kolom2 FROM kolom1; 5) BETWEEN Digunakan untuk membatasi suatu batas nilai tertentu. SELECT kolom1,kolom2,kolom3 FROM kolom1 WHERE kolom2 BETWEEN..AND..; 6) LIKE Digunakan untuk pencarian data yang memiliki pola tertentu. SELECT kolom1,kolom2 FROM kolom1 WHERE kolom1 LIKE „A%‟;
18
7) ORDER BY Digunakan untuk mensortir data hasil query sesuai dengan kebutuhan. SELECT kolom1,kolom2 FROM kolom1 ORDER BY kolom1; Untuk mensortir dengan urutan terbalik, digunakan keyword tambahan DESC. Sedangkan untuk ututan yang teratur digunakan keyword ASC. SELECT kolom1.kolom2 FROM kolom1 ORDER BY kolom 1 DESC; 8) DELETE Digunakan untuk menghapus suatu record dengan kriteria tertentu. DELETE FROM nama-tabel WHERE kriteria: Untuk menghapus record pada suatu tabel, digunakan perintah DELETE tanpa menentukan kriterianya. DELETE FROM nama-tabel; 9) UPDATE Digunakan untuk memodifikasi nilai kolom dari suatu record. UPDATE nama-tabel SET nama-kolom1=nilai-baru1,nilai-kolom2=nilai-baru2,.. WHERE kriteria;
2.7
Apache
Apache adalah server web yang bersifat open source yang bertanggung jawab untuk melayani dan memfungsikan situs web, protokol yang digunakan untuk melayani fasilitas web ini menggunakan HTTP. Apache merupakan server web yang dapat dijalankan di banyak sistem operasi (Unix, BSD, Linux, Microsoft Windows dan Novell Netware serta platform lainnya). Apache juga didukung oleh sejumlah antarmuka pengguna berbasis grafik (GUI) yang memungkinkan penanganan server menjadi mudah. Apache merupakan perangkat
19
lunak sumber terbuka dikembangkan oleh komunitas terbuka yang terdiri dari pengembang-pengembang dibawah naungan Apache Software Foundation.
2.8
PHP MyAdmin
PHP MyAdmin adalah sebuah aplikasi open source yang berfungsi untuk memudahkan manajemen MySQL. PHP MyAdmin merupakan program yang dibuat menggunakan aplikasi PHP berbasis web. Program ini digunakan untuk mengakses databse MySQL dan mendukung berbagai operasi MySQL.
2.9
PENGUJIAN BLACK-BOX
Pengujian adalah proses eksekusi suatu program untuk menemukan kesalahan sebelum digunakan oleh pengguna akhir (Pressman, 2005). Pengujian black-box berfokus pada persyaratan fungsional perangkat lunak. Pengujian black-box memungkinkan perekayasa perangkat lunak mendapatkan serangkaian kondisi input yang sepenuhnya menggunakan semua persyaratan fungsional untuk suatu program (Pressman, 2010).
Pengujian black-box bukan merupakan alternatif dari pengujian white-box. Sebaliknya pengujian black-box adalah pendekatan komplementer yang mungkin untuk mengungkap kelas kesalahan daripada metode white-box. Pengujian blackbox berusaha menemukan kesalahan dalam kategori sebagai berikut: 1. Fungsi-fungsi yang tidak benar atau hilang. 2. Kesalahan interface. 3. Kesalahan dalam struktur data atau akses database eksternal. 4. Kesalahan kinerja. 5. Inisialisasi dan kesalahan terminasi.
20
Pengujian Black-Box sering disebut juga dengan pengujian behavioral atau pengujian partisi. Pengujian ini dilakukan pada tahap akhir pembuatan perangkat lunak atau setelah perangkat lunak selesai dibuat.