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...
![Page 1: Pemrograman Lanjut - afif.lecture.ub.ac.id · Case Sebuah perusahaan taxi ternama di Malang ingin membangun software untuk mengelola taxi yang dimilikinya.Setiap taxi yang dimilikinya](https://reader031.fdocuments.net/reader031/viewer/2022022116/5c81748009d3f2b4078ca0fd/html5/thumbnails/1.jpg)
Pemrograman Lanjut
PTIIK - 2014
Case Study: Perusahaan Taxi
![Page 2: Pemrograman Lanjut - afif.lecture.ub.ac.id · Case Sebuah perusahaan taxi ternama di Malang ingin membangun software untuk mengelola taxi yang dimilikinya.Setiap taxi yang dimilikinya](https://reader031.fdocuments.net/reader031/viewer/2022022116/5c81748009d3f2b4078ca0fd/html5/thumbnails/2.jpg)
Objectives
Mampu mengidentifikasikan class pada permasalahan Perusahaan taxi
Mampu membuat diagram class untuk class yang teridentifikasi
Mampu mengimplementasikannya ke dalam bahasa pemrograman Java
![Page 3: Pemrograman Lanjut - afif.lecture.ub.ac.id · Case Sebuah perusahaan taxi ternama di Malang ingin membangun software untuk mengelola taxi yang dimilikinya.Setiap taxi yang dimilikinya](https://reader031.fdocuments.net/reader031/viewer/2022022116/5c81748009d3f2b4078ca0fd/html5/thumbnails/3.jpg)
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.
![Page 4: Pemrograman Lanjut - afif.lecture.ub.ac.id · Case Sebuah perusahaan taxi ternama di Malang ingin membangun software untuk mengelola taxi yang dimilikinya.Setiap taxi yang dimilikinya](https://reader031.fdocuments.net/reader031/viewer/2022022116/5c81748009d3f2b4078ca0fd/html5/thumbnails/4.jpg)
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,-
![Page 5: Pemrograman Lanjut - afif.lecture.ub.ac.id · Case Sebuah perusahaan taxi ternama di Malang ingin membangun software untuk mengelola taxi yang dimilikinya.Setiap taxi yang dimilikinya](https://reader031.fdocuments.net/reader031/viewer/2022022116/5c81748009d3f2b4078ca0fd/html5/thumbnails/5.jpg)
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.
![Page 6: Pemrograman Lanjut - afif.lecture.ub.ac.id · Case Sebuah perusahaan taxi ternama di Malang ingin membangun software untuk mengelola taxi yang dimilikinya.Setiap taxi yang dimilikinya](https://reader031.fdocuments.net/reader031/viewer/2022022116/5c81748009d3f2b4078ca0fd/html5/thumbnails/6.jpg)
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
![Page 7: Pemrograman Lanjut - afif.lecture.ub.ac.id · Case Sebuah perusahaan taxi ternama di Malang ingin membangun software untuk mengelola taxi yang dimilikinya.Setiap taxi yang dimilikinya](https://reader031.fdocuments.net/reader031/viewer/2022022116/5c81748009d3f2b4078ca0fd/html5/thumbnails/7.jpg)
Identifikasi Class
Pengelolaan taxi
Identitas penumpang
Taxi Penumpang
![Page 8: Pemrograman Lanjut - afif.lecture.ub.ac.id · Case Sebuah perusahaan taxi ternama di Malang ingin membangun software untuk mengelola taxi yang dimilikinya.Setiap taxi yang dimilikinya](https://reader031.fdocuments.net/reader031/viewer/2022022116/5c81748009d3f2b4078ca0fd/html5/thumbnails/8.jpg)
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
![Page 9: Pemrograman Lanjut - afif.lecture.ub.ac.id · Case Sebuah perusahaan taxi ternama di Malang ingin membangun software untuk mengelola taxi yang dimilikinya.Setiap taxi yang dimilikinya](https://reader031.fdocuments.net/reader031/viewer/2022022116/5c81748009d3f2b4078ca0fd/html5/thumbnails/9.jpg)
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
![Page 10: Pemrograman Lanjut - afif.lecture.ub.ac.id · Case Sebuah perusahaan taxi ternama di Malang ingin membangun software untuk mengelola taxi yang dimilikinya.Setiap taxi yang dimilikinya](https://reader031.fdocuments.net/reader031/viewer/2022022116/5c81748009d3f2b4078ca0fd/html5/thumbnails/10.jpg)
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()
![Page 11: Pemrograman Lanjut - afif.lecture.ub.ac.id · Case Sebuah perusahaan taxi ternama di Malang ingin membangun software untuk mengelola taxi yang dimilikinya.Setiap taxi yang dimilikinya](https://reader031.fdocuments.net/reader031/viewer/2022022116/5c81748009d3f2b4078ca0fd/html5/thumbnails/11.jpg)
Identifikasi Method - Penumpang
Daftar informasi penumpang dan kilometer yang
ditempuh untuk masing-masing penumpang tersebut
11
Penumpang
+<constructor>
+setNama()
+setAsal()
+setTujuan()
+getNama()
+getAsal()
+getTujuan()
![Page 12: Pemrograman Lanjut - afif.lecture.ub.ac.id · Case Sebuah perusahaan taxi ternama di Malang ingin membangun software untuk mengelola taxi yang dimilikinya.Setiap taxi yang dimilikinya](https://reader031.fdocuments.net/reader031/viewer/2022022116/5c81748009d3f2b4078ca0fd/html5/thumbnails/12.jpg)
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()
![Page 13: Pemrograman Lanjut - afif.lecture.ub.ac.id · Case Sebuah perusahaan taxi ternama di Malang ingin membangun software untuk mengelola taxi yang dimilikinya.Setiap taxi yang dimilikinya](https://reader031.fdocuments.net/reader031/viewer/2022022116/5c81748009d3f2b4078ca0fd/html5/thumbnails/13.jpg)
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.
![Page 14: Pemrograman Lanjut - afif.lecture.ub.ac.id · Case Sebuah perusahaan taxi ternama di Malang ingin membangun software untuk mengelola taxi yang dimilikinya.Setiap taxi yang dimilikinya](https://reader031.fdocuments.net/reader031/viewer/2022022116/5c81748009d3f2b4078ca0fd/html5/thumbnails/14.jpg)
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).