JAVA Sistem Informasi Rental Mobil Di Susun Oleh : NAMA : Maria Tantri NIM : 14122048 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INFORMASI UNIVERSITAS MERCU BUANA YOGYAKARTA 2015
DAFTAR ISI DAFTAR ISI... ii BAB I : PENDAHULUAN A. Latar Belakang... B. Alasan Pemilihan Masalah... BAB II : DATABASE A. Rancangan Tabel... B. Relasi Tabel... BAB III : JDBC A. Tabel Pelanggan... B. Tabel Kategori... C. Tabel Barang... D. Tabel Pemesanan... E. Tabel User... BAB VI : MENU A. Menu... B. Integrasi Menu... BAB V A. Kesimpulan... B. Kesulitan...
Bab I Pendahuluan A. Latar Belakang Di era globalisasi ini kemajuan teknologi dan ilmu pengatahuan merupakan bagian yang sangat penting dan sangat berpengaruh dalam perkembangan suatu organisasi, pesatnya teknologi informasi telah merubah tata kerja di segala bidang menjadi lebih efisien, praktis dan handal dari waktu ke waktu. Sedangkan hasil kemajuan teknologi seperti komputer pada saat ini merupakan suatu kebutuhan setiap instansi, baik dalam pemerintahan maupun instansi perusahaan swasta, kemajuan suatu instansi atau perusahaan dapat dilihat dari bagaimana cara memanfaatkan teknologi komputerisasi sebagai alat bantu dalam menyelesaikan masalah atau pekerjaan. Hal tersebut dapat sangat menunjang dalam perusahaan berskala besar, menengah maupun kecil dalam persaingan bisnis global yang semakin pesat. Setiap perusahaan baik itu perusahaan kecil, menengah maupun perusahaan besar membutuhkan pengolahan data yang khusus untuk mengelola suatu data dengan cepat dan tepat, sehingga tidak menjadi banyak penumpukan tugas yang menyita waktu dan tenaga dalam menyelesaikan suatu pekerjaan. Hal inilah yang menjadi permasalahan pada setiap perusahaan tersebut, Untuk itu penggunaan dengan cara metode pencatatan media kertas dan tulisan harus mengalamin perubahan, dikarenakan akan sulit dalam pencarian data dan penyimpanan datanyanya yang rentan akan kehilangan data. Salah satu penerapan yang baik adalah dengan menggunakan sistem komputerisasi. Dengan teknologi komputerisasi mampu menyediakan kemudahan berupa aplikasi yang mengelola data, Dalam hal pencarian data dan penyimpanan data. B. Alasan Pemilihan Masalah Pencatan menggunakan media kertas yang rentan akan kehilangan data menyebabkan kesulitan dalam pencarian data yang dibutuhkan. Media penyimpanan data penyewaan dan data penyewa masih berupa arsip, ehingga memperlambat dalam proses pencarian data dan
penyewaan mobil karena tidak adanya media penyimpanan data/database khusus penyewaan..proses pembuatan laporan dan pencarian data memerlukan waktu yang cukup lama karena data masih berbentuk arsip/dokumen. Berdasarkan permasalah tersebut, maka penulis membuat sistem informasi dengan judul SISTEM INFORMASI PENYEWAAN RENTAL MOBIL dimana system informasi ini diharapkan dapat mengoptimalkan kinerja rental mobil. A. Rancangan Tabel Bab II Database
B. Relasi Database Bab III JDBC A. Tabel Pelanggan Setup Tabel Pelanggan import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.sql.*; class SetupTable_Pelanggan public static void main(string args[]) KoneksiMySQL open = new KoneksiMySQL (); Connection mysql = open.getconnection(); try Statement stmt = mysql.createstatement(); String sql = "CREATE TABLE T_Pelanggan"+"(Id_pelanggan char(10),"+
"Name varchar(40),"+"address varchar(45),"+ "Gender varchar(2),"+"no_tlp int(12),"+"id_mobil char(5))"; stmt.executeupdate(sql); stmt.close(); JOptionPane.showMessageDialog(null, "Table berhasil dibuat"); catch (Exception ex) JOptionPane.showMessageDialog(null, ex.getmessage()); Input Pelanggan import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.io.*; import java.sql.*; class Input_Pelanggan extends JFrame JLabel labelid_pelanggan=new JLabel("Id Pelanggan"); JTextField textid_pelanggan=new JTextField(30); JLabel labelname=new JLabel("Name"); JTextField textname=new JTextField(30); JLabel labeladdress=new JLabel("Address");
JTextField textaddress=new JTextField(50); JLabel labelgender=new JLabel("Gender"); JLabel labelno_tlp=new JLabel("No Tlp"); JTextField textno_tlp=new JTextField(12); JLabel labelid_mobil=new JLabel("Id Mobil"); JTextField textid_mobil=new JTextField(5); JButton buttonsave=new JButton("SAVE"); JButton buttonexit=new JButton("EXIT"); JRadioButton radiomale=new JRadioButton("Male"); JRadioButton radiofemale=new JRadioButton("Female"); ButtonGroup groupgender=new ButtonGroup(); /*JLabel labelclass=new JLabel("Class"); String[] GClass="Morning","Evening","Extension"; JComboBox comboclass=new JComboBox(GClass); */ Input_Mahasiswa() settitle("data Pelanggan"); setlocation(300,100); setsize(500,500); setdefaultcloseoperation(jframe.exit_on_close); void GUI() getcontentpane().setlayout(null);
getcontentpane().add(labelid_pelanggan); labelid_pelanggan.setbounds(10,10,90,20); getcontentpane().add(textid_pelanggan); textid_pelanggan.setbounds(100,10,110,20); getcontentpane().add(labelname); labelname.setbounds(10,60,70,20); getcontentpane().add(textname); textname.setbounds(80,60,110,20); getcontentpane().add(labeladdress); labeladdress.setbounds(10,85,70,20); getcontentpane().add(textaddress); textaddress.setbounds(80,85,160,20); getcontentpane().add(labelgender); labelgender.setbounds(10,120,70,20); getcontentpane().add(radiomale); radiomale.setbounds(80,120,80,20); getcontentpane().add(radiofemale); radiofemale.setbounds(160,120,80,20); groupgender.add(radiomale); groupgender.add(radiofemale); getcontentpane().add(labelno_tlp); labelno_tlp.setbounds(10,150,70,20); getcontentpane().add(textno_tlp); textno_tlp.setbounds(80,150,160,20); getcontentpane().add(labelid_mobil); labelid_mobil.setbounds(10,170,70,20); getcontentpane().add(textid_mobil); textid_mobil.setbounds(80,170,160,20); getcontentpane().add(buttonsave); buttonsave.setbounds(60,200,90,20); getcontentpane().add(buttonexit); buttonexit.setbounds(160,200,80,20); setvisible(true); void Perintah() //buton exit buttonexit.addactionlistener (
new ActionListener() public void actionperformed(actionevent e) if (JOptionPane.showConfirmDialog( null, "Apakah anda benar-benar akan keluar?","konfrimasi", JOptionPane.OK_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE) == JOptionPane.OK_OPTION) System.exit(0); ); //button save buttonsave.addactionlistener ( new ActionListener() public void actionperformed (ActionEvent e) String Id_pelanggan, Name, Address, Gender, No_tlp, Id_mobil; Id_pelanggan = textid_pelanggan.gettext(); Name = textname.gettext(); Address = textaddress.gettext();
No_tlp = textno_tlp.gettext(); Id_mobil = textid_mobil.gettext(); if(radiomale.isselected()==true) Gender = radiomale.gettext(); else Gender = radiofemale.gettext(); //input ke database KoneksiMySQL open = new KoneksiMySQL (); Connection mysql = open.getconnection (); try Statement stmt = mysql.createstatement(); String sql = "INSERT INTO T_Pelanggan VALUES ('"+Id_pelanggan+"','"+Name+"','"+Address+"','"+Gender+"','"+No_tlp+"',"+Id_mobil+"'); "; int i = stmt.executeupdate (sql); if (i == 1) JOptionPane.showMessageDialog(null, "Data Berhasil Disimpan"); catch (Exception ex)
JOptionPane.showMessageDialog(null, ex.getmessage()); ); public static void main(string[]args) Input_Pelanggan sq=new Input_Pelanggan(); sq.gui(); sq.perintah(); Delete pelanggan import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.io.*; import java.sql.*; class Delete_Pelanggan extends JFrame JLabel labelid_pelanggan=new JLabel("Id Pelanggan"); JTextField textid_pelanggan=new JTextField(30); JLabel labelname=new JLabel("Name");
JTextField textname=new JTextField(30); JLabel labeladdress=new JLabel("Address"); JTextField textaddress=new JTextField(50); JLabel labelgender=new JLabel("Gender"); JLabel labelno_tlp=new JLabel("No Tlp"); JTextField textno_tlp=new JTextField(12); JLabel labelid_mobil=new JLabel("Id Mobil"); JTextField textid_mobil=new JTextField(5); JButton buttonsearch=new JButton("SEARCH"); JButton buttondelete=new JButton("DELETE"); JButton buttonexit=new JButton("EXIT"); JRadioButton radiomale=new JRadioButton("Male"); JRadioButton radiofemale=new JRadioButton("Female"); ButtonGroup groupgender=new ButtonGroup(); /*JLabel labelclass=new JLabel("Class"); String[] GClass="Morning","Evening","Extension"; JComboBox comboclass=new JComboBox(GClass); */ Delete_Mahasiswa() settitle("data Pelanggan"); setlocation(300,100); setsize(500,500); setdefaultcloseoperation(jframe.exit_on_close);
void GUI() getcontentpane().setlayout(null); getcontentpane().add(labelid_pelanggan); labelid_pelanggan.setbounds(10,10,90,20); getcontentpane().add(textid_pelanggan); textid_pelanggan.setbounds(100,10,110,20); getcontentpane().add(buttonsearch); buttonsearch.setbounds(230,10,90,20); getcontentpane().add(labelname); labelname.setbounds(10,60,70,20); getcontentpane().add(textname); textname.setbounds(80,60,110,20); getcontentpane().add(labeladdress); labeladdress.setbounds(10,85,70,20); getcontentpane().add(textaddress); textaddress.setbounds(80,85,160,20); getcontentpane().add(labelgender); labelgender.setbounds(10,120,70,20); getcontentpane().add(radiomale); radiomale.setbounds(80,120,80,20); getcontentpane().add(radiofemale); radiofemale.setbounds(160,120,80,20); groupgender.add(radiomale); groupgender.add(radiofemale); getcontentpane().add(labelno_tlp); labelno_tlp.setbounds(10,150,70,20); getcontentpane().add(textno_tlp); textno_tlp.setbounds(80,150,160,20); getcontentpane().add(labelid_mobil); labelid_mobil.setbounds(10,170,70,20); getcontentpane().add(textid_mobil); textid_mobil.setbounds(80,170,160,20); getcontentpane().add(buttondelete); buttondelete.setbounds(60,200,90,20); getcontentpane().add(buttonexit); buttonexit.setbounds(160,200,80,20); setvisible(true); void Perintah()
//button exit buttonexit.addactionlistener ( new ActionListener() public void actionperformed(actionevent e) if (JOptionPane.showConfirmDialog( null, "Apakah Anda benar-benar akan Keluar?","Konfirmasi", JOptionPane.OK_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE) == JOptionPane.OK_OPTION) System.exit(0); ); // button search buttonsearch.addactionlistener ( new ActionListener() public void actionperformed (ActionEvent e)
String search; String Id_pelanggan, Name, Address, Gender, No_tlp, Id_mobil; KoneksiMySQL open = new KoneksiMySQL(); Connection mysql = open.getconnection(); try search=textid_pelanggan.gettext(); Statement stmt = mysql.createstatement(); Id_pelanggan like'"+search+"'"; String sql = "SELECT * FROM T_Pelanggan WHERE ResultSet i = stmt.executequery (sql); if(i.next()) textid_pelanggan.settext(i.getstring(1)); textname.settext(i.getstring(2)); textaddress.settext(i.getstring(3)); textno_tlp.settext(i.getstring(5)); textid_mobil.settext(i.getstring(6)); Gender = i.getstring(4); if(gender.equals("male")) radiomale.setselected(true); else radiofemale.setselected(true);
else Ada"); JOptionPane.showMessageDialog(null, "Data Tidak catch (Exception ex) JOptionPane.showMessageDialog(null, ex.getmessage()); ); // button delete buttondelete.addactionlistener ( new ActionListener() public void actionperformed (ActionEvent e) String Id_pelanggan, Name, Address, Gender, No_tlp, Id_mobil; Id_pelanggan = textid_pelanggan.gettext(); Name = textname.gettext(); Address = textaddress.gettext(); No_tlp = textno_tlp.gettext();
Id_mobil = textid_mobil.gettext(); if(radiomale.isselected()==true) Gender = radiomale.gettext(); else Gender = radiofemale.gettext(); // input ke database KoneksiMySQL open = new KoneksiMySQL(); Connection mysql = open.getconnection(); try Statement stmt = mysql.createstatement(); Id='"+Id_pelanggan+"'"; String sql = "DELETE FROM T_Pelanggan WHERE int i = stmt.executeupdate (sql); if (i==1) JOptionPane.showMessageDialog(null, "Data Berhasil Dihapus"); catch (Exception ex)
ex.getmessage()); JOptionPane.showMessageDialog(null, ); public static void main(string[] args) Delete_Mahasiswa sq=new Delete_Mahasiswa(); sq.gui(); sq.perintah(); Update Pelanggan import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.io.*; import java.sql.*; class Update_Pelanggan extends JFrame JLabel labelid_pelanggan=new JLabel("Id Pelanggan"); JTextField textid_pelanggan=new JTextField(30); JLabel labelname=new JLabel("Name");
JTextField textname=new JTextField(30); JLabel labeladdress=new JLabel("Address"); JTextField textaddress=new JTextField(50); JLabel labelgender=new JLabel("Gender"); JLabel labelno_tlp=new JLabel("No Tlp"); JTextField textno_tlp=new JTextField(12); JLabel labelid_mobil=new JLabel("Id Mobil"); JTextField textid_mobil=new JTextField(5); JButton buttonsearch=new JButton("SEARCH"); JButton buttonupdate=new JButton("UPDATE"); JButton buttonexit=new JButton("EXIT"); JRadioButton radiomale=new JRadioButton("Male"); JRadioButton radiofemale=new JRadioButton("Female"); ButtonGroup groupgender=new ButtonGroup(); /*JLabel labelclass=new JLabel("Class"); String[] GClass="Morning","Evening","Extension"; JComboBox comboclass=new JComboBox(GClass); */ Update_Mahasiswa() settitle("data Mahasiswa"); setlocation(300,100); setsize(500,500); setdefaultcloseoperation(jframe.exit_on_close);
void GUI() getcontentpane().setlayout(null); getcontentpane().add(labelid_pelanggan); labelid_pelanggan.setbounds(10,10,90,20); getcontentpane().add(textid_pelanggan); textid_pelanggan.setbounds(100,10,110,20); getcontentpane().add(buttonsearch); buttonsearch.setbounds(230,10,90,20); getcontentpane().add(labelname); labelname.setbounds(10,60,70,20); getcontentpane().add(textname); textname.setbounds(80,60,110,20); getcontentpane().add(labeladdress); labeladdress.setbounds(10,85,70,20); getcontentpane().add(textaddress); textaddress.setbounds(80,85,160,20); getcontentpane().add(labelgender); labelgender.setbounds(10,120,70,20); getcontentpane().add(radiomale); radiomale.setbounds(80,120,80,20); getcontentpane().add(radiofemale); radiofemale.setbounds(160,120,80,20); groupgender.add(radiomale); groupgender.add(radiofemale); getcontentpane().add(labelno_tlp); labelno_tlp.setbounds(10,150,70,20); getcontentpane().add(textno_tlp); textno_tlp.setbounds(80,150,160,20); getcontentpane().add(labelid_mobil); labelid_mobil.setbounds(10,170,70,20); getcontentpane().add(textid_mobil); textid_mobil.setbounds(80,170,160,20); getcontentpane().add(buttonupdate); buttonupdate.setbounds(60,200,90,20); getcontentpane().add(buttonexit); buttonexit.setbounds(160,200,80,20); setvisible(true); void Perintah()
//button exit buttonexit.addactionlistener ( new ActionListener() public void actionperformed(actionevent e) if (JOptionPane.showConfirmDialog( null, "Apakah Anda benar-benar akan Keluar?","Konfirmasi", JOptionPane.OK_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE) == JOptionPane.OK_OPTION) System.exit(0); ); // button search buttonsearch.addactionlistener ( new ActionListener() public void actionperformed (ActionEvent e)
String search; String Id_pelanggan, Name, Address, Gender, No_tlp, Id_mobil; KoneksiMySQL open = new KoneksiMySQL(); Connection mysql = open.getconnection(); try search=textid_pelanggan.gettext(); Statement stmt = mysql.createstatement(); Id_pelanggan like'"+search+"'"; String sql = "SELECT * FROM T_Pelanggan WHERE ResultSet i = stmt.executequery (sql); if(i.next()) textid_pelanggan.settext(i.getstring(1)); textname.settext(i.getstring(2)); textaddress.settext(i.getstring(3)); textno_tlp.settext(i.getstring(5)); textid_mobil.settext(i.getstring(6)); Gender = i.getstring(4); if(gender.equals("male")) radiomale.setselected(true); else radiofemale.setselected(true);
else JOptionPane.showMessageDialog(null, "Data Tidak Ada"); catch (Exception ex) JOptionPane.showMessageDialog(null, ex.getmessage()); ); // button update buttonupdate.addactionlistener ( new ActionListener() public void actionperformed (ActionEvent e) String Id_pelanggan, Name, Address, Gender, No_tlp, Id_mobil; Id_pelanggan = textid_pelanggan.gettext(); Name = textname.gettext(); Address = textaddress.gettext(); No_tlp = textno_tlp.gettext(); Id_mobil = textid_mobil.gettext();
if(radiomale.isselected()==true) else Gender = radiomale.gettext(); Gender = radiofemale.gettext(); // input ke database KoneksiMySQL open = new KoneksiMySQL(); Connection mysql = open.getconnection(); try Statement stmt = mysql.createstatement(); String sql = "UPDATE T_Pelanggan SET Name='"+Name+"',Address='"+Address+"',Gender='"+Gender+"',No_tlp='"+No_tlp+"',Id_mobil='"+Id_ mobil+"'where Id_pelanggan='"+Id_pelanggan+"'"; int i = stmt.executeupdate (sql); if (i==1) catch (Exception ex) JOptionPane.showMessageDialog(null, "Data Mahasiswa Berhasil DiUpdate"); ex.getmessage()); JOptionPane.showMessageDialog(null,
); public static void main(string[] args) Update_Mahasiswa sq=new Update_Mahasiswa(); sq.gui(); sq.perintah(); View Pelanggan import java.awt.*; import java.sql.*; import javax.swing.*; import javax.swing.table.*; public class View_Pelanggan extends JPanel String[] header = "Id_pelanggan", "Name","Address", "Gender", "No_tlp","Id_mobil"; JTable table = new JTable(); JScrollPane scrolltable= new JScrollPane(); private Object[][] datatable =null; View_Mahasiswa() KoneksiMySQL open = new KoneksiMySQL();
Connection mysql = open.getconnection(); try Statement stmt = mysql.createstatement(); String sql = "SELECT * FROM T_Pelanggan"; ResultSet rs = stmt.executequery(sql); ResultSetMetaData meta = rs.getmetadata(); int kolom = meta.getcolumncount(); int baris = 0; while(rs.next()) baris = rs.getrow(); datatable = new Object[baris][kolom]; int x =0; rs.beforefirst(); while(rs.next()) datatable[x][0] = rs.getstring("id_pelanggan"); datatable[x][1] = rs.getstring("name"); datatable[x][2] = rs.getstring("address"); datatable[x][3] = rs.getstring("gender"); datatable[x][4] = rs.getstring("no_tlp"); datatable[x][5] = rs.getstring("id_mobil"); x++;
scrolltable.setviewportview(table) table.setmodel(new DefaultTableModel(dataTable, header)); add.(scrolltable, BorderLayout.NORTH); stmt.close(); rs.close(); catch (Exception ex) JOptionPane.showMessageDialog(null, "Data Pelanggan Error"); void GUI() JFrame frame = new JFrame("Data Pelanggan"); frame.setdefaultcloseoperation(jframe.exit_on_close); View_Mahasiswa content = new View_Mahasiswa(); content.setopaque(true); frame.setcontentpane(content); frame.pack(); frame.setlocationrelativeto(null); frame.setvisible(true); public static void main(string [] args) View_Pelanggan sq=new View_Pelanggan(); sq.gui();
B. Tabel 2 Bab IV Menu A. Menu Menu pelanggan import javax.swing.*; import java.awt.event.*; class Identitas extends JFrame JMenuBar menucontoh=new JMenuBar(); JMenu File=new JMenu("File"); JMenu OpenSubmenu=new JMenu("Open"); JMenuItem Mhs=new JMenuItem("Table Pelanggan"); JMenuItem Exit=new JMenuItem("Exit"); // JMenu File=new JMenu("Data"); //JMenu OpenSubmenu=new JMenu("Open"); // JMenuItem Inp=new JMenuItem("Input"); // JMenuItem Upt=new JMenuItem("Update"); //JMenuItem Vie=new JMenuItem("View"); JMenu About=new JMenu("About"); JMenuItem AboutDialog=new JMenuItem("About Us"); Input_Mahasiswa InputData=new Input_Mahasiswa();
//Input_Mahasiswa InputData=new Input_Mahasiswa(); // Update_Mahasiswa InputData=new Update_Mahasiswa(); Identitas() settitle ("Data Pelanggan"); setlocation(300,100); setsize(500,350); setdefaultcloseoperation(jframe.exit_on_close); void GUI() setjmenubar(menucontoh); menucontoh.add(file); File.add(OpenSubmenu); OpenSubmenu.add(Mhs); //File.add(Exit); // File.add(OpenSubmenu); // OpenSubmenu.add(Inp); // File.add(OpenSubmenu); // OpenSubmenu.add(Upt); File.add(Exit); menucontoh.add(about); About.add(AboutDialog); setvisible(true); void Perintahku()
Mhs.addActionListener(new ActionListener() public void actionperformed(actionevent e) Input_Mahasiswa InputData=new Input_Mahasiswa(); InputData.GUI (); InputData.Perintah (); ); /*void Ap() Inp.addActionListener(new ActionListener() public void actionperformed(actionevent e) Input_Mahasiswa InputData=new Input_Mahasiswa(); InputData.GUI (); InputData.Perintah (); ); void Alex() Upt.addActionListener(new ActionListener()
public void actionperformed(actionevent e) Update_Mahasiswa InputData=new Update_Mahasiswa(); InputData.GUI (); InputData.Perintah (); ); */ Exit.addActionListener(new ActionListener() public void actionperformed (ActionEvent e) System.exit(0); ); /* Exit.addActionListener(new ActionListener() public void actionperformed (ActionEvent e) System.exit(0); ); */ Exit.addActionListener(new ActionListener()
public void actionperformed (ActionEvent e) System.exit(0); ); AboutDialog.addActionListener(new ActionListener() public void actionperformed (ActionEvent e) JOptionPane.showMessageDialog(null, "<html> Yang buat Alex Porsiana (11111030) <br/> <a href='http://ap.com>http://ap.com</a></html>","about",joptionpane.information_message); ); public static void main (String[]args) pelanggan sq=new pelanggan(); sq.gui(); sq.perintahku(); //sq.ap(); //sq.alex(); B. Integrasi Menu
Koneksi JDBC Koneksi mysql Setup table
Input pelanggan Delete pelanggan
Update pelanggan View pelanggan
Menu pelanggan Bab V Penutup A. Kesimpulan Dengan menggunakan sistem aplikasi ini, diharapkan masyarakat Indonesia nanti, khususnya para perental mobil dapat lebih mudah melakukan pemesanan.
B. Kesulitan Masih kurang data, input, update, view karena beberapa masih eror Optimalisasi antar tabel yang masih belum terlalu di kuasai Perelasian antartabel, yaitu input data yang kadang masih error.