Langsung ke konten utama

Enkapsulasi

 Enkapsulasi

Enkapsukasi disebut juga dengan information-hiding. Dalam berinteraksi dengan objek, seringkali kita tidak perlu mengetahui kompleksitas yang ada didalamnya. Hal ini akan lebih mudah dipahami jika kita membayangkan atau menganalisa objek yang ada disekitar kita, misalnya objek sepeda, ketika kita mengganti gear pada sepeda, kita tinggal menekan tuas gear yang ada di grip setang sepeda saja. Kita tidak perlu mengetahui bagaimana cara gear berpindah secara teknis. Contoh objek lain misalnya mesin penghisap debu (vacum cleaner), ketika kita mencolokkan kabel vacum cleaner dan menyalakan sakelarnya maka mesin tersebut siap digunakan untuk menghisap debu. Dalam proses tersebut kita tidak mengetahui proses rumit yang terjadi ketika mengubah listrik menjadi tenaga dari vacum cleaner. Dalam contoh diatas vacum cleaner dan sepeda telah menerapkan enkapsulasi atau disebut juga information-hiding atau data hiding karena menyembunyikan detail proses suatu objek dari pengguna.

 

Konstruktor

Konstruktor mirip dengan method cara deklarasinya akan tetapi tidak memiliki tipe return. Dan konstruktor dieksekusi ketika instan dari objek dibuat. Jadi setiap kali sebuat objek dibuat dengan keyword new() maka konstruktor akan dieksekusi. Cara untuk membuat konstruktor adalah sebagai berikut:

1.      Nama konstruktor harus sama dengan nama class

2.      Konstruktor tidak memiliki tipe data return

3.      Konstruktor tidak boleh menggunakan modifier abstract, static, final, dan syncronized

Note: Di java kita dapat memiliki konstruktor dengan modifier private, protected, public or default.

 

Akses Modifier

Terdapat 2 tipe modifier di java yaitu : akses modifier dan non-access modifier. Dalam hal ini kita akan fokus pada akses modifier yang berguna untuk mengatur akses method, class, dan constructor. Terdapat 4 akses modifier yaitu:

·         private – hanya dapat diakses di dalam kelas yang sama

·         default – hanya dapat diakses di dalam package yang sama

·         protected – dapat diakases di luar package menggunakan subclass (membuat inheritance)

·         public – dapat diakases dari mana saja

Detail akses modifier dapat dilihat pada tabel dibawah ini.

Access Modifier

Within Class

Within Package

Outside Package by Subclass Only

Outside Package

Private

Y

N

N

N

Default

Y

Y

N

N

Protected

Y

Y

Y

N

Public

Y

Y

Y

Y

 

Getter dan Setter

Getter adalah public method dan memiliki tipe data return, yang berfungsi untuk mendapatkan nilai dari atribut private. Sedangkan setter adalah public method yang tidak memliki tipe data return, yang berfungsi untuk memanipulasi nilai dari atribut private.

 

Notasi UML Class Diagram

Secara umum bentuk UML class diagram adalah seperti pada  gambar dibawah ini.

Keterangan :

1.      Class

2.      Interface

3.      Enumeration – adalah tipe data yang memiliki nilai atau literal yang terbatas.

4.      Atrributes

5.      Method

6.      Literals

Notasi akses modifier pada UML class diagram adalah sebagai berikut:

1.      Tanda plus (+) untuk public

2.      Tanda pagar (#) untuk protected

3.      Tanda minus (-) untuk private

4.      Untuk default, maka tidak diberi notasi

 

Percobaan

1.        Pada percobaan pertama saya akan menyelesaikan soal berikut.

Pada percobaan pertama saya akan membahas menjadi beberapa bagian seperti dibawah ini :

Codingan main class

Codingan main class saya beri nama “Main_mahasiwa”. Pada codingan main class saya menggunakan konstrutor yang mirip dengan nama sub class.  Konstruktor berfungsi untuk memberikan nilai awal pada sebuah class ketika class tersebut dibuat dalam bentuk objek pada class lain.

Saya juga menambahkan Scanner  untuk menginputkan data/nilai kesebuah variable. Lalu, saya membuat inputan bertipe data String yaitu NPM dan Nama  yang terdapat pada sub class serta menampilkan inputan dari NPM dan Nama pada output program.


Codingan sub class

Codingan sub class saya beri nama “Mahasiswa”. Pada codingan sub class saya membuat variabel/atribut bernama NPM dan Nama yang bertipe data String dan mengunakan tipe akses private yang berarti hanya dapat diakses di dalam kelas yang sama.

Lalu saya membuat method getter yang berfungsi untuk mendapatkan nilai dari atribut private bernama getNPM dan getNama yang bertipe data String.

Lalu saya membuat method setter yang berfungsi untuk memanipulasi nilai dari atribut private bernama setNPM dan setNama yang bertipe data String.


Class, Atribut, dan Object

Dibawah ini merupakan nama Class, Atribut dan Object yang terdapat pada percobaan 1.



Output

Output yang dihasilkan dari percobaan 1.



2.        Pada percobaan kedua saya akan menyelesaikan soal berikut.

Pada percobaan kedua saya akan membahas menjadi beberapa bagian seperti dibawah ini :

Codingan main class

Karena pada percobaan kedua hanya menambahkan atribut Alamat, No Hp, Email dan Instagram. Jadi codingan program hampir mirip dengan percobaan 1 hanya saja menambahkan atribut/varibel dan method setter dan getter.

Codingan main class saya beri nama “Main_mahasiwa2”. Pada codingan main class saya menggunakan konstrutor yang mirip dengan nama sub class.  Konstruktor berfungsi untuk memberikan nilai awal pada sebuah class ketika class tersebut dibuat dalam bentuk objek pada class lain.

Saya juga menambahkan Scanner  untuk menginputkan data/nilai kesebuah variable. Lalu, saya membuat inputan bertipe data String yaitu NPM, Nama, Alamat, No. Hp, Email dan Instagram  yang terdapat pada sub class serta menampilkan inputan dari NPM, Nama, Alamat, No. Hp, Email dan Instagram pada output program.



Codingan sub class

Codingan sub class saya beri nama “Mahasiswa”. Pada codingan sub class saya membuat variabel/atribut bernama NPM, Nama, Alamat, No. Hp, Email dan Instagram yang bertipe data String dan mengunakan tipe akses private yang berarti hanya dapat diakses di dalam kelas yang sama.

Lalu saya membuat method getter yang berfungsi untuk mendapatkan nilai dari atribut private bernama getNPM, getNama, getAlamat, getNo_Hp, getEmail dan getInstagram  yang bertipe data String.

Lalu saya membuat method setter yang berfungsi untuk memanipulasi nilai dari atribut private bernama setNPM, setNama, setAlamat, setNo_Hp, setEmail dan setInstagram yang bertipe data String.


Class Atribut, and Object

Dibawah ini merupakan nama Class, Atribut dan Object yang terdapat pada percobaan 2.

 


Output

Output yang dihasilkan dari percobaan 2.


Cukup sekian permbahasan dari saya dan mohon maaf apabila ada kesalahan kata atau penjelasan. Terima kasih. 


Nama : Yohanes Bosco Christo Setya Atmaka

NPM  : 19316049

Kelas : TK 19 A

 

Komentar

Postingan populer dari blog ini

ALGORITMA BRANCH AND BOUND

  ALGORITMA BRANCH AND BOUND Algoritma Branch and Bound adalah metode algoritma umum untuk mencari solusi optimal dari dari berbagai permasalahan optimasi, terutama untuk optimasi diskrit dan kombinatorial. Sebagaimana pada algoritma runut-balik, algoritma Branch and Bound juga merupakan metode pencarian di dalam ruang solusi secara sistematis. Ruang solusi diorganisasikan ke dalam pohon ruang status. Yang membedakan keduanya adalah bila pada algoritma runut-balik, ruang solusi dibangun secara dinamis berdasarkan skema DFS (Depth First Search), maka pada algoritma Branch and Bound ruang solusi dibangun dengan skema BFS (Breadth First Search). Pada algoritma ini, permasalahan dibagi bagi menjadi subregion subregion yang mungkin mengarah ke solusi. Inilah yang disebut dengan branching, mengingat prosedur ini akan dilakukan berulang ulang secara rekursif untuk setiap subregion dan setiap subregion yang dihasilkan akan membentuk sebuah struktur pohon yang disebut sebagai pohon pencar...

Sketsa Konseptual Laptop ASUS X441UA

Universitas Teknokrat Indonesia Website UTI :    https://teknokrat.ac.id/   Website FTIK :   https://ftik.teknokrat.ac.id/ Nama     :  Yohanes Bosco Christo Setya Atmaka NPM       :  19316049 Kelas      :  TK 20 A      Disini saya akan melakukan identifikasi bagian-bagian yang terdapat pada laptop saya (ASUS X441UA) menggunakan gambar sebagai berikut. Gambar 1. Laptop ASUS X441UA Gambar 2. Bagian Depan Laptop Dibawah ini meru[akan penjelasan dari gambar 2 : Web Camera berfungsi sebagai kamera pengambil gambar dan vidio untuk berbagai keperluan seperti Streaming, Foto, Metting, dll. Disini saya menggunan web cam dengan kualitas HD (High Definition). LCD Screen / Layar Laptop berfungsi untuk menampilkan gambar yang dihasilkan VGA. Disini saya menggunakan LCD dengan lebar 14 inch dan kualitas tampilan HD (High Definition). Lubang speaker berfungsi untuk mengeluarkan suara lebih jelas dan agar suara ti...

Soal 3 UTS Eldig

Nama     : Yohanes Bosco Christo Setya Atmaka NPM     : 19316049 Kelas     : TK 19 C   Soal Tuliskan persamaan boole dan funsi mintremnya untuk peta karnaugh berikut : Jawab : Dari kedua persamaan itu kita bisa satukan dengan memakai opersi OR, dengan demikian persamaan akan menjadi: Untuk mencari fungsi mintermnya dari persamaan Boole kita ubah kebentuk fungsi SOP. Kemudian dari bentuk fungsi SOP ini kita dapat dengan mudah mengkonversik a n kebentuk fungsi minterm. Bentuk fungsi minterm yang dimaksud :