Analisa Sistem Informasi 1. 2. 3. 4. 5. 6. 7.
Analisa masalah Uraian Prosedur/Cross Functional Flowchart Analisa Keluaran Analisa Masukan Analisa Proses : DAD Sistem Berjalan Analisa Data Identifikasi Kebutuhan
4/29/2011 3:52 PM
Fathur'2010
1
Perancangan Sistem Informasi 1. Rancangan basis data/Pemodelan Data : a. CDM (Context Data Model) b. LDM (Logical Data Model) c. Normalisasi d. LDM Normal e. Database Schema f. Spesifikasi basis data 3. Rancangan Proses/Pemodelan Proses (DAD Sistem Usulan) 4. Spesifikasi Proses 5. Rancangan Keluaran 6. Rancangan Masukan 7. Rancangan Layar 4/29/2011 3:52 PM
Fathur'2010
2
1. Rancangan Basis Data/Pemodelan Data 1. Context Data Model (CDM)
Berisikan pemodelan data yang tertuang dalam analisa data beserta relasi yang ada dalam bentuk ERD yang diusulkan Peter P.Chen, CDM hanya memperlihatkan item-item sebagai berikut : - Entiti - Relasi - Kardinalitas
Mahaiswa
M
N Isi
KRS
M
4/29/2011 3:52 PM
N Pilih
Fathur'2010
Matakuliah
3
Pemodelan Data : Entity Relationship Diagram (ERD)/Diagram Hubungan Entitas (DHE) Fungsi : - memodelkan data - melihat data yang akan disimpan Simbol-simbol : : - Entity Set/objek data - Kata benda Contoh : mahasiswa, pelanggan, barang, dan lain-lain
: - Relationship/hubungan - Menghubungan entity set - Kata kerja contoh : kerja, ambil, isi, dan lain-lain Atribut
: Ciri dari sebuah entity
Cardinality : - tingkat hubungan - melihat tingkat hubungan suatu relationship 1 : M (hubungan satu ke banyak) M : N (hubungan banyak ke banyak) 1 : 1 (hubungan satu ke satu) Tidak boleh ada hubungan antar relationship 4/29/2011 3:52 PM
Fathur'2010
4
The Entity Relationship (ER) Model
ER Modeling is a top-down approach to database design. Entity Relationship (ER) Diagram ◦ A detailed, logical representation of the entities, associations and data elements for an organization or business
ERD represents the conceptual database as viewed by end user
ERDs depict the ER model’s three main components: ◦ Entities ◦ Attributes ◦ Relationships
4/29/2011 3:52 PM
Fathur'2010
5
Entity-Relationship (ER) Modeling.
ER Modeling is a top-down approach to database design. Entity Relationship (ER) Diagram ◦ A detailed, logical representation of the entities, associations and data elements for an organization or business
Notation uses three main constructs ◦ Data entities ◦ Relationships ◦ Attributes
Chen Model & Crow’s Foot Model
4/29/2011 3:52 PM
Fathur'2010
6
Chen Notation
Association between the instances of one or more entity types EntityName
Verb Phrase
AttributeName
named property or characteristic of an entity
Person, place, object, event or concept about which data is to be maintained Represents a set or collection of objects in the real world that share the same properties 4/29/2011 3:52 PM
Fathur'2010
7
Entities
Refers to the entity set and not to a single entity occurrence
Corresponds to a table and not to a row in the relational environment
In both the Chen and Crow’s Foot models, an entity is represented by a rectangle containing the entity’s name
Entity name, a noun, is usually written in capital letters 4/29/2011 3:52 PM
Fathur'2010
8
Entity vs. Entity Set (Entities) Entity Set (Entities) --- Student
entity
John Smith
(999-21-3415, jsmith@, John Smith, 18, 3.5) Students in ITCS3160
999-21-3415, jsmith@, John Smith, 18, 3.5 999-31-2356, jzhang@, Jie Zhang, 20, 3.0 999-32-1234, ajain@, Anil Jain, 21, 3.8
4/29/2011 3:52 PM
Fathur'2010
9
Is it an entity? Rules: 1. An entity must be important to the organisation. 2. An entity must have at least one attribute. 3. An entity must occur more than once (there must be more than one customer) 4. Each entity occurrence (record) must be uniquely identifiable (customer id)
4/29/2011 3:52 PM
Fathur'2010
10
Entities
Examples of entities: ◦ Person: EMPLOYEE, STUDENT, PATIENT ◦ Place: STORE, WAREHOUSE ◦ Object: MACHINE, PRODUCT, CAR ◦ Event: SALE,REGISTRATION, RENEWAL
◦ Concept:ACCOUNT, COURSE
Guidelines for naming and defining entity types: ◦ ◦ ◦ ◦
An entity type name is a singular noun An entity type should be descriptive and specific An entity name should be concise Event entity types should be named for the result of the event, not the activity or process of the event.
4/29/2011 3:52 PM
Fathur'2010
11
Attributes
Characteristics of entities
In Chen model, attributes are represented by ovals and are connected to the entity rectangle with a line
Each oval contains the name of the attribute it represents
In the Crow’s Foot model, the attributes are simply written in the attribute box below the entity rectangle 4/29/2011 3:52 PM
Fathur'2010
12
Jenis Attribute • Composite vs Simple(atomic) Attributes • Single-valued vs Multivalued Attributes • Stored vs Derived Attributes • Null values • Key Attribute
4/29/2011 3:52 PM
Fathur'2010
13
Composite vs Simple (Atomic) • Composite attributes dapat dibagi ke subbagian yang lebih kecil dan merepresentasikan attribute yang lebih dasar • Simple attributes tidak dapat dibagi • Contoh: Alamat -> Jalan, Kota, Propinsi,KodePos, Negara; Jalan -> NoRumah, NamaJalan Single-valued vs Multivalued Attributes • umur -> single-valued • noTelpon -> multivalued Store vs Derived Attributes • umur -> derived attribute dari tglLahir • tglLahir -> stored attribute Null values • noTelpon -> null (jika tidak punya telpon) 4/29/2011 3:52 PM
Fathur'2010
14
Relationship • Manager yang mengelola suatu Department -> hubungan antara Employee dengan Department; manages • Department yang mengontrol suatu Project -> hubungan antara entity Department dengan Project; controls • Employee yang bekerja pada Department tertentu -> hubungan antara entity Employee dengan Department; works_for • Cardinality Ratios untuk relationship biner menggambarkan jumlah instances suatu entity dapat berpartisipasi Contoh: works_for; DEPARTMENT:EMPLOYEE = 1:N Kemungkinan cardinality ratios: 1:1, 1:N, N:1, M:N
4/29/2011 3:52 PM
Fathur'2010
15
A
M
Id_A(pk) - dt_A
A
1
Id_A(pk) - dt_A
1
C Id_A(fk) Id_B(fk)
1
B Id_B(pk) - dt_B
Id_A(fk) Id_B(fk) - Dt_C
Id_A(pk) - dt_A
A
N
C
B Id_B(pk) -dt_B -id_A(FK )
C
M
Id_A(fk) Id_B(fk)
B Id_B(pk) dt_B -Id_B(fk)
4/29/2011 3:52 PM
Fathur'2010
16
contoh : 1. Dalam sistem perkuliahan, seorang mahasiswa dapat mengambil lebih dari satu mata kuliah, dan 1 mata kuliah dapat diambil oleh lebih 1 mahasiswa. ERD-nya adalah : Mahaiswa
NIM (PK) Nama Alamat
M
N
ambil NIM (FK) KdKul (FK) Nilai
Mata kuliah
KdKul (PK) NamaKul sks
2. Dalam sistem kepegawaian, jika asumsi seorang pegawai dapat memegang lebih dari satu jabatan dan satu jabatan hanya dapat dipegang oleh satu pegawai, maka ERD-nya adalah ?
4/29/2011 3:52 PM
Fathur'2010
17
STUDI KASUS 1 Perhatikan contoh 2 formulir masukkan dalam sistem koperasi simpan pinjam berikut : Formulir Anggota Koperasi No. Anggota Nama Alamat Telepon Tempat Lahir Tgl Lahir
: ………… : ………………….. : …………. : …………. : …………. : ……………
Formulir Peminjaman Uang No. Pinjam No. Anggota Nama Jumlah Angsuran/bulan
: ………… : ………… : …… : ……….. : ….
Tanggal : …… Frekuensi : …. Bunga : …..
Dalam sistem koperasi simpan pinjam tsb serorang anggota dapat meminjam lebih satu kali jika pinjaman sebelumnya sudah lunas. Buatkan ERD nya ! 4/29/2011 3:52 PM
Fathur'2010
18
Jenis-Jenis Entitas : 1. Weak Entity (Entitas lemah) Terjadi bila sebuah entity tidak memiliki primary key bergantung pada strong key Contoh : Pegawai
1
M
Isi
* NIP - Nama - Alamat
Pinjaman
* NoPinj - tgl - jum - ferk
Absensi - tanggal - jum_masuk - jum_keluar
M
angsu r * NoPinj
N
4/29/2011 3:52 PM
Angsuran
- tglBayar - Jum_Angsur
Fathur'2010
19
Jenis-Jenis Entitas : 2. Agregation (Agregasi) Terjadi bila dua buah entiti yang berlesai akan direlasikan ke entiti lain. Contoh ; Anggota
M
pinja m * Noang * NoBuku
* Noang - Nama - Alamat
N
Buku * NoBuku - Judul
M
* Noang * NoBuku * Kd_Denda - Jumlah
Kembal i N Denda
* Kd_Denda - Jenis
4/29/2011 3:52 PM
Fathur'2010
20
Jenis-Jenis Entitas : 3. Spesialisasi dan Generalisasi (Is A) Terjadi bila terdapat beberpa atribut pada beberapa entiti dengan Primary Key (PK) yang sama. Contoh : Koleksi * No_Koleksi - Tgl_Beli Is A Buku - Judul - Pengarang - Harga
Skripsi - Judul - NRP
Pegawai
Majalah - Nama - Edisi - Harga * NIP - Nama
Is A Tetap - GajiPokok - t_anak - t_sehat
Honorer - Upah_Hari - UpahLembur 4/29/2011 3:52 PM
Fathur'2010
21
2. Logical Data Model (LDM) Berisikan ERD yang didasarkan pada CDM yang ada. LDM menggunakan notasi ERD yang diusulkan oleh James Martin atau dikenal dengan notasi Informastion Engineering. Bentuk LDM ini sudah menyertakan item-item berikut : - Entiti - Kardinalitas - Atribut-atribut key dan non key - Transformasi kardinalitas Many-to-Many dalam CDM ke dalam bentuk Associative Entity MHS NIM (PK) Nama Alamat TmpLahir TglLahir KdJurusan ThnMasuk Status
KRS NoKrs (PK1) (FK) NIM (PK2) (FK) ThAkad Semester StatusStudi
4/29/2011 3:52 PM
PilihMK NoKRS (PK1)(FK) KodeMK (PK2)(FK) StatusUlang HMutu
Fathur'2010
22
Notasi LDM Chen Model 1
◦ 1 to represent one. ◦ M to represent many
M
Crow’s Foot One
One or one
many One or many
Zero
Zero or many
4/29/2011 3:52 PM
Fathur'2010
23
Derajat Relasi Minimum Menunjukan korespondensi minimum yang boleh terjadi dalam sebuah relasi antar himpunan entitas. Contoh : seorang mahasiswa boleh mengambil banyak mata kuliah sekaligus dan demikian juga sebaliknya (N:N). Faktanya seorang mahasiwa boleh tidak mengambil satu mata kuliah satupun (karena cuti) dan bisa terjadi satu mata kuliah tidak diikuti satu mahasiswa pun. Maka derajat relasi minimumnya sama-sama 0 (nol). Sehingga dalam diagram ER
kardinalitasnya dapat dituliskan Mhs : Matakuliah = (0,M) : (0,N). Seorang dosen dimungkinkan tidak mengajar mata kuliah satupun, tetapi satu mata kuliah harus ditentukan dosen yang mengajarkannya : Matakuliah : Dosen = (0,N) : (1:I)
4/29/2011 3:52 PM
Fathur'2010
24
M
1
Lecturer
handles (0,N)
Class (1,1)
A Lecturer may handle zero or many classes.
A class is handled by one and only one Lecturer.
handles
Lecturer (1,1)
Class (0,N)
4/29/2011 3:52 PM
Fathur'2010
25
Studi Kasus Seorang sales memiliki kode sales dan nama sales membuat nota perminataan. Setiap nota permintaan memiliki nomor nota dan tanggal nota. Nota permintaan digunakan untuk meminta barang. Setiap barang memiliki kode barang dan nama barang. Setiap permintaan terjadi dicatat jumlah barang, nama barang, harga satuan dan total harga. Seorang sales dapat membuat banyak nota dan setiap nota dapat digunakan untuk meminta beberapa barang
4/29/2011 3:52 PM
Fathur'2010
26
Ketergantungan Fungsional (KF)/ Functional Dependency (FD) Functional Dependency (FD) adalah ketergantungan yang terjadi antara atributatribut dalam suatu entiti. Basis data yang baik, dalam satu entiti/tabel hanya ada 1 ketergantungan fungsional (KF) atau disebut dengan Basis data normal Notasi KF : A B Artinya : atribut B tergantung pada A Contoh : KodeMk NamaMk (artinya atribut NamaMk tergantung pada atribut KodeMk) NIM Nama,Alamat,Telp (artinya atribut Nama,Alamat, Telp tergantung pada atribut NIM) Dalam format lain Notasi KF dapt dituliskan juga dalam bagan berikut :
Nama NIM
NIM Alamat
Mutu
Kodemk Telp 4/29/2011 3:52 PM
Fathur'2010
27
Dalam hal menyusun supaya basis data menjadi normal maka diperlukan suatu proses normalisasi. Hal-hal yang menjadi acuan dasar dalam proses normalisasi adalah tujuan pembentukan basis data, diantaranya harus menghilangkan hal-hal berikut :
1. pengulangan informasi (redudancy) 2. potensi inkonsistensi data pada operasi update 3. hindari atribut yang tidak perlu disimpan (derive attribut) 4. tersembunyinya informasi tertentu
Normalisasi Memperlihatkan langkah-langkah normalisasi yang dilakukan. Diuraikan dalam bentuk notasi dan diagram Ketergantungan Fungsional mapupun nilai majemuk bagi entiti-entiti yang teridentifikasi belum normal serta tahapan normalisasi yang dilakukan
4/29/2011 3:52 PM
Fathur'2010
28
a. Bentuk Normal Pertama Digunakan untuk mengidentifikasi atribut-atribut bernilai ganda atau lebih dikenal dengan multivalued attribut. Entiti harus bernilai atomik. Jika terdapat entiti yanng belum atomik, maka digambarkan penyelesaiannya sehingga menjadi nomal pertama. Berikut diberikan contoh entiti yang belum atomik, karena atribut hobi bisa saja berisi lebih dari satu, sebagai contoh : NIM Nama Hobi
NIM Nama
4/29/2011 3:52 PM
NIM Hobi
Fathur'2010
29
b. Bentuk Normal Kedua Digunakan untuk mengidentifikasi atribut-atribut non key yang partially functional dependent. Mahaiswa
M
ambil
NIM (PK) Nama Alamat
NIM Nama KdMk NamaMk Nilai
N
NIM (FK) Nama KdMk (FK) NamaMk Nilai
Mata kuliah KdMk (PK) NamaMk sks
Nama
NIM
Nama
NIM NamaMk
Kodemk
NamaMk Kodemk
Nilai
Nilai NIM
NIM
Nama KF-1
KodeMk NamaMk KF-2 4/29/2011 3:52 PM
Nilai
Kodemk KF-3 Fathur'2010
30
c. Bentuk Normal Ketiga Digunakan untuk mengidentifikasi atribut-atribut non key yang termasuk atribut hasi proses atribut lain (derived attribut) dan atribut non key yang terkait non key lainnya. Anggota
1
NoAng (PK) Nama Alamat
NoPinjam (PK) Tanggal NoAnggota (Fk) Nama Jumlah Frekuensi Bunga
Pinjam Noang (FK) NoPinjam(FK)
NoPinjam
Tanggal NoAnggota Nama Jumlah Frekuensi Bunga
4/29/2011 3:52 PM
M
Pinjaman NoPinjam (PK) Tanggal NoAnggota (FK) Nama Jumlah Frekuensi Bunga
Tanggal NoAnggota
NoPinjam
Fathur'2010
Nama Jumlah Frekuensi Bunga 31
Logical Data Model (LDM) Menggambarkan ERD yang sudah mengalami normalisasi.
MHS NIM (PK) Nama Alamat TmpLahir TglLahir KdJurusan ThnMasuk Status
KRS NoKrs (PK1) (FK) NIM (PK2) (FK) ThAkad Semester StatusStudi
PilihMK NoKRS (PK1)(FK) KodeMK (PK2)(FK) StatusUlang HMutu
4/29/2011 3:52 PM
Fathur'2010
32
Database Schema Menggambarkan LDM yang sudah normal dalam relasi antar entiti (Relational Database) dengan mencantumkan tipe data dari tiap atribut serta status atribut yang PK/FK. Contoh : MHS NIM (PK) Char(10) (PK) Nama Varchar(40) Alamat Varchar(60) TmpLahir VarChar(15) TglLahir DateTime KdJurusan Char(4) ThnMasuk Char(4) Status INT
KRS NoKrs (PK) Char(10) (PK) NIM Char(10) (FK) ThAkad Char(9) Semester Char(1) StatusStudi Char(1) PilihMK NoKRS (PK1)(FK) KodeMK (PK2)(FK) StatusUlang HMutu
4/29/2011 3:52 PM
Fathur'2010
Char(10) Char(6) Char(1) Char(1)
33
Spesifikasi Basis Data Berisikan uraian rinci semua tabel yang berada dalam Database Schema. Format spesifikasi basis data : Nama File Media Isi Primary Key Panjang Record Jumlah Record Struktur
No
: Nama Entiti/Tabel : Media yang digunakan : Uraian semua atribut yang ada : Atribut yang menjadi PK : Panjang sebuah record yg dihitung dari lebar masing-masing atribut : rata-rata jumlah record per satuan waktu :
Nama Field
Tipe Data
Lebar
Desimal
4/29/2011 3:52 PM
Keterangan
Fathur'2010
34
Perencanaan Kapasitas Database Untuk setiap tabel jumlahkan field size. Hasilnya adalah panjang record (record size) Untuk setiap tabel, kalikan panjang record dengan jumlah dari entity instance yang ada di dalam (direncanakan). Hasilnya adalah besarnya Tabel (tabel size) Jumlahkan table-size, diperoleh database size Sebgai pilihan, tambahkan buffer slack capacity (mis : 10 %) untuk hal tak terduga. Hasilnya adalah kapasitas database antisipasi
4/29/2011 3:52 PM
Fathur'2010
35