• Tidak ada hasil yang ditemukan

BAB I PEMODELAN SISTEM

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB I PEMODELAN SISTEM"

Copied!
331
0
0

Teks penuh

(1)

1.1. Model Sistem

Salah satu cara untuk menstrukturkan permasalahan-permasalahan adalah dengan menggambarkanya dalam bentuk model-model.

Sebuah model merepresentasikan realitas.

Sebagaimana pepatah mengatakan, bahwa sebuah gambar yang dapat menggantikan ribuan kata, maka sebagian besar model ditunjukkan dengan menggunakan gambar.

Model dapat dibuat untuk sistem yang sedang berjalan atau sistem baru yang diusulkan sebagai sebuah cara untuk menunjukkan kebutuhan-kebutuhan dokumen bisnis atau perancangan-perancangan teknik.

Model dapat dibedakan menjadi 2, yaitu: 1. Model logikal

2. Model fisikal

Model logikal digunakan untuk menunjukkan tentang “apa” sistem yang dimodelkan.

Model logikal sinonim dengan model konseptual (conceptual model) atau model bisnis (business model).

Model logikal diimplementasikan secara “independen” terhadap implementasi teknik.

Model fisikal digunakan untuk menunjukkan tentang “apa” dan “bagaimana” sistem yang dimodelkan.

Model fisikal sinonim dengan model implementasi (implementation model) atau model teknik (technical model).

Model fisikal diimplementasikan secara “dependen” karena merefleksikan pilihan teknologi dan batasan-batasan pada teknologi yang dipilih.

Systems analyst menggunakan model logikal untuk menunjukkan kebutuhan bisnis (business requirements).

Sedangkan model fisikal digunakan untuk menunjukkan perancangan teknik (technicall design).

Aktivitas-aktivitas dalam analisis sistem (aystems analysis) lebih difokuskan pada model logikal karena alasan berikut (Whitten dan Bentley, 1998):

(2)

2. Model logikal dapat mengurangi resiko kesalahan kebutuhan bisnis (business requirement) karena umumnya kita awam terhadap hal-hal yang bersifat terlalu teknis.

3. Model logikal mengijinkan untuk mengkomunikasikan model logikal kepada para pemakai akhir (end-user) dalam bahasa non-teknik.

1.2. Model Proses

Model Proses merupakan sebuah teknik untuk mengorganisasikan dan

mendokumentasikan struktur dan aliran data melewati sebuah “proses” dalam sistem dan/atau logika, kebijakan, dan prosedur-prosedur yang akan

diimplementasikan dengan “proses” dalam sistem.

Model Proses didasarkan pada metode-metode dalam rekayasa perangkat lunak klasik.

Secara konsep, sebuah sistem adalah sebuah proses. Model sistem yang paling sederhana adalah terdiri atas:

1. Input 2. Output

3. Sistem itu sendiri yang ditunjukkan sebagai sebuah proses.

Simbol proses mendefinisikan batas pada sistem.

Sebuah sistem adalah berada di dalam batas sistem, sedangkan lingkungan adalah yang berada di luar batas sistem.

Sistem melakukan pertukaran Input dan Output dengan lingkungannya. Sebuah proses adalah sinonim dengan transformasi (transform) yaitu akan bekerja;

1. Jika diberikan aliran data masuk atau kondisi

2. Untuk memberikan respon kepada aliran data yang masuk atau kondisi. Simbol proses adalah:

1. Rounded rectangle (Gane and Sarson) 2. Circle (Demarco/Yourdon)

3. Rectangle (SSADM/IDEF0)

Diagram Arus Data/DAD (Data Flow Diagram/DFD)

Model proses digambarkan dengan Diagram Arus Data/DAD (Data Flow Diagram/DFD).

DFD menggambarkan secara rinci urut-urutan langkah dari masing-masing proses yang digambarkan dalam diagram arus data.

(3)

flowchart hanya dapat dieksekusi satu per satu pada satu saat tertentu. 2. DFD menunjukkan aliran data melewati sistem. Tanda anak panah

merepresentasikan jalur aliran data, looping dan branching tidak ditunjukkan.

3. Flowchart menunjukkan urutan proses atau operasi dalam sebuah algoritma atau program. Tanda anak panah menujukkan penghubung ke proses

selanjutnya, dan mengijinkan adanya looping and branching.

4. DFD dapat menunjukkan proses-proses yang memiliki perbedaan waktu yang “dramatis”, sedangkan flowchart tidak.

DFD hanya memiliki 3 simbol dan 1 koneksi (simbol yang digunakan dapat berbeda-beda, tergantung acuan yang digunakan):

1. Process

2. External entity 3. Data storage 4. Data flow

Penggambaran DFD dengan metode SSADM/IDEF0 (Whitten dan Bentley, 1998):

1. External entity,

merupakan kesatuan2 di lingkungan luar sistem yang akan mempengaruhi sistem, dengan memberikan input atau menerima output dari sistem. External entity dapat berupa:

o orang atau sekelompok orang dalam organisasi tetapi di luar sistem yang sedang dikembangkan

o organisasi atau orang yang berada di luar organisasi

o kantor atau divisi dalam perusahaan tetapi di luar sistem yang sedang dikembangkan

o sistem informasi lain di luar sistem yang sedang dikembangkan o sumber asli dari suatu transaksi

o penerima akhir dari suatu laporan yang dihasilkan oleh sistem. Simbol:

Nama external entity

2. Repeated external entity,

untuk menghindari keruwetan dalam diagram, karena banyaknya garis penghubung antara external entity, proses, maupun data store yang saling berpotongan, maka external entity dapat digambarkan >1 kali untuk satu nama, yang disebut repeated external entity.

(4)

Data flow yang meninggalkan external entity selalu menuju ke proses. Data flow dapat berupa:

o masukan untuk sistem atau hasil dari proses sistem dan dapat berbentuk formulir atau dokumen yang digunakan sistem

o laporan tercetak yang dihasilkan sistem o masukan untuk komputer

o output ke layar monitor

o data yang dibaca dari suatu file atau yang direkam ke suatu file o komunikasi ucapan

o surat atau memo

o suatu isian yang dicatat pada buku agenda

Arus data diberi nama yang jelas dan bermakna (meaningfull) yang dapat mewakili data yang mengalir.

Simbol:

Nama data flow

4. Process,

Adalah kegiatan yang dilakukan oleh orang, mesin, atau komputer dari hasil suatu arus data yang masuk ke proses dan akan dihasilkan arus data yang keluar dari proses.

Simbol:

Nomor Proses Nama proses

5. Data storage,

Merupakan simpanan dari data yang dapat berupa: o File atau database di sistem komputer o Arsip atau catatan manual

o Kotak tempat data di meja seseorang o Tabel acuan buku

o Suatu agenda atau buku. Simbol:

Mahasiswa D1

Pengambaran data storage perlu memperhatikan hal-hal berikut:

o Data storage hanya berhubungan dengan proses, karena yang menggunakan atau merubah data di data storage adalah suatu proses

o Arus data dari proses menuju ke data storage menunjukkan proses update data dalam data storage.

(5)

o merubah record atau dokumen dalam data storage

o Arus data dari data storage menuju ke proses dapat diartikan sebagai proses menggunakan data dalam data storage untuk dilihat isinya

o Suatu proses dapat melakukan keduanya, yaitu menggunakan dan meng-update data dalam data storage.

6. Repeated Data Storage,

Untuk menghindari keruwetan diagram, karena banyaknya garis penghubung antar data storage, external entity, process, maupun data storage yang saling berpotongan, maka data storage dapat digambarkan lebih dari satu buah untuk satu nama yang disebut repeated data storage. Simbol:

Nama data storege D1

Nama data storege D1

Pedoman Menggambar DFD (Whitten dan Bentley, 1998):

1. Identifikasikan semua external entity sistem yang terlibat;

2. Identisikasikan semua input dan output yang terlibat dengan external entity; 3. Gambarlah terlebih dahulu suatu diagram konteks atau diagram induk untuk

garis besar, kemudian dipecah untuk level-level berikutnya;

4. Gambarlah bagan berjenjang (hirarchy chart) untuk semua proses yang ada di sistem untuk mempersiapkan penggambaran DFD level berikutnya;

5. Gambarlah sketsa DFD untuk overview diagram (level 0) berdasarkan proses bagan berjenjang;

6. Gambarlah DFD untuk level-level berikutnya, yaitu level 1, kemudian dipecah dalam level 2, dan seterusnya;

7. Setelah semua level DFD digambarkan, selanjutnya adalah menggambar DFD untuk pelaporan manajemen yang digambarkan secara terpisah;

8. Semua level DFD yang telah digambar termasuk DFD untuk pelaporan manajemen digabung dalam satu diagram.

PENTING !!!

o Arus data adalah arus yang mengalir menuju proses atau arus yang mengalir dari proses atau arus yang mengalir dari proses menuju proses lain, sehingga jika arus data tidak seperti ketentuan tersebut maka dapat dipastikan bahwa DFD tersebut salah.

o Kesalahan yang sering terjadi:

o Proses mempunyai input tetapi tidak menghasilkan output, disebut blackhole

o Proses menghasilkan output tetapi tidak pernah menerima input, disebut miracle

1.2. Studi Kasus Pemodelan Sistem Dgn DFD

Setup data

Kriteria informasi Kriteria informasi

Rancangan struktur tabel database

Informasi hasil analisis

Penilaian Informasi hasil analisis

0 Analisis fleksibilitas rancangan struktur tabel database Pakar User

(6)

Record User Record data Record data atribut

Setup data user, pendidikan, tingkat fleksibilitas

Record

hasil detail

Record data tabel

Record data tabel Record data Rancangan struktur tabel database Penilaian Kriteria informasi D4 TblData D7 TblHasil D5 TblDataTabel

Record data atribut 2 Input rancangan struktur tabel database Pakar User 3 Proses analisis rancangan struktur tabel database 4 Laporan hasil analisis Kriteria informasi Record hasil D8 TblHasilDetail Record hasil detail Record hasil 1 Setup data D1 TblUser D2 TblPendidikan D3 TblFleksibilitas Record user Record pendidikan

Record tingkat fleksibilitas

Informasi hasil analisis

Record tingkat fleksibilitas

Record pendidikan

D6 TblDataAtribut

Record

pendidikan

Record user

Setup data User 1.1 Setup data User

Pakar D1 TblUser D2 TblPendidiikan Setup data pendidikan 1.2 Setup data pendidikan

(7)

Record tingkat

fleksibilitas

Record data atribut Record data tabel

R d d t

Record hasil detail Record hasil Record pendidikan D5 TblDataTabel 4.1 Tampilkan h il li i

D4 TblData D3 TblFleksibilitas D2 TblPendidikan

D8 TblHasilDetail D7 TblHasil

(8)

1.3. Kaitan antara DAD, HIPO, Desain Dialog/I/P/O, & Database

Salah satu alat dokumentasi yang banyak digunakan dalam perancangan sistem adalah diagram HIPO.

HIPO terdiri atas 3 jenis, yaitu (Al-Bahra bin Ladjamudin, 2005):

1. Diagram isi tabel visual (Visual Table of Contents/VTOC),

o Merupakan diagram pertama HIPO yang terdiri atas satu atau lebih diagram hirarkhi.

o VTOC berisi nama dan nomor identifikasi dari semua program untuk Diagram ringkas (Overview Diagram) dan Diagram detail (Detailed Diagram) secara terstruktur.

o VTOC juga menunjukkan struktur paket diagram dan hubungan fungsi dalam bentuk hirarkhi.

o Level paling tinggi pada VTOC mengidentifikasikan fungsi sistem secara keseluruhan.

o Level berikutnya, memecah fungsi sistem ke dalam sub fungsi logika. 2. Diagram ringkas (Overview Diagram),

o Merupakan diagram yang menjelaskan fungsi dan referensi utama yang diperlukan oleh program detail untuk memperluas fungsi sehingga cukup detail.

o Diagram ringkas menerangkan input, proses, dan output dari sistem secara garis besar, yaitu nama file/record input atau output).

o Input berisikan item-item data yang dipakai oleh proses, termasuk semua item input utama yang digunakan oleh diagram pada level yang lebih rendah.

o Proses berisikan urutan langkah yang menerangkan fungsi yang sedang dilaksanakan.

o Item input dihubungkan dengan suatu proses dengan simbol anak panah. o Output berisikan item data yang dibentuk atau dimodifikasi oleh proses,

termasuk semua item output utama yang ditampilkan oleh diagram pada level yang lebih rendah.

o Item output dihubungkan dengan suatu proses dengan simbol anak panah.

(9)

input yang diperlukan dan output yang dihasilkan)

o Memberikan referensi terhadap diagram HIPO yang lain, seperti diagram alir (flowchart) dan tabel keputusan dari logika yang rumit.

o Diagram detail juga berisi deskripsi yang menjelaskan langkah proses dan dapat mereferensikan terhadap diagram HIPO.

o Jumlah level diagram detail HIPO tergantung pada jumlah fungsi yang terkait, kerumitan pengolahan, dan jumlah infomasi yang akan

didokumentasikan.

P

PeerraannccaannggaannVViissuuaall TTaabbllee ooff CCoonntetennttss//VVTTOOCC

Visual Table of Contents/VTOC menggambarkan hubungan dari modul-modul dalam suatu sistem secara berjenjang

1.1 Setup data User 2.1 Input rancangan struktur tabel database 3.1 Proses analisis rancangan struktur tabel database 4.1 Tampilkan hasil analisis rancangan struktur tabel database 1.2 Setup data Pendidikan 1.3 Setup data Tingkat Fleksibilitas 2 Input rancangan

struktur tabel database

4 Laporan hasil analisis 3

Proses analisis rancangan struktur tabel database 1

Setup data

Analisis fleksibilitas rancangan struktur tabel database

P

PeerraannccaannggaannOOvveerrvviieeww DDiiaaggrraamm

Overview diagram menggambarkan hubungan dari input, proses, dan output. Input merupakan item-item data yang akan digunakan oleh bagian proses. Proses adalah langkah-langkah yang menggambarkan fungsi atau modul. Output merupakan hasil pemrosesan data.

1. Rancangan struktur Input 1. User 2. Pendidikan 3. Tingkat fleksibilitas

2. Input rancangan struktur tabel database Proses

1. Setup data 1.1. Setup data User 1.2. Setup data pendidikan 1.3. Setup data tingkat fleksibilitas

Output 1. TblUser 2. TblPendidikan 3. TblFleksibilitas

(10)

P

PeerraannccaannggaannDDeettaaiilleedd DDiiaaggrraamm

Detailed diagram menggambarkan elemen-elemen dasar HIPO secara detail.

Input Proses Output

1. Data User o Nama_User o Password o Status 2. Data Pendidikan o Pendidikan 1. Setup data 1.1. Setup data User

o Baca data o Simpan data 1.2. Setup data pendidikan

o Baca data

1. Tampilan menu utama

1.1. Tampilan submenu Setup data User

o Form input Setup data User o Kembali ke submenu setup data 1.2. Tampilan submenu Setup data

(11)

o Nama_Tkt_Fleksibilitas o Batas_Bawah

o Batas_Atas

o Simpan data o Kembali ke submenu setup data 1.3. Submenu setup data tingkat

fleksibilitas

o Form input setup data tingkat fleksibilitas

o Kembali ke submenu setup data 2. Kembali ke tampilan menu utama 1. Data rancangan struktur tabel database

o Data_Rancangan_Ke o Data_Rancangan o Nama_Perancang o Pendidikan o Tanggal_Rancangan o Judul o Jumlah_Tabel o Jumlah_Atribut 2. Data tabel o Data_Rancangan_Ke o Nama_Tabel_Ke o Nama_ Tabel o Jumlah_Atribut 3. Data atribut o Data_Rancangan_Ke o Nama_Tabel_Ke o Nama_Atribut_Ke o Nama_Atribut o Tipe_Atribut o Ukuran_Atribut o Keterangan_Atribut

2. Input rancangan struktur tabel

database

2.1. Baca data rancangan o Baca data rancangan o Simpan data rancangan 2.2. Baca data tabel

o Baca data tabel o Simpan data tabel 2.3. Baca data atribut

o Baca data atribut o Simpan data atribut

2. Tampilan menu utama 2.1. Tampilan submenu input

rancangan struktur tabel database o Form input rancangan struktur

tabel database o Form input detail data 2.2. Kembali ke tampilan submenu

input rancangan struktur tabel database

2.3. Kembali ke tampilan menu utama

1. Data User o Nama_User o Password o Status 2. Data Pendidikan o Pendidikan o Nama_Pendidikan 3. Data Tingkat Fleksibilitas

o Tingkat_Fleksibilitas o Nama_Tkt_Fleksibilitas o Batas_Bawah

o Batas_Atas

4. Data rancangan struktur tabel database o Data_Rancangan_Ke o Data_Rancangan o Nama_Perancang o Pendidikan o Tanggal_Rancangan o Judul o Jumlah_Tabel o Jumlah_Atribut

3. Proses analisis rancangan struktur tabel database 3.1. Tampilkan rancangan struktur

tabel database o Baca TblData o Baca TblDataTabel o Baca TblAtribut o Tampilkan TblData o Tampilkan TblDataTabel o Tampilkan TblDataAtribut 3.2. Proses analisis rancangan

struktur tabel database 3.2.1. Baca penilaian 3.2.2. Konfirmasi penilaian 3.3. Simpan hasil analisis

rancangan struktur tabel

database

3.3.1. Simpan hasil 3.3.2. Simpan hasil detail

3. Tampilan menu utama

3.1. Tampilan submenu proses analisis rancangan struktur tabel database

o Form penilaian rancangan struktur tabel database 3.2. Kembali ke tampilan submenu

proses analisis rancangan struktur tabel database

(12)

o Nama_ Tabel o Jumlah_Atribut 6. Data atribut o Data_Rancangan_Ke o Nama_Tabel_Ke o Nama_Atribut_Ke o Nama_Atribut o Tipe_Atribut o Ukuran_Atribut o Keterangan_Atribut 7. Penilaian o Data_Rancangan_Ke o Nama_Tabel_Ke o Nama_Atribut_Ke o Tanggal_Analisis o Sifat_Fleksibel_Atribut o Penjelasan 1. Kriteria informasi 2. Hasil analisis o Data_Rancangan_Ke o Tanggal_Analisis o Tingkat_Fleksibilitas 3. Detail hasil analisis

o Data_Rancangan_Ke o Nama_Tabel_Ke o Nama_Atribut_Ke o Sifat_Fleksibel_Atribut o Penjelasan 4. Laporan

4.1. Baca kriteria informasi 4.2. Baca hasil analisis rancangan

struktur tabel database 4.3. Baca detail hasil analisis 4.4. Tampilkan hasil analisis

rancangan struktur tabel

database

4. Tampilan menu utama 4.1. Tampilan submenu Laporan

o Form pilihan kriteria informasi o Form hasil analisis

o Konfirmasi preview-cetak-tutup tampilan informasi

4.2. Kembali ke submenu Laporan 4.3. Kembali ke tampilan menu utama

P

PeerraannccaannggaannDDiiaallooggLLaayyaarr P

PeerraannccaannggaannDDiiaallooggLLaayyaarrMMeennuuLLooggiinnUUsseerr

Analisis Fleksibilitas Rancangan Struktur Tabel Database

Nama User Password

(13)

P

PeerraannccaannggaannDDiiaallooggLLaayyaarrMMeennuuUUsseerr

Rancangan Struktur Tabel Database Laporan Informasi

Keluar

Laporan Informasi Rancangan Struktur Tabel Database

Keluar Input

Laporan Informasi Rancangan Struktur Tabel Database

Keluar Daftar Rancangan

Hasil Æ Per Hasil Æ Daftar Hasil Æ Statistik

(14)

14

Keluar

P

PeerraannccaannggaannDDiiaallooggLLaayyaarrMMeennuuPPaakkaarr

Laporan Informasi Rancangan Struktur Tabel Database

Keluar Setup Data

Laporan Informasi Rancangan Struktur Tabel Database

Keluar Setup Data Tingkat Fleksibilitas Pendidikan User Laporan Informasi Rancangan Struktur Tabel Database

Keluar Setup Data

Input Penilaian

Setup Data Rancangan Struktur Tabel Database Laporan Informasi Daftar Rancangan

Hasil Per Æ Hasil Daftar Æ Hasil StatistikÆ

(15)

Laporan Informasi Rancangan Struktur Tabel Database

Setup Data Bantuan Pembuat Program Keluar

(16)

(17)
(18)

DAFTAR RANCANGAN STRUKTUR TABEL DATABASE PENDIDIKAN PERANCANG S3

Halaman: No Data

Rancangan Perancang Nama Rancangan Tanggal Judul Jumlah Tabel Jumlah Atribut

JUMLAH:

DicetakÆ Tgl/Jam Oleh: Untuk: Jml Eks:

DAFTAR RANCANGAN STRUKTUR TABEL DATABASE PENDIDIKAN PERANCANG S2

Halaman: No Data

Rancangan Perancang Nama Rancangan Tanggal Judul Jumlah Tabel Jumlah Atribut

JUMLAH:

DicetakÆ Tgl/Jam Oleh: Untuk: Jml Eks:

DAFTAR RANCANGAN STRUKTUR TABEL DATABASE PENDIDIKAN PERANCANG S1

Halaman: No Data

Rancangan Perancang Nama Rancangan Tanggal Judul Jumlah Tabel Jumlah Atribut

JUMLAH:

DicetakÆ Tgl/Jam Oleh: Untuk: Jml Eks:

DAFTAR RANCANGAN STRUKTUR TABEL DATABASE PENDIDIKAN PERANCANG D3

Halaman: No Data

Rancangan Perancang Nama Rancangan Tanggal Judul Jumlah Tabel Jumlah Atribut

JUMLAH:

(19)

No Data Rancangan Nama Perancang Tanggal Rancangan Judul Jumlah Tabel Jumlah Atribut JUMLAH:

DicetakÆ Tgl/Jam Oleh: Untuk: Jml Eks:

HASIL ANALISIS FLEKSIBILITAS RANCANGAN STRUKTUR TABEL DATABASE PER RANCANGAN

Halaman:

Data Rancangan : Tanggal Analisis :

Nama Perancang : Jumlah Atribut Tidak

Fleksibel : …. =….% Pendidikan

Perancang : Jumlah Atribut Fleksibel : …. =….% Tanggal Rancangan : Tingkat Fleksibilitas :

Jumlah Tabel : Jumlah Atribut :

Judul :

Tabel ke : Nama Tabel :

No Nama Atribut Tipe Atribut Ukuran Atribut Fleksibel [Y/T] Penjelasan

DicetakÆ Tgl/Jam Oleh: Untuk: Jml Eks:

HASIL ANALISIS FLEKSIBILITAS RANCANGAN STRUKTUR TABEL DATABASE DAFTAR BERDASARKAN TINGKAT FLEKSIBILITAS SANGAT BAIK

Halaman: Atribut Tidak Fleksibel Atribut Fleksibel No Data

Rancangan Perancang Nama Rancangan Tanggal Judul Jumlah Tabel Jumlah % Jumlah % Pendidikan Perancang

JUMLAH:

DicetakÆ Tgl/Jam Oleh: Untuk: Jml Eks:

HASIL ANALISIS FLEKSIBILITAS RANCANGAN STRUKTUR TABEL DATABASE DAFTAR BERDASARKAN TINGKAT FLEKSIBILITAS BAIK

Halaman: Atribut Tidak Fleksibel Atribut Fleksibel No Data

Rancangan Perancang Nama Rancangan Tanggal Judul Jumlah Tabel Jumlah % Jumlah % Pendidikan Perancang

JUMLAH:

DicetakÆ Tgl/Jam Oleh: Untuk: Jml Eks:

(20)

Jumlah % Jumlah %

JUMLAH:

DicetakÆ Tgl/Jam Oleh: Untuk: Jml Eks:

HASIL ANALISIS FLEKSIBILITAS RANCANGAN STRUKTUR TABEL DATABASE DAFTAR BERDASARKAN TINGKAT FLEKSIBILITAS BURUK

Halaman: Atribut Tidak Fleksibel Atribut Fleksibel No Data

Rancangan Perancang Nama Rancangan Tanggal Judul Jumlah Tabel Jumlah % Jumlah % Pendidikan Perancang

JUMLAH:

DicetakÆ Tgl/Jam Oleh: Untuk: Jml Eks:

HASIL ANALISIS FLEKSIBILITAS RANCANGAN STRUKTUR TABEL DATABASE DAFTAR BERDASARKAN TINGKAT FLEKSIBILITAS SANGAT BURUK

Halaman: Atribut Tidak Fleksibel Atribut Fleksibel No Data

Rancangan Perancang Nama Rancangan Tanggal Judul Jumlah Tabel Jumlah % Jumlah % Pendidikan Perancang

JUMLAH:

DicetakÆ Tgl/Jam Oleh: Untuk: Jml Eks:

HASIL ANALISIS FLEKSIBILITAS RANCANGAN STRUKTUR TABEL DATABASE DAFTAR BERDASARKAN PENDIDIKAN PERANCANG S3

Halaman: Atribut Tidak

Fleksibel Atribut Fleksibel No Data

Rancangan Perancang Nama Rancangan Tanggal Judul Jumlah Tabel

Jumlah % Jumlah % Tingkat FLeksibilitas

JUMLAH:

DicetakÆ Tgl/Jam Oleh: Untuk: Jml Eks:

HASIL ANALISIS FLEKSIBILITAS RANCANGAN STRUKTUR TABEL DATABASE DAFTAR BERDASARKAN PENDIDIKAN PERANCANG S2

Halaman: Atribut Tidak

Fleksibel Atribut Fleksibel No Data

Rancangan Perancang Nama Rancangan Tanggal Judul Jumlah Tabel

Jumlah % Jumlah % Tingkat FLeksibilitas

JUMLAH:

DicetakÆ Tgl/Jam Oleh: Untuk: Jml Eks:

(21)

Jumlah % Jumlah %

JUMLAH:

DicetakÆ Tgl/Jam Oleh: Untuk: Jml Eks:

HASIL ANALISIS FLEKSIBILITAS RANCANGAN STRUKTUR TABEL DATABASE DAFTAR BERDASARKAN PENDIDIKAN PERANCANG D3

Halaman: Atribut Tidak

Fleksibel Atribut Fleksibel No Data

Rancangan Perancang Nama Rancangan Tanggal Judul Jumlah Tabel

Jumlah % Jumlah % Tingkat FLeksibilitas

JUMLAH:

DicetakÆ Tgl/Jam Oleh: Untuk: Jml Eks:

HASIL ANALISIS FLEKSIBILITAS RANCANGAN STRUKTUR TABEL DATABASE KESELURUHAN Halaman: Atribut Tidak Fleksibel Atribut Fleksibel No Data

Rancangan Perancang Nama Rancangan Tanggal Judul Jumlah Tabel

Jumlah % Jumlah % Tingkat

FLeksibilitas Pendidikan Perancang

JUMLAH:

DicetakÆ Tgl/Jam Oleh: Untuk: Jml Eks:

HASIL ANALISIS FLEKSIBILITAS RANCANGAN STRUKTUR TABEL DATABASE STATISTIK BERDASARKAN TINGKAT FLEKSIBILITAS

Halaman: Jumlah

Atribut

Tidak Fleksibel Fleksibel Atribut No Pendidikan

Perancang Data

Rancangan Tabel Atribut

Jumlah % Jumlah % 1 Sangat Baik 2 Baik 3 Sedang 4 Buruk 5 Sangat Buruk JUMLAH:

DicetakÆ Tgl/Jam Oleh: Untuk: Jml Eks:

(22)

Atribut

Tidak Fleksibel Fleksibel Atribut Perancang Data

Rancangan Tabel Atribut

Jumlah % Jumlah % 1 S3 2 S2 3 S1 4 D3 JUMLAH:

DicetakÆ Tgl/Jam Oleh: Untuk: Jml Eks:

HASIL ANALISIS FLEKSIBILITAS RANCANGAN STRUKTUR TABEL DATABASE REKAPITULASI KESELURUHAN

Halaman: Tingkat Fleksibilitas

Sangat Baik Baik Sedang Buruk Sangat Buruk No Pendidikan

Perancang Jumlah Data Rancangan

Jumlah % Jumlah % Jumlah % Jumlah % Jumlah % 1 S3

2 S2 3 S1 4 D3 JUMLAH:

DicetakÆ Tgl/Jam Oleh: Untuk: Jml Eks:

P

(23)

N 1 1 1 N 1 1 1 N 1 1 1 1 N N 1 1 N Pendidikan Data Hasil DataTabel HasilDetail Fleksibilitas mempunyai merancang mempunyai mempunyai mempunyai DataAtribut mempunyai mempunyai mempunyai mempunyai

(24)

Pengujian Normalisasi Relasi

o Semua relasi telah memenuhi bentuk 3NF o Detail spesifikasi struktur relasi

TblUser

No Nama field Tipe Ukuran Null ? Key Min Max Keterangan 1 Nama_User Alpha 50 No PK - - Nama User 2 Password Alpha 10 No PK - - Passsword

3 Status Alpha 1 No - - - Status User P:Pakar, U:User

TblPendidikan

No Nama field Tipe Ukuran Null ? Key Min Max Keterangan

1 Pendidikan Alpha 2 No PK - - Kode jenjang pendidikan 2 Nama_Pendidikan Alpha 50 No - - - Nama jenjang pendidikan

TblFleksibilitas

No Nama field Tipe Ukuran Null

? Key Min Max Keterangan

1 Tingkat_Fleksibilitas Short - No PK 1 5 Kode tingkat fleksibilitas 2 Nama_Tkt_Fleksibilitas Alpha 25 No - - - Nama tingkat fleksibilitas 3 Batas_Bawah Number 2:2 No - 0,00 79,99 % batas bawah

4 Batas_Atas Number 3:2 No - 19,99 100,00 % batas atas

TblData.DB

No Nama field Tipe Ukuran Null

? Key Min Max Keterangan TblData Data_Rancangan_Ke Data_Rancangan Nama_Perancang Tanggal_Rancangan Judul Jumlah_Tabel Jumlah_Atribut Pendidikan TblDataTabel Data_Rancangan_Ke Nama_Tabel_Ke Nama_Tabel Jumlah_Atribut TblHasilDetail Data_Rancangan_Ke Nama_Tabel_Ke Nama_Atribut_Ke Sifat_Fleksibel_Atribut Penjelasan TblHasil Data_Rancangan_Ke Tanggal_Analisis Tingkat_Fleksibilitas TblFleksibilitas Tingkat_Fleksibilitas Nama_Tkt_Fleksibilitas Batas_Bawah Batas_Atas TblPendidikan Pendidikan Nama_Pendidikan TblUser Nama_User Password Status Nama_Atribut_Ke Nama_Atribut Tipe_Atribut Ukuran_Atribut Keterangan_Atribut

(25)

4 Pendidikan Alpha 2 No FK - - Kode jenjang pendidikan perancang 5 Tanggal_Rancangan Date - No - - - Tanggal waktu perancangan

6 Judul Alpha 200 No - - - Judul rancangan

7 Jumlah_Tabel Short - No - 1 100 Jumlah tabel rancangan 8 Jumlah_Atribut Short - No - 1 100 Jumlah atribut dalam rancangan

TblDataTabel

No Nama field Tipe Ukuran Null ? Key Min Max Keterangan

1 Data_Rancangan_Ke Short - No PK/FK 1 100 Nomor urut data rancangan 2 Nama_ Tabel_Ke Short - No PK 1 100 Nomor urut tabel

3 Nama_ Tabel Alpha 50 No - - - Nama tabel rancangan 4 Jumlah_Atribut Short - No - 1 100 Jumlah atribut dalam tabel

TblDataAtribut

No Nama field Tipe Ukuran Null ? Key Min Max Keterangan

1 Data_Rancangan_Ke Short - No PK/FK 1 100 Nomor urut data rancangan 2 Nama_ Tabel_Ke Short - No PK/FK 1 100 Nomor urut tabel

3 Nama_Atribut_Ke Short - No PK 1 100 Nomor urut atribut 4 Nama_Atribut Alpha 50 No - - - Nama atribut rancangan 5 Tipe_Atribut Alpha 10 No - - - Tipe data atribut rancangan 6 Ukuran_Atribut Short - No - 1 100 Ukuran atribut rancangan 7 Keterangan_Atribut Alpha 255 Yes - - - Keterangan atribut

TblHasil

No Nama field Tipe Ukuran Null

? Key Min Max Keterangan

1 Data_Rancangan_Ke Short - No PK/FK 1 100 Nomor urut data rancangan 2 Tanggal_Analisis Date - No - - - Tanggal dilakukan analisis 3 Tingkat_Fleksibilitas Short - No FK 1 5 Tingkat fleksibilitas rancangan

TblHasilDetail

No Nama field Tipe Ukuran Null ? Key Min Max Keterangan

1 Data_Rancangan_Ke Short - No PK/FK 1 100 Nomor urut data rancangan 2 Nama_ Tabel_Ke Short - No PK/FK 1 100 Nomor urut tabel

3 Nama_Atribut_Ke Short - No PK/FK 1 100 Nomor urut atribut

4 Sifat_Fleksibel_Atribut Logical - No - - - Sifat fleksibel atribut 5 Penjelasan Alpha 255 Yes - - - Penjelasan tidak fleksibel

(26)

1.1. ER_M

⇒ Salah satu model data yang dikembangkan berdasarkan obyek

⇒ Digunakan untuk menjelaskan hubungan antar data dalam basis data kepada pemakai secara logik

⇒ Didasarkan pada suatu persepsi bahwa real world terdiri atas obyek-obyek dasar yang mempunyai kerelasian antar obyek-obyek dasar tersebut

⇒ Digambarkan dalam bentuk ER_D K

KoommppoonneennEERR__DD

1. Entitas:

⇒ obyek-obyek dasar yang terkait di dalam sistem ⇒ dapat berupa orang, benda, atau hal

⇒ keterangannya perlu disimpan di dalam basis data ⇒ Aturan penggambaran

⇒ Simbol Isian entitas

⇒ menyatakan sebuah kemungkinan pada entitas: ⇒ Contoh:

⇒ Mahasiswa dengan NIM 02050001 ⇒ Mahasiswa bernama Rico

Himpunan entitas

⇒ menyatakan sekumpulan entitas dengan struktur/sifat yang sama ⇒ Contoh:

⇒ sejumlah mahasiswa jenjang sarjana ⇒ sejumlah mahasiswa jenjang diploma ⇒ semua mahasiswa

Entitas reguler

⇒ disebut juga entitas dominan

⇒ entitas yang keberadaannya tidak bergantung pada entitas yang lain ⇒ Contoh: ⇒ Mahasiswa ⇒ Mata_Kuliah ⇒ Dosen ⇒ Kabupaten ⇒ simbol Entitas dependen

disebut juga entitas tak bebas/entitas lemah (weak entity)/entitas subordinat

⇒ merupakan entitas yang keberadaannya bergantung pada entitas yang lain ⇒ Contoh:

⇒ Mahasiswa_Jenjang_Sarjana bergantung pada Mahasiswa ⇒ Mata_Kuliah_Wajib bergantung pada Mata_Kuliah ⇒ Wali_Mahasiswa bergantung pada Mahasiswa ⇒ Simbol

Entitas super type dan entitas sub type

(27)

⇒ Contoh:

⇒ Karyawan_Tetap dan Karyawan_Tidak_Tetap bagian dari Karyawan

⇒ Simbol 2

2.. AtAtttrriibbuuttee

⇒ Sering disebut property

⇒ Merupakan keterangan-keterangan yang terkait pada entitas yang perlu disimpan sebagai basis data.

⇒ Berfungsi sebagai penjelas sebuah entitas ⇒ Aturan penggambaran

⇒ Simbol ⇒ Contoh:

Entitas

Atribut

Mahasiswa Kode_Angkatan, Kode_Program_Studi, Kode_Jenjang_Studi, Nomor, Nama_Mahasiswa, Tanggal_Lahir, Alamat_Lokal, Kode_Agama, Status

Dosen NIK, Nama_Dosen, Tanggal_Lahir, Alamat_Lokal, Kode_Golongan, Kode_Agama, Tanggal_SK, Nomor_SK, No_Telepon, Status

Mata Kuliah Kode_Mata_Kuliah, Nama_Mata_Kuliah, Sks, Smt, Status Angkatan Kode_Angkatan, Tahun_Angkatan

Jenjang Studi Kode_Jenjang_Studi, Nama_Jenjang_Studi

Program Studi Kode_Prodi, Nama_Prodi, Tanggal_SK, Nomor_SK, Status, Kode_Jurusan, Sks_Program_Studi

Jurusan Kode_Jurusan, Nama_Jurusan, Tanggal_SK, Nomor_SK, Kode_Fakultas Fakultas Kode_Fakultas, Nama_Fakultas,Tanggal_SK, No_SK

Golongan Kode_Golongan, Nama_Golongan, Gaji_Pokok Nilai Nilai, Mutu, Keterangan

Ruang Kode_Ruang, Kapasitas Waktu Kode_Waktu, Hari, Jam_Mulai, Status

Wali_Mahasiswa Kode_Angkatan,

Kode_Jenjang_Studi, Kode_Jurusan, Nomor, Nama_Wali,

Alamat_Asal, Kode_Pekerjaan, Kode_Kabupaten

Kabupaten Kode_Kabupaten,

Nama_Kabupaten, Kode_Propinsi

Propinsi Kode_Propinsi,

Nama_Propinsi

Agama Kode_Agama,

Nama_Agama

Pekerjaan Kode_Pekerjaan,

Nama_Pekerjaan

Attribute:

1. Simple attribute: jika berisi sebuah komponen nilai/elementer Contoh:

⇒ Kode_Angkatan : 2002 (angkatan tahun 2002)

⇒ Kode_Program_Studi : 01(prodi Teknik Informatika) ⇒ Kode_Jenjang_Studi : 08 (jenjang studi sarjana) ⇒ Kode_Jurusan : 01 (jurusan Teknik Informatika)

⇒ Nomor : 1000 (nomor 2002)

2. Composite attribute: jika berisi lebih dari sebuah komponen nilai Contoh:

⇒ Nama_Mahasiswa : Mawar Menur Melati

⇒ Tanggal_Lahir : 01-01-1980

(28)

keterangannya perlu disimpan dalam basis data ⇒ Aturan penggambaran ⇒ Simbol J JeenniissKKeerreellaassiiaannAAnnttaarrEEnnttiittaass ((RReellaattiioonnsshhiipp)) 1. one to one

2. many to one atau one to many 3. many to many

Kerelasian antar entitas:

⇒ Tidak dibatasi waktu ⇒ Tidak dibatasi geografis

⇒ Tergantung bussines rule, contoh I

InnssttaannKKeerreellaassiiaannBBeerrggaannddaa

⇒ Jika terjadi dua kerelasian sekaligus di antara dua entitas

⇒ Contoh: Anggota meminjam Buku, Anggota mengembalikan Buku K

KeerreellaassiiaannRReekkuurrssiiff

⇒ Jika sebuah entitas mempunyai kerelasian dengan entitas dirinya sendiri ⇒ Contoh: Mata_Kuliah mensyaratkan mata kuliah

K

KeerreellaassiiaannAAssoossiiaattiiff

⇒ Jika kerelasian di antara dua buah entitas mengandung beberapa informasi

⇒ Contoh: Pelanggan membeli Barang pada masa diskon akan diberikan diskon khusus Kerelasian Pelanggan membeli Barang mengandung informasi lain, yaitu Tanggal_Beli dan Diskon yang kemudian diberi nama Pembeli.

M

MeennggggaammbbaarrEERR__DD

1. Identifikasikan setiap entitas yang terlibat 2. Identifikasikan setiap atribut pada setiap entitas

3. Identifikasikan setiap kerelasian berikut jenisnya yang terjadi di antara entitas 4. Gambarkan simbol entitas, atribut, dan kerelasian antar entitas sedemikian

sehingga dapat digambarkan dengan jelas / tidak saling bertabrakan 5. Cek ER_D yang terbentuk, dalam hal:

a. Kelengkapan entitas b. Kelengkapan atribut

c. Kelengkapan kerelasian antar entitas d. Jenis kerelasian antar entitas Jika kompleks, maka:

1. Cara 1:

o Gambarkan ER_D yang hanya memuat entitas dan kerelasian antar entitas saja.

o Rincian atribut ditampilkan secara terpisah, secara naratif atau tabel 2. Cara 2:

o Gambarkan ER_D secara terpisah-pisah bagian demi bagian 3. Cara 3:

o Gabungkan cara 1 dan cara 2 sekaligus Keuntungan ER_D:

1. Memudahkan perancang dalam menganalisis sistem 2. Memudahkan perancang saat merancang basis data

3. Rancangan basis data yang didasarkan pada ER_D umumnya telah optimal 4. Penggunaan simbol grafis lebih mudah dipahami pemakai

Kelemahan ER_D:

1. Kebutuhan media yang sangat luas 2. Seringkali ER_D tampil sangat ruwet

(29)

Entitas 1 Entitas 2 Kerelasian Kerelasian

Mahasiswa Mata_Kuliah mengikuti n-ke-n File KRS:

Kode_Angkatan, Kode_Jenjang_Studi, Kode_Program_Studi, Nomor, Kode_Mata_Kuliah, Tahun_Semester Mahasiswa mengikuti Mata_Kuliah

Nilai memperoleh 1-ke-1 File KHS:

Kode_Angkatan, Kode_Jenjang_Studi, Kode_Program_Studi, Nomor,

Kode_Mata_Kuliah, Tahun_Semester, Nilai Dosen Mata_Kuliah mengajar 1-ke-n File Dosen_Mengajar:

NIK, Kode_Mata_Kuliah, Tahun_Semester, Status

Dosen mengajar Mata_Kuliah

Ruang menggunakan 1-ke-n File Jadwal:

Kode_Mata_Kuliah, Kode_Ruang, Tahun_semester, Kode_Waktu

Mahasiswa Angkatan mempunyai n-ke-1 Penghubung:

Kode_Angkatan dalam entitas Mahasiswa Mahasiswa Program_Studi memilih n-ke-1 Penghubung:

Kode_Program_Studi dalam entitas Mahasiswa Mahasiswa Jenjang_Studi memilih n-ke-1 Penghubung:

Kode_Jenjang_Studi dalam entitas Mahasiswa Mahasiswa Agama menganut Penghubung:

Kode_Agama dalam entitas Mahasiswa Mahasiswa Dosen_Wali mempunyai n-ke-1 File Dosen_wali:

Kode_Angkatan, Kode_Jenjang_Studi, Kode_Program_Studi, Nomor, NIK

Mahasiswa Wali_Mahasiswa mempunyai 1-ke-1 File Wali_Mahassiwa:

Kode_Angkatan, Kode_Jenjang_Studi, Kode_Program_Studi, Nomor, Nama_Wali, Alamat_Asal, Kode_Pekerjaan,

Kode_Kabupaten Jurusan Program_Studi membawahi 1-ke-n Penghubung:

Kode_Jurusan dalam entitas Program_Studi

Fakultas Jurusan membawahi 1-ke-n Penghubung:

Kode_Fakultas dalam entitas Jurusan

Dosen Golongan mempunyai n-ke-1 Penghubung:

Kode_Golongan dalam entitas Dosen

Dosen Agama menganut n-ke-1 Penghubung:

Kode_Agama dalam entitas Dosen

Wali Pekerjaan mempunyai n-ke-1 Penghubung:

Kode_Pekerjaan dalam entitas Wali_Mahasiswa

Wali Kabupaten menempati n-ke-1 Penghubung:

Kode_Kabupaten dalam entitas Wali_Mahasiswa

Kabupaten Propinsi menempati n-ke-1 Penghubung:

(30)

Langkah selanjutnya: o Konversi ER_M ke LRS o Pengujian Normalisasi Menganut Menempati Mata_Kuliah Mengikuti Dosen Golongan Mempunyai Mengajar Mahasiswa Angkatan Jenjang Studi Program Studi Jurusan Fakultas Mempunyai Mempunyai Mempunyai Membawahi Membawahi Wali_Mahasiswa Pekerjaan Mempunyai Mempunyai Agama Menganut Menempati Kabupaten Propinsi Menempati Nilai Memperoleh

(31)

BAB III

PERANCANGAN BASIS DATA DGN TEKNIK NORMALISASI

1.1. RDBM

T

Teerrmmiinnoollooggii

Istilah formal Istilah

non formal Keterangan

Elemen data (data element),

rinci data (data item), entri (entry) Nilai data pada suatu baris-kolom tertentu pada suatu saat tertentu Atribut (attribute) Kolom, medan

data, medan, field

Nama yang diberikan untuk sekelompok rinci data yang mempunyai tipe, ukuran, dan domain yang sama. Record / tuple Baris / rekaman Sekumpulan atribut yang mempunyai hubungan terhadap

obyek tertentu

Relasi (relation) Tabel Sekumpulan record yang sejenis secara relasi Derajat (degree) Aritas (arity) Jumlah atribut dalam sebuah relasi

Kardinalitas (cardinality) Jumlah record dalam sebuah relasi Kerelasian (relationship) Hubungan antar relasi

Unary relation Relasi yang tersusun oleh satu atribut Binary relation Relasi yang tersusun oleh dua atribut Ternary relation Relasi yang tersusun oleh tiga atribut n-ary relation Relasi yang tersusun oleh n atribut

Key Satu atau gabungan atribut bersifat unik yang digunakan untuk mengidentifikasi setiap record dalam relasi Candidate Key / CK Satu atau gabungan minimal atribut bersifat unik yang

dapat digunakan untuk mengidentifikasi setiap record dalam relasi

Primary Key / PK Bagian dari CK yang dipilih sbg kunci utama dalam relasi Alternate Key / AK Bagian dari CK yang tidak dipilih sebagai kunci utama

dalam relasi Foreign Key / FK Kunci tamu

/ kunci asing Satu atau gabungan sembarang atribut yang menjadi PK dalam relasi lain yang mempunyai hubungan secara logik Domain Himpunan nilai yang memenuhi syarat

Schema Deskripsi hubungan logik secara global, termasuk di dalamnya nama dan deskripsi tipe dan ukuran atribut dan hubungan logik antar relasi basis data dlm lingkup sistem Subschema Deskripsi hubungan logik secara terpisah, termasuk di

dalamnya nama dan deskripsi tipe dan ukuran atribut dan hubungan logik antar relasi basis data dlm lingkup sub sistem aplikasi tertentu

Contoh Relasi: Relasi Mata_Kuliah

Kode_Mata_Kuliah Nama_Mata_Kuliah Sks Smt Status

MK-1001 Pemrograman I 2 1 W

MK-2002 Pemrograman II 2 2 W

(32)

Relasi : Mata_Kuliah Derajat : 5 (=5-ary)

Atribut : Kode_Mata_Kuliah, Nama_Mata_Kuliah, Sks, Smt, Status Record #1 : MK-1001, Pemrograman I, 2, 1, W

Record #2 : MK-2002, Pemrograman II, 2, 1, W Record #3 : MK-3003, Pemrograman III, 2, 1, W Kardinalitas : 3

Candidate Key/CK : Kode_Mata_Kuliah dan Nama_Mata_Kuliah

Primary Key : Kode_Mata_Kuliah

Alternate Key : Nama_Mata_Kuliah Foreign Key/FK : -

Domain :

Kode_Mata_Kuliah : MK-1001, MK-2002, MK-3003

Nama_Mata_Kuliah : Pemrograman I, Pemrograman II, Pemrograman III

Sks : 2

Smt : 1, 2, 3

Status : W

Mata_Kuliah_Schema : (Kode_Mata_Kuliah (Char[8], Nama_Mata_Kuliah Char[50], Sks Num[1], Smt Num[1], Status Char[1]), Primary Key

Kode_Mata_Kuliah)

K

KaarraakktteerriissttiikkRReellaassii

Æ Semua entri single value, bukan grup perulangan, atomic value Æ Semua entri pada suatu atribut mempunyai tipe dan ukuran yang sama Æ Masing-masing atribut mempunyai nama yang unik

Æ Pada sebuah relasi tidak ada dua record yang identik K

KuunncciiRReellaassii

Jenis:

Æ Kunci sederhana (simple key) Kunci komposit (composite key) Macam:

Æ Kunci kandidat (Candidate Key / CK) Æ Kunci primer (Primary Key / PK Æ Kunci alternatif (Alternate Key / AK)

Æ Kunci penghubung / asing (Foreign Key / FK) Aturan (rule) kunci relasi:

Æ Integritas kesatuan / integritas entitas (entity integrity) Æ Integritas referensial (referential integrity)

K Keerreellaassiiaannaannttaarrrreellaassii Æ 1-ke-1 Æ 1-ke-n / n-ke-1 Æ n-ke-n A Annoommaalllliieess Æ delete aomally Æ insert anomally Æ update anomally B BeebbeerraappaaDDeeffiinniissiiRReellaassii((RReellaattiioonn))

1. Relasi tak gayut: sebuah relasi yang berasal dari entitas reguler / dominan. Ciri relasi tak gayut adalah tidak memiliki FK di dalamnya

2. Relasi asosiatif: sebuah relasi yang mempunyai jenis kerelasian n-ke-n. Ciri relasi asosistif adalah memiliki lebih dari 1 FK

(33)

3. Relasi karakteristik: sebuah relasi yang berasal dari entitas dependen / tak gayut / tak bebas. Ciri relasi karakteristik umumnya mempunyai jenis kerelasian n-ke-1 terhadap relasi yang menjadi induknya

4. Subrelasi: sebuah relasi yang berasal dari sub type entity. Saat akhir perancangan, subrelasi biasanya digabungkan dengan super relasi

D

DaattaaDDeeppeennddeennccyy

Æ FD : R.X →R.Y

Jika setiap nilai X berkaitan dengan sebuah nilai pada Y Æ FFD: R.X →R.Y

Jika Y functionally dependency thd X dan Y tidak functionally dependency thd bagian tertentu dari X

Æ TDF: R.X →R.Y→R.Z

Jika Y functionally dependency thd X dan Z functionally dependency thd Y Æ TD : R.X ↔R.Y

Jika Y functionally dependency thd X dan X functionally dependency thd Y

1.2. Perancangan Database Dengan Teknik Normalisasi

Normalisasi: suatu teknik yang menstrukturkan / memecah / mendekomposisi data dalam cara-cara tertentu untuk mencegah timbulnya permasalahan pengolahan data dalam basis data. Normalisasi menghasilkan relasi yang memiliki:

Æ record yang konsisten secara logik Æ record yang mudah dimengerti Æ record yang sederhana dipelihara

Æ record yang mudah ditampilkan kembali Æ kerangkapan minimal

Level Normal 1. UNF, jika

Æ non flat file (data disimpan sesuai kedatangan, tidak memiliki struktur tertentu,

terjadi duplikasi atau tidak lengkap)

Æ memuat set atribut berulang (repeated group)Æ non single value Æ memuat atribut non atomic value

2. 1NF, jika

Æ seluruh atribut bernilai atomik (atomic value) Æ seluruh atribut bernilai tunggal (single value) Æ tidak memuat set atribut berulang

Æ semua record mempunyai atribut yang sama Permasalahan dalam 1NF:

Æ Tidak dapat menyisipkan informasi parsial

Æ Terhapusnya informasi ketika menghapus sebuah record

Æ Pembaharuan atribut non kunci mengakibatkan sejumlah record harus diperbaharui

Mengubah UNF menjadi 1NF:

Æ Melengkapi nilai-nilai dalam atribut Æ Mengubah struktur relasi

3. 2NF, jika:

Æ memenuhi kriteria 1 NF

Æ semua atribut non kunci FD pada PK Permasalahan 2NF:

Æ Kerangkapan data

Æ Pembaharuan yang tidak benar menimbulkan data inconsistency Æ Pembaharuan data tidak efisien

(34)

4. 3NF, jika:

Æ Jika memenuhi kriteria 2NF

Æ Jika setiap atribut non kunci tidak TDF (nontransitive dependeny) terhadap PK Permasalahan dalam 3NF : duplikasi rinci data pada PK

5. BCNF, jika:

Æ memenuhi kriteria 3NF

Æ semua atribut penentu (determinan) merupakan CK 6. 4NF, jika:

Æ memenuhi kriteria BCNF

Æ setiap atribut di dalamnya tidak mengalami ketergantungan pada banyak nilai 7. 5NF, jika

Æ kerelasian antar data dalam relasi tidak dapat direkonstruksi dari struktur relasi yang lebih sederhana

8. DKNF, jika

setiap batasan dapat disimpulkan secara sederhana dengan mengetahui sekumpulan nama atribut dan domainnya

Langkah Normalisasi: Contoh 1:

Supplier / UNF

Kode_Supplier Status Kota Kode_Barang Jumlah_Barang

S01 10 Jakarta B01 100 B02 150 B03 200 S02 20 Surabaya B02 250 B04 200 S03 30 Yogyakarta B05 150 B06 100

Æ Lengkapi nilai-nilai rinci data dalam relasi Supplier_1 / 1NF

Kode_Supplier Status Kota Kode_Barang Jumlah_Barang

S01 10 Jakarta B01 100 S01 10 Jakarta B02 150 S01 10 Jakarta B03 200 S02 20 Surabaya B02 250 S02 20 Surabaya B04 200 S03 30 Yogyakarta B05 150 S03 30 Yogyakarta B06 100

Æ Tentukan kunci relasi, FD, dan TDF

Æ Dekomposisi relasi berdasarkan FD (2NF masih memuat TDF)

Diagram ketergantungan data dalam Supplier_1: Kode_Supplier

Kode_Barang

Status

Jumlah_Barang

(35)

Supplier_2 / 2NF

Kode_Supplier Status Kota

Barang

Kode_Supplier Kode_Barang Jumlah_Barang Æ Dekomposisi relasi berdasarkan TDF

Logical Record Structure

Supplier_3 / 3NF Kode_Supplier * Status ** Supplier_3 Kode_Supplier * Kode_Barang * Jumlah_Barang Barang Status * Kota Kota Kode_Supplier Status Kota Status Kota Barang

Kode_Supplier Kode_Barang Jumlah_Barang Langkah selanjutnya:

o Perancangan Detail Spesifikasi Struktur Relasi

Contoh 2: KRS / UNF

NIM Nama_Mahasiswa Kode_MK_1 Sks_1 Tahun_Smt_1 Kode_MK_2 Sks_2 Tahun_Smt_2 Æ Ubah struktur relasi (dari horizontal menjadi vertikal)

KRS_1 / 1NF

NIM Nama_Mahasiswa Kode_MK Sks Tahun_Smt Æ Tentukan kunci relasi, FD, dan TDF

Æ Dekomposisi relasi berdasarkan FD (2NF masih memuat TDF) Diagram ketergantungan data KRS_1:

Kode_MK Nama_Mahasiswa

Sks NIM

(36)

KRS_2 / 2NF

NIM Tahun_Smt Kode_MK Sks Mahasiswa

NIM Nama_Mahasiswa

Æ Dekomposisi berdasarkan TDF

Logical Record Structure

NIM * Tahun_Smt * Kode_MK * KRS_3 NIM * Nama_Mahasiswa Mahasiswa Kode_MK * Sks Mata_Kuliah KRS_3 / 3NF

NIM Tahun_Smt Kode_MK Mata_Kuliah

Kode_MK Sks Mahasiswa

NIM Nama_Mahasiswa Langkah selanjutnya:

o Perancangan Detail Spesifikasi Struktur Relasi

Contoh 3: DOSEN_WALI / UNF Tempat_Tgl_Lahir NIM Nama_Mahasiswa Tgl_Lahir Tpt_Lhr Kode_Dosen Nama_Dosen Æ Ubah struktur relasi (dari non atomic menjadi atomic)

DOSEN_WALI_1 / 1NF

NIM Nama_Mahasiswa Tempat_Lahir Tgl_Lahir Kode_Dosen Nama_Dosen Æ Tentukan kunci relasi, FD, dan TDF

Æ Dekomposisi relasi berdasarkan FD (2NF masih memuat TDF) Diagram ketergantungan data DOSEN_WALI_1:

Tempat_Lahir Nama_Mahasiswa Nama_Dosen NIM Kode_Dosen Tgl_Lahir

(37)

DOSEN_WALI_2 / 2NF

NIM Kode_Dosen Nama_Dosen Mahasiswa

NIM Nama_Mahasiswa Tempat_Lahir Tgl_Lahir Æ Dekomposisi berdasarkan TDF

Logical Record Structure

NIM * Kode_Dosen* KRS_3 NIM * Nama_Mahasiswa Tempat_Lahir Tgl_Lahir Mahasiswa Kode_Dosen * Nama_Dosen Dosen DOSEN_WALI_3 / 3NF NIM Kode_Dosen DOSEN Kode_Dosen Nama_Dosen Mahasiswa

NIM Nama_Mahasiswa Tempat_Lahir Tgl_Lahir Langkah selanjutnya:

o Perancangan Detail spesifikasi struktur relasi E

EffeekkNNoorrmmaalliissaassii

Æ munculnya duplikasi rinci data pada FK

Æ kemungkinan tidak terpenuhinya integritas referensial Æ inefisiensi menampilkan kembali data

(38)

BAB IV

INTEGRASI RANCANGAN BASIS DATA UNTUK SIM

4.1. Pandangan Terhadap Basis Data

Pandangan terhadap basis data sering disebut arsitektur basis data atau abstraksi basis data. Suatu basis data dapat dipandang dari dua sudut pandang, yaitu:

o Sudut pandang pemakai

Pemakai basis data dapat diartikan sebagai orang-orang yang akan mengakses/menggunakan basis data, baik secara bersamaan maupun secara individu dalam lingkup sistem.

o Sudut pandang perancang

Perancang adalah mereka yang berperan sebagai perancang dan pengelola basis data. Perancang dapat memiliki dua jenis pandangan yang berbeda, yaitu secara konseptual dan secara fisis.

Hubungan di antara ketiga pandangan terhadap basis data tersebut dapat digambarkan sebagaimana ditunjukkan oleh Gambar 4.1.

User view 1 User view 2 User view n

Conceptual view

Physical view

Gambar 4.1 : Pandangan terhadap basis data

1

1.. AApppplliiccaattiioonn PPrrooggrraammmmeerr LLooggiiccaall FFiillee//UUsseerr VViieeww

Application programmer logical file atau user view atau external view, merupakan pandangan para pemakai basis data dimana masing-masing dapat memiliki cara pandang yang berbeda tergantung pada macam data apa saja yang tersedia atau dapat diakses oleh pemakai.

Dengan demikian, para pemakai tidak perlu tahu bagaimana sebenarnya data-data mahasiswa tersebut disimpan dalam basis data-data. Application programmer logical file dapat ditunjukkan menggunakan schema dan subschema. Sedangkan nilai-nilai rinci data/nilai aktual data dalam setiap relasi dapat ditunjukkan menggunakan instance schema.

2

2.. GGlloobbaall LLooggiiccaall DDaattaa((CCoonnsseeppttuuaall VViieeww))

Global logical data atau conseptual view, merupakan pandangan perancang basis data yang berkaitan dengan data-data apa saja yang perlu disimpan dan penjelasan mengenai hubungan antara data yang satu dan yang lainya.

(39)

Global logical data merupakan level yang lebih rendah daripada level eksternal. Dalam suatu universitas misalnya, dalam level konseptual ini, perancang perlu untuk mengetahui macam data apa saja yang diperlukan oleh setiap pemakai dan program aplikasi pada seluruh sub sistem yang digunakan dalam sistem. Sehingga, perancang perlu menginventarisasi seluruh kebutuhan informasi dan data untuk seluruh pemakai.

Selanjutnya perancang harus merancang basis data yang mampu memenuhi seluruh kebutuhan pemakai yang berbeda-beda tersebut dalam bentuk yang optimal. Basis data mahasiswa yang dirancang harus memenuhi kriteria pengolahan data secara basis data (data base processing), sebagaimana arti dan batasan yang tercantum dalam definisi basis data.

Global logical data dapat ditunjukkan menggunakan definisi struktur basis data menggunakan bahasa deskripsi data (Data Definition Language / DDL).

Contoh:

Kebutuhan data-data yang terkait dengan obyek mahasiswa bagi pemakai pada 3 subsistem yang berbeda adalah sebagai berikut:

Subsistem akademik: Relasi Mahasiswa: |NIM|Nama_Mahasiswa|Alamat|Tempat_Lahir|Tanggal_Lahir|Agama| Subsistem perpustakaan: Relasi Anggota: No_Anggota|Nama_Aggota|Alamat|Tgl_Masuk_Anggota| Subsistem keuangan: Relasi Pembayaran: |NIM|Nama_Mahasiswa|Tanggal_Bayar|Jumlah_Bayar|Jenis_Beaya| 3 3.. PPhhyyssiiccaall VViieeww

Physical view atau internal level, merupakan implementasi conceptual view, yaitu pandangan perancang yang berkaitan dengan teknik penyimpanan basis data dalam data storage yang digunakan. Pandangan ini berorientasi pada mesin (machine oriented), yaitu berkaitan dengan organisasi berkas basis data, yang meliputi:

o metoda pengalamatan dalam media penyimpan sekunder (addressing) o metoda akses data (access method)

Data-data dalam struktur data pada subsistem akademik di atas, selanjutnya akan diimplementasikan ke dalam data storage berupa magnetic tape yang memiliki 9 track.

Contoh nilai rinci data:

NIM : 1998111000

Nama : Agus Junior Alamat asal : Jalan Mawar 1 Semarang Alamat lokal : Jalan Menur 10 Yogyakarta

(40)

Kode pos asal : 55555 Tempat lahir : Semarang Tanggal lahir : 01-01-1980

Sekolah asal : SMA Negeri 1 Semarang Tahun lulus di SLTA : 1998

Agama : Islam (dikodekan sebagai I) Status : Menikah (dikodekan sebagai M) Nama orang tua / wali : Agus Senior

Pekerjaan orang tua / wali: PNS

Jika data disimpan tanpa metode blocking, dengan menggunakan even parity check, maka dapat digambarkan seperti ditunjukkan oleh Gambar 4.2.

ARAH PUTARAN HEAD Æ

Rec #1 IRG IRG Rec #N IRG

1 9 9 8 1 ... P N S Track ke: 0 0 0 0 0 0 ... 1 0 0 1 0 0 0 0 0 ... 0 1 1 2 0 0 0 0 0 ... 1 0 0 3 0 1 1 1 0 ... 0 0 1 4 0 0 0 0 0 ... 0 1 0 5 0 0 0 0 0 ... 0 1 0 6 0 0 0 0 0 ... 0 1 1 7 1 1 1 0 1 ... 0 0 1 Da ta (parity bit) 8 1 0 0 1 1 ... 0 0 0 Gambar 4.2:Contoh penyimpanan record mahasiswa dalam magnetic tape

4

4..11.. IInnddeeppeennddeennssiiDDaattaa((DDaattaa IInnddeeppeennddeennccyy))

Untuk menjamin agar pemisahan setiap lapisan tetap terjaga, maka OS perlu menyembunyikan kompleksitas struktur rinci lapisan lebih rendah dari lapisan di atasnya. Hal ini dapat dilakukan jika fungsi-fungsi pada lapisan di bawahnya cukup handal dan efisien.

Ketidakbergantungan dari deskripsi dan organisasi antar lapisan disebut ketidakbergantungan data atau kebebasan data atau independensi data (data independence).

Independensi data (data Independence) adalah ketidaktergantungan/kebebasan data dalam basis data, yang mempunyai 2 dimensi yaitu:

o Independensi data secara fisik (physical data independence) o Independensi data secara logik (logical data independence)

Independensi data secara fisik, dimaksudkan bahwa teknik dan cara-cara penyimpanan dan pengaksesan data dalam fisik media penyimpan dapat mengalami perubahan tanpa harus mengubah deskripsi logik basis data (Global logical data/conseptual l view) yang digunakan dalam schema basis data.

Independensi data secara logik, dimaksdukan bahwa kebutuhan-kebutuhan data para pemakai dapat mengalami perubahan tanpa harus mengubah pandangan

(41)

logik pemakai terhadap basis data atau deskripsi logik basis data (Global logical data/conseptua l view) yang digunakan dalam schema basis data.

Independensi data akan memberikan jaminan fleksibilitas basis data, yaitu: 1. Media dan metode akses data dari fisik media penyimpan basis data dapat

mengalami perubahan tanpa harus mengubah conceptual view

2. Kebutuhan data-data oleh para pemakai basis data dapat mengalami perubahan tanpa harus mengubah conceptual view

3. Pemakai tidak perlu tahu kerumitan/kompleksitas perancangan dan teknis penyimpanan basis data dalam data storage

4.2. Integrasi Perancangan Basis Data

Pada saat perancangan basis data, perancang harus memposisikan dirinya pada conceptual view. Level ini merupakan gabungan dari beberapa user view. Hal ini berarti bahwa perancangan basis data hanya bisa dilakukan setelah mengetahui seluruh kebutuhan para pemakai di dalam sistem.

Untuk hal ini, maka perancangan basis data dapat dilakukan dengan mengikuti langkah sebagai berikut:

1. Langkah analisis kebutuhan, meliputi;

a. Analisis kebutuhan batasan/ruang lingkup sistem b. Analisis kebutuhan model bisnis

c. Analisis keterkaitan antar unit fungsional dalam sistem d. Analisis kebutuhan data dan informasi dalam sistem

e. Analisis kemungkinan perubahan situasi/kondisi/kebijakan yang terkait dengan kebutuhan data dan informasi dalam sistem

2. Langkah perancangan, meliputi; a. Perancangan tahap awal, meliputi:

1). Pengelompokan data berdasarkan entitas/obyek data 2). Standarisasi nama-nama atribut

3). Standarisasi penggunaan kode data pada atribut 4). Perancangan struktur relasi database awal 5). Normalisasi struktur relasi database awal

6). Penentuan PK, FK dan kerelasian antar struktur relasi hasil normalisasi

b. Perancangan tahap lanjutan, meliputi: 1). Standarisasi data, yaitu:

a). Standarisasi nama-nama atribut

b). Standarisasi atribut dan penggunaan kode data yang digunakan antar unit fungsional dalam sistem

2). Pengkodean nilai-nilai data yang digunakan secara berulang pada record, yaitu:

a). Untuk nilai-nilai data yang mutlak tidak akan mengalami perubahan di kemudian hari, maka nilai-nilai data perlu dikodekan. Hal ini bertujuan untuk efisiensi penggunaan memori dan menjaga konsistensi data.

Misal:

o Data Jenis_Kelamin disimpan sebagai L (untuk mengkodekan nilai data jenis kelamin Laki-laki) dan P (untuk mengkodekan nilai data jenis kelamin Perempuan)

(42)

o Data Status_Menikah disimpan sebagai M (untuk mengkodekan nilai data status Menikah) dan B (untuk mengkodekan nilai data status Belum Menikah)

o Data Status_Aktif disimpan sebagai A (untuk mengkodekan nilai data status Aktif) dan T (untuk mengkodekan nilai data status Tidak Aktif)

b). Untuk nilai-nilai data yang memiliki kemungkinan mengalami perubahan di kemudian hari, maka nilai-nilai data perlu dikodekan dan kemudian dirancang relasi referensi. Hal ini bertujuan untuk:

o Efisiensi penggunaan memori o Menjaga konsistensi data o Minimalisasi kerangkapan data o Kemudahan pemeliharaan data Misal:

o Data Agama dapat disimpan ke dalam kode-kode data agama, yaitu:

o I (untuk menyatakan agama Islam)

o K (untuk menyatakan agama Kristen-Katholik) o P (untuk menyatakan agama Kristen-Protestan) o H (untuk menyatakan agama Hindu)

o B (untuk menyatakan agama Budha)

o Kemudian dirancang sebuah relasi referensi, yaitu relasi AGAMA

o Data Kelompok_Mata_Kuliah dapat disimpan ke dalam kode-kode kelompok mata kuliah, yaitu:

o W (untuk menyatakan kelompok mata kuliah Wajib) o M (untuk menyatakan kelompok mata kuliah Wajib

Minat)

o P (untuk menyatakan kelompok mata kuliah Pilihan). o Kemudian dirancang sebuah relasi referensi, yaitu

relasi KELOMPOK_MATA_KULIAH.

o Data Alamat dapat disimpan ke dalam kode-kode data alamat sehingga menjadi sebagai berikut:

o Alamat (untuk menyimpan nilai data nama jalan dan nomor rumah atau nama dusun dan desa)

o Kode_Kecamatan (untuk mengkodekan nilai data Kecamatan)

o Kode_Kabupaten (untuk mengkodekan nilai data Kabupaten)

o Kode_Propinsi (untuk mengkodekan nilai data Propinsi)

o Kemudian dirancang 3 (tiga) buah relasi referensi, yaitu relasi KECAMATAN, KABUPATEN, dan PROPINSI.

c). Untuk kode data berupa kode blok, maka nilai-nilai kode data dalam kode blok perlu dipisahkan, dan kemudian dirancang relasi referensi. Hal ini bertujuan untuk kemudahan pemeliharaan apabila terjadi perubahan pada:

o Format kode o Urutan kode

(43)

o Perubahan lainnya pada kode blok Misal:

o Data NIM mahasiswa yang memiliki 4 (empat) komponen dengan format Angkatan-Jenjang-Prodi-NomorUrut, disimpan ke dalam 4 (empat) buah atribut, yaitu:

o Angkatan o Jenjang o Prodi o NomorUrut

o Kemudian dirancang 3 buah relasi referensi, yaitu ANGKATAN, JENJANG, dan PRODI

o Data NIK dosen yang memiliki 4 komponen dengan format NomorUrut-BulanTahunLahir-KelompokDosen, disimpan ke dalam 2 (dua) buah atribut, yaitu:

o NomorUrut o KelompokDosen

o Sedangkan komponen BulanTahunLahir dapat diperoleh dari atribut Tanggal_Lahir_Dosen

o Kemudian dirancang 1 (satu) buah relasi referensi, yaitu KELOMPOK_DOSEN.

3). Perancangan keamanan data, yaitu:

a). Keamanan data dari kemungkinan terjadinya kehilangan, kerusakan, kegagalan, atau permasalahan lainnya pada fisik memori, serta mekanisme backup dan restore data secara tersistem maupun manual.

b). Keamanan data dari kemungkinan akses secara illegal, pembatasan kewenangan akses, dan permasalahan lainnya pada akses data.

3. Langkah pengujian, meliputi:

a. Pengujian kelengkapan data dalam rancangan struktur relasi database. Pengujian dilakukan dengan cara mengecek kembali semua formulir isian data, dan semua keluaran/laporan maupun informasi yang harus ditampilkan di monitor yang digunakan/diperlukan oleh semua pemakai, dalam semua level manajemen, dalam semua unit fungsional dalam sistem

b. Pengujian kerangkapan data dalam rancangan struktur relasi database. Pengujian dilakukan dengan cara mengecek kembali semua rancangan struktur relasi database menggunakan semua kemungkinan nilai data

c. Pengujian kemungkinan terjadinya inkonsistensi data dalam rancangan struktur relasi database. Pengujian dilakukan dengan cara mengecek kembali semua rancangan struktur relasi database menggunakan semua kemungkinan nilai data

d. Pengujian untuk penggunaan bersama oleh para pemakai/aplikasi dalam unit fungsional lain dalam sistem. Pengujian dilakukan dengan cara mengecek kembali semua rancangan struktur relasi database dari semua sudut pandang unit fungsional dalam sistem

e. Pengujian fleksibilitas rancangan struktur relasi database untuk perubahan nilai-nilai data di kemudian hari. Pengujian dilakukan dengan cara mengecek kembali semua rancangan struktur relasi database berdasarkan kemungkinan terjadinya perubahan nilai-nilai

Gambar

tabel database  o Form input detail data   2.2. Kembali ke tampilan submenu
Tabel  Jumlah  Atribut
Tabel ke       :                        Nama Tabel :
Tabel  Jumlah % Jumlah  %  Pendidikan Perancang
+7

Referensi

Dokumen terkait

Hal ini sejalan dengan penurunan angka kemiskinan Papua Barat dari tahun 2009 ke tahun 2010 sebesar 2,32 persen tetapi berlaku sebaliknya bagi kenaikan persentase penduduk miskin di

Hal ini dapat dilihat dari beberapa kenyataan antara lain seperti adanya program pemberdayaan masyarakat dari unit kerja pemerintah yang tidak dikoordinasikan

Pola pervasif deficit sosial dan interpersonal yang ditandai oleh ketidak senangan akut dengan, dan penurunan kapasitas untuk, hubungan erat dan

Saya harus memikirkan dia. Rumah belum dapat. Masih nebeng di tempat kawan. Dia harus diurus. Saya cari keterangan. Nelpon pakai bahasa Belanda yang masih baik, karena

Pola Kegiatan Dokter, Perawat, Staff Instalasi Rawat Jalan .... Pola Kegiatan Pasien Gawat

kepada walidain dan aqrabin yang mendapatkan bagian harta peninggalan tetap diterapkan dan dilaksanakan, sedangkan pendapat lain mengatakan bahwa ketentuan wasiat

Penelitian ini akan mengkaji tentang taraf sinkronisasi hukum yang melihat pada putusan hakim dalam menjatuhkan putusan terhadap pelaku tindak pidana pembunuhan

EKSPOR UTAMA KE SINGAPURA : MINYAK DAN GAS PETROLEUM SERTA BARANG ELEKTRONIK Komoditas ekspor Indonesia ke Singapura terbesar adalah kelompok komoditas minyak bumi dan batubara