Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Antonius Wahyu Sudrajat, S. Kom., M.T.I.

Presentasi serupa


Presentasi berjudul: "Antonius Wahyu Sudrajat, S. Kom., M.T.I."— Transcript presentasi:

1 Antonius Wahyu Sudrajat, S. Kom., M.T.I.

2 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Kompetensi pembelajaran Mahasiswa dapat merancang basis data sesuai dengan sistem informasi yang dibangun. Mahasiswa dapat merancang basis data menggunakan pemodelan ERD atau Normalisasi (Pendekatan terstruktur)

3 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Materi Konsep Sistem Basis Data Keuntungan dan kerugian basis data Peranan Basis Data dalam Sistem Informasi Fungsi dan Tujuan Perancangan Basis Data Abstraksi Data Rancangan Data Logis – Rancangan Database menggunakan pemodelan ER-Diagram – Rancangan Database menggunakan Teknik Normalisasi Rancangan Data Fisik – Spesifikasi Tabel

4 Antonius Wahyu Sudrajat, S. Kom., M.T.I. TERMINOLOGI SISTEM BASIS DATA

5 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Basis data (database) merupakan kumpulan dari data yang saling berhubungan dengan yang lainnya, tersimpan di perangkat keras komputer dan digunakan perangkat lunak untuk memanipulasinya. Database merupakan salah satu komponen yang penting dalam sistem informasi, karena merupakan basis dalam menyediakan informasi bagi para pemakai. Penerapan database dalam sistem informasi disebut dengan database system. Definisi Basis Data

6 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Definisi Basis Data secara konsep basis data atau database adalah kumpulan dari data-data yang membentuk suatu berkas (file) yang saling berhubungan (relation) dengan tata cara yang tertentu untuk membentuk data baru atau informasi. Atau Basis data (database) merupakan kumpulan dari data yang saling berhubungan (relasi) antara satu dengan lainnya yang diorganisasikan berdasarkan skema atau struktur tertentu.

7 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Tujuan Pemanfaatan Basis Data (1) 1. Kecepatan dan Kemudahan (Speed) Yakni agar pengguna basis data bisa: -m-menyimpan data -m-melakukan perubahan/manipulasi terhadap data -m-menampilkan kembali data dengan lebih cepat dan mudah dibandingkan dengan cara biasa (baik manual ataupun elektronis). 2. Efisiensi Ruang Penyimpanan (Space) Dengan basis data kita mampu melakukan penekanan jumlah redundansi (pengulangan) data, baik dengan menerapkan sejumlah pengkodean atau dengan membuat relasi-relasi antara kelompok data yang saling berhubungan.

8 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Tujuan Pemanfaatan Basis Data (2) 3. Keakuratan (Accuracy) Agar data sesuai dengan aturan dan batasan tertentu dengan cara memanfaatkan pengkodean atau pembentukan relasi antar data bersama dengan penerapan aturan/batasan (constraint) tipe data, domain data, keunikan data dsb. 4. Ketersediaan (Availability) Agar data bisa diakses oleh setiap pengguna yang membutuhkan, dengan penerapan teknologi jaringan serta melakukan pemindahan/penghapusan data yang sudah tidak digunakan / kadaluwarsa untuk menghemat ruang penyimpanan.

9 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Tujuan Pemanfaatan Basis Data (3) 5. Kelengkapan (Completeness) Agar data yang dikelola senantiasa lengkap baik relatif terhadap kebutuhan pemakai maupun terhadap waktu, dengan melakukan penambahan baris-baris data ataupun melakukan perubahan struktur pada basis data; yakni dengan menambahkan field pada tabel atau menambah tabel baru. 6. Keamanan (Security) Agar data yang bersifat rahasia atau proses yang vital tidak jatuh ke orang / pengguna yang tidak berhak, yakni dengan penggunaan account (username dan password) serta menerapkan pembedaan hak akses setiap pengguna terhadap data yang bisa dibaca atau proses yang bisa dilakukan.

10 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Tujuan Pemanfaatan Basis Data (4) 6. Kebersamaan (Sharability) Agar data yang dikelola oleh sistem mendukung lingkungan multiuser (banyak pemakai), dengan menjaga / menghindari munculnya problem baru seperti inkonsistensi data (karena terjadi perubahan data yang dilakukan oleh beberapa user dalam waktu yang bersamaan) atau kondisi deadlock (karena ada banyak pemakai yang saling menunggu untuk menggunakan data).

11 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Pemakai Basis Data (1) Secara umum, seluruh sistem dalam kehidupan bisa menggunakan konsep basis data dalam pengelolaan informasi, karena semua sistem tersebut tak bisa lepas dari fakta. Bidang-bidang fungsional yang memanfaatkan basis data dalam hal efisiensi, akurasi dan kecepatan operasi antara lain adalah: - Kepegawaian, untuk berbagai perusahaan yang memiliki banyak pegawai - Pergudangan (inventory), untuk perusahaan manufaktur (pabrik), grosir (reseller), apotik dll - Akuntansi, untuk berbagai perusahaan - Akuntansi, untuk berbagai perusahaan Layanan pelanggan (Customer care), untuk perusahaan yang berhubungan dengan banyak pelanggan (bank, konsultan dll)

12 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Pemakai Basis Data (2) Bentuk-bentuk Perusahaan yang memanfaatkan Basis Data: - Perbankan, dalam melakukan pengelolaan data nasabah, tabungan, pinjaman, pembuatan laporan akuntansi, pelayanan informasi pada nasabah dll - Pendidikan / sekolah, dalam melakukan pengelolaan data siswa, penjadwalan kegiatan, perkuliahan, nilai dll. - Rumah Sakit, dalam melakukan pengelolaan histori penyakit / pengobatan pasien, menangani pembayaran perawatan dll. - Telekomunikasi, dalam melakukan pengelolaan data administrasi kabel / data pelanggan, menangani gangguan dll. - Dan lain sebagainya

13 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Penyimpanan Data Cara Konvensional Cara Moderen Kelebihan: a. ? b. ? Memanfaatkan Teknologi Informasi (Komputer) Kekurangan: a. ? b. ? File Database Kelebihan: a. ? b. ? Kekurangan: a. ? b. ? Kelebihan: a. ? b. ? Kekurangan: a. ? b. ?

14 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Posisi DBMS dalam Sistem Basis Data Keterangan : 1. User adalah pemakai 2. Program aplikasi adalah tampilan menu utama 3. Software proses adalah SQL Server atau Microsoft Access. DBMS User Program Aplikasi Software Proses Software Akses File Management Sistem Database Bahasa SQL Mengatur pemrosesan database baik Keluar /masuk

15 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I

16 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Sistem Basis Data NPMNamaAlamat 001Roma IramaBandung 001Budi AndukJakarta 003Luna MayaPalembang Berkas/Tabel/File/relasi Baris/record Kolom/Field Basisi data Item value Tabel Mahasiswa

17 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Abstraksi Data Tingkat fisik Tingkat fisik adalah tingkat terendah dari abstraksi yang menjelaskan tentang penyimpanan data. Pada tingkat fisik, struktur data tingkat rendah yang kompleks dijelaskan secara detail. Tingkat logik Tingkat abstraksi selanjutnya yang menjelaskan data apa saja yang disimpan dalam basis data dan hubungan yang ada pada data-data tersebut. Keseluruhan basis data dijelaskan dalam bentuk sejumlah kecil struktur data yang sederhana. Walaupun implementasi dari struktur sederhana pada tingkat logik mungkin melibatkan struktur yang kompleks di tingkat fisik, pengguna dari tingkat logik tidak diharuskan untuk mengerti kompleksitas ini. Abstraksi tingkat logik digunakan oleh database administrator sebagai orang yang harus memutuskan informasi yang akan disimpan dalam suatu basis data. Tingkat view Tingkat view adalah tingkat tertinggi dari abstraksi yang menjelaskan hanya sebagian dari keseluruhan basis data. Sebagian besar pemakai basis data tidak akan menghiraukan seluruh informasi, tetapi pemakai tertentu perlu mengakses sebuah bagian dari basis data. Supaya interaksi pemakai dengan sistem dapat menjadi lebih sederhana, abstraksi tingkat view didefinisikan. Sistem dapat menyediakan banyak view untuk basis data yang sama.

18 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Abstraksi Data View Level

19 Antonius Wahyu Sudrajat, S. Kom., M.T.I. PROSES DESIGN SISTEM BASIS DATA

20 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Daur Hidup (Life Cycle) yang Umum dari Aplikasi Basis Data Definisi Sistem Database Design Implementasi Loading/Konversi Data Konversi Aplikasi Testing & Validasi Operations Control & Maintenance

21 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Daur Hidup (Life Cycle) dari Aplikasi Basis Data Definisi Sistem:  ruang lingkup basis data  pemakai  aplikasi Design:  logical design  ER/EER  physical design untuk suatu DBMS

22 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Daur Hidup (Life Cycle) dari Aplikasi Basis Data Implementasi:  membuat basis data (kosong)  membuat program aplikasi Loading/ Konversi Data:  memasukkan data ke dalam basis data  mengkonversi file yang sudah ada ke dalam format basis data dan kemudian memasukkannya dalam basis data

23 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Daur Hidup (Life Cycle) dari Aplikasi Basis Data Konversi Aplikasi: Semua aplikasi dari sistem sebelumnya dikonversikan ke dalam sistem basis data. Testing dan Validasi: Sistem yang baru harus ditest dan divalidasi (diperiksa keabsahannya).

24 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Daur Hidup (Life Cycle) dari Aplikasi Basis Data Operasi: Pengoperasian basis data dan aplikasinya. Monitoring dan Maintenance: Selama operasi, sistem dimonitor dan diperlihara. Baik data maupun program aplikasi masih dapat terus tumbuh dan berkembang.

25 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Proses Design Sistem Basis Data Basis Data biasanya merupakan salah satu bagian dari suatu sistem informasi yang besar yang antara lain terdiri dari: Data Perangkat lunak DBMS Perangkat keras komputer Perangkat lunak dan sistem operasi komputer Program-program aplikasi Pemrogram, dll

26 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Proses Design Basis Data 1.Pengumpulan dan analisa requirement 2.Design basis data conceptual 3.Pemilihan DBMS 4.Mapping dari conceptual ke logical 5.Physical Design 6.Implementasi

27 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Proses Design Basis Data (cont’d) Keenam phase dalam proses design tidak perlu dilaksanakan secara mutlak, mungkin ada umpan balik antar phase dan dalam masing-masing phase

28

29 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Proses Design Paralel Proses design terdiri dari dua proses yang paralel yaitu: proses design dari data dan struktur dari basis data (data driven) proses design dari program aplikasi dan pemrosesan basis data (process driven)

30 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Mengapa Harus Paralel Karena kedua proses tersebut saling bergantungan. Contoh: 1.Menentukan data item yang akan disimpan dalam basis data tergantung dari aplikasi basis data tersebut, juga dalam menentukan struktur dan akses path. 2.Design dari program aplikasi tergantung dari struktur basis datanya. 3.Biasanya condong ke salah satu.

31 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Phase 1: Pengumpulan Data & Analisa Requirement Pengidentifikasian group pemakai dan area aplikasi Penelitian kembali dokumen-dokumen yang sudah ada yang berhubungan dengan aplikasi  form, report, manual, organization chart, dsb Analisa lingkungan operasi dan kebutuhan dari pemrosesan, seperti tipe transaksi, input/output, frekuensi suatu transaksi, dsb Transfer informasi informal ke dalam bentuk terstruktur menggunakan salah satu bentuk formal dari requirement specification (bentuk diagram) seperti Flow Chart, DFD, UML Diagram, dll. Hal ini dilakukan untuk mempermudah pemeriksaan kekonsistenan, ketepatan, dan kelengkapan dari spesifikasi.

32 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Phase 2: Design Conceptual Phase 2A: Design Conceptual Schema -High level data model, bukan implementation-level data model -Memberikan gambaran yang lengkap dari struktur basis data yaitu arti, hubungan, dan batasan-batasan. -Conceptual schema bersifat tetap -Alat komunikasi antar pemakai basis data, designer, dan analis

33 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Phase 2: Design Conceptual (cont’d) Phase 2A: Design Conceptual Schema -Harus bersifat: -Mampu menyatakan relationship, batasan-batasan -Diagram -Formal, minimum dalam menyatakan spesifikasi data (tidak ada duplikasi) -Simple -Conceptual data model harus DBMS independent  ER/EER

34 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Strategi untuk Design Schema Top Down: - mulai dengan beberapa high level entity type - bagi lagi (top down) menjadi beberapa lower-level entity type dan relationship type Bottom Up: - mulai dengan atribut - kelompokkan menjadi entity type & relationship type - tambahkan relationship-relationship baru bila ada

35 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Strategi untuk Design Schema (cont’d) Inside Out: – bentuk khusus dari bottom-up – mula-mula ditentukan entity type yang merupakan pusat/bagian terpenting – tambahkan entity type dan relationship lain yang berhubungan satu sama lain

36 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Strategi untuk Design Schema (cont’d) Mixed: – requirement dibagi-bagi menggunakan strategi top down – sebagian dari schema di-design dari partisi-partisi menggunakan strategi bottom-up – bagian-bagian dari komponen-komponen tersebut kemudian digabungkan

37 Examples of bottom- up refinement. ( a) Discovering and adding new relationships. (b) Discovering a new category (union type) and relating it.

38 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Phase 2b: Design Transaksi Pada saat suatu basis data di-design, aplikasi dari transaksi utama harus sudah diketahui Transaksi-transaksi baru dapat didefinisikan kemudian Tentukan karakteristik dari transaksi dan periksa apakah basis data sudah memuat semua informasi untuk melaksanakan transaksi

39 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Phase 2b: Design Transaksi (cont’d) Transaksi dapat dibagi dalam 3 bagian yaitu: - retrieval - update - mixed Phase 2a dan 2b sebaiknya dilaksanakan secara paralel dengan menggunakan umpan balik agar didapat design schema dan transaksi yang stabil

40 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Phase 3: Pemilihan DBMS Pemilihan DBMS ditentukan oleh sejumlah faktor antara lain: – faktor teknis: storage, akses path, user interface, programmer, bahasa query – faktor ekonomi: software, hardware, maintenance, training, operasi, konversi, teknisi, dll – faktor organisasi: kompleksitas, data, sharing antar aplikasi, perkembangan data, pengontrolan data

41 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Phase 4: Mapping dari Data Model Memetakan conceptual model ke dalam DBMS Menyesuaikan schema dengan DBMS pilihan Hasil pemetaan biasanya berupa DDL

42 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Phase 5: Physical Design Struktur storage, akses path untuk mendapatkan performance yang baik Kriteria baik dapat dilihat dari: - response time - pemakaian storage - throughput (jumlah transaksi per unit waktu) Perlu tuning untuk memperbaiki performance berdasarkan statistik pemakaian

43 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Phase 6: Implementasi Sistem Basis Data DDL dan SDL dari DBMS dikompilasi membentuk schema basis data dan basis data yang masih kosong Basis data dapat dimuati (di-load) dari sistem yang lama Transaksi dapat diimplementasikan oleh program aplikasi dan dikompilasi Siap dioperasikan

44 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Rancangan Basis Data Alat bantu perancangan basis data dengan pendekatan terstruktur – ERD (Entity Relationships Diagram) – Teknik Normalisasi Alat bantu perancangan basis data dengan pendekatan berorientasi objek – Diagram UML, menggunakan Diagram Class

45 Antonius Wahyu Sudrajat, S. Kom., M.T.I. Database Design and Implementation

46 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I ERD ERD: Entity Relationship Diagram Mencerminkan model database: struktur dari entities (tabel-tabel) dan relationships (hubungan-hubungan) di antara entities tersebut.

47 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Entity-Relationship Model E-R Models are Conceptual Models of the database. They can not be directly implemented in a database. Desainnya mendekati pengamatan/penerimaan user terhadap data. Didasarkan atas OBJECT riil dunia nyata dan hubungan antar object-object tersebut. Entity-Relationship model terdiri dari Entity, Relationship, dan Attribute.

48 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Versi ERD Nama_entitas Atribut 1 Atribut 2.. Atribut N Nama_entitas Atribut 1 Atribut 2.. Atribut N Nama_relasi Entitas Relasi Atribut (MIN,MAX) James Martin Peter Chen

49 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Komponen ERD Entitas Atribut Relasi

50 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Entitas  Merupakan obyek yang mewakili sesuatu dalam dunia nyata dan dapat dibedakan antara satu dengan lainnya (unique).  Memiliki atribut yang mendeskripsikan karakteristik dari objek tersebut.  Dapat berupa: – Fisik (mobil, rumah, manusia, pegawai dsb) – Abstrak/konsep (department, pekerjaan, mata kuliah dsb) – Kejadian (pembelian, penjualan, peminjaman, dll)  Notasi : nama_entity Nama_Entity

51 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Varian Entitas :  Strong Entity (entitas kuat) Himpunan entitas yg tidak memiliki ketergantungan dg entitas yang lain.  Notasi : Nama_entitas

52 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Varian Entitas :  Weak Entity (entitas Lemah) Himpunan entitas yg keberadaannya ketergantungan dengan entitas yang lain. Himpunan entitas yg demikian tidak memp. atribut yg berfungsi sebagai key yg benar-benar menjamin keunikan entitas.  Notasi dan contoh : tanggungan Entitas tanggungan disebut sebagai entitas lemah karena jika data seorang pegawai dihapus maka data tanggungannya juga akan terhapus. Keberadaan data tanggungan tergantung pada data di pegawai

53 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I ATRIBUTE  karakteristik dari entity atau relationship yang menyediakan detail tentang entity atau relationship tersebut sehingga dapat dibedakan. Nilainya jarang berubah.  Merupakan karakteristik dari sebuah entitas (biasanya berhubungan dengan field dalam sebuah tabel). Penentuan atribut bagi suatu entitas didasarkan pada relevansinya terhadap entitas tersebut.

54 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Attribut Atribut dalam ERD dilambangkan dengan bentuk elips Atribut EntitasAtribut PegawaiNIP, Nama, Alamat, Agama, jenis kelamin DepartemenNo, Nama, lokasi Nama_entitas Atribut Nama_Entity Atribut 1 Atribut 2

55 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Macam-macam Atribut Simple Attribute dan Composite Attribute Single Valued Attribute dan Multi Valued Attribute Mandatory Attribute Derived Attribute (Attribut Turunan) Key Attribute (Atribut Kunci)

56 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Simple Attribute dan Composite Attribute Atribut sederhana/ Simple Attribute : atribut yang tidak dapat dibagi-bagi menjadi atribut yang lebih mendasar. Contoh : atribut harga dari entity barang. Atribut komposit/ Composite Attribute : atribut yang terdiri dari beberapa atribut yang lebih mendasar. Contoh : Entity mahasiswa memiliki atribut nama yang terdiri dari nama depan ( first name ), nama tengah ( middle name ) dan nama belakang ( last name ).

57 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Single Valued Attribute dan Multi Valued Attribute Atribut Berharga Tunggal (Single-valued Attribute) : atribut yang hanya mempunyai satu harga untuk suatu entitas tertentu. Contoh : atribut umur. Atribut Berharga Banyak (Multi-valued Attribute) : atribut yang dapat terdiri dari sekumpulan harga untuk suatu entitas tertentu. Contoh : atribut hobi.

58 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Derived Attribute (Attribut Turunan) Atribut Derivatif : suatu atribut yang dihasilkan dari atribut lain. Contoh : atribut umur yang dapat dihasilkan dari atribut tgl_lahir.

59 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Key Attribute (Atribut Kunci) Satu atau beberapa atribut yang mempunyai nilai unik sehingga dapat digunakan untuk membedakan data pada suatu baris/record dengan baris lain pada suatu entitas Macam key attribute: – Superkey – Candidat Key – Primary key

60 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Macam key attribute Superkey: satu atau gabungan beberapa atribut yang dapat membedakan setiap baris data dalam sebuah tabel secara unik Contoh  Superkey untuk entitas pegawai: NoKTP, Nama, Alamat, JenisKel, Gaji NoKTP, Nama, Alamat, JenisKel NoKTP, Nama, Alamat NoKTP, Nama Nama (jika dapat dijamin kalau tidak ada nama yang sama antara satu baris dengan baris yang lain) NoKTP Candidat Key: superkey yang jumlah atributnya paling sedikit Contoh  candidat key untuk entitas pegawai Nama (jika dapat dijamin kalau tidak ada nama yang sama antara satu baris dengan baris yang lain) NoKTP Primary key: suatu candidat key yang dipilih menjadi kunci utama karena sering dijadikan acuan untuk mencari informasi, ringkas, menjadi keunikan suatu baris Contoh : NoKTP antara satu pegawai dengan pegawai lain pasti berbeda, dalam hal ini noKTP dapat digunakan sebagai suatu key Notasi :

61 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Kardinalitas Menjelaskan jumlah keterhubungan satu entity dengan entity yang lainnya. (1 : 1) : satu entitas pada tipe entitas A berhubungan dengan paling banyak satu entitas pada tipe entitas B dan juga sebaliknya. Contoh : seorang manager hanya memimpin satu departemen dan begitu sebaliknya. M1 M2 M3 manager R1 R2 R3 manages D1 D2 D3 departement managerdepartement manages 11

62 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Kardinalitas (1 : N / N : 1) : suatu entitas di A dihubungkan dengan sejumlah entitas di B. Contoh : banyak karyawan berkerja untuk satu depertement atau satu departement memiliki banyak karyawan yang bekerja untuknya. E1 E2 E3 E4 E5 E6 employee R1 R2 R3 R4 R5 R6 works_for D1 D2 D3 departement employeedepartement works_for N1

63 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Kardinalitas (M : N) : setiap entitas A dapat berhubungan dengan banyak entitas B dan sebaliknya setiap entitas B juga dapat berhubungan dengan banyak entitas A. Contoh : satu proyek mempunyai banyak karyawan, satu karyawan boleh bekerja di beberapa proyek. E1 E2 E3 E4 employee R1 R2 R3 R4 R5 R6 works_on P1 P2 P3 project employeeproject works_on MN

64 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Kardinalitas

65 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Derajat Max/Min Relasi Derajat relasi maksimum, yaitu yang menunjukan hubungan (korespondensi) maksimum yang boleh terjadi antara himpunan entitas yang satu terhadap himpunan entitas yang lain. Derajat relasi minimum, yaitu yang menunjukan hubungan (korespondensi) minimum yang boleh terjadi antara himpunan entitas yang satu terhadap himpunan entitas yang lain. Derajat Max/MinNotasi ( 0, N ) atau ( 1, N )atau ( 1, 1 )atau ( 0, 1 )atau

66 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I

67 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I

68 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I

69 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Varian Relasi Relasi Tunggal (Unary Relation) – Merupakan relasi yang terjadi dari sebuah himpunan entitas ke himpunan entitas yang sama DOSEN Mendampingi 1 N Nama

70 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Varian Relasi Relasi Biner (BinaryRelation) – Merupakan relasi yang paling umum digunakan – Satu relasi menghubungkan dua entitas Dosen mengajar Mt. Kuliah NIP Nama_Dos Alamat Kelas ……… SKS SMT Nama_Mk 1N Kode_MK NIP Jml_Mk Jml_sks Kode_MK

71 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Varian Relasi Relasi Multi Entitas (N-Ary Relation) – Merupakan relasi yang menghubungkan lebih dari dua entitas. Dosen mengajar Mt. Kuliah NIP Nama_Dos Alamat Kelas ……… SKS SMT Nama_Mk Kode_MK NIP Kode_R Kode_MK Ruang Kode_R Nama_R

72 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Varian Relasi Relasi Ganda (Redudant Relation) – Relasi yang muncul antara dua himpunan entitas tidak hanya satu relasi, tetapi ada lebih dari satu relasi Dosen mengajar Mt. Kuliah NIP Nama_Dos Alamat Kelas SKS SMT Nama_Mk Kode_MK NIP Kode_MK menguasai NIP Kode_MK

73 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Generalisasi/Specialisasi (GENSPEC) SPESIALISASI – Dari sebuah himpunan entitas kemudian melakukan pengelompokan yang melahirkan himpunan entitas baru (proses Top Down) Dosen Tetap Dosen Tidak Tetap Dosen ISA

74 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Generalisasi/Specialisasi (GENSPEC) GENERALISASI – Dari beberapa himpunan entitas kemudian menjadi satu himpunan entitas (proses Bottom Up) Mahasiswa S1 Mahasiswa D3 Mahasiswa ISA

75 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I AGREGASI …….1 Sebuah relasi terbentuk tidak hanya dari entitas, tapi juga mengandung unsur lain dari relasi Mengambarkan sebuah relasi yang secara langsung menghubungkan sebuah himpunan entitas dengan sebuah himpunan relasi dalam diagram

76 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I AGREGASI ……2 MHS Mengambil Mt. Kuliah Praktikum Mengikuti

77 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I AGREGASI…….3 MHS Mengambil Mt. Kuliah Praktikum Mengikuti

78 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Keuntungan Penggunaan ERD dalam Pemodelan Data Memudahkan perancang dalam hal menganalisis sistem yang akan dikembangkan Memudahkan perancang saat merancang basis data Rancangan basis data yang dikembangkan berdasarkan ERD umumnya telah berada dalam bentuk yang optimal Dalam banyak kesempatan penggunaan simbol – simbol grafis akan lebih mudah di pahami oleh para pemakai daripada bentuk naratif Dengan menggunakan ERD pemakai umumnya akan lebih mudah memahami sistem dan basis data yang dirancang oleh pemakai.

79 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I kelemahan dari penggunaan ERD Kebutuhan media yang sangat luas Sering kali ERD tampil sangat ruwet

80 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Tahap Pembuatan Database Tahap 1: Tentukan entities (object-object dasar) yang perlu ada di database Tahap 2: Tentukan attributes (sifat-sifat) masing- masing entity sesuai kebutuhan database Tahap 3: Tentukan relationships (hubungan- hubungan) di antara entities tersebut Tahap 4: Pembuatan ERD Tahap 5: Proses normalisasi database Tahap 6: Implementasi Database

81 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Tahap 1: Tentukan Entities Sifat-sifat entity: – Signifikan: memang perlu disimpan di database – Umum: tidak menunjuk pada sesuatu yang khusus – Fundamental: dapat berdiri sendiri sebagai entity yang dasar dan independent – Unitary: merupakan satu kesatuan yang tidak dapat dipecah lagi

82 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Tahap 2: Tentukan Attributes Tentukan sifat-sifat (fields atau kolom) yang dimiliki tiap entity, serta tipe datanya. Attribute yang sesuai harus: – Signifikan: memang penting dan perlu dicatat di dalam database – Bersifat langsung (direct), bukan derived. Contoh attribute direct: tanggal_lahir Contoh attribute derived: umur

83 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Tahap 2 (lanjutan) Tentukan attribute yang menjadi Primary Key untuk entity yang bersangkutan. Jika satu attribute tidak cukup, gabungan beberapa attribute bisa menjadi Composite Primary Key. Jika Composite Primary Key banyak (lebih dari 3 attribute), sebaiknya menambahkan attribute buatan yang menjadi Primary Key yang tunggal.

84 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Tahap 3: Tentukan Relationships Tentukan jenis hubungan di antara entity yang satu dengan entities yang lain. Macam hubungan ada 3: – One-to-one (1:1) – One-to-many (1:n) – Many-to-many (m:n)

85 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Tahap 3 (lanjutan) Dalam membentuk hubungan di antara 2 entities, tentukan attribute mana yang digunakan untuk menghubungkan kedua entities tersebut. Tentukan entity mana yang menjadi tabel utama, dan entity mana yang menjadi tabel kedua. Attribute (dari tabel utama) yang menghubungkannya dengan tabel kedua menjadi Foreign Key di tabel kedua.

86 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Tahap 4: Pembuatan ERD Buat Entity Relationship Diagram (ERD) berdasarkan hasil dari Tahap Ada berbagai macam notasi untuk pembuatan ERD. Anda bisa menggunakan software khusus untuk menggambar ERD.

87 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Tahap 5: Normalisasi Proses normalisasi database terhadap setiap tabel, ada 3 tahap: – First normalization – Second normalization – Third normalization

88 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Tahap 6: Implementasi Berdasarkan ERD yang sudah dinormalisasi, buatlah database dengan MySQL, PostgreSQL, Oracle, dst. Bisa secara manual: menggunakan bahasa SQL untuk create database, table, dst. Bisa secara semi-manual: menggunakan client berbasis GUI (MySQLFront, PgAdmin, dst.) Bisa menggunakan CASE tool: Berdasarkan ERD yang ada, software CASE tool langsung membuat databasenya (Rational Rose, DbDesigner, dst.)

89 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Aturan untuk Model Database Tiap baris harus berdiri sendiri (independent): tidak tergantung baris-baris yang lain, dan urutan baris tidak mempengaruhi model database. Tiap baris harus unik: tidak boleh ada 2 atau lebih baris yang sama persis. Kolom harus berdiri sendiri (independent): tidak tergantung kolom-kolom yang lain, dan urutan kolom tidak mempengaruhi model database. Nilai tiap kolom harus berupa satu kesatuan: tidak berupa sebuah daftar.

90 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I AC B 11 X... Y X F 1 : A F 2 : B + C F 1 : A F 2 : B + C F 1 : A + B F 2 : C X YXY X... YY F 1 : A + B F 2 : C

91 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I AC B 1N X... Y X F 1 : A F 2 : B + C F 1 : A F 2 : B + C X YXY

92 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I AC B MN X... Y F 1 : AF 2 : C F 1 : A, F 2 : B, F 3 :C X YXY... XY F 1 : B

93 Antonius Wahyu Sudrajat, S. Kom., M.T.I. Studi kasus Perancangan Database

94 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Tahap Pembuatan Database Tahap 1: Tentukan entities (object-object dasar) yang perlu ada di database Tahap 2: Tentukan attributes (sifat-sifat) masing-masing entity sesuai kebutuhan database Tahap 3: Tentukan relationships (hubungan-hubungan) di antara entities tersebut Tahap 4: Pembuatan ERD Tahap 5: Proses normalisasi database Tahap 6: Implementasi Database

95 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Tahap 1: Tentukan entities (object-object dasar) yang perlu ada di database Penjualan : Pelanggan, Penjualan, Barang Persediaan : Barang, Kategori Pembeliaan: Pemasok, Pembeliaan

96 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Tahap 2: Tentukan attributes (sifat-sifat) masing - masing entity sesuai kebutuhan database Pelanggan: kd_plg, nm_plg, tgl_lahir, gol_dar, jns_klm, alm_plg, kota, kd_pos, no_telp Penjualan: No_faktur, tgl_faktur Obat: kd_brg, merk, tgl_kedaluarsa, jumlah, satuan, harga Kategori: kd_ktg, nm_ktg Pemasok: kd_pemasok, nm_pemasok, ct_prsn, no_telp, no_fax Pembeliaan: No_order, tgl_order

97 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Tahap 3 : Tentukan relationships (hubungan - hubungan) di antara entities tersebut – Pelanggan – penjualan – Penjualan – Barang – Barang - Kategori – Barang – pembeliaan – Pembeliaan – pemasok

98 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Pelanggan – penjualan Satu konsumen meminta satu atau banyak nomor faktur penjualan obat, satu atau banyak nomor faktur penjualan obatdapat diminta oleh satu dan hanya satu konsumen

99 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Penjualan – Barang Satu nomor faktur penjualan obat mencatat satu atau banyak obat, satu obat dicatat pada nol, satu, atau banyak nomor faktur penjualan.

100 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Barang - Kategori Satu atau banyak obat dimiliki oleh satu dan hanya satu kategori, satu kategori memiliki satu atau banyak obat.

101 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Barang – pembeliaan Satu nomor faktur pembelian obat mencatat satu atau banyak obat, satu obat dicatat pada satu atau banyak nomor faktur penjualan.

102 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Pembeliaan – pemasok Satu Supplier mendapatkan satu atau banyak nomor faktur pembelian obat, satu atau banyak nomor faktur pembelian obat didapatkan dari satu dan hanya satu supplier.

103 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I ERD Lengkap Penjualan Obat

104 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Tahap 6: Implementasi Database Field nameData typesizeNull / not nullDescrption Kd Plg [PK]Int-Not nullOtomatis bertambah dimulai dari 1000, 1001… Nm_plgChar35Not NullNama Lengkap Pelanggan Jns_klmChar1Not NullHanya Boleh diisi satu karakter yaitu : L/P Alm_plgChar40Not Null Alamat Pelanggan (nama jalan/lorong dan nmr rumah) KotaChar15Not Null Ketika tidak diisi secara otomatis field kota akan terisi dengan kota Palembang namun bila pelanggan mengisi, field kota sesuai dengan yang di isi oleh pelanggan Kd_posChar7Not NullKode Pos Pelanggan No_tlpChar12Not NullNomor Telepon pelanggan Spesifikasi Tabel Konsumen

105 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Field nameData typesizeNull / not nullDescrption No_obat [PK]Int-Not nullOtomatis bertambah dimulai dari 1000, 1001… Merkvarchar35Not NullNama Lengkap Pelanggan Tgl_kedaluarsdatetime-Not NullTanggal kedaluarsa obat JumlahIntNot NullJumlah persediaan Obat Satunvarchar20Not NullJenis satuan obat HargaInt-Not NullHarga obat ditambah dengan keuntungan Spesifikasi Tabel Obat Tahap 6: Implementasi Database

106 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Field nameData typesizeNull / not nullDescrption Jml_beliInt-Not nullJumlah pembelian per item produk obat yang dibeli Hara_beliint-Not NullHarga dasar sebelum ditambah dengan keuntungan Kd_obatInt-Not nullBerelasi dengan kd_obat pada tabel obat No_beliInt-Not nullBerelasi dengan no_beli pada tabel pembelian Spesifikasi Tabel Beli_Obat Tahap 6: Implementasi Database Field nameData typesizeNull / not nullDescrption Jml_jualInt-Not nullJumlah penjualan per item produk obat yang dijual Hara_jualInt-Not NullHarga pada saat penjualan ditambah keuntungan Kd_obatInt-Not nullBerelasi dengan kd_obat pada tabel obat No_FakInt-Not nullBerelasi dengan no_fak pada tabel penjualan Spesifikasi Tabel Jual_Obat

107 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Field nameData typesizeNull / not nullDescrption No_fakInt-Not nullOtomatis bertambah dimulai dari 1000, 1001… Tgl_jualChar35Not NullTanggal dilakukan penjualan barang Kd_plgInt-Not nullBerelasi dengan kd_plg pada tabel pelanggan Spesifikasi Tabel Penjualan Tahap 6: Implementasi Database Field nameData typesizeNull / not nullDescrption No_beliInt-Not nullOtomatis bertambah dimulai dari 1000, 1001… Tgl_beliChar35Not NullTanggal dilakukan pembelian barang Kd_splInt-Not nullBerelasi dengan kd_spl pada tabel supplier Spesifikasi Tabel Pembelian

108 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Field nameData typesizeNull / not nullDescrption No_ktg [PK]Int-Not nullOtomatis bertambah dimulai dari 100, 101… Nm_ktgChar35Not NullNama Lengkap Pelanggan Spesifikasi Tabel Kategori Tahap 6: Implementasi Database Field nameData typesizeNull / not nullDescrption No_spl [PK]Int-Not nullOtomatis bertambah dimulai dari 1000, 1001… Nm_splVarchar35Not NullNama Lengkap Pelanggan Ct_prsnVarchar40Not NullNama personal dari perusahaan yang dapat dihubungi No_tlpVarchar12Not NullNomor telepon. Tidak boleh diisi huruf, harus angka No_faxVarchar12Not NullNomor fak. Tidak boleh diisi huruf, harus angka Spesifikasi Tabel Suppier

109 Antonius Wahyu Sudrajat, S. Kom., M.T.I. Implementasi rancangan ke Teknologi DBMS SQL Server SQL

110 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I SQL --Membuat database create database latihan --Mengaktifkan database use latihan --Melihat database yang telah dibuat sp_helpdb

111 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I SQL --Membuat tabel pelanggan create table pelanggan ( kd_plg nchar (5) not null, constraint plg_PK primary key (kd_plg), nm_plg char (30) not null, jns_klm char (1) not null constraint ck_jk check (jns_klm = 'P' or jns_klm = 'L'), alm_plg char (35) null, agama varchar (20) not null constraint aga_ma check (agama in ('Islam','Kristen','Katolik','Hindu','Budha','lainnya')), kota char (30) null constraint kot_a default 'Palembang', no_telp char (12) null ) alter table pelanggan with nocheck add constraint ck_JK check (jns_klm = 'P' or jns_klm = 'L')

112 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I SQL -- membuat tabel kategori create table kategori ( kd_ktg nchar (5) not null primary key, nm_ktg char (30) not null, status char (15) null ); -- membuat tabel barang create tabLe barang ( kd_brg nchar (5) not null, constraint brg_PK primary key (kd_brg), nm_brg char (30) not null, jml_brg numeric constraint jml_h check (jml_brg >= 0 ), satuan char (15), harga numeric constraint hrg_b check (harga >= 0 ), kd_ktg nchar (5), constraint kategori_barang_fk foreign key (kd_ktg) references kategori (kd_ktg) );

113 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I SQL -- membuat tabel penjualan create table penjualan ( no_fak int not null IDENTITY (1000,1), constraint jual_PK primary key (No_fak), tgl_jual datetime, kd_plg nchar (5), constraint jual_pelanggan_fk foreign key (kd_plg) references pelanggan (kd_plg) ); -- membuat tabel det_jual create table det_jual ( jumlah_jual numeric, no_fak int, kd_brg nchar (5), constraint barang_jual_fk foreign key (kd_brg) references barang (kd_brg), constraint jual_barang_fk foreign key (no_fak) references penjualan (no_fak) );

114 Antonius Wahyu Sudrajat, S. Kom., M.T.I.

115 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Definisi Normalisasi Normalisasi merupakan teknik analisis data yang mengorganisasikan atribut- atribut data dengan cara mengelompokkan sehingga terbentuk entitas yang non- redundant, stabil, dan fleksible. Normalisasi dilakukan sebagai uji coba pada suatu relasi secara berkelanjutan untuk menentukan apakah relasi itu sudah baik, yaitu dapat dilakukan proses insert,update,delete, dan modifikasi pada satu atau beberapa atribut tanpa mempengaruhi integritas data dalam relasi tersebut.

116 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I 1.Untuk menghilangkan kerangkapan data 2.Untuk mengurangi kompleksitas 3.Untuk mempermudah pemodifikasian data Tujuan dari Normalisasi

117 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Proses Normalisasi 1.Data diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat. 2.Apabila tabel yang diuji belum memenuhi persyaratan tertentu, maka tabel tersebut perlu dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang optimal.

118 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Dependency Fungsional Fungsional penuh Transitif Total 118

119 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I  Ketergantungan Fungsional Suatu atribut Y mempunyai ketergantungan fungsi terhadap atribut X, jika dan hanya jika setiap nilai X berhubungan dengan sebuah nilai Y. – Definisi diatas dituangkan dalam bentuk notasi X  Y – Dibaca : X secara fungsional menentukan Y

120 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I  Ketergantungan Fungsional Penuh Suatu atribut Y mempunyai ketergantungan fungsional penuh terhadap atribut X, jika – Y mempunyai dependensi fungsional terhadap X – Y tidak memiliki dependensi terhadap bagian dari X – Notasi : X  Y

121 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Ketergantungan transitif X  Y  Z – Atribut Z mempunyai dependensi transitif terhadap X bila: – Y memiliki dependensi fungsional terhadap X – Z memiliki dependensi fungsional terhadap Y

122 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I  Dependensi Total Suatu atribut Y mempunyai ketergantungan total pada atribut X jika: – Y memiliki ketergantungan fungsi terhadap X – X memiliki ketergantungan fungsi terhadap Y – Notasi : X  Y

123 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I 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

124 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Ketergantungan Fungsional Definisi Atribut Y pada relasi R dikatakan tergantung fungsional padaatribut X (R.X ---> R.Y), jika dan hanya jika setiap nilai X pada relasi R mempunyai tepat satu nilai Y pada R. R= Relasi / Tabel Y,X = Atribut didalam Tabel R.

125 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Contoh Ketergantungan Tabel PEMASOK-BARANG Ketergantungan fungsional dari tabel PEMASOK- BARANG adalah : No_Pem ---> Nama_Pem No_PemNama_Pem P01Imam_x P02Yazix P03Hana

126 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I FUNCTIONAL DEPENDENCY (FD) Contoh: Functional Dependency: NRP  Nama Mata_Kuliah, NRP  Nilai Non Functional Dependency: Mata_Kuliah  NRP NRP  Nilai

127 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Ketergantungan Fungsional Penuh 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). Suatu atribut Y mempunyai dependensi sepenuhnya terhadap atribut X jika Y mempunyai dependensi terhadap X Y tidak mempunyai dependensi terhadap bagian dari X

128 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I KIRIM-BARANG( No_pem, Na_pem, No_bar, Jumlah) Ketergantungan fungsional : No-pem --> Na-pem No-bar, No-pem --> Jumlah (Tergantung penuh thd keynya) No_pemNa_pemNo_barJumlah P01BahanaB P01BahanaB P01BahanaB P02Sinar MuliaB P03HarapanB022000

129 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Ketergantungan Transitif 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 )

130 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Pengertian Dependensi Transitif Suatu atribut Z mempunyai dependensi transitif terhadap X jika: – Y memiliki dependensi terhadap X dan – Z memiliki dependensi terhadap Y X → Z X→Y→Z

131 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Contoh Dependensi Transitif KuliahRuangTempatWaktu Jaringan KomputerMerapiGedung UtaraSenin, Pengantar Basis DataMerbabuGedung UtaraSelasa, Matematika IRamaGedung SelatanRabu, Sistem PakarSintaGedung SelatanKamis, Kecerdasan BuatanMerapiGedung UtaraSelasa, Kuliah → { Ruang, Waktu } Ruang → Tempat Kuliah → Ruang → Tempat

132 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Id_PelangganNamaSalesmanArea A-001AndiFarkanJateng A-002Kurnia JatiDianJabar B-001Fika DewiJonedJatim B-002Gani WirawanFarkanJateng C-001Cici KusumaJonedJatim Id_PelangganNamaSalesmanArea

133 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I No_PesanNo_UrutKode_ItemNama_Item No_PesanNo_UrutKode_ItemNama_ItemJumlah P1Pensil P2 Buku Tulis P3Penggaris P4Penghapus P3Penggaris P5Pulpen P6Spidol P1Pensil P2 10 Jumlah

134 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Id_PelangganNamaSalesmanArea A-001AndiFarkanJateng A-002Kurnia JatiDianJabar B-001Fika DewiJonedJatim B-002Gani WirawanFarkanJateng C-001Cici KusumaJonedJatim Anomali penyisipan: Seorang salesman baru yang bertugas di Jateng tidak dapat dimasukkan dalam tabel sampai salesman tersebut mendapatkan seorang pelanggan Anomali penghapusan: Jika pelanggan A-002 dihapus, informasi bahwa Dian menangani daerah Jabar ikut hilang Anomali peremajaan: Jika katakanlah Farkan mendapat penugasan baru untuk menangani daerah Kalimantan, maka sejumlah baris harus diremajakan agar data tetap konsisten

135 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Normalisasi dengan Ketergantungan Fungsional Dalam perspektif Normalisasi, sebuah basis data dapat dikatakan baik, jika setiap tabel yang menjadi unsur pembentuk basis data tersebut juga telah berada dalam keadaan baik atau normal. Sebuah tabel dapat dikategorikan baik (efisien) atau normal, jika telah memenuhi 3 kriteria berikut: 1.Jika ada dekomposisi (penguraian) tabel, maka dekomposisi-nya dijamin aman (Lossless-Join Decomposotion). 2.Terpeliharanya ketergantungan fungsional pada saat perubahan data (Dependency Preservation). 3.Tidak melanggar Boyce-Code Normal Form (BCNF). Jika kriteria ketiga (BCNF) tidak dapat terpenuhi, maka paling tidak tabel tersebut tidak melanggar bentuk normal tahap ketiga (3nd Normal Form/3NF). Kriteria tersebut merupakan kriteria minimal untuk mendapatkan predikat efisien/normal bagi sebuah tabel.

136 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Akan tetapi, dapat juga menerapkan kriteria-kriteria lain yang juga tercakup dalam kerangka normalisasi, walaupun bukan merupakan kriteria-kriteria utama, yang terdiri dari: 1.Bentuk Normal tahap Pertama (1nd Normal Form/1NF) 2.Bentuk Normal tahap Kedua (2nd Normal Form/2NF) 3.Bentuk Normal tahap Ketiga (3nd Normal Form/3NF) 4.Bentuk Normal tahap Keempat (4nd Normal Form/4NF) 5.Bentuk Normal tahap Kelima (5nd Normal Form/5NF) Dekomposisi sendiri merupakan langkah yang paling sering ditempuh dalam proses Normalisasi, jika sebuah tabel tidak memenuhi Bentuk Normal tertentu. Tabel Universal (Universal / Star Table) sebuah tabel yang merangkum semua kelompok data yang saling berhubungan dan bukan merupakan tabel yang baik. Sebuah tabel yang merangkum semua kelompok data yang saling berhubungan biasa disebut sebagai tabel Universal (universal/star table). Tabel Universal (Universal / Star Table) sebuah tabel yang merangkum semua kelompok data yang saling berhubungan dan bukan merupakan tabel yang baik.

137 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Berikut contoh sebuah tabel universal yang merupakan rangkuman data mahasiswa, kuliah, dosen, nilai dan jadwal

138 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Dari table universal tersebut, dengan memperhatikan kesamaan dan ketidak samaan data diantara baris-baris data juga dengan memahami hubungan alamiah antar data, kita dapat membentuk KF sebagai berikut: Nim  nama_mhs Nim  alamat_mhs Nim  tgl_lahir Kode_kul  nama_kul Kode_kul  sks Kode_kul  semester Kode_kul  waktu Kode_kul  tempat Kode_kul  nama_dos Nama_dos  alamat_dos Nim, kode_kul  indeks_nilai Jika kita memusatkan diri pada table universal tersebut, paling tidak ada 3 kelemahan mendasar yang dapat kita lihat, yaitu: 1.Pengulangan informasi Yang terjadi pada atribut nama_mhs, alamat_mhs dan tgl_lahir yang dinyatakan berulang-ulang sesuai dengan data atribut nim, begitu juga dengan atribut nama_kul, tempat, waktu dan seterusnya.

139 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I 2.Potensi inkonsistensi data pada operasi pengubahan Yang terjadi jika ada perubahan pada data nama_mhs, dimana perubahan ini harus dijalarkan keseluruh baris data pada table tersebut untuk nim yang sama. Jika perubahan ini tidak dilakukan, maka KF yang telah ditetapkan akan tergangu, karena kelak akan ada 2 row atau lebih dengan nim yang sama, tapi nama_mhs nya berbeda. 3.Tersembunyinya informasi tertentu Tabel universal dibangun atas dasar keterkaitan antar item-item data. Karena itu table semacam ini tidak akan mampu menampilkan informasi tentang item-item data yang kebetulan belum memiliki keterkaitan dengan item data yang lain. Kelemahan-kelemahan tersebut mengiring kita untuk melakukan dekomposisi, yakni melakukan pemilihan table tersebut menjadi beberapa table dengan mempertimbangkan ketergantungan fungsional yang telah kita dapatkan, dekomposisi dilakukan agar setiap table yang kita gunakan hanya memiliki 1 (satu) KF saja, lebih tepatnya KF minimum

140 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Lossless Join Decomposition Dekomposisi merupakan upaya untuk mendapatkan table yang baik, tapi bila tidak berhati-hati upaya ini justru dapat menghasilkan kesalahan. Dekomposisi yang benar terjadi jika table-tabel hasil dekomposisi kita gabungkan kembali dapat menghasilkan table awal sebelum didekomposisi. Dekomposisi yang benar semacam ini disebut Lossless-Join Decomposition atau Lossless Decomposition (dapat di Indonesia-kan dengan istilah Dekomposisi Aman). Berikut sebuah contoh yang menghasilkan dekomposisi yang tidak aman (Lossy- Join Decomposition). Misalnya ada sebuah table ABC, yang didefinisikan dengan 2 buah table KF yaitu A  B dan B  C. Kedua KF tersebut diperoleh dari pengamatan terhadap data yang kurang memadai atau karena asumsi yang kurang tepat. ABC A1100C1 A2200C2 A3300C3 A4200C4 Memang dengan isi seperti itu, pernyatan KF yang kedua B  C tidak sepenuhnya tepat, karena pada row 2 dan row 4, dengan nilai untuk atribut B yang sama, nilai untuk atribut C nya berbeda.

141 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I 141 ABC A1100C1 A2200C2 A3300C3 A4200C4

142 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Tapi yang ingin kita tekankan disini adalah adanya 2 buah KF itu, mendorong kita untuk medekomposisi table ABC menjadi 2 buah table, yaitu table AB dan Tabel BC sbb: Tabel AB AB A1100 A2200 A3300 A4200 Tabel BC Hasil gabungan table AB dan BC BC 100C1 200C2 300C3 200C4 ABC A1100C1 A2200C2 A2200C4 A3300C3 A4200C2 A4200C4 Jika table AB dan table BC digabungkan, hasilnya tidak menghasilkan table awal, sebelum dekomposisi, ini yang disebut dengan Lossy Join Decomposition

143 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Tapi bila table awal (table ABC) seperti berikut Jika table ABC seperti diatas maka kedua KF dapat dibenarkan, jika dilakukan dekomposisi maka akan menghasilkan table sebagai berikut: A4200C2 ABC A1100C1 A2200C2 A3300C3 A4200C2 AB A1100 A2200 A3300 A4 200 BC 100C1 200C2 300C3 Kesimpulaan “Karena itulah, KF pada suatu table harus kita tetapkan berdasarkan pengamatan yang teliti dan asumsi yang dapat dipertanggung jawabkan, agar kelak hasil dekomposisinya dapat dibenarkan”

144 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Dependency Preservation Dependency preservation (dapat di Indonesia-kan sebagai Pemeliharaan Ketergantungan) merupakan kriteria yang harus dicapai untuk mendapatkan tabel dan basis data yang baik. Ketika melakukan perubahan data, maka harus dapat dijamin agar perubahan tersebut tidak menghasilkan inkonsistensi data yang mengakibatkan KF yang sudah benar menjadi tidak terpenuhi tetapi dalam upaya untuk memelihara KF yang ada untuk tetap terpenuhi tersebut, prosesnya harus dapat dilakukan dengan efisien. Jika ditinjau pada table universal yang telah digambarkan sebelumnya, sudah jelas sangat rapuh didalam memenuhi kriteria dependency preservation. Kalaupun ingin dipaksakan (agar KF yang ada tetap dapat terjaga pada saat ada perubahan yang terjadi), maka upaya pemeliharaan KF tersebut akan berlangsung tidak efisien Katakanlah ada perubahan data Alamat untuk mahasiswa dengan nim=980001, maka perubahan ini harus juga dijalarkan/dilakukan pada atribut alamat_mhs disemua row yang nilai atribut nim_nya berharga

145 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Contoh Katakanlah table Mahasiswa dan table Nilai hasil dekomposisi menghasilkan atribut sebagai berikut: Tabel Nilai Nama_kul, Nim, Nama_mhs, Indeks_nilai Dengan 2 KF yaitu Nama_kul, Nim  Indeks_nilai Nim  Nama_mhs Tabel Mahasiswa Nim, Nama_mhs, Alamat_mhs, Tgl_lahir Jika pada table mahasiswa terjadi perubahan data pada atribut alamat_mhs atau pada atribut tgl_lahir, maka perubahan ini tidak perlu dilakukan/dijalarkan pada table nilai, karena pada table ini atribut-atribut tersebut tidak dilibatkan. Tapi jika perubahan terjadi pada atribut nama_mhs pada table mahasiswa, maka perubahan tersebut harus juga dilakukan/dijalarkan ke table nilai, Karena atribut tersebut dilibatkan pada table nilai

146 Perancangan Sistem Informasi Antonius Wahyu Sudrajat, S. Kom., M.T.I Jika penjalaran ini hanya dilakukan pada satu baris (row) pertama pada table nilai dengan nilai nim yang sama, dengan nilai nim di table mahasiswa yang nama_mhs-nya diubah tersebut, maka KF nim  nama_mhs tidak terpenuhi lagi. Jika demikian perubahan tersebut harus dijalarkan kesemua baris data dengan nilai nim yang sama/sesuai, masalahnya penjalaran perubahan ini tidak efisien dan seharusnya dihindari. Solusinya agar dependency preservation terpenuhi adalah meniadakan/melepaskan atribut nama_mhs dari table nilai, sehingga table nilai menjadi Nim Nama_kul Indeks_nilai


Download ppt "Antonius Wahyu Sudrajat, S. Kom., M.T.I."

Presentasi serupa


Iklan oleh Google