Anda di halaman 1dari 20

LAPORAN BIG DATA

PRAKTIKUM 2
“RDMBS“

Ibnu Naufal
3.34.13.1.11
IK-3B

PROGRAM STUDI TEKNIK INFORMATIKA


JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI SEMARANG
2020
Praktikum Big Data – Dr. Kurnianingsih, S.T., M.T.
========================================

Modul 2
RELATIONAL DATABASE
MANAGEMENT
SYSTEM (RDBMS)
Dosen: Dr. Kurnianingsih, S.T., M.T.
===========================================================================
==========

Kompetensi Dasar
• Mahasiswa mampu menjelaskan tentang RDBMS
• Mahasiswa mampu membedakan antara DMBS dan RDBMS
• Mahasiswa mengenali perintah-perintah umum yang ada pada RDBMS

Pendahuluan
Sebagian besar masalah yang dihadapi pada saat implementasi sistem apa pun adalah hasil dari desain
database yang buruk. Dalam banyak kasus, sistem harus terus dimodifikasi dalam berbagai
aspek/komponennya karena perubahan kebutuhan pengguna. Sangat penting bahwa perencanaan yang
tepat harus dilakukan. Relasi dalam database relasional (Relational Database) didasarkan pada skema
relasional, yang terdiri dari sejumlah atribut. Database relasional terdiri dari sejumlah hubungan/relasi
dengan skema database relasional yang terkait.
Tujuan dari desain basis data relasional adalah untuk menghasilkan seperangkat skema relasi yang
memungkinkan kita untuk menyimpan informasi tanpa redundansi yang tidak perlu dan juga untuk
mengambil informasi dengan mudah. Satu pendekatan untuk skema desain database adalah normalisasi.
Bentuk desain normal (normalized tables) digunakan untuk memastikan bahwa berbagai jenis anomali
dan inkonsistensi tidak ada dalam database.

Apakah RDBMS itu?


RDBMS adalah singkatan dari Relational Database Management System (Sistem Manajemen Database
Relasional). Data RDBMS disusun dalam tabel, field, dan record. Setiap tabel RDBMS terdiri dari baris-
baris data dalam bentuk tabel. Setiap baris tabel database terdiri dari satu atau beberapa field.
Praktikum Big Data – Dr. Kurnianingsih, S.T., M.T.
========================================

RDBMS menyimpan data ke dalam kumpulan tabel, yang mungkin terdiri dari lebih dari satu kolom.
RDBMS juga menyediakan operator relasional untuk memanipulasi data yang disimpan ke dalam tabel
database. Sebagian besar RDBMS menggunakan SQL sebagai bahasa query-nya.
Contoh RDBMS yang paling populer adalah MS SQL Server, DB2, Oracle, PostgreSQL dan MySQL.
Model relasional (relational model) adalah contoh model berbasis record. Dinamakan demikian karena
basis data disusun dalam record dengan format dan jenis tertentu.
Setiap tabel berisi record dengan jenis tertentu. Setiap jenis record mendefinisikan sejumlah field, atau
atribut tertentu. Model data relasional adalah model data yang paling banyak digunakan, dan sebagian
besar sistem database saat ini didasarkan pada model relasional.
Relasi (relation) adalah satu-satunya struktur data yang digunakan dalam model data relasional untuk
mewakili entitas dan hubungan di antara mereka. Setiap atribut dari kolom diambil dari himpunan nilai
yang dikenal sebagai domain.
Dari perspektif historis, model data relasional relatif baru. Sistem database pertama didasarkan pada
jaringan atau model hierarki. Model data relasional saat ini telah menjadi model data primer untuk
aplikasi pemrosesan data komersial. Keberhasilannya dalam area ini telah menyebabkan aplikasinya
dipakai tidak hanya pada area desain berbantuan komputer (CAD = computer aided design) dan namun
juga pada lingkungan pemrosesan data yang sifatnya lebih umum.

Perbedaan antara DBMS dengan RDBMS


DBMS harus persistent, yaitu harus dapat diakses (tidak hilang) saat program pembuat data tersebut tidak
ada lagi (terminated/exited) atau aplikasi yang membuat data dihidupkan ulang (restarted). DBMS juga
harus menyediakan beberapa metode seragam yang tidak tergantung pada aplikasi spesifik untuk
mengakses informasi yang disimpan. RDBMS menambahkan kondisi tambahan bahwa sistem
mendukung data dalam bentuk tabel, dan adanya hubungan antar tabel. Maka database yang tidak
mendukung struktur tabel atau tidak memiliki fitur untuk menghubungan antar tabel tidak bisa disebut
sebagai RDBMS. Bisa dikatakan bahwa DBMS tidak memiliki syarat khusus atau keamanan tertentu
berkenaan dengan manipulasi data, karena tanggung jawabnya diserahkan kepada pengguna atau
pemrogram untuk memastikan properti ACID (Atomicity, Consistency, Isolation, Durability) dari basis
data tetap terjaga, sedangkan RDBMS lebih memperhatikan hal ini karena RDBMS menetapkan batasan-
batasan integritas tertentu untuk tujuan menjaga ACID ini.

Structured Query Language (SQL)


SQL adalah bahasa sub data yang digunakan untuk mengatur, mengelola, dan mengambil data dari basis
data relasional, yang dikelola oleh RDBMS.
Vendor besar DBMS seperti Oracle, IBM, DB2, Sybase, Microsoft, dan Ingress menggunakan SQL
sebagai bahasa pemrograman untuk database mereka.
Bahasa SQL dapat digunakan dalam dua cara:

• Secara interaktif
• Tertanam di dalam program lain (embedded).
SQL digunakan secara interaktif untuk secara langsung mengoperasikan database dan menghasilkan hasil
yang diinginkan. Pengguna memasukkan perintah SQL yang segera dieksekusi di RDBMS
Praktikum Big Data – Dr. Kurnianingsih, S.T., M.T.
========================================

console/terminal maupun GUI. Sebagian besar database memiliki alat yang memungkinkan eksekusi
interaktif bahasa SQL.
Cara kedua untuk mengeksekusi perintah SQL adalah dengan menanamkannya dalam bahasa lain seperti
Cobol, Pascal, BASIC, C, Visual Basic, Java, PHP, dll. Hasil perintah SQL yang tertanam disimpan ke
variabel dalam program host yang akan mengolahnya lebih lanjut (bisa jadi hanya menampilkan
hasilnya). Kombinasi SQL dengan bahasa pemrograman memungkinkan pembuatan antarmuka pengguna
dan akses basis data dalam satu aplikasi.
Terlepas dari apakah SQL tertanam atau digunakan secara interaktif, bahasanya dapat dibagi menjadi tiga
kelompok perintah, tergantung pada tujuannya, yaitu:

• Data Definition Language (DDL).


• Data Manipulation Language (DML).
• Data Control Language (DCL).

Data Definition Language (DDL)


DDL adalah bagian dari SQL yang bertanggung jawab untuk pembuatan, pembaruan, dan penghapusan
tabel. DDL juga digunakan untuk menbuat view dan index.
Perintah yang termasuk DDL diantaranya:

• CREATE TABLE
• ALTER TABLE
• DROP TABLE
• CREATE VIEW
• CREATE INDEX

Data Manipulation Language (DML)


DML digunakan untuk memanipulasi (menyisipkan/insert, menghapus/delete, memperbarui/update, dan
mengambil/read) data. Perintah yang termasuk DML diantaranya:

• SELECT
• UPDATE
• DELETE
• INSERT

Data Control Language (DCL)


Merupakan perintah yang membentuk bahasa kontrol data, terkait dengan keamanan database yang
melakukan tugas seperti menetapkan hak istimewa sehingga pengguna dapat mengakses objek tertentu
dalam database.
Yang termasuk dalam DCL, misalnya:
Praktikum Big Data – Dr. Kurnianingsih, S.T., M.T.
========================================

• GRANT
• REVOKE
• COMMIT
• ROLLBACK

PRAKTIKUM
Untuk memahami konsep RDBMS dan bahasa SQL-nya, kita akan menggunakan database SQLite.
Silakan download DB Browser for SQLite di sini: https://sqlitebrowser.org/. Silakan download sesuai
sistem operasi Anda (Windows, Mac, Linux)

Membuat Tabel
Kita akan membuat 2 buah tabel yaitu tabel “artist” dan tabel “track”. Ikuti langkah-langkah berikut untuk
membuatnya:

1. Buka SQLite Browser


2. Klik “New Database”, berinama “daftar_lagu”. Silakan tentukan sendiri lokasi penyimpanan
databasenya. Selanjutnya (pada jendela pembuatan tabel baru) klik tombol “Cancel”

3. Klik Create Table

4. Pada isian nama tabel, isi dengan “artist”


5. Untuk menambahkan field pada tabel, silakan klik “Add field”. Isi definisi field-field yang ada
pada tabel “artist” ini sehingga menjadi seperti berikut:
Praktikum Big Data – Dr. Kurnianingsih, S.T., M.T.
========================================

6. Tugas: silakan lakukan langkah-langkah di atas guna membuat tabel “track” sehingga berbentuk
seperti berikut:
Praktikum Big Data – Dr. Kurnianingsih, S.T., M.T.
========================================

Manipulasi data
Untuk melakukan manipulasi data menggunakan DB Browser, silakan masuk ke tab “Browse Data”.

Gunakan tombol “New Record” untuk mulai mengisi data.

1. Menggunakan SQLite Browser, silakan isi data pada tabel “artist” dengan records berikut:

2. Menggunakan SQLite Browser, silakan isi data pada tabel “track” dengan records berikut:

Membuat relasi antar-tabel


Selanjutnya kita akan membuat relasi antara tabel “artist” dengan “track” dimana field “track_artist” pada
tabel “track” mengacu pada field “artist_id” pada tabel “artist”.

1. Pada “Database Structure”, pilih tabel “track”, kemudian klik pada tombol “Modify Table”
2. Pilih field “track_artist” kemudian isi kolom “Foreign Key” menjadi seperti berikut:
Praktikum Big Data – Dr. Kurnianingsih, S.T., M.T.
========================================

3. Jika tidak ada yang salah, maka DDL dari tabel “track” akan menjadi seperti berikut:

4. Pada tab “Execute SQL”, silakan masukkan query berikut:

5. Execute
Praktikum Big Data – Dr. Kurnianingsih, S.T., M.T.
========================================

6. Lihat hasil query-nya

TUGAS
1. Jelaskan perbedaan antara DBMS dengan RDBMS!
2. Riset dan jelaskan mengenai ACID pada RDBMS! Apakah itu?
3. Pada praktikum, tunjukkan pada bagian mana kita menggunakan DDL, DML dan DCL!
4. Pada saat memasukkan data ke tabel “artist” dan tabel “track”, kita tidak perlu memasukkan isi
field “artist_id” dan “track_id”, mengapa?
5. Pada saat praktikum pembuatan relasi tabel, ada SQL statement berikut: ON UPDATE
CASCADE ON DELETE CASCADE. Riset dan jelaskan maksudnya!
6. Coba tambahkan record berikut pada tabel “track”: track_name = “Sayang”, track_artist = “3”.
Jelaskan apa dan mengapa terjadi demikian?

JAWAB
1. RDBMS dan DBMS
 RDBMS: arsitektur database yang tabel-tabelnya memiliki hubungan relationship satu sama lain.
Hubungan disini menggunakan key pada masing-masing tabel.
 DBMS: arsitektur database yang tabel-tabelnya tidak memiliki hubungan relationship satu sama
lain.
2. ACID
 Atomicity adalah kemampuan database untuk menjamin bahwa baik semua bagian transaksi
dilakukan atau tidak sama sekali. Jika salah satu bagian dari transaksi gagal, seluruh transaksi
gagal.
 Consistency memastikan data dapat dikembalikan dalam keadaan sebelum transaksi dimulai, jika
terjadi kegagalan.
 Isolation memastikan transaksi yang masih dalam proses dan belum dilakukan (committed) harus
tetap terisolasi terhadap transaksi lainnya.
Praktikum Big Data – Dr. Kurnianingsih, S.T., M.T.
========================================

 Durability memastikan data yang telah disimpan (committed data) disimpan oleh sistim
sebagaimana keadaannya , bahkan jika dalam keadaan kegagalan sistim dan restart sistem, data
tersebut tersedia dalam tahapan dan keadaan yang benar.

Empat karakteristik yang menjamin transaksi database diproses secara reliable.


Model ACID merupakan salah satu konsep tertua dan paling penting dari teori database transaksional.

3. DDL, DML,DCL
 DDL-CREATE

 DML-INSERT

 DML-UPDATE
Praktikum Big Data – Dr. Kurnianingsih, S.T., M.T.
========================================

 DML-SELECT

4. Karena dalam pembuatan tabel, kedua field tersebut telah diset Auto Increment dimana value
akan terisi otomatis
5. Maksudnya adalah ketika terjadi update atau delete pada tabel parent maka akan langsun
berdampak pada tabel child.
Praktikum Big Data – Dr. Kurnianingsih, S.T., M.T.
========================================

6. Penambahan record tersebut tidak bias dilakukan karena pada tabel artist tidak terdapat artist dengan
artist_id “3”. Artist_id memiliki relasi dengan track_artist, jadi ketika pada tabel artist tidak ada maka
pada tabel track juga tidak dapat dilakukan proses penambahan tersebut.

Tambahan Alter table


 Alter table
CREATE TABLE devices ( name TEXT NOT NULL, model TEXT NOT NULL, Serial
INTEGER NOT NULL UNIQUE ); INSERT INTO devices (name, model, serial) VALUES('HP
ZBook 17 G3 Mobile Workstation','ZBook','SN -2015');

 Alter table rename table


ALTER TABLE devices RENAME TO equipment;
Praktikum Big Data – Dr. Kurnianingsih, S.T., M.T.
========================================

 SELECT name, model, serial FROM equipment;

 Alter table - add new column


ALTER TABLE table ADD COLUMN column_definition;
Praktikum Big Data – Dr. Kurnianingsih, S.T., M.T.
========================================

 Alter table – Drop Column


- CREATE TABLE users(UserId INTEGER PRIMARY KEY,FirstName TEXT NOT NULL,
LastName TEXT NOT NULL,Email TEXT NOT NULL,Phone TEXT NOT NULL);

- CREATE TABLE favorites( UserId INTEGER, PlaylistId INTEGER, FOREIGN


KEY(UserId) REFERENCES users(UserId), FOREIGN KEY(PlaylistId) REFERENCES
playlists(PlaylistId) );
Praktikum Big Data – Dr. Kurnianingsih, S.T., M.T.
========================================

- INSERT INTO users(FirstName, LastName, Email, Phone)


VALUES('John','Doe','john.doe@example.com','408-234-3456');

- CREATE TABLE playlists(PlaylistId INTEGER);


Praktikum Big Data – Dr. Kurnianingsih, S.T., M.T.
========================================

- INSERT INTO favorites(UserId, PlaylistId) VALUES(1,1);

- SELECT * FROM users;


Praktikum Big Data – Dr. Kurnianingsih, S.T., M.T.
========================================

- SELECT * FROM favorites;

- PRAGMA foreign_keys=off;
Praktikum Big Data – Dr. Kurnianingsih, S.T., M.T.
========================================

- CREATE TABLE IF NOT EXISTS persons (UserId INTEGER PRIMARY KEY,FirstName


TEXT NOT NULL,LastName TEXT NOT NULL,Email TEXT NOT NULL);

- INSERT INTO persons(UserId, FirstName, LastName, Email) SELECT UserId, FirstName,


LastName, Email FROM users;
Praktikum Big Data – Dr. Kurnianingsih, S.T., M.T.
========================================

- DROP TABLE users;

- ALTER TABLE persons RENAME TO users;


Praktikum Big Data – Dr. Kurnianingsih, S.T., M.T.
========================================

- PRAGMA foreign_keys=on;

- SELECT * FROM users;

Anda mungkin juga menyukai