BAB 4 PERANCANGAN DAN IMPLEMENTASI 4.1 ...thesis.binus.ac.id/Asli/Bab4/2009-1-00214-IF bab 4.pdf77...
Transcript of BAB 4 PERANCANGAN DAN IMPLEMENTASI 4.1 ...thesis.binus.ac.id/Asli/Bab4/2009-1-00214-IF bab 4.pdf77...
75
BAB 4
PERANCANGAN DAN IMPLEMENTASI
4.1 Perancangan Basis Data
Perancangan basis data pada PT. Lufthansa Systems Indonesia dibagi ke
dalam tiga tahapan yaitu :
1. Perancangan basis data konseptual
2. Perancangan basis data logikal
3. Perancangan basis data fisikal
4.1.1 Perancangan Basis Data Konseptual
Perancangan basis data konseptual merupakan suatu proses pembuatan
model dengan menggunakan informasi yang diperoleh dari perusahaan. Beberapa
langkah penting dalam merancang basis data konseptual, yaitu :
1. Identifikasi tipe entity
2. Identifikasi tipe relational
3. Identifikasi dan asosiasi atribut suatu entity
4. Identifikasi kandidat dan primary key setiap entity
4.1.1.1 Identifikasi Tipe Entiti
Tujuan dari tahapan ini adalah untuk menentukan entity
utama yang dibutuhkan.
76
Tabel 4.1 Identifikasi Tipe Entity
ConfigData Merupakan entity yang berisikan informasi
mengenai value tipe data dari data yang
terdapat pada entity Configtem
ConfigItem Merupakan entity yang berisikan informasi
mengenai item yang ada dan berisikan
informasi tentang status dari item tersebut.
ConfigItemClass Merupakan entiy yang berisikan informasi
mengenai data dari seluruh struktur data
yang berhubungan dengan system
ConfigItemStatus Merupakan entity yang berisikan informasi
mengenai status dari data yang terdapat
pada entity ConfigItem dan entity
ConfigItemClass.
ConfigKey Merupakan entity yang berisikan informasi
mengenai data yang terdapat pada entity
ConfigItemClass.
Role Merupakan entity yang berisikan jabatan
dari user yang menggunakan sistem
Privilege Merupakan entity yang berisikan
wewenang dari User dalam menggunakan
sistem aplikasi
Dependency Merupakan entity yang berisikan informasi
mengenai source dan target dari data item
yang terdapat pada entity ConfigItem
User Merupakan entity yang berisikan informasi
77
dari user yang menggunakan Systems
CMDB di PT. Lufthansa Systems
Indonesia
4.1.1.2 Identifikasi Tipe Relational
Tujuan dari tahapan ini adalah untuk menentukan
hubungan – hubungan penting yang ada antara jenis –
jenis entity yang telah diidentifikasikan. Langkah –
langkah penting dalam identifikasi tipe relational, yaitu :
1. Membuat E-R Diagram
2. Menentukan pembatas multiplicity dari tipe relational
Membuat E-R Diagram:
Gambar 4.1 ERD Entiti dan tipe relationship
78
Tabel 4.2 Multiplicity Tipe Relational
Nama Entiti Multiplicity Relational Nama Entiti Multiplicity
ConfigItemClass 1 .. 1
1 .. 1
1 .. 1
Memiliki
Memiliki
Memiliki
ConfigKey
ConfigItemStatus
ConfigItem
1 .. *
1 .. *
1 .. *
ConfigItem 1 .. 1
1 .. 1
Memiliki
Memiliki
ConfigData
Dependency
0 .. *
0 .. *
User 1 .. * Memiliki Role 1 .. 1
Role 1 .. 1
1 .. 1
1 .. 1
Memiliki
Menangani
Menangani
Privilege
ConfigItemClass
ConfigItem
1 .. *
1 .. *
1 .. *
4.1.1.3 Identifikasi dan Asosiasi Atribut Suatu Entiti
Tujuan dari langkah ini adalah untuk mengidentifikasikan
dan mengasosiasikan atribut dari entity atau tipe relasi.
Berikut ini adalah identifikasi dan asososiasi atribut suatu
entity :
Tabel 4.3 Entiti ConfigKey
Entiti Atribut Deskripsi Tipe Data Null MultiValue
ConfigKey IdConfigKey Kode pengenal
dari entity
ConfigKey
Varchar(16) Tidak Tidak
79
IdCiClass Kode pengenal
dari entity
ConfigItemClass
Varchar(16) Tidak Tidak
ConfigKey Data atau kata
kunci atau group
dari jenis item
yang dicari
Varchar(32) Tidak Tidak
Mandatory Menandakan
bahwa data atau
field tersebut
harus diisi
TinyInt(1) Ya Tidak
DataType Tipe Data Varchar(32) Ya Tidak
Tabel 4.4 Entiti ConfigItemStatus
Entiti Atribut Deskripsi Tipe Data Null MultiValue
ConfigItem
Status
IdCiStatus Kode pengenal
dari entity
ConfigItemStat
us
Varchar(16) Tidak Tidak
IdCiClass Kode pengenal
dari entity
ConfigItemClas
s
Varchar(16) Tidak Tidak
Name Menandakan
status dari item
yang ada pada
Varchar(64) Tidak Tidak
80
entity
ConfigItemStat
us
Descripsion Deskripsi dari
item yang
terdapat pada
entity
ConfigItemStat
us
Varchar(128
)
Ya Tidak
Tabel 4.5 Entiti ConfigData
Entiti Atribut Deskripsi Tipe Data Null MultiValue
ConfigData IdConfigData ID entity
configdata
Varchar(16) Tidak Tidak
IdConfigItem Kode
pengenal
untuk entity
ConfigItem
Varchar(16) Ya Tidak
StrVal Nilai data
yang bertipe
string
Varchar(128) Ya Tidak
BoolVal Nilai data
yang bertipe
boolean
TinyInt(1) Ya Tidak
DateVal Nilai data
yang bertipe
Datetime Tidak Tidak
81
date
DoubleVal Nilai data
yang bertipe
double
Double Ya Tidak
FloatVal Nilai data
yang bertipe
float
Float Ya Tidak
IntVal Nilai data
yang bertipe
integer
Int(11) Ya Tidak
ConfigKey Data atau
kata kunci
dari jenis
item yang
dicari
Varchar(32) Ya Tidak
DataType Tipe data Int(11) Ya Tidak
Tabel 4.6 Entiti ConfigItem
Entiti Atribut Deskripsi Tipe Data Null MultiValue
ConfigItem IdConfigItem Kode pengenal
untuk entity
ConfigItem
Varchar(16) Tidak Tidak
IdCiClass Kode pengenal
untuk entity
ConfigItemClass
Varchar(16) Tidak Tidak
82
RoleId Identitas Khusus
dari entity Role
mengenai
Jabatan User
dalam
menentukan
wewenang user
dalam
mengakses
sistem
Integer(11) Tidak Tidak
Name Nama dari user
yang mengakses
entity
ConfigItem
Varchar(64) Tidak Tidak
DisplayName Tampilan nama
dari user yang
akan
ditampilkan
pada layar entity
ConfigItem
Varchar(32) Tidak Tidak
Version Merupakan versi
dari data yang
terdapat pada
entity
ConfigItem
Varchar(32) Ya Tidak
Status Sebagai penanda
status dari data
yang terdapat
pada entity
Varchar(128) Ya Tidak
83
ConfigItem
Tabel 4.7 Entiti ConfigItemClass
Entiti Atribut Deskripsi Tipe Data Null MultiValue
ConfigItemClass IdCiClass Kode pengenal
untuk entity
ConfigItemClass
Varchar(16) Tidak Tidak
RoleId Identitas Khusus
dari entity Role
mengenai
Jabatan User
dalam
menentukan
wewenang user
dalam
mengakses
sistem
Integer(11) Tidak Tidak
Name Nama dari user
yang mengakses
entity
ConfigItemClass
Varchar(64) Tidak Tidak
ParentClass Menandakan
class induk dari
class yang
sedang diakses
Varchar(64) Ya Tidak
84
Tabel 4.8 Entiti Dependency
Entiti Atribut Deskripsi Tipe Data Null MultiValue
Dependency IdDependency Kode
pengenal
dari entity
Dependency
Varchar(16) Tidak Tidak
ExpireDate Tanggal
terakhir data
tersebut
untuk
dimanipulasi
DateTime Ya Tidak
DependencyType Tipe dari
dependency
yang
digunakan
Varchar(32) Ya Tidak
SourceConfigItem Sumber dari
data yang
ada pada
entity
ConfigItem
yang akan
dimanipulasi
Varchar(16) Ya Tidak
TargetConfigItem Target dari
data yang
ada pada
entity
ConfigItem
yang
Varchar(16) Ya Tidak
85
dimanipulasi
atau diolah
Tabel 4.9 Entiti User
Entiti Atribut Deskripsi Tipe Data Null MultiValue
User Iduser Identitas
khusus dari
user
Integer(11) Tidak Tidak
Username Status dari
user
Varchar(32) Tidak Tidak
Name Nama dari
user
Varchar(64) Tidak Tidak
Displayname Nama dari
user yang
akan
ditampilkan
apabila
mengakses
system
Varchar(32) Ya Tidak
Email Email user Varchar(64) Ya Tidak
RoleId Identitas
Khusus dari
entity Role
mengenai
Jabatan User
dalam
Integer(11) Tidak Tidak
86
menentukan
wewenang
user dalam
mengakses
sistem
Password Password
yang dimiliki
masing –
masing user
untuk
mengakses
system
Varchar(64) Tidak Tidak
Tabel 4.10 Entiti Privilege
Entiti Atribut Deskripsi Tipe Data Null MultiValue
Privilege IdPrivilege Identitas
khusus dari
entity
Privilege
Integer(11) Tidak Tidak
PermissionName Berisikan
tentang
nama dari
kegiatan
yang dapat
dilakukan
oleh user
Varchar(64) Tidak Tidak
RoleId Identitas Integer(11) Tidak Tidak
87
Khusus dari
entity Role
mengenai
Jabatan User
dalam
menentukan
wewenang
user dalam
mengakses
sistem
Granted Menandakan
User dapat
melakukan
kegiatan
dalam sistem
TinyInteger(1) Tidak Tidak
Tabel 4.11 Entiti Role
Entiti Atribut Deskripsi Tipe Data Null MultiValue
Role
RoleId Identitas
Khusus dari
entity Role
mengenai
Jabatan User
dalam
menentukan
wewenang
user dalam
mengakses
Integer(11) Tidak Tidak
88
sistem
RoleName Nama
Jabatan
Varchar(32) Tidak Tidak
4.1.1.4 Identifikasi Kandidat dan Primary Key Setiap Entiti
Tahapan ini bertujuan untuk mengidentifikasi kandidat
key dari field-field pada setiap table.
Tabel 4.12 Identifikasi Kandidat dan Primary Key
Nama Entiti Kandidat Key Primary Key
ConfigData IdConfigData
IdConfigItem
ConfigKey
IdConfigData
ConfigItem IdConfigItem
IdCiClass
RoleId
IdConfigItem
ConfigItemClass IdCiClass
RoleId
IdCiClass
ConfigItemStatus IdCiStatus
IdCiClass
IdCiStatus
ConfigKey IdConfigKey
IdCiClass
IdConfigKey
89
ConfigKey
Dependency IdDependency IdDependency
User IdUser
RoleId
IdUser
Privilege IdPrivilege
RoleId
Idprivilege
Role RoleId RoleId
4.1.2 Perancangan Basis Data Logikal
Perancangan basis data logical merupakan suatu proses
pembuatan model dengan menggunakan informasi yang diperoleh dari
perusahaan serta berdasarkan pada model data spesifik. Beberapa langkah
penting dalam merancang basis data logical , yaitu :
1. Menghilangkan fitur yang tidak kompatibel
2. Normalisasi
3. Pembuatan model basis data
4. Model diagram relational global
4.1.2.1 Menghilangkan Fitur yang Tidak Kompatibel
Tujuan dari langkah ini adalah untuk memperhalus model
data konseptual lokal dengan menghilangkan fitur yang
tidak kompatibel dengan model relational. Adapun cara
yang digunakan dalam tahapan ini untuk menghilangkan
90
fitur yang tidak kompatibel dengan model relational
adalah dengan menghilangkan hubungan many-to-
many(*:*) binary relationship types.
4.1.2.2 Normalisasi
Tujuan dari langkah ini adalah membuat sekecil mungkin
terjadinya data rangkap, menghindarkan adanya data yang
tidak konsisten terutama bila dilakukan penghapusan atau
penambahan data sebagai akibat adanya data rangkap, dan
menjamin bahwa identitas table secara tunggal sebagai
determinan semua atribut.
Proses normalisasi dapat dilihat sebagai berikut :
1. Entiti ConfigData
UNF
ConfigData = IdConfigData + IdConfigItem + StrVal
+ BoolVal + DateVal +DoubleVal + FloatVal + IntVal
+ ConfigKey + DataType
1NF
ConfigData = @IdConfigData + IdConfigItem +
StrVal + BoolVal + DateVal + DoubleVal + FloatVal
+ IntVal + ConfigKey + DataType + Username +
Name
2NF
ConfigData = @IdConfigData + IdConfigItem +
StrVal + BoolVal + DateVal + DoubleVal + FloatVal
91
+ IntVal + ConfigKey + DataType + Username +
Name
3NF
ConfigData = @ IdConfigData + IdConfigItem +
StrVal + BoolVal + DateVal + DoubleVal + FloatVal
+ IntVal + ConfigKey + DataType
ConfigItem = @IdConfigItem + Username + Name
2. Entiti ConfigItem
UNF
ConfigItem = IdConfigItem + IdCiClass + RoleId +
Name + DisplayName + Version + Status
1NF
ConfigItem = @IdConfigItem + IdCiClass + RoleId +
Name + DisplayName + Version + Status
2NF
ConfigItem = @IdConfigItem + IdCiClass + RoleId +
Name + DisplayName + Version + Status
3NF
ConfigItem = @IdConfigItem + IdCiClass + RoleId +
Name + DisplayName + Version + Status
ConfigItemClass = @IdConfidItemClass
Role = RoleId
3. Entiti ConfigItemClass
92
UNF
ConfigItemClass = IdCiClass + RoleId + Name +
ParentClass
1NF
ConfigItemClass = @IdCiClass + RoleId + Name +
ParentClass + RoleName
2NF
ConfigItemClass = @IdCiClass + RoleId + Name +
ParentClass + RoleName
3NF
ConfigItemClass = @IdCiClass + RoleId + Name +
ParentClass
Role = @RoleId + RoleName
4. Entiti ConfigItemStatus
UNF
ConfigItemStatus = IdCiStatus + IdCiClass + Name +
Description
1NF
ConfigItemStatus = @ IdCiStatus + IdCiClass + Name
+ Description + ParentClass
2NF
ConfigItemStatus = @ IdCiStatus + IdCiClass + Name
+ Description + ParentClass
93
3NF
ConfigItemStatus = @IdCiStatus + IdCiClass + Name
+ Description
ConfigItemClass = @IdCiClass + ParentClass
5. Entiti ConfigKey
UNF
ConfigKey = IdConfigKey + IdCiClass + ConfigKey +
Mandatory + DataType
1NF
ConfigKey = @IdConfigKey + IdCiClass +ConfigKey
+ Mandatory + DataType + ParentClass
2NF
ConfigKey = @IdConfigKey + IdCiClass +
ConfigKey + Mandatory + DataType + ParentClass
3NF
ConfigKey = @IdConfigKey + IdCiClass +
ConfigKey + Mandatory + DataType
ConfigItemClass = @IdCiClass + ParentClass
6. Entiti Dependency
UNF
Dependency = IdDependency + ExpireDate +
DependencyType + SourceConfigItem +Target
ConfigItem
94
1NF
Dependency = @IdDependency + Expiredate +
DependencyType + SourceConfigItem +
TargeConfigItem
2NF
Dependency = @IdDependency + Expiredate +
DependencyType + SourceConfigItem +
TargeConfigItem
3NF
Dependency = @IdDependency + Expiredate +
DependencyType + SourceConfigItem +
TargetConfigItem
7. Entiti User
UNF
User = Iduser + RoleId + Username + Name +
Displayname + Email + Password
1NF
User = @ Iduser + RoleId + Username + Name +
Displayname + Email + Password
2NF
User = @ Iduser + RoleId + Username + Name +
Displayname + Email + Password
95
3NF
User = @ Iduser + RoleId + Username + Name +
Displayname + Email + Password
Role = @RoleId
8. Privilege
UNF
Privilege = IdPrivilege + RoleId + PermissionName +
Granted
1NF
Privilege = IdPrivilege + RoleId + PermissionName +
Granted + Idpermission
2NF
Privilege = IdPrivilege + RoleId + PermissionName +
Granted + Idpermission
3NF
Privilege = @IdPrivilege + Idpermission + RoleId +
Granted
Permission = @Idpermission + PermissionName
Role = @ RoleId
9. Role
UNF
Role = RoleId + RoleName
96
1NF
Role = @RoleId + RoleName
2NF
Role = @RoleId + RoleName
3NF
Role = @RoleId + RoleName
3NF Gabungan
ConfigData = @ IdConfigData + IdConfigItem
+ StrVal + BoolVal + DateVal +
DoubleVal + FloatVal + IntVal +
ConfigKey + DataType
ConfigItem = @IdConfigItem + IdCiClass +
RoleId + Name + DisplayName +
Version + Status
ConfigItemClass =@IdCiClass + RoleId + Name +
ParentClass
ConfigItemStatus = @IdCiStatus + IdCiClass + Name
+ Description
ConfigKey = @IdConfigKey + IdCiClass +
ConfigKey + Mandatory +
DataType
97
Dependency = @IdDependency + Expiredate +
DependencyType +
SourceConfigItem +
TargeConfigItem
Privilege = @IdPrivilege + Idpermission +
RoleId + Granted
Permission =@Idpermission + PermissionName
Role = @RoleId + RoleName
User = @ Iduser + RoleId + Username
+ Name + Displayname + Email +
Password
4.1.2.3 Pembuatan Model Basis Data Logikal Global
Tujuan dari langkah ini adalah untuk mengkombinasikan
model data logical individual ke dalam sebuah model data
logical global tunggal yang menggambarkan perusahaan.
Tabel 4.13 Model Basis Data Logikal Global
ConfigData ( IdConfigData , IdConfigItem , StrVal , BoolVal , DateVal , DoubleVal ,
FloatVal , IntVal, ConfigKey , DataType)
Primary Key IdConfigData
Foreign Key IdConfigItem references ConfigItem (IdConfigItem)
98
ConfigItem ( IdConfigItem , IdCiClass , RoleId , Name , DisplayName , Version ,
Status)
Primary Key IdConfigItem
Foreign Key IdCiClass references ConfigItemClass (IdCiClass)
Foreign Key RoleId references Role (RoleId)
ConfigItemClass ( IdCiClass , RoleId, Name , ParentClass)
Primary key IdCiClass
Foreign Key RoleId references Role (RoleId)
ConfigItemStatus ( IdCiStatus , IdCiClass , Name , Description)
Primary Key IdCiStatus
Foreign Key IdCiClass references ConfigItemClass
ConfigKey ( IdConfigKey , IdCiClass , ConfigKey , Mandatory , DataType)
Primary Key IdConfigKey
Foreign Key IdCiClass references ConfigItemClass
Dependency (IdDependency , ExpireDate , DependencyType , SourceConfigItem ,
TargetConfigItem
Primary Key IdDependency
99
User ( IdUser , RoleId , Username , Name , Displayname , Email , Password)
Primary Key IdUser
Foreign Key RoleId references Role(RoleId)
Privilege ( IdPrivilege , Idpermission , RoleId , Granted )
Prmary Key IdPrivilege
Foreign Key IdPermission references Permission ( IdPermission )
Foreign Key RoleId references Role ( RoleId )
Permission ( IdPermission , Name )
Primary Key IdPermission
Role ( RoleId , RoleName)
Primary Key RoleId
100
4.1.2.4 Model Diagram Relational Global
Mem
iliki
Mem
iliki
Mem
iliki M
enangani
Mem
iliki
Gambar 4.2 Model Diagram Relational Global
101
4.1.3 Perancangan Basis Data Fisikal
4.1.3.1 Perancangan Relational Basis Data
Tujuan dari tahap ini adalah untuk mengidentifikasikan
relational basis data dalam model data logikal global yang
digunakan dalam DBMS dengan menggunakan DBDL
(Database Design Languange). DBDL yang digunakan
sebagai berikut :
1. Config Data
Domain Id_ConfigData Variabel length character String,length 16
Domain Id_ConfigItem Variabel length character String length 16
Domain Str_Val Variabel length character String length 128
Domain Bool_Val TinyInteger
Domain Date_Val Variable Date
Domain Double_Val DoubleInteger
Domain Float_Val Float
Domain Int_Val Integer
Domain Config_Key Variabel length character String length 32
Domain Data_Type Integer
ConfigData (
IdConfigData Id_ConfigData Not Null,
IdConfigItem Id_ConfigItem Not Null,
StrVal Str_Val NotNull,
BoolVal Bool_Val NotNull,
102
DateVal Date_Val NotNull,
DoubleVal Double_Val NotNull,
FloatVal Float_Val NotNull,
IntVal Int_Val NotNull,
ImageVal Image_Val NotNull,
ConfigKey Config_Key NotNull,
DataType Data_Type NotNull,
PRIMARY KEY(IdConfigData)
FOREIGN KEY(IdConfigItem) REFERENCES
Configitem(IdConfigItem)
ON UPDATE CASCADE ON DELETE NO ACTION
)
2. ConfigItem
Domain Id_ConfigItem Variabel length character String length 16
Domain Id_CiClass Variabel length character String length 16
Domain Role_Id Integer
Domain Name Variabel length character String length 64
Domain Display_Name Variabel length character String length 32
Domain Version Variabel length character String length 32
Domain Status Variabel length character String length 128
ConfigItem (
IdConfigItem Id_ConfigItem NotNull,
103
IdCiClass Id_CiClass NotNull,
RoleId Role_Id NotNull,
Name Name NotNull,
DisplayName Display_Name NotNull,
Version Version NotNull,
Status Version NotNull
PRIMARY KEY ( IdConfigItem )
FOREIGN KEY (IdCiClass) REFERENCES
ConfigItemClass(IdCiClass)
ON UPDATE CASCADE ON DELETE NO ACTION
FOREIGN KEY (IdDependency) REFERENCES Dependency
(IdDependency)
ON UPDATE CASCADE ON DELETE NO ACTION
FOREIGN KEY (RoleId) REFERENCES Role (RoleId)
ON UPDATE CASCADE ON DELETE NO ACTION
)
3. ConfigItemClass
Domain Id_CiClass Variabel length character String length 16
Domain Role_Id Integer
Domain Name Variabel length character String length 64
Domain Parent_Class Variabel length character String length 64
ConfigItemClass (
104
IdCiClass Id_CiClass NotNull,
RoleId Role_Id NotNull,
Version Version NotNull,
Status Status NotNull
PRIMARY KEY ( IdCiClass )
FOREIGN KEY (RoleId) REFERENCES Role(RoleId)
ON UPDATE CASCADE ON DELETE NO ACTION
)
4. ConfigItemStatus
Domain Id_CiStatus Variabel length character String length 16
Domain Id_CiClass Variabel length character String length 16
Domain Name Variabel length character String length 64
Domain Description Variabel length character String length 128
ConfigItemStatus (
IdCiStatus Id_CiStatus NotNull,
IdCiClass Id_CiClass NotNull,
Name Name NotNull,
Description Description NotNull
PRIMARY KEY (IdCiStatus)
FOREIGN KEY IdCiClass REFERENCES
ConfigItemClass(IdConfigItem)
ON UPDATE CASCADE ON DELETE NO ACTION
105
)
5. ConfigKey
Domain Id_ConfigKey Variabel length character String length 16
Domain Id_CiClass Variabel length character String length 16
Domain ConfigKey Variabel length character String length 32
Domain Mandatory TinyInt
Domain DataType Variabel length character String length 32
ConfigKey (
IdConfigKey Id_ConfigKey NotNull,
IdCiClass Id_CiClass NotNull,
ConfigKey ConfigKey NotNull,
Mandatory Mandatory NotNull,
DataType DataType NotNull
PRIMARY KEY ( IdConfigKey )
FOREIGN KEY (IdCiClass) REFERENCES
ConfigItemClass(IdCiClass)
ON UPDATE CASCADE ON DELETE NO ACTION
)
6. Dependency
Domain Id_Dependency Variabel length character String length 16
Domain ExpireDate Variabel DateTime
Domain Dependency_Type Variabel length character String length 32
106
Domain Source_ConfigItem Variabel length character String length 16
Domain Target_ConfigItem Variabel length character String length 16
Dependency (
IdDependency Id_Dependency NotNull,
Expiredate Expiredate NotNull,
DependencyType Dependency_Type NotNull,
SourceConfigItem Source_ConfigItem NotNull,
TargetConfigItem Target_ConfigItem NotNull
PRIMARY KEY ( IdDependency)
)
7. User
Domain Id_User Integer
Domain Role_Id Integer
Domain UserName Variabel length character String length 32
Domain Name Variabel length character String length 64
Domain Display_Name Variabel length character String length 32
Domain Email Variabel length character String length 64
Domain Password Variabel length character String length 64
User (
IdUser Id_User NotNull,
RoleId Role_Id NotNull,
107
Username UserName NotNull,
Name Name NotNull,
DisplayName Display_Name NotNull,
Email Email NotNull,
Password Password NotNull
PRIMARY KEY ( IdUser )
FOREIGN KEY (RoleId) REFERENCES Role(RoleId)
ON UPDATE CASCADE ON DELETE NO ACTION
)
8. Privilege
Domain Id_Privilege Integer
Domain Id_Permission Integer
Domain RoleId Integer
Domain Granted TinyInteger
Privilege (
IdPrivilege Id_Privilege NotNull,
IdPermission Id_Permission NotNull,
IdUser Id_User NotNull,
Granted Granted NotNull,
PRIMARY KEY( IdPrivilege)
FOREIGN KEY (IdPermission) REFERENCES Role(IdPermission)
108
ON UPDATE CASCADE ON DELETE NO ACTION
FOREIGN KEY (RoleId) REFERENCES Role(RoleId)
ON UPDATE CASCADE ON DELETE NO ACTION
)
9. Permission
Domain Id_Permission Integer
Domain Permission_Name Variabel length character String length 64
Permission (
IdPermission Id_Permission NotNull,
PermissionName Permission_Name NotNull,
PRIMARY KEY( IdPermission)
)
10. Role
Domain Role_Id Integer
Domain Role_Name Variabel length character String length 16
Role (
RoleId Role_Id NotNull,
RoleName Role_Name NotNull,
PRIMARY KEY( RoleId )
)
109
4.1.3.2 Analisis Transaksi
Tujuan dari tahap ini adalah untuk memahami
fungsionalitas dari transaksi yang akan berjalan pada basis
data dan untuk menganalisa transaksi yang penting.
Transaksi – transaksi yang terjadi adalah sebagai berikut :
A. Admin dapat melihat , menambah , memperbaharui
dan menghapus daftar list user dan guest
B. Admin dapat melihat , menambah , memperbaharui
dan menghapus data user
C. Admin dan User dapat merubah password
D. Admin dan User dapat melihat semua daftar list Item
E. Admin dapat menambah , memperbaharui , dan
menghapus daftar privilege dan role user terhadap
daftar list item
F. Admin dapat menambah , memperbaharui , dan
menghapus list item yang terdapat dalam database
G. Admin dan user dapat melihat data list Item
H. Guest hanya dapat melihat semua daftar list item
I. Membuat dan menghapus skema source data item dan
target data item
J. Dapat melakukan pencarian terhadap data item
maupun data user yang menggunakan sistem
Tabel 4.14 Analisis Transaksi
Transaksi / Analisis A B C
I R U D I R U D I R U D ConfigData ConfigItem
ConfigItemClass ConfigItemStatus
ConfigKey
110
Dependency User X X X X X X
Privilege X X X X X X Permission X X X X X X
Role X X X X X X
Transaksi / Analisis D E F
I R U D I R U D I R U D ConfigData X X X ConfigItem X X X X X
ConfigItemClass X X X X X ConfigItemStatus X X X
ConfigKey X X X Dependency
User Privilege X X X
Permission Role X X X
Transaksi / Analisis G H I
I R U D I R U D I R U D ConfigData X ConfigItem X
ConfigItemClass X ConfigItemStatus X
ConfigKey X Dependency X X X
User Privilege
Permission Role
Transaksi / Analisis J
I R U D ConfigData ConfigItem
ConfigItemClass X
111
ConfigItemStatus X ConfigKey X
Dependency User X
Privilege X Permission X
Role X
4.1.3.3 Pembuatan Index Setiap Entiti
Tujuan dari langkah ini adalah untuk menentukan apakah
penambahan index akan meningkatkan perfoma dari
system. Index yang digunakan adalah sebagai berikut :
1. ConfigData
CREATE UNIQUE INDEX ConData ON Co
nfigData(IdconfigData)
CREATE INDEX IdConItem ON
ConfigItem(IdConfigItem)
2. ConfigItem
CREATE UNIQUE INDEX ConItem ON
ConfigItem(IdConfigItem)
CREATE INDEX IdClassConItem ON
ConfigItemClass(IdCiClass)
CREATE INDEX RoleIdConItem ON
Role(RoleId)
3. ConfigItemClass
CREATE UNIQUE INDEX ConItemClass ON
ConfigItemClass (IdConfigItem)
112
CREATE INDEX RoleConItemClass ON
Role(RoleId)
4. ConfigItemStatus
CREATE UNIQUE INDEX ConItemStatus ON
ConfigItemStatus (IdCiStatus)
CREATE INDEX IdClass ConItemStatus ON
ConfigItemClass (IdCiClass)
5. ConfigKey
CREATE UNIQUE INDEX ConKey ON
ConfigKey (IdConfigKey)
CREATE INDEX IdClassConKey ON
ConfigItemClass (IdCiClass)
6. Dependency
CREATE UNIQUE INDEX Depend ON
Dependency (IdDependency)
7. User
CREATE UNIQUE INDEX Userku ON User
(IdUser)
CREATE INDEX RoleUser ON Role (RoleId)
8. Privilege
CREATE UNIQUE INDEX Lege ON Privilege
(Idprivilege)
CREATE INDEX RoleUser ON Role (RoleId)
113
CREATE INDEX Idmission ON Permission
(IdPermission)
9. Permission
CREATE UNIQUE INDEX Mission ON
Permission (IdPermission)
10. Role
CREATE UNIQUE INDEX Rolen ON Role
(RoleId)
4.1.3.4 Mengestimasi Kapasitas Penyimpanan yang
Dibutuhkan
Tujuan dari langkah ini adalah untuk menghitung
kapasitas penyimpanan yang dibutuhkan oleh basis data.
Perkiraan kapasitas setiap table adalah sebagai berikut :
Tabel 4.15 Estimasi Disk Space ConfigData
Nama Field Type Ukuran
IdConfigData Varchar 16
IdConfigItem Varchar 16
Strval Varchar 128
Boolval TinyInt 1
DateVal DateTime 8
DoubleVal Double 8
114
FloatVal Float 8
IntVal Integer 11
ConfigKey Varchar 32
DataType Int 11
Panjang record dari tabel diatas adalah 239 Bytes
Diperkirakan dalam satu bulan terjadi penambahan 20 record baru
Dalam satu tahun pertumbuhan dari tabel adalah 20 * 12 * 239 = 57.360 Bytes
Tabel 4.16 Estimasi Disk Space ConfigItem
Nama Field Type Ukuran
IdConfigItem Varchar 16
IdCiClass Varchar 16
RoleId Integer 11
Name Varchar 64
DisplayName Varchar 32
Version Varchar 32
Status Varchar 128
Panjang record dari tabel diatas adalah 315 Bytes
Diperkirakan dalam 1 bulan terjadi penambahan 20 record baru
115
Dalam satu tahun pertumbuhan dari tabel adalah 20 * 12 * 315 = 75.600 Bytes
Tabel 4.17 Estimasi Disk Space ConfigItemClass
Nama Field Type Ukuran
IdCiClass Varchar 16
RoleId Integer 11
Name Varchar 64
ParentClass Varchar 64
Panjang record dari tabel diatas adalah 155 Bytes
Diperkirakan dalam 1 tahun terjadi penambahan 30 record baru
Dalam satu tahun pertumbuhan dari tabel adalah 30 * 155 = 4.650 Bytes
Tabel 4.18 Estimasi Disk Space ConfigItemStatus
Nama Field Type Ukuran
IdCiStatus Varchar 16
IdCiClass Varchar 16
Name Varchar 64
Description Varchar 128
Panjang record dari tabel diatas adalah 224 Bytes
116
Diperkirakan dalam 1 bulan terjadi penambahan 30 record baru
Dalam satu tahun pertumbuhan dari tabel adalah 30 * 224 = 6.720 Bytes
Tabel 4.19 Estimasi Disk Space ConfigKey
Nama Field Type Ukuran
IdConfigkey Varchar 16
IdCiClass Varchar 16
ConfigKey Varchar 32
Mandatory TinyInt 1
DataType Varchar 32
Panjang record dari tabel diatas adalah 97 Bytes
Diperkirakan dalam 1 tahun terjadi penambahan 30 record baru
Dalam satu tahun pertumbuhan dari tabel adalah 30 * 97 = 2.910 Bytes
Tabel 4.20 Estimasi Disk Space Dependency
Nama Field Type Ukuran
IdDependency Varchar 16
Expiredate DateTime 8
DependencyType Varchar 32
117
SourceConfigItem Varchar 16
TargetConfigItem Varchar 16
Panjang record dari tabel diatas adalah 88 Bytes
Diperkirakan dalam 1 bulan terjadi penambahan 20 record baru
Dalam satu tahun pertumbuhan dari tabel adalah 20 * 88 = 1.760 Bytes
Tabel 4.21 Estimasi Disk Space User
Nama Field Type Ukuran
IdUser Integer 11
RoleId Integer 11
Username Varchar 32
Name Varchar 64
DisplayName Varchar 32
Email Varchar 64
Password Varchar 64
Panjang record dari tabel diatas adalah 278 Bytes
Diperkirakan dalam 1 tahun terjadi penambahan 10 record baru
Dalam satu tahun pertumbuhan dari tabel adalah 10 * 278 = 2.780 Bytes
118
Tabel 4.22 Estimasi Disk Space Privilege
Nama Field Type Ukuran
IDPrivilege Integer 11
IdPermission Integer 11
RoleId Integer 11
Granted TinyInteger 1
Panjang record dari tabel diatas adalah 34 Bytes
Diperkirakan dalam 1 tahun terjadi penambahan 15 record baru
Dalam satu tahun pertumbuhan dari tabel adalah 15 * 34 = 510 Bytes
Tabel 4.23 Estimasi Disk Space Permission
Nama Field Type Ukuran
IdPermission Integer 11
PermissionName Varchar 64
Panjang record dari tabel diatas adalah 75 Bytes
Diperkirakan dalam 1 tahun terjadi penambahan 15 record baru
Dalam satu tahun pertumbuhan dari tabel adalah 15 * 75 = 1.125 Bytes
119
Tabel 4.24 Estimasi Disk Space Role
Nama Field Type Ukuran
RoleId Integer 11
RoleName Varchar 16
Panjang record dari tabel diatas adalah 27 Bytes
Diperkirakan dalam 1 tahun terjadi penambahan 10 record baru
Dalam satu tahun pertumbuhan dari tabel adalah 10 * 27 = 270 Bytes
Tabel 4.25 Total Kebutuhan Disk Space pada Rancangan Basis Data
Nama Field Kapasitas
ConfigData 57.360 Bytes
ConfigItem 75.600 Bytes
ConfigItemClass 4.650 Bytes
ConfigItemStatus 6.720 Bytes
Configkey 2.910 Bytes
Dependency 1.760 Bytes
User 2.780 Bytes
Privilege 510 Bytes
Permission 1.125 Bytes
120
Role 270 Bytes
Total Space yang dibutuhkan dalam 1 tahun adalah 153.685 Bytes = 150 Kbyte
Total Space yang dibutuhkan dalam 5 tahun adalah 5 * 150 Kbyte = 750 Kbyte
4.1.3.5 Merancang Mekanisme Keamanan
Mekanisme keamanan dirancang guna memastikan hanya
pengguna yang memiliki otorisasi yang berhak mengakses
tabel – tabel pada basis data. Perancangan mekanisme
keamanan terdapat pada DBMS, yakni dengan membuat
user yang akan mengakses basis data serta memberikan
hak tertentu sesuai peran masing – masing user, melalui
pernyataan SQL sebagai berikut :
a) Memberi hak pengaksesan User dengan Status Admin
Grant select, insert, update, delete on User
to Admin
Grant select, insert, update, delete on Privilege
to Admin
Grant select, insert, update, delete on Permission
to Admin
Grant select, insert, update, delete on Role
to Admin
Grant select, insert, update, delete on ConfigItem
to Admin
Grant select, insert, update, delete on
ConfigItemClass to Admin
121
Grant select, insert, update , delete on
ConfigItemStatus to Admin
Grant select, insert on ConfigKey
to Admin
Grant select, insert, update, delete on ConfigData
to Admin
Grant select, insert, update, delete on Dependency
to Admin
b) Memberi hak pengaksesan User dengan Status User
Grant select, update, delete on ConfigItem
to User
Grant select on ConfigKey
to User
Grant select, update on ConfigItemstatus
to User
Grant select on ConfigData
to User
Grant select on Dependency
to User
c) Memberi hak pengaksesan User dengan status Guest
Grant select on ConfigItem
to Guest
Grant select on ConfigKey
to Guest
122
4.2 Perancangan Aplikasi
4.2.1 Bagan Terstruktur
● Bagan Terstruktur ConfigData
Gambar 4.3 Bagan Terstruktur ConfigData
● Bagan Terstruktur ConfigItem
Gambar 4.4 Bagan Terstruktur ConfigItem
123
● Bagan Terstruktur ConfigItemClass
Gambar 4.5 Bagan Terstruktur ConfigItemClass
● Bagan Terstruktur ConfigItemStatus
Gambar 4.6 Bagan Terstruktur ConfigItemStatus
124
● Bagan Terstruktur ConfigKey
Gambar 4.7 Bagan Terstruktur ConfigKey
● Bagan Terstruktur Dependency
Gambar 4.8 Bagan Terstruktur Dependency
125
● Bagan Terstruktur User
Gambar 4.9 Bagan Terstruktur User
● Bagan Terstruktur Privilege
Gambar 4.11 Bagan Terstruktur Privilege
126
● Bagan Terstruktur Permission
Gambar 4.12 Bagan Terstruktur Permission
● Bagan Terstruktur Role
Gambar 4.13 Bagan Terstruktur Role
127
● Bagan Terstruktur Menampilkan, Mengupdate, dan Menghapus
Informasi
Gambar 4.14 Bagan Terstruktur Bagan Terstruktur Menampilkan, Mengupdate,
dan Menghapus Informasi
128
● Bagan Terstruktur Menambahkan Informasi
Gambar 4.15 Bagan Terstruktur Menambahkan Informasi
4.2.2 Perancangan Menu
CONFIGURATION MANAGEMENT LUFTHANSA SYSTEMS
Username
Password
Gambar 4.16 Halaman Index [ index.php ]
Keterangan :
Pada halaman index terdapat field ( kotak isian) untuk isian username dan
password pengguna aplikasi. Bila username dan password yang user masukkan adalah
valid maka user tersebut akan masuk ke dalam halaman home.
Login
129
CONFIGURATION MANAGEMENT LUFTHANSA SYSTEMS
Welcome << username >>
Your session is << session >>
LUFTHANSA SYSTEMS
Gambar 4.17 Halaman Home [ home.php ]
Keterangan :
Halaman home adalah halaman kedua setelah user berhasil login. Dalam
halaman ini terdapat link-link menuju halaman-halaman tertentu dimana link tersebut
diolah menggunakan teknik dropdown menu.
Pada link USER terdapat link-link menuju halaman userlist.php,
changeprofile.php, dan browserole.php. Pada link CI terdapat link menuju halaman
browseclasslist.php. Sedangkan link LOGOUT akan membuat user keluar dari aplikasi
sekaligus “membersihkan” session user.
User List See list of users registered within AVES.
Class List Browse through registered CI class list and hierarchy.
Logout Please remember to logout every time you're finished working with AVES. Forget to logout will leave your account un-protect ed.
Logout CI User
130
Add User
CONFIGURATION MANAGEMENT LUFTHANSA SYSTEMS
Welcome << username >>
Your session is << session >>
Back To Home Page
Search By Record Per Page
Userlist
Username Name Email Role Action
Edit Delete
LUFTHANSA SYSTEMS
Gambar 4.18 Halaman Userlist [ browseuserlist.php ]
Keterangan :
Pada halaman ini terdapat daftar user yang dapat menggunakan aplikasi CMDB.
User dapat menggunakan fasilitas search untuk mencari user tertentu. User dengan role
admin dapat menggunakan semua fasilitas termasuk “Add User”, “Edit User”, maupun
“Delete User”. User dengan role lain dapat menggunakan fasilitas yang ada sesuai
privilege yang mereka miliki. Pada halaman ini digunakan teknik “Lightbox” untuk
setiap fungsi-fungsi seperti “Add User”, “Edit User”, maupun “Delete User”.
Logout
GO
CI User
131
Gambar 4.19 Halaman Tambah User [ adduser.php ]
Keterangan :
Halaman ini menggunakan teknik “Lightbox” sehingga muncul dengan cara
popup window dimana halaman backgroundnya menjadi tidak dapat dibrowse atau
diklik.
Pada halaman ini terdapat field-field yang dibutuhkan dalam proses penambahan
user ke dalam database. Dengan mengklik SUBMIT maka user akan menjalankan query
insert di halaman insertuser.php dan akan menambah data user ke dalam database.
CANCEL RESET SUBMIT
Role
Display Name
Name
Confirm Password
Password
Username
Add User
132
Gambar 4.20 Halaman Edit User [ edituser.php ]
Keterangan :
Halaman ini hampir sama dengan halaman penambahan user, bedanya dalam
halaman ini data-data (record) lama dari user akan ditampilkan untuk memberi acuan
perubahan yang akan dilakukan oleh user.
Sama seperti halaman penambahan user, pada halaman ini pun menggunakan
teknik “Lightbox” sehingga memfokuskan user untuk melakukan perubahan dan
mengurangi kesalahan pengguna bila ketika melakukan perubahan data salah mengklik
halaman backgroundnya.
Edit User
<< show previous role >> Role
<< show previous email >>
<< show previous display name >>
<< show previous name >>
<< show previous username >>
Display Name
Name
Confirm Password
Password
Username
CANCEL RESET SUBMIT
133
This Action Will Delete User << username >>. Are You Sure?
Gambar 4.21 Halaman Hapus User [ removeuser.php ]
Keterangan :
Halaman ini lebih merupakan halaman prompt untuk user yang ingin melakukan
penghapusan data user.
Sering kali user dengan tidak sengaja mengklik tombol “Delete” dan
mengakibatkan data terhapus secara tidak sengaja. Halaman ini selain untuk prompt user
yang ingin menghapus data juga berguna untuk mencegah kecerobohan seperti yang
sudah disebutkan tadi, yaitu ketidaksengajaan menekan tombol “Delete”.
Dengan ini maka user dapat menekan kembali tombol “Cancel” untuk mencegah
penghapusan data.
Cancel YES
Delete User
134
CONFIGURATION MANAGEMENT LUFTHANSA SYSTEMS
Welcome << username >>
Your session is << session >>
Back To Home Page
LUFTHANSA SYSTEMS
Gambar 4.22 Halaman Change Profile [ changeprofile.php ]
Keterangan :
Halaman ini berfungsi sama seperti edituser.php, perbedaan hanya terletak di
fungsi sebenarnya halaman ini ada. Bila edituser.php adalah halaman khusus yang hanya
bisa diakses user dengan role dan privilege tertentu, maka halaman changeprofile.php ini
dapat diakses oleh semua user yang ingin merubah profil dirinya ke dalam database.
RESET SUBMIT
<< show previous role >> Role
<< show previous email >>
<< show previous display name >>
<< show previous name >>
<< show previous username >>
Display Name
Name
Confirm Password
Password
Username
Change Profile
Logout CI User
135
Add Role
CONFIGURATION MANAGEMENT LUFTHANSA SYSTEMS
Welcome << username >>
Your session is << session >>
Back To Home Page
Role
Role Name Action
Edit Delete
LUFTHANSA SYSTEMS
Gambar 4.23 Halaman Browse Role [ browserole.php ]
Keterangan :
Halaman ini akan menampilkan daftar role-role yang terdapat dalam database
sistem. User dengan role dan privilege tertentu (dalam hal ini secara default adalah
admin) yang bisa melakukan penambahan data role maupun perubahan serta
penghapusannya. Dikarenakan peranan role penting dalam alur sistem sehingga tidak
semua user dapat mengaksesnya secara bebas.
Logout CI User
136
Gambar 4.24 Halaman Tambah Role
Keterangan :
Halaman ini menggunakan teknik “Lightbox” sehingga muncul dengan cara
popup window dimana halaman backgroundnya menjadi tidak dapat dibrowse atau
diklik.
Pada halaman ini terdapat field-field yang dibutuhkan dalam proses penambahan
role ke dalam database. Dengan mengklik SUBMIT maka query insert akan dijalankan
di halaman addrole.php dan akan menambah data role ke dalam database.
Cancel
Username
Reset Submit
Add Role
137
Gambar 4.25 Halaman Edit Role
Keterangan :
Halaman ini menggunakan teknik “Lightbox” sehingga muncul dengan cara
popup window dimana halaman backgroundnya menjadi tidak dapat dibrowse atau
diklik.
Pada halaman ini admin dapat merubah role dari setiap user. Halaman ini dapat
diakses hanya untuk user yang memiliki role dan privilege tertentu . Halaman ini
berisikan sebuah buah field untuk diisi data role yang baru.
Cancel
<< show previous Role Name >> Role Name
Reset Submit
Edit Role
138
This Action Will Delete Role << role name >>. Are You Sure?
Gambar 4.26 Halaman Hapus Role
Keterangan :
Halaman ini lebih merupakan halaman prompt untuk user yang ingin melakukan
penghapusan data role
Sering kali user dengan tidak sengaja mengklik tombol “Delete” dan
mengakibatkan data terhapus secara tidak sengaja. Halaman ini selain untuk prompt user
yang ingin menghapus data juga berguna untuk mencegah kecerobohan seperti yang
sudah disebutkan tadi, yaitu ketidaksengajaan menekan tombol “Delete”.
Dengan ini maka user dapat menekan kembali tombol “Cancel” untuk mencegah
penghapusan data. Halaman Ini hanya dapat diakses oleh user yang memiliki privilege
dan role tertentu.
Cancel YES
Delete Role
139
Add Root Class
CONFIGURATION MANAGEMENT LUFTHANSA SYSTEMS
Welcome << username >>
Your session is << session >>
Back To Home Page
Class List
Name Action
View Rename Delete
LUFTHANSA SYSTEMS
Gambar 4.27 Halaman Class List [ browseclasslist.php ]
Keterangan :
Pada halaman ini ditampilkan data-data dari class yang termasuk root (class
tersebut tidak mempunyai parent class karena dialah rootnya atau parent teratasnya).
User sebagian besar dapat mengakses halaman ini tetapi hanya sebatas view
datanya. Fungsi-fungsi lain semacam penambahan data root, perubahan data maupun
penghapusan data hanya dapat dilakukan dengan user yang memiliki role serta privilege
tertentu saja.
Logout CI User
140
Gambar 4.28 Halaman Tambah Root Class [ addrootclass.php ]
Keterangan :
Ini adalah halaman yang tidak bisa diakses user secara bebas, hanya user yang
memiliki role serta privilege tertentu lah yang dapat mengakses halaman ini.
Halaman penambahan data root berisi sedikit field karena memang hanya field
name yang dibutuhkan dalam entity configitemclass.
ID dari root class akan degenerate secara unik oleh sistem untuk memastikan
tidak akan ada ID yang sama dari data lama maupun data baru. Dan user (baca admin)
dapat melakukan perubahan metode ID karena generator id ditempatkan pada halaman
tersendiri sehingga admin dapat mengubah formatnya sesuai kebutuhan sistem.
CANCEL RESET SUBMIT
Name
Add Root Class
141
Gambar 4.29 Halaman Rename Root Class [ renamerootclass.php ]
Keterangan :
Pada halaman ini user (tentunya dengan role dan privilege tertentu) dapat
melakukan edit data tepatnya menamakan ulang sebuah root class. Sama seperti
halaman penambahan data root class, pada halaman ini pun hanya terdapat satu field
saja dimana letak perbedaannya adalah pada halaman ini nilai dari data lama akan
ditampilkan untuk memberikan acuan kepada user yang akan melakukan penamaan data
ulang.
Seperti halaman-halaman input maupun update lainnya, halaman ini pun
menggunakan teknik “Lightbox” untuk memastikan fokus user tertuju pada halaman ini
dan menghindari kecerobohan user agar tidak mengklik halaman background dengan
tidak disengaja.
CANCEL RESET SUBMIT
<< show previous name >> Name
Rename Root Class
142
This Action Will Delete Root Class << root class name >>. Are You
Sure?
Gambar 4.30 Halaman Hapus Root Class [ removerootclass.php ]
Keterangan :
Halaman ini lebih merupakan halaman prompt untuk user yang ingin melakukan
penghapusan data user.
Sering kali user dengan tidak sengaja mengklik tombol “Delete” dan
mengakibatkan data terhapus secara tidak sengaja. Halaman ini selain untuk prompt user
yang ingin menghapus data juga berguna untuk mencegah kecerobohan seperti yang
sudah disebutkan tadi, yaitu ketidaksengajaan menekan tombol “Delete”.
Dengan ini maka user dapat menekan kembali tombol “Cancel” untuk mencegah
penghapusan data.
NO YES
Remove Root Class
143
Add Child Class
CONFIGURATION MANAGEMENT LUFTHANSA SYSTEMS
Welcome << username >>
Your session is << session >>
Back To Home Page
Class List
Name Action
Parent Class << parent class name >>
Child Class << child name [link] >> Rename Move Delete
<< content of viewconfigkey.php or viewconfigitem.php or viewstatus.php >>
Config Key [tabs link] Config Item [tabs link] Status [tabs link]
LUFTHANSA SYSTEMS
Gambar 4.31 Halaman CI (Configuration Item) Class [ browseciclass.php ]
Keterangan :
Pada halaman ini banyak record yang ditampilkan dan merupakan halaman yang
menggunakan teknik “AJAX TABS” yang memungkinkan 3 halaman dapat diakses
tanpa harus berpindah dari halaman browseciclass.php ini.
Terdapat banyak fungsi disini yang tentunya dapat digunakan oleh user jika dia
mempunyai role dan privilege tertentu.
Logout CI User
144
Gambar 4.32 HalamanTambah Child Class [ addchildclass.php ]
Keterangan :
Bila sebelumnya adalah halaman untuk penambahan data root class, maka
halaman ini adalah halaman yang digunakan untuk melakukan penambahan data child
class alias turunannya. Setiap class dapat mempunyai child class maupun tidak, dan
puncak dari semua class itu adalah root class yang dibuat pada saat pertama kali.
Dalam halaman ini pun ditampilkan siapa parent class dari class yang akan
dibuat di halaman ini sehingga user tidak kesulitan mencari siapa parent class dari class
yang hendak dibuatnya.
Fungsi vital semacam ini tentunya hanya dapat digunakan oleh user jika dia
mempunyai role dan privilege tertentu.
<< show parent class name >> Parent Class
CANCEL RESET SUBMIT
Name
Add Root Class
145
Gambar 4.33 Halaman Rename CI Class [ renameciclass.php ]
Keterangan :
Pada halaman ini user (tentunya dengan role dan privilege tertentu) dapat
melakukan edit data tepatnya menamakan ulang sebuah class. Sama seperti halaman
penambahan data child class, pada halaman ini pun hanya terdapat satu field saja dimana
letak perbedaannya adalah pada halaman ini nilai dari data lama akan ditampilkan untuk
memberikan acuan kepada user yang akan melakukan penamaan data ulang.
Seperti halaman-halaman input maupun update lainnya, halaman ini pun
menggunakan teknik “Lightbox” untuk memastikan fokus user tertuju pada halaman ini
dan menghindari kecerobohan user agar tidak mengklik halaman background dengan
tidak disengaja.
CANCEL RESET SUBMIT
<< show previous name >> Name
Rename CI Class
146
This Action Will Delete CI Class << ci class name >>. Are You Sure?
Gambar 4.34 Halaman Hapus CI Class [ removeciclass.php ]
Keterangan :
Halaman ini lebih merupakan halaman prompt untuk user yang ingin melakukan
penghapusan data user.
Sering kali user dengan tidak sengaja mengklik tombol “Delete” dan
mengakibatkan data terhapus secara tidak sengaja. Halaman ini selain untuk prompt user
yang ingin menghapus data juga berguna untuk mencegah kecerobohan seperti yang
sudah disebutkan tadi, yaitu ketidaksengajaan menekan tombol “Delete”.
Dengan ini maka user dapat menekan kembali tombol “Cancel” untuk mencegah
penghapusan data.
Cancel YES
Delete CI Class
147
Add Config Key
Config Key
<< config key name >> Edit Delete
Gambar 4.35 Halaman View Config Key [ viewconfigkey.php ]
Keterangan :
Halaman ini merupakan halaman pertama yang secara default ikut muncul ketika
user mendatangi halaman browseciclass.php. Halaman ini diembed dengan
menggunakan “AJAX TABS” ke dalam halaman browseciclass.php tersebut.
Pada halaman ini akan ditampilkan configkey yang dimiliki oleh sebuah class
dimana secara unik configkey ini akan menurun dari kepunyaan parent classnya.
Bila configkey yang muncul adalah milik parent classnya maka user tidak dapat
melakukan perubahan maupun penghapusan data bila tidak berada dalam halaman si
parent class tersebut, dan untuk memastikan hal itu terjadi maka tombol untuk “Edit”
maupun “Delete” akan diganti menjadi status “Inherited From Parent Class” yang
menandakan bahwa configkey tersebut merupakan turunan dari parent classnya.
148
Yes No
Gambar 4.36 Halaman Tambah Config Key [ addconfigkey.php ]
Keterangan :
Halaman penambahan data configkey kepada suatu class. Halaman ini seperti
biasa hanya dapat diakses oleh user yang memiliki role maupun privilege tertentu saja.
Halaman ini dibentuk menggunakan “Lightbox” seperti halaman penambahan
data lainnya yang bertujuan memastikan fokus user hanya tertuju pada halaman
penambahan data tersebut.
Pada halaman ini terdapat beberapa field yang harus diisi oleh user untuk dapat
menambah data configkey ke dalam database.
Data Type
Mandatory
<< show ci class name >> CI Class
CANCEL RESET SUBMIT
Config Key
Add Config Key
149
Yes No
Gambar 4.37 Halaman Edit Config Key [ editconfigkey.php ]
Keterangan :
Halaman perubahan data configkey yang terdapat dalam suatu class. Halaman ini
seperti biasa hanya dapat diakses oleh user yang memiliki role maupun privilege tertentu
saja.
Halaman ini dibentuk menggunakan “Lightbox” seperti halaman penambahan
data lainnya yang bertujuan memastikan fokus user hanya tertuju pada halaman
penambahan data tersebut. Pada halaman ini terdapat beberapa field yang harus diisi
oleh user untuk dapat merubah data configkey ke dalam database.
<< show previous datatype >> Data Type
Mandatory
<< show ci class name >> CI Class
CANCEL RESET SUBMIT
<< show previous configkey >> Config Key
Edit Config Key
150
This Action Will Delete Config Key << config key name >>. Are You
Sure?
Gambar 4.38 Halaman Hapus Config Key [ removeconfigkey.php ]
Keterangan :
Halaman ini lebih merupakan halaman prompt untuk user yang ingin melakukan
penghapusan data user.
Sering kali user dengan tidak sengaja mengklik tombol “Delete” dan
mengakibatkan data terhapus secara tidak sengaja. Halaman ini selain untuk prompt user
yang ingin menghapus data juga berguna untuk mencegah kecerobohan seperti yang
sudah disebutkan tadi, yaitu ketidaksengajaan menekan tombol “Delete”.
Dengan ini maka user dapat menekan kembali tombol “Cancel” untuk mencegah
penghapusan data.
Cancel YES
Remove Config Key
151
Add Config Item
Config Item
<< config item name >> View Edit Delete
Gambar 4.39 Halaman View Config Item [ viewconfigitem.php ]
Keterangan :
Halaman viewconfigitem.php adalah salah satu halaman yang diembed
menggunakan “AJAX TABS” selain dari halaman viewconfigkey.php dan
viewstatus.php yang berada pada halaman induk browseciclass.php.
Pada halaman ini terdapat daftar configitem yang ada dalam database sesuai
dengan class tertentu (class yang sedang dilihat oleh user). Configitem adalah item yang
bersangkutan dengan kegiatan sehari-hari perusahaan sesuai dengan classnya masing-
masing.
Pada halaman ini pun terdapat opsi-opsi untuk menambah data configitem,
merubah data configitem, menghapus data configitem, juga melihat lebih detail
configitem lewat opsi “View” yang akan mengarahkan user ke dalam halaman
browsedetailconfigitem.php.
Segala fungsi yang ada pada halaman ini tentu saja hanya dapat diakses oleh user
yang memiliki role maupun privilege tertentu saja.
152
Gambar 4.40 Halaman Tambah Config Item [ addconfigitem.php ]
Keterangan :
Halaman penambahan data configitem kepada suatu class. Halaman ini seperti
biasa hanya dapat diakses oleh user yang memiliki role maupun privilege tertentu saja.
Halaman ini dibentuk menggunakan “Lightbox” seperti halaman penambahan
data lainnya yang bertujuan memastikan fokus user hanya tertuju pada halaman
penambahan data tersebut.
Pada halaman ini terdapat beberapa field yang harus diisi oleh user untuk dapat
menambah data configitem ke dalam database.
Status
Version
Display Name
<< show ci class name >> CI Class
CANCEL RESET SUBMIT
Name
Add Config Item
153
Gambar 4.41 Halaman Edit Config Item [ editconfigitem.php ]
Keterangan :
Halaman perubahan data configitem yang terdapat dalam suatu class. Halaman
ini seperti biasa hanya dapat diakses oleh user yang memiliki role maupun privilege
tertentu saja.
Halaman ini dibentuk menggunakan “Lightbox” seperti halaman penambahan
data lainnya yang bertujuan memastikan fokus user hanya tertuju pada halaman
penambahan data tersebut.
Pada halaman ini terdapat beberapa field yang harus diisi oleh user untuk dapat
merubah data configitem ke dalam database.
<< show previous status >> Status
<< show previous version >> Version
<< show previous displayname >> Display Name
<< show ci class name >> CI Class
CANCEL RESET SUBMIT
<< show previous name >> Name
Edit Config Item
154
This Action Will Delete Config Item << config item name >>. Are You
Sure?
Gambar 4.42 Halaman Remove Config Item [ removeconfigitem.php ]
Keterangan :
Halaman ini lebih merupakan halaman prompt untuk user yang ingin melakukan
penghapusan data user.
Sering kali user dengan tidak sengaja mengklik tombol “Delete” dan
mengakibatkan data terhapus secara tidak sengaja. Halaman ini selain untuk prompt user
yang ingin menghapus data juga berguna untuk mencegah kecerobohan seperti yang
sudah disebutkan tadi, yaitu ketidaksengajaan menekan tombol “Delete”.
Dengan ini maka user dapat menekan kembali tombol “Cancel” untuk mencegah
penghapusan data.
Cancel YES
Delete Config Item
155
Add Status
Status
<< status name >> Edit Delete
Gambar 4.43 Halaman View Status [ viewstatus.php ]
Keterangan :
Halaman ini merupakan halaman ketiga yang diembed ke dalam halaman
browseciclass.php menggunakan “AJAX TABS”.
Pada halaman ini ditampilkan daftar status yang dimiliki oleh suatu class yang
dapat diturunkan kepada class-class turunannya (sama seperti konsep configkey). Status
yang dimiliki oleh suatu class dapat digunakan oleh configitem yang dimiliki oleh class
tersebut.
Disini pun terdapat beberapa tombol yang merupakan jalan pintas menuju
fungsi-fungsi yang dapat dilakukan oleh user seperti penambahan data status, perubahan
data status, maupun penghapusan data status. Tetapi tentu saja fungsi-fungsi tersebut
hanya dapat diakses oleh user yang memiliki role maupun privilege tertentu saja.
156
Gambar 4.44 Halaman Tambah Status [ addcistatus.php ]
Keterangan :
Halaman penambahan data status kepada suatu class. Halaman ini seperti biasa
hanya dapat diakses oleh user yang memiliki role maupun privilege tertentu saja.
Halaman ini dibentuk menggunakan “Lightbox” seperti halaman penambahan
data lainnya yang bertujuan memastikan fokus user hanya tertuju pada halaman
penambahan data tersebut.
Pada halaman ini terdapat beberapa field yang harus diisi oleh user untuk dapat
menambah data status ke dalam database.
Description
<< show ci class name >> CI Class
CANCEL RESET SUBMIT
Name
Add Status
157
Gambar 4.45 Halaman Edit Status [ editcistatus.php ]
Keterangan :
Halaman perubahan data status yang terdapat dalam suatu class. Halaman ini
seperti biasa hanya dapat diakses oleh user yang memiliki role maupun privilege tertentu
saja.
Halaman ini dibentuk menggunakan “Lightbox” seperti halaman penambahan
data lainnya yang bertujuan memastikan fokus user hanya tertuju pada halaman
penambahan data tersebut.
Pada halaman ini terdapat beberapa field yang harus diisi oleh user untuk dapat
merubah data status ke dalam database.
<< show previous description >> Description
<< show ci class name >> CI Class
CANCEL RESET SUBMIT
<< show previous name >> Name
Edit Status
158
This Action Will Delete Status << status name >>. Are You Sure?
Gambar 4.46 Halaman Hapus Status [ removestatus.php ]
Keterangan :
Halaman ini lebih merupakan halaman prompt untuk user yang ingin melakukan
penghapusan data user.
Sering kali user dengan tidak sengaja mengklik tombol “Delete” dan
mengakibatkan data terhapus secara tidak sengaja. Halaman ini selain untuk prompt user
yang ingin menghapus data juga berguna untuk mencegah kecerobohan seperti yang
sudah disebutkan tadi, yaitu ketidaksengajaan menekan tombol “Delete”.
Dengan ini maka user dapat menekan kembali tombol “Cancel” untuk mencegah
penghapusan data.
Cancel Yes
Delete Status
159
CONFIGURATION MANAGEMENT LUFTHANSA SYSTEMS
Welcome << username >>
Your session is << session >>
Back To Home Page
Back To Previous Page ( Detail << ci class name >> )
Name Action
Display Name
Version
Status
<< content of viewdependency.php or viewconfigdata.php >>
Dependency [tabs link] Config Data [tabs link]
LUFTHANSA SYSTEMS
Gambar 4.47 Halaman Browse Detail Config Item [ browsedetailconfigitem.php ]
Keterangan :
Halaman browsedetailconfigitem.php berisi data detail dari configitem yang
dipilih oleh user. Pada halaman ini berisi detail lengkap dari configitem berikut dengan
configdata dan dependencynya yang ditampilkan dengan menggunakan “AJAX TABS”
sehingga bisa “memasukkan” halaman viewconfigdata.php dan viewdependency.php ke
dalam halaman browsedetailconfigitem.php.
Logout CI User
160
Dependency
<< source config item >> << dependency type >> << target config item >>
Gambar 4.48 Halaman View Dependency [ viewdependency.php ]
Keterangan :
Pada halaman ini ditampilkan berbagai dependency dari configitem yang sedang
dipilih oleh user. Format yang ditampilkan disini terbagi menjadi dua, yaitu ketika
configitem yang dipilih oleh user bertindak sebagai source dari dependency dan juga
ketika bertindak sebagai target dari dependency.
Sehingga formatnya menjadi seperti ini :
Source -dependency type- configitem sebagai target
configitem sebagai source -dependency type- Target
Add InGoing Dependency Add OutGoing Dependency
Delete Delete
161
<< show config item name >>
Gambar 4.49 Halaman Tambah InGoing Dependency [ addingoing.php ]
Keterangan :
Halaman penambahan data dependency yang bersifat ingoing atau masuk ke
dalam suatu configitem yang bersangkutan. Halaman ini seperti biasa hanya dapat
diakses oleh user yang memiliki role maupun privilege tertentu saja.
Halaman ini dibentuk menggunakan “Lightbox” seperti halaman penambahan
data lainnya yang bertujuan memastikan fokus user hanya tertuju pada halaman
penambahan data tersebut.
Pada halaman ini terdapat beberapa field yang harus diisi oleh user untuk dapat
menambah data dependency ke dalam database.
Source Config Item
Dependency Type
Target Config Item
CANCEL RESET SUBMIT
Expire Date
Add InGoing Dependency
162
<< show config item name >>
Gambar 4.50 Halaman Tambah OutGoing Dependency [ addoutgoing.php ]
Keterangan :
Halaman penambahan data dependency yang bersifat outgoing atau keluar dari
suatu configitem yang bersangkutan. Halaman ini seperti biasa hanya dapat diakses oleh
user yang memiliki role maupun privilege tertentu saja.
Halaman ini dibentuk menggunakan “Lightbox” seperti halaman penambahan
data lainnya yang bertujuan memastikan fokus user hanya tertuju pada halaman
penambahan data tersebut.
Pada halaman ini terdapat beberapa field yang harus diisi oleh user untuk dapat
menambah data dependency ke dalam database.
Target Config Item
Dependency Type
Target Config Item
CANCEL RESET SUBMIT
Expire Date
Add OutGoing Dependency
163
This Action Will Delete Dependency << dependency name >>. Are You
Sure?
Gambar 4.51 Halaman Hapus Dependency [ removedependency.php ]
Keterangan :
Halaman ini lebih merupakan halaman prompt untuk user yang ingin melakukan
penghapusan data user.
Sering kali user dengan tidak sengaja mengklik tombol “Delete” dan
mengakibatkan data terhapus secara tidak sengaja. Halaman ini selain untuk prompt user
yang ingin menghapus data juga berguna untuk mencegah kecerobohan seperti yang
sudah disebutkan tadi, yaitu ketidaksengajaan menekan tombol “Delete”.
Dengan ini maka user dapat menekan kembali tombol “Cancel” untuk mencegah
penghapusan data.
Cancel YES
Remove Dependency
164
Config Item Name : << config item name >>
ID Config Data Config Key Value Action
Set Value
[ or ]
Edit Delete
Gambar 4.52 Halaman View Config Data [ viewconfigdata.php ]
Keterangan :
Halaman viewconfigdata.php adalah halaman kedua yang diembed ke dalam
halaman browsedetailconfigitem.php menggunakan “AJAX TABS” selain halaman
viewdependency.php.
Pada halaman ini akan ditampilkan configdata dari masing-masing configitem
yang sedang dilihat oleh user. Configdata sendiri dapat disebut sebagai atribut dari
sebuah configitem yang atributnya didapat dari configkey yang diturunkan dari class
tempat configitem tersebut berada.
165
Gambar 4.53 Halaman Set Value Config Data [ setvalueconfigdata.php ]
Keterangan :
Halaman penambahan (menset) value configdata yang terdapat dalam suatu
configitem. Halaman ini seperti biasa hanya dapat diakses oleh user yang memiliki role
maupun privilege tertentu saja.
Halaman ini dibentuk menggunakan “Lightbox” seperti halaman penambahan
data lainnya yang bertujuan memastikan fokus user hanya tertuju pada halaman
penambahan data tersebut.
Pada halaman ini terdapat beberapa field yang harus diisi oleh user untuk dapat
menambah (menset) value configdata ke dalam database..
<< show data type name >> Data Type
CANCEL RESET SUBMIT
Value
Set Value Config Data
166
Gambar 4.54 Halaman Edit Config Data [ editconfigdata.php ]
Keterangan :
Halaman perubahan configdata yang terdapat dalam suatu configitem. Halaman
ini seperti biasa hanya dapat diakses oleh user yang memiliki role maupun privilege
tertentu saja.
Halaman ini dibentuk menggunakan “Lightbox” seperti halaman penambahan
data lainnya yang bertujuan memastikan fokus user hanya tertuju pada halaman
penambahan data tersebut.
Pada halaman ini terdapat beberapa field yang harus diisi oleh user untuk dapat
merubah configdata ke dalam database. Dimana akan ditampilkan nilai dari data lama
agar dapat dijadikan acuan bagi user untuk merubah datanya.
<< show ConfigKey >> ConfigKey
<< show data type name >> Data Type
CANCEL RESET SUBMIT
<< show previous value >> Value
Edit Config Data
167
This Action Will Delete Config Data << config data name >>. Are You
Sure?
Gambar 4.55 Halaman Hapus Config Data [ removeconfigdata.php ]
Keterangan :
Halaman ini lebih merupakan halaman prompt untuk user yang ingin melakukan
penghapusan data user.
Sering kali user dengan tidak sengaja mengklik tombol “Delete” dan
mengakibatkan data terhapus secara tidak sengaja. Halaman ini selain untuk prompt user
yang ingin menghapus data juga berguna untuk mencegah kecerobohan seperti yang
sudah disebutkan tadi, yaitu ketidaksengajaan menekan tombol “Delete”.
Dengan ini maka user dapat menekan kembali tombol “Cancel” untuk mencegah
penghapusan data.
Cancel Yes
Remove Config Data
168
4.2.3 State Transition Diagram (STD)
Gambar 4.56 STD Login
Gambar 4.57 STD Home
169
Gambar 4.58 STD Userlist
Gambar 4.59 STD Change Profile
170
Gambar 4.60 STD Role
Gambar 4.61 STD Class List
171
Gambar 4.62 STD View CIClass
172
Gambar 4.63 STD View ConfigKey
Gambar 4.64 STD View ConfigItem
173
Gambar 4.65 STD View Status
Gambar 4.66 STD View Detail ConfigItem
174
Gambar 4.67 STD View Dependency
Gambar 4.68 STD View ConfigData
175
4.2.4 Spesifikasi Proses
4.2.4.1 Spesifikasi Proses Login
Tambahkan Variabel “Session”
Tampilkan Layar “Log In”
Minta Input Username, Password
Cek Log In
Jika Log In Valid
Tampilkan Layar “Home”
Selain Itu Tampilkan Pesan Kesalahan
4.2.4.2 Spesifikasi Proses Add User
Tampilkan Layar “AddUser”
Minta Input
Pilih “Submit”
Cek Input
Jika Inputan Valid
Masukkan Informasi Ke Tabel User
Tampilkan Layar “BrowseUserlist”
176
Selain Itu Tampilkan Pesan Kesalahan
Akhir Proses AddUser
4.2.4.3 Spesifikasi Proses Edit User
Tampilkan Layar “EditUser”
Minta Input
Pilih “Submit”
Cek Input
Jika Inputan Valid
Mengupdate Informasi Ke Tabel User
Tampilkan Layar “BrowseUserlist”
Selain Itu Tampilkan Pesan Kesalahan
Akhir Proses EditUser
4.2.4.4 Spesifikasi Proses Change Profile
Tampilkan Layar “ChangeProfile”
Minta Input
Pilih “Submit”
177
Cek Input
Jika Inputan Valid
Mengupdate Informasi Ke Tabel User
Tampilkan Layar “BrowseUserlist”
Selain Itu Tampilkan Pesan Kesalahan
Akhir Proses ChangeProfile
4.2.4.5 Spesifikasi Proses Remove User
Tampilkan Layar “RemoveUser”
Minta Inputan IDUser
Cek Delete
Jika Valid
Tampilkan Layar “PromptDeleteUser”
Delete Dari Tabel User
Tampilkan Layar “BrowseUserlist”
Selain Itu Tampilkan Pesan Kesalahan
Akhir Proses RemoveUser
178
4.2.4.6 Spesifikasi Proses Add Role
Tampilkan Layar “AddRole”
Minta Input
Pilih “Submit”
Cek Input
Jika Inputan Valid
Masukkan Informasi Ke Tabel Role
Tampilkan Layar “BrowseRole”
Selain Itu Tampilkan Pesan Kesalahan
Akhir Proses AddRole
4.2.4.7 Spesifikasi Proses Edit Role
Tampilkan Layar “EditRole”
Minta Input
Pilih “Submit”
Cek Input
Jika Inputan Valid
Mengupdate Informasi Ke Tabel Role
179
Tampilkan Layar “BrowseRole”
Selain Itu Tampilkan Pesan Kesalahan
Akhir Proses EditRole
4.2.4.8 Spesifikasi Proses Remove Role
Tampilkan Layar “RemoveRole”
Minta Inputan IDRole
Cek Delete
Jika Valid
Tampilkan Layar “PromptDeleteRole”
Delete Dari Tabel Role
Tampilkan Layar “BrowseRole”
Selain Itu Tampilkan Pesan Kesalahan
Akhir Proses RemoveRole
4.2.4.9 Spesifikasi Proses Add Root Class
Tampilkan Layar “AddRootClass”
Minta Input
180
Pilih “Submit”
Cek Input
Jika Inputan Valid
Masukkan Informasi Ke Tabel ConfigItemClass
Tampilkan Layar “BrowseClassList”
Selain Itu Tampilkan Pesan Kesalahan
Akhir Proses AddRootClass
4.2.4.10 Spesifikasi Proses Rename Root Class
Tampilkan Layar “RenameRootClass”
Minta Input
Pilih “Submit”
Cek Input
Jika Inputan Valid
Mengupdate Informasi Ke Tabel ConfigItemClass
Tampilkan Layar “BrowseClassList”
Selain Itu Tampilkan Pesan Kesalahan
Akhir Proses RenameRootClass
181
4.2.4.11 Spesifikasi Proses Remove Root Class
Tampilkan Layar “RemoveRoleClass”
Minta Inputan IDCiClass
Cek Delete
Jika Valid
Tampilkan Layar “PromptDeleteRootClass”
Delete Dari Tabel ConfigItemClass
Tampilkan Layar “BrowseClassList”
Selain Itu Tampilkan Pesan Kesalahan
Akhir Proses RemoveRootClass
4.2.4.12 Spesifikasi Proses Add Child Class
Tampilkan Layar “AddChildClass”
Minta Input
Pilih “Submit”
Cek Input
Jika Inputan Valid
182
Masukkan Informasi Ke Tabel
ConfigurationItemClass
Tampilkan Layar “BrowseCiClass”
Selain Itu Tampilkan Pesan Kesalahan
Akhir Proses AddChildClass
4.2.4.13 Spesifikasi Proses Rename CI Class
Tampilkan Layar “RenameCiClass”
Minta Input
Pilih “Submit”
Cek Input
Jika Inputan Valid
Mengupdate Informasi Ke Tabel ConfigItemClass
Tampilkan Layar “BrowseCiClass”
Selain Itu Tampilkan Pesan Kesalahan
Akhir Proses RenameCiClass
183
4.2.4.14 Spesifikasi Proses Remove CI Class
Tampilkan Layar “RemoveCiClass”
Minta Inputan IDCiClass
Cek Delete
Jika Valid
Tampilkan Layar “PromptDeleteCiClass”
Delete Dari Tabel ConfigItemClass
Tampilkan Layar “BrowseCiClass”
Selain Itu Tampilkan Pesan Kesalahan
Akhir Proses RemoveCiClass
4.2.4.15 Spesifikasi Proses Add Config Key
Tampilkan Layar “AddConfigKey”
Minta Input
Pilih “Submit”
Cek Input
Jika Inputan Valid
Masukkan Informasi Ke Tabel ConfigKey
184
Tampilkan Layar “BrowseCiClass”
Selain Itu Tampilkan Pesan Kesalahan
Akhir Proses AddConfigKey
4.2.4.16 Spesifikasi Proses Edit Config Key
Tampilkan Layar “EditConfigKey”
Minta Input
Pilih “Submit”
Cek Input
Jika Inputan Valid
Mengupdate Informasi Ke Tabel ConfigKey
Tampilkan Layar “BrowseCiClass”
Selain Itu Tampilkan Pesan Kesalahan
Akhir Proses EditConfigKey
4.2.4.17 Spesifikasi Proses Remove Config Key
Tampilkan Layar “RemoveConfigKey”
Minta Inputan IDConfigKey
185
Cek Delete
Jika Valid
Tampilkan Layar “PromptDeleteConfigKey”
Delete Dari Tabel ConfigKey
Tampilkan Layar “BrowseCiClass”
Selain Itu Tampilkan Pesan Kesalahan
Akhir Proses RemoveConfigKey
4.2.4.18 Spesifikasi Proses Add Config Item
Tampilkan Layar “AddConfigItem”
Minta Input
Pilih “Submit”
Cek Input
Jika Inputan Valid
Masukkan Informasi Ke Tabel ConfigItem
Tampilkan Layar “BrowseCiClass”
Selain Itu Tampilkan Pesan Kesalahan
Akhir Proses AddConfigItem
186
4.2.4.19 Spesifikasi Proses Edit Config Item
Tampilkan Layar “EditConfigItem”
Minta Input
Pilih “Submit”
Cek Input
Jika Inputan Valid
Mengupdate Informasi Ke Tabel ConfigItem
Tampilkan Layar “BrowseCiClass”
Selain Itu Tampilkan Pesan Kesalahan
Akhir Proses EditConfigItem
4.2.4.20 Spesifikasi Proses Remove Config Item
Tampilkan Layar “RemoveConfigItem”
Minta Inputan IDConfigItem
Cek Delete
Jika Valid
Tampilkan Layar “PromptDeleteConfigItem”
Delete Dari Tabel ConfigItem
187
Tampilkan Layar “BrowseCiClass”
Selain Itu Tampilkan Pesan Kesalahan
Akhir Proses RemoveConfigItem
4.2.4.21 Spesifikasi Proses Add Status
Tampilkan Layar “AddCiStatus”
Minta Input
Pilih “Submit”
Cek Input
Jika Inputan Valid
Masukkan Informasi Ke Tabel ConfigKey
Tampilkan Layar “BrowseCiClass”
Selain Itu Tampilkan Pesan Kesalahan
Akhir Proses AddCiStatus
4.2.4.22 Spesifikasi Proses Edit Status
Tampilkan Layar “EditCiStatus”
Minta Input
188
Pilih “Submit”
Cek Input
Jika Inputan Valid
Mengupdate Informasi Ke Tabel ConfigItemStatus
Tampilkan Layar “BrowseCiClass”
Selain Itu Tampilkan Pesan Kesalahan
Akhir Proses EditCiStatus
4.2.4.23 Spesifikasi Proses Remove Status
Tampilkan Layar “RemoveCiStatus”
Minta Inputan IDCiStatus
Cek Delete
Jika Valid
Tampilkan Layar “PromptDeleteConfigKey”
Delete Dari Tabel ConfigItemStatus
Tampilkan Layar “BrowseCiClass”
Selain Itu Tampilkan Pesan Kesalahan
Akhir Proses RemoveCiStatus
189
4.2.4.24 Spesifikasi Proses Add InGoing Dependency
Tampilkan Layar “AddInGoingDependency”
Minta Input
Pilih “Submit”
Cek Input
Jika Inputan Valid
Masukkan Informasi Ke Tabel Dependency
Tampilkan Layar “BrowseDetailConfigItem”
Selain Itu Tampilkan Pesan Kesalahan
Akhir Proses AddInGoingDependency
4.2.4.25 Spesifikasi Proses Add OutGoing Dependency
Tampilkan Layar “AddOutGoingDependency”
Minta Input
Pilih “Submit”
Cek Input
Jika Inputan Valid
Masukkan Informasi Ke Tabel Dependency
190
Tampilkan Layar “BrowseDetailConfigItem”
Selain Itu Tampilkan Pesan Kesalahan
Akhir Proses AddOutGoingDependency
4.2.4.26 Spesifikasi Proses Remove Dependency
Tampilkan Layar “RemoveDependency”
Minta Inputan IDDependency
Cek Delete
Jika Valid
Tampilkan Layar “PromptDeleteDependency”
Delete Dari Tabel Dependency
Tampilkan Layar “BrowseDetailConfigItem”
Selain Itu Tampilkan Pesan Kesalahan
Akhir Proses RemoveDependency
4.2.4.27 Spesifikasi Proses Set Value Config Data
Tampilkan Layar “SetValueConfigData”
Minta Input
191
Pilih “Submit”
Cek Input
Jika Inputan Valid
Masukkan Informasi Ke Tabel ConfigData
Tampilkan Layar “BrowseDetailConfigItem”
Selain Itu Tampilkan Pesan Kesalahan
Akhir Proses SetValueConfigData
4.2.4.28 Spesifikasi Proses Edit Config Data
Tampilkan Layar “EditConfigData”
Minta Input
Pilih “Submit”
Cek Input
Jika Inputan Valid
Mengupdate Informasi Ke Tabel ConfigData
Tampilkan Layar “BrowseDetailConfigItem”
Selain Itu Tampilkan Pesan Kesalahan
Akhir Proses EditConfigData
192
4.2.4.29 Spesifikasi Proses Remove Config Data
Tampilkan Layar “RemoveConfigData”
Minta Inputan ID ConfigData
Cek Delete
Jika Valid
Tampilkan Layar “PromptDelete ConfigData”
Delete Dari Tabel ConfigData
Tampilkan Layar “BrowseDetailConfigItem”
Selain Itu Tampilkan Pesan Kesalahan
Akhir Proses RemoveConfigData
193
4.3 Implementasi
4.3.1 Cara Penggunaan Program
Gambar 4.69 Tampilan Halaman Index atau Login
Pada Halaman index.php ini user yang ingin menggunakan aplikasi CMDB harus
mengisi username dan password. Privilege masing-masing user adalah unik tergantung
dari role yang mereka miliki.
Gambar 4.70 Tampilan Halaman Home
Halaman home.php adalah halaman awal setelah login dimana disana terdapat link-link
menuju halaman yang dibutuhkan.
194
Gambar 4.71 Tampilan Halaman Browse Userlist
Keterangan :
Pada halaman browseuserlist.php ditampilkan daftar user yang teregistrasi pada aplikasi
CMDB. Jadi hanya user yang terdaftar yang dapat menggunakan aplikasi CMDB ini.
Hak atau privilege untuk menambah user baru hanya dimiliki oleh admin.
Pada halaman ini pun dapat dilakukan pencarian user berdasarkan atribut mereka seperti
username, name, email, dsb.
Pada halaman ini terdapat tombol untuk melakukan beberapa fungsi yang hanya dimiliki
admin seperti “Add User” untuk menambah user, “Edit” untuk mengubah data user, dan
“Delete” untuk menghapus data user.
195
Gambar 4.72 Tampilan Halaman Tambah User
Keterangan :
Halaman adduser.php adalah halaman yang hanya dapat diakses oleh admin dimana
halaman ini ditampilkan menggunakan teknik “Lightbox” sehingga masih terlihat latar
belakang dari halaman ini yaitu halaman browseuserlist.php.
Pada halaman ini admin mengisi data user yang terdiri dari username, password,
confirm password, name, display name, email, dan role yang dapat mereka (user baru)
miliki. Dimana role itu nantinya akan menentukan privilege-privilege apa saja yang
dimiliki oleh user baru sehingga menjelaskan fungsi-fungsi apa yang dapat dilakukan
user terhadap aplikasi CMDB tersebut.
196
Gambar 4.73 Tampilan Halaman Edit User
Keterangan :
Halaman edituser.php adalah halaman yang hanya dapat diakses oleh admin dimana
halaman ini ditampilkan menggunakan teknik “Lightbox” sehingga masih terlihat latar
belakang dari halaman ini yaitu halaman browseuserlist.php.
Pada halaman ini admin dapat mengubah data user yang terdiri dari username,
password, confirm password, name, display name, email, dan role yang dapat mereka
(user baru) miliki. Dimana role itu nantinya akan menentukan privilege-privilege apa
saja yang dimiliki oleh user baru sehingga menjelaskan fungsi-fungsi apa yang dapat
dilakukan user terhadap aplikasi CMDB tersebut.
197
Gambar 4.74 Tampilan Halaman Hapus User
Keterangan :
Halaman removeuser.php adalah halaman yang hanya dapat diakses oleh admin dimana
halaman ini ditampilkan menggunakan teknik “Lightbox” sehingga masih terlihat latar
belakang dari halaman ini yaitu halaman browseuserlist.php.
Pada halaman ini admin dapat menghapus user yang sebelumnya terdaftar pada aplikasi
CMDB ini. Halaman ini lebih dimaksudkan sebagai halaman prompt yang bertujuan
untuk mencegah bila sewaktu-waktu admin salah menekan tombol “Delete”. Pada
halaman ini akan diberikan tombol “Cancel” untuk menggagalkan proses penghapusan
user dan pastinya tombol “Yes” untuk menghapus data user.
198
Gambar 4.75 Tampilan Halaman Change Profile atau Ubah Profil
Keterangan :
Halaman changeprofile.php adalah halaman yang dapat diakses oleh semua user yang
terdaftar di aplikasi CMDB. Ini adalah salah satu halaman yang secara default dapat
diakses oleh semua user yang terdaftar di CMDB.
Pada halaman ini user dapat mengubah data dirinya yang terdiri dari username,
password, confirm password, name, display name, dan email.
199
Gambar 4.76 Tampilan Halaman Browse Role
Keterangan :
Pada halaman browserole.php ditampilkan daftar role yang teregistrasi pada aplikasi
CMDB dimana role itu nantinya akan menentukan privilege-privilege apa saja yang
dimiliki oleh user sehingga menjelaskan fungsi-fungsi apa yang dapat dilakukan user
terhadap aplikasi CMDB tersebut. Hak atau privilege untuk menambah role baru hanya
dimiliki oleh admin.
Pada halaman ini terdapat tombol untuk melakukan beberapa fungsi yang hanya dimiliki
admin seperti “Add Role” untuk menambah role, “Edit” untuk mengubah data role, dan
“Delete” untuk menghapus data role. Tetapi untuk role “admin” itu sendiri tidak dapat
di-edit maupun di-delete.
200
Gambar 4.77 Tampilan Halaman Tambah Role
Keterangan :
Halaman addrole.php adalah halaman yang hanya dapat diakses oleh admin dimana
halaman ini ditampilkan menggunakan teknik “Lightbox” sehingga masih terlihat latar
belakang dari halaman ini yaitu halaman browserole.php.
Pada halaman ini admin mengisi data role yang terdiri dari role name dimana role itu
nantinya akan menentukan privilege-privilege apa saja yang dimiliki oleh user sehingga
menjelaskan fungsi-fungsi apa yang dapat dilakukan user terhadap aplikasi CMDB
tersebut.
201
Gambar 4.78 Tampilan Halaman Edit Role
Keterangan :
Halaman editrole.php adalah halaman yang hanya dapat diakses oleh admin dimana
halaman ini ditampilkan menggunakan teknik “Lightbox” sehingga masih terlihat latar
belakang dari halaman ini yaitu halaman browserole.php.
Pada halaman ini admin dapat mengubah data role yang terdiri dari role name dimana
role itu nantinya akan menentukan privilege-privilege apa saja yang dimiliki oleh user
sehingga menjelaskan fungsi-fungsi apa yang dapat dilakukan user terhadap aplikasi
CMDB tersebut.
202
Gambar 4.79 Tampilan Halaman Hapus Role
Keterangan :
Halaman removerole.php adalah halaman yang hanya dapat diakses oleh admin dimana
halaman ini ditampilkan menggunakan teknik “Lightbox” sehingga masih terlihat latar
belakang dari halaman ini yaitu halaman browserole.php.
Pada halaman ini admin dapat menghapus role yang sebelumnya terdaftar pada aplikasi
CMDB ini. Halaman ini lebih dimaksudkan sebagai halaman prompt yang bertujuan
untuk mencegah bila sewaktu-waktu admin salah menekan tombol “Delete”. Pada
halaman ini akan diberikan tombol “Cancel” untuk menggagalkan proses penghapusan
role dan pastinya tombol “Yes” untuk menghapus data role.
203
Gambar 4.80 Tampilan Halaman Browse Class List
Keterangan :
Pada halaman browseclasslist.php ditampilkan daftar root class yang teregistrasi pada
aplikasi CMDB dimana root class tersebut berperan sebagai parent puncak dari seluruh
class turunannya. Root class pun dapat menurunkan semua atribut yang dimilikinya
seperti configkey dan status terhadap semua class turunannya.
Pada halaman ini terdapat tombol untuk melakukan beberapa fungsi yang hanya dimiliki
oleh user yang memiliki privilege khusus seperti “View” untuk melihat data detail dari
root class, “Add Root Class” untuk menambah root class, “Rename” untuk mengubah
data root class, dan “Delete” untuk menghapus data root class.
204
Gambar 4.81 Tampilan Halaman Tambah Root Class
Keterangan :
Halaman addrottclass.php adalah halaman yang hanya dapat diakses oleh user yang
memiliki privilege untuk menambah root class dimana halaman ini ditampilkan
menggunakan teknik “Lightbox” sehingga masih terlihat latar belakang dari halaman ini
yaitu halaman browseclasslist.php.
Pada halaman ini user mengisi data root class yang terdiri dari root class name dimana
root class tersebut berperan sebagai parent puncak dari seluruh class turunannya. Root
class pun dapat menurunkan semua atribut yang dimilikinya seperti configkey dan status
terhadap semua class turunannya.
205
Gambar 4.82 Tampilan Halaman Rename Root Class
Keterangan :
Halaman renamerottclass.php adalah halaman yang hanya dapat diakses oleh user yang
memiliki privilege untuk mengubah nama root class dimana halaman ini ditampilkan
menggunakan teknik “Lightbox” sehingga masih terlihat latar belakang dari halaman ini
yaitu halaman browseclasslist.php.
Pada halaman ini user dapat mengubah data root class yang terdiri dari root class name
dimana root class tersebut berperan sebagai parent puncak dari seluruh class
turunannya. Root class pun dapat menurunkan semua atribut yang dimilikinya seperti
configkey dan status terhadap semua class turunannya.
206
Gambar 4.83 Tampilan Halaman Hapus Root Class
Keterangan :
Halaman removerootclass.php adalah halaman yang hanya dapat diakses oleh user yang
memiliki privilege untuk menghapus root class dimana halaman ini ditampilkan
menggunakan teknik “Lightbox” sehingga masih terlihat latar belakang dari halaman ini
yaitu halaman browseclasslist.php.
Pada halaman ini admin dapat menghapus root class yang sebelumnya terdaftar pada
aplikasi CMDB ini. Halaman ini lebih dimaksudkan sebagai halaman prompt yang
bertujuan untuk mencegah bila sewaktu-waktu admin salah menekan tombol “Delete”.
Pada halaman ini akan diberikan tombol “Cancel” untuk menggagalkan proses
penghapusan root class dan pastinya tombol “Yes” untuk menghapus data root class.