Escolar Documentos
Profissional Documentos
Cultura Documentos
3.1 Istilah
Relationship :keterkaitan/hubungan
Entitas (entity) : satu kesatuan data tentang suatu hal/obyek/peristiwa
Relasi : - hubungan
- tabel
Kamus Data : atribut yang melekat pada suatu entitas
Atribut : sebutan untuk data tersebut
Kunci primer (primary key) : filed atau kumpulan field yang mengidentifikasi/mewakili record dalamsuatu tabel
Kunci tamu/asing (foreign key) : atribut/field yang menunjuk/menghubungkan ke kunci primer tabel lain.
3.2.1 Model 1
Nama
entitas : simbol entitas
3.2.2 Model 2
atribut
: atribut kunci (key)
: hubungan/relasi
: himpunan relasi
1
3.3 Tahapan
[1] Penyusunan Kamus Data dan pengelompokan dalam entitas (obyek/hal/persitiwa)
[2] Penentuan jenis relasi
[3] Penentuan kunci penghubung
[4] Penyusunan Diagam ER
[5] Implementasi (coding/pembuatan program)
Misal :
Nama Ayah Nama Ibu
nama alamat
Alamat ortu
Solusi
Kedua entitas/tabel dapat DIGABUNGKAN
Kesepadanan istilah
Konsep/teori Implementasi
Entitas Tabel
Atribut/kolom Field/Column
Baris (row) Record/Row
2
Perbedaan penggunaan SQL pada masing-masing bahasa biasanya pada sintaks2 khusus. Misalnya : INSERT INTO … VALUE. Pada bahasa
yang lain INSERT INTO …VALUES…, dll.
Bahasa yang mendukung SQL antara lain : V Basic, C++ Builder,Delphi, ORACLE, MySQL,PostGreeSQL,JAVA,dll
4.2 Kategori
SQL memiliki 3 kategori perintah
1. Data Definition Language (DDL), yakni perintah2 yang digunakan untuk mendefinisikan (menciptakan, tambah/mengubah/hapus) sturktur
data/tabel
2. Data manipulation language (DML), yakni perintah yang digunakan untuk memanipulasi database (melihat, menenusuri, filtering, summarize,
perhitungan, dll)
3. Data Control Language (DCL, digunakan untuk mengedalikan database
4.3 DDL
v perintah-perintah dibawah ini menggunakan standar MySql, karena saat ini banyak digunakan pada berbagai aplikasi
[2] Menciptakan database
Pribadi Jurusan
*Nomhs *Kodejur
Nama Namajur
Ketua
**Kodejur
3
[7] Semua record semua field
Contoh:
SELECT * FROM Pribadi
Hasil :
Nomhs Nama Kodejur
210100 Rina Gunawan 2
210090 Gani Suprapto 1
210012 Alexandra 2
210099 Nadine 3
210002 Rizal Samurai 1
Hasil :
Nomhs Nama
210100 Rina Gunawan
210090 Gani Suprapto
210012 Alexandra
210099 Nadine
210002 Rizal Samurai
v Dengan 1 kriteria/kondisi
SELECT * FROM tabel WHERE kondisi
Catatan :
Kondisi =
field [ =,>,<,>=,<=,!=] kunci
[ ] = pilih salah satu dari operator relasi
Field : nama field dimana data disaring
Kunci : nilai/data sebagai kunci penyaringan
Contoh :
SELECT * FROM Pribadi WHERE nama=”Nadine”
Hasil :
Nomhs Nama Kodejur
210099 Nadine 3
Contoh :
SELECT * FROM Pribadi WHERE nama=”Nadine” OR kodejur=”2”
Hasil :
4
% : wildcard/ diabaikan
%kunci : karakter didepan kunci diabaikan
Kunci% : karakter dibelakang kunci diabaikan
%kunci%:karakter didepan dan dibelakang kunci diabaikan
Contoh :
SELECT * FROM Pribadi WHERE nama LIKE “%ra%”
Hasil :
Nomhs Nama Kodejur
210090 Gani Suprapto 1
210012 Alexandra 2
210002 Rizal Samurai 1
Contoh :
SELECT * FROM Pribadi,jurusan WHERE pribadi.kodejur=jurusan.kodejur
Hasil :
Nomhs Nama NamaJur
210100 Rina Gunawan Teknik Informatika
210012 Alexandra Teknik Informatika
[5] Pengurutan
SELECT * FROM tabel1 .... ORDER BY field ASC/DESC
v ..: jenis tabel dapat tabael tunggal maupun berrelasi
v Field : kunci pengurutan
v ASC : urut naik default DSC : urut turun
Contoh:
SELECT Nomhs,Nama FROM Pribadi ORDER BY nama
Hasil :
Nomhs Nama
210012 Alexandra
210090 Gani Suprapto
210099 Nadine
210100 Rina Gunawan
210002 Rizal Samurai
[6] Summarizing/perhitungan/Recapitulation
Yakni untuk perhitungan baik yang bersifat statistik, penjumlahan , dan lain sebagainya
5
v Menghitung jumlah record
SELECT COUNT(*) FROM tabel [kondisi] [relasi]
Hasil :
COUNT(*)
5 ßjumlah record pada tabel pribadi
Hasil :
Jumlah Mhs TI : 2
Contoh :
SELECT SUM(jmsks) FROM Pribadi
Hasil :
i. ß hasil penjumlahan kolom jumsks
v Menghitung rata-rata
SELECT AVG(field) FROM tabel [kondisi] [relasi]
Contoh :
SELECT AVG(jmsks) FROM Pribadi
Hasil :
87 ß hasil rata-rata
Contoh :
SELECT MAX(jmsks) FROM Pribadi
Hasil :
87 ß hasil rata-rata
v Kalkulasi
Ø Misal Hitung UMUR (dihiutng dari tanggal lahir)
SELECT field1,field 2, , current_DATE-tgl lahir FROM tabel [kondisi] [relasi]
6
210099 Nadine 3 110 1998-04-35
210002 Rizal Samurai 1 77 1987-10-10
Contoh :
SELECT Nama,(current_date()-tgl_lahir)/10000 as umur FROM Pribadi
Hasil :
Umur rata-rata : 19,2
[7] Pengelompokan
SELECT * FROM tabel GROUP BY field
v Pengelompokkan dengan GROUP BY digunakan
§ Mengelompokkan atas dasar field tertentu, dan record hanya muncul 1 kali
§ Banyak digunakan untuk keperluan summarizing
SQL :
SELECT namajur,COUNT(*) FROM mhs, jurusan
WHERE mhs.kodejur=jurusan.kodejur
GROUP BY namajur à atau GROUP BY ketua
Hasil :
Namajur COUNT(*)
Teknik Informatika 2
Sistem Informasi 2
Teknik Komputer 1
Pribadi Jurusan
*Nomhs *Kodejur
Namajur
Nama Ketua
**Kodejur
Nilai MataKuliah
**Nomhs *kodemk
**kodemk namamk
Tahun semester
nilai sks
7
Menampilkan daftar nilai mahasiswa
Setara dengan
SELECT * FROM tabel1,tabel2 WHERE tabel1.kunci tamu= tabel2.kunci primer
Misal :
SELECT Nomhs,nama,namajur FROM Pribadi INNER JOIN Jurusan ON
Pribadi.kodejur=jurusan.kodejur
Memunculkan record dengan data yang berelasi dan yang tidak berrelasi untuk tabel kiri
Hasil :
Nomhs Nama NamaJur
210100 Rina Gunawan Teknik Informatika
210090 Gani Suprapto Sistem Informasi
210012 Alexandra Teknik Informatika
210099 Nadine Sistem Informasi
210002 Rizal Samurai Sistem Informasi
201000 Gina Null
200010 Sani Null
Muncul walau tidak ada
relasi
Memunculkan record dengan data yang berelasi dan yang tidak berrelasi pada tabel KANAN
Hasil :
Nomhs Nama NamaJur
210100 Rina Gunawan Teknik Informatika
210090 Gani Suprapto Sistem Informasi
210012 Alexandra Teknik Informatika
210099 Nadine Sistem Informasi
210002 Rizal Samurai Sistem Informasi Muncul walau tidak ada relasi
Null Null Manajemen Informatika
Memunculkan record dengan data yang berelasi dan yang tidak berrelasi
8
SELECT Nomhs,nama,namajur FROM Pribadi OUTER JOIN Jurusan ON
Pribadi.kodejur=jurusan.kodejur
5 Aplikasi (sederhana) basis data Dengan C++ Builder dan Paradox (.db)
5.1.1 Database
1. Siapkan rancangan basis data untuk di impelementasikan dengan program
Database : mahasiswa
2. Membuat database
a. Siapkan folder dimana tabel-tabel berada. Folder ini nantinya akan di identifikasi sebagai nama database
b. Atur alias database (untuk memberi nama lain dari database) dengan alias manager pada Database Desktop,
i. Klik Tools- Alias manager-New
ii. Isi Database Alias : akako
iii. Klik : Browse- ,cari dimana folder/ database berada, klik OK
iv. Jangan lupa beri tanda P pada Public alias
9
4. Simpan desiaj diatas dengan klik Save as – pilih Akako pada Combo Alias , kemudian ketika pribadi pada File name. akan tercipta tabel
pribadi
5. untuk uji coba tabel dapt diisi data dengan klik ikon Edit Data
Database QRBand
Band Type :rbTitle (default)
10
Quer QRLabel
y QRBand
Band Type :rbColumn Header
QRBand
Band Type :rbDetail
Button
QRDBText
Button
QuickRep
11
[14] Isi data pada pilihan DBCOmboBox dengan data dari tabel jurusan. Ketika perintah pada FormCreate:
Komponen Property
Database Alias name : akakomyogya Alias name harus Digunakan untuk koneksi ke
sama dengan alias database
Database Name: akakomyogya database dari alian
Connected: true manager
Login Prompt : false Database name :
Name : Database1 (default) bebas
12
SQL : SELECT * FROM JURUSAN
Name : Query1 (default)
Query2 Database name : akakomyogya Untuk menuliskan printah SQL
merekam data
SQL : -
Name : Query2 (default)
Edit1 Name : Edit1 Pemasukan data nomor
mahasiswa
Edit2 Name : Edit2 Pemasukan data Nama
mahasiswa
RadoiGroup1 Name : RadioGroup1 Untuk memilih jenis kelami
Items : Pria
Wanita
Column: 2
Button1 Caption: Rekam
2. Tulis kode pada Form1-Create sbb
Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add("SELECT * FROM jurusan;");
Query1->Prepare();
Query1->Open();
Query1->First();
while(!Query1->Eof)
{
DBComboBox1->Items->Add(Query1->FieldByName("jurusan")->AsString);
Query1->Next();
}
}
//ambil data radio button.Itemindex urutan pilihan dimulai dari 0,1 dst
sx=RadioGroup1->ItemIndex;
if (sx==0)
sx_huruf="P";
else
sx_huruf="W" ;
Query2->Prepare();
Query2->ExecSQL();
}
13