Anda di halaman 1dari 10

TUGAS PENDAHULUAN

NAMA

: BARI HADE VARIANT WAHONO

NPM

: 1534010072

SESI

: B3

ASISTEN PRAKTIKUM

: KHOIRUL ARIF Y.
MASTI FATCHIYAH M.

(1434010178)
(1434010077)

SOAL

1. Jelaskan pengertian inheritance !


2. Jelaskan perbedaan inheritance dengan array biasa !
3. Buat program dengan inheritance bertema calon mahasiswa yang memiliki menu
(1. Input, 2. View, 3. Search, 4.Update, 5. Delete, 6. Exit) dengan input dinamis
JAWABAN
1. Inheritance adalah sifat di dalam pemrograman berorientasi objek, dimana sifatsifat dari suatu class dapat diwariskan ke class yang lain.
2. a. Single inheritance : Pewarisan dari satu superclass ke satu subclass.
b. Multiple inheritance : Pewarisan dari dua superclass ke satu subclass.
c. Hierarchial inheritance : Pewarisan dari satu superclass ke beberapa subclass
d. Multilevel inheritance : Pewarisan dari satu superclass ke satu subclass,
kemudian subclass tersebut mewariskan sifat tersebut pada subclass yang lain.
e. Hybrid inheritance : Pewarisan dari satu superclass ke dua subclass,
kemudian kedua subclass tersebut mewariskan sifat tersebut pada subclass
yang lain.

ALGORTIMA

A.
1.
2.

3.
4.
5.
6.

Class camaba2
main
Start
Deklarasi Variabel
:
String
: nama
: atribut nama
String
: sekolah
: atribut sekolah
String
: nis
: atribut nis
String
: fak
: atribut fakultas
String
: jur
: atribut jurusan
Int
: id
: atribut id
Int
: tah
: atribut tahun
Int
:i
: pengakses index
Int
:j
: pengakses index 2
Int
:m
: pengkoreksi data
String
: nm
: keyword nama
Inisialisasi Variabel : i=0 dan j=0
Buat array of object cmb
Buat array of object cma
Masukkan pilihan menu 1. Input, 2. View, 3. Search, 4. Update, 5. Delete, 6.

Exit, dapatkan variable p


7. Jika p=1 bernilai benar maka berlanjut ke langkah 8, jika tidak maka berlanjut ke
8.
9.
10.
11.
12.
13.

langkah 13
Proses cmb[i] = new camaba2
Panggil method input dengan objek cmb
Proses cma[i] = new terima
Panggil method input dengan objek cma
Proses i=i+1, dan berlanjut ke langkah 63
Jika p=2 bernilai benar maka berlanjut ke langkah 14, jika tidak maka berlanjut

ke langkah 21
14. Jika i=0 bernilai benar maka berlanjut ke langkah 15, jika tidak maka berlanjut ke
langkah 16
15. Tampilkan Data Kosong, dan berlanjut ke langkah 63
16. Proses j=0
17. Jika j>i bernilai benar maka berlanjut ke langkah 63, jika tidak maka berlanjut ke
18.
19.
20.
21.

langkah 18
Panggil method view dengan objek cmb
Panggil method view dengan objek cma
Proses i=i+1, dan berulang ke langkah 17
Jika p=3 bernilai benar maka berlanjut ke langkah 22, jika tidak maka berlanjut

22.
23.
24.
25.

ke langkah 33
Masukkan keyword nama
Proses m=0
Proses j=0
Jika j>i bernilai benar maka berlanjut ke langkah 31, jika tidak maka berlanjut ke
langkah 26

26. Jika nm=nama bernilai benar maka berlanjut ke langkah 27, jika tidak maka
27.
28.
29.
30.
31.

berlanjut ke langkah 30
Panggil method view dengan objek cmb
Panggil method view dengan objek cma
Proses m=m+1, dan berlanjut ke langkah 31
Proses j=j+1, dan berulang ke langkah 25
Jika m=0 bernilai benar maka berlanjut ke langkah 32, jika tidak maka berlanjut

ke langkah 63
32. Tampilkan Data Kosong, dan berlanjut ke langkah 63
33. Jika p=4 bernilai benar maka berlanjut ke langkah 34, jika tidak maka berlanjut
34.
35.
36.
37.

ke langkah 45
Masukkan keyword nama
Proses m=0
Proses j=0
Jika j>i bernilai benar maka berlanjut ke langkah 43, jika tidak maka berlanjut ke

langkah 38
38. Jika nm=nama bernilai benar maka berlanjut ke langkah 39, jika tidak maka
39.
40.
41.
42.
43.

berlanjut ke langkah 42
Panggil method input dengan objek cmb
Panggil method input dengan objek cma
Proses m=m+1, dan berlanjut ke langkah 43
Proses j=j+1, dan berulang ke langkah 37
Jika m=0 bernilai benar maka berlanjut ke langkah 44, jika tidak maka berlanjut

ke langkah 63
44. Tampilkan Data Kosong, dan berlanjut ke langkah 63
45. Jika p=5 bernilai benar maka berlanjut ke langkah 46, jika tidak maka berlanjut
46.
47.
48.
49.

ke langkah 60
Masukkan keyword nama
Proses m=0
Proses j=0
Jika j>i bernilai benar maka berlanjut ke langkah 58, jika tidak maka berlanjut ke

langkah 50
50. Jika nm=nama bernilai benar maka berlanjut ke langkah 51, jika tidak maka
berlanjut ke langkah 57
51. Jika j>i-1 bernilai benar maka berlanjut ke langkah 55, jika tidak maka berlanjut
52.
53.
54.
55.
56.
57.
58.

ke langkah 52
Proses cmb[j]=cmb[j+1]
Proses cma[j]=cma[j+1]
Proses j=j+1, dan berulang ke langkah 51
Proses m=m+1
Proses i=i-1, dan berlanjut ke langkah 58
Proses j=j+1, dan berulang ke langkah 49
Jika m=0 bernilai benar maka berlanjut ke langkah 59, jika tidak maka berlanjut

ke langkah 63
59. Tampilkan Data Kosong, dan berlanjut ke langkah 63

60. Jika p=6 bernilai benar maka berlanjut ke langkah 61, jika tidak maka berlanjut
ke langkah 62
61. Tampilkan Terima Kasih, dan berlanjut ke langkah 63
62. Tampilkan Pilihannya Cuma 6
63. Jika p=6 bernilai benar maka berlanjut ke langkah 64, jika tidak maka berlanjut
ke langkah 6
64. End
B.
1.
2.
3.
4.
5.
6.

input
Start
Masukkan nama
Masukkan sekolah asal
Masukkan id pendaftaran
Masukkan tahun lulus
End

C.
1.
2.
3.
4.
5.
6.

view
Start
Tampilkan nama
Tampilkan sekolah asal
Tampilkan ide pendaftaran
Tampilkan tahun lulus
End

A.
1.
2.
3.
4.
5.

Class terima
input
Start
Masukkan nis
Masukkan fakultas
Masukkan jurusan
End

B.
1.
2.
3.
4.
5.

view
Start
Tampilkan nis
Tampilkan fakultas
Tampilkan jurusan
End

DIAGRAM UML

Gambar 1.1 Diagram UML

SOURCE CODE

package inherit;
import java.util.Scanner;
public class camaba2 {
String nama, sekolah;
int id, tah;
static Scanner mlebu;
static int i=0, j=0, m;
void input(){
mlebu = new Scanner(System.in);
System.out.print("Masukkan Nama
nama = mlebu.nextLine();
System.out.print("Masukkan Sekolah Asal
sekolah = mlebu.nextLine();
System.out.print("Masukkan ID Pendaftaran
id = mlebu.nextInt();
System.out.print("Masukkan Tahun Lulus
tah = mlebu.nextInt();
}
void view(){
System.out.println("Nama
System.out.println("Sekolah Asal
System.out.println("ID Pendaftaran
System.out.println("Tahun Lulus
}

:
:
:
:

: ");
: ");
: ");
: ");

"+nama);
"+sekolah);
"+id);
"+tah);

public static void main(String[] args) {


mlebu = new Scanner(System.in);
camaba2[] cmb = new camaba2[100];
terima[] cma = new terima[100];
int p;
do {
System.out.println("Pilihan : 1. Input 2. View 3. Search
4. Update 5. Delete 6. Exit");
System.out.print("Masukkan Pilihan : ");
p = mlebu.nextInt();
switch (p) {
case 1:
cmb[i] = new camaba2();
cmb[i].input();
cma[i] = new terima();
cma[i].input();
i++;
break;
case 2:
if (i==0) {
System.out.println("Data Kosong");
} else {
for(j=0;j<i;j++){
cmb[j].view();
cma[j].view();
}
}

break;
case 3:
mlebu = new Scanner(System.in);
System.out.print("Masukkan Nama Yg Di-cari : ");
String nm = mlebu.nextLine();
m=0;
for(j=0;j<i;j++){
if (nm.equalsIgnoreCase(cmb[j].nama)) {
cmb[j].view();
cma[j].view();
m++;
}
}
if (m==0) {
System.out.println("Data Kosong");
}
break;
case 4:
mlebu = new Scanner(System.in);
System.out.print("Masukkan Nama Yg Di-update : ");
nm = mlebu.nextLine();
m=0;
for(j=0;j<i;j++){
if (nm.equalsIgnoreCase(cmb[j].nama)) {
cmb[j].input();
cma[j].input();
m++;
}
}
if (m==0) {
System.out.println("Data Kosong");
}
break;
case 5:
mlebu = new Scanner(System.in);
System.out.print("Masukkan Nama Yg Di-hapus : ");
nm = mlebu.nextLine();
m=0;
for(j=0;j<i;j++){
if (nm.equalsIgnoreCase(cmb[j].nama)) {
for(;j<i-1;j++){
cmb[j]=cmb[j+1];
cma[j]=cma[j+1];
}
m++;
i--;
}
}
if (m==0) {
System.out.println("Data Kosong");
}
break;
case 6:
System.out.println("Terima Kasih");
break;
default:
System.out.println("Pilihannya Cuma 6");
break;
}
} while (p!=6);

}
class terima extends camaba2{
int nis;
String fak, jur;
void input(){
mlebu = new Scanner(System.in);
System.out.print("Masukkan NIS
: ");
nis = Integer.parseInt(mlebu.nextLine());
System.out.print("Masukkan Fakultas
: ");
fak = mlebu.nextLine();
System.out.print("Masukkan Jurusan
: ");
jur = mlebu.nextLine();
}
void view(){
System.out.println("NIS
System.out.println("Fakultas
System.out.println("Jurusan
}
}

: "+nis);
: "+fak);
: "+jur+"\n");

OUTPUT

Gambar 2.1 Input

Gambar 2.2 View

Gambar 2.3 Search

Gambar 2.4 Update

Gambar 2.5 Delete

Gambar 2.6 Error Handling

Gambar 2.7 Exit

Anda mungkin juga menyukai