Anda di halaman 1dari 12

LAPORAN PRAKTIKUM

TEKNOLOGI BASIS DATA


MODUL 3 & 4

HERMAN HARIANTO
NIM. 125410230
JURUSAN TEKNIK INFORMATIKA

LABORATORIUM TERPADU

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER

AKAKOM

YOGYAKARTA

2013/2014
A. PEMBAHASAN

Setiap obyek basis data (database onject) selalu mempunyai user. User pada basis
data tidak sama dengan user sistem operasi sehingga meskipun anda mempunyai user
sistrem operasi, anda tidak otomatis mempunyai hak aksek tehadap basis data MySQL. User
ini bisa dibuat oleh user lain yang mempunyai kewenangan (secara software). Pada saat
membuat user, bisa sekaligus ditentukan apakah user yang akan dibuat tersebut
mempunyai kewenangan lain (misalnya membuat basis data). Perintah untuk membuat user
bisa dilakukan seperti berikut ini.
Membuat user dari MySQL prompt
MySQL menyediakan perintah create user untuk membuat user langsung dari MySQL
prompt. Bentuk umum perintah create user sebagai berikut :
CREATE USER user [IDENTIFIED BY [PASSWORD]’ password’]
[user [IDENTIFIED BY[PASSWORD]’ password’]]....
Perintah membuat akun baru dari MySQL dengan perintah create user. Untuk
menggunakannya, anda harus mempunyai privilege (hak) create user global atau hak insert
pada basis data mysql tersebut. Setiap akun baru yang dibuat akan disimpan kedalam tabel
mysql. User yang belum diberikan hak.
Akun dapat diberikan suatu password dengan klausa pilihan IDENTIFIED BY. Nama user
dan passwsord dapat diberikan menggunakan perintah GRANT.

 Pelaksanaan Praktikum
mysql> create user userbaru;
Query OK, 0 rows affected (0.06 sec)
Perintah membuat akun baru dari Mysql dengan perintah create user. Pada perintah
diatas dipergunakan untuk membuat user baru dengan nama userbaru.
mysql> use mysql;
Database changed
Pada perintah ini dipergunakan untuk memanggil atau menggunakan mysql.
mysql> select host,user,password from user;
kemudian selanjutnya pada perintah ini di pergunakan untuk menampilkan host,user
password dari tabel user. Jika di tampilkan maka akan seperti di bawah ini.
+-----------+----------+-------------------------------------------+
| host | user | password |
+-----------+----------+-------------------------------------------+
| localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| % | userbaru | |
+-----------+----------+-------------------------------------------+
2 rows in set (0.00 sec)
mysql> drop user userbaru;
Query OK, 0 rows affected (0.03 sec)
Perintah ini dipergunakan untuk menghapus user userbaru.
mysql> select host,user,password from user;
mysql> use mysql;
Database changed
Perintah ini di pergunakan untuk memanggil mysql yang akan nantinya
di pergunakan.
mysql> select host,user,password from user;
perintah ini di pergunakan untuk menyelekis apa saja yang akan di
tampilkan dari tabel user.
+-----------+----------+-------------------------------------------+
| host | user | password |
+-----------+----------+-------------------------------------------+
| localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| % | userbaru | |
+-----------+----------+-------------------------------------------+
2 rows in set (0.00 sec)
mysql> drop user userbaru;
Query OK, 0 rows affected (0.03 sec)
mysql> select host,user,password from user;
+-----------+------+-------------------------------------------+
| host | user | password |
+-----------+------+-------------------------------------------+
| localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
+-----------+------+-------------------------------------------+
1 row in set (0.00 sec)

mysql>
mysql> show tables;
perintah di pergunakan untuk menampilkan semua tabel dari databases
akademik.
+--------------------+
| Tables_in_akademik |
+--------------------+
| barang |
| coba_transaksi |
| daftnilai |
| khs |
| logstok |
| mahasiswa |
| mhsperempuan |
| mk |
+--------------------+
8 rows in set (0.00 sec)

mysql>
mysql> grant all on akademik.* to 'raizulm10056'@'%';
Query OK, 0 rows affected (0.00 sec)
Perintah ini digunakan untuk memberikan hak akses kepada user disimpan
dalam akun mysql.
mysql> select host,user,password from user;
pada perintah ini dipergunakan untuk menampilkan host,user,password dari
tabel user sehingga jika di tampikan maka akan seperti berikut ini.
+-----------+--------------+-------------------------------------------+
| host | user | password |
+-----------+--------------+-------------------------------------------+
| localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| % | raizulm10056 | |
+-----------+--------------+-------------------------------------------+
2 rows in set (0.00 sec)

mysql>
mysql> use akademik;
pada perintah ini dipergunakan untuk memanggil atau menggunakan akademik.
Database changed
mysql> show tables;
+--------------------+
| Tables_in_akademik |
+--------------------+
| barang |
| coba_transaksi |
| daftnilai |
| khs |
| logstok |
| mahasiswa |
| mhsperempuan |
| mk |
+--------------------+
8 rows in set (0.00 sec)
mysql> desc mk;
pada perintah ini di pergunakan untuk melihat susunan tabel dari mk.
Jika kita ingin menampilkan perintah ini maka akan tampil seperti di bawah
ini.
+---------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+----------+------+-----+---------+-------+
| kode_mk | char(8) | NO | PRI | | |
| nama_mk | char(30) | YES | | NULL | |
| sks | int(11) | YES | | NULL | |
+---------+----------+------+-----+---------+-------+
3 rows in set (0.00 sec)
mysql> use mysql;
perintah ini di pergunakan untuk memanggil dan menggunakan mysql
sebgai obyek yang akan di jalankan.
Database changed
mysql> select host,user,password from user;
+-----------+--------------+-------------------------------------------+
| host | user | password |
+-----------+--------------+-------------------------------------------+
| localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| % | raizulm10056 | |
+-----------+--------------+-------------------------------------------+
2 rows in set (0.00 sec)
mysql> grant select (kdbrg) on akademik.barang to Herman125410230;
Query OK, 0 rows affected (0.01 sec)
Pada perintah ini di gunakan untuk memberikan hak akses terbatas dengan
atribut tertentu misalkan kdbrg untuk user Herman125410230.

mysql> drop user Herman125410230;


Query OK, 0 rows affected (0.00 sec)
Pada perintah ini di pergunakan untuk menghapus user dengan nama
Herman125410230
mysql> create user baru;
Query OK, 0 rows affected (0.00 sec)
Pada perintah ini dipergunakan untuk membuat user baru.
mysql> grant select (kdbrg) on akademik.barang to baru;
Query OK, 0 rows affected (0.00 sec)
Pada perintah ini di gunakan untuk memberikan hak akses terbatas
dengan atribut tertentu misalkan kdbrg untuk user baru.

B. TUGAS

mysql> create user ardy;


Query OK, 0 rows affected (0.00 sec)
mysql> use mysql;
Database changed
mysql> select host, user, password from user;
+------------------------------------+--------+---------------------------+
| host | user | password |
+-----------------------------------+--------+---------------------------+
| localhost | root | 67457e226a1a15bd|
| production.mysql.com | root | |
| 127.0.0.1 | root | |
| localhost | | |
| production.mysql.com | | |
|% | ardy | |
+----------------------------------+--------+---------------------------+
6 rows in set (0.00 sec)
mysql> use akademik;
Database changed
mysql> grant all on akademik.* to 'ardy'@'%';
Query OK, 0 rows affected (0.00 sec)

mysql> create table mata_kuliah(Kode_mk varchar(10),


-> Nama_mk char(25),
-> sks int(3),
-> primary key(Kode_mk));
Query OK, 0 rows affected (0.08 sec)
mysql> describe mata_kuliah;
+--------------+----------------+-------+------+-----------+--------+
| Field | Type | Null | Key | Default | Extra |
+--------------+----------------+-------+------+-----------+--------+
| Kode_mk | varchar(10) | NO | PRI | | |
| Nama_mk | char(25) | YES | | NULL | |
| sks | int(3) | YES | | NULL | |
+--------------+----------------+-------+------+-----------+--------+
3 rows in set (0.06 sec)
mysql> grant select (Kode_mk), insert (Kode_mk,Nama_mk) on akademik.mata_kuliah
to ardy;
Query OK, 0 rows affected (0.06 sec)
mysql> revoke all on akademik.* from 'ardy'@'%';
Query OK, 0 rows affected (0.05 sec)

C. LISTING
Terlampirkan………………
A. PEMBAHASAN

Dalam transaksi transaksi basis data, terdapat property-properti yang menjamin


bahwa transaksi dilaksanakan dengan baik. Property-propeti ini dikenal sebagai
ACID(Atomity Consistensy isolation Durability). Properti acid ini untuk memastikan
prilaku yang dapat diprediksi dan menguatkan peran transaksi sebgai konsep all or
nothing yang di rencanakan untuk mengurangi menajmen load kerika bayak variabel.

mysql> show variables like 'have_innodb';


mysql mendukung transaksi memalui storge engine innoDB (full acid compliance) dan
BDB. Untuk itu dapat mengimpelementasikan DBMS MYSQL harus mendukung salah
satu atau kedua engine transactional . untuk memeriksa transaksi basisdata perintah .
pada perintah ini dipergunakan untk memeriksa transaksi basis data, jika di tampilkan
Yes maka transaksi basis data sudah di dukung atau di supot.
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| have_innodb | YES |
+---------------+-------+
1 row in set (0.00 sec)
mysql> create table coba_transak(pelatiahn varchar(10) NOT
NULL,instruktur char
(15) NOT NULL, PRIMARY KEY(pelatiahn)) ENGINE=InnoDB;
Query OK, 0 rows affected (0.03 sec)
Pada perintah di atas ini dipergunakan untuk membuat sebuah tabel dengan nama
coba_transk. Kemudian adapun atribut-atribut dari tabel coba transak terdiri dari
pelatihan dengan tipe data varchar dengan panjang 10 dan not null artinya tidaka boleh
untuk tidak di isi atau harus di isi.
mysql> START TRANSACTION;
Query OK, 0 rows affected (0.00 sec)
Transaksi di mysql diawali dengan menggunakan pernyataan START
TRANSACTION dan di akhiri dengan COMMIT untuk menyatakan transaksi sukses
atau ROLLBACK untuk menyatakan transaksi gagal.
mysql> INSERT INTO coba_transak values
('MySQL','Totol'),('Orecle','Enny');
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0
Pada perintah di atas ini di pergunakan untuk mengisikan table coba_transk dengan
nilai ('MySQL','Totol'),('Orecle','Enny'). Kemudian jika kita enter maka akan muncul
pernyataan seperti berikut :
Records: 2 Duplicates: 0 Warnings: 0
Pernyataan ini memberikan informasi bahwa records yang di masukkan
terdapat 2 yang di duplicats.
mysql> select * from coba_transak;
pada perintah ini di pergunakan untuk menampilkan hasil pengimputan data apakah
sudah berhasil atau belum. Dan jika kita menampilakan hasil dari potongan kode
perintah di atas maka akan menampilkan seperti berikut ini:
+-----------+------------+
| pelatiahn | instruktur |
+-----------+------------+
| MySQL | Totol |
| Orecle | Enny |
+-----------+------------+
2 rows in set (0.00 sec)
mysql>exit;
perintah ini di pergunakan untuk keluar dari MYSQL.
mysql> use transaksi;
Database changed
Perintah ini dipergunakan untuk memanggil database transksi yang akan di pergunakan.
mysql> show tables;
kemudian pada perintah ini di
pergunakan untuk menampilan table yang berada pada database transaksi. Jika kita
menampilkan tabel dari databes transaksi maka akan seperti di bawah ini.
+---------------------+
| Tables_in_transaksi |
+---------------------+
| coba_transak |
+---------------------+
1 row in set (0.00 sec)
mysql> select * from coba_transaksi;
ERROR 1146 (42S02): Table 'transaksi.coba_transaksi' doesn't
exist
mysql> START TRANSACTION;
Query OK, 0 rows affected (0.00 sec)
Transaksi di mysql diawali dengan menggunakan pernyataan START TRANSACTION
dan di akhiri dengan COMMIT untuk menyatakan transaksi sukses atau ROLLBACK
untuk menyatakan transaksi gagal.
mysql> INSERT INTO coba_transak
values('MySQL','Totok'),('Oracle','Enny');
pada perintah ini mencoaba untuk menambahkan data pada tabel
coba_transak.
mysql> select * from coba_transak;
pada perintah ini dipergunakan untuk mengecek apakah data yang dimasukkan bener-
bener masuk, jika selanjutnya di tampilkan maka akan seperti di bawaha ini. Data yang
di masukkan sudah berhasil.
+-----------+------------+
| pelatiahn | instruktur |
+-----------+------------+
| MySQL | Totok |
| Oracle | Enny |
+-----------+------------+
2 rows in set (0.00 sec)
mysql> SELECT @@autocommit;
selain menggunakan perintah START TRANSACTION kita juga bisa menggunakan
perintah SET untuk mengatur nilai veriabel aoutocommit. Nilaia default commit adalah
1, yang menyatakan bahwa transaksi basis data tidak aktif. Dengan kata lain perintah
langgung diteraplam secara permanen.
+--------------+
| @@autocommit |
+--------------+
| 1 |
+--------------+
1 row in set (0.00 sec)
mysql> INSERT INTO coba_transak values('sybase','Hartono');
Query OK, 1 row affected (0.00 sec)
Perintah ini dipergunakan untuk memasukkan nilai pada tabel coba_transk.
mysql> select * from coba_transak;
perintah ini dipergunakan untuk menampilkan data yang sudah di masukkan dari tabel
coba_transk.
+-----------+------------+
| pelatiahn | instruktur |
+-----------+------------+
| MySQL | Totok |
| Oracle | Enny |
| sybase | Hartono |
+-----------+------------+
3 rows in set (0.00 sec)

mysql> select * from coba_transak;


+-----------+------------+
| pelatiahn | instruktur |
+-----------+------------+
| MySQL | Totok |
| Oracle | Enny |
+-----------+------------+
2 rows in set (0.00 sec)

B. TUGAS

mysql> show variables like 'have_innodb';


+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| have_innodb | YES |
+---------------+-------+
1 row in set (0.00 sec)
mysql> create database bank;
Query OK, 1 row affected (0.00 sec)
mysql> use bank;
Database changed
mysql> create table coba_bank(nasabah varchar(15) not null, saldo char(20) not n
ull, transaksi char(15) not null, primary key(nasabah)) engine=innodb;
Query OK, 0 rows affected (0.16 sec)
mysql> start transaction;
Query OK, 0 rows affected (0.00 sec)
mysql> insert into coba_bank values('ardy','15000','barang'), ('ihsan','20000','
barang');
Query OK, 2 rows affected (0.05 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> select * from coba_bank;
+---------+-------+-----------+
| nasabah | saldo | transaksi |
+---------+-------+-----------+
| ardy | 15000 | barang |
| ihsan | 20000 | barang |
+---------+-------+-----------+
2 rows in set (0.00 sec)
mysql>exit
mysql> use bank;
Database changed
mysql> select * from coba_bank;
Empty set (0.00 sec)

MENGGUNAKAN PERINTAH COMMIT :


mysql> start transaction;
Query OK, 0 rows affected (0.00 sec)
mysql> insert into coba_bank values('ardy','15000','barang'), ('ihsan','20000','
barang');
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> select * from coba_bank;
+---------+-------+-----------+
| nasabah | saldo | transaksi |
+---------+-------+-----------+
| ardy | 15000 | barang |
| ihsan | 20000 | barang |
+---------+-------+-----------+
2 rows in set (0.00 sec)
mysql> commit;
Query OK, 0 rows affected (0.03 sec)
mysql> exit
mysql> use bank;
Database changed
mysql> select * from coba_bank;
+---------+-------+-----------+
| nasabah | saldo | transaksi |
+---------+-------+-----------+
| ardy | 15000 | barang |
| ihsan | 20000 | barang |
+---------+-------+-----------+
2 rows in set (0.00 sec)

MODE AUTOCOMMIT :
mysql> select @@autocommit;
+--------------+
| @@autocommit |
+--------------+
| 1|
+--------------+
1 row in set (0.03 sec)
mysql> set @@autocommit=0;
Query OK, 0 rows affected (0.03 sec)
mysql> insert into coba_bank values('sugar','30000','barang');
Query OK, 1 row affected (0.00 sec)
mysql> select * from coba_bank;
+---------+-------+-----------+
| nasabah | saldo | transaksi |
+---------+-------+-----------+
| ardy | 15000 | barang |
| ihsan | 20000 | barang |
| sugar | 30000 | barang |
+---------+-------+-----------+
3 rows in set (0.00 sec)
mysql> exit
mysql> use bank;
Database changed
mysql> select * from coba_bank;
+---------+-------+-----------+
| nasabah | saldo | transaksi |
+---------+-------+-----------+
| ardy | 15000 | barang |
| ihsan | 20000 | barang |
+---------+-------+-----------+
2 rows in set (0.00 sec)
MENGGUNAKAN PERINTAH ROLLBACK :
mysql> start transaction;
Query OK, 0 rows affected (0.00 sec)
mysql> select * from coba_bank;
+---------+-------+-----------+
| nasabah | saldo | transaksi |
+---------+-------+-----------+
| ardy | 15000 | barang |
| ihsan | 20000 | barang |
+---------+-------+-----------+
2 rows in set (0.00 sec)

mysql> insert into coba_bank values('rian','25000','barang');


Query OK, 1 row affected (0.00 sec)
mysql> select * from coba_bank;
+---------+-------+-----------+
| nasabah | saldo | transaksi |
+---------+-------+-----------+
| ardy | 15000 | barang |
| ihsan | 20000 | barang |
| rian | 25000 | barang |
+---------+-------+-----------+
3 rows in set (0.00 sec)
mysql> rollback;
Query OK, 0 rows affected (0.03 sec)
mysql> select * from coba_bank;
+---------+-------+-----------+
| nasabah | saldo | transaksi |
+---------+-------+-----------+
| ardy | 15000 | barang |
| ihsan | 20000 | barang |
+---------+-------+-----------+
2 rows in set (0.00 sec)

C. LISTING
Terlampirkan……………

Anda mungkin juga menyukai