dppl rplbo

Upload: taufik

Post on 04-Mar-2016

312 views

Category:

Documents


14 download

DESCRIPTION

Contoh rpl pbo

TRANSCRIPT

  • DOKUMEN PEMBANGUNAN PERANGKAT LUNAK

    untuk:

    Dipersiapkan oleh:

    Mirella Tri Ratnasari (095314003)

    Rafaela Rosi Prihaningrum (095314012)

    Setyo Resmi Probowati (095314039)

    Fiona Endah Kwa (095314041)

  • 2

    Program Studi Teknik Informatika Universitas Sanata Dharma Yogyakarta

    Program Studi

    Teknik Informatika

    USD

    Nomor Dokumen Halaman

    DPPL-DOC-2009 1/29

    Revisi 0 Tgl: 16 April

    2009

    DAFTAR PERUBAHAN

    Revisi Deskripsi

    A

    B

    C

    D

    E

    F

    G

  • 3

    INDEX

    TGL

    - A B C D E F G

    Ditulis

    oleh

    Diperiksa

    oleh

    Disetujui

    oleh

    Daftar Halaman Perubahan

    Halaman Revisi Halaman Revisi

  • 4

    Daftar Isi

    1 Pendahuluan................................................................................................................................. 6

    1.1 Tujuan Penulisan Dokumen .................................................................................................. 6

    1.2 Lingkup Masalah ................................................................................................................... 6

    1.3 Aturan Penomoran............................................................... Error! Bookmark not defined.

    1.4 Referensi................................................................................................................................ 6

    1.5 Deskripsi Umum Dokumen (Ikhtisar) ................................................................................... 6

    2 Kebutuhan Perangkat Lunak ........................................................................................................ 7

    2.1 Deskripsi Umum Sistem........................................................................................................ 7

    2.2 Fitur Utama Perangkat Lunak ............................................................................................... 7

    2.2.1 Kebutuhan Fungsional ..................................................................................................... 7

    2.2.2 Kebutuhan Non Fungsional ............................................................................................. 8

    2.3 Spesifikasi Tambahan ........................................................................................................... 8

    2.4 Glossary ................................................................................................................................. 8

    3 Model Use Case .......................................................................................................................... 8

    3.1 Diagram Use Case ................................................................................................................. 8

    3.2 Definisi Actor ........................................................................................................................ 8

    3.3 Definisi Use Case .................................................................................................................. 9

    3.4 Skenario Use Case ................................................................................................................. 9

    3.4.1 Use Case : Login ......................................................................................................................... 9

    3.4.5 Use Case : Mencatat Data Ketersediaan Mobil ..................................................................... 13

    3.4.6 Use Case : Membuat Jadwal Peminjaman Mobil ................................................................. 14

    3.4.7 Use Case : Mencatat Data Pengembalian Mobil ................................................................... 15

    4 Model Analisis .......................................................................................................................... 16

    4.1 Realisasi Use Case Tahap Analisis ..................................................................................... 16

    4.1.1 Use Case : Login ................................................................................................................... 16

    Diagram Squence ........................................................................................................................... 17

    4.1.3 Use Case : Mencatat Data Diri Penyewa .............................................................................. 21

    Diagram Squence ........................................................................................................................... 22

    4.3 Kelas Analisis ...................................................................................................................... 32

    4.4 Paket Analisis ...................................................................................................................... 39

    4.4.1 Identifikasi Paket Analisis ............................................................................................. 39

    4.4.2 Identifikasi Kelas Analisis tiap Paket ............................................................................ 39

    4.5 Deskripsi Arsitektur ............................................................................................................ 40

    5.1 Realisasi Use Case Tahap Perancangan .............................................................................. 40

    5.2 Diagram Kelas Keseluruhan................................................................................................ 42

    5.3 Kelas Perancangan ................................................................................................................... 42

    5.3.1 Operasi dan Atribut ....................................................................................................... 43

    Kelas DataPenyewa.java ............................................................................................................ 45

    SignUpAddController.java ......................................................................................................... 46

    5.3.2 Algoritma/Query ............................................................................................................ 48

    5.3.3 Diagram Statechart ........................................................ Error! Bookmark not defined.

    5.4 Perancangan Basis Data ...................................................................................................... 60

    5.5 Perancangan Antarmuka ..................................................................................................... 60

  • 5

    5.6 Coding Standard dan Naming Convention (Dikosongkan dulu)Error! Bookmark not defined.

    5.7 Deployment Diagram .......................................................... Error! Bookmark not defined.

    6 Implementasi .............................................................................................................................. 61

    6.1 Implementasi Kelas ............................................................................................................. 61

    6.2 Implementasi Basis Data ..................................................................................................... 62

    6.3 Implementasi Antarmuka .................................................................................................... 62

    7 Pengujian.................................................................................................................................... 63

    7.1 Rencana dan Prosedur Pengujian ........................................................................................ 63

    7.1.1 Rencana Pengujian ........................................................................................................ 63

    7.1.2 Prosedur Pengujian ........................................................ Error! Bookmark not defined.

    7.2 Kasus Uji ............................................................................................................................. 63

    7.2.1 Pengujian Use Case ........................................................................... 63

    7.3 Defect dan Status Perbaikan ................................................................................................ 70

    7.4 Evaluasi Pengujian .............................................................. Error! Bookmark not defined.

    8 Lampiran .................................................................................................................................... 71

  • 6

    1 Pendahuluan

    1.1 Tujuan Penulisan Dokumen

    Tujuan penulisan dokumen ini yaitu untuk memberi informasi mengenai pencataan

    data diri penyewa mobil, pencatatan biaya pembayaran sewa mobil, pencatatan tanggal

    peminjaman dan pengembalian sewa mobil, pencetakan slip tanda bukti pembayaran

    transaksi penyewaan mobil, pencatatan denda keterlambatan pengembalian penyewaan

    mobil.

    1.2 Lingkup Masalah

    Dokumen ini berisi penjelasan mengenai sistem informasi penyewaan mobil yang

    meliputi:

    pencatatan data diri penyewa mobil

    pencatatan data penyewaan mobil

    pencatatan data ketersediaan mobil

    pembuatan jadwal penyewaan mobil

    pencatatan data pengembalian mobil

    1.3 Referensi

    Template spesifikasi kebutuhan perangkat lunak dan project charter.

    1.4 Deskripsi Umum Dokumen (Ikhtisar)

    Bab satu yaitu pendahuluan, terdiri dari tujuan penulisan dokumen, lingkup masalah,

    aturan penulisan, referensi dan deskripsi umum dokumen.

    Bab dua yaitu kebutuhan perangkat lunak, terdiri dari deskripsi umum sistem, fitur

    utama perangkat lunak, spesifikasi tambahan dan glossary. Fitur utama perangkat lunak

    mencakup kebutuhan fungsional dan kebutuhan non fungsional.

    Bab tiga yaitu model use case, terdiri dari diagram use case, definisi aktor, definisi

    use case dan skenario use case.

    Bab empat yaitu model analisis, terdiri dari realisasi use case tahap analisis, diagram

    kelas keseluruhan, kelas analisis, paket analisis dan deskripsi arsitektur. Paket analisis

    mencakup identifikasi paket analisis dan identifikasi kelas analisis tiap paket.

    Bab lima yaitu, model perancangan, terdiri dari realisasi use case tahap perancangan,

    diagram kelas keseluruhan, kelas perancangan, perancangan basis data, perancangan

    antarmuka, coding standard dan naming convention serta deployment diagram. Kelas

    perancangan mencakup operasi dan atribut, algoritma/query dan diagram statechart.

    Bab enam yaitu implementasi, terdiri dari implementasi kelas, implementasi basisdata

    dan implementasi antarmuka.

    Bab tujuh yaitu pengujian, terdiri dari rencana dan prosedur pengujian, kasus uji,

    defect dan status perbaikan serta evaluasi pengujian. Rencana dan prosedur pengujian

    mencakup rencana pengujian dan prosedur pengujian. Kasus uji mencakup pengujian use

    case.

    Bab delapan yaitu lampiran.

  • 7

    2 Kebutuhan Perangkat Lunak

    2.1 Deskripsi Umum Sistem

    Software yang akan dibuat membutuhkan software lain yang dapat terhubung dengan

    database, untuk membantu proses pencatatan. Software ini berguna untuk membantu

    mencatat data diri penyewa dan data mobil. Software ini dirancang dengan desain yang

    mudah digunakan oleh siapapun.

    2.2 Fitur Utama Perangkat Lunak

    Beberapa fitur yang akan di berikan oleh sistem ini :

    Pencatatan data diri penyewa

    Pencatatan data penyewaan mobil

    Pencatatan data ketersediaan mobil

    Pencatatan data pengembalian mobil

    Pembuatan jadwal penyewaan mobil

    2.2.1 Kebutuhan Fungsional

    Operator

    Kode Kebutuhan Fungsional Keterangan

    SRS-K-001 Operator melakukan login

    sebelum masuk ke sistem

    Merupakan tampilan awal saat operator akan

    masuk ke dalam sistem

    SRS-K-002 Operator bertugas untuk

    mencatat data diri penyewa

    mobil

    Merupakan tampilan yang digunakan untuk

    memasukkan data diri penyewa mobil untuk

    selanjutnya disimpan dalam database

    SRS-K-003 Operator bertugas untuk

    mencatat data penyewaan

    mobil

    Merupakan tampilan yang digunakan untuk

    memasukkan data penyewaan mobil untuk

    selanjutnya disimpan dalam database

    SRS-K-004 Operator bertugas untuk

    mencatat data ketersediaan

    mobil

    Merupakan tampilan yang berisi informasi

    mengenai data kendaraan yang dapat disewa

    SRS-K-005 Operator bertugas untuk

    mencatat data pengembalian

    mobil

    Merupakan tampilan yang berisi data

    pengembalian mobil

    SRS-K-006 Operator bertugas untuk

    membuat jadwal penyewaan

    mobil

    Merupakan tampilan yang berisi data jenis

    mobil yang disewa, nama penyewa, dan

    tanggal sewanya

  • 8

    2.2.2 Kebutuhan Non Fungsional

    SRS-NF-001 Sistem memberikan respon terhadap aksi pengguna dalam waktu kurang dari 5

    detik.

    2.3 Spesifikasi Tambahan

    2.4 Glossary

    Software : Sekumpulan data elektronik yang disimpan dan diatur oleh komputer, data

    elektronik yang disimpan oleh komputer itu dapat berupa program atau instruksi yang

    akan menjalankan suatu perintah. Melalui sofware atau perangkat lunak inilah suatu

    komputer dapat menjalankan suatu perintah.

    Cash drawer atau laci uang elektronik adalah drawer atau laci yang berisi rak-rak

    yang disebut bill tray dan coin tray, digunakan untuk penyimpanan uang berdasarkan

    nominal uang. Bill tray adalah untuk uang kertas dan coin tray untuk uang logam.

    Mini printer atau POS printer adalah jenis printer yang digunakan untuk keperluan

    aplikasi yang berhubungan dengan mesin kasir atau komputer kasir. Ukurannya relatif

    kecil, kecepatan cetak tinggi, menggunakan kertas struk model Roll.

    Sistem adalah sekumpulan unsur / elemen yang saling berkaitan dan saling

    mempengaruhi dalam melakukan kegiatan bersama untuk mencapai suatu tujuan.

    3 Model Use Case

    3.1 Diagram Use Case

    3.2 Definisi Actor

    Nama Aktor Deskripsi tugas

  • 9

    Operator Login

    Sign Up Mencatat data diri penyewa mobil Mencatat data penyewaan mobil Mencatat data ketersediaan mobil Membuat jadwal penyewaan mobil Mencatat data pengembalian mobil

    3.3 Definisi Use Case

    No Use Case Deskripsi

    1 Login Operator bisa masuk ke dalam sistem dengan

    menginputkan username dan password yang sesuai

    2 Sign Up Operator bisa membuat username dan password baru untuk

    login ke sistem

    3 Mencatat data diri

    penyewa mobil

    Operator memasukkan data diri penyewa mobil dan

    disimpan kedalam sistem

    4 Mencatat data

    penyewaan mobil

    Operator memasukkan id penyewa dan memasukkan id

    mobil yang akan disewa serta memasukkan tanggal

    pengembalian,jenis layanan,dan jenis penyewa.

    5 Mencatat data

    pengembalian

    mobil

    Operator hanya memasukkan no transaksi dan tanggal saat

    penyewa mengembalikan mobil

    6 Melihat jadwal

    penyewaan mobil

    Jadwal penyewaan mobil berisi idmobil,nama mobil,id

    penyewa , nama penyewa, tanggal pinjam mobil, dan

    tanggal kembali sesuai dengan tanggal yang dipilih.

    7 Mencatat data

    ketersediaan mobil

    Data ketersediaan mobil digunakan untuk mengetahui

    status mobil serta untuk menambah data mobil ketika ada

    mobil yang baru.

    3.4 Skenario Use Case

    3.4.1 Use Case : Login

    Aktor : Operator

    Kondisi awal : Operator belum login ke sistem

    Kondisi akhir : Operator dapat masuk ke sistem

    Skenario utama

    1. Operator menekan tombol

  • 10

    login pada form Welcome

    3. Operator memasukkan

    username dan password pada Login

    dialog

    4. Operator menekan tombol OK

    pada form Login Dialog

    7. Operator dapat melihat form

    utama

    2. Sistem menampilkan form LoginDialog

    5. Sistem akan memvalidasi username dan

    password

    6. Sistem menampilkan form Utama

    3.4.2 Use case : Sign Up

    Aktor : Operator

    Kondisi awal : Operator belum memiliki username dan password

    Kondisi akhir : Operator memiliki username dan password

    Skenario :

    1. Operator menekan tombol Sign

    Up pada form Welcome

    3. Operator memasukkan nama

    operator, username, password, dan

    confirm password pada form Sign

    Up

    4. Operator menekan tombol Submit

    2. Sistem menampilkan form Sign Up

    5. Sistem memanggil method insertOperator

    pada kelas SignUpAddController

    6. Sistem menyimpan data operator ke tabel

    Login

    Alternative flow:

    3a. Jika operator akan mengubah data, operator menekan data pada tabel pada form Sign Up

    dan mengubah data username/password/confirm

    4a. Operator menekan tombol Ubah pada form Sign Up

    5a. Sistem memanggil method updateOperator pada kelas SignUpAddController

    6a. Sistem menyimpan data operator ke tabel Login

  • 11

    3b. Jika operator akan menghapus data, operator menekan data pada tabel pada form Sign Up

    4b. Operator menekan tombol Hapus pada form Sign Up

    5b.Sistem memanggil method deleteOperator pada kelas SignUpAddController

    6b. Sistem menyimpan data operator ke tabel Login

    3c. Jika operator akan mencari data operator,operator memilih kategori (ID, Nama) dan

    mengisikan item

    4c. Operator menekan tombol Cari

    5c. Sistem memanggil method getByIDOPERATOR/getByNAMAOPERATOR pada kelas

    SignUpAddController

    3.4.3 Use Case : Mencatat Data Diri Penyewa Mobil

    Aktor : Operator

    Kondisi awal : Operator melakukan login

    Kondisi akhir : Data diri penyewa tersimpan pada database

    Skenario utama

    1. Operator memilih menu item data penyewa

    pada FormUtama

    3. Operator memasukkan data diri penyewa

    berupa idPenyewa, namapenyewa,

    noIdentitas,alamat penyewa, dan no telp penyewa

    4. Operator menekan tombol submit pada form

    DataPenyewaPanel

    2.Sistem menampilkan form

    DataPenyewaPanel

    5. Sistem memanggil method

    insertPenyewa pada kelas

    SignUpAddController

    6. Sistem menyimpan data diri

    penyewa ke tabel DataPenyewa

    Alternative flow:

    3a. Jika operator akan mengubah data penyewa , operator menekan data pada tabel pada form

    DatPenyewaPanel dan mengubah data penyewa (no.identitas, nama penyewa, alamat

    penyewa, no.telepon)

    4a. Operator menekan tombol Edit pada form DataPenyewaPanel

    5a. Sistem memanggil method updatePenyewa pada kelas SignUpAddController

    6a. Sistem menyimpan data diri penyewa ke tabel DataPenyewa

  • 12

    3b. Jika operator akan menghapus data penyewa , operator menekan data pada tabel pada

    form DatPenyewaPanel

    4b. Operator menekan tombol Hapus pada form DataPenyewaPanel

    5c. Sistem memanggil method deletePenyewa pada kelas SignUpAddController

    6d. Sistem menyimpan data diri penyewa ke tabel DataPenyewa

    3c. Jika operator akan mencari data penyewa ,operator memilih kategori (ID, Nama) dan

    mengisikan item

    4c. Operator menekan tombol Cari

    5c. Sistem memanggil method getByNAMAPenyewa/getByIDPenyewa pada kelas

    SignUpAddController

    3.4.4 Use Case : Mencatat Data Penyewaan Mobil

    Aktor : Operator

    Kondisi awal : Operator melakukan login

    Kondisi akhir : Data penyewaan mobil tersimpan pada database

    Skenario utama :

    1.Operator memilih menu item Data

    Penyewaan Mobil di FormUtama

    3.Operator memasukkan data

    penyewaan berupa ID penyewa

    7. Operator memasukkan id mobil pada

    form DataPenyewaanMobilPanel

    2.Sistem menampilkan form

    DataPenyewaanMobilPanel

    4. Sistem memanggil method getByIdPenyewa()

    yang ada pada kelas Intermobil

    5. Sistem mencari data penyewa (nama, alamat,

    no.telepon) sesuai idpenyewa yang dimasukkan

    6. Sistem menampilkan data penyewa pada form

    DataPenyewaanMobilPanel

    8. Sistem memanggil method getByIdMobil yang

    ada pada kelas Intermobil

    9. Sistem mencari data mobil (nama mobil, merk

    mobil, warna mobil, harga sewa) sesuai id mobil

    yang dimasukkan

    10. Sistem menampilkan data mobil pada form

    DataPenyewaanMobilPanel

  • 13

    11. Operator memasukkan jenis

    layanan, jenis penyewa, dan tanggal

    kembali

    13. Operator menekan tombol Cetak

    Nota

    15. Operator menekan tombol Submit

    pada form DataPenyewaanMobilPanel

    12. Sistem menampilkan total pembayaran di

    DataPenyewaanMobilPanel

    14. Sistem mencetak nota transaksi penyewaan

    16. Sistem menyimpan data penyewaan ke tabel

    datapenyewaan

    Alternative Flow :

    3a. Jika ID penyewa belum ada , maka operator memasukkan data penyewa melalui Form

    DataPenyewaanPanel

    7a. Jika ID mobil belum ada, maka operator memasukkan data mobil melalui Form Data

    Ketersediaan Mobil Panel

    3.4.5 Use Case : Mencatat Data Ketersediaan Mobil

    Aktor : Operator

    Kondisi awal : Operator melakukan login

    Kondisi akhir : Data ketersediaan mobil tersimpan pada database

    1.Operator memilih menu item data

    ketersediaan mobil pada FormUtama

    3. Operator memasukkan data mobil

    berupa ID mobil, nama mobil, merk

    mobil,No polisi, harga sewa perhari,

    warna mobil, status mobil,no STNK.

    4.Operator menekan tombol tambah

    2.Sistem menampilkan form

    DataKetersediaanMobilPanel

    5.Sistem memanggil method insert dari

    kelas Intermobil

    6. Sistem menyimpan data ketersediaan

    mobil pada tabel mobil melalui perantara

    kelas Intermobil

  • 14

    Alternatife Flow :

    3a : Jika operator memilih kategori nama dan memasukkan nama mobil yang dicari

    3b : Jika operator memilih kategori warna dan memasukkan warna mobil yang dicari

    3c : Jika operator memilih kategori merk dan memasukkan merk mobil yang dicari

    3d : Jika operator memilih data mobil yang akan dihapus

    5a : memanggil method getByNamaMobil() dari kelas Intermobil, Jika operator memilih

    kategori nama dan memasukkan nama mobil yang dicari

    5b : memanggil method getByWarna()dari kelas Intermobil, Jika operator memilih kategori

    warna dan memasukkan warna mobil yang dicari

    5c : memanggil method getByMerk()dari kelas Intermobil, Jika operator memilih kategori

    merk dan memasukkan merk mobil yang dicari

    5d : memanggil method delete()dari kelas Intermobil, Jika operator akan menghapus data

    6a : mencari data mobil berdasarkan nama, Jika operator memilih kategori nama dan

    memasukkan nama mobil yang dicari

    6b : mencari data mobil berdasarkan warna, Jika operator memilih kategori warna dan

    memasukkan warna mobil yang dicari

    6c : mencari data mobil berdasarkan merk, Jika operator memilih kategori merk dan

    memasukkan merk mobil yang dicari

    6d : menghapus data mobil Jika operator akan menghapus data

    3.4.6 Use Case : Membuat Jadwal Peminjaman Mobil

    Aktor : Operator

    Kondisi Awal : Operator melakukan Login

    Kondisi Akhir : Operator melihat jadwal keseluruhan penyewaan mobil

    1.Operator memilih menu item

    Jadwal Penyewaan mobil pada

    menu View

    3.Operator memilih tanggal yang

    akan dilihat jadwalnya pada form

    JadwalPanel

    2.Sistem menampilkan form JadwalPanel

    4. Sistem memanggil method getJadwal pada pada

    kelas Intermobil

    5.Sistem mencari idmobil, namamobil, idpenyewa,

    namapenyewa, tgl sewa, tgl kembali sesuai tanggal

    sewa

    6.Sistem menampilkan jadwal penyewaan mobil

    sesuai dengan tanggal sewa ke dalam tabel Jadwal

  • 15

    Pemakaian mobil

    3.4.7 Use Case : Mencatat Data Pengembalian Mobil

    Aktor : Operator

    Kondisi Awal : Operator sudah melakukan login

    Kondisi Akhir : Data pengembalian mobil tersimpan

    1.Operator memilih menu item Data

    Pengembalian Mobil pada

    FormUtama

    3.Operator memasukkan data

    pengembalian mobil berupa No

    transaksi pada Form

    DataPengembalianMobilPanel

    8. Operator menekan tombol submit

    2.Sistem menampilkan form

    DataPengembalianMobilPanel

    4. Sistem memanggil method

    getBynoTransaksi() pada kelas Intermobil

    5. Sistem mencari data penyewaan (nama

    operator, id penyewa, nama penyewa, id

    mobil, nama mobil, merk mobil, warna

    mobil, harga sewa, tanggal sewa, tanggal

    kembali) berdasarkan nomor transaksi sewa

    6. Sistem menghitung biaya sewa

    berdasarkan jumlah hari pinjam

    7. Sistem menampilkan data penyewaan

    (lama keterlambatan jika ada) dan total

    9. Sistem memanggil method updatestatus(),

    insertakhr(), deletesewa() di kelas Intermobil

    10. Sistem mengganti status sewa mobil yang

    ada di tabek DataMobil berdasarkan id mobil

    Alternative flow :

    6a.Jika terdapat lama keterlambatan, Sistem akan menghitung total sewa dan biaya

    keterlambatan berdasarkan lama keterlambatan.

  • 16

    4 Model Analisis

    4.1 Realisasi Use Case Tahap Analisis

    Kelas Analisis:

    4.1.1 Use Case : Login

    Diagram colaboration:

    //1:menekan tombol

    login di Welcome

    //2: tampil LoginDialog

    Welcome

    LoginDialog

    //3: Operator memasukkan

    username dan password

    //5: validasi

    username dan

    password yang

    dimasukkan

    //5: sistem

    menampilkan

    FormUtama

    FormUtama

    //6: operator dapat

    melihat FormUtama

    Operator

    //5: operator

    menekan tombol OK

  • 17

    Diagram Squence

    Operator

    //7. Operator dapat

    melihat FormUtama

    //1. loginButton()

    //2. Tampil

    LoginDialog

    :Welcome :LoginDialog :FormUtama

    //3. Memasukkan

    username dan

    password

    //5. Validasi username

    dan password

    //6.Sistem

    menampilkan

    FormUtama

    //4. Menekan tombol

    OK

  • 18

    4.1.2 Use case : Sign Up

    COLABORATION SIGNUP

    3a. Jika operator akan mengubah data, operator menekan data pada tabel pada form Sign Up

    dan mengubah data username/password/confirm

    4a. Operator menekan tombol Ubah pada form Sign Up

    5a. Call method updateOperator pada kelas SignUpAddController

    6a. Sistem menyimpan data operator ke tabel Login

    3b. Jika operator akan menghapus data, operator menekan data pada tabel pada form Sign Up

    4b. Operator menekan tombol Hapus pada form Sign Up

    5b.Call method deleteOperator pada kelas SignUpAddController

    6b. Sistem menyimpan data operator ke tabel Login

    3c. Jika operator akan mencari data operator,operator memilih kategori (ID, Nama) dan

    mengisikan item

    Login

    //1. Operator menekan

    tombol SignUp

    //2. Tampil form

    Signup //5. Callmethod

    insertOperator

    Welcome Form

    SignUp

    //3. Operator Memasukkan

    namaoperator,username,passw

    ord,confirmpassword 4. Tekan

    tombol

    submit

    //3a.

    //4a.

    //3b.

    //4b.

    //3c.

    //4c.

    //5a.

    //5b. SignUpA

    ddContr

    oller

    //6.Sistem

    menyimpa

    n data

    operator

    ke tabel

    login

    6a 6b

    //5c.

  • 19

    4c. Operator menekan tombol Cari

    5c.Call method getByIDOPERATOR/getByNAMAOPERATOR pada kelas

    SignUpAddController

    Diagram sequence signup

    :Welcome :Form SignUp :Login

    //1. Operator

    menekan tombol

    SignUp

    2:// Tampil Form

    SignUp

    3:// Memasukkan

    namaoperator,username

    ,password,confirmpassw

    ord 4:// menekan tombol

    submit

    6:// Sistem

    menyimpan data

    operator

    :SignUpAddCo

    ntroller

    5:// Call

    insertOperator

    6a://

    4a//

    5a://

    3a://

    3b://

    3c://

    4b://

    5b://

    6b://

    4c://

    5c://

  • 20

    3a. Jika operator akan mengubah data, operator menekan data pada tabel pada form Sign Up

    dan mengubah data username/password/confirm

    4a. Operator menekan tombol Ubah pada form Sign Up

    5a. Call method updateOperator pada kelas SignUpAddController

    6a. Sistem menyimpan data operator ke tabel Login

    3b. Jika operator akan menghapus data, operator menekan data pada tabel pada form Sign Up

    4b. Operator menekan tombol Hapus pada form Sign Up

    5b.Call method deleteOperator pada kelas SignUpAddController

    6b. Sistem menyimpan data operator ke tabel Login

    3c. Jika operator akan mencari data operator,operator memilih kategori (ID, Nama) dan

    mengisikan item

    4c. Operator menekan tombol Cari

    5c. Call getByIDOPERATOR/getByNAMAOPERATOR pada kelas SignUpAddController

  • 21

    4.1.3 Use Case : Mencatat Data Diri Penyewa

    Diagram colaboration

    3: memasukkan data penyewa

    3a : memilih data penyewa pada tabel

    3b: memilih kategori ID/nama dan memasukkan data yang dicari

    5: call insertPenyewa()

    5a : menampilkan data penyewa

    5b : call loadCari()

    4a: call isiTeks()

    6: menyimpan data penyewa

    6a: tekan tombol edit

    6b : tekan tombol hapus

    7: call updatePenyewa()

    7a: call deletePenyewa()

    8: mengubah data penyewa

    8a: menghapus data penyewa

    //1. Operator

    memilih menu item

    DataPenyewa

    //2. Tampil

    DataPenyewaPanel

    //6

    .

    FormUtama DataPenyewa

    Panel

    //3.

    //4. Tekan

    tombol

    submit

    DataPenyewa

    SignUpAdd

    Controller

    //5

    .

    //3a //5a

    //4a

    .

    //6a

    //7

    .

    //8

    .

    //7a.

    //8a.

    //6b

    //3b

    //4b tekan

    tombol cari

    //5b

    .

    //6c menampilkan

    data penyewa

  • 22

    Diagram Squence

    :FormUtama :DataPenyewa

    Panel

    :DataPenyewa

    1://Operator memilih

    menu item

    DataPenyewa

    Operator

    2:// Menampilkan

    DataPenyewaPanel

    3:// Memasukkan data

    penyewa

    4:// Simpan data

    penyewa

    5:// Sistem menyimpan

    data penyewa

  • 23

    4.1.4 Use Case : Mencatat Data Penyewaan Mobil

    Diagram colaboration:

    4: call getByIdPenyewa dengan call SPCariPenyewa()

    5: Mencari data penyewa (nama penyewa, alamat, no telepon) sesuai id penyewa

    8: call getByIdMobil dengan call SPCariMobil()

    9: Mencari data mobil (nama mobil, merk mobil, warna mobil, harga sewa) sesuai id mobil

    //1. Operator memilih

    menu item

    DataPenyewaanMobil

    //2. Tampil

    DataPenyewaanMo

    bilPanel

    //4.

    FormUtama DataPenyewa

    anMobilPanel

    //3. Memasukkan

    id penyewa

    DataPenyewa

    an

    Operator

    Intermobil

    //5.

    //6. Tampil data

    penyewa

    //7. Memasukkan

    Id mobil

    //8.

    //9.

    //10. Tampil data

    mobil

    //11. Memilih jenis layanan,

    jenis penyewa, tanggal

    kembali //12. Tampil total pembayaran

    //15. Tekan tombol submit

    //16. Simpan

    data

    penyewaan

    //13. Tekan tombol cetak faktur

    //14. Sistem mencetak nota transaksi

  • 24

    :FormUtama :DataPenyewaa

    nMobilPanel

    :Intermobil :DataPenyewaa

    n

    Operator

    1://memilih menu

    item Data

    Penyewaan

    Mobil 2://menampilkan

    DataPenyewaanMob

    ilPanel

    3://memasukkan id

    penyewa

    4://call

    getByIdPenyewa()

    dengan call

    SPCariPenyewa 5://

    6://tampil data

    penyewa

    7://memasukkan id

    mobil

    8://Memanggil

    getByIdMobil() dengan

    call SPCarimobil

    9://

    10://tampil data mobil

    11://

    12:// tampil total

    15:// tekan tombol

    submit

    16:// simpan data

    penyewaan

    13:// tekan cetak faktur

    14://Sistem

    mencetak nota

  • 25

    5: Mencari data penyewa (nama penyewa, alamat, no telepon) sesuai id penyewa

    9: Mencari data mobil (nama mobil, warna mobil, merk mobil, harga sewa) sesuai id mobil

    11: Memilih jenis layanan, jenis penyewa, tanggal kembali

    4.1.5 Use Case : Mencatat Data Ketersediaan Mobil

    Diagram colaboration:

    3a : memilih kategori nama dan memasukkan nama mobil yang dicari

    3b : memilih kategori warna dan memasukkan warna mobil yang dicari

    3c : memilih kategori merk dan memasukkan merk mobil yang dicari

    3d : memilih data mobil yang akan dihapus

    //1. Operator memilih

    menu item

    DataKetersediaanMobil

    //2. Tampil

    DataKetersediaanM

    obilPanel

    //5.

    FormUtama DataKetersedi

    aanMobilPanel

    //3. Operator

    Memasukkan

    data mobil

    4. Tekan

    tombol

    ADD

    DataMobil

    //3a.

    //4a. Tekan

    tombol cari

    //5a.

    //3b.

    //4b. Tekan

    tombol

    hapus

    //5d

    //3b.

    //4a. Tekan

    tombol cari

    //3c.

    //4a. Tekan

    tombol cari

    //5b.

    //5c. Inter

    Mobil

    6 6a 6c 6b 6d

    7 Tampil

    data mobil

  • 26

    5 : call method insert()

    5a : call method getByNamaMobil()

    5b : call method getByWarna()

    5c : call method getByMerk()

    5d : call method delete()

    6 : menyimpan data mobil

    6a : mencari data mobil berdasarkan nama

    6b : mencari data mobil berdasarkan warna

    6c : mencari data mobil berdasarkan merk

    6d : menghapus data mobil

  • 27

    Diagram Squence :

    :FormUtama :DataKetersed

    iaanMobilPan

    el

    :DataMobil

    //1. Operator

    memilih menu item

    DataKetersediaanM

    obil

    Operator

    2:// Menampilkan

    DataKetersediaanM

    obilPanel

    3:// Memasukkan data

    mobil

    4:// menekan tombol

    tambah

    6:// Sistem

    menyimpan data

    mobil

    :InterMobil

    5:// Call method

    insert

    3a://

    4a://

    5a://

    6b://

    4b:// 5b://

    6a:// 3b://

    3c://

    5c:// 6c://

    3d://

    5d://

    6d://

  • 28

    3a:// memilih nama kategori dan data yang dicari

    4a:// tekan tombol cari

    5a:// Call method getByNamaMobil

    6a:// Sistem mencari data mobil berdasarkan nama

    3b ://memilih kategori warna dan memasukkan warna mobil yang dicari

    4b://tekan tombol hapus

    5b://Call method getByWarna

    6b:// Sistem mencari data mobil berdasarkan warna

    3c ://memilih kategori merk dan memasukkan merk mobil yang dicari

    5c :// Call method getByMerk()

    6c :// mencari data mobil berdasarkan merk

    3d : memilih data mobil yang akan dihapus

    5d : call method delete()

    6d : menghapus data mobil

    4.1.6 Use Case : Membuat jadwal penyewaan mobil

    Diagram colaboration:

    DataSewa

    //1. Operator memilih

    menu item Jadwal

    //2. Tampil

    form Jadwal

    FormUtama JadwalPanel

    //3. Memilih

    tanggal sewa

    Operator

    Intermobil

    //4. Sistem

    memanggil

    method

    getJadwal pada

    pada kelas

    Intermobil

    //5. Sistem mencari

    idmobil, namamobil,

    idpenyewa,

    namapenyewa, tgl sewa,

    tgl kembali sesuai

    tanggal sewa

    //6. Sistem menampilkan

    jadwal penyewaan mobil ke

    tabel Jadwal Pemakaian

    mobil

  • 29

    Diagram Squence

    :FormUtama :Jadwal :Intermobil :DataSewa

    Operator

    1://memilih

    menu item

    Jadwal

    2://menampilkan

    Jadwal

    3://memilih tanggal

    sewa

    4://call method

    getJadwal()

    5://Mencari jadwal

    penyewaan

    sesuai tanggal

    sewa 6:// menampilkan jadwal

    penyewaan mobil ke tabel

    Jadwal Pemakaian Mobil

  • 30

    4.1.7 Use Case : Data pengembalian mobil

    Diagram colaboration:

    4: memanggil method getBynoTransaksi() dengan call SPCariPengembalian

    5: Mencari data penyewaan (nama operator, id penyewa, nama penyewa, id mobil, nama

    mobil, merk mobil, warna mobil, harga sewa, tanggal sewa, tanggal kembali) berdasarkan no

    transaksi sewa

    9: Memanggil method updatestatus()

    10: Mengganti status sewa mobil berdasarkan id mobil

    //1. Operator memilih

    menu item

    DataPengembalianMo

    bil

    //2. Tampil

    DataPengembalian

    MobilPanel

    FormUtama DataPenngem

    balianMobilPa

    nel

    //3. Memasukkan

    no transaksi sewa

    //8. Tekan tombol

    submit

    DataSewa

    Operator //7. Sistem menampilkan

    data sewa , lama

    keterlambatan dan total

    Intermobil

    //4.

    //5.

    //9.

    DataMobil

    //10.

    //6. Sistem

    menghitung biaya

    sewa berdasarkan

    jumlah hari pinjam

    dan lama

    keterlambatan

  • 31

    Diagram squence :

    :FormUtama :DataPengemba

    lianMobilPanel :Intermobil :DataSewa

    Operator

    1://memilih menu

    item Data

    Pengembalian

    Mobil

    2://menampilkan

    DataPengembalianM

    obilPanel

    3://memasukkan no

    transaksi sewa

    4://memanggil

    method

    getBynoTransaksi()

    dengan memanggil

    SPCariPengembalian

    5://Cari data

    penyewaan

    berdasarkan

    no,transaksi

    sewa

    6:// Sistem

    menghitung

    biaya sewa

    berdasarkan

    jumlah hari

    pinjam dan

    lama

    keterlambatan

    7:// Sistem

    menampilkan data

    penyewaan lama

    keterlambatan dan total

    8://tekan tombol submit

    10:// Mengganti status

    sewa mobil

    berdasarkan id mobil

    9:// Memanggil method

    updatestatus()

    :DataMobil

  • 32

    4.2 Diagram Kelas Keseluruhan

    4.3 Kelas Analisis

    No Nama Kelas Jenis

    1 Test Connection Entity

    2 Login Entity

    3 DataPenyewa Entity

    4 DataMobil Entity

    5 DataSewa Entity

    6 Welcome Boundary

    7 LoginDialog

    Boundary

    8 Utama

    Boundary

    9 DataPenyewaPanel

    Boundary

    10 Data PenyewaanMobilPanel Boundary

  • 33

    11 DataPengembalianMobilPanel

    Boundary

    12 Jadwal

    Boundary

    13 DataKetersediaanMobilPanel

    Boundary

    14 SignUp Boundary

    15 SignUpAddController Controller

    16 Intermobil Controller

    17 JadwalTableModel Controller

    18 RentalMobil Controller

    Untuk setiap kelas analisis, lakukan (dengan melengkapi subbab-subbab berikutnya):

    identifikasi tanggung-jawab (responsibility)

    identifikasi atribut

    Nama Kelas Daftar Tanggung-Jawab

    Daftar Atribut

    TestConnection 1. getConnection(Login login)

    2. getConnection()

    3. setConn(Connection connection)

    1.connection;

    2.ok;

    3. jdbcURL

    4. user

    5.password

    Login

    1.setusername(String username)

    2.getusername()

    3.setPassword(String Password)

    4.getpassword()

    1.username

    2.password

    Data Penyewa

    1. set get semua atribut

    1. ID _penyewa,

    2. No_identitas,

    3. nama_penyewa,

    4. alamat

    5. no telepon

  • 34

    Data Mobil

    1. set get semua atribut

    1. id_kendaraan

    2. nama mobil

    3. warna

    4. harga_sewa

    5. status

    6.merk_Mobil

    7.No_polisi

    8.No_STNK

    9. no_kendaraan

    DataSewa set get atribut 1.notransaksi;

    2.tanggal;

    3.alamat;

    4.noTelp;

    5.idMobil;

    6.idPenyewa;

    7.namaPenyewa;

    8.namaMobil;

    9.merkMobil;

    10.warnaMobil;

    11.jenisSewa;

    12.lamaSewa;

    13.tglKembali;

    14.namaOperator;

    15.total;

    16.hargasewa;

    Welcome

    loginButtonActionPerformed() 1. LoginButton;

    2. WelcomeLabel;

    3. jDesktopPane1;

    4. picLabel;

    LoginDialog

    okButtonActionPerformed()

    1CancelButton;

    2.OKButton;

    3.PasswordField;

    4.PasswordLabel;

    5.UserNameField;

    6. UserNameLabel;

    7.jDesktopPane1;

    8.piclabe;

    9.judullabel;

    Utama

    1.DataPenyewaItemActionPerformed()

    2.DataPenyewaanMobilItemActionPerforme

    d()

    1. transaksiMenu

    2. viewMenu

    3. dataPenyewaItem

    4. datapenyewaanMobilItem

  • 35

    3.DataPengembalianMobilItemActionPerfor

    med()

    4.JadwalPenyewaanItemActionPerformed()

    5.DataKetersediaanMobilItemActionPerfor

    med()

    5. dataKetersediaanMobilItem

    6. dataPengembalianMobilItem

    7. jadwalPenyewaanItem

    8.piclabel

    9.jmenubar;

    DataPenyewaPan

    el

    bersih()

    SubmitbuttonActionPerformed()

    AlamatLabel

    AlamatTF

    IDLabel

    IDTF

    JudulLabel

    NOIDLabel

    NOIDTF

    NamaLabel

    NamaTF

    NoTelpLabel

    SubmitButton

    TlpnTF

    DataPenyewaan

    MobilPanel

    DataPenyewaanMobilPanel()

    buatnomor()

    submitButtonActionPerformed(java.awt.eve

    nt.ActionEvent evt)

    IDTFKeyReleased(java.awt.event.KeyEvent

    evt)

    idMobilTFKeyReleased(java.awt.event.Key

    Event evt)

    lamaSewaFieldKeyPressed(java.awt.event.

    KeyEvent evt)

    tanggalChooserKembaliPropertyChange(jav

    a.beans.PropertyChangeEvent evt)

    AlamatTF;

    IDPenyewatxt;

    IDTF;

    JAMTF;

    NAMAOPTF;

    NOTRANTF;

    NamaPenyewatxt;

    NamaTF;

    Notranstxt;

    TlpnTF;

    alamatxt;

    backgroundLabel;

    hargaSewaLabel;

    hargaSewaTF;

    idMobilLabel;

    idMobilTF;

    jDesktopPane1;

    jSeparator1;

    jSeparator2;

    jSeparator3;

    jSeparator4;

    jTextField6;

    jam;

    jenisLayananLabel;

    jenisPenyewaBox;

    jenisPenyewaLabel;

    judulLabel;

    lamaSewaField;

  • 36

    lamaSewaLabel;

    layananBox;

    merkMobilLabel;

    merkMobilTF;

    nama;

    namaMobilLabel;

    namaMobilTF;

    submitButton;

    tanggalChooserKembali;

    tanggalChooserSewa;

    tanggalKembaliLabel;

    tanggalSewaLabel;

    telepontxt;

    totalField;

    totalLabel;

    warnaMobilLabel;

    warnaMobilTF;

    DataPengembalia

    nMobilPanel

    DataPengembalianMobilPanel()

    NOTRANTFKeyReleased(java.awt.event.K

    eyEvent evt)

    kabisat(int a)

    tanggalKembaliTFKeyPressed(java.awt.eve

    nt.KeyEvent evt)

    lamaKeterlambatanTFKeyPressed(java.awt.

    event.KeyEvent evt)

    SubmitButton1ActionPerformed(java.awt.e

    vent.ActionEvent evt)

    IDPenyewatxt;

    JAMTF;

    MerkTF;

    NAMAOPTF;

    NOTRANTF;

    NamaPenyewatxt;

    Notranstxt;

    SUBMITBUTTON;

    Tanggal;

    TotalField;

    WarnaTF;

    idMobilTF;

    idPenyewaTF;

    jDesktopPane1;

    jLabel1;

    jLabel10;

    jLabel11;

    jLabel12;

    jLabel2;

    jLabel3;

    jLabel4;

    jLabel5;

    jSeparator1;

    jSeparator2;

    jSeparator3;

    jSeparator4;

    jTextField6;

    jam;

    lamaKeterlambatanTF;

    nama;

    namaMobilTF;

  • 37

    namaPenyewaTF;

    tanggalKembaliTF;

    tanggalPinjamLabel;

    tanggalSewaTF;

    terlambatLabel;

    tglSekarangChooser;

    Jadwal

    - tanggalJadwalChooserPropertyChan

    ge(java.beans.PropertyChangeEvent

    evt)

    - initComponents()

    - btnBackActionPerformed

    background;

    jDesktopPane1;

    jLabel1;

    jLabel2;

    jScrollPane1;

    jadwalTabel;

    tanggalJadwalChooser;

    btnBack

    DataKetersediaan

    MobilPanel

    DataKetersediaanMobilPanel1()

    isiTabel()

    kosongkanTeks()

    bersih()

    isiTeks()

    loadmobil()

    loadCari(int item,String cari)

    statusAwal()

    tidakBolehKosong()

    initComponents()

    btnCariActionPerformed(java.awt.event.Act

    ionEvent evt)

    btnTambahUpdateActionPerformed(java.aw

    t.event.ActionEvent evt)

    btnDeleteActionPerformed(java.awt.event.A

    ctionEvent evt)

    HARGATF;

    IDTF;

    IDtxt;

    MERKTF;

    NAMATF;

    NOPOLTF;

    NOSTNKTF;

    NamaTxt;

    STATUSTF;

    WARNATF;

    btnCari;

    btnDelete;

    btnTambahUpdate;

    cmbKategori;

    hargatxt;

    jDesktopPane1;

    jLabel1;

    jLabel16;

    jLabel17;

    jLabel2;

    jScrollPane1;

    jSeparator1;

    jSeparator2;

    jSeparator3;

    jSeparator4;

    merktxt;

    nopoltxt;

    nostnktxt;

    stattxt;

    tabelMobil;

    txtCari;

    warnatx

    Intermobil insert (DataMobil)

  • 38

    insertakhr(DataSewa sewa)

    update (DataMobil)

    updatestatus(DataMobil o)

    delete (String)

    deletesewa(String sewa)

    getAll()

    getByNamaMobil(String)

    getBymrek(String)

    getBywarna(String)

    getByOne(String)

    getByIdPenyewa(DataPenyewa penyewa)

    getBynotran(DataSewa s)

    getByIdMobil(DataMobil mobil)

    getBynoTransaksi(DataSewa sewa)

    JadwalTableMode

    l

    getValueAt(),getColumnName(),

    getRowCount(),getColumnName()

    SignUp SignUp(), isiTabel(),

    isiTeks(),loadOperator(), loadCari(),

    statusAwal(),buatNomor(),

    cancelButtonActionPerformed(),

    submitButtonActionPerformed(),

    cariButtonActionPerformed(),hapusButtonA

    ctionPerformed(),

    JButton Back;

    JButton CANCELBUTTON;

    JButton CARIBUTTON;

    JPasswordField CONFIRMOPTF;

    JButton EDITBUTTON;

    JButton HAPUSBUTTON;

    JTextField IDOPTF;

    JLabel IDlbl;

    JLabel ItemLabel;

    JTextField ItemTf;

    JLabel Judul;

    JLabel JudulLabel;

    JComboBox KatCombo;

    JLabel KategoriLabel;

    JLabel KonfirmLbl;

    JTextField NAMAOPTF;

    JLabel NamaOPLbl;

    JPasswordField

    PASSWORDOPTF;

    JLabel Passwordlbl;

    JButton SUBMITBUTTON;

    JTable TabelOperator;

    JTextField USEROPTF;

    JLabel UserLbl;

    JLabel confirmErrorLabel;

    JDesktopPane jDesktopPane1;

    JLabel picLabel;

    SignUpAddContr

    oller

    getAll(), getByIDOperator(String

    ID),getByNAMAOPERATOR(String

    nama), insertOperator(Login o),

    deleteOperator(String o),

  • 39

    updateOperator(Login o),getAllPenyewa(),

    getByIDPENYEWA(String ID),

    getByNAMAPenyewa(String nama),

    insertPenyewa(DataPenyewa

    o),deletePenyewa(DataPenyewa

    o),updatePenyewa(DataPenyewa o)

    4.4 Paket Analisis

    4.4.1 Identifikasi Paket Analisis

    No Nama Paket Use Case Terkait

    1.

    Login

    1. Login

    2. Sign Up

    2 Data Penyewa 1.Mencatat Data Diri Penyewa

    3

    Data Mobil

    1 . Mencatat Data Penyewaan Mobil

    2. Mencatat Data Pengembalian Mobil

    3. Membuat Jadwal Penyewaan Mobil

    4. Mencatat Data Ketersediaan Mobil

    4.4.2 Identifikasi Kelas Analisis tiap Paket

    No Nama Paket Nama Kelas Analisis Jenis Kelas

    (Boundary, Control,

    Entity)

    1 Paket Login 1. Welcome

    2 LoginDialog

    3 Login

    4 Utama

    5.SignUp

    1.Boundary

    2.Boundary

    3 Entity

    4 Boundary

    5.Boundary

    2 Paket DataPenyewa 1. DataPenyewaPanel

    2.DataPenyewa

    1.Boundary

    2.Entity

    3 Paket DataMobil 1.DataKetersediaanMobilPanel

    2. DataPengembalianPanel

    3. DataPenyewaanMobilPanel

    4.Jadwal

    5. DataMobil

    6. Intermobil

    7.JadwalTableModel

    1 Boundary

    2 Boundary

    3 Boundary

    4 Boundary

    5 Entity

    6 Controller

    7 Controller

  • 40

    4 Paket DBKoneksi 1. TestConnection 1. Entity

    5 Paket DataSewa 1.DataSewa

    2.SignUpAddController

    1.Entity

    2.Controller

    6 Paket Main 1.RentalMobil 1.Controller

    4.5 Deskripsi Arsitektur

    Arsitektur aplikasi sistem rental mobil ini menggunakan database. Database yang digunakan

    adalah Oracle Database 10g Express Edition. Arsitektur aplikasi sistem rental mobil berupa

    aplikasi desktop. Spesifikasi yang dibutuhkan untuk mengoperasikan software rental mobil

    ini ini adalah sistem operasi Windows (Xp, Vista, Seven), Pentium 4 atau Intel Atom 1,6

    Ghz (i3, i5),RAM-Memory 256 MB, dan Hardisk Free Space 2Gb. Sistem aplikasi rental

    mobil ini akan di install pada satu komputer untuk operator dan komputer ini akan terhubung

    dengan komputer server untuk database dengan menggunakan jaringan LAN.

    5. Model Perancangan

    5.1 Realisasi Use Case Tahap Perancangan

    5.1.1 Login

    5.1.2 Sign Up

    5.1.3 Mencatat Data Penyewaan

    Form

    Utama

    Data

    Penyewaan

    Panel

    Data Mobil

    InterMobil

    Data

    Penyewa

    RentalMobil Welcome Sign Up

  • 41

    5.1.4 Mencatat Data Ketersediaan Mobil

    5.1.5 Mencatat Data Diri Penyewa

    5.1.6 Mencatat Data Pengembalian Mobil

    5.1.7 Melihat Jadwal Penyewaan

    Form

    Utama

    Data

    Ketersediaan

    Panel

    Data Mobil

    InterMobil

    Form

    Utama

    Data

    Pengembalian

    Mobil Panel

    Data

    Sewa

    InterMobil

    TestConnection

    JadwalTable

    Model

    Form

    Utama

    Jadwa Panel

    TestCo

    nnectio

    n

    DataSe

    wa

    Intermob

    il

  • 42

    5.2 Diagram Kelas Keseluruhan

    5.3 Kelas Perancangan

    No Nama Kelas Perancangan Nama Kelas Analisis

    1 Login -Welcome

    -LoginDialog

    -Login

    -FormUtama

    -SignUp

    2 Data Mobil -DataKetersediaanMobilPanel

    Rental

    Mobil

    Welcome TestCon

    nection

    Login

    Dialog

    Form

    Utama

    DataPenyew

    aPanel

    DataKeterse

    diaanPanel

    DataPenyew

    aanPanel

    DataPengemb

    alianPanel

    Jadwal

    DataPeny

    ewa

    Data

    Mobil

    Inter

    mobil

    DataPe

    nyewa

    Data

    Mobil

    Inter

    mobil

    DataS

    ewa

    Interm

    obil

    Data

    Sewa Inter

    mobil

    Test

    Con

    necti

    on Jadw

    alTa

    bleM

    odel

  • 43

    -DataPengembalianMobilPanel

    -DataPenyewaanMobilPanel

    -Jadwal

    - JadwalTableModel

    -DataMobil

    -Intermobil

    3 Data Penyewa -DataPenyewa

    -DataPenyewaPanel

    4 Data Sewa -DataSewa

    -SignUpAddController

    5 DBKoneksi - TestConection

    6 Main -RentalMobil

    5.3.1 Operasi dan Atribut

    Kelas:TestConnection.java

    Nama Operasi Visibility

    (private, public)

    Keterangan

    getConnection(Login login) Public digunakan untuk melakukan

    koneksi ke database

    getConnection() public digunakan untuk melakukan

    koneksi ke database

    Nama Atribut Visibility

    (private, public)

    Tipe

    conn

    connection

    ok

    jdbcURL

    user

    password

    private

    private

    private

    private

    private

    private

    Connection

    Connection

    boolean

    String

    String

    String

    Kelas : Login.java

    Nama Operasi Visibility

    (private, public)

    Keterangan

  • 44

    setUsername

    getUsername

    public

    public

    untuk mengisi nilai String ke

    dalam username

    untuk mengambil nilai

    username

    setPassword

    getPassword

    public

    public

    untuk mengisi nilai String ke

    dalam password

    untuk mengambil nilai

    password

    setLogin

    getLogin

    public

    public

    untuk mengisi nilai username

    dan password ke dalam login

    untuk mengambil nilai login

    Nama Atribut Visibility

    (private, public)

    Tipe

    userName

    password

    login

    private

    private

    private

    String

    String

    Login

    Kelas DataMobil.java

    Nama Operasi Visibility

    (private, public)

    Keterangan

    set() untuk semua atribut

    get() untuk semua atribut

    Public

    Public

    untuk mengisi nilai pada

    masing-masing atribut

    untuk mengambil nilai pada

    masing-masing atribut

    Nama Atribut Visibility

    (private, public)

    Tipe

    id_mobil

    nama_mobil

    warn

    harga_sewa

    status

    merk_Mobil

    No_polisi

    private

    private

    private

    private

    private

    private

    private

    String

    String

    String

    int

    String

    String

    String

  • 45

    No_STNK

    Quantity

    private

    private

    String

    Int

    Kelas DataPenyewa.java

    Nama Operasi Visibility

    (private, public)

    Keterangan

    set() untuk semua atribut

    get() untuk semua atribut

    public

    public

    untuk mengisi nilai pada

    masing-masing atribut

    untuk mengambil nilai pada

    masing-masing atribut

    Nama Atribut Visibility

    (private, public)

    Tipe

    ID_penyewa

    No_identitas

    nama_penyewa

    alamat

    no_telepon

    private

    private

    private

    private

    private

    String

    String

    String

    String

    String

    Intermobil.java

    Nama Operasi Visibility

    (private,

    public)

    Keterangan

    insert (DataMobil)

    insertakhr(DataSewa sewa)

    update (DataMobil)

    updatestatus(DataMobil o)

    delete (String)

    deletesewa(String sewa)

    getAll()

    getByNamaMobil(String)

    getByMerk(String)

    Public

    Public

    public

    public

    public

    public

    public

    public

    public

    memasukkan data mobil ke tabel data

    mobil

    memasukkan data sewa ke table

    datapenyewaan

    mengupdate data mobil ke tabel data

    mobil

    mengupdate status mobil yang ada di

    table data mobil

    menghapus data mobil ke tabel data

    mobil

    menghapus data sewa yang ada di table

    datapenyewaan

    mengambil semua data mobil

  • 46

    getBywarna(String)

    getByOne(String)

    getByIdPenyewa(DataPenyewa

    penyewa)

    getBynotran(DataSewa s)

    getByIdMobil(DataMobil

    mobil)

    getBynoTransaksi(DataSewa

    sewa)

    getJadwal(String tanggalSewa)

    public

    public

    public

    public

    public

    public

    public

    menampilkan data mobil berdasarkan

    nama mobilnya

    menampilkan data mobil berdasarkan

    merk mobilnya

    menampilkan data mobil berdasarkan

    warna mobilnya

    menampilkan data mobil berdasarkan id

    mobilnya

    menampilakan data penyewa berdasar id

    penyewa yang terdapat pada table

    datapenyewa

    menampilakan data sewa berdasar no

    transaksi pada table datapenyewaan

    menampilkan data mobil berdasar id

    mobil yang terdapat pada table

    datamobil

    menampilakan data sewa berdasar no

    transaksi pada table datapenyewaan

    menampilkan jadwal penyewaan

    berdasarkan tanggal sewa

    Nama Atribut Visibility

    (private,

    public)

    Tipe

    - - -

    SignUpAddController.java

    Nama Operasi Visibility

    (private, public)

    Keterangan

    getAll()

    getByIDOperator(String ID)

    getByNAMAOPERATOR(String

    nama)

    insertOperator(Login o)

    deleteOperator(String o)

    updateOperator(Login o)

    public

    public

    public

    public

    public

    public

    Untuk menampilkan data

    operator

    Untuk menampilkan data

    operator berdasarkan

    idoperator yang dicari

    Untuk menampilkan data

    operator berdasarkan

    namaoperator

    Untuk menambah data

    operator

    Untuk menghapus data

    operator

    Untuk mengubah data

    operator

  • 47

    getAllPenyewa()

    getByIDPENYEWA(String ID)

    getByNAMAPenyewa(String

    nama)

    insertPenyewa(DataPenyewa o)

    deletePenyewa(DataPenyewa o)

    updatePenyewa(DataPenyewa o)

    public

    public

    public

    public

    public

    public

    Untuk menampilkan data

    penyewa

    Untuk menampilkan data

    penyewa dengan id

    penyewa tertentu

    Untuk menampilkan data

    penyewa dengan nama

    penyewa tertentu

    Untuk menambahkan data

    penyewa baru

    Untuk menghapus data

    penyewa

    Untuk mengubah data

    penyewa

    Nama Atribut Visibility

    (private, public)

    Tipe

    - - -

    DataSewa.java

    Nama Operasi Visibility

    (private, public)

    Keterangan

    set() untuk semua atribut

    get() untuk semua atribut

    public

    public

    untuk mengisi nilai pada

    masing-masing atribut

    untuk mengambil nilai pada

    masing-masing atribut

    Nama Atribut Visibility

    (private, public)

    Tipe

    notransaksi

    tanggal

    alamat

    noTelp

    idMobil

    idPenyewa

    namaPenyewa

    namaMobil

    merkMobil

    warnaMobil

    jenisSewa

    lamaSewa

    tglKembali;

    namaOperator

    total

    private

    private

    private

    private

    private

    private

    private

    private

    private

    private

    private

    private

    private

    private

    private

    String

    String

    String

    String

    String

    String

    String

    String

    String

    String

    String

    String

    String

    String

  • 48

    hargasewa private int

    int

    JadwalTableModel.java

    Nama Operasi Visibility

    (private, public)

    Keterangan

    getRowCount()

    getColumnCount()

    getValueAt()

    getColumnName()

    private

    private

    private

    private

    Untuk mengambil jumlah

    baris

    Untuk mengambil jumlah

    kolom

    Untuk mengambil index dari

    baris dan kolom di tabel

    Jadwal

    Untuk mengambil nama

    kolom tabel Jadwal

    Nama Atribut Visibility

    (private, public)

    Tipe

    sewa Private List

    5.3.2 Algoritma/Query

    Nama Kelas : Login

    Nama Operasi : okButtonActionPerformed()

    Algoritma : (Algo-001)

    Jika username dan password yang dimasukkan sesuai dengan yang tersimpan pada tabel

    login, maka akan tampil menu utama

    Jika username dan/atau password yang dimasukkan tidak sesuai dengan yang tersimpan pada

    tabel login, maka akan tampil pesan (dialog) kesalahan.

    Query :

    No Query Query Keterangan

    Q-001 select * from login where username =

    username and password = password untuk mencocokkan

    username dan password yang

    dimasukkan operator dengan

    yang tersimpan pada database

    Nama Kelas : DataPenyewaPanel

  • 49

    Nama Operasi : submitButtonActionPerformed()

    Algoritma : (Algo-002)

    Query :

    No Query Query Keterangan

    Q-002 insert into DATAPENYEWA values

    (IDTF.getText(), NoTF.getText(), NamaTF.getText() , AlamatTF.getText() , TlpnTF.getText() )

    untuk menambahkan data

    penyewa baru pada database

    Nama Kelas : Intermobil

    Nama Operasi : insert(DataMobil o)

    Algoritma : (Algo-003)

    No Query Query Keterangan

    Q-003 "insert into DATAMOBIL

    values(?,?,?,?,?,?,?,?,?,?)"

    untuk memasukkan data

    mobil ke dalam table mobil

    Nama Kelas : Intermobil

    Nama Operasi : insertakhr(DataSewa sewa)

    Algoritma : (Algo-004)

    No Query Query Keterangan

    Q-004 insert into DATASEWA

    values(?,?,?,?,?,?,?,?,?,?)

    untuk memasukkan data

    mobil ke dalam table

    DataPenyewaan

    Nama Kelas : intermobil

    Nama Operasi : update(Data Mobil o)

    Algoritma : (Algo-005)

    No Query Query Keterangan

    Q-005 "update DATAMOBIL set

    NOKENDARAAN=?,NAMAMOBIL=?,

    "+

    "WARNAMOBIL=?,HARGASEWA=?,"

    +"STATUSMOBIL=?,MERKMOBIL=?,

    NOPOLISI=?,NOSTNK=?,QUANTITY

    =? where IDMOBIL=?");

    untuk mengupdate data

    mobil yang terdapat dalam

    table mobil sesuai dengan id

    mobil yang dimasukkan

  • 50

    Nama Kelas : intermobil

    Nama Operasi : updatestatus(DataMobil o)

    Algoritma : (Algo-006)

    No Query Query Keterangan

    Q-006 update DATAMOBIL set

    STATUSMOBIL=? where IDMOBIL=?

    untuk mengupdate status

    mobil yang terdapat dalam

    table mobil sesuai dengan id

    mobil yang dimasukkan

    Nama Kelas : intermobil

    Nama Operasi : Delete(String o)

    Algoritma : (Algo-007)

    No

    Query

    Query Keterangan

    Q-007 "delete from DATAMOBIL where

    IDMOBIL=? untuk menghapus data mobil yang

    terdapat dalam table mobil sesuai

    dengan id mobil yang di masukkan.

    Nama Kelas : intermobil

    Nama Operasi : deletesewa(String sewa)

    Algoritma : (Algo-008)

    No

    Query

    Query Keterangan

    Q-008 delete from DATAPENYEWAAN where

    NOTRANSAKSISEWA=?

    untuk menghapus data penyewaan

    yang terdapat dalam table

    datapenyewaan sesuai dengan no

    transaksi sewa yang di masukkan.

    Nama Kelas : intermobil

  • 51

    Nama Operasi : getAll()

    Algoritma : (Algo-009)

    No

    Query

    Query Keterangan

    Q-009 "select * from DATAMOBIL"

    untuk memanggil/memunculkan semua

    data mobil yang terdapat dalam table

    mobil

    Nama Kelas : intermobil

    Nama Operasi : getByNamaMobil(String nama)

    Algoritma : (Algo-010)

    No

    Query

    Query Keterangan

    Q-010 ("select * from DATAMOBIL where

    NAMAMOBIL like ?");

    ps.setString(1,

    "%"+nama+"%");

    untuk mencari data mobil yang terdapat

    dalam table mobil berdasarkan nama

    mobil yang dimasukkan

    Nama Kelas : intermobil

    Nama Operasi : getBymrek(String mrk)

    Algoritma : (Algo-011)

    No

    Query

    Query Keterangan

    Q-011 ("select * from DATAMOBIL where

    MERKMOBIL like ?");

    ps.setString(1,

    "%"+mrk+"%");

    untuk mencari data mobil yang terdapat

    dalam table mobil berdasarkan merk

    mobil yang dimasukkan

    Nama Kelas : intermobil

  • 52

    Nama Operasi : getBywarna(String wrna)

    Algoritma : (Algo-012)

    No

    Query

    Query Keterangan

    Q-012 ("select * from DATAMOBIL where

    WARNAMOBIL like ?");

    ps.setString(1,

    "%"+wrna+"%");

    untuk mencari data mobil yang terdapat

    dalam table mobil berdasarkan warna

    mobil yang dimasukkan

    Nama Kelas : intermobil

    Nama Operasi : getByOne(String o)

    Algoritma : (Algo-013)

    {Jika mengacu query tertentu, lengkapi tabel query di bawah}

    Query :

    No

    Query

    Query Keterangan

    Q-013 ("select *from DATAMOBIL where

    IDMOBIL=?")

    untuk mencari data mobil yang terdapat

    dalam table mobil berdasarkan id mobil

    yang dimasukkan

    Nama Kelas : intermobil

    Nama Operasi : getByIdPenyewa(DataPenyewa penyewa)

    Algoritma : (Algo-014)

    No

    Query

    Query Keterangan

    Q-014 create or replace procedure SPCARIPENYEWA

    (e_ID_PENYEWA IN

    DATAPENYEWA.IDPENYEWA%TYPE,

    e_NAMA_PENYEWA OUT

    untuk mencari data

    penyewa berdasarkan id

    penyewa.

  • 53

    DATAPENYEWA.NAMAPENYEWA%TYPE,

    e_ALAMAT OUT

    DATAPENYEWA.ALAMAT%TYPE,

    e_TELEPON OUT

    DATAPENYEWA.NOTELEPON%TYPE)

    is

    BEGIN

    select

    NAMAPENYEWA,ALAMAT,NOTELEPON into

    e_NAMA_PENYEWA,e_ALAMAT,e_TELEPON

    from DATAPENYEWA

    where IDPENYEWA= e_ID_PENYEWA;

    end SPCARIPENYEWA;

    /

    Nama Kelas : intermobil

    Nama Operasi : getBynotran(DataSewa s)

    Algoritma : (Algo-015)

    No

    Query

    Query Keterangan

    Q-015 select HARGASEWA, TOTAL from

    DATAPENYEWAAN where

    NOTRANSAKSISEWA=?

    untuk mencari harga sewa dan total

    yang terdapat pada table

    datapenyewaan berdasar no transaksi

    sewa yang dimasukkan

    Nama Kelas : intermobil

    Nama Operasi : getByIdMobil(DataMobil mobil)

    Algoritma : (Algo-016)

    No

    Query

    Query Keterangan

    Q-016 create or replace procedure

    SPCARIMOBIL

    (e_ID_MOBIL IN

    DATAMOBIL.IDMOBIL%TYPE,

    e_NAMAMOBIL OUT

    DATAMOBIL.NAMAMOBIL%TYPE,

    untuk mencari data

    mobilberdasarkan id mobil

  • 54

    e_WARNA OUT

    DATAMOBIL.WARNAMOBIL%TYPE,

    e_MERK OUT

    DATAMOBIL.MERKMOBIL%TYPE,

    e_HARGASEWA OUT

    DATAMOBIL.HARGASEWA%TYPE)

    is

    BEGIN

    select NAMAMOBIL, WARNAMOBIL,

    MERKMOBIL, HARGASEWA into

    e_NAMAMOBIL,e_WARNA,e_MERK,

    e_HARGASEWA from DATAMOBIL

    where IDMOBIL = e_ID_MOBIL;

    end SPCARIMOBIL;

    /

    Nama Kelas : intermobil

    Nama Operasi : getBynoTransaksi(DataSewa sewa)

    Algoritma : (Algo-017)

    No

    Query

    Query Keterangan

    Q-

    017

    create or replace procedure SPCARIPENGEMBALIAN

    (

    e_NO_TRANSAKSI IN

    DATAPENYEWAAN.NOTRANSAKSISEWA%TYPE,

    e_NAMA_OPERATOR OUT

    DATAPENYEWAAN.NAMAOPERATOR%type,

    e_ID_PENYEWA OUT

    DATAPENYEWAAN.IDPENYEWA%TYPE,

    e_NAMA_PENYEWA OUT

    DATAPENYEWAAN.NAMAPENYEWA%TYPE,

    e_ID_MOBIL out

    DATAPENYEWAAN.IDMOBIL%TYPE,

    e_NAMA_MOBIL OUT

    DATAPENYEWAAN.NAMAMOBIL%TYPE,

    e_MERK_MOBIL OUT

    DATAPENYEWAAN.MERKMOBIL%TYPE,

    e_WARNA_MOBIL OUT

    DATAPENYEWAAN.WARNAMOBIL%TYPE,

    e_TANGGAL_SEWA OUT

    Untuk mencari

    data penyewaan

    mobilberdasarkan

    no transaksi

  • 55

    DATAPENYEWAAN.TANGGALSEWA%TYPE,

    e_TANGGAL_KEMBALI OUT

    DATAPENYEWAAN.TANGGALKEMBALI%type

    )

    is

    BEGIN

    select NAMAOPERATOR,IDPENYEWA,

    NAMAPENYEWA,IDMOBIL,NAMAMOBIL,

    MERKMOBIL,WARNAMOBIL,TANGGALSEWA,

    TANGGALKEMBALI into

    e_NAMA_OPERATOR,e_ID_PENYEWA,

    e_NAMA_PENYEWA, e_ID_MOBIL,

    e_NAMA_MOBIL,e_MERK_MOBIL,e_WARNA_MOBIL,

    e_TANGGAL_SEWA,e_TANGGAL_KEMBALI from

    DATAPENYEWAAN

    where NOTRANSAKSISEWA= e_NO_TRANSAKSI;

    end SPCARIPENGEMBALIAN;

    /

    Nama Kelas : DataPenyewaanPanel

    Nama Operasi : buatnomor()

    Algoritma : (Algo-018)

    No

    Query

    Query Keterangan

    Q-018 select NOTRANSAKSISEWA as no

    from DATAPENYEWAAN ORDER

    by NOTRANSAKSISEWA desc

    Untuk menampilkan no transaksi sewa

    yang ada pada table datapenyewaan dan

    diurutkan secara descending

    Nama Kelas : DataPenyewaanPanel

    Nama Operasi :submitButtonActionPerformed

    Algoritma : (Algo-019)

    No

    Query

    Query Keterangan

    Q-019 "insert into DATAPENYEWAAN values ('" +

    NOTRANTF.getText()

    Untuk menambahkan data ke

    dalam table datapenyewaan

  • 56

    + "','" + NAMAOPTF.getText()

    + "','" + tanggalSewa

    + "','" + IDTF.getText()

    + "','" + NamaTF.getText()

    + "','" + AlamatTF.getText()

    + "','" + TlpnTF.getText()

    + "','" + idMobilTF.getText()

    + "','" + namaMobilTF.getText()

    + "','" + warnaMobilTF.getText()

    + "','" + merkMobilTF.getText()

    + "','" + hargaSewa

    + "','" +

    layananBox.getSelectedItem().toString()

    + "','" +

    jenisPenyewaBox.getSelectedItem().toString()

    + "','" + tanggalKembali

    + "','" + lamaSewa

    + "','" + total + "') ";

    Nama Kelas : DataPenyewaanPanel

    Nama Operasi :noTransaksiField

    Algoritma : (Algo-020)

    No

    Query

    Query Keterangan

    Q-020 select max(to_number(notransaksisewa)) as

    no from datapenyewaan

    Untuk menampilkan nomor

    transaksi pada text field nomor

    transaksi

    Nama Kelas : InterMobil

    Nama Operasi : getJadwal(String tanggalSewa)

    Algoritma : (Algo-021)

    No

    Query

    Query Keterangan

    Q-021 select m.idmobil, m.namamobil,

    s.idpenyewa, s.namapenyewa,

    Untuk menampilkan nomor

    transaksi pada text field nomor

  • 57

    s.tanggalsewa, s.tanggalkembali from

    DATAMOBIL m, DATAPENYEWAAN s

    where m.IDMOBIL = s.IDMOBIL and

    tanggalsewa='" + tanggalSewa + "'"+"AND

    LOWER(STATUSMOBIL)='not available'"

    transaksi

    Nama Kelas : SignUpAddController

    Nama Operasi : getByIDOPERATOR

    Algoritma : (Algo-022)

    No

    Query

    Query Keterangan

    Q-022 select * from Login where

    IDOPERATOR like ?

    Untuk menampilkan nomor

    idoperator,namaoperator,username,password

    berdasarkan idoperator yang dimasukkan

    Nama Kelas : SignUpAddController

    Nama Operasi : getByNAMAOPERATOR

    Algoritma : (Algo-023)

    Query

    No

    Query

    Query Keterangan

    Q-023 select * from LOGIN where

    NAMAOPERATOR like ?

    Untuk menampilkan nomor

    idoperator,namaoperator,username,password

    berdasarkan namaoperator yang dimasukkan

    Nama Kelas : SignUpAddController

    Nama Operasi : deleteOperator

    Algoritma : (Algo-024)

    Query

    No

    Query

    Query Keterangan

    Q-024 delete from LOGIN where

    IDOPERATOR =?

    Untuk menghapus data login berdasarkan

    idoperator

  • 58

    Nama Kelas : SignUpAddController

    Nama Operasi : updateOperator

    Algoritma : (Algo-025)

    Query

    No

    Query

    Query Keterangan

    Q-025 update LOGIN set

    NAMAOPERATOR=?,"

    +"USERNAME=?,PASSWORD=?,where

    IDOPERATOR=?

    Untuk mengubah data Login berupa

    namaoperator, username,password,

    dan idoperator

    Nama Kelas : SignUpAddController

    Nama Operasi : getAllPenyewa()

    Algoritma : (Algo-026)

    Query

    No

    Query

    Query Keterangan

    Q-026 select * from DATAPENYEWA Untuk menampillkan semua datapenyewa

    Nama Kelas : SignUpAddController

    Nama Operasi : getByIDPENYEWA

    Algoritma : (Algo-027)

    Query

    No

    Query

    Query Keterangan

    Q-027 select * from DATAPENYEWA

    where IDPENYEWA like ?

    Untuk menampilkan data penyewa

    berdasarkan idpenyewa

    Nama Kelas : SignUpAddController

    Nama Operasi : getByNAMAPenyewa

  • 59

    Algoritma : (Algo-028)

    Query

    No

    Query

    Query Keterangan

    Q-028 select * from DATAPENYEWA

    where NAMAPENYEWA like ?

    Untuk menampilkan data penyewa

    berdasarkan namapenyewa

    Nama Kelas : SignUpAddController

    Nama Operasi : insertPenyewa

    Algoritma : (Algo-029)

    Query

    No

    Query

    Query Keterangan

    Q-029 insert into DATAPENYEWA

    values(?,?,?,?,?)

    Untuk memasukkan data penyewa baru

    Nama Kelas : SignUpAddController

    Nama Operasi : deletePenyewa

    Algoritma : (Algo-030)

    Query

    No

    Query

    Query Keterangan

    Q-030 delete from DATAPENYEWA

    where IDPENYEWA =?

    Untuk memasukkan data penyewa baru

    Nama Kelas : SignUpAddController

    Nama Operasi : updatePenyewa

    Algoritma : (Algo-031)

    Query

    No

    Query

    Query Keterangan

    Q-031 update DATAPENYEWA set Untuk mengubah data penyewa

  • 60

    NOIDENTITAS=?,"

    +"NAMAPENYEWA=?,ALAMAT=?,

    NOTELEPON=?,where

    IDPENYEWA=?

    5.3 Perancangan Basis Data

    5.5 Perancangan Antarmuka

    Id_Objek Jenis Nama Keterangan

    submitButton Button Submit jika diklik, maka akan menyimpan

    data pada textfield ke database

    backButton Button Back Jika diklik, maka keluar dari form

    menu item dan kembali ke menu

    utama

    cancelButton Button Cancel Untuk mengkosongkan data pada

    textfield

    LoginButton Button Login Untuk masuk ke menu utama

    SignUpButton Button SignUp Untuk membuat data operator baru

    hapusButton Button Hapus Untuk menghapus item pada tabel

  • 61

    ubahButton Button Ubah Untuk mengubah item data pada tabel

    OKButton Button OK Untuk login ke system

    6 Implementasi

    6.1 Implementasi Kelas

    No Nama Kelas Nama File Fisik Nama File Executable Programmer

    1 Login Login.java Login.class Rosi

    2 Welcome Welcome.form Welcome.class Setyo

    3 SignUp.java SignUp.form SignUp.class Rosi

    4 SignUpAddController

    .java

    SignUpAddControl

    ler.java

    SignUpAddController.class Rosi

    5 LoginDialog LoginDialog.form LoginDialog.class Fiona

    6 Utama Utama.form Utama.class Setyo

    7 TestConnection TestConn.java TestConn.class Fiona

    8 DataPenyewaPanel DataPenyewaPanel.

    form

    DataPenyewaPanel.class Setyo

    9 DataPenyewa DataPenyewa.java DataPenyewa.class Mirella

    10 DataKetersediaanMo

    bilPanel

    DataKetersediaanM

    obilPanel.form

    DataKetersediaanMobilPane

    l.class

    Mirella

    11 DataPengembalianPa

    nel

    DataPengembalianP

    anel.form

    DataPengembalianPanel.cla

    ss

    Rosi

    12 DataPenyewaanMobi

    lPanel

    DataPenyewaanMo

    bilPanel.form

    DataPenyewaanMobilPanel.

    class

    Fiona

    13 Jadwal Jadwal.form Jadwal.class Setyo

    14 DataMobil DataMobil.java DataMobil.class Setyo

  • 62

    15 RentalMobil RentalMobil.java RentalMobil.class Mirella

    16 Intermobil Intermobil.java Intermobil.java Rosi

    17 DataSewa DataSewa.java DataSewa.java Fiona

    18 DataMobil DataMobil.java DataMobil.java Mirella

    6.2 Implementasi Basis Data

    6.3 Implementasi Antarmuka

    No Nama Kelas Nama Tabel Nama File SQL Programmer

    1 Kelas

    DataPenyewaanMobilPanel

    DATAPENYEWA SPCARIPENYEWA Fiona

    DATAMOBIL SPCARIMOBIL Setyo

    2 Kelas

    DataPengembalianMobilPanel

    DATAPENYEWAAN CARIPENGEMBALIAN Mirella

    No Antarmuka Nama File

    Fisik

    Nama File Executable Programmer

    1 LoginDialog LoginDialog.

    java

    LoginDialog.class Rosi

    2 Utama FormUtama.

    java

    FormUtama.class Setyo

    3 Welcome Welcome.jav

    a

    Welcome.class Setyo

    4 DataPenyewaP

    anel

    DataPenyew

    aPanel.java

    DataPenyewaPanel.class Mirella

    5 DataKetersedia

    anMobilPanel

    DataKeterse

    diaanMobilP

    anel.java

    DataKetersediaanMobilPanel.

    class

    Rosi

    6 DataPengemba

    lianMobilPanel

    DataPengem

    balianMobil

    Panel.java

    DataPengembalianMobilPanel

    .class

    Mirella

    7 DataPenyewaa

    nMobilPanel

    DataPenyew

    aanMobilPa

    nel.java

    DataPenyewaanMobilPanel.cl

    ass

    Fiona

  • 63

    7 Pengujian

    7.1 Rencana dan Prosedur Pengujian

    7.1.1 Rencana Pengujian

    No Use Case Jenis Pengujian Identifikasi

    1 Login Black box

    U-1-01

    2 Mencatat data

    diri penyewa

    Black box

    U-2-01

    3 Mencata data

    penyewaan

    mobil

    Black box

    U-3-01

    4 Mencatat data

    pengembalian

    mobil

    Black box

    U-4-01

    5 Mencatat data

    ketersediaan

    mobil

    Black box

    U-5-01

    U-5-02

    U-5-03

    6 Melihat jadwal

    penyewaan

    mobil

    Black box

    U-6-01

    7.2 Kasus Uji

    7.2.1 Pengujian Use Case < Login >

    Identifikasi

    Deskripsi Prosedur

    Pengujian

    Masukan Keluaran yang

    Diharapkan

    Kriteria

    Evaluasi

    Hasil

    Hasil

    yang

    Didapat

    Kesi

    mpul

    an

    8 Jadwal Jadwal.java Jadwal.class Setyo

    9 SignUp SignUp.java SignUp.class Rosi

  • 64

    U-1-01 Pengujian

    masuk ke

    sistem

    melalui form

    LoginDialog

    -Sistem

    dijalankan

    melalui kelas

    RentalMobil

    -Tekan tombol

    Login pada form

    Welcome

    -Masukkan

    username dan

    password pada

    field di form

    LoginDialog

    -Tekan tombol

    OK

    -Tekan tombol

    Cancel

    Username dan

    password

    -Tampil

    LoginDialog

    -Tampil

    FormUtama

    -Keluar dari

    sistem

    RentalMobil

    7.2.2 Pengujian Use Case < Mencatat Data Diri Penyewa >

    Identifikasi Deskripsi Prosedur

    Pengujian

    Masukan Keluaran yang

    Diharapkan

    Kriteria

    Evaluasi

    Hasil

    Hasil

    yang

    Didapat

    Kesi

    mpul

    an

  • 65

    U-2-01 Pengujian

    mencatat data

    diri penyewa

    -Sistem

    menampilkan

    FormUtama

    -Masukkan ID

    Penyewa,

    No.Identitas,

    Nama Penyewa,

    Alamat

    Penyewa,No

    Telepon pada

    textfield masing-

    masing atribut

    -Tekan tombol

    Submit

    -Memilih

    Menu Item

    Data Penyewa

    dari menu

    Transaksi

    ID Penyewa,

    No.Identitas,

    Nama

    Penyewa,

    Alamat

    Penyewa,No

    Telepon

    -Tampil

    DataPenyewa

    Panel

    -Pesan : Data

    Berhasil

    disimpan

    7.2.3 Pengujian Use Case < Mencatat Data Penyewaan Mobil >

    Identifikasi Deskripsi Prosedur

    Pengujian

    Masukan Keluaran yang

    Diharapkan

    Krite

    ria

    Evalu

    asi

    Hasil

    Hasil

    yang

    Didapat

    Kesi

    mpul

    an

    U-3-01 Pengujian

    mencatat data

    penyewaan

    mobil

    -Sistem

    menampilkan

    FormUtama

    -Tekan Menu

    Item Data

    Penyewaan

    Mobil dari menu

    Transaksi

    -Tampil

    DataPenyewaan

    MobilPanel

    -No.Transaksi,

    Tanggal , Jam

    muncul secara

    otomatis

  • 66

    -Masukkan ID

    Penyewa, Nama

    Penyewa,

    Alamat

    Penyewa,No

    Telepon , ID

    mobil , nama

    mobil, warna,

    mobil, harga

    sewa, textfield

    masing-masing

    atribut

    -Memilih jenis

    layanan dan

    jenis penyewa

    -Memasukkan

    tanggal kembali

    melalui date

    chooser

    -Tekan enter

    pada field Lama

    Penyewaan

    -Tekan tombol

    Submit

    ID Penyewa,

    Nama

    Penyewa,

    Alamat

    Penyewa,No

    Telepon , ID

    mobil , nama

    mobil, warna,

    mobil, harga

    sewa

    jenis layanan

    dan jenis

    penyewa

    tanggal

    kembali

    Lama

    penyewaan

    muncul

    -Total muncul

    -Muncul pesan

    Data berhasil

    disimpan

    7.2.4 Pengujian Use Case < Mencatat Data Pengembalian Mobil>

    Identifikasi Deskripsi Prosedur

    Pengujian

    Masukan Keluaran yang

    Diharapkan

    Kriteria

    Evaluasi

    Hasil

    Hasil yang

    Didapat

    Kesi

    mpul

    an

  • 67

    U-4-01

    Pengujian

    mencatat data

    pengembalian

    mobil

    -Sistem

    menampilkan

    FormUtama

    -Memilih menu

    Item Data

    Pengembalian

    Mobil pada

    menu Transaksi

    -Memasukkan

    nomor transaksi

    penyewaan

    mobil

    Tekan enter

    pada field

    tanggal kembali

    Tekan enter

    pada field lama

    keterlambatan

    Tekan tombol

    submit

    Nomor

    transaksi

    -Form Data

    Pengembalian

    Muncul

    -Muncul nama

    operator, id

    penyewa,

    nama

    penyewa, id

    mobil, nama

    mobil, merk

    mobil, warna

    mobil, tanggal

    sewa, tanggal

    kembali

    berdasarkan

    nomor

    transaksi yang

    dimasukkan

    Muncul lama

    keterlambatan

    Muncul total

    sewa

    Data

    pengembalian

    berhasil

    disimpan

  • 68

    7.2.5 Pengujian Use Case < Mencatat Data Ketersedian Mobil>

    Identifikasi Deskripsi Prosedur

    Pengujian

    Masukan Keluaran yang

    Diharapkan

    Kriteria

    Evaluasi

    Hasil

    Hasil yang

    Didapat

    Kesi

    mpul

    an

    U-5-01

    U-5-02

    Pengujian

    menambahkan

    data

    ketersediaan

    mobil

    Pengujian

    mencari data

    ketersediaan

    mobil

    -Sistem

    menampilkan

    FormUtama

    -Memilih

    menu Item

    Data

    Ketersediaan

    Mobil pada

    menu View

    Memasukka

    n ID mobil,

    nama mobil,

    merk

    mobil,No

    polisi, harga

    sewa

    perhari,

    warna

    mobil,

    status

    mobil,no

    STNK pada

    field

    masing-

    masing

    -Tekan tombol

    Tambah

    -Memilih

    nama

    kategori

    pada combo

    box kategori

    Memasukka

    n item data

    yang akan

    di cari

    ID mobil,

    nama mobil,

    merk

    mobil,No

    polisi, harga

    sewa

    perhari,

    warna

    mobil,

    status

    mobil,no

    STNK.

    Kategori

    (nama, warna,

    merk)

    -Muncul

    FormData

    Ketersediaan

    MobilPanel

    -Data berhasil

    disimpan

  • 69

    U-5-03

    Pengujian

    menghapus data

    ketersediaan

    mobil

    Tekan

    tombol cari

    Klik baris

    pada tabel

    ketesediaan

    tekan

    tombol

    hapus

    Nama mobil

    atau warna

    mobil atau

    merk mobil

    Data mobil

    pada baris

    yang dipilih

    Nama

    mobil/wana

    mobil/ merk

    mobil sesuai

    kata kunci

    yang

    dimasukkan

    akan muncul

    di tabel

    Data

    ketersediaan

    mobil pada

    baris yang

    diklik akan

    terhapus

  • 70

    7.2.5 Pengujian Use Case

    Identifikasi Deskripsi Prosedur

    Pengujian

    Masukan Keluaran yang

    Diharapkan

    Kriteria

    Evaluasi

    Hasil

    Hasil yang

    Didapat

    Kesim

    pulan

    U-6-01 Pengujian

    melihat jadwal

    penyewaan

    mobil

    -Sistem

    menampilkan

    FormUtama

    -Memilih

    menu Item

    Jadwal

    Penyewaan

    pada menu

    View

    -Pilih tanggal

    lewat date

    chooser

    Tanggal sewa

    Muncul Form

    JadwalPanel

    Daftar mobil

    yang disewa

    pada tanggal

    sesuai

    masukan dari

    date chooser

    muncul pada

    tabel

    7.3 Defect dan Status Perbaikan

    Pada Form Sign up :

    - id operator ketika row selected tidak dapat di Cancel

    - tombol edit belum berfungsi

    Pada Form Penyewa :

    - Tidak ada pesan error pop up

    - Saat mengisi data tanggal kembali < tanggal sewa tidak di set null

    - Saat cetak nota pada tanggal terdapat angka '20'

    Pada Form Pengembalian:

    -total pembayaran masih bermasalah

    - pencarian no transaksi tidak valid dan bisa diupdate

    Pada Form Ketersediaan:

    -Exception pada field masih salah

    -Format pengisian field (nomor polisi) diperjelas

  • 71

    8 Lampiran

    USER MANUAL

    Aplikasi Rental Mobil

    TAHAP AWAL

    1. Install aplikasi terlebih dahulu pada desktop anda.

    2. Install Databasenya.

    UNTUK MENJALANKAN APLIKASI

    Setelah aplikasi dan database terinstall, untuk menjalankan aplikasi tersebut ikuti langkah-

    langkah dibawah ini :

    1. Jalankan aplikasi

    2. Maka akan muncul dua pilihan untuk Login dan Signup. Login digunakan bagi user yang sudah memiliki account. Bagi user yang belum memiliki account silahkan klik

    tombol Signup, sedangkan user yang sudah memiliki account silahkan klik tombol

    Login.

    Signup (untuk user yang belum mempunyai account)

    1. Klik Signup

    2. Silahkan isi data pada kotak. Masukkan nama operator, username, password, dan confirm password. Kemudian klik tombol Submit untuk menyimpan data-

    data yang baru anda masukkan.

    3. Bila diklik tombol Cancel maka data-data yang dimasukkan akan terhapus semua.

    4. Bila diklik tombol Back maka akan kembali ke halaman yang sebelumnya.

    Untuk mencari data operator berdasarkan ID dan NAMA. Lakukan langkah :

    Pada kotak