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,
6
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 :
2.4.3
•
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)
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 aplikasiaplikasi tanpa menulis baris-baris kode yang panjang dan dapat menggunakan classclass 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, masalahmasalah 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: hasil
∑ respondem x100% 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 : hasilxbobot
∑ jumlahresponden x100%
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 :
WeightTerm
ij
=
jumlahKata I jumlahKataDalamDokumen
dimana i = kata / istilah masukan j = dokumen yang sedang diproses
j
j
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 ⎛ q (1 − x1 ) p + q 2 (1 − x 2 ) p + ... + q m (1 − x m ) p Sim(Qand , d ) = 1 − ⎜⎜ 1 p p p q1 + q 2 + ... + q m ⎝
Untuk Kueri OR
1
⎞p ⎟ ⎟ ⎠
38 ⎛ q1 x1 p + q 2 x 2 p + ... + q m x m p Sim(Qor , d ) = ⎜⎜ p p p q1 + q 2 + ... + q m ⎝
1
⎞p ⎟ ⎟ ⎠
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) : Sim(Qand , d ) = 1 −
(1 − x) 2 + (1 − y ) 2 2
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) : Sim(Qor , d ) = dimana :
x2 + y2 2
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 : Sim(Qand , d ) = 1 −
(1 − 0,012) 2 + (1 − 0,0023) 2 2
(0,098) 2 + (0,9977) 2 Sim(Qand , d ) = 1 − 2 Sim(Qand , d ) = 1 −
0,009604 + 0,99545029 2
Sim(Qand , d ) = 1 −
1,00500929 2
Sim(Qand , d ) = 1 − 0,502504645 Sim(Qand , d ) = 1 − 0,7089 Sim(Qand , d ) = 0,2911
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
Sim(Qor , d ) =
x2 + y2 2
Sim(Qor , d ) =
0,012 2 + 0,0023 2 2
Sim(Qor , d ) =
0,0014 + 0,00000529 2
Sim(Qor , d ) =
0,00140529 2
Sim(Qor , d ) = 0,00070265 Sim(Qor , d ) = 0,0265 . 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.