Pemrograman Lanjut - afif.lecture.ub.ac.id · Case Sebuah perusahaan taxi ternama di Malang ingin...
-
Upload
vuonghuong -
Category
Documents
-
view
216 -
download
0
Transcript of Pemrograman Lanjut - afif.lecture.ub.ac.id · Case Sebuah perusahaan taxi ternama di Malang ingin...
Pemrograman Lanjut
PTIIK - 2014
Case Study: Perusahaan Taxi
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.
8
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
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.
9
Penumpang
namaPenumpang : String
lokasiAsal : String
lokasiTujuan : String
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,-
10
Taxi
+<constructor>
+<get dan set method>
+(static) JumlahTaxi() : int
+perjalanan(penumpang: Penumpang, km: double)
pembayaran()
pembayaran(km: double)
+totalKm(double : km) : double
+daftarPenumpang()
Identifikasi Method - Penumpang
Daftar informasi penumpang dan kilometer yang
ditempuh untuk masing-masing penumpang tersebut
11
Penumpang
+<constructor>
+setNama()
+setAsal()
+setTujuan()
+getNama()
+getAsal()
+getTujuan()
UML (Diagram Class)
(seiring dengan kebutuhan , requirement akan bertambah kompleks)
12
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
+<constructor>
+<get dan set method>
+(static) JumlahTaxi() : int
+(static) JumlahTaxi() : double
+perjalanan(penumpang:Penumpang, km:double)
pembayaran()
pembayaran(double : km)
+totalKm(double : km) : double
+daftarPenumpang()
Penumpang
namaPenumpang : String
lokasiAsal : String
lokasiTujuan : String
+<constructor>
+setNama()
+setAsal()
+setTujuan()
+getNama()
+getAsal()
+getTujuan()
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).
081 331 834 734 / 088 160 127 40