BAB 1 Pendahuluan 1.1 Definisi Data Mining Data mining adalah serangkaian proses untuk menggali nilai tambah berupa informasi yang selama ini tidak diketahui secara manual dari suatu basisdata. Informasi yang dihasilkan diperoleh dengan cara mengekstraksi dan mengenali pola yang penting atau menarik dari data yang terdapat dalam basisdata.
Datamining terutama digunakan untuk mencari pengetahuan yang terdapat dalam basis data yang besar sehingga sering disebut Knowledge Discovery in Databases (KDD). Proses pencarian pengetahuan ini menggunakan berbagai teknik-teknik pembelajaran komputer (machine learning) untuk menganalisis dan mengekstraksikannya. Proses pencarian bersifat iteratif dan interaktif untuk menemukan pola atau model yang sahih, baru, bermanfaat, dan dimengerti. Dalam penerapannya dataminig memerlukan berbagai perangkat lunak analisis data untuk menemukan pola dan relasi data agar dapat digunakan untuk membuat prediksi dengan akurat.
1.2 Operasi Data Mining Data mining sesunggunghnya merupakan salah satu rangkaian dari proses pencarian pengetahuan pada database (Knowledge Discovery in Database/KDD). KDD berhubungan dengan teknik integrasi dan penemuan ilmiah, interprestasi dan visualisasi dari pola-pola sejumlah kumpulan data. KDD adalah keseluruhan proses non-trivial untuk mencari dan mengidentifikasi pola (pattern) dalam data, dimana pola yang ditemukan bersifat sah, baru, dapat bermanfaat dan dapat dimengerti. Serangkaian proses tersebut yang memiliki tahap sebagai berikut (Tan, 2004):
1. Pembersihan data dan integrasi data (cleaning and integration) Proses ini digunakan untuk membuang data yang tidak konsisten dan bersifat noise dari data yang terdapat di berbagai basisdata yang mungkin berbeda format maupun platform yang kemudian diintegrasikan dalam satu database datawarehouse.
2. Seleksi dan transformasi data (selection and transformation) Data yang terdapat dalam database datawarehouse kemudian direduksi dengan berbagai teknik. Proses reduksi diperlukan untuk mendapatkan hasil yang lebih akurat dan mengurangi waktu komputasi terutama utuk masalah dengan skala besar (large scale problem). Beberapa cara seleksi, antra lain:
Sampling, adalah seleksi subset representatif dari populasi data yang besar.
Denoising,
adalah
proses
menghilangkan
noise
dari
data
yang
akan
ditransformasikan.
Feature extraction, adalah proses membuka spesifikasi data yang signifikan dalam konteks tertentu.
Transformasi data diperlukan sebagai tahap pre-procecing, dimana data yang diolah siap untuk ditambang. Beberapa cara transformsi, antara lain (Santosa, 2007): •
•
Centering, mengurangi setiap data dengan rata-rata dari setiap atribut yang ada. Normalisation, membagi setiap data yang dicentering dengan standar deviasi dari atribut bersangkutan.
•
Scaling, mengubah data sehingga berada dalam skala tertentu.
3. Penambangan data (data mining) Data-data yang telah diseleksi dan ditransformasi ditambang dengan berbagai teknik. Proses data mining adalah proses mencari pola atau informasi menarik dalam data terpilih dengan menggunakan fungsi-fungsi tertentu. Fungsi atau algoritma dalam data mining sangat bervariasi. Pemilihan fungsi atau algoritma yang tepat sangat bergantung pada tujuan dan proses pencaraian pengetahuan secara keseluruhan.
4. Evaluasi pola dan presentasi pengetahuan Tahap ini merupakan bagian dari proses pencarian pengetahuan yang mencakup pemeriksaan apakah pola atau informasi yang ditemukan bertentangan dengan den gan fakta atau hipotesa yang ada sebelumnya. Langkah terakhir KDD adalah mempresentasikan pengetahuan dalam bentuk yang mudah dipahami oleh pengguna. pen gguna.
1.3 Gudang Data (Data Warehouse)
Pengertian Data Warehouse dapat bermacam-macam namun mempunyai inti yang sama, seperti pendapat beberapa ahli berikut ini: Menurut W.H. Inmon dan Richard D.H., data warehouse adalah koleksi data yang mempunyai sifat berorientasi subjek,terintegrasi,time-variant, dan bersifat tetap dari koleksi data dalam mendukung proses pengambilan keputusan management. Menurut Vidette Poe, data warehouse merupakan database yang bersifat analisis dan read only yang digunakan sebagai fondasi dari sistem penunjang keputusan. Menurut Paul Lane, data warehouse merupakan database relasional yang didesain lebih kepada query dan analisa dari pada proses transaksi, biasanya mengandung history data dari proses transaksi dan bisa juga data dari da ri sumber lainnya. Data warehouse memisahkan beban kerja
analisis
dari
beban
kerja
transaksi
dan
memungkinkan
organisasi
menggabung/konsolidasi data dari berbagai macam sumber. Dari definisi-definisi yang dijelaskan tadi, dapat disimpulkan data warehouse adalah database yang saling bereaksi yang dapat digunakan untuk query dan analisisis, bersifat orientasi subjek, terintegrasi, time-variant,tidak berubah yang digunakan untuk membantu para pengambil keputusan.
1.4 Permasalahan dalam Data mining Metodologi Data Mining dan masalah pada interaksi pengguna
Mining jenis pengetahuan dalam database / Mining different kinds of knowledge in databases − pengguna yang berbeda mungkin tertarik dalam berbagai jenis pengetahuan.
Oleh karena itu sangatlah penting untuk data pertambangan untuk menutupi berbagai pengetahuan penemuan tugas.
Interaktif pengetahuan data mining di berbagai tingkat abstraksi / Interactive mining of knowledge at multiple levels of abstraction − proses data mining perlu in teraktif karena
hal itu memungkinkan pengguna untuk fokus mencari pola, menyediakan dan menyempurnakan permintaan pertambangan data berdasarkan hasil yang dikembalikan.
Proses penggabungan / Incorporation of background knowledge − pengetahuan latar
belakang penemuan panduan dan untuk mengekspresikan pola ditemukan tidak hanya dalam istilah yang ringkas tetapi di beberapa tingkatan abstraksi.
Permintaan bahasa data mining dan ad hoc data mining / Data mining query languages and ad hoc data mining− Data mining Query language yang memungkinkan pengguna
untuk menggambarkan tugas-tugas di Adhoc minging, harus diintegrasikan dengan data gudang bahasa query dan dioptimalkan untuk memening data sehingga efisien dan fleksibel.
Presentasi dan visualisasi hasil hasil data minig / Presentation and visualization of data data mining results − setelah pola ditemukan perlu dinyatakan dalam bahasa tingkat tinggi, dan
presentasi visual. Pernyataan ini harus mudah di mengerti.
Penanganan data bising atau tidak lengkap / Handling noisy or incomplete data − data
cleaning metode diperlukan untuk menangani noisy dan benda-benda yang tidak lengkap sementara data mining akan keteraturan. Jika metode data cleaning tidak ada ketepatan pola ditemukan akan menjadi buruk.
Pattern evaluation -
Evaluasi pola menemukan harus menarik karena baik mereka
mewakili kebaruan pengetahuan atau kekurangan yang umum.
Masalah kinerja
Efisiensi dan skalabilitas data mining / Efficiency and scalability of data mining algorithms− algoritma untuk secara efektif mengekstrak informasi dari sejumlah besar
data dalam database, data pertambangan algoritma harus efisien dan scalable.
Paralel, didistribusikan dan inkremental mining algoritma / Parallel, distributed, and -faktor seperti ukuran besar database, distribusi incremental mining algorithms − faktor -faktor data, dan kompleksitas dari metode pertambangan data memotivasi pengembangan data paralel dan didistribusikan mining algoritma. Algoritma ini membagi data ke partisi par tisi yang diproses lebih lanjut dalam mode paralel. Kemudian hasil dari partisi digabungkan. Algoritma inkremental, update database tanpa pertambangan data lagi dari awal.
Jenis Masalah Data beragam
Handling of relational and complex types of data / Penanganan relasional dan kompleks jenis data − database dat abase dapat da pat berisi b erisi objek datayang kompleks, objek ob jek multimedia data, data
spasial, temporal data dll. Hal ini tidakmungkin untuk satu sistem untuk mining semua jenis data ini.
Mining information from heterogeneous databases and global information systems / Pertambangan informasi dari database heterogen dan informasi global sistem − data
tersedia di sumber data yang berbeda pada LAN atau WAN. Sumber data ini mungkin terstruktur, semi terstruktur atau tidak terstruktur. Oleh karena itu pengetahuan mining dari mereka menambah tantangan data mining.
1.5 Teknik Data mining
Classification Classification adalah tindakan untuk memberikan kelompok pada setiap keadaan. Setiap keadaan berisi sekelompok atribut, salah satunya adalah class attribute. Metode ini butuh untuk menemukan sebuah model yang dapat menjelaskan class attribute itu sebagai fungsi dari input attribute.
Class adalah attribute CollegePlans yang berisi dua pernyataan, Yes dan No, perhatikan ini. Sebuah Classification Model akan menggunakan atribut lain dari kasus tersebut (input attribut; yaitu kolom IQ, Gender, ParentIncome, dan ParentEncouragement) untuk dapat menentukan pola (pattern) class (Output Attribute; yaitu Kolom CollegePlans yang berisi Yes atau No). Algoritma Data Mining yang membutuhkan variabel target untuk belajar (sampai mendapatkan rule / pola yang berlaku pada data tersebut) kita standarkan dengan sebutan dengan Supervised Algorithm. Yang termasuk kepada Classification Algorithm adalah Decision Trees, Neural Network dan Naives Bayes.
Clustering Clustering
juga
disebut
sebagai
segmentation.
Metoda
ini
digunakan
untuk
mengidentifikasi kelompok alami dari sebuah kasus yang di dasarkan pada sebuah kelompok atribut, mengelompokkan data yang memiliki kemiripan atribut. Gambar ini menunjukkan kelompok data pelanggan sederhana yang berisi dua atribut, yaitu Age (Umur) dan Income (Pendapatan). Algoritma Clustering mengelompokkan kelompok data kedalam tiga segment berdasarkan kedua atribut ini.
Cluster 1 berisi populasi berusia muda dengan pendapatan rendah Cluster 2 berisi populasi berusia menengah dengan pendapatan yang lebih tinggi Cluster 3 berisi populasi berusia tua dengan pendapatan yang relatif rendah.
Clustering adalah metode data mining yang Unsupervised, karena tidak ada satu atributpun yang digunakan untuk memandu proses pembelajaran, jadi seluruh atribut input diperlakukan sama. Kebanyakan Algoritma Clustering membangun sebuah model melalui serangkaian pengulangan dan berhenti ketika model tersebut telah memusat atau berkumpul (batasan dari segmentasi ini telah stabil).
Association Association juga disebut sebagai Market Basket Analysis. Sebuah problem bisnis yang khas adalah menganalisa tabel transaksi penjualan dang mengidentifikasi produk-produk yang seringkali dibeli bersamaan oleh customer, misalnya apabila orang membeli sambal, biasanya juga dia membeli kecap. Kesamaan yang ada dari data pembelian digunakan untuk mengidentifikasi kelompok kesamaan dari produk dan kebiasaan apa yang terjadi guna kepentingan cross-selling seperti gambar dibawah ini.
Beberapa hal dapat kita baca, misalnya : Ketika orang membeli susu, dia biasanya membeli keju Ketika orang membeli pepsi atau coke, biasanya dia membeli juice Didalam istilah association, setiap item dipertimbangkan sebagai informasi. Metode association memiliki dua tujuan: Untuk mencari produk apa yang biasanya terjual bersamaan Untuk mencari tahu apa aturan yang menyebabkan kesamaan tersebut.
Regression Metode Regression mirip dengan metode Classification, yang membedakannya adalah metode regression tidak bisa mencari pola yang dijabarkan sebagai class (kelas). Metoda regression bertujuan untuk mecari pola dan menentukan sebuah nilai numerik.
Sebuah Teknik Linear Line-fitting sederhana adalah sebuah contoh dari Regression, dimana hasilnya adalah sebuah fungsi untuk menentukan hasil yang berdasarkan nilai dari input. Bentuk yang lebih canggih dari regression sudah mendukung input berupa kategori, jadi tidak hanya input berupa numerik. Teknik paling popular yang digunakan untuk regression adalah linear regression dan logistic regression. Teknik lain yang didukung oleh SQL Server Data mining adalah Regression Trees (bagian dari dari algoritma Microsoft Decission Trees) dan Neural Network. Regression digunakan untuk memecahkan banyak problem bisnis, contohnya untuk memperkirakan metode distribusi, kapasitas distribusi, musim dan untuk memperkirakan kecepatan angin berdasarkan temperatur, tekanan udara, dan kelembaban.
Forecasting Forecasting adalah metode data mining yang sangat penting. Contohnya digunakan untuk menjawab pertanyaan seperti berikut: o
Seperti apa jadinya nilai saham dari Microsoft Corporation (pada NASDAQ, disimbolkan sebagai MSFT) pada keesokan hari?
o
Sebanyak apa penjualan produk tertentu pada bulan depan?
Teknik Forecasting dapat membantu menjawab pertanyaan-pertanyaan diatas. Sebagai inputnya teknik Forecasting akan mengambil sederetan angka yang menunjukkan nilai yang berjalan seiring waktu dan kemudian Teknik Forecasting ini akan menghubungkan nilai masa depan dengan menggunakan bermacam-macam teknik machine-learning dan teknik statistik yang berhubungan dengan musim, trend, dan noise pada data.
Gambar diatas menunjukkan dua kurva, garis yang tegas adalah time-series data sebenarnya dari nilai saham Microsoft, dan garis putus-putus adalah time series model yang memprediksi nilai saham berdasarkan nilai saham pada masa lalu.
Sequence Analysis Sequence Anlysis digunakan untuk mencari pola pada serangkaian kejadian yang disebut dengan Sequence. Sebagai contoh sebuah DNA terdiri dari rangaian bagian: A, G, C, dan
T. dan rangkaian klik pada sebuah website berisi rentetan URL. Pada kejadian nyata anda mungkin memodelkan pembelian oleh pelanggan sebagai sebuah sequence (rangkaian) data, rangkaian tersebut adalah: Pertama-tama Seorang pelanggan membeli komputer kemudian membeli speaker dan akhirnya membeli sebuah webcam.
Baik Sequence maupun time-series data mempunyai kemiripan, mereka sama sama berisi tinjauan berdekatan yang urutannya bergantung. Bedanya adalah sebuah time-series berisi data bertipe numerik, dan sebuah sequence series berisi bagian yang khas. Gambar ini menunjukan rangkaian klik pada sebuah website berita. Setiap node adalah sebuah kategori URL. Dan garis melambangkan transisi antar kategori URL tersebut. Setiap transisi di kelompokan dengan sebuah bobot yang menggambarkan kemungkinan transisi antara satu URL dan URL yang lain.
1.6 Tantangan dalam data mining Skalabilitas –
Memiliki data set dalam jumlah yang sangat banyak
–
Membutuhkan strategi pencarian khusus untuk masing2 problem pencarian eksponensial
–
Butuh implementasi struktur data terbaru untuk mengakses individual record secara efisien
–
Metode yang digunakan: sampling atau pengembangan paralel dan algoritma distribusi
High dimensionality –
Data set dengan komponen temporal dan spasial seringkali merupakan data berdimensi tinggi
–
Metode: pengurangan atribut
Kepemilikan dan distribusi data –
Secara geografis data terdistribusi diantara resources yang dimiliki oleh beberapa entitas
–
Tantangan untuk teknik data mining terdistribusi
•
Mengurangi jumlah komunikasi yang dibutuhkan untuk melakukan komputasi terdistribusi
•
Hasil data mining yang efektif diperoleh dari berbagai sumber
•
Masalah keamanan data
Heterogenitas dan kompleksitas data –
Memerlukan teknik yang dapat menghandle heterogenitas atribut
–
More complex data objects including collections of Web pages containing semistructured text (documents) and hyperlinks; DNA data with sequential structure.
Analisis non-tradisional –
Pendekatan berorientasi hipotesis vs pendefinisian hipotesis dan evaluasi otomatis •
Pendekatan statistik tradisional berdasat pada paradigma hipotesis dan pengujian. Eksperimen dan analisis data didesain untuk membuktikan kebenaran hipotesis.
–
Dataset bukan merupakan sampel random
–
Dataset merupakan non-traditional distribution
BAB 2 Data 2.1 Definisi dan Tipe Data Menurut Turban et al, data adalah deskripsi dasar tentang sesuatu, kejadian, kegiatan, dan transaksi yang ditangkap, direkam, disimpan, dan diklasifikasikan namun tidak terorganisir untuk menyampaikan suatu arti khusus. Menurut McLeod dan Schell, data terdiri dai fakta dan gambaran yang secara umum tidak dapat digunakan oleh user (perlu diolah). Dari kedua definisi diatas, dapat diambil kesimpulan bahwa data adalah fakta yang masih mentah dan belum memiliki arti bagi pengguna karena belum diolah. Dalam definisi lain, data adalah catatan atas kumpulan fakta. Data merupakan bentuk jamak dari datum,berasal
dari bahasa Latin yang berarti "sesuatu yang diberikan". Dalam penggunaan sehari-hari data berarti suatu pernyataan yang diterima secara apa adanya. Pernyataan ini adalah hasil pengukuran atau pengamatan suatu variabel yang bentuknya dapat berupa angka, kata-kata, atau citra. Data adalah sesuatu yang belum mempunyai arti bagi penerimanya dan masih memerlukan adanya suatu pengolahan. Data bisa berujut suatu keadaan, gambar, suara, huruf, angka, matematika, bahasa ataupun simbol-simbol lainnya yang bisa kita gunakan sebagai bahan untuk melihat lingkungan, obyek, kejadian ataupun suatu konsep. Tipe Data adalah jenis nilai yang dapat ditampung oleh suatu variabel. Jenis-jenis Tipe Data: 1. Tipe data primitive (Sederhana) Tipe data primitive adalah Tipe data yang mampu menyimpan satu nilai tiap satu variabel. Tipe data primitive merupakan tipe data dasar yang sering dipakai oleh program. Contoh tipe data primitive adalah tipe numerik (integer dan real), tipe data karakter/char, tipe data boolean.
1. Numeric Tipe data numeric digunakan pada variabel atau konstanta untuk menyimpan nilai dalam bentuk angka. Tipe data ini terbagi atas integer, dan real.
a. Integer Integer Merupakan tipe data berupa bilangan bulat, terbagi atas beberapa kategori seperti table dibawah ini Tipe Data
Ukuran Tempat
Rentang Nilai
Byte
1 byte
0 s/d +255
Shortint
1 byte
-28 s/d +127
Integer
2 bytes
-32768 s/d 32767
Word
2 bytes
0 s/d 65535
Longint
4 bytes
2147483648 s/d 2147483647
b. Real Real adalah bilangan yang berisi titik desimal atau jenis bilangan pecahan. Tipe Data
Ukuran Tempat
Rentang Nilai
real
6 bytes
2.9 x 10-39 s/d 1.7 x1038
single
4 bytes
1.5 x 1045 s/d 3.4 x 1038
double
8 bytes
5.0 x 10-324 s/d 1.7 x 10308
extended
10 bytes
3.4 x 10-4932 s/d 1.1 x 104932
comp
8 bytes
-9.2x 1018 s/d 9.2x 1018
2. Karakter (char) Karakter merupakan tipe data yang hanya mampu menyimpan 1 digit karakter. Ukuran untuk tipe data karakter adalah 1 byte (1 byte = 8 bit). Adapun macam karakter yang ada sejumlah 256 macam karakter yaitu dari kode karakter (ASCII), 0 sampai dengan 255. Untuk penulisan karakter menggunakan tanda petik tunggal (‘ ) di depan dan belakang karakter yang ditulis. Contoh : ‘a’, ‘A’,’&’ dll.
Nilai-nilai yang termasuk karakter adalah : a. Karakter huruf : ‘a’..’z’,’A’..’Z’ b. Karakter angka : ‘0’..’9’ c. Karakter tanda baca : titik, koma, titik koma, titik dua dan sebagainya d. Karakter khusus : $, %, #, @ dan sebagainya.
3. Boolean Boolean merupakan tipe data logika, yang berisi dua kemungkinan nilai: TRUE (benar) atau FALSE (salah). Tipe data boolean memakai memori paling kecil.
2. Tipe Data Composite Tipe Data Komposit merupakan tipe data yang dapat menampung banyak nilai, antara lain sebagai berikut.
A. Array
Array atau sering disebut sebagai larik, adalah tipe data yang sudah terstruktur dengan baik, meskipun masih sederhana. Array mampu menyimpan sejumlah data dengan tipe yang sama (homogen) dalam sebuah variabel. Sebagai ilustrasi, array mampu menampung banyak data namun dengan satu tipe data yang sama, misalnya integer saja. Setiap lokasi data array diberi nomor indeks yang berfungsi sebagai alamat dari data tersebut.
B. Record atau struct Seperti halnya Array, Record atau Struct juga termasuk tipe data komposit. Record dikenal dalam bahasa Pascal/Delphi sedangkan Struct dikenal dalam bahasa C++. Berbeda dengan array, tipe data record mampu menampung banyak data dengan tipe data berbeda-beda (heterogen). Misalnya, satu bagian integer, satu bagian lagi character, dan bagian lainnya Boolean. Biasanya record digunakan untuk menampung data suatu obyek. Misalnya, siswa memiliki nama, alamat, usia, tempat lahir, dan tanggal lahir. Nama akan menggunakan tipe data string, alamat bertipe data string, usia bertipe data single (numeric), tempat lahir bertipe data string, dan tanggal lahir bertipe data date. Berikut ini contoh pengunaan record dalam Delphi.
C. Image Image, atau gambar, atau citra, merupakan tipe data grafik. Misalnya grafik perkembangan jumlah siswa SMK, foto keluarga kita, video perjalanan, dan lain-lain. Pada bahasa-bahasa pemrograman modern terutama yang berbasis visual, tipe data ini telah didukung dengan sangat baik.
D. Date Time Nilai data untuk tanggal (date) dan waktu (time) secara internal disimpan dalam format yang spesifik. Variabel atau konstanta yang dideklarasikan dengan tipe data Date dapat digunakan untuk menyimpan, baik tanggal maupun jam. Tipe data ini masuk dalam kelompok tipe data composite, karena merupakan bentukan dari beberapa tipe data.
E. Object Tipe data object digunakan untuk menyimpan nilai yang berhubungan dengan obyekobyek yang disediakan oleh Visual Basic, Delphi, dan bahasa pemrograman lain yang berbasis GUI. Sebagai contoh, apabila mempunyai form yang memiliki control Command button, yang kita beri nama Command1.
F. Subrange Tipe data subrange merupakan tipe data bilangan yang mempunyai jangkauan nilai tertentu sesuai dengan yang ditetapkan programmer. Biasanya, tipe data ini mempunyai nilai batas minimum dan nilai batas maksimum. Tipe data ini didukung dengan sangat baik dalam Delphi.
G. Enumerasi Tipe data ini merupakan tipe data yang mempunyai elemen-elemen yang harus disebut satu persatu, dan bernilai konstanta integer sesuai dengan urutannya. Nilai konstanta integer elemen ini diwakili oleh suatu nama variable yang ditulis di dalam kurung. Tipe data ini juga dijumpai pada Delphi, dan bahasa pemrograman deklaratif seperti SQL.
Pada contoh di atas, tipe data Hari_dlm_Minggu termasuk enumerasi dengan rentang nilai Nol, dimana Senin sampai dengan Minggu dan nilai data dari 0, 1, sampai dengan 7. Sedangkan tipe data Nama_Bulan termasuk enumerasi dengan rentang nilai Nol, Januari sampai dengan Desember dan nilai data dari 0, 1, sampai dengan 12.
Tipe Data Lainnya 1. Tipe Data Terstruktur A. Tipe Data String Merupakan suatu data yang menyimpan array (larik), sebagai contoh 'ABCDEF' merupakan sebuah konstanta string yang berisikan 6 byte karakter. Ukuran Tempat untuk tipe data ini adalah 2 s/d 256 byte, dengan jumlah elemen 1 s/d 255.
B. Tipe Data Set Sebuah set merupakan suatu himpunan yang berisi nilai (anggota). Set merupakan Tipe data yang khusus untuk Pascal. Set dalam pemrograman sangat mirip dengan himpunan dalam ilmu matematika.
Salah satu manfaat dari penggunaan tipe data set adalah untuk mengecek apakah suatu nilai muncul dalam suatu range tertentu. Misalnya, untuk menentukan apakah suatu karakter berupa Lower Case Letter (huruf kecil), mis. Ch adalah tipe Char, kita bisa menulis, if (Ch >= 'a') and (Ch <= 'z') then Writeln( Ch,' merupakan huruf kecil.'); atau, dengan notasi set, kita bisa menulis, if Ch in ['a'..'z'] then Writeln( Ch,' merupakan huruf kecil.');
2. Tipe Data Pointer Pointer merupakan variabel khusus yang berisi suatu address (alamat) di lokasi lain didalam memori. Suatu variabel yang points (menunjuk) ke sesuatu sehingga disebut pointer. Ada dua macam pointer: A. Typed (tertentu) : merupakan pointer yang menunjuk pada tipe data tertentu pada variabel. B. Generic (umum) : merupakan pointer yang tidak menunjuk pada tipe data tertentu pada variabel.
2.2 Kualitas Data Menurut Mark Mosley (2008), dalam bukunya “Dictionary of Data Management”,
pengertian kualitas data adalah level data yang menyatakan data tersebut akurat (accurate), lengkap (complete), timely (update), konsisten (consistent) sesuai dengan semua kebutuhan peraturan bisnis dan relevan. Menilai kualitas data memerlukan pemeriksaan karakteristiknya dan kemudian menimbang karakteristik tersebut sesuai dengan apa yang paling penting bagi organisasi dan aplikasi yang digunakan. Terdapat tujuh karakteristik yang menentukan kualitas data adalah: 1. Accuracy and Precision
Karakteristik ini mengacu pada ketepatan data. Tidak ada unsur yang keliru dan harus menyampaikan pesan yang benar tanpa menyesatkan. Keakuratan dan ketepatan ini memiliki komponen yang berhubungan dengan penggunaannya. Tanpa memahami bagaimana data akan dikonsumsi, memastikan akurasi dan presisi bisa di luar target atau lebih mahal dari yang dibutuhkan. Misalnya, ketepatan dalam perawatan kesehatan mungkin lebih penting daripada di industri lain (misalnya, data perawatan kesehatan yang tidak akurat dapat menimbulkan konsekuensi yang lebih serius), dan oleh karena itu, layak untuk investasi tingkat tinggi.
2. Legitimacy and Validity Persyaratan yang mengatur data menetapkan batasan karakteristik ini. Misalnya, pada survei, item seperti jenis kelamin, etnisitas, dan kewarganegaraan biasanya terbatas pada serangkaian pilihan dan jawaban terbuka tidak diizinkan. Setiap jawaban selain ini tidak akan dianggap sah atau sah berdasarkan persyaratan survei. Ini adalah kasus untuk sebagian besar data dan harus dipertimbangkan dengan cermat saat menentukan kualitasnya. Orang-orang di setiap departemen dalam sebuah organisasi memahami data apa yang valid atau tidak, sehingga persyaratan harus diadopsi saat mengevaluasi kualitas data.
3. Reliability and Consistency Banyak sistem di lingkungan saat ini menggunakan dan atau mengumpulkan data sumber yang sama. Terlepas dari sumber apa yang mengumpulkan data atau tempat tinggalnya, tidak ada yang bertentangan dengan nilai yang berada pada sumber yang berbeda atau dikumpulkan oleh sistem yang berbeda. Harus ada mekanisme tepat dan stabil yang mengumpulkan dan menyimpan data tanpa kontradiksi atau varian yang tidak beralasan.
4. Timeliness and Relevance Harus ada alasan yang sah untuk mengumpulkan data untuk membenarkan usaha yang dibutuhkan, yang juga berarti harus dikumpulkan pada saat yang tepat waktu. Data yang dikumpulkan terlalu cepat atau terlambat bisa menggambarkan situasi dan mendorong keputusan yang tidak akurat.
5. Completeness and Comprehensiveness Data tidak lengkap sama berbahayanya dengan data yang tidak akurat. Kesenjangan dalam pengumpulan data menyebabkan sebagian tampilan keseluruhan gambar ditampilkan. Tanpa gambaran lengkap tentang bagaimana operasi berjalan, tindakan yang tidak diinformasikan akan terjadi. Penting untuk memahami persyaratan lengkap yang merupakan kumpulan data yang komprehensif untuk menentukan apakah persyaratan dipenuhi atau tidak.
6. Availability and Accessibility Karakteristik ini terkadang rumit karena kendala hukum dan peraturan. Terlepas dari tantangannya, individu membutuhkan tingkat akses yang tepat terhadap data untuk melakukan pekerjaan mereka. Ini menduga bahwa data ada dan tersedia untuk akses yang akan diberikan.
7. Granularity and Uniqueness Tingkat detail pengumpulan data penting, karena kebingungan dan keputusan yang tidak akurat dapat terjadi. Kumpulan data gabungan, dirangkum dan dimanipulasi dapat menawarkan arti yang berbeda dari pada data yang tersirat pada tingkat yang lebih rendah. Tingkat granularitas yang tepat harus didefinisikan untuk memberikan keunikan dan sifat khas yang cukup untuk terlihat. Ini adalah persyaratan agar operasi berfungsi secara efektif.
BAB 3 Data Preprocessing 3.1
Data Preprocessing: An Overview Dalam sebuah buku yang membahas lengkap mengenai Data Mining, yaitu buku yang berjudul "Data Mining: Concepts and Techniques (Morgan Kaufmann Series in Data Management Systems) (3RD ed.)" dari seorang penulis terkenal yang berasal dari Cina yaitu Jiawei Han telah memberikan wawasan luas terhadap pembelajaran Data Mining. Dari buku ini banyak intisari yang sudah saya rangkum sedemikian rupa agar memudahkan para pembaca untuk lebih mengerti tentang apa yang terdapat di dalam
buku ini. Pada buku "Data Mining: Concepts and Techniques edisi ke-3" yang membahas mengenai Data Processing, terdapat beberapa pemahaman seperti Gambaran Umum Data Preprocessing, Mengapa memerlukan Data Preprocessing?, dan apa tujuan utama dari Data Preprocessing?. Nah, oleh karena itu setelah saya melakukan pemahaman terhadap buku ini, maka dapat saya simpulkan bahwa Data Preprocessing merupakan sebuah langkah penting dalam Data Mining. Data ini pada umumnya berupa noise, ukuran yang besar, dan merupakan campuran dari berbagai macam sumber.
3.1.1
Data Quality: Why Preprocess the Data? Data di dunia nyata ini sebagian besarnya ialah data mentah yang kotor. Seperti yang terangkum di bawah ini:
a. Tidak Lengkap Data hilang / Kosong Kekurangan atribut tertentu atau atribut yang sesuai Hanya berisi data agregat
b. Noise Mengandung kesalahan Mengandung data yang outlier
c. Tidak Konsisten Mengandung perbedaan dalam kode atau nama
Maka dari itu pentingnya melakukan Data Preprocesing dikarenakan data yang tidak berkualitas akan menghasilkan kualitas mining yang tidak baik. Lalu Data Preprocessing, cleaning, dan transformasi merupakan pekerjaan mayoritas dalam aplikasi data mining.
Kualitas Data Pandangan kualitas data multidimensional yang diterima dengan baik yakni: Ketepatan
Kelengkapan Konsistensi Ketepatan waktu Percaya diri Interpretabilitas Aksesibilitas Sumber
3.1.2
Major Tasks in Data Preprocessing Adapun tujuan utama dalam Data Preprocessing ini ialah sebagai berikut yang telah terangkum:
a. Pembersihan Data Isi nilai yang hilang Data noise yang halus Mengidentifikasi dan menghapus outlier Menyelesaikan inkonsistensi
b. Integrasi Data Integrasi beberapa database, kubus data, atau file
c. Transformasi Data Normalisasi dan agregasi
d. Pengurangan Data Memperoleh penurunan representasi dalam volume tetapi menghasilkan hasil analitis yang sama atau serupa
e. Diskretisasi Data Pengurangan data namun sangat penting, terutama untuk data numerik
Banyak lagi pembahasan yang masih belum saya rangkum kedalam sebuah tulisan sebagai bahan pembelajaran. Karena untuk memahami metode pembelajaran Data Mining dibutuhkan waktu dan juga kesabaran untuk memahami segala hal. Ada kalanya membaca itu menjadi jembatan bagi kita untuk menggali sejuta wawasan yang ada di dunia ini. Tat kala seseorang yang ingin terjun ke dunia Teknik Informatika ini akan jadi langkah awal baginya yang ingin membuka pola pikir untuk berlogikaria yang merupakan makanan sehari-hari programmer yaitu wajib memiliki logika serta berdedikasi tinggi dalam mempelajari segala macam ilmu yang berkaitan dengan Informatika.
3.2 Data Cleaning Data cleaning bertujuan untuk memperkecil jumlah data yang hilang atau berbeda, dapat dilakukan dengan langkah sebagai berikut. H. Mengisi data yang hilang dengan default value.2. I. Mengisi data secara manual, misal: trace ulang transaksi untuk mengetahui data yang hilang. J. Mengisidengan rata-rata atribut tersebut, misal: gaji pegawai yang kosong diisi dengan rata-rata gaji pegawai. K. Mengisi dengan rata-rata suatu atribut untuk kelas yang sama, misal: gaji pegawai yang kosong diisi dengan rata-rata gaji pegawai yang memiliki jabatan yang sama. L. Menggunakan regresi, prediksi berdasarkan dua variabel yang lain, misal: mengisi gaji pegawai yang kosong dengan nilai prediksi dengan regresi berdasarkan jabatan dan lama masa kerja. M. Menghilangkan baris yang mengandung data yang hilang. N. Binning by means, menggunakan rata-rata pengelompokkan. misal: sorted data dibagi menjadi beberapa kelompok, dan dicari rata-rata masing2 kelompok untuk mengganti setiap data yang ada, sesuai dengan kelompoknya.
misal data dari kelompok A
diganti dengan a rata-rata kelompok A. O. Binning by range boundries, menggunakan batas terdekat suatu kelompok data, misal: sorted data dibagi menjadi beberapa kelompok, di cari nilai minimum dan maximum
dari masing-masing kelompok, lalu gantikan tiap nilai di suatu kelompok dengan batas atas atau batas bawah kelompoknya, sesuai dengan yang paling dekat. P. Mencari dan menghilangkan outlier dengan pengelompokan atau regresi.
8. Data Integration Integrasi data merupakan proses mengkombinasikan dua atau lebih set data agar mempermudah dalam berbagi dan analisis, dalam rangka mendukung manajemen informasi di dalam sebuah lingkungan kerja. Integrasi data menggabungkan data dari berbagai sumber database yang berbeda ke dalam sebuah penyimpanan seperti gudang data (data warehouse). Alasan perlunya dilakukan integrasi data adalah:
Data yang sama (misalnya: data penduduk) dapat dipakai bersama antar bagian organisasi (antar instansi).
Data suatu instansi dapat dipakai bersama oleh instansi-instansi lain yang memerlukan (tidak perlu ada duplikasi data dalam suatu lingkungan organisasi).
Meskipun fokus integrasi adalah data, tapi perlu juga integrasi hal-hal lain yang terkait.
Integrasi data perlu dilakukan secara cermat karena kesalahan pada integrasi data bisa menghasilkan ouput/keluaran yang menyimpang dan bahkan menyesatkan pengambilan keputusan nantinya.
Syarat integrasi data dapat dipenuhi dengan berbagai cara seperti konsisten dalam penamaan variabel, konsisten dalam ukuran variabel, konsisten dalam struktur pengkodean dan konsisten dalam atribut fisik dari data. Masalah-masalah yang ada pada integrasi data yaitu heterogenitas data, otonomi sumber data, kebenaran dan kinerja query/permintaan. Integrasi data membuat penyatuan pandangan dari data bisnis. Pandangan ini bisa dibuat dengan bermacam teknik, yang akan kita paparkan selanjutnya. Bagaimanapun juga, integrasi data bukanlah jalan satu-satunya untuk data bisa digabungkan melalui sebuah perusahaan.
9. Data Reduction Teknik ini dilakukan dengan cara mengurangi jumlah data sehingga resource yang digunakan lebih sedikit, sehingga prosesnya dapat lebih cepat dilakukan dengan langkah sebagai berikut: 4. Sampling/generalisasi. 5. Agregasi, seperti agregasi padat ransformasi. Data ribuan memiliki volume byte yang lebih kecil dari pada data jutaan. 6. Mengurangi atribut yang tidak perlu (korelasi yang rendah terhadap keseluruhan data) 7. Kompresi data.
10. Data Transformation and Data Discretization Ada 7 (tujuh) tahapan proses data mining, dimana 4 (empat) tahap pertama disebut juga dengan data preprocessing (terdiri dari data cleaning, data integration, data selection, dan data transformation), yang dalam implementasinya membutuhkan waktu sekitar 60% dari keseluruhan proses. Dalam data transformation, terdapat beberapa pendekatan/teknik untuk melakukan transformasi data, yaitu smoothing, generalization, normalization, aggregation, dan attribute construction.
Smoothing Smoothing dilakukan jika data mengandung noise/nilai yang tidak valid terhadap data yang di-mining. Untuk mengatasinya harus dilakukan smoothing (dengan memperhatikan nilai-nilai tetangga). Berikut teknik atau metode untuk smoothing:
3. Binning Metode binning dilakukan dengan memeriksa “nilai tetangga”, yaitu nilai-nilai yang ada disekelilingnya. Berikut adalah langkah-langkah metode binning: 1. Data diurutkan dari yang terkecil sampai dengan yang terbesar. 2. Data yang sudah urut kemudian dipartisi ke dalam beberapa bin. Teknik partisi ke dalam bin ada 2 (dua) cara: equal-width (distance) partitioning dan equaldepth (frequency) partitioning. 3. Dilakukan smoothing dengan tiga macam teknik, yaitu: smoothing by binmeans, smoothing by binmedians, dan smoothing by bin-boundaries.
4. Clustering
Digunakan
untuk
menyingkirkan
outliers
(keluar
jauh-jauh
dari
cluster/centroid), data yang memiliki noise. Algoritma k-Means yang merupakan kategori metode partitioning dapat digunakan jika ukuran database tidak terlalu besar. Algoritma ini didasarkan pada nilai tengah dari objek yang ada dalam cluster. Algoritma k-Means meminta inputan parameter k, dan mempartisi satu set n objek ke dalam k cluster sehingga menghasilkan tingkat kemiripan yang tinggi antar objek dalam kelas yang sama (intra-class similarity) dan tingkat kemiripan yang paling rendah antar objek dalam kelas yang berbeda (inter-class similarity). Kemiripan cluster diukur dengan menghitung nilai tengah dari objek yang ada di dalam cluster. 5. Regression Linear regression memodelkan sebuah random variable, Y (disebut response variable) sebagai sebuah fungsi linier dari random variable yang lain, X (disebut sebagai predictor variable), dengan persamaan empiris: X Y βα += , dimana α dan β adalah
koefisien regresi. Koefisien ini dapat dihitung menggunakan metode least squares dengan persamaan sebagai berikut: ()∑ ∑ ∑∑ ∑ − − = 2 2 ii iiii xxn yxyxn β dan x y βα −= , dimana x adalah nilai ratarata dari x1, x2, …, xi dan y adalah nilai rata-rata dari y1, y2, …, yi.
Generalization Generalization atau generalisasi adalah ketika data level rendah (low-level data) diganti dengan konsep yang lebih tinggi, yaitu dengan melakukan diskretisasi. Teknik diskretisasi dapat digunakan untuk mereduksi sekumpulan nilai yang terdapat pada atribut continuous, dengan membagi range dari atribut ke dalam interval. Proses diskretisasi secara umum terdiri dari 4 tahapan, yaitu: 1. Sorting, melakukan sorting nilai atribut continuous yang mau didiskretisasi. 2. Memilih “cut- point”, banyak fungsi evaluasi yang dapat digunakan seperti binning dan pengukuran entropy. 3. Splitting, dilakukan evaluasi cut-point yang ada dan pilih satu yang terbaik dan lakukan split range nilai atribut continuous ke dalam dua partisi. Diskretisasi berlanjut untuk tiap partisi sampai kondisi berhenti tercapai. 4. Stopping criterion, diperlukan untuk menghentikan proses diskretisasi.
Normalization Normalization atau normalisasi adalah proses transformasi dimana sebuah atribut numerik diskalakan dalam range yang lebih kecil seperti -1.0 sampai 1.0, atau 0.0 sampai 1.0. Ada beberapa metode/teknik yang diterapkan untuk normalisasi data, diantaranya:
Min-max Normalization: Min-max normalization memetakan sebuah value v dari atribut A menjadi v’ ke dalam range [new_minA, new_maxA] berdasarkan rumus
Z-Score Normalization: Disebut juga zero-mean normalization, dimana value dari sebuah atribut A dinormalisasi berdasarkan nilai rata-rata dan standar deviasi dari atribut A.
Normalization by Decimal Scaling: Normalisasi yang diperoleh dengan melakukan penggeseran titik desimal dari value sebuah atribut A. Jumlah titik desimal yang digeser tergantung dari nilai absolut maksimum dari atribut A.
Aggregation Adalah operasi summary (peringkasan) diaplikasikan pada data numerik. Misalnya pada data penjualan harian digabungkan untuk menghitung pendapatan perbulan dan pertahun dengan dirata-rata atau ditotal. Langkah ini dilakukan dengan memanfaatkan operator data cube (operasi roll up/meringkas).
Attribute/Feature Construction Pada attribute construction, atribut baru dibentuk dari atribut yang sudah ada dan ditambahkan bersama atribut lainnya untuk membantu meningkatkan ketelitian/ketepatan dan pemahaman struktur dalam high-dimensional data. Contohnya, mau menambahkan atribut luas berdasarkan atribut tinggi dan lebar. Atau, atribut lama kerja jadi dosen dan usia bisa digantikan dengan senioritas, yunioritas, dan orientasi.
BAB 4 DATA WAREHOUSE 4.1
Karakteristik Data Warehouse
Menurut W. H. Inmon, data warehouse mempunyai empat karakteristik, yaitu Subject Oriented, Integrated, Time Variant, dan Non-Volatile.
1. Subject Oriented (Berorientasi Subjek) Data warehouse berorientasi subjek, artinya data warehouse berorientasi terhadap subjek-subjek utama dalam suatu perusahaan, seperti data warehouse untuk customer, produk, dan sebagainya. Dapat juga dikatakan bahwa data warehouse didesain untuk membantu dalam menganalisis data berdasarkan subjek-subjek tertentu sehingga hanya data yang benar-benar diperlukan yang dimasukkan ke dalam data warehouse.
2. Integrated (Integrasi) Data warehouse dapat menyimpan data-data yang berasal dari sumber-sumber yang terpisah ke dalam suatu format yang konsisten dan saling terintegrasi satu sama lain. Data tidak dapat dipecah-pecah karena data yang ada merupakan suatu kesatuan yang menunjang keseluruhan konsep data warehouse itu sendiri.
Syarat integrasi sumber data dapat dipenuhi dengan cara konsisten dalam penamaan variabel, ukuran variabel, dan atribut fisik dari data. Misalnya untuk tabel pelanggan yang berasal dari sumber data I, format untuk jenis kelamin menggunakan format F dan M (Female dan Male). Sedangkan untuk tabel pelanggan yang berasal dari sumber data II menggunakan format P dan L (Perempuan dan Laki-Laki). Maka data tersebut sebelum masuk ke dalam data warehouse harus dilakukan integrasi terlebih dahulu. Misalnya memilih format dari salah satu sumber data atau menggunakan format yang baru, misalnya 0 untuk perempuan/female dan 1 untuk laki-laki/male.
3. Time Variant (Rentang Waktu) Data yang berada di dalam data warehouse akurat dan valid pada titik waktu tertentu atau dalam interval waktu tertentu (hanya pada saat proses ETL/update). Setiap data yang dimasukkan ke data warehouse pasti memiliki dimensi waktu. Dimensi waktu ini akan dipergunakan sebagai pembanding dalam perhitungan untuk menghasilkan
laporan yang diinginkan. Selain itu, dengan menggunakan dimensi waktu, pembuat keputusan dapat mengenal kecenderungan dan pola dari suatu data.
4. Non Volatile Data pada data warehouse tidak di-update secara real time, tetapi di-refresh dari sistem operasional secara reguler. Data yang baru selalu ditambahkan sebagai tambahan bagi database itu sendiri. Database tersebut secara berkesinambungan mengambil data baru ini, dan kemudian disatukan dengan data sebelumnya.
Data yang berada dalam data warehouse bersifat read-only, dan tidak berubah setiap saat sehingga hanya terdapat dua kegiatan dalam data warehouse, yaitu mengambil data (loading data), dan akses data (mengakses data warehouse, seperti melakukan query untuk menampilkan laporan yang dibutuhkan, tidak ada kegiatan updating data).
4.2
Proses dalam Data Warehouse Proses dalam data warehouse atau data warehousing (catatan: istilah data warehouse mengacu ke tempat repository data sementara istilah data warehousing mengacu ke proses perjalanan data dari berbagai sumber data hingga masuk ke data warehouse) terdiri dari tahap-tahap berikut ini: 1. Data di-import dari berbagai sumber data internal maupun eksternal 2. Data di-cleansed atau dibersihkan dan diorganisir secara konsisten sesuai dengan kebutuhan perusahaan 3. a). Data di-load atau di-export atau dimasukkan ke data warehouse enterprise, atau b). Data di-load/export/di masukkan ke data marts [tentang definisi data marts bisa dibaca pada artikel sebelumnya tentang
Data Warehouse dan Beberapa
Karakteristiknya di link ini] 4. Bila diinginkan, data marts dibuat sebagai subset atau bagian dari EDW (enterprise data warehouse), atau b) Data marts disatukan menjadi EDW 5. Analisa dilakukan ketika diperlukan
4.3
Data Warehouse dan Sistem OLTP Data warehouse dan OLTP (Online Transaction Processing) memiliki beberapa perbedaan. Berikut beberapa penjelasan perbedaan antara data warehouse dan OLTP: 1. Karakteristik OLTP mempunyai database yang sering kita jumpai dalam aplikasi-aplikasi yang berhubungan dengan aktivitas sehari-hari dari suatu toko atau perusahaan, contoh : database yang digunakan pada sistem informasi penjualan.
Sehingga database tersebut didesain atau dirancang khusus untuk menangani kegiatan operasional atau transaksi dari suatu toko atau perusahaan.
Hal ini jelas berbeda dengan data warehouse karena data warehouse menyimpan data yang bersifat historical dan digunakan untuk menangani kegiatan penyajian informasi.
2. Orientasi OLTP lebih berorientasi pada transaksi, sedangkan data warehouse lebih diorientasikan pada proses untuk melakukan analisis.
3. Struktur Data Karena OLTP diorientasikan pada proses transaksi, maka query yang digunakan lebih dioptimalkan untuk mendukung proses transaksi tersebut. Sehingga harus dihindarkan dari data yang berulang-ulang atau redudan. Dalam hal ini, perancangannya membutuhkan normalisasi.
Sedangkan dalam data warehouse yang berorientasi pada proses
query untuk
menghasilkan suatu informasi yang lengkap dan akurat, maka memungkinan terjadinya data yang berulang-ulang karena dibutuhkan akses yang cepat dalam query-nya. Dalam hal ini, perancangannya haruslah denormalisasi.
4. Tipe Data
Dalam hal tipe data, data yang dimiliki oleh OLTP bersifat bernilai sekarang. Hal ini disebabkan karena OLTP menyimpan data operasional atau transaksi yang terjadi secara terus-menerus dalam suatu perusahaan atau toko.
Sedangkan data warehouse memiliki data yang bersifat historical, karena data tersebut hanya akurat pada saat proses ETL (update) dilaksanakan atau berdasarkan periode yang telah ditentukan.
5. Frekuensi Akses Frekuensi dalam mengakses OLTP sangat tinggi karena data terus-menerus dibutuhkan untuk mendukung kegiatan operasional atau transaksi dalam suatu perusahaan atau toko. Contoh : dalam sistem informasi penjualan, dimana data yang terdapat dalam tabel yang berisi informasi barang akan sangat ditinggi diakses untuk mendukung proses transaksi (misalnya harga barang).
Sedangkan dalam data warehouse, frekuensi aksesnya sangat sedang dan bahkan dapat dikatakn rendah, hal ini disebabkan karena data warehouse hanya diakses pada saat proses analisis dibutuhkan.
4.4
Model Data Warehouse Model yang sering digunakan di dalam data warehouse saat ini adalah skema bintang dan skema
snowflake.
Masing-masing
model
tentunya
memiliki
kelebihan
dan
kekurangannya masing-masing. Dalam artikel ini dijelaskan dengan detil mengenai perbedaan kedua skema tersebut. Selain itu dijelaskan pula kond isi-kondisi yang sesuai di dalam mengimplementasikan skema bintang maupun skema snowflake.
Skema bintang dan skema snowflake adalah sarana untuk mengorganisir data mart – data mart atau gudang-gudang data dengan menggunakan basis data relasional. Kedua skema tersebut menggunakan tabel-tabel dimensi untuk mendeskripsikan data-data yang terdapat di dalam tabel fakta.
Setiap perusahaan pada umumnya menjual produk, pengetahuan, maupun jasa. Sehingga sistem penjualan adalah sebuah sistem yang terdapat di sebagian besar perusahaan. Berikut ini dijelaskan mengenai model penjualan baik skema bintang maupun skema snowflake.
Karakteristik utama dari skema bintang adalah bahwa tabel dimensinya tidak dinormalisasi. Pada model di atas, tabel fakta fact_sales (warna merah muda)berisi datadata yang diekstrakdari database operasional. Sedangkan tabel yang berwarna biru muda adalah tabel dimensi. Pada gambar di atas terdapat lima tabel dimensi yaitu dim_sales_type, dim_store, dim_employee, dim_product, dan dim_time.
Dari model ini, kita dapat dengan mudah melihat mengapa skema ini disebut ‘skema bintang’, karena model tersebut terlihat seperti bintang, dengan tabel dimensi yang
mengelilingi tabel fakta. Skema snowflakejuga menyimpan data yang sama seperti pada skema bintang. Tabel fakta yang digunakan pada skema bintang maupun pada skema snowflake berisi fieldfield yang sama. Perbedaan utama antara skema bintang dan skema snowflake adalah semua tabel dimensi pada skema snowflake telah dinormalisasi. Proses normalisasi tabeltabel dimensi pada skema snowflake ini disebut dengan proses snowflaking,sehingga tampilan tabel-tabel pada skema snowflake bentuknya menyerupai snowflake.
Seperti yang telah disebutkan di atas, normalisasi adalah perbedaan utama antara skema bintang dengan skema snowflake. Beberapa hal yang harus diperhatikan adalah sebagai berikut: 1. Skema snowflake menggunakan ruang penyimpanan yang lebih kecil dibandingkan ruang penyimpanan pada skema bintang. Hal ini disebabkan karena tabel-tabel dimensi yang telah dinormalisasi memiliki record-record yang efisien karena tidak terjadi pengulangan data-data yang sama. 2. Tabel dimensi yang tidak dinormalisasi dapat menyebabkan masalah integritas data. Karena data-data yang sama bisa muncul berulang-ulang, bahkan bisa juga terjadi
kesalahan pengetikan pada data-data yang sama tersebut. Sehingga pada skema bintang harus dilakukan pengecekan dan maintenance secara berkala. 3. Penyimpanan data pada skema snowflake lebih terorganisir dan lebih rapi dibandingkan dengan skema bintang. BAB 5 CLUSTERING 5.1 Konsep dasar Clustering Clustering atau klasterisasi adalah metode pengelompokan data. Menurut Tan, 2006 clustering adalah sebuah proses untuk mengelompokan data ke dalam beberapa cluster atau kelompok sehingga data dalam satu cluster memiliki tingkat kemiripan yang maksimum dan data antar cluster memiliki kemiripan yang minimum. Clustering merupakan proses partisi satu set objek data ke dalam himpunan bagian yang disebut dengan cluster. Objek yang di dalam cluster memiliki kemiripan karakteristik antar satu sama lainnya dan berbeda dengan cluster yang lain. Partisi tidak dilakukan secara manual melainkan dengan suatu algoritma clustering. Oleh karena itu, clustering sangat berguna dan bisa menemukan group atau kelompokyang tidak dikenal dalam data. Clustering banyak digunakan dalam berbagai aplikasi seperti misalnya pada business inteligence, pengenalan pola citra, web search, bidang ilmu biologi, dan untuk keamanan (security). Di dalam business inteligence, clustering bisa mengatur banyak customer ke dalam banyaknya kelompok. Contohnya mengelompokan customer ke dalam beberapa cluster dengan kesamaan karakteristik yang kuat. Clustering juga dikenal sebagai data segmentasi karena clustering mempartisi banyak data set ke dalam banyak group berdasarkan kesamaannya. Selain itu clustering juga bisa sebagai outlier detection. 5.2 Clustering Type 1. Partitional Clustering Pembagian objek data ke dalam non-overlapping subset (cluster) sehingga setiap objek data adalah tepat satu subset 2. Hirerarchical Clustering Sehimpunan cluster bersarang yang diorganisasikan sebagai struktur hirarki pohon. 5.2 Metode Clustering Metoda berbasis Partisi
Partitional clusteringyaitu data dikelompokkan ke dalam sejumlah cluster tanpa adanya struktur hirarki antara satu dengan yang lainnya. Pada metode partitional clusteringsetiap cluster memiliki titik pusat cluster (centroid) dan secara umum metode ini memiliki fungsi tujuan yaitu meminimumkan jarak (dissimilarity) dari seluruh data ke pusat cluster masingmasing. Contoh metode partitional clustering:
K-Means, Fuzzy K-means dan Mixture
Modelling. Metoda berbasis Hirarki Pada hierarchical clusteringdata dikelompokkan melalui suatu bagan yang berupa hirarki, dimana terdapat penggabungan dua grup yang terdekat disetiap iterasinya ataupun pembagian dari seluruh set data kedalam cluster. Langkah melakukan Hierarchical clustering:
Identifikasi item dengan jarak terdekat
Gabungkan item itu kedalam satu cluster
Hitung jarak antar cluster
Ulangi dari awal sampai semua terhubung
Contoh metode hierarchy clustering: Single Linkage, Complete Linkage, Average Linkage, Average Group Linkage. Metoda berbasis Kepadatan
Metoda berbasis Kisi
Metoda berbasis
5.3 Evaluation method
BAB 6 KLASIFIKASI 6.1 Konsep dasar Klasifikasi Klasifikasi adalah suatu pengelompokan data dimana data yang digunakan tersebut mempunyai kelas label atau target. Klasifikasi digunakan untuk memprediksi label clas (diskrit atau kontinu) serta mengklasifikasi data (membangun model) yang didasarkan pada data training dan nilai
label
class
dalam
mengklasifikasikan
atribut
dan
menggunakannya
saat
mengklasifikasikan data baru.
a.
Klasifikasi Bayes Model Naïve Bayes adalah klasifikasi statistikk yang dapat digunakan untuk memprediksi suatu kelas. Model Naïve Bayes dapat diasumsikan bahwa efek dari suatu nilai atribut sebuah kelas yang diberikan adalah bebas dari atribut-atribut lain. Kelebihan yang dimiliki oleh Naïve Bayes adalah dapat menangani data kuantitatif dan data diskrit, Naïve Bayes kokoh terhadap noise, Naïve Bayes hanya memerlukan sejumlah kecil data pelatihan untuk mengestimasi parameter yang dibutuhkan untuk klasifikasi, Naïve Bayes dapat menangani nilai yang hilang dengan mengabaikan instansi selama perhitungan estimasi peluang, Naïve Bayes cepat dan efisiensi ruang.
b.
Decission Tree Decision tree merupakan salah satu metode klasifikasi yang menggunakan representasi struktur pohon (tree) di mana setiap node merepresentasikan atribut, cabangnya merepresentasikan nilai dari atribut, dan daun merepresentasikan kelas. Node yang paling atas dari decision tree disebut sebagai root. Decision tree merupakan metode klasifikasi yang paling populer digunakan. Selain karena pembangunannya relatif cepat, hasil dari model yang dibangun mudah untuk dipahami. Pada decision tree terdapat 3 jenis node, yaitu: C. Root Node, merupakan node paling atas, pada node ini tidak ada input dan bisa tidak mempunyai output atau mempunyai output lebih dari satu. D. Internal Node , merupakan node percabangan, pada node ini hanya terdapat satu input dan mempunyai output minimal dua. E. Leaf node atau terminal node , merupakan node akhir, pada node ini hanya terdapat satu input dan tidak mempunyai output.
c.
Artificial Neural Network Artificial Neural Network bekerja dnegan cara meniru otak manusia dengan menggunakan 'neuron' buatan untuk membandingkan atribut satu sama lain dan mencari
koneksi yang kuat. Dengan mengambil nilai atribut, memprosesnya, dan menghasilkan node yang terhubung oleh neuron, model penambangan data ini dapat menawarkan prediksi dan persentase keyakinan, bahkan di tengah ketidakpastian dalam beberapa data. Jaringan syaraf buatan tidak terbatas mengenai rentang nilai seperti beberapa metodologi lainnya. Dalam representasi grafisnya, jaring neural ditarik menggunakan node dan neuron. Semakin tebal atau semakin gelap garis antara simpul, semakin kuat koneksi yang diwakili oleh neuron itu. Neuron yang lebih kuat menyamakan kemampuan yang lebih kuat dengan atribut itu untuk diprediksi. Meskipun tampilan grafis bisa sulit dibaca, yang sering dapat terjadi ketika ada sejumlah besar atribut, komputer dapat membaca jaringan dan menerapkan model untuk mencetak data untuk membuat prediksi. Persentase keyakinan dapat lebih lanjut menginformasikan nilai prediksi observasi, seperti yang diilustrasikan dengan atlet hipotetis kami, Lance Goodwin dalam bab ini. Antara prediksi dan persentase keyakinan, kita dapat menggunakan jaringan syaraf untuk menemukan pengamatan menarik yang mungkin tidak jelas, tetapi masih mewakili peluang bagus untuk menjawab pertanyaan atau memecahkan masalah.
d.
Support Vector Machine Support Vector Machine adalah model pembelajaran yang diawasi dengan algoritma pembelajaran terkait yang menganalisis data yang digunakan untuk klasifikasi dan analisis regresi. Santoso (2007): adalah suatu teknik untuk melakukan prediksi, baik dalam kasus klasifikasi maupun regresi. SVM berada dalam satu kelas dengan Artificial Neural Network (ANN) dalam hal fungsi dan kondisi permasalahan yang bisa diselesaikan. Keduanya masuk dalam kelas supervised learning.
e.
Nearest Neighbor Rule Algoritma k-nearest neighbor (k-NN atau KNN) adalah sebuah metode untuk melakukan klasifikasi terhadap objek berdasarkan data pembelajaran yang jaraknya paling dekat dengan objek tersebut. K- Nearest Neighbor berdasarkan konsep ‘learning by analogy’. Data learning dideskripsikan dengan atribut numerik n-dimensi. Tiap data learning
merepresentasikan sebuah titik, yang ditandai dengan c, dalam ruang n-dimensi. Jika sebuah data query yang labelnya tidak diketahui diinputkan, maka KNearest Neighbor akan mencari k buah data learning yang jaraknya paling dekat dengan data query dalam ruang n-dimensi. Jarak antara data query dengan data learning dihitung dengan cara mengukur jarak antara titik yang merepresentasikan data query dengan semua titik yang merepresentasikan data learning dengan rumus Euclidean Distance. Pada fase training, algoritma ini hanya melakukan penyimpanan vektorvektor fitur dan klasifikasi data training sample. Pada fase klasifikasi, fitur – fitur yang sama dihitung untuk testing data (klasifikasinya belum diketahui). Jarak dari vektor yang baru ini terhadap seluruh vektor training sample dihitung, dan sejumlah k buah yang paling dekat diambil. Titik yang baru klasifikasinya diprediksikan termasuk pada klasifikasi terbanyak dari titik – titik tersebut. Nilai k yang terbaik untuk algoritma ini tergantung pada data; secara umumnya, nilai k yang tinggi akan mengurangi efek noise pada klasifikasi, tetapi membuat batasan antara setiap klasifikasi menjadi lebih kabur. Nilai k yang bagus dapat dipilih dengan optimasi parameter, misalnya dengan menggunakan cross-validation. Kasus khusus di mana klasifikasi diprediksikan berdasarkan data pembelajaran yang paling dekat (dengan kata lain, k = 1) disebut algoritma nearest neighbor. Ketepatan algoritma k-NN ini sangat dipengaruhi oleh ada atau tidaknya fitur-fitur yang tidak relevan, atau jika bobot fitur tersebut tidak setara dengan relevansinya terhadap klasifikasi. Riset terhadap algoritma ini sebagian besar membahas bagaimana memilih dan memberi bobot terhadap fitur, agar performa klasifikasi menjadi lebih baik. K buah data learning terdekat akan melakukan voting untuk menentukan label mayoritas. Label data query akan ditentukan berdasarkan label mayoritas dan jika ada lebih dari satu label mayoritas maka label data query dapat dipilih secara acak di antara label-label mayoritas yang ada.
f.
Klasifikasi Berbasis Fuzzy Logic Logika
Fuzzy adalah
peningkatan
dari logika
Boolean yang
berhadapan
dengan
konsep kebenaran sebagian. Saat logika klasik menyatakan bahwa segala hal dapat diekspresikan dalam istilah biner (0 atau 1, hitam atau putih, ya atau tidak), logika fuzzy menggantikan kebenaran boolean dengan tingkat kebenaran.
Logika Fuzzy memungkinkan nilai keanggotaan antara 0 dan 1, tingkat keabuan dan juga hitam dan putih, dan dalam bentuk linguistik, konsep tidak pasti seperti "sedikit", "lumayan", dan "sangat". Teori ini membantu pekerjaan tingkat abstraksi tinggi yang menawarkan sarana untuk pengukuran data yang tidak tepat. Contohnya:
dalam
pengaplikasian
kartu
kredit,
perusahaan
memberikan
batas
pennggunaan kartu kredit hanya untuk orang yang berpenghasilan $50.000 sehingga :
IF (years_employed ≥2) AND (income ≥ 50,000) THEN credit = approved.
Tetapi ini tidak adil bagi seseorang yang mendapatkan penghasilan $49.000 sehingga bila menggunakan metode fuzzy logic:
g.
Evaluation Method Metode evaluasi adalah tolak ukur untuk memeriksa efisiensi dan kinerja model apa pun. Evaluasi penting untuk memahami kualitas model atau teknik untuk memperbaiki parameter dalam proses pembelajaran berulang dan untuk memilih model atau teknik yang paling dapat diterima dari seperangkat model atau teknik yang diberikan. Ada beberapa kriteria yang dapat menjadi penting juga, seperti kompleksitas komputasional atau komprehensibilitas model. Langkah-langkah yang paling banyak digunakan untuk mengevaluasi kinerja teknik yang digunakan untuk melaksanakan tugas data mining yang berbeda.
BAB 7 Question Answer System (QAS) 7.1 Konsep QAS Question answering system (QA system) adalah sistem yang mengijinkan user menyatakan kebutuhan informasinya dalam bentuk natural language question (pertanyaan dalam bahasa alami), dan mengembalikan kutipan teks singkat atau bahkan frase sebagai jawaban. Ketersediaan sumber informasi yang luas dan bervariasi, serta adanya
perkembangan yang pesat dari teknik Natural Language Processing (NLP), Information Extraction (IE), dan Information Retrieval (IR) sangat mempengaruhi perkembangan dari QA system, yang mana dulunya hanya dapat menjawab pertanyaan-pertanyaan yang terbatas pada suatu bidang (domain) tertentu dengan berdasarkan pada sumber informasi yang terstruktur seperti database, hingga kini dapat menjawab berbagai jenis pertanyaan dengan bersumber pada informasi dari sebuah koleksi teks yang tidak terstruktur. Dilihat dari ruang lingkup permasalahan, QAS dapat dibagi menjadi dua jenis yaitu QAS dengan domain terbuka (pada domain ini semua permasalahan dapat dibahas melalu proses tanya jawab pada sistem) dan QAS dengan domain terbatas/ tertutup (pada domain ini hanya membahas satu topik saja misalnya kesehatan, olahraga, politik dan sebagainya).
Arsitektur QAS
Umumnya arsitektur question answering system yang berbasis teks dibangun atas enam tahapan proses, yaitu analisis pertanyaan, preprocessing koleksi dokumen, pemilihan kandidat dokumen, analisis kandidat dokumen, ekstraksi jawaban, dan pemberian respon. Aplikasi-aplikasi QA system (baik yang dapat diakses melalui internet maupun tidak) yang dikembangkan dengan ciri khasnya masing-masing memiliki urutan proses yang tidak jauh berbeda satu dengan lainnya. Jawaban yang dikembalikan oleh sebuah QA system sebagai respon terhadap pertanyaan perlu dievaluasi untuk menilai performansi sistem.
Implementasi QAS
Berdasarkan penelitian berjudul “Implementasi Question Answering System (QAS)
dengan Metode Rule-Based Untuk Temu Kembali Informasi Berbahasa Indonesia” yang dibangun oleh Ikhsani dan Nafi tahun 2006, Question Answering System (QAS) dapat diterapkan untuk membangun sistem temu kembali jawaban atas pertanyaan dalam suatu bacaan (reading comprehension). Dengan memasukkan kueri berupa pertanyaan ke dalam sistem, maka sistem akan mengembalikan sebuah kalimat sebagai jawabannya. Proses penemukembalian jawaban dimulai dengan memecah (parsing) suatu dokumen bacaan menjadi kalimat-kalimat. Kalimat-kalimat tersebut dipecah dan di-stem menjadi tokentoken. Begitu pula dengan kalimat pertanyaan pada kueri dipecah dan di-stem menjadi
token-token. Token-token dari setiap kalimat dokumen maupun kueri diproses dalam rules sesuai dengan tipe pertanyaannya. Dalam penelitian ini tipe pertanyaan yang digunakan hanya lima tipe, yaitu: APA, SIAPA, KAPAN, MANA, dan MENGAPA. Proses di dalam rules itu memberikan nilai (score) untuk masing-masing kalimat dokumen. Kalimat yang memiliki nilai tinggi akan dikembalikan sebagai jawaban. Kalimat yang dikembalikan sebagai jawaban bisa lebih dari satu, karena ada kemungkinan beberapa kalimat yang memiliki nilai yang sama tingginya. Banyaknya kalimat yang ditemukembalikan juga bergantung pada ambang batas nilai (threshold of score) yang digunakan. Threshold of score yang digunakan dalam penelitian ini adalah 1 sampai 12. Kinerja sistem tertinggi dicapai saat menggunakan ambang batas 7 dan 8, yang mengembalikan rata-rata tiga kalimat dan banyaknya hasil yang benar mencapai 82,5%. Dari evaluasi berdasarkan rules, rules ”APA” mempunyai kinerja yang paling
tinggi, dan akurasi rata-rata rules adalah 74,65%. Namun, akurasi yang cukup tinggi yang dapat dicapai sistem ini hanya berlaku untuk penelitian ini saja dengan berbagai asumsi yang digunakan.
BAB 8 Text Mining dan NLP 8.1 Konsep NLP Natural Language Processing (NLP) merupakan salah satu cabang ilmu AI yang berfokus pada pengolahan bahasa natural. Bahasa natural adalah bahasa yang secara umum digunakan oleh manusia dalam berkomunikasi satu sama lain. Bahasa yang diterima oleh komputer butuh untuk diproses dan dipahami terlebih dahulu supaya maksud dari user bisa dipahami dengan baik oleh komputer. Ada berbagai terapan aplikasi dari NLP. Diantaranya adalah Chatbot (aplikasi yang membuat user bisa seolah-olah melakukan komunikasi dengan computer), Stemming atau Lemmatization (pemotongan kata dalam bahasa tertentu menjadi bentuk dasar pengenalan fungsi setiap kata dalam kalimat), Summarization (ringkasan dari bacaan), Translation
Tools
(menterjemahkan
bahasa)
dan
aplikasi-aplikasi
lain
yang
memungkinkan komputer mampu memahami instruksi bahasa yang diinputkan oleh user. 1. NLP Area
Pustejovsky dan Stubbs (2012) menjelaskan bahwa ada beberapa area utama penelitian pada field NLP, diantaranya:
Question Answering Systems (QAS): Kemampuan komputer untuk menjawab pertan yaan yang diberikan oleh user. Daripada memasukkan keyword ke dalam browser pencarian, dengan QAS, user bisa langsung bertanya dalam bahasa natural yang digunakannya, baik itu Inggris, Mandarin, ataupun Indonesia.
Summarization: Pembuatan ringkasan dari sekumpulan konten dokumen atau email. Dengan menggunakan aplikasi ini, user bisa dibantu untuk mengkonversikan dokumen teks yang besar ke dalam bentuk slide presentasi.
Machine Translation: Produk yang dihasilkan adalah aplikasi yang dapat memahami bahasa manusia dan menterjemahkannya ke dalam bahasa lain. Termasuk di dalamnya adalah Google Translate yang apabila dicermati semakin membaik dalam penterjemahan bahasa. Contoh lain lagi adalah BabelFish yang menterjemahkan bahasa pada real time.
Speech Recognition: Field ini merupakan cabang ilmu NLP yang cukup sulit. Proses pembangunan model untuk digunakan telpon/komputer dalam mengenali bahasa yang diucapkan sudah banyak dikerjakan. Bahasa yang sering digunakan adalah berupa pertanyaan dan perintah.
Document classification: Sedangkan aplikasi ini adalah merupakan area penelitian NLP Yang paling sukses. Pekerjaan yang dilakukan aplikasi ini adalah menentukan dimana tempat terbaik dokumen yang baru diinputkan ke dalam sistem. Hal ini sangat berguna pada aplikasi spam filtering, news article classification, dan movie review.
1.
Terminologi NLP Perkembangan NLP menghasilkan kemungkinan dari interface bahasa natural menjadi knowledge base dan penterjemahan bahasa natural. Poole dan Mackworth (2010) menjelaskan bahwa ada 3 (tiga) aspek utama pada teori pemahaman mengenai natural language: e. Syntax: menjelaskan bentuk dari bahasa. Syntax biasa dispesifikasikan oleh sebuah grammar. Natural language jauh lebih daripada formal language yang digunakan untuk logika kecerdasan buatan dan program compute.
f. Semantics: menjelaskan arti dari kalimat dalam satu bahasa. Meskipun teori semantics secara umum sudah ada, ketika membangun sistem natural language understanding untuk aplikasi tertentu, akan digunakan representasi yang paling sederhana. g. Pragmatics: menjelaskan bagaimana pernyataan yang ada berhubungan dengan dunia. Untuk memahami bahasa, agen harus mempertimbangan lebih dari hanya sekedar kalimat. Agen harus melihat lebih ke dalam konteks kalimat, keadaan dunia, tujuan dari speaker dan listener, konvensi khusus, dan sejenisnya.
Contoh kalimat di bawah ini akan membantu untuk memahami perbedaan diantara ketiga aspek tersebut di atas. Kalimat-kalimat ini adalah kalimat yang mungkin muncul pada bagian awal dari sebuah buku Artificial Intelligence (AI): 1.
This book is about Artificial Intelligence
2.
The green frogs sleep soundly
3.
Colorless green ideas sleep furiously
4.
Furiously sleep ideas green colorless Kalimat pertama akan tepat jika diletakkan pada awal sebuah buku, karena tepat secara sintaks, semantik, dan pragmatik. Kalimat kedua tepat secara sintaks dan semantic, namun kalimat tersebut akan menjadi aneh apabila diletakkan pada awal sebuah buku AI, sehingga kalimat ini tidak tepat secara pragmatik. Kalimat ketiga tepat secara sintaks, tetapi tidak secara semantik. Sedangkan pada kalimat keempat, tidak tepat secara sintaks, semantik, dan pragmatik. Selain daripada ketiga istilah tersebut ada beberapa istilah yang terkait dengan NLP, yaitu: c. Morfologi. Adalah pengetahuan tentang kata dan bentuknya sehingga bisa dibedakan antara yang satu dengan yang lainnya. Bisa juga didefinisikan asal usul sebuah kata itu bisa terjadi. Contoh : membangunkan – > bangun (kata dasar), mem- (prefix), -kan (suffix) d. Fonetik.
Adalah
menghasilkan
segala
kata
yang
hal
yang
dapat
berhubungan
dikenali.
dengan
Fonetik
suara
digunakan
pengembangan NLP khususnya bidang speech based system.
yang dalam
5. Konsep Text Mining Text mining (juga disebut dengan text data mining, atau knowledge discovery in textual database) adalah proses semi-otomatis dalam mengekstrak berbagai pola data (informasi dan database yang bermanfaat) dari sumber data tak-terstruktur. Perlu diingat bahwa data mining adalah suatu proses untuk mengidentifikasi pola-pola yang valid, baru, berpotensi bermanfaat, dan akhirnya bisa dipahami yang ada di dalam data yang disimpan dalam database terstruktur, dimana data dikelola secara terstruktur berdasarkan atribut atau variable-variabel categorical, ordinal, atau continuous. Text mining sama dengan data mining dalam arti dia punya maksud yang sama dan menggunakan proses yang sama, tetapi dalam text mining input terhadap proses adalah file-file data tak-terstruktur (atau kurang terstruktur) seperti dokumen word, file-file pdf, kutipan-kutipan text, file-file XML, dan seterusnya. Pada dasarnya, text mining bisa dipikir sebagai suatu proses (dengan dua langkah utama) yang mulai dengan memaksakan struktur ke berbagai sumber data berbasis teks yang diikuti dengan mengektrak informasi dan knowledge yang relevan dari data berbasis teks yang sudah terstruktur tersebut
dengan
menggunakan berbagai tool dan teknik data mining. Manfaat text mining sangat terasa di bidang-bidang yang memiliki banyak data teks, seperti bidang hukum (perintah pengadilan), penelitian akademis (artikel-artikel ilmiah), keuangan (laporan quarterly), pengobatan/kedokteran, biologi (interaksi molekuler), teknologi (file-file paten), dan marketing (komentar-komentar pelanggan). Sebagai contoh, berbagai macam jenis interaksi dengan para pelanggan berbasis teks dengan format yang sembarangan dalam hal complain (atau mungkin juga pujian) dan klaim jaminan bisa digunakan untuk mengidentifikasi karakteristik produk dan layanan secara objektif yang dianggap kurang sempurna untuk dijadikan sebagai input terhadap pengembangan produk dan alokasi layanan. Demikian juga, dengan berbagai macam program untuk menjangkau market yang menghasilkan jumlah data yang besar. Dengan tidak membatasi feedback terhadap produk dan layanan dengan bentuk yang terformat, pelanggan bisa menyajikan dengan kata-kata mereka sendiri apa yang mereka pikirkan tentang produk dan layanan perusahaan. Bidang lain dimana pemrosesan otomatis terhadap text tak terstruktur telah membawa berbagai impact adalah dalam email dan
komunikasi
elektronik.
Text
mining
tidak
hanya
bisa
digunakan
untuk
mengklasifikasikan dan memfilter junk email, tetapi juga bisa digunakan untuk memprioritaskan email secara otomatis berdasarkan tingkat kepentingannya dan juga menghasilkan respon otomatis (Weng and Liu, 2004). Berikut ini adalah bidang-bidang penerapan text mining yang paling popular:
Information extraction (ekstraksi informasi). Identifikasi terhadap hubungan dan frase-frase kunci dalam text dengan mencari urutan yang sudah ditetapkan dalam text menggunakan pencocokan pola.
Topic tracking (pelacakan topic). Berdasarkan pada profil user dan berbagai dokumen yang dilihat user, text mining bisa memprediksi dokumen-dokumen lain yang menjadi perhatian/minat user tersebut.
Summarization (peringkasan). Meringkas suatu dokumen untuk menghemat waktu dari sis si pembaca
Clustering. Mengelompokkan dokumen-dokumen yang mirip tanpa memiliki kategori yang sudah ditetapkan sebelumnya.
Concept
linking.
Menghubungkan
berbagai
dokumen
terkait
dengan
mengidentifikasi konsep yang digunakan berbsama dan dengan demikian membantu para user untuk menemukan informasi yang barangkali mereka tidak akan temukan dengan menggunakan metode-metode pencarian tradisional.
Question answering. Menemukan jawaban terbaik pada pertanyaan yang diberikan melalui pencocokan pola berbasis knowledge
6. Information Extraction IE merupakan proses identifikasi fragmen-fragmen khusus suatu dokumen yang membentuk inti dari isi semantiknya. IE biasanya bergantung pada aturan ekstraksi yang dibuat khusus untuk sumber informasi tertentu, yang biasa disebut wrapper (berupa program atau set aturan-aturan). Dengan wrapper ini, berbagai macam struktur sumber data dapat diproses. IE mengekstraksi data terstruktur atau pengetahuan dari teks tak terstruktur dengan mengidentifikasi referensi entitas nama serta hubungan antar entitas. Jadi, IE secara
umum berhubungan dengan penggalian informasi semantik dalam teks. IE meliputi pengenalan entitas, resolusi coreference, ekstraksi hubungan, dan sebagainya. Tujuan umum IE adalah agar komputer dapat melakukan pengolahan dengan data-data yang pada mulanya tidak terstruktur. Lebih spesifik lagi, IE memungkinkan komputer untuk menarik kesimpulan dari konteks logis sebuah data. IE merupakan proses mengolah teks sebagai input dan memproduksi data dengan format yang baku dan tidak ambigu sebagai outputnya. Aplikasi IE menganalisis teks dan menyajikan hanya informasi khusus yang menarik minat pengguna atau sesuai konteks pengguna. Prosees IE dapat dipermudah dengan pemanfaatkan teknik-teknik lainnya, seperti bag of words, NLP, machine learning, model hidden markov, model statistik, dan lain sebagainya. Dalam praktiknya, IE sering dibantu dengan penggunaan pola tata bahasa serta aturan linguistik yang diterapkan pada bahasa alami manusia. Namun, dengan bantuan domain pengetahuan yang sesuai konteks, representasi pengetahuan yang dihasilkan oleh proses IE dapat berkurang dari sisi kompleksitasnya. Selain itu, algoritma pembelajarannya serta efisiensi ekstraksi menjadi semakin baik. Bahkan, disebutkan bahwa tanpa domain pengetahuan yang sesuai konteks, proses dari IE tidak dapat menghasilkan analisis yang tepat.
7. Information Retrieval Information Retrieval (IR) adalah pekerjaan untuk menemukan dokumen yang relevan dengan kebutuhan informasi yang dibutuhkan oleh user. Contoh sistem IR yang paling popular adalah search engine pada World Wide Web. Seorang pengguna Web bisa menginputkan query berupa kata apapun ke dalam sebuah search engine dan melihat hasil dari pencarian yang relevan. Karakteristik dari sebuah sistem IR (Russel & Norvig, 2010) diantaranya adalah: 1. A corpus of documents. Setiap sistem harus memutuskan dokumen yang ada akan diperlakukan sebagai apa. Bisa sebagai sebuah paragraf, halaman, atau teks multipage. 2. Queries posed in a query language. Sebuah query menjelaskan tentang apa yang user ingin peroleh. Query language dapat berupa list dari kata-kata, atau bisa juga menspesifikasikan sebuah frase dari kata-kata yang harus berdekatan
3. A result set. Ini adalah bagian dari dokumen yang dinilai oleh sistem IR sebagai yang relevan dengan query. 4. A presentation of the result set. Maksud dari bagian ini adalah tampilan list judul dokumen yang sudah di ranking. DAFTAR PUSTAKA
•
•
•
•
•
•
•
•
Kusrini, dan Emha Taufiq Luthfi. 2009. Algoritma Data Mining . Yogyakarta: C.V ANDI OFFSET Feri Sulianta dan Domunikus Juju. Data Mining: Meramalkan Bisnis Perusahaan. 2010. Jakarta: Elex Media Komputindo Han, Jiawei, dkk. Data Mining Concepts and Techniques. 2012. The Morgan Kauffman Sungkono, Christian. 2008. Pengantar Ilmu Penggalian Data Bisnis. Jakarta: Penerbit Salemba Empat Defiyanti dan Jajuli. 2015. Integrasi Metode Klasifikasi Dan Clustering dalam Data Mining. Konferensi Nasional Informatik, 2354-645X/15.Diambil dari: https://goo.gl/R89Vq3 https://mti.binus.ac.id/2017/11/24/klasifikasi/: Specialist S3, Universitas Bina Nusantara
ANTONI
WIBOWO,
Lecturer
Nuryani, A., Susanto, B., dan Proboyekti, U., 2007, Implementasi Naive Bayes Classifier pada Program Bantu Penentuan Buku Referensi Mata Kuliah, Jurnal Informatika Vol 3 No. 2, 32-36. Gunawan Gunawan, dan Gita Lovina. 2006. Question Answering System dan Penerapannya Pada Alkitab. Jurnal Informatika Vol. 7.
http://jurnalinformatika.petra.ac.id/index.php/inf/article/view/16479 •
•
•
•
Piskorski, J. and Yangarber, R., 2013, Information Extraction: Past, Present and Future, In: T. Poibeau et al., eds., Multi-source, Multilingual Information Extraction and Summarization, Springer-Verlag, Berlin, Ch.2. Pustejovsky, J., Stubbs A. (2012). Natural Language Annotation for Machine Learning. Beijing: O’Reilly. Massachusetts Institute of Technology (2010). Advanced Natural Language Processing. http://people.csail.mit.edu/regina/6864/. Cambridge Kowalski, M. (2011). Information Retrieval Architecture and Algorithms. New York: Springer.