01konsep Dasar Dbms & Sql

  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View 01konsep Dasar Dbms & Sql as PDF for free.

More details

  • Words: 3,877
  • Pages: 37
TSI Perbankan

HOME

DAFTAR ISI

KONSEP DASAR DBMS dan SQL Obyektif : 1. Mengetahui konsep dasar database relasional 2. Mengenal istilah pada pemodelan logic 3. Mengetahui prinsip normalisasi 4. Mengenal model relasi rekursive 5. Mengetahui konsep DDL dan DML 6. Mengetahui pengontrolan sistem 7. Mengetahui cara membuat suatu design relasional database 8. Mengetahui cara merancang model ER diagram

AS/400 hal.B.1

TSI Perbankan

1.1 DATABASE RELASIONAL Pengenalan Database Relasional Database Relasional adalah suatu model database yang disajikan dalam bentuk tabel. Model ini diperkenalkan pertama kali oleh E.F. Codd. Tujuan dari model data relasional adalah •

Untuk menekankan kemandirian data.



Untuk mengatasi ketidak konsistenan dan duplikasi data dengan menggunakan konsep normalisasi



Untuk meningkatkan kemampuan akses data

Karakteristik Database Relasional •

Struktur Tabular



Satu Bahasa digunakan untuk semua pemakai



Data dihubungkan melalui nilai data

Kelebihan Database Relasional •

Tabular View



Seluruh hasil operasinya berupa tabel



Tidak terdapat pointer-pointer



Memiliki kemampuan operator yang baik



Fleksibel



Mudah digunakan

AS/400 hal.B.2

TSI Perbankan

Contoh Database Relasional

Attribute

BAGIAN NOBAG Relation

NABAG

KABAG

C01

PRODUKSI

P030

D01 B01

ADMINISTRASI PEMASARAN

P070 P020

Cardinality

Primary Key PEGAWAI

Foreign Key NOPEG 010 020 030 050 070 100

NAPEG ASTRIDITA EMILIA ARKADIA INDIRA DIANDRA NADIRA

NOBAG C01 B01 C01 B01 D01 D01

Tuple

Degree

NOPEG P010 P020

NAPEG ASTRIDITA EMILIA

BAGIAN C01 B01

Domain

AS/400 hal.B.3

TSI Perbankan

Terminologi

Formal Relational Term

Informal

Relation

Tabel

Tuple

Baris / record

Cardinality

Jumlah baris

Atrribute

Atribut / field

Degree

Jumlah atribut

Domain

Sekumpulan nilai data yang valid

Jenis-jenis Key Superkey Suatu atribut atau set dari atribut yang secara unik mengidentifikasikan tuple di dalam suatu relasi.

Candidate Key Suatu atribut /sekelompok atribut pada suatu relasi yang mempunyai dua sifat (property) : •

Unik, nilai dari atribut–atribut tersebut secara unik menentukan tuple-tuple di relasi tersebut



Minimality, Jika atribut–atribut tersebut adalah Key gabungan , tidak ada bagian dari kelompok atribut tersebut yang dapat dihilangkan

Primary Key Suatu candidate key yang dipilih sebagai penentu dari atribut-atribut lain. Candidate Key yang tidak terpilih disebut alternate key.

AS/400 hal.B.4

TSI Perbankan

Foreign Key Suatu atribut pada suatu relasi dikatakan suatu Foreign Key bila: •

Setiap nilai atribut foreign key tersebut adalah Non Null.



Terdapat suatu relasi lain yang mempunyai Primary Key yang mempunyai nilai yang sama dengan atribut foreign key tersebut.

Bahasa-bahasa pada basis data relasional Aljabar Relasional (Prosedural) 1. Bahasa Query Formal Kalkulus Relasional (Non Prosedural)

2. Bahasa Query Komersial

Quel QBE SQL

1.2 NORMALISASI Definisi Normalisasi adalah suatu teknik untuk mengorganisasi data ke dalam tabel-tabel untuk memenuhi kebutuhan pemakai di dalam suatu organisasi.

Tujuan dari normalisasi •

Untuk menghilangkan kerangkapan data



Untuk mengurangi kompleksitas



Untuk mempermudah pemodifikasian data

AS/400 hal.B.5

TSI Perbankan

Proses Normalisasi •

Data diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat.



Apabila tabel yang diuji belum memenuhi persyaratan tertentu, maka tabel tersebut perlu dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang optimal.

Tahapan Normalisasi

Bentuk Tidak Normal Menghilangkan perulangan group Bentuk Normal Pertama (1NF) Menghilangkan ketergantungan sebagian Bentuk Normal Kedua (2NF) Menghilangkan ketergantungan transitif Bentuk Normal Ketiga (3NF) Menghilangkan anomali-anomali hasil dari ketergantungan fungsional Bentuk Normal Boyce-Codd (BCNF) Menghilangkan Ketergantungan Multivalue Bentuk Normal Keempat (4NF) Menghilangkan anomali-anomali yang tersisa Bentuk Normal Kelima

AS/400 hal.B.6

TSI Perbankan

Ketergantungan Fungsional Definisi : Atribut Y pada relasi R dikatakan tergantung fungsional pada atribut X (R.X Æ R.Y), jika dan hanya jika setiap nilai X pada relasi R mempunyai tepat satu nilai Y pada R. Misal, terdapat skema database Pemasok-barang : Pemasok (No-pem, Na-pem) Tabel PEMASOK-BARANG No-pem

Na-pem

P01

Baharu

P02

Sinar

P03

Harapan

Ketergantungan fungsional dari tabel PEMASOK-BARANG adalah : No-pem Æ Na-pem

Ketergantungan Fungsional Penuh Definisi : Atribut Y pada relasi R dikatakan tergantung fungsional penuh pada atribut X pada relasi R, jika Y tidak tergantung pada subset dari X ( bila X adalah key gabungan) Contoh : KIRIM-BARANG( No-pem, Na-pem, No-bar, Jumlah)

AS/400 hal.B.7

TSI Perbankan

Tabel Kirim-Barang No-pem

Na-pem

No-bar

Jumlah

P01

Baharu

B01

1000

P01

Baharu

B02

1500

P01

Baharu

B03

2000

P02

Sinar

B03

1000

P03

Harapan

B02

2000

Ketergantungan fungsional : No-pem Æ Na-pem No-bar, No-pem Æ Jumlah

(Tergantung penuh terhadap key-nya)

Ketergantungan Transitif Definisi : Atribut Z pada relasi R dikatakan tergantung transitif pada atribut X , jika atribut Y tergantung pada atribut X pada relasi R dan atribut Z tergantung pada atribut Y pada relasi R.( X Æ Y, Y Æ Z , maka X Æ Z) Contoh : No-pem P01 P01 P01 P02 P03

Kode-kota 1 1 1 3 2

Kota Jakarta Jakarta Jakarta Bandung Surabaya

No-bar B01 B02 B03 B03 B02

Jumlah 1000 1500 2000 1000 2000

AS/400 hal.B.8

TSI Perbankan

Ketergantungan fungsional : No-pem

Kode-kota

Kode-kota

Kota , maka

No-pem

Kota

Bentuk Normal Kesatu (1NF) Suatu relasi dikatakan sudah memenuhi Bentuk Normal Kesatu bila setiap data bersifat atomik yaitu setiap irisan baris dan kolom hanya mempunyai satu nilai data Tabel KIRIM-1 (Unnormal) No-pem P01

Kode-kota 1

Kota Jakarta

No-bar

Jumlah

B01

1000

B02

1500

B03

2000

P02

3

Bandung

B03

1000

P03

2

Surabaya

B02

2000

Tabel KIRIM-2 (1NF) No-pem

Kode-kota

Kota

No-bar

Jumlah

P01

1

Jakarta

B01

1000

P01

1

Jakarta

B02

1500

P01

1

Jakarta

B03

2000

P02

3

Bandung

B03

1000

P03

2

Surabaya

B02

2000

AS/400 hal.B.9

TSI Perbankan

Tabel KIRIM-3 (3NF) No-pem

No-bar

Jumlah

P01

B01

1000

P01

B02

1500

P01

B03

2000

P02

B03

1000

P03

B02

2000

Tabel PEMASOK-2 (3NF) No-pem

Kode-kota

Tabel PEMASOK-3 (3NF) Kode-kota

Kota

P01

1

1

Jakarta

P02

3

2

Surabaya

P03

2

3

Bandung

Normalisasi pada database perkuliahan Asumsi : •

Seorang mahasiswa dapat mengambil beberapa mata kuliah



Satu mata kuliah dapat diambil oleh lebih dari satu mahasiswa



Satu mata kuliah hanya diajarkan oleh satu dosen



Satu dosen dapat mengajar beberapa mata kuliah



Seorang mahasiswa pada mata kuliah tertentu hanya mempunyai satu nilai

AS/400 hal.B.11

TSI Perbankan

Tabel MAHASISWA-1 ( Unnormal ) No-

Nama-

Mhs

Mhs

2683

Welli

5432

Bakri

Jurusan

Kode-

Nama-MK

Kode-Dosen Nama-

MK MI Ak.

Nilai

Dosen

MI350

Manajamen DB

B104

Ati

A

MI465

Analsis Prc. Sistem

B317

Dita

B

MI350

Manajemen DB

B104

Ati

C

AKN201

Akuntansi Keuangan

D310

Lia

B

MKT300

Dasar Pemasaran

B212

Lola

A

Tabel MAHASISWA-2 ( 1NF ) NoMhs

Nama-

2683

Welli

2683

Jurusan

KodeMK

Nama-MK

MI

MI350

Manajamen DB

B104

Ati

A

Welli

MI

MI465

Analsis Prc. Sistem

B317

Dita

B

5432

Bakri

Ak.

MI350

Manajemen DB

B104

Ati

C

5432

Bakri

Ak.

AKN201

Akuntansi Keuangan

D310

Lia

B

5432

Bakri

Ak.

MKT300

Dasar Pemasaran

B212

Lola

A

Mhs

Kode-Dosen

NamaDosen

Diagram Ketergantungan Fungsional Nama_Mhs No Jurusan

Jurusan

Nilai Nama-MK Kode-MK

Nilai

Kode-Dosen Nama-Dosen

AS/400 hal.B.12

TSI Perbankan

Tabel KULIAH (2NF) Kode-MK Nama-MK

Kode-Dosen

Nama-Dosen

MI350

Manajamen DB

B104

Ati

MI465

Analsis Prc. Sistem

B317

Dita

AKN201

Akuntansi Keuangan

D310

Lia

MKT300

Dasar Pemasaran

B212

Lola

Tabel MAHASISWA-3 (3NF) Jurusan No-Mhs Nama-Mhs 2683

Welli

MI

5432

Bakri

Ak.

Tabel NILAI (3NF) No-Mhs Kode MK

Nilai

2683

MI350

A

2683

MI465

B

5432

MI350

C

5432

AKN201

B

5432

MKT300

A

Tabel MATAKULIAH (3NF) Kode-MK

Nama-MK

Kode-Dosen

MI350

Manajamen DB

B104

MI465

Analsis Prc. Sistem

B317

AKN201

Akuntansi Keuangan

D310

MKT300

DasarPemasaran

B212

AS/400 hal.B.13

TSI Perbankan

Tabel DOSEN (3NF) Kode- Dosen

Nama-Dosen

B104

Ati

B317

Dita

B310

Lia

B212

Lola

1.3 STRUCTURED QUERY LANGUAGE (SQL) SQL/400 terdiri dari tiga bagian : 1. SQL parser dan run-time support Bagian ini digunakan untuk menguraikan perintah-perintah SQL dan memberikan dukungan terhadap jalannya perintah-perintah SQL. SQL/400 menyediakan interface dengan fungsi-fungsi sistem yang ada untuk menggunakan perintah-perintah SQL. Dukungan tersebut merupakan bagian dari Operating System/400

AS/400 hal.B.14

TSI Perbankan

Jenis perintah-perintah SQL Ada dua jenis perintah SQL, yaitu perintah pendefinisian data (Data Definition Languange

(DDL))

dan

Data

Manipulation

Language

(DML).

Perintah

pendefinisian data hanya dapat dioperasikan pada objek yang dibuat pada database SQL. Perintah manipulasi data dapat beroperasi pada objek yang dibuat SQL atau physical file dan logical file. Berikut ini termasuk perintah pendefinisian data (DDL) COMMENTS ON

DROP

CREATE DATABASE

GRANT

CREATE INDEX

LABEL ON

CREATE TABLE

REVOKE

CREATE VIEW Berikut ini termasuk perintah manipulasi data (DML) CLOSE

LOCK TABLE

COMMIT

OPEN

DECLARE CURSOR

ROLLBACK

DELETE

SELECT

FETCH

UPDATE

INSERT Membentuk sebuah Database SQL SQL/400 database adalah objek dasar dimana tabel-tabel, view dan index akan ditempatkan. Otoritas untuk perintah CRTLIB dan CRTDTADCT CL diperlukan untuk menjalankan perintah CREATE DATABASE. Bentuk Umum : CREATE DATABASE database-name Contoh : CREATE DATABASE user01dbs

AS/400 hal.B.15

TSI Perbankan

Setelah berhasil membentuk sebuah database maka tabel-tabel, view dan index dapat diletakkan. Membentuk dan Menggunakan Tabel Perintah yang digunakan untuk membentuk tabel dan mendefinisikan atributatribut fisik dari kolom adalah CREATE TABLE. Bentuk Umum : CREATE TABLE table-name (column-name1 data-type1 null, column-name2 data-type2 null, … column-namen data-typen null) Parameter pertama yang digunakan pada perintah tersebut adalah nama kolom, kemudian tipe data untuk kolom tersebut dan parameter terakhir menunjukkan apabila kolom dapat berisi nilai null. Ada dua pilihan untuk nilai null yaitu NOT NULL atau NOT NULL WITH DEFAULT. * Tabel harus dibentuk di dalam database SQL, tidak dapat dibentuk di dalam LIBRARY Perintah LABEL ON Perintah ini digunakan untuk memberikan judul tabel dan kolom. Bentuk Umum : LABEL ON TABLE database-name.table-name IS 'string' LABEL ON COLUMN database-name.table-name.column-name IS 'string'

Perintah INSERT Perintah untuk menambah baris baru dalam tabel atau view dengan menggunakan salah satu cara di bawah ini •

Menentukan nilai data untuk kolom dalam perintah INSERT sebuah baris



Memasukkan perintah SELECT dalam INSERT untuk menyatakan data baru yang akan ditambahkan.

AS/400 hal.B.16

TSI Perbankan

Bentuk umum : INSERT INTO table-name [(column-name-1 [, column-name-2] …)] VALUES (value-1 [, value-2] …)

Perintah UPDATE Perintah yang digunakan untuk merubah data dalam tabel. Bentuk umum : UPDATE table-name SET column-name-1 = value-expression [, column-name-2 = value-expression] … WHERE search-condition

Perintah DELETE Digunakan menghapus baris dari tabel Bentuk umum : DELETE FROM table-name WHERE search-condition Perintah SELECT Perintah ini digunakan untuk menampilkan data yang sudah tersimpan dalam tabel. Ada tiga bagian utama pada perintah ini, yaitu : 1. Klausa SELECT, yang menunjukkan kolom-kolom yang dipilih untuk data yang diinginkan. 2. Klausa FROM, yang menunjukkan tabel yang dipilih untuk data yang diinginkan. 3. Klausa WHERE, sebagai suatu filter/penyaring untuk menunjukkan data yang diinginkan.

AS/400 hal.B.17

TSI Perbankan

Bentuk umum : SELECT column-names FROM table-name or view-name WHERE search-condition GROUP BY column-names HAVING search-condition Keterangan : Column-names, menyebutkan nama-nama kolom yang akan dipilih datanya. Table_name atau view_name, menyebutkan nama table atau nama view sesuai dengan nama kolom yang disebutkan. Search-condition, berupa suatu kondisi pencarian untuk data yang akan ditampilkan. Membentuk dan Menggunakan View Perintah ini dapat digunakan apabila diinginkan untuk mengambil informasi dari beberapa tabel, tapi mempunyai keterbatasan untuk mengakses jenis-jenis data tertentu, seperti misalnya data gaji. Membentuk sebuah view dapat dilakukan dengan cara yang sama seperti membentuk tabel. Otoritas SELECT pada tabel harus dipunyai agar dapat membentuk view. Bentuk Umum : CREATE VIEW view-name AS SELECT statement *

Sebuah view hanya dapat dibentuk pada tabel atau file yang terdapat pada database SQL, bukan pada LIBRARY.

*

Pada view tidak dapat dilakukan perubahan, pemasukan atau menghapus data, jika : -

klausa FROM menggunakan lebih dari satu tabel (join)

-

klausa FROM menunjukkan read-only view

-

Menggunakan fungsi-fungsi SUM,MAX,MIN, AVG atau COUNT AS/400 hal.B.18

TSI Perbankan

-

Menggunakan perintah DISTINCT

-

Menggunakan perintah GROUP BY atau HAVING

Perintah DROP Perintah ini digunakan untuk menghapus sebuah objek. Objek-objek yang secara langsung atau tidak langsung tergantung pada objek tersebut akan terhapus pula. Perintah ini dapat dilakukan melalui aplikasi program atau secara interaktif. Untuk dapat melakukan penghapusan tabel, view atau index hak akses dikendalikan oleh identitas otoritas Bekerja dengan Index Sebuah index digunakan oleh sistem untuk proses pengambilan data agar lebih cepat. Bentuk Umum : CREATE INDEX index_name ON database_name.table_name(column_name) *

Sebuah index hanya dapat dibentuk pada tabel dan file yang terdapat didatabase SQL.

Perintah COMMENT ON Perintah ini digunakan untuk memberikan komentar terhadap sebuah kolom. Komentar ini berguna apabila nama dari kolom tidak mengidentifikasi secara jelas isi dari kolom atau tabel tersebut. Bentuk Umum : COMMENT ON TABLE database-name.column-name IS ‘string’ Komentar ini akan disimpan pada REMARKS yang terletak di SYSCOLUMS dan SYSTABLES.

AS/400 hal.B.19

TSI Perbankan

Perintah GRANT Perintah untuk memberikan hak akses tabel dan view kepada user. Perintah ini dapat diletakkan pada sebuah program aplikasi atau secara interaktif.

Autorisasi Hak akses dikendalikan authorization ID •

Menentukan setiap hak akses dan hubungan dari objek



Menentukan setiap hak akses dan autorisasi *OBJMGT dan *OBJOPR pada tabel atau view

Untuk menentukan hak akses, kita harus •

Menjadi pemilik objek



Mempunyai hak

Bentuk umum : GRANT

ALL ALL PRIVILEGES , DELETE INDEX INSERT SELECT UPDATE

, TO

auth-id PUBLIC

, ON

table-name TABLE

view-name

AS/400 hal.B.20

TSI Perbankan

Keterangan ALL atau ALL PRIVILEGES Memberikan semua hak akses yang dimiliki untuk semua tabel atau view yang ada pada klausa ON. Memberikan hak dengan ALL PRIVILEGES pada tabel atau view tidak sama dengan pemberian hak dari sistem dengan autoritas *ALL. Jika tidak menggunakan ALL maka dapat digunakan satu atau beberapa keyword di bawah ini : DELETE

menggunakan peritantah DELETE

INDEX

Menggunakan perintah CREATE INDEX. View mungkin belum ditentukan pada saat memberikan hak akses INDEX .

INSERT

Menggunakan perintah INSERT

SELECT

Menggunakan perintah SELECT

UPDATE

Menggunakan perintah UPDATE

ON atau ON TABLE Table-name dan view-name adalah tabel atau view yang diberikan hak akses. TO Menentukan kepada siapa hak akses diberikan Auth-id Menyebutkan satu atau lebih identitas otorisasi (nama user). Tidak diijinkan menggunakan lebih dari satu nama user yang sama. PUBLIC Memberikan hak akses ke PUBLIC

AS/400 hal.B.21

TSI Perbankan

Hak Akses SQL

Hubungan Dengan Sistem AS/400 Ketika Memberikan Hak Pada Table

ALL

(hanya *OBJMGT

memberikan hak akses *OBJOPR yang dimiliki)

*ADD *DLT *READ *UPD

DELETE

*OBJOPR *DELETE

INDEX

*OBJMGT

INSERT

*OBJOPR *ADD

SELECT

*OBJOPR *READ

UPDATE

*OBJOPR *UPD

Hak Akses SQL

ALL

Hubungan Dengan

Hubungan Dengan

Sistem AS/400

Sistem AS/400

Ketika Memberikan Hak

Ketika Memberikan Hak

Pada View

Pada Table

(hanya *OBJOPR

*ADD

memberikan hak akses

*DLT

yang dimiliki)

*READ *UPD

DELETE

*OBJOPR

*DLT

INDEX

N/A

N/A

INSERT

*OBJOPR

*ADD

SELECT

*OBJOPR

*READ

UPDATE

*OBJOPR

*UPD

AS/400 hal.B.22

TSI Perbankan

Apabila view-nya read-only maka hanya hak SELECT yang dapat diberikan. Apabila INSERT tidak diperbolehkan pada view maka hak INSERT tidak dapat diberikan. Contoh : GRANT SELECT ON CORPDATA.EMP PULASKI

Perintah REVOKE Perintah revoke akan mencabut hak akses pada tabel dan view dari user. Perintah ini dapat dilakukan melalui aplikasi program atau secara interaktif. Hak akses dari perintah ini termasuk ke dalam otoritas *OBJMGT dikendalikan oleh otoritas yang dimiliki seorang user. Bentuk Umum : ALL REVOKE

ALL PRIVILEGES , DELETE INDEX INSERT SELECT UPDATE

,

auth-id

FROM

PUBLIC

, ON

table-name TABLE

view-name AS/400 hal.B.23

TSI Perbankan

Keterangan : ALL atau ALL PRIVILEGES Mencabut seluruh hak akses tabel untuk tabel dan view yang diinginkan. Jika tidak menggunakan ALL, harus disebutkan satu atau lebih kata kunci berikut ini. Setiap kata kunci mencabut hak akses yang diinginkan, tetapi hanya untuk nama tabel dan view pada klausa ON. DELETE

menggunakan peritantah DELETE

INDEX

menggunakan perintah CREATE INDEX. View mungkin belum ditentukan pada saat memberikan hak akses INDEX .

INSERT

Menggunakan perintah INSERT

SELECT

Menggunakan perintah SELECT

UPDATE

Menggunakan perintah UPDATE

ON atau ON TABLE Satu atau lebih nama tabel atau view yang akan dicabut hak aksesnya. Penyebutan namanya dapat terdiri dari nama tabel, nama view atau gabungan keduanya. FROM Menyebutkan dari siapa(nama user) hak akses tersebut akan dicabut Auth-id Menyebutkan satu atau lebih identitas otorisasi (nama user). Tidak dijinkan menggunakan lebih dari satu nama user yang sama. PUBLIC Mencabut hak akses dari PUBLIC Contoh : Mencabut hak akses SELECT pada tabel COPRPDATA dari USER01 REVOKE SELECT ON TABLE CORPDATA FROM USER01

AS/400 hal.B.24

TSI Perbankan

1.4 PENGONTROLAN DATABASE Pengontrolan di Lingkungan Sistem Database Untuk menghindari resiko-resiko di atas tentunya diperlukan pengontrolan security terhadap sistem database serta lingkungan sistem secara keseluruhan di dalam organisasi. Pengontrolan di lingkungan sistem database meliputi : Struktur

Pengontrolan,

Administrasi

database,

Jenis

pemrosesan,

dan

pengontrolan akses database. Struktur Pengontrolan Konsep dari penggunaan data secara bersamaan oleh beberapa pemakai merupakan hal yang sangat penting di dalam DBMS. Di dalam sistem database, program aplikasi tidak dapat mengakses data dan melasksanakan fungsi-fungsi manajemen data secara langsung, tetapi harus melalui DBMS.

Mekanisme

akses yang perlu di kontrol adalah Data Independence, Data Sharing dan Data Manipulation. Penetapan siapa yang menjalankan fungsi-fungsi manipulasi data seperti penambahan, perubahan serta penghapusan merupakan hal-hal yang perlu diperhatikan oleh para Auditor. Administrator Database Pada saat penetapan DBMS, Organisasi harus mengontrol koordinasi antara aplikasi-aplikasi yang digunakan dengan bagian-bagian yang terkait yang menggunakan database secara bersama. Fungsi-fungsi ini biasanya dilaksanakan oleh Administrator Database (DBA) dan Adminstator security data. DBA merupakan merupakan faktor yang penting di dalam review para Auditor dan pengevaluasi pengontrolan. Melalui diskusi dengan DBA, Auditor dapat mengetahui tentang database yang digunakan dan pengontrolan apa saja di laksanakan.

AS/400 hal.B.25

TSI Perbankan

Untuk mempermudah pemahaman para auditor terhadap sistem database yang tersedia serta pemrosesannya diperlukan alat-alat bantu seperti diagramdiagram untuk menggambarkan alur data dan pemodelan data. Dengan menggunakan alat-alat tersebut, para auditor dapat dengan mudah melihat pendefinisian data, keterhubungan antar data dan keterhubungan data dengan program aplikasi. Pemrosesan Batch atau On-line Di dalam Sistem database biasanya terdapat pemrosesan aplikasi secara lansung (on-line) atau pemrosesan aplikasi secara tidak langsung (batch). Pemrosesan batch merupakan pemrosesan transaksi pada saat interval tertentu atau seterlah sejumlah transaksi di akumulasi.

Sistem database biasanya

dilengkapi dengan fasilitas menjalankan aplikasi batch. Aplikasi secara on-line biasanya berhubungan dengan retrieve database secara langsung. Peng-updatean dan pemeliharaan biasanya ditangani oleh aplikasi batch pelaksanaannya dilakukan setelah transaksi-transaksi tersebut diakumulasi melalui entri data secara on-line. Peng-updatean secara on-line biasanya digunakan untuk sistem-sistem seperti sistem Airline atau sistem penyetujuan kredit.

Pengontrolan Akses Database Karena DBMS menyediakan penyimpanan data terintegrasi, maka diperlukan penetapan kontrol terhadap pemakai yang mengakses data. Para Auditor perlu memperhatikan pengontrolan data di dalam sistem database yang terdiri dari : •

Pengontrolan akses



Perincian akses



Pemisahan pengujian dan produksi

Pengontrolan Akses

AS/400 hal.B.26

TSI Perbankan

Pengontrolan akses pada lingkungan database on-line dapat dibagi menjadi tiga level : •

Sign on Identifikasi dan pengecekkan pemakai pada saat log on.



Pemroteksian Transaksi Penggunaan security untuk membatasi transaksi terhadap fungsi pekerjaan.



Pemroteksian perintah Pada saat perintah didefinisikan untuk meminta password, sistem seharus nya tidak mengijinkan pemakai untuk melaksanakan transaksi apabila password tidak dispesifikasikan.

Perincian dari Akses Pemakai dan program-program yang terotorisasi seharusnya dapat mengakses hanya entity-entity yang diperlukan untuk melaksanakan fungsi pekerjaan dan pemrosesan tugas-tugas. Database dirancang untuk membantu dalam menyediakan pengontrolan yang sesuai pada akses elemen data, tabel-tabel, dan kapabilitas. Perancangan struktur database dan penerjemahan permintaan pemakai merupakan tugas yang cukup berat. Oleh karena itu Auditor perlu memperhatikan database yang mempunyai pengontrolan akses yang tidak sesuai. Misalkan menggunakan perintah GRANT. Pemisahan pengujian dan produksi Pengontrolan akses data selama produksi normal merupakan hal yang utama, tetapi pengontrolan pada saat pengujian program aplikasi dan sistem sama pentingnya. Pengujian harus diselesaikan dengan menggunakan test database untuk menjamin bahwa produksi data tidak berubah dan data yang sensitif tidak mudah dilihat. Oleh karena itu Auditor seharusnya menentukan pengujian database yang digunakan selama pengembangan.

AS/400 hal.B.27

TSI Perbankan

1.5 PERANCANG4N MO0.0023 T.deeATa4RELAS gs0.0e Tm0 Tf18 0 9 0 7 s a4GS1 gs

AS/400 hal.B.28

TSI Perbankan

Proses perancangan Database

Fase 1

Pengumpulan & Analisis Permintaan

Fase 2

Perancangan Konseptual

Fase 3

Pemilihan DBMS

Fase 4

Perancangan Logika

Fase 5

Perancangan Fisik

Fase 6

Implementasi

Tujuan Perancangan Database adalah : •

Menyajikan data dan hubungan antar data yang diperlukan oleh pemakai dan aplikasi



Mempermudah pemahaman informasi



Melengkapi model data yang mendukung transaksi-transaksi yang diperlukan



Mendukung proses permintaan



Meningkatkan performance

AS/400 hal.B.29

TSI Perbankan

Proses Perancangan Database Logika Model Data Konseptual

Transformasi

Normalisasi

Penggabungan Relasi

Model Data Logika

Perancangan Proses vs Perancangan Database

PROCESS-DRIVEN

DATA-DRIVEN

Analisis Permintaan

Analisis Permintaan

Perancangan Proses

Perancangan Database

Perancangan Database

Perancangan Proses

Implementasi

Implementasi

AS/400 hal.B.30

TSI Perbankan

Pemodelan data dengan menggunakan ER-Diagram Simbol-simbol ER-Diagram Notasi

Arti

1.

1. Entity

2.

2. Weak Entity

3.

3. Relationship

4.

4. Identifying Relationship

5.

5. Atribut

6.

6. Atribut Primary Key

7.

7. Atribut Multivalue

8.

8. Atribut Composite

9.

9. Atribut Derivatif

AS/400 hal.B.31

TSI Perbankan

Contoh Penggambaran Diagram ER KDPOS

ALM1 NOPEG

NAPEG

N

TGLLAH UMUR

NOBAG

ALAMAT

PEGAWAI

BAGIAN

1

1

N

LOKASI

1

ANGGOTA

PIMPIN

1

NABAG

1

M JAM

KONTROL KERJA

PUNYA

N

1

PROYEK

PUNYA

LOKAPR

NOPRO

N

NAPRO

TANGGUNGAN

NAMA

JNKELT

HUBUNGAN

AS/400 hal.B.32

TSI Perbankan

Transformasi dari ERD ke Database Relasional 1. Setiap tipe Entity dibuat suatu relasi yang memuat semua atribut simple, sedangkan untuk atribut composite hanya dimuat komponen-komponennya saja. NOPEG

PEGAWAI

ALM1

KDPOS ALAMAT

PEGAWAI (NOPEG, ALM1, KDPOS, …….) 2. Setiap relasi yang mempunyai atribut multivalue, buatlah relasi baru dimana Primary Keynya merupakan gabungan dari Primary Key dari relasi tersebut dengan atribut multivalue.

....

NOPRO

LOKASI

PROYEK LOKPR(NOPRO, LOKASI) 3. Setiap Unary Relationship 1:N, pada relasi perlu ditambahkan suatu foreign key yang menunjuk ke nilai primary keynya. NOPEG

……. 1

PEGAWAI

KONTROL

N PEGAWAI (NOPEG, ….., SUPERVISOR-ID)

AS/400 hal.B.33

TSI Perbankan

4. Setiap Unary Relationship M:N, buatlah relasi baru dimana primary keynya merupakan gabungan dari dua atribut dimana keduanya menunjuk ke primary key relasi awal dengan penamaan yang berbeda. NOBAR

……. M

BARANG

TERDIRI

JUMLAH

N KOMBAR (NOBAR, NOKOMP , JUMLAH) 5. Setiap Binary Relationship 1:1, dimana Participation Constraint keduanya total, buatlah suatu relasi gabungan dimana Primary Keynya dapat dipilih salah satu. NOPRO

NOPEG

PEGAWAI 1

KERJA

1

PROYEK

PEGAWAI (NOPEG, ... , NOPRO, ...). 6. Setiap Binary Relationship 1:1 dan salah satu Participation Constraintnya Total, maka Primary Key pada relasi yang Participation Constraintnya Partial menjadi Foreign Key pada relasi yang lainnya. NOBAG

NOPE G

1

PEGAWAI

PIMPIN

1

BAGIAN

BAGIAN (NOBAG, ... , MANAGER)

AS/400 hal.B.34

TSI Perbankan

7. Setiap Binary Relationship 1:1, dimana kedua Participation Constraintnya partial, maka selain kedua relasi perlu dibuat relasi baru yang berisi Primary Key gabungan dari Primary Key kedua tipe Entity yang berelasi. NOPRO

NOPEG

1

1

KERJA

PEGAWAI

PROYEK

PEKERJAAN ( NOPEG, NOPRO, …) 8. Setiap Binary Relationship 1 : N, dimana tipe Entity yang bersisi N mempunyai Participation Constraint Total, maka Primary Key pada relasi yang bersisi 1 dijadikan Foreign Key pada relasi yang bersisi N. NOBAG

NOPRO

……….

1

BAGIAN

N

PUNYA

PROYEK

PROYEK (NOPRO, ... , NOBAG) 9. Setiap Binary Relationship 1 : N, dimana tipe Entity yang bersisi N mempunyai Participation Constraint partial, buatlah relasi baru dimana Primary Keynya merupakan gabungan dari Primary Key kedua tipe Entity yang berelasi. NOPEG

PEGAWAI

NOPRO

………

N

KERJA

1

PROYEK

PEKERJAAN (NOPEG, NOPRO, ……)

AS/400 hal.B.35

TSI Perbankan

10. Setiap Binary Relationship M:N, buatlah relasi baru dimana Primary Keynya merupakan gabungan dari Primary Key kedua tipe Entity yang berelasi. NOPEG

PEGAWAI

NOPRO

…… ..

M

KERJA

N PROYEK

PEKERJAAN (NOPEG, NOPRO, …..) 11. Setiap Ternary Relationship, buatlah relasi baru dimana Primary Keynya merupakan gabungan dari Primary Key ketiga tipe Entity yang berelasi.

NOPRO

NOPEG

KERJA

PEGAWAI

PROYEK

KOTA

NOKOT

PEKERJAAN ( NOPEG, NOPRO , NOKOT) 12. Setiap tipe Weak Entity, dibuat suatu relasi yang memuat semua atributnya dimana Primary Keynya adalah gabungan dari Partial Key dan Primary Key dari relasi induknya (identifying owner).

AS/400 hal.B.36

TSI Perbankan

NOPEG

NAMA

………

1 PEGAWAI

…….

N PUNYA

TANGGUNGAN

TANGGUNGAN (NOPEG, NAMA, ….) Hasil Transformasi dari Diagram ER ke database relasional : Skema Database PEGAWAI

(NOPEG, NAPEG, ALM1, KDPOS,TGLLAH, UMUR, SUPERVISOR-ID, NOBAG)

BAGIAN

(NOBAG, NABAG, LOKASI, MANAGER)

PROYEK

(NOPRO, NAPRO, NOBAG)

LOKPR

(NOPRO, LOKAPR)

PEKERJAAN

(NOPEG, NOPRO, JAM)

TANGGUNGAN (NOPEG, NAMA, JNKELT, HUBUNGAN)

AS/400 hal.B.37

Related Documents