Perancangan Sistem Informasi Persewaan CD I. Pendahuluan Perancangan Program Sistem Informasi ini menggunakan database server MySQL untuk menyimpan dan mengolah data yang berhubungan dengan persewaan CD. Kami menggunakan bahasa pemrograman Java dengan tools NetBeans 5.0 untuk merancang program SI tersebut. Agar Java bisa berkomunikasi dengan database server MySQL, kami juga menggunakan sebuah library yang berisi klas-klas untuk keperluan koneksi Java dengan MySQL, library ini berbentuk sebuah file .jar dengan nama mysql-connector-java-3.0.14-production-bin.jar yang bisa didownload secara gratis di situs MySQL (http://www.mysql.com/). Tahap-tahap atau garis besar perancangan program ini antara lain: 1. Registrasi klas atau mengenalkan klas apa yang menghubungkan program dengan database servernya. Setelah registrasi klas berhasil dilakukan selanjutnya adalah menghubungkan database server tersebut dengan program. 2. Jika koneksi gagal, ditampilkan pesan kesalahan kemudian program diterminate. Jika koneksi berhasil, dilanjutkan dengan tahap-tahap pengolahan data yang akan kami jelaskan lebih merinci pada bab selanjutnya. II. Perancangan Program Seperti telah disampaikan sebelumnya bahwa langkah pertama pada perancangan program ini adalah melakukan koneksi antara program dengan database server dengan memanfaatkan sebuah library (Connector/j). Untuk itu kami membuat sebuah kelas yang bernama NgetesKoneksi.java yang didalamnya terdapat methodmethod untuk mengecek apakah koneksi dengan database server berhasil dilakukan. Method-method yang dimaksud antara lain method loadKlasDriver()untuk registrasi klas yang menghubungkan program dan database server, dan method koneksiDatabase() untuk melakukan koneksi dengan database. Kami juga menambahkan beberapa method yang berhubungan dengan GUI untuk memperindah tampilan. Kode 2.0. Method loadKlasDriver() Kode 2.1. Method koneksiDatabase() Method loadDriver(), mencoba untuk mengenalkan kelas apa yang digunakan untuk koneksi, kelas tersebut adalah: com.mysql.jdbc.Driver. Method koneksiDatabase(), mencoba koneksi dengan database RentalCD dengan database server yang berada di dalam komputer itu sendiri (localhost) dan portnya: 3306. Nantinya semua klas yang mempunyai aktivitas pengolahan data (pd database RentalCD) atau aktivitas apapun yang berhubungan dengan database RentalCD, harus berurusan dengan kedua method ini. Dibawah ini kami tampilkan screenshot tampilan awal program. Program ini pertama memanggil class MainFrame.java yang menampilkan sebuah frame utama. Konstruktor MainFrame() untuk pertama kali mendefinisikan class NgetesKoneksi yang mewarisi sifat JinternalFrame, kemudian menampilkannya: ScreenShot 2.0. tampilan awal program (cek koneksi dengan database server) Setelah koneksi berhasil dilakukan, MainFrame akan memanggil sebuah class lagi setelah tombol ”Lanjut” diklik oleh user. Class ini bernama CustomerWindow yang juga mewarisi sifat dari JinternalFrame. Class ini dibuat dengan tujuan agar customer (pelanggan) dapat dengan mudah mencari judul cd yang akan dipinjamnya tanpa harus bertanya atau mencari satu-persatu di buku catalog. Bersamaan dengan pemanggilan class ini, menu-menu yang bersifat administrative dinonaktifkan (didisable). Jika ingin mengaktifkan menu-menu administrative ini seorang user harus melakukan autentikasi sebagai administrator dengan menggunakan username dan password yang sudah dimilikinya. Untuk lebih jelasnya lihat screenshot 2.1: Menu-menu yang bersifat administratif di nonaktifkan ScreenShot 2.1. Tampilan setelah koneksi dengan database server berhasil Jika seorang admin ingin memperoleh hak akses pada level administrator, terlebih dahulu dia harus login menggunakan username dan password yang dimilikinya. Jika login gagal maka akan muncul pesan kesalahan dan proses login diulang, jika login berhasil akan muncul pesan login berhasil dan menu-menu yang bersifat administratif akan diaktifkan. Untuk lebih jelasnya, lihat screenshot 2.2 dan 2.3: ScreenShot 2.2. Tampilan jendela Login ScreenShot 2.3. Tampilan sesudah berhasil login Menu-menu yang tadinya tidak aktif menjadi aktif Setelah berhasil Login Menu-menu yang aktif setelah proses login berhasil 1. Add koleksi : Jika menu ini dieksekusi akan memanggil class AddCD.java yang akan menampilkan form yang digunakan untuk menambahkan data pada tabel Game, Music, dan Film (subMenu: AddGame, AddMusic, AddFilm). 2. Edit & Hapus Data CD : Jika menu ini dieksekusi akan memanggil class EditCd.java yang akan menampilkan form yang digunakan untuk mengedit dan menghapus data pada tabel Game, Music, dan Film (subMenu: Edit/Hapus Game, Edit/Hapus Music, Edit/Hapus Film). 3. Manajemen Admin : Jika menu ini dieksekusi akan memanggil class DataAdmin.java yang akan menampilkan form yang digunakan untuk menabah, mengedit, menghapus seorang admin. 4. Manajemen Customer : Jika menu ini dieksekusi akan memanggil class DataCustomer.java yang akan menampilkan form yang digunakan untuk menambah, mengedit, menghapus data pelanggan (customer). 5. Log Out : Menu untuk keluar dari level akses administrator dan kembali ke level akses user biasa (customer). 6. Pinjam & Balik : Menu ini nantinya akan digunakan untuk menampilkan form yang berhubungan dengan peminjaman dan pengembalian cd. Tapi untuk sementara menu ini belum bisa digunakan sebagaimana mestinya karena program yang kami rancang ini belum sempurna dikarenakan keterbatasan waktu. Class-class yang dipanggil pada saat menu-menu yang bersifat administratif dieksekusi 1. Class AddCd.java: class ini jika dipanggil akan memberikan tampilan form (InternalFrame) yang digunakan untuk menambahkan data koleksi cd ke tabel Game, Musik, atau Film. Lihat ScreenShot 2.4 ScreenShot 2.4. Form penambahan data koleksi CD 2. Class EditCd.java : class ini jika dipanggil akan memberikan tampilan form (InternalFrame) yang digunakan untuk mengedit atau menghapus data pada tabel Game, Musik, atau Film. Lihat ScreenShot 2.5. ScreenShot 2.5. Form untuk edit & hapus data pada tabel Game,Music, atau Film 3. Class DataAdmin.java : class ini jika dipanggil akan memberikan tampilan form (InternalFrame) yang digunakan untuk menambah, atau menghapus seorang admin. Lihat ScreenShot 2.6. ScreenShot 2.6. Form Manajemen Admin 4. DataCustomer.java : class ini jika dipanggil akan memberikan tampilan form (InternalFrame) yang digunakan untuk menambah, mengedit, atau menghapus data customer. Lihat ScreenShot 2.7. ScreenSot 2.7. Form manajemen data customer Untuk Kelas yang berhubungan dengan peminjaman dan pengembalian cd, sampai saat ini belum dapat kami selesaikan mengingat waktu yang terbatas. Untuk itu kami hanya akan memberikan gambaran tentang kelas yang akan kami buat tersebut untuk menyempurnakan program SI ini. Kelas yang akan kami buat nanti adalah kelas untuk keperluan peminjaman dan pengembalian cd. Terlebih dahulu, kami akan membuat lagi sebuah tabel di MySQL yaitu tabel peminjaman. Setelah itu kami akan mulai merancang sebuah class untuk keperluan pengolahan tabel tersebut. Dan mengatur kondisi-kondisi yang mungkin terjadi saat peminjaman dan saat pengembalian CD. contoh : jika terjadi proses pengembalian (dengan asumsi semua CD yang dipinjam oleh seorang customer akan dikembalikan semua dalam 1 kali proses pengembalian), pertama akan dicek tanggal pinjam dan tanggal kembali, jika terlambat maka akan dikenai denda yang diakumulasikan dengan jumlah hari keterlambatan, setelah itu data-data tertentu pada tabel peminjaman akan dihapus, jika tidak terlambat maka tidak ada denda dan langsung menghapus data-data tertentu pada tabel peminjaman. TUGAS PBO PERANCANGAN SISTEM INFORMASI SEBUAH PERUSAHAAN PERSEWAAN CD Daftar Kelompok: Arif Nazar P 09704 Aulia Cahyo S 10590 Laila M Azizah 11009 Deny Sutrisno 10386 Yudha Widanto 11206 Dio Dinta D 11167 Rahmat Setyaji 10866 Sidhi Artha 10788 Nyoman Dwi C 11276