Tugas Array dan Inheritance Kelompok 06


Kelompok 6 – SI4002:

· Anisa Agustina (1202162042)

· Rahkmah Nabila (1202163018)

· Atika Rahmawati (1202164244)Tugas Alpro

1. Bab 8 Inheritance and Polymorphism

Halaman 648 bagian “Programming Projects” Nomor 6

Soal :Create a base class called Vehicle that has the manufacturer’s name (type String), number of cylinders in the engine (type int), and owner (type Person givin ion Listing 8.1). Then create a class called Truck that is derived from Vehicle and has additional properties: the load capacity in tons (type double, since it may contain a fractional part) and towing capacity in tons (type double). Give your classes a reasonable complement of constructors and accessor methods, and an equals method as well. Write a driver program (no pun intended) that tests all your methods.

Penjelasan soal: Buat class vehicle yang ada nama manufaktur dengan tipe data String Kemudian banyaknya cylinders di engine dengan tipe data int, nama pemilik dengan tipe person yang ada di Listing 8.1. Selain itu, buat class turunan vehicle yang dinamakan Truck, kelebihannya yaitu banyaknya kapasitas tampungan dengan tipe data double, dan kapasitas towing dengan tipe data double. Buat method yang masuk akal.

Source Code

Class vehicle

1. package alpro;

2. public class Vehicle {

3.

4. private int cylinders;

5. private String nama_manufaktur;

6. public Vehicle(){

7. }

8. public String getName() {

9. return nama_manufaktur;

10. }

11. public Vehicle (String nm, int cylindersNumber ) {

12. nama_manufaktur = nm;

13. cylinders = cylindersNumber;

14. }

15.

16. public void reset(int newCylinderNumber) {

17. cylinders = newCylinderNumber;

18. }

19. public int getCylinders() {

20. return cylinders;

21. }

22. public void writeOutput() {

23. System.out.println("Nama Manufaktur: "+ getName());

24. System.out.println("Jumlah Cylinder: " + getCylinders());

25. }

26.

27. }

Class person

1. package alpro;

2. public class Person {

3.

4. private String name;

5. public Person() {

6. name = "Anisa";

7. }

8. public Person(String initialName) {

9. name = initialName;

10. }

11. public void setName(String newName) {

12. name = newName;

13. }

14. public String getName() {

15. return name;

16. }

17. public void writeOutput() {

18. System.out.println("Nama Pemilik: " + name);

19. }

20. public boolean hasSameName(Person otherPerson){

21. return this.name.equalsIgnoreCase(otherPerson.name);

22. }

23. }

Class truck

1. package alpro;

2. public class Truck extends Vehicle {

3. private double load;

4. private double tow;

5.

6. public double getLoad() {

7. return load;

8. }

9.

10. public double getTow() {

11. return tow;

12. }

13.

14. public Truck(double load, double tow) {

15. this.load = load;

16. this.tow = tow;

17. }

18.

19. public void writeOutput(){

20. System.out.println("Maksimal kapasitas Truck : "+getLoad()+ " tons");

21. System.out.println("Maksimal kapasitas Muatan Truck : "+getTow()+" tons");

22. }

23. }

Main class vehiclee

1. package alpro;

2. import java.util.Scanner;

3. public class Vehiclee {

4.

5. private static Truck c, f, i;

6. private static Vehicle a, d, g;

7. private static Person b, e, h;

8.

9. public static void main(String[] args) {

10. System.out.println("\tData Manufaktur");

11. System.out.println("===============================");

12. System.out.println();

13. Scanner input = new Scanner(System.in);

14. System.out.print("Masukan Nama Manufaktur: ");

15. String manufaktur1 = input.nextLine();

16. System.out.print("Masukan Jumlah Cylinders: ");

17. int cylinder1 = Integer.parseInt(input.nextLine());

18. System.out.print("Masukan Nama Pemilik: ");

19. String owner1 = input.nextLine();

20. System.out.print("Masukan Kapasitas: ");

21. double load1 = Double.parseDouble(input.nextLine());

22. System.out.print("Masukan Maksimum Beban Derek: ");

23. double tow1 = Double.parseDouble(input.nextLine());

24. System.out.println();

25. a = new Vehicle(manufaktur1 , cylinder1);

26. a.writeOutput();

27. b = new Person(owner1);

28. b.writeOutput();

29. c = new Truck(load1, tow1 );

30. c.writeOutput();

31.

32. System.out.println("*******************************");

33. System.out.print("Masukan Nama Manufaktur: ");

34. String manufaktur2 = input.nextLine();

35. System.out.print("Masukan Jumlah Cylinders: ");

36. int cylinder2 = Integer.parseInt(input.nextLine());

37. System.out.print("Masukan Nama Pemilik: ");

38. String owner2 = input.nextLine();

39. System.out.print("Masukan Kapasitas: ");

40. double load2 = Double.parseDouble(input.nextLine());

41. System.out.print("Masukan Maksimum Beban Derek: ");

42. double tow2 = Double.parseDouble(input.nextLine());

43. System.out.println();

44. d = new Vehicle(manufaktur2 , cylinder2);

45. d.writeOutput();

46. e = new Person(owner2);

47. e.writeOutput();

48. f = new Truck(load2, tow2 );

49. f.writeOutput();

50.

51. System.out.println("*******************************");

52. System.out.print("Masukan Nama Manufaktur: ");

53. String manufaktur3 = input.nextLine();

54. System.out.print("Masukan Jumlah Cylinders: ");

55. int cylinder3 = Integer.parseInt(input.nextLine());

56. System.out.print("Masukan Nama Pemilik: ");

57. String owner3 = input.nextLine();

58. System.out.print("Masukan Kapasitas: ");

59. double load3 = Double.parseDouble(input.nextLine());

60. System.out.print("Masukan Maksimum Beban Derek: ");

61. double tow3 = Double.parseDouble(input.nextLine());

62. System.out.println();

63. g = new Vehicle(manufaktur3 , cylinder3);

64. g.writeOutput();

65. h = new Person(owner3);

66. h.writeOutput();

67. i = new Truck(load3, tow3 );

68. i.writeOutput();

69.

70. System.out.println();

71. highestCapacity();

72. }

73.

74. public static void highestCapacity(){

75. if(c.getLoad()>f.getLoad() && c.getLoad()>i.getLoad()){

76. System.out.println("Maksimum capacity adalah: " + a.getName() +" dengan kapasitas maksimal "+c.getLoad()+ "tons");

77. }

78. else if (f.getLoad()>c.getLoad() && f.getLoad()>i.getLoad()){

79. System.out.println("Maksimum capacity adalah: " + d.getName() +" dengan kapasitas maksimal "+f.getLoad()+ "tons");

80. }

81. else if (i.getLoad()>c.getLoad() && i.getLoad()>f.getLoad()){

82. System.out.println("Maksimum capacity adalah: " + g.getName() +" dengan kapasitas maksimal "+i.getLoad()+ "tons");

83. }

84.

85. }

86. }

Hasil pengerjaan


Leave a Reply