bab 2 landasan teori 2.1 internet 2.1.1 pengertian...
TRANSCRIPT
6
BAB 2
LANDASAN TEORI
2.1 Internet
2.1.1 Pengertian Internet
Menurut www.imcc-online.org/GLOSSARIES/glossary.htm internet adalah
kumpulan dari banyak jaringan di seluruh dunia dimana secara umum ditujukan
melalui 2 cara : internet (lowercase i) yang merupakan kumpulan dari jaringan fisik
yang terpisah, dihubungkan melalui protokol ke bentuk jaringan logikal. Internet
(uppercase I) merupakan kumpulan dari jaringan di seluruh dunia, yang
dikembangkan oleh ARPANET menggunakan Internet Protocol (IP) untuk
menghubungkan berbagai jaringan fisik menjadi jaringan logikal.
Menurut http://en.wikipedia.org/wiki/Internet internet merupakan sistem
seluruh dunia secara umum yang dihubungkan dengan jaringan komputer, yang
dapat memindahkan data dari paket switching dengan menggunakan standar Internet
Protocol (IP) dan protokol lainnya. Internet dibentuk dari ribuan jaringan komersial,
akademik dan pemerintah. Internet membawa berbagai informasi dan layanan,
seperti surat-elekronik (e-mail), pembicaraan-online (online chat), dan hubungan
halaman web serta dokumen lainnya dari World Wide Web (WWW).
2.2 Sistem Temu Kembali Informasi (Information Retrieval)
2.2.1 Pengertian Information Retrieval
Menurut http://en.wikipedia.org/wiki/Information_retrieval Information
Retrieval (IR) adalah ilmu dan pengetahuan untuk pencarian informasi didokumen,
7
pencarian untuk dokumennya sendiri, pencarian untuk metadata dimana
menggambarkan dokumen atau pencarian diantara database, apakah itu merupakan
relational stand alone database atau jaringan hypertext database seperti internet atau
intranet, untuk text, suara, image atau data.
Menurut www.socengine.com/seo/blogdetail.php Information Retrieval (IR)
adalah bagian dari ilmu komputer yang mempelajari pengembalian informasi (bukan
data) dari kumpulan dokumen yang tertulis. Pengembalian dokumen bertujuan untuk
memuaskan keperluan informasi user yang biasanya digambarkan didalam bahasa
natural.
Information Retrieval (IR) saat ini dijadikan sebuah alternatif untuk
penyimpanan dan pencarian kembali dokumen. Berbeda dengan Database
Management System (DBMS), information retrieval ditujukan kepada penyimpanan
dokumen yang bersifat tidak mempunyai struktur yang baik, seperti koleksi data
tugas akhir maupun koleksi literature. Karena itu, information retrieval lebih
ditujukan untuk kepentingan penyimpanan dan temu kembali dokumen yang ada
dalam perpusatakaan.
Information retrieval mempunyai dua proses utama dalam pengoperasiannya,
yaitu proses pembuatan indeks dan proses pemberian peringkat. Pada awalnya proses
information retrieval dikembangkan dengan menggunakan metoda dasar atau
algoritma Boolean : AND, OR dan NOT. Namun, metoda dasar Boolean ini
memiliki beberapa kelemahan, yaitu : dokumen yang didapat melalui pencarian
dengan metoda Boolean, tidak dapat memperkirakan dokumen mana, yang paling
dekat atau mirip dengan pencarian yang dilakukan oleh user. Hal ini melandasi
berkembangnya metoda baru untuk information retrieval, dimana information
8
retrieval membuat suatu sistem peringkat untuk hasil yang akan ditampilkan kepada
user dan lebih memperluas hasil pencarian dibandingkan hasil pencarian dengan
metoda Boolean dasar. Proses pembuatan indeks dalam information retrieval ini
menggunakan metoda Inverted File. Prototipe information retrieval ini
menggunakan metoda Extended Boolean untuk membuat sistem peringkat dan dibuat
menggunakan bahasa pemrograman JAVA dengan teknologi J2EE (JAVA 2
Enterprise Edition).
Berdasarkan uji coba yang telah dilakukan, information retrieval dengan
metoda pemberian peringkat Extended Boolean, dapat memilih dokumen yang
diperkirakan terdekat dengan dokumen yang user cari, serta memperluas hasil
pencarian dibandingkan dengan menggunakan metoda Boolean.
2.3 Mesin Pencari (Search Engine)
Menurut www.webopedia.com/TERM/s/search_engine.html, mesin pencari
(search engine) adalah program yang digunakan untuk mencari didalam beberapa
kumpulan data. Dalam konteks internet, “mesin pencari” digunakan untuk menyebut
situs yang menyediakan form untuk melakukan pencarian didalam basis data
dokumen HTML. Pengguna akan memasukkan satu atau lebih keyword (kata kunci)
dan sekumpulan hasil akan dikembalikan berdasarkan kata kunci tersebut. Mesin
pencari memiliki program yang sering disebut agents yang secara aktif menjelajah
internet untuk mengindeks situs yang mereka datangi kedalam basis data. Kemudian
data hasil pengindeksan tersebut digunakan untuk menjawab pertanyaan atau
pencarian yang diberikan para pengguna situs mesin pencari tersebut melalui form
9
yang disediakan. Situs-situs mesin pencari yang terkenal antara lain Altavista.com,
Google.com, dan Yahoo.com.
Mesin pencari menjadi salah satu alasan mengapa internet menjadi media
yang populer dalam penyimpanan dan pencarian informasi. Bagi beberapa mesin
pencari modern (seperti Google dan Yahoo), cara kerja mesin pencari mereka seperti
yellow pages raksasa. Semua data diindeks dalam cara dimana sekumpulan
algoritma dapat dengan mudah diaplikasikan padanya untuk mengembalikan record
yang sesuai.
2.4 Database
2.4.1 Pengertian Database dan Komponennya
Suatu database pada dasarnya adalah komputerisasi sistem penyimpanan
data, yang tujuannya untuk memelihara informasi dan agar informasi tersedia pada
saat dibutuhkan. (Date, 1990, p5).
Database adalah koleksi dari data-data yang terkait secara logis dan deskripsi
dari data-data tersebut, yang didesain untuk memenuhi kebutuhan informasi dari
organisasi. (Thomas Connolly dan Carolyn Begg, 2002, p14)
Komponen-komponen sistem database :
1. Data
Data harus bersifat :
• Shared, yaitu data tersebut dapat dipakai bersama.
• Integrated, yaitu data tersebut terpusat supaya setiap pengguna di tempat
yang berbeda dapat mengakses database yang sama.
10
2. Hardware
• Secondary Storage Volumes
• I/O Devices
• Device Controllers
• I/O Channels
• Database Machines
3. Software
• Creating Files
• Inserting Data
• Retrieving Data
• Deleting Data
• Updating Data
4. Pengguna
• Administrator Database
• Program Aplikasi
• Pengguna Akhir
2.4.2 DBMS (Database Management System)
2.4.2.1 Pengertian DBMS
DBMS adalah sistem software yang memperbolehkan user untuk
mendefinisikan, menciptakan, memaintain dan mengontrol akses ke database.
(Thomas Connolly dan Carolyn Begg, 2002, p16).
DBMS adalah software yang berinteraksi dengan program aplikasi user dan
database. DBMS menyediakan beberapa fasilitas sebagai berikut :
11
1. DBMS memperbolehkan user untuk mendefinisikan database, khususnya
melalui Data Definition Language (DDL).
2. DBMS memperbolehkan user untuk menyelipkan data (insert), mengupdate
data (update), menghapus data (delete) dan pengembalian data (retrieve) dari
database, khususnya melalui Data Manipulation Language (DML).
3. DBMS menyediakan akses kontrol ke database. Sebagai contoh, DBMS
menyediakan keamanan sistem, kesatuan sistem (integrity), sistem kontrol
konkurensi, sistem kontrol recovery dan catalog user-accessible.
2.4.2.2 Keuntungan dan Kerugian DBMS
1. Keuntungan DBMS :
• Mengontrol data redudansi
• Konsistensi data (Data consistency)
• More information from the same amount of data
• Sharing of data
• Meningkatkan keamanan
• Enforcement of standars
• Economy of scale
• Balance of conflicting requirements
• Improved data accessibility and responsiveness
• Meningkatkan produktifitas
• Improved maintenance trough data independence
• Meningkatkan konkurensi
• Improved backup and recovery services
12
2. Kerugian DBMS :
• Kompleksitas (Complexity)
• Ukuran (Size)
• Cost of DBMS
• Biaya hardware tambahan (Additional hardware costs)
• Biaya konversi (Cost of conversion)
• Performa (Performance)
• Dampak kegagalan lebih besar (Higher impact of a failure)
2.4.3 File Database
File database adalah kumpulan aplikasi program yang menyediakan
pelayanan untuk pengguna akhir seperti laporan produksi. Masing-masing
program mendefinisikan dan mengatur datanya sendiri. File database merupakan
percobaan awal untuk mengkomputerisasi sistem manual. Sebagai contoh, di
perusahaan, file manual diciptakan untuk memegang semua penyesuaian
eksternal dan internal yang berhubungan dengan projek, produk, tugas, client
atau pekerja. (Thomas Connolly dan Carolyn Begg, 2002, p7).
2.4.4 Normalisasi
Normalisasi adalah pendekatan bottom-up untuk mendesain database yang
dimulai dengan memeriksa hubungan antara atribut-atribut (Thomas Connolly
dan Carolyn Begg, 2002, p375).. Proses normalisasi pertama kali ditemukan oleh
EF.Codd (1972). Normalisasi biasa dilakukan sebagai serangkaian tes pada
relation untuk menentukan apakah itu sesuai atau melanggar kebutuhan pada
normal form.
13
Ada tiga jenis normalisasi:
• 1NF (first normalization)
Adalah relation di mana hubungan antara tiap baris dan kolom terdiri dari
hanya satu nilai. Pada 1NF, menghilangkan redudancy data dan
menghilangkan repeating group.
• 2NF (second normalization)
Relation yang sudah menjadi bentuk 1NF, di mana setiap atribut non
primary key mempunyai ketergantungan functionaly dependency pada
primary key.
• 3NF (third normalization)
Adalah relation yang sudah menjadi bentuk 1NF dan 2NF, di mana
atribut non primary key mempunyai ketergantungan transitif depedency
pada primary key.
2.4.5 Kueri (Query)
Menurut www.orafaq.com/glossary/faqglosq.htm kueri (query) adalah SQL
SELECT statement untuk mengembalikan data dari table Oracle dari pandangan
database. Definisi Query secara formal adalah kumpulan spesifikasi yang digunakan
untuk menggali kumpulan data yang diperlukan dari database. Di bagian secara
tradisional, hal ini dinamakan “program komputer”. Kueri merupakan aspek dari
SQL yang sering digunakan. Kueri tidak mengubah informasi di tabel tetapi hanya
menunjukkan kepada user saja. Kueri dibentuk dari perintah tunggal. Struktur dari
kueri dapat muncul seolah-olah sederhana tetapi kueri dapat menjadi kompleks.
14
2.5 Implementasi Teknologi Sistem Mesin Pencari (Search Engine)
2.5.1 JAVA
JAVA adalah sebuah bahasa pemrograman yang diterbitkan oleh SUN
Microsystem. Pada saat ini, JAVA sudah mencapai versi beta 1.5.x. Pengembangan
sistem ini menggunakan versi J2SDK 1.5.0_02.
Teknologi JAVA memungkinkan programmer untuk membangun aplikasi-
aplikasi tanpa menulis baris-baris kode yang panjang dan dapat menggunakan class-
class yang telah ada dalam paket yang disediakan J2SDK maupun membuat class
baru. Program yang dibuat dalam JAVA disimpan sebagai file teks berekstensi .java
sebelum dikompilasi oleh JAVA compiler menjadi JAVA bytecode. JAVA bytecode
inilah yang nantinya dijalankan oleh JAVA Virtual Machine dan disajikan ke layar
oleh komputer.
Pengembangan JAVA untuk internet pada awalnya menggunakan JAVA
Applet. Bytecode disimpan dalam server dan diambil saat user mengakses halaman
internet (web pages). Bytecode ini lalu dijalankan melalui JAVA Virtual Machine
yang terdapat dalam komputer user, sebelum akhirnya ditampilkan kembali ke
halaman internet. Namun cara tersebut mulai ditinggalkan karena munculnya
teknologi baru dari JAVA yang berorientasi pada implementasi untuk aplikasi
berbasis Internet dengan nama JAVA 2 Enterprise Edition (J2EE). J2EE mempunyai
3 (tiga) konsep teknologi dasar untuk pengembangan aplikasi, yaitu Servlet, JSP dan
JAVA Beans. Ketiga teknologi ini, tidak lagi memerlukan JAVA Virtual Machine dari
komputer user (client) untuk menjalankan aplikasi, namun kesemuanya dijalankan
dari server.
15
2.5.2 Servlet
Servlet adalah teknologi JAVA pengganti Common Gateway Interface (CGI)
Script. Servlet meneruskan permintaan user (client) ke server sekaligus memproses
permintaan tersebut. Servlet juga dapat membuat koneksi ke dalam database atau
flatfile untuk kemudian menyimpan data dari form yang telah diisi oleh user ataupun
mengambil data yang ada dalam database ataupun flatfile untuk keperluan
pembuatan laporan. Dilihat dari fungsinya, dapat diterjemahkan bahwa Servlet
adalah Teknologi JAVA pengganti CGI Script.
Method utama pada servlet adalah init(), doPost(), doGet() dan
destroy(). doPost() digunakan untuk menyimpan data ke dalam server dan
doGet() digunakan untuk mengambil data dari server. Sedangkan init()
adalah fungsi untuk menginisialisasi servlet tersebut untuk pertama kali dan
destroy() adalah untuk mematikan daur hidup Servlet tersebut.
2.5.3 JSP (Java Server Pages)
JAVA Server Pages (JSP) merupakan pengembangan dari servlet. Mirip
dengan scripting language lainnya seperti Active Server Pages (ASP) dan PHP. JSP
menggabungkan antara komponen-komponen standar web dan kelas-kelas yang telah
dibuat sebelumnya dengan menggunakan JAVA. (Deitel, 2003, p1262). Dengan
penggabungan ini, JSP lebih mudah berinteraksi dengan database dan dapat
membuat suatu hasil ataupun laporan dengan format yang baik.
Banyak pendapat mengenai JSP yang menilai JSP mirip dengan Extended
Hypertext Markup Language (XHTML) maupun Extensible Markup Language
16
(XML). Hal ini benar karena sebenarnya JSP menggunakan XML dan XHTML
untuk memformat data-data yang diambil dari database.
2.5.4 JAVA Beans
JAVA Beans dapat diartikan sebagai komponen-komponen JAVA yang dapat
dipergunakan kembali. Konsep penggunaan kembali komponen ini, membuat
pembuatan aplikasi lebih sederhana karena JAVA Beans tidak perlu untuk
pendefinisian kembali komponen-komponen yang diperlukan, jika memang sudah
kita buat sebelumnya dan kita hanya perlu menggunakan kembali dalam aplikasi
yang akan kita buat. Class baru hanya perlu digunakan untuk menginisialisasi
kembali JAVA Beans yang akan dipakai. Sehingga JAVA Beans sering disebut
sebagai JAVA Reusable Component. JAVA Beans ini lazim dipergunakan dalam
pembuatan aplikasi grafis maupun desain lingkungan aplikasi (front end). Contoh
aplikasi JAVA yang paling sering menggunakan JAVA Beans adalah application
builder tools berbasis IDE (Interface Design Environment) seperti Sun One Studion
dan Borland JBuilder.
Penggunaan JAVA Beans dalam Information Retrieval adalah untuk
keperluan membuat array dari record dan memformat isi dokumen tersebut kedalam
bentuk satu record.
2.5.5 Ibatis
Menurut www.iBATISNews.com Ibatis adalah data mapper framework dapat
membuat kemudahan dalam menggunakan database dengan aplikasi Java dan .NET.
Pasangan objek Ibatis dengan prosedur yang disimpan atau penyataan SQL
menggunakan gambaran XML. Dalam menggunakan Ibatis data mapper, kita harus
mempercayai objek, XML dan SQL.
17
Gambar 2.1 : Ibatis Framework (Sumber : www.iBATISNews.com)
2.6 SWOT (Strengths, Weaknesses, Opportunities, Threats)
Analisis SWOT adalah identifikasi berbagai faktor secara sistematis untuk
merumuskan strategi perusahaan. (Rangkuti, 2002, p18-19). Perusahaan strategi
(strategic planning) harus menganalisis faktor-faktor strategi perusahaan (kekuatan,
kelemahan, peluang dan ancaman) dalam kondisi yang ada saat ini. Hal ini disebut
analisis situasi. Model yang paling popular untuk analisis situasi adalah SWOT.
SWOT merupakan singkatan dari strengths (kekuatan), weaknesses (kelemahan),
opportunities (peluang) dan threats (ancaman).
• Strengths (kekuatan)
Kekuatan adalah sumber, keahlian atau keuntungan relatif lainnya bagi
pesaing dan kebutuhan pasar akan pelayanan perusahaan. Kemampuan
khusus memberikan keuntungan relatif bagi perusahaan di pasaran.
Kemungkinan kekuatan memiliki hubungan dengan sumber-sumber
keuangan, pemimpin pasar, hubungan pembeli atau penyalur dan faktor
lain.
18
• Weaknesses (kelemahan)
Kelemahan adalah kekurangan atau keterbatasan pada sumber, keahlian
dan kemampuan yang secara serius menghalangi keberhasilan
pelaksanaan. Fasilitas, sumber keuangan, kemampuan manajemen dan
keahlian pemasaran dapat menjadi salah satu sumber kelemahan.
• Opportunities (peluang)
Suatu peluang adalah situasi paling menguntungkan dalam lingkungan
suatu perusahaan. Kecenderungan adalah salah satu sumber peluang.
Identifikasi tanpa melihat segmen pasar yang terdahulu, perubahan dalam
persaingan atau pengaturan keadaan, perubahan teknologi dan
mempengaruhi pembelian atau hubungan penyalur dapat menggambarkan
peluang bagi perusahaan.
• Threats (ancaman)
Ancaman adalah situasi yang tidak menguntungkan bagi perusahaan
dalam tingkat tertentu. Ancaman merupakan halangan utama yang
berlaku untuk semua perusahaan atau posisi yang diinginkan. Masuknya
pesaing baru, pertumbuhan pasar yang lambat, perubahan teknologi dan
perubahan pengaturan dapat menggambarkan ancaman bagi kesuksesan
perusahaan.
19
2.7 Alat Bantu Perancangan
2.7.1 UML (Unified Modeling Language)
2.7.1.1 Pengertian UML
UML adalah alat pembantu yang paling populer di dunia pengembangan
sistem. (Schmuller ,1999, p5-p7). Karena UML memungkinkan pembangunan
sistem untuk membuat rencana yang memungkinkan untuk dimengerti dan
berkomunikasi dengan yang lain. Komunikasi dalam hal pandangan adalah yang
paling penting didalam pembangunan sistem. Sebelum kedatangan UML,
pengembang sistem sering salah menanggapi atau terbentur dengan masalah. Sistem
analisis akan mencoba untuk memperkirakan kebutuhan dari client mereka,
membuat analisis permintaan dibeberapa notasi yang dapat dimengerti oleh analis
(namun tidak selalu dimengerti oleh client), memberikan hasil analisa tersebut
kepada programmer atau kelompok programmer, dan berharap produk terakhir
adalah sistem yang diinginkan oleh client. Dan dengan adanya UML, masalah-
masalah di atas dapat diatasi.
UML adalah bahasa standar untuk membuat cetak biru dari piranti lunak.
UML dapat digunakan untuk visualisasi dan menentukan, membangun serta
mendokumentasikan hasil kerja dari sistem yang dirancang untuk piranti lunak.
(Booch, Rumbaugh, dan Jacobson, 1998, p13)
2.7.1.2 Diagram-diagram UML
UML memiliki beberapa diagram yang digunakan untuk menggambarkan
suatu sistem. Tujuan pembuatan diagram ini adalah agar sistem mudah dimengerti
oleh semua pihak, baik yang teknis maupun non teknis.
20
Beberapa contoh dari diagram tersebut, antara lain :
1. Class Diagram
• Class diagram terdiri dari sekumpulan class dan interface lengkap
dengan kolaborasi dan hubungan antara mereka. (Booch, Rumbaugh, dan
Jacobson, 1998, p95)
• Pada class diagram, terdapat simbol-simbol:
a. Simbol ‘+’ untuk menandakan public.
b. Simbol ‘-‘ untuk menandakan private.
c. Simbol ‘#’ untuk menandakan protected.
Gambar 2.2 : Class Diagram dalam UML
2. Object Diagram
• Menggambarkan sekumpulan objek dan relasinya (Booch, Rumbaugh,
dan Jacobson, 1998, p96). Objek adalah turunan dari class, benda yang
spesifik, yang mempunyai atribut dan sifat yang spesifik.
Gambar 2.3 : Object Diagram dalam UML
21
3. Use Case Diagram
• Menggambarkan sekumpulan use case dan actor dan hubungan antara
mereka (Booch, Rumbaugh, dan Jacobson, 1998, p97). Use case diagram
mempunyai peranan penting dalam pengorganisasian dan pemodelan
behavior dari sistem.
Gambar 2.4 : Use Case Diagram dalam UML
4. Statechart Diagram
• Merupakan gambaran dari perubahan keadaan (state) suatu objek (Booch,
Rumbaugh, dan Jacobson, 1998, p98).
22
Gambar 2.5 : State Diagram dalam UML
5. Sequence Diagram
• Merupakan diagram interaksi yang menekankan pada urutan waktu dari
pertukaran message. (Booch, Rumbaugh, dan Jacobson, 1998, p97).
Gambar 2.6 : Sequence Diagram dalam UML
23
UML mempunyai banyak diagram karena UML memungkinkan untuk
menganalisa sebuah sistem dari sejumlah sudut pandang, misalnya berdasarkan
contoh diatas, kita dapat melihat berapa lama suatu objek dibutuhkan, hubungan
antar elemen sistem, dan lain-lain.
2.8 IMK (Interaksi Manusia dan Komputer)
Suatu sistem informasi yang berbasis web harus dapat memperoleh dukungan
interaksi dari manusia dan komputer yang baik. User harus merasa dipermudah
dengan penggunaan komputer dalam mengakses website. Jika perancangan
interfacenya tidak baik, maka user menjadi enggan untuk menelusuri dan mengakses
website tersebut dan mengakibatkan tujuan dari sistem informasi berbasis web
menjadi tidak tercapai . Sistem tersebut haruslah bersifat user friendly, sehingga bagi
user yang tidak terlalu memahami website pun tidak mendapat banyak halangan di
dalam menggunakannya.
Jadi Interaksi Manusia Komputer (IMK) sering disebut dengan Human
Computer Interaction (HCI) adalah suatu disiplin ilmu yang berhubungan dengan
perancangan, evaluasi, implementasi sistem komputer interaktif untuk digunakan
oleh manusia, serta mempelajari akibat-akibat yang berhubungan dengannya.
Ada 5 kriteria yang harus dipenuhi oleh suatu sistem yang user friendly
(Shneiderman, 1998, p15) yaitu :
1. Waktu yang singkat untuk mempelajari sistem
2. Kecepatan penyajian informasi yang tepat
3. Tingkat kesalahan pemakai yang rendah
4. Waktu yang singkat untuk mengingat apa yang dipelajarinya
24
5. Kepuasan pribadi
Ada 8 aturan yang harus diperhatikan untuk merancang user interface yang
baik (Shneiderman, 1998, p74-75), yaitu:
1. Berusaha keras untuk tetap konsisten
• Maksudnya konsisten dalam tampilan data. Dalam menggunakan
peristilahan kata, singkatan, format, dansebagainya harus sesuai dengan
standar sehingga mudah dipahami oleh pengguna. Selain itu juga dalam
hal warna, hal ini untuk memudahkan pengguna untuk yakin masih dalam
situs yang sama.
2. Memungkinkan frequent users menggunakan shortcuts
• Untuk memudahkan pengguna untuk menjalankan suatu sistem atau
proses
3. Memberikan umpan balik yang informatif
• Format tampilan informasi perlu berhubungan erat dengan tampilan
pemasukan data sehingga pengguna dapat memahami tentang apa yang
harus dilakukan dalam memasukkan data
4. Merancang untuk menghasilkan keadaan akhir (sukses, selesai)
5. Memberikan pencegahan terhadap error dan penanganan kesalahan yang
sederhana
6. Mengijinkan pembalikan atau pembatalan aksi (undo) dengan model
7. Mendukung internal focus of control (pemakai menguasai sistem, bukan
responden).
25
8. Menguasai beban ingatan jangka pendek
• Beban ingatan yang sedikit mungkin bagi pemakai sehingga pemakai
tidak perlu mengingat informasi dari layar yang satu ke layar yang lain.
2.9 Rekayasa Piranti Lunak (Software Engineering)
2.9.1 Definisi Piranti Lunak
Software engineering adalah disiplin ilmu yang mengintegrasikan metoda,
alat bantu dan prosedur untuk pengembangan software komputer. (Pressman, 1992,
p4). Sejumlah paradigma yang berbeda untuk software engineering telah diajukan,
tiap-tiap paradigma menunjukkan kelebihan dan kelemahannya masing-masing,
tetapi semuanya merupakan serangkaian langkah yang umum (software life cycle).
2.9.2 Paradigma Rekayasa Piranti Lunak
Menurut http://ilmukomputer.com/umum/yanti-uml.php, rekayasa piranti
lunak adalah penetapan dan penggunaan prinsip-prinsip rekayasa dalam rangka
mendapatkan software yang ekonomis yaitu software yang terpercaya efisien pada
mesin (komputer).
Software engineering meliputi 3 elemen kunci :
1. Metode-metode (metodologi)
• Merupakan sekumpulan metoda untuk melaksanakan setiap tahap
pengembangan perangkat lunak.
• Teknik “how do’s” membangun software yang meliputi :
a. Perencanaan proyek dan estimasi
b. Analisis persyaratan sistem dan estimasi
26
c. Desain struktur data
d. Arsitektur program dan prosedur algoritma
e. Coding
f. Testing
g. Maintenance
2. Perangkat bantu (tools)
• Perkakas (CASE tools) untuk dipergunakan pada proses pengembangan
perangkat lunak.
• CASE (Computer Aided Software Engineering)
Mengkombinasikan software, hardware dan software engineering
database (suatu struktur data yang berisi informasi penting tentang
analisis, desaign, code dan testing).
3. Prosedur
• Merupakan penggabungan metode dan alat bantu.
Salah satu paradigma Rekayasa Piranti Lunak yang cukup terkenal adalah
Classic Life Cycle (model Waterfall).
27
Gambar 2.7 : Waterfall Model (Sumber : Pressman, 1992)
Tahapan-tahapan dari Waterfall Model, yaitu :
1. Software Requirement Analysis
• Pada tahap ini proses pengumpulan kebutuhan (requirement gathering
process) diintensifkan dan difokuskan khususnya pada software. Untuk
memahami maksud sebenarnya (nature) dari software yang akan dibuat,
Software Engineer (Analyst) harus memahami information domain dari
software itu sendiri, termasuk fungsi, behavior, performance, dan
interface yang diperlukan. Requirement baik dari software maupun
system harus didokumentasikan dan direview oleh customer.
2. Design
• Software design sebenarnya merupakan proses yang terfokus pada empat
atribut dari program, yaitu : struktur data, arsitektur software, representasi
interface, dan detil procedural / algoritma. Proses desain menterjemahkan
requirement menjadi representasi dari software yang dapat diperiksa
28
kualitasnya sebelum koding dimulai. Seperti requirement desain harus
didokumentasikan dan menjadi bagian dari konfigurasi software.
3. Code Generation
• Desain harus diterjemahkan menjadi bentuk yang dapat dimengerti oleh
mesin. Pada tahapan ini, tugas tersebut dilakukan.
4. Testing
• Setelah koding selesai dilakukan., pengujian (testing) program dilakukan.
Proses pengujian berfokus pada logis internal dari software, pengujian
setiap statement, dan pada fungsi eksternal. Tujuan dari proses ini adalah
untuk mengetahui error dan menjamin bahwa input yang telah
didefinisikan akan menghasilkan hasil yang benar, yang sesuai dengan
hasil yang diinginkan.
2.10 Perpustakaan
2.10.1 Pengertian Perpustakaan
Menurut Kamus Besar Bahasa Indonesia pengertian perpustakaan adalah
tempat, gedung yang disediakan untuk pemeliharaan dan penggunaan koleksi buku
dan sebagainya dapat juga diartikan sebagai koleksi buku, majalah dan bahan
kepustakaan lainnya yang disimpan untuk dibaca, dipelajari dan dibicarakan.
Perpustakaan berasal dari kata pustaka. Dalam Kamus Umum Bahasa
Indonesia, pustaka artinya kitab, buku. Dalam Bahasa Inggris, menggunakan istilah
library. Istilah ini berasal dari kata latin liber/libri artinya buku. Dari kata latin
tersebut, terbentuklah istilah libraries yang artinya tentang buku. Dengan demikian,
29
batasan perpustakaan ialah sebuah ruangan, bagian sebuah gedung, ataupun gedung
itu sendiri yang digunakan untuk menyimpan buku dan terbitan lainnya yang
biasanya disimpan menurut tata susunan tertentu untuk digunakan pembaca, bukan
untuk dijual.
Secara umum definisi perpustakaan selalu mencakup unsur koleksi,
penyimpanan, dan pemakai. Definisi perpustakaan umumnya membedakan
pengertian perpustakaan sebagai gedung atau akomodasi fisik tempat menyimpan
buku yang berbeda dengan pengertian perpustakaan sebagai akumulasi bahan
pustaka dalam arti luas.
2.10.2 Tujuan Perpustakaan Perguruan Tinggi
Tujuan umum Perpustakaan Perguruan Tinggi yaitu :
1. Memenuhi keperluan informasi masyarakat perguruan tinggi, lazimnya staf
pengajar dan mahasiswa. Sering pula mencakup tenaga administrasi
perguruan tinggi.
2. Menyediakan bahan pustaka rujukan (referensi) pada semua tingkat program
pasca sarjana dan pengajar.
3. Menyediakan ruangan belajar untuk pemakai perpustakaan.
4. Menyediakan jasa peminjaman yang tepat guna bagi berbagai jenis pemakai.
5. Menyediakan jasa informasi aktif yang tidak saja terbatas pada lingkungan
perguruan tinggi tetapi juga lembaga industri lokal.
2.11 Kuesioner
Kuesioner merupakan metode pengumpulan data dengan mengajukan
sekumpulan pertanyaan untuk dijawab oleh responden, biasanya responden
30
menjawab pertanyaan-pertanyaan yang telah ditentukan secara jelas. (Hague, 1993,
1).
Teknik kuesioner ini dipergunakan dalam kondisi:
1. Respondennya banyak.
2. Materi yang sama ditanyakan kepada responden.
3. Memudahkan untuk penilaian terhadap respon atau jawaban dari responden.
2.11.1 Macam-macam bentuk kuesioner :
1. Open Ended Questions
• Pertanyaan yang diajukan diberi tempat untuk dijawab oleh responden
secara bebas tetapi singkat.
• Contoh :
Apa langkah yang harus diambil pemerintah agar negara Indonesia
dapat selangkah lebih maju seperti negara ASEAN lainnya?
-----------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------
2. Fill-in the Blank Questions
• Pertanyaan yang diajukan pada fakta yang spesifik, terbatas atau tertentu
berdasar fakta tapi responden bebas menjawab.
• Contoh :
Siapa atasan saudara?
------------------------------------------------------------------------------------
3. Multiple Choice
• Responden dapat memilih pada suatu pilihan yang spesifik. Pilihan
31
sebaiknya terbatas.
• Contoh : Siapakah presiden Indonesia saat ini ?
a. Habibie
b. Megawati
c. Soekarno
d. Susilo Bambang Yudhoyono
e. Soeharto
4. Rating Scales
• Responden memilih pada skala jawaban yang tersedia. Pada setiap
jawaban atau pilihan yang tersedia diberikan angka nyata atau bobot,
biasanya skala 5 sampai 7, yaitu untuk menguji seberapa kuatnya subjek
setuju atau tidak terhadap mata pertanyaan.
• Contoh:
Menurut Anda, apakah perpustakaan Universitas Bina Nusantara sudah
memberikan pelayanan yang memadai kepada mahasiswa ?
1. Tidak bagus
2. Kurang bagus
3. Cukup bagus
4. Bagus
5. Sangat bagus
2.11.2 Analisa Statistik hasil kuesioner
Untuk menganalisa terhadap hasil kuesioner dapat dilakukan dengan
beberapa cara tergantung dari bentuk atau macam kuesioner yang digunakan.
32
1. Analisa terhadap hasil kuesioner jenis open ended questions dan fill-in the
blank questions dapat dilakukan secara langsung karena jawaban responden
nyata tersurat dalam bentuk tulisan sehingga dapat disimpulkan.
2. Analisa terhadap hasil kuesioner bentuk multiple choice dilakukan dengan
membuat presentase dari jawaban responden. Pada contoh di atas, misalnya
yang memilih kegiatan membaca buku ada 10 orang, menonton 5 orang,
memancing 5 orang dan mendengarkan musik 10 orang. Jumlah responden
seluruhnya ada 30 orang. Jawaban responden ini dibuat dalam persentase.
Perhitungannya sebagai berikut:
%100xrespondem
hasil∑
Agar lebih mudah dibuat, hasil persentase ini dapat digambarkan dalam
bentuk chart atau diagram.
3. Analisa terhadap hasil kuesioner dalam bentuk rating scale dilakukan dengan
menentukan bobot masing-masing pilihan. Pada contoh di atas, angka 1
diberikan pada pilihan tidak bagus, 2 untuk kurang, 3 untuk cukup, 4 untuk
bagus dan 5 untuk sangat bagus. Setelah itu hasil jawaban responden akan
dikaitkan dengan bobot yang ada.
Perhitungannya sebagai berikut :
∑ %100xondenjumlahresp
thasilxbobo
33
2.12 Algoritma Inverted File and Extended Boolean
Menurut http://courses.cs.vt.edu/~cs4624/s97/sspace/Glossary_473.html
algoritma inverted file adalah struktur file dimana setiap kata-kata atau bagian yang
lain yang digunakan untuk menunjukkan kumpulan informasi dihubungkan dengan
catatan pointer ke lokasi dimana kata-kata tersebut terjadi. Pembalikkan (inverted)
dari dokumen berisi tentang bagian-bagian, dimana bagian yang terpenting ke
dokumen (occurrences).
Dengan menggunakan teknik Inverted File ini, kita dapat melakukan proses
pengindeksan yang memungkinkan efisiensi pencarian suatu dokumen dalam sebuah
set dokumen yang berukuran besar. Teknik ini dapat diimplementasikan dengan
menggunakan struktur data Sorted Arrays, B-Trees, PAT-Trees, Hash, dan teknik
perstrukturan data lainnya.
Dalam sistem temu kembali informasi ini, sistem menggunakan struktur data
inverted file dengan menggunakan metoda penyimpanan Sorted Array. Inverted File
adalah suatu pengindeksan kata atau istilah dalam satu set dokumen secara terurut
(Lexicographical Indeks) (Ricardo Baetza–Yates dan Berthier Riberio-Neto, 1998).
Konsep dasar dari Inverted File ini adalah membuat daftar kata atau istilah dari
sebuah dokumen yang berada dalam satu set koleksi dokumen. Daftar kata atau
istilah tersebut lalu digabungkan dan diurutkan tanpa mengubah hubungan dari kata
atau isitilah tersebut dengan dokumen asalnya. Pembuatan Inverted File dengan
Sorted Array ini, melalui dua atau tiga langkah pembuatan seperti yang tertera dalam
gambar berikut ini.
34
Gambar 2.8 : Skema pembuatan inverted file dengan menggunakan sorted array
Pertama, input berupa kata atau frase dari sebuah teks, harus diuraikan ke
dalam daftar kata, dengan mencantumkan lokasi dari kata atau istilah yang terurut
berdasarkan lokasi kata atau frase tersebut dalam dokumen (Location Order).
Setelah itu, daftar kata diurutkan berdasarkan alfabet, lalu diberikan bobot untuk
setiap kata atau frase sebelum akhirnya disimpan sebagai file indeks.
Bobot kata dihitung dengan melihat frekuensi pemunculan kata dalam
dokumen dimana kata tersebut berada dan bobot ini digunakan untuk proses
pemberian peringkat. Bobot kata dibentuk bersamaan dengan proses pembuatan
indeks. Rumus untuk menentukan bobot kata dapat dijabarkan sebagai :
enDalamDokumjumlahKataIjumlahKata
WeightTermj
j
ij=
dimana
i = kata / istilah masukan
j = dokumen yang sedang diproses
35
Karena proses memberi bobot ini berdasarkan urutan lokasi dari kata tersebut
dalam dokumen, maka proses memberi bobot ini dilakukan sebelum file indeks di
urutkan berdasarkan alphabet kata. Oleh karena itu, Langkah-langkah proses
pembuatan inverted file pada aplikasi ini menjadi :
1. Membaca semua term (kata) yang ada pada sebuah skripsi..
2. Mencari bobot untuk setiap kata yang ada pada skripsi tersebut, setelah
itu ditulis ke dalam sebuah file dengan format “kata#no.dokumen#bobot”
no.dokumen berisi nomor urut skripsi yang terdaftar dalam file daftar
koleksi skripsi.
3. Ulangi kedua proses diatas untuk semua koleksi skripsi yang ada.
4. Setelah semua koleksi skripsi dibaca dan dicari bobotnya, maka file yang
berisi kata-kata tersebut diurutkan (sort) secara alfabetis (Lexicographical
Indeks).
Selain itu, kami juga menambahkan offset dari setiap huruf a–z dan angka
0-9. Hal ini dimaksudkan untuk lebih mengoptimalkan waktu pencarian, karena
dengan adanya offset ini maka kita dapat mempersempit ruang pencarian.
Proses memberikan peringkat pada dokumen ini tidak lepas dari
penerjemahan kueri yang dimasukkan oleh user sampai menghitung korelasi
pencarian sesuai dengan keinginan user. Proses ini dilakukan dengan memberikan
peringkat terlebih dahulu sebelum pada akhirnya dokumen-dokumen hasil pencarian
disajikan kepada user.
Kueri adalah sebuah kata atau kalimat yang diberikan oleh user kepada
sistem untuk kemudian diintrepretasikan menjadi kata kunci untuk dijadikan
referensi sistem demi mencari dokumen-dokumen dalam text database.
36
Kueri pada sistem temu kembali informasi berbeda dengan kueri pada sistem
temu kembali data yang terdapat pada basis data biasa. Kueri pada sistem temu
kembali informasi hanya berupa kata atau kalimat biasa seperti kalimat “Sistem
Temu Kembali”. Bukan sebuah kalimat terstruktur seperti pada Structured Query
Language (SQL.)
Boolean kueri adalah model temu kembali dasar yang berdasarkan pada teori
set dan aljabar Boolean(Ricardo Baetza–Yates dan Berthier Riberio-Neto, 1998).
Pada awal pengembangan sistem temu kembali informasi, model Boolean ini
dipergunakan oleh hampir semua aplikasi sistem temu kembali informasi. Model
Boolean ini dapat mencari informasi dalam text database dengan menggunakan
operasi AND, OR dan NOT.
Namun, kueri dengan model Boolean mempunyai banyak kekurangan antara
lain, strategi temu kembali dengan model Boolean hanya berdasarkan kriteria biner
(hasil pencarian hanya bisa diinterpretasikan sebagai relevan dan bukan relevan),
tanpa ada bilangan untuk membuat skala peringkat. Hal ini menghalangi sistem temu
kembali informasi untuk mendapatkan performa yang baik, karena model Boolean
hanya dapat mengintrepretasikan set hasil dari kueri yang diberikan oleh user ada
atau tidak dalam indeks maupun text database. Oleh karena itu, model Boolean ini
mulai ditinggalkan dan pengembang sistem temu kembali informasi mulai mencari
alternatif yang lebih baik dari model Boolean.
Algoritma Extended Boolean pada dasarnya merupakan metoda
pengembangan model vektor. Model vektor dapat juga digunakan untuk kueri.
Model vektor memberikan nilai kepada kata-kata atau frase-frase yang terdapat
dalam file indeks dimana kata tersebut mempunyai asosiasi dengan kata yang ada
37
dalam user kueri (Ricardo Baetza–Yates dan Berthier Riberio-Neto, 1998). Nilai ini
disebut sebagai bobot dari kata-kata atau frase-frase yang terdapat dalam dokumen.
Bobot ini kemudian digunakan untuk membuat derajat kemiripan antara tiap
dokumen yang disimpan dalam text database dan kueri yang diberikan oleh user.
Dengan mengurutkan dokumen yang didapat dari nilai kemiripan besar ke kecil,
model vektor mendapatkan hasil yang lebih tepat dibandingkan dengan model
Boolean.
Model vektor pada pengembangan ada dua metoda yaitu metoda Fuzzy Logic
dan metoda Extended Boolean. Sitem temu kembali informasi yang dikembangkan
ini menggunakan metoda Extended Boolean untuk mendapatkan hasil pencarian
dengan menggunakan model vektor dari dokumen. Dengan menggunakan algoritma
Extended Boolean maka diharapkan informasi yang dihasilkan lebih akurat, karena
dengan menggunakan algoritma Extended Boolean informasi yang dihasilkan sudah
diurutkan berdasarkan derajat kemiripan dengan kata yang ada pada user kueri.
Kata masukan untuk set kueri pada sistem temu kembali informasi yang
dibangun tidak terbatas, dikarenakan user mungkin ingin mencari dengan kalimat
yang mempunyai kata lebih dari satu atau dua, karena itu menurut Salton(1983),
bentuk rumus peringkat dapat disesuaikan menjadi model p-norm, yaitu :
Untuk Kueri AND
p
pm
pp
pmm
pp
qqqxqxqxq
dQandSim
1
...)1(...)1()1(
1),(21
2211⎟⎟⎠
⎞⎜⎜⎝
⎛
+++
−++−+−−=
Untuk Kueri OR
38
p
pm
pp
pmm
pp
qqqxqxqxq
dQorSim
1
......
),(21
2211⎟⎟⎠
⎞⎜⎜⎝
⎛
+++
+++=
dimana :
x1…xm = bobot dari term masukan sebanyak m
p = nilai dari jumlah dimensi vektor
q = besar dari kueri kata pencarian (kata kunci)
Jika struktur kueri tersebut dijabarkan dengan pendekatan 2 (dua) kata kueri,
dapat dijabarkan bahwa rumus Sim(Qand, d) dan Sim(Qor,d) mempunyai pendekatan
dengan bentuk 2 (dua) norm.
Jika kueri tersebut adalah AND kueri dan dengan asumsi nilai q1, q2 …, qn =
1 nilai kemiripan dari dokumen dapat dirumuskan (Ricardo Baetza–Yates dan
Berthier Riberio-Neto, 1998) :
2)1()1(1),(
22 yxdQandSim −+−−=
dimana:
x = bobot dari term masukan x
y = bobot dari term masukan y
Jika kueri tersebut adalah OR kueri dan dengan asumsi nilai q1, q2 …, qn = 1
nilai kemiripan dari dokumen dapat dirumuskan (Ricardo Baetza–Yates dan Berthier
Riberio-Neto, 1998) :
2),(
22 yxdQorSim +=
dimana :
39
x = bobot dari term masukan x
y = bobot dari term masukan y
Sebagai contoh, ditemukan sebuah dokumen melalui kata pencari “A”, “B”.
Dokumen tersebut ditemukan melalui proses pencarian menggunakan hubungan
AND. Pencarian tersebut dapat diasosiasikan menjadi “A” and “B”. Bobot dari kata
“A” dan “B” masing-masing diasumsikan 0,012 dan 0,0023. Maka perhitungan
peringkat dari dokumen tersebut adalah :
2911,0),(7089,01),(
502504645,01),(2
00500929,11),(
299545029,0009604,01),(
2)9977,0()098,0(1),(
2)0023,01()012,01(1),(
22
22
=−=−=
−=
+−=
+−=
−+−−=
dQandSimdQandSimdQandSim
dQandSim
dQandSim
dQandSim
dQandSim
Nilai peringkat tersebut dikalikan 100 (seratus) untuk mendapatkan
presentase kemiripan dokumen dengan yang user cari, hasil perkalian tersebut
mendapatkan presentase kemiripan sebesar 29,11 %.
Bila pencarian dilakukan dengan menggunakan hubungan OR dan dengan
menggunakan kata dan bobot yang sama dengan proses pencarian AND diatas,
didapat perhitungan
40
0265,0),(00070265,0),(
200140529,0),(
200000529,00014,0),(
20023,0012,0),(
2),(
22
22
==
=
+=
+=
+=
dQorSimdQorSim
dQorSim
dQorSim
dQorSim
yxdQorSim
.
Nilai peringkat tersebut dikalikan 100 (seratus) untuk mendapatkan
presentase kemiripan dokumen dengan yang user cari, hasil perkalian tersebut
mendapatkan presentase kemiripan sebesar 2,65 %.
Peringkat yang dihitung oleh sistem merupakan nilai yang mendekati
kebenaran (dalam model Boolean nilai benar = 1 dan tidak benar = 0) sehingga nilai
peringkat tersebut dapat dimodelkan sebagai 0<Sim(Qor,d)<1 dan
0<Sim(Qand,d)<1.
Tapi untuk sistem ini kami melakukan sebuah modifikasi dalam hal
pencarian. Bila kita menggunakan algoritma Extended Boolean standar maka untuk
pencarian dengan kueri AND dapat menampilkan hasil / dokumen yang tidak
memiliki semua kata yang ada pada kata yang ingin dicari user. Namun, untuk
sistem ini kami melakukan modifikasi untuk hal tersebut. Sehingga, untuk kueri
AND, dokumen yang ditampilkan harus memiliki semua kata yang ada dalam user
kueri.
41
Untuk membedakan apakah user kueri merupakan kueri AND atau kueri OR
ataupun kombinasi dari keduanya. Maka, kami menambahkan sebuah intelegensia
semu (AI) kedalam sistem kami yang dapat melakukan hal itu. Melalui hal ini, kami
harapkan sistem ini dapat memberikan kemudahan bagi user dalam mencari
informasi yang mereka inginkan.