bab 3 analisis dan perancangan sistemthesis.binus.ac.id/asli/bab3/2006-2-01261-if-bab...

41
BAB 3 ANALISIS DAN PERANCANGAN SISTEM 3.1 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, 2004, p212) 3.1.1 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. 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.

Upload: nguyenhanh

Post on 15-Mar-2019

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAB 3 ANALISIS DAN PERANCANGAN SISTEMthesis.binus.ac.id/Asli/Bab3/2006-2-01261-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1 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, 2004, p212)

3.1.1 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.

• 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.

Page 2: BAB 3 ANALISIS DAN PERANCANGAN SISTEMthesis.binus.ac.id/Asli/Bab3/2006-2-01261-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu

38

Gambar 3.1 Rancangan Use Case Sistem

• Use case Create Project

Use case ini menggambarkan proses user menggunakan sistem untuk

membuat proyek baru.

1. User memilih menu New Project.

Page 3: BAB 3 ANALISIS DAN PERANCANGAN SISTEMthesis.binus.ac.id/Asli/Bab3/2006-2-01261-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu

39

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.

1. User memilih menu Open Project.

2. User memilih proyek mana yang akan dibuka.

• Use case Import Table

1. 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

1. User membuat tabel secara manual.

2. Sistem menggunakan use case Entry Data.

3. Sistem menampilkan layar Entry Data.

• Use case Entry Data

Use case ini menggambarkan proses user menggunakan sistem untuk

memasukkan data dalam tabel.

1. Sistem menampilkan data yang diimport dari disk atau user

memasukkan data secara manual ke dalam tabel yang pernah dibuat

sebelumnya.

Page 4: BAB 3 ANALISIS DAN PERANCANGAN SISTEMthesis.binus.ac.id/Asli/Bab3/2006-2-01261-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu

40

2. Sistem menampilkan layar Primary Key.

• Use case Selecting Primary Key

1. Sistem menampilkan pilihan PK.

2. User memilih PK yang disediakan oleh sistem.

• Use case Selecting Functional Dependency

1. 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 BCNF Functional Dependency

1. Sistem mendapatkan FD BCNF berdasarkan use case PK dan use

case entry data.

2. User memilih FD BCNF yang sesuai.

3. Sistem menampilkan pilihan FD BCNF.

• Use case Selecting MultivaluedDependency

1. Sistem mendapatkan MVD berdasarkan use case PK dan use case

entry data.

2. User memilih MVD yang sesuai.

3. Sistem menampilkan pilihan MVD.

• Use case Create Normal Form

1. Sistem mendapatkan tabel dalam bentuk normal berdasarkan use case

FD.

2. Sistem menampilkan tabel normal 1NF, 2 NF, 3NF, BCNF dan 4NF.

Page 5: BAB 3 ANALISIS DAN PERANCANGAN SISTEMthesis.binus.ac.id/Asli/Bab3/2006-2-01261-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu

41

• Use case Create ERD

1. Sistem mendapatkan diagram antar tabel berdasarkan use case Create

Normal Form.

2. Sistem menampilkan diagram antar tabelnya.

• Use case Create SQL Code

1. Sistem membuat kode SQL berdasarkan use case Create Normal

Form.

2. Sistem menampilkan kode SQL untuk membuat tabel yang sudah

normal.

3.1.2 Kebutuhan Non Fungsional

• Sistem dikembangkan dengan platform desktop.

• Sistem memiliki respon time yang relatif cepat.

• Sistem memiliki tampilan layar yang user friendly.

3.2 Perancangan

3.2.1 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.1.1 Rancangan Basis Data Konseptual

Rancangan basis data konseptual dibuat berdasarkan kebutuhan sistem

yang telah dianalisis sebelumnya. Rancangan ini tidak tergantung pada detil-detil

Page 6: BAB 3 ANALISIS DAN PERANCANGAN SISTEMthesis.binus.ac.id/Asli/Bab3/2006-2-01261-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu

42

implementasi program. Rancangan basis data konseptual pada sistem normalisasi

ini dapat dilihat pada gambar 3.2.

Gambar 3.2 Rancangan Basis Data Konseptual

3.2.1.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.

Page 7: BAB 3 ANALISIS DAN PERANCANGAN SISTEMthesis.binus.ac.id/Asli/Bab3/2006-2-01261-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu

43

Gambar 3.3 Rancangan Basis Data Logical

3.2.1.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

Page 8: BAB 3 ANALISIS DAN PERANCANGAN SISTEMthesis.binus.ac.id/Asli/Bab3/2006-2-01261-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu

44

Nama Kolom Tipe Data Panjang Keterangan prjID Long Int - Kode proyek prjName Text 20 Nama proyek prjDesc Text 50 Keterangan prjAuthor Text 20 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 BCNF dan

4NF.

Nama Kolom Tipe Data Panjang Keterangan EntID Long Int - Kode entiti PrjID Long Int - Kode proyek EntName Text 20 Nama entiti BCNF Yes/No - Entiti termasuk BCNF 4NF Yes/No - Entiti termasuk 4NF

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.

Page 9: BAB 3 ANALISIS DAN PERANCANGAN SISTEMthesis.binus.ac.id/Asli/Bab3/2006-2-01261-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu

45

Nama Kolom Tipe Data Panjang Keterangan AttrID Long Int - Kode atribut AttrName Text 20 Nama atribut AttrTotalVar Long Int - Jumlah variasi data NULLValue Yes/No - Terdapat nilai NULL DataType Text 20 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

Tabel FD digunakan untuk menyimpan kode ketergantungan fungsional

dan kode entiti.

Page 10: BAB 3 ANALISIS DAN PERANCANGAN SISTEMthesis.binus.ac.id/Asli/Bab3/2006-2-01261-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu

46

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.

Page 11: BAB 3 ANALISIS DAN PERANCANGAN SISTEMthesis.binus.ac.id/Asli/Bab3/2006-2-01261-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu

47

Nama Kolom Tipe Data Panjang Keterangan fdID Long Int -

Kode ketergantungan fungsional

attrID Long Int - Kode atribut

Nama Tabel = MultiValued Dependency

Primary Key = mvdID

Foreign Key = entID

Tabel FD digunakan untuk menyimpan kode ketergantungan fungsional

dan kode entiti.

Nama Kolom Tipe Data Panjang Keterangan fdID Long Int - Kode ketergantungan

fungsional entID Long Int - Kode entiti

Nama Tabel = DependentMVD

Primary Key = mvdID, attrID

Foreign Key = mvdID, attrID

Tabel DependentMVD digunakan untuk menyimpan kode ketergantungan

MVD dan kode atribut agar dapat mengetahui atribut-atribut yang menjadi

dependent dari masing-masing ketergantungan fungsional.

Page 12: BAB 3 ANALISIS DAN PERANCANGAN SISTEMthesis.binus.ac.id/Asli/Bab3/2006-2-01261-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu

48

Nama Kolom Tipe Data Panjang Keterangan mvdID Long Int - Kode ketergantungan

fungsional attrID Long Int - Kode atribut

Nama Tabel = DeterminantMVD

Primary Key = mvdID, attrID

Foreign Key = mvdID, attrID

Tabel DeterminantMVD digunakan untuk menyimpan kode

ketergantungan MVD dan kode atribut agar dapat mengetahui atribut-atribut

yang menjadi determinant dari masing-masing ketergantungan fungsional.

Nama Kolom Tipe Data Panjang Keterangan mvdID Long Int -

Kode ketergantungan fungsional

attrID Long Int - Kode atribut

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).

Page 13: BAB 3 ANALISIS DAN PERANCANGAN SISTEMthesis.binus.ac.id/Asli/Bab3/2006-2-01261-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu

49

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 pencarian candidate key dan

ketergantungan fungsional, bentuk normal kedua dan ketiga serta diagram

hubungan antar tabel dan kode SQL.

3.2.2.1 Rancangan Proses Keseluruhan

Page 14: BAB 3 ANALISIS DAN PERANCANGAN SISTEMthesis.binus.ac.id/Asli/Bab3/2006-2-01261-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu

50

Gambar 3.4 Diagram Alir Proses Keseluruhan

3.2.2.2 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 perulangan

Akhir perulangan

Akhir modul

( Algoritma diambil dari Skripsi Perancangan Alat Bantu Normalisasi Dalam

Pemodelan Data oleh Yanny, Chairina, Elita , 2005 )

Page 15: BAB 3 ANALISIS DAN PERANCANGAN SISTEMthesis.binus.ac.id/Asli/Bab3/2006-2-01261-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu

51

Gambar 3.5 Diagram Alir Pencarian Candidate Key

3.2.2.3 Rancangan Proses Pencarian Functional Dependency

Modul functional dependency

Inisialisasi field dependent

Lakukan perulangan sebanyak jumlah field dependent

Baca field dependent

Inisialisasi field determinant untuk 1 field

Jika jumlah variasi nilai field > 1 untuk setiap nilai field determinant

maka

Field dependent tidak mempunyai ketergantungan fungsional

terhadap field determinant

Selain itu

Page 16: BAB 3 ANALISIS DAN PERANCANGAN SISTEMthesis.binus.ac.id/Asli/Bab3/2006-2-01261-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu

52

Field dependent mempunyai ketergantungan fungsional terhadap

field determinant

Akhir jika

Akhir perulangan

Jika jumlah field PK > 1 maka

Inisialisasi field determinant

Lakukan perulangan sebanyak jumlah field dependent

Baca field dependent

Lakukan kombinasi sebanyak jumlah field PK - 1

Lakukan perulangan sebanyak jumlah hasil kombinasi

Jika ada jumlah variasi nilai field dependent > 1 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

Akhir perulangan

Akhir perulangan

Akhir jika

Akhir modul

( Algoritma diambil dari Skripsi Perancangan Alat Bantu Normalisasi Dalam

Pemodelan Data oleh Yanny, Chairina, Elita , 2005 )

Page 17: BAB 3 ANALISIS DAN PERANCANGAN SISTEMthesis.binus.ac.id/Asli/Bab3/2006-2-01261-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu

53

Start

Inisialisationdependent field

End of amountdependent field?

Read dependentfield

Inisialisation determinant field

for each field

Amount of var fieldval > 1 for each val

det field?

Determinant field not dependent field

Determinant field dependent field

Amount PKfield >1 ?

Stop

Inisialisationdeterminant field

End of amountdependent field?

Read dependentfield

Do Combination

i < amount ofcomb result ?

Amount of var fieldval > 1 for each val

det field?

Determinant field not dependent field

Determinant field dependent field

Yes

Yes

No

No

Yes

No

Yes No

YesNo

Yes

No

Gambar 3.6 Diagram Alir Pencarian Functional Dependency

3.2.2.4 Rancangan Proses Bentuk Normal Kedua

Awal modul 2NF

Baca tabel 1NF

Cari FD yang determinant = PK atau bagian PK

Page 18: BAB 3 ANALISIS DAN PERANCANGAN SISTEMthesis.binus.ac.id/Asli/Bab3/2006-2-01261-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu

54

Jika jumlah FD = 1 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

Akhir perulangan

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 perulangan

Akhir perulangan

Akhir perulangan

Akhir jika

Akhir modul

( Algoritma diambil dari Skripsi Perancangan Alat Bantu Normalisasi Dalam

Pemodelan Data oleh Yanny, Chairina, Elita , 2005 )

Page 19: BAB 3 ANALISIS DAN PERANCANGAN SISTEMthesis.binus.ac.id/Asli/Bab3/2006-2-01261-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu

55

Start

Read table 1NF

Search FD wheredeterminant = PK or

part of PK

AmountFD = 1 ?

Create new table

Get all determinantas field of new table

as PK

Get dependent =field of new table

Get dependent to befield of new table

NoYes

Yes

Yes

Dependent field =determinant ?

Yes No

No

Read dependentfield

End ofdependent field ?

Table =table 2NF

i < amountFD ?

Stop

No

Gambar 3.7 Diagram Alir Bentuk Normal Kedua

3.2.2.5 Rancangan Proses Bentuk Normal Ketiga

Awal modul 3NF

Baca tabel 2NF

Page 20: BAB 3 ANALISIS DAN PERANCANGAN SISTEMthesis.binus.ac.id/Asli/Bab3/2006-2-01261-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu

56

Lakukan perulangan sebanyak jumlah tabel

Cari FD yang terdapat dalam tabel ke i

Jika jumlah FD = 1 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 perulangan

Akhir jika

Akhir perulangan

Akhir modul

( Algoritma diambil dari Skripsi Perancangan Alat Bantu Normalisasi Dalam

Pemodelan Data oleh Yanny, Chairina, Elita , 2005 )

Page 21: BAB 3 ANALISIS DAN PERANCANGAN SISTEMthesis.binus.ac.id/Asli/Bab3/2006-2-01261-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu

57

Start

Search FD onthe table

Create new table

Get all determinant asfield of new table

as PK

Get dependent asfield of new table

Stop

YesYes

No

No

Read table 2NF

End oftable ?

AmountFD = 1 ?

Table =table 3NF

i <amountFD?

No

Yes

Gambar 3.8 Diagram Alir Bentuk Normal Ketiga

3.2.2.6 Rancangan Proses Bentuk BCNF

Modul BCNF

Baca tabel 3NF

Lakukan perulangan sebanyak jumlah tabel

Cari FD yang terdapat dalam tabel ke i

Jika jumlah FD > 1 maka

Lakukan perulangan sebanyak jumlah FD

Jika determinant != CK maka

Buat tabel baru

Page 22: BAB 3 ANALISIS DAN PERANCANGAN SISTEMthesis.binus.ac.id/Asli/Bab3/2006-2-01261-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu

58

Ambil semua field determinant untuk dijadikan field tabel

baru sebagai PK

Ambil semua field dependent untuk dijadikan field tabel

baru

Akhir Jika

Akhir perulangan

Selain itu

Tabel = tabel BCNF

Akhir jika

Akhir perulangan

Akhir modul

Page 23: BAB 3 ANALISIS DAN PERANCANGAN SISTEMthesis.binus.ac.id/Asli/Bab3/2006-2-01261-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu

59

Start

Read Table 3NF

Determinant NOT a CK

YES NO

NO

End Amount ofFD ?

YES

Search FD on ThetableEnd of Table NO

Stop

YESAmountFD > 1 ?

Table = tableBCNF

NOYES

Create New Table

Get AllDeterminant as

field for new tableas PK

Get All Dependentas field for new

table

Gambar 3.9 Diagram Alir Bentuk Normal BCNF

3.2.2.7 Rancangan Proses Bentuk 4NF

Modul 4NF

Baca tabel BCNF

Jika jumlah field >= 3 maka

Cari MVD yang determinant = PK atau bagian PK

Jika jumlah PK>=3 maka

Page 24: BAB 3 ANALISIS DAN PERANCANGAN SISTEMthesis.binus.ac.id/Asli/Bab3/2006-2-01261-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu

60

flag=0

i=index field ke-1

Lakukan perulangan selama i < jumlah field

j=i+1

Lakukan perulangan selama j < jumlah field

k=i+1

Jika jumlah distinct index field ke j * jumlah distinct index

field ke k = jumlah record i maka

Buat tabel baru

Ambil semua field determinant untuk dijadikan

field tabel baru sebagai PK

Ambil semua field dependent untuk dijadikan field

tabel baru

Akhir perulangan

Akhir perulangan

Akhir perulangan

Selain itu

tabel=tabel 4NF

Akhir jika

Selain itu

tabel = tabel 4NF

Akhir jika

Akhir modul

Page 25: BAB 3 ANALISIS DAN PERANCANGAN SISTEMthesis.binus.ac.id/Asli/Bab3/2006-2-01261-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu

61

Gambar 3.10 Diagram Alir Bentuk Normal 4NF

Page 26: BAB 3 ANALISIS DAN PERANCANGAN SISTEMthesis.binus.ac.id/Asli/Bab3/2006-2-01261-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu

62

3.2.2.8 Rancangan Proses Kode SQL

Awal modul kodeSQL

Jika ada tabel pada 4NF maka

Ambil semua tabel 4NF

Selain itu

Ambil semua tabel BCNF

Akhir jika

Lakukan perulangan sebanyak jumlah tabel

sql = ””

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

Page 27: BAB 3 ANALISIS DAN PERANCANGAN SISTEMthesis.binus.ac.id/Asli/Bab3/2006-2-01261-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu

63

Akhir jika

Akhir perulangan

Cetak sql dan sql_PK

Akhir perulangan

Akhir modul

( Algoritma diambil dari Skripsi Perancangan Alat Bantu Normalisasi Dalam

Pemodelan Data oleh Yanny, Chairina, Elita , 2005 )

Page 28: BAB 3 ANALISIS DAN PERANCANGAN SISTEMthesis.binus.ac.id/Asli/Bab3/2006-2-01261-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu

64

Ambil tabel 4NF

Start

Jika ada tabel pada 4NFYes No

Ambil tabel BCNF

Lakukan perulangansebanyak jumlah tabel Yes

sql=””sql_PK=”PRIMARY KEY”

tambahkan “CREATETABLE” ke dalam sql

No

End

Lakukan perulangansebanyak jumlah field Yes Tambahkan field dan tipe

data ke dalam sql

Cetak sql dan sql_PK

No

Jika tipe data=”TEXT”Tambahkan panjang

maksimum tipe data kedalam sql

Yes

No

Jika tidak ada field yangbernilai NULL

Tambahkan “NOT NULL”ke dalam sqlYes

No

Jika field = PKTambahkan field ke dalam

sql_PKYes

No

Jika field sebagaiforeign key

Tambahkan“REFERENCE” ke dalam

sqlTambahkan nama tabelreferensi ke dalam sql

Yes

No

Gambar 3.11 Diagram Alir Proses Kode SQL

Page 29: BAB 3 ANALISIS DAN PERANCANGAN SISTEMthesis.binus.ac.id/Asli/Bab3/2006-2-01261-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu

65

3.2.3 Perancangan Layar

3.2.3.1 Rancangan Layar pada Menu Utama

Gambar 3.12 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.

FILE HELP

DATABASE NORMALIZATION TOOL

Page 30: BAB 3 ANALISIS DAN PERANCANGAN SISTEMthesis.binus.ac.id/Asli/Bab3/2006-2-01261-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu

66

3.2.3.2 Rancangan Layar pada Menu File

Gambar 3.13 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.

FILE HELP

DATABASE NORMALIZATION TOOL

New Project

Open Project

Close Project

Exit

Page 31: BAB 3 ANALISIS DAN PERANCANGAN SISTEMthesis.binus.ac.id/Asli/Bab3/2006-2-01261-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu

67

3.2.3.3 Rancangan Layar pada Menu Help

Gambar 3.14 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.

FILE HELP

DATABASE NORMALIZATION TOOL

Help F1

About

Page 32: BAB 3 ANALISIS DAN PERANCANGAN SISTEMthesis.binus.ac.id/Asli/Bab3/2006-2-01261-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu

68

3.2.3.4 Rancangan Layar pada Create Project

Gambar 3.15 Rancangan Layar Create Project

Rancangan ini berjudul Create Project. Layar ini terdiri atas lima text box untuk

masukan project ID, Project Name, Project Description, Project Author, dan

Project Date serta tombol OK dan Cancel.

FILE HELP

DATABASE NORMALIZATION TOOL

1. Create Project 2. Input Table - Import Table - Input Table Manually 3. Primary Key 4. Functional Dependency 5. Normal Form - 1NF - 2NF - 3NF - BCNF - 4NF 6. Create ERD 7. Create SQL Code

Create Project

Project ID

Project Name

Project Description

Project Author

Project Date

OK Cancel

Page 33: BAB 3 ANALISIS DAN PERANCANGAN SISTEMthesis.binus.ac.id/Asli/Bab3/2006-2-01261-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu

69

3.2.3.5 Rancangan Layar pada Menu Input Table

Gambar 3.16 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.

FILE HELP

DATABASE NORMALIZATION TOOL

1. Create Project 2. Input Table - Import Table - Input Table Manually 3. Primary Key 4. Functional Dependency 5. Normal Form - 1NF - 2NF - 3NF - BCNF - 4NF 6. Create ERD 7. Create SQL Code

Choose the type of data input :

o Import Table

o Input Table Manually

OK Cancel

Page 34: BAB 3 ANALISIS DAN PERANCANGAN SISTEMthesis.binus.ac.id/Asli/Bab3/2006-2-01261-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu

70

3.2.3.6 Rancangan Layar pada Menu Import Data

Gambar 3.17 Rancangan Layar 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.

FILE HELP

DATABASE NORMALIZATION TOOL

1. Create Project 2. Input Table - Import Table - Input Table Manually 3. Primary Key 4. Functional Dependency 5. Normal Form - 1NF - 2NF - 3NF - BCNF - 4NF 6. Create ERD 7. Create SQL Code

Import Data

Data Source

Database Name

User Name

Password

Next

Table(s) Field(s)

Connect

Page 35: BAB 3 ANALISIS DAN PERANCANGAN SISTEMthesis.binus.ac.id/Asli/Bab3/2006-2-01261-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu

71

3.2.3.7 Rancangan Layar pada Menu Create Table

Gambar 3.18 Rancangan Layar 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.

FILE HELP

DATABASE NORMALIZATION TOOL

1. Create Project 2. Input Table - Import Table - Input Table Manually 3. Primary Key 4. Functional Dependency 5. Normal Form - 1NF - 2NF - 3NF - BCNF - 4NF 6. Create ERD 7. Create SQL Code

Create Table

Table Name

Number of fields

Input field name and data type

Field #n

Prev Field Next Field Next Step

Page 36: BAB 3 ANALISIS DAN PERANCANGAN SISTEMthesis.binus.ac.id/Asli/Bab3/2006-2-01261-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu

72

3.2.3.8 Rancangan Layar pada Menu Input Data

Gambar 3.19 Rancangan Layar Input Data

Rancangan ini berjudul Input Data. Layar ini terdiri atas tabel untuk

memasukkan data. Tombol Next Step akan melanjutkan ke layar Primary Key.

FILE HELP

DATABASE NORMALIZATION TOOL

1. Create Project 2. Input Table

- Import Table - Input Table Manually

3. Primary Key 4. Functional Dependency 5. Normal Form

- 1NF - 2NF - 3NF - BCNF - 4NF

6. Create ERD 7. Create SQL Code

Field 1 Field 2 Field 3 Field n

Input Data

Next Step

Page 37: BAB 3 ANALISIS DAN PERANCANGAN SISTEMthesis.binus.ac.id/Asli/Bab3/2006-2-01261-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu

73

3.2.3.9 Rancangan Layar pada Menu Primary Key

Gambar 3.20 Rancangan Layar 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 Analize menjalankan proses analisa data. List Box untuk

menampilkan hasil candidate key. Tombol next untuk melanjutkan ke layar

Functional Dependency.

FILE HELP

DATABASE NORMALIZATION TOOL

1. Create Project 2. Input Table - Import Table - Input Table Manually 3. Primary Key 4. Functional Dependency 5. Normal Form - 1NF - 2NF - 3NF - BCNF - 4NF 6. Create ERD 7. Create SQL Code

Primary Key

Minimum fields combination of CK (def: 1)

Maximum fields combination of CK (max: n)

Analyzing Time: 00:00:00.000

Found: n Candidate key(s) Analyze

Next Step

Page 38: BAB 3 ANALISIS DAN PERANCANGAN SISTEMthesis.binus.ac.id/Asli/Bab3/2006-2-01261-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu

74

3.2.3.10 Rancangan Layar pada Menu Functional Dependency

Gambar 3.21 Rancangan Layar 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. Tombol Next Step akan melanjutkan ke layar Normal Form.

FILE HELP

DATABASE NORMALIZATION TOOL

1. Create Project 2. Input Table - Import Table - Input Table Manually 3. Primary Key 4. Functional Dependency 5. Normal Form - 1NF - 2NF - 3NF - BCNF - 4NF 6. Create ERD 7. Create SQL Code

Functional Dependency

Field 1

Field2 Field 3 Field 4

Page 39: BAB 3 ANALISIS DAN PERANCANGAN SISTEMthesis.binus.ac.id/Asli/Bab3/2006-2-01261-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu

75

3.2.3.11 Rancangan Layar pada Menu Normal Form

Gambar 3.22 Rancangan Layar Normal Form

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.

FILE HELP

DATABASE NORMALIZATION TOOL

1. Create Project 2. Input Table - Import Table - Input Table Manually 3. Primary Key 4. Functional Dependency 5. Normal Form - 1NF - 2NF - 3NF - BCNF - 4NF 6. Create ERD 7. Create SQL Code

1NF 2NF 3NF BCNF 4NF

Entity

Primary Key

Field 1 Field 2 Field n

Next Step

Page 40: BAB 3 ANALISIS DAN PERANCANGAN SISTEMthesis.binus.ac.id/Asli/Bab3/2006-2-01261-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu

76

3.2.3.12 Rancangan Layar pada Menu ERD

Gambar 3.23 Rancangan Layar ERD

Rancangan ini berjudul ERD. Layar ini menampilkan diagram hubungan antar

entity. Tombol Next akan melanjutkan ke layar SQL Code.

FILE HELP

DATABASE NORMALIZATION TOOL

1. Create Project 2. Input Table - Import Table - Input Table Manually 3. Primary Key 4. Functional Dependency 5. Normal Form - 1NF - 2NF - 3NF - BCNF - 4NF 6. Create ERD 7. Create SQL Code

Table 1 Table n

Next Save ERD

Page 41: BAB 3 ANALISIS DAN PERANCANGAN SISTEMthesis.binus.ac.id/Asli/Bab3/2006-2-01261-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi dua yaitu

77

3.2.3.13 Rancangan Layar pada Menu SQL Code

Gambar 3.24 Rancangan Layar 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.

FILE HELP

DATABASE NORMALIZATION TOOL

1. Create Project 2. Input Table - Import Table - Input Table Manually 3. Primary Key 4. Functional Dependency 5. Normal Form - 1NF - 2NF - 3NF - BCNF - 4NF 6. Create ERD 7. Create SQL Code

SQL Code

Save