Pada kesempatan kali ini novi akan membahas soal latihan c# di bawah ini.. Soal ini kemarin dijadikan soal UTS di kampus novi, mari kita bahas...
==============================================================================================================================================================================================================================
SOAL
1. Buatlah database dengan nama “dbuts”, kemudian buatlah tabel dengan nama “nasabah” dengan field seperti dibawah ini :
- id” type data integer autonumber
- “nim” type data varchar panjang 15
- “nama” type data varchar panjang 100
- “jenkel” type data varchar panjang 1
- “status” type data varchar panjang 1
- “tabungan” type data integer panjang 8
- “tagihan” type data integer panjang 8
- “deposito” type data integer panjang 8
- “hutang” type data integer panjang 8
- “total” type data integer panjang 8
- “keterangan” type data varchar panjang 50
2. Buatlah project pada visual studio 2010 dengan nama project menggunakan “nim” masing-masing mahasiswa. Dengan ketentuan sebagai berikut :
- Buatlah program menggunakan bahasa C#
- Buatlah modul untuk koneksi kedatabase
- Buatlah menu utama seperti gambar dibawah ini
- Apabila menu “NASABAH” di pilih maka akan muncul form seperti gambar dibawah ini
- Apabila button simpan di pilihmaka akan menyimpan data kedatabase sesuai data yang diisikan dan menampilkan pesan “BERHASIL MENYIMPAN DATA” jika tidak “GAGAL MENYIMPAN DATA”
- Apabila data nim diisi dan ditekan “ENTER” jika ada data maka akan menampilkan data dan jika tidak ada data makan cursor akan mengarah ke text nama.
- Jika jenis kelamin yang dipilih “LAKI-LAKI” maka data yang disimpan adalah “L”, dan jika jenis kelamin yang dipilih adalah “PEREMPUAN” maka data yang disimpan adalah “P”
- Jika status yang dipilih “BEASISWA” maka data yang disimpan adalah “1”, dan jika status yang dipilih “NON BEASISWA” maka data yang disimpan adalah “2”
- Pada text Total uang = Uang Tabungan + 50% Uang Tagihan + Uang Deposito – Uang Hutang
- Pada text Keterangan berisi informasi dengan ketentuan :
- Jika Total Uang < 100jt, maka “Kredit Rumah”
- Jika Total Uang <=150jt, maka “Beli Tanah”
- Jika Total Uang > 150jt, maka “Beli Mobil”
==============================================================================================================================================================================================================================
JAWABAN
STRUKTUR DATABASE NYA...
==========================================================================
CLASS Koneksi.CS
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MySql.Data.MySqlClient; //Menggunakan Reference MySQL Connector [tutorial]
using System.Windows.Forms;
namespace _41814010070
{
class Koneksi
{
public static MySqlConnection getConnection()A
{
MySqlConnection conn = new MySqlConnection("server=localhost; user=root; password=; database=dbuts;");
try
{
conn.Open();
Console.WriteLine("database ok");
}
catch (MySqlException e)
{
MessageBox.Show("error :" + e.Message);
}
return conn;
}
public static void Close()
{
if (getConnection() != null)
{
getConnection().Close();
}
}
}
}
==========================================================================
FORM MENU UTAMA
Design Form nya...
MenuUtama.cs[design]
Kode Program nya...
MenuUtama.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace _41814010070
{
public partial class MenuUtama : Form
{
public MenuUtama()
{
InitializeComponent();
}
private void nASABAHToolStripMenuItem_Click(object sender, EventArgs e)
{
FormNasabah frm = new FormNasabah();
frm.MdiParent = this;
frm.Show();
}
}
}
==========================================================================
FORM NASABAH
Design Form nya..
FormNasabah.cs[design]
FormNasabah.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
namespace _41814010070
{
public partial class FormNasabah : Form
{
public FormNasabah()
{
InitializeComponent();
}
private void tNIM_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
try
{
//QUERY SELECT DAN EXECUTION SQL NYA - NOVI IRNAWATI 41814010070
string query = "select * from nasabah Where nim = '" + tNIM.Text + "'";
MySqlDataReader reader = null;
MySqlCommand command = new MySqlCommand(query, Koneksi.getConnection());
reader = command.ExecuteReader();
//READER DATA DARI SQL KE FORM - NOVI IRNAWATI 41814010070
while (reader.Read())
{
tNIM.Text = reader["nim"].ToString();
tNAMA.Text = reader["nama"].ToString();
String jenkel = reader["jenkel"].ToString();
if (jenkel == "L")
{ rbLAKI.Checked = true; }
else if (jenkel == "P")
{ rbPEREMPUAN.Checked = true; }
String status = reader["status"].ToString();
if (status.Contains("1") == true)
{
cbSTATUS.SelectedIndex = 0;
}
if (status.Contains("2") == true)
{
cbSTATUS.SelectedIndex = 1;
}
tTABUNGAN.Text = reader["tabungan"].ToString();
tTAGIHAN.Text = reader["tagihan"].ToString();
tDEPOSITO.Text = reader["deposito"].ToString();
tHUTANG.Text = reader["hutang"].ToString();
tTOTAL.Text = reader["total"].ToString();
tKETERANGAN.Text = reader["keterangan"].ToString();
}
Koneksi.Close();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
tNAMA.Focus();
}
}
else
{
//DO NOTHING - NOVI IRNAWATI 41814010070
}
}
private void bSIMPAN_Click(object sender, EventArgs e)
{
//CEK KOLOM YANG MASIH KOSONG - NOVI IRNAWATI 41814010070
if (tNAMA.Text == "" || tNIM.Text == "" || ((rbLAKI.Checked == false) && (rbPEREMPUAN.Checked == false)) || cbSTATUS.Text == "")
{
MessageBox.Show(" HARAP ISI KOLOM YANG MASIH KOSONG");
}
else
{
//AMBIL NAMA NIM DARI TEXT BOX - NOVI IRNAWATI 41814010070
String nama = tNAMA.Text;
String nim = tNIM.Text;
//AMBIL ISI RADIO BUTTON - NOVI IRNAWATI 41814010070
String jenkel = "";
if (rbLAKI.Checked == true) { jenkel = "L"; }
else if (rbPEREMPUAN.Checked == true) { jenkel = "P"; }
else { jenkel = "-"; }
//AMBIL ISI COMBO BOX - NOVI IRNAWATI 41814010070
String status = "";
if (cbSTATUS.Text.Equals("BEASISWA")) { status = "1"; }
else if (cbSTATUS.Text.Equals("NON-BEASISWA")) { status = "2"; }
else { status = ""; }
//SUPAYA TEXT BOX HITUNGAN TIDAK NULL - NOVI IRNAWATI 41007081401
if (tTABUNGAN.Text == "") { tTABUNGAN.Text = "0"; }
if (tTAGIHAN.Text == "") { tTAGIHAN.Text = "0"; }
if (tDEPOSITO.Text == "") { tDEPOSITO.Text = "0"; }
if (tHUTANG.Text == "") { tHUTANG.Text = "0"; }
//HITUNG TOTAL - NOVI IRNAWATI 41814010070
int tabungan = int.Parse(tTABUNGAN.Text);
int tagihan = int.Parse(tTAGIHAN.Text);
int deposito = int.Parse(tDEPOSITO.Text);
int hutang = int.Parse(tHUTANG.Text);
int total = tabungan + (tagihan / 2) + deposito - hutang;
tTOTAL.Text = total.ToString();
//KONDISI UNTUK KETERANGAN - NOVI IRNAWATI 41814010070
String keterangan = "";
if (total < 100000000) { keterangan = "Kredit Rumah"; }
else if (total <= 150000000) { keterangan = "Beli Tanah"; }
else if (total > 150000000) { keterangan = "Beli Mobil"; }
tKETERANGAN.Text = keterangan;
//SQL QUERY DAN EXECUTION - NOVI IRNAWATI 41814010070
String sql = "INSERT INTO nasabah (nim, nama, jenkel, status, tabungan, tagihan, deposito, hutang, total, keterangan) VALUES (@nim, @nama, @jenkel, @status, @tabungan, @tagihan, @deposito, @hutang, @total, @keterangan)";
MySqlCommand command = new MySqlCommand(sql, Koneksi.getConnection());
command.Parameters.AddWithValue("@nim", nim);
command.Parameters.AddWithValue("@nama", nama);
command.Parameters.AddWithValue("@jenkel", jenkel);
command.Parameters.AddWithValue("@status", status);
command.Parameters.AddWithValue("@tabungan", tabungan);
command.Parameters.AddWithValue("@tagihan", tagihan);
command.Parameters.AddWithValue("@deposito", deposito);
command.Parameters.AddWithValue("@hutang", hutang);
command.Parameters.AddWithValue("@total", total);
command.Parameters.AddWithValue("@keterangan", keterangan);
int d = command.ExecuteNonQuery();
if (d > 0)
{
Koneksi.Close();
MessageBox.Show("BERHASIL INSERT DATA\n\nNAMA = " + nama + "\nNIM = " + nim + "\nJENIS KELAMIN = " + jenkel + "\nSTATUS = " + status + "\nTABUNGAN = " + tabungan + "\nTAGIHAN = " + tagihan + "\nDEPOSITO = " + deposito + "\nHUTANG = " + hutang + "\nTOTAL = " + total + "\nKETERANGAN = " + keterangan);
}
else
{
MessageBox.Show("GAGAL INSERT DATA");
}
}
}
private void bUBAH_Click(object sender, EventArgs e)
{
//CEK KOLOM YANG MASIH KOSONG - NOVI IRNAWATI 41814010070
if (tNAMA.Text == "" || tNIM.Text == "" || ((rbLAKI.Checked == false) && (rbPEREMPUAN.Checked == false)) || cbSTATUS.Text == "")
{
MessageBox.Show(" HARAP ISI KOLOM YANG MASIH KOSONG");
}
else
{
//AMBIL NAMA NIM DARI TEXT BOX - NOVI IRNAWATI 41814010070
String nama = tNAMA.Text;
String nim = tNIM.Text;
//AMBIL ISI RADIO BUTTON - NOVI IRNAWATI 41814010070
String jenkel = "";
if (rbLAKI.Checked == true) { jenkel = "L"; }
else if (rbPEREMPUAN.Checked == true) { jenkel = "P"; }
else { jenkel = "-"; }
//AMBIL ISI COMBO BOX - NOVI IRNAWATI 41814010070
String status = "";
if (cbSTATUS.Text.Equals("BEASISWA")) { status = "1"; }
else if (cbSTATUS.Text.Equals("NON-BEASISWA")) { status = "2"; }
else { status = ""; }
//SUPAYA TEXT BOX HITUNGAN TIDAK NULL - NOVI IRNAWATI 41007081401
if (tTABUNGAN.Text == "") { tTABUNGAN.Text = "0"; }
if (tTAGIHAN.Text == "") { tTAGIHAN.Text = "0"; }
if (tDEPOSITO.Text == "") { tDEPOSITO.Text = "0"; }
if (tHUTANG.Text == "") { tHUTANG.Text = "0"; }
//HITUNG TOTAL - NOVI IRNAWATI 41814010070
int tabungan = int.Parse(tTABUNGAN.Text);
int tagihan = int.Parse(tTAGIHAN.Text);
int deposito = int.Parse(tDEPOSITO.Text);
int hutang = int.Parse(tHUTANG.Text);
int total = tabungan + (tagihan / 2) + deposito - hutang;
tTOTAL.Text = total.ToString();
//KONDISI UNTUK KETERANGAN - NOVI IRNAWATI 41814010070
String keterangan = "";
if (total < 100000000) { keterangan = "Kredit Rumah"; }
else if (total <= 150000000) { keterangan = "Beli Tanah"; }
else if (total > 150000000) { keterangan = "Beli Mobil"; }
tKETERANGAN.Text = keterangan;
//SQL QUERY UPDATE DATA DAN EXECUTION - NOVI IRNAWATI 41814010070
String sqlupdate = "UPDATE nasabah SET nim = @nim, nama =@nama , jenkel = @jenkel, status = @status, tabungan = @tabungan, tagihan = @tagihan, deposito = @deposito, hutang = @hutang, total =@total, keterangan = @keterangan WHERE nim = '" + tNIM.Text + "'";
MySqlCommand update = new MySqlCommand(sqlupdate, Koneksi.getConnection());
update.Parameters.AddWithValue("@nim", nim);
update.Parameters.AddWithValue("@nama", nama);
update.Parameters.AddWithValue("@jenkel", jenkel);
update.Parameters.AddWithValue("@status", status);
update.Parameters.AddWithValue("@tabungan", tabungan);
update.Parameters.AddWithValue("@tagihan", tagihan);
update.Parameters.AddWithValue("@deposito", deposito);
update.Parameters.AddWithValue("@hutang", hutang);
update.Parameters.AddWithValue("@total", total);
update.Parameters.AddWithValue("@keterangan", keterangan);
int d = update.ExecuteNonQuery();
if (d > 0)
{
Koneksi.Close();
MessageBox.Show("BERHASIL UPDATE DATA\n\nNAMA = " + nama + "\nNIM = " + nim + "\nJENIS KELAMIN = " + jenkel + "\nSTATUS = " + status + "\nTABUNGAN = " + tabungan + "\nTAGIHAN = " + tagihan + "\nDEPOSITO = " + deposito + "\nHUTANG = " + hutang + "\nTOTAL = " + total + "\nKETERANGAN = " + keterangan);
}
else
{
MessageBox.Show("GAGAL UPDATE DATA");
}
}
}
private void bHAPUS_Click(object sender, EventArgs e)
{
//QUERY HAPUS DATA DAN EKSEKUSINYA - 41814010070 NOVI IRNAWATI
string sqldelete = "DELETE FROM nasabah WHERE nim = '" + tNIM.Text + "'";
MySqlCommand hapus = new MySqlCommand(sqldelete, Koneksi.getConnection());
hapus.ExecuteNonQuery();
try
{
hapus.ExecuteNonQuery();
tNAMA.Text = "";
tNIM.Text = "";
rbLAKI.Checked = false;
rbPEREMPUAN.Checked = false;
cbSTATUS.SelectedIndex = -1;
cbSTATUS.Text = "";
tTABUNGAN.Text = "";
tTAGIHAN.Text = "";
tDEPOSITO.Text = "";
tHUTANG.Text = "";
tTOTAL.Text = "";
tKETERANGAN.Text = "";
MessageBox.Show("BERHASIL HAPUS DATA");
}
catch (MySqlException ex)
{
MessageBox.Show("GAGAL HAPUS DATA\n\n ERROR : " + ex.Message);
tNAMA.Text = "";
tNIM.Text = "";
rbLAKI.Checked = false;
rbPEREMPUAN.Checked = false;
cbSTATUS.SelectedIndex = -1;
cbSTATUS.Text = "";
tTABUNGAN.Text = "";
tTAGIHAN.Text = "";
tDEPOSITO.Text = "";
tHUTANG.Text = "";
tTOTAL.Text = "";
tKETERANGAN.Text = "";
}
}
private void bBERSIH_Click(object sender, EventArgs e)
{
// SUPAYA TAMPILAN DAN INPUT KOSONG SEPERTI SAAT INISIALISASI - 41814010070 NOVI IRNAWATI
tNAMA.Text = "";
tNIM.Text = "";
rbLAKI.Checked = false;
rbPEREMPUAN.Checked = false;
cbSTATUS.SelectedIndex = -1;
cbSTATUS.Text = "";
tTABUNGAN.Text = "";
tTAGIHAN.Text = "";
tDEPOSITO.Text = "";
tHUTANG.Text = "";
tTOTAL.Text = "";
tKETERANGAN.Text = "";
}
private void bKELUAR_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
Tidak ada komentar:
Posting Komentar