Professional Documents
Culture Documents
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
perintah-perintah dibawah ini menggunakan standar MySql, karena saat ini banyak digunakan pada berbagai aplikasi
[2] Menciptakan database
Pribadi Jurusan
*Nomhs *Kodejur
Nama Namajur
**Kodejur Ketua
3
4.4.1 Membaca/mengambil (dari disk/storage ke memori) isi tabel
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
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
Menyaring data dengan karakter tengah
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
…..: jenis tabel dapat tabael tunggal maupun berrelasi
Field : kunci pengurutan
ASC : urut naik –default DSC : urut turun
Contoh:
SELECT Nomhs,Nama FROM Pribadi ORDER BY nama
5
Hasil :
Nomhs Nama
210012 Alexandra
210090 Gani Suprapto
210099 Nadine
210100 Rina Gunawan
210002 Rizal Samurai
[11] Summarizing/perhitungan/Recapitulation
Yakni untuk perhitungan baik yang bersifat statistik, penjumlahan , dan lain sebagainya
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
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
Kalkulasi
Misal Hitung UMUR (dihiutng dari tanggal lahir)
SELECT field1,field 2,…, current_DATE-tgl lahir FROM tabel [kondisi] [relasi]
6
Misal Hitung UMUR rata-rata (dihitung dari tanggal lahir)
Contoh :
SELECT Nama,(current_date()-tgl_lahir)/10000 as umur FROM Pribadi
Hasil :
Umur rata-rata : 19,2
[12] Pengelompokan
SELECT * FROM tabel GROUP BY field
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
Nama Namajur
Ketua
**Kodejur
7
Nilai
MataKuliah
**Nomhs
*kodemk
**kodem
namamk
k
semester
Tahun
sks
nilai
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
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
Null Null Manajemen relasi
Informatika
Memunculkan record dengan data yang berelasi dan yang tidak berrelasi
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 pada Public alias
9
3. Klik File-New-table, masukkan field name,type, size, shg menjadi sbb
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
10
Name : Query1 (default)
DataSourse Dataset: Query1 Untuk
Name : DataSource1 (default) menghubungkan ke
Query dengan
DBGrid
DBGRID Data Source : DataSource1 Untuk menampilkan
hasil query dalam
bentuk tabulasi
Databas QRBand
e Band Type :rbTitle
(default)
Q QRLab
uer el QRBand
Band Type :rbColumn
Header
QRBand
Band Type
:rbDetail
Button
QRDBText
Button
QuickRep
11
QRDBText3 Dataset: Query1 Agar kolom diisi data
DataField: namajur dari field namajur
Button1 Caption : Preview Event-OnClick Hasil tercetak di layar
TForm1::Button1Click(TObject *Sender)
{
QuickRep1->Preview();
}
Button2 Caption : Print Event-OnClick Agar hasil tersetak di
TForm1::Button1Click(TObject *Sender)
{ printer
QuickRep1->Preview();
}
Form1 Event-OnCreate Untuk
TForm1::FormCreate(TObject *Sender)
{ menyembunyikan
QuickRep1->Visible=false; format Quick Report,
}
shg yang nampak
hanya form dialog
[19] Isi data pada pilihan DBCOmboBox dengan data dari tabel jurusan. Ketika perintah pada FormCreate:
void __fastcall TForm1::FormCreate(TObject *Sender)
{
//untuk mengisi DBCOmboBox dengan data berasal dari tabel jurusan
//baca data dari tabel
Query1->SQL->Clear();
Query1->SQL->Add("select * from jurusan");
Query1->Open(); eksekusi untuk mengambil data dari tabel jurusan
Query1->First(); tempatkan pointer pada recored ke-1
//tempelkan ke ComboBox
while(!Query1->Eof)
{
DBComboBox1->Items->Add(Query1->FieldByName("jurusan")->AsString); Ambil data dari setiap record untuk mengisi
combobox
Query1->Next(); tempatkan pointer record berikut
}
12
2. Atur property sbb
Komponen Property
Database Alias name : akakomyogya Alias name Digunakan untuk
harus sama koneksi ke database
Database Name: akakomyogya dengan alias
Connected: true database dari
Login Prompt : false alian manager
Name : Database1 (default) Database
name : bebas
Query1 Database name : akakomyogya Untuk menuliskan
printah SQL- mengisi
Active : true DBComboBox
SQL : SELECT * FROM JURUSAN
Name : Query1 (default)
Query2 Database name : akakomyogya Untuk menuliskan
printah SQL –merekam
SQL : - data
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
13
sx_huruf="W" ;
Query2->Prepare();
Query2->ExecSQL();
}
14