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
Text Box: Class


Handphone
Text Box: Attributstatushp : boolean
statusjaringan :boolean
aplikasi : boolean
temanchatting : string[]
jaringan : string[]
pilihjaringan : int
pilihtemanchat : int
pulsa : int
acak : int
Text Box: Methodtemanchatting()
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.
No comments

No comments :

Post a Comment