• Tidak ada hasil yang ditemukan

Program Data Pelanggan Toko Bandung Fashion

N/A
N/A
Protected

Academic year: 2021

Membagikan "Program Data Pelanggan Toko Bandung Fashion"

Copied!
33
0
0

Teks penuh

(1)

1

Program Data Pelanggan

Toko Bandung Fashion

Dokumen ini dibuat sebagai tugas perkuliahan Pemrograman Berbasis Java

Disusun oleh: Nama : Rudi Kurniawan

NIM : 13111003 Kelas : 22

Fakultas Teknologi Informasi

Universitas Mercubuana Yogyakarta

(2)

2

Daftar Isi

Halaman Judul ... 1 Daftar Isi ... 2 Bab I ... 3 Bab II ... 4 Bab III ... 5 Bab IV ... 9 Bab V ... 12 Lampiran ... 8

(3)

3

Bab I

Pendahuluan

Latar Belakang Masalah

Dewasa ini, berpakaian tidak hanya sebagai penutup aurat, atau sekedar melindungi badan dari lingungan. Akan tetapi peran pakaian bertambah menjadi lebih dari sekedar berbusana. Perkembangan dunia, diikuti dengan

perkambangan trend atau mode pakaian. Beberapa orang berlomba-lomba untuk tampil fashionable, mengikuti perkembangan fashion yang ada.

Sehingga banyak toko/distro, penyedia kebutuhan sandang, berlomba-lomba menarik pembeli. Banyak pula metode yang digunakan untuk menarik pembeli supaya jadi pelanggan tetap,. Diantaranya memberi diskon pada pelangan tetap atau member.

Untuk itulah, perlu dibuat suatu sistem yang mampu menangani data pelanggan seperti pada program berikut.

Alasan Pemilihan Judul

Penulis perlu membuat program ini karena bebrapa alasan, yaitu:

1. Adanya tuntutan dari pasar, agar Toko Bandung tetap bisa bersaing 2. Perlunya Toko Bandung mengikat pelanggannya, supaya tidak lari ke toko

lain

(4)

4

Bab II

Database

Rancangan Tabel

Tabel yang digunakan dalam program ini hanya ada satu tabel. Yaitu tabel yang menyimpan data pelanggan. Penulis memberi nama t_plg

Relasi Database

(5)

5

Bab III

JDBC

Tabel 1

Input Data Pelanggan

Input data pelanggan disimpan dalam database “java”, dalam tabel “t_plg”

(6)

6

Search

Data yang dicari menggunakan “code” sebagai string pencari

Update

Data yang sudah dicari, kemudian bisa diambil dua aksi, yaitu hapus, dan update untuk memperbaharui data.

(7)

7

Data yang sudah diubah, di database pun juga berubah, yaitu alamat Magelang menjadi Jogja, kelas keanggotaan dari Premium menjadi Gold.

Delete

Digunakan untuk menghapus data yang tidak diinginkan, atau terjadi kesalahan input.

(8)

8

View

(9)

9

Bab IV

Menu

Menu

Menu Program Data Pelanggan mempunyai sub_Menu: File :

File Pelanggan :

Exit : Untuk keluar dari menu Data :

Input Pelanggan : Menampilpak form untuk input data pelanggan

Cari Data Pelanggan : Mencari data pelanggan berdasarkan “code” yang dimoliki setiap pelanggan.  View Data Pelanggan : Menampilkan tabel yang berisi

data pelanggan About

(10)

10

Integrasi Menu

Tampilan Menu Utama

(11)

11

Sub Menu Update Data Pelanggan, sekalian untuk menghapus data

(12)

12

Bab V

Penutup

Kesimpulan

Pemrograman menggunakan bahasa Java, memiliki lebih banyak library yang juga memiliki banyak pilihan sesuai kebutuhan program. Lebih bisa mengikuti pemrogrman menggunakan Java dari pada PHP

Kesulitan

Kesulitan yang dihadapi adalah syntax yang muter-muter, dan

banyaknya library.

(13)

13

Lampiran

1. Program untuk koneksi ke DB “konekdb.java”

import java.sql.*; class konekdb

{

String url, usr, pwd, dbn; public konekdb() { dbn ="java"; url ="jdbc:mysql://localhost/"+dbn; usr ="root"; pwd ="real6"; }

public Connection getConnection() { Connection con = null;

try { Class.forName("com.mysql.jdbc.Driver"); con = DriverManager.getConnection(url,usr,pwd); System.out.println("OK, DB Found"); } catch (ClassNotFoundException e) {

System.out.println("driver tak ketemu"+e+"\n"); }

catch (SQLException e){

(14)

14 }

return con; }

public static void main (String [] args){ konekdb mysql = new konekdb(); mysql.getConnection();

} }

2. Program utama “menu.java”

/* Nama : Rudi Kurniawan * NIM : 13111003

*/

import javax.swing.*; import java.awt.event.*; class menu extends JFrame {

JMenuBar pmenu=new JMenuBar(); JMenu fl=new JMenu("File");

JMenu setup = new JMenu ("Setup");

JMenuItem tbl_plg=new JMenuItem("Tabel Pelanggan"); JMenuItem exit=new JMenuItem("Exit");

JMenu dt=new JMenu("Data");

JMenuItem input_plg=new JMenuItem("Input Pelanggan");

(15)

15

JMenuItem view_plg=new JMenuItem("View Pelanggan"); JMenu abt=new JMenu("About");

JMenuItem ket=new JMenuItem("About Us"); void gui() { setJMenuBar(pmenu); pmenu.add(fl); fl.add(setup); setup.add(tbl_plg); fl.add(exit); pmenu.add(dt); dt.add(input_plg); dt.add(update_plg); dt.add(view_plg); pmenu.add(abt); abt.add(ket); setVisible(true); } menu() {

setTitle("Program Data Pelanggan"); setLocation(300,75); setSize(500,400); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); } void aksi() {

(16)

16

exit.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) { System.exit(0); } }); input_plg.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

inpt_plg hedler=new inpt_plg(); hedler.data(); hedler.tombol(); } }); update_plg.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

upd_plg hedler=new upd_plg(); hedler.data();

hedler.tombol(); }

});

(17)

17 {

public void actionPerformed(ActionEvent e) {

view_data hedler = new view_data(); hedler.tampil();

} });

ket.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

JOptionPane.showMessageDialog(null,

"<html>Tugas Pemrormana Java by Rudi Kurniawan <br/>NIM &nbsp;&nbsp;&nbsp; : 13111003 <br/>Nama : Rudi Kurniawan</html>",

"Informasi",

JOptionPane.INFORMATION_MESSAGE); }

}); }

public static void main(String[] args) {

menu evi=new menu(); evi.gui();

evi.aksi(); }

(18)

18

3. Program untuk input data “inpt_plg.java”

/* Nama : Rudi Kurniawan * NIM : 13111003 */ import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.io.*; import java.sql.*;

class inpt_plg extends JFrame {

JLabel nim1= new JLabel("Code"); JTextField nim2= new JTextField(20); JLabel nama1=new JLabel("Name"); JTextField nama2= new JTextField(20); JLabel adrs1=new JLabel("Adress"); JTextField adrs2= new JTextField(20); JLabel gender=new JLabel("Gender");

JRadioButton gender1=new JRadioButton("Male"); JRadioButton gender2=new JRadioButton("Female"); ButtonGroup groupGender = new ButtonGroup(); JLabel clas1= new JLabel("");

String[] clas2={"Silver", "Premium", "Gold"}; JComboBox clas3 = new JComboBox(clas2);

(19)

19 JButton sv =new JButton("Save"); JButton ex =new JButton("Exit"); inpt_plg () //Frame

{

setTitle("Input Data Pelanggan"); setLocation(200,100); setSize(400,250); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); } void data() { getContentPane().setLayout(null); //Code getContentPane().add(nim1);nim1.setBounds(10,10,40,20); getContentPane().add(nim2);nim2.setBounds(70,10,100,20); //Nama getContentPane().add(nama1);nama1.setBounds(10,40,70,20); getContentPane().add(nama2);nama2.setBounds(70,40,100,20); //address getContentPane().add(adrs1);adrs1.setBounds(10,70,70,20); getContentPane().add(adrs2);adrs2.setBounds(70,70,100,20); //gender getContentPane().add(gender); gender.setBounds(10,100,100,20); getContentPane().add(gender1); gender1.setBounds(70,100,100,20); getContentPane().add(gender2); gender2.setBounds(150,100,100,20); groupGender.add(gender1); groupGender.add(gender2);

(20)

20 //class getContentPane().add(clas1); clas1.setBounds(10,130,100,20); getContentPane().add(clas3); clas3.setBounds(70,130,100,20); //button getContentPane().add(sv); sv.setBounds(50, 170, 80, 20); getContentPane().add(ex); ex.setBounds(250, 170, 80, 20); setVisible(true); } void tombol() { sv.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

String code, nama, alamat, jns_kelamin, kelas; code = nim2.getText(); nama = nama2.getText(); alamat = adrs2.getText(); if (gender1.isSelected()==true) { jns_kelamin=gender1.getText(); } else { jns_kelamin=gender2.getText(); }

(21)

21 kelas = (String)

clas3.getSelectedItem();

//input data

konekdb open = new konekdb ();

Connection mysql = open.getConnection(); try

{

Statement stmt = mysql.createStatement();

String sql = "INSERT INTO t_plg (code,nama,alamat,jns_kelamin,kelas) VALUES ('"+code+"','"+nama+"','"+alamat+"','"+jns_kelamin+"','"+kelas+"');"; int i = stmt.executeUpdate(sql); //int i=1; if (i == 1) {

JOptionPane.showMessageDialog(null, "Data berhasil disimpan");

} }

catch (Exception ex) {

JOptionPane.showMessageDialog(null, ex.getMessage()); ex.printStackTrace();

(22)

22 } } }); //exit ex.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

if (JOptionPane.showConfirmDialog( null, "Yakin akan keluar?","Yakin",

JOptionPane.OK_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE) == JOptionPane.OK_OPTION) { System.exit(0); } } } ); }

public static void main (String args[]) {

inpt_plg ev = new inpt_plg(); ev.data();

ev.tombol(); }

(23)

23

4. Program untuk search data pelanggan “upd_plg.java”

/* Nama : Rudi Kurniawan * NIM : 13111003 */ import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.io.*; import java.sql.*;

class upd_plg extends JFrame {

upd_plg () //Frame {

setTitle("Update Data Pelanggan"); setLocation(200,100);

setSize(400,250);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true);

}

JLabel nim1= new JLabel("Code"); JTextField nim2= new JTextField(20); JLabel nama1=new JLabel("Nama"); JTextField nama2= new JTextField(20); JLabel adrs1=new JLabel("Adress"); JTextField adrs2= new JTextField(20);

(24)

24

JLabel gender=new JLabel("Gender");

JRadioButton gender1=new JRadioButton("Male"); JRadioButton gender2=new JRadioButton("Female"); ButtonGroup groupGender = new ButtonGroup(); JLabel clas1= new JLabel("Class");

String[] clas2={"Silver", "Premium", "Gold"}; JComboBox clas3 = new JComboBox(clas2); JButton sr =new JButton("Search");

JButton upd =new JButton("Update"); JButton del =new JButton("Delete"); JButton ex =new JButton("Exit"); void data() { getContentPane().setLayout(null); //NIM getContentPane().add(nim1);nim1.setBounds(10,10,40,20); getContentPane().add(nim2);nim2.setBounds(70,10,100,20); //Nama getContentPane().add(nama1);nama1.setBounds(10,40,70,20); getContentPane().add(nama2);nama2.setBounds(70,40,100,20); //address getContentPane().add(adrs1);adrs1.setBounds(10,70,70,20); getContentPane().add(adrs2);adrs2.setBounds(70,70,100,20); //gender getContentPane().add(gender); gender.setBounds(10,100,100,20); getContentPane().add(gender1); gender1.setBounds(70,100,100,20); getContentPane().add(gender2); gender2.setBounds(150,100,100,20); groupGender.add(gender1);

(25)

25 groupGender.add(gender2); //class getContentPane().add(clas1); clas1.setBounds(10,130,100,20); getContentPane().add(clas3); clas3.setBounds(70,130,100,20); //button getContentPane().add(sr); sr.setBounds(300, 10, 80, 20); getContentPane().add(del); del.setBounds(300, 50, 80, 20); getContentPane().add(upd); upd.setBounds(50, 170, 80, 20); getContentPane().add(ex); ex.setBounds(250, 170, 80, 20); setVisible(true); } void tombol() { sr.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

String cari;

String code, nama, alamat, jns_kelamin, kelas; konekdb open = new konekdb ();

Connection mysql = open.getConnection(); try

{

cari= nim2.getText();

(26)

26

String query_search = "SELECT * FROM t_plg WHERE code like '"+cari+"'";

ResultSet i = stmt.executeQuery (query_search); if (i.next()) { nim2.setText(i.getString(1)); nama2.setText(i.getString(2)); adrs2.setText(i.getString(3)); jns_kelamin = i.getString(4); if (jns_kelamin.equals("Male")) { gender1.setSelected(true); } else { gender2.setSelected(true); } clas3.setSelectedItem(i.getString(5)); } else {

JOptionPane.showMessageDialog(null, "Data yang anda masukan salah");

} }

catch (Exception ex) {

(27)

27 } } } ); del.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

String code, nama, alamat, jns_kelamin, kelas; code=nim2.getText(); nama= nama2.getText(); alamat=adrs2.getText(); if (gender1.isSelected()==true) { jns_kelamin=gender1.getText(); } else { jns_kelamin=gender2.getText(); } kelas=(String) clas3.getSelectedItem(); konekdb open =new konekdb();

(28)

28 try

{

Statement stmt = mysql.createStatement();

String query_del="DELETE FROM t_plg WHERE code='"+code+"'"; int i = stmt.executeUpdate(query_del); if (i==1) { JOptionPane.showMessageDialog(null, "Data berhasil dihapus"); } }

catch (Exception ex) { JOptionPane.showMessageDialog(null, ex.getMessage()); } } } ); upd.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

String code, nama, alamat, jns_kelamin, kelas; code = nim2.getText();

nama = nama2.getText(); alamat = adrs2.getText();

(29)

29 if (gender1.isSelected()==true) { jns_kelamin=gender1.getText(); } else { jns_kelamin=gender2.getText(); } kelas = (String) clas3.getSelectedItem(); konekdb open = new konekdb ();

Connection mysql = open.getConnection(); try

{

Statement stmt = mysql.createStatement();

String query_update = "UPDATE t_plg SET nama='"+nama +"',alamat='"+alamat+"', jns_kelamin='"+jns_kelamin

+"',kelas='"+kelas+"' WHERE code='"+code+"'"; int i = stmt.executeUpdate (query_update); if (i==1)

{

JOptionPane.showMessageDialog(null, "Update data berhasil");

} }

(30)

30 catch (Exception ex) { JOptionPane.showMessageDialog(null, ex.getMessage()); } } } ); ex.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

if (JOptionPane.showConfirmDialog( null, "Yakin akan keluar?","Yakin",

JOptionPane.OK_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE) == JOptionPane.OK_OPTION) { System.exit(0); } } } ); }

public static void main (String args[]) {

(31)

31 upd_plg ev = new upd_plg(); ev.data();

ev.tombol(); }

}

5. Program untuk menampilkan data pelanggan “view_data.java”

/* Nama : Rudi Kurniawan * NIM : 13111003 */ import java.awt.*; import java.sql.*; import javax.swing.*; import javax.swing.table.*;

public class view_data extends JPanel {

String[] header = {"code", "nama","alamat","jns_kelamin","kelas"}; JTable tbl = new JTable();

JScrollPane scrl = new JScrollPane(); private Object[][] dt_table = null; view_data()

{

konekdb open = new konekdb();

Connection mysql = open.getConnection(); try

(32)

32

Statement stmt = mysql.createStatement(); String query_view = "SELECT * FROM t_plg"; ResultSet rk =stmt.executeQuery(query_view); ResultSetMetaData meta = rk.getMetaData(); int kolom = meta.getColumnCount();

int baris = 0; while (rk.next()) { baris=rk.getRow(); } dt_table=new Object[baris][kolom]; int x = 0; rk.beforeFirst(); while (rk.next()) { dt_table[x][0]=rk.getString("code"); dt_table[x][1]=rk.getString("nama"); dt_table[x][2]=rk.getString("alamat"); dt_table[x][3]=rk.getString("jns_kelamin"); dt_table[x][4]=rk.getString("kelas"); x++; } scrl.setViewportView(tbl);

tbl.setModel(new DefaultTableModel (dt_table, header)); add(scrl, BorderLayout.NORTH);

(33)

33 rk.close();

}

catch (Exception ex) {

JOptionPane.showMessageDialog(null, "Data Pelanggan Error"); }

}

void tampil() {

JFrame bingkai =new JFrame("Tabel Data Pelanggan");

bingkai.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); view_data content = new view_data();

content.setOpaque(true); bingkai.setContentPane(content); bingkai.pack(); bingkai.setLocationRelativeTo(null); bingkai.setVisible(true); }

public static void main (String [] args) {

view_data ev = new view_data(); ev.tampil();

} }

Gambar

Tabel yang digunakan dalam program ini hanya ada satu tabel. Yaitu tabel yang menyimpan data pelanggan

Referensi

Dokumen terkait

Besar kecilnya motivasi seseorang akan tergantung tinggi rendahnya kompetensi/ kemampuan yang dimiliki seseorang, artinya apabila seorang pegawai memiliki kompetensi

Jadi, ketika merancang aktivitas komunikasi dengan media massa, individu yang bertanggung jawab untuk komunikasi Biro Humas, Ditjen Gakkum, dan Ditjen KSDAE maupun individu

Dengan ini saya Nama: Rosinta Kusuma W NIM: H0712162 Program Studi: Agroteknologi menyatakan bahwa dalam skripsi saya yang berjudul “PEMBERIAN PUPUK ALAM

Mengingat bahan baku minyak dengan kandungan asam lemak tinggi jika digunakan sebagai bahan baku pada reaksi transesterifikasi yang berkatalis basa, maka asam lemal

Untuk variabel kemampuan manajemen Camat (pengorganisasian): pada indikator pimpinan seorang yang mampu menyesuaikan program pendidikan dengan jenis pekerjaan, seorang

Pendidikan jasmani pada dasarnya merupakan bagian dari sistem pendidikan secara keseluruhan, bertujuan untuk mengembangkan aspek kesehatan, kebugaran jasmani

Maksud peneliti ini adalah untuk menemukan data dan informasi tentang akuntabilitas pengelolaan kuangan desa di desa Poyowa Kecil Kecamatan Kotamobagu Selatan Kota

Ketentuan lebih lanjut mengenai tata cara pengenaan tarif layanan berdasarkan kelas sebagaimana dimaksud dalam Pasal 5 dan tarif layanan tidak berdasarkan kelas