Anda di halaman 1dari 13

LAPORAN MATA KULIAH

(BASIS DATA)

TUGAS UAS ERD

Oleh :

Xavierno Yanura Alexander (180030592)

PROGRAM STUDI SISTEM INFORMASI

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN

TEKNIK KOMPUTER (STIKOM) BALI

Juni 2019
ERD Game MMORPG ( Massively Multiplayer Online Role-Playing Game )

ID_Account ID_Character Max_ManaPoints

Email Level Max_HitPoints

Password
Exp_Points Current_ManaPoints
Account
Address
Job Current_HitPoints
One
Phone

Birth_Date ID_Account

Has Character
Many

Many Many

Many One
Enemy Attack Contain Region
One

Carrying
ID_Enemy

Many ID_Region
Enemy_Name

Item Server_Name
HitPoints

Region_Name
ID_Character

Channel_Name

ID_Character

ID_Item Item_Name Stock ID_Character


Penjelasan Entitas dan Atribut ERD :
Kami Memilih membuat ERD Game MMORPG, didalam ERD ini terdapat 5 entitas yaitu Account,
Character, Region, Item dan Enemy. Didalam Entitas Account terdapat atribut ID_Account,Email,
Password, Address ,Phone,Birth_Date, yang menjadi primary keynya adalah ID_ Account. Lalu Entitas
selanjutnya adalah Character yang didalamnya terdapat atribut ID_character, Job, Level, Exp_Points,
Max_ManaPoints ,Max_HitPoints, Current_ManaPoints, Current_Hitpoints, yang menjadi primary keynya
adalah ID_character dan foreign keynya adalah ID_Account. Lalu ada entitas region yang memiliki atribut
ID_region,Server_Name,Region_Name,Channel_Name, yang menjadi primary keynya adalah ID_Region
dan foreign keynya adalah ID_Character. Lalu ada entitas Item yang memiliki atribut ID_Item, Item_Name,
dan Stock , yang menjadi primary keynya adalah ID_Item dan foreign keynya adalah ID_Character.Dan
entitas terakhir adalah Enemy yang memiliki atribut ID_Enemy, Enemy_Name dan HitPoints,yang menjadi
primary keynya adalah ID_Enemy dan foreign keynya adalah ID_Character

Penjelasan Relasi ERD :


Satu Account memiliki banyak Character didalamnya, lalu Banyak Character menempati atau
mengisi satu Region atau wilayah , lalu satu Character bisa membawa banyak Item dan Banyak Character
bisa menyerang banyak musuh dan juga sebaliknya banyak musuh bisa menyerang banyak character

Query SQL untuk ERD Game MMORPG :

create database db_erd_rpg_xavier_ezra


use db_erd_rpg_xavier_ezra
create table account
(
id_account varchar(15) ,
email varchar(50) ,
pass_word varchar(50) ,
address varchar(50) ,
phone varchar(15),
birth_date varchar(50) ,
);
insert into account values
('001','yanura8877@gmail.com','asd123','Jalan Nuansa Timur No
20','081523847589','07 January 2000'),
('002','yanura877@gmail.com','sda123','Jalan Danau Bratan V no
21','08122247789','8 January 2000'),
('003','yanura@gmail.com','abc22','Jalan Danau Buyan IV no
11','085123124541','2 January 2000'),
('004','squareenix@gmail.com','se123','Tokyo Japan','082321213454','12 June
2000'),
('005','bandainamco@gmail.com','bn21','Hokkaido Japan','098234414454','8 May
2000')
alter table account alter column id_account varchar(15) NOT NULL;
alter table account add constraint pk_acc primary key(id_account);
select * from account

create table tbcharacter


(
id_character varchar(15) ,
job varchar(40) ,
level_character int,
exp_character int,
max_mp int,
max_hp int,
curr_mp int,
curr_hp int,
);
insert into tbcharacter values
('Yanura','Swordsman','9','1119','2000','3000','1500','100'),
('Invoker','Mage','8','200','5300','3000','5000','1055'),
('Ezra','Archer','4','999','1000','1000','1000','100'),
('Arc Warden','Gunner','14','2000','500','1000','200','20'),
('Templar','Assassin','7','999','100','300','50','200')
alter table tbcharacter alter column id_character varchar(15) NOT NULL;
alter table tbcharacter add constraint pk_character primary
key(id_character);
select * from tbcharacter

create table tbregion


(
id_region varchar(15) ,
server_name varchar(50) ,
region_name varchar(50) ,
channel_name varchar(50),
);
insert into tbregion values
('001','Asia','Indonesia','Baratayuda'),
('002','Asia','India','Hindi'),
('003','Asia','Indonesia','Baratayuda'),
('004','Asia','Indonesia','Baratayuda'),
('005','America','United States','New World')

alter table tbregion alter column id_region varchar(15) NOT NULL;


alter table tbregion add constraint pk_region primary key(id_region);

create table item


(
id_item varchar(15) ,
item_name char(50) ,
stock int,
);
insert into item values
('1','Daedalus','2'),
('2','Radiance','1'),
('3','Dagon','4'),
('4','Necronomicon','1'),
('5','Rapier','2')

alter table item alter column id_item varchar(15) NOT NULL;


alter table item add constraint pk_item primary key(id_item);

create table enemy


(
id_enemy varchar(15) ,
enemy_name varchar(50) ,
hitpoints int,
);

insert into enemy values


('1','Roshan','15000'),
('2','Tiny','2000'),
('3','Centaur','5000 '),
('4','Golem','50000 '),
('5','Dragon','20000')
alter table enemy alter column id_enemy varchar(15) NOT NULL;
alter table enemy add constraint pk_enemy primary key(id_enemy);

alter table tbcharacter add id_account Varchar(15);


alter table tbcharacter add constraint fk_acc foreign key (id_account)
references account (id_account);
alter table tbregion add id_character Varchar(15);
alter table tbregion add constraint fk_char2 foreign key (id_character)
references tbcharacter (id_character);
alter table item add id_character Varchar(15);
alter table item add constraint fk_char1 foreign key (id_character)
references tbcharacter (id_character);
alter table enemy add id_character Varchar(15);
alter table enemy add constraint fk_char3 foreign key (id_character)
references tbcharacter (id_character);

Select*from account
Select*from tbcharacter
Select*from tbregion
Select*from item
Select*from enemy

UPDATE tbcharacter SET id_account='001' WHERE id_character='Invoker';


UPDATE tbcharacter SET id_account='002' WHERE id_character='Ezra';
UPDATE tbcharacter SET id_account='003' WHERE id_character='Arc Warden';
UPDATE tbcharacter SET id_account='004' WHERE id_character='Templar';
UPDATE tbcharacter SET id_account='005' WHERE id_character='Yanura';

UPDATE tbregion SET id_character='Invoker' WHERE id_region='005';


UPDATE tbregion SET id_character='Ezra' WHERE id_region='003';
UPDATE tbregion SET id_character='Arc Warden' WHERE id_region='004';
UPDATE tbregion SET id_character='Templar' WHERE id_region='002';
UPDATE tbregion SET id_character='Yanura' WHERE id_region='001';

UPDATE item SET id_character='Invoker' WHERE id_item='5';


UPDATE item SET id_character='Ezra' WHERE id_item='3';
UPDATE item SET id_character='Arc Warden' WHERE id_item='1';
UPDATE item SET id_character='Templar' WHERE id_item='2';
UPDATE item SET id_character='Yanura' WHERE id_item='4';

UPDATE enemy SET id_character='Invoker' WHERE id_enemy='3';


UPDATE enemy SET id_character='Ezra' WHERE id_enemy='4';
UPDATE enemy SET id_character='Arc Warden' WHERE id_enemy='4';
UPDATE enemy SET id_character='Templar' WHERE id_enemy='1';
UPDATE enemy SET id_character='Yanura' WHERE id_enemy='2';

//Fungsi Agregasi pada kolom stock di tabel item//


SELECT COUNT(stock) from item
SELECT AVG(stock) from item
SELECT MAX(stock) from item
SELECT MIN(stock) from item

//Fungsi Skalar pada kolom id_character di tabel tbcharacter//


SELECT UPPER(id_character) As Uppercaseid_character from tbcharacter;
SELECT LOWER(id_character) As Lowercaseid_character from tbcharacter;
SELECT SUBSTRING(id_character,1,5) As ExtractString from tbcharacter;

//Operator dari Like,IN,Between //


SELECT*FROM tbcharacter WHERE id_character LIKE 'a%';
SELECT*FROM item Where stock between 1 and 3;
SELECT*FROM item Where stock between 1 and 3 and not stock in (1);

//Perhitungan Matematika pada kolom stock di tabel item//


SELECT*FROM item where stock='1' + 1;
SELECT*FROM item where stock='5' - 1;
SELECT*FROM item where stock='2' + 2;
SELECT*FROM item where stock='2' / 2;

Hasil Tabel :

Tabel Account dan Tabel Character


Tabel Region dan Item

Tabel Enemy
Penjelasan Query :

Pertama, Kami membuat database db_erd_rpg_xavier_ezra lalu kami membuat tabel account yang berisi
atribut id_account yang memiliki tipe data varchar(15), email yang tipe datanya varchar(50), pass_word
yang tipe datanya varchar(50),address yang tipe datanya varchar(50),phone yang tipe datanya adalah
varchar(15), dan birth_date varchar(50), lalu kami mengisi 5 data dan membuat id_account menjadi
primary key.

Lalu kami membuat tabel tbcharacter yang berisi atribut id_character yang memiliki tipe data
varchar(15), job varchar(40), level_character int, exp_character int, max_mp int, max_hp int,curr_mp int,
curr_hp int. , lalu kami mengisi 5 data. Dan menjadikan id_character sebagai primary key di tabel
character.
Lalu kami membuat tabel tbregion yang berisi atribut id_region varchar(15), server_name varchar(50),
region_name varchar(50), channel_name varchar(50), lalu kami mengisi 5 data. Dan menjadikan
id_region sebagai primary key di tabel character.

Lalu kami membuat tabel item yang berisi id_item varchar(15), item_name char(50), stock int, lalu kami
mengisi 5 data. Dan menjadikan id_item sebagai primary key di tabel character.
Lalu kami membuat tabel enemy yang berisi id_enemy varchar(15), enemy_name varchar(50), hitpoints
int, lalu kami mengisi 5 data. Dan menjadikan id_enemy sebagai primary key di tabel character.

Lalu kami membuat foreign key id_account di tbcharacter untuk berelasi dengan tabel account,
id_character di tbregion untuk berelasi dengan tabel tbcharacter, id_character di item untuk berelasi
dengan tabel tbcharacter, dan id_character di enemy untuk berelasi dengan tabel tbcharacter.
Kami mengupdate data Foreign Key yang ada di tabel tbcharacter, tbregion, item, dan enemy dan
menampilkan hasil tabel yang dibuat

Lalu Kami menggunakan Fungsi Agregasi pada kolom stock di tabel item.yang pertama yaitu fungsi
count yang menghitung berapa jumlah data dalam kolom yang dipilih, lalu avg yaitu fungsi rata rata
jumlah data di kolom, lalu max yaitu fungsi nilai maksimum yang ada di kolom dan min yaitu fungsi nilai
minimum yang ada di kolom
Lalu Kami menggunakan Fungsi Skalar pada kolom id_character di tabel tbcharacter. Yang pertama
upper yaitu fungsi membuat huruf data yang di kolom menjadi huruf menjadi kapital semua lalu lower
yaitu fungsi membuat huruf data yang di kolom menjadi huruf kecil semua. Dan substring yaitu fungsi
yang mengekstrak huruf misalnya fungsi substring yang discreenshot yaitu mengekstrak huruf dari
id_character, ekstrak huruf dari posisi pertama sampai huruf pada posisi kelima.
Lalu Kami membuat Operator dari Like,IN,Between pada kolom id_character di tabel tbcharacter. Fungsi
like yaitu menentukan data yang ditampilkan sesuai kondisi misalnya %a yaitu data yang dimunculkan
adalah data yang memiliki huruf a didepan. Lalu ada fungsi between yaitu fungsi yang menampilkan data
awal dan tengah. Seperti Screenshot diatas data yang keluar adalah data 1 dan 2 saja. Lalu ada fungsi in
yaitu fungsi yang menampilkan data tengah dengan persyaratan. Seperti Screenshot diatas data diantara 1
dan 3 lalu ada data yang tidak boleh ditampilkan yaitu data yang mempunyai value 1 sehingga yang
muncul adalah data mempunyai value 2.

Lalu Kami membuat Perhitungan Matematika pada kolom stock di tabel item. Terdapat fungsi
Penjumlahan, Pengurangan, Perkalian dan Pembagian

Anda mungkin juga menyukai