Pemrograman Lanjut Case Study: Perusahaan Taxi
PTIIK - 2014
Objectives Mampu mengidentifikasikan class pada permasalahan Perusahaan taxi Mampu membuat diagram class untuk class yang teridentifikasi Mampu mengimplementasikannya ke dalam bahasa pemrograman Java
Case Sebuah perusahaan taxi ternama di Malang ingin membangun software untuk mengelola taxi yang dimilikinya. Setiap taxi yang dimilikinya didata dan diberikan identitas berupa ID, plat nomor, dan nama sopir yang mengendarai taxi tersebut. Pada proses pendaftaran taxi, nilai dari identitas ID dilakukan secara otomatis oleh sistem yang terdiri dari 6 digit. Empat digit pertama berisi tahun dan dua digit selanjutnya berisi nomor urut dari pendaftaran taxi tersebut.
Case Setiap kali beroperasi, setiap taxi akan mencatat berapa kilometer jarak yang ditempuh selama perjalanan. Perusahaan memiliki dua aturan untuk pembayaran, yaitu: Untuk biaya setiap kali “buka pintu” dan penumpang membatalkan penggunaan jasa taxi tersebut (artinya kilometer perjalanannya adalah 0 KM) dikenakan biaya Rp. 5.000, Untuk 2 KM pertama dikenakan biaya sebesar biaya “buka pintu”, selanjutnya setiap kilometer yang ditempuh dikenakan biaya sebesar Rp. 1.500,-
Case Disamping itu, perusahaan juga akan mencatat informasi dari setiap penumpang yang pernah menggunakan jasa taxi miliknya. Informasi yang ingin diketahui oleh perusahaan adalah nama penumpang, lokasi asal, dan lokasi tujuan.
Case Buatlah Diagram Class Bangunlah software dengan ketentuan di atas. Sistem harus mampu menyajikan informasi : Jumlah taxi yang dimiliki oleh perusahaan tersebut Total kilometer yang ditempuh oleh semua taxi Biaya yang didapatkan dari hasil semua taxi yang beroperasi. Daftar informasi penumpang dan kilometer yang ditempuh untuk masing-masing penumpang tersebut
Implementasikan dalam kode program
Identifikasi Class Pengelolaan taxi Identitas penumpang
Taxi
Penumpang
Identifikasi Attribut - Taxi Setiap taxi yang dimilikinya didata dan diberikan identitas berupa ID, plat nomor, dan nama sopir yang mengendarai taxi tersebut. Pada proses pendaftaran taxi, nilai dari identitas ID Jumlah taxi yang dimiliki oleh perusahaan tersebut Total kilometer yang ditempuh oleh semua taxi Biaya yang didapatkan dari hasil semua taxi yang beroperasi. Taxi idTaxi : String platNomor : String namaSopir : String (final) biayaAwal : double = 5000 (final) biayaPerKM : double = 1500 (static) taxiCount : int (static) costTotal: double (array) penumpang: Penumpang (array) km : double 8
Identifikasi Attribut - Penumpang Mencatat informasi dari setiap penumpang yang pernah menggunakan jasa taxi miliknya. Informasi yang ingin diketahui oleh perusahaan adalah nama penumpang, lokasi asal, dan lokasi tujuan. Penumpang namaPenumpang : String lokasiAsal : String lokasiTujuan : String
9
Identifikasi Method - Taxi taxi akan mencatat berapa kilometer “buka pintu” dan penumpang membatalkan penggunaan jasa taxi tersebut (artinya kilometer perjalanannya adalah 0 KM) dikenakan biaya Rp. 5.000, 2 KM pertama dikenakan biaya sebesar biaya “buka pintu”, selanjutnya setiap kilometer yang ditempuh dikenakan biaya sebesar Rp. 1.500,Taxi +
+ +(static) JumlahTaxi() : int +perjalanan(penumpang: Penumpang, km: double) pembayaran() pembayaran(km: double) +totalKm(double : km) : double +daftarPenumpang() 10
Identifikasi Method - Penumpang Daftar informasi penumpang dan kilometer yang ditempuh untuk masing-masing penumpang tersebut Penumpang + +setNama() +setAsal() +setTujuan() +getNama() +getAsal() +getTujuan()
11
UML (Diagram Class) Taxi
Penumpang
idTaxi : String platNomor : String namaSopir : String (final) biayaAwal : double = 5000 (final) biayaPerKM : double = 1500 (static) taxiCount : int (static) costTotal: double (array) penumpang: Penumpang (array) km : double
namaPenumpang : String lokasiAsal : String lokasiTujuan : String
+ + +(static) JumlahTaxi() : int +(static) JumlahTaxi() : double +perjalanan(penumpang:Penumpang, km:double) pembayaran() pembayaran(double : km) +totalKm(double : km) : double +daftarPenumpang() 12
+ +setNama() +setAsal() +setTujuan() +getNama() +getAsal() +getTujuan()
(seiring dengan kebutuhan , requirement akan bertambah kompleks)
Kasus Lain Sebuah kotak memiliki ukuran panjang dan lebar. Dari ukuran tersebut dapat digunakan untuk mengetahui keliling dan luas dari kotak tersebut. Keliling dihitung dari menjumlahkan panjang dan lebar sebanyak dua kali. Sedangkan luas diperoleh dari mengkalikan kedua ukuran tersebut. Kelas tersebut yang dilengkapi dengan: Konstruktor default. Konstruktor yang digunakan untuk inisialisasi panjang. Konstruktor yang digunakan untuk inisialisasi panjang dan lebar. Method get dan set untuk semua field dari kelas tersebut. Method Keliling dan method Luas. Lakukan overloading pada method Luas untuk mendapatkan nilai luas yang dikalikan dengan parameter x yang dirumuskan dengan Luas = x * panjang * lebar.
Kasus Lain Dari deskripsi di atas: Buatlah class diagram dari kelas Kotak di atas. Implementasikan kelas tersebut ke dalam bahasa pemrograman. Buat contoh penggunaan kelas tersebut (kelas KotakTester).
[email protected] 081 331 834 734 / 088 160 127 40