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...

Tugas Pertemuan 13 Bahasa Indonesia

  SISTEM KONTROL SMART HOME MENGGUNAKAN ARDUINO UNO BERBASIS ANDROID     PROPOSAL SKRIPSI Diajukan Sebagai Salah Satu Syarat Untuk Memperoleh Sarjana Komputer dari Fakultas Teknik dan Ilmu Komputer Universitas Teknokrat Indonesia     Disusun oleh : YOHANES BOSCO CHRISTO SETYA ATMAKA 19316049         PROGRAM STUDI S1 TEKNIK KOMPUTER FAKULTAS TEKNIK DAN ILMU KOMPUTER UNIVERSITAS TEKNOKRAT INDONESIA 2021 BAB I PENDAHULUAN   1.1.   Latar Belakang Perkembangan teknologi belakangan ini telah banyak membantu dalam meningkatkan kualitas dan kesejahteraan hidup manusia, salah satunya adalah pengembangan suatu sistem otomasi rumah. Rancang bangun sistem otomasi rumah sudah bukan hal umum ada di kalangan elite. Dengan berbagai fasilitas yang ada, sistem otomasi rumah nantinya bisa memudahkan pemiliknya untukmen jaga dan memberikan kenyamanan bag...

Latent Defects

  U niversitas 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 menjelaskan tentang Latent Defect (cacat laten) di dunia nyata yang berkontribusi pada kegagalan yang menyebabkan insiden atau kecelakaan. Latent Defect  Cacat laten, artinya komponen yang rusak atau rusak. Kegagalan laten adalah jenis yang kurang terlihat. Di situlah perangkat telah rusak tetapi tidak langsung gagal. Karena kerusakan tidak mudah terlihat, kerusakan berikutnya dapat terus terjadi sebelum terjadi kegagalan. Karena perangkat terdegradasi sebagian, kegagalan dapat terjadi di lain waktu bahkan bertahun-tahun kemudian. Contoh Latent Defect  1. Electrostatic Discharge Pelepasan muatan listrik statis (Electrostatic Discharge) telah ada sej...