8/18/2019 Modul Praktik Prokon 2
1/21
Modul Praktik
Pemrograman Komputer II Pengolahan DATABASE Berbasis MYSQL Menggunakan Bahasa
Pemrograman Microsoft Visual C++ 2010 Express
disusun oleh : TIM LABORATORIUM KOMPUTASI
PROGRAM DIPLOMA TEKNIK MESINDEPARTEMEN TEKNIK MESIN
SEKOLAH VOKASI UGM
2013
8/18/2019 Modul Praktik Prokon 2
2/21
Review Microsoft Visual C++ 2010 Express
• Membuat Project Baru
• Pilih New Project
8/18/2019 Modul Praktik Prokon 2
3/21
• Menggunakan Label,textBox,Button
private: System::Void button1_Click(System::Object^ sender,
System::EventArgs^ e) {
f loat a,b,c;
a=Convert::ToDouble(textBox1->Text);b=Convert::ToDouble(textBox2->Text);
c=a+b;
label5->Text = Convert::ToString(c);
textBox3->Text = Convert::ToString(c);
}
8/18/2019 Modul Praktik Prokon 2
4/21
• Menggunakan :
ComboBox,ListBox,GroupBox,RadioButton,CeckBox
comboBox
if (comboBox1->SelectedIndex == 0) c=a+b;
if (comboBox1->SelectedIndex == 1) c=a-b;
listBox
if (listBox1->SelectedIndex == 0) c=a+b;if (listBox1->SelectedIndex == 1) c=a-b;
radioButton
if (radioButton1->Checked) c=a+b;
if (radioButton2->Checked) c=a-b;
checkBox
if (checkBox1->Checked)
if (checkBox1->Checked)
Reset Program
• textBox1->Text="";
• label5->Text="";
• comboBox1->SelectedIndex=-1;
• listBox1->SelectedIndex=-1;
8/18/2019 Modul Praktik Prokon 2
5/21
• radioButton1->Checked=false;
•
Menggunakan MassageBox
private: virtual System::Void button1_Click(System::Object^ sender,
system::EventArgs^ e){
float a,b,c;
a=Convert::ToDouble(textBox1->Text);
if (a>0)
label4->Text = "Positif";
if (aText = "Negatif";
if (a==0)
MessageBox::Show("Input tdk boleh nol !!");
}
8/18/2019 Modul Praktik Prokon 2
6/21
Pengenalan Database
Dari Wikipedia bahasa Indonesia, ensiklopedia bebas
Rangkalan data
[1]
atau basis data (bahasa Inggris: database), atau sering puladieja basisdata, adalah kumpulaninformasi yang disimpan di
dalam komputer secara sistematik sehingga dapat diperiksa menggunakan
suatu program komputer untuk memperoleh informasi dari basis data
tersebut. Perangkat lunak yang digunakan untuk mengelola dan
memanggil kueri (query ) basis data disebut sistem manajemen basis
data (database management system, DBMS). Sistem basis data dipelajari
dalam ilmu informasi.
Istilah "basis data" berawal dari ilmu komputer. Meskipun kemudian artinya
semakin luas, memasukkan hal-hal di luar bidang elektronika, artikel ini mengenaibasis data komputer. Catatan yang mirip dengan basis data sebenarnya sudah ada
sebelum revolusi industri yaitu dalam bentuk buku besar, kuitansi dan kumpulan
data yang berhubungan dengan bisnis.
Konsep dasar dari basis data adalah kumpulan dari catatan-catatan, atau
potongan dari pengetahuan. Sebuah basis data memiliki penjelasan terstruktur
dari jenis fakta yang tersimpan di dalamnya: penjelasan ini disebut skema. Skema
menggambarkan obyek yang diwakili suatu basis data, dan hubungan di antara
obyek tersebut. Ada banyak cara untuk mengorganisasi skema, atau memodelkan
struktur basis data: ini dikenal sebagai model basis data atau model data. Model
yang umum digunakan sekarang adalah model relasional, yang menurut istilah
layman mewakili semua informasi dalam bentuk tabel-tabel yang saling
berhubungan dimana setiap tabel terdiri dari baris dan kolom (definisi yang
sebenarnya menggunakan terminologi matematika). Dalam model ini, hubungan
antar tabel diwakili denga menggunakan nilai yang sama antar tabel. Model yang
lain seperti model hierarkis dan model jaringan menggunakan cara yang lebih
eksplisit untuk mewakili hubungan antar tabel.
Istilah basis data mengacu pada koleksi dari data-data yang saling berhubungan,dan perangkat lunaknya seharusnya mengacu sebagaisistem manajemen basis
data (database management system/DBMS). Jika konteksnya sudah jelas, banyak
administrator dan programer menggunakan istilah basis data untuk kedua arti
tersebut.
http://id.wikipedia.org/wiki/Basis_data#cite_note-pangkalan_data-1http://id.wikipedia.org/wiki/Basis_data#cite_note-pangkalan_data-1http://id.wikipedia.org/wiki/Bahasa_Inggrishttp://id.wikipedia.org/wiki/Informasihttp://id.wikipedia.org/wiki/Komputerhttp://id.wikipedia.org/wiki/Program_komputerhttp://id.wikipedia.org/wiki/Perangkat_lunakhttp://id.wikipedia.org/wiki/Kuerihttp://id.wikipedia.org/wiki/Sistem_manajemen_basis_datahttp://id.wikipedia.org/wiki/Sistem_manajemen_basis_datahttp://id.wikipedia.org/wiki/Ilmu_informasihttp://id.wikipedia.org/w/index.php?title=Skema&action=edit&redlink=1http://id.wikipedia.org/w/index.php?title=Model_basis_data&action=edit&redlink=1http://id.wikipedia.org/wiki/Model_relasionalhttp://id.wikipedia.org/wiki/Model_hierarkishttp://id.wikipedia.org/wiki/Model_jaringanhttp://id.wikipedia.org/wiki/Model_jaringanhttp://id.wikipedia.org/wiki/Model_hierarkishttp://id.wikipedia.org/wiki/Model_relasionalhttp://id.wikipedia.org/w/index.php?title=Model_basis_data&action=edit&redlink=1http://id.wikipedia.org/w/index.php?title=Skema&action=edit&redlink=1http://id.wikipedia.org/wiki/Ilmu_informasihttp://id.wikipedia.org/wiki/Sistem_manajemen_basis_datahttp://id.wikipedia.org/wiki/Sistem_manajemen_basis_datahttp://id.wikipedia.org/wiki/Sistem_manajemen_basis_datahttp://id.wikipedia.org/wiki/Kuerihttp://id.wikipedia.org/wiki/Perangkat_lunakhttp://id.wikipedia.org/wiki/Program_komputerhttp://id.wikipedia.org/wiki/Komputerhttp://id.wikipedia.org/wiki/Informasihttp://id.wikipedia.org/wiki/Bahasa_Inggrishttp://id.wikipedia.org/wiki/Basis_data#cite_note-pangkalan_data-1
8/18/2019 Modul Praktik Prokon 2
7/21
Lingkungan basis data
Lingkungan basis data adalah sebuah habitat di mana terdapat basis data untuk
bisnis. Dalam lingkungan basis data, pengguna memiliki alat untuk mengakses
data. Pengguna melakukan semua tipe pekerjaan dan keperluan mereka
bervariasi seperti menggali data (data mining), memodifikasi data, atau berusaha
membuat data baru. Masih dalam lingkungan basis data, pengguna tertentu tidak
diperbolehkan mengakses data, baik secara fisik maupun logis. (Koh, 2005, dalam
Janner Simarmata & Imam Paryudi 2006: 33).
Tahapan perancangan basis data
Perancangan basis data merupakan upaya untuk membangun sebuah basis data
dalam suatu lingkungan bisnis. Untuk membangun sebuah basis data terdapat
tahapan-tahapan yang perlu kita lalui yaitu:[butuh rujukan]
1.
Perencanaan basis data
2.
Mendefinisikan sistem
3.
Analisa dan mengumpulkan kebutuhan
4.
Perancangan basis data
5.
Perancangan aplikasi6.
Membuat prototipe
7.
Implementasi
8.
Konversi data
9.
Pengujian
10.
Pemeliharaan operasional
Bahasa pada basis data
Terdapat dua jenis bahasa komputer yang digunakan saat kita ingin membangundan memanipulasi sebuah basis data, yaitu:
1.
Data Definition Language (DDL)
2.
Data Manipulation Language (DML)
http://id.wikipedia.org/wiki/Wikipedia:Kutip_sumber_tulisanhttp://id.wikipedia.org/wiki/Wikipedia:Kutip_sumber_tulisanhttp://id.wikipedia.org/wiki/Wikipedia:Kutip_sumber_tulisanhttp://id.wikipedia.org/wiki/Wikipedia:Kutip_sumber_tulisan
8/18/2019 Modul Praktik Prokon 2
8/21
Perangkat lunak basis data
Perangkat lunak basis data yang banyak digunakan dalam pemrograman dan
merupakan perangkat basis data aras tinggi (high level ):
• Microsoft SQL Server
• Oracle
• Sybase
• Interbase
• XBase
• Firebird
• MySQL
• PostgreSQL
• Microsoft Access
• dBase III
• Paradox
• FoxPro
• Visual FoxPro
• Arago
• Force
• Recital
• dbFast
• dbXL
• Quicksilver
• Clipper
• FlagShip
• Harbour
• Visual dBase
Selain perangkat lunak di atas, terdapat juga perangkat lunak pemrograman basis
data aras rendah (low level ), diantaranya:
• Btrieve
• Tsunami Record Manager
http://id.wikipedia.org/wiki/Microsoft_SQL_Serverhttp://id.wikipedia.org/wiki/Oraclehttp://id.wikipedia.org/w/index.php?title=Sybase&action=edit&redlink=1http://id.wikipedia.org/w/index.php?title=Interbase&action=edit&redlink=1http://id.wikipedia.org/w/index.php?title=XBase&action=edit&redlink=1http://id.wikipedia.org/wiki/Firebirdhttp://id.wikipedia.org/wiki/MySQLhttp://id.wikipedia.org/wiki/PostgreSQLhttp://id.wikipedia.org/wiki/Microsoft_Accesshttp://id.wikipedia.org/w/index.php?title=DBase_III&action=edit&redlink=1http://id.wikipedia.org/wiki/Paradoxhttp://id.wikipedia.org/wiki/FoxProhttp://id.wikipedia.org/wiki/Visual_FoxProhttp://id.wikipedia.org/w/index.php?title=Arago&action=edit&redlink=1http://id.wikipedia.org/w/index.php?title=Force&action=edit&redlink=1http://id.wikipedia.org/w/index.php?title=Recital&action=edit&redlink=1http://id.wikipedia.org/w/index.php?title=DbFast&action=edit&redlink=1http://id.wikipedia.org/w/index.php?title=DbXL&action=edit&redlink=1http://id.wikipedia.org/w/index.php?title=Quicksilver&action=edit&redlink=1http://id.wikipedia.org/w/index.php?title=Clipper&action=edit&redlink=1http://id.wikipedia.org/w/index.php?title=FlagShip&action=edit&redlink=1http://id.wikipedia.org/w/index.php?title=Harbour&action=edit&redlink=1http://id.wikipedia.org/w/index.php?title=Visual_dBase&action=edit&redlink=1http://id.wikipedia.org/w/index.php?title=Btrieve&action=edit&redlink=1http://id.wikipedia.org/w/index.php?title=Tsunami_Record_Manager&action=edit&redlink=1http://id.wikipedia.org/w/index.php?title=Tsunami_Record_Manager&action=edit&redlink=1http://id.wikipedia.org/w/index.php?title=Tsunami_Record_Manager&action=edit&redlink=1http://id.wikipedia.org/w/index.php?title=Btrieve&action=edit&redlink=1http://id.wikipedia.org/w/index.php?title=Visual_dBase&action=edit&redlink=1http://id.wikipedia.org/w/index.php?title=Harbour&action=edit&redlink=1http://id.wikipedia.org/w/index.php?title=FlagShip&action=edit&redlink=1http://id.wikipedia.org/w/index.php?title=Clipper&action=edit&redlink=1http://id.wikipedia.org/w/index.php?title=Quicksilver&action=edit&redlink=1http://id.wikipedia.org/w/index.php?title=DbXL&action=edit&redlink=1http://id.wikipedia.org/w/index.php?title=DbFast&action=edit&redlink=1http://id.wikipedia.org/w/index.php?title=Recital&action=edit&redlink=1http://id.wikipedia.org/w/index.php?title=Force&action=edit&redlink=1http://id.wikipedia.org/w/index.php?title=Arago&action=edit&redlink=1http://id.wikipedia.org/wiki/Visual_FoxProhttp://id.wikipedia.org/wiki/FoxProhttp://id.wikipedia.org/wiki/Paradoxhttp://id.wikipedia.org/w/index.php?title=DBase_III&action=edit&redlink=1http://id.wikipedia.org/wiki/Microsoft_Accesshttp://id.wikipedia.org/wiki/PostgreSQLhttp://id.wikipedia.org/wiki/MySQLhttp://id.wikipedia.org/wiki/Firebirdhttp://id.wikipedia.org/w/index.php?title=XBase&action=edit&redlink=1http://id.wikipedia.org/w/index.php?title=Interbase&action=edit&redlink=1http://id.wikipedia.org/w/index.php?title=Sybase&action=edit&redlink=1http://id.wikipedia.org/wiki/Oraclehttp://id.wikipedia.org/wiki/Microsoft_SQL_Server
8/18/2019 Modul Praktik Prokon 2
9/21
Membuat Database Menggunakan MySQL Server 5.5 dan MySQL
Front
1.
Membuka MySQL
2.
Membuka MySQL Front
8/18/2019 Modul Praktik Prokon 2
10/21
3.
Membuat dan Mengolah Database di MySQL
1. Untuk Melihat Data (SELECT)
SELECT * FROM tbl_sparepart
SELECT (nama) FROM tbl_sparepart
SELECT (nama,stok) FROM tbl_sparepart
SELECT * FROM tbl_sparepart order by nama
SELECT * FROM tbl_sparepart order by stokSELECT * FROM tbl_sparepart where nama like '%olie'
SELECT * FROM tbl_sparepart where id >= 5
SELECT COUNT(nama) FROM tbl_sparepart
SELECT MAX(stok) FROM tbl_sparepart
SELECT MIN(stok) FROM tbl_sparepart
SELECT AVG(stok) FROM tbl_sparepart
2. Untuk Meng-Update Data (UPDATE)
UPDATE tbl_sparepart set stok = 0 where id = ...UPDATE tbl_sparepart set nama = 'xxx' where id = ...
3. Untuk Menambah Data (INSERT)
INSERT INTO tbl_sparepart(nama,stok) values('olie curah', 500)
4. Untuk Menghapus Data (DELETE)
DELETE FROM tbl_sparepart where id = 1
8/18/2019 Modul Praktik Prokon 2
11/21
Pengolahan DATABASE Menggunakan Microsoft Visual C++ 2010
Express
1. Cara Akses Database di MySQL lewat VC++ 2010
a. Step koneksi1. Tambahkan reference ke MySql.Data ke Project Anda
2.
Tambahkan namespace MySql, yaitu : using namespace MySql::Data::MySqlClient;
8/18/2019 Modul Praktik Prokon 2
12/21
1. Test Koneksi.
System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
{String^ xxx =L"database=db_toko;datasource=localhost;port=3306;username=root;password="
;
MySqlConnection^ yyy= gcnew MySqlConnection(xxx);
MySqlCommand^ nnn = gcnew MySqlCommand("select * from tbl_sparepart",yyy);
MySqlDataReader^ myReader;
try{
yyy->Open();
myReader=nnn->ExecuteReader();
MessageBox::Show("Koneksi Sukses Bro !!!");
while(myReader->Read())
{
}
yyy->Close();
}
catch(Exception^ ex)
{MessageBox::Show(ex->Message);
}
}
8/18/2019 Modul Praktik Prokon 2
13/21
Catatan :
1. Buat string utk parameter Database
- nama_db
- alamat db
- port db- username
- passwordContoh : String^ nama_object =L"database=
db_toko;datasource=localhost;port=3306;username=root;password=" ;
String^ xxx = L"database=db_toko;datasource=localhost;port=3306;username=root;password="
;
2. Mendeklarasikan object MySqlConnectionContoh : MySqlConnection^ nama_object = gcnew
MySqlConnection(nama_variabel_berisi_parameter_db);
MySqlConnection^ yyy= gcnew MySqlConnection(xxx);
3.
Mendeklarasikan object MySqlCommandContoh : MySqlCommand^ nama_object = gcnew
MySqlCommand("perintah_sql_query",nama_object_MySqlConnection);
MySqlCommand^ nnn = gcnew MySqlCommand("select id from tbl_user",yyy);
4.
Mendeklarasikan object MySqlDataReaderContoh : MySqlDataReader^ nama_object;
MySqlDataReader^ myReader;
5.
Open KoneksiContoh : konek->Open() ;
Perintah-perintah DB harus ditampung dalam Error Exception yaitu :
try {
//perintah-perintah yg bisa dieksekusi
yyy->Open();
myReader=nnn->ExecuteReader();
MessageBox::Show("Koneksi Sukses");
{
}yyy->Close();
}
catch(Exception^ ex)
{
//error yg terjadi
MessageBox::Show(ex->Message);
}
8/18/2019 Modul Praktik Prokon 2
14/21
2. Load Data Ke ComboBox dan ListBox
private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e)
{
comboBox1->Items->Clear();
comboBox1->Text="";
String^ xxx =L"database=db_bengkel;datasource=localhost;port=3306;
username=root;password=" ;
MySqlConnection^ yyy= gcnew MySqlConnection(xxx);
MySqlCommand^ nnn = gcnew MySqlCommand("select * from tbl_service",yyy);
MySqlDataReader^ myReader;
try
{
yyy->Open();
myReader=nnn->ExecuteReader();
MessageBox::Show("Load Data Service");
while(myReader->Read())
{
comboBox1->Items->Add(myReader->GetString("jasa"));
}
yyy->Close();
}
catch(Exception^ ex)
{
MessageBox::Show(ex->Message);
}
}
8/18/2019 Modul Praktik Prokon 2
15/21
3. Ambil Data Dari ComboBox
private: System::Void comboBox1_SelectedIndexChanged(System::Object^ sender,
System::EventArgs^ e)
{
String^ xxx = L"database=db_bengkel;datasource=localhost;port=3306;
username=root;password=" ;
MySqlConnection^ yyy= gcnew MySqlConnection(xxx);
MySqlCommand^ nnn = gcnew MySqlCommand
("select * from tbl_service where jasa = '" + comboBox1->Text + "';" ,yyy);
MySqlDataReader^ myReader;
try
{
yyy->Open();
myReader=nnn->ExecuteReader();
while(myReader->Read())
{
textBox1->Text = (myReader->GetString("jasa")) ;
textBox2->Text = (myReader->GetInt32("harga").ToString()) ;
}
yyy->Close();
}
catch(Exception^ ex)
{
MessageBox::Show(ex->Message);
}
}
8/18/2019 Modul Praktik Prokon 2
16/21
4. Mencari Data
private: System::Void button6_Click(System::Object^ sender, System::EventArgs^ e)
{
String^ xxx = L"database=db_bengkel;datasource=localhost;port=3306;
username=root;password=" ;
MySqlConnection^ yyy= gcnew MySqlConnection(xxx);
MySqlCommand^ nnn = gcnew MySqlCommand
("select * from tbl_service where jasa like '%" + textBox3->Text + "%';" ,yyy);
MySqlDataReader^ myReader;
try
{
yyy->Open();
myReader=nnn->ExecuteReader();
while(myReader->Read())
{
comboBox2->Items->Add(myReader->GetString("jasa"));
}
yyy->Close();
}
catch(Exception^ ex)
{
MessageBox::Show(ex->Message);
}
}
8/18/2019 Modul Praktik Prokon 2
17/21
private: System::Void comboBox2_SelectedIndexChanged(System::Object̂ sender,
System::EventArgs^ e)
{
String^ xxx = L"database=db_bengkel;datasource=localhost;port=3306;
username=root;password=" ;
MySqlConnection^ yyy= gcnew MySqlConnection(xxx);
MySqlCommand^ nnn = gcnew MySqlCommand
("select * from tbl_service where jasa = '" + comboBox2->Text + "';" ,yyy);
MySqlDataReader^ myReader;
try
{
yyy->Open();
myReader=nnn->ExecuteReader();
while(myReader->Read())
{
kode = (myReader->GetInt32("id"));
textBox4->Text = (myReader->GetString("jasa")) ;
textBox5->Text = (myReader->GetInt32("harga").ToString()) ;
}
yyy->Close();
}
catch(Exception^ ex)
{
MessageBox::Show(ex->Message);
}
}
8/18/2019 Modul Praktik Prokon 2
18/21
5. Membuat Data Baru
private: System::Void button7_Click(System::Object^ sender, System::EventArgs^ e)
{
String^ xxx = L"database=db_bengkel;datasource=localhost;port=3306;
username=root;password=" ;
MySqlConnection^ yyy= gcnew MySqlConnection(xxx);
MySqlCommand^ nnn = gcnew MySqlCommand
("insert into tbl_service(Jasa,harga) values('" + this->textBox4->Text + "','"+ this->textBox5-
>Text +"') ; ",yyy);
MySqlDataReader^ myReader;
try
{
yyy->Open();
myReader=nnn->ExecuteReader();
MessageBox::Show("Data Disimpan");
while(myReader->Read())
{
}
yyy->Close();
}
catch(Exception^ ex)
{
MessageBox::Show(ex->Message);
}
}
8/18/2019 Modul Praktik Prokon 2
19/21
6. Update Data
private: System::Void button8_Click(System::Object^ sender, System::EventArgs^ e)
{
String^ xxx = L"database=db_bengkel;datasource=localhost;port=3306;
username=root;password=" ;
MySqlConnection^ yyy= gcnew MySqlConnection(xxx);
MySqlCommand^ nnn = gcnew MySqlCommand
("update tbl_service set Jasa ='" + this->textBox4->Text + "', harga = '"+ this->textBox5-
>Text +"' where id = " + kode + " ; ",yyy);
MySqlDataReader^ myReader;
try
{
yyy->Open();
myReader=nnn->ExecuteReader();
MessageBox::Show("Data Diupdate");
while(myReader->Read())
{
}
yyy->Close();
}
catch(Exception^ ex)
{
MessageBox::Show(ex->Message);
}
}
8/18/2019 Modul Praktik Prokon 2
20/21
7. Menghapus Dataprivate: System::Void button9_Click(System::Object^ sender, System::EventArgs^ e)
{
String^ xxx = L"database=db_bengkel;datasource=localhost;port=3306;
username=root;password=" ;
MySqlConnection^ yyy= gcnew MySqlConnection(xxx);
MySqlCommand^ nnn = gcnew MySqlCommand
("delete from tbl_service where Jasa = '" + this->textBox4->Text + "' and harga = '"+ this-
>textBox5->Text +"' ; ",yyy);
MySqlDataReader^ myReader;
try
{
yyy->Open();
myReader=nnn->ExecuteReader();
MessageBox::Show("Data Dihapus");
while(myReader->Read())
{
}
yyy->Close();
}
catch(Exception^ ex)
{
MessageBox::Show(ex->Message);
}
}
8/18/2019 Modul Praktik Prokon 2
21/21
8. Reset Tampilan
private: System::Void button4_Click(System::Object^ sender, System::EventArgs^ e)
{
comboBox1->Items->Clear();
comboBox1->Text="";
textBox1->Text="";
textBox2->Text="";
comboBox2->Items->Clear();
comboBox2->Text="";
textBox3->Text="";
textBox4->Text="";
textBox5->Text="";
}
9. Close
private: System::Void button5_Click(System::Object^ sender, System::EventArgs^ e)
{
Close();
}