LAPORAN KERJA PRAKTEK
PERANCANGAN PROGRAM PENYEWAAN RUANG KARAOKE TIGA DARA DENGAN BAHASA PEMOGRAMAN APLIKASI JAVA (STUDI KASUS DI TIGA DARA)
TAHUN AKADEMIK 2014/2015 GANJIL
.
Oleh: Rogy Sholehuddin 11.14.1.0152
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MAJALENGKA 2015
PERNYATAAN Yang bertanda tangan di bawah ini : Nama
: ROGY SHOLEHUDDIN
NPM
: 11.14.1.0152
Fakultas
: TEKNIK
Jurusan
: TEKNIK INFORMATIKA
Dengan ini menerangkan bahwa Laporan Kerja Praktek yang penulis buat dengan judul :
PERANCANGAN PROGRAM PENYEWAAN RUANG KARAOKE TIGA DARA DENGAN BAHASA PEMROGRAMAN APLIKASI JAVA Adalah benar-benar hasil karya sendiri dan bukan plagiat dari hasil karya Laporan Kerja Praktek orang lain, apabila di kemudian hari pernyataan ini tidak sesuai maka saya bersedia menerima sangsi akademis sesuai dengan peraturan yang berlaku di Universitas Majalengka. Demikian surat pernyataan ini saya buat dengan sebenarnya, untuk dapat di pergunakan sebagaimana mestinya.
Majalengka, 3 Februari 2015 Pembuat Pernyataan,
Rogy Sholehuddin NPM 11.14.1.0152
i
LEMBAR PENGESAHAN LAPORAN KERJA PRAKTEK PERANCANGAN PROGRAM PENYEWAAN RUANG KARAOKE TIGA DARA DENGAN BAHASA PEMROGRAMAN APLIKASI JAVA Tahun Akademik 2013/2014 GANJIL
OLEH :
Rogy Sholehuddin 11.14.1.0004
Mengtahui, DOSEN PEMBIMBING
Budiman, S.Si
KETUA PRODI TEKNIK INFORMATIKA
Deffy Susanti, S.T., M.Kom NIDN : 04.241084.02
ii
LEMBAR PENGESAHAN LAPORAN KERJA PRAKTEK PERANCANGAN PROGRAM PENYEWAAN RUANG KARAOKE TIGA DARA DENGAN BAHASA PEMROGRAMAN APLIKASI JAVA
Tahun Akademik 2013/2014 GANJIL
OLEH :
Rogy Sholehuddin 11.14.1.0152
Mengtahui,
PEMILIK
Hj.Ela Nurlaela
iii
KATA PENGANTAR
Puji syukur penulis panjatkan kepada Tuhan Yang Maha Esa yang telah memberikan rahmat dan karunianya, sehingga penulis dapat menyelesaikan Laporan Pelaksanaan Kerja Praktek ini. Kerja Praktek ini merupakan salah satu matakuliah yang wajib ditempuh di Departemen Elektro Fakultas Teknik Universitas Indonesia. Laporan Kerja Praktek ini disusun sebagai pelengkap kerja praktek yang telah dilaksanakan lebih kurang 3 bulan di Tiga Dara Karaoke. Dengan selesainya laporan kerja praktek ini tidak terlepas dari bantuan banyak pihak yang telah memberikan masukan-masukan kepada penulis. Untuk itu penulis mengucapkan banyak terimakasih kepada : 1. Ibu dan bapak, selaku orang tua penulis. 2. Bapak Dr. H. Riza M. Yunus. ST,. MT. selaku Dekan Fakuktas Teknik Universitas Majalengka. 3. Ibu Deffy Susanti, S.T., M.Kom, selaku ketua Program Studi Teknik Informatika Universitas Majalengka. 4. Bapak Budiman, S.Si, selaku dosen pembimbing bagi kerja praktek penulis. 5. Beserta teman-teman yang selalu member motivasi penulis untuk terus menyelesaikan kerja praktek ini tepat pada waktunya. Penulis menyadari bahwa masih banyak kekurangan dari laporan ini, baik dari materi maupun teknik penyajiannya, mengingat kurangnya pengetahuan dan pengalaman penulis. Oleh karena itu, kritik dan saran yang membangun sangat penulis harapkan.
Majalengka, Februari 2015
Penulis
iv
DAFTAR ISI LEMBAR PERNYATAAN ..........................................................................
i
LEMBAR PENGESAHAN PRODI .............................................................
ii
LEMBAR PENGESAHAN LOKASI KERJA PRAKTEK .......................
iii
KATA PENGANTAR....................................................................................
iv
DAFTAR ISI ..................................................................................................
v
DAFTAR TABEL ..........................................................................................
vii
DAFTAR GAMBAR .....................................................................................
viii
BAB I PENDAHULUAN 1.1
Latar Belakang Masalah .....................................................................
1
1.2
Rumusan Masalah ...............................................................................
2
1.3
Batasan Masalah .................................................................................
2
1.4
Maksud dan Tujuan .............................................................................
2
1.5
Manfaat Penelitian ...............................................................................
3
1.6
Waktu dan Tempat ...............................................................................
3
1.7
Metodologi Pelaksanaan ......................................................................
4
1.8
Sistematika Penulisan .........................................................................
5
BAB II LANDASAN TEORI 2.1
Pengertian Sistem ................................................................................
6
2.2
Pengenalan Aplikasi ...........................................................................
10
2.3
Pengertian Prototyping ........................................................................
11
2.4
OOP (Object Orieented Programming)...............................................
13
2.5
Sejarah Bahasa Pemrograman Java ....................................................
14
2.6
Definisi MySQL ..................................................................................
23
2.7
Pengertian Sewa Menyewa .................................................................
25
v
BAB III ANALISIS 3.1
Keadaan Lokasi Objek Penelitian ..........................................................
29
3.2
Analisis Sistem Yang Sedang Berjalan ..................................................
29
3.3
Permasalahan Yang Dihadapi ................................................................
31
3.4
Sistem Yang Diusulkan ..........................................................................
31
BAB IV PERANCANGAN 4.1. Tujuan Perancangan ...............................................................................
32
4.2
Perencangan Database ..........................................................................
32
4.3
Use Case Diagram .................................................................................
33
4.4
Class Diagram .......................................................................................
34
4.5
Perancangan Interface ...........................................................................
35
4.6
Klasifikasi Kebutuhan ............................................................................
37
4.7
Klasifikasi Pengguna ..............................................................................
37
BAB V IMPLEMENTASI 5.1. Perangkat Penunjang Aplikasi................................................................
38
5.2. Testing Program .....................................................................................
38
BAB VI PENUTUP 6.1. Kesimpulan ...........................................................................................
42
6.2. Saran ......................................................................................................
42
DAFTAR PUSTAKA DAFTAR LAMPIRAN
vi
DAFTAR TABEL
Teble 1.1 TimeSchedule Kegiatan ........................................................................
3
Tabel 3.1 Activity Diagram Proses Program Yang Diusulkan .............................
30
Tabel 4.1 Kamus Menu Login ..............................................................................
32
Tabel 4.2 Kamus Menu Input ...............................................................................
32
Tabel 5.1 Pengecekan Form Menu Login .............................................................
39
Tabel 5.2 Pengecekan Form Menu Input Data .....................................................
40
Tabel 5.3 Pengecekan Form Menu Input Data .....................................................
40
vii
DAFTAR GAMBAR
Gambar 1.1 Siklus Prototype ................................................................................
5
Gambar 2.1 Siklus Prototype ................................................................................
12
Gambar 4.1 Use Case Diagram ............................................................................
34
Gambar 4.2 Class Diagram ..................................................................................
34
Gambar 5.1 Form Login .......................................................................................
38
Gambar 5.2 Form Menu Utama ............................................................................
39
Gambar 5.3 Form Menu Input Data .....................................................................
40
Gambar 5.3 Form Cetak Laporan .........................................................................
41
viii
BAB I PENDAHULUAN
1.1. Latar Belakang Masalah Pada masa sekarang kemajuan teknologi berlangsung dengan sangat pesat. Kondisi ini menjadikan kebutuhan manusia dapat diringankan dengan menggunakan peralatan teknologi. Komputer sebagai sarana informasi yang sangat baik digunakan untuk pengolahan data. Dengan adanya komputer sebagai alat pengolah data dapat membantu manusia dalam kegiatannya. Pada saat ini bisa dikatakan komputer merupakan salah satu perkembangan teknologi yang dibutuhkan manusia. Walau demikian komputer tidak dapat bekerja tanpa adanya campur tangan manusia, karena komputer hanya merupakan alat bantu yang dapat menghasilkan informasi dengan pengendalian manusia. Penggunaan komputer terutama dalam suatu sistem informasi penyewaan menjadi suatu alat pemecahan masalah yang dapat memberikan manfaat, baik dalam ketelitian, keamanan, kemudahan, penyampaian informasi, maupun volume pekerjaan yang ditangani. Sehingga dalam penyajian informasi yang dibutuhkan dapat diperoleh secara cepat, akurat, tepat waktu, dan lengkap tanpa harus melalui proses pencatatan secara berulang-ulang, dan pembuatan laporan penyewaan lebih mudah dalam pengerjaanya. Dalam berbisnis, selain membicarakan income kita juga harus memperhatikan bagaimana kita mengolah potensi income tersebut dengan baik. dengan aplikasi yang mempuni dan tepat guna diharapkan bisa membantu perusahaan dalam mengumpulkan, mengolah, menyajikan dan menyimpan data yang bersangkutan dengan proses bisnisnya. Proses bisnis yang berjalan di perusahaan Karaoke Tiga Dara masih manual, dalam segi penyewaan Karaoke Tiga Dara menggunakan pencatatan di buku, sehingga kurang efisie terhadap cara kerjanya, dan dalam segi membuat laporan mingguan ataupun bulanan akan memakan banyak waktu untuk merekap data, karena harus mengumpulkan terlebih dahulu semua data-data
1
Rogy Sholehuddin
Laporan Kerja Praktek
yang di catat di buku. Berkat dari uraian di atas penulis berusaha insiatif memberikan solusi dari permasalahan tersebut dengan mengambil judul kerja praktek“PERANCANGAN
PROGRAM
PENYEWAAN
RUANG
KARAOKE TIGA DARA DENGAN BAHASA PEMROGRAMAN APLIKASI JAVA” 1.2. Rumusan Masalah Menindak lanjuti hasil uraian di latar belakang masalah, maka saya menyimpulkan beberapa poin rumusan masalah, yang diantaranya: 1.
Seperti apa proses bisnis yang berjalan di perusahaan Karaoke Tiga Dara.
2.
Aplikasi yang sesuai bidang perusahaan dan kebutuhan di perusahaan Karaoke Tiga Dara.
3.
Perancangan aplikasi yang sesuai dengan kebutuhan Karaoke Tiga Dara.
1.3. Batasan Masalah Sebagai salah satu penunjang agar penulis bisa lebih fokus dan tertata dalam melakukan pengerjaan dan penyelesaian aplikasi yang diinginkan, maka penulis memutuskan untuk membatasi dengan alasan menyesuakan dengan kemapuan dan waktu agar pengerjaan selesai tepat pada waktu dengan ketentuan yang berlaku. adapun beberapa dari pembatasan masalah tersebut, diantarnya: 1.
Program ini hanya penginput, pemproses, penyimpanan dan output data dari data penyewa karaoke di Tiga Dara;
2.
Program ini hanya dikelola oleh admin/ operator yang dalam hal ini adalah bagian yang menanganinya;
3.
Program hanya memiliki 4 Menu, diantaranya : Menu login, Menu Utama, Menu Input Data dan Menu Print Out;
1.4
Tujuan Penelitian Tujuan dari penyusunan pembuatan aplikasi ini adalah : 1. Mempermudah pengelolaan transaksi penyewaan karaoke di Tiga Dara;
Tiga Dara Karaoke
2
Rogy Sholehuddin
Laporan Kerja Praktek
2. Mempercepat proses penginputan data penyewa karaoke; 3. Membantu pengelola / admin dalam proses pekerjaannya; 1.5
Manfaat Penelitian Ada beberapa manfaat yang di dapat dari kegiatan ini, diantaranya adalah sebagai berikut: 1.5.1 Bagi Mahasiswa Bagi mahasiswa ini bisa bermanfaat sebagai tolak ukur keberhasilan dalam menghadapi tugas akhir perkuliahan, sebagai sarana mengasah kemampuan dan mengembangkannya. 1.5.2 Bagi Instansi Manfaat bagi instansi ini bisa menjadi solusi untuk pengelolaan dan penyimpanan data transaksi perusahaan agar lebih mudah dalam proses penyewaan Karaoke Tiga Dara.
1.6
Tempat dan Waktu Pelaksanaan Waktu pelaksanaan berlangsung kurang lebih 1 semester, dilaksanakan di
tempat Ruangan Penyewaan Karaoke Tiga Dara. No 1.
Kegiatan
September
Oktober
November
Desember
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
Januari 1
2
Pengajuan Rekomendasi Judul
2.
Pengumpulan Data
3.
Analisa Data dan Kebutuhan
4.
Desain Sistem
5.
Implementasi
6.
Testing
Tiga Dara Karaoke
3
Rogy Sholehuddin
No
Laporan Kerja Praktek
Kegiatan
7.
September
Oktober
November
Desember
Januari
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
1
2
Penyusunan Laporan
8.
Seminar Tabel 1.1 Time Schedule
1.7
Metode Pelaksanaan Dalam mengumpulkan data penulis menggunakan 2 (dua) Metode yaitu :
1.7.1
Metode Lapangan ( Field Research ) Metode ini dilakukan penulis secara langsung untuk mengumpulkan
data yang berhubungan dengan Sistem Informasi Karaoke Tiga Dara. Datadata tersebut penulis kumpulkan dengan cara : a) Observasi (pengamatan langsung) Penulis melakukan pengamatan langsung ke tempat objek pembahasan yang
ingin
diperoleh
yaitu
melalui
proses
peminjaman
buku,
keanggotaan. b) Interview (wawancara) Penulis melakukan Interview (wawancara) untuk mendapatkan penjelasan dari masalah-masalah yang sebelumnya kurang jelas dan untuk menyakinkan bahwa data yang diperoleh / dikumpulkan benar-benar akurat. Dimana penulis melakukan interview kepada pemilik Karaoke Tiga Dara. 1.7.2
Metode Perpustakaan ( Library Research ) Metode ini penulis mengutip dari beberapa bacaan yang berkaitan dengan
pelaksanaan sistem informasi. Yang dikutip dapat berupa teori ataupun beberapa pendapat dari beberapa buku bacaan dan buku diktat yang dipergunakan selama kuliah. Ini dimaksudkan untuk memberikan landasan teori yang kuat melalui buku-buku atau literatur yang tersedia di perpustakaan. Dan pengumpulan data dengan menggunakan fasilitas internet melalui mesin pencari (search engine). 1.7.3
Metodologi Pengembangan Sistem
Skema dari prototype secara umum adalah sebagai berikut : Konsep SDLC – Prototype
Tiga Dara Karaoke
4
Rogy Sholehuddin
Laporan Kerja Praktek
Gambar 1.1 Siklus Prototype Sumber: Al fatta, Hanif, 2007,hal 6
1. Tahapan pengembangan sistem : a. Pengumpulan kebutuhan b. Membangun prototype c. Evaluasi prototype 1.8
Sistematika Penulisan Sistematika pembahasan laporan kerja praktek ini dibagi menjadi 6 (enam)
bab. Berikut penjelasan tentang masing-masing bab : BAB I
PENDAHULUAN Pada bab ini memaparkan tentang latar belakang, rumusan masalah, batasan masalah, tujuan, manfaat, tempat dan waktu pelaksanaan, metode pelaksanaan dan sistematika penulisan.
BAB II
LANDASAN TEORI Pada bab ini memuat uraian tentang teori-teori yang mendukung dalam pembuatan laporan kerja praktek.
BAB III
ANALISA Pada bab ini memuat uraian tentang analisa sistem yang akan dibuat.
BAB IV
PERANCANGAN Pada bab ini menjelaskan tentang perancangan sistem yang dibuat.
BAB V
IMPLEMENTASI Pada bab ini menjelaskan tentang pengenalan program yang dibuat dan spesifikasi kebutuhan software dan hardware.
BAB VI
PENUTUP Pada bab ini berisikan kesimpulan dan saran.
Tiga Dara Karaoke
5
BAB II LANDASAN TEORI
2.1
Pengertian Sistem 1.
Menyatakan pendekatan
bahwa prosedur
sistem dan
dapat
dengan
didefinisikan pendekatan
dengan
komponen.
Pendekatan sistem pada prosedur didefinisikan bahwa “sistem adalah kumpulan dari prosedur- prosedur yang mempunyai tujuan tertentu [ Jogiyanto (2003 : 34) ]. 2. Pengertian Sistem adalah sebuah rangkaian yang saling kait mengkait antar beberapa bagian sampai kepada bagian yang paling kecil, bila suatu bagian atau sub bagian terganggu maka bagian yang lain juga ikut merasakan ketergangguan tersebut [Henry Prat Fairchild dan Eric Kohler (2001 : 46) ]. 3. Pengertian Sistem adalah suatu kebulatan dan keseluruhan yang komplek atau terorganisir, dimana suatu himpunan atau perpaduan hal-hal atau bagian-bagian yang membentuk suatu kebulatan atau keseluruhan yang komplek atau utuh [ Pamudji (2005 : 41) ]. 4. Pengertian sistem adalah suatu jaringan daripada prosedurprosedur yang berhubungan satu sama lain menurut skema atau pola yang bulat untuk menggerakkan suatu fungsi yang utama dari suatu usaha atau urutan [ Prajudi (2010 : 25) ].
2.1.1 1.
Karakteristik Sistem Komponen / Elemen (component) Suatu sistem terdiri dari komponen yang saling berinteraksi , artinya
saling
bekerja
sama
membentuk
satu
kesatuan.
Komponen- komponen dari suatu sistem biasanya dikenal dengan subsistem. Subsistem ini mempunyai sifat-sifat dari sistem itu sendiri
dalam
menjalankan
suatu
fungsi
mempengaruhi proses sistem secara keseluruhan.
6
tertentu
dan
Rogy Sholehuddin
Laporan Kerja Praktek
2.
Batasan Sistem Merupakan daerah yang membatasi antara suatu sistem dengan sistem lainnya atau dengan lingkungan luarnya. Batas sistem ini memungkinkan suatu sistem dipandang sebagai satu kesatuan. Batas suatu sistem menunjukkan ruang lingkup (scope) dari sistem tersebut. Contoh : Sistem Keuangan a. Sistem Akuntansi b. Kasir c. Administrasi Keuangan d. Personalia
3.
Lingkungan Luar Sistem (Environment) Segala sesuatu diluar dari batas sistem yg mempengaruhi operasi dari suatu sistem disebut lingkungan luar sistem (environment). Lingkungan luar sistem ini dapat bersifat menguntungkan atau merugikan. Lingkungan luar yang bersifat menguntungkan harus dipelihara dan dijaga agar tidak hilang pengaruhnya, sedangkan lingkungan yang bersifat merugikan harus dimusnahkan dan dikendalikan agar tidak mengganggu operasi dari sistem. Penghubung Sistem (Interface). Penghubung Sistem merupakan suatu media penghubung antara satu subsistem dengan subsistem lainnya untuk membentuk satu kesatuan, sehingga sumber-sumber daya mengalir dari subsistem yang satu ke subsistem lainnya. Dengan kata lain melalui penghubung ini output dari suatu subsistem akan menjadi input sari subsistem lainnya.
4.
Masukan (Input) Daya yang dimasukkan ke dalam suatu sistem disebut input. Masukan ini dapat berupa masukan perawatan (maintenance input) Yaitu daya yang dimasukkan supaya sistem itu dapat beroperasi.
Tiga Dara Karaoke
7
Rogy Sholehuddin
Laporan Kerja Praktek
Contoh : Program untuk mengoperasikan komputer. - Masukan Sinyal (signal input) Yaitu energi yang diproses untuk diperolehnya suatu keluaran. Contoh : Data inputan 5.
Pengolah (process) Suatu sistem mempunyai bagian pengolah yang akan mengubah input menjadi output. Contoh : CPU pada komputer a.
Bagian produksi yang mengubah bahan baku menjadi barang jadi;
b.
Bagian akuntansi yang mengolah data transaksi menjadi laporan Keuangan.
6.
Keluaran (output) Keluaran adalah hasil dari energi yang diolah. Keluaran ini dapat diklasifikasikan sebagai : a.
Keluaran
yang
berguna
yaitu
keluaran
yang
akan
digunakan; Contoh : informasi yang dikeluarkan oleh komputer. b.
Keluaran yang tidak berguna yang dikenal sebagai sisa pembuangan
Contoh : panas yang dikeluarkan oleh komputer. 7. Sasaran Sistem (objective) dan Tujuan Sistem (goal) Setiap sistem pasti mempunyai tujuan ataupun sasaran yang mempengaruhi input yang dibutuhkan dan output yang akan dihasilkan, dengan kata lain suatu sistem akan dikatakan berhasil bola pengoperasian sistem itu mengenai sasaran atau tujuannya.
2.1.2
Klasifikasi Sistem
Suatu sistem dapat diklasifikasikan sebagai: 1) Sistem Abstrak (abstract system) Sistem ini merupakan sistem yang tidak tampak secara fisik, karena hanya berupa pemikiran atau ide-ide.
Tiga Dara Karaoke
8
Rogy Sholehuddin
Laporan Kerja Praktek
Contoh : Sistem Teologia yang merupakan suatu sistem yang menggambarkan hubungan Tuhan dengan manusia; 2) Sistem Fisik (physical system) Sistem fisik merupakan sistem yang tampak secara fisik sehingga setiap mahluk dapat melihatnya. Contoh : Sistem Komputer, Sistem Akutansi, dan Sistem Produksi; -
Sistem Akuntansi
-
Sistem Produksi
3) Sistem Alamiah (Natural system) Sistem alamiah ini adalah sistem yang terjadi dari proses proses alam dalam arti tidak dibuat oleh manusia. Contoh : Sistem Geologi : sungai, pegunungan Sistem Solar : galaxy, tata surya; 4) Sistem buatan manusia (Human made system) Sistem ini merupakan sistem yg dirancang & didisain oleh manusia. Contoh : Sistem Informasi - manusia - komputer Man - machine system / human-machine system Interaksi antara manusia dan mesin; 5) Sistem Deterministik (Deterministic system) Sistem yg beroperasi dengan tingkah laku yg dapat diramalkan disebut sistem deterministik. Interaksi antar tiap-tiap bagian dapat dideteksi, sehingga outputnya juga dapat diramalkan. Contoh : Sistem Komputer; 6) Sistem Tertutup (closed system) Sistem tertutup adalah sistem yang tidak berhubungan dan tidak dipengaruhi oleh lingkungan luarnya. Sebenarnya didunia ini tidak ada sistem yang benar - benar tertutup. Yang ada hanyalah sistem yang secara relatif tertutup (relatively closed system );
Tiga Dara Karaoke
9
Rogy Sholehuddin
Laporan Kerja Praktek
7) Sistem Terbuka (open system) Sistem ini kebalikan dari sistem tertutup, karena sistem terbuka adalah sistem yang berhubungan dan dipengaruhi oleh lingkungannya. Oleh sebab itu sistem ini harus mempunyai suatu sistem pengendalian (control system) yang baik, agar yang masuk hanya pengaruh - pengaruh yang baik saja. Contoh : sistem kebudayaan Indonesia. 2.2
Pengertian Aplikasi Berikut adalah definisi aplikasi menurut para ahli: a. Ali Zaki & Smitdev Community Aplikasi adalah komponen yang berguna melakukan pengolahan data maupun kegiatan-kegiatan seperti pembuatan dokumen atau pengolahan data.Selain itu aplikasi adalah bagian PC yang berinteraksi langsung dengan user. b. Hengky W. Pramana Aplikasi adalah satu unit perangkat lunak yang dibuat untuk melayani kebutuhan akan beberapa aktivitas seperti sistem perniagaan, game, pelayanan masyarakat, periklanan, atau semua proses yang hampir dilakukan manusia. c. Harip Santoso Aplikasi adalah suatu kelompok file (form, class, report) yang bertujuan untuk melakukan aktivitas tertentu yang saling terkait, misalnya aplikasi payroll, aplikasi fixed asset, dan lain sebagainya. d. Yuhefizar Aplikasi merupakan program yang dikembangkan untuk memenuhi kebutuhan pengguna dalam menjalankan pekerjaan tertentu. e. Rachmad Hakim Aplikasi merupakan perangkat lunak yang digunakan untuk tujuan tertentu, seperti mengolah dokumen, mengatur Windows dan permainan (game), dan sebagainya.
Tiga Dara Karaoke
10
Rogy Sholehuddin
Laporan Kerja Praktek
f. R. Eko. I dan Djokopran Aplikasi merupakan proses atau prosedur aliran data dalam infrastruktur teknologi informasi yang dapat dimanfaatkan oleh para pengambil keputusan yang sesuai dengan jenjang dan kebutuhan. g. Puntodewo, A dan Dewi, S Aplikasi adalah direktori yang berisi file-file data yang disediakan untuk digunakan dalam proses aplikasi. h. Hendrayudi Aplikasi adalah kumpulan perintah program yang dibuat untuk melakukan pekerjaan-pekerjaan tertentu (khusus). i. Ibisa Aplikasi adalah alat bantu untuk mempermudah dan mempercepat proses pekerjaan dan bukan merupakan beban bagi para penggunanya.
2.3
Pengertian Prototyping Prototyping merupakan salah satu metode pengembangan perangat lunak yang banyak digunakan. Dengan metode prototyping ini pengembang dan pelanggan dapat saling berinteraksi selama proses pembuatan sistem. Banyak kasus terjadi seorang pelanggannya mendefinisikan secara umum apa yang dikehendakinya tanpa menyebutkan secara detail output apa saja yang dibutuhkan, pemrosesan dan data-data apa saja yang dibutuhkan. Sebaliknya disisi pengembang kurang memperhatikan efesiensi algoritma, kemampuan sistem operasi dan interface yang menghubungkan manusia dan komputer. Prototyping juga dapat didefinisikan sebagai proses pengembangan suatu prototype secara cepat untuk digunakan terlebih dahulu dan ditingkatkan terus menerus sampai didapatkan sistem yang utuh.
Tiga Dara Karaoke
11
Rogy Sholehuddin
Laporan Kerja Praktek
Keunggulan prototyping : 1. Adanya komunikasi yang baik antara pengembang dan pelanggan. 2. Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan. 3. Pelanggan berperan aktif dalam pengembangan system. 4. Lebih menghemat waktu dalam pengembangan system. 5. Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya.
Kelemahan prototyping : 1. Pelanggan kadang tidak melihat atau menyadari bahwa perangkat lunak yang ada belum mencantumkan kualitas perangkat lunak secara keseluruhan dan juga belum memikirkan kemampuan pemeliharaan untuk jangka waktu lama. 2. Pengembang biasanya ingin cepat menyelesaikan proyek. Sehingga menggunakan algoritma dan bahasa pemrograman yang sederhana untuk membuat prototyping lebih cepat selesai tanpa memikirkan lebih lanjut bahwa program tersebut hanya merupakan cetak biru system. 3. Hubungan pelanggan dengan komputer yang disediakan mungkin tidak mencerminkan teknik perancangan yang baik.
Gambar 2.1 Siklus Prototype (Sumber: Al fatta, Hanif, 2007,H:6)
Tiga Dara Karaoke
12
Rogy Sholehuddin
Laporan Kerja Praktek
Dari penjelasan gambar diatas maka tahapan prototype dijelaskan sebagai berikut: 1. Pengumpulan kebutuhan: developer dan client bertemu dan menentukan tujuan umum, kebutuhan yang diketahui dan gambaran bagian-bagian yang akan dibutuhkan berikutnya. Detil kebutuhan mungkin tidak dibicarakan disini, pada awal pengumpulan kebutuhan; 2. Perancangan : perancangan dilakukan cepat dan rancangan mewakili semua aspek software yang diketahui, dan rancangan ini menjadi dasar pembuatan prototype; 3. Evaluasi prototype: klien mengevaluasi prototype yang dibuat dan digunakan untuk memperjelas kebutuhan software;
2.4
OOP (Object Orieented Programming) OOP
atau
Object
Oriented
Programming
adalah
teknik
pemrograman berbasis object. Pemrograman dibagi dalam object-object kemudian di dalam objek-objek ini ada property dan method. Property ini lebih dikenal dengan variable yang bersifat public dan method ini merupakan function. Objek-objek ini bisa diperluas lagi dengan inheritance atau turunan. Objek-objek turunan ini biasa dipakai untuk membuat objek yang merupakan modifikasi dari objek lain. Dengan pengelompokan-pengelompokan ini maka programming akan
terstruktur
dengan
baik
dan
mudah
dimanage.
Bahasa
programming yang sudah mengimplementasikan OOP adalah C++ dan Java. Pemograman PHP akhir-akhir ini juga dikembangkan menjadi bahasa pemrograman berbasis OOP (Object Orieented Programming) dengan lahirnya framework-framework berbasis PHP. OOP cocok untuk pemrograman yang kompleks atau direncanakan kompleks karena sangat mempermudah pemeliharaan. Untuk program yang sederhana tidak perlu menggunakan OOP karena akan tidak efisien.
Tiga Dara Karaoke
13
Rogy Sholehuddin
Laporan Kerja Praktek
Konsep OOP perlu diajarkan untuk software developer. Untuk project yang kompleks programer harus memahami OOP, untuk project yang sederhana tidak harus menggunakan OOP. Project yang perlu OOP antara lain akuntansi, ERP dan CRM. Tanpa disain yang baik, project-project itu akan mengalami kesulitan dalam pemeliharaan. Jika didisain dengan baik, maka kita dengan mudah membuat membuat pengelompokan coding-coding yang ada sehingga kita mudah memanagenya.
2.5
Sejarah Bahasa Pemrograman Java Java adalah bahasa pemograman tingkat tinggi yang berorientasi objek, diedarkan oleh Sun Microsystem pada awal tahun 1996. Sejarah awal Java berawal di tahun 1991 ketika satu group insinyur-insinyur Sun, yang dipimpin oleh Ptrick Naughton dan James Gosling, ingin mendesain sebuah bahasa pemograman komputer yang berukuran kecil yang dapat digunakan untuk peralatan elektronika konsumen sepertu switch boxes TV kabel. Dikarenakan peralatan-peralatan ini menggunakan konsumsi daya dan memory yang rendah, maka bahasa pemograman tersebut harus berukuran sangat kecil. Juga karena setiap vendor menggunakan CPU (central processing unit) yang berbeda, maka bahasa tersebut harus bersifat multiplatfrom, tidak terikat hanya pada satuarsitektur (Architecture Neutral). Proyek ini diberi nama Green Project. Karena harus bersifat Architecture Neutral, maka Green Project menggunakan Virtual Machine (atau dikenal dengan java virtual machine) yang berasal dari model implementasi bahasa Pascal di awal-awal perkembangan PC. Dikarenakan insinyurinsinyur Sun berlatar belakang Unix, jadi mereka mendasari bahasa pemograman mereka dengan C++ dari pada Pascal. Secara khusus mereka membuat bahasa mereka berorientasi obyek (object oriented), bukan berorientasi prosedur (procedural oriented) seperti model bahasa Pascal. Bahasa pemograman tersebut dinamakan Oak, kemudian diubah menjadi Java.
Tiga Dara Karaoke
14
Rogy Sholehuddin
Laporan Kerja Praktek
Karena pada awalnya ditujuan untuk pemograman device kecil, Java memiliki karakteristik berukuran kecil, efisien, dan portable untuk berbagai hardware. Perkembangannya sempat terhenti karena tidak ada yang tertarik dan tidak memiliki pasar seperti yang diramalkan. Ketika teknologi internet berkembang, Java diarahka nuntuk menjadi bahasa pemograman internet karena fitur-fitur Java seperti Architecture Neutral, real time, reliable dan secure sangat sesuai untuk pengembangan internet. 1.
Elemen Dasar Bahasa Pemrograman Java Tentunya kita telah mengerti tentang konsep pemrograman Java dari bagian pertama. Ada beberapa hal dalam pemrograman Java yang harus dikenal secara detial dan spesifik mengenai bahasa Java itu sendiri. Dalam mempelajari suatu yang dapat
dilakukan dengan
statement dan hal-hal dasar di bahasa Java dalam mendefinisikan sebuah metode seperti main atau yang lain. Namun sementara kita tidak
akan
membahas
tentang
paradigma
pemrograman
berorientasi objek seperti kelas dan objek dan bagaimana komunikasi antar objek dalam sebuah program. 2.
Statement dan Ekspresi Statement adalah bagian terkecil dalam sebuah program untuk melaksanakan suatu tugas tertentu, seperti memanggil metode, mendeklarasikan variabel, membandingkan dua buah variabel, mengassign suatu nilai ke dalam variabel, dll. Berikut ini adalah beberapa contoh statement: import java.awt.Graphics; int i = 0; System.out.println("Hallo
"
+
nama
+
",
Selamat Datang!"); this.isRuning = false; Statement-statement tadi hanya bertugas melakukan suatu tugas tanpa perlu mengembalikan suatu nilai atau hasil. Statement-
Tiga Dara Karaoke
15
Rogy Sholehuddin
Laporan Kerja Praktek
statement yang mengembalikan suatu nilai tersebut kita sebut ekspresi. Berikut contoh ekspresi: int arraySize = theArray.size(); int result = x + y + z; Dalam menulis statement tidak perlu menggunakan bentuk penulisan tertentu. Bisa juga menuliskan seluruh statement dalam satu baris walaupun hal ini sangat tidak dianjurkan. Yang paling penting untuk diingat bahwa whitespace (enter, spasi, dan tab) tidak mempengaruhi program, dan setiap statement harus selalu diakhiri tanda titik koma (;). 3. Komentar Komentar adalah salah satu bagian penting dalam penulisan source code program. Komentar dalam suatu source code program. Komentar digunakan oleh programer untuk menjelaskan bagian-bagian dari source code yang ditulisnya. Hal ini dapat membantu programer itu sendiri maupun orang lain pada saat membaca apalagi mengembangkan atau memperbaiki source code. Dalam bahasa pemrograman manapun selalu ada fitur komentar. Java sendiri memiliki sintaks yang sangat mirip dengan C dan C++, dengan tambahan yang sangat baik yaitu komentar yang nantinya digunakan untuk menciptakan dokumentasi secara otomatis oleh suatu aplikasi yang disebut Javadoc. Dalam Java ada 3 sintaks komentar: a. Komentar untuk satu baris saja, yaitu yang dimulai dengan tanda // sampai dengan akhir baris; b. Komentar untuk beberapa baris, yaitu yang dimulai dengan tanda /* dan diakhiri dengan tanda */; c. Komentar khusus untuk membuat dokumentasi program, yaitu yang dimulai dengan tanda /** dan diakhiri dengan tanda */.
Tiga Dara Karaoke
16
Rogy Sholehuddin
Laporan Kerja Praktek
Berikut ini contoh ketiga sintaks komentar: /** *
Class
for
displaying
message
to
standard output */ public class Diplayer { /** * This method is the main method. It will display the message * to the standard output */ public static void main (String[] args) { /*
First
we
declare
the
mesg
variable and assign a value into it, then we print out the String into standard output */ // variable declaration String
mesg
=
“Program
ini
berhasil!”; // display the String variable System.out.println(mesg); } }
Pada waktu program tersebut dikompile, maka komentar akan diabaikan oleh kompiler. Jadi komentar tidak akan mempengaruhi program anda dan hanya berfungsi sebagai bantuan bagi programer. Kesalahan menuliskan bentuk komentar
dapat
menyebabkan
program
tidak
dapat
dikompile.
Tiga Dara Karaoke
17
Rogy Sholehuddin
Laporan Kerja Praktek
4. Variabel dan Tipe Data Variabel dalam ilmu matematika adalah sesuatu yang menyimpan nilai yang dapat berubah-ubah. Demikian juga dalam
bahasa
pemrograman.
Variabel
dalam
bahasa
pemrograman adalah lokasi dalam memori sebuah nilai disimpan dan nilai tersebut dapat diubah. Setiap variabel memiliki nama, tipe dan nilai. Untuk menggunakan variabel harus mendeklarasikan variabel
tersebut.
Informasi
yang
dibutuhkan
dalam
pendeklarasian variabel adalah tipe variabel tersebut. Tipe variabel sendiri akan kita bahas sebentar lagi. Setelah mendeklarasikan variabel, kita dapat memberi nilai kepada variabel
tersebut,
yang
dalam
bahasa
pemrograman
diistilahkan dengan assignment. Jadi assignment adalah proses pemberian nilai kepada sebuah variabel. Kita dapat mendefinisikan variabel di bagian manapun dari program sama seperti statement. Namun dianjurkan pendefinisian variabel diletakkan pada awal pendefinisian metode di mana variabel tersebut digunakan. Dalam beberapa hal, kita perlu melakukan pendefinisian variabel di tempat lain untuk menyesuaikan ruang lingkup berlakunya variabel tersebut. Untuk memahami lebih jauh pendefinisian variabel dan hal-hal yang dapat lakukan dalam mendefinisikan variabel, perhatikanlah kode berikut ini:
public static void main (String[ ] args) { int x; // deklarasi variable biasa int
y,
z;
//
deklarasi
dua
variabel
bertipe sama sekaligus boolean isRunning = true;
Tiga Dara Karaoke
18
Rogy Sholehuddin
Laporan Kerja Praktek
//
deklarasi
sekaligus
assignment
nilai int a = 3, b = 4; // deklarasi sekaligus assignment nilai int c, d = 6; // deklarasi dan assignment variabel kedua } Kode tadi menunjukkan berbagai cara mendefinisikan variabel. Suatu saat mungkin akan merasakan manfaat tertentu
dalam
menggunakan
cara-cara
pendefinisian
tersebut. Namun disarankan menggunakan cara biasa saja demi kerapian dan pencegahan kesalahan-kesalahan akibat kelalaian dalam penulisan program. Java memiliki tiga jenis variabel, yaitu: variabel instans, variabel kelas, dan variabel lokal. Variabel instans adalah variabel yang digunakan sebagai atribut dari sebuah objek. Instans
adalah
objek
yang
diciptakan
dari
sebuah
kelas.Anggaplah kelas sebagai template untuk membuat objek. Variabel kelas adalah variabel yang digunakan sebagai atribut dari sebuah kelas. Berbeda dengan variabel instans, variabel kelas akan bernilai sama bagi semua instans dari kelas yang bersangkutan. Variabel kelas adalah variabel yang didefinisikan dan digunakan hanya dalam sebuah metode. Ketiga jenis variabel ini didefinisikan dengan cara yang sangat mirip tetapi variabel kelas dan instans diakses dan diassign dengan cara yang agak berbeda dibandingkan variabel lokal. Saat ini kita hanya akan memusatkan perhatian pada variabel lokal. Sebagai tambahan, tidak seperti bahasa pemrograman lain, Java tidak memiliki variabel global, yaitu variabel yang tersedia bagi semua bagian program. Dalam Java kita
Tiga Dara Karaoke
19
Rogy Sholehuddin
Laporan Kerja Praktek
menggunakan
variabel
kelas
dan
instans
untuk
mengkomunikasikan informasi global di antara objek-objek. Hal ini disebabkan Java menganut paradigma pemrograman berorientasi objek murni, sehingga segala hal dipandang sebagai interaksi antar objek bukan antar bagian program. Nama sebuah variabel harus diawali huruf atau garis bawah (_) atau tanda dolar ($), dan tidak boleh diawali angka. Karakter berikutnya boleh angka. Ingat kembali Java bersifat case sensitive, jadi perhatikan besar kecil huruf yang dipakai dalam nama variabel. Java juga menggunakan set karakter Unicode. Namun hal ini tidak terlalu penting untuk Anda ketahui. Disarankan agar membuat nama variabel yang mengandung makna, sehingga memudahkan pembacaan program Anda, misalnya go Button, cancel Button, status Label, dan lainnya. 5. Jenis Variabel Setiap variabel harus memiliki sebuah tipe. Tipe tersebut bisa berupa salah satu dari delapan tipe primitif Java, nama kelas atau interface, atau sebuah array. Saat ini kita hanya akan membahas tipe primitif dan tipe kelas saja. 1) Tipe Primitif Java memiliki delapan jenis tipe primitif atau tipe-tipe dasar yang builtin.Tipe tersebut disebut primitif karena dibangun ke dalam sistem dan bukan benar-benar objek sehingga pemakaiannya lebih efisien. Tipe-tipe tersebut tidak bergantung pada arsitektur mesin, sehingga pemakaiannya tidak mengganggu portabilitas program Anda. Penting untuk diperhatikan bahwa tipe primitif dimulai dengan huruf kecil, karena ada kelas yang memiliki nama yang sama dengan tipe primitif tersebut yang disebut kelas pembungkus. 2) Tipe Kelas
Tiga Dara Karaoke
20
Rogy Sholehuddin
Laporan Kerja Praktek
Tipe kelas digunakan untuk menyimpan instans dari kelas atau instans subkelas dari kelas tersebut. Subkelas adalah kelas yang mewarisi sifat-sifat kelas tertentu. 6. Literal Literal adalah sebuah istilah dalam bahasa pemrograman yang berarti sesuatu nilai yang memiliki arti atau nilai sesuai dengan apa yang kita ketikkan. Memberi nilai 4 pada suatu variabel bertipe int, maka nilai variabel tersebut adalah 4. Bilangan, karakter, dan string kesemuanya merupakan literal. Berikut dijelaskan beberapa jenis literal dalam Java. Literal angka dapat berupa bilangan positif. Angka negatif ditulis dengan menambahkan tanda minus (-) di awal angka positif.Angka oktal dengan menambahkan angka 0 di awalnya. Angka heksadecimal dengan menambahkan 0x di awalnya. Literal angka floating point (pecahan desimal) biasanya memiliki dua bagian yaitu bagian integer dan bagian desimal. Untuk memaksa suatu bilangan menjadi misalnya float atau long, cukup tambahkan huruf F atau L di belakang bilangan tersebut. Untuk eksponen gunakan huruf E, seperti 3.0E-7 yang berarti 3,0 kali 10 pangkat minus 7 (0,0000003). Literal boolean terdiri atas true dan false. Literal karakter terdiri sebuah karakter dalam kutip tunggal seperti 'a', '#', atau '1'. Literal karater juga memiliki karakter khusus yang mewakili karakter noncetak. Huruf d pada oktal, hekadecimal, dan escape Unicode mewakili bilangan biasa atau bilangan heksadecimal. Literal string pada dasarnya adalah kombinasi dari karakter dalam tanda kutip ganda. Maka itu karakter-karakter khusus dalam. Sebagai kelas tersendiri (bukan tipe primitif) String mempunyai metode-metode sehingga dapat melakukan penggabungan, tes, dan pengubahan literal String dengan mudah.
Tiga Dara Karaoke
21
Rogy Sholehuddin
Laporan Kerja Praktek
7. Ekspresi dan Operator Ekspresi
adalah
statement
yang
secara
nyata
menyelesaikan tugas tertentu dan mengembalikan nilai yang dihasilkannya
(statement
biasa
biasanya
tidak
akan
mengembalikan nilai apapun). Kebanyakan
ekspresi
dalam
Java
menggunakan
operator.Operator adalah simbol khusus untuk operasi tertentu, seperti untuk operasi aritmatika, assignment, increment, decrement, dan berbagai operasi logika.Operatoroperator tersebut membutuhkan satu atau dua bahkan 3 buah operan. Dalam operator increment dan decrement, letak operator adalah penting. Operator yang terletak di depan operan berarti nilai operan dioperasikan terlebih dahulu sebelum diambil. Sebaliknya jika operator berada di belakang operan, maka nilai operan diambil dulu sebelum dioperasikan. Dalam mengevaluasi sebuah ekspresi yang terdiri atas beberapa operator, Java akan mengerjakan operator-operator tersebut berdasarkan prioritas tertentu yang disebut presedensi operator. Untuk membuat sebuah ekspresi dengan urutan pengerjaan tertentu, Anda dapat menggunakan tanda kurung untuk mengelompokkan ekspresi. Sesuai dengan presedensi operator, maka Java akan memproses terlebih dahulu ekspresi yang berada dalam tanda kurung
2.6
Definisi MySQL MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (database management system) atau DBMS yang multithread, multi-user,dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public License (GPL),
Tiga Dara Karaoke
22
Rogy Sholehuddin
Laporan Kerja Praktek
tetapi mereka juga menjual dibawah lisensi komersial untuk kasuskasus dimana penggunaannya tidak cocok dengan penggunaan GPL. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam
database
sejak
lama,
yaitu
SQL
(Structured
Query
Language).SQL adalah sebuah konsep pengoperasian database, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomastis. MySQL juga memiliki beberapa kelebihan, antara lain : 1.
Portability MySQL dapat berjalan stabil pada berbagai sistem operasi seperti windows, Linux, FreeBSD, Solaris dan lain-lain.
2.
Open Source MySQL didistribusikan secara open source (gratis), dibawah lisensi GPL sehingga dapat digunakan cuma-Cuma.
3.
Multi User MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah atau konflik.
4. Performance Tuning MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu. 5. Coloumn Types MySQL memiliki tipe kolom yang sangat kompleks, seperti integer, double, char, text, datedan lain-lain. 6. Command and Function MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah select danwhere dalam query. 7. Security MySQL memiliki beberapa lapisan sekuritas seperti level subnetmask, namahost, dan izin akses user dengan sistem perizinan yang mendetail serta password terenkripsi.
Tiga Dara Karaoke
23
Rogy Sholehuddin
Laporan Kerja Praktek
8. Scability and Limits MySQL mampu menangani database dalam skala besar, dengan jumlah records lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya. 9. Connectivity MySQL dapat melakukan koneksi dengan clients menggunakan protokol TCP/IP, Unix socket (UNIX) atau Named Pipes (NT). 10. Localisation MySQL dapat mendeteksi pesan kesalahan pada client dengan menggunakan lebih dari dua puluh bahasa. Meskipun demikian, bahasa Indonesia belum termasuk didalamnya. 11. Interface MySQL memiliki interface (antar muka) terhadap berbagai aplikasi dan bahasa pemograman dengan menggunakan fungsi API (Aplication Programming Interface). 12. Clients and Tools MySQL dilengkapi dengan berbagai tools yang dapat digunakan untuk administrasi database dan pada setiap tool yang ada disertakan petunjuk online.
2.7
Sewa Menyewa 1.
Pengertian Sewa Menyewa Sewa menyewa adalah suatu perjanjian, dengan mana pihak yang satu mengikatkan dirinya untuk memberikan kenikmatan suatu barang kepada pihak lain selama waktu tertentu, dengan pembayaran suatu harga yang disanggupi oleh pihak yang terakhir itu (perhatikan Pasal 1548 KUHPerdata). Pengertian lain mengenai sewa menyewa dikemukakan oleh Algra (1983 : 199) sebagai persetujuan untuk pemakaian sementara
Tiga Dara Karaoke
24
Rogy Sholehuddin
Laporan Kerja Praktek
suatu benda, baik bergerak maupun tidak bergerak, dengan pembayaran suatu harga tertentu. Berdasarkan uraian pengertian mengenai sewa menyewa tersebut di atas maka dapat ditarik unsur-unsur sebagai berikut :
Adanya pihak yang menyewakan dan pihak penyewa,
Adanya konsensus antara kedua belah pihak,
Adanya objek sewa menyewa, yaitu barang, baik bergerak maupun tidak bergerak,
Adanya
kewajiban
dari
pihak
yang
menyewakan
untuk
menyerahkan kenikmatan kepada pihak penyewa atas suatu benda,
Adanya kewajiban dari penyewa untuk menyerahkan uang pembayaran kepada pihak yang menyewakan.
2.
Subjek dan Objek Sewa Menyewa Subjek atau pihak yang terlibat dalam perjanjian sewa menyewa adalah pihak yang menyewakan dan pihak penyewa. Pihak yang menyewakan adalah orang atau badan hukum yang menyewakan barang atau benda kepada pihak penyewa, sedangkan pihak penyewa adalah orang atau badan hukum yang menyewa barang atau benda dari pihak yang menyewakan. Objek dalam perjanjian sewa menyewa adalah barang atau benda, dengan syarat barang atau benda yang disewakan adalah barang yang halal, artinya tidak bertentangan dengan undang-undang, ketertiban, dan kesusilaan.
3.
Hak dan Kewajiban Pihak Yang Menyewakan Hak dari pihak yang menyewakan adalah menerima harga sewa yang telah ditentukan, sedangkan kewajibannya adalah sebagai berikut (perhatikan Pasal 1551-1552 KUHPerdata) :
Tiga Dara Karaoke
25
Rogy Sholehuddin
Laporan Kerja Praktek
Barang yang disewakan harus diserahkan dalam keadaan baik,
Barang yang disewakan harus terus dijaga baik-baik dan yang rusak wajib diperbaiki (apabila hal tersebut menjadi tanggung jawabnya),
Menjamin terhadap penyewa untuk dapat
memakai dan
menggunakan barang yang disewa dengan aman selama berlaku perjanjian sewa menyewa,
Menanggung segala kekurangan pada benda yang disewakan, yaitu kekurangan-kekurangan yang dapat menghalang-halangi pemakaian benda itu, walaupun ia sejak berlakunya perjanjian itu tidak mengetahui adanya kekurangan atau cacat tersebut.
4.
Hak dan Kewajiban Penyewa Hak dari penyewa adalah menerima barang yang disewakan dalam keadaan baik, sedangkan kewajibannya adalah sebagai berikut (perhatikan Pasal 1560-1566 KUHPerdata) :
Membayar uang sewa pada waktu yang telah ditentukan,
Tidak diperkenankan mengubah tujuan barang yang disewakan,
Mengganti kerugian apabila terjadi kerusakan yang disebabkan oleh penyewa sendiri, atau oleh orang-orang yang diam di dalam rumah yang disewa,
Mengembalikan barang yang disewa dalam keadaan semua ketika perjanjian sewa menyewa tersebut telah habis waktunya,
Menjaga barang yang disewa sebagai tuan rumah yang bertanggung jawab,
Tidak boleh menyewakan lagi barang sewaannya kepada orang lain. Apabila telah ditentukan demikian, dan ketentuan tersebut dilanggar, maka perjanjian dapat dibubarkan dan penyewa dapat dituntut mengganti perongkosan, kerugian, serta bunga.
Tiga Dara Karaoke
26
Rogy Sholehuddin
5.
Laporan Kerja Praktek
Bentuk dan Substansi Perjanjian Sewa Menyewa KUHPerdata tidak menentukan secara tegas tentang bentuk perjanjian sewa menyewa yang dibuat oleh para pihak. Perjanjian sewa menyewa dapat dibuat dalam bentuk tertulis maupun lisan. Dalam
praktik,
perjanjian
sewa
menyewa
misalnya
seperti
bangunan/tanah dibuat dalam bentuk tertulis dan isi perjanjian telah dirumuskan oleh para pihak dan/atau notaris. Adapun substansi perjanjian sewa menyewa minimal memuat halhal sebagai berikut :
Tanggal dibuatnya perjanjian sewa menyewa,
Subjek hukum, yaitu para pihak yang terlibat dalam perjanjian sewa menyewa,
Objek yang disewakan,
Jangka waktu sewa,
Besarnya uang sewa,
Hak dan kewajiban masing-masing pihak dalam perjanjian tersebut,
Dapat juga ditambahkan mengenai berakhirnya kontrak dan denda.
6.
Risiko Atas Musnahnya Barang Risiko mewajibkan seseorang untuk memikul suatu kerugian, jikalau ada kejadian di luar kemampuan salah satu pihak yang menimpa benda yang menjadi objek perjanjian. Musnah atas barang atau benda yang menjadi objek sewa menyewa dapat dibagi menjadi 2 (dua) macam, yaitu musnah secara total dan musnah sebagian dari objek sewa (perhatikan ketentuan Pasal 1553 KUHPerdata).
Tiga Dara Karaoke
27
Rogy Sholehuddin
Laporan Kerja Praktek
Jika barang yang disewakan oleh penyewa itu musnah secara keseluruhan di luar kesalahannya pada masa sewa, perjanjian sewa menyewa itu gugur demi hukum dan yang menanggung risiko atas musnahnya barang tersebut adalah pihak yang menyewakan. Artinya, pihak yang menyewakan yang akan memperbaiki dan menanggung segala kerugiannya.
Jika barang yang disewa hanya sebagian yang musnah maka penyewa dapat memilih menurut keadaan, akan meminta pengurangan harga sewa atau akan meminta pembatalan perjanjian sewa menyewa. Pada dasarnya, pihak penyewa dapat menuntut kedua hal tersebut, namun tidak dapat menuntut pembayaran ganti kerugian kepada pihak yang menyewakan.
Tiga Dara Karaoke
28
BAB III ANALISIS 3.1 Keadaan Lokasi Objek Penelitian 3.1.1 Nama Objek Kerja Praktek Objek kerja praktek ini adalah Tiga Dara Karaoke di Tiga Dara.
3.1.2 Alamat Objek Kerja Praktek Kantor Tiga Dara Karaoke beralamat di Jl.K.H Abdul Halim No.131 Majalengka.
3.1.3 Visi Dan Misi Objek Kerja Praktek 3.1.3.1 Visi Konsep karaoke keluarga modern, aman dan bersih. 3.1.3.2 Misi Tiga Dara Karaoke akan menjadi pilihan pertama untuk kegiatan rekreasi bernyanyi dan sangat tepat sebagai tempat perayaan dan berbagi kebahagiaan bersama sama dalam gaya dan nuansa seperti merasa dalam rumah sendiri dengan fasilitas yang lengkap.
3.2 Anaisis Sistem Yang Sedang Berjalan Sistem yang sedang berjalan dalam pengolahan data penyewaan karaoke adalah operator akan mencatat data konsumen yang akan mendaftar diri untuk penyewaan karaoke, setelah data tersebut ada maka operator akan melakukan pencatatan data sesuai dengan kebutuhan dan selanjutnya akan dilakukan cetak (print out) untuk dijadikan laporan dan akan diserahkan kepenyewa karaoke dan kepala karaoke untuk laporan pemasukan.
29
Rogy Sholehuddin
Laporan kerja Praktek
Konsumen
Mendaftar
Kasir
Kepala Karaoke
Meng input data
Melakukan pembayaran
Mencatat data penjualan
Membuat Laporan
Menerima Laporan
Menerima Laporan
Tabel 3.1 Activity Diagram proses program yang Diusulkan
Tiga Dara Karaoke
30
Rogy Sholehuddin
Laporan kerja Praktek
3.3 Permasalahan Yang Dihadapi Dalam sistem yang berjalan tersebut dapat saya analisis proses penyewaan Karaoke di Tiga Dara, saya menemukan beberapa masalah yang dihadapi yaitu sebagai berikut: 1. Proses Penyewaan masih dilakukan secara manual yaitu dicatat dibuku penjualan,sehingga dinilai kurang efisien. 2. Pembuatan laporan penjualan masih dilakukan manual,sehingga dinilai memakan banyak waktu untuk pembuatan laporan.
3.4 Sistem Yang Diusulkan Mengacu pada permasalahan yang dihadapi saya mengusulkan untuk merancang aplikasi proses penyewaan karaoke. dalam aplikasi tersebut akan merubah proses yang sebelumnya manual dibuat menjadi terkomputerisasi.
Tiga Dara Karaoke
31
BAB IV PERANCANGAN 4.1. Tujuan Perancangan Perancangan Aplikasi Penyewaan Karaoke ini dibangun bertujuan untuk memudahkan petugas dalam mengelola dan mengawasi data penyewaan agar lebih mudah dan cepat dalam menyajikan data untuk selanjutnya dicetak dan dijadikan laporan. Dalam perancangannya penulis menggunakan beberapa metode dalam diagram UML yaitu Use Case Diagram dan Class Diagram. 4.2. Perancangan Database Tabel login Primary key Password Nama
Tipe
length
Keterangan
Username
VARCHAR
15
Nama pengguna
Password
VARCHAR
20
Kata kunci
Tabel 4.1 Menu login
Tabel Menu Input Primary key Id Nama
Tipe
length
Keterangan
Id
INTEGER
5
Id penyewa
Nama
VARCHAR
30
Nama penyewa
Tanggal
DATE
Lama sewa
INTEGER
10
Lamanya sewa
Total
INTEGER
10
Jumlah biaya sewa
Tanggal sewa
Tabel 4.2 Menu Input
32
Rogy Sholehuddin
Laporan Kerja Peraktek
4.3. Use Case Diagram 4.3.1.
Deskripsi Alur Yang Berjalan Diagram
use
case merupakan
pemodelan
untuk
menggambarkan kelakuan (behavior) sistem yang akan dibuat. Diagram use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem yang akan dibuat. Diagram use case digunakan untuk mengetahui fungsi apa saja yang ada di dalam sebuah sistem dan siapa saja yang berhak menggunakan fungsifungsi tersebut. Berikut ini adalah perancangan use case diagram untuk Penyewaan Karaoke di Tiga Dara. Sebelum melakukan tahapan penginputan data penyewa, terlebih dahulu seorang operator melakukan login pada aplikasi tersebut. Setelah masuk menu login operator dapat melakukan penginputan data penyewa karaoke. Selain itu operator menginputkan waktu lamanya sewa beserta total biaya penyewaan dan kemudian terlebih dahulu akan di simpan di tabel penyewaan. Setelah si penyewa selesai karaoke penyewa tersebut langsung mendatangi operator untuk membayar total biaya karaoke. Jika si penyewa ingin melakukan penambahan waktu karaoke, dapat berbicara langsung dengan operator. Kemudian si operator akan mengedit data lamanya sewa karaoke. Jika setelah si penyewa selsesai melakukan karaoke, si penyewa langsung datang langsung ke operator untuk mengambil struk pembayaran.
Tiga Dara Karaoke
33
Rogy Sholehuddin
Laporan Kerja Peraktek
Berikut adalah use case diagram dari kegiatan diatas:
Gambar 4.1 Use Case Diagram 4.4. Class Diagram Class Diagram menggambarkan struktur sistem dari segi pendefinisian kelaskelas yang akan dibuat untuk membangun sistem. Berikut adalah rancangan Class Diagram pada aplikasi Data Penyewaan.
Gambar 4.2 Class Diagram
Tiga Dara Karaoke
34
Rogy Sholehuddin
Laporan Kerja Peraktek
4.5. Perancangan Antar Muka (Interface) Perancangan Interface bertujuan sebagai gambaran bagaimana pemetaan menu dan sub-menu yang ada dalam interface yang akan dibuat, dalam perancangan ini terdiri dari perancangan form login, menu utama, form input dan rancangan interface cetak. 1.
Rancagan Interface Form Login Login Username : Password : Login
batal
Gambar 4.3 Form Login
2.
Rancangan Interface Form Menu Utama MENU UTAMA Master Menu
GAMBAR
Gambar 4.4 Form Menu Utama
Tiga Dara Karaoke
35
Rogy Sholehuddin
3.
Laporan Kerja Peraktek
Rancangan Interface Form Menu Input Aksi
Form Input ID
:
NAMA
:
TANGGAL
:
LAMA SEWA
:
TOTAL BIAYA
:
SIMPAN
Id
BATAL
Nama
Tanggal
HITUNG
EDIT
Lama sewa
HAPUS
Total biaya
Gambar 4.5 Form Menu Input
4.
Rancagan Interface Form Print Data ID
NAMA
TANGGAL
LAMA SEWA
TOTAL
Gambar 4.6 Form Cetak
Tiga Dara Karaoke
36
Rogy Sholehuddin
Laporan Kerja Peraktek
4.6. Klasifikasi Kebutuhan Klasifikasi
/
Spesifikasi
Kebutuhan
Sistem
yang
dibutuhkan
untuk
menjalankan Aplikasi Penyewaan Karaoke adalah sebagai berikut : 1.
Prosesor
: Minimum 1.0 GHZ
2.
Memory/RAM
: Minimum 512MB
3.
Harddisk
: Minimun 10GB
4.
OS
: Windows XP, 7.
5.
VGA
: Minimum Resolusi 1024x768 Piksel
4.7. Klasifikasi Pengguna Klasifikasi pengguna yang di butuhkan untuk menjalankan Aplikasi Penyewaan Karaoke yaitu
minimum
mengusai dasar komputer seperti
mengetik dan menjalankan aplikasi.
Tiga Dara Karaoke
37
BAB V IMPLEMENTASI Berikut ini adalah implementasi dari rancang bangun aplikasi administrasi surat masuk di Universitas Majalengka yang telah saya buat yang terdiri dari penjelasan perangkat penunjang aplikasi dan hasil pengecekan atau testing terhadap aplikasi yang telah dibuat. 5.1. Perangkat Penunjang Aplikasi Berikut ini adalah perangkat penunjang yang dapat menjalankan aplikasi: 1) Sistem Operasi Windows XP, atau lebih. 2) Pentium 4, atau lebih. 3) RAM 1 GB, atau lebih. 4) Monitor yang memiliki 1024 x 600 pixel, atau lebih. 5) Keyboard, Mouse, Printer.
5.2. Testing Program 1) Tampilan Awal Form Menu Login
Gambar 5.1. Form Menu Login
38
Rogy Sholehuddin
Laporan Kerja Peraktek
Berikut ini adalah tabel hasil pengecekan terhadap form login yang telah saya lakukan: Tabel 5.1. Tabel Pegecekan Form Login No. 1.
Jenis Pengecekan
Hasil
Mengosongkan form
Maaf coba periksa kembali
kemudian klik login.
Username dan Password dengan benar.
2.
Memasukkan username atau
Maaf coba periksa kembali
password yang salah.
Username dan Password dengan benar.
3.
Memasukkan username dan
Login berhasil dan redirect ke
password yang terdaftar di
Menu utama admin aplikasi.
database database.
2) Form Menu Utama
Gambar 5.2. Form Menu Utama
Tiga Dara Karaoke
39
Rogy Sholehuddin
Laporan Kerja Peraktek
3) Form Menu Input
Gambar 5.3. Form Menu Input Data Berikut ini adalah tabel hasil pengecekan terhadap Form Menu Input yang telah saya lakukan: Tabel 5.2. Tabel Pegecekan Form Menu Input Data No. 1.
Jenis Pengecekan
Hasil
Mengosongkan form
Muncul pesan peringatan form
kemudian klik tombol
masih kosong dan harus diisi.
Simpan. 2.
Mengisi semua form
Data input otomatis tersimpan
kemudian klik tombol
ke data laporan dan bisa
Simpan.
langsung di print lewat jasper irepot.
3.
Mengisi semua form
Form kembali kosong.
kemudian klik tombol Reset. 4.
Mengklik dan memilih 1 baris
Data lama berhasil di ubah
isi laporan data kemudian
dengan data yang baru di edit
rubah sebagian isi data di
dan data muncul di laporan
menu input lalu klik tombol
data.
edit.
Tiga Dara Karaoke
40
Rogy Sholehuddin
No.
5.
Laporan Kerja Peraktek
Jenis Pengecekan
Hasil
Mengklik dan memilih 1
Data laporan akan terhapus
baris isi laporan data
sesuai data yang di pilih.
kemudian klik tombol hapus.
4) Form Cetak Laporan
Gambar 5.4. Form Cetak Laporan Berikut ini adalah tabel hasil pengecekan terhadap form cetak laporan yang telah saya lakukan: Tabel 5.3. Tabel Pegecekan Form Cetak Laporan No. 1.
Jenis Pengecekan
Hasil
Mengosongkan form
Muncul pesan peringatan form
kemudian klik tombol Cetak
masih kosong dan harus diisi.
Laporan Laporan. 2.
Tiga Dara Karaoke
Mengisi semua form
Data otomatis membuka tab
kemudian klik tombol Cetak
baru dan bisa langsung ngsung di print
Laporan Laporan..
lewat jasper irepot irepot..
41
BAB VI PENUTUP 6.1. Kesimpulan Setelah penelitian dilakukan dan aplikasi diselesaikan, maka saya menyimpulkan berberapa poin rumusan masalah, yang diantaranya : 1. Proses penyewaan di tiga dara yang semulanya dengan menggunakan buku dengan cara dicatat menjadi terkomputerisasi. 2. Aplikasi penginputan data penyewaan karaoke di tiga dara, serta untuk
mempermudah
admin
untuk
merekap
data
laporan
penginputan. 3. Perancangan Aplikasi Penyewaan Karaoke ini dibangun bertujuan untuk memudahkan petugas dalam mengelola dan mengawasi data penyewaan agar lebih mudah dan cepat dalam menyajikan data untuk selanjutnya dicetak dan dijadikan laporan. 6.2. Saran Saran bagi yang akan melakukan pengembangan aplikasi ini, akan lebih baik lagi jika aplikasi ini di tambahkan fitur dari segi biling/durasi penyewaan serta.
42
DAFTAR PUSTAKA
[A13]Andgaa,2013.” Metodologi Pengembangan Software berbasis SDLC (Software Development Life Cycle)”. [AH07]Al fatta, Hanif, 2007,” Analisis dan perancangan system informasi untuk [HPF&EK] Henry Prat Fairchild dan Eric Kohler (2001 : 46)”Pengertian Sistem”. [HR]Hidayat,Rahmat.”Penjualan:Arti Dan Kepentingannya”. [HWL]Hakim,Wahyu,Lukman.”Pengertian Prototype”. [I]Indodoin”Batasan Sistem”. [J] Jogiyanto (2003 : 34)”Pengertian Sistem”. [OS11] Oktaviani,Susan.”Tujuan Dan Manfaat Penelitian”. [P] Pamudji (2005 : 41)”Pengertian Sistem”. [P] Prajudi (2010 : 25)”Pengertian Sistem”. [SKI dan A06] Syafiie,Kencana,Inu dan Azhari, 2006. “Sistem Politik Indonesia”, PT Refika Aditama: Bandung. http://elista.akprind.ac.id/upload/files/3098_MATERI_1.PDF( 19-00, 23-10-2014 ). http://www.blog.jayusman.com/2013/02/02/sejarah-bahasa-pemrograman-java,html ( 16-00, 25-10-2014 ). http://www.pengertianahli.com/2013/08/pengertian-sistem-menurut-para-ahli.html( 16-00, 23-10-2014 ). http://www.proweb.co.id/articles/web_application/oop_adalah.html( 19-00, 24-10-2014 ). http://www.proweb.co.id/articles/web_application/oop_adalah.html( 23-00, 24-10-2014 ). http://www.scribd.com/doc/58298607/Pengertian-Prototype by wahyu Lukman Hakim. ( 2000, 24-10-2014 ). https://www.academia.edu/5464810/Materi_02_-_SDLC( 19-00, 17-10-2014 ).
DOKUMENTASI
HALAMAN DEPAN TEMPAT KERJA PRAKTEK
PEKERJA TIGA DARA
KASIR KARAOKE DAN KANTIN TIGA DARA
TEMPAT KARAOKE TIGADARA
Coding Login /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package penyewaan; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import javax.swing.JOptionPane; /** * * @author RAMADHAN */ public class Login extends javax.swing.JDialog { /** * Creates new form Login */ public Login(java.awt.Frame parent, boolean modal) { super(parent, modal); initComponents(); }
/** * This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() { jPanel1 = new javax.swing.JPanel(); jPanel3 = new javax.swing.JPanel(); jPanel2 = new javax.swing.JPanel(); jLabel5 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); jLabel1 = new javax.swing.JLabel(); jTextField1 = new javax.swing.JTextField(); jPasswordField1 = new javax.swing.JPasswordField(); jLabel2 = new javax.swing.JLabel(); jButton1 = new javax.swing.JButton(); jButton2 = new javax.swing.JButton(); javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHorizontalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 100, Short.MAX_VALUE) ); jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 100, Short.MAX_VALUE)
); javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3); jPanel3.setLayout(jPanel3Layout); jPanel3Layout.setHorizontalGroup( jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 100, Short.MAX_VALUE) ); jPanel3Layout.setVerticalGroup( jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 100, Short.MAX_VALUE) ); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); setPreferredSize(new java.awt.Dimension(350, 350)); setResizable(false); getContentPane().setLayout(null); jPanel2.setBackground(new java.awt.Color(51, 204, 0)); jPanel2.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); jLabel5.setIcon(new javax.swing.ImageIcon("C:\\Users\\RAMADHAN\\Documents\\NetBeansProjects\\penyewaan\\foto\\142 3235118_Login.png")); // NOI18N jLabel5.setText("jLabel5"); jLabel5.setPreferredSize(new java.awt.Dimension(70, 70)); jLabel3.setFont(new java.awt.Font("Drift Wood", 0, 36)); // NOI18N jLabel3.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); jLabel3.setText("Login");
jLabel1.setFont(new java.awt.Font("Comic Sans MS", 0, 11)); // NOI18N jLabel1.setText("User name
:");
jPasswordField1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEventevt) { jPasswordField1ActionPerformed(evt); } }); jPasswordField1.addKeyListener(new java.awt.event.KeyAdapter() { public void keyPressed(java.awt.event.KeyEventevt) { jPasswordField1KeyPressed(evt); } }); jLabel2.setFont(new java.awt.Font("Comic Sans MS", 0, 11)); // NOI18N jLabel2.setText("Password
:");
jButton1.setFont(new java.awt.Font("Comic Sans MS", 0, 11)); // NOI18N jButton1.setIcon(new javax.swing.ImageIcon("C:\\Users\\RAMADHAN\\Documents\\NetBeansProjects\\penyewaan\\foto\\142 3235162_Symbol-Check.png")); // NOI18N jButton1.setText("Login"); jButton1.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); jButton1.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); jButton1.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEventevt) { jButton1MouseClicked(evt); } }); jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEventevt) { jButton1ActionPerformed(evt); } }); jButton2.setFont(new java.awt.Font("Comic Sans MS", 0, 11)); // NOI18N jButton2.setIcon(new javax.swing.ImageIcon("C:\\Users\\RAMADHAN\\Documents\\NetBeansProjects\\penyewaan\\foto\\142 3235202_Symbol-Delete.png")); // NOI18N jButton2.setText("Batal"); jButton2.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); jButton2.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEventevt) { jButton2ActionPerformed(evt); } }); javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2); jPanel2.setLayout(jPanel2Layout); jPanel2Layout.setHorizontalGroup( jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel2Layout.createSequentialGroup() . addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel2Layout.createSequentialGroup() .addContainerGap() .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(35, 35, 35) .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 146, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel2Layout.createSequentialGroup() .addGap(36, 36, 36) .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup() .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18) .addComponent(jPasswordField1, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup() .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18) .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup() .addGap(10, 10, 10) .addComponent(jButton1) .addGap(36, 36, 36) .addComponent(jButton2))))) .addContainerGap(72, Short.MAX_VALUE)) ); jPanel2Layout.setVerticalGroup( jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel2Layout.createSequentialGroup() .addGap(10, 10, 10)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(18, 18, 18) .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel1) .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(18, 18, 18) .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jPasswordField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(55, 55, 55) .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jButton1) .addComponent(jButton2)) .addContainerGap(65, Short.MAX_VALUE)) ); getContentPane().add(jPanel2); jPanel2.setBounds(0, 0, 350, 330); pack(); }// private void jButton1ActionPerformed(java.awt.event.ActionEventevt) { // TODO add your handling code here:
Connection conn = new koneksi().connect(); String sql = "select * from admin where username=? and password=?"; try { PreparedStatementps = conn.prepareStatement(sql); ps.setString(1, jTextField1.getText()); ps.setString(2, jPasswordField1.getText()); ResultSetrs = ps.executeQuery(); if(rs.next()){ this.dispose(); MenuUtama mu = new MenuUtama(); mu.show(); } else{ JOptionPane.showMessageDialog(null, " Maafcobaperiksakembali Username dan Password denganbenar "); } } catch (Exception e) { }
// TODO add your handling code here:
} private void jButton2ActionPerformed(java.awt.event.ActionEventevt) { // TODO add your handling code here: dispose(); // TODO add your handling code here: } private void jPasswordField1KeyPressed(java.awt.event.KeyEventevt) { // TODO add your handling code here: }
private void jPasswordField1ActionPerformed(java.awt.event.ActionEventevt) { // TODO add your handling code here: } private void jButton1MouseClicked(java.awt.event.MouseEventevt) { // TODO add your handling code here: } /** * @paramargs the command line arguments */ public static void main(String args[]) { /* Set the Nimbus look and feel */ //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) "> /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */ try { for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; } } } catch (ClassNotFoundException ex) { java.util.logging.Logger.getLogger(Login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(Login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (IllegalAccessException ex) { java.util.logging.Logger.getLogger(Login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(Login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } // /* Create and display the dialog */ java.awt.EventQueue.invokeLater(new Runnable() { public void run() { Login dialog = new Login(new javax.swing.JFrame(), true); dialog.addWindowListener(new java.awt.event.WindowAdapter() { @Override public void windowClosing(java.awt.event.WindowEvent e) { System.exit(0); } }); dialog.setVisible(true); } }); }
// Variables declaration - do not modify private javax.swing.JButton jButton1; private javax.swing.JButton jButton2; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel5; private javax.swing.JPanel jPanel1; private javax.swing.JPanel jPanel2; private javax.swing.JPanel jPanel3; private javax.swing.JPasswordField jPasswordField1; private javax.swing.JTextField jTextField1; // End of variables declaration }
Coding Menu Utama /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ packagepenyewaan; /** * * @author RAMADHAN */ public class MenuUtama extends javax.swing.JFrame { /** * Creates new form MenuUtama */ publicMenuUtama() { initComponents(); setLocationRelativeTo(this); } /** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() {
jLabel2 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); jPanel3 = new javax.swing.JPanel(); jPanel4 = new javax.swing.JPanel(); jLabel4 = new javax.swing.JLabel(); jLabel1 = new javax.swing.JLabel(); jPanel1 = new javax.swing.JPanel(); jPanel2 = new javax.swing.JPanel(); jMenuBar1 = new javax.swing.JMenuBar(); jMenu3 = new javax.swing.JMenu(); jMenuItem1 = new javax.swing.JMenuItem(); jMenuItem3 = new javax.swing.JMenuItem(); jMenuItem2 = new javax.swing.JMenuItem(); jLabel2.setIcon(new javax.swing.ImageIcon("D:\\DSC01833.jpg")); // NOI18N jLabel2.setText("jLabel2"); jLabel2.setVerticalAlignment(javax.swing.SwingConstants.TOP); jLabel2.setAutoscrolls(true); jLabel2.setDebugGraphicsOptions(javax.swing.DebugGraphics.NONE_OPTION); jLabel2.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); jLabel3.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); jLabel3.setIcon(new javax.swing.ImageIcon("D:\\DSC01833.jpg")); // NOI18N jLabel3.setText("jLabel3"); jLabel3.setToolTipText(""); jLabel3.setVerticalAlignment(javax.swing.SwingConstants.BOTTOM); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); setBackground(java.awt.Color.blue); setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
setIconImages(null); setLocationByPlatform(true); setMaximumSize(new java.awt.Dimension(1024, 600)); setMinimumSize(new java.awt.Dimension(1366, 786)); setPreferredSize(new java.awt.Dimension(1366, 786)); getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); jPanel4.setBackground(new java.awt.Color(0, 0, 0)); jPanel4.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); jLabel4.setIcon(new javax.swing.ImageIcon("C:\\Users\\RAMADHAN\\Documents\\NetBeansProjects\\penyewa an\\foto\\DSC01833-1.jpg")); // NOI18N jLabel4.setText("jLabel4"); jLabel4.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); jLabel4.setPreferredSize(new java.awt.Dimension(980, 480)); jPanel4.add(jLabel4); getContentPane().add(jPanel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 60, 1030, 520)); jLabel1.setFont(new java.awt.Font("Drift Wood", 0, 36)); // NOI18N jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); jLabel1.setText("Menu Utama"); jLabel1.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); getContentPane().add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 10, 990, -1)); getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(790, -40, -1, -1)); jPanel2.setBackground(new java.awt.Color(51, 204, 0)); getContentPane().add(jPanel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 1030, 60)); jMenu3.setText("Menu Bar"); jMenu3.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jMenu3.setFont(new java.awt.Font("Comic Sans MS", 0, 12)); // NOI18N jMenuItem1.setFont(new java.awt.Font("Comic Sans MS", 0, 12)); // NOI18N jMenuItem1.setText("Menu Input"); jMenuItem1.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); jMenuItem1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEventevt) { jMenuItem1ActionPerformed(evt); } }); jMenu3.add(jMenuItem1); jMenuItem3.setText("Data Laporan "); jMenuItem3.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); jMenuItem3.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEventevt) { jMenuItem3ActionPerformed(evt); } }); jMenu3.add(jMenuItem3); jMenuItem2.setFont(new java.awt.Font("Comic Sans MS", 0, 12)); // NOI18N jMenuItem2.setText("Keluar"); jMenuItem2.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); jMenuItem2.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEventevt) { jMenuItem2ActionPerformed(evt); } }); jMenu3.add(jMenuItem2);
jMenuBar1.add(jMenu3); setJMenuBar(jMenuBar1); pack(); }// private void jMenuItem1ActionPerformed(java.awt.event.ActionEventevt) { // TODO add your handling code here: input in = new input(); in.show(); this.hide(); } private void jMenuItem2ActionPerformed(java.awt.event.ActionEventevt) { // TODO add your handling code here: keluar dispose(); } private void jMenuItem3ActionPerformed(java.awt.event.ActionEventevt) { // TODO add your handling code here: PrintDatapd = new PrintData(); pd.show(); this.hide(); } /** * @paramargs the command line arguments */ public static void main(String args[]) { /* Set the Nimbus look and feel */ //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) "> /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */ try { for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; } } } catch (ClassNotFoundException ex) { java.util.logging.Logger.getLogger(MenuUtama.class.getName()).log(java.util.logging.Leve l.SEVERE, null, ex); } catch (InstantiationException ex) { java.util.logging.Logger.getLogger(MenuUtama.class.getName()).log(java.util.logging.Leve l.SEVERE, null, ex); } catch (IllegalAccessException ex) { java.util.logging.Logger.getLogger(MenuUtama.class.getName()).log(java.util.logging.Leve l.SEVERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(MenuUtama.class.getName()).log(java.util.logging.Leve l.SEVERE, null, ex); } //
/* Create and display the form */ java.awt.EventQueue.invokeLater(new Runnable() { public void run() { newMenuUtama().setVisible(true); } }); }
// Variables declaration - do not modify privatejavax.swing.JLabel jLabel1; privatejavax.swing.JLabel jLabel2; privatejavax.swing.JLabel jLabel3; privatejavax.swing.JLabel jLabel4; privatejavax.swing.JMenu jMenu3; privatejavax.swing.JMenuBar jMenuBar1; privatejavax.swing.JMenuItem jMenuItem1; privatejavax.swing.JMenuItem jMenuItem2; privatejavax.swing.JMenuItem jMenuItem3; privatejavax.swing.JPanel jPanel1; privatejavax.swing.JPanel jPanel2; privatejavax.swing.JPanel jPanel3; privatejavax.swing.JPanel jPanel4; // End of variables declaration }
Coding Menu Input /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ packagepenyewaan; importcom.mysql.jdbc.Connection; importjava.sql.DriverManager; importjava.sql.ResultSet; importjava.sql.SQLException; importjava.text.SimpleDateFormat; importjavax.swing.JOptionPane; importjavax.swing.JTextField; importjavax.swing.table.DefaultTableModel; /** * * @author RAMADHAN */ public class input extends javax.swing.JFrame { private final DefaultTableModel table; private String tgl; privateintsewa, biaya; /** * Creates new form input */ public input() {
initComponents(); setLocationRelativeTo(this); String[] data={"ID","NAMA","TANGGAL","LAMA SEWA","TOTAL"}; table=new DefaultTableModel(data,0){ @Override publicbooleanisCellEditable(int row, int column) { return false; } }; jTable1.setModel(table); tampil(); } /** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() { jLabel1 = new javax.swing.JLabel(); NAMA = new javax.swing.JTextField(); ID = new javax.swing.JTextField(); txtTotal = new javax.swing.JTextField(); jLabel2 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel(); jLabel6 = new javax.swing.JLabel(); jButton1 = new javax.swing.JButton(); jLabel7 = new javax.swing.JLabel(); jButton2 = new javax.swing.JButton(); jButton3 = new javax.swing.JButton(); jScrollPane1 = new javax.swing.JScrollPane(); jTable1 = new javax.swing.JTable(); date = new com.toedter.calendar.JDateChooser(); jButton4 = new javax.swing.JButton(); jButton5 = new javax.swing.JButton(); jComboBox1 = new javax.swing.JComboBox(); jPanel1 = new javax.swing.JPanel(); jPanel3 = new javax.swing.JPanel(); jPanel2 = new javax.swing.JPanel(); jLabel8 = new javax.swing.JLabel(); jMenuBar1 = new javax.swing.JMenuBar(); jMenu2 = new javax.swing.JMenu(); jMenuItem1 = new javax.swing.JMenuItem(); jMenuItem2 = new javax.swing.JMenuItem(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setPreferredSize(new java.awt.Dimension(1024, 600)); getContentPane().setLayout(null); jLabel1.setFont(new java.awt.Font("Drift Wood", 0, 36)); // NOI18N jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); jLabel1.setText("menu Input DATA"); getContentPane().add(jLabel1);
jLabel1.setBounds(20, 0, 980, 50); NAMA.setCursor(new java.awt.Cursor(java.awt.Cursor.TEXT_CURSOR)); NAMA.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEventevt) { NAMAActionPerformed(evt); } }); getContentPane().add(NAMA); NAMA.setBounds(130, 160, 160, 30); ID.setEditable(false); ID.setBackground(java.awt.Color.darkGray); ID.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEventevt) { IDActionPerformed(evt); } }); getContentPane().add(ID); ID.setBounds(130, 120, 160, 30);
txtTotal.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEventevt) { txtTotalActionPerformed(evt); } }); getContentPane().add(txtTotal); txtTotal.setBounds(130, 290, 160, 30); jLabel2.setFont(new java.awt.Font("Comic Sans MS", 0, 11)); // NOI18N
jLabel2.setText("ID
:");
getContentPane().add(jLabel2); jLabel2.setBounds(30, 120, 90, 30); jLabel3.setFont(new java.awt.Font("Comic Sans MS", 0, 11)); // NOI18N jLabel3.setText("NAMA
:");
getContentPane().add(jLabel3); jLabel3.setBounds(30, 160, 90, 30); jLabel4.setFont(new java.awt.Font("Comic Sans MS", 0, 11)); // NOI18N jLabel4.setText("TANGGAL
:");
getContentPane().add(jLabel4); jLabel4.setBounds(30, 200, 100, 30); jLabel5.setFont(new java.awt.Font("Comic Sans MS", 0, 11)); // NOI18N jLabel5.setText("LAMA SEWA
:");
getContentPane().add(jLabel5); jLabel5.setBounds(30, 250, 100, 30); jLabel6.setFont(new java.awt.Font("Comic Sans MS", 0, 11)); // NOI18N jLabel6.setText("TOTAL BIAYA
:");
getContentPane().add(jLabel6); jLabel6.setBounds(30, 290, 100, 30); jButton1.setFont(new java.awt.Font("Comic Sans MS", 0, 11)); // NOI18N jButton1.setText("HITUNG"); jButton1.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEventevt) { jButton1ActionPerformed(evt); } });
getContentPane().add(jButton1); jButton1.setBounds(210, 250, 80, 30); getContentPane().add(jLabel7); jLabel7.setBounds(10, 260, 0, 0); jButton2.setFont(new java.awt.Font("Comic Sans MS", 0, 11)); // NOI18N jButton2.setText("SIMPAN"); jButton2.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); jButton2.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEventevt) { jButton2ActionPerformed(evt); } }); getContentPane().add(jButton2); jButton2.setBounds(20, 430, 90, 40); jButton3.setFont(new java.awt.Font("Comic Sans MS", 0, 11)); // NOI18N jButton3.setText("RESET"); jButton3.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); jButton3.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEventevt) { jButton3ActionPerformed(evt); } }); getContentPane().add(jButton3); jButton3.setBounds(130, 430, 80, 40); jTable1.setModel(new javax.swing.table.DefaultTableModel( new Object [][] { {null, null, null, null},
{null, null, null, null}, {null, null, null, null}, {null, null, null, null} }, new String [] { "Title 1", "Title 2", "Title 3", "Title 4" } )); jTable1.setCursor(new java.awt.Cursor(java.awt.Cursor.TEXT_CURSOR)); jTable1.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEventevt) { jTable1MouseClicked(evt); } }); jScrollPane1.setViewportView(jTable1); getContentPane().add(jScrollPane1); jScrollPane1.setBounds(507, 122, 490, 430); date.addPropertyChangeListener(new java.beans.PropertyChangeListener() { public void propertyChange(java.beans.PropertyChangeEventevt) { datePropertyChange(evt); } }); getContentPane().add(date); date.setBounds(130, 200, 160, 30); jButton4.setFont(new java.awt.Font("Comic Sans MS", 0, 11)); // NOI18N jButton4.setText("EDIT"); jButton4.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jButton4.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEventevt) { jButton4ActionPerformed(evt); } }); getContentPane().add(jButton4); jButton4.setBounds(250, 430, 80, 40); jButton5.setFont(new java.awt.Font("Comic Sans MS", 0, 11)); // NOI18N jButton5.setText("HAPUS"); jButton5.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); jButton5.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEventevt) { jButton5ActionPerformed(evt); } }); getContentPane().add(jButton5); jButton5.setBounds(360, 430, 90, 40); jComboBox1.setFont(new java.awt.Font("Comic Sans MS", 0, 11)); // NOI18N jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "-", "1 jam", "2 jam", "3 jam", "4 jam", "5 jam", "6 jam", "7 jam", "8 jam" })); jComboBox1.setAutoscrolls(true); jComboBox1.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); jComboBox1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEventevt) { jComboBox1ActionPerformed(evt); } }); getContentPane().add(jComboBox1);
jComboBox1.setBounds(130, 250, 56, 30); jPanel1.setBackground(new java.awt.Color(51, 204, 0)); getContentPane().add(jPanel1); jPanel1.setBounds(-10, 60, 480, 520); jPanel3.setBackground(new java.awt.Color(51, 204, 0)); getContentPane().add(jPanel3); jPanel3.setBounds(-10, 0, 1050, 70); jPanel2.setBackground(new java.awt.Color(51, 204, 0)); jLabel8.setFont(new java.awt.Font("Comic Sans MS", 0, 24)); // NOI18N jLabel8.setText("Laporan Data"); jPanel2.add(jLabel8); getContentPane().add(jPanel2); jPanel2.setBounds(460, 70, 570, 520); jMenuBar1.setBackground(javax.swing.UIManager.getDefaults().getColor("Button.light")); jMenuBar1.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); jMenuBar1.setFont(new java.awt.Font("Comic Sans MS", 0, 12)); // NOI18N jMenu2.setText("Menu Bar"); jMenu2.setFont(new java.awt.Font("Comic Sans MS", 0, 12)); // NOI18N jMenuItem1.setFont(new java.awt.Font("Comic Sans MS", 0, 12)); // NOI18N jMenuItem1.setText("Menu Utama"); jMenuItem1.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); jMenuItem1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEventevt) { jMenuItem1ActionPerformed(evt); } }); jMenu2.add(jMenuItem1);
jMenuItem2.setFont(new java.awt.Font("Comic Sans MS", 0, 12)); // NOI18N jMenuItem2.setText("Keluar"); jMenuItem2.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); jMenuItem2.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEventevt) { jMenuItem2ActionPerformed(evt); } }); jMenu2.add(jMenuItem2); jMenuBar1.add(jMenu2); setJMenuBar(jMenuBar1); pack(); }// private void NAMAActionPerformed(java.awt.event.ActionEventevt) { // TODO add your handling code here: } private void IDActionPerformed(java.awt.event.ActionEventevt) { // TODO add your handling code here: } private void txtTotalActionPerformed(java.awt.event.ActionEventevt) { // TODO add your handling code here: } private void jButton1ActionPerformed(java.awt.event.ActionEventevt) { // TODO add your handling code here: sewa=Integer.parseInt((String) jComboBox1.getSelectedItem()); biaya=sewa*75000; txtTotal.setText(String.valueOf(biaya));
} private void jButton2ActionPerformed(java.awt.event.ActionEventevt) { try { Connection koneksi= (Connection) DriverManager.getConnection("jdbc:mysql://localhost/karaoke","root","root"); koneksi.createStatement().executeUpdate("insert into penyewaan (nama,tanggal,jam,harga) values('"+NAMA.getText()+"','"+tgl+"','"+jComboBox1.getSelectedItem()+"','"+txtTotal.get Text()+"')"); JOptionPane.showMessageDialog(rootPane, "Data IklanBerhasil di Simpan"); tampil(); } catch (SQLException ex) { JOptionPane.showMessageDialog(rootPane, "Form harus di isi...!"); } } private void datePropertyChange(java.beans.PropertyChangeEventevt) { // TODO add your handling code here: if (date.getDate() !=null) {SimpleDateFormat format = new SimpleDateFormat ("yyyy-MM-dd"); tgl=format.format (date.getDate()); System.out.println("propertychange"+tgl); } } private void jTable1MouseClicked(java.awt.event.MouseEventevt) { // TODO add your handling code here: inti=jTable1.getSelectedRow(); if(i>-1){ ID.setText(table.getValueAt(i, 0).toString()); NAMA.setText(table.getValueAt(i, 1).toString()); jComboBox1.setSelectedItem(table.getValueAt(i, 3).toString());
txtTotal.setText(table.getValueAt(i, 4).toString()); } } private void jButton3ActionPerformed(java.awt.event.ActionEventevt) { // TODO add your handling code here: ID.setText(null); NAMA.setText(null); date.setDate(null); jComboBox1.setSelectedItem(null); txtTotal.setText(null); } private void jButton4ActionPerformed(java.awt.event.ActionEventevt) { // TODO add your handling code here: try { Connection koneksi= (Connection) DriverManager.getConnection("jdbc:mysql://localhost/karaoke","root","root"); koneksi.createStatement().executeUpdate("update penyewaan set nama='"+NAMA.getText()+"',tanggal='"+tgl+"',jam='"+jComboBox1.getSelectedItem()+"',h arga='"+txtTotal.getText()+"' where id='"+ID.getText()+"'"); JOptionPane.showMessageDialog(rootPane, "Data IklanBerhasil di Edit"); tampil(); } catch (SQLException ex) { JOptionPane.showMessageDialog(rootPane, "DataBaseEror...!"); } } private void jComboBox1ActionPerformed(java.awt.event.ActionEventevt) { // TODO add your handling code here: } private void jButton5ActionPerformed(java.awt.event.ActionEventevt) {
// TODO add your handling code here: try { Connection koneksi= (Connection) DriverManager.getConnection("jdbc:mysql://localhost/karaoke","root","root"); koneksi.createStatement().executeUpdate("delete from penyewaan where id='"+ID.getText()+"'"); JOptionPane.showMessageDialog(rootPane, "Data IklanBerhasil di Hapus"); tampil(); } catch (SQLException ex) { JOptionPane.showMessageDialog(rootPane, "DataBaseEror...!"); } } private void jMenuItem1ActionPerformed(java.awt.event.ActionEventevt) { // TODO add your handling code here: MenuUtama mu = new MenuUtama(); mu.show(); this.hide(); } private void jMenuItem2ActionPerformed(java.awt.event.ActionEventevt) { // TODO add your handling code here: dispose(); } /** * @paramargs the command line arguments */ public static void main(String args[]) { /* Set the Nimbus look and feel */ //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */ try { for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; } } } catch (ClassNotFoundException ex) { java.util.logging.Logger.getLogger(input.class.getName()).log(java.util.logging.Level.SEVE RE, null, ex); } catch (InstantiationException ex) { java.util.logging.Logger.getLogger(input.class.getName()).log(java.util.logging.Level.SEVE RE, null, ex); } catch (IllegalAccessException ex) { java.util.logging.Logger.getLogger(input.class.getName()).log(java.util.logging.Level.SEVE RE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(input.class.getName()).log(java.util.logging.Level.SEVE RE, null, ex); } // /* Create and display the form */ java.awt.EventQueue.invokeLater(new Runnable() { public void run() {
new input().setVisible(true); } }); } // Variables declaration - do not modify privatejavax.swing.JTextField ID; privatejavax.swing.JTextField NAMA; privatecom.toedter.calendar.JDateChooser date; privatejavax.swing.JButton jButton1; privatejavax.swing.JButton jButton2; privatejavax.swing.JButton jButton3; privatejavax.swing.JButton jButton4; privatejavax.swing.JButton jButton5; privatejavax.swing.JComboBox jComboBox1; privatejavax.swing.JLabel jLabel1; privatejavax.swing.JLabel jLabel2; privatejavax.swing.JLabel jLabel3; privatejavax.swing.JLabel jLabel4; privatejavax.swing.JLabel jLabel5; privatejavax.swing.JLabel jLabel6; privatejavax.swing.JLabel jLabel7; privatejavax.swing.JLabel jLabel8; privatejavax.swing.JMenu jMenu2; privatejavax.swing.JMenuBar jMenuBar1; privatejavax.swing.JMenuItem jMenuItem1; privatejavax.swing.JMenuItem jMenuItem2; privatejavax.swing.JPanel jPanel1;
privatejavax.swing.JPanel jPanel2; privatejavax.swing.JPanel jPanel3; privatejavax.swing.JScrollPane jScrollPane1; privatejavax.swing.JTable jTable1; privatejavax.swing.JTextFieldtxtTotal; // End of variables declaration private void tampil() { try { int row=jTable1.getRowCount(); for (inti=0; i
CODING DATA LAPORAN /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ packagepenyewaan; importcom.mysql.jdbc.Connection; importjava.io.File; importjava.sql.DriverManager; importjava.sql.ResultSet; importjava.sql.SQLException; importjava.util.HashMap; importjavax.swing.JOptionPane; importjavax.swing.table.DefaultTableModel; importnet.sf.jasperreports.engine.JasperFillManager; importnet.sf.jasperreports.engine.JasperPrint; importnet.sf.jasperreports.engine.JasperReport; importnet.sf.jasperreports.engine.util.JRLoader; importnet.sf.jasperreports.view.JasperViewer; /** * * @author RAMADHAN */ public class PrintData extends javax.swing.JFrame { private final DefaultTableModel table; /**
* Creates new form Print */ publicPrintData() { initComponents(); String[] data={"ID","NAMA","TANGGAL","LAMA SEWA","TOTAL"}; table=new DefaultTableModel(data,0){ @Override publicbooleanisCellEditable(int row, int column) { return false; } }; jTable1.setModel(table); tampil(); } /** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() { jScrollPane1 = new javax.swing.JScrollPane(); jTable1 = new javax.swing.JTable(); jButton1 = new javax.swing.JButton(); jDateChooser1 = new com.toedter.calendar.JDateChooser(); jDateChooser2 = new com.toedter.calendar.JDateChooser();
jLabel2 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); jPanel1 = new javax.swing.JPanel(); jLabel5 = new javax.swing.JLabel(); javax.swing.JLabel jLabel4 = new javax.swing.JLabel(); jPanel3 = new javax.swing.JPanel(); jMenuBar1 = new javax.swing.JMenuBar(); jMenu1 = new javax.swing.JMenu(); jMenuItem1 = new javax.swing.JMenuItem(); jMenuItem2 = new javax.swing.JMenuItem(); jMenuItem3 = new javax.swing.JMenuItem(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); setPreferredSize(new java.awt.Dimension(1024, 600)); getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); jScrollPane1.setAutoscrolls(true); jTable1.setModel(new javax.swing.table.DefaultTableModel( new Object [][] { {null, null, null, null}, {null, null, null, null}, {null, null, null, null}, {null, null, null, null} }, new String [] { "Title 1", "Title 2", "Title 3", "Title 4" } ));
jTable1.setCursor(new java.awt.Cursor(java.awt.Cursor.TEXT_CURSOR)); jTable1.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEventevt) { jTable1MouseClicked(evt); } }); jScrollPane1.setViewportView(jTable1); getContentPane().add(jScrollPane1, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 70, 960, 280)); jButton1.setIcon(new javax.swing.ImageIcon("C:\\Users\\RAMADHAN\\Documents\\NetBeansProjects\\penyewa an\\foto\\1423234989_printer.png")); // NOI18N jButton1.setText("CetakLaporan"); jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEventevt) { jButton1ActionPerformed(evt); } }); getContentPane().add(jButton1, new org.netbeans.lib.awtextra.AbsoluteConstraints(670, 390, -1, -1)); getContentPane().add(jDateChooser1, new org.netbeans.lib.awtextra.AbsoluteConstraints(290, 400, -1, -1)); getContentPane().add(jDateChooser2, new org.netbeans.lib.awtextra.AbsoluteConstraints(460, 400, -1, -1));
jLabel2.setText("Cetak Dari Tanggal :"); getContentPane().add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(180, 400, -1, -1)); jLabel3.setText("Sampai :"); getContentPane().add(jLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(400, 400, -1, -1));
jPanel1.setBackground(new java.awt.Color(51, 204, 0)); jPanel1.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); jLabel5.setFont(new java.awt.Font("Drift Wood", 0, 36)); // NOI18N jLabel5.setText("data Laporan"); jPanel1.add(jLabel5); getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(-10, -10, 1040, 400)); jLabel4.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); jLabel4.setIcon(new javax.swing.ImageIcon("C:\\Users\\RAMADHAN\\Documents\\NetBeansProjects\\penyewa an\\foto\\1423234913_Search.png")); // NOI18N jLabel4.setText("jLabel4"); jLabel4.setVerticalAlignment(javax.swing.SwingConstants.BOTTOM); getContentPane().add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(140, 390, 35, -1)); jPanel3.setBackground(new java.awt.Color(51, 204, 0)); getContentPane().add(jPanel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(-10, 370, 1050, 220)); jMenu1.setText("Menu Bar"); jMenu1.setFont(new java.awt.Font("Comic Sans MS", 0, 12)); // NOI18N jMenuItem1.setFont(new java.awt.Font("Comic Sans MS", 0, 12)); // NOI18N jMenuItem1.setText("Menu Utama"); jMenuItem1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEventevt) { jMenuItem1ActionPerformed(evt); } }); jMenu1.add(jMenuItem1);
jMenuItem2.setFont(new java.awt.Font("Comic Sans MS", 0, 12)); // NOI18N jMenuItem2.setText("Menu Input"); jMenuItem2.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEventevt) { jMenuItem2ActionPerformed(evt); } }); jMenu1.add(jMenuItem2); jMenuItem3.setFont(new java.awt.Font("Comic Sans MS", 0, 12)); // NOI18N jMenuItem3.setText("Keluar"); jMenuItem3.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEventevt) { jMenuItem3ActionPerformed(evt); } }); jMenu1.add(jMenuItem3); jMenuBar1.add(jMenu1); setJMenuBar(jMenuBar1); pack(); }// private void jTable1MouseClicked(java.awt.event.MouseEventevt) { // TODO add your handling code here: } private void jButton1ActionPerformed(java.awt.event.ActionEventevt) { // TODO add your handling code here: try {
//koneksi String namaFile = "src/penyewaan/PrintOut.jasper"; Class.forName("com.mysql.jdbc.Driver").newInstance(); java.sql.Connection connection = DriverManager.getConnection("jdbc:mysql://localhost/karaoke", "root", "root"); //load laporan @SuppressWarnings("rawtypes") HashMap hash = new HashMap(2); hash.put("tgl1", jDateChooser1.getDate()); hash.put("tgl2", jDateChooser2.getDate()); //compile File file = new File(namaFile); JasperReportjasperReport = (JasperReport) JRLoader.loadObjectFromFile(file.getPath()); JasperPrintjasperPrint = JasperFillManager.fillReport(jasperReport, hash, connection); //tampilkan JasperViewer.viewReport(jasperPrint, false); } catch (Exception e) { e.printStackTrace(); System.out.println(e.getMessage()); } } private void jMenuItem1ActionPerformed(java.awt.event.ActionEventevt) { // TODO add your handling code here: MenuUtama mu = new MenuUtama(); mu.show(); this.hide(); } private void jMenuItem2ActionPerformed(java.awt.event.ActionEventevt) {
// TODO add your handling code here: input in = new input(); in.show(); this.hide(); } private void jMenuItem3ActionPerformed(java.awt.event.ActionEventevt) { // TODO add your handling code here: dispose(); } /** * @paramargs the command line arguments */ public static void main(String args[]) { /* Set the Nimbus look and feel */ //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) "> /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */ try { for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; } } } catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(PrintData.class.getName()).log(java.util.logging.Level.S EVERE, null, ex); } catch (InstantiationException ex) { java.util.logging.Logger.getLogger(PrintData.class.getName()).log(java.util.logging.Level.S EVERE, null, ex); } catch (IllegalAccessException ex) { java.util.logging.Logger.getLogger(PrintData.class.getName()).log(java.util.logging.Level.S EVERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(PrintData.class.getName()).log(java.util.logging.Level.S EVERE, null, ex); } // /* Create and display the form */ java.awt.EventQueue.invokeLater(new Runnable() { public void run() { newPrintData().setVisible(true); } }); } // Variables declaration - do not modify privatejavax.swing.JButton jButton1; privatecom.toedter.calendar.JDateChooser jDateChooser1; privatecom.toedter.calendar.JDateChooser jDateChooser2; privatejavax.swing.JLabel jLabel2; privatejavax.swing.JLabel jLabel3; privatejavax.swing.JLabel jLabel5; privatejavax.swing.JMenu jMenu1; privatejavax.swing.JMenuBar jMenuBar1;
privatejavax.swing.JMenuItem jMenuItem1; privatejavax.swing.JMenuItem jMenuItem2; privatejavax.swing.JMenuItem jMenuItem3; privatejavax.swing.JPanel jPanel1; privatejavax.swing.JPanel jPanel3; privatejavax.swing.JScrollPane jScrollPane1; privatejavax.swing.JTable jTable1; // End of variables declaration private void tampil() { // coding jangnampilkeun data kanutabel: try { int row=jTable1.getRowCount(); for (inti=0; i