Minggu, 24 April 2022

Proses Design dan Life Cycle Basis Data

Nama           :Bernadus Bayu Nugraha Saputra
NPM            :21312011
Kelas          :IF 21 A

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


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  


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


Summary tahap 2, 4,5

          Desain basis data konseptual (Tahap 2) : Tujuan dari tahap ini adalah memproduksi skema konseptual untuk basis data yang independen dari DBMS tertentu. Biasanya menggunakan model data tingkat tinggi seperti model ER atau EER (Enhanced Entity Relationship).

          Pemetaan model data (Tahap 4) : Selama tahap ini yang djuga disebut desain basis data logika, dilakukan pemetaan skema konseptual dari model data tingkat tinggi ke model data DBMS.

          Desain basis data fisik (Tahap 5) : Selama tahap ini, didesain spesifikasi basis data yang disimpat dalam hal struktur penyimpan fisik, penempatan record dan indeks. Hal ini berhugungan dengan terminologi arsitektur DBMS 3 level.

          Implementasi sistem basis data dan tuning (Tahap 6) : Selama tahap ini , basis data dan program aplikasi diimplementasikan, diuji cobakan dan diatur layanannya.



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)


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.


Database System Development Life Cycle



Dalam merancang sebuah database, ada beberapa tahapan yang harus dilakukan. Tahapan-tahapan tersebut disebut dengan Database Sytsem Development Life Cycle. Siklus hidup dari sebuah database mulai dari dirancang sampai pengoprasianya. Berikut penjelasan tahapan-tahapannya:

·         Database Planning

Menentukan tujuan dari adanya database yang ingin dibuat, gambaran secara luas seperti bagaimana nantinya pengumpulan data, design dan format data. Pada tahap pertama ini harus ditentukan Mission Statement (Visi atau tujuan database itu dibuat) dan Mission Objectives (Misi atau apa saja yang bisa dilakukan oleh database tersebut).

·         System Definition

Sebuah database pasti memiliki user view. Pada tahapan ini user view akan diidentifikasi dan ditentukan perannya.

·         Requirement Collection and Analysis

Tahap ini akan mengumpulkan dan mengalisis data yang akan dibutuhkan oleh database. Tentunya juga kebutuhan apa saja yang dibutuhkan untuk membangun database yang diharapkan. Ada tiga pendekatan yang bisa dilakukan, yaitu : view approach, view integration approach, dan kombinasi dari keduanya.

·         Database Design

·         Conceptual Database Design

·         Logical Database Design

·         Physical Database Design

·         DBMS Selection (optional)

DBMS adalah Database Management System, yang di maksud dalam tahap ini adalah pemilihan software yang akan digunakan untuk implementasi database yang akan digunakan. Ada banyak pilihan DBMS, seperti Oracle, My Sql Server, Ms. Access, dan masih banyak lagi.

·         Application Design

Tentunya sebuah database tidak bisa berjalan sendiri. Biasanya pasti ada aplikasi sebagai perantara antara user dan database. Ada 2 aktivitas penting dalam tahap ini, yaitu: Transaction Design dan User Interface Design.

·         Prototyping (optional)

Prototyping adalah tahap dimana sebuah model yang dibuat untuk menggambarkan database yang ingin kita buat. Adanya tahap ini bertujuan untuk memberikan gambaran secara jelas sehingga sebelum dijalankan, rancangan ini bisa dievaluasi untuk dilihat kelengkapannya. Pada tahapan ini biasanya akan ditemukan hal-hal yang ingin diperbaiki maupun dikembangkan lebih lagi.

·         Implementation

Tahapan ini adalah tahapan yang sangat penting, karena setelah dirancang, database tersebut akan direalisasikan. Database akan dikonstruksi sesuai dengan desain yang ada (Menggunakan DDL, DML, dan 3GL/ 4GL).

·         Data Conversion and Loading

Dalam merancang sebuah database, pasti ada data lama yang dibutuhkan untuk disimpan di database baru ini. Jadi pada tahap ini akan memasukkan data ke database yang sudah disiapkan. Untuk data lama dengan format yang berbeda, akan ada proses konversi data agar bisa menyesuaikan format baru.

·         Testing

Testing dilakukan untuk melihat bagaimana kondisi database setelah digunakan. Akan dilakukan penilaian dengan kriteria: Learnability, Performance, Robustness, Recoverability, Adaptability.

·         Operational Maintenance

Merupakan proses terakhir dimana penggunaan database dimonitor. Memastikan database berjalan dengan baik dan memperhatikan hal-hal yang perlu update.


Rabu, 16 Maret 2022

Konsep Basis Data

Nama: Bernadus Bayu Nugraha Saputra
NPM: 21312011
KlS: IF 21 A



1. Apa itu basis data


Basis data atau database merupakan kumpulan data yang saling berelasi (berhubungan).

Relasi biasanya ditujukan dengan key (kunci) dari tiap tabel yang ada.

Dalam satu tabel terdapat record-record yang sejenis yang merupakan satu kumpulan entitas yang seragam.

Satu record terdiri dari field-field yang saling berhubungan dan menunjukan dalam satu pengertian lengkap dalam satu record.

Mungkin terdengar rumit, tapi sebenarnya tidak.

Berdasarkan pengertian diatas dapat disimpulkan bahwa basis data (database) mempunyai beberapa kriteria.

Yaitu:

Bersifat data oriented bukan program oriented, dapat digunakan oleh beberapa program aplikasi tanpa perlu mengubah basis datanya.

Hal ini juga dapat dikembangkan dengan mudah baik volume maupun strukturnya sehingga dapat memenuhi kebutuhan sistem-sistem baru dengan mudah.

Prinsip utama basis data atau database adalah pengaturan data dengan tujuan utama fleksibilitas dan kecepatan akses.

Adapun tujuan basis data diantaranya sebagai efisiensi yang meliputi speedspace, dan accuracy, mengenai data dalam jumlah besar, kebersamaan pemakai (sharebility), dan meniadakan duplikasi dan inkonsistensi data.


2. Manfaat basis data


Jadi, apa saja manfaat dari database?

Berikut penjabarannnya:

1. Kecepatan dan kemudahan (Speed)
Pemanfaatan basis data (database) memungkinkan untuk dapat menyimpan (insert), merubah (update), dan menampilkan (Select) kembali data tersebut dengan lebih cepat dan mudah.
2. Efisiensi ruang penyimpanan (Space)
Dengan basis data efisiensi penggunaan ruang penyimpanan dapat dilakukan, karena penekatan jumlah redudansi data, baik dengan sejumlah pengkodean atau dengan membuat tabel-tabel yang saling berhubungan.
3. Keakuratan (accuracy)
Pembentukan relasi antar data bersama dengan penerapan aturan / batasan (constraint) tipe, domain dan keunikan data dapat diterapkan dalam sebuah database.
4. Ketersedian (availability)
Dapat memilah data utama / master, transaksi, data histori hingga data kadaluwarsa.
Data yang jarang atau tidak digunakan lagi dapat diatur dari sistem basis data aktif.
5. Kelengkapan (completeness)
Lengkap / tidaknya data dalam sebuah database bersifat relatif. Bila pemakai sudah menganggap sudah lengkap yang lain belum tentu sama.
6. Keamanan (security)
Pemanfaatan database memungkinkan kita untuk menentukan siapa saja yang berhak menggunakan database beserta objek-objek di dalamnya dan menentukan jenis-jenis operasi apa saja yang boleh dilakukan.
7. Kebersamaan Pengguna (sharebility)
Basis data dapat digunakan oleh beberapa pemakai dan beberapa lokasi.
Basis data yang dikelola oleh sistem (aplikasi) yang mendukung multiuser dapat memenuhi kebutuhan, akan tetapi harus menghindari inkonsistensi data.

3. Operasi basis data

Database atau basis data dapat diciptakan dan dapat pula dimusnahkan.

Pada sebuah penyimpanan (disk) dapat menempatkan beberapa basis data (database), misalnya basis data akademik, penjualan, perpustakaan, dan lain-lain.

Sementara dalam sebuah basis data terdapat satu tabel atau lebih.

Misalnya dalam database penjualan terdiri dari tabel barang, pelanggan, kategori, dan transaksi.

Operasi dasar yang dapat dilakukan database adalah sebagai berikut:

1. Pembuatan database baru (CREATE DATABASE)

2. Pemusnahan database (DROP DATABASE)

3. Pembuatan tabel baru dalam database (CREATE TABLE)

4. Penghapusan tabel dari suatu database (DROP TABLE)

5. Pengisian data (record) kedalam tabel (INSERT)

6. Menampilkan data yang ada pada tabel (SELECT)

7. Mengubah data yang ada pada tabel (UPDATE)

8. Penghapusan data yang ada pada table (DELETE)

Operasi pembuatan database dan tabel merupakan operasi awal yang hanya dilakukan sekali dan berlaku seterusnya.

Sedangkan untuk operasi pengisian data merupakan operasi rutin yang dilakukan berulang-ulang.


4. Aturan basis data

Untuk menghasilkan rancangan database yang baik, ada aturan atau ketentuan yang harus anda perhatikan.

Ketentuan pada pembuatan tabel pada database bertujuan agar memenuhi kriteria sebagai database.

Adapun kriteria yang harus dipenuhi yaitu:

Redudansi data, inkonsistensi data, pengaksesan data, data terisolasi untuk standarisasi, masalah keamanan, masalah integritas data, dan multiuser.

1. Redudansi data dan Inkonsistensi data
Penyimpanan data dibeberapa tempat yang berbeda disebut redudansi.
Hal ini, akan menyebabkan pemborosan dan menimbulkan inkonsistensi data (data tidak konsisten) apabila terjadi perubahan data (update) dibeberapa tempat.
Tujuan sistem database bukan untuk menghilangkan redudansi data, melainkan meminimalisir redudansi data, karena suatu tabel tidak dapat berelasi (berhubungan) dengan tabel lain jika tidak ada redudansi sama sekali.  
Mungkin terdengar rumit, tapi sebenarnya tidak.
2. Pengaksesan data
Data di dalam database harus siap diakses oleh siapa saja yang membutuhkan dan mempunyai hak untuk mengaksesnya.
Oleh karena itu perlu dibuat suatu program pengelolaan atau suatu aplikasi untuk mengakses data yang dikenal sebagai Database Management System (DBMS).
3. Data terisolasi untuk Standarisasi
Jika data tersebar dalam beberapa tabel dalam bentuk format yang sama, maka akan menyulitkan dalam menulis program aplikasi, baik untuk mengambil dan menyimpan data.
Oleh karena itu data dalam satu database harus dibuat satu format yang sama, sehingga mudah dibuat program aplikasinya.
4. Masalah Keamanan (Security)
Setiap pemakai sistem database tidak semua bagian mengakses semua data.
Misalnya, data mengenai gaji pegawai hanya boleh dibuka oleh bagian keuangan, sedangkan bagian gudang dan bagian lain tidak diperkenankan untuk membukanya.
Keamanan dapat diatur dan disesuaikan baik ditingkat database atau aplikasinya.
5. Banyak pemakai (multiple users)
Salah satu database dibangun karena nantinya data tersebut akan digunakan oleh banyak pengguna (user), baik dalam waktu berbeda maupun bersamaan.
Oleh karena itu diperlukan database yang handal dan dapat mendukung banyak pemakai atau multiuser.

5. Integritas data

Integritas data berarti data itu akurat, konsisten, dan terbaru.

Dalam konsep basis data, semakin sedikit redudansi data berarti meningkatkan integritas data.

Karena, semua perubahan hanya dilakukan di satu tempat.

Untuk merancang database yang baik dan menjamin integritas data, wajib bagi Anda untuk memperhatikan 3 hal berikut:

1. Domain Integrity

Domain adalah suatu himpunan yang dapat diberikan pada suatu atribut, yang mencakup nama, arti, tipe data, ukuran, dan nilai yang diijinkan.

Semua nilai yang disimpan pada kolom-kolom harus memiliki domain yang sama. Integritas data ini merujuk pada batasan nilai yang diperbolehkan untuk setiap atribut dalam tabel yang dimiliki oleh suatu atribut. 

2. Integrity Entity

Integrity entity dirancang untuk memastikan setiap relasi atau tabel yang sudah memiliki kunci primer (primary key), dan memastikan bahwa nilai-nilai data untuk kunci primer adalah sah atau valid, dan menjamin bahwa setiap atribut kunci primer tidak boleh kosong atau NOT NULL.

Nilai NULL adalah nilai yang diberikan ke suatu atribut saat tudak ada nilai yang dimasukan atau nilai yang diterapkan tidak diketahui.

Nilai NULL adalah bukan nilai melainkan ketidakhadiran nilai pada suatu atribut tertentu.

Nilai NULL disini bukan angka 0 dan juga bukan space (untuk jenis data alphaalphanumeric, dan string), malainkan mewakili nilai data kosong.

Sebagai contoh setiap kolom dalam pendefinisian tabel dapat dilengkapi dengan NULL (boleh kosong) dan NOT NULL (tidak boleh kosong).

Contoh:

3. Integrity Referensial

Integrity referensial adalah garis yang menghubungkan antara kunci tamu (foreign key) di suatu tabel dengan kunci primer (primary key).

Integrity referensial merupakan aturan yang memelihara konsistensi antara baris-baris pada 2 relasi.

Aturan ini menerapkan bahwa jika ada kunci tamu disatu relasi tertentu, maka kunci tamu itu harus sesuai dengan nilai kunci primer di relasi lain.

Contoh:

Query diatas akan menghasilkan dua table yang saling berelasi (berhubungan).

Seperti gambar berikut:


Pada gambar diatas, anda dapat melihat bahwa terdapat relasi antara tabel kategori dan table subkategori.

Dimana field yang menghubungkannya adalah field kategori_id pada tabel kategori dan field subkategori_kategori_id pada table subkategori.

Integritas referensial yang dimaksud disini adalah, field kategori_id pada tabel kategori dan field subkategori_kategori_id pada table subkategori harus memiliki type data dan panjang karakter yang sama seperti contoh diatas.

6. Komponen sistem basis data

Sistem database terdapat komponen-komponen utama.

Yaitu:

Perangkat keras (hardware), sistem operasi (operating system), basis data (database), program aplikasi (application program), DBMS (Database Management System), dan pengguna (user).

1. Perangkat keras (Hardware)

Perangkat keras (hardware) yang biasanya terdapat dalam sebuah sistem database adalah komputer untuk sistem stand alone, sistem jaringan (network), memori sekunder yang online (harddisk), memori sekunder yang offline (disk), dan perangkat komunikasi untuk jaringan.

2. Sistem Operasi (Operating System)

Sistem operasi merupakan program yang mengaktifkan sistem komputer, mengendalikan seluruh sumber daya dalam komputer dan melakukan operasi-operasi dasar dalam komputer, pengelolaan file, dan lain-lain.

Program pengelola basis data akan aktif (running) jika sistem operasi yang dikehendaki sesuai. Sistem operasi yang biasa digunakan Microsoft DOS, Microsoft Windows, UNIX, LINUX, Mac OS, dan lain-lain.

3. Basis data (Database)

Basis data (database) merupakan koleksi dari data yang terorganisasi dengan cara sedemikian rupa sehingga data tersebut mudah disimpan dan dimanipulasi.

Sebuah sistem database dapat memiliki beberapa database.

Setiap database dapat memiliki sejumlah objek database seperti table, indeks, dan lain-lain.  

4. DBMS (Database Management System)

Database Management System (DBMS) merupakan kumpulan program aplikasi yang digunakan untuk membuat dan mengelola database.

DBMS berisi suatu koleksi data dan set program untuk mengakses data.

DBMS meruakan perangkat lunak (software) yang menentukan bagaimana data tersebut diorganisasi, disimpan, diubah dan diambil kembali.

Perangkat lunak ini juga menerapkan mekanisme pengamanan data, pengguna data bersama, dan konsistensi data.

Perangkat lunak yang termasuk kedalam DBMS diantaranya: Microsoft Access, SQL Server, MySQL atau MySQLi, DB2, Oracle, PostgreSQL, SQLite, Mongo DB, dan Maria DB.  

5. Pengguna (User)

Terdapat beberapa tipe users atau pengguna pada sistem database, berdasarkan cara mereka berinteraksi pada basis data, diantaranya program aplikasi, pengguna mahir, pengguna umum, dan pengguna khusus.

5.1. Program Aplikasi

Programmer aplikasi adalah pengguna yang berinteraksi dengan database melalui DML (Data Manipulation Language), yang disertakan dalam program yang ditulis dalam bahasa pemrograman induk (seperti pascal, cobol, clipper, dan lain-lain).

5.2. User Mahir

User mahir adalah pengguna yang berinteraksi dengan sistem tanpa menulis modul program.

Pengguna menggunakan query (bahasa standard yang digunakan oleh setiap DBMS) untuk mengakses data.

5.3. User Umum

User umum adalah pengguna yang berinteraksi dengan sistem database melalui pemanggilan satu program aplikasi permanen yang ditulis atau disediakan sebelumnya.

5.4. User Khusus

User khusus adalah pengguna yang menulis aplikasi database non konvensional untuk keperluan khusus, seperti untuk aplikasi sistem pakar, dan lain-lain.

6. Administrator database

Suatu lingkup database seharusnya memiliki satu orang atau kelompok orang pada bagian struktur database untuk menangani administrasi database yang biasa disebut administrator database atau Database Administrator (DBA).

Administrator database adalah orang yang bertanggung jawab dan bekerja sama dengan analisis sistem dan user-user lain guna melengkapi berbagai macam tugas seperti pendefinisian data, pemodelan data, desain database, serta menjamin kerahasian integritas data.

 

7. Abstraksi data

Pada abstraksi data bayangan mengenai data tidak lagi diperhatikan kondisi sesungguhnya bagaimana suatu data masuk ke database dan disimpan ke dalam sektor mana, tetapi menyangkut secara menyeluruh bagaimana data tersebut dapat diabstraksikan.

Kegunaan utama sistem database adalah agar pengguna mampu menyusun suatu pandangan abstraksi dari data tersebut.

Database dapat dipandang dari 2 yaitu: sudut pandang pengguna dan perancang database.

Pengguna dapat diartikan sebagai orang-orang yang menggunakan database. Sedangkan perancang database adalah orang yang berperan sebagai perancang dan pengelola database.

Seorang perancang database memiliki pandangan secara konseptual dan secara fisik.

Pandangan  tersebut menunjukkan level pandangan terhadap suatu database.

Pandangan terhadap database sering disebut sebagai arsitektur database atau abtraksi database dan terbagi kedalam level fisik, level konseptual, dan level pandangan pengguna. 

Berikut uraiannya:

1. Level Fisik (Physical Level)

Level fisik merupakan level abstraksi yang paling rendah menjelaskan secara detail bagaimana data disimpan dan kondisi sebenarnya atau diorganisasikan secara fisik atau aktual.

Pada level ini struktur data yang diperlukan gambaran secara rinci yang dibutuhkan oleh system enginner, dan level ini umumnya digunakan oleh para pakar software dan hardware.

Physical level sering disebut sebagai level eksternal merupakan bentuk implementasi konseptual, yaitu suatu pandangan perancang yang berkaitan dengan permasalahan teknik penyimpanan data dalam database ke dalam media penyimpanan yang digunakan.

Pandangan ini bersifat sangat teknis dan lebih berorientasi pada mesin, yaitu berkaitan dengan organisasi berkas database.

2. Level Konseptual (Conceptual Level)

Level konseptual merupakan level abstraksi yang lebih rendah dari level logika dan merupakan level abstraksi yang lebih tinggi dari level fisik.

Level ini memberikan gambaran tentang data apa yang sebenarnya perlu disimpan dalam database, serta hubungan atau relasi yang terjadi diantara data dari keseluruhan database.

Level Conceptual / Global Logical Data juga merupakan suatu pandangan perancang database yang berkaitan dengan data apa saja yang perlu disimpan dalam database dan penjelasan mengenai hubungan antara data yang satu dengan yang lainnya.

Pengguna tidak mempedulikan kerumitan dalam struktur level fisik lagi, penggambaran cukup dengan memakai kotak, garis, dan hubungan secukupnya.

3. Level Pandangan Pengguna

Level pandangan pengguna atau level eksternal merupakan pandangan para pengguna database pada masing-masing pengguna database, sehingga memiliki cara pandang yang berbeda-beda tergantung pada macam data apa saja yang tersedia atau dapat diakses oleh pemakai.

Level ini merupakan level abstraksi yang mendeskripsikan bagian tertentu dari keseluruhan database secara logika kepada pengguna tentang data yang dibutuhkan.

Level ini merupakan level abstraksi data tertinggi yang menggambarkan sebagian saja tentang data yang dapat dilihat dan dipakai dari keseluruhan database.

Pengguna tidak perlu tahu bagaimana sebenarnya data-data tersebut disimpan.  

 

8. Bahasa basis data (database language)

Bahasa database adalah suatu cara untuk berinteraksi atau berkomunikasi antara pengguna dengan database yang diatur dalam bahasa khusus yang ditetapkan oleh perusahaan.

Database language dibagi menjadi 3 bagian yaitu Data Definition Language (DDL), Data Manipulation Language (DML), Data Control Language (DCL).

1. Data Definition Language (DDL)

Data Definition Language (DDL) merupakan satu paket bahasa DBMS yang berguna untuk melakukan spesifikasi terhadap skema database.

DDL juga merupakan struktur database yang menggambarkan desain database secara keseluruhan.

Dengan DDL dapat membuat tabel baru dan mengubah tabel, dan hasil dari kompilasi perintah DDL adalah kumpulan tabel yang disimpan dalam file khusus yang disebut kamus data (data dictionary).

Kamus data merupakan suatu meta data (super data) yaitu data yang mendeskripsikan data sesungguhnya.

Kamus data akan selalu diakses dalam suatu operasi database sebelum suatu file data yang sesungguhnya diakses.

2. Data Manipulation Language (DML)

Data Manipulation Language (DML) merupakan satu paket DBMS yang memperbolehkan pengguna untuk mengakses atau memanipulasi data sebagaimana yang telah diorganisasikan sebelumnya dalam model data yang tepat.

DML dapat mengambil informasi yang tersimpan dalam database, menyisipkan informasi baru dalam database dan menghapus informasi dari tabel.

DML mempunyai 2 tipe yaitu procedural dan non procedural.

Procedural digunakan oleh pengguna pada saat membutuhkan spesifikasi data apa yang dibutuhkan dan bagaimana cara mendapatkannya.

Sedangkan, non procedural digunakan oleh pengguna pada saat membutuhkan spesifikasi data tanpa harus mengetahui bagaimana cara mendapatkannya.

3. Data Control Language (DCL)

Data Control Language (DCL) adalah kumpulan bahasa SQL (structured query language) atau bahasa database yang berfungsi untuk mengatur hak akses pengguna database.

 

Kesimpulan:

Pembahasan kali ini adalah tentang konsep dasar sistem basis data (database system).

Konsep ini sangat penting untuk diketahui untuk menghasilkan rancangan database yang baik.

Rancangan database yang baik harus memenuhi kriteria sebagai database. meminimalisir redudansi data, menghemat ruang penyimpanan, dan menjamin integritas data.

Proses Design dan Life Cycle Basis Data

Nama              :Bernadus Bayu Nugraha Saputra NPM                 :21312011 Kelas              :IF 21 A Jurusan           : http://inform...