• Tidak ada hasil yang ditemukan

BAB 3 ANALISIS DAN PERANCANGAN

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 3 ANALISIS DAN PERANCANGAN"

Copied!
60
0
0

Teks penuh

(1)

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

Dibagi menjadi dua bagian yaitu fasilitas Data Definition Language (DDL) dan Data Manipulation Language (DML)

a. Data Definition Language (DDL)

• Sistem ini menyediakan fasilitas untuk membuat basis data baru. • Sistem ini menyediakan fasilitas untuk mengubah struktur pada

basis data yang ada.

• Sistem ini menyediakan fasilitas untuk menghapus basis data yang ada.

• Sistem ini menyediakan fasilitas untuk membuat tabel baru dalam sebuah basis data.

• Sistem ini menyediakan fasilitas untuk mengubah struktur pada tabel yang ada.

(2)

• Sistem ini menyediakan fasilitas untuk menghapus tabel yang ada. • Sistem ini menyediakan fasilitas untuk membuat indeks baru.

• Sistem ini menyediakan fasilitas untuk menghapus indeks yang sudah ada.

b. Data Manipulation Language (DML)

• Sistem ini menyediakan fasilitas untuk menambahkan data pada sebuah tabel yang ada.

• Sistem ini menyediakan fasilitas untuk menampilkan data pada sebuah tabel yang ada.

• Sistem ini menyediakan fasilitas untuk menghapus data pada sebuah tabel yang ada.

• Sistem ini menyediakan fasilitas untuk mengubah data pada sebuah tabel yang ada.

(3)

System TransactionManager shrink_data delete_data select_data update_data insert_data create_database drop_database create_table create_index drop_table drop_index alter_database alter_table

Gambar 3.1 Rancangan Use Case o Use case create_database

Actors

(4)

Description

Use case ini menggambarkan proses jika ada permintaan untuk membuat basis data baru.

Postconditions

• Basis data tersedia pada struktur RDBMS.

• Informasi basis data tersedia pada file katalog basis data. • File XML basis data tersedia dalam physical storage.

Normal Flow

1. TransactionManager mengirim permintaan pembuatan basis data, yang terdiri atas nama basis data, lokasi basis data di physical storage, nama folder untuk data, nama folder untuk log.

2. Sistem mengecek tidak boleh ada nama yang sama dalam satu server. 3. Sistem mengecek panjang nama basis data tidak boleh lebih dari 59

karakter dan nama tidak mengandung karakter *, <, >, /, \, ?, |, :, ”. 4. Sistem mengecek lokasi yang dikirimkan tersedia dan ukuran yang

tersedia pada physical storage lebih besar atau sama dengan ukuran file basis data awal.

5. Sistem mengalokasikan basis data baru dalam physical storage (dalam bentuk XML file) dan menambahkan informasi basis data pada katalog basis data.

6. Sistem mengirimkan status selesai membuat basis data baru.

(5)

Alt-Step 2 : Jika nama basis data telah ada dalam server, maka sistem mengirimkan status gagal membuat basis data.

Alt-Step 3 : Jika nama basis data lebih dari 59 karakter atau mengandung karakter *, <, >, /, \, ?, |, :, ”, maka sistem mengirimkan status gagal membuat basis data.

Alt-Step 4 : Jika lokasi yang dikirimkan tidak tersedia atau ukuran pada physical storage dari lokasi yang dikirimkan lebih kecil dari ukuran file basis data yang dikirim, maka sistem mengirimkan status gagal membuat basis data.

o Use case create_table

Actors

Transaction Manager

Description

Use case ini menggambarkan proses jika ada permintaan untuk membuat tabel baru.

Preconditions

• Basis data telah ada.

• Lokasi basis data yang akan digunakan tersedia pada physical storage.

Postconditions

• Tabel tersedia dalam RDBMS.

(6)

• File XML tabel untuk data dan informasi tersedia dalam physical storage.

Normal Flow

1. TransactionManager mengirim permintaan pembuatan tabel baru, yang terdiri atas nama basis data, nama tabel, nama kolom, tipe data kolom, panjang kolom (untuk tipe data char), jumlah angka di belakang koma (untuk tipe data float), status apakah kolom boleh diisi data kosong, status apakah kolom merupakan primary key, status apakah kolom merupakan foreign key, kode tabel tujuan jika ada foreign key, dan kode kolom tujuan jika ada foreign key.

2. Sistem mengecek tidak boleh ada nama tabel yang sama dalam sebuah basis data.

3. Sistem mengecek panjang nama tabel tidak lebih dari 64 karakter. 4. Sistem mengecek nama kolom untuk tabel tersebut tidak boleh ada

yang sama.

5. Sistem mengecek jika tabel memiliki foreign key, maka kolom yang dituju merupakan primary key dan memiliki tipe data yang sama. 6. Sistem mengecek tipe data kolom adalah tipe data yang disediakan

sistem.

7. Sistem mengalokasikan tabel baru dalam physical storage meliputi pembuatan file untuk data dan informasi tabel serta menambahkan informasi tabel pada katalog tabel.

8. Sistem mengirimkan status selesai membuat tabel baru.

(7)

Alt-Step 2 : Jika nama tabel telah ada dalam basis data yang dikirim, maka sistem mengirimkan status gagal membuat tabel.

Alt-Step 3 : Jika panjang nama tabel lebih dari 64 karakter, maka sistem mengirimkan status gagal membuat tabel.

Alt-Step 4 : Jika nama kolom ada yang sama, maka sistem mengirimkan status gagal membuat tabel.

Alt-Step 5 : Jika ada foreign key dan kolom yang dituju bukan primary key atau tipe data berbeda maka sistem mengirimkan status gagal membuat tabel.

Alt-Step 6 : Jika tipe data yang diterima tidak dikenal, maka sistem mengirimkan status gagal membuat tabel.

o Use case create_index

Actors

Transaction Manager

Description

Use case ini menggambarkan proses jika ada permintaan untuk membuat indeks baru.

Preconditions

• Basis data telah ada.

• Lokasi basis data yang akan digunakan tersedia pada physical storage.

• Tabel telah ada.

(8)

• Indeks tersedia dalam RDBMS.

• Informasi indeks tersedia pada file katalog indeks.

• File XML indeks untuk nilai indeks tersedia dalam physical storage

Normal Flow

1. TransactionManager mengirim permintaan pembuatan indeks baru, yang terdiri atas nama basis data, nama tabel, nama indeks, nama kolom yang akan dijadikan acuan indeks.

2. Sistem mengecek tidak boleh ada nama indeks yang sama dalam sebuah tabel.

3. Sistem mengecek panjang nama indeks tidak boleh lebih dari 64 karakter.

4. Sistem mengalokasikan indeks di physical storage dengan menambahkan informasi pada katalog indeks dan menyimpan nilai dari kolom yang dijadikan indeks dan menyimpan kode record dari nilai tersebut dalam file indeks. Jika katalog indeks untuk basis data yang dikirim belum ada, maka akan dibuat katalog indeks.

5. Sistem mengirimkan status selesai membuat indeks .

Alternate Flow

Alt-Step 2 : Jika nama indeks telah ada dalam tabel, maka sistem mengirimkan status gagal membuat indeks.

Alt-Step 3 : Jika panjang nama indeks lebih dari 64 karakter, maka sistem mengirimkan status gagal membuat indeks.

(9)

Actors

Transaction Manager

Description

Use case ini menggambarkan proses jika ada permintaan untuk mengubah struktur basis data.

Preconditions

• Basis data telah ada.

• Lokasi basis data yang akan digunakan tersedia pada physical storage.

Postconditions

• Informasi basis data pada katalog basis data merupakan informasi yang baru.

• File XML basis data tersedia dalam physical storage sesuai informasi yang baru.

Normal Flow

1. TransactionManager mengirim permintaan perubahan struktur basis data, yang terdiri atas nama basis data lama, nama basis data baru, lokasi basis data di physical storage, nama folder untuk data, nama folder untuk log.

2. Sistem mengecek jika nama basis data diubah maka nama basis data yang baru tidak boleh ada yang sama dalam satu server.

(10)

3. Sistem mengecek jika nama basis data diubah maka panjang nama basis data yang baru tidak boleh lebih dari 59 karakter dan tidak mengandung karakter *, <, >, /, \, ?, |, :, ”.

4. Sistem mengecek jika lokasi diubah maka lokasi baru tersedia dan ukuran yang tersedia pada physical storage lebih besar atau sama dengan ukuran file basis data baru.

5. Sistem melakukan perubahan informasi untuk file pada physical storage, meliputi mengubah nama file XML untuk perubahan nama basis data, mengubah nama folder untuk data dan log untuk perubahan nama folder untuk data dan log, memindahkan file ke lokasi baru untuk perubahan lokasi fisik maupun perubahan informasi pada katalog basis data.

6. Sistem mengirimkan status selesai melakukan perubahan struktur basis data.

Alternate Flow

Alt-Step 2 : Jika nama basis data baru sudah ada dalam server, maka

sistem mengirimkan status gagal melakukan perubahan struktur basis data.

Alt-Step 3 : Jika nama basis data baru lebih dari 59 karakter atau

mengandung karakter * ,< ,> ,/ ,\ ,? ,| ,: ,” , maka sistem mengirimkan status gagal melakukan perubahan struktur basis data.

Alt-Step 4 : Lokasi yang dikirimkan tidak tersedia atau ukuran pada

(11)

basis data yang dikirim, maka sistem mengirimkan status gagal melakukan perubahan struktur basis data.

o Use case alter_table

Actors

Transaction Manager

Description

Use case ini menggambarkan proses jika ada permintaan untuk mengubah struktur tabel.

Preconditions

• Basis data telah ada.

• Lokasi basis data yang akan digunakan tersedia pada physical storage.

• Tabel sudah ada

Postconditions

• Informasi tabel pada katalog tabel merupakan informasi yang baru. • File data tersedia dalam physical storage sesuai informasi yang baru.

Normal Flow

1. TransactionManager mengirim permintaan perubahan tabel untuk perubahan pada kolom yang telah ada, yang terdiri atas nama basis data, nama tabel, nama kolom baru, status apakah kolom boleh diisi data kosong, status apakah kolom merupakan primary key, status apakah kolom merupakan foreign key, kode tabel tujuan jika ada foreign key, dan kode kolom tujuan jika ada foreign key.

(12)

2. Sistem mengecek untuk perubahan nama kolom, nama kolom baru tidak boleh ada yang sama dalam tabel tersebut.

3. Sistem mengecek untuk penambahan kolom baru, nama kolom tidak boleh ada yang sama dalam tabel tersebut dan tipe data kolom harus merupakan tipe data yang disediakan sistem.

4. Sistem mengecek untuk penghapusan kolom, nama kolom harus ada dan bukan merupakan primary key.

5. Sistem mengecek untuk penambahan primary key, data harus unik. 6. Sistem mengecek untuk penambahan foreign key, kolom tujuan harus

merupakan primary key dan data harus valid dengan kolom tujuan. 7. Sistem melakukan pada physical storage, baik penambahan kolom

baru ataupun memberikan status dihapus pada kolom.

8. Sistem mengirimkan status berhasil melakukan perubahan pada struktur tabel.

Alternate Flow

Alt-Step 2 : Jika nama kolom ada yang sama atau tipe data yang diterima tidak dikenal, maka sistem mengirimkan status gagal melakukan perubahan pada struktur tabel.

Alt-Step 3 : Jika nama kolom yang dikirim merupakan primary key, maka sistem mengirimkan status gagal melakukan perubahan pada struktur tabel.

Alt-Step 4 : Jika data pada kolom yang dijadikan primary key ada yang sama, maka sistem mengirimkan status gagal melakukan perubahan pada struktur tabel.

(13)

Alt-Step 5 : Jika data pada kolom yang dijadikan foreign key ada yang tidak valid atau sesuai dengan kolom tujuan, maka sistem mengirimkan status gagal melakukan perubahan pada struktur tabel.

o Use case drop_database

Actors

Transaction Manager

Description

Use case ini menggambarkan proses jika ada permintaan untuk menghapus basis data.

Preconditions

• Basis data telah ada.

• Lokasi basis data yang akan digunakan tersedia pada physical storage.

Postconditions

• Folder data dan log untuk basis data yang dikirim tidak tersedia lagi pada physical storage.

• Informasi mengenai basis data tidak tersedia pada katalog basis data. • Basis data tidak tersedia dalam RDBMS.

Normal Flow

1. TransactionManager mengirim permintaan penghapusan basis data, yang terdiri atas nama basis data.

(14)

3. Sistem menghapus basis data pada physical storage dengan menghapus folder data dan log untuk basis data yang dikirim serta menghapus informasi basis data pada katalog basis data.

4. Sistem mengirimkan status berhasil menghapus basis data.

Alternate Flow

Alt-Step 2 : Jika nama basis data yang dikirim tidak tersedia pada server, maka sistem mengirimkan status gagal menghapus basis data.

o Use case drop_table

Actors

Transaction Manager

Description

Use case ini menggambarkan proses jika ada permintaan untuk menghapus tabel.

Preconditions

• Basis data telah ada.

• Lokasi basis data yang akan digunakan tersedia pada physical storage.

• Tabel sudah ada.

Postconditions

• File informasi dan data tabel tidak tersedia lagi pada physical storage. • Informasi status tabel pada katalog tabel telah diubah ke status

dihapus.

(15)

Normal Flow

1. TransactionManager mengirim permintaan penghapusan tabel, yang terdiri atas nama basis data, nama tabel.

2. Sistem mengecek nama tabel yang dikirim tersedia pada basis data. 3. Sistem mengecek tabel yang akan dihapus bukanlah tabel yang dituju

untuk foreign key.

4. Sistem menghapus tabel pada physical storage, dengan menghapus file informasi dan data serta mengubah status pada katalog tabel. 5. Sistem mengirimkan status berhasil menghapus tabel.

Alternate Flow

Alt-Step 2 : Jika nama tabel yang dikirim tidak tersedia, maka sistem mengirimkan pesan gagal menghapus tabel.

Alt-Step 3 : Jika tabel yang dihapus merupakan tabel tujuan untuk foreign key, maka sistem mengirimkan pesan gagal menghapus tabel.

o Use case drop_index

Actors

Transaction Manager

Description

Use case ini menggambarkan proses jika ada permintaan untuk menghapus indeks.

Preconditions

(16)

• Lokasi basis data yang akan digunakan tersedia pada physical storage.

• Tabel telah ada. • Indeks telah ada.

Postconditions

• File nilai indeks tidak tersedia pada physical storage.

• Informasi status indeks pada katalog indeks telah diubah ke status dihapus.

Normal Flow

1. TransactionManager mengirim permintaan penghapusan indeks, yang terdiri atas nama basis data, nama tabel, nama indeks.

2. Sistem mengecek nama tabel tersedia pada basis data. 3. Sistem mengecek nama indeks tersedia pada tabel.

4. Sistem menghapus indeks pada physical storage, dengan menghapus file nilai indeks dan mengubah status pada katalog indeks.

5. Sistem mengirimkan pesan berhasil menghapus indeks.

Alternate Flow

Alt-Step 2 : Jika nama tabel yang dikirim tidak tersedia, maka sistem mengirimkan status gagal menghapus indeks.

Alt-Step 3 : Jika nama indeks yang dikirim tidak tersedia, maka sistem mengirimkan status gagal menghapus indeks.

o Use case select_data

(17)

Transaction Manager

Description

Use case ini menggambarkan proses jika ada permintaan untuk melihat data.

Preconditions

• Basis data telah ada.

• Lokasi basis data yang akan digunakan tersedia pada physical storage.

• Tabel sudah ada.

Normal Flow

1. TransactionManager mengirim permintaan untuk menampilkan data yang terdiri atas nama tabel, nama kolom, kondisi.

2. Sistem mengecek nama tabel yang dikirim tersedia pada basis data. 3. Sistem mengecek nama kolom yang dikirim tersedia pada tabel. 4. Sistem mencari data pada tabel yang dikirim yang memenuhi kondisi. 5. Sistem mengirimkan data ke TransactionManager.

Alternate Flow

Alt-Step 2 : Jika nama tabel yang dikirim tidak tersedia, maka sistem mengirimkan status gagal menampilkan data.

Alt-Step 3 : Jika nama kolom yang dikirim tidak tersedia pada tabel, maka sistem mengirimkan status gagal menampilkan data.

o Use case update_data

(18)

Transaction Manager

Description

Use case ini menggambarkan proses jika ada permintaan untuk mengubah data.

Preconditions

• Basis data telah ada.

• Lokasi basis data yang akan digunakan tersedia pada physical storage.

• Tabel sudah ada.

Postconditions

• Data pada file data merupakan data yang terbaru.

Normal Flow

1. TransactionManager mengirim permintaan perubahan data pada sebuah tabel, yang terdiri atas : nama basis data, nama tabel, nama kolom, nilai baru, kondisi.

2. Sistem mengecek nama tabel yang dikirim tersedia pada basis data. 3. Sistem mengecek nama kolom yang dikirim tersedia pada tabel.

4. Sistem mengecek nilai baru yang akan dimasukkan harus sesuai dengan tipe data kolom.

5. Sistem mengecek untuk kolom primary key, nilainya tidak boleh ada duplikasi.

(19)

6. Sistem mengecek untuk kolom yang berhubungan dengan tabel lain (foreign key), maka nilai harus valid (sesuai dengan tabel yang dituju).

7. Sistem mengalokasikan perubahan data pada physical storage, dengan memberi status pada baris data yang ada dan menambahkan baris data baru sesuai dengan nilai yang dikirim.

8. Sistem mengirimkan status berhasil mengubah data.

Alternate Flow

Alt-Step 2 : Jika nama tabel yang dikirim tidak tersedia, maka sistem mengirimkan status gagal mengubah data.

Alt-Step 3 : Jika nama kolom yang dikirim tidak terdapat pada tabel yang dimaksud, maka sistem mengirimkan status gagal mengubah data.

Alt-Step 4 : Jika data yang dikirim, tipenya tidak sesuai dengan tipe data kolom tersebut, maka sistem mengirimkan status gagal mengubah data. Alt-Step 5 : Jika data yang dikirim untuk kolom primary key, jika datanya tidak unik, maka sistem mengirimkan status gagal mengubah data.

Alt-Step 6 : Jika data yang dikirim untuk kolom yang berhubungan dengan tabel lain (foreign key), jika nilai tidak valid (tidak sesuai dengan tabel yang dituju), maka sistem akan mengirimkan status gagal mengubah data.

o Use case delete_data

Actors

(20)

Description

Use case ini menggambarkan proses jika ada permintaan untuk menghapus data.

Preconditions

• Basis data telah ada.

• Lokasi basis data yang akan digunakan tersedia pada physical storage.

• Tabel sudah ada.

Postconditions

• Data tidak dapat diakses.

• Informasi jumlah baris data pada katalog tabel merupakan jumlah terbaru.

Normal Flow

1. TransactionManager mengirim permintaan untuk menghapus data pada sebuah tabel, yang terdiri atas : nama basis data, nama tabel, kondisi.

2. Sistem mengecek nama tabel yang dikirim tersedia pada basis data. 3. Sistem mengecek tabel yang datanya akan dihapus tidak dijadikan

tabel tujuan dalam foreign key.

4. Sistem menghapus data pada physical storage yang memenuhi kondisi dengan mengubah status pada file data dan mengubah jumlah baris pada katalog tabel.

(21)

Alternate Flow

Alt-Step 2 : Jika nama tabel yang dikirim tidak tersedia, maka sistem mengirimkan status gagal menghapus data.

Alt-Step 3 : Jika tabel yang datanya akan dihapus merupakan tabel tujuan dalam foreign key, maka sistem mengirimkan status gagal menghapus data.

o Use case insert_data

Actors

Transaction Manager

Description

Use case ini menggambarkan proses jika ada permintaan untuk mamasukkan (menambah) data baru.

Preconditions

• Basis data telah ada.

• Lokasi basis data yang akan digunakan tersedia pada physical storage.

• Tabel sudah ada.

Postconditions

• Data baru tersedia dalam file data untuk tabel.

• Informasi jumlah baris data pada katalog tabel merupakan jumlah terbaru.

(22)

1. TransactionManager mengirim permintaan untuk menambah data pada sebuah tabel, yang terdiri atas nama tabel, nama kolom, nilai yang ingin disimpan.

2. Sistem mengecek nama tabel yang dikirim tersedia pada basis data. 3. Sistem mengecek nama kolom yang dikirim tersedia pada tabel. 4. Sistem mengecek tipe data nilai sesuai dengan tipe data tiap kolom. 5. Sistem mengecek untuk kolom primary key, nilainya tidak boleh ada

duplikasi.

6. Sistem mengecek untuk kolom yang berhubungan dengan tabel lain (foreign key), maka nilai harus valid (sesuai dengan tabel yang dituju).

7. Sistem menambahkan nilai ke dalam physical storage, meliputi menambahkan data baru pada file data dan mengubah jumlah baris data pada katalog tabel.

8. Sistem mengirimkan status berhasil memasukkan data baru.

Alternate Flow

Alt-Step 2 : Jika nama tabel yang dikirim tidak tersedia, maka sistem mengirimkan status gagal memasukkan data baru.

Alt-Step 3 : Jika nama kolom yang dikirim tidak terdapat pada tabel yang dimaksud, maka sistem mengirimkan status gagal memasukkan data baru. Alt-Step 4 : Jika data yang dikirim, tipenya tidak sesuai dengan tipe data kolom tersebut, maka sistem mengirimkan status gagal memasukkan data baru.

(23)

Alt-Step 5 : Jika data yang dikirim untuk kolom primary key, jika datanya tidak unik, maka sistem mengirimkan status gagal memasukkan data baru.

Alt-Step 6 : Jika data yang dikirim untuk kolom yang berhubungan dengan tabel lain (foreign key), jika data tidak valid (tidak sesuai dengan tabel yang dituju), maka sistem akan mengirimkan status gagal memasukkan data baru.

o Use case shrink_data

Actors

Transaction Manager

Description

Use case ini menggambarkan proses untuk menghapus data dari physical storage. Jadi dalam proses ini data yang sudah dihapus, baik tabel, basis data, indeks, kolom maupun data, akan benar-benar dihapus dari physical storage.

Postconditions

• Data dalam physical storage hanya ada data yang masih bisa diakses.

Normal Flow

1. TransactionManager mengirim permintaan membersihkan data yang tidak terpakai dari physical storage untuk basis data tertentu.

2. Sistem akan menulis semua data yang ada dalam physical storage yang memiliki status aktif.

(24)

3.1.2 Kebutuhan Non Fungsional

a. Sistem dikembangkan untuk digunakan pada sistem operasi Windows. b. Sistem dikembangkan dengan menggunakan format penyimpanan

XML.

3.2 Perancangan

3.2.1 Perancangan Struktur

3.2.1.1 Rancangan Struktur RDBMS secara Konseptual

-kodeIndex : Long -namaIndex : String -kodeTabel : Long -kodeField : Long Index -kodeDatabase : Long -kodeTable : Long -namaTable : String Table -kodeTabel : Long -kodeField : Long -namaField : String -kodeTipeData : Long -length : Integer -allowNull : Boolean -primaryKey : Boolean -kodeForeignKey : Long Field -kodeDatabase : Long -namaDatabase : String -userCreated : String -timeCreated : Date -size : int -maxSize : int -growthIncrement : int -namaLogFile : String -namaPhyscalFile : String -pathPhysicalFile : String Database -kodeTipeData : Long -namaTipeData : String -size : Byte TipeData -kodeForeignKey : Long -kodeTableTujuan : Long -kodeFieldTujuan : Long ForeignKey -kodeField : Long -kodeRecord : Long -isiCell : String Cell 1 1..* -1 -1..* 1..* 1 -1..* -1..* -1..* -1 -1 -1..* 1 1

(25)

3.2.1.2 Rancangan Struktur RDBMS secara Logikal -kodeDatabase : Long -kodeTable : Long -namaTable : String Table -kodeTabel : Long -kodeField : Long -namaField : String -kodeTipeData : Long -length : Integer -allowNull : Boolean -primaryKey : Boolean -kodeForeignKey : Long Field -kodeDatabase : Long -namaDatabase : String -userCreated : String -timeCreated : Date -size : int -maxSize : int -growthIncrement : int -namaLogFile : String -namaPhyscalFile : String -pathPhysicalFile : String Database -kodeTipeData : Long -namaTipeData : String -size : Byte TipeData -kodeForeignKey : Long -kodeTableTujuan : Long -kodeFieldTujuan : Long ForeignKey -kodeField : Long -kodeRecord : Long -isiCell : String Cell -kodeIndex : Long -namaIndex : String Index 1 1..* -1 -1..* 1..* 1 -1 -1..* -1..* -1 -1 -1..* 1 1 -KodeIndex : Long -KodeTabel : Long -KodeField : Long

Attrib Indexed Field

-1 -1..*

Gambar 3.3 Rancangan Struktur RDBMS secara Logikal

3.2.2 Rancangan Format File XML dan Deskripsi Data

Organisasi File yang diharapkan adalah di root folder terdapat beberapa file yang berfungsi sebagai template, serta menyimpan informasi basis data dan tipe data yang ada, antara lain :

(26)

Menerangkan format data penyimpanan dan deskripsi tipe data setiap objek yang ada.

Di dalamnya terdapat :

• SysDatabase untuk mendeskripsikan tentang format basis data. • SysTable untuk mendeskripsikan tentang format tabel.

• SysField untuk mendeskripsikan tentang format kolom. • SysRecord untuk mendeskripsikan tentang format dari baris. • SysTipeData untuk mendeskripsikan tentang format tipe data. • SysIndex untuk mendeskripsikan tentang format indeks.

<SystemCatalog> <sysDatabase kodeDatabase=Long> <namaDatabase>String</namaDatabase> <userCreated>String</userCreated> <timeCreated>Date</timeCreated> <timeLastModified>Date</timeLastModified> <namaLogFile>String</namaLogFile> <namaPhysicalFile>String</namaPhysicalFile> <pathPhysicalFile>String</pathPhysicalFile> <countTable>Integer</countTable> </sysDatabase>

<sysTable kodeTable=Long status=Byte> <namaTable>String</namaTable>

(27)

<timeCreated>Date</timeCreated>

<timeLastModified>Date</timeLastModified> <countRow>Integer</countRow>

<countField>Integer</countField> </sysTable>

<sysField kodeField=Long status=Byte> <namaField>String</namaField> <kodeTipeData>Long</kodeTipeData> <length>Integer</length> <precision>Integer</precision> <allowNull>Boolean</allowNull> <primaryKey>Boolean</primaryKey> <kodeForeignKey kode=Long> <kodeTableTujuan>Long</kodeTableTujuan> <kodeFieldTujuan>Long</kodeFieldTujuan> </kodeForeignKey> </sysField>

<sysCell kodeRecord=Long status=Byte> <isiCell>String</isiCell> </sysCell> <sysTipeData kodeTipeData=Long> <namaTipeData>String</namaTipeData> <size>Byte</size> </sysTipeData>

(28)

<sysIndex kodeIndex=Long> <namaIndex>Long</namaIndex> <kodeTable>Long</kodeTable> <kodeField>Long</kodeField> </sysIndex> </SystemCatalog> b. SysTypes

Berisi tipe data-tipe data yang terdapat pada sistem dengan detilnya antara lain :

• Kode Tipe Data, dengan kisaran nilai dari 1 sampai 99 • Nama Tipe Data

• Size, ukuran dari tipe data <DataTypeObjects> <TipeData kodeTipeData="1"> <namaTipeData>int</namaTipeData> <size>4</size> </TipeData> <TipeData kodeTipeData="2"> <namaTipeData>float</namaTipeData> <size>12</size> </TipeData> <TipeData kodeTipeData="3">

(29)

<namaTipeData>datetime</namaTipeData> <size>10</size> </TipeData> <TipeData kodeTipeData="4"> <namaTipeData>char</namaTipeData> <size>1</size> </TipeData> </DataTypeObjects> c. SysTypes

Menerangkan format untuk penyimpanan informasi dari setiap basis data.

<Database kodeDatabase=""> <Table kodeTable="" status=""> <namaTable></namaTable> <userCreated></userCreated> <timeCreated></timeCreated> <timeLastModified></timeLastModified> <countField></countField> <countRow></countRow> </Table> </Database> d. SysIndexes

(30)

Menerangkan format untuk penyimpanan indeks yang dibuat di dalam satu tabel dari suatu basis data.

<IndexObjects> <Index kodeIndex=" "> <namaIndex></namaIndex> <IndexedField kodeTable=" "> <kodeField></kodeField> <kodeField></kodeField> </IndexedField> </Index> </IndexObjects> e. SysIndexValues

Menerangkan format untuk penyimpanan data tabel sesuai indeks yang ada.

<Index kodeIndex=" " kodeTable=" "> <Field kodeField=" "> <Cell> <isiCell> </isiCell> <kodeRecord> </kodeRecord> </Cell> </Field> </Index>

(31)

f. SysTables

Menerangkan format untuk penyimpanan informasi dari setiap tabel. <Table kodeTable=" ">

<Field kodeField=" " status=" "> <namaField></namaField> <kodeTipeData></kodeTipeData> <length></length> <precision></precision> <allowNull></allowNull> <primaryKey></primaryKey> <ForeignKey kodeForeignKey=" "> <kodeTableTujuan></kodeTableTujuan> <kodeFieldTujuan></kodeFieldTujuan> </ForeignKey> </Field> </Table> g. SysValues

Menerangkan format untuk penyimpanan data dari setiap baris dari suatu tabel.

<Table kodeTable=" ">

<Record kodeRecord=" " status=" "> <Field kodeField=" " length=" "></Field> </Record>

(32)

</Table>

h. Databases

Berisi objek-objek basis data yang ada, dengan detilnya antara lain: • Kode Database, sebagai atribut, dengan kisaran nilai dari 1 sampai

99.

• Nama Database, dengan panjang nama maksimal 59 karakter. • User Created, dengan panjang nama maksimal 16 karakter. • Time Created, dengan format mm/dd/yyyy.

• Time Last Modified, dengan format mm/dd/yyyy.

• Nama Log File, dengan panjang nama maksimal 64 karakter ( default : nama log file didapat dari nama basis data + _Log ).

• Nama Physical File, dengan panjang nama maksimal 64 karakter ( default : nama physical file didapat dari nama basis data + _Data ). • Path Physical File, dengan panjang nama maksimal 128 karakter. • Count Table, jumlah tabel yang dimiliki basis data, dengan kisaran

nilai dari 1 sampai 99. <DatabaseObjects> <Database kodeDatabase=" "> <namaDatabase></namaDatabase> <userCreated></userCreated> <timeCreated></timeCreated> <timeLastModified></timeLastModified>

(33)

<namaLogFile></namaLogFile> <namaPhysicalFile></namaPhysicalFile> <pathPhysicalFile></pathPhysicalFile> <countTable></countTable> </Database> </DatabaseObjects>

Selanjutnya setiap basis data dibuatkan folder atau direktori untuk menyimpan informasi basis data tersebut, informasi setiap tabel, nilai setiap tabel, indeks, yang terdiri atas :

a. “Info“ + (Nama Basis Data)

Menerangkan informasi dari tabel-tabel yang terdapat dalam database tersebut, dengan detil dari tabel sebagai berikut :

• kodeTable, sebagai atribut, dengan kisaran nilai dari 1 sampai 99. • status, sebagai atribut, dengan nilai 0 (deleted), 1 (active), 2

(updated).

• namaTable, dengan panjang nama maksimal 64 karakter. • userCreated, dengan panjang nama maksimal 16 karakter. • timeCreated, dengan format mm/dd/yyyy.

• timeLastModified, dengan format mm/dd/yyyy.

• countField, jumlah kolom yang dimiliki setiap tabel, dengan kisaran nilai dari 1 sampai 99.

(34)

• countRecord, jumlah baris yang dimiliki setiap tabel, dengan kisaran nilai dari 1 sampai 9999.

b. “Info“ + “-“ + (Kode Basis Data) + “-“ + (Kode Tabel)

Menerangkan informasi dari kolom-kolom yang terdapat dalam suatu tabel, dengan detil dari kolom adalah sebagai berikut :

• kodeField, sebagai atribut, dengan kisaran nilai dari 1 sampai 99. • status, sebagai atribut, dengan nilai 0 (deleted), 1 (active), 2

(updated).

• namaField, dengan panjang nama maksimal 64 karakter. • kodeTipeData, dengan kisaran nilai antara 1 sampai 99. • precision, dengan kisaran nilai 0 sampai 4.

• allowNull, dengan nilai antara true atau false. • primaryKey, dengan nilai antara true atau false. • foreignKey, dengan detailnya yaitu :

™ kodeForeignKey, dengan kisaran nilai 0 sampai 99, nilai 0 berarti tidak terdapat hubungan ke tabel lain.

™ kodeTableTujuan, dengan kisaran nilai 0 sampai 99, nilai 0 berarti tidak terdapat hubungan ke tabel lain.

™ kodeFieldTujuan, dengan kisaran nilai 0 sampai 99, nilai 0 berarti tidak terdapat hubungan ke kolom dari tabel lain.

c. “Data“ + “-“ + (Kode Basis Data) + “-“ + (Kode Tabel)

Menerangkan nilai data dari suatu tabel dengan data tiap baris, detilnya sebagai berikut :

(35)

• kodeRecord, sebagai atribut, dengan kisaran nilai antara 1 sampai 9999.

• status, sebagai atribut, dengan nilai 0 (deleted), 1 (active), 2 (updated).

• Setiap baris memuat nilai-nilai dari kolom, panjang data dari setiap kolom dialokasikan sesuai dengan tipe data awal kolom itu dibuat. Untuk informasi dalam kolom ditambahkan :

™ kodeField, dengan kisaran nilai antara 1 sampai 99.

™ length, panjang nilai data, dengan kisaran nilai antara 1 sampai 999.

d. “Index“ + (Nama Basis Data)

Menerangkan indeks yang dimiliki dalam sebuah basis data, detilnya sebagai berikut :

• kodeIndex, sebagai atribut, dengan kisaran nilai antara 1 sampai 99.

• namaIndex, dengan panjang nama maksimal 64 karakter

• kodeTable, sebagai atribut, dengan kisaran nilai antara 1 sampai 99 dan menerangkan kolom apa saja yang digunakan dalam indeks. Disimpan dengan detil berupa :

™ kodeField, dengan kisaran nilai antara 1 sampai 99.

(36)

Menerangkan nilai data dari suatu indeks, dimana nilai data sudah dikelompokkan menurut nilai dari kolom yang dijadikan indeks, detilnya sebagai berikut :

• kodeIndex, sebagai atribut, dengan kisaran nilai antara 1 sampai 99.

• kodeTable, sebagai atribut, dengan kisaran nilai antara 1 sampai 99.

• kodeField, dengan kisaran nilai antara 1 sampai 99, di dalam setiap kolom yang dijadikan indeks, disimpan distinct data, data unik dengan detil sebagai berikut :

™ isiCell, nilai dari kolom.

™ kodeRecord, menyimpan kode-kode baris yang memiliki nilai yang sama dari isiCell.

3.2.3 Perancangan Proses

(37)

Start Accept request to create a new database Unique name? Error - End No Amount char of name<=59 and name

not consist of *,<,>,/,\,?,|,:," ?

Yes

Physical location is valid and having space >= initialize database size ? Allocate new database in physical storage based on physical location

Add new database in catalog Yes Yes No No Success - End

(38)

3.2.3.2 Rancangan Proses create_table

Start

Error - End

Success - End accept request to

create a new table

Unique name? Amount char of name <= 64 ? Each column name is unique ? Destination column of foreign key is a primary key ? Correct data type for each column ?

Create table file info and data Yes Yes Yes Yes Yes No No No No No

Update count table in catalog Add new table in

catalog

(39)

3.2.3.3 Rancangan Proses create_index

Start

Error - End

Success - End Accept request to

create a new index

Unique name ?

Amount char of name <= 64 ?

Create index file Yes

Yes No

No

Add new index in catalog Gambar 3.6 Diagram Alir create_index

(40)

3.2.3.4 Rancangan Proses alter_database Start Accept request to alter a database New database name is unique ? Amount char of new name<=128

and new name not consist of *,<,>,/,\,?,|,:," ?

New physical location is valid and having

space >= initialize database size ? Allocate the change of database in physical storage Success - End Yes Yes Yes Error - End No No No

(41)

3.2.3.5 Rancangan Proses alter_table

Start

Accept request to alter a table

For change field name, new field name

is unique?

For add new field, new field name is unique and data type

is valid?

For delete field, field is a

primary key field?

For add primary key, if record count>0, data is unique? Success - End Yes Yes No Error - End No No Yes

For add foreign key, if record count>0, data is

valid?

Allocate change in file info an data Yes Allocate change in catalog No No Yes

(42)

3.2.3.6 Rancangan Proses drop_database Accept request to drop a database Start Database exists ? Flag database in catalog Error - End Success - End Yes No Delete database file and folder

(43)

3.2.3.7 Rancangan Proses drop_table Accept request to drop a table Start Table is a destination of foreign key ? Flag table in catalog Error - End Success - End No Yes Table exists ? Yes No

Delete table file info and data

(44)

3.2.3.8 Rancangan Proses drop_index Start Accept request to drop an index Table exists ? Index exists

Delete file index Error - End Success - End Yes Yes No No Flag index in catalog

(45)

3.2.3.9 Rancangan Proses select_data Start Success - End Accept request to select data Find table ? Find column ? Error - End Find data Send data to Tracsaction Manager No No Yes Yes

(46)

3.2.3.10 Rancangan Proses update_data Start Error - End Table exists ? Accept request to update data Column exists ? Unique data for primary key

column ? Correct data

type ?

Valid data for foreign key

column ?

Flag data in physical storage

Add data in

physical storage Success - End Yes Yes Yes Yes Yes No No No No No

(47)

3.2.3.11 Rancangan Proses delete_data Start Error - End Accept request to delete data Table exists ? Tabel is a destination of foreign key ? Flag data in physical storage Success - End Yes No No Yes Update count record in catalog

(48)

3.2.3.12 Rancangan Proses insert_data Start Error - End Accept request to insert data Table exists ? Field exists ? Correct data type for each

column ?

Unique data for primary key

column ?

Valid data for foreign key

colomn ? Insert data to physical storage Success - End Yes Yes Yes Yes Yes No No No No No Update count record in catalog

(49)

3.2.3.13 Rancangan Proses shrink_data Accept request to shrink data Start Success - End Overwrite table catalog Overwrite data value Overwrite index catalog

Gambar 3.16 Diagram Alir shrink_data

3.2.4 Perancangan Layar

3.2.4.1 Rancangan Layar Menu Utama

Gambar 3.17 Rancangan Layar Menu Utama

Create Data Alter Drop Others

Database Table Index Database Table Database Table Index Select Update Delete Insert Shrink Data

Window untuk task yang ingin dilakukan Browse

(50)

Rancangan layar awal pada saat aplikasi pertama kali dijalankan, dengan pilihan menu Create dengan submenu Database, Table, dan Index, menu Alter dengan submenu Database dan Table, menu Drop dengan submenu Database, Table, Index, menu Data dengan submenu Browse, Select, Update, Delete, dan Insert, serta menu Others dengan submenu Shrink Data.

3.2.4.2 Rancangan Layar pada Menu create_database

Gambar 3.18 Rancangan Layar Menu create_database

Rancangan layar pada saat menu Create Database dipilih. Layar ini terdiri atas empat textbox untuk memasukkan nilai Database Name, Location, Data Files, dan Transaction Log, di sebelah textbox Location terdapat button untuk mencari lokasi pada komputer serta button Create dan Cancel.

Database Name Location Data Files Transaction Log Create Cancel

(51)

3.2.4.3 Rancangan Layar pada Menu create_table

Gambar 3.19 Rancangan Layar Menu create_table

Rancangan layar pada saat menu Create Table dipilih. Layar ini terdiri atas combobox untuk pilihan Database, textbox untuk masukan nilai Table Name, NumericUpDown untuk masukan nilai No. Of Fields, button disebelahnya untuk memunculkan jumlah field sesuai nilai No. Of Fields, textbox untuk masukan nilai Field Name, combobox untuk pilihan Data Type, NumericUpDown untuk masukan nilai Length, dan Precision, checkbox untuk status Allow Null, checkbox untuk status Primary Key, checkbox untuk status Foreign Key, combobox untuk pilihan Table Reference dan Field Reference serta button Create dan Cancel.

Table Name Create Cancel No. of Fields ba T Database Field Name Data

Type Precision Length

Allow Null

Primary

Key Foreign Key

3

T T T

3

T T T

3

T T T Generate b a b a b a b a b a b a

(52)

3.2.4.4 Rancangan Layar pada Menu create_index

Gambar 3.20 Rancangan Layar Menu create_index

Rancangan layar pada saat menu Create Index dipilih. Layar ini terdiri dari combobox untuk pilihan Database, combobox untuk pilihan Table, textbox untuk pilihan Index Name, combobox untuk pilihan Columns yang akan dimasukkan ke Listbox, button Add dan Remove from List serta button Create dan Cancel.

Index Name Create Cancel Table Columns Database Add

Remove from List a b T

T

(53)

3.2.4.5 Rancangan Layar pada Menu alter_database

Gambar 3.21 Rancangan Layar Menu alter_database

Rancangan layar pada saat menu Alter Database dipilih. Layar ini terdiri atas combobox untuk pilihan Database, empat textbox untuk masukan nilai Database Name, Location, Data Files, dan Transaction Log, di sebelah textbox Location terdapat button untuk mencari lokasi pada komputer button OK dan Cancel.

Database Name Location Data Files Transaction Log OK Cancel T

(54)

3.2.4.6 Rancangan Layar pada Menu alter_table

Gambar 3.22 Rancangan Layar Menu alter_table

Rancangan layar pada saat menu Alter Table dipilih. Layar ini terdiri atas combobox untuk pilihan Database, textbox untuk masukan nilai Table Name, button Show Column dan Add Column, textbox untuk masukan nilai Field Name, combobox untuk pilihan Data Type, NumericUpDown untuk masukan nilai Length, dan Precision, checkbox untuk status Allow Null, checkbox untuk status Primary Key, checkbox untuk status Foreign Key, combobox untuk pilihan Table Reference dan Field Reference, checkbox untuk pilihan menghapus kolom serta button OK dan Cancel.

Table Name

Field Name

Data

Type Length Precision Allow

Null

Primary

Key Foreign Key

3

OK Cancel T T Database T T T T

3

T T T T T

3

T T T T T

Show Column Add Column

Remove

(55)

3.2.4.7 Rancangan Layar pada Menu drop_database

Gambar 3.23 Rancangan Layar Menu drop_database

Rancangan layar pada saat menu Drop Database dipilih. Layar ini terdiri dari combobox untuk pilihan Database serta button Drop dan Cancel.

3.2.4.8 Rancangan Layar pada Menu drop_table

Gambar 3.24 Rancangan Layar Menu drop_table

Rancangan layar pada saat menu Drop Table dipilih. Layar ini terdiri dari combobox untuk pilihan Database, combobox untuk pilihan Table serta button Drop dan Cancel.

Select Database Drop Cancel T Select Database Drop Cancel Select Table T T

(56)

3.2.4.9 Rancangan Layar pada Menu drop_index

Gambar 3.25 Rancangan Layar Menu drop_index

Rancangan layar pada saat menu Drop Table dipilih. Layar ini terdiri dari combobox untuk pilihan Database, combobox untuk pilihan Table, combobox untuk pilihan Index serta button Drop dan Cancel.

3.2.4.10 Rancangan Layar pada Menu select_data

Gambar 3.26 Rancangan Layar Menu select_data Select

Where

Execute Cancel Verify

T T T Database T From Select Index Drop Cancel Select Database Select Table T T T

(57)

Rancangan layar pada saat menu Select Data dipilih. Layar ini terdiri dari combobox untuk pilihan Database, combobox untuk pilihan Table, kondisi yang terdiri dari combobox untuk pilihan Field, combobox untuk pilihan Condition Filter, textbox untuk masukkan nilai kondisi serta button Execute, Cancel dan Verify.

Gambar 3.27 Rancangan Layar Hasil select_data

Rancangan layar pada saat button Execute Select Data dijalankan. Layar ini terdiri dari label untuk Database Name dan Table Name, Table GridView untuk tampilan data dari tabel, serta button Close.

<Database Name>

Field 1 Field 2 Field 3 Field 4

<Table Name>

Close

Database Name Table Name

(58)

3.2.4.11 Rancangan Layar pada Menu update_data

Gambar 3.28 Rancangan Layar Menu update_data

Rancangan layar pada saat menu Update Data dipilih. Layar ini terdiri dari combobox untuk pilihan Database, combobox untuk pilihan Table, combobox untuk pilihan Field, textbox untuk masukkan nilai baru, listbox yang berisi daftar Field dengan assign nilai baru, button Add dan Remove, kondisi yang terdiri dari combobox untuk pilihan Field, combobox untuk pilihan Condition Filter, textbox untuk masukkan nilai kondisi serta button Execute, Cancel dan Verify.

Set Database Update Table T T Add Remove a b T Where T T

(59)

3.2.4.12 Rancangan Layar pada Menu delete_data

Gambar 3.29 Rancangan Layar Menu delete_data

Rancangan layar pada saat menu Delete Data dipilih. Layar ini terdiri dari combobox untuk pilihan Database, combobox untuk pilihan Table, kondisi yang terdiri dari combobox untuk pilihan Field, combobox untuk pilihan Condition Filter, textbox untuk masukkan nilai kondisi serta button Execute, dan Cancel.

3.2.4.13 Rancangan Layar pada Menu insert_data

Insert Table Column

Execute Cancel

Database T

T Data Types Values <Field1> <Field2> <Field3> <Field4> <Field1 type> <Field2 type> <Field3 type> <Field4 type> Delete Table Execute Cancel T Database T Where T T

(60)

Gambar 3.30 Rancangan Layar Menu insert_data

Rancangan layar pada saat menu Insert Data dipilih. Layar ini terdiri dari combobox untuk pilihan Database, combobox untuk pilihan Table, label field-field dan data type yang terdapat pada tabel, textbox untuk masukkan nilai baru, serta button Execute,dan Cancel.

3.2.4.14 Rancangan Layar pada Menu shrink_data

Gambar 3.31 Rancangan Layar Menu shrink_data

Rancangan layar pada saat menu Shrink Data dipilih. Layar ini terdiri dari combobox untuk pilihan Database serta button Shrink dan Cancel.

Shrink Cancel

Gambar

Gambar 3.1 Rancangan Use Case  o   Use case create_database
Gambar 3.2 Rancangan Struktur RDBMS secara Konseptual
Gambar 3.3 Rancangan Struktur RDBMS secara Logikal  3.2.2  Rancangan Format File XML dan Deskripsi Data
Gambar 3.4 Diagram Alir create_database
+7

Referensi

Dokumen terkait

Pada fase ini, Bulan berada pada arah yang sama terhadap Matahari, dan bagian Bulan yang terkena pancaran sinar Matahari adalah yang membelakangi Bumi dimana

Pada penelitian ini, model TAM digunakan karena secara khusus TAM telah disesuaikan untuk pemodelan penerimaan sistem informasi atau teknologi atau penerimaan

Meskipun tidak mengeluarkan sertifikat untuk organisasi yang telah dinilai, namun banyak kalangan menganggap bahwa EFQM adalah model manajemen mutu terbaik yang

dilaksanakan Rapat dengan agenda Evaluasi Program Kerja. Untuk itu dimohon kepada setiap bidang-bidang mempersiapkan laporan hasil kinerja. Dan diharapkan kepada semua

Walaupun pengetahuan dan sikap siswa-siswi kelas lima dan enam di SDN Cibogo pada umumnya baik, akan tetapi masih banyak siswa-siswi kelas lima dan enam yang memiliki

Dan semakin menunjukkan bahwa dalam hal penangguhan upah, DiJjen Binawas KetenagakeJjaan lebih memihak kepada pengusaha, hal tersebut dapat dibuktikan dengan adanya

Berdasarkan hasil pengolahan data dalam penelitian, maka dapat disimpulkan bahwa peningkatan pengetahuan konseptual siswa pada kelas eksperimen dengan menggunakan

Dari hal ini peneliti melihat narasumber-1 menggunakan pengurus dari luar karena narasumber-1 juga ingin menghindari konflik-konflik yang mungkin terjadi seperti