BAB II TINJAUAN PUSTAKA 2.1 Sistem Informasi Sistem informasi adalah suatu sistem di dalam suatu organisasi yang mempertemukan kebutuhan pengolahan transaksi harian yang mendukung fungsi organisasi yang bersifat manajerial dalam kegiatan strategi dari suatu organisasi untuk dapat menyediakan kepada pihak luar tertentu dengan laporan – laporan yang diperlukan. (Tata Sutabri, 2005). Secara umum Sistem informasi dapat didefinisikan sebagai suatu sistem di dalam suatu organisasi yang merupakan kombinasi dari hardware, software, brainware, data/informasi, prosedur dan komunikasi. Pada sistem informasi terdapat beberapa komponen yang biasa disebut dengan building block yang dimana seluruh komponen tersebut saling berinteraksi satu dengan yang lainnya sehingga dapat membentuk suatu kesatuan untuk mencapai sasaran. Komponen-komponen tersebut terdiri dari: 1. Komponen Input Komponen ini merupakan suatu metode dan media untuk menangkap data yang akan dimasukan yang dapat berupa dokumen-dokumen dasar. 2. Komponen Model Komponen ini terdiri dari kombinasi prosedur, logika dan model matematik yang berfungsi untuk memanipulasi data input yang tersimpan di basis data. 3. Komponen Output Komponen ini memberikan hasil dari sistem informasi yang berupa suatu informasi atau dokumentasi yang berguna untuk seluruh pengguna sistem. 4. Komponen Teknologi 10 11 5. Komponen ini digunakan untuk menerima input, menjalankan model, menyimpas dan mngakses data menghasilkan dan mngirimkan keluaran dan membantu pengendalian sistem. 6. Komponen Hardware Komponen ini berfungsi untuk menjadi media penyimpanan vital bagi sistem informasi atau sebagai sumber data untuk memperlancar dan mempermudah kerja dari sistem informasi. 7. Komponen Software Komponen ini berfungsi untuk tempat mengolah, menghitung dan memanipulasi data yang sebelumnya telah diambil dari hardware. 8. Komponen Basis data (database) Komponen ini merupakan kumpulan data yang terkait antara satu dengan yang lainnya yang disimpan dalam suatu perangkat keras. Data yang disimpan dalam database biasanya merupakan data yang diperlukan untuk penyediaan informasi yang lebih lanjut. 9. Komponen Kontrol Komponen ini digunakan untuk mencegah terjadinya kerusakan sistem, kegagalan sistem, sabotase dan yang lainnya. beberapa pengendalian perlu diterapkan untuk dapat meyakinkan bahwa halhal yang dapat merusak sistem dapat diatasi apabila sudah terlanjur terjadi kesalahan. 2.2 Klasifikasi Klasifikasi merupakan suatu proses untuk mentukan model atau fungsi yang menjelaskan atau membedakan konsep atau kelas data dengan tujuan untuk dapat memperkirakan kelas dari suatu objek yang labelnya tidak diketahui. Dalam mencapai tujuan tersebut,proses klasifikasi membentuk suatu model yang mampumembedakan data kedalam kelas-kelas yang berbeda berdasarkanaturan atau fungsi tertentu. Umumnya, proses klasifikasi dilakukan dengan memberikan beberapa data training set yang kemudian dibuatkan suatu model atau aturan untuk mengklasifikasikan data. Tujuan dari klasifikasi ini adalah untuk dapat menganalisa training data sehingga dapat membentuk sebuah deskripsi yang 12 akurat atau sebauh model pada setiap kelas berdasarkan feature-feature yang disediakan di dalam data tersebut. 2.3 Text Mining Text mining merupakan salah satu bidang khusus pada data mining. Text mining dapat didefinisikan sebagai suatu proses penggalian informasi yang dimana seseorang dapat berinteraksi dengan sekumpulan dokumen menggunakan tools analisis yang merupakan komponen-komponen dalam data mining yang salah satunya adalah kategorisasi. Tujuan dari text miningadalah untuk mendapatkan informasi yang berguna dari sekumpulan dokumen.Adapun tugas khusus dari text mining antara lain yaitu pengkategorisasian teks (text categorization) dan pengelompokan teks (text clustering). Text mining bisa dianggap dapat memberikan solusi dari permasalan seperti pemrosesan, pengorganisasian dan menganalisa text yang tidak terstruktur dalam jumlah yang tergolong besar. Dalam memberikan solusi, text mining mengadopsi dan mengembangkan banyak teknik dari bidang lain, seperti Data mining, Information Retrieval, Statistik dan Matematik, Machine Learning, Linguistic, Natural Languange Processing, dan Visualization. Kegiatan riset untuk text mining antara lain ekstraksi dan penyimpanan text, preprocessing akan konten text, pengumpulan data statistik dan indexing dan analisa konten. 2.3.1 Ekstraksi Dokumen Ekstraksi Dokumen merupkan teks dalam dokumen yang akan dilakukan proses text mining.Pada umumnya memiliki beberapa karakteristik diantaranya adalah memiliki dimensi yang tinggi, terdapat noise pada data, dan terdapat struktur teks yang tidak baik. Cara yang digunakan dalam mempelajari suatu data teks, adalah dengan terlebih dahulu menentukan fitur-fitur yang mewakili setiap kata untuk setiap fitur yang ada pada dokumen. Sebelum menentukan fitur – fitur yang mewakili, diperlukan tahap pre processing yang dilakukan secara umum dalam text mining pada dokumen, yaitu case folding, tokenizing, filtering,dan stemming. 13 Gambar 2.1Perancangan Text Minning 1. Case folding dan Tokenizing Case folding dan Tokenizingmerupakan tahap awal dari proses text mining yang dimana untuk tahap Case folding adalah tahapan untuk merubah semua huruf dalam dokumen menjadi huruf kecil. Huruf-huruf yang dapat diterima hanya huruf „a‟ sampai dengan „z‟.Karakter selain huruf dihilangkan atau dihapus dan dianggap sebagai delimiter.Delimiter adalah karakter yang digunakan untuk memecah teks menjadi kumpulan token.Tokenizingmerupakan tugas memotong atau memisahkansuatu deretan kata dalam kalimat, paragraf atau halamn menjadi beberapa bagiantoken, yang mungkin pada saat yang sama membuang karakter tertentu, seperti tanda baca. Berikut adalah contoh dari tokenizing dan case folding: Gambar 2.2Tokenizing dan Case Folding 14 2. Filtering atau Stop-word Tahap filtering adalah tahap mengambil kata - kata penting dari hasil token.Bisa menggunakan algoritma stoplist dimana kata yang dianggap kurang penting akan dibuang atau wordlist dimana kata yang dianggap penting akan disimpan. Stop-list / stop-word adalah kata-kata yang tidak deskriptif yang dapat dibuang dalam pendekatan bag-ofwords.Stop-word didefinisikan sebagai term yang tidak memiliki hubungan (irrelevant) dengan subyek utama dari database meskipun kata tersebut sering kali hadir di dalam dokumen.Penghapusan stopword dari dalam suatu koleksi dokumen pada satu waktu terkadang membutuhkan banyak waktu. Solusinya adalah dengan menyusun suatu pustakastop-word atau stop-list dari term yang akan dihapus. Strategi umum penentuanstop-list adalah mengurutkan term berdasarkan frekuensi koleksi dan memasukkan term yangpaling sering muncul sebagai stop-word.Contoh stopwordsadalah “yang”, “dan”, “di”, “dari” , “itu”, “ke” dan seterusnya. Contoh dari tahapan ini adalah sebagai berikut: Gambar 2.3Filtering dan Stopword 3. Stemming Tahap stemmingadalah tahap mencari root kata dari tiap kata hasil filtering.Karena itu, setiap kata yang bukan stop-words direduksi kebentuk stemmed word (term) yang cocok.Proses stemming dilakukan dengan menghilangkan semua imbuhan baik yang terdiri dari awalan 15 (prefix), akhiran (surfix), sisipan (infix), bentuk perulangan dan kombinasi antara awalan dan akhiran (confix). Pada tahap ini dilakukan proses pengembalian berbagai bentukan kata ke dalam suatu representasi yang sama. Tahap ini lebih sering digunakan untuk teks berbahasa inggris dan lebih sulit diterapkan pada teks berbahasa Indonesia. Hal ini dikarenakan bahasa Indonesia tidak memiliki rumus bentuk baku yang permanen. Contoh dari tahapan ini pada teks adalah sebagai berikut: Gambar 2.4Stemming 2.4 Naive Bayes Naive bayes adalah suatu algoritma pengklasifikasian dengan metode probabilitas dan statistik yang dikemukakan oleh ilmuan inggris Thomas Bayes, yang dimana prediksi dimasa depan yang didasari oleh pengalaman dimasa sebelumnya sehingga dikenal dengan Teorema bayes. Kemudian teorema tersebut dikombinasikan dengan naive yang mengasumsikan kondisi antar atribut yang saling bebas. Salah satu kelebihan dari metode naive bayes adalah metode ini hanya memerlukan sejumlah kecil data pelatihan untuk dapat mengestimasi parameter yang diperlukan untuk klasifikasi. Persamaan dari teorema bayes adalah: P(H│X) = 𝑃 𝑋 𝐻 .𝑃(𝐻) 𝑃(𝑋) ..................................(4) Keterangan: X : Data dengan class yang belum diketahui H : Hipotesis data X merupakan suatu class spesifik 16 P(H│X) : Probabilitas hipotesis H berdasarkan kondisi X P(H) : Probabilitas hipotesis H P(X │H) : Probabilitas X berdasarkan kondisi pada hipotesis H P(X) : Probabilitas X Perlu diketahui bahwa proses klasifikasi memerlukan sejumlah petunjuk untuk menentukan kelas apa yang sesuia, maka dari itu, toerema bayes tersebut disesuaikan seperti berikut: p(C|F1,…,Fn) = 𝑝(𝐶)𝑝(𝐹1,…,𝐹𝑛 |𝐶) 𝑝(𝐹1,…,𝐹𝑛 ) ..............................(5) 2.5 MySQL SQL ( Structured Query Language ) adalah bahasa stndart yang digunakan untuk mengakses server database . Semenjak tahun 70-an bahasa ini telah dikembangkan oleh IBM, yang kemudian diikuti dengan adanya Oracle, Informix dan Sybase. Dengan menggunakan SQL, proses akses database menjadi lebih user-friendly dibandingkan dengan misalnya dBase ataupun Clipper yang masih menggunakan perintah – perintah pemrograman murni. Penggunaan SQL pada DBMS ( Database Management System ) sudah cukup luas. SQL dapat dipakai oleh berbagai kalangan, misalnya DBA ( Database Administrator ), progammer ataupun pengguna. Hal ini disebabkan karena : 1. SQL sebagai bahasa administrasi database Dalam hal ini SQL dipakai oleh DBA untuk menciptakan serta mengendalikan pengaksesan database. 2. SQL sebagai bahasa query interaktif Pengguna dapat memberikan perintah-perintah untuk mengakses database yang sesuai dengan kebutuhannya. 3. SQL sebagai bahasa pemrograman database Pemrogram dapat menggunakan perintah-perintah SQL dalam program aplikasi yang dibuat. 4. SQL sebagai bahasa client / server SQL juga dipakai sebagai untuk mengimplementasikan sistem client / server. Sebuah client dapat menjalankan suatu aplikasi yang mengakses 17 database. Dalam hal ini sistem operasi antara server dan client bisa berbeda. Di samping hal tersebut di atas SQL juga diterapkan pada internet atau intranet untuk mengakses database melalui halaman-halaman web untuk mendukung konsep web dinamis. Keunggulan MySQL Ada beberapa alasan mengapa MySQL menjadi program database yang sangat populer dan digunakan oleh banyak orang. Alasan-alasan tersebut diantaranya adalah sebagai berikut : 1. Bekerja pada berbagai platform (tersedia berbagai versi untuk berbagai sistem operasi). 2. Pengaksesan database dapat dilakukan dengan mudah. 3. Memiliki jenis kolom yang cukup banyak sehingga memudahkan konfigurasi sistem database. 4. Mendukung record yang memiliki kolom dengan panjang tetap atau panjang bervariasi. 5. MySQL dan PHP saling terintegrasi, maksudnya adalah pembuatan database dengan menggunakan sintak PHP dapat dibuat. Sedangkan input yang dimasukkan melalui aplikasi web yang menggunakan script server side seperti PHP dapat langsung dimasukkan ke database MySQL yang ada di server dan tentunya web tersebut berada di sebuah web server. Sistem database MySQL memiliki sistem sekuritas dengan tiga verifikasi yaitu user(name), password dan host. Verifikasi host memungkinkan untuk membuka sekuriti di 'localhost', tetapi tertutup bagi host lain (bekerja di lokal komputer). Sistem sekuriti ini ada di dalam database mysql dan pada tabel user. Proteksi juga dapat dilakukan terhadap database, tabel, hingga kolom secara terpisah. 2.6 PHP PHP adalah kependekan dari PHP Hypertext Preprocessor, bahasa interpreter yang mempunyai kemiripan dengan bahasa C dan Perl yang 18 mempunyai kesederhanaan dalam perintah, yang digunakan untuk pembuatan aplikasi web. (Sidik, 2004, h:3) PHP/FI merupakan nama awal dari PHP (Personal Home Page/Form Interface). Dibuat pertama kali oleh Rasmus Lerdoff tahun 1994. PHP awalnya merupakan program CGI yang dikhususkan untuk menerima input melalui form yang ditampilkan dalam browser web. Kemudian dikembangkan oleh orang lain dan setelah memulai tiga kali karya penulisan, akhirnya PHP menjadi bahasa pemrograman web. PHP adalah sebuah produk yang berbentuk open source, sehingga source code dari PHP dapat digunakan, diganti, diedit tanpa harus dikenakan biaya. Dengan menggunakan PHP maka maintenance suatu situs web menjadi lebih mudah. Proses update dapat dilakukan dengan menggunakan aplikasi yang dibuat dengan menggunakan script PHP. Kelebihan PHP sebagai bahasa server side adalah: 1. Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaannya. 2. Web server yang mendukung PHP dapat ditemukan dimana-mana dari mulai IIS sampai dengan Aphace, dengan konfigurasi yang relatif mudah. 3. Dapat digunakan diberbagai mesin (Linux, Unix, Windows) dan dapat dijalankan secara runtime melalui console serta juga dapat menjalankan perintah-perintah sistem. Adapun kelemahan PHP adalah: 1. Tidak ideal untuk pengembangan skala besar. 2. Tidak bisa memisahkan antara tampilan dengan logik dengan baik (walaupun pengguna template dapat memperbaikinya). 3. PHP memiliki kelemahan security tertentu apabila programmer tidak jeli dalam melakukan pemrograman dan kurang memperhatikan isu dan konfigurasi PHP Tag PHP Penulisan program PHP dapat menggunakan dengan berbagai tag. Semua itu mempengaruhi hasil program yang akan di buat. Tag – tag yang 19 dapat dipergunakan adalah dalam bentuk atau style XML, ASP dan Java Script. a. Style Standar Style standar PHP mirip dengan penulisan program XML, yakni di awali dengan <?php dan diakhiri dengan ?>. <?php echo“ini adalah style PHP”; ?> b. Short Style Style ini cukup praktis di banding style sebelumnya. Namun untuk menggunakan style ini, terlebih dahulu memastikan bahwa tag ini telah diaktifkan, dengan memastikan baris berikut pada file php : short_open_tag = On ; allow the <? Tag. ;otherwise, Only <?php and < Script> tags are recognized. Atau dapat juga memberikan nilai demikian : short_open_tag = True short_open_tag = Yes contoh penulisan pada program sebagai berikut : <? echo “ini adalah Short style”; ?> c. Style JavaScript <SCRIPT LANGUAGE=’PHP’> echo “ini adalah Style Java Script”; </SCRIPT> d. Style ASP Sebelum membuat program dengan style ASP, terlebih dahulu mengaktifkan asp_tags pada file php, dengan cara memberikan nilai On pada baris berikut: asp_tags = On ; allow ASP-style <% %> tags contoh penulisan pada program sebagai berikut : <% echo“ini adalah style ASP”; %> 2.7 Model Pengembangan Waterfall Model waterfallmerupakan suatu representasi yang disederhanakan dari proses perangkat lunak yang dimana pada setiap model proses merupakan suatu 20 proses dari perspektif tertentu sehingga nantinya hanya akan menyediakan informasi parsial mengenai proses tersebut. Model ini adalahmodelsekuensial, sehinggapenyelesaiansatu setkegiatandapat menyebabkandimulainya aktivitas berikutnya sehingga dapat disebut denganwaterfallkarena prosesmengalir"secara sistematisdarisatutahap ke tahap lainnyadalam modeke bawah". Pada dasarnya, model waterfall adalah suatu contoh dari plan-driven processes yang dimana dalam pembuatannya terlebih dahulu harus melakukan perencanaa serta penjadwalan untuk seluruh kegiatan proses. Secara umum,model inidianggapmemilikienamtahap yang berbeda.Model proses perangkat lunak merupakan deskripsi sederhana dari proses perangkat lunak yang menyajikan suatu pandangan dari proses tersebut(Sommerville, 2011).Model proses mencakup kegiatan yang merupakan bagian dari proses perangkat lunak, produk perangkat lunak, dan peran orang yang terlibat dalam rekayasa perangkat lunak. Berikut tahapan yang ada dalam waterfall adalah (Sommerville, 2011): Gambar 2.5 Ilustrasi Model Waterfall Berikut merupakan tahapan-tahapan dalam model proses SDLC: 1. Requirements analysis and definition Merupakan tahapan penetapan fitur dimana kendala dan tujuan system ini dilakukan melalui konsultasi dengan pengguna sistem. Semua hal 22 tersebut akan ditetapkan secara rinci dan memiliki fungsi sebagai spesifikasi sistem. 2. System and software design Dalam tahapan ini sistem akan mengalokasikan persyaratan yang ada secara perangkat lunak ataupun perangkat keras dengan membentuk suatu arsitektur sistem secara keseluruhan dengan melibatkan identifikasi dan gambaran abstraksi secara mendasar serta hubungannya. 3. Implementation and unit testing Dalam tahapan ini, desain perangkat lunak akan direalisasikan agar dapat menjadi serangkaian program atau unit dari program tersebut dan juga melakukan pengujian yang melibatkan verifikasi untuk dapat mengetahui bahwa setiap unit dapat memenuhi spesifikasinya. 4. Integration and system testing Dalam tahapan ini, pengujian yang dilakukan disetiap unit program untuk memastikan bahwa persyaratan perangkat lunak telah dipenuhi sehingga, setelah pengujian teersebut dilakukan, sistem perangkat lunak tersebut dapat disampaikan keapada pengguna. 5. Operation and maintenance Dalam tahapan ini, sistem yang telah dibuat kemudian diinstal dan mulai digunakan.Selain itu juga dilakukan pemeliharaan untuk dapat memperbaiki error yang tidak ditemukan pada tahap-tahap awal pembuatan.Dalam tahap ini juga dilakukan pengembangan sistem seperti penambahan fitur dan fungsi baru. 2.5 Tinjauan Studi Ada beberapa penelitian terkait yang pernah dilakukan mengenai klasifikasi dengan menggunakan Naive Bayes, antara lain yaitu: a) Klasifikasi Dokumen Teks Berbahasa Indonesia Dengan Menggunakan Naive Bayes ( Joko Samodra, Surya Sumpeno, Mochamad Hariadi, 2009) Penelitian ini dilakukan untuk dapat mengelola informasi dari kumpulan dokumen teks yang jumlahnya tergolong besar. Dengan menggunakan metode 22 klasifikasi teks, kumpulan dokumen yang jumlahnya tergolong besar tersebut dapat diorganisir sedemikian rupa sehingga dapat mempermudah dam mempercepat pencarian informasi yang dibutuhkan. Penelitian ini dutujukan untuk mengklasifikasikan dokumen teks berbahasa indonesia dengan metode Naive Bayes. Uji coba dilakukan dengan menggunakan sampel dokumen teks yang diambil dari sebuah media massa elektronik berbasis web. Hasil eksperimen menunjukan bahwa metode Naive Bayes dapat digunakan secara efektif untuk mengklasifikasikan dokumen teks berbahasa Indonesia. Hal ini terlihat dari hasil eksperimen yaitu dengan porsi dokumen training yang kecil (20%) nilai akurasinya dapat mencapai 83,57% dan terus meningkat hingga 87,63% sesuai dengan peningkatan porsi dokumen training. Selain itu, dari hasil eksperimen juga dapat dilihat bahwa penghilang kata-kata yang tidak penting (stop words) ternyata tidak memiliki pengaruh yang besar terhadap hasil klasifikasi yang dilakukan oleh Naive Bayes. b) Klasifikasi Teks Dengan Naive Bayes Classifier Untuk Pengelompokan Teks Berita Dan Abtract Akademis ( Amir Hamzah, 2012) Pada penelitian ini telah dilakukan analisis perkembangan informasi dalam bentuk teks digital. Saat ini diperkirakan 80% teks digital dalam bentuk tidak terstruktur. Tingginya volume dokumen teks ini dipicu oleh aktivitas dari berbagai sumber berita dan aktivitas akademis dari kegiatan riset, konferensi dan pertemuan ilmiah yang makin meningkat. Kebutuhan analisis text mining sangat diperlukan dalam menangani teks yang tidak terstruktur tersebut. Salah satu kegiatan penting dalam text mining adalah klasifikasi atau kategorisasi teks. Kategorisasi teks sendiri saat ini memiliki berbagai cara pendekatan antara lain pendekatan probabilistic, support vector machine , dan artificial neural network, atau decision tree classification. Metode probabilistic Naïve Bayes Classifier (NBC) memilikibeberapa kelebihan kesederhanaan dalam komputasinya. Namun metode ini memiliki kelemahan dalam asumsiyang sulit dipenuhi, yaitu independensi feature kata. Penelitian ini mengkaji kinerja NBC untuk kategorisasi teksberita dan teks akademis. Penelitian menggunakan data 1000 dokumen berita dan 450 dokumen abstrakakademik. Hasil penelitian menunjukkan pada dokumen berita akurasi maksimal dicapai 22 91% sedangkan padadokumen akademik 82%. Seleksi kata dengan minimal muncul pada 4 atau 5 dokumen memberikan akurasi yangpaling tinggi. c) Klasifikasi Konten Berita Dengan Metode Text Mining( Bambang Kurniawan, Syahril Effendi, Opim Salim Sitompul, 2012) Banyak instansi yang bergerak dalam penyaluran informasi atau berita sudah mulai menggunakan sisitem berbasis web untuk menyampaikan berita secara up to date. Pada umumnya berita yang disampaikan dalam portal tersebut terdiri dari beberapa kategori seperti berita politik, olahraga, ekonomi dan lain sebagainya.Namun, dalam membagi berita ke dalam kategori-kategori tersebut untuk saat ini masih dilakukan secara manual.Hal ini sangat merepotkan apabila berita yang ingin diunggah berjumlah banyak.Oleh karena itu perlu adanya sistem yang bisa mengklasifikasikan berita secara otomatis.Text mining merupakan metode klasifikasi yang merupakan variasi dari data mining berusaha menemukan pola yang menarik dari besar.Sedangkan algoritma sekumpulan data tekstual yang berjumlah naïve bayes classifier merupakan lagoritma pendukung untuk melakukan klasifikasi.Dalam penelitian ini data yang digunakan berupa berita yang berasal dari beberapa media online.Berita terdiri dari 4 kategori yaitu politik, ekonomi, olahraga, entertainment.Setiap kategori tediri dari 100 berita; 90 berita digunakan untuk proses training dan 10 berita digunakan untuk proses testing. Hasil dari penelitian ini menghasilkan sistem klasifikasi berita berbasis web dengan menggunakan bahasa pemrograman PHP dan database MySQL menunjukkan bahwa berita testing bisa terklasifikasi secara otomatis seluruhnya.