No. Dokumen :
FRM/POS/STD/STTR/A.3-3-1
No. Revisi :
00
Tanggal Terbit :
2 Agustus. 2020
Halaman :
1 dari 124
BAHAN AJAR
MATA KULIAH
3 SKS
BASIS DATA
PROGRAM STUDI S1 TEKNIK ELEKTRO
SEKOLAH TINGGI TEKNOLOGI RONGGOLAWE CEPU
No. Dokumen :
FRM/POS/STD/STTR/A.3-3-1
No. Revisi :
00
Tanggal Terbit :
2 Agustus. 2020
Halaman :
2 dari 124
VERIFIKASI BAHAN AJAR
Pada hari ini Senin tanggal 2 bulan Agustus tahun 2020 Bahan Ajar Mata Kuliah Basis
Data Program Studi Teknik Elektro telah diverifikasi oleh Ketua Program Studi Teguh
Yuwono, ST. MT
Cepu, 2 Agustus 2020
3
PRAKATA
Pertama-tama kami mengucapkan terima kasih kepada Tuhan Yang Maha Esa atas
terwujudnya modul ini. Tujuan dari dibuatnya modul ini agar mahasiswa terbantu dapat
mempelajari dasar-dasar teori dan konsep basis data . Dalam mata kuliah ini, Modul ini
dikembangkan dengan menggunakan pendekatan eksplorasi, dengan harapan pembaca
dapat mencoba, memodifikasi dan selanjutnya dapat berkreasi dengan menggunakan
perangkat lunak ini. Modul ini dimulai dengan pengetahuan awal tentang teori dan konsep
basis data, berikutnya pengenalan terhadap berbagai perangkat lunak pendukung dan
diakhiri dengan implementasi pembuatan berbagai macam analisis dan pelaporan
Cepu, 2 Agustus 2020
Penyusun
4
TINJAUAN UMUM MATA KULIAH
Deskripsi Mata Kuliah
Mata kuliah ini bertujuan memberikan p e m a h a m a n t e n t a n g pengantar Basis Data,
Sistem Basis Data, Model Data, Diagram E-R, Transformasi Model Data ke Basis Data Fisik,
Implementasi Basis Data, Desain Basis Data, Normalisasi Data, SQL, Pemrosesan Query, Bekerja
dengan SQL, Aplikasi SQL, Proteksi Data, Aplikasi Basis Data
Manfaat Mata Kuliah
1. Mahasiwa memiliki kemampuan tentang konsep dan teori basis data
2. Mahasiswa memiliki kemampuan tentang konsep normalisasi, model data, pembuatan
diagram
3. Mahasiswa memiliki kemampuan untuk menerapkan perintah2 SQL dalam Database
manajemen sistem
Capaian Pembelajaran Lulusan (CPL)
A. Sikap
(Ditetapkan pemerintah dalam permendikbud no 3 tahun 2020 tentang Standar Nasional
Perguruan Tinggi. Ambil yang sesuai dengan mata kuliah.)
1. Bertakwa kepada Tuhan Yang Maha Esa dan mampu menunjukkan sikap religius;
2. Menjunjung tinggi nilai kemanusiaan dalam menjalankan tugas berdasarkan agama,
moral, dan etika;
3. Berkontribusi dalam peningkatan mutu kehidupan bermasyarakat, berbangsa,
bernegara, dan kemajuan peradaban berdasarkan Pancasila;
4. Berperan sebagai warga negara yang bangga dan cinta tanah air, memiliki
nasionalisme serta rasa tanggung jawab pada negara dan bangsa;
5. Menghargai keanekaragaman budaya, pandangan, agama, dan kepercayaan, serta
pendapat atau temuan orisinal orang lain;
6. Bekerjasama dan memiliki kepekaan sosial serta kepedulian terhadap masyarakat dan
lingkungan;
7. Taat hukum dan disiplin dalam kehidupan bermasyarakat dan bernegara;
8. Menginternalisasi nilai, norma, dan etika akademik;
9. Menunjukkan sikap bertanggung jawab atas pekerjaan di bidang keahliannya secara
mandiri;
10. Menginternalisasi semangat kemandirian, kejuangan, dan kewirausahaan.
5
Pengetahuan Umum
Keterampilan Umum
(Ditetapkan pemerintah dalam permendikbud no 3 tahun 2020 tentang Standar Nasional
Perguruan Tinggi. Ambil yang sesuai dengan mata kuliah.)
1. Mampu menerapkan pemikiran logis, kritis, sistematis, dan inovatif dalam konteks
pengembangan atau implementasi ilmu pengetahuan dan teknologi yang
memperhatikan dan menerapkan nilai humaniora yang sesuai dengan bidang
keahliannya;
2. Mampu menunjukkan kinerja mandiri, bermutu, dan terukur;
3. Mampu mengkaji implikasi pengembangan atauimplementasi ilmu pengetahuan
teknologi yang memperhatikan dan menerapkan nilai humaniora sesuai dengan
keahliannya berdasarkan kaidah, tata cara dan etika ilmiah dalam rangka
menghasilkan solusi, gagasan, desain atau kritik seni;
4. Menyusun deskripsi saintifik hasil kajiannya dalam bentuk skripsi atau laporan tugas
akhir, dan mengunggahnya dalam lamanperguruan tinggi; menyusun deskripsi
saintifik hasil kajian tersebut di atas dalam bentuk tesis atau laporan tugas akhir, dan
mengunggahnya dalam laman perguruan tinggi;
5. Mampu mengambil keputusan secara tepat dalam konteks penyelesaian masalah di
bidang keahliannya, berdasarkan hasil analisis informasi dan data;
6. Mampu memelihara dan mengembangkan jaringan kerja dengan pembimbing, kolega,
sejawat baik di dalam maupun di luar lembaganya;
7. Mampu bertanggung jawab atas pencapaian hasil kerja kelompok dan melakukan
supervisi dan evaluasi terhadap penyelesaian pekerjaan yang ditugaskan kepada
pekerja yang berada di bawah tanggung jawabnya;
8. Mampu melakukan proses evaluasi diri terhadap kelompok kerja yang berada di
bawah tanggung jawabnya, dan mampu mengelola pembelajaran secara mandiri;
9. Mampu mendokumentasikan, menyimpan, mengamankan, dan menemukan kembali
data untuk menjamin kesahihan dan mencegah plagiasi.
6
Keterampilan Khusus
Capaian Pembelajaran Mata Kuliah (CPMK)
1. Memahami dan menjelaskan konsep-konsep teori tentang basis data relasional, model
data, diagram ER, proteksi basis data.
2. Mampmembuat desain basisdata, mampu melakukan normalisasi data, serta mampu
dalam menjalankan perintah-perintah SQL dalam basis data manajamen system
Capaian Matakuliah
1. Memahami secara utuh tentang konsep basis data relasional
2. Mengerti dan memahami normalisasi data, diagram ER, model data, dan desain basis data.
3. Mengetahui dan Memahami serta menerapkan perintah-perintah SQL
Materi Pembelajaran
1. Pengantar Basis Data
2. Sistem Basis Data
3. Model Data
4. Diagram E-R
5. Transformasi Model Data ke Basis Data Fisik
6. Implementasi Basis Data
7. Desain Basis Data
8. Normalisasi Data
9. SQL
10. Pemrosesan Query
11. Bekerja dengan SQL
12. Aplikasi SQL
13. Proteksi Data
14. Aplikasi Basis Data
7
DAFTAR ISI
BASIS DATA .......................................................................................................................................1
VERIFIKASI BAHAN AJAR....................................................................................................................2
PRAKATA ...........................................................................................................................................3
TINJAUAN UMUM MATA KULIAH......................................................................................................4
Deskripsi Mata Kuliah....................................................................................................................4
Manfaat Mata Kuliah.....................................................................................................................4
Capaian Pembelajaran Lulusan (CPL) ............................................................................................4
Pengetahuan Umum .....................................................................................................................5
Keterampilan Umum .....................................................................................................................5
Keterampilan Khusus.....................................................................................................................6
Capaian Pembelajaran Mata Kuliah (CPMK)..................................................................................6
Capaian Matakuliah ..........................................................................................................................6
Materi Pembelajaran ........................................................................................................................6
DAFTAR ISI.........................................................................................................................................7
Pengantar Basis Data.........................................................................................................................9
Sistem Basis Data ............................................................................................................................11
Model Data .....................................................................................................................................15
Diagram E-R.....................................................................................................................................17
Transformasi Model Data ke Basis Data Fisik..................................................................................21
Implementasi Basis Data.................................................................................................................38
Desain Basis Data ............................................................................................................................42
Normalisasi Data .............................................................................................................................48
SQL..................................................................................................................................................62
Pemrosesan Query..........................................................................................................................70
Bekerja dengan SQL ........................................................................................................................92
8
Proteksi SQL ....................................................................................................................................95
Aplikasi Basis Data.........................................................................................................................103
9
Pengantar Basis Data
Pertemuan 1
Sejarah Basis Data
Generasi pertama DBMS didesain oleh Charles Bachman di perusahaan General Electric
pada awal tahun 1960, disebut sebagai Penyimpanan Data Terintegrasi (Integrated Data
Store).
Dan pada akhir 1960, IBM mengembangkan sistem manajemen informasi (Information
Management System) DBMS. IMS dibentuk dari representasi data pada kerangka kerja
yang disebut dengan model data hirarki.
Kemudian pada tahun 1970, Edgar Codd, di Laboratorium Penelitian di San Jose,
mengusulkan model data relasional
SQL distandardisasi di akhir tahun 1980, dan SQL-92 diadopsi oleh American National
Standards Institute (ANSI) dan International Standards Organization (ISO).
Pada akhir tahun 1980 dan permulaan 1990, banyak bidang sistem basis data yang
dikembangkan. Penelitian pada bidang basis data meliputi bahasa query yang powerful,
model data yang lengkap, dan penekanan pada dukungan analisis data yang kompleks
dari semua bagian organisasi.
Fenomena yang paling menarik adalah adanya enterprise resource planning (ERP) dan
management resource planning (MRP), yang menambahkan substansial layer dari fitur
berorientasi pada aplikasi. Paket yang termasuk didalamnya meliputi Baan, Oracle,
PeopleSoft, SAP, dan Siebel
Terminologi Dan Konsep Basis Data
3. Keakuratan (accuracy)
Pengkodean atau pembentukan relasi antar data bersama dengan penerapan
aturan/batasan (constraint), dmain data, keunikan data, dsb, yang secara ketat dapat
diterapkan dalam sebuah basis data, sangat berguna untuk menekan ketidak akuratan
penyimpanan data.
4.Ketersediaan (availability)
Dengan pemanfaatan jaringan komputer, maka data yang berada di suatu lokasi/cabang
dapat juga diakses (tersedia/available) bagi lokasi/cabang lain.
5. Kelengkapan (completeness)
10
Kelengkapan data yang disimpan dalam sebuah database bersifat relatif, bisa jadi saat ini
dianggap sudah lengkap, tetapi belum tentu pada suatu saat dianggap lengkap. Untuk
mengakomodasi kelengkapan data, seperti .
6.Keamanan (security)
Aspek keamanan dapat diterapkan dengan ketat, dengan begitu kita dapat menentukan
pemakai basis data serta obyek-obyek didalamnya ,serta jenis-jenis operasi apa saja yang
boleh dilakukannya.
7.Kebersamaan pemakaian (sharability)
Basis data yang dikelola dengan aplikasi multi user dapat memenuhi kebutuhan ini.
Hirarki Data
1. Basis data, merupakan sekumpulan dari bermacam-macam tipe record yang memiliki
hubungan antar record.
2. Berkas/file, merupakan sekumpulan rekaman data yang berkaitan denngan suatu
objek.
3. Record , merupakan sekumpulan field/atribut/data item yang saling berhubungan
terhadap obyek tertentu,
- Field length record, semua field dalam record memiliki ukuran yang tetap.
- Variabel length record, field-field dalam record dapat memiliki ukuran berbeda
(metode penandaan yang digunakan adalah : end of record marker, indikator panjang,
dan tabel posisi record)
4. Field/atribut/data item, merupakan unit terkecil yang disebut data,yang tidak dapat
dipecah lagi menjadi unit lain yang bermakna.
- Fixed length field, memiliki ukuran yang tetap.
- Variabel length field, field-field dalam record dapat memiliki ukuran berbeda.
5. Caracter, Berupa huruf(a,b,c,d,e), angka(1,2,3,4,5),dan symbol & * ^ % # ) $
6. Byte, adalah bagian terkecil yang dialamatkan dalam memori. byte mrupakan
sekumpulan bit yang secara konvensional terdiri atas kombinasi delapan bit yang
menyatakan sebuah karakter dalam memori (I byte= I karakter)
11
7. Bit, adalah sistem binner yang terdiri atas dua macam nilai, yaitu 0 dan 1. sistem binner
merupakan dasar yang dapat digunakan untuk komunikasi antara manusia dan mesin,
yang merupakan serangkaian komponen elektronik dan hanya dapat membedakan 2
macam keadaan, yaitu ada tegangan dan tidak ada tegangan yang masuk ke rangkaian
tersebut.
DBMS
Database Management System (DBMS) merupakan paket program (Software) yang dibuat
agar memudahkan dan mengefisienkan pemasukan, pengeditan, penghapusan dan
pengambilan informasi terhadap database.
Software yang tergolong kedalam DBMS antara lain, Microsoft SQL, MySQL, Oracle, MS.
Access, dan lain-lain
Sistem Basis Data
Konsep DBMS (database management system)
Database Management System (DBMS) merupakan paket program (Software)
yang dibuat agar memudahkan dan mengefisienkan pemasukan, pengeditan,
penghapusan dan pengambilan informasi terhadap database.
Software yang tergolong kedalam DBMS antara lain, Microsoft SQL, MySQL,
Oracle, MS. Access, dan lain-lain
Komponen utama DBMS :
1. Perangkat keras
berupa komputer dan bagian-bagian didalamnya, seperti prosesor, memori & harddisk.
Komponen inilah yang melakukan pemrosesan dan juga untuk menyimpan basis data.
2. Basisdata
sebuah DBMS dapat memiliki beberapa basisdata, setiap basisdata dapat berisi sejumlah
obyek basisdata (file,tabel,indeks dsb). Disamping berisi data,setiap basisdata juga
menyimpan definisi struktur (baik untuk basisdata maupun obyek-obyeknya secara
detail).
3. Perangkat lunak
12
perangkat lunak ini terdiri dari sistem operasi dan perangkat lunak/program pengelola
basisdata. Perangkat lunak inilah yang akan menentukan bagaimana data
diorganisasi,disimpan, diubah dan diambil kembali. Ia juga menerapkan mekanisme
pengamanan data, pemakaian data secara bersama, pemaksaan keakuratan/konsistensi
data, dsb.
Contoh perangkat lunak DBMS : MS access, SQL Server, Oracle dsb.
4. Pengguna/user
pengguna dapat digolongkan menjadi 3 :
1. Pengguna akhir / end user.
Dapat dibagi menjadi 2 :
- Pengguna aplikasi : adalah orang yang mengoperasikan program aplikasi yang
dibuat oleh pemrogram aplikasi.
- Pengguna interaktif : adalah orang yg dpt memberikan perintah-perintah pada
antar muka basisdata, misalnya SELECT, INSERT dsb.
2. Pemrogram aplikasi
Adalah orang yang membuat program aplikasi yang menggunakan basisdata.
3. Administrator database / DBS (database administrator)
adalah orang yang bertanggungjawab terhadap pengelolaan basisdata.
Tugas DBA :
- mendefinisikan basisdata
- menetukan isi basisdata
- menentukan sekuritas basisdata
Abstraksi Data
Salah satu tujuan dari DBMS adalah untuk menyediakan fasilitas/antarmuka (interface)
kepada user.untuk itu system tersebut akan menyembunyikan detail tentang bagaimana
data disimpan dan dipelihara, sehingga data yang terlihatoleh user sebenarnya berbeda
dengan yang tersimpan secara fisik.
13
Abstraksi data merupakan tingkatan-tingkatan pengguna dalam memandang bagaimana
sebenarnya data diolah dalam sebuah sistem database sehingga menyerupai kondisi yang
sebenarnya dihadapi oleh pengguna sehari-hari.. Sebuah DBMS seringkali menyembunyikan detail
tentang bagaimana sebuah data disimpan dan dipelihara (diolah) dalam sebuah sistem database,
dengan tujuan untuk memudahkan pengguna dalam menggunakan DBMS tersebut. Karena itu
seringkali data yang terlihat oleh pemakai sebelumnya berbeda dengan yang tersimpan secara
fisik.
Terdapat 3 level abstraksi :
1. Level Fisik (Physical Level)
Lapis fisik merupakan lapis terendah, lapis ini menjelaskan bagaimana (how) data
sesungguhnya disimpan. Pada lapis inilah struktur data dijabarkan secara rinci.
2. Level Logik / Konseptual (Conceptual Level)
Lapis konseptual lebih tinggi dari lapis fisik. Lapis ini menjabarkan data apa (what)
saja yang sesungguhnya disimpan pada basisdata, dan juga menjabarkan hubungan-
hubungan antardata secara keseluruhan. Seorang pengguna dalam level ini dapat
mengetahui bahwa data mahasiswa disimpan pada tabel mahasiswa, tabel krs, tabel
transkrip dan lain sebagainya. Level ini biasa dipakai oleh DBA.
3. Level Penampakan/pandangan (View Level)
Lapis pandangan merupakan lapis tertinggi pada abstraksi data. Pada lapis ini
pengguna hanya mengenal struktur data yang sederhana, yang berorientasi pada
kebutuhan pengguna. Data yang dikenal oleh masing-masing pengguna bisa berbeda-
beda dan barangkali hanya mencakup sebagian dari basis data. Misalnya: Bagian
keuangan hanya membutuhkan data keuangan, jadi yang digambarkan hanya pandangan
terhadap data keuangan saja, begitu juga dengan bagian akuntansi, hanya membutuhkan
data akuntansi saja. Jadi tidak semua pengguna database membutuhkan seluruh
informasi yang terdapat dalam database tersebut.
Bahasa Basis Data
1. Bahasa Definisi Data (Data Definition Language/ DDL)
DDL adalah perintah-perintah yang biasa digunakan oleh administrator basis data (DBA)
utnuk mendefinisikan skema ke DBMS. Skema adalah deskripsi lengkap tentang struktur
medan, rekaman, dan hubungan data pada basis data
Index merupakan suatu mekanisme yang lazim digunakan pada basis data, yang
memungkinkan pengambilan data dapat dilakukan dengan cepat.
14
DDL Digunakan untuk mespesifikasikan struktur/skema basis data yang
menggambarkan/mewakili desain basis data secara keseluruhan.
Hasil kompilasi perintah DDL adalah kamus data (File yang berisi metadata (data yang
mendeskripsikan data sesungguhnya).
Struktur penyimpan dan metode akses yang digunakan oleh sistem basis data disebut
dengan data storage and definition language.
2. Bahasa Manipulasi Data (Data Manipulation laguage/ DML)
DML adalah perintah-perintah yang digunakan untuk mengubah, manipulasi dan
mengambil data pada basis data. Tindakan seperti menghapus, mengubah, dan
mengambil data menjadi bagian dari DML.
DML pada dasarnya dibagi menjadi dua :
- Prosedural, yang menuntut pengguna menentukan data apa saja yang diperlukan dan
bagaimana cara mendapatkannya.
- Nonprosedural, yang menuntut pengguna menentukan data apa saja yang diperlukan,
tetapi tidak perlu menyebutkan cara mendapatkannya.
Pemanfaaatan Ilmu Basis Data
Bidang Fungsional :
• Kepegawaian
• Pergudangan (inventory)
• Akuntansi
• Reservasi
• Layanan Pelanggan
Bentuk Perusahan :
Perbankan
Rumah Sakit
Produsen Barang
• Sekolah
• Telekomunikasi
15
Model Data
Model database adalah suatu konsep yang terintegrasi dalam menggambarkan
hubungan (relationships) antar data dan batasan-batasan (constraint) data dalam suatu
sistem database. Model data yang paling umum, berdasarkan pada bagaimana hubungan
antar record dalam database (Record Based Data Models), terdapat tiga jenis,
yaitu :
1. Model Database Hirarki (Hierarchical Database Model)
Model hirarkis biasa disebut model pohon, karena menyerupai pohon yang dibalik.
Model ini menggunakan pola hubungan orangtua anak
HIRARKI
3. Model Database Relasi (Relational Database Model)
Model Relasional merupakan model yang paling sederhana sehingga mudah
digunakan dan dipahami oleh pengguna. Model ini menggunakan sekumpulan tabel
berdimensi dua ( yang disebut relasi atau tabel ), dengan masing-masing relasi tersusun
atas tupel atau baris dan atribut. DBMS yang bermodelkan relasional biasa disebut
RDBMS (Relational Data Base Management System).
Model database ini dikemukakan pertamakali oleh EF codd, seorang pakar basisdata.
Model ini sering disebut juga dengan database relasi.
Model database hirarki dan jaringan merupakan model database yang tidak banyak lagi
dipakai saat ini, karena adanya berbagai kelemahan dan hanya cocok untuk struktur
hirarki dan jaringan saja. Artinya tidak mengakomodir untuk berbagai macam jenis
persoalan dalam suatu sistem database.
Model database relasi merupakan model database yang paling banyak digunakan saat
ini, karena paling sederhana dan mudah digunakan serta yang paling penting adalah
kemampuannya dalam mengakomodasi berbagai kebutuhan pengelolaan database.
Sebuah database dalam model ini disusun dalam bentuk tabel dua dimensi yang terdiri
dari baris (record) dan kolom (field), pertemuan antara baris dengan kolom disebut item
data (data value), table-tabel yang ada di hubungkan (relationship) sedemikian rupa
menggunakan field-field kunci (Key field) sehingga dapat meminimalkan duplikasi data.
16
Contoh produk DBMS terkenal yang menggunakan model relasional antara lain adalah
:
1. DB2 (IBM)
2. Rdb/VMS (Digital Equipment Corporation)
3. Oracle (Oracle Corporation)
4. Informix (Informix Corporation)
5. Ingres (ASK Group Inc)
6. Sybase (Sybase Inc)
Di lingkungan PC, produk-produk berbasis relasional yang cukup terkenal antara lain
adalah :
1. Keluarga R:Base (Microrim Corp) antara lain berupa R:Base 5000
2. Keluarga dBase (Ashton-Tate, sekarang bagian dari Borland International), antara lain
dbase III Plus, dBase IV, serta Visual dBase
3. Microsoft SQL ( Microsoft Corporation)
4. Visual FoxPro (Microsoft Corporation)
4. Model ER (Entity Relationship)
Model Entity-Relationship adalah model data konseptual tingkat tinggi untuk
perancangan basis data. Model data konseptual adalah himpunan konsep yang
mendeskripsikan struktur basis data, transaksi pengambilan dan pembaruan basis data.
Model ER adalah data konseptual tak tergantung DBMS dan platform perangkat keras
tertentu. Model ER dikemukakan oleh Chen [1976]. Sejak itu, telah memperoleh banyak
perhatian dan perluasan.
Model ER adalah persepsi terhadap dunia nyata sebagai terdiri objek-objek dasar yang
disebut entitas dan keterhubungan (relationship) antar entitas-entitas itu.
Konsep paling dasar di model ER adalah entitas, relationship dan atribut.
Komponen-komponen utama model ER adalah:
a. Entitas (entity), Entitas memodelkan objek-objek yang berada
diperusahaan/lingkungan.
b. Relationship. Relationship memodelkan koneksi/hubungan di antara entitas-entitas.
c. Atribut-atribut (properi-properti), memodelkan properti-properti dari entitas dan
relationship.
d. Konstrain-konstrain (batasan-batasan) integritas, konstrain-konstrain ketentuan
validitas.
17
DISKUSI
Buatlah Model ER untuk perusahaan Manufaktur
meliputi Production ,Product, Vendor, Client, Sales,
Diagram E-R
Konsep paling dasar di model ER adalah entitas, relationship dan atribut.
Komponen-komponen utama model ER adalah:
a. Entitas (entity), Entitas memodelkan objek-objek yang berada
diperusahaan/lingkungan.
b. Relationship. Relationship memodelkan koneksi/hubungan di antara entitas-entitas.
c. Atribut-atribut (properi-properti), memodelkan properti-properti dari entitas dan
relationship.
d. Konstrain-konstrain (batasan-batasan) integritas, konstrain-konstrain ketentuan
validitas.
Dalam berbagai pembahasan/literature, penyebutan himpunan entitas (yang kurang praktis) ini
seringkali digantikan dengan sebutan entitas saja.
Karena itu sering ditemui, penggunaan istilah entitas (entity) di sebuah literature sebenarnya
menunjuk pada himpunan entitas.
Kunci Entitas
Sebagaimana model relasional, adalah penting dan berguna untuk memasukkan kunci yang
diasosiasikan dengan himpunan entitas. Kunci pada himpunan entitas S, adalah himpunan atribut
A. Sehingga tidak ada dua entitas di S yang mempunyai nilai sama untuk tiap atribut di A dan tidak
ada subset di A yang dapat menjadi kunci di S, dengan demikian kunci mempunyai property
minimal.
Atribut (Atributes/Properties)
Setiap entitas pasti memiliki atribut yang mendeskripsikan karakteristik (property) dari
entitas tersebut.
Penentuan / pemilihan atribut-atribut yang relevan bagi sebuah entitas merupakan hal
penting lainnya dalam pembentukan model ER. Contoh : nim, nama, alamat, kode.
Relasi (Relationship) dan Himpunan Relasi (Relationship Sets)
Relasi menunjukkan adanya hubungan di antara sejumlah entitas yang berasal dari himpunan
entitas yang berbeda.
Misalnya, entitas seorang mahasiwa dengan
18
nim = ‘000001’ dan
nama_mhs = ‘gunawan’ (yang ada di himpunan entitas Mahasiswa)
mempunyai relasi dengan entitas sebuah mata kuliah dengan
kode_kul=’IF-001’ dan
nama_kul=’basis Data’.
Relasi diantara kedua entitas tadi mengandung arti bahwa mahasiswa tersebut sedang
mengambil/mempelajari mata kuliah tersebut di sebuah perguruan tinggi yang ditinjau.
Kumpulan semua relasi diantara entitas-entitas yang terdapat pada himpunan entitas-himpuan
entitas tersebut membentuk himpunan relasi (relationship sets).
Sebagaimana istilah himpunan entitas yang banyak sekali disingkat menjadi entitas, istilah
himpunan relasi jarang sekali digunakan dan lebih sering disingkat dengan istilah relasi saja.
Kardinalitas Relasi menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas
pada himpunan entitas yang lain. Kardinalitas relasi merujuk kepada hubungan maksimum yang
terjadi dari himpunan entitas yang satu ke himpunan entitas yang lain dan begitu juga sebaliknya.
Kardinalitas di antara dua himpunan entitas (misalnya A dan B) dapat berupa :
a. Satu ke satu (One to One),
setiap entitas pada himpunan entitas A berhubungan dengan paling banyak dengan satu entitas
pada himpunan entitas begitu juga sebaliknya setiap entitas pada himpunan entitas B
berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas A.
b. Satu ke Banyak (one to many),
Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada
himpunan entitas B,
tetapi tidak sebaliknya, dimana setiap entitas pada himpunan entitas B berhubungan dengan
paling banyak dengan satu entitas pada himpunan entitas A.
c. Banyak ke Satu (Many to One),
Setiap entitas pada himpunan entitas A berhubungan dengan paling banyak dengan satu entitas
pada himpunan entitas B, tetapi tidak sebaliknya, dimana setiap entitas pada himpunan entitas A
berhubungan dengan paling banyak satu entitas pada himpunan entitas B.
d. Banyak ke Banyak (Many to Many)
19
Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada
himpunan entitas B,
demikian juga sebaliknya, di mana setiap entitas pada himpunan entitas B dapat berhubungan
dengan banyak entitas pada himpunan entitas A.
Tahap Pembuatan Diagram ER
Diagram ER selalu dibuat secara bertahap. Paling tidak ada dua kelompok penahapan yang biasa
ditempuh di dalam pembuatan diagram ER, yaitu :
a. Tahap pembuatan Diagram ER awal (preliminary design). Yaitu :
Mengidentifikasi dan menetapkan seluruh entity yang terlibat dalam sistem database tersebut.
1. Menentukan attribute-attribute atau field dari masing-masing entity beserta kunci (key)-
nya.
Menentukan attribute dari suatu entitas sangat menentukan baik atau tidaknya sistem database
yang dirancang, karena attribute ini sangat menentukan nantinya dalam proses relasi. Attribute
merupakan ciri khas yang melekat pada suatu entity, misalnya attribute pada mahasiswa dapat
berupa nobp, nama, tempat lahir, tanggal lahir, alamat, nama orang tua, pekerjaan orang tua dan
lain-lain. Dari sekian banyak kemungkinan attribute yang ada pada entity mahasiswa, kita dapat
menggunakan hanya yang perlu saja. Setelah menentukan attributenya selanjutnya adalah
menentukan field kunci. Field kunci adalah penanda attribute tersebut sehingga bisa digunakan
untuk relasi nantinya dan field kunci ini harus bersifat unik. Misalnya pada entity mahasiswa,
attribute nobp bisa dijadikan field kunci, karena bersifat unik dan tidak ada mahasiswa yang
mempunyai nobp sama.
2. Mengidentifkasi dan menetapkan seluruh himpunan relasi diantara himpunan-himpunan entity
yang ada beserta kunci tamu (foreign key)- nya.
Setelah menentukan entity dan attribute beserta field kuncinya, maka selanjutnya adalah
menentukan entity yang terbentuk akibat adanya relasi antar entity. Misalnya antara entity
mahasiswa dengan entity dosen, terjadi suatu hubungan proses mengajar, maka proses mengajar
ini merupakan entity baru. Entity mengajar ini harus kita tentukan juga attribute yang melekat
padanya beserta kunci tamu (foreign key). Kunci tamu adalah field kunci utama pada tabel lain,
dan field tersebut digunakan juga pada tabel yang satu lagi. Misalnya nobp adalah field kunci dari
entity mahasiswa, pada entity mengajar terdapat juga attribute NoBP, maka keberadaan
attribute nobp pada entity mengajar disebut sebagai kunci tamu. Proses menentukan hubungan
antar entity juga sangat menentukan kualitas system database yang dirancang.
3. Menentukan derajat relasi untuk setiap himpunan relasi.
Setelah semua entity dan attribute yang dibutuhkan terbentuk, maka selanjutnya adalah
menentukan derajat relasi antar entity tersebut, apakah satu kesatu, satu ke banyak atau
sebaliknya, atau banyak ke banyak. Berhati-hatilah dalam menentukan derajat relasi ini, karena
nantinya akan berhubungan dengan proses query terhadap data
20
3. Melengkapi himpunan entitas dan himpunan relasi dengan atribut-atribut deskriptif (non
key).
Jenis-Jenis Kunci (Key)
1. Candidat Key
Sebuah attribute atau lebih yang secara unit mengidentifikasi sebuat record, disebut candidate
key. Attribute ini mempunyai nilai yang unik pada hampir setiap recordnya. Fungsi dari candidate
key ini adalah sebagai calon primary key.
2. Primary Key
Salah satu atrribut dari candidat key dapat dipilih menjadi primary key dengan 3 kriteria sbb :
Key tersebut lebih natural untuk dijadikan acuan
Key tersebut lebih sederhana
Key tersebut cukup uniqe
3. Foreign Key
Jika sebuah primary key terhubungan ke table/entity lain, maka keberadaan primary key pada
entity tersebut di sebut sebagai foreign key. Misal : Primary Key KodeDosen dari entity Dosen
digunakan juga pada field entity KRS, maka keberadaan field KodeDosen pada entity KRS disebut
sebagai foreign key.
4. Alternate Key
Setiap atribut dari candidate key yang tidak terpilih sebagai primary key akan dinamakan alternate
key. Pada contoh sebelumnya bila untuk primary key dipilih ID_Cus maka alternate key nya adalah
No.of Pay
SPESIALISASI
Dari Suatu himpunan entitas, dapat dilakukan pengelompokan yang dapat membentuk suatu
himpunan entitas baru
GENERALISASI
Kebalikan Dari Spesialisasi
AGREGASI
Dari suatu himpunan Entitas dihubungkan dengan himpunan relasi menggunakan Agregasi
21
Transformasi Model Data ke Basis Data Fisik
Implementasi Himpunan
Entitas Lemah
Implementasi Sub Entitas
Hasil dari Spesialisasi
Contoh lain spesialisasi
Implementasi Generalisasi
Relasi dengan derajat 1-1 yang menghubungkan 2 buah entitas akan direpresentasikan dalam
bentuk penambahan/penyertaan atribut relasi ke tabel yang mewakili salah satu dari kedua
himpunan entitas.
Relasi dengan derajat relasi 1-N (satu ke banyak) yang menghubungkan 2 buah entitas, juga akan
direpresentasikan dalam bentuk pencantuman atribut key dari himpunan entitas pertama (yang
berderajat 1) ke tabel entitas kedua (yang berderajat N).
Relasi dengan derajat N-M yang menghubungkan 2 buah entitas akan diwujudkan dalam bentuk
tabel khusus. Dimana memiliki field (tepatnya foreign key) yang berasal dari primary key dari
entitas yang dihubungkan, dengan menyertakan atribut tambahan bila ada.
Slide 1
Pertemuan 5
Transformasi Model Data
ke Basis Data Fisik
Indra Gunawan, S.T
22
Slide 2
Transformasi Model Data ke Basis Data
Fisik
Transformasi Umum/Dasar
nim Nama_mhs Alamat_mhs Tgl_lahir
Alamat_mhs
T
gl_lahir
Mahasiswa
Nim Nam a_m hs
Tabel Mahasiswa
23
Slide 3
Implementasi lainnya
❑ Implementasi Himpunan Entitas Lemah dan
Sub Entitas
❑ Implementasi Relasi Tunggal (Unary
Relation)
❑ Implementasi Relasi Multi Entitas (N-ary
Relation)
❑ Implementasi Relasi Ganda (Redundant
Relation
24
Slide 4
4
Implementasi Himpunan
Entitas Lemah
PEGAWAI
punya
miliki SKILL
TANGGUNGAN
1
n
n
1
TABEL TANGGUNGAN
TABEL SKILL
25
Slide 5
5
Implementasi Relasi Tunggal 1-1
KARYAWAN
nama
Nik_karyawan
nohp
Menikah
1
1
…
Nik_pasangan
alamat
TABEL KARYAWAN
26
Slide 6
6
Implementasi Relasi Tunggal 1-N
KARYAWAN
nama
Nik_karyawan
nohp
kontrol
1
N
Nik_supervisor
TABEL KARYAWAN
27
Slide 7
7
Implementasi Relasi Tunggal N-M
MATA KULIAH
nama
Kd_mk
sks
Kuliah
prasyarat
N
M
Kd_mk_prasyarat
semester
TABEL MATA KULIAH TABEL MK PRASYARAT
28
Slide 8
8
Implementasi Multi Entitas
SUPPLIER Sedia GUDANG
KOMPONEN
alamat
Id_supplier
…
Cara_pengiriman
nama
lokasi
n
m
1
Id_komponen nama
…
Id_ruang
nama
tgl_kirim
29
Slide 9
9
TABEL SUPPLIER
TABEL GUDANG
TABEL KOMPONEN
TABEL PERSEDIAAN
30
Slide 10
10
Contoh lain Multi Entitas
PASIEN Resep DOKTER
OBAT
nama
Id_pasien
…
tanggal
nama
n
n
n
Id_obat nama
…
Nip_dokter
…
hasil
31
Slide 11
11
TABEL PASIEN
TABEL DOKTER
TABEL OBAT
TABEL RESEP
32
Slide 12
12
Implementasi Relasi Ganda
DOSEN
nama
nip
…
1
MATAKULLIAH
nama
n
Kd_mk
…
mengajar
Menguasai
n m
33
Slide 13
13
TABEL DOSEN
TABEL MATA KULIAH
TABEL MENGUASAI
34
Slide 14
Implementasi Spesialisasi
35
Slide 15
Implementasi Spesialisasi
36
Slide 16
Implementasi Generalisasi
37
Slide 17
Implementasi Agregasi
38
Slide 18
Implementasi Agregasi
Implementasi Basis Data
Slide 1
39
1
Indra Gunawan, S.T
40
Slide 2
 Integer : Bilangan bulat -2.2M – 2.2 M
 Contoh: 100.234
 Decimal:Bilangan pecahan
 Contoh : 20,3
 Date: Penanggalan tanpa disertai waktu
 Contoh : 2004-03-12
 Datetime: penanggalan dengan waktu
 Contoh : 2004-03-12 23.59:00
 Char: String Karakter
 Contoh : “Hello”
 Text : mampu menyimpan 64 ribu data
 Contoh : Field Alamat, Field Keterangan, Notes dst
2
41
Slide 3
 Buatlah struktur tabel beserta relasinya dari
entitas-entitas dibawah ini
3
Dosen
Golongan Mata Kuliah
keahlian
n
1 n n
1
n
42
Slide 4
 Buat lah struktur table beserta relasinya dari
entitas-entitas dibawah ini :
4
karyawan
jabatan departemen agama
keahlian
1
n
1
n
n
n
1
n
Desain Basis Data
Daur Hidup (Life Cycle) yang Umum dari Aplikasi Basis Data
Definisi Sistem
Database Design
Implementasi
Loading/Konversi Data
Konversi Aplikasi
Testing & Validasi
Operations
43
Control & Maintenance
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
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
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)
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.
44
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
Sistem operasi komputer
Program-program aplikasi
Pemrogram, dll
Proses Design Basis Data
Pengumpulan dan analisa requirement
Design basis data conceptual
Pemilihan DBMS
Physical Design
Implementasi
Proses Design Basis Data (cont’d)
Kelima phase dalam proses design tidak perlu dilaksanakan secara mutlak, mungkin ada umpan
balik antar phase dan dalam masing-masing phase
Proses Design Paralel
Proses design terdiri dari dua proses yang paralel yaitu:
• proses design dari data dan struktur dari basis data
• proses design dari program aplikasi dan pemrosesan basis data
Mengapa Harus Paralel
Karena kedua proses tersebut saling bergantungan.
Contoh:
45
Menentukan data item yang akan disimpan dalam basis data tergantung dari aplikasi basis data
tersebut, juga dalam menentukan struktur dan akses path.
Design dari program aplikasi tergantung dari struktur basis datanya.
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.
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
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
46
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
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
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
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
Phase 2b: Design Transaksi (cont’d)
47
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
Phase 3: Pemilihan DBMS
Pemilihan DBMS ditentukan oleh sejumlah faktor antara lain:
faktor teknis: storage, user interface, programmer, bahasa query
faktor ekonomi: software, hardware, maintenance, dll
faktor organisasi: kompleksitas, data, sharing antar aplikasi, perkembangan data
Phase 4: Physical Design
Struktur storage, akses path untuk mendapatkan performance yang baik
Kriteria baik dapat dilihat dari:
- response time
- pemakaian storage
- jumlah transaksi per unit waktu
Perlu tuning untuk memperbaiki performance berdasarkan statistik pemakaian
Phase 5: Implementasi Sistem Basis Data
Model data ER/EER dikompilasi membentuk schema table-table dan struktur basis data
Membuat basis data kosong
Basis data dapat dimuati (di-load) dari sistem yang lama
Transaksi dapat diimplementasikan oleh program aplikasi
Siap dioperasikan
48
Normalisasi Data
Slide 1
Indra Gunawan , ST
49
Slide 2
 Normalisasi adalah proses pembentukan
struktur basis data sehingga sebagian besar
ambiguity bisa dihilangkan.
 Normalisasi data merupakan suatu proses
untuk mendapatkan struktur tabel atau relasi
yang efisien dan bebas dari anomali, dan
mengacu pada cara data item dikelompokkan
ke dalam struktur record.
50
Slide 3
 Untuk menghilangkan kerangkapan data
 Untuk mengurangi kompleksitas
 Untuk mempermudah pemodifikasian data
51
Slide 4
 Data diuraikan dalam bentuk tabel, selanjutnya
dianalisis berdasarkan persyaratan tertentu ke
beberapa tingkat.
 Apabila tabel yang diuji belum memenuhi
persyaratan tertentu,maka tabel tersebut perlu
dipecah menjadi beberapa tabel yanglebih
sederhana sampai memenuhi bentuk yang
optimal.
52
Slide 5
Tabel dengan
Atribut bernilai
ganda
Bentuk
Normal
Pertama
Bentuk
Normal
Kedua
Buang atribut
bernilai ganda
Buang
Dependensi
parsial
Bentuk
Normal
Ketiga
Bentuk
Normal
Lain-lain
Buang
Dependensi
transitif
Bentuk
normal
Boyce-Codd
hingga
Bentuk
Normal
Kelima
53
Slide 6
o Proses pada basis data yang memberikan efek
samping yang tidak diharapkan, macamnya:
–Anomali peremajaan;
– Anomali penghapusan,dan
– Anomali penyisipan.
o Bila ada anomali maka relasi mungkin perlu
dipecah menjadi beberapa tabel lagi agar
diperoleh database yang optimal.
54
Slide 7
NIM Kode_MK Nama_MK Nilai
200543423 PS-4533 Perancangan Sistem A
200512345 PS-4533 Perancangan Sistem B
200534632 PS-4533 Perancangan Sistem B
200534632 BD-5630 Sistem Basis Data A
200634123 BD-5452 Basis Data B
200612367 BD-5452 Basis Data B
200691245 BD-5452 Basis Data A
200691245 PG-3465 Pemrograman B
Tabel KRS
◼ Misalkan pada tabel diatas dilakukan perubahan
data pada record ke 5, data nama mata kuliah
basis data diganti menjadi perancangan basis
data.
55
Slide 8
NIM Kode_MK Nama_MK Nilai
200543423 PS-4533 Perancangan Sistem A
200512345 PS-4533 Perancangan Sistem B
200534632 PS-4533 Perancangan Sistem B
200534632 BD-5630 Sistem Basis Data A
200634123 BD-5452 Perancangan Basis Data B
200612367 BD-5452 Basis Data B
200691245 BD-5452 Basis Data A
200691245 PG-3465 Pemrograman B
Tabel KRS
◼ Pada tabel diatas akan terjadi ketidak-
konsistenan pada record 5, 6 dan 7. yaitu record
Kode_MK = BD-5452 berelasi dengan dua
Nama_MK yang berbeda (Perancangan basis data
dengan Basis data).
56
Slide 9
 Solusi Normalisasi
 Melakukan dekomposisi dengan menentukan
ketergantungan fungsional (Functional dependency).
 Dependensi : suatu hubungan dimana perubahan
pada satu tabel akan mempengaruhi tabel yang
lain, dimana salah satu tabel bergantung pada tabel
yang lain.
 Contoh ketergantungan fungsional :
Ketergantungan fungsional pada tabel KRS
Kode_MK Nama_MK
Nim, Kode_MK Nilai
57
Slide 10
Kode_MK Nama_MK
PS-4533 Perancangan Sistem
BD-5630 Sistem Basis Data
BD-5452 Perancangan Basis Data
PG-3465 Pemrograman
◼ Berdasarkan ketergantungan fungsional
tersebut, maka tabel KRS dapat
didekomposisi menjadi 2 tabel
NIM Kode_MK Nilai
200543423 PS-4533 A
200512345 PS-4533 B
200534632 PS-4533 B
200534632 BD-5630 A
200634123 BD-5452 B
200612367 BD-5452 B
200691245 BD-5452 A
200691245 PG-3465 B
58
Slide 11
 Dekomposisi tabel dapat mengurangi
redudansi yang ada dan menghilangkan
anomali
 Perancangan melalui proses normalisasi
mempunyai keuntungan-keuntungan sebagai
berikut :
 Meminimalkan ukuran penyimpanan yang
diperlukan untuk penyimpanan data.
 Meminimalkan resiko inkonsistensi data pada basis
data.
 Meminimalkan kemungkinan anomaly pembaruan.
 Memaksimalkan stabilitas struktur data.
59
Slide 12
 Tujuan proses normalisasi adalah mengkonversi
relasi menjadi bentuk normal lebih tinggi.
 Terdapat beragam tingkat bentuk normal, yaitu:
1. Bentuk normal pertama (1NF)
2. Bentuk normal kedua (2NF)
3. Bentuk normal ketiga (3NF)
4. Bentuk normal Boyce-Codd (BCNF)
5. Bentuk normal keempat (4NF)
6. Bentuk normal kelima (5NF)
60
Slide 13
 Bentuk normal pertama (1NF) untuk menghilangkan
atribut bernilai jamak.
 Bentuk normal kedua (2NF) untuk menghilangkan
kebergantungan parsial.
 Bentuk normal ketiga (3NF) untuk menghilangkan
kebergantungan transitif.
 Bentuk normal Boyce-Codd (BCNF) untuk
menghilangkan anomaly tersisa disebabkan
kebergantungan fungsional.
 Bentuk normal keempat (4NF) untuk menghilangkan
kebergantungan nilai jamak.
 Bentuk normal kelima (5NF) untuk menghilangkan
anomaly tersisa.
61
Slide 14
 Tiga bentuk normal pertama berkaitan dengan
kebergantungan fungsional. Sementara itu
bentuk keempat dan kelima berkaitan dengan
redundansi yang disebabkan kebergantungan
banyak nilai (multi-valued dependencies).
62
SQL
Slide 2
SQL adalah singkatan dari structured query
language. Dalam bahasa inggris dibaca SEQUEL.
SQL merupakan bahasa query standar yang
digunakan untuk mengakses basis data relational.
Standarisari SQL yang pertama oleh ANSI
(American National Standards Organization),
melalui publikasi Database Language SQL. Selain
dari ANSI standarisasi SQL juga dilakukan oelh
ISO ( International Standards Organization )
63
Slide 3
 Ada yang menyatakan SQL bukan
merupakan sub bahasa Query karena SQL
bukan hanya dipakai untuk memperoleh data
saja, tapi juga memiliki kemampuan :
1)Pendefinisaian struktur data.
2)Pengubahan data.
3)Pengaturan sekuritas dll…
64
Slide 4
 Ada juga yang mengatakan SQL sebagai
subbahasa adalah karena SQL tidak
mendukung pernyataan bahsa yang lengkap.
SQL tidak menyediakan hal-hal berikut :
1)Pernayatan pengujian kondisi ( semacam if
pada vb ).
2)Pernyataan iterasi/pengulanga ( semacam
Repeat pada Pascal ).
65
Slide 5
 Penggunaan SQL pada DBMS cukup luas dan
banyak dipakai oleh berbagai kalangan
(DBA,pemrogram, ataupun pengguna)
SQL sebagai bahasa administrasi data.
SQL sebagai bahasa query interaktif.
SQL sebagai bahasa pemrograman basisdata.
SQL sebagai bahasa klien/server.
66
Slide 6
67
Slide 7
 Elemen dasar SQL mencakup pernyataan,
nama, tipe data, konstanta, ekspresi dan fungsi
bawaan.
68
Slide 8
Pernyataan adalah
Perintah SQL yang meminta sesuatu tindakan kepada DBMS SQL.
pernyataan dasar SQL.
Pernyataan Keterangan
ALTER Mengubah struktur tabel
COMMIT Mengahiri sebuah eksekusi transaksi
CREATE Menciptakan tabel, indeks atau view
DELETE Menghapus baris dalam tabel
DROP Menghapus tabel, indeks atau view
GRANT Memberikan hak terhadap basisdata kepada pengguna atau
grup pengguna
INSERT Menambahkan sebuah baris pada tabel
REVOKE Membatalkan hak terhadap basis data.
ROLLBACK Mengembalikan kondisi semula apabila transaksi gagal
SELECT Memilih baris dan kolom pada tabel
UPDATE Mengubah nilai pada suatu baris.
69
Slide 9
 Nama digunakan sebagai identitas bagi objek-
objek pada DBMS, contoh objek pada DBMS
adalah tabel, kolom dan pengguna.
70
Slide 10
 Setiap data memiliki tipe data, terbagi menjadi dua :
tipe data standart dan tipe data perluasan.
Tipe Data Keterangan
Char Untuk menyatakan deretan karakter ( string )
Integer Untuk menyatakan bilangan bulat
Numeric Untuk menyatakan bilangan real
VARCHAR Untuk menyatakan string yang panjangnya bervariasi
MONEY Untuk menyatakan uang
BOOLEAN Menyatakan tipe Logical ( true/false)
BLOB Untuk menyatakan data biner
Pemrosesan Query
Slide 1
71
 Sebuah ekspresi SQL dasar terdiri dari atas 3
klausa :
Select : Untuk memilih data/field mana yg
akan ditampilkan
From : Untuk memilih dari tabel mana data
akan ditampilkan.
Where : Filtering data sesuai opsi2 yg
diinginkan
72
Slide 2
 Sintaks dari ekspresi SQL dasar :
Select F1,F2…Fn
Form T1,T2…Tn
Where P
 Keterangan :
F: daftar atribut (field)
T : daftar relasi (tabel)
P : Filtering
73
Slide 3
 Contoh :
“select nama from karyawan” , akan menghasilkan data
:
Nama
Andrian
Adrie
Agus
Alif
NIK NAMA KOTA
00001 Andrian Batam
00002 Adrie Batam
00003 Agus Batam
00004 Alif Medan
74
Slide 4
 Contoh :
“select NIK,nama,kota from karyawan” , akan
menghasilkan data
NIK Nama Kota
00001 Andrian Batam
00002 Adrie Batam
00003 Agus Batam
00004 Alif Batam
NIK NAMA KOTA
00001 Andrian Batam
00002 Adrie Batam
00003 Agus Batam
00004 Alif Medan
75
Slide 5
 Contoh :
“select NIK,nama,kota as alamat from karyawan”
, akan menghasilkan data
NIK Nama Alamat
00001 Andrian Batam
00002 Adrie Batam
00003 Agus Batam
00004 Alif Medan
NIK NAMA KOTA
00001 Andrian Batam
00002 Adrie Batam
00003 Agus Batam
00004 Alif Medan
76
Slide 6
 Klausa ini boleh tidak digunakan, klausa untuk
predikat ini dapat menerapkan
 operator relasi (<, >, <=, >=, =, <>) dan
operator logika (and, or dan not). Untuk nilai
 predikat yang bertipe string harus diapit
dengan tanda kutip tunggal (‘ ’).
77
Slide 7
 Contoh :
select * from karyawan where kota=‘Medan’ ,
akan menghasilkan data
NIK Nama Kota
00004 Alif Medan
NIK NAMA KOTA
00001 Andrian Batam
00002 Adrie Batam
00003 Agus Batam
00004 Alif Medan
78
Slide 8
 Contoh :
“select * from karyawan where gaji>1000000 ” ,
akan menghasilkan data
NIK Nama Kota Gaji
00003 Agus Batam 1200000
00004 Alif Medan 1200000
NIK NAMA KOTA Gaji
00001 Andrian Batam 1000000
00002 Adrie Batam 1000000
00003 Agus Batam 1200000
00004 Alif Medan 1200000
79
Slide 9
 Khusus untuk atribut yang bertipe string,
dapat dilakukan pencarian dengan pola
tertentu, memanfaatkan karakter :
· % (percent) : berarti cocok untuk semua
substring.
· Ditambah klausa like
80
Slide 10
 Misal : Select * From karyawan Where nama
like ‘A%’
Hasil : menampilkan record-record karyawan
yang namanya diawali dengan huruf A
NIK Nama Kota
00001 Andrian Batam
00002 Adrie Batam
00003 Agus Batam
00004 Alif Batam
81
Slide 11
 Misal : Select * From karyawan Where nama
like ‘%an’
Hasil : menampilkan record-record karyawan
yang namanya diawali dengan huruf A
NIK Nama Kota
00001 Andrian Batam
82
Slide 12
 Pengurutan Hasil Query
 Dengan SQL hasil ditampilkan dengan urutan sesuai
dengan struktur penyimpanan, jika ingin
menampilkan dengan urutan tertentu dengan
menambahkan klausa order by.
 Misal : Select * From karyawan Order by NIK
Hasil : menampilkan nama karyawan dari abjad
terkecil hingga terbesar (ascending).
NIK Nama Kota
00001 Andrian Batam
00002 Adrie Batam
00003 Agus Batam
00004 Alif Batam
83
Slide 13
 Pengurutan Hasil Query
 Dengan SQL hasil ditampilkan dengan urutan sesuai
dengan struktur penyimpanan, jika ingin
menampilkan dengan urutan tertentu dengan
menambahkan klausa order by.
 Misal : Select * From karyawan Order by NIK desc
Hasil : menampilkan nama karyawan dari abjad
terbesar hingga terkecil (descending).
NIK Nama Kota
00004 Alif Batam
00003 Agus Batam
00002 Adrie Batam
00001 Andrian Batam
84
Slide 14
 Untuk menampilkan data-data agregasi seperti
banyak record, total nilai suatu atribut, rata-rata
nilai suatu atribut, nilai atribut terbesar ataupun
terkecil dapat diperoleh dengan fungsi-fungsi
berikut :
count : menghitung jumlah baris suatu field.
·sum : menjumlahkan data-data numerik pada
suatu field.
·avg: menghitung nilai rata-rata suatu atribut
numerik.
max : mengambil nilai maksimum
min : mangambil nilai minimum
85
Slide 15
 Contoh :
“select count(NIK) from karyawan ” , akan
menghasilkan data
4
NIK NAMA KOTA Gaji
00001 Andrian Batam 1000000
00002 Adrie Batam 1000000
00003 Agus Batam 1200000
00004 Alif Medan 1200000
86
Slide 16
 Contoh :
“select sum(gaji) from karyawan ” , akan
menghasilkan data
4 400 000
NIK NAMA KOTA Gaji
00001 Andrian Batam 1000000
00002 Adrie Batam 1000000
00003 Agus Batam 1200000
00004 Alif Medan 1200000
87
Slide 17
 SQL juga dilengkapi dengan sejumlah perintah
untuk melakukan manipulasi data seperti
penambahan record baru, pengubahan nilai
atribut dan penghapusanrecord.
 Ada tiga perintah :
Insert
Delete
Update
88
Slide 18
 Contoh :
“insert into karyawan
values(‘00005’,’Arie’,’Medan’,’1150000’ ” , akan
menambah 1 baris data data
NIK NAMA KOTA Gaji
00001 Andrian Batam 1000000
00002 Adrie Batam 1000000
00003 Agus Batam 1200000
00004 Alif Medan 1200000
00005 Arie Medan 1150000
89
Slide 19
 Contoh :
“delete from karyawan”
Akan menghapus semua data pada tabel
karyawan
NIK NAMA KOTA Gaji
90
Slide 20
 Contoh :
“update karyawan set gaji=900000 where
nama=‘Agus’
Akan mengubah data gaji agus menjadi 900000
NIK NAMA KOTA Gaji
00001 Andrian Batam 1000000
00002 Adrie Batam 1000000
00003 Agus Batam 900000
00004 Alif Medan 1200000
00005 Arie Medan 1150000
91
Slide 21
 Null pada Field table artinya adalah tidak ada
data atau kosong
 Contoh penggunaanna adalah
“select * from karyawan where gaji=null”
“delete from karyawan where gaji=null”
“update karyawan set gaji=0 where gaji=null”
92
Slide 22
 Contoh :
“update karyawan set gaji=null where
nama=‘Agus’
Akan mengubah data gaji agus menjadi kosong
NIK NAMA KOTA Gaji
00001 Andrian Batam 1000000
00002 Adrie Batam 1000000
00003 Agus Batam
00004 Alif Medan 1200000
00005 Arie Medan 1150000
Bekerja dengan SQL
BEKERJA DENGAN SQL
Create
Drop
Alter
Insert
Update
Delete
Select
93
CREATE
Membuat Database
Syntax :
CREATE DATABASE namadatabase;
Menampilkan Database :
SHOW DATABASES;
DROP
Menghapus Database
Syntax :
DROP DATABASE namadatabase;
ALTER
Menambah primary key
syntax :
ALTER TABLE namatabel ADD PRIMARY KEY (namakolom);
Menghapus Primary key
Syntax :
ALTER TABLE namatabel DROP PRIMARY KEY ;
ALTER
Menambah kolom baru pada tabel
Syntax :
ALTER TABLE namatabel ADD fieldbaru tipe;
Mengubah type data atau lebar kolom
Syntax :
ALTER TABLE namatabel MODIFY COLUMN field tipe
94
ALTER
Mengubah Nama Kolom
Syntax :
ALTER TABLE namatabel CHANGE COLUMN namalamakolom namabarukolom
tipedatanya;
ALTER
Menghapus kolom pada tabel
Syntax :
ALTER TABLE namatabel DROP COLUMN namakolom;
Mendefinisikan Foreign Key
ALTER TABLE namatabel ADD FOREIGN KEY (namakolom) REFERENCES namatabelinduk
(namakolominduk) ON UPDATE CASCADE ON DELETE NO ACTION;
ALTER
Menghapus Foreign Key
Syntax :
ALTER TABLE namatabel DROP FOREIGN KEY;
INSERT
Untuk menambah baris pada tabel
INSERT INTO namatabel VALUES (nilai1,nilai2,nilai-n);
DELETE
Untuk Menghapus baris pada tabel
Syntax : DELETE FROM namatabel [WHERE kondisi];
UPDATE
Untuk Mengubah data pada 1 atau banyak kolom dan 1 atau banyak baris
Syntax :
UPDATE namatabel SET kolom1 = nilai1, kolom2 = nilai2 [WHERE kondisi];
95
SELECT
Menampilkan semua data utk semua kolom menggunakan Asterik *
Syntax :
SELECT * FROM namatabel;
Menampilkan data untuk kolom tertentu
Syntax :
SELECT kolom1,kolom2,kolom-n FROM namatabel;
SELECT
Merename nama kolom di hasil tampilan
Syntax :
SELECT namakolomlama AS namakolombaru FROM namatabel;
Menggunakan alias untuk nama table
Syntax :
SELECT nmalias.jenis, nmalias.harga FROM namatabel nmalias;
SELECT
Menampilkan data lebih dari 1 tabel
Syntax :
SELECT * from namatabel1,namatabel2,namatabel-n;
Proteksi SQL
KONKURENSI
KONSEP
DBMS pada umumnya memiliki fasilitas proteksi data, yaitu fasilitas yang bertujuan untuk
melindungi data dari berbagai resiko yang mungkin terjadi dan membawa dampak dalam basis
data
Berbagai kemungkinan yang diantisipasi oleh fasilitas proteksi data adalah :
Gangguan listrik
96
Kerusakan disk
Kesalahan perangkat lunak yang akan menyebabkan data dalam kondisi tidak konsisten
Pengaksesan oleh user yang tidak berwenang. Untuk menghindari sabotase terhadap basis data
Akses yang konkuren oleh user maupun aplikasi pada waktu yang bersamaan sehingga dapat
menyebabkan data tidak konsisten
KONSEP
Untuk memproteksi data terhadap segala macam kemungkinan, DMBS menyediakan kontrol
untuk :
Security (Keamanan)
Integrity (Integritas)
Recovery (Pemulihan)
Concurrency (Konkurensi)
SECURITY
Security merupakan suatu proteksi terhadap pengrusakan data dan pemakaian data oleh user
yang tidak berwenang. Organisasi harus dapat mengidentifikasi masalah keamanan yang mungkin
mengganggu jalan operasional basis data.
Penyalahgunaan basis data dapat dikategorikan sebagai tindakan yang disengaja maupun yang
tidak sengaja.
SECURITY
Untuk kategori yang tidak disengaja dapat disebabkan oleh :
Kerusakan selama proses transaksi
Anomali yang disebabkan oleh akses basis data yang konkuren
Anomali yang disebabkan oleh pendistribusian data pada beberapa komputer
Kesalahan logika yang dapat mengancam kemampuan transaksi untuk mempertahankan
konsistensi basis data
97
SECURITY
Untuk kategori kedalam tindakan yang disengaja antara lain disebabkan oleh :
Pengambilan data/pembacaan data oleh user yang tidak berwenang
Pengubahan data oleh user yang tidak berwenang
Penghapusan data oleh user yang tidak berwenang
SECURITY
HARDWARE
Kebakaran, banjir, gempa, radiasi, bom, pencurian, kehilangan data karena padam listrik,
kesalahan mekanisme keamanan.
SOFTWARE (DBMS)
Memberikan akses yang terlalu luas, pencurian program, kesalahan program
JARINGAN KOMUNIKASI
Kabel yang tidak terkoneksi
DATABASE
Aturan/ amandemen yang tidak di otorisasi. Penduplikasian data / pencurian data.
Kehilangan data akibat listrik mati
SECURITY
END USER
Menggunakan hak akses user lain
Melihat dan menutup data yang tidak diotorisasi
Staff yang tidak di training
Pemasukan data yang dilakukan oleh hacker
Virus, pemerasan
PROGRAMMER/ OPERATORS
Membuat password
Membuat program yang tidak aman
98
Staff yang tidak ditraining
Kebijakan keamanan dan prosedur
Pemogokan staff
DBA
Kebijaksanaan Keamanan dan prosedur
SECURITY
Untuk mengatasi masalah ini, security harus dilakukan pada beberapa tingkatan :
FISIK
Menempatkan sistem komputer pada lokasi yang aman secara fisik dari serangan yang
dapat merusak.
MANUSIA
Wewenang pemakai harus dilakukan dengan hati-hati untuk mengurangi kemungkinan
adanya manipulasi oleh pemakai yang tidak berwenang
SISTEM OPERASI
Walaupun sistem databasenya aman, kelemahan pada sistem operasi memungkinkan
pengaksesan data oleh pihak tidak berwenang, karena hampir seluruh jaringan sistem database
menggunakan akses jarak jauh melalui terminal/jaringan.
SISTEM DATABASE
Beberapa pemakai yang berwenang dalam sistem database mungkin hanya boleh
mengakses sebagian databasenya, yang lainnya hanya boleh melihat dan menggunakan tanpa
boleh mengubahnya. Hal ini harus dapat dilakukan dalam sistem tersebut.
SECURITY
Keamanan data dapat dilakukan dengan otorisasi, tabel view, backup data dan recovery, integritas
data, enkripsi.
Perintah untuk pemberian dan pengambilan wewenang dengan SQL, berturut - turut adalah :
GRANT dan REVOKE
Contoh : GRANT ALL PRIVILEGES ON *.* TO monty@localhost
IDENTIFIED BY 'qwerty' WITH GRANT OPTION;
FLUSH PRIVILEGES;
99
Contoh : REVOKE CREATE ON penjualan.* FROM admin@localhost;
FLUSH PRIVILEGES;
SECURITY
BACKUP
Backup merupakan proses secara periodik yang mengambil duplikat dari database dan melakukan
logging file (dan mungkin juga program) ke media penyimpanan eksternal.
JOURNALING/LOG FILE
Untuk membuat transaksi database track pada tempatnya, DBMS menggunakan log ataupun
jurnal yang berisi informasi mengenai perubahan yang terjadi pada database.
SECURITY
CHECKPOINT
Informasi pada jurnal digunakan untuk memulihkan database dari kegagalan yang dilakukan. Satu
kesulitan dengan skema ini adalah ketika kegagalan terjadi, tidak diketahui seberapa jauh jurnal
untuk kembali mencarinya dan berakhir dengan melakukan transaksi REDO. Untuk membatasi
pencarian dan pemrosesan secara teratur digunakan tehnik checkpoint/pos pemeriksaan.
SECURITY
ENCRYPTION
Merupakan pengkodean data dengan algoritma khusus algoritma khusus sehingga data yang
dikirim tidak dapat dibaca sebelum adanya proses deskripsi.
KONSEP INTEGRITAS
Salah satu karakteristik sistem informasi yang baik adalah kemampuannya memberikan informasi
yang akurat dan tepat waktu. Keakuratan informasi hanya dapat diperoleh jika didukung
perancangan dan implementasi database yang handal. Integrity di dalam istilah basis data berarti
memeriksa keakuratan dan validasi data.
KONSEP INTEGRITAS
Oleh karena itu database harus menjamin integritas (keutuhan) data yang disimpannya. Harus
dijamin agar perubahan terhadap basis data yang dilkaukan user yang berhak tidak menghasilkan
ketidakkonsistenan data. Harus dijamin pula agar database tidak mengalami kerusakan secara
sengaja.
100
Untuk itu dalam database dikenal dengan aturan integritas (integrity constraints) yang mengatur
definisi dan modifikasi terhadap database sehinggan menjamin integritas database tersebut.
INTEGRITAS
Terdapat beberapa jenis aturan integritas (integrity constraints) yang menjamin konsistensi dan
integritas database, yaitu :
Aturan integritas entitas (Entity Integrity Constraints)
Aturan Domain (Domain Constraints)
Aturan integritas refensial (Referential Integrity Constraints)
Aturan berbasis atribut (Attribute-based Constraints) dan Aturan berbasis Record (Tuple Based
Constraints)
Pernyataan (Assertions)
Pemicu (Trigger)
INTEGRITAS
Aturan Integritas Entitas (Entity Integrity Constraints)
Aturan ini diterapkan dengan cara mendeklarasikan kunci primer (primary key) untuk setiap
entitas agar dijamin tidak ada baris-baris dalam table yang memiliki nilai yang sama (duplikat
record).
Aturan Domain (Domain Integrity)
Domain merupakan kumpulan tipe data dan jangkauan nilai yang diperbolehkan pada atribut
sebuah relasi. Untuk setiap atribut yang didefinisika dalam suatu relasi harus ditentukan definisi
domain atribut tersebut. Definisi domain dari sebuah atribut akan mencakup : tipe data, panjang,
format, jangkauan, nilai yang memungkinkan, keunikan dan kemungkinan data null. Aturan-aturan
yang dirumuskan dalam definisi domain tersebut dinamakan aturan domain (domain
constraints).
INTEGRITAS
Aturan integritas refensial (Referential Integrity Constraints)
Aturan Integritas Referensial adalah aturan yang mengatur kebeneran referensi dari satu obyek ke
obyek lain dalam database.
Attributed-Based Constraints dan Tuple-Based Constraints
101
Adalah aturan yang menentukan bahwa pada saat dilakukan insert dan update, nilai atribut
tertentu harus memenuhi kondisi tertentu. Jika kondisi tidak dipenuhi maka system akan menolak
dilakukannya proses input atau update.
INTEGRITAS
Assertions
Assertions adalah aturan yang diterapkan untuk membuat agar database tetap pada kondisi yang
diinginkan.
Trigger
Trigger adalah aturan yang nengeksekusi peritah secara otomatis sebagai akibat sampingan sari
proses modifikasi (insert/delete/update) dalam database. Ruang lingkup trigger bisa mencakup
atribut dalam satu table atau dapat juga atribut dari beberapa table.
KONKURENSI
Hampir semua DBMS adalah sistem multi user. Sistem seperti ini memerlukan mekanisme
pengontrolan konkuren. Tujuan dari mekanisme ini adalah untuk menjamin bahwa transaksi-
transaksi yang konkuren tidak saling mengganggu operasinya masing-masing.
Terdapat beberapa masalah yang akan timbul dalam menjalankan transaksi transaksi yang
konkuren. Tiga masalah yang umum adalah :
1. Masalah kehilangan modifikasi
2. Masalah modifikasi sementara
3. Masalah analisis yang tidak konsisten
1. Masalah Kehilangan Modifikasi
• Transaksi A membaca R pada t1, transaksi B membaca R pada t2. Transaksi A memodifikasi R
pada t3.
• Transaksi B memodifikasi record yang sama pada t4.
• Modifikasi dari transaksi A akan hilang karena transaksi B akan memodifikasi R tanpa
memperhatikan modifikasi dari transaksi A pada t3.
Masalah Modifikasi Sementara
Masalah ini timbul jika transaksi membaca suatu record yang sudah dimodifikasi oleh
transaksi lain tetapi belum terselesaikan (uncommited), terdapat kemungkinan kalau transaksi
tersebut dibatalkan (rollback).
102
• Transaksi B memodifikasi record R pada t1
• Transaksi A membaca R pada t2
• Pada saat t3 transaksi B dibatalkan
• Maka transaksi A akan membaca record yang salah
Pada waktu t2 transaksi A memodifikasi R
• Karena transaksi B dibatalkan pada waktu t3, maka transaksi A memodifikasi record
yang salah.
Masalah Analisis yang Tidak Konsisten
Nilai 1 = 40
Nilai 2 = 50
Nilai 3 = 30
• Transaksi A menjumlahkan
nilai 1, nilai 2 dan nilai 3
• Transaksi B → nilai 1 +10 ;
nilai 3 - 10
• Pada waktu t8, transaksi A
membaca nilai yang salah karena
nilai 3 sudah dimodifikasi menjadi
20 ( transaksi B sudah melakukan
commit sebelum transaksi A
membaca nilai 3 )
KONKURENSI
Mekanisme pengontrol issue konkurensi Data
1. Locking
Locking adalah salah satu mekanisasi pengontrol konkuren. Konsep dasar : pada saat
suatu transaksi memerlukan jaminan kalau record yang diinginkan tidak akan berubah secara
103
mendadak, maka diperlukan kunci untuk record tersebut. Fungsi kunci (lock) adalah menjaga
record tersebut agar tidak dimodifikasi transaksi lain.
2. Time Stamping
Salah satu alternatif mekanisme pengawasan konkuren yang dapat menghilangkan
masalah deadlock adalah TIME STAMPING. Dalam skema ini tidak ada kunci yang digunakan
sehingga tidak ada deadlock yang muncul. Time stamping untuk sebuah transaksi aksi merupakan
suatu tanda pengenal yang unik yang menunjuk waktu mulai relatif dari transaksi.
Aplikasi Basis Data
Slide 2
Aplikasi
Basis Data
DBMS
Basis
Data
End-User
Advanced-
User
Hubungan DBMS & Aplikasi BD
104
Slide 3
Model hubungan DBMS & Aplikasi BD
 DBMS terpisah dg aplikasi
 DBMS menyatu dg aplikasi
105
Slide 4
 DBMS terpisah dg aplikasi
 Aplikasi tidak berinteraksi lgs dg BD, tetapi melalui
DBMS sbg perantara.
 DBMS bisa melakukan aktifitas sendiri yg bisa
ditangkap oleh aplikasi
 Contoh DBMS : MS SQL Server, Oracle, IBM DB2,
MySQL
 Cocok untuk aplikasi multi-user, yg berat
Aplikasi
DBMS
Basisdata
Aplikasi
106
Slide 5
 DBMS menyatu dg aplikasi
 Aplikasi BD yg dibuat menyatu dg DBMS pd saat
pemakaiannya
 Aplikasi BD berada ‘di bawah’ DBMS
 DBMS hrs diaktifkan dulu sgl menjalankan aplikasi
 Contoh DBMS : dBase III+, FoxBase, FoxPlus, CA-
Clipper, MS-Access
 Cocok untuk aplikasi single-user / standalone, yg ringan
DBMS |
Aplikasi
Basis
Data
DBMS |
Aplikasi
107
Slide 6
ARSITEKTUR DATABASE
1. TELEPROCESSING
2. STAND ALONE
3. FILE SERVER
4. CLIENT SERVER
5. DISTRIBUTED DBMS
108
Slide 7
TELEPROCESSING
 Arsitektur tradisional untuk sistem multi user
adalah teleprocessing, dimana satu komputer
dengan sebuah CPU dan sejumlah terminal
seperti pada gambar di bawah ini.
 Semua pemrosesan dikerjakan dalam batasan
fisik komputer yang sama. Terminal untuk
pemakai berjenis 'dumb', yang tidak dapat
berfungsi sendiri dan masing-masing
dihubungkan ke komputer pusat. Terminal-
terminal tersebut mengirimkan pesan melalui
subsistem pengontrol komunikasi pada sistem
operasi ke program aplikasi, yang bergantian
menggunakan layanan DBMS.
109
Slide 8
TELEPROCESSING
 Arsitektur teleprocessing
110
Slide 9
TELEPROCESSING
 Dengan cara yang sama, pesan
dikembalikan ke terminal pemakai.
Arsitektur ini menempatkan beban yang
besar pada komputer pusat yang tidak
hanya menjalankan program aplikasi
tetapi juga harus menyelesaikan
sejumlah pekerjaan pada terminal
seperti format data untuk tampilan di
monitor.
• contoh : ATM mesin di bank-bank.
111
Slide 10
STAND ALONE
 Adalah suatu arsitektur basis data
dimana program aplikasi ,basis data
berada dalam satu komputer dan berdiri
sendiri tidak berhubungan dengan
komputer lain.
112
Slide 11
STAND ALONE
113
Slide 12
FILE SERVER
 Proses didistribusikan ke dalam jaringan
sejenis LAN (Local Area Network). File
server mengendalikan file yang
diperlukan oleh aplikasi dan DBMS.
Meskipun aplikasi dan DBMS dijalankan
pada masing-masing workstation tetapi
tetap meminta file dari file server jika
diperlukan (perhatikan gambar di
halaman berikut ini).
114
Slide 13
ARSITEKTUR FILE SERVER
115
Slide 14
FILE SERVER
 Dengan cara ini, file server berfungsi
sebagai sebuah hard disk yang digunakan
secara bersamaan.
 Kerugian arsitektur file-server adalah :
 Terdapat lalulintas jaringan yang besar
 Masing-masing workstation membutuhkan
copy DBMS
 Kontrol terhadap concurrency, recovery
dan integrity menjadi lebih kompleks
karena sejumlah DBMS mengakses file
secara bersamaan
116
Slide 15
CLIENT SERVER
 Client Server
 Untuk mengatasi kelemahan arsitektur-
arsitektur di atas maka dikembangkan
arsitektur client-server. Client-server
menunjukkan cara komponen software
berinteraksi dalam bentuk sistem.
117
Slide 16
CLIENT SERVER
 Sesuai dengan namanya, ada sebuah
pemroses client yang membutuhkan
sumber dan sebuah server yang
menyediakan sumbernya. Tidak ada
kebutuhan client dan server yang harus
diletakkan pada mesin yang sama.
Secara ringkas, umumnya server
diletakkan pada satu sisi dalam LAN
dan client pada sisi yang lain.
118
Slide 17
CLIENT SERVER
119
Slide 18
CLIENT SERVER
 Dalam konteks database, client mengatur interface
berfungsi sebagai workstation tempat menjalankan aplikasi
database. Client menerima permintaan pemakai,
memeriksa sintaks dan generate kebutuhan database
dalam SQL atau bahasa yang lain. Kemudian meneruskan
pesan ke server, menunggu response dan bentuk
response untuk pemakai akhir. Server menerima dan
memproses permintaan database kemudian
mengembalikan hasil ke client.
 Proses-proses ini melibatkan pemeriksaan autorisasi,
jaminan integritas, pemeliharaan data dictionary dan
mengerjakan query serta proses update. Selain itu juga
menyediakan kontrol terhadap concurrency dan recovery.
120
Slide 19
CLIENT SERVER
 Adapun beberapa keuntungan jenis arsitektur ini adalah :
 Memungkinkan akses database yang besar
 Menaikkan performa
 Jika client dan server diletakkan pada komputer yang berbeda
kemudian CPU yang berbeda dapat memproses aplikasi secara
paralel.
 Biaya untuk hardware pc client dapat dikurangi
 Hanya server yang membutuhkan storage dan kekuatan proses
yang cukup untuk menyimpan dan mengatur database
 Biaya komunikasi jaringan berkurang
 Aplikasi menyelesaikan bagian operasi pada client dan
mengirimkan hanya bagian yang dibutuhkan untuk akses
database melewati jaringan, menghasilkan data yang sedikit
yang akan dikirim melewati jaringan
 Meningkatkan kekonsistenan
 Server dapat menangani pemeriksaan integrity sehingga
batasan perlu didefinisikan dan validasi hanya di satu tempat,
aplikasi program mengerjakan pemeriksaan sendiri
121
Slide 20
CLIENT SERVER
Client Server
Mengatur user interface Menerima dan memproses database
yang diminta dari client
Menerima dan memeriksa sintaks input
dari pemakai
Memeriksa autorisasi
Memproses aplikasi Menjamin tidak terjadi pelanggaran
terhadap integrity constraint
Generate permintaan database dan
memindahkannya ke server
Melakukan query/pemrosesan update
dan memindahkan response ke client
Memberikan response balik kepada
pemakai
Menyediakan akses database secara
bersamaan
Menyediakan kontrol recovery
122
Slide 21
CLIENT SERVER
 Ada beberapa jenis model client –
server arsitektur yaitu :
 Two Tier Arsitektur
 Contoh : Aplikasi2 sistem informasi skala
kecil-menengah
 Three Tier Arsitektur
 Contoh : Aplikasi2 berskala besar, web
based
123
Slide 22
TWO TIER
124
Slide 23
THREE TIER
125
Slide 24
DISTRIBUTED DBMS
 Jika pada resource sharing system dan
client server system menggunakan data
bus yang tercontrol maka Ddbms
menggunakan data bus yang
didistribusikan untuk masing – masing
komputer local.
126
Slide 25
DISTRIBUTED DBMS
127
Slide 26
 Pertimbangan memilih Software utk membangun
aplikasi Basisdata:
 Kecocokan DBMS & development tools
○ Software yg dipilih hrs menjamin tersedianya fasilitas yg dp digunakan
untuk berinteraksi dg DBMS scr penuh
 Dukungan development tools thd arsitektur aplikasi basisdata
○ Tdk semua development tools memberi dukungan yg baik thd arsitektur
client-server
 Independensi development tools & DBMS
○ Idealnya hanya ada 1 macam DBMS yg dipilih u/ mengelola Basisdata
○ Perlu kompromi saat memilih development tools yg cocok untuk semua
DBMS
 Kemudahan pengembangan & migrasi aplikasi Basisdata
○ Development tools yg dipilih hrs mendukung pengembangan ke masa
depan, ex: web based
○ kemudahan migrasi, ex: dari form-base mjd web based
128
Slide 27
 Pertimbangan kinerja/kecepatan operasi ke
Basisdata ditentukan oleh:
 DBMS
 Arsitektur Hardware yg menjadi platform
 Jumlah pemakai yg terlibat
 Volume data yg diolah
 Tingkat kompleksitas operasi Basisdata
 Cara penulisan aplikasi Basisdata
129
Slide 28
 Pertimbangan dlm penulisan aplikasi BasisData:
1. Menghindari pemakaian fungsi ato perhitungan pd query,
terlebih pd kriteria query
2. Operasi join pd beberapa tabel dp digunakan untuk efisiensi
perintah & banyaknya data yg hrs ditangani
3. Pd sistem multi-user dg tk konkurensi tinggi, sesegara mgk
melepaskan penguncian tabel di akhir setiap query
4. Manfaatkan sebanyak mungkin fungsi yg tlh disediakan DBMS
ato development tools dlm operasi Basisdata
5. Jika ada perintah looping dg penelusuran ke seluruh
Basisdata pd sebuah tabel, sedapat mungkin menempatkan
berbagai perintah yg tdk relevan di luar perulangan
130
TOPIK TERKAIT
Untuk membaca topik-topik lainnya seputar dunia pemrograman, jaringan dan keamanan, silakan
merujuk ke penelitian saya lainnya (Abdilana & Gunawan, 2022; Berliana dkk., 2022; Gunawan,
2014, 2019, 2020, 2021a, 2021b, 2021c, 2021d, 2021e, 2021f, 2021g; Gunawan dkk., 2018;
Gunawan & Yelmi, 2021; Huzaeni & Gunawan, 2022; Indrayana dkk., 2022; Permatasari dkk.,
2018; Pratama dkk., 2022; D. C. Purnomo & Gunawan, 2022; D. Purnomo & Gunawan, 2021; Y
dkk., 2022)
131
PUSTAKA
Abdilana, R., & Gunawan, I. I. (2022). Implementasi Metode SAW dalam Sistem Pendukung Keputusan
Pemilihan Smartphone Menggunakan Scratch. JIIFKOM (Jurnal Ilmiah Informatika dan Komputer),
1(1), 35–40.
Berliana, C. D., Saputra, T. A., & Gunawan, I. (2022). Analisis Serangan dan Keamanan pada Denial of
Service (DOS): Sebuah Review Sistematik. JIIFKOM (Jurnal Ilmiah Informatika dan Komputer), 1(2),
33–38.
Gunawan, I. (2014). I-POLINK: Indonesian Police Link Model Knowledge Management Investigasi
Forensika Digital. https://doi.org/10.13140/RG.2.2.28996.32647
Gunawan, I. (2019). PEMROGRAMAN BAHASA ASSEMBLY MIKROPROSESOR 8086 (1 ed.). Guepedia.
Gunawan, I. (2020). Optimasi Model Artificial Neural Network untuk Klasifikasi Paket Jaringan.
SIMETRIS, 14(2), 1–5. https://doi.org/10.51901/simetris.v14i2.135
Gunawan, I. (2021a). Keamanan Data: Teori dan Implementasi (1 ed.). Jejak.
Gunawan, I. (2021b). Analisis Malware Botnet Proteus Pendekatan Static dan Dinamic. SIMETRIS, 15(1),
12–17. https://doi.org/10.51901/simetris.v15i01.172
Gunawan, I. (2021c). Analisis Keamanan Data Pada Website Dengan Wireshark. JES (Jurnal Elektro
Smart), 1(1), 16–19.
Gunawan, I. (2021d). Analisis Keamanan Jaringan Wifi Menggunakan Wireshark. JES (Jurnal Elektro
Smart), 1(1), 10–12.
Gunawan, I. (2021e). Analisis Keamanan Wifi Menggunakan Wireshark. JES (Jurnal Elektro Smart), 1(1),
7–9.
132
Gunawan, I. (2021f). Analisis Layer Aplikasi (Protokol HTTP) menggunakan Wireshark. JES (Jurnal Elektro
Smart), 1(1), 13–15.
Gunawan, I. (2021g). Analisis Keamanan Aplikasi Android Non Playstore Dengan Metode Digital
Forensik Pendekatan Statis Dan Dinamis. SIMETRIS, 15(2), 29–34.
https://doi.org/10.51901/simetris.v15i2.225
Gunawan, I., Afrina, & Sofrawida, C. (2018). SISTEM PENDUKUNG KEPUTUSAN PEMILIHAN KARYAWAN
TERBAIK PADA LAMOIST LAYERS BATAM. JR : Jurnal Responsive Teknik Informatika, 2(02), 39–61.
Gunawan, I., & Yelmi, Y. (2021). Rancang Bangun Robot Pengawas Dokumen Berbasis Raspberry Pi2
dengan Pemrograman Python. Jurnal Ilmu Komputer Dan Bisnis, 12(1), 144–149.
Huzaeni, F., & Gunawan, I. I. (2022). Implementasi Metode SAW dalam Sistem Pendukung Keputusan
Pemilihan Laptop Menggunakan Scratch. JIIFKOM (Jurnal Ilmiah Informatika dan Komputer), 1(1),
30–34.
Indrayana, T., Warijan, W., Sutarmi, S., Purnomo, D., & Gunawan, I. (2022). Developing systems
application based on android as tool for determinant stunting factors in the COVID-19 pandemic
era. International Journal of Health Sciences, 6(S1), 257–268.
https://doi.org/10.53730/ijhs.v6nS1.4763
Permatasari, R. D., Gunawan, I., & Syahputra, M. R. (2018). RANCANG BANGUN APLIKASI PENANGANAN
BAGASI BERBASIS MOBILE WEB PADA PT SRIWIJAYA AIR. Jurnal Teknik Ibnu Sina (JT-IBSI), 3(1).
https://doi.org/10.36352/jt-ibsi.v3i1.101
Pratama, T. I. M., Songida, M. D. F., & Gunawan, I. (2022). Analisis Serangan dan Keamanan pada SQL
Injection: Sebuah Review Sistematik. JIIFKOM (Jurnal Ilmiah Informatika dan Komputer), 1(2), 27–
32.
133
Purnomo, D. C., & Gunawan, I. I. (2022). Penerapan Metode Simple Additive Weighting (SAW) Dalam
Sistem Pemilihan Kamera Menggunakan Scratch. JIIFKOM (Jurnal Ilmiah Informatika dan
Komputer), 1(1), 16–21.
Purnomo, D., & Gunawan, I. (2021). Decision Support System for Determination of Scholarship Using
Scratch Programming Based on SAW Method. International Journal of Business and Information
Technology, 2, 72–29. https://doi.org/10.47927/ijobit.v2i2
Y, A. K., Alfaren, G., & Gunawan, I. (2022). Analisis Serangan Penetration Testing: Sebuah Review
Sistematik. JIIFKOM (Jurnal Ilmiah Informatika dan Komputer), 1(2), 21–26.

Bahan Ajar Basis Data

  • 1.
    No. Dokumen : FRM/POS/STD/STTR/A.3-3-1 No.Revisi : 00 Tanggal Terbit : 2 Agustus. 2020 Halaman : 1 dari 124 BAHAN AJAR MATA KULIAH 3 SKS BASIS DATA
  • 2.
    PROGRAM STUDI S1TEKNIK ELEKTRO SEKOLAH TINGGI TEKNOLOGI RONGGOLAWE CEPU No. Dokumen : FRM/POS/STD/STTR/A.3-3-1 No. Revisi : 00 Tanggal Terbit : 2 Agustus. 2020 Halaman : 2 dari 124 VERIFIKASI BAHAN AJAR Pada hari ini Senin tanggal 2 bulan Agustus tahun 2020 Bahan Ajar Mata Kuliah Basis Data Program Studi Teknik Elektro telah diverifikasi oleh Ketua Program Studi Teguh Yuwono, ST. MT Cepu, 2 Agustus 2020
  • 3.
    3 PRAKATA Pertama-tama kami mengucapkanterima kasih kepada Tuhan Yang Maha Esa atas terwujudnya modul ini. Tujuan dari dibuatnya modul ini agar mahasiswa terbantu dapat mempelajari dasar-dasar teori dan konsep basis data . Dalam mata kuliah ini, Modul ini dikembangkan dengan menggunakan pendekatan eksplorasi, dengan harapan pembaca dapat mencoba, memodifikasi dan selanjutnya dapat berkreasi dengan menggunakan perangkat lunak ini. Modul ini dimulai dengan pengetahuan awal tentang teori dan konsep basis data, berikutnya pengenalan terhadap berbagai perangkat lunak pendukung dan diakhiri dengan implementasi pembuatan berbagai macam analisis dan pelaporan Cepu, 2 Agustus 2020 Penyusun
  • 4.
    4 TINJAUAN UMUM MATAKULIAH Deskripsi Mata Kuliah Mata kuliah ini bertujuan memberikan p e m a h a m a n t e n t a n g pengantar Basis Data, Sistem Basis Data, Model Data, Diagram E-R, Transformasi Model Data ke Basis Data Fisik, Implementasi Basis Data, Desain Basis Data, Normalisasi Data, SQL, Pemrosesan Query, Bekerja dengan SQL, Aplikasi SQL, Proteksi Data, Aplikasi Basis Data Manfaat Mata Kuliah 1. Mahasiwa memiliki kemampuan tentang konsep dan teori basis data 2. Mahasiswa memiliki kemampuan tentang konsep normalisasi, model data, pembuatan diagram 3. Mahasiswa memiliki kemampuan untuk menerapkan perintah2 SQL dalam Database manajemen sistem Capaian Pembelajaran Lulusan (CPL) A. Sikap (Ditetapkan pemerintah dalam permendikbud no 3 tahun 2020 tentang Standar Nasional Perguruan Tinggi. Ambil yang sesuai dengan mata kuliah.) 1. Bertakwa kepada Tuhan Yang Maha Esa dan mampu menunjukkan sikap religius; 2. Menjunjung tinggi nilai kemanusiaan dalam menjalankan tugas berdasarkan agama, moral, dan etika; 3. Berkontribusi dalam peningkatan mutu kehidupan bermasyarakat, berbangsa, bernegara, dan kemajuan peradaban berdasarkan Pancasila; 4. Berperan sebagai warga negara yang bangga dan cinta tanah air, memiliki nasionalisme serta rasa tanggung jawab pada negara dan bangsa; 5. Menghargai keanekaragaman budaya, pandangan, agama, dan kepercayaan, serta pendapat atau temuan orisinal orang lain; 6. Bekerjasama dan memiliki kepekaan sosial serta kepedulian terhadap masyarakat dan lingkungan; 7. Taat hukum dan disiplin dalam kehidupan bermasyarakat dan bernegara; 8. Menginternalisasi nilai, norma, dan etika akademik; 9. Menunjukkan sikap bertanggung jawab atas pekerjaan di bidang keahliannya secara mandiri; 10. Menginternalisasi semangat kemandirian, kejuangan, dan kewirausahaan.
  • 5.
    5 Pengetahuan Umum Keterampilan Umum (Ditetapkanpemerintah dalam permendikbud no 3 tahun 2020 tentang Standar Nasional Perguruan Tinggi. Ambil yang sesuai dengan mata kuliah.) 1. Mampu menerapkan pemikiran logis, kritis, sistematis, dan inovatif dalam konteks pengembangan atau implementasi ilmu pengetahuan dan teknologi yang memperhatikan dan menerapkan nilai humaniora yang sesuai dengan bidang keahliannya; 2. Mampu menunjukkan kinerja mandiri, bermutu, dan terukur; 3. Mampu mengkaji implikasi pengembangan atauimplementasi ilmu pengetahuan teknologi yang memperhatikan dan menerapkan nilai humaniora sesuai dengan keahliannya berdasarkan kaidah, tata cara dan etika ilmiah dalam rangka menghasilkan solusi, gagasan, desain atau kritik seni; 4. Menyusun deskripsi saintifik hasil kajiannya dalam bentuk skripsi atau laporan tugas akhir, dan mengunggahnya dalam lamanperguruan tinggi; menyusun deskripsi saintifik hasil kajian tersebut di atas dalam bentuk tesis atau laporan tugas akhir, dan mengunggahnya dalam laman perguruan tinggi; 5. Mampu mengambil keputusan secara tepat dalam konteks penyelesaian masalah di bidang keahliannya, berdasarkan hasil analisis informasi dan data; 6. Mampu memelihara dan mengembangkan jaringan kerja dengan pembimbing, kolega, sejawat baik di dalam maupun di luar lembaganya; 7. Mampu bertanggung jawab atas pencapaian hasil kerja kelompok dan melakukan supervisi dan evaluasi terhadap penyelesaian pekerjaan yang ditugaskan kepada pekerja yang berada di bawah tanggung jawabnya; 8. Mampu melakukan proses evaluasi diri terhadap kelompok kerja yang berada di bawah tanggung jawabnya, dan mampu mengelola pembelajaran secara mandiri; 9. Mampu mendokumentasikan, menyimpan, mengamankan, dan menemukan kembali data untuk menjamin kesahihan dan mencegah plagiasi.
  • 6.
    6 Keterampilan Khusus Capaian PembelajaranMata Kuliah (CPMK) 1. Memahami dan menjelaskan konsep-konsep teori tentang basis data relasional, model data, diagram ER, proteksi basis data. 2. Mampmembuat desain basisdata, mampu melakukan normalisasi data, serta mampu dalam menjalankan perintah-perintah SQL dalam basis data manajamen system Capaian Matakuliah 1. Memahami secara utuh tentang konsep basis data relasional 2. Mengerti dan memahami normalisasi data, diagram ER, model data, dan desain basis data. 3. Mengetahui dan Memahami serta menerapkan perintah-perintah SQL Materi Pembelajaran 1. Pengantar Basis Data 2. Sistem Basis Data 3. Model Data 4. Diagram E-R 5. Transformasi Model Data ke Basis Data Fisik 6. Implementasi Basis Data 7. Desain Basis Data 8. Normalisasi Data 9. SQL 10. Pemrosesan Query 11. Bekerja dengan SQL 12. Aplikasi SQL 13. Proteksi Data 14. Aplikasi Basis Data
  • 7.
    7 DAFTAR ISI BASIS DATA.......................................................................................................................................1 VERIFIKASI BAHAN AJAR....................................................................................................................2 PRAKATA ...........................................................................................................................................3 TINJAUAN UMUM MATA KULIAH......................................................................................................4 Deskripsi Mata Kuliah....................................................................................................................4 Manfaat Mata Kuliah.....................................................................................................................4 Capaian Pembelajaran Lulusan (CPL) ............................................................................................4 Pengetahuan Umum .....................................................................................................................5 Keterampilan Umum .....................................................................................................................5 Keterampilan Khusus.....................................................................................................................6 Capaian Pembelajaran Mata Kuliah (CPMK)..................................................................................6 Capaian Matakuliah ..........................................................................................................................6 Materi Pembelajaran ........................................................................................................................6 DAFTAR ISI.........................................................................................................................................7 Pengantar Basis Data.........................................................................................................................9 Sistem Basis Data ............................................................................................................................11 Model Data .....................................................................................................................................15 Diagram E-R.....................................................................................................................................17 Transformasi Model Data ke Basis Data Fisik..................................................................................21 Implementasi Basis Data.................................................................................................................38 Desain Basis Data ............................................................................................................................42 Normalisasi Data .............................................................................................................................48 SQL..................................................................................................................................................62 Pemrosesan Query..........................................................................................................................70 Bekerja dengan SQL ........................................................................................................................92
  • 8.
    8 Proteksi SQL ....................................................................................................................................95 AplikasiBasis Data.........................................................................................................................103
  • 9.
    9 Pengantar Basis Data Pertemuan1 Sejarah Basis Data Generasi pertama DBMS didesain oleh Charles Bachman di perusahaan General Electric pada awal tahun 1960, disebut sebagai Penyimpanan Data Terintegrasi (Integrated Data Store). Dan pada akhir 1960, IBM mengembangkan sistem manajemen informasi (Information Management System) DBMS. IMS dibentuk dari representasi data pada kerangka kerja yang disebut dengan model data hirarki. Kemudian pada tahun 1970, Edgar Codd, di Laboratorium Penelitian di San Jose, mengusulkan model data relasional SQL distandardisasi di akhir tahun 1980, dan SQL-92 diadopsi oleh American National Standards Institute (ANSI) dan International Standards Organization (ISO). Pada akhir tahun 1980 dan permulaan 1990, banyak bidang sistem basis data yang dikembangkan. Penelitian pada bidang basis data meliputi bahasa query yang powerful, model data yang lengkap, dan penekanan pada dukungan analisis data yang kompleks dari semua bagian organisasi. Fenomena yang paling menarik adalah adanya enterprise resource planning (ERP) dan management resource planning (MRP), yang menambahkan substansial layer dari fitur berorientasi pada aplikasi. Paket yang termasuk didalamnya meliputi Baan, Oracle, PeopleSoft, SAP, dan Siebel Terminologi Dan Konsep Basis Data 3. Keakuratan (accuracy) Pengkodean atau pembentukan relasi antar data bersama dengan penerapan aturan/batasan (constraint), dmain data, keunikan data, dsb, yang secara ketat dapat diterapkan dalam sebuah basis data, sangat berguna untuk menekan ketidak akuratan penyimpanan data. 4.Ketersediaan (availability) Dengan pemanfaatan jaringan komputer, maka data yang berada di suatu lokasi/cabang dapat juga diakses (tersedia/available) bagi lokasi/cabang lain. 5. Kelengkapan (completeness)
  • 10.
    10 Kelengkapan data yangdisimpan dalam sebuah database bersifat relatif, bisa jadi saat ini dianggap sudah lengkap, tetapi belum tentu pada suatu saat dianggap lengkap. Untuk mengakomodasi kelengkapan data, seperti . 6.Keamanan (security) Aspek keamanan dapat diterapkan dengan ketat, dengan begitu kita dapat menentukan pemakai basis data serta obyek-obyek didalamnya ,serta jenis-jenis operasi apa saja yang boleh dilakukannya. 7.Kebersamaan pemakaian (sharability) Basis data yang dikelola dengan aplikasi multi user dapat memenuhi kebutuhan ini. Hirarki Data 1. Basis data, merupakan sekumpulan dari bermacam-macam tipe record yang memiliki hubungan antar record. 2. Berkas/file, merupakan sekumpulan rekaman data yang berkaitan denngan suatu objek. 3. Record , merupakan sekumpulan field/atribut/data item yang saling berhubungan terhadap obyek tertentu, - Field length record, semua field dalam record memiliki ukuran yang tetap. - Variabel length record, field-field dalam record dapat memiliki ukuran berbeda (metode penandaan yang digunakan adalah : end of record marker, indikator panjang, dan tabel posisi record) 4. Field/atribut/data item, merupakan unit terkecil yang disebut data,yang tidak dapat dipecah lagi menjadi unit lain yang bermakna. - Fixed length field, memiliki ukuran yang tetap. - Variabel length field, field-field dalam record dapat memiliki ukuran berbeda. 5. Caracter, Berupa huruf(a,b,c,d,e), angka(1,2,3,4,5),dan symbol & * ^ % # ) $ 6. Byte, adalah bagian terkecil yang dialamatkan dalam memori. byte mrupakan sekumpulan bit yang secara konvensional terdiri atas kombinasi delapan bit yang menyatakan sebuah karakter dalam memori (I byte= I karakter)
  • 11.
    11 7. Bit, adalahsistem binner yang terdiri atas dua macam nilai, yaitu 0 dan 1. sistem binner merupakan dasar yang dapat digunakan untuk komunikasi antara manusia dan mesin, yang merupakan serangkaian komponen elektronik dan hanya dapat membedakan 2 macam keadaan, yaitu ada tegangan dan tidak ada tegangan yang masuk ke rangkaian tersebut. DBMS Database Management System (DBMS) merupakan paket program (Software) yang dibuat agar memudahkan dan mengefisienkan pemasukan, pengeditan, penghapusan dan pengambilan informasi terhadap database. Software yang tergolong kedalam DBMS antara lain, Microsoft SQL, MySQL, Oracle, MS. Access, dan lain-lain Sistem Basis Data Konsep DBMS (database management system) Database Management System (DBMS) merupakan paket program (Software) yang dibuat agar memudahkan dan mengefisienkan pemasukan, pengeditan, penghapusan dan pengambilan informasi terhadap database. Software yang tergolong kedalam DBMS antara lain, Microsoft SQL, MySQL, Oracle, MS. Access, dan lain-lain Komponen utama DBMS : 1. Perangkat keras berupa komputer dan bagian-bagian didalamnya, seperti prosesor, memori & harddisk. Komponen inilah yang melakukan pemrosesan dan juga untuk menyimpan basis data. 2. Basisdata sebuah DBMS dapat memiliki beberapa basisdata, setiap basisdata dapat berisi sejumlah obyek basisdata (file,tabel,indeks dsb). Disamping berisi data,setiap basisdata juga menyimpan definisi struktur (baik untuk basisdata maupun obyek-obyeknya secara detail). 3. Perangkat lunak
  • 12.
    12 perangkat lunak initerdiri dari sistem operasi dan perangkat lunak/program pengelola basisdata. Perangkat lunak inilah yang akan menentukan bagaimana data diorganisasi,disimpan, diubah dan diambil kembali. Ia juga menerapkan mekanisme pengamanan data, pemakaian data secara bersama, pemaksaan keakuratan/konsistensi data, dsb. Contoh perangkat lunak DBMS : MS access, SQL Server, Oracle dsb. 4. Pengguna/user pengguna dapat digolongkan menjadi 3 : 1. Pengguna akhir / end user. Dapat dibagi menjadi 2 : - Pengguna aplikasi : adalah orang yang mengoperasikan program aplikasi yang dibuat oleh pemrogram aplikasi. - Pengguna interaktif : adalah orang yg dpt memberikan perintah-perintah pada antar muka basisdata, misalnya SELECT, INSERT dsb. 2. Pemrogram aplikasi Adalah orang yang membuat program aplikasi yang menggunakan basisdata. 3. Administrator database / DBS (database administrator) adalah orang yang bertanggungjawab terhadap pengelolaan basisdata. Tugas DBA : - mendefinisikan basisdata - menetukan isi basisdata - menentukan sekuritas basisdata Abstraksi Data Salah satu tujuan dari DBMS adalah untuk menyediakan fasilitas/antarmuka (interface) kepada user.untuk itu system tersebut akan menyembunyikan detail tentang bagaimana data disimpan dan dipelihara, sehingga data yang terlihatoleh user sebenarnya berbeda dengan yang tersimpan secara fisik.
  • 13.
    13 Abstraksi data merupakantingkatan-tingkatan pengguna dalam memandang bagaimana sebenarnya data diolah dalam sebuah sistem database sehingga menyerupai kondisi yang sebenarnya dihadapi oleh pengguna sehari-hari.. Sebuah DBMS seringkali menyembunyikan detail tentang bagaimana sebuah data disimpan dan dipelihara (diolah) dalam sebuah sistem database, dengan tujuan untuk memudahkan pengguna dalam menggunakan DBMS tersebut. Karena itu seringkali data yang terlihat oleh pemakai sebelumnya berbeda dengan yang tersimpan secara fisik. Terdapat 3 level abstraksi : 1. Level Fisik (Physical Level) Lapis fisik merupakan lapis terendah, lapis ini menjelaskan bagaimana (how) data sesungguhnya disimpan. Pada lapis inilah struktur data dijabarkan secara rinci. 2. Level Logik / Konseptual (Conceptual Level) Lapis konseptual lebih tinggi dari lapis fisik. Lapis ini menjabarkan data apa (what) saja yang sesungguhnya disimpan pada basisdata, dan juga menjabarkan hubungan- hubungan antardata secara keseluruhan. Seorang pengguna dalam level ini dapat mengetahui bahwa data mahasiswa disimpan pada tabel mahasiswa, tabel krs, tabel transkrip dan lain sebagainya. Level ini biasa dipakai oleh DBA. 3. Level Penampakan/pandangan (View Level) Lapis pandangan merupakan lapis tertinggi pada abstraksi data. Pada lapis ini pengguna hanya mengenal struktur data yang sederhana, yang berorientasi pada kebutuhan pengguna. Data yang dikenal oleh masing-masing pengguna bisa berbeda- beda dan barangkali hanya mencakup sebagian dari basis data. Misalnya: Bagian keuangan hanya membutuhkan data keuangan, jadi yang digambarkan hanya pandangan terhadap data keuangan saja, begitu juga dengan bagian akuntansi, hanya membutuhkan data akuntansi saja. Jadi tidak semua pengguna database membutuhkan seluruh informasi yang terdapat dalam database tersebut. Bahasa Basis Data 1. Bahasa Definisi Data (Data Definition Language/ DDL) DDL adalah perintah-perintah yang biasa digunakan oleh administrator basis data (DBA) utnuk mendefinisikan skema ke DBMS. Skema adalah deskripsi lengkap tentang struktur medan, rekaman, dan hubungan data pada basis data Index merupakan suatu mekanisme yang lazim digunakan pada basis data, yang memungkinkan pengambilan data dapat dilakukan dengan cepat.
  • 14.
    14 DDL Digunakan untukmespesifikasikan struktur/skema basis data yang menggambarkan/mewakili desain basis data secara keseluruhan. Hasil kompilasi perintah DDL adalah kamus data (File yang berisi metadata (data yang mendeskripsikan data sesungguhnya). Struktur penyimpan dan metode akses yang digunakan oleh sistem basis data disebut dengan data storage and definition language. 2. Bahasa Manipulasi Data (Data Manipulation laguage/ DML) DML adalah perintah-perintah yang digunakan untuk mengubah, manipulasi dan mengambil data pada basis data. Tindakan seperti menghapus, mengubah, dan mengambil data menjadi bagian dari DML. DML pada dasarnya dibagi menjadi dua : - Prosedural, yang menuntut pengguna menentukan data apa saja yang diperlukan dan bagaimana cara mendapatkannya. - Nonprosedural, yang menuntut pengguna menentukan data apa saja yang diperlukan, tetapi tidak perlu menyebutkan cara mendapatkannya. Pemanfaaatan Ilmu Basis Data Bidang Fungsional : • Kepegawaian • Pergudangan (inventory) • Akuntansi • Reservasi • Layanan Pelanggan Bentuk Perusahan : Perbankan Rumah Sakit Produsen Barang • Sekolah • Telekomunikasi
  • 15.
    15 Model Data Model databaseadalah suatu konsep yang terintegrasi dalam menggambarkan hubungan (relationships) antar data dan batasan-batasan (constraint) data dalam suatu sistem database. Model data yang paling umum, berdasarkan pada bagaimana hubungan antar record dalam database (Record Based Data Models), terdapat tiga jenis, yaitu : 1. Model Database Hirarki (Hierarchical Database Model) Model hirarkis biasa disebut model pohon, karena menyerupai pohon yang dibalik. Model ini menggunakan pola hubungan orangtua anak HIRARKI 3. Model Database Relasi (Relational Database Model) Model Relasional merupakan model yang paling sederhana sehingga mudah digunakan dan dipahami oleh pengguna. Model ini menggunakan sekumpulan tabel berdimensi dua ( yang disebut relasi atau tabel ), dengan masing-masing relasi tersusun atas tupel atau baris dan atribut. DBMS yang bermodelkan relasional biasa disebut RDBMS (Relational Data Base Management System). Model database ini dikemukakan pertamakali oleh EF codd, seorang pakar basisdata. Model ini sering disebut juga dengan database relasi. Model database hirarki dan jaringan merupakan model database yang tidak banyak lagi dipakai saat ini, karena adanya berbagai kelemahan dan hanya cocok untuk struktur hirarki dan jaringan saja. Artinya tidak mengakomodir untuk berbagai macam jenis persoalan dalam suatu sistem database. Model database relasi merupakan model database yang paling banyak digunakan saat ini, karena paling sederhana dan mudah digunakan serta yang paling penting adalah kemampuannya dalam mengakomodasi berbagai kebutuhan pengelolaan database. Sebuah database dalam model ini disusun dalam bentuk tabel dua dimensi yang terdiri dari baris (record) dan kolom (field), pertemuan antara baris dengan kolom disebut item data (data value), table-tabel yang ada di hubungkan (relationship) sedemikian rupa menggunakan field-field kunci (Key field) sehingga dapat meminimalkan duplikasi data.
  • 16.
    16 Contoh produk DBMSterkenal yang menggunakan model relasional antara lain adalah : 1. DB2 (IBM) 2. Rdb/VMS (Digital Equipment Corporation) 3. Oracle (Oracle Corporation) 4. Informix (Informix Corporation) 5. Ingres (ASK Group Inc) 6. Sybase (Sybase Inc) Di lingkungan PC, produk-produk berbasis relasional yang cukup terkenal antara lain adalah : 1. Keluarga R:Base (Microrim Corp) antara lain berupa R:Base 5000 2. Keluarga dBase (Ashton-Tate, sekarang bagian dari Borland International), antara lain dbase III Plus, dBase IV, serta Visual dBase 3. Microsoft SQL ( Microsoft Corporation) 4. Visual FoxPro (Microsoft Corporation) 4. Model ER (Entity Relationship) Model Entity-Relationship adalah model data konseptual tingkat tinggi untuk perancangan basis data. Model data konseptual adalah himpunan konsep yang mendeskripsikan struktur basis data, transaksi pengambilan dan pembaruan basis data. Model ER adalah data konseptual tak tergantung DBMS dan platform perangkat keras tertentu. Model ER dikemukakan oleh Chen [1976]. Sejak itu, telah memperoleh banyak perhatian dan perluasan. Model ER adalah persepsi terhadap dunia nyata sebagai terdiri objek-objek dasar yang disebut entitas dan keterhubungan (relationship) antar entitas-entitas itu. Konsep paling dasar di model ER adalah entitas, relationship dan atribut. Komponen-komponen utama model ER adalah: a. Entitas (entity), Entitas memodelkan objek-objek yang berada diperusahaan/lingkungan. b. Relationship. Relationship memodelkan koneksi/hubungan di antara entitas-entitas. c. Atribut-atribut (properi-properti), memodelkan properti-properti dari entitas dan relationship. d. Konstrain-konstrain (batasan-batasan) integritas, konstrain-konstrain ketentuan validitas.
  • 17.
    17 DISKUSI Buatlah Model ERuntuk perusahaan Manufaktur meliputi Production ,Product, Vendor, Client, Sales, Diagram E-R Konsep paling dasar di model ER adalah entitas, relationship dan atribut. Komponen-komponen utama model ER adalah: a. Entitas (entity), Entitas memodelkan objek-objek yang berada diperusahaan/lingkungan. b. Relationship. Relationship memodelkan koneksi/hubungan di antara entitas-entitas. c. Atribut-atribut (properi-properti), memodelkan properti-properti dari entitas dan relationship. d. Konstrain-konstrain (batasan-batasan) integritas, konstrain-konstrain ketentuan validitas. Dalam berbagai pembahasan/literature, penyebutan himpunan entitas (yang kurang praktis) ini seringkali digantikan dengan sebutan entitas saja. Karena itu sering ditemui, penggunaan istilah entitas (entity) di sebuah literature sebenarnya menunjuk pada himpunan entitas. Kunci Entitas Sebagaimana model relasional, adalah penting dan berguna untuk memasukkan kunci yang diasosiasikan dengan himpunan entitas. Kunci pada himpunan entitas S, adalah himpunan atribut A. Sehingga tidak ada dua entitas di S yang mempunyai nilai sama untuk tiap atribut di A dan tidak ada subset di A yang dapat menjadi kunci di S, dengan demikian kunci mempunyai property minimal. Atribut (Atributes/Properties) Setiap entitas pasti memiliki atribut yang mendeskripsikan karakteristik (property) dari entitas tersebut. Penentuan / pemilihan atribut-atribut yang relevan bagi sebuah entitas merupakan hal penting lainnya dalam pembentukan model ER. Contoh : nim, nama, alamat, kode. Relasi (Relationship) dan Himpunan Relasi (Relationship Sets) Relasi menunjukkan adanya hubungan di antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. Misalnya, entitas seorang mahasiwa dengan
  • 18.
    18 nim = ‘000001’dan nama_mhs = ‘gunawan’ (yang ada di himpunan entitas Mahasiswa) mempunyai relasi dengan entitas sebuah mata kuliah dengan kode_kul=’IF-001’ dan nama_kul=’basis Data’. Relasi diantara kedua entitas tadi mengandung arti bahwa mahasiswa tersebut sedang mengambil/mempelajari mata kuliah tersebut di sebuah perguruan tinggi yang ditinjau. Kumpulan semua relasi diantara entitas-entitas yang terdapat pada himpunan entitas-himpuan entitas tersebut membentuk himpunan relasi (relationship sets). Sebagaimana istilah himpunan entitas yang banyak sekali disingkat menjadi entitas, istilah himpunan relasi jarang sekali digunakan dan lebih sering disingkat dengan istilah relasi saja. Kardinalitas Relasi menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lain. Kardinalitas relasi merujuk kepada hubungan maksimum yang terjadi dari himpunan entitas yang satu ke himpunan entitas yang lain dan begitu juga sebaliknya. Kardinalitas di antara dua himpunan entitas (misalnya A dan B) dapat berupa : a. Satu ke satu (One to One), setiap entitas pada himpunan entitas A berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas begitu juga sebaliknya setiap entitas pada himpunan entitas B berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas A. b. Satu ke Banyak (one to many), Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B, tetapi tidak sebaliknya, dimana setiap entitas pada himpunan entitas B berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas A. c. Banyak ke Satu (Many to One), Setiap entitas pada himpunan entitas A berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas B, tetapi tidak sebaliknya, dimana setiap entitas pada himpunan entitas A berhubungan dengan paling banyak satu entitas pada himpunan entitas B. d. Banyak ke Banyak (Many to Many)
  • 19.
    19 Setiap entitas padahimpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B, demikian juga sebaliknya, di mana setiap entitas pada himpunan entitas B dapat berhubungan dengan banyak entitas pada himpunan entitas A. Tahap Pembuatan Diagram ER Diagram ER selalu dibuat secara bertahap. Paling tidak ada dua kelompok penahapan yang biasa ditempuh di dalam pembuatan diagram ER, yaitu : a. Tahap pembuatan Diagram ER awal (preliminary design). Yaitu : Mengidentifikasi dan menetapkan seluruh entity yang terlibat dalam sistem database tersebut. 1. Menentukan attribute-attribute atau field dari masing-masing entity beserta kunci (key)- nya. Menentukan attribute dari suatu entitas sangat menentukan baik atau tidaknya sistem database yang dirancang, karena attribute ini sangat menentukan nantinya dalam proses relasi. Attribute merupakan ciri khas yang melekat pada suatu entity, misalnya attribute pada mahasiswa dapat berupa nobp, nama, tempat lahir, tanggal lahir, alamat, nama orang tua, pekerjaan orang tua dan lain-lain. Dari sekian banyak kemungkinan attribute yang ada pada entity mahasiswa, kita dapat menggunakan hanya yang perlu saja. Setelah menentukan attributenya selanjutnya adalah menentukan field kunci. Field kunci adalah penanda attribute tersebut sehingga bisa digunakan untuk relasi nantinya dan field kunci ini harus bersifat unik. Misalnya pada entity mahasiswa, attribute nobp bisa dijadikan field kunci, karena bersifat unik dan tidak ada mahasiswa yang mempunyai nobp sama. 2. Mengidentifkasi dan menetapkan seluruh himpunan relasi diantara himpunan-himpunan entity yang ada beserta kunci tamu (foreign key)- nya. Setelah menentukan entity dan attribute beserta field kuncinya, maka selanjutnya adalah menentukan entity yang terbentuk akibat adanya relasi antar entity. Misalnya antara entity mahasiswa dengan entity dosen, terjadi suatu hubungan proses mengajar, maka proses mengajar ini merupakan entity baru. Entity mengajar ini harus kita tentukan juga attribute yang melekat padanya beserta kunci tamu (foreign key). Kunci tamu adalah field kunci utama pada tabel lain, dan field tersebut digunakan juga pada tabel yang satu lagi. Misalnya nobp adalah field kunci dari entity mahasiswa, pada entity mengajar terdapat juga attribute NoBP, maka keberadaan attribute nobp pada entity mengajar disebut sebagai kunci tamu. Proses menentukan hubungan antar entity juga sangat menentukan kualitas system database yang dirancang. 3. Menentukan derajat relasi untuk setiap himpunan relasi. Setelah semua entity dan attribute yang dibutuhkan terbentuk, maka selanjutnya adalah menentukan derajat relasi antar entity tersebut, apakah satu kesatu, satu ke banyak atau sebaliknya, atau banyak ke banyak. Berhati-hatilah dalam menentukan derajat relasi ini, karena nantinya akan berhubungan dengan proses query terhadap data
  • 20.
    20 3. Melengkapi himpunanentitas dan himpunan relasi dengan atribut-atribut deskriptif (non key). Jenis-Jenis Kunci (Key) 1. Candidat Key Sebuah attribute atau lebih yang secara unit mengidentifikasi sebuat record, disebut candidate key. Attribute ini mempunyai nilai yang unik pada hampir setiap recordnya. Fungsi dari candidate key ini adalah sebagai calon primary key. 2. Primary Key Salah satu atrribut dari candidat key dapat dipilih menjadi primary key dengan 3 kriteria sbb : Key tersebut lebih natural untuk dijadikan acuan Key tersebut lebih sederhana Key tersebut cukup uniqe 3. Foreign Key Jika sebuah primary key terhubungan ke table/entity lain, maka keberadaan primary key pada entity tersebut di sebut sebagai foreign key. Misal : Primary Key KodeDosen dari entity Dosen digunakan juga pada field entity KRS, maka keberadaan field KodeDosen pada entity KRS disebut sebagai foreign key. 4. Alternate Key Setiap atribut dari candidate key yang tidak terpilih sebagai primary key akan dinamakan alternate key. Pada contoh sebelumnya bila untuk primary key dipilih ID_Cus maka alternate key nya adalah No.of Pay SPESIALISASI Dari Suatu himpunan entitas, dapat dilakukan pengelompokan yang dapat membentuk suatu himpunan entitas baru GENERALISASI Kebalikan Dari Spesialisasi AGREGASI Dari suatu himpunan Entitas dihubungkan dengan himpunan relasi menggunakan Agregasi
  • 21.
    21 Transformasi Model Datake Basis Data Fisik Implementasi Himpunan Entitas Lemah Implementasi Sub Entitas Hasil dari Spesialisasi Contoh lain spesialisasi Implementasi Generalisasi Relasi dengan derajat 1-1 yang menghubungkan 2 buah entitas akan direpresentasikan dalam bentuk penambahan/penyertaan atribut relasi ke tabel yang mewakili salah satu dari kedua himpunan entitas. Relasi dengan derajat relasi 1-N (satu ke banyak) yang menghubungkan 2 buah entitas, juga akan direpresentasikan dalam bentuk pencantuman atribut key dari himpunan entitas pertama (yang berderajat 1) ke tabel entitas kedua (yang berderajat N). Relasi dengan derajat N-M yang menghubungkan 2 buah entitas akan diwujudkan dalam bentuk tabel khusus. Dimana memiliki field (tepatnya foreign key) yang berasal dari primary key dari entitas yang dihubungkan, dengan menyertakan atribut tambahan bila ada. Slide 1 Pertemuan 5 Transformasi Model Data ke Basis Data Fisik Indra Gunawan, S.T
  • 22.
    22 Slide 2 Transformasi ModelData ke Basis Data Fisik Transformasi Umum/Dasar nim Nama_mhs Alamat_mhs Tgl_lahir Alamat_mhs T gl_lahir Mahasiswa Nim Nam a_m hs Tabel Mahasiswa
  • 23.
    23 Slide 3 Implementasi lainnya ❑Implementasi Himpunan Entitas Lemah dan Sub Entitas ❑ Implementasi Relasi Tunggal (Unary Relation) ❑ Implementasi Relasi Multi Entitas (N-ary Relation) ❑ Implementasi Relasi Ganda (Redundant Relation
  • 24.
    24 Slide 4 4 Implementasi Himpunan EntitasLemah PEGAWAI punya miliki SKILL TANGGUNGAN 1 n n 1 TABEL TANGGUNGAN TABEL SKILL
  • 25.
    25 Slide 5 5 Implementasi RelasiTunggal 1-1 KARYAWAN nama Nik_karyawan nohp Menikah 1 1 … Nik_pasangan alamat TABEL KARYAWAN
  • 26.
    26 Slide 6 6 Implementasi RelasiTunggal 1-N KARYAWAN nama Nik_karyawan nohp kontrol 1 N Nik_supervisor TABEL KARYAWAN
  • 27.
    27 Slide 7 7 Implementasi RelasiTunggal N-M MATA KULIAH nama Kd_mk sks Kuliah prasyarat N M Kd_mk_prasyarat semester TABEL MATA KULIAH TABEL MK PRASYARAT
  • 28.
    28 Slide 8 8 Implementasi MultiEntitas SUPPLIER Sedia GUDANG KOMPONEN alamat Id_supplier … Cara_pengiriman nama lokasi n m 1 Id_komponen nama … Id_ruang nama tgl_kirim
  • 29.
    29 Slide 9 9 TABEL SUPPLIER TABELGUDANG TABEL KOMPONEN TABEL PERSEDIAAN
  • 30.
    30 Slide 10 10 Contoh lainMulti Entitas PASIEN Resep DOKTER OBAT nama Id_pasien … tanggal nama n n n Id_obat nama … Nip_dokter … hasil
  • 31.
    31 Slide 11 11 TABEL PASIEN TABELDOKTER TABEL OBAT TABEL RESEP
  • 32.
    32 Slide 12 12 Implementasi RelasiGanda DOSEN nama nip … 1 MATAKULLIAH nama n Kd_mk … mengajar Menguasai n m
  • 33.
    33 Slide 13 13 TABEL DOSEN TABELMATA KULIAH TABEL MENGUASAI
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
    40 Slide 2  Integer: Bilangan bulat -2.2M – 2.2 M  Contoh: 100.234  Decimal:Bilangan pecahan  Contoh : 20,3  Date: Penanggalan tanpa disertai waktu  Contoh : 2004-03-12  Datetime: penanggalan dengan waktu  Contoh : 2004-03-12 23.59:00  Char: String Karakter  Contoh : “Hello”  Text : mampu menyimpan 64 ribu data  Contoh : Field Alamat, Field Keterangan, Notes dst 2
  • 41.
    41 Slide 3  Buatlahstruktur tabel beserta relasinya dari entitas-entitas dibawah ini 3 Dosen Golongan Mata Kuliah keahlian n 1 n n 1 n
  • 42.
    42 Slide 4  Buatlah struktur table beserta relasinya dari entitas-entitas dibawah ini : 4 karyawan jabatan departemen agama keahlian 1 n 1 n n n 1 n Desain Basis Data Daur Hidup (Life Cycle) yang Umum dari Aplikasi Basis Data Definisi Sistem Database Design Implementasi Loading/Konversi Data Konversi Aplikasi Testing & Validasi Operations
  • 43.
    43 Control & Maintenance DaurHidup (Life Cycle) dari Aplikasi Basis Data Definisi Sistem: ➢ ruang lingkup basis data pemakai aplikasi Design: logical design ER/EER physical design untuk suatu DBMS 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 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) 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.
  • 44.
    44 Proses Design SistemBasis 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 Sistem operasi komputer Program-program aplikasi Pemrogram, dll Proses Design Basis Data Pengumpulan dan analisa requirement Design basis data conceptual Pemilihan DBMS Physical Design Implementasi Proses Design Basis Data (cont’d) Kelima phase dalam proses design tidak perlu dilaksanakan secara mutlak, mungkin ada umpan balik antar phase dan dalam masing-masing phase Proses Design Paralel Proses design terdiri dari dua proses yang paralel yaitu: • proses design dari data dan struktur dari basis data • proses design dari program aplikasi dan pemrosesan basis data Mengapa Harus Paralel Karena kedua proses tersebut saling bergantungan. Contoh:
  • 45.
    45 Menentukan data itemyang akan disimpan dalam basis data tergantung dari aplikasi basis data tersebut, juga dalam menentukan struktur dan akses path. Design dari program aplikasi tergantung dari struktur basis datanya. 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. 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 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
  • 46.
    46 Strategi untuk DesignSchema 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 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 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 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 Phase 2b: Design Transaksi (cont’d)
  • 47.
    47 Transaksi dapat dibagidalam 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 Phase 3: Pemilihan DBMS Pemilihan DBMS ditentukan oleh sejumlah faktor antara lain: faktor teknis: storage, user interface, programmer, bahasa query faktor ekonomi: software, hardware, maintenance, dll faktor organisasi: kompleksitas, data, sharing antar aplikasi, perkembangan data Phase 4: Physical Design Struktur storage, akses path untuk mendapatkan performance yang baik Kriteria baik dapat dilihat dari: - response time - pemakaian storage - jumlah transaksi per unit waktu Perlu tuning untuk memperbaiki performance berdasarkan statistik pemakaian Phase 5: Implementasi Sistem Basis Data Model data ER/EER dikompilasi membentuk schema table-table dan struktur basis data Membuat basis data kosong Basis data dapat dimuati (di-load) dari sistem yang lama Transaksi dapat diimplementasikan oleh program aplikasi Siap dioperasikan
  • 48.
  • 49.
    49 Slide 2  Normalisasiadalah proses pembentukan struktur basis data sehingga sebagian besar ambiguity bisa dihilangkan.  Normalisasi data merupakan suatu proses untuk mendapatkan struktur tabel atau relasi yang efisien dan bebas dari anomali, dan mengacu pada cara data item dikelompokkan ke dalam struktur record.
  • 50.
    50 Slide 3  Untukmenghilangkan kerangkapan data  Untuk mengurangi kompleksitas  Untuk mempermudah pemodifikasian data
  • 51.
    51 Slide 4  Datadiuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat.  Apabila tabel yang diuji belum memenuhi persyaratan tertentu,maka tabel tersebut perlu dipecah menjadi beberapa tabel yanglebih sederhana sampai memenuhi bentuk yang optimal.
  • 52.
    52 Slide 5 Tabel dengan Atributbernilai ganda Bentuk Normal Pertama Bentuk Normal Kedua Buang atribut bernilai ganda Buang Dependensi parsial Bentuk Normal Ketiga Bentuk Normal Lain-lain Buang Dependensi transitif Bentuk normal Boyce-Codd hingga Bentuk Normal Kelima
  • 53.
    53 Slide 6 o Prosespada basis data yang memberikan efek samping yang tidak diharapkan, macamnya: –Anomali peremajaan; – Anomali penghapusan,dan – Anomali penyisipan. o Bila ada anomali maka relasi mungkin perlu dipecah menjadi beberapa tabel lagi agar diperoleh database yang optimal.
  • 54.
    54 Slide 7 NIM Kode_MKNama_MK Nilai 200543423 PS-4533 Perancangan Sistem A 200512345 PS-4533 Perancangan Sistem B 200534632 PS-4533 Perancangan Sistem B 200534632 BD-5630 Sistem Basis Data A 200634123 BD-5452 Basis Data B 200612367 BD-5452 Basis Data B 200691245 BD-5452 Basis Data A 200691245 PG-3465 Pemrograman B Tabel KRS ◼ Misalkan pada tabel diatas dilakukan perubahan data pada record ke 5, data nama mata kuliah basis data diganti menjadi perancangan basis data.
  • 55.
    55 Slide 8 NIM Kode_MKNama_MK Nilai 200543423 PS-4533 Perancangan Sistem A 200512345 PS-4533 Perancangan Sistem B 200534632 PS-4533 Perancangan Sistem B 200534632 BD-5630 Sistem Basis Data A 200634123 BD-5452 Perancangan Basis Data B 200612367 BD-5452 Basis Data B 200691245 BD-5452 Basis Data A 200691245 PG-3465 Pemrograman B Tabel KRS ◼ Pada tabel diatas akan terjadi ketidak- konsistenan pada record 5, 6 dan 7. yaitu record Kode_MK = BD-5452 berelasi dengan dua Nama_MK yang berbeda (Perancangan basis data dengan Basis data).
  • 56.
    56 Slide 9  SolusiNormalisasi  Melakukan dekomposisi dengan menentukan ketergantungan fungsional (Functional dependency).  Dependensi : suatu hubungan dimana perubahan pada satu tabel akan mempengaruhi tabel yang lain, dimana salah satu tabel bergantung pada tabel yang lain.  Contoh ketergantungan fungsional : Ketergantungan fungsional pada tabel KRS Kode_MK Nama_MK Nim, Kode_MK Nilai
  • 57.
    57 Slide 10 Kode_MK Nama_MK PS-4533Perancangan Sistem BD-5630 Sistem Basis Data BD-5452 Perancangan Basis Data PG-3465 Pemrograman ◼ Berdasarkan ketergantungan fungsional tersebut, maka tabel KRS dapat didekomposisi menjadi 2 tabel NIM Kode_MK Nilai 200543423 PS-4533 A 200512345 PS-4533 B 200534632 PS-4533 B 200534632 BD-5630 A 200634123 BD-5452 B 200612367 BD-5452 B 200691245 BD-5452 A 200691245 PG-3465 B
  • 58.
    58 Slide 11  Dekomposisitabel dapat mengurangi redudansi yang ada dan menghilangkan anomali  Perancangan melalui proses normalisasi mempunyai keuntungan-keuntungan sebagai berikut :  Meminimalkan ukuran penyimpanan yang diperlukan untuk penyimpanan data.  Meminimalkan resiko inkonsistensi data pada basis data.  Meminimalkan kemungkinan anomaly pembaruan.  Memaksimalkan stabilitas struktur data.
  • 59.
    59 Slide 12  Tujuanproses normalisasi adalah mengkonversi relasi menjadi bentuk normal lebih tinggi.  Terdapat beragam tingkat bentuk normal, yaitu: 1. Bentuk normal pertama (1NF) 2. Bentuk normal kedua (2NF) 3. Bentuk normal ketiga (3NF) 4. Bentuk normal Boyce-Codd (BCNF) 5. Bentuk normal keempat (4NF) 6. Bentuk normal kelima (5NF)
  • 60.
    60 Slide 13  Bentuknormal pertama (1NF) untuk menghilangkan atribut bernilai jamak.  Bentuk normal kedua (2NF) untuk menghilangkan kebergantungan parsial.  Bentuk normal ketiga (3NF) untuk menghilangkan kebergantungan transitif.  Bentuk normal Boyce-Codd (BCNF) untuk menghilangkan anomaly tersisa disebabkan kebergantungan fungsional.  Bentuk normal keempat (4NF) untuk menghilangkan kebergantungan nilai jamak.  Bentuk normal kelima (5NF) untuk menghilangkan anomaly tersisa.
  • 61.
    61 Slide 14  Tigabentuk normal pertama berkaitan dengan kebergantungan fungsional. Sementara itu bentuk keempat dan kelima berkaitan dengan redundansi yang disebabkan kebergantungan banyak nilai (multi-valued dependencies).
  • 62.
    62 SQL Slide 2 SQL adalahsingkatan dari structured query language. Dalam bahasa inggris dibaca SEQUEL. SQL merupakan bahasa query standar yang digunakan untuk mengakses basis data relational. Standarisari SQL yang pertama oleh ANSI (American National Standards Organization), melalui publikasi Database Language SQL. Selain dari ANSI standarisasi SQL juga dilakukan oelh ISO ( International Standards Organization )
  • 63.
    63 Slide 3  Adayang menyatakan SQL bukan merupakan sub bahasa Query karena SQL bukan hanya dipakai untuk memperoleh data saja, tapi juga memiliki kemampuan : 1)Pendefinisaian struktur data. 2)Pengubahan data. 3)Pengaturan sekuritas dll…
  • 64.
    64 Slide 4  Adajuga yang mengatakan SQL sebagai subbahasa adalah karena SQL tidak mendukung pernyataan bahsa yang lengkap. SQL tidak menyediakan hal-hal berikut : 1)Pernayatan pengujian kondisi ( semacam if pada vb ). 2)Pernyataan iterasi/pengulanga ( semacam Repeat pada Pascal ).
  • 65.
    65 Slide 5  PenggunaanSQL pada DBMS cukup luas dan banyak dipakai oleh berbagai kalangan (DBA,pemrogram, ataupun pengguna) SQL sebagai bahasa administrasi data. SQL sebagai bahasa query interaktif. SQL sebagai bahasa pemrograman basisdata. SQL sebagai bahasa klien/server.
  • 66.
  • 67.
    67 Slide 7  Elemendasar SQL mencakup pernyataan, nama, tipe data, konstanta, ekspresi dan fungsi bawaan.
  • 68.
    68 Slide 8 Pernyataan adalah PerintahSQL yang meminta sesuatu tindakan kepada DBMS SQL. pernyataan dasar SQL. Pernyataan Keterangan ALTER Mengubah struktur tabel COMMIT Mengahiri sebuah eksekusi transaksi CREATE Menciptakan tabel, indeks atau view DELETE Menghapus baris dalam tabel DROP Menghapus tabel, indeks atau view GRANT Memberikan hak terhadap basisdata kepada pengguna atau grup pengguna INSERT Menambahkan sebuah baris pada tabel REVOKE Membatalkan hak terhadap basis data. ROLLBACK Mengembalikan kondisi semula apabila transaksi gagal SELECT Memilih baris dan kolom pada tabel UPDATE Mengubah nilai pada suatu baris.
  • 69.
    69 Slide 9  Namadigunakan sebagai identitas bagi objek- objek pada DBMS, contoh objek pada DBMS adalah tabel, kolom dan pengguna.
  • 70.
    70 Slide 10  Setiapdata memiliki tipe data, terbagi menjadi dua : tipe data standart dan tipe data perluasan. Tipe Data Keterangan Char Untuk menyatakan deretan karakter ( string ) Integer Untuk menyatakan bilangan bulat Numeric Untuk menyatakan bilangan real VARCHAR Untuk menyatakan string yang panjangnya bervariasi MONEY Untuk menyatakan uang BOOLEAN Menyatakan tipe Logical ( true/false) BLOB Untuk menyatakan data biner Pemrosesan Query Slide 1
  • 71.
    71  Sebuah ekspresiSQL dasar terdiri dari atas 3 klausa : Select : Untuk memilih data/field mana yg akan ditampilkan From : Untuk memilih dari tabel mana data akan ditampilkan. Where : Filtering data sesuai opsi2 yg diinginkan
  • 72.
    72 Slide 2  Sintaksdari ekspresi SQL dasar : Select F1,F2…Fn Form T1,T2…Tn Where P  Keterangan : F: daftar atribut (field) T : daftar relasi (tabel) P : Filtering
  • 73.
    73 Slide 3  Contoh: “select nama from karyawan” , akan menghasilkan data : Nama Andrian Adrie Agus Alif NIK NAMA KOTA 00001 Andrian Batam 00002 Adrie Batam 00003 Agus Batam 00004 Alif Medan
  • 74.
    74 Slide 4  Contoh: “select NIK,nama,kota from karyawan” , akan menghasilkan data NIK Nama Kota 00001 Andrian Batam 00002 Adrie Batam 00003 Agus Batam 00004 Alif Batam NIK NAMA KOTA 00001 Andrian Batam 00002 Adrie Batam 00003 Agus Batam 00004 Alif Medan
  • 75.
    75 Slide 5  Contoh: “select NIK,nama,kota as alamat from karyawan” , akan menghasilkan data NIK Nama Alamat 00001 Andrian Batam 00002 Adrie Batam 00003 Agus Batam 00004 Alif Medan NIK NAMA KOTA 00001 Andrian Batam 00002 Adrie Batam 00003 Agus Batam 00004 Alif Medan
  • 76.
    76 Slide 6  Klausaini boleh tidak digunakan, klausa untuk predikat ini dapat menerapkan  operator relasi (<, >, <=, >=, =, <>) dan operator logika (and, or dan not). Untuk nilai  predikat yang bertipe string harus diapit dengan tanda kutip tunggal (‘ ’).
  • 77.
    77 Slide 7  Contoh: select * from karyawan where kota=‘Medan’ , akan menghasilkan data NIK Nama Kota 00004 Alif Medan NIK NAMA KOTA 00001 Andrian Batam 00002 Adrie Batam 00003 Agus Batam 00004 Alif Medan
  • 78.
    78 Slide 8  Contoh: “select * from karyawan where gaji>1000000 ” , akan menghasilkan data NIK Nama Kota Gaji 00003 Agus Batam 1200000 00004 Alif Medan 1200000 NIK NAMA KOTA Gaji 00001 Andrian Batam 1000000 00002 Adrie Batam 1000000 00003 Agus Batam 1200000 00004 Alif Medan 1200000
  • 79.
    79 Slide 9  Khususuntuk atribut yang bertipe string, dapat dilakukan pencarian dengan pola tertentu, memanfaatkan karakter : · % (percent) : berarti cocok untuk semua substring. · Ditambah klausa like
  • 80.
    80 Slide 10  Misal: Select * From karyawan Where nama like ‘A%’ Hasil : menampilkan record-record karyawan yang namanya diawali dengan huruf A NIK Nama Kota 00001 Andrian Batam 00002 Adrie Batam 00003 Agus Batam 00004 Alif Batam
  • 81.
    81 Slide 11  Misal: Select * From karyawan Where nama like ‘%an’ Hasil : menampilkan record-record karyawan yang namanya diawali dengan huruf A NIK Nama Kota 00001 Andrian Batam
  • 82.
    82 Slide 12  PengurutanHasil Query  Dengan SQL hasil ditampilkan dengan urutan sesuai dengan struktur penyimpanan, jika ingin menampilkan dengan urutan tertentu dengan menambahkan klausa order by.  Misal : Select * From karyawan Order by NIK Hasil : menampilkan nama karyawan dari abjad terkecil hingga terbesar (ascending). NIK Nama Kota 00001 Andrian Batam 00002 Adrie Batam 00003 Agus Batam 00004 Alif Batam
  • 83.
    83 Slide 13  PengurutanHasil Query  Dengan SQL hasil ditampilkan dengan urutan sesuai dengan struktur penyimpanan, jika ingin menampilkan dengan urutan tertentu dengan menambahkan klausa order by.  Misal : Select * From karyawan Order by NIK desc Hasil : menampilkan nama karyawan dari abjad terbesar hingga terkecil (descending). NIK Nama Kota 00004 Alif Batam 00003 Agus Batam 00002 Adrie Batam 00001 Andrian Batam
  • 84.
    84 Slide 14  Untukmenampilkan data-data agregasi seperti banyak record, total nilai suatu atribut, rata-rata nilai suatu atribut, nilai atribut terbesar ataupun terkecil dapat diperoleh dengan fungsi-fungsi berikut : count : menghitung jumlah baris suatu field. ·sum : menjumlahkan data-data numerik pada suatu field. ·avg: menghitung nilai rata-rata suatu atribut numerik. max : mengambil nilai maksimum min : mangambil nilai minimum
  • 85.
    85 Slide 15  Contoh: “select count(NIK) from karyawan ” , akan menghasilkan data 4 NIK NAMA KOTA Gaji 00001 Andrian Batam 1000000 00002 Adrie Batam 1000000 00003 Agus Batam 1200000 00004 Alif Medan 1200000
  • 86.
    86 Slide 16  Contoh: “select sum(gaji) from karyawan ” , akan menghasilkan data 4 400 000 NIK NAMA KOTA Gaji 00001 Andrian Batam 1000000 00002 Adrie Batam 1000000 00003 Agus Batam 1200000 00004 Alif Medan 1200000
  • 87.
    87 Slide 17  SQLjuga dilengkapi dengan sejumlah perintah untuk melakukan manipulasi data seperti penambahan record baru, pengubahan nilai atribut dan penghapusanrecord.  Ada tiga perintah : Insert Delete Update
  • 88.
    88 Slide 18  Contoh: “insert into karyawan values(‘00005’,’Arie’,’Medan’,’1150000’ ” , akan menambah 1 baris data data NIK NAMA KOTA Gaji 00001 Andrian Batam 1000000 00002 Adrie Batam 1000000 00003 Agus Batam 1200000 00004 Alif Medan 1200000 00005 Arie Medan 1150000
  • 89.
    89 Slide 19  Contoh: “delete from karyawan” Akan menghapus semua data pada tabel karyawan NIK NAMA KOTA Gaji
  • 90.
    90 Slide 20  Contoh: “update karyawan set gaji=900000 where nama=‘Agus’ Akan mengubah data gaji agus menjadi 900000 NIK NAMA KOTA Gaji 00001 Andrian Batam 1000000 00002 Adrie Batam 1000000 00003 Agus Batam 900000 00004 Alif Medan 1200000 00005 Arie Medan 1150000
  • 91.
    91 Slide 21  Nullpada Field table artinya adalah tidak ada data atau kosong  Contoh penggunaanna adalah “select * from karyawan where gaji=null” “delete from karyawan where gaji=null” “update karyawan set gaji=0 where gaji=null”
  • 92.
    92 Slide 22  Contoh: “update karyawan set gaji=null where nama=‘Agus’ Akan mengubah data gaji agus menjadi kosong NIK NAMA KOTA Gaji 00001 Andrian Batam 1000000 00002 Adrie Batam 1000000 00003 Agus Batam 00004 Alif Medan 1200000 00005 Arie Medan 1150000 Bekerja dengan SQL BEKERJA DENGAN SQL Create Drop Alter Insert Update Delete Select
  • 93.
    93 CREATE Membuat Database Syntax : CREATEDATABASE namadatabase; Menampilkan Database : SHOW DATABASES; DROP Menghapus Database Syntax : DROP DATABASE namadatabase; ALTER Menambah primary key syntax : ALTER TABLE namatabel ADD PRIMARY KEY (namakolom); Menghapus Primary key Syntax : ALTER TABLE namatabel DROP PRIMARY KEY ; ALTER Menambah kolom baru pada tabel Syntax : ALTER TABLE namatabel ADD fieldbaru tipe; Mengubah type data atau lebar kolom Syntax : ALTER TABLE namatabel MODIFY COLUMN field tipe
  • 94.
    94 ALTER Mengubah Nama Kolom Syntax: ALTER TABLE namatabel CHANGE COLUMN namalamakolom namabarukolom tipedatanya; ALTER Menghapus kolom pada tabel Syntax : ALTER TABLE namatabel DROP COLUMN namakolom; Mendefinisikan Foreign Key ALTER TABLE namatabel ADD FOREIGN KEY (namakolom) REFERENCES namatabelinduk (namakolominduk) ON UPDATE CASCADE ON DELETE NO ACTION; ALTER Menghapus Foreign Key Syntax : ALTER TABLE namatabel DROP FOREIGN KEY; INSERT Untuk menambah baris pada tabel INSERT INTO namatabel VALUES (nilai1,nilai2,nilai-n); DELETE Untuk Menghapus baris pada tabel Syntax : DELETE FROM namatabel [WHERE kondisi]; UPDATE Untuk Mengubah data pada 1 atau banyak kolom dan 1 atau banyak baris Syntax : UPDATE namatabel SET kolom1 = nilai1, kolom2 = nilai2 [WHERE kondisi];
  • 95.
    95 SELECT Menampilkan semua datautk semua kolom menggunakan Asterik * Syntax : SELECT * FROM namatabel; Menampilkan data untuk kolom tertentu Syntax : SELECT kolom1,kolom2,kolom-n FROM namatabel; SELECT Merename nama kolom di hasil tampilan Syntax : SELECT namakolomlama AS namakolombaru FROM namatabel; Menggunakan alias untuk nama table Syntax : SELECT nmalias.jenis, nmalias.harga FROM namatabel nmalias; SELECT Menampilkan data lebih dari 1 tabel Syntax : SELECT * from namatabel1,namatabel2,namatabel-n; Proteksi SQL KONKURENSI KONSEP DBMS pada umumnya memiliki fasilitas proteksi data, yaitu fasilitas yang bertujuan untuk melindungi data dari berbagai resiko yang mungkin terjadi dan membawa dampak dalam basis data Berbagai kemungkinan yang diantisipasi oleh fasilitas proteksi data adalah : Gangguan listrik
  • 96.
    96 Kerusakan disk Kesalahan perangkatlunak yang akan menyebabkan data dalam kondisi tidak konsisten Pengaksesan oleh user yang tidak berwenang. Untuk menghindari sabotase terhadap basis data Akses yang konkuren oleh user maupun aplikasi pada waktu yang bersamaan sehingga dapat menyebabkan data tidak konsisten KONSEP Untuk memproteksi data terhadap segala macam kemungkinan, DMBS menyediakan kontrol untuk : Security (Keamanan) Integrity (Integritas) Recovery (Pemulihan) Concurrency (Konkurensi) SECURITY Security merupakan suatu proteksi terhadap pengrusakan data dan pemakaian data oleh user yang tidak berwenang. Organisasi harus dapat mengidentifikasi masalah keamanan yang mungkin mengganggu jalan operasional basis data. Penyalahgunaan basis data dapat dikategorikan sebagai tindakan yang disengaja maupun yang tidak sengaja. SECURITY Untuk kategori yang tidak disengaja dapat disebabkan oleh : Kerusakan selama proses transaksi Anomali yang disebabkan oleh akses basis data yang konkuren Anomali yang disebabkan oleh pendistribusian data pada beberapa komputer Kesalahan logika yang dapat mengancam kemampuan transaksi untuk mempertahankan konsistensi basis data
  • 97.
    97 SECURITY Untuk kategori kedalamtindakan yang disengaja antara lain disebabkan oleh : Pengambilan data/pembacaan data oleh user yang tidak berwenang Pengubahan data oleh user yang tidak berwenang Penghapusan data oleh user yang tidak berwenang SECURITY HARDWARE Kebakaran, banjir, gempa, radiasi, bom, pencurian, kehilangan data karena padam listrik, kesalahan mekanisme keamanan. SOFTWARE (DBMS) Memberikan akses yang terlalu luas, pencurian program, kesalahan program JARINGAN KOMUNIKASI Kabel yang tidak terkoneksi DATABASE Aturan/ amandemen yang tidak di otorisasi. Penduplikasian data / pencurian data. Kehilangan data akibat listrik mati SECURITY END USER Menggunakan hak akses user lain Melihat dan menutup data yang tidak diotorisasi Staff yang tidak di training Pemasukan data yang dilakukan oleh hacker Virus, pemerasan PROGRAMMER/ OPERATORS Membuat password Membuat program yang tidak aman
  • 98.
    98 Staff yang tidakditraining Kebijakan keamanan dan prosedur Pemogokan staff DBA Kebijaksanaan Keamanan dan prosedur SECURITY Untuk mengatasi masalah ini, security harus dilakukan pada beberapa tingkatan : FISIK Menempatkan sistem komputer pada lokasi yang aman secara fisik dari serangan yang dapat merusak. MANUSIA Wewenang pemakai harus dilakukan dengan hati-hati untuk mengurangi kemungkinan adanya manipulasi oleh pemakai yang tidak berwenang SISTEM OPERASI Walaupun sistem databasenya aman, kelemahan pada sistem operasi memungkinkan pengaksesan data oleh pihak tidak berwenang, karena hampir seluruh jaringan sistem database menggunakan akses jarak jauh melalui terminal/jaringan. SISTEM DATABASE Beberapa pemakai yang berwenang dalam sistem database mungkin hanya boleh mengakses sebagian databasenya, yang lainnya hanya boleh melihat dan menggunakan tanpa boleh mengubahnya. Hal ini harus dapat dilakukan dalam sistem tersebut. SECURITY Keamanan data dapat dilakukan dengan otorisasi, tabel view, backup data dan recovery, integritas data, enkripsi. Perintah untuk pemberian dan pengambilan wewenang dengan SQL, berturut - turut adalah : GRANT dan REVOKE Contoh : GRANT ALL PRIVILEGES ON *.* TO monty@localhost IDENTIFIED BY 'qwerty' WITH GRANT OPTION; FLUSH PRIVILEGES;
  • 99.
    99 Contoh : REVOKECREATE ON penjualan.* FROM admin@localhost; FLUSH PRIVILEGES; SECURITY BACKUP Backup merupakan proses secara periodik yang mengambil duplikat dari database dan melakukan logging file (dan mungkin juga program) ke media penyimpanan eksternal. JOURNALING/LOG FILE Untuk membuat transaksi database track pada tempatnya, DBMS menggunakan log ataupun jurnal yang berisi informasi mengenai perubahan yang terjadi pada database. SECURITY CHECKPOINT Informasi pada jurnal digunakan untuk memulihkan database dari kegagalan yang dilakukan. Satu kesulitan dengan skema ini adalah ketika kegagalan terjadi, tidak diketahui seberapa jauh jurnal untuk kembali mencarinya dan berakhir dengan melakukan transaksi REDO. Untuk membatasi pencarian dan pemrosesan secara teratur digunakan tehnik checkpoint/pos pemeriksaan. SECURITY ENCRYPTION Merupakan pengkodean data dengan algoritma khusus algoritma khusus sehingga data yang dikirim tidak dapat dibaca sebelum adanya proses deskripsi. KONSEP INTEGRITAS Salah satu karakteristik sistem informasi yang baik adalah kemampuannya memberikan informasi yang akurat dan tepat waktu. Keakuratan informasi hanya dapat diperoleh jika didukung perancangan dan implementasi database yang handal. Integrity di dalam istilah basis data berarti memeriksa keakuratan dan validasi data. KONSEP INTEGRITAS Oleh karena itu database harus menjamin integritas (keutuhan) data yang disimpannya. Harus dijamin agar perubahan terhadap basis data yang dilkaukan user yang berhak tidak menghasilkan ketidakkonsistenan data. Harus dijamin pula agar database tidak mengalami kerusakan secara sengaja.
  • 100.
    100 Untuk itu dalamdatabase dikenal dengan aturan integritas (integrity constraints) yang mengatur definisi dan modifikasi terhadap database sehinggan menjamin integritas database tersebut. INTEGRITAS Terdapat beberapa jenis aturan integritas (integrity constraints) yang menjamin konsistensi dan integritas database, yaitu : Aturan integritas entitas (Entity Integrity Constraints) Aturan Domain (Domain Constraints) Aturan integritas refensial (Referential Integrity Constraints) Aturan berbasis atribut (Attribute-based Constraints) dan Aturan berbasis Record (Tuple Based Constraints) Pernyataan (Assertions) Pemicu (Trigger) INTEGRITAS Aturan Integritas Entitas (Entity Integrity Constraints) Aturan ini diterapkan dengan cara mendeklarasikan kunci primer (primary key) untuk setiap entitas agar dijamin tidak ada baris-baris dalam table yang memiliki nilai yang sama (duplikat record). Aturan Domain (Domain Integrity) Domain merupakan kumpulan tipe data dan jangkauan nilai yang diperbolehkan pada atribut sebuah relasi. Untuk setiap atribut yang didefinisika dalam suatu relasi harus ditentukan definisi domain atribut tersebut. Definisi domain dari sebuah atribut akan mencakup : tipe data, panjang, format, jangkauan, nilai yang memungkinkan, keunikan dan kemungkinan data null. Aturan-aturan yang dirumuskan dalam definisi domain tersebut dinamakan aturan domain (domain constraints). INTEGRITAS Aturan integritas refensial (Referential Integrity Constraints) Aturan Integritas Referensial adalah aturan yang mengatur kebeneran referensi dari satu obyek ke obyek lain dalam database. Attributed-Based Constraints dan Tuple-Based Constraints
  • 101.
    101 Adalah aturan yangmenentukan bahwa pada saat dilakukan insert dan update, nilai atribut tertentu harus memenuhi kondisi tertentu. Jika kondisi tidak dipenuhi maka system akan menolak dilakukannya proses input atau update. INTEGRITAS Assertions Assertions adalah aturan yang diterapkan untuk membuat agar database tetap pada kondisi yang diinginkan. Trigger Trigger adalah aturan yang nengeksekusi peritah secara otomatis sebagai akibat sampingan sari proses modifikasi (insert/delete/update) dalam database. Ruang lingkup trigger bisa mencakup atribut dalam satu table atau dapat juga atribut dari beberapa table. KONKURENSI Hampir semua DBMS adalah sistem multi user. Sistem seperti ini memerlukan mekanisme pengontrolan konkuren. Tujuan dari mekanisme ini adalah untuk menjamin bahwa transaksi- transaksi yang konkuren tidak saling mengganggu operasinya masing-masing. Terdapat beberapa masalah yang akan timbul dalam menjalankan transaksi transaksi yang konkuren. Tiga masalah yang umum adalah : 1. Masalah kehilangan modifikasi 2. Masalah modifikasi sementara 3. Masalah analisis yang tidak konsisten 1. Masalah Kehilangan Modifikasi • Transaksi A membaca R pada t1, transaksi B membaca R pada t2. Transaksi A memodifikasi R pada t3. • Transaksi B memodifikasi record yang sama pada t4. • Modifikasi dari transaksi A akan hilang karena transaksi B akan memodifikasi R tanpa memperhatikan modifikasi dari transaksi A pada t3. Masalah Modifikasi Sementara Masalah ini timbul jika transaksi membaca suatu record yang sudah dimodifikasi oleh transaksi lain tetapi belum terselesaikan (uncommited), terdapat kemungkinan kalau transaksi tersebut dibatalkan (rollback).
  • 102.
    102 • Transaksi Bmemodifikasi record R pada t1 • Transaksi A membaca R pada t2 • Pada saat t3 transaksi B dibatalkan • Maka transaksi A akan membaca record yang salah Pada waktu t2 transaksi A memodifikasi R • Karena transaksi B dibatalkan pada waktu t3, maka transaksi A memodifikasi record yang salah. Masalah Analisis yang Tidak Konsisten Nilai 1 = 40 Nilai 2 = 50 Nilai 3 = 30 • Transaksi A menjumlahkan nilai 1, nilai 2 dan nilai 3 • Transaksi B → nilai 1 +10 ; nilai 3 - 10 • Pada waktu t8, transaksi A membaca nilai yang salah karena nilai 3 sudah dimodifikasi menjadi 20 ( transaksi B sudah melakukan commit sebelum transaksi A membaca nilai 3 ) KONKURENSI Mekanisme pengontrol issue konkurensi Data 1. Locking Locking adalah salah satu mekanisasi pengontrol konkuren. Konsep dasar : pada saat suatu transaksi memerlukan jaminan kalau record yang diinginkan tidak akan berubah secara
  • 103.
    103 mendadak, maka diperlukankunci untuk record tersebut. Fungsi kunci (lock) adalah menjaga record tersebut agar tidak dimodifikasi transaksi lain. 2. Time Stamping Salah satu alternatif mekanisme pengawasan konkuren yang dapat menghilangkan masalah deadlock adalah TIME STAMPING. Dalam skema ini tidak ada kunci yang digunakan sehingga tidak ada deadlock yang muncul. Time stamping untuk sebuah transaksi aksi merupakan suatu tanda pengenal yang unik yang menunjuk waktu mulai relatif dari transaksi. Aplikasi Basis Data Slide 2 Aplikasi Basis Data DBMS Basis Data End-User Advanced- User Hubungan DBMS & Aplikasi BD
  • 104.
    104 Slide 3 Model hubunganDBMS & Aplikasi BD  DBMS terpisah dg aplikasi  DBMS menyatu dg aplikasi
  • 105.
    105 Slide 4  DBMSterpisah dg aplikasi  Aplikasi tidak berinteraksi lgs dg BD, tetapi melalui DBMS sbg perantara.  DBMS bisa melakukan aktifitas sendiri yg bisa ditangkap oleh aplikasi  Contoh DBMS : MS SQL Server, Oracle, IBM DB2, MySQL  Cocok untuk aplikasi multi-user, yg berat Aplikasi DBMS Basisdata Aplikasi
  • 106.
    106 Slide 5  DBMSmenyatu dg aplikasi  Aplikasi BD yg dibuat menyatu dg DBMS pd saat pemakaiannya  Aplikasi BD berada ‘di bawah’ DBMS  DBMS hrs diaktifkan dulu sgl menjalankan aplikasi  Contoh DBMS : dBase III+, FoxBase, FoxPlus, CA- Clipper, MS-Access  Cocok untuk aplikasi single-user / standalone, yg ringan DBMS | Aplikasi Basis Data DBMS | Aplikasi
  • 107.
    107 Slide 6 ARSITEKTUR DATABASE 1.TELEPROCESSING 2. STAND ALONE 3. FILE SERVER 4. CLIENT SERVER 5. DISTRIBUTED DBMS
  • 108.
    108 Slide 7 TELEPROCESSING  Arsitekturtradisional untuk sistem multi user adalah teleprocessing, dimana satu komputer dengan sebuah CPU dan sejumlah terminal seperti pada gambar di bawah ini.  Semua pemrosesan dikerjakan dalam batasan fisik komputer yang sama. Terminal untuk pemakai berjenis 'dumb', yang tidak dapat berfungsi sendiri dan masing-masing dihubungkan ke komputer pusat. Terminal- terminal tersebut mengirimkan pesan melalui subsistem pengontrol komunikasi pada sistem operasi ke program aplikasi, yang bergantian menggunakan layanan DBMS.
  • 109.
  • 110.
    110 Slide 9 TELEPROCESSING  Dengancara yang sama, pesan dikembalikan ke terminal pemakai. Arsitektur ini menempatkan beban yang besar pada komputer pusat yang tidak hanya menjalankan program aplikasi tetapi juga harus menyelesaikan sejumlah pekerjaan pada terminal seperti format data untuk tampilan di monitor. • contoh : ATM mesin di bank-bank.
  • 111.
    111 Slide 10 STAND ALONE Adalah suatu arsitektur basis data dimana program aplikasi ,basis data berada dalam satu komputer dan berdiri sendiri tidak berhubungan dengan komputer lain.
  • 112.
  • 113.
    113 Slide 12 FILE SERVER Proses didistribusikan ke dalam jaringan sejenis LAN (Local Area Network). File server mengendalikan file yang diperlukan oleh aplikasi dan DBMS. Meskipun aplikasi dan DBMS dijalankan pada masing-masing workstation tetapi tetap meminta file dari file server jika diperlukan (perhatikan gambar di halaman berikut ini).
  • 114.
  • 115.
    115 Slide 14 FILE SERVER Dengan cara ini, file server berfungsi sebagai sebuah hard disk yang digunakan secara bersamaan.  Kerugian arsitektur file-server adalah :  Terdapat lalulintas jaringan yang besar  Masing-masing workstation membutuhkan copy DBMS  Kontrol terhadap concurrency, recovery dan integrity menjadi lebih kompleks karena sejumlah DBMS mengakses file secara bersamaan
  • 116.
    116 Slide 15 CLIENT SERVER Client Server  Untuk mengatasi kelemahan arsitektur- arsitektur di atas maka dikembangkan arsitektur client-server. Client-server menunjukkan cara komponen software berinteraksi dalam bentuk sistem.
  • 117.
    117 Slide 16 CLIENT SERVER Sesuai dengan namanya, ada sebuah pemroses client yang membutuhkan sumber dan sebuah server yang menyediakan sumbernya. Tidak ada kebutuhan client dan server yang harus diletakkan pada mesin yang sama. Secara ringkas, umumnya server diletakkan pada satu sisi dalam LAN dan client pada sisi yang lain.
  • 118.
  • 119.
    119 Slide 18 CLIENT SERVER Dalam konteks database, client mengatur interface berfungsi sebagai workstation tempat menjalankan aplikasi database. Client menerima permintaan pemakai, memeriksa sintaks dan generate kebutuhan database dalam SQL atau bahasa yang lain. Kemudian meneruskan pesan ke server, menunggu response dan bentuk response untuk pemakai akhir. Server menerima dan memproses permintaan database kemudian mengembalikan hasil ke client.  Proses-proses ini melibatkan pemeriksaan autorisasi, jaminan integritas, pemeliharaan data dictionary dan mengerjakan query serta proses update. Selain itu juga menyediakan kontrol terhadap concurrency dan recovery.
  • 120.
    120 Slide 19 CLIENT SERVER Adapun beberapa keuntungan jenis arsitektur ini adalah :  Memungkinkan akses database yang besar  Menaikkan performa  Jika client dan server diletakkan pada komputer yang berbeda kemudian CPU yang berbeda dapat memproses aplikasi secara paralel.  Biaya untuk hardware pc client dapat dikurangi  Hanya server yang membutuhkan storage dan kekuatan proses yang cukup untuk menyimpan dan mengatur database  Biaya komunikasi jaringan berkurang  Aplikasi menyelesaikan bagian operasi pada client dan mengirimkan hanya bagian yang dibutuhkan untuk akses database melewati jaringan, menghasilkan data yang sedikit yang akan dikirim melewati jaringan  Meningkatkan kekonsistenan  Server dapat menangani pemeriksaan integrity sehingga batasan perlu didefinisikan dan validasi hanya di satu tempat, aplikasi program mengerjakan pemeriksaan sendiri
  • 121.
    121 Slide 20 CLIENT SERVER ClientServer Mengatur user interface Menerima dan memproses database yang diminta dari client Menerima dan memeriksa sintaks input dari pemakai Memeriksa autorisasi Memproses aplikasi Menjamin tidak terjadi pelanggaran terhadap integrity constraint Generate permintaan database dan memindahkannya ke server Melakukan query/pemrosesan update dan memindahkan response ke client Memberikan response balik kepada pemakai Menyediakan akses database secara bersamaan Menyediakan kontrol recovery
  • 122.
    122 Slide 21 CLIENT SERVER Ada beberapa jenis model client – server arsitektur yaitu :  Two Tier Arsitektur  Contoh : Aplikasi2 sistem informasi skala kecil-menengah  Three Tier Arsitektur  Contoh : Aplikasi2 berskala besar, web based
  • 123.
  • 124.
  • 125.
    125 Slide 24 DISTRIBUTED DBMS Jika pada resource sharing system dan client server system menggunakan data bus yang tercontrol maka Ddbms menggunakan data bus yang didistribusikan untuk masing – masing komputer local.
  • 126.
  • 127.
    127 Slide 26  Pertimbanganmemilih Software utk membangun aplikasi Basisdata:  Kecocokan DBMS & development tools ○ Software yg dipilih hrs menjamin tersedianya fasilitas yg dp digunakan untuk berinteraksi dg DBMS scr penuh  Dukungan development tools thd arsitektur aplikasi basisdata ○ Tdk semua development tools memberi dukungan yg baik thd arsitektur client-server  Independensi development tools & DBMS ○ Idealnya hanya ada 1 macam DBMS yg dipilih u/ mengelola Basisdata ○ Perlu kompromi saat memilih development tools yg cocok untuk semua DBMS  Kemudahan pengembangan & migrasi aplikasi Basisdata ○ Development tools yg dipilih hrs mendukung pengembangan ke masa depan, ex: web based ○ kemudahan migrasi, ex: dari form-base mjd web based
  • 128.
    128 Slide 27  Pertimbangankinerja/kecepatan operasi ke Basisdata ditentukan oleh:  DBMS  Arsitektur Hardware yg menjadi platform  Jumlah pemakai yg terlibat  Volume data yg diolah  Tingkat kompleksitas operasi Basisdata  Cara penulisan aplikasi Basisdata
  • 129.
    129 Slide 28  Pertimbangandlm penulisan aplikasi BasisData: 1. Menghindari pemakaian fungsi ato perhitungan pd query, terlebih pd kriteria query 2. Operasi join pd beberapa tabel dp digunakan untuk efisiensi perintah & banyaknya data yg hrs ditangani 3. Pd sistem multi-user dg tk konkurensi tinggi, sesegara mgk melepaskan penguncian tabel di akhir setiap query 4. Manfaatkan sebanyak mungkin fungsi yg tlh disediakan DBMS ato development tools dlm operasi Basisdata 5. Jika ada perintah looping dg penelusuran ke seluruh Basisdata pd sebuah tabel, sedapat mungkin menempatkan berbagai perintah yg tdk relevan di luar perulangan
  • 130.
    130 TOPIK TERKAIT Untuk membacatopik-topik lainnya seputar dunia pemrograman, jaringan dan keamanan, silakan merujuk ke penelitian saya lainnya (Abdilana & Gunawan, 2022; Berliana dkk., 2022; Gunawan, 2014, 2019, 2020, 2021a, 2021b, 2021c, 2021d, 2021e, 2021f, 2021g; Gunawan dkk., 2018; Gunawan & Yelmi, 2021; Huzaeni & Gunawan, 2022; Indrayana dkk., 2022; Permatasari dkk., 2018; Pratama dkk., 2022; D. C. Purnomo & Gunawan, 2022; D. Purnomo & Gunawan, 2021; Y dkk., 2022)
  • 131.
    131 PUSTAKA Abdilana, R., &Gunawan, I. I. (2022). Implementasi Metode SAW dalam Sistem Pendukung Keputusan Pemilihan Smartphone Menggunakan Scratch. JIIFKOM (Jurnal Ilmiah Informatika dan Komputer), 1(1), 35–40. Berliana, C. D., Saputra, T. A., & Gunawan, I. (2022). Analisis Serangan dan Keamanan pada Denial of Service (DOS): Sebuah Review Sistematik. JIIFKOM (Jurnal Ilmiah Informatika dan Komputer), 1(2), 33–38. Gunawan, I. (2014). I-POLINK: Indonesian Police Link Model Knowledge Management Investigasi Forensika Digital. https://doi.org/10.13140/RG.2.2.28996.32647 Gunawan, I. (2019). PEMROGRAMAN BAHASA ASSEMBLY MIKROPROSESOR 8086 (1 ed.). Guepedia. Gunawan, I. (2020). Optimasi Model Artificial Neural Network untuk Klasifikasi Paket Jaringan. SIMETRIS, 14(2), 1–5. https://doi.org/10.51901/simetris.v14i2.135 Gunawan, I. (2021a). Keamanan Data: Teori dan Implementasi (1 ed.). Jejak. Gunawan, I. (2021b). Analisis Malware Botnet Proteus Pendekatan Static dan Dinamic. SIMETRIS, 15(1), 12–17. https://doi.org/10.51901/simetris.v15i01.172 Gunawan, I. (2021c). Analisis Keamanan Data Pada Website Dengan Wireshark. JES (Jurnal Elektro Smart), 1(1), 16–19. Gunawan, I. (2021d). Analisis Keamanan Jaringan Wifi Menggunakan Wireshark. JES (Jurnal Elektro Smart), 1(1), 10–12. Gunawan, I. (2021e). Analisis Keamanan Wifi Menggunakan Wireshark. JES (Jurnal Elektro Smart), 1(1), 7–9.
  • 132.
    132 Gunawan, I. (2021f).Analisis Layer Aplikasi (Protokol HTTP) menggunakan Wireshark. JES (Jurnal Elektro Smart), 1(1), 13–15. Gunawan, I. (2021g). Analisis Keamanan Aplikasi Android Non Playstore Dengan Metode Digital Forensik Pendekatan Statis Dan Dinamis. SIMETRIS, 15(2), 29–34. https://doi.org/10.51901/simetris.v15i2.225 Gunawan, I., Afrina, & Sofrawida, C. (2018). SISTEM PENDUKUNG KEPUTUSAN PEMILIHAN KARYAWAN TERBAIK PADA LAMOIST LAYERS BATAM. JR : Jurnal Responsive Teknik Informatika, 2(02), 39–61. Gunawan, I., & Yelmi, Y. (2021). Rancang Bangun Robot Pengawas Dokumen Berbasis Raspberry Pi2 dengan Pemrograman Python. Jurnal Ilmu Komputer Dan Bisnis, 12(1), 144–149. Huzaeni, F., & Gunawan, I. I. (2022). Implementasi Metode SAW dalam Sistem Pendukung Keputusan Pemilihan Laptop Menggunakan Scratch. JIIFKOM (Jurnal Ilmiah Informatika dan Komputer), 1(1), 30–34. Indrayana, T., Warijan, W., Sutarmi, S., Purnomo, D., & Gunawan, I. (2022). Developing systems application based on android as tool for determinant stunting factors in the COVID-19 pandemic era. International Journal of Health Sciences, 6(S1), 257–268. https://doi.org/10.53730/ijhs.v6nS1.4763 Permatasari, R. D., Gunawan, I., & Syahputra, M. R. (2018). RANCANG BANGUN APLIKASI PENANGANAN BAGASI BERBASIS MOBILE WEB PADA PT SRIWIJAYA AIR. Jurnal Teknik Ibnu Sina (JT-IBSI), 3(1). https://doi.org/10.36352/jt-ibsi.v3i1.101 Pratama, T. I. M., Songida, M. D. F., & Gunawan, I. (2022). Analisis Serangan dan Keamanan pada SQL Injection: Sebuah Review Sistematik. JIIFKOM (Jurnal Ilmiah Informatika dan Komputer), 1(2), 27– 32.
  • 133.
    133 Purnomo, D. C.,& Gunawan, I. I. (2022). Penerapan Metode Simple Additive Weighting (SAW) Dalam Sistem Pemilihan Kamera Menggunakan Scratch. JIIFKOM (Jurnal Ilmiah Informatika dan Komputer), 1(1), 16–21. Purnomo, D., & Gunawan, I. (2021). Decision Support System for Determination of Scholarship Using Scratch Programming Based on SAW Method. International Journal of Business and Information Technology, 2, 72–29. https://doi.org/10.47927/ijobit.v2i2 Y, A. K., Alfaren, G., & Gunawan, I. (2022). Analisis Serangan Penetration Testing: Sebuah Review Sistematik. JIIFKOM (Jurnal Ilmiah Informatika dan Komputer), 1(2), 21–26.