Skip to main content

Proses dalam Text Mining - Seri Text Mining dan Web Mining (4)

Supaya berhasil, berbagai kajian text mining seharusnya mengikuti methodologi yang baik berdasarkan ‘best practices’.  Model proses standard diperlukan yang mirip dengan CRISP-DM, yang merupakan standard industry untuk project-project data mining. Meskipun sebagian besar CRISP-DM juga bisa diterapkan ke project-project text minig, model proses tertentu untuk text mining akan memasukkan berbagai macam aktivitas data preprocessing yang jauh lebih rumit.

Gambar di samping menggambarkan diagram context tingkat tinggi dari suatu proses text mining pada umumnya. Diagram context ini menyajikan lingkup proses, dengan menekankan beberapa antarmukanya dengan lingkungan yang lebih besar.  Pada dasarnya, gambar tersebut menjelaskan batas-batas dikeitar proses tertentu untuk mengidentifikasi secara eksplisit apa yang akan dimasukkan (dan dikeluarkan) dari proses text mining.


Seperti yang ditunjukkan dalam diagram context, bagian input (panah arah ke dalam di sebelah kiri kotak) dalam proses penemuan ‘knowledge’ berbasis text adalah data yang ‘tak-testruktur’ dan ‘terstruktur ‘ yang dikumpulkan, disimpan dan disediakan untuk proses. Bagian output (panah keluar di sebelah kanan kotak) dari proses adalah knowledge dengan konteks tertentu yang bisa digunakan untuk proses pengambilan keputusan. Berbagai macam kontrol (kendali) atau yang disebut juga dengan constraint (panah ke dalam di bagian atas kotak), dari proses di atas meliputi berbagai batasan software dan hardware, isu tentang privasi, dan berbagai kesulitan yang berkaitan dengan pemrosesan text  yang disajikan dalam bentuk bahasa alami. Mekanisme (panah kea rah dalam di bagian bawah kotak) dari proses di atas meliputi berbagai macam teknik yang tepat, berbagai tool software, dan keahlian domain. Maksud utama dari text mining (dalam konteks penemuan knowledge) adalah untuk memroses data (teks) yang tak-terstruktur (dan juga data terstruktur, bila ada dan relevan ke masalah yang sedang disorot) untuk mengekstrak berbagai pola yang dapat ditindaklanjuti dan berarti bagi proses pengambilan keputusan yang lebih baik.

Di tingkat tinggi (tingkat konsep), proses text mining bisa dipecah menjadi tiga tugas/pekerjaan berurutan, dimana masing-masing memiliki input tertentu untuk menghasilkan output tertentu. Seperti gambar di bawah ini.
Bila, demi suatu alasan tertentu, output dari suatu tugas/pekerjaan tidaklah seperti yang diharapkan, eksekusi untuk ke arah balik mundur ke tugas/pekerjaan sebelumnya diperlukan.


Tugas 1: Establish the corpus (membuat corpus atau badan dari dokumen)

Maksud utama dari aktivitas tugas pertama ini adalah mengumpulkan semua dokumen yang terkait dengan konteks yang diinginkan (domain yang menjadi perhatian) yang sedang dikaji. Koleksi ini mungkin meliputi berbagai dokumen teks, file-file XML, email, halaman-halaman web, dan catatan-catatan pendek. Selain data teks yang sudah siap tersedia, rekaman-rekaman suara mungkin juga bisa ditranskrip dengan menggunakan algoritma pengenalan suara dan dibuat sebagai bagian dari koleksi teks.

Setelah dikoleksi, dokumen-dokumen teks ditransformasi dan di-organisir sedemikian rupa sehingga semuanya ada dalam bentuk penyajian yang sama (misalnya, file-file teks ASCII) untuk pemrosesan komputer. Pengorganisasian dokumen-dokumen bisa sesederhana pengumpulan abstrak  (intisari) teks yang sudah didigitalisasi yang disimpan dalam folder file atau bisa juga dibuat daftar link nya di suatu halaman  web dalam domain khusus. Banyak sekali tool text mining yang tersedia secara komersial bisa menerima itu semua sebagai input dan mengonversi nya menjadi flat file untuk digunakan dalam pemrosesan. Alternatifnya, flat file tersebut bisa disiapkan diluar software text mining dan kemudian disajikan sebagai input ke aplikasi text mining.

Tugas 2: Create the Term-Document Matrix (Membuat matriks yang berisi  Term-Document)

Dalam tugas ini, dokumen-dokumen (corpus) yang sudah di-dijitalisasi dan di-organisir digunakan untuk membuat ‘term-document matrix’  atau TDM (matrik yang berisi berbagai ‘istilah-dan-dokumen’ nya). Dalam TDM, baris menunjukkan dokumen dan kolom menunjukkan istilah-istilah. Hubungan antara berbagai istilah dan dokumen ditandai dengan indeks (misalnya, ukuran relational yang bisa sesederhana jumlah munculnya istilah dalam dokumen masing-masing). Gambar di bawah adalah contoh dari TDM yang sering dijumpai.
Tujuannya adalah mengonversi daftar dokumen yang sudah diorganisir (corpus) menjadi suatu TDM dimana cell-cell diisi dengan indeks yang paling tepat. Asumsi tersebut adalah bahwa inti dari suatu dokumen bisa disajikan dengan daftar dan frekwensi istilah yang muncul dalam dokumen. Namun begitu, apakah semua istilah dianggap penting ketika mengambil karakteristik dokumen? Jelasnya, jawabannya adalah “tidak”. Beberapa istilah, seperti imbuhan/partikel, kata kerja bantu, dan beberapa istilah yang digunakan dalam hampir semua dokumen dalam corpus yang bersifat umum dan karena itu seharusnya tidak dimasukkan dalam proses indexing. Daftar istilah tersebut, secara umum disebut dengan ‘stop terms’ atau ‘stop words’, merupakan sesuatu yang spesifik terhadap domain kajian dan seharusnya diidentifikasi oleh pakar dalam domain tersebut. Sebaliknya, seseorang mungkin saja memilih sekumpulan istilah yang sudah ditentukan sebelumnya dimana dokumen tersebut akan di-indeks (daftar term tersebut disebut dengan ‘include terms’ atau ‘dictionary’). Selain itu, synonym (pasangan istilah yang diperlakukan sama) dan frase khusus (misalnya ‘menara eofel) bisa juga disajikan sehingga entry indeks bisa lebih akurat.

Bentuk penyaringan lainnya yang seharusnya ada untuk membuat indeks adalah ‘stemming’ yang mengacu pada pengurangan kata ke akar kata-nya sehingga, misalkan, bentuk gramatika yang berbeda atau deklinasi kata kerja di-identifikasi dan di-indeks sebagai kata yang sama. Contohnya, stemming akan memastikan bahwa ‘modeled’ akan dikenal sebagai kata ‘model’. Generasi pertama TDM meliputi semua istilah yang unique yang di-identifikasi dalam corpus (dalam bagian kolom), tidak termasuk semua kata yang ada dalam daftar ‘stop term’; semua dokumen (bagian baris); dan jumlah istilah dari setiap dokumen (angka yang ada dalam cell). Apabila, seperti yang umum terjadi, corpus-nya memasukkan jumlah dokumen yang banyak, maka sangat mungkin bahwa TDM akan memiliki jumlah istilah yang sangat besar. Memroses matrix yang sangat besar mungkin akan memakan banyak waktu dan, lebih parah lagi, mungkin menghasilkan ekstrasi pola-pola yang tidak akurat. Pada titik ini, kita harus mengambil keputusan berikut: 1) apa yang menjadi penyajian terbaik dari indeks-indeks tersebut? Dan 2) bagaimana kita bisa mengurangi dimensinalitas matrix tersebut ke ukuran yang bisa di-manage dengan baik?

Menyajikan index. Setelah dokumen input diindeks dan frekuensi kata (dalam dokumen) dihitung, sejumlah transformasi tambahan dapat dilakukan untuk merangkum dan mengumpulkan informasi  yang diekstrak. Frekuensi istilah baku yang muncul umumnya mencerminkan seberapa menonjol atau penting sebuah kata dalam setiap dokumen. Secara khusus, kata-kata yang muncul dengan frekuensi yang lebih besar dalam suatu dokumen adalah penjelas yang lebih baik dari isi dokumen tersebut. Tetapi, tentu tidak masuk akal menganggap bahwa jumlah kata dalam dokumen adalah berbanding lurus dengan tingkat pentingnya kata itu sebagai penjelas dari dokumen. Contohnya, bila suatu kata muncul satu kali dalam dokumen A, tetapi tiga kali dalam dokumen B, maka tidak masuk akal menyimpulkan bahwa kata itu tiga kali lipat lebih penting sebagai penjelas dokumen B dibanding dengan dokumen A. Supaya memiliki TDM (Term-and-Documents Matrix) yang lebih konsisten untuk analisa yang lebih jauh, index-index  baku tersebut perlu di normalisasi. Kebalikasn dari menghitung jumlah frekwensi aktual, penyajian numerik antara kata dan dokumen bisa dinormalisasi dengan menggunakan sejumlah metode alternatif. Berikut ini adalah beberapa metode normalisasi yang umum digunakan:

- Log frequencies. Jumlah frekwensi  kata baku bisa ditransformasi dengan menggunakan fungsi log. Transformasi ini akan meredam frekwensi baku dan bagaimana bisa berpengaruh pada hasil-hasil analisa berikutnya.
                      

Dalam rumus tersebut,    adalah frekwensi kata baku dan  ) adalah hasil transformasi log. Transformasi ini diterapkan ke semua frekwensi yang ada dalam TDM dimana frekwensinya lebih dari nol. 

- Binary frequencies. Demikian juga, bahkan suatu transformasi yang lebih sederhana bisa digunakan untuk membilang apakah suatu kata sudah digunakan dalam dokumen atau belum.


Matrix TDM yang dihasilkan akan hanya berisi 1 dan 0 untuk menunjukkan kemunculan atau ketidakmunculan tiap-tiap kata. Selain itu, transformasi ini meredam efek jumlah frekwensi kata baku analisa dan komputasi berikutnya.

- Inverse document frequencies. Masalah lain yang mungkin ingin dipertimbangkan lebih teliti dan mencerminkan index yang digunakan dalam analisa yang lebih dalam adalah frekwensi kemunculan relatif dokumen (df) terhadap kata yang berbeda-beda. Contohnya, kata seperti ‘guess’ mungkin saja sering muncul dalam semua dokumen, sedangkan kata lain, seperti ‘software’, mungkin hanya muncul beberapa kali. Kemungkinannya adalah bahwa orang menggunakan kata ‘guess’ dalam berbagai macam konteks, tanpa mempedulikan topik tertentu, sedangkan ‘software’ adalah kata yang secara semantik lebih terfokus yang hanya cenderung muncul dalam dokumen yang berkaitan dengan software komputer.  Suatu transformasi yang umum dan sangat bermanfaat yang mencerminkan baik kata-kata khusus (frekwensi dokumen) dan juga frekwensi secara keseluruhan dari kemunculan kata (frekwensi kata) disebut dengan ‘inverse document frequency’. Transformasi ini untuk kata ke-i dan dokumen ke-j bisa ditulis seperti berikut:


Dalam rumus ini, N adalah jumlah total dokumen, dan dfi adalah frekwensi dokumen untuk kata ke-i (jumlah dokumen yang meliputi kata ini). Oleh karena itu, dapat dilihat bahwa formula ini meliputi keduanya baik peredam frekuensi kata sederhana melalui fungsi log (sudah dijelaskan di atas) maupun faktor pembobotan yang mengevaluasi hingga ke 0 jika kata itu muncul dalam semua dokumen [yaitu, log (n / N = 1 ) = 0], dan nilai maksimum ketika kata hanya terjadi sebagai dokumen tunggal [yaitu, log (N / 1) = log (N)]. Dapat dilihat dengan mudah bahwa transformasi ini akan membuat index-index yang mencerminkan keduanya baik frekwensi kemunculan kata secara relatif, maupun kekhususan semantik mereka pada dokumen yang sedang dianalisa. Ini adalah transformasi yang paling umum digunakan di lapangan.

Mengurangi dimensionalitas matrix. Karena TDM seringkali berukuran sangat besar dan agak jarang (kebanyakan cell-cell nya berisi angka 0), pertanyaan penting lainnya yang muncul adalah “bagaimana kita mengurangi dimensinoalitas (jumlah dimensi/kolom dan baris) matrix ke ukuran yang bisa di-manage dengan baik?” Beberapa pilihan yang ada untuk me-manage ukuran matrix:
  • Seorang pakar dari domain yang terlibat memeriksa daftar istilah dan menghapus istilah yang tidak masuk akal untuk konteks yang sedang dikaji (ini adalah proses manual, proses yang melelahkan).
  • Menghapus istilah-istilah yang kemunculannya sangat sedikit  dalam beberapa gelintir dokumen.
  • Men-transform matrix menggunakan ‘singular value decomposition’ (SVD).
Singular Value Decomposition (SVD), yang sangat terkait dengan principal component analysis (PCA), mengurangi keseluruhan dimensi dari matrix input (jumlah dokumen x jumlah istilah yang diekstrak) ke dimensi yang lebih rendah, dimana setiap dimensi menyajikan tingkat variabilitas (antara kata dan dokumen) terbesarnya yang mungkin terjadi. Idealnya, sang analis akan meng-identifikasi dua atau tiga dimensi yang menonjol yang menunjukkan sebagian besar variabilitas (perbedaan) antara kata dan dokumen, dan dengan demikian mengidentifikasi makna kata tersembunyi yang mengorganisir kata dan dokumen di dalam analisa tersebut. Setelah dimensi-dimensi tersebut diidentifikasi, ‘makna’ kata inti yang ada didalamnya (yang sedang dikaji dan dijelaskan) dalam dokumen sudah diekstrak. Secara spesifik, andaikan bahwa matrix A menyajikan matrix kemunculan istilah m x n dimana m adalah jumlah dokumen input dan n adalah jumlah istilah yang dipilih untuk analisa. SVD akan menghitung matrix orthogonal U = m x r, matrix orthogonal V = n x r, dan marix D = r x r, sehingga A = UDV’ dan r adalah jumlah nilai eigen dari A’A.

Tugas 3: Mengekstrak Knowledge (Pengetahuan)

Dengan menggunakan TDM yang sudah terstruktur dengan baik, dan mungkin saja yang sudah ditingkatkan dengan menggunakan beberapa elemen struktur data, pola-pola baru diekstrak dalam konteks masalah yang sedang menjadi kajian. Kategori utama beberapa metode ekstraksi knowledge adalah classification (klasifikasi), association (asosiasi), dan trend analysis (analisa trend). Gambaran singkat dari metode-metode tersebut adalah seperti berikut.

Klasifikasi. Bisa dibilang bahwa topik paling umum dalam menganalisa data yang kompleks adalah klasifikasi (classification atau categorization) dari objek-objek tertentu. Tujuaannya adalah meng-klasifikasi-kan suatu data yang sudah ditentukanke dalam kategori-kategori yang sudah ditetapkan (atau disebut dengan class / kelas). Ketika diterapkan ke domain text mining, tugas tersebut dikenal dengan ‘text categorization’ (kategorisasi teks), dimana kategori-kategori yang sudah ditetapkan (subjek, topik, atau konsep) terhadap kumpulan dokumen teks. Tujuannya adalah menemukan topik yang benar (subjek atau konsep) untuk setiap dokumen dengan menggunakan model yang sudah dibuat dengan menggunakan data pelatihan (training data set) yang melibatkan banyak dokumen dan kategori dokumen aktual. Saat ini, klasifikasi teks otomatis diterapkan pada berbagai macam konteks, termasuk untuk indexing text secara otomatis dan semi-otomatis (interactive), untuk spam filtering, web page categorization di dalam katalog yang hirarkikal, menghasilkan metada secara otomatis, deteksi ‘genre’ (aliran musik), dan banyak lagi lainnya.

Dua pendekatan utama dalam klasifikasi teks adalah ‘knowledge engineering’ dan ‘machine learning’. Dengan pendekatan ‘knowledge-engineering’, pengetahuan yang dimiliki oleh sang pakar mengenai suatu kategori di-kode-kan ke dalam sistem baik secara deklaratif maupun dalam bentuk berbagai macam rules klasifikasi prosedural. Dengan pendekatan ‘machine-learning’, suatu proses induktif akan membuat suatu ‘classifier’ melalui ‘learning’ (proses belajar) dengan memnggunakan berbagai sampel yang sudah diklasifikasian sebelumnya. Karena jumlah dokumen meningkat tajam secara eksponensial dan karena pengetahuan dari pakar semakin sulit untuk diambil, trend popularitas diantara kedua pendekatan tersebut lebih mengarah ke pendekatan ‘machine-learning’.

Clustering. Clustering adalah proses yang ‘unsupervised’ dimana objek-objek diklasifikasikan ke dalam beberapa kelompok secara alamiah yang disebut dengan ‘cluster’. Bila dibandingkan dengan categorization, dimana kumpulan sampel pelatihan yang sudah terklasifikasi digunakan untuk membuat model yang berdasarkan ‘features’ (atribut) dari beberapa class untuk meng-klasifikasi sampel data baru yang belum memiliki label atau class, maka di dalam clustering tujuaannya adalah untuk mengelompokkan sekumpulan objek yang tak-berlabel (tidak ada class) seperti contohnya dokumen, komentar pelanggan, halaman-halaman web menjadi cluster-cluster yang memiliki arti tanpa adanya knowledge sebelumnya.

Clustering sangat bermanfaat di berbagai macam area penerapan, mulai dari document retrieval (pemuatan/pencarian dokumen) hingga ke pencarian konten web yang lebih baik. Faktanya, salah satu penerapan clustering yang paling terkenal adalah analisa dan navigasi dari sekumpulan text yang sangat besar, seperti halaman-halaman web. Asumsi dasarnya adalah bahwa berbagai dokumen yang relevan cenderung lebih mirip dibandingkan dengan dokumen-dokumen yang tidak relevan. Apabila asumsi ini berlaku, maka clustering terhadap dokumen-dokumen berdasarkan kemiripan konten mereka akan meningkatkan ke-efektif-an pencarian.
  • Peningkatan ‘recall’ dalam proses pencarian dokumen. Clustering, karena cara kerjanya berdasarkan kemiripan secara keseluruhan dan bukan berdasarkan adanya istilah tunggak, maka bisa meningkatkan ‘recall’ (salah satu metode pengukuran akurasi dalam clustering) dari pencarian berbasis ‘query’ sedemikian ruoa sehingga ketika suatu ‘query’ cocok dengan suatu dokumen maka seluruh clusternya akan ditampilkan.
  • Peningkatan ‘precision’ dalam proses pencarian dokumen. Clustering juga bisa meningkatkan ‘precision’ (salah satu metode pengukuran akurasi dalam clustering) dalam proses pencarian. Karena jumlah dokumen yang ada dalam koleksi semakin meningkat pesat, hal itu menjadi sulit untuk mencari dokumen yang cocok di dalam daftar. Clustering bisa membantu mengelompokkan dokumen-dokumen tersebut ke sejumlah kelompok dokumen yang jauh lebih kecil dari dokumen-dokumen terkait, dengan mengurutkannya berdasarkan relevansi, dan menampilkan hanya dokumen-dokumen yang berasal dari cluster yang paling relevan saja.
Dua metode clustering yang paling populer adalah ‘scatter/gather clustering’ dan ‘query-specific clustering’:
  • Scatter/gather. Metode browsing dokumen dengan cara ini menggunakan clustering untuk meningkatkan efisiensi browsing dokumen yang dilakukan oleh manusia apabila specific search query (query pencarian) tidak bisa di-formulasikan. Dalam artian, metode ini secara dinamis menghasilkan daftar konten untuk koleksinya tersebut dan mengadaptasi dan memodifikasinya  dalam menanggapi pemilihan oleh pengguna.
  • Query-specific clustering. Metode ini menerapkan suatu pendekatan clustering hirarkis dimana dokumen-dokumen yang paling relevan dengan query yang diminta akan tampil dalam cluster kecil yang ketat yang ada di dalam  (nested) cluster yang lebih besar yang berisi dokumen-dokumen yang kurang mirip, sehingga menciptakan spektrum tingkat relevansi diantara dokumen-dokumen tersebut. Metode ini menunjukkan konsistensi yang lebih baik untuk berbagai kumpulan dokumen yang berukuran besar tetapi realistis.
Asosiasi (association). Definisi formal dan deskripsi detil tentang asosiasi (association) ada dalam seri data mining (link berikut: http://beritati.blogspot.co.id/2013/08/metode-metode-dalam-data-mining-seri.html). Gagasan utama dalam menghasilkan rule-rule asosiasi (atau dalam memecahkan masalah dalam keranjang belanja/market-basket) adalah untuk mengidentifikasi kumpulan data (transaksi) yang sering terjadi/muncul dan terjadinya/munculnya secara bersamaan. Dalam text mining, asosiasi secara khusus mengacu pada hubungan langsung antara konsep (istilah/kata) atau kumpulan konsep. Kumpulan konsep dari rule asosiasi A ==> C, yang mengaitkan dua kumpulan konsep yang sering muncul yaitu A dan C, biisa dikuantifikasikan dengan dua ukuran dasar yaitu ‘support’ dan ‘confidence’. Dalam kasus ini, ‘confidence’ adalah persentase dokumen-dokumen yang meliputi semua konsep (istilah/kata) dalam C dalam subset yang sama dari dokumen-dokumen tersebut yang meliputi semua konsep (istilah/kata) dalam A. Support adalah persentase (atau jumlah) dokumen yang meliputi semua konsep dalam A dan C. Contohnya, dalam suatu kumpulan dokumen konsep/istilah/kata “Software Implementation Failure” mungkin muncul paling sering dalamasosiasi dengan “Enterprise Resource Planning” dan “Customer Relationship Management” dengan support (4%) dan confidence (55%), yang artinya bahwa 4 persen dari dokumen-dokumen tersebut memiliki semua tiga konsep yang disajikan/muncul secara bersamaan dalam dokumen yang sama dan dari dokumen-dokumen tersebut yang di dalamnya mengandung “Software Implementation Failure”, 55 persen diantaranya juga mengandung “Enterprise Resource Planning” dan “Customer Relationship Management”.

Text mining yang menerapkan association rules sudah digunakan untuk menganalisa literatur yang sudah terbut (berita dan artikel ilmiah yang ada di web) untuk memetakkan wabah dan kemajuan flu burung. Gagasannya adalah untuk mengidentifikasi secara otomatis asosiasi antara berbagai area geografi, penyebaran diantara spesies, dan pencegahannya (perawatannya).

Analisa Trend (Trend Analysis). Metode baru dari analisis trend di dalamtext mining telah didasarkan pada gagasan bahwa berbagai jenis distribusi konsep adalah fungsi dari koleksi dokumen; yaitu, koleksi yang berbeda menyebabkan distribusi konsep yang berbeda untuk set yang sama konsep. Oleh karena itu adalah hal yang mungkin untuk membandingkan dua distribusi yang dinyatakan identik kecuali bahwa mereka berasal dari sub-koleksi yang berbeda. Satu petunjuk penting dari jenis analisis ini adalah memiliki dua koleksi dari sumber yang sama (misalkan dari kumpulan jurnal akademik yang sama) tetapi dari berbagai poin yang berbeda dalam suatu waktu. Delen dan Crossland (peneliti text mining) telah meterapkan analisis trend ke sejumlah besar artikel akademik (yang terbit di tiga jurnal akademik ber-rating paling tinggi) untuk mengidentifikasi evolusi berbagai konsep kunci di bidang sistem informasi.

Comments

Popular posts from this blog

Pengertian Binding dalam Bahasa Pemrograman dan Kapan Terjadinya

Binding dimaksudkan sebagai pengikatan (association) antara suatu entity dengan atributnya, misalnya binding/pengikatan antara suatu variable dengan tipe datanya atau dengan nilainya, atau dapat juga antara suatu operasi dengan simbol, misalnya simbol + dikenali sebagai operasi penjumlahan atau simbol ^ dikenali sebagai operasi pangkat, dll.  Peristiwa binding dan kapan terjadinya binding (biasanya disebut dengan binding time ) berperan penting dalam membicarakan semantics suatu bahasa pemrograman. Beberapa kemungkinan binding time adalah:

Latihan Soal Jawab Matematika Diskrit

Berikut di bawah ini adalah latihan soal jawab untuk matematika diskrit dengan topik-topik: Pernyataan Logika Circuits dan Ekspresi Boolean Argumen (valid/tidak valid) Teori Himpunan Permutasi Fungsi --o0o-- Pernyataan Logika 1. Buatlah tabel kebenaran untuk menentukan yang mana tautology dan yang mana contradiction dalam pernyataan logika (a) dan (b) di bawah ini: a. (p ∧ q) ∨ (∼p ∨ (p ∧ ∼q)) b.  (p ∧ ∼q) ∧ (∼p ∨ q)

Contoh proses normalisasi relasi dari UNF – 1NF – 2NF – dan 3NF

Dalam posting tulisan tentang: “Tujuan dan Manfaat Normalisasi dalam Perancangan Database” , kita sudah mempelajari tentang: “Apa itu normalisasi” dan “Mengapa kita perlu melakukan normalisasi”. Kedua pertanyaan itu sudah terjawab dalam tulisan tersebut.  Kemudian dalam posting tulisan tentang: “Konsep Ketergantungan Fungsional, Normalisasi, dan Identifikasi Primary Key dalam Perancangan Sistem Database” , kita sudah mempelajari suatu konsep penting yang digunakan untuk melakukan normalisasi, yaitu konsep ketergantungan fungsional yang terdiri dari ketergantungan penuh, ketergantungan parsial atau sebagian, dan ketergantungan transitif. Proses normalisasi pertama-tama dilakukan dengan mengidentifikasi adanya ketergantungan-ketergantungan tersebut dalam relasi-relasi dan kemudian menghilangkannya. Cara melakukan normalisasi, mengidentifikasi berbagai macam ketergantungan, dan menghilangkan ketergantungan pada relasi-relasi bisa dipelajari ulang dalam postingan tulisan d...