Tugas 1 (OOP)
1.
SOAL (STUDI KASUS).
-
Membuat
diagram class dan implementasi program dalam bentuk class dan penggunaan class
tersebut.
-
Pada
studi kasus ini akan membahas topik
“Handphone untuk Chatting” dengan konsep OOP (Object Oriented Programming).
2.
PENYELESAIAN.
Handphone
sebagai objek memiliki method/behavior unutk melakukan chatting. Pertama
Handphone di aktifkan, setelah aktif kemudian memeriksa status pulsa, Jika
pulsa tidak mencukupi, maka kita menggunakan jaringan WIFI, wifi yang tersedia
di cek terlebih dahulu, kemudian memilih jaringan yang tersedia secara acak.
Setelah koneksi menggunakan jaringan WIFI atau pulsa, baru kita akan
mengaktifkan aplikasi chatting nya. Setelah aktif, terdapat method untuk
melihat teman yang online, memilih teman untuk chatting, kemudian melakukan
chatting, setelah chatting selesai, apabila kita menggunakan jaringan Pulsa,
maka akan di kurangi dengan biaya chatting (asumsi : 4000), sedangkan
menggunakan WIFI tidak akan mengurangi pulsa.
Penjelasan
di atas program yang akan jalan/eksekusi secara berurutan. Cara lain dengan
menggunakan menu (menggunakan perulangan). Jadi kita bisa memilih menu yang
tersedia. Contohnya : pada awal program di eksekusi, maka akan menampilkan 2
buah menu, Aktifkan HP dan Matikan HP. Jika kita memilih aktifkan HP, kita akan
di hadapkan pada menu selanjutnya. Contoh : Cek Pulsa, Isi Pulsa, Cek Jaringan,
dll. Kemudian kita juga dihadapkan pada menu Aplikasi chatting apabila kita
memilih menu chatting.
Handphone merupakan sebuah Objek yang memiliki attribut/variabel
dan behavior/method digambarkan dalam diagram class dibawah ini.
a.
DIAGRAM
![]() |
Handphone
|
![]() |
statusjaringan :boolean
|
aplikasi : boolean
|
temanchatting : string[]
|
jaringan : string[]
|
pilihjaringan : int
|
pilihtemanchat : int
|
pulsa : int
|
acak : int
|
![]() |
pilihtemanchat(p : int)
|
addpulsa(p : int)
|
cekpulsa()
|
hidupkanhp()
|
cekjaringan()
|
pilihjaringan()
|
aplikasi()
|
chatting(p : int)
|
tutupchatting()
|
putusjaringan()
|
tutupaplikasi()
|
matikanhp()
|
b.
PENJELASAN
Diagram diatas menjelaskan handphone merupakan
sebuah nama class. Kemudian dari class tersebut memiliki attribut dan method.
Attribut terdiri dari : statushp,
statusjaringan, aplikasi, temanchatting, jaringan, pilihjaringan, pilihtemanchat,
pulsa, acak. Sedangankan method terdiri dari : temanchatting(), pilihtemanchat(p : int), addpulsa(p : int),
cekpulsa(), hidupkanhp(), cekjaringan(), pilihjaringan(), apilkasi(),
chatting(p :int), tutupchatting(), putusjaringan(), tutupaplikasi(),
matikanhp().
c.
SOURCECODE
i.
handphone.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
package hp2;
public class handphone
{
//Deklarasi variabel/atribut
boolean statushp, aplikasi,
statusjaringan;
String[] jaringan = new String[5];
String[] temanchatting = new String[5];
String pilihjaringan;
String pilihtemanchat;
int pulsa =0;
int acak = (int) (Math.random() * 5);
//fungsi teman chatting
void temanchatting() {
System.out.println("Teman
Chatting Yang Online : ");
temanchatting[0] =
"Gibranda";
temanchatting[1] = "Reski";
temanchatting[2] = "Fauzi";
temanchatting[3] = "Pandi";
temanchatting[4] = "Robi";
for (int i = 0; i <
jaringan.length; i++) {
System.out.println(+(i + 1) +
". " + temanchatting[i]);
}
}
//fungsi pilih teman
void pilihtemanchat(int p) {
pilihtemanchat = temanchatting[p -
1];
System.out.println("Teman
Chatting Anda : " + pilihtemanchat);
}
//fungsi tambah pulsa
void addPulsa(int p) {
if(p % 5000 == 0){
pulsa = p;
System.out.println("Pulsa Anda
Telah Diisi : " + pulsa);
} else {
System.out.println("Pulsa
Tidak Tersedia");
}
}
//fungsi cek pulsa
void cekpulsa() {
System.out.println("Pulsa Anda :
" + pulsa);
}
//fungsi hidupkan hp
void hidupkanhp() {
statushp = true;
System.out.println("Hp Sudah
Aktif");
}
//fungsi cek jaringan
void cekjaringan() {
if (pulsa < 5000) {
statusjaringan = true;
System.out.println("Pulsa
Anda tidak cukup untuk melakukan chating");
System.out.println("Gunakan
Jaringan/WIFI Yang Tersedia :");
jaringan[0] = "PTIIK";
jaringan[1] =
"WIFI-ID";
jaringan[2] = "Mikrotik";
jaringan[3] =
"Connectify-Me";
jaringan[4] =
"Microsoft-ID";
for (int i = 0; i <
jaringan.length; i++) {
System.out.println("
" + (i + 1) + ". " + jaringan[i]);
}
} else {
System.out.println("Anda
Terhubung Jaringan Menggunakan Pulsa ");
}
}
//fungsi pilih jaringan secara acak
void pilihjaringan() {
if (pulsa < 5000 &&
statusjaringan == true) {
pilihjaringan = jaringan[acak];
System.out.println("Anda
Terhubung Dengan Jaringan : " + pilihjaringan);
} else {
System.out.println("Anda
Menggunakan Jaringan Pulsa ");
}
}
//fungsi aktifkan aplikasi chating
void aplikasi() {
aplikasi = true;
System.out.println("Aplikasi
Chatting Sudah Aktif");
}
//fungsi melakukan chatting
void chatting(int b) {
if (pulsa >= b &&
statusjaringan != true) {
System.out.println("Anda
Sedang Melakukan Chatting Dengan : " +pilihtemanchat);
pulsa = pulsa - b;
} else if (statusjaringan) {
System.out.println("Anda
Sedang Melakukan Chating Dengan : " + pilihtemanchat);
} else {
System.out.println("Tidak Dapat
Melakukan Chating, Tambah Pulsa Atau Gunakan Jaringan");
}
}
//fungsi tutup apliksai chatting
void tutupchatting() {
aplikasi = false;
System.out.println("Chatting
Sudah Selesai");
}
//fungsi putus jaringan
void putusjaringan() {
if (statusjaringan == true) {
statusjaringan = false;
System.out.println("WIFI
Disconnect");
}
}
void tutupaplikasi(){
aplikasi = false;
System.out.println("Aplikasi
Chatting Sudah Di Tutup");
}
//fungsi matikan hp
void matikanhp() {
statushp = false;
System.out.println("HP Sudah
Tidak Aktif");
}
}
|
ii.
hpaksi2.java
Code dibawah
program langsung mengeksekusi source code tanpa menggunakan perulangan.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
/*
* To change this template, choose Tools |
Templates
* and open the template in the editor.
*/
package hp2;
/**
*
* @author Gibranda
*/
public class hpaksi2 {
public static void main(String[] args) {
handphone hpku = new handphone();
hpku.hidupkanhp();
hpku.cekpulsa();
hpku.addPulsa(10000); //menambah
pulsa 10000
hpku.cekjaringan();
hpku.pilihjaringan();
hpku.aplikasi();
hpku.temanchatting();
hpku.pilihtemanchat(2); //asumsi
pilih teman chat nomor 2
hpku.chatting(4000); //biaya unutk 1
kali chatting
hpku.tutupchatting();
hpku.tutupaplikasi();
hpku.cekpulsa();
hpku.putusjaringan();
hpku.matikanhp();
}
}
|
iii.
hpaksi.java
Source code dibawah
ini menggunakan perulangan untuk menampilkan menu pilihan. Jadi kita bisa
memilih menu yang kita inginkan.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
package hp2;
import
java.util.Scanner;
/**
*
* @author Gibranda
*/
public class hpaksi {
public static void main(String[] args) {
handphone myhp = new handphone();
Scanner input = new
Scanner(System.in);
int pilihan, pilihan2;
do {
System.out.println("1.
Hidupkan HP");
System.out.println("0.
Matikan HP");
System.out.print(" (*) Inputkan Pilihan : ");
pilihan = input.nextInt();
switch (pilihan) {
case 1:
myhp.hidupkanhp();
aktif();
break;
case 0:
myhp.matikanhp();
break;
default:
System.out.println("Inputan Salah");
}
} while (pilihan != 0);
}
public static void aktif() {
Scanner input = new
Scanner(System.in);
int pilihan2;
handphone myhp = new handphone();
do {
System.out.println("\n MENU :");
System.out.println(" 1. Cek Pulsa");
System.out.println(" 2. Isi Pulsa");
System.out.println(" 3. Cek Jaringan");
System.out.println(" 4. Pilih Jaringan");
System.out.println(" 5. Aktifkan Aplikasi Chatting");
System.out.println(" 6. Matikan Wifi");
System.out.println(" 7. Home");
System.out.print(" (*) Inputkan Pilihan : ");
pilihan2 = input.nextInt();
switch (pilihan2) {
case 1:
myhp.cekpulsa();
break;
case 2:
System.out.println("Inputkan Jumlah Pulsa : ");
int pul = input.nextInt();
myhp.addPulsa(pul);
break;
case 3:
myhp.cekjaringan();
break;
case 4:
myhp.pilihjaringan();
//jaringan dipilih secara acak
break;
case 5:
myhp.cekjaringan();
myhp.pilihjaringan();
myhp.aplikasi();
chat();
break;
case 6:
myhp.statusjaringan
=true;
myhp.putusjaringan();
break;
case 7:
System.out.println("Menu Home");
break;
default:
System.out.println("Inputan Salah");
}
} while (pilihan2 != 7);
}
public static void chat() {
Scanner input = new
Scanner(System.in);
int pilihan2;
handphone myhp = new handphone();
do {
System.out.println("\n MENU");
System.out.println(" 1. Teman Online");
System.out.println(" 2. Pilih Teman Chatting");
System.out.println(" 3. Chating");
System.out.println(" 4. Tutup Chatting");
System.out.println(" 5. Tutup Aplikasi");
System.out.print(" (*) Inputkan Pilihan : ");
pilihan2 = input.nextInt();
switch (pilihan2) {
case 1:
myhp.temanchatting();
break;
case 2:
System.out.println("Pilih Teman Chat : ");
int pil = input.nextInt();
myhp.pilihtemanchat(pil);
break;
case 3:
myhp.cekpulsa();
myhp.chatting(4000);
break;
case 4:
myhp.tutupchatting();
break;
case 5:
myhp.tutupaplikasi();
break;
default:
System.out.println("Inputan Salah");
}
} while (pilihan2 != 5);
}
}
|
d.
SCREEN SHOT
i.
hpaksi2.java
Hasil eksekusi program ketika di RUN.
Kita asumsikan input jumlah pulsa 10000, jika pulsa besar dari 4000 maka
chating menggunakan jaringan pulsa. Seperti yang terlihat gambar dibawah ini.
Kemudian pulsa akan berkurang sebanyak 4000 untuk chatting.
Sebaliknya jika pulsa
kita kurang, maka menggunakan jaringan wifi yang tersedia. Jaringan ini dipilih
otomatis secara acak. Pulsa kita
tidak akan berkurang karena menggunakan jaringan WIFI.
ii.
hpaksi.java
Hasil eksekusi program
ketika di RUN. Jika kita menginputkan angka 1, maka akan muncul menu
selanjutnya.
3.
KESIMPULAN
Objek merupakan gambaran perpektif manusia dalam
memandang sebuah objek yang memiliki Attribut/data dan behavior/method.
Perbedaan antara class dan objek adalah kalau class mendeklarasikan method yang
dapat di gunakan (di Panggil) oleh objek. Objek sendiri memiliki sifat
independen dan dapat digunakan untuk memanggil method.
Subscribe to:
Post Comments
(
Atom
)
No comments :
Post a Comment