Pemrograman Lanjut - afif.lecture.ub.ac.id · Case Sebuah perusahaan taxi ternama di Malang ingin...

15
Pemrograman Lanjut PTIIK - 2014 Case Study: Perusahaan Taxi

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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).

Page 15: 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

[email protected]

081 331 834 734 / 088 160 127 40