Perancangan basis data
3 Diagram/Metode Entity Relationship -ER(hubungan antar entitasi) 3.1
Berisi komponen himpunan entitas dan relasi yang masing2 dilengkapi dengan atribut yg mewakili seluruh fakta dari duia nyata yg ditinjau Menggunakan jenis relasi antar tabel untuk menentukan kunci penghubungnya/penyelesaian basis datanya.
Istilah
Relationship Entitas (entity) Relasi
:keterkaitan/hubungan : satu kesatuan data tentang suatu hal/obyek/peristiwa : - 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
Simbol-simbol yang dipakai dalam metode ini
3.2.1
Model 1
Nama entitas
: simbol entitas
: simbol relasi/hubungan antar entitas
3.2.2 Model 2 Nama entitas
atribut atribut
: himpunan entitas (atau disebut entitas saja)
: atribut anggota : atribut kunci (key) : hubungan/relasi : himpunan relasi
1
3.3 [1] [2] [3] [4]
[5]
Tahapan Penyusunan Kamus Data dan pengelompokan dalam entitas (obyek/hal/persitiwa) Penentuan jenis relasi Penentuan kunci penghubung Penyusunan Diagam ER Implementasi (coding/pembuatan program)
3.3.1
Penyusunan Kamus Data dan pengelompokan dalam entitas
Misal : Database untuk penyimpanan data buku di Perpustakaan Buku Judul buku Jumlah Tahun
3.3.2
Penerbit Nama Penerbit Alamat Penerbit
Pengarang Nama Pengarang E_mail
Penentuan jenis relasi (derajad kardinalitas) dan penyelesaian relasinya
Jenis relasi atau disebut juga derajad kardinalitas pada Diagram ER ini memiliki 3 jenis [1] One to One Relationship (OOR) –Relasi satu ke Satu Disebut relasi OOR bila satu record pada entitas/tabel terkait hanya dengan satu record denhan tabel yang lain. Begitu juga sebalikya
Misal : nama
Nama Ayah
alamat
mahasiswa
1
memili ki
1
Nama Ibu
Orang tua
Alamat ortu Solusi Kedua entitas/tabel dapat DIGABUNGKAN
Pada basis data, untuk menentukan relasi bersifat PENDEKATAN, dicari kecenderungan yang paling besar Kesepadanan istilah Konsep/teori Entitas Atribut/kolom Baris (row)
4 4.1
Implementasi Tabel Field/Column Record/Row
SQL – Structured Query Language Pengertian
SQL merupakan subbahasa pemrograman yang khusus dipergunakan untuk memanipulasi basis data. SQL adalah salah satu DBMS (database management system) yang saat ini banyak digunakan untuk operasi basis data dan embedded (ditempelkan) di hampir semua bahasa pemrograman yang mendukung basis data relasional.
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 CREATE DATABASE nama_database [3] Menciptakan tabel CREATE TABLE nama_tabel(nama_field1
jenis_data1(lebar1), nama_field2
jenis_data2(lebar2),………)
lebar jumlah byte/karakter maksimal pd field tersebut [4] Mengubah field ALTER TABLE nama_tabel CHANGE field1 field2 jenis_data( lebar ) Field1 : field lama Field2: field Baru [5] Menambah field ALTER TABLE nama_tabel [6] Menghapus field
ADD nama_field
jenis_data( lebar )
ALTER TABLE nama_tabel DROP field
field nama field yg dihapus.
4.4
Data Manipulation Language
Contoh :
Contoh terdapat database: Mahasiswa Dengan tabel sbb
Pribadi
*Nomhs Nama **Kodejur Tabel : Pribadi Nomhs 210100 210090 210012 210099 210002
Nama Rina Gunawan Gani Suprapto Alexandra Nadine Rizal Samurai
Jurusan *Kodejur Namajur Ketua **Kodejur 2 1 2 3 1
Tabel : jurusan *Kodejur NamaJur 1 Sistem Informasi 2 Teknik Informatika 3 Teknik Komputer
3
Ketua Harnaningrum,S.Si EnnySela,S.Kom.,M.Kom Berta Bednar,S.Si,M.T.
4.4.1 Membaca/mengambil (dari disk/storage ke memori) isi tabel [7] Semua record semua field SELECT * FROM tabel Contoh: SELECT * FROM Pribadi Hasil : Nomhs 210100 210090 210012 210099 210002
Nama Rina Gunawan Gani Suprapto Alexandra Nadine Rizal Samurai
Kodejur 2 1 2 3 1
[8] Semua record, field tertentu SELECT field1, field2,…
FROM tabel
Contoh : SELECT nomhs,nama FROM Pribadi Hasil : Nomhs 210100 210090 210012 210099 210002
Nama Rina Gunawan Gani Suprapto Alexandra Nadine Rizal Samurai
[9] Menyaring data (filtering) Agar data yang diambil sesuai dengan kebutuhan (pada contoh diambil semua field) 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 210099
Nama Nadine
Kodejur 3
Dengan >1 kriteria/kondisi SELECT * FROM tabel
WHERE kondisi1 {AND,OR,XOR,NOT} kondisi2 ………..
{ } : opeartor logika Contoh : SELECT * FROM Pribadi WHERE nama=”Nadine” OR kodejur=”2” Hasil : Nomhs 210100 210012 210099
Nama Rina Gunawan Alexandra Nadine
Kodejur 2 2 3
4
Menyaring data dengan karakter tengah SELECT * FROM tabel
WHERE field
LIKE “%kunci%”
% : 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 210090 210012 210002
Nama Gani Suprapto Alexandra Rizal Samurai
Kodejur 1 2 1
[10] Relasi antar tabel Digunakan untuk menghubungkan antar satu tabel dengan tabel lainnya. Kedua tabel akan ber relasi bila nilai data dari kedua tabel tersebut sama SELECT * FROM tabel1,tabel2 WHERE tabel1.kunci tamu= tabel2.kunci primer Tabel1.kunci tamu dan tabel2.kunci primer dapat dibalik sesuai keadaan relasi yang sesunguhnya Contoh : SELECT * FROM Pribadi,jurusan WHERE pribadi.kodejur=jurusan.kodejur Nomhs 210100
Nama Rina Gunawan
Kodejur 2
*Kodejur 2
210090 210012
Gani Suprapto Alexandra
1 2
1 2
210099 210002
Nadine Rizal Samurai
3 1
3 1
NamaJur Teknik Informatika Sistem Informasi Teknik Informatika Sistem Informasi Sistem Informasi
Ketua EnnySela,S.Kom.,M.Kom Harnaningrum,S.Si EnnySela,S.Kom.,M.Kom Harnaningrum,S.Si Harnaningrum,S.Si
SELECT nomhs,nama,namajur FROM Pribadi,jurusan WHERE pribadi.kodejur=jurusan.kodejur
Hasil : Nomhs 210100
Nama Rina Gunawan
210090 210012
Gani Suprapto Alexandra
210099 210002
Nadine Rizal Samurai
NamaJur Teknik Informatika Sistem Informasi Teknik Informatika Sistem Informasi Sistem Informasi
SELECT nomhs,nama,namajur FROM Pribadi,jurusan WHERE pribadi.kodejur=jurusan.kodejur AND Namajur=”Teknik Informatika”
Hasil : Nomhs 210100
Nama Rina Gunawan
210012
Alexandra
NamaJur Teknik Informatika 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 210012 210090 210099 210100 210002
Nama Alexandra Gani Suprapto Nadine Rina Gunawan 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] [kondisi] dan [relasi] : bila diperlukan Contoh : SELECT COUNT(*) FROM Pribadi Hasil : COUNT(*) 5 jumlah record pada tabel pribadi SELECT ”Jumlah Mhs TI :”, COUNT(*) FROM Pribadi ,Jurusan WHERE Pribadi.kodejur=jurusan.kodejur AND namaJur=”Teknik Informatika” Hasil : Jumlah Mhs TI : 2
Menjumlah suatu field SELECT SUM(field) FROM tabel
[kondisi] [relasi]
Tabel pribadi ditambah dengan field jumsks (jumlha sks yg telah ditempuh) Tabel : Pribadi Nomhs Nama **Kodejur jumsks 210100 Rina Gunawan 2 100 210090 Gani Suprapto 1 90 210012 Alexandra 2 58 210099 Nadine 3 110 210002 Rizal Samurai 1 77 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
Mengetahui data/nilai maksimum/minimum SELECT MAX(field) FROM tabel SELECT MIN(field) FROM tabel
[kondisi] [relasi] [kondisi] [relasi]
atau
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
6
[kondisi] [relasi]
Misal Hitung UMUR rata-rata (dihitung dari tanggal lahir) SELECT AVG(current_DATE-tgl lahir)/10000 FROM tabel Tabel pribadi ditambah dengan field tgl_lahir Tabel : Pribadi Nomhs Nama **Kodejur 210100 Rina Gunawan 2 210090 Gani Suprapto 1 210012 Alexandra 2 210099 Nadine 3 210002 Rizal Samurai 1
jumsks 100 90 58 110 77
[kondisi] [relasi]
Tgl_lahir 1990-12-21 1985-10-24 1989-03-30 1998-04-35 1987-10-10
Contoh : SELECT Nama,(current_date()-tgl_lahir)/10000 as umur FROM Pribadi
Current_date() : tanggal saat ini (misal : 2007-12-12) Hasil : Nama Rina Gunawan Gani Suprapto Alexandra Nadine Rizal Samurai
Umur 17 22 18 19 20 (Umur dibulatkan )
SELECT “Umur rata-rata : “, AVG( (current_date()-tgl_lahir)/10000) 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 SELECT * FROM tabel GROUP BY field HAVING kondisi HAVING digunakan untuk filter hasil dari pengelompokkan
[13] Pengelopokkan dan summarizing Bila rekapitulasi atas dasar kelompok/ group maka perintah no [6] dan [7] harus di kombinasikan. Contoh : Menghitung jumlah mahasiswa tiap jurusan 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
[14] Multi relasi Multi relasi yaitu bila suatu tabel berrelasi dengan banyak tabel sekaligus Misal : Pribadi
*Nomhs Nama **Kodejur
Jurusan *Kodejur Namajur Ketua
7
Nilai
MataKuliah
**Nomhs **kodem k Tahun nilai
*kodemk namamk semester sks
Menampilkan daftar nilai mahasiswa
SELECT Namajur,nomhs,nama, kodemk,namamk,sks, nilai FROM Pribadi,Nilai,MataKuliah Relasi tabel Nilai dg WHERE MataKuliah Nilai.kodemk=MataKuliah.kodemk AND Nilai.nomhs=pribadi.nomhs AND Pribadi.kodejur=Jurusan.kodejur Relasi tabel
[15] Relasi dengan JOIN Contoh data di tambah :
Nilai dg Pribadi
Relasi tabel pribadi dg jurusan
Tabel : Pribadi Nomhs Nama 210100 Rina Gunawan
**Kodejur 2
*Kodejur 1
210090
Gani Suprapto
1
2
210012
Alexandra
2
3
210099
Nadine
3
4
210002 201000 200010
Rizal Samurai Gina Sani
1
Tabel : jurusan NamaJur Sistem Informasi Teknik Informatika Teknik Komputer Manajemen Informatika
Ketua Harnaningrum,S.Si EnnySela,S.Kom.,M.Kom Berta Bednar,S.Si,M.T. Ir Sudarmanto,M.T.
5
Menampilkan record dengan data berelasi SELECT * FROM tabel1 INNER JOIN tabel2 ON tabel1.kunci tamu=tabel2.kunci primer 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 Hasil :
seperti 4.4.1 [4]
Memunculkan record dengan data yang berelasi dan yang tidak berrelasi untuk tabel kiri
SELECT Nomhs,nama,namajur FROM Pribadi LEFT JOIN Jurusan ON Pribadi.kodejur=jurusan.kodejur Hasil : Nomhs 210100
Nama Rina Gunawan
210090 210012
Gani Suprapto Alexandra
210099 210002
Nadine Rizal Samurai
NamaJur Teknik Informatika Sistem Informasi Teknik Informatika Sistem Informasi Sistem Informasi
Muncul walau tidak ada relasi 8
201000 200010
Gina Sani
Null Null
Memunculkan record dengan data yang berelasi dan yang tidak berrelasi pada tabel KANAN
SELECT Nomhs,nama,namajur FROM Pribadi RIGHT JOIN Jurusan ON Pribadi.kodejur=jurusan.kodejur Hasil : Nomhs 210100 210090 210012 210099 210002 Null
Nama Rina Gunawan Gani Suprapto Alexandra Nadine Rizal Samurai Null
NamaJur Teknik Informatika Sistem Informasi Teknik Informatika Sistem Informasi Sistem Informasi Manajemen Informatika
Muncul walau tidak ada relasi
Memunculkan record dengan data yang berelasi dan yang tidak berrelasi
SELECT Nomhs,nama,namajur FROM Pribadi OUTER JOIN Jurusan ON Pribadi.kodejur=jurusan.kodejur Nomhs 210100 210090 210012 210099 210002 201000 200010 Null
5
Nama Rina Gunawan Gani Suprapto Alexandra Nadine Rizal Samurai Gina Sani Null
NamaJur Teknik Informatika Sistem Informasi Teknik Informatika Sistem Informasi Sistem Informasi Null Null Manajemen Informatika
Aplikasi (sederhana) basis data Dengan C++ Builder dan Paradox (.db)
5.1.1 1.
Database Siapkan rancangan basis data untuk di impelementasikan dengan program Database : mahasiswa Tabel : pribadi *Nomhs Nama **Kodejur **Kode_tempat Tgl_lahir
Tabel : jurusan * kodejur namajur
Tabel : kab_kota *Kode_tempat kabupaten
Rancangan diatas diimplementasikan dengan program (dengan Database Desktop-editor database/tabel): 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. iv.
Klik : Browse- ,cari dimana folder/ database berada, klik OK 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 untuk uji coba tabel dapt diisi data dengan klik ikon Edit Data
5. 5.1.2 1.
Menampilkan data membuat aplikasi/ form untuk menampilkan data a. menggunakan DBGrid untuk penampilan data ke form (layar) i. buka form baru ii. masukkan komponen DBGrid (dari tab Data Control) ke form
iii.
masukkan komponen :database, SQL,Dataset (dari tab Data Access), shg menjadi sbb
Atur property sbb Komponen Database
Query
Property Alias name : akakomyogya Database Name: akakomyogya Connected: true Login Prompt : false Name : Database1 (default)
Alias name harus sama dengan alias database dari alian manager Database name : bebas
Database name : akakomyogya Active : true SQL : SELECT * FROM PRIBADI
Digunakan untuk koneksi ke database
Untuk menuliskan printah SQL
10
DataSourse
Name : Query1 (default) Dataset: Query1 Name : DataSource1 (default)
DBGRID
Data Source : DataSource1
b.
Untuk menghubungkan ke Query dengan DBGrid Untuk menampilkan hasil query dalam bentuk tabulasi
Menggunakan QuickReport untuk printable (format sesuai cetakan via printer) i. Buka form baru ii. Tempelkan komponen Quick Rept iii. Tambahkan komponen Database,Query pada form tersebut. iv. Klik komponen QRBand dengan Property BandType : rbTitle.Letakkan di jendela QuickRep.QRBand-rbTitle ini digunakan sbg judul laporan. v. Tempatkan QR Label pada QRBand-rbTitle. vi. Klik komponen QRBand dengan Property BandType : rbColumnHeader (digunakan untuk menempatkan judul kolom).kemudian tempatkan komponen QRLabel sesuai dengan jumlah kolom yg diinginkan dan isi Caption dari Qrlabel sesuai judul kolom masing-masing. vii. Klik komponen QRBand dengan Property BandType : rbDetail (digunakan untuk menempatkan data yang berasal dari database) viii. Tempatkan Button untuk tombol Preview dan Print, kemudian isi properti seperti dibawah ini
Databas e Q uer
QRBand Band Type :rbTitle (default)
QRLab el
QRBand Band Type :rbColumn Header QRBand Band Type :rbDetail
Button QRDBText Button
QuickRep
Komponen
Property
Database
Alias name : akakomyogya Database Name: akakomyogya Connected: true Login Prompt : false Name : Database1 (default) Database name : akakomyogya SQL : SELECT nomhs,nama,namajur FROM PRIBADI,jurusan WHERE pribadi.kodejur=jurusan.kodejur Active : true Name : Query1 (default) Dataset: Query1 Name : DataSource1 (default)
Query
DataSource
Event
Data Source : DataSource1 QuickRep QRLabel1 QRLabel2 QRLabel3 QRLlabel4 QRDBText1 QRDBText2
Caption : DAFTAR MAHASISWA Caption : Nama Caption : Nomor mahasiswa Caption : Jurusan Dataset: Query1 DataField: nama Dataset: Query1 DataField: nomhs
11
keterangan Digunakan untuk koneksi ke database
Untuk menuliskan printah SQL
Untuk menghubungkan ke Query dengan DBGrid Untuk menampilkan hasil query dalam bentuk tabulasi Memberi judull aporan Memberi judul kolom Memberi judul kolom Memberi judul kolom Agar kolom diisi data dari field nama Agar kolom diisi data dari field nomhs
QRDBText3 Button1
Dataset: Query1 DataField: namajur Caption : Preview
Button2
Caption : Print
Event-OnClick TForm1::Button1Click(TObject *Sender) { QuickRep1->Preview(); } Event-OnClick TForm1::Button1Click(TObject *Sender) { QuickRep1->Preview(); } Event-OnCreate TForm1::FormCreate(TObject *Sender) { QuickRep1->Visible=false; }
Form1
Agar kolom diisi data dari field namajur Hasil tercetak di layar
Agar hasil tersetak di printer Untuk menyembunyikan format Quick Report, shg yang nampak hanya form dialog
ix. Jalankan form diatas
5.1.3
Menampilkan data dengan filtering
[16] Buat form baru [17] Tempelkan komponen : DBGrid,DBCOmboBox,Database,Query [18] Tambahkan komponen Button pada disebelah DBComboBox
[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
} [20] tulis kode pada tombol OK – onClick void __fastcall TForm1::Button1Click(TObject *Sender) { //filtering data yang tampil di Grid. Query2->Close(); Query2->SQL->Clear(); Query2->SQL->Add("SELECT nomhs,nama,jurusan FROM pribadi,jurusan "); Query2->SQL->Add("WHERE pribadi.kodejur=jurusan.kodejur and jurusan.jurusan=:jr"); Query2->ParamByName("jr")->AsString = DBComboBox1->Text; ambil nama jurusan dari ComboBox, di transfer ke variabel jr Query2->Prepare(); Query2->Open(); Eksekusi SQL //mengisi parameter di Datasource DataSource1->DataSet=Query2; Mengatur sumber data beradal dari Query2 //isi data pada dbgrid DBGrid1->DataSource=DataSource1; mengisi DBGrid dari Dataseorce
}
6
Pemasukan data interaktif 1.
Buat form baru, tempatkan komponen control : Label, Text,RadioGroup, Button dan komponen data access : Database, Query menjadi sbb.
12
2. Atur property sbb Komponen Database
Property Alias name : akakomyogya Database Name: akakomyogya Connected: true Login Prompt : false Name : Database1 (default)
Query1
Edit1
Database name : akakomyogya Active : true SQL : SELECT * FROM JURUSAN Name : Query1 (default) Database name : akakomyogya SQL : Name : Query2 (default) Name : Edit1
Edit2
Name : Edit2
Query2
Alias name harus sama dengan alias database dari alian manager Database name : bebas
Untuk menuliskan printah SQL- mengisi DBComboBox Untuk menuliskan printah SQL –merekam data Pemasukan data nomor mahasiswa Pemasukan data Nama mahasiswa Untuk memilih jenis kelami
RadoiGroup1
2.
Digunakan untuk koneksi ke database
Name : RadioGroup1 Items : Pria Wanita Column: 2 Button1 Caption: Rekam Tulis kode pada Form1-Create sbb void __fastcall TForm1::FormCreate(TObject *Sender) { 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(); }
} 3.
Tulis kode pada Button1-Click void __fastcall TForm1::Button1Click(TObject *Sender) { AnsiString kdj,sx_huruf; int sx; //cari record yang dipilih via COmboBox Query1->Close(); Query1->SQL->Clear(); Query1->SQL->Add("SELECT kodejur,jurusan FROM jurusan WHERE jurusan = :nm"); Query1->ParamByName("nm")->AsString =DBComboBox1->Text; Pilihan dari combobox untuk mencari record agar kodejur ditemukan Query1->Prepare(); Query1->Open(); kdj= Query1->FieldByName("kodejur")->AsString; transfer kidejur ke variabel //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" ; //rekam ke tabel pribadi // ingat : yang direkam ke tabel kodejur bukan nama jurusannya, dan P/W bukan pria/wanita Query2->Close(); Query2->SQL->Clear(); Query2->SQL->Add("INSERT INTO pribadi(nomhs,nama,kodejur,sex)"); Query2->SQL->Add("VALUES ( :no, :nm, :kdj1,:sx1)"); Query2->ParamByName("no")->AsString = Edit1->Text; Query2->ParamByName("nm")->AsString = Edit2->Text; Query2->ParamByName("kdj1")->AsString = kdj; Query2->ParamByName("sx1")->AsString = sx_huruf; Query2->Prepare(); Query2->ExecSQL(); }
4.
Jalankan aplikasi ini
14