bab 3 analisis dan perancangan 3.1 analisis kebutuhan...

50
48 BAB 3 ANALISIS DAN PERANCANGAN 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 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.

Upload: dothu

Post on 15-Mar-2019

228 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

48

BAB 3

ANALISIS DAN PERANCANGAN

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

Page 2: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

49

Database Normalization Tool

Open Project

User

Create Project

Entry Data

InputTable Manual

Selecting Primary Key

Selecting FD

Import Table

SelectingNormalization

Algorithms

Create NormalForm

Create ERD

Create SQL Code

ViewNormal Form

Generate to SQLServer

Gambar 3.1 Representasi Kebutuhan Fungsional dalam Diagram Use Case

Page 3: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

50

Spesifikasi Use case

• Use case Create Project

Use case ini menggambarkan proses user menggunakan sistem untuk membuat

proyek baru.

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

1. User memilih menu Open Project.

2. User memilih proyek mana yang akan dibuka.

3. Sistem menjalankan use case view.

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

Page 4: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

51

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

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 Normalization Algorithms

1. User memilih algoritma yang diinginkan.

2. Sistem akan menampilkan layar Normal Form.

• Use case Create Normal Form

1. Sistem mendapatkan tabel dalam bentuk normal berdasarkan use case FD.

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

• Use case Create ERD

1. Sistem mendapatkan diagram antar tabel berdasarkan use case Create Normal

Form.

2. Sistem menampilkan diagram antar tabelnya.

Page 5: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

52

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

• Use case Generate to SQL Server

1. Sistem menampilkan pilihan bagi user

2. User memilih untuk menggeneralisasi kode SQL ke dalam SQL Server

• Use case View Normal Form

1. 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.1.2 Kebutuhan non fungsional

• Sistem dikembangkan dengan platform desktop menggunakan Microsoft Visual

Basic 6.0 dengan database Microsoft Access.

• Sistem memiliki respon time yang relatif cepat.

• Sistem memiliki tampilan layar yang user friendly.

Page 6: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

53

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 implementasi

program. Rancangan basis data konseptual pada sistem normalisasi ini dapat dilihat pada

gambar 3.2.

Gambar 3.2 Rancangan Basis Data Konseptual

Page 7: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

54

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.

Gambar 3.3 Rancangan Basis Data Logikal

Page 8: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

55

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.

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 1NF, 2NF maupun 3NF.

Nama Kolom Tipe Data Panjang Keterangan entID Long Int - Kode entiti prjID Long Int - Kode proyek entName Text 20 Nama entiti 1NF Yes/No - Entiti termasuk 1NF 2NF Yes/No - Entiti termasuk 2NF 3NF Yes/No - Entiti termasuk 3NF

Page 9: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

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

Page 10: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

57

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 = 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

Page 11: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

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.

Page 12: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

59

3.2.2.1 Rancangan Proses UNF menjadi 3NF

Start

Input data /import data

UnormalizedForm (UNF)

Search forcandidate key

SynthesisAlgorithm

DecompositionAlgorithm

Normal Form(3NF)

Search for FunctionalDependency

Synthesis orDecomposition?

Stop Gambar 3.4 Diagram alir proses UNF menjadi 3NF

Page 13: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

60

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

Akhir perulangan

Jika list tidak kosong maka

Tombol next di aktifkan

Selain itu

Tombol next di nonaktifkan

Akhir jika

Akhir modul

Page 14: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

61

Start

Enter database name,username, and

password

Connect toDatabase

End ofTable ?

Input table tolistbox

No

Yes

List = empty ? Button NextActive

No

Button Nextnon-Active

Yes

Stop

Gambar 3.5 Diagram Alir Import Table

Page 15: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

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 perulangan

Akhir perulangan

Akhir modul

Page 16: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

63

Gambar 3.6 Diagram alir pencarian candidate key

Page 17: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

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

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

Page 18: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

65

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

Page 19: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

66

Gambar 3.7 Diagram Alir pencarian Functional Dependency

Page 20: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

67

3.2.2.5 Rancangan Proses Bentuk Normal Kedua pada Dekomposisi

Awal modul 2NF

Baca tabel 1NF

Cari FD yang determinant = PK atau bagian PK

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

Page 21: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

68

Gambar 3.8 Diagram Alir Bentuk Normal Kedua Pada Dekomposisi

Page 22: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

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 = 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

Page 23: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

70

Gambar 3.9 Diagram Alir Bentuk Normal Ketiga Pada Dekomposisi

Page 24: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

71

3.2.2.7 Rancangan Proses Bentuk Normal Ketiga pada Sintesis

Awal modul 3NF

Baca tabel 1NF

Baca FD dari tabel 1NF

Lakukan perulangan sebanyak jumlah FD

Baca field determinantFD = PK

If jumlah determinantFD > 0 maka

Lakukan perulangan sebanyak jumlah field determinantFD

Ambil semua field determinant untuk dijadikan field tabel baru sebagai PK

Akhir perulangan

Baca field dependentFD

If jumlah dependentFD > 0 maka

Lakukan perulangan sebanyak jumlah field dependentFD

Ambil semua field dependent untuk dijadikan field berikutnya pada tabel

tersebut

Akhir perulangan

Akhir jika

Akhir jika

Akhir perulangan

Akhir modul

Page 25: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

72

Start

Read table 1NF

Read FD fromtable 1NF

Read DeterminantFD= PKAmount FD > = 1

Get all determinant asfield of new table as

PK

Amount DeterminantFD > 0 ?

Yes

End of fielddeterminant ?

Stop

Yes

No

No

ReadDependentFD

Amount DependentFD > 0 ?

Yes

End of fielddependent ?

Yes

No Get all dependent asfield of new table

Yes

Gambar 3.10 Diagram Alir Bentuk Normal Ketiga Pada Sintesis

Page 26: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

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

Akhir jika

Lakukan perulangan sebanyak jumlah tabel

Baca semua field

Buat node

Akhir perulangan

Lakukan perulangan sebanyak jumlah node

Jika field pada node berada pada tabel lain sebagai PK maka

hubungkan node tersebut

Akhir jika

Akhir perulangan

Akhir modul

Page 27: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

74

Gambar 3.11 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 1NF

Akhir jika

Lakukan perulangan sebanyak jumlah tabel

sql = ””

Page 28: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

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

Akhir perulangan

Cetak sql dan sql_PK

Akhir perulangan

Akhir modul

Page 29: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

76

Gambar 3.12 Diagram Alir Kode SQL

Page 30: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

77

3.2.3 Perancangan Layar

3.2.3.1 Rancangan Layar pada Menu Utama

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

Page 31: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

78

3.2.3.2 Rancangan Layar pada Menu File

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

Page 32: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

79

3.2.3.3 Rancangan Layar pada Menu Help

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

Page 33: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

80

3.2.3.4 Rancangan Layar pada Create Project

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

Page 34: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

81

3.2.3.5 Rancangan Layar pada Input Table

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

Page 35: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

82

3.2.3.6 Rancangan Layar pada Menu Import Data

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

Page 36: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

83

3.2.3.7 Rancangan Layar pada Menu Create Table

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

Page 37: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

84

3.2.3.8 Rancangan Layar pada Menu Input Data

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

Page 38: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

85

3.2.3.9 Rancangan Layar pada Menu Primary Key

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

Page 39: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

86

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

Page 40: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

87

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

Page 41: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

88

3.2.3.12 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 1NF dan 3NF

serta text box untuk menampilkan primary key serta tabel-tabel untuk normal form.

Tombol Next Step melanjutkan ke layar ERD.

Page 42: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

89

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

Page 43: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

90

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

Page 44: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

91

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.1 Perancangan Algoritma pada Pencarian Candidate Key

Frequency Total steps Statement s/e

n = 0 n >0 n = 0 n > 0 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

0

1

1

1

1

1

1

1

1

1

1

0

0

0

0

0

1

1

1

n+1

n

n(n+1)

n2

n2

n2

0

0

0

0

0

0

1

1

1

n+1

n

n(n+1)

n2

n2

0

n2

0

0

0

0

O(0)

O(1)

O(1)

O(1)

O(n)

O(n)

O(n2)

O(n2)

O(n2)

O(n2)

O(0)

O(0)

O(0)

O(0)

O(0)

O(0)

O(1)

O(1)

O(1)

O(n)

O(n)

O(n2)

O(n2)

O(n2)

O(0)

O(n2)

O(0)

O(0)

O(0)

O(0)

Total 4n2 + 3n

+ 4

4n2 + 3n

+ 4

O(n2) O(n2)

Tabel 3.1 Tabel Perancangan Algoritma Pada Pencarian Candidate Key

Page 45: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

92

3.2.4.2 Perancangan Algoritma pada Pencarian Functional Dependency

Frequency Total steps Statement s/e

n = 0 n >0 n = 0 n > 0

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

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

0

1

1

1

1

1

1

1

0

0

1

1

1

1

1

1

1

1

0

1

n + 1

n

n

n

n

0

0

0

1

1

n + 1

n

n

n(n+1)

n2

n2

0

1

n + 1

n

n

n

0

n

0

0

1

1

n + 1

n

n

n(n+1)

n2

0

O(0)

O(n)

O(n)

O(n)

O(n)

O(n)

O(n)

O(0)

O(0)

O(0)

O(1)

O(1)

O(n)

O(n)

O(n)

O(n2)

O(n2)

O(n2)

O(0)

O(n)

O(n)

O(n)

O(n)

O(n)

O(0)

O(n)

O(0)

O(0)

O(1)

O(1)

O(n)

O(n)

O(n)

O(n2)

O(n2)

O(0)

Page 46: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

93

fungsional terhadap field

determinant

Selain itu

Field dependent mempunyai

ketergantungan fungsional

terhadap field determinant

Akhir jika

Akhir perulangan

Akhir perulangan

Akhir jika

Akhir modul

1

0

0

0

0

0

0

0

0

0

0

0

n2

0

0

0

0

0

O(0)

O(0)

O(0)

O(0)

O(0)

O(0)

O(n2)

O(0)

O(0)

O(0)

O(0)

O(0)

Total 3n2 + 9n

+ 5

3n2 + 9n

+ 5

O(n2) O(n2)

Tabel 3.2 Tabel Perancangan Algoritma Pada Pencarian Functional Dependency

Page 47: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

94

3.2.4.3 Perancangan Algoritma pada Bentuk Normal Kedua (Dekomposisi)

Frequency Total steps Statement s/e

N =

0

n >0 n = 0 n > 0

Awal modul 2NF

Baca tabel 1NF

Cari FD yang determinant = PK atau bagian PK

Jika jumlah FD = 1 maka

tabel = tabel 2NF

Selain itu

Lakukan perulangan sebanyak jumlah FD

Buat tabel baru

Lakukan perulangan sebanyak jumlah field

determinan

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 =

determinan

Ambil dependent untuk dijadikan field tabel

baru

Akhir perulangan

Akhir perulangan

Akhir perulangan

Akhir jika

Akhir modul

0

1

1

1

1

1

1

1

1

0

1

1

1

1

1

0

0

0

0

0

0

1

1

1

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

0

0

0

n + 1

n

n(n+1)

n2

0

n(n+1)

n2

n2

n2(n+1)

n3

0

0

0

0

0

O(0)

O(1)

O(1)

O(1)

O(1)

O(0)

O(0)

O(0)

O(0)

O(0)

O(0)

O(0)

O(0)

O(0)

O(0)

O(0)

O(0)

O(0)

O(0)

O(0)

O(1)

O(n)

O(n)

O(0)

O(n)

O(n)

O(n2)

O(n2)

O(n2)

O(n2)

O(n2)

O(n3)

O(n3)

O(0)

O(0)

O(0)

O(0)

O(0)

Total 4 2n3 +6n2 +

4n + 3

O(1) O(n3)

Tabel 3.3 Tabel Perancangan Algoritma Bentuk Normal Kedua dengan Dekomposisi

Page 48: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

95

3.2.4.4 Perancangan Algoritma pada Bentuk Normal Ketiga (Dekomposisi)

Frequency Total steps Statement s/e

n = 0 n >0 n = 0 n > 0 Awal modul 3NF

Baca tabel 2NF

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 determinan untuk

dijadikan field tabel baru sebagai PK

Ambil semua field dependent untuk

dijadikan field tabel baru

Akhir perulangan

Akhir jika

Akhir perulangan

Akhir modul

0

1

1

1

1

1

1

1

1

1

0

0

0

0

0

1

n+1

n

n

n

0

0

0

0

0

0

0

0

0

1

n+1

n

0

0

n(n+1)

n2

n2

n2

0

0

0

0

O(0)

O(1)

O(n)

O(n)

O(n)

O(n)

O(0)

O(0)

O(0)

O(0)

O(0)

O(0)

O(0)

O(0)

O(0)

O(1)

O(n)

O(n)

O(0)

O(0)

O(n2)

O(n2)

O(n2)

O(n2)

O(0)

O(0)

O(0)

O(0)

Total 4n+2 4n2+3n+2 O(n) O(n2)

Tabel 3.4 Tabel Perancangan Algoritma Bentuk Normal Ketiga dengan Dekomposisi

Page 49: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

96

3.2.4.5 Perancangan Algoritma pada Bentuk Normal Ketiga (Sintesis)

Statement s/e Frequency Total

steps Awal modul 3 NF

Baca Tabel 1 NF

Baca FD dari Tabel 1NF

Lakukan perulangan sebanyak FN

Baca Field determinant FD = PK

If jumlah determinan FD > 0 maka

Lakukan perulangan sebanyak jumlah jumlah field

determinanFD

Ambil semua field determinan untuk dijadikan field tabel

baru sebagai PK

Akhir perulangan

Baca field dependentFD

If jumlah dependentFD > 0 maka

Lakukan perulangan sebanyak jumlah field dependentFD

Ambil semua field dependent untuk dijadikan field

berikutnya pada tabel tersebut

Akhir perulangan

Akhir jika

Akhir jika

Akhir perulangan

Akhir modul

0

1

1

1

1

1

1

1

0

1

1

1

1

0

0

0

0

0

0

1

1

n+1

n

n

n(n+1)

n(n)

0

n

n

n(n+1)

n

0

0

0

0

0

O(0)

O(1)

O(n)

O(n)

O(n)

O(n)

O(n2)

O(n2)

O(0)

O(n)

O(n)

O(n)

O(n)

O(0)

O(0)

O(0)

O(0)

O(0)

Total 3n2+8n+3 O(n2)

Tabel 3.5 Tabel Perancangan Algoritma Bentuk Normal Ketiga dengan Sintesis

Page 50: BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan ...thesis.binus.ac.id/doc/Bab3/2006-2-01264-IF-Bab 3.pdfmenentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

97

Big O yang didapat dari kedua algoritma yakni :

Dekomposisi = O(n3)

Sintesis = O(n2)

Time Complexity :

Dekomposisi = (4n2 + 3n + 4) + (3n2 + 9n + 5) + (2n3 + 6n2 + 4n + 3) + (4n2 + 3n + 2)

= 2n3 + 17n2 + 19n + 14

Sintesis = (4n2 + 3n + 4) + (3n2 + 9n + 5) + (3n2+8n+3)

= 10n2 + 20n + 12

Jadi algoritma sintesis membutuhkan waktu O(n2), maka itu lebih cepat daripada

waktu yang dibutuhkan oleh algoritma dekomposisi O(n3).