45
PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA (Skripsi) Oleh Said Achmad FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS LAMPUNG BANDAR LAMPUNG 2018

PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

  • Upload
    vungoc

  • View
    226

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA

(Skripsi)

Oleh

Said Achmad

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS LAMPUNG

BANDAR LAMPUNG

2018

Page 2: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

ABSTRACT

ALGORITHM DESIGN FOR DATA NORMALIZATION AUTOMATION

By

SAID ACHMAD

Normalization is a technique to design database structure by grouping the attributes of

a relation to avoid the set of relationships that cause data duplication, data

inconsistency, and null value. Automation normalization can simplify a database

design has a normal form, several recent works have been done to do normalization

automatically through various approaches. In this paper, database design and some data

records used as an alternative approach to find the candidate key and do normalization.

Normalization steps are written in algorithms to possibly the computer to run them.

The algorithm can accept the first uniform database design as an input and provide the

output of the second normal form database design and possible to achieve the third

normal form.

Keywords: Database, Normalization, Automatic Normalization

Page 3: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

ABSTRAK

PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA

Oleh

SAID ACHMAD

Normalisasi merupakan suatu teknik untuk membentuk struktur basis data dengan

mengelompokkan atribut suatu relasi untuk menghindari terbentuknya relasi yang

menimbulkan duplikasi data, inkonsistensi data, dan null value. Otomatisasi

normalisasi dapat mempermudah suatu rancangan basis data memiliki bentuk yang

normal, beberapa penelitian telah dilakukan untuk melakukan normalisasi secara

otomatis melalui berbagai pendekatan. Penelitian ini menggunakan rancangan basis

data dan beberapa record data sebagai pendekatan alternatif untuk menemukan

candidate key dan melakukan normalisasi. Langkah-langkah normalisasi dituliskan

dalam bentuk algoritma, sehingga memungkinkan komputer untuk menjalankannya.

Algortima yang dirancang dapat menerima masukan rancangan basis data bentuk

normal kesatu dan memberikan keluaran rancangan basis data bentuk normal kedua

dan jika memungkinkan akan mencapai bentuk normal ketiga.

Kata kunci: Basis Data, Normalisasi, Normalisasi otomatis

Page 4: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA

Oleh

Said Achmad

Skripsi

Sebagai Salah Satu Syarat untuk Memperoleh Gelar SARJANA KOMPUTER

Pada Jurusan Ilmu Komputer

Fakultas Matematika dan Ilmu Pengetahuan Alam

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS LAMPUNG

BANDAR LAMPUNG

2018

Page 5: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis
Page 6: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis
Page 7: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis
Page 8: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

RIWAYAT HIDUP

Penulis dilahirkan pada 7 April 1996 di Jakrta sebagai anak

ketiga dari tiga besaudara dengan Ayah bernama Achmad dan

Ibu bernama Ratna Susilowati.

Penulis menyelesaikan Pendidikan Sekolah Dasar (SD) di SD

Negeri 06 Cileungsi tahun 2008, menyelesaikan Sekolah

Menegah Pertama (SMP) di SMP Negeri 1 Cileungsi tahun 2011, kemudian

menyelesaikan Sekolah Menegah Atas (SMA) di SMA Negeri 7 Bekasi tahun 2014.

Penulis mendapat peringkat pertama lomba komputer tingkat Kecamatan Cileungsi

tahun 2007, mendapat peringkat pertama lomba komputer tingkat Kabupaten Bogor

tahun 2007, dan menjadi siswa prestasi SMA Negeri 7 Bekasi tahun 2012.

Penulis melanjutkan jengjang Pendidikan dengan terdaftar sebagai mahasiswa

Jurusan Ilmu Komputer Universitas Lampung tahun 2014. Penulis melakukan

Kerja Praktik di PT. Rekayasa Industri pada bulan Februari tahun 2017 dan

melaksanakan Kuliah Kerja Nyata di Desa Sukabaru, Kecamatan Penengahan

Kabupaten Lampung Selatan pada bulan Agustus tahun 2017

Page 9: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

SANWACANA

Segala puji dan syukur penulis panjatkan kehadirat Allah SWT, atas berkat rahmat

dan hidayah-Nya yang diberikan kepada penulis, sehingga penulis dapat

menyelesaikan penulisan skripsi yang berjudul “Perancangan Algoritma

Otomatisasi Normalisasi Data” dengan baik. Tidak lupa sholawat serta salam

semoga selalu tercurahkan kepada Nabi Besar Muhammad SAW beserta

keluarganya, para sahabatnya dan pengikutnya.

Pada kesempatan ini penuils mengucapkan terima kasih kepada pihak-pihak yang

berdedikasi tinggi membantu dalam menyelesaikan skripsi ini. Oleh karena itu

ucapan terima kasih disampaikan kepada:

1. Kedua orang tua, Achmad dan Ratna Susilowati yang tanpa kenal lelah

selalu memberikan doa dan dukungan.

2. Kedua kakak, Zaki Achmad dan Zakiah Achmad yang selalu memberikan

semangat dan doa.

3. Bapak Wahyudin Zakie, Bapak Zuhri An, Bapak Kris Nur Akbar, serta

rekan-rekan System Development dan ICT Development PT. Rekyasa

Indutri, yang telah banyak memberikan pelajaran serta motivasi hingga

penulis bisa sampai ditahap ini..

Page 10: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

4. Bapak Didik Kurniawan, S.Si., M.T. sebagai pembimbing utama, yang

senantiasa meluangkan waktunya di tengah-tengah kesibukan untuk

membimbing dan memberikan arahan dalam penyusunan skripsi ini.

5. Bapak Rico Andrian, S.Si., M.Kom. sebagai pembimbing II, yang telah

membimbing, memberikan komentar dan masukan selama penyusunan

skripsi ini.

6. Bapak Aristoteles, S.Si., M.Si. sebagai pembahas, yang telah memberikan

kritik dan masukan yang bermanfaat untuk perbaikan penyusunan skripsi

ini.

7. Bapak Dr. rer. nat. Akmal Junaidi, M.Sc selaku Dosen Jurusan Ilmu

Komputer yang senantiasa memberikan motivasi, ide, dan saran sehingga

penulis bisa melakukan penyusunan skripsi ini.

8. Bapak Dr. Ir. Kurnia Muludi, M.S. Sc. selaku Ketua Jurusan Ilmu Komputer

Universitas Lampung.

9. Bapak Didik Kurniawan, S.Si., M.T. selaku Sekretaris Jurusan Ilmu

Komputer Universitas Lampung.

10. Anri Dicky Septiawan dan Tanti Oktaviani yang senantiasa sabar dan selalu

memberikan dukungan, doa, dan menjadi pribadi yang menginspirasi

penulis hingga penulis bisa sampai ditahap ini.

11. Keluarga KKN Periode II tahun 2017 Desa Sukabaru: Aditya Mancini,

Erika Sempana Br. Ginting, Indri Komalasari, dan Nabila Prastika Putri

yang telah memberikan arti kebersamaan, semangat dan kenangan berharga

selama ini.

Page 11: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

12. Rekan-rekan satu angkatan Ilmu Komputer 2014 yang telah memberikan

dukungan dan motivasi serta menjadi tempat berbagi keluh dan kesah

selama menempuh perkuliahan.

Bandar Lampung, 21 September 2018

Said Achmad

Page 12: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

DAFTAR ISI

DAFTAR ISI ........................................................................................................... i

DAFTAR TABEL ................................................................................................ iii

DAFTAR GAMBAR ............................................................................................ iv

BAB I PENDAHULUAN

1.1 Latar Belakang ............................................................................................. 1

1.2 Rumusan Masalah ........................................................................................ 4

1.3 Batasan Masalah........................................................................................... 5

1.4 Tujuan .......................................................................................................... 5

1.5 Manfaat ........................................................................................................ 5

BAB II TINJAUAN PUSTAKA

2.1 Algoritma ..................................................................................................... 6

2.2 Basis Data .................................................................................................... 7

2.3 Key, Candidate Key, Primary Key dan Foreign Key ................................... 7

2.4 Normalisasi .................................................................................................. 9

2.5 Normalisasi Berbasiskan Matrix ................................................................ 15

2.6 Normalisasi Berbasiskan Candidate Key ................................................... 17

Page 13: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

ii

BAB III MTODOLOGI PENELITIAN

3.1 Waktu dan Tempat Penelitian .................................................................... 21

3.2 Alat Pendukung .......................................................................................... 21

3.3 Metodologi Penelitian ................................................................................ 22

3.4 Metode Pengumpulan Data ........................................................................ 25

BAB IV PEMBAHASAN

4.1 Inisialisasi Record Data.............................................................................. 26

4.2 Identifikasi Key .......................................................................................... 28

4.3 Analisis Dependencies ............................................................................... 31

4.4 Analisis Primary Key ................................................................................. 34

4.5 Normalisasi Otomatis ................................................................................. 37

4.6 Pengujian .................................................................................................... 41

4.7 Pengujian White Box .................................................................................. 48

BAB V KESIMPULAN

5.1 Kesimpulan ................................................................................................ 60

5.2 Saran ........................................................................................................... 60

DAFTAR PUSTAKA

LAMPIRAN

Page 14: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

DAFTAR TABEL

Tabel 1 Hasil Pengujian Berdasarkan Jumlah Record Data ..................................44

Tabel 2 Hasil Perbandingan Dengan Tools Sejenis...............................................47

Tabel 3 Test Case Algoritma Inisialisasi Record Data..........................................49

Tabel 4 Test Case Algoritma Identifikasi Key.......................................................51

Tabel 5 Test Case Algoritma Analisis Dependencies ...........................................54

Tabel 6 Test Case Algoritma Analisis Key............................................................56

Page 15: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

DAFTAR GAMBAR

Gambar 1 Contoh Candidate Key...........................................................................7

Gambar 2 Contoh Primary Key dan Foreign Key.................................................9

Gambar 3 Non-Atomic Value................................................................................12

Gambar 4 Bentuk Normal Pertama.......................................................................13

Gambar 5 Normal Pertama ke Normal Kedua......................................................13

Gambar 6 Bentuk Normal Ketiga .........................................................................14

Gambar 7 Algoritma Directed Graph Matrix.......................................................15

Gambar 8 Algoritma Dependency Closure...........................................................16

Gambar 9 A;goritma Circular Dependency .........................................................16

Gambar 10 Algoritma A1 .....................................................................................18

Gambar 11 Algoritma A2 .....................................................................................18

Gambar 12 Algoritma A3 .....................................................................................19

Gambar 13 Algoritma A4 .....................................................................................19

Gambar 14 Algoritma A5 .....................................................................................20

Gambar 15 Algoritma A6 .....................................................................................20

Gambar 16 Diagram Metodologi Penelitian.........................................................22

Gambar 17 Inisialisasi Record Data .....................................................................38

Gambar 18 Identifikasi Key ..................................................................................39

Gambar 19 Analisis Dependencies .......................................................................39

Gambar 20 Analisisi Primary Key........................................................................40

Gambar 21 Hasil Normalisasi...............................................................................40

Gambar 22 Pengujian Pertama .............................................................................41

Gambar 23 Pengujian Kedua ................................................................................42

Gambar 24 Masukan Tools Normalisasi...............................................................44

Gambar 24 Masukan Tools Normalisasi...............................................................44

Page 16: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

v

Gambar 25 Masukan Normalisasi Menggunakan Record Data ...........................44

Gambar 26 Keluaran Tools Normalisasi...............................................................45

Gambar 27 Keluaran Normalisasi Menggunakan Record Data ...........................46

Gambar 28 Rumus Cyclomatic Complexity..........................................................48

Gambar 29 Flowgraph Algoritma Inisialisasi Record Data .................................49

Gambar 30 Hasil Tahap Inisialisasi Record Data.................................................50

Gambar 31 Flowgraph Algoritma Identifikasi Key ..............................................50

Gambar 32 Hasil Tahap Identifikasi Key..............................................................53

Gambar 33 Flowgraph Algoritma Analisis Dependencies ...................................53

Gambar 34 Hasil Tahap Analisis Dependencies ..................................................55

Gambar 35 Flowgraph Algoritma Analisis Primary Key .....................................55

Gambar 36 Hasil Tahap Analisis Primary Key ....................................................59

Page 17: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

BAB I

PENDAHULUAN

1.1 Latar Belakang

Basis data merupakan tempat penyimpanan data dalam sistem informasi yang kini

menjadi pendukung proses bisnis suatu instansi atau organisasi. Basis data

mendukung sebuah sistem untuk memiliki kemudahan dalam menyimpan data,

memperbarui data, dan mengolah data menjadi informasi. Basis data memberikan

kemudahan dalam menyimpan, mengambil, memanipulasi, dan mencari data

dengan cepat. Basis data merupakan media penyimpanan yang memberikan

kemudahan bagi penggunanya untuk dapat merancang bagaimana data akan

disimpan sesuai dengan kebutuhan. Rancangan basis data merupakan hal yang

menentukan mudahnya suatu data disimpan, diambil, dimanipulasi dan dicari

dengan cepat, perancangan basis data harus dilakukan dengan benar untuk

menghindari kemungkinan terjadinya kegagalan dalam proses penyimpanan data,

kehilangan data penting yang masih dibutuhkan, serta adanya data yang tidak

konsisten setelah terjadinya pembaharuan data.

Teknik yang dapat digunakan untuk menangani kendala yang dihadapi saat

melakukan perancangan basis data adalah teknik normalisasi basis data.

Normalisasi merupakan suatu cara untuk membentuk rancangan basis data dengan

Page 18: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

2

mengelompokkan atribut suatu relasi sehingga terbentuk relasi yang tidak

menimbulkan duplikasi data, inkonsistensi data, dan null value. Normalisasi

memiliki beberapa macam bentuk yang sering digunakan yaitu bentuk normal

pertama (1NF), bentuk normal kedua (2NF), dan bentuk normal ketiga (3NF).

Bentuk-bentuk normal pada teknik normalisasi memiliki syarat yang harus

dipenuhi untuk sebuah rancangan dapat mencapai bentuk tersebut.

Otomatisasi normalisasi dapat mempermudah suatu rancangan basis data memiliki

bentuk yang normal, beberapa penelitian telah dilakukan untuk melakukan

normalisasi secara otomatis melalui berbagai pendekatan. M. Naghibzadeh, Amir

H Bahamani dan Behnam Bahmani melakukan penelitian normalisasi otomatis

dengan membentuk matrix berdasarkan pendefinisian ketergantugan yang ada pada

semua atribut sebagai basis dari proses normalisasi otomatis. Langkah-langkah

pembentukan matrix hingga normalisasi dituliskan dalam bentuk algoritma.

Penelitian M. Naghibzadeh menghasilkan algoritma yang dapat melakukan

normalisasi mencapai bentuk normal Boyce-Codd beserta pembentukan primary

key yang dimiliki tiap tabel (Naghibzadeh, 2008).

G. Sunitha dan DR. A. Jaya juga melakukan penelitian untuk melakukan

normalisasi otomatis melalui pendekatan knowledge based. G. Sunitha menerapkan

pengetahuan yang dimiliki manusia kepada sistem untuk melakukan proses

normalisasi, namun G. Sunitha tidak menampilkan scara spesifik bagaimana proses

normalisasi otomatis berjalan pada penelitiannya. Normalisasi otomatis pada

penelitian yang dilakukan oleh G. Sunitha menghasilkan rancangan basis data

mencapai bentuk normal ketiga (Sunitha, 2013).

Page 19: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

3

Penelitian untuk melakukan normalisasi otomatis juga dilakukan oleh Moussa

Demba. Moussa Demba melakukan normalisasi otomatis dengan

memperhitungkan semua candidatee key, berbeda dengan penelitian lain yang

menggunakan web-based tool dan hanya memperhitungkan primary key.

Candidatee key yang ada dianalisis berdasarkan himpunan atribut dan pendefinisian

ketergantugan tiap atribut sebagai masukan dari proses normalisasi otomatis.

Langkah-langkah normalisasi yang memperhitungkan semua candidatee keys

dituliskan dalam bentuk algoritma. Penelitian Moussa Demba menghasilkan

algoritma yang dapat melakukan normalisasi mencapai bentuk normal ketiga

(Demba, 2013). Penelitian yang dilakukan M. Naghibzadeh dan Moussa Demba

memiliki kesamaan yaitu menggunakan himpunan atribut serta pendefinisian

ketergantungan fungsional sebagai masukan meskipun keduanya memiliki

pendekatan yang berbeda.

Normalisasi otomatis pada penelitian ini merupakan pengembangan dari penelitian

yang dilakukan oleh Moussa Demba, dengan memperhitungkan semua candidate

key untuk melakukan normalisasi, dan menghasilkan algoritma yang dapat

melakukan normalisasi otomatis. Penelitian ini menggunakan rancangan basis data

dan beberapa record data sebagai pendekatan alternatif untuk menemukan

candidate key. Langkah-langkah normalisasi pada penelitian ini dituliskan dalam

bentuk algoritma.

Algoritma memungkinkan suatu komputer dapat menjalankan perintah untuk

menyelesaikan tugas tertentu, sehingga algoritma berperan pada setiap hal yang

terjadi di dalam komputer. Algoritma pada komputer merupakan sekumpulan

langkah untuk menyelesaikan pekerjaan yang dideskripsikan dengan tepat sehingga

Page 20: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

4

komputer dapat menjalankannya (Cormen, 2013). Langkah-langkah normalisasi

yang dituliskan dalam bentuk algoritma, memungkinkan komputer untuk

menjalankannya dan memberikan solusi rancangan basis data dalam bentuk normal,

sehingga otomatisasi normalisasi dapat dilakukan.

Algoritma pada penelitian ini berisi urutan normalisasi otomatis menggunakan

rancangan basis data dan record data sebagai masukan, kemudian diproses untuk

memenuhi aturan-aturan normalisasi, dan menghasilkan rancangan basis data

dalam bentuk yang normal. Algoritma yang dibentuk dapat menerima masukan

rancangan basis data bentuk normal pertama, kemudian memberikan keluaran yang

dapat mencapai rancangan basis data dalam bentuk normal kedua, atau normal

ketiga. Algoritma akan diterapkan menjadi kode program, sehingga kemampuan

record data sebagai pendekatan alternatif dapat dikaji dan dievaluasi dengan

mudah.

1.2 Rumusan Masalah

Rumusan masalah dalam penelitian ini, antara lain :

1. Bagaimana membentuk algoritma yang dapat mengidentifikasi candidate

key melalui record data?

2. Bagaimana membentuk algoritma otomatisasi yang dapat melakukan

normalisasi menggunakan rancangan basis data dan beberapa record

data?

3. Bagaimana kemampuan record data sebagai pendekatan alternatif untuk

mengidentifikasi candidate key pada suatu rancangan basis data?

Page 21: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

5

1.3 Batasan Masalah

Batasan masalah dalam penelitian ini adalah sebagai berikut :

1. Algoritma pada penelitian ini memiliki masukan berupa rancangan basis

data dalam bentuk normal pertama.

2. Algoritma pada penelitian ini memiliki masukan minimal empat record

data dan maksimal sepuluh record data. Semakin banyak jumlah atribut

dari rancangan basis data, maka jumlah record data yang harus dijadikan

masukan juga semakin banyak dan bervariasi.

3. Algoritma pada penelitian ini menghasilkan keluaran yang berupa

rancangan basis data yang mencapai bentuk normal kedua atau normal

ketiga.

1.4 Tujuan

Tujuan dari penelitian ini adalah membentuk algoritma otomatisasi yang dapat

melakukan normalisasi basis data menggunakan rancangan basis data dan beberapa

record data.

1.5 Manfaat

Manfaat dari penelitian ini adalah sebagai berikut :

1. Memberikan tambahan pendekatan alternatif dalam bidang normalisasi

otomatis.

2. Menjadi referensi untuk penelitian sejenis dan sebagai bahan

pertimbangan untuk dikembangkan lebih lanjut.

Page 22: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

BAB II

TINJAUAN PUSTAKA

2.1 Algoritma

Algoritma merupakan prosedur atau urutan langkah-langkah untuk memecahkan

suatu masalah. Algoritma adalah skema dimana langkah-langkah suatu proses

dikerjakan secara berurutan, sebuah algoritma harus benar, setiap langkah harus

didefinisikan dengan tepat dan tidak ambigu, setiap langkah dalam algoritma harus

sederhana sehingga dapat dikerjakan dalam sejumlah waktu yang masuk akal.

Algoritma dapat memiliki nol atau lebih masukan, dan mempunyai nol atau lebih

keluaran. Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas,

jika suatu program yang merupakan implementasi dari suatu algoritma tidak pernah

berhenti maka dapat mengindikasikan bahwa program tersebut berisi algoritma

yang salah.

Algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Langkah-

langkah penyelesaian tersebut dapat dituliskan dalam notasi algoritmik. Notasi

algoritmik tidak seperti pada notasi bahasa pemrograman, tidak ada notasi yang

standar atau aturan baku unuk menuliskan algoritma, setiap orang dapat

mendefinisikan notasi algoritmik sendiri. Notasi algoritmik yang baik adalah notasi

yang mudah dibaca dan mudah pula ditranslasikan ke dalam notasi bahasa

pemrograman. Notasi algoritmik yang diimplementasikan kedalam notasi bahasa

Page 23: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

7

pemrograman tertentu disebut sebagai program komputer (Munir, 2011).

Algoritma merupakan alur pikiran yang dituangkan dalam bentuk tertulis untuk

menyelesaikan suatu pekerjaan tertentu dan dapat dimengerti oleh orang lain. Alur

pikiran yang dituangkan dapat berbeda meskipun memiliki tujuan menyelesaikan

pekerjaan yang sama dengan hasil yang sama, pekerjaan tersebut dapat diselesaikan

dengan berbagai langkah yang tersusun secara logis sehingga pekerjaan dapat

diselesaikan dengan benar. Langkah-langkah untuk menyelesaikan pekerjaan

dituangkan dalam bentuk tertulis berupa kalimat, gambar atau bagan, kemudian

diberikan kepada komputer dalam bentuk kumpulan instruksi yang disebut program

untuk melaksanakan langkah-langkah yang ada dan menyelesaikan pekerjaan

(Sjukani, 2014).

2.2 Basis Data

Basis data merupakan kumpulan data yang dapat terintegrasi dan diatur sedemikian

rupa sehingga data tersebut dapat dimanipulasi, diambil, dan dicari secara cepat.

Data pada basis data akan diklasifikasikan berdasarkan jenis dan disimpan didalam

wadah yang disebut dengan tabel. Tabel tersusun atas kolom dan baris, dalam dunia

basis data kolom disebut dengan field yang merupakan atribut dari suatu tabel, dan

baris disebut dengan record yang merupakan baris data yang disimpan (Raharjo,

2011).

2.3 Key, Candidate Key, Primary Key dan Foreign Key

Basis data relasional merupakan model basis data yang memiliki sekumpulan tabel-

tabel yang saling berhubungan (memiliki relasi). Tabel-tabel dalam basis data

Page 24: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

8

model relasional diwujudkan dengan adanya pendefinisian primary key dan foreign

key. Key merupakan satu atau gabungan dari beberapa atribut yang bersifat unik,

sehingga nilai yang ada dalam atribut tersebut dapat menjadi pembeda tiap baris

data dan dapat digunakan untuk menemukan nilai tertentu didalam tabel.

Candidate Key merupakan satu atau sekumpulan minimal atribut yang dapat

menjadi key didalam suatu tabel. Gambar 1 merupakan contoh rancangan basis data

yang memiliki candidate key. Atribut Name dan Event merupakan candidate key

karena atribut tersebut merupakan kumpulan minimal atribut yang memiliki sifat

unik karena tidak ada record data yang memiliki nilai Name dan Event yang sama

(Stephens, 2009).

Gambar 1. Contoh Candidate Key (Stephens, 2009)

Primary key merupakan sebuah aturan yang memastikan bahwa pada setiap baris

data dalam kolom yang didefinisikan sebagai primary key bersifat unik (berbeda

Page 25: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

9

antara baris data satu dengan yang lainnnya), primary key diterapkan pada kolom-

kolom yang akan dijadikan sebagai pembeda.

Foreign key dapat dikatakan sebagai nilai turunan dari primary key. Atribut yang

didefinisikan sebagai foreign key, nilainya harus diacu atau diambil dari atribut

yang didefinisikan sebagai primary key, sehingga jika data yang dimasukkan

kedalam kolom foreign key tidak ada dalam kolom primary key, maka data akan

gagal disimpan. Primary key dan foreign key menjadikan tabel-tabel dalam suatu

basis data dapat saling terhubung dan memiliki relasi. Gambar 2 merupakan contoh

primary key dan foreign key (Raharjo, 2011).

Gambar 2. Contoh primary key dan foreign key (Raharjo, 2011)

2.4 Normalisasi

Normalisasi merupakan suatu teknik dalam perancangan basis data untuk

menghindari adanya duplikasi data, inkonsistensi data, dan munculnya null value.

Page 26: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

10

Normalisasi memiliki tujuan mengidentifikasi kesesuaian relasi yang mendukung

data yang memenuhi kebutuhan pengguna. Relasi tersebut memiliki karakteristik

mencakup atribut dengan hubungan logika yang menjelaskan mengenai functional

dependencies dan minimal duplikasi untuk tiap atribut. Relasi yang terbentuk dari

hasil normalisasi menjadikan pembaruan data yang disimpan dalam basis data dapat

dilakukan dengan operasi yang lebih sedikit, data yang tidak konsisten dapat

dikurangi, dan resiko kehilangan data dapat diminimalisir.

Functional dependencies atau ketergantungan fungsional merupakan istilah yang

digunakan untuk mengidentifikasi kesesuaian relasi. Functional dependencies

merupakan suatu konsep dasar pada tahap normalisasi untuk mengidentifikasi

apakah nilai pada suatu atribut menentukan nilai pada atribut lainnya, dengan kata

lain jika dalam suatu atribut X memiliki nilai yang bergantung pada nilai dalam

atribut Y maka dapat dikatakan X memiliki ketergantungan fungsional pada Y

(Connolly & Begg, 2015).

Functional dependencies menjelaskan hubungan yang dimiliki antar atribut dalam

relasi, sehingga functional dependencies merupakan konsep inti terkait dengan

normalisasi. Relasi dengan variabel R memiliki atribut A dan B kemudian setiap

nilai A memiliki hubungan dengan tepat satu kali nilai B maka B dapat dinyatakan

functional dependencies terhadap A dengan notasi A→B. Tipe functional

dependencies dapat diidentifikasi melalui relasi yang ada antar atribut, sebagai

contoh suatu tabel memiliki beberapa atribut yang dinyatakan sebagai berikut,

SiswaBelajar(IDSiswa, NamaSiswa, IPK, IDRuang, TanggalBelajar). Atribut

IDRuang dimisalkan sebagai B, dan IDSiswa dimisalkan sebagai A, maka

NamaSiswa merupakan subset dari A. Dependencies antar atibut IDSiswa, dan

Page 27: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

11

IDRuang dinyatakan IDSiswa→IDRuang maka dapat dikategorikan sebagai tipe

fully functionally dependencies, hal ini ditunjukkan oleh B yang memiliki

ketergantungan fungsional secara penuh terhadap A bukan pada subset A.

Dependencies antar atibut IDSiswa, NamaSiswa, dan IDRuang dinyatakan

IDSiswa, NamaSiswa→IDRuang, maka dikategorikan sebagai tipe partially

dependencies, dikarenakan jika NamaSiswa dihilangkan maka ketergantungan tetap

ada antara B terhadap A. Tipe lain dari functional dependencies adalah transitive

dependency dengan relasi sebuah atribut A, B, C dinyatakan A→B dan B→C maka

melalui B, C transitive dependency terhadap A tetapi A tidak functional

dependencies terhadap B atau C (Indrajani, 2014).

Normalisasi dilakukan dalam beberapa langkah dengan menganalisis primary key

dan functional dependencies yang dimiliki antar atribut. Langkah-langkah

normalisasi mengacu pada bentuk normal tertenu sesuai dengan kondisi yang

dimilikinya, dalam normalisasi terdapat beberpa kondisi dan bentuk tertentu untuk

mengklasifikasikan tabel, diantaranya sebagai berikut,

a. Bentuk tidak normal

Suatu tabel dikatakan dalam bentuk tidak normal jika masih memiliki grup

yang berulang (repeating group). Repeating group merupakan himpunan

atribut didalam tabel yang memiliki lebih dari satu nilai unutuk sebuah

nominated key attributes (Connolly & Begg, 2015).

Page 28: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

12

b. Bentuk normal pertama (1NF)

Tabel pada suatu rancangan dikatakan dalam bentuk normal pertama jika

telah memiliki atribut yang akan dijadikan primary key, tidak ada set

atribut yang berulang, dan titik potong setiap baris (record) dan kolom

(atribut) hanya mengandung satu nilai (bersifat atomic). Gambar 3

menunjukkan baris yang tidak bersifat atomic yaitu pada atribut

Dlocation.

Gambar 3. Non-Atomic Value (Elmasri & Navathe, 2016)

Syarat yang ada pada bentuk normal pertama dapat dipenuhi dengan

menentukan satu atau beberapa atribut untuk dijadikan sebagai key,

kemudian melengkapi data yang kosong pada baris yang berisikan data

yang berulang, kemudian memastikan setiap baris dan kolom hanya

mengandung satu nilai. Gambar 3 merupakan contoh dari nilai tidak

atomic, pisahkan nilai tidak atomic yang ada pada baris pertama atribut

Dlocation, namun hal ini menyebabkan redundancy pada atribut Dname,

Dnumber, dan Dmgr_ssn, untuk menangani hal tersebut atribut primary

key perlu ditambah sehingga primary key tabel Department merupakan

gabungan dari dua atribut yaitu Dnumber dan Dlocation. Gambar 4

merupakan contoh tabel dalam bentuk normal pertama.

Page 29: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

13

Gambar 4. Bentuk Normal Pertama (Elmasri & Navathe, 2016)

c. Bentuk normal kedua (2NF)

Tabel pada suatu rancangan basis data dapat dikatakan dalam bentuk

normal kedua jika partially dependencies pada setiap atribut non-key,

kepada atribut yang primary key telah dikelompokkan dalam bentuk tabel

terpisah. Syarat yang ada pada bentuk normal kedua dapat dipenuhi jika

suatu tabel sudah dalam bentuk normal pertama, kemudian

mengidentifikasi partially dependencies terhadap atribut primary key, dan

menghilangkan partially dependencies dengan membentuk relasi baru.

Gambar 5 merupakan normalisasi dari bentuk normal pertama ke normal

kedua.

Gambar 5. Normal Pertama ke Normal Kedua (Elmasri & Navathe, 2016)

Page 30: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

14

d. Bentuk normal ketiga (3NF)

Tabel pada rancangan basis data telah dikatakan dalam bentuk normal

ketiga, bila tidak ditemukan lagi atribut yang bukan primary key memiliki

transitive dependency pada atribut primary key, dengan kata lain tidak ada

atribut non-key yang memiliki ketergantungan fungsional pada atribut

non-key lainnya, atribut non-key hanya boleh memiliki ketergantungan

fungsional pada primary key. Syarat yang ada pada bentuk normal ketiga

dapat dipenuhi jika suatu tabel sudah dalam bentuk normal kedua,

kemudian mengidentifikasi transitive dependency yang ada pada bentuk

normal kedua, kemudian menghilangkan transitive dependencies dengan

membentuk relasi baru. Gambar 6 merupakan normalisasi dari bentuk

normal kedua ke normal ketiga. (Elmasri & Navathe, 2016).

Gambar 6. Bentuk Normal Ketiga (Elmasri & Navathe, 2016)

Page 31: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

15

2.5 Normalisasi Berbasiskan Matrix

M. Nagibzadeh bersama Amir Hassan Bahmani, dan Behnam Bahmani melakukan

penelitian mengenai normalisasi otomatis pada tahun 2008 dengan judul Automatc

Database Normalization And Primary Key Generation. M. Nagibzadeh melakukan

penelitian otomatisasi normalisasi dengan menggunakan skema tabel beserta atribut

dan himpunan ketergantungan fungsional sebagai masukan. Skema tabel yang

dijadikan masukan dalam bentuk normal pertama.

Tahap pertama adalah membentuk dependency graph berdasarkan himpunan

ketergantungan fungsional yang diberikan. Tahap kedua adalah membentuk

dependency matrix dengan menganalisis semua ketergantungan yang ada diantara

determinan keys, melalui dependency matrix ketergantungan yang ada pada setiap

atribut dapat diketahui. Tahap ketiga adalah membentuk directed graph matrix,

pada tahap ini directed graph matrix dibentuk dengan menganalisis tiap baris yang

ada pada dependency matrix untuk menemukan kemungkinan ketergantungan

langsung (direct) yang ada diantara determinant keys. Gambar 7 merupakan

algoritma untuk membentuk directed graph matrix.

Gambar 7. Algoritma Directed Graph Matrix (Nagibzadeh, 2008)

Page 32: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

16

Tahap keempat adalah membentuk determinan key transirtive dependencies matrix

dengan menganalisis jalur yang ada diantara semua pasangan atribut, jika

ditemukan jalur dari node x ke node y dapat dikatakah bahwa y transitively depends

terhadap x. Transirtive dependencies dianalisis melalui algoritma dependency

closure pada gambar 8. Tahap kelima adalah memeriksa apabila suatu atribut A

dinyatakan bergantung pada C melalui B, terdapat kemungkinan bahwa atribut A

bergantung pada C melalui atribut yang lain, untuk menangani hal ini maka

dependency matrix perlu diperbarui. Gambar 9 merupakan algotima untuk

memperbarui dependency matrix.

Gambar 8. Algoritma Dependency Closure (Nagibzadeh, 2008)

Gambar 9. Algoritma Circular Dependency (Nagibzadeh, 2008)

Page 33: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

17

Dependency matrix, directed graph matrix, dan determinan key transirtive

dependencied matrix merupakan basis utama dalam normalisasi otomatis pada

penelitian yang dilakukan oleh M. Nagibzadeh dan rekan. Normalisasi dilakukan

dengan menganalisis tiap tiap matriks untuk mencapai bentuk normal kedua (1NF),

normal ketiga (3NF), hingga bentuk normal boyce code atau BCNF (Nagibzadeh,

2008).

2.6 Normalisasi Berbasiskan Candidate Key

Moussa Demba memperkenalkan algoritma untuk melakukan normalisasi up to

3NF melalui penelitiannya pada tahun 2013 dengan judul Algorithm For Relational

Database Normalization Up To 3NF. Moussa Demba menggunakan pendekatan

algoritma untuk normalisasi dengan memperhatikan semua candidate key termasuk

primary key. Normalisasi dilakukan menggunakan sekma tabel beserta atribut

dalam bentuk 1NF dan himpunan ketergantungan fungsional sebagai masukan.

Tahap pertama adalah menganalisis himpunan ketergantungan fungsional yang

diberikan, kemudian menghitung X+ dimana X merupakan sekumpulan atribut, dan

X+ merupakan sekumpulan atribut yang bergantung pada subset dari X, melalui X+

maka dapat dilihat apakah sebuah ketergantungan fungsional Y → A terdapat dalam

himpunan ketergantungan fungsional, sehingga redundant dependencies dapat

ditemukan. Gambar 10 merupakan algoritma untuk menghitung X+.

Page 34: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

18

Gambar 10. Algoritma A1 (Demba, 2013)

Tahap kedua adalah menghilanghkan atribut asing yang tersirat (implied extraneous

attributes) dalam suatu ketergantungan fungsional yang ada. Implied extraneous

attributes dihilangkan dengan menganalisis atribut dan himpunan ketergantungan

fungsional yang diberikan, sehingga terbentuk himpunan ketergantungan

fungsional yang tidak terdapat implied extraneous attributes didalamnya, atau

disebut dengan partially-left reduced dependencies. Algoritma yang digunakan

pada tahap kedua ditunjukkan oleh gambar 11.

Gambar 11. Algoritma A2 (Demba, 2013)

Tahap ketiga adalah menghilangkan redundant dependencies yang ada, dengan

menganalisis himpunan ketergantungan fungsional yang diberikan, dan himpunan

partially-left reduced dependencies, sehingga dihasilkan himpunan yang tidak

Page 35: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

19

memiliki ketergantungan fungsional rangkap. Algoritma yang digunakan pada

tahap ketiga ditunjukkan oleh gambar 12.

Gambar 12. Algoritma A3 (Demba, 2013)

Tahap keempat adalah menemukan full dependencies dan partial dependencies

yang ada pada himpunan ketergantungan fungsional. Algoritma yang digunakan

pada tahap keempat ditunjukkan oleh gambar 13. Tahap kelima adalah membentuk

skema dalam bentuk 2NF, melalui skema atribut dan himpunan ketergantungan

fungsional hasil dari proses sebelumnya. Algoritma yang digunakan pada tahap

kelima ditunjukkan oleh gambar 14.

Gambar 13. Algoritma A4 (Demba, 2013)

Page 36: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

20

Gambar 14. Algoritma A5 (Demba, 2013)

Tahap keenam adalah membentuk skema dalam bentuk 3NF, melalui skema atribut

dan himpunan ketergantungan fungsional hasil dari proses sebelumnya, sehingga

skema basis data dalam bentu normal ketiga telah tercapai. Algoritma yang

digunakan pada tahap keenam ditunjukkan oleh gambar 15.

Gambar 15. Algoritma A6 (Demba, 2013)

Page 37: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

BAB III

METODOLOGI PENELITIAN

3.1 Waktu dan Tempat Penelitian

Penelitian dilaksanakan di Laboratorium Komputasi Dasar Universitas Lampung

yang berada di jalan Soemantri Brojonegoro No.1 Gedung Meneng, Bandar

Lampung. Penelitian ini dilaksanakan mulai bulan Maret 2018 sampai dengan Juni

2018.

3.2 Alat Pendukung

Peralatan pendukung yang digunakan dalam penelitian ini yaitu,

1. Perangkat Keras (Hardware)

Perangkat keras yang digunakan dalam penelitian ini adalah laptop

dengan spesifikasi,

Processor : Intel Core i5 2430M CPU 2.40 GHz.

RAM : 8.00 GB

System Type : 64-bit operating system, x64-based processor

Page 38: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

22

2. Perangkat Lunak (Software)

Perangkat lunak yang digunakan dalam penelitian ini adalah,

Sistem Operasi Windows 10 Home Pro 64-bit

Apache Web Server

Brackets Text Editor

3.3 Metodologi Penelitian

Penelitian dilakukan berdasarkan diagram metodologi penelitian pada gambar 16

berikut.

Gambar 16. Diagram Metodologi Penelitian

a. Inisialisasi Record Data

Tahap inisialisasi record data merupakan tahapan awal dalam algoritma

normalisasi pada penelitian ini. Tahap ini menggunakan skema tabel dan

Page 39: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

23

beberapa record data yang menjadi basis untuk memperhitungan semua

candidate key, kemudian melalui proses selanjutnya untuk melakukan

normalisasi. Tahap inisialisasi record data dijalankan dengan melakukan

inisialisasi dari tabel masukan yang telah berisi beberapa record data dengan

format teks terstruktur tab delimited ke array multidimensi untuk diproses

pada tahap berikutnya. Berkas teks terstruktur yang dijadikan masukan berisi

atribut pada baris pertama, dan beberapa record data pada baris berikutnya,

kemudian menggunakan tab delimited sebagai pemisah antar kolom. Proses

dijalankan dengan melakukan inisialisasi satu demi satu baris yang ada pada

berkas masukan kedalam array. Hasil yang diberikan dari tahap inisialisasi

record data adalah data dalam bentuk array multidimensi untuk kemudian

dilakukan identifikasi pada proses beriktunya.

b. Identifikasi Key

Tahap identifikasi key merupakan proses tiap tiap kolom pada array

multidimensi diidentifikasi untuk menemukan candidate key. Langkah-

langkah identifikasi key dilakukan dengan membaca panjang nilai dari record

data yang diberikan, proses pembacaan dilakukan pada tiap-tiap kolom yang

ada pada array multidimensi, apabila panjang nilai dari record data yang ada

pada kolom tersebut konsisten maka akan dilanjutkan ke langkah berikutnya

yaitu mengidentifikasi redundansi data, jika tidak ditemukan redundansi data

maka indeks dari atribut pada kolom yang sedang diidentifikasi dapat

digunakan sebagai primary key, dan akan disimpan kedalam array baru,

Page 40: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

24

kemudian diproses melalui tahap analisis primary key, namun jika ditemukan

adanya redundansi data maka indeks dari atribut pada kolom yang sedang

diidentifikasi akan disimpan kedalam array lain untuk kemudian diproses

melalui tahap analisis dependencies. Hasil yang diberikan dari tahap

identifikasi key adalah dua buah array yang menyimpan candidate key untuk

kemudian diproses pada tahap berikutnya.

c. Analisis Dependencies

Analisis dependencies merupakan tahap menganalisis atribut-atribut yang

tersimpan didalam array dari proses sebelumnya. Proses analisis dilakukan

dengan melihat ketergantungan yang ada pada atribut melalui nilai yang ada

pada record data. Analisis dilakukan pada tiap kolom yang ada, jika suatu

kolom pada baris-baris tertentu memiliki kesamaan, maka akan dicocokkan

pada atribut (kolom) berikutnya apakah memiliki nilai yang sama atau tidak,

jika memiliki banyak kesamaan nilai, maka dapat dikatakan atribut tersebut

memiliki ketergantungan, kemudian dipisahkan menjadi tabel baru. Hasil dari

proses analisis dependencies adalah terbentuknya rancangan tabel baru yang

antar atributnya memiliki ketergantungan.

d. Analisis Primary Key

Tahap analisis primary key merupakan tahap pemisahan atribut-atribut

menjadi tabel baru berdasarkan indeks atribut yang tersimpan dalam array

Page 41: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

25

hasil dari proses identifikasi key. Langkah-langkah yang dilakukan adalah

dengan melihat posisi atribut dari indeks yang tersimpan didalam array, jika

letaknya bersebelahan (selisish antara indeks ke n+1 dengan indeks ke n

adalah 1) maka kedua atribut tersebut merupakan himpunan atribut primary

key yang akan berada pada satu tabel yang sama, jika letak atribut dari indeks

berikutnya berjauhan (selisih antara indeks ke n+1 dengan indeks ke n lebih

dari 1) maka atribut yang berada diantara indeks ke n dengan indeks ke n+1

akan dipisahkan menjadi tabel baru, namun jika indeks ke n merupakan

elemen terakhir yang ada pada array hasil dari proses identifikasi, maka

atribut yang dimulai dari indeks ke n tersebut hingga atribut terakhir akan

dipisahkan menjadi tabel baru. Hasil dari proses analisis primary key adalah

terbentuknya rancangan tabel baru.

Keluaran yang dihasilkan dari proses analisis dependencies dan analisis

primary key yaitu berupa rancangan tabel baru yang mencapai bentuk normal

kedua atau normal ketiga.

3.4 Metode Pengumpulan Data

Metode pengumpulan data yang digunakan pada penelitian ini adalah metode studi

literatur. Studi literatur yang digunakan yaitu buku-buku, jurnal, dan situs internet yang

menyajikan informasi tentang algoritma, perancangan basis data, dan normalisasi basis

data.

Page 42: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

BAB V

KESIMPULAN

5.1 Kesimpulan

Kesimpulan yang diperoleh berdasarkan penelitian otomatisasi normalisasi data

adalah sebagai berikut:

1. Algoritma yang dapat melakukan normalisasi otomatis telah dibentuk.

2. Algoritma yang dibentuk dapat melakukan identifikasi candidate key melalui

beberapa record data.

3. Algoritma yang dibentuk dapat melakukan normalisasi.

4. Record data dapat dijadikan pendekatan alternatif untuk mengidentifikasi

candidate key.

5.2 Saran

Saran yang dapat diberikan untuk pengembangan penelitian normalisasi otomatis

adalah sebagai berikut:

1. Algoritma sebaiknya dikembangkan hingga dapat melakukan normalisasi

yang mencapai bentuk normal keempat.

Page 43: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

61

2. Langkah-langkah untuk mengidentifikasi primary key berdasarkan record

data berupa nomor urut, sebaiknya ditambahkan untuk meningkatkan

keakuratan algoritma dalam mengidentifikasi primary key

3. Algoritma sebaiknya diimplementasikan menggunakan complier sehingga

alokasi memori lebih maksimal.

Page 44: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

DAFTAR PUSTAKA

Connolly, Thomas and Begg, Carolyn. 2015. Database Systems: A Practical

Approach to Design, implementation and management. Sixth Edition.

Boston: Pearson Education.

Cormen, Thomas H. 2013. Algorithm Unlocked. Cambridge: MIT Press.

Demba, Moussa. 2013. Algorithm For Relational Database Normalization Up To

3NF. International Journal of Database Management System.

Elmasri, Ramez and Navathe, Shamkant B. 2016. Fundamentals Of Database

Systems Seventh Edition. New Jersey: Pearson Education.

Indrajani. 2014. Penganter Sistem Basis Data Case Study All In One. Jakarta:

Elex Media Komputindo.

Jaya, A and Sunitha, G. 2013. A Knowledge Based Approach For Automatic

Database Normalization. International Journal of Edvanced Research in

Computer Engineering & Technology.

Page 45: PERANCANGAN ALGORITMA OTOMATISASI NORMALISASI DATA ...digilib.unila.ac.id/54954/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · Gambar 1 Contoh Candidate Key ... melakukan perancangan basis

Munir, Rinaldi 2011. Algoritma dan Pemrograman Dalam Bahasa Pascal dan C.

Edisi Revisi. Bandung: Informatika.

Naghibzadeh, M and Bahmani, Amir H and Bahmani, Behnam. 2008. Automatic

Database Normalization and Primary Key Generation. International Journal

of Database Management System.

Raharjo, Budi. 2011. Membuat Database Menggunakan MySql. Bandung :

Informatika.

Sjukani, Moh. 2014. Algoritma(Algoritma dan Struktur Data 1) dengan

C,C++,dan Java—Teknik-Teknik Dasar Pemrograman Komputer. Jakarta:

Mitra Wacana Media.

Stephens, Rod. 2009. Beginning Database Design Solutions. Indianapolis: Wiley

Publishing.

Sunitha, G and Jaya, A. 2013. A Knowledge Based Approach For Automatic

Database Normalization. International Journal of Database Management

System.