• Tidak ada hasil yang ditemukan

MATERI TIK KELAS XI TENTANG DBMS dan RDBMS

N/A
N/A
Protected

Academic year: 2021

Membagikan "MATERI TIK KELAS XI TENTANG DBMS dan RDBMS"

Copied!
15
0
0

Teks penuh

(1)

MATERI TIK KELAS XI TENTANG DBMS dan RDBMS

Konsep Basis Data

Definisi:

Basis data terdiri dari 2 kata, yaitu basis dan data. Basis adalah markas/gudang, tempat bersarang atau berkumpul, sedangkan data adalah representasi fakta dunia nyata yang mewakili suatu objek seperti manusia (pegawai, siswa, pembeli, pelanggan), barang, hewan, peristiwa, konsep, keadaan dan sebagainya yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, bunyi dan kombinasinya.

Basis data dapat didefinisikan dari beberapa sudut pandang:

1. Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali secara cepat dan mudah. 2. Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redundansi) yang tidak perlu untuk memenuhi berbagai kebutuhan.

3. Kumpulan file/tabel/arsip yang saling berhubungan dan disimpan dlm media penyimpanan elektronis.

Operasi Dasar Basis Data

Sebuah basis data umumnya dibuat untuk mewakili sebuah semesta data yang spesifik. Misalnya basis data kepegawaian, basis data akademik, basis data inventori (pergudangan) dan sebagainya. Dalam basis data akademik, misalnya kita dapat menempatkan file mata pelajaran, file guru, file jadwal, file nilai dan seterusnya. Oleh karena itu operasi-operasi dasar yang dapat kita lakukan berkenaan dengan basis data dapat meliputi:

(2)

- Pembuatan basis data baru (create database) yang identik dengan pembuatan lemari arsip yang baru.

- Penghapusan basis data (drop database) yang identik dengan perusakan lemari rasip. - Pembuatan file/tabel baru ke suatu basis data (create table), identik dengan

penambahan map arsip baru.

- Penghapusan file/tabel dari suatu basis data (drop tabel).

- Penambahan/pengisian data baru ke sebuah file/table di sebuah basis data. - Pengambilan data dari sebuah file/tabel.

- Pengubahan data dari sebuah file/tabel. - Penghapusan data dari sebuah file/tabel.

Tujuan Basis Data

1. Kecepatan dan Kemudahan (Speed) 2. Efisiensi Ruang Penyimpanan (Space) 3. Keakuratan (Accuracy)

5. Ketersediaan (Availability) 6. Kelengkapan (Completeness) 7. Keamanan (Security)

8. Kebersamaan Pemakaian (Sharebility)

DBMS

DBMS merupakan software yang digunakan untuk membangun suatu sistem basis data yang “sempurna”. DBMS harus dapat mengatur basis data tersebut sehingga dapat tersimpan dengan baik tanpa menimbulkan kekacauan, dapat dipakai oleh banyak user sesuai dengan kepentingan masing-masing, melindungi dari gangguan pihak-pihak yang tidak berwenang.

(3)

Sistem basis data (DBMS) merupakan salah satu komponen penting dalam sistem informasi, karena merupakan dasar dalam menyediakan informasi. DBMS juga sebagai penentu kualitas informasi : akurat, tepat pada waktunya dan relevan. Namun demikian, tentu saja Informasi dapat dikatakan bernilai bila manfaatnya lebih efektif dibandingkan dengan biaya untuk mendapatkannya. Sasaran utama DBMS adalah menyediakan lingkungan yang nyaman dan efisien dalam menyimpan dan mengambil informasi ke dan dari basis data.

Lebih jelas, keuntungan dan kerugian dapat dijabarkan sebagai berikut:

KEUNTUNGAN menggunakan DBMS:

a. Penggunaan Data Bersama (The Data Can Be Shared)

b. Mengurangi Kerangkapan Data (Redudancy Can Be Reduced)

c. Menghindari Ketidakkonsistenan Data (Inconsistency Can Be Avoided) d. Integritas Data Terpelihara (Integrity Can Be Maintained)

e. Keamanan Terjamin (Security Can Be Enforced)

f. Kebutuhan User Yang Kompleks Dapat Teratasi (Balanced conflicting requirements) g. Pelaksanaan Standarisasi (Standards Can Be Enforced)

h. Meningkatkan Produktivitas (Increased productivity)

i. Layanan Back up dan Recovery Semakin Baik (Improved backup and recovery services)

KERUGIAN menggunakan DBMS: a. Rumit (Complexity)

Karena penetapan fungsi dari DBMS yang baik, menyebabkan DBMS menjadi software yang cukup rumit. Seluruh user harus mengetahui fungsi-fungsi yang ada dengan baik, sehingga dapat memperoleh manfaatnya.

b. Ukuran (Size)

Kerumitan dan banyaknya fungsi yang ada menyebabkan DBMS memerlukan banyak software pendukung yang mengakibatkan penambahan tempat penyimpanan dan memory.

(4)

c. Biaya DBMS (Cost of DBMS)

d. Biaya Tambahan Hardware (Additional hardware costs) e. Biaya Konversi (Cost of conversion)

f. Performance

Pada dasarnya DBMS dibuat untuk menyediakan banyak aplikasi, akibatnya mungkin beberapa aplikasi akan berjalan tidak seperti biasanya.

g. Resiko Kegagalan (Higher impact of a failure)

Karena system yang terpusat, jika seluruh user dan aplikasi terakses dari DBMS maka kerusakan pada bagian manapun dari system, akan menyebabkan operasi terhenti.

Mengapa harus menggunakan RDBMS?

Berikut ini adalah beberapa pertimbangan mengapa kita dianjurkan menggunakan database yang menganut pola RDBMS:

• Dapat membuat banyak table dalam satu database.

• Dapat dibuat primary key dan foreign key didalam tablenya.

• Dapat membuat suatu hubungan (relationships) antara masing-masing table.

• Dapat mencegah pengisian data yang berulang-ulang dan duplikat.

• Dapat melihat data dengan berbagai cara.

• Mudah untuk memanipulasi dan maintenance data.

• Mengurangi penggunaan kapasitas harddisk yang berlebihan.

• Lebih cepat dalam membangun system database kompleks.

Dalam relational database model, sebuah database adalah kumpulan relasi yang saling terhubung satu sama lainnya. Relasi adalah istilah dalam relational database, tapi kita lebih familiar jika menyebutnya sebagai tabel. Selayaknya tabel yang memiliki kolom dan baris, dalam relational database, kolom (column) disebut attribute,

sedangkan baris (row) disebut tuple. Hal ini hanya sekedar penamaan, dan agar lebih gampang, kita hanya akan menggunakan istilah tabel, kolom dan baris dalam tutorial ini, namun jika anda menemui istilah relation, attribut dan tuple, itu hanya penamaan lain dari tabel, kolom, dan baris.

(5)

Candidate Key (Kunci Kandidat)

Database dalam relational database dapat diserhanakan sebagai sekumpulan tabel yang saling terhubung. Setiap baris dari dalam tabel setidaknya harus memiliki sebuah kolom yang unik. Unik disini maksudnya tidak boleh sama. Contohnya, dalam tabel 4.1 : tabel data_mahasiswa, kolom NIM (Nomor Induk Mahasiswa) akan menjadi kandidat yang bagus, karena tidak mungkin ada 2 mahasiswa yang memiliki NIM yang sama. NIM disini disebut juga dengan Candidate Key (Kunci Kandidat). Candidate Key adalah satu atau beberapa kolom dalam tabel yang bisa mengidentifikasi tiap baris dari tabel tersebut.

NIM Nama Tanggal Lahir No KTP

Tempat Lahir

Kode Jurusan

101401030 Alex Ferdinand 29 Juni 1992 1373022906870002 Padang Ilmu Komputer

120502045 Joko Suprianto 4 Maret 1994 3173020403940004 Jakarta Manajemen

110901033 Susi Sulastri 17 September 1993 1273024709930001 Medan Kedokteran

100301021 Suparman 23 Februari 1992 3173022302920006 Jakarta Teknik Elektro

(6)

NIM Nama Tanggal Lahir No KTP

Tempat Lahir

Kode Jurusan

121401074 Tania Mutia 5 Oktober 1993 1373024510930006 Padang Ilmu Komputer

110501023 Aprilia Susanti 7 Oktober 1993 1693024710930002 Pekanbaru Manajemen

Tabel 4.1 : Tabel data_mahasiswa

Nomor KTP juga merupakan candidate key yang bagus, setidaknya setiap orang akan memiliki Nomor KTP yang berbeda-beda. Namun dalam beberapa kasus, nomor KTP tidak selalu ada, karena bisa saja seseorang belum memiliki KTP karena sesuatu dan lain hal. Beberapa karakteristik Candidate key : unik (tidak boleh berulang), tidak boleh memiliki nilai null (kosong), nilai dari candidate key akan sangat jarang berubah.

Primary Key (Kunci Utama)

Dalam sebuah tabel, akan terdapat beberapa candidate key, namun hanya ada 1 Primary key (kunci utama). Primary key adalah salah satu candidate key yang kita nobatkan sebagai kolom unik untuk identifikasi baris dalam tabel. Kolom ini tidak boleh berulang, dan tidak boleh kosong (null). Dari tabel data_mahasiswa, NIM dapat kita tetapkan sebagai primary key.

Foreign Key (Kunci Tamu)

Dalam sebuah database, biasanya akan terdapat beberapa tabel. Tabel-tabel ini dapat dihubungkan satu dengan yang lainnya dengan kolom yang merupakan bagian dari tabel lain. Foreign Key (Kunci Tamu) adalah Primary key dari tabel lainnya yang terdapat di tabel saat ini. Di dalam contoh tabel 4.2 : Tabel data_mahasiswa dapat terlihat bahwa NIM adalah primary key dari tabel data_mahasiswa, dan kode_jurusan adalah primary key pada tabel_jurusan. Kedua tabel tersebut dihubungkan oleh kolom kode jurusan.

(7)

NIM Nama Tanggal Lahir No KTP

Tempat Lahir

Kode Jurusan

101401030 Alex Ferdinand 29 Juni 1992 1373022906870002 Padang 14

120502045 Joko Suprianto 4 Maret 1994 3173020403940004 Jakarta 05

110901033 Susi Sulastri 17 September 1993 1273024709930001 Medan 09

100301021 Suparman 23 Februari 1992 3173022302920006 Jakarta 03

121401074 Tania Mutia 5 Oktober 1993 1373024510930006 Padang 14

110501023 Aprilia Susanti 7 Oktober 1993 1693024710930002 Pekanbaru 05

Kode Jurusan Jurusan Alamat

01 Teknik Mesin Jl. Teknik No.01

02 Teknik Arsitektur Jl. Teknik No.02

03 Teknik Elektro Jl. Teknik No.03

04 Akuntansi Jl. Ekonomi No. 01

05 Manajemen Jl. Ekonomi No. 02

06 Ekonomi Pembangunan Jl. Ekonomi No. 03

07 Kesehatan Masyarakat Jl. Kesehatan No.01

08 Psikologi Jl. Kesehatan No.02

09 Kedokteran Jl. Kesehatan No.03

10 Matematika Jl. MIPA No. 01

(8)

NIM Nama Tanggal Lahir No KTP

Tempat Lahir

Kode Jurusan

12 Fisika Jl. MIPA No. 03

13 Farmasi Jl. MIPA No. 04

14 Ilmu Komputer Jl. MIPA No. 05

Tabel 4.3 : Tabel kode_jurusan

Dalam tabel_mahasiswa, kolom NIM adalah primary key, dan kolom kode jurusan adalahforeign key. Kenapa tabel tersebut harus dipisah? Jawabanya adalah agar tidak ada data yang redundan (ganda). Redundansi data adalah salah satu kelemahan dari desain database yang kita buat. Seandainya dari contoh tabel, nama Jurusan Ilmu Komputer berubah menjadi Teknik Informatika, kita hanya tinggal merubah tabel_jurusan.

Referential Integrity

Referential Integrity berkaitan erat dengan foreign key. Pada dasarnya Referential Integrity adalah penerapan aturan bahwa untuk setiap foreign key yang terdapat pada suatu tabel, harus ada nilainya di tabel asal kolom tersebut. Dalam contoh kita, pada tabel 4.2 dan 4.3 setiap kode_jurusan dalam tabel data_mahasiswa harus ada nilainya dalam tabel kode_jurusan. Di dalam tabel data_mahasiswa kita tidak bisa memasukkan nilai 20, karena di tabel kode_jurusan, kode jurusan 20 belum diinput. Dan jika kita ingin menghapus suatu jurusan dari tabel_jurusan, semua mahasiswa harus terlebih dahulu sudah tidak ada yang memiliki kode jurusan tersebut.

(9)

Index

Index dalam database adalah sebuah struktur data yang diimplementasikan oleh RDBMS untuk mempercepat proses pembacaan data. Index lebih kepada penerapan algoritma dari masing-masing aplikasi database, dan diterapkan ke dalam kolom dari tabel yang kita inginkan. Mirip Index yang ada di belakang buku, index seolah-olah daftar cepat untuk mencari sesuatu oleh RDBMS. Kita dapat mendeklarikan kolom mana saja yang akan diindex.

Untuk MySQL, kolom yang ditetapkan sebagai primary key akan otomatis di-index. Tetapi dalam satu tabel, bisa saja terdapat beberapa kolom yang di index. Pertanyaanya, jika index digunakan untuk mempercepat proses pembacaan, kenapa tidak semua kolom saja kita index? Jawabannya, karena index sendiri juga memiliki kelemahan. Ketika data baru ditambahkan atau terdapat data yang akan dirubah, index yang tersimpan untuk tabel tersebut harus dibuat ulang, sehingga memperlama proses penambahan data. Namun untuk tabel yang jarang bertambah, index menawarkan perfoma yang cepat untuk pembacaan data.

Normalisasi Database

Normalisasi database (Database normalization) adalah proses penyusunan kolom dan tabel untuk meminimalkan redudansi data (data yang berulang). Normalisasi biasanya akan membagi tabel besar menjadi beberapa tabel kecil yang saling terhubung. Hal ini dilakukan agar mudah dalam mengatur, dan mengorganisasi data yang ada.

Contohnya, untuk tabel data_mahasiswa, jika terjadi perubahan nama jurusan, misalnya dari Ilmu Komputer menjadi Teknik Informatika, maka kita harus merubah satu-satu tiap mahasiswa. Namun jika di bagi menjadi 2 tabel, kita hanya tinggal merubah baris no urut 14 dari tabel kode_jurusan menjadi Teknik Informatika. Dan otomatis setiap mahasiswa yang memiliki kode_jurusan 14, adalah mahasiswa Teknik Informatika.

(10)

Normalisasi database memiliki beberapa tahapan. Dari wikipedia, normalisasi database setidaknya memiliki 9 tahapan. Pada setiap tahapan, ada syarat yang harus dipenuhi, sampai sebuah tabel tidak lagi memiliki kolom yang redundant. Kita tidak harus mengikuti semua tahap, biasanya hanya dibutuhkan 3 tahapan normalisasi untuk membuat sebuah desain database sederhana. Proses normalisasi database tidak akan kita bahas disini, namun setidaknya kita mengetahui bahwa normalisasi database adalah proses untuk mendesain database agar terorganisir.

DML

DML atau Data manipulation Language merupakan perintah-perintah yang berfungsi untuk melakukan manipulasi data ataupun objek-objek yang ada didalam table. Definisi lainnya tentang DML adalah Perintah-perintah untuk memanipulasi data pada basis data, misalnya perintah untuk memilih data (query), menyisipkan, mengubah dan menghapus data dalam basis data.

Bentuk manipulasi yang dapat dilakukan oleh DML diantaranya adalah untuk keperluan pencarian kembali data lama, penyisipan data baru, penghapusan data, pengubahan data, dll. Sedangkan DML sendiri menurut jenisnya dapat dibagi menjadi 2 jenis yaitu procedural dan non procedural.

Beberapa manfaat atau kegunaan dari DML diantaranya adalah sebagai berikut : 1. Pengambilan informasi yang disimpan dalam basis data

2. Penyisipan informasi baru ke basis data 3. Penghapusan informasi dari basis data

4. Modifikasi informasi yang disimpan dalam basis data

5. Query adalah perintah yang ditulis untuk mengambil informasi. Bagian dari DML yang menangani pengambilan informasi ini disebut bahasa query.

(11)

Selanjutnya kita akan membahasa tentang sintaks dan contoh dari penggunaan DML, yaitu :

1. Insert

Berfungsi Untuk memasukkan sejumlah data kedalam table yang telah dibuat. Syntax:

insert into table_name (column1, column2, …, column_n) values (value1, value2, …, value_n);

Contoh:

insert into pegawai (npk,nama) values (‘5106100032?, ‘Eko Susilo’);

2. Delete

Berfungsi untuk menghapus sejumlah data yang ada didalam table yang telah dibuat. Syntax:

delete table_name where column_name=column_content; Contoh:

delete mahasiswa where npk=’5106100032?;

3. Update

èBerfungsi untuk melakukan perubahan terhadap sejumlah data yang ada didalam table yang telah dibuat.Syntax:

update table_name

set column1_name=column1_content where column2_name=column2_content; Contoh:

(12)

update pegawai

set nama=’Eka Susila’, alamat=’U-144? where nrp=’5106100032?;

4. Select

Berfungsi untuk melakukan pengambilan sejumlah data yang ada di dalam table untuk ditampilkan ataupun dimanipulasi

Syntax:

Select column from table_name Contoh:

Select * from pegawai;

DDL

DDL atau Data Definiton Language adalah sebuah bahasa yang digunakan untuk mendefinisikan pendefinisian data. Terdiri dari perintah-perintah untuk membentuk, mengubah atau menghapus tabel beserta kolom-kolom dan type data penyusunnya, serta perintah-perintah untuk menetapkan hubungan dan batasan-batasan data. - CREATE TABLE

Digunakan untuk membuat tabel. Syntax umumnya sebagai berikut :

CREATE TABLE [schema, ] table

( column datatype [DEFAULT expr][,...]);

Contoh pembuatan sebuah tabel adalah :

CREATE TABLE dept (deptno NUMBER(2),

(13)

dname VARCHAR2(14), loc VARCHAR2(13));

- ALTER TABLE

Statemen ALTER TABLE digunakan untuk : ~ Menambahkan kolom baru

Untuk menambah kolom baru, syntax umumnya sebagai berikut :

ALTER TABLE table

ADD (column datatype [DEFAULT expr] [, column datatype]...);

Contoh penambahan kolom pada tabel dept yang dibuat di atas adalah :

ALTER TABLE dept

ADD (job_id VARCHAR2(9));

~ Memodifikasi kolom yang sudah ada

Kita dapat memodifikasi kolom dengan mengubah tipe datanya, ukuran dan nilai defaultnya.

Sintaks dari perintah ALTER TABLE untuk memodifikasi kolom sebagai berikut :

ALTER TABLE table

MODIFY (column datatype [DEFAULT expr] [, column datatype] ... );

Contoh :

(14)

MODIFY (dname VARCHAR2(30));

Table altered.

~ Menghapus kolom

Klausa DROP COLUMN digunakan untuk menghapus kolom yang tidak diperlukan lagi pada table. Sebagai contoh untuk menghapus kolom job_id pada pada tabel dept di atas.

ALTER TABLE dept DROP COLUMN job_id;

- DROP TABLE

Digunakan untuk melakukan penghapusan tabel. Melakukan penghapusan table dengan perintah DROP, berarti mengerjakan hal berikut :

Semua data dan struktur dari table akan dihapus Semua transaksi pending akan di-commit

Semua indeks akan dihapus

Perintah drop ini tidak bisa di-rollback

Sebagai contoh, jika kita ingin menghapus tabel dept, maka yang harus dilakukan adalah :

DROP TABLE dept;

- RENAME

Digunakan untuk merubaha nama dari suatu object (table,view,sequence atau synonim). Sebagai contoh, jika kita ingin menghapus tabel dept,maka perintah yang harus dilakukan adalah :

(15)

- CREATE VIEW

View adalah tabel bayangan. Tidak menyimpan data secara fisik. Biasanya berupa hasil query dari tabel-tabel dalam sebuah database. Syntax untuk melakuakn VIEW adalah :

CREATE VIEW <namaTabel> AS <SQLQuery>

Contoh : view MahasiswaPria yang diambil dari tabel Mahasiswa di mana field JenisKel = “L”. Syntax dari contoh tersebut adalah :

CREATE VIEW MahasiswaPria AS

SELECT * FROM Mahasiswa WHERE jeniskel=”L”

- CREATE TRIGGER

Trigger adalah sebuah obyek dalam database yang berupa prosedur yang merespon setiap kali terdapat proses modifikasi pada tabel. Proses modifikasi berupa: Insert, Update dan delete. Syntax pembuatan Trigger:

CREATE TRIGGER <namaTrigger> ON TABLE <namaTabel> FOR [DELETE] [,] [INSERT] [,] [UPDATE]

AS <perintahSQL>

Gambar

Tabel 4.1 : Tabel data_mahasiswa
Tabel 4.3 : Tabel kode_jurusan

Referensi

Dokumen terkait

1) Dengan bentuknya yang besar peserta didik dapat melihat dengan jelas setiap halaman yang terdapat dalam buku tersebut. book kegiatan pembelajaran akan lebih terfokus,

Skripsi yang berjudul „ Pengaruh Pemahaman Mahasiswa Asuransi Syariah Terhadap Pemasaran Produk di PT Asuransi Sun Life Financial Indonesia Syariah Cabang Medan‟

[r]

Berdasarkan penelitian yang dilakukan oleh Jefri (2014) yang meneliti tentang penerapan sistem informasi akuntasi berbasis komputer pada twotent car hire dengan menggunakan

Penelitian ini bertujuan untuk memberikan bukti empiris mengenai pengaruh penggunaan faktor produksi luas lahan, bibit, pupuk, fungisida, insetisida, dan tenaga

o Jumlah yang diseleksi berkurang dari jumlah orang yang dipanggil oleh HRD untuk mengikuti seleksi karena sewaktu di telephone oleh HRD banyak yang tidak mengangkatnya dan ada

Lobbying &amp; Negosiasi sering diartikan sebagai proses yang meli- batkan upaya seseorang untuk meng- ubah dan mencapai kesepakatan yang menyangkut kepentingan timbal balik

Kesimpulan  Pengklasifikasian kelas galangan nasional menggunakan standar IPERINDO (Ikatan Perusahaan Industri Galangan dan Sarana Lepas Pantai Indonesia), yang sudah