BAB 3 ANALISIS DAN PERANCANGAN. menentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi

dokumen-dokumen yang mirip
BAB 3 ANALISIS DAN PERANCANGAN SISTEM

BAB 4 IMPLEMENTASI DAN EVALUASI. Untuk menjalankan alat bantu normalisasi ini dibutuhkan sarana perangkat keras

UNIVERSITAS BINA NUSANTARA. Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil tahun 2005/2006

UNIVERSITAS BINA NUSANTARA. Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil tahun 2005/2006

BAB III METODE PENELITIAN. penyelesaian hasil utama. Analisis sistem perangkat lunak adalah dokumen. komputer yang akan mengimplementasikan sistem.

BAB III ANALISA DAN DESAIN SISTEM

BAB III ANALISIS DAN PERANCANGAN SISTEM. Kambing Etawa Menggunakan Metode Pearson Square pada Peternakan Nyoto.

Gambar 1. Jendela Ms. Access Pilihan: New : menu untuk membuat file basis data baru. Recent : menu untuk membuka file basis data yang sudah ada.

BAB 3 PERANCANGAN PROGRAM

BAB II LANDASAN TEORI

TABEL DATABASE TABEL - KODE BARANG TOKO INFOMART BARANG - NAMA BARANG - HARGA

BAB III ANALISA DAN DESAIN SISTEM

BAB III ANALISA DAN DESAIN SISTEM

APLIKASI KOMPUTER. Pokok Bahasan : MS. Access 2010 (Bagian 1) Anggun Puspita Dewi, S.Kom., MM. Modul ke: Fakultas MKCU

Mengenal dan Mulai Bekerja dengan Access 2007

BAB III ANALISA DAN DESAIN SISTEM

BAB IV IMPLEMENTASI DAN PEMODELAN. digunakan, dan juga evaluasi output. Implementasi program menjelaskan tentang

BAB III ANALISIS DAN DESAIN SISTEM

Modul ke: Aplikasi Komputer 13TEKNIK. Pengantar Ms. Access Lanjutan. Fakultas. Hendri, ST. MT. Program Studi

BAB III ANALISA DAN DESAIN SISTEM

BAB IV ANALISA DAN PEMBAHASAN. diberikan dari kerja praktek ini adalah proses entry data alat tulis kantor yang

BAB 3 PERANCANGAN PROGRAM APLIKASI

BAB III ANALISIS DAN PERANCANGAN SISTEM. berupa data data hasil wawancara, observasi, analisis masalah.

BAB III ANALISA DAN DESAIN SISTEM

KSI B ~ M.S. WULANDARI

BAB V PENGUJIAN DAN IMPLEMENTASI SISTEM. Pengujian merupakan bagian yang penting dalam siklus pembangunan

BAB III ANALISIS DAN DESAIN SISTEM

BAB V IMPLEMENTASI DAN PENGUJIAN SISTEM. Implementasi perancangan pada sistem informasi perparkiran

TABEL. Tabel Halaman 25

Sebelum kita membahas tentang Microsoft Access ada baiknya jika kita terlebih dahulu mengetahui apa yang dimaksud dengan database.

BAB 3 ANALISA DAN PERANCANGAN SISTEM

BAB IV HASIL DAN PEMBAHASAN

Menggunakan Microsoft Access (perhatikan untuk red text)

BAB-II OPERASI TABEL

SOAL ULANGAN HARIAN KKPI KLS XI AP

Panduan Membuat Data Flow Diagram, Entity Relationship Diagram, dan Database Menggunakan Power Designer

BAB-I DATABASE DAN MENGENAL MICROSOFT ACCESS

BAB II LANDASAN TEORI

DASAR DASAR MICROSOFT ACCESS

BAB III ANALISIS DAN PERANCANGAN

KOMPUTER APLIKASI BISNIS

PERANCANGAN PROGRAM. struktur/hirarki menu, State Transition Diagram (STD), modul dan pseudocode, serta

MODUL PRAKTIKUM PEMROGRAMAN BASIS DATA

BAB III ANALISIS DAN DESAIN SISTEM

Mengoperasikan Dasar-Dasar Basis Data (Database)

BAB III ANALISA DAN DESAIN SISTEM

BAB IV DESKRIPSI PEKERJAAN. data, selanjutnya melakukan tahapan sebagai berikut: menyajikan suatu rancangan langkah kerja dari sistem yang baru.

/1. Flowmap Usulan Daftar Anggota

A. MAKSUD DAN TUJUAN 1. MAKSUD

BAB V PENGUJIAN DAN IMPLEMENTASI SISTEM. Pengujian perangkat lunak ini menggunakan metode pengujian black box.

BAB III ANALISA DAN PERANCANGAN. Pada dasarnya perancangan sistem yang dibuat oleh peneliti adalah

BAB 4 IMPLEMENTASI DAN TESTING Perkiraan Kebutuhan Piranti Keras (Hardware) b. Memory DDR 512MB

BAB IV DESKRIPSI PEKERJAAN. informasi dalam membuat Aplikasi Pemeliharaan Sarana (Pengadaan).

BAB IV ANALISA DAN DESAIN

BAB III ANALISA DAN DESAIN SISTEM

Aplikasi Kompoter. Teori-teori dan fungsi-fungsi yang ada dalam MS.Acces Giri Purnama, S.Pd, M.Kom. Modul ke: Fakultas FT

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISA DAN DESAIN SISTEM

BAB III ANALISIS DAN PERANCANGAN. Dalam proses produksi terdapat beberapa faktor yang akan mempengaruhi

BAB II LANDASAN TEORI

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISIS DAN DESAIN SISTEM

Membuat File Database & Tabel

BAB III ANALISIS DAN DESAIN SISTEM

BAB IV IMPLEMENTASI DAN EVALUASI BAB IV EVALUASI DAN EVALUASI. Implementasi pada penelitian tugas akhir ini berupa aplikasi

X. PENGANTAR DATABASE

BAB 4 PERANCANGAN DAN IMPLEMENTASI. operasi Linux Fedora Core 4 dengan menggunakan bahasa pemrograman Java.

BAB III ANALISA DAN DESAIN SISTEM

BAB III ANALISA DAN DESAIN SISTEM

BAB III ANALISIS DAN PERANCANGAN SISTEM

Mengenal Form Base. Pada Bab ini anda akan mempelajari cara :

BAB III ANALISA DAN DESAIN SISTEM

BAB III ANALISA DAN DESAIN SISTEM

ULANGAN HARIAN KKPI TAHUN PELAJARAN 2014/2015. : Mengoperasikan sistem operasi software/ : Mengoperasikan software aplikasi Basis Data


Microsoft Access 2007

BAB 4 PERANCANGAN, RENCANA IMPLEMENTASI, DAN EVALUASI

BAB IV ANALISIS DAN PERANCANGAN. Analisis Sistem ini merupakan penguraian dari suatu sistem pengolahan aplikasi

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM

BAB 4 DESKRIPSI PEKERJAAN. tersebut kedalam laporan perilaku siswa selama 1 hari, 1 bulan, dan 1 tahun.

[MODUL ACCESS PEMULA]

BAB IV DISKRIPSI KERJA PRAKTIK. 1. Studi Literatur dan Identifikasi Permasalahan. mengidentifikasi seluruh permasalahan dalam tugas khusus ini.

BAB V IMPLEMENTASI SISTEM. tersebut siap diterapkan atau diimplementasikan. Tahap Implementasi Sistem

BAB III ANALISIS DAN DESAIN SISTEM

BAB II LANDASAN TEORI

BAB III ANALISIS DAN DESAIN SISTEM

E-Trik Visual C++ 6.0

BAB III ANALISA DAN DESAIN SISTEM

BAB IV DESKRIPSI KERJA PRAKTEK. COLLECTION III, penulis berusaha menemukan permasalahan yang ada,

BAB III METODE PENELITIAN. sistem yang digunakan untuk menggambarkan aliran data secara keseluruhan

BAB IV ANALISIS DAN PERANCANGAN SISTEM. dilakukan dalam pengumpulan data tersebut, antara lain:

BAB III ANALISIS DAN PERANCANGAN

BAB III PEMBAHASAN MASALAH

SEKOLAH TINGGI ILMU EKONOMI STIE SEBELAS APRIL SUMEDANG

MODUL III STRUCTURED QUERY ANGUAGE (SQL)

MODUL TIK: Tutorial Merancang Database dengan Microsoft Access Oleh: Heri Istiyanto

BAB 3 PERANCANGAN PROGRAM. Dalam perancangan program aplikasi optimalisasi pemesanan bahan baku ini,

PEDOMAN PENGGUNAAN SOFTWARE

BAB 4 PERANCANGAN SISTEM DAN EVALUASI. perancangan diagram UML (use case, activity, class, dan sequence), perancangan

Transkripsi:

BAB 3 ANALISIS DAN PERANCANGAN 3. Analisis Kebutuhan Sistem Hal pertama yang perlu dilakukan dalam analisis kebutuhan sistem adalah menentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu kebutuhan sistem fungsional dan kebutuhan sistem non-fungsional, yang diperlukan untuk menemukan tujuan yang hendak dicapai. (Whitten, 24, p22) 3.. Kebutuhan Fungsional Sistem menerima masukan data secara manual atau dari disk. Sistem dapat menentukan Candidate Key. Sistem menerima penentuan Primary Key oleh user untuk beberapa Candidate Key. Sistem dapat menentukan Functional Dependency. Sistem menyediakan pilihan Functional Dependency untuk ditentukan oleh user. Sistem menyediakan pilihan algoritma dekomposisi dan sintesis untuk dipilih oleh user. Sistem dapat melakukan proses normalisasi bentuk pertama, kedua dan ketiga. Sistem dapat menggambarkan diagram hubungan atau relasi antar entiti. Sistem dapat menghasilkan kode SQL untuk tabel-tabel yang terbentuk. Sistem dapat mengintegrasikan kode SQL langsung ke SQL Server. 48

49 Database Normalization Tool Open Project Create Project Import Table Input Table Manual Entry Data Selecting Primary Key Selecting FD User Selecting Normalization Algorithms Create Normal Form Create ERD Create SQL Code Generate to SQL Server View Normal Form Gambar 3. Representasi Kebutuhan Fungsional dalam Diagram Use Case

5 Spesifikasi Use case Use case Create Project Use case ini menggambarkan proses user menggunakan sistem untuk membuat proyek baru.. User memilih menu New Project. 2. Sistem menampilkan layar Create Project. 3. User memasukkan nama proyek, deskripsi proyek dan pembuat proyek. 4. Sistem menampilkan pilihan input tabel. Use case Open Project Use case ini menggambarkan proses user menggunakan sistem untuk membuka proyek yang pernah dibuat sebelumnya.. User memilih menu Open Project. 2. User memilih proyek mana yang akan dibuka. 3. Sistem menjalankan use case view. Use case Import Table. User memilih basis data yang akan diimport. 2. Sistem menggunakan use case Entry Data. 3. Sistem menampilkan layar Entry Data. Use case Input Table Manual. User membuat tabel secara manual. 2. Sistem menggunakan use case Entry Data. 3. Sistem menampilkan layar Entry Data.

5 Use case Entry Data Use case ini menggambarkan proses user menggunakan sistem untuk memasukkan data dalam tabel.. Sistem menampilkan data yang diimport dari disk atau user memasukkan data secara manual ke dalam tabel yang pernah dibuat sebelumnya. 2. Sistem menampilkan layar Primary Key. Use case Selecting Primary Key. Sistem menampilkan pilihan PK. 2. User memilih PK yang disediakan oleh sistem. Use case Selecting Functional Dependency. Sistem mendapatkan FD berdasarkan use case PK dan use case entry data. 2. User memilih FD yang sesuai. 3. Sistem menampilkan pilihan FD. Use case Selecting Normalization Algorithms. User memilih algoritma yang diinginkan. 2. Sistem akan menampilkan layar Normal Form. Use case Create Normal Form. Sistem mendapatkan tabel dalam bentuk normal berdasarkan use case FD. 2. Sistem menampilkan tabel normal NF, 2 NF, dan 3NF. Use case Create ERD. Sistem mendapatkan diagram antar tabel berdasarkan use case Create Normal Form. 2. Sistem menampilkan diagram antar tabelnya.

52 Use case Create SQL Code. Sistem membuat kode SQL berdasarkan use case Create Normal Form. 2. Sistem menampilkan kode SQL untuk membuat tabel yang sudah normal. Use case Generate to SQL Server. Sistem menampilkan pilihan bagi user 2. User memilih untuk menggeneralisasi kode SQL ke dalam SQL Server Use case View Normal Form. Sistem menampilkan tabel normal berdasarkan use case Create NF 2. Sistem menampilkan ERD berdasarkan use case Create ERD 3. Sistem menampilkan kode SQL berdasarkan use case Create SQL 4. User dapat memilih tampilan yang diinginkan. 3..2 Kebutuhan non fungsional Sistem dikembangkan dengan platform desktop menggunakan Microsoft Visual Basic 6. dengan database Microsoft Access. Sistem memiliki respon time yang relatif cepat. Sistem memiliki tampilan layar yang user friendly.

53 3.2 Perancangan 3.2. Perancangan Basis Data Salah satu tahap utama dalam siklus hidup aplikasi basis data adalah perancangan basis data, yang dilakukan setelah menyelesaikan tahap analisa kebutuhan sistem. Proses perancangan basis data terbagi dalam tiga tahap yaitu: 3.2.. Rancangan Basis Data Konseptual Rancangan basis data konseptual dibuat berdasarkan kebutuhan sistem yang telah dianalisis sebelumnya. Rancangan ini tidak tergantung pada detil-detil implementasi program. Rancangan basis data konseptual pada sistem normalisasi ini dapat dilihat pada gambar 3.2. Gambar 3.2 Rancangan Basis Data Konseptual

54 3.2..2 Rancangan Basis Data Logikal Rancangan basis data logikal dirancang berdasarkan rancangan basis data tahap sebelumnya, yaitu rancangan konseptual. Rancangan logikal ini merupakan sumber informasi untuk tahap rancangan selanjutnya (rancangan fisikal) dan mempunyai peranan penting dalam proses maintenance suatu aplikasi basis data. Rancangan basis data logikal pada sistem normalisasi ini dapat dilihat pada gambar 3.3. Gambar 3.3 Rancangan Basis Data Logikal

55 3.2..3 Rancangan Basis Data Fisikal Rancangan basis data fisikal dirancang berdasarkan detil-detil implementasi sehingga menghasilkan deskripsi implementasi basis data pada penyimpanan sekunder. Nama Tabel = Project Primary Key = prjid Tabel Project digunakan setiap kali user membuat sebuah proyek baru untuk menyimpan kode proyek, nama proyek beserta keterangannya, nama pembuat proyek dan tanggal pembuatan proyek. Nama Kolom Tipe Data Panjang Keterangan prjid Long Int - Kode proyek prjname Text 2 Nama proyek prjdesc Text 5 Keterangan prjauthor Text 2 Nama pembuat prjcreatedate Date/Time - Tanggal pembuatan Nama Tabel = Entity Primary Key = entid Foreign Key = prjid Tabel Entity digunakan untuk menyimpan kode dan nama tabel yang dibuat dan memberikan tanda apakah tabel tersebut berada dalam NF, 2NF maupun 3NF. Nama Kolom Tipe Data Panjang Keterangan entid Long Int - Kode entiti prjid Long Int - Kode proyek entname Text 2 Nama entiti NF Yes/No - Entiti termasuk NF 2NF Yes/No - Entiti termasuk 2NF 3NF Yes/No - Entiti termasuk 3NF

56 Nama Tabel = Attribute Primary Key = attrid Tabel Attribute digunakan untuk menyimpan semua atribut yang digunakan beserta tipe datanya, jumlah variasi data untuk setiap atribut dan memberi tanda apakah atribut tersebut terdapat nilai null. Nama Kolom Tipe Data Panjang Keterangan attrid Long Int - Kode atribut attrname Text 2 Nama atribut attrtotalvar Long Int - Jumlah variasi data NULLValue Yes/No - Terdapat nilai NULL datatype Text 2 Tipe data maxlength Integer - Panjang Maximum untuk tipe data Text Nama Tabel = AttrEntity Primary Key = entid, attrid Foreign Key = entid, attrid Tabel AttrEntity digunakan untuk menghubungkan tabel Entity dan tabel Attribute, dan memberikan tanda apakah atribut dari entiti yang bersangkutan merupakan primary key atau bukan. Nama Kolom Tipe Data Panjang Keterangan entid Long Int - Kode entiti attrid Long Int - Kode atribut primarykey Yes/No - Merupakan primary key atau bukan Nama Tabel = FD Primary Key = fdid Foreign Key = entid

57 kode entiti. Tabel FD digunakan untuk menyimpan kode ketergantungan fungsional dan Nama Kolom Tipe Data Panjang Keterangan fdid Long Int - Kode ketergantungan fungsional entid Long Int - Kode entiti Nama Tabel = DependentFD Primary Key = fdid, attrid Foreign Key = fdid, attrid Tabel DependentFD digunakan untuk menyimpan kode ketergantungan fungsional dan kode atribut agar dapat mengetahui atribut-atribut yang menjadi dependent dari masing-masing ketergantungan fungsional. Nama Kolom Tipe Data Panjang Keterangan fdid Long Int - Kode ketergantungan fungsional attrid Long Int - Kode atribut Nama Tabel = DeterminantFD Primary Key = fdid, attrid Foreign Key = fdid, attrid Tabel DeterminantFD digunakan untuk menyimpan kode ketergantungan fungsional dan kode atribut agar dapat mengetahui atribut-atribut yang menjadi determinant dari masing-masing ketergantungan fungsional. Nama Kolom Tipe Data Panjang Keterangan fdid Long Int - Kode ketergantungan fungsional attrid Long Int - Kode atribut

58 Nama Tabel = Data Primary Key = DataID Foreign Key = entid, attrid Tabel Data digunakan untuk menyimpan semua data (Value) secara perbaris (rownumber) untuk masing-masing atribut (attrid) dari tiap entiti (entid). Nama Kolom Tipe Data Panjang Keterangan DataID Long Int - Kode data entid Long Int - Kode entiti attrid Long Int - Kode atribut rownumber Long Int - Urutan baris Value Memo - Nilai data 3.2.2 Perancangan Proses Perancangan proses ini menggunakan pseudocode dan diagram alir (flowchart). Proses yang dirancang meliputi proses pembentukan UNF menjadi 3NF, pencarian candidate key dan ketergantungan fungsional, bentuk normal kedua dan ketiga pada dekomposisi serta bentuk normal ketiga pada sintesis, diagram hubungan antar tabel dan kode SQL.

59 3.2.2. Rancangan Proses UNF menjadi 3NF Start Input data / import data Unormalized Form (UNF) Search for candidate key Search for Functional Dependency Synthesis or Decomposition? Synthesis Algorithm Decomposition Algorithm Normal Form (3NF) Stop Gambar 3.4 Diagram alir proses UNF menjadi 3NF

6 3.2.2.2 Rancangan Proses Import Table Modul import table Minta input database name Minta input database username Minta input database password Lakukan koneksi ke database Query untuk mengambil schema tabel dari database Lakukan perulangan sebanyak tabel yang ada Jika tipe tabel = tabel maka Masukkan nama tabel kedalam list Akhir jika Jika list tidak kosong maka Tombol next di aktifkan Selain itu Tombol next di nonaktifkan Akhir jika Akhir modul

6 Start Enter database name, username, and password Connect to Database End of Table? Yes List = empty? Yes Button Next non-active No No Input table to listbox Button Next Active Stop Gambar 3.5 Diagram Alir Import Table

62 3.2.2.3 Rancangan Proses Pencarian Candidate Key Modul candidate key Inisialisasi field candidate key Minta input minimum kombinasi Minta input maksimum kombinasi Lakukan perulangan dari minimum kombinasi sampai dengan maksimum kombinasi Lakukan kombinasi Lakukan perulangan sebanyak jumlah kombinasi yang dihasilkan Baca field ke i hasil kombinasi Jika jumlah variasi record = jumlah record maka Field ke i = candidate key Selain itu Field ke i bukan candidate key Akhir jika Akhir modul

Gambar 3.6 Diagram alir pencarian candidate key 63

64 3.2.2.4 Rancangan Proses Pencarian Functional Dependency Modul functional dependency Inisialisasi field dependent Lakukan perulangan sebanyak jumlah field dependent Baca field dependent Inisialisasi field determinant untuk field Jika jumlah variasi nilai field > untuk setiap nilai field determinant maka Field dependent tidak mempunyai ketergantungan fungsional terhadap field determinant Selain itu Field dependent mempunyai ketergantungan fungsional terhadap field determinant Akhir jika Jika jumlah field PK > maka Inisialisasi field determinant Lakukan perulangan sebanyak jumlah field dependent Baca field dependent Lakukan kombinasi sebanyak jumlah field PK - Lakukan perulangan sebanyak jumlah hasil kombinasi Jika ada jumlah variasi nilai field dependent > untuk setiap nilai field determinant maka

65 Field dependent tidak mempunyai ketergantungan fungsional terhadap field determinant Selain itu Field dependent mempunyai ketergantungan fungsional terhadap field determinant Akhir jika Akhir jika Akhir modul

Gambar 3.7 Diagram Alir pencarian Functional Dependency 66

67 3.2.2.5 Rancangan Proses Bentuk Normal Kedua pada Dekomposisi Awal modul 2NF Baca tabel NF Cari FD yang determinant = PK atau bagian PK Jika jumlah FD = maka tabel = tabel 2NF Selain itu Lakukan perulangan sebanyak jumlah FD Buat tabel baru Lakukan perulangan sebanyak jumlah field determinant Masukkan determinant jadi field tabel baru sebagai PK Lakukan perulangan sebanyak jumlah field dependent Baca field dependent Masukkan dependent jadi field tabel baru Lakukan perulangan selama field dependent = determinant Ambil dependent untuk dijadikan field tabel baru Akhir jika Akhir modul

Gambar 3.8 Diagram Alir Bentuk Normal Kedua Pada Dekomposisi 68

69 3.2.2.6 Rancangan Proses Bentuk Normal Ketiga pada Dekomposisi Awal modul 3NF Baca tabel 2NF Lakukan perulangan sebanyak jumlah tabel Cari FD yang terdapat dalam tabel ke i Jika jumlah FD = maka Tabel = tabel 3NF Selain itu Lakukan perulangan sebanyak jumlah FD Buat tabel baru Ambil semua field determinant untuk dijadikan field tabel baru sebagai PK Ambil semua field dependent untuk dijadikan field tabel baru Akhir jika Akhir modul

Gambar 3.9 Diagram Alir Bentuk Normal Ketiga Pada Dekomposisi 7

7 3.2.2.7 Rancangan Proses Bentuk Normal Ketiga pada Sintesis Awal modul 3NF Baca tabel NF Baca FD dari tabel NF Lakukan perulangan sebanyak jumlah FD Baca field determinantfd = PK If jumlah determinantfd > maka Lakukan perulangan sebanyak jumlah field determinantfd Ambil semua field determinant untuk dijadikan field tabel baru sebagai PK Baca field dependentfd If jumlah dependentfd > maka Lakukan perulangan sebanyak jumlah field dependentfd Ambil semua field dependent untuk dijadikan field berikutnya pada tabel tersebut Akhir jika Akhir jika Akhir modul

72 Start Read table NF Read FD from table NF Amount FD > = Yes Read DeterminantFD = PK Amount DeterminantFD >? Yes No End of field determinant? Yes Read DependentFD No Get all determinant as field of new table as PK Amount DependentFD >? Yes End of field dependent? No Get all dependent as field of new table Stop Yes Gambar 3. Diagram Alir Bentuk Normal Ketiga Pada Sintesis

73 3.2.2.8 Rancangan Proses Diagram Hubungan antar Entiti (ERD) Awal modul ERD Jika ada tabel pada 3NF maka Ambil semua tabel 3NF Selain itu ada tabel pada 2NF maka Ambil semua tabel 2NF Selain itu Ambil tabel NF Akhir jika Lakukan perulangan sebanyak jumlah tabel Baca semua field Buat node Lakukan perulangan sebanyak jumlah node Jika field pada node berada pada tabel lain sebagai PK maka hubungkan node tersebut Akhir jika Akhir modul

74 Gambar 3. Diagram Alir ERD 3.2.2.9 Rancangan Proses Kode SQL Awal modul kodesql Jika ada tabel pada 3NF maka Ambil semua tabel 3NF Selain itu ada tabel pada 2NF maka Ambil semua tabel 2NF Selain itu Ambil tabel NF Akhir jika Lakukan perulangan sebanyak jumlah tabel sql =

75 sql_pk = PRIMARY KEY Tambahkan CREATE TABLE ke dalam sql Lakukan perulangan sebanyak jumlah field Tambahkan field dan tipe data ke dalam sql Jika tipe data = TEXT tambahkan panjang maksimal tipe data ke dalam sql Jika tidak ada field yang bernilai NULL maka Tambahkan NOT NULL ke dalam sql Akhir jika Jika field = PK maka Tambahkan field ke dalam sql_pk Akhir jika Jika field sebagai foreign key maka Tambahkan REFERENCE ke dalam sql Tambahkan nama tabel referensi ke dalam sql Akhir jika Cetak sql dan sql_pk Akhir modul

Gambar 3.2 Diagram Alir Kode SQL 76

77 3.2.3 Perancangan Layar 3.2.3. Rancangan Layar pada Menu Utama Gambar 3.3 Rancangan Layar Menu Utama Rancangan ini berjudul Database Normalization Tool. Layar ini terdiri dari layar yang masih kosong dengan dua pilihan menu yaitu menu File dan Help.

78 3.2.3.2 Rancangan Layar pada Menu File Gambar 3.4 Rancangan Layar Menu File Rancangan ini berjudul Database Normalization Tool untuk pilihan menu File yang terdiri dari empat pilihan menu drop-down yaitu New Project, Open Project, Close Project dan Exit.

79 3.2.3.3 Rancangan Layar pada Menu Help Gambar 3.5 Rancangan Layar Menu Help Rancangan ini berjudul Database Normalization Tool untuk pilihan menu Help yang terdiri dari dua pilihan menu drop-down yaitu Help dan About.

8 3.2.3.4 Rancangan Layar pada Create Project Gambar 3.6 Rancangan Layar Create Project Rancangan ini berjudul Create Project. Layar ini terdiri atas lima text box dimana text box untuk project ID otomatis terisi dan user hanya memasukkan Project Name, Project Description, Project Author, dan Project Date setelah itu tekan tombol OK atau Cancel.

8 3.2.3.5 Rancangan Layar pada Input Table Gambar 3.7 Rancangan Layar Input Table Rancangan ini berjudul Input Table. Layar ini terdiri dari dua pilihan yaitu Input Table Manually dan Import Table serta tombol OK dan Cancel.

82 3.2.3.6 Rancangan Layar pada Menu Import Data Gambar 3.8 Rancangan Layar Menu Import Data Rancangan ini berjudul Import Data. Layar ini terdiri atas empat masukan untuk Data Source, Database Name, User Name dan Password serta tombol Connect dan Next.

83 3.2.3.7 Rancangan Layar pada Menu Create Table Gambar 3.9 Rancangan Layar Menu Create Table Rancangan ini berjudul Create Table. Layar ini terdiri atas text box untuk masukan Table Name dan Number of fields. Tombol OK akan menampilkan field-field sebanyak jumlah number of. Tombol Prev Fields untuk menampilkan field-field sebelumnya yang telah diinput, tombol Next Fields untuk menampilkan field-field selanjutnya dan tombol Next Step akan melanjutkan ke layar Input Table.

84 3.2.3.8 Rancangan Layar pada Menu Input Data Gambar 3.2 Rancangan Layar Menu Input Data Rancangan ini berjudul Input Data. Layar ini terdiri atas tabel untuk memasukkan data. Tombol Next Step akan melanjutkan ke layar Primary Key.

85 3.2.3.9 Rancangan Layar pada Menu Primary Key Gambar 3.2 Rancangan Layar Menu Primary Key Rancangan ini berjudul Primary Key. Layar ini terdiri dari text box untuk masukan nilai maksimum dan minimum kombinasi candidate key yang diinginkan user. Tombol Analyze menjalankan proses analisa data. List Box untuk menampilkan hasil candidate key. Tombol next untuk melanjutkan ke layar Functional Dependency.

86 3.2.3. Rancangan Layar pada Menu Functional Dependency Gambar 3.22 Rancangan Layar Menu Functional Dependency Rancangan ini berjudul Functional Dependency. Layar ini terdiri dari tab-tab yang didalamnya terdiri atas list box untuk menampilkan functional dependency yang telah dianalisa. Pada layar ini juga terdapat dua pilihan algoritma yaitu Dekomposisi dan Sintesis yang dapat dipilih oleh user. Tombol Next Step akan melanjutkan ke layar Normal Form.

87 3.2.3. Rancangan Layar pada Menu Normal Form dengan Algoritma Dekomposisi Gambar 3.23 Rancangan Layar Menu Normal Form dengan Dekomposisi Rancangan ini berjudul Normal Form. Layar ini terdiri dari tab-tab yang didalamnya terdapat combo box untuk memilih entiti normal form dan text box untuk menampilkan primary key serta tabel-tabel untuk normal form. Tombol Next Step melanjutkan ke layar ERD.

88 3.2.3.2 Rancangan Layar pada Menu Normal Form dengan Algoritma Sintesis Gambar 3.24 Rancangan Layar Menu Normal Form dengan Sintesis Rancangan ini berjudul Normal Form. Layar ini terdiri dari dua tab saja yang didalamnya terdapat combo box untuk memilih entiti normal form yakni NF dan 3NF serta text box untuk menampilkan primary key serta tabel-tabel untuk normal form. Tombol Next Step melanjutkan ke layar ERD.

89 3.2.3.3 Rancangan Layar pada Menu ERD Gambar 3.25 Rancangan Layar Menu ERD Rancangan ini berjudul ERD. Layar ini menampilkan diagram hubungan antar entity. Tombol Next akan melanjutkan ke layar SQL Code.

9 3.2.3.4 Rancangan Layar pada Menu SQL Code Gambar 3.26 Rancangan Layar Menu SQL Code Rancangan ini berjudul SQL Code. Layar ini terdiri dari list box untuk menampilkan kode kode SQL, tombol Generate untuk menghasilkan kode-kode SQL serta tombol Save untuk menyimpan hasil analisa.

9 3.2.4 Perancangan Algoritma Untuk menilai dua algoritma yang berbeda dapat diukur dengan menghitung kompleksitas waktu yang dibutuhkan komputer untuk mengeksekusi algoritma. Proses untuk menghitung kompleksitas algoritma ini terbagi dalam beberapa tahap, antara lain: 3.2.4. Perancangan Algoritma pada Pencarian Candidate Key Statement Modul candidate key Inisialisasi field candidate key Minta input minimum kombinasi Minta input maksimum kombinasi Lakukan perulangan dari minimum kombinasi sampai dengan maksimum kombinasi Lakukan kombinasi Lakukan perulangan sebanyak jumlah kombinasi yang dihasilkan Baca field ke i hasil kombinasi Jika jumlah variasi record = jumlah record maka Field ke i = candidate key Selain itu Field ke i bukan candidate key Akhir jika Akhir modul s/e Frequency Total steps n = n > n = n > O() O() O() O() O() O() O() O() n+ n+ n n n(n+) n(n+) O(n 2 ) O(n 2 ) n 2 n 2 n 2 n 2 n 2 O(n 2 ) O() n 2 O(n 2 ) O(n 2 ) O(n 2 ) O(n 2 ) O() O(n 2 ) O() O() O() O() O() O() O() O() Total 4n 2 + 3n + 4 4n 2 + 3n + 4 O(n 2 ) O(n 2 ) Tabel 3. Tabel Perancangan Algoritma Pada Pencarian Candidate Key

92 3.2.4.2 Perancangan Algoritma pada Pencarian Functional Dependency Statement s/e Frequency Total steps n = n > n = n > Modul functional dependency O() O() Inisialisasi field dependent Lakukan perulangan sebanyak jumlah field n + n + dependent Baca field dependent n n Inisialisasi field determinant untuk Field n n Jika jumlah variasi nilai field > untuk n n setiap nilai field determinant maka Field dependent tidak n O() mempunyai ketergantungan fungsional terhadap field determinant Selain itu Field dependent mempunyai n O() ketergantungan fungsional terhadap field determinant Akhir jika O() O() O() O() Jika jumlah field PK > maka O() O() Inisialisasi field determinant O() O() Lakukan perulangan sebanyak n + n + jumlah field dependent Baca field dependent n n Lakukan kombinasi sebanyak n n jumlah field PK Lakukan perulangan sebanyak n(n+) n(n+) O(n 2 ) O(n 2 ) jumlah hasil kombinasi Jika ada jumlah variasi nilai n 2 n 2 O(n 2 ) O(n 2 ) field dependent > untuk setiap nilai field determinant maka Field dependent tidak n 2 O(n 2 ) O() Mempunyai ketergantungan

93 fungsional terhadap field determinant Selain itu Field dependent mempunyai n 2 O() O(n 2 ) ketergantungan fungsional terhadap field determinant Akhir jika O() O() O() O() O() O() Akhir jika O() O() Akhir modul O() O() Total 3n 2 + 9n + 5 3n 2 + 9n + 5 O(n 2 ) O(n 2 ) Tabel 3.2 Tabel Perancangan Algoritma Pada Pencarian Functional Dependency

94 3.2.4.3 Perancangan Algoritma pada Bentuk Normal Kedua (Dekomposisi) Statement s/e Frequency Total steps N = n > n = n > Awal modul 2NF O() O() Baca tabel NF O() O() Cari FD yang determinant = PK atau bagian PK O() Jika jumlah FD = maka O() tabel = tabel 2NF O() O() Selain itu Lakukan perulangan sebanyak jumlah FD n + O() Buat tabel baru n O() Lakukan perulangan sebanyak jumlah field n(n+) O() O(n 2 ) determinan Masukkan determinant jadi field tabel baru n 2 O() O(n 2 ) sebagai PK O() Lakukan perulangan sebanyak jumlah field n(n+) O() O(n 2 ) dependent Baca field dependent Masukkan dependent jadi field tabel baru Lakukan perulangan selama field dependent = n 2 n 2 n 2 (n+) O() O() O(n 2 ) O(n 2 ) O(n 3 ) determinan Ambil dependent untuk dijadikan field tabel n 3 O() O(n 3 ) baru O() O() O() O() O() O() Akhir jika O() O() Akhir modul O() O() Total 4 2n 3 +6n 2 + 4n + 3 O() O(n 3 ) Tabel 3.3 Tabel Perancangan Algoritma Bentuk Normal Kedua dengan Dekomposisi

95 3.2.4.4 Perancangan Algoritma pada Bentuk Normal Ketiga (Dekomposisi) Statement Awal modul 3NF Baca tabel 2NF Lakukan perulangan sebanyak jumlah tabel Cari FD yang terdapat dalam tabel ke i Jika jumlah FD = maka Tabel = tabel 3NF Selain itu Lakukan perulangan sebanyak jumlah FD Buat tabel baru Ambil semua field determinan untuk dijadikan field tabel baru sebagai PK Ambil semua field dependent untuk dijadikan field tabel baru Akhir jika Akhir modul s/e Frequency Total steps n = n > n = n > n+ n n n n+ n n(n+) O() O() O() O() O() O() O() O(n 2 ) n 2 n 2 n 2 O() O(n 2 ) O() O(n 2 ) O() O(n 2 ) O() O() O() O() O() O() O() O() Total 4n+2 4n 2 +3n+2 O(n 2 ) Tabel 3.4 Tabel Perancangan Algoritma Bentuk Normal Ketiga dengan Dekomposisi

96 3.2.4.5 Perancangan Algoritma pada Bentuk Normal Ketiga (Sintesis) Statement s/e Frequency Total steps Awal modul 3 NF Baca Tabel NF Baca FD dari Tabel NF Lakukan perulangan sebanyak FN Baca Field determinant FD = PK If jumlah determinan FD > maka Lakukan perulangan sebanyak jumlah jumlah field determinanfd Ambil semua field determinan untuk dijadikan field tabel baru sebagai PK Baca field dependentfd If jumlah dependentfd > maka Lakukan perulangan sebanyak jumlah field dependentfd Ambil semua field dependent untuk dijadikan field berikutnya pada tabel tersebut Akhir jika Akhir jika n+ n n n(n+) n(n) n n n(n+) n O() O() O(n 2 ) O(n 2 ) O() O() O() O() O() Akhir modul O() Total 3n 2 +8n+3 O(n 2 ) Tabel 3.5 Tabel Perancangan Algoritma Bentuk Normal Ketiga dengan Sintesis

97 Big O yang didapat dari kedua algoritma yakni : Dekomposisi = O(n 3 ) Sintesis = O(n 2 ) Time Complexity : Dekomposisi = (4n 2 + 3n + 4) + (3n 2 + 9n + 5) + (2n 3 + 6n 2 + 4n + 3) + (4n 2 + 3n + 2) = 2n 3 + 7n 2 + 9n + 4 Sintesis = (4n 2 + 3n + 4) + (3n 2 + 9n + 5) + (3n 2 +8n+3) = n 2 + 2n + 2 Jadi algoritma sintesis membutuhkan waktu O(n 2 ), maka itu lebih cepat daripada waktu yang dibutuhkan oleh algoritma dekomposisi O(n 3 ).