Virtual Function merupakan sebuah kemampuan yang dimiliki oleh bahasa pemrograman OOP untuk membuat method dari subclass yang memiliki nama dan parameter yang sama dengan method yang dimiliki oleh super class. Dengan adanya method dengan nama dan parameter yang sama antara super class dan subclass maka ketika dipanggil maka akan menjalankan perintah dari method subclass.
CONTOH SOAL
Buatlah sebuah program java yang mengimplementasikan Virtual Function dengan studi kasus studio, dengan menu :
1. Input
2. View
3. Search
4. Update
5. Delete
6. Exit
ALGORITMA
Class Studio
Main program
1. Start
2. Deklarasi variable harga : sebagai harga sewa studio perjam,
idSewa : sebagai id penyewa,
lamaSewa : sebagai lama sewa studio,
total : sebagai total harga yang harus dibayar,
nama : sebagai nama penyewa,
no : sebagai nomor studio yang disewa,
menu : sebagai pilihan menu,
z : sebagai jumlah data,
a : sebagai variabel index,
cari : sebagai id penyewa yang dicari
3. Inisialisasi variable menu=0, z=0
4. Deklarasi array objek data dari class sewa dengan banyak index 1024
5. Buat objek data dengan index z
6. Panggil method setId dari objek data dengan index z
7. Jika menu!=6 benar lanjut ke langkah 8, jika salah lanjut ke langkah 42
8. Masukkan nilai dengan variable menu
9. Jika menu=1 benar lanjut ke langkah 10, jika salah lanjut ke langkah 14
10. Tambah nilai variable z, z=z+1
11. Buat objek data dengan index z
12. Panggil method setId dari objek data dengan index z dengan parameter method getId dari objek data dengan index z-1
13. Panggil method setData dari objek data dengan index z, kembali ke langkah 7
14. Jika menu=2 benar lanjut ke langkah 15, jika salah lanjut ke langkah 21
15. Jika z<1 benar lanjut ke langkah 16, jika salah lanjut ke langkah 17
16. Tampilkan “data kosong”, kembali ke langkah 7
17. Inisialisasi variable a=0
18. Jika a<z benar lanjut ke langkah 19, jika salah kembali ke langkah 7
19. Tambah nilai variable a, a=a+1
20. Panggil method tampil dari objek data dengan index a, kembali ke langkah 18
21. Jika menu=3 atau menu=4 atau menu=5 benar lanjut ke langkah 22, jika salah lanjut ke langkah 39
22. Masukkan nilai dengan variable cari
23. Inisialisasi variable a=1
24. Jika a<=z benar lanjut ke langkah 25, jika salah lanjut ke langkah 28
25. Jika cari=method getId dari objek data dengan index a benar lanjut ke langkah 26, jika salah lanjut ke langkah 27
26. Lanjut ke langkah 28
27. Tambah nilai variable a, a=a+1, kembali ke langkah 24
28. Jika a<=z benar lanjut ke langkah 29, jika salah lanjut ke langkah 38
29. Jika menu=3 benar lanjut ke langkah 30, jika salah lanjut ke langkah 31
30. Panggil method tampil dari objek data dengan index a, kembali ke langkah 7
31. Jika menu=4 benar lanjut ke langkah 32, jika salah lanjut ke langkah 34
32. Panggil method tampil dari objek data dengan index a
33. Panggil method setData dari objek data dengan index a, kembali ke langkah 7
34. Jika a<z benar lanjut ke langkah 35, jika salah lanjut ke langkah 37
35. Ganti nilai objek data dengan index a dengan objek data dengan index a+1
36. Tambah nilai variable a, a=a+1, kembali ke langkah 34
37. Kurangi nilai variable z, z=z-1, kembali ke langkah 7
38. Tampilkan “data tidak ditemukan”, kembali ke langkah 7
39. Jika menu=6 benar lanjut ke langkah 40, jika salah lanjut ke langkah 41
40. Tampilkan ”keluar…”, kembali ke langkah 7
41. Tampilkan ”menu ilegal”, kembali ke langkah 7
42. End
Method setData()
1. Start
2. End
Method tampil()
1. Start
2. End
Class sewa extends Studio
Method setData()
1. Start
2. Masukkan nilai dengan atribut nama
3. Masukkan nilai dengan atribut no
4. Masukkan nilai dengan atribut lamaSewa
5. Inisialisasi atribut harga=30000
6. Hitung nilai atribut total, total=harga*lamaSewa
7. End
Method tampil()
1. Start
2. Tampilkan niali atribut idSewa
3. Tampilkan niali atribut nama
4. Tampilkan niali atribut no
5. Tampilkan niali atribut harga
6. Tampilkan niali atribut lamaSewa
7. Tampilkan niali atribut total
8. End
Method setId()
1. Start
2. Inisialisasi atribut idSewa=153400
3. End
Method setId(int id)
1. Start
2. Hitung nilai atribut idSewa, idSewa=id+1
3. End
DIAGRAM UML
diagram UML |
FLOWCHART
SOURCE CODE
OUTPUT
output program menu input |
output program menu view |
output program menu search |
output program menu update |
output program menu delete |
output program menu exit |
Modul Java Virtual Function : Program Sewa Studio
Reviewed by Syafriansyah Muhammad
on
7/09/2018
Rating:
Tidak ada komentar: