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

Sketsa Konseptual Automatic Teller Machine (ATM)

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 sketsa konseptual dari sebuah Automatic Teller Machine (ATM). Automatic Teller Machine (ATM)        A TM adalah singkatan dari Anjungan Tunai Mandiri atau Automatic Teller Machine adalah sebuah alat elektronik yang mengijinkan nasabah bank untuk mengambil uang dan mengecek rekening tabungan mereka tanpa perlu dilayani oleh seorang "teller" manusia.      Mesin ini sering dikunjungi untuk melakukan transaksi perbankan secara mandiri, mulai dari transfer hingga tarik tunai.      ATM hadir sebagai fasilitas yang disediakan bank untuk memudahkan transaksi setiap nasabah karena tidak perlu selalu datang ke bank untuk melakukan transaksi tertentu. Fungsi ATM      Berikut ini beberapa fungsi ATM, yaitu : Menarik uang tunai 24 j

Review Artikel "Perancangan Teknik Kriptografi Block Cipher Berbasis Pola Permainan Tradisional Rangku Alu"

  REVIEW ARTIKEL Judul                     : "Perancangan Teknik Kriptografi Block Cipher Berbasis Pola Permainan Tradisional Rangku Alu " Jurnal                    : Jurnal Teknik Informatika dan Sistem Informasi Volume  & Hal     : Vol. 5 No. 2, Hal 189-200  Tahun                     : 2019 Penulis                    :  Perdana Bagas Tirta Kumbara, Magdalena A. Ineke Pakereng Link Artikel          :  https://journal.maranatha.edu/index.php/jutisi/article/view/1714 Reviewer : Nama : Yohanes Bosco Christo Setya Atmaka NPM : 19316049 Mata Kuliah : Kriptografi 1. Permasalahan Pada artikel ini menurut penulis pengaruh teknologi informasi kini berperan hampir di setiap aspek kehidupan baik dalam pemerintahan, pendidikan, kesehatan, perbankan, bahkan dalam bidang militer sekalipun. Oleh karena itu dikembangkan sebuah cabang ilmu yang mempelajari tentang keamanan informasi atau data yang disebut dengan Kriptografi. Namun dengan diterapkannya algoritma Kriptografi Block Cipher,

LAPORAN KEGIATAN JALAN SEHAT UTI

LAPORAN KEGIATAN JALAN SEHAT UNIVERSITAS TEKNOKRAT INDONESIA           “SEMANGAT SEHAT”           UNIVERSITAS TEKNOKRAT INDONESIA BANDAR LAMPUNG LAMPUNG 2021   LAPORAN KEGIATAN JALAN SEHAT UNIVERSITAS TEKNOKRAT INDONESIA   A.   LATAR BELAKANG Kesehatan merupakan sesuatu yang sangat berharga dan mahal harganya. Tiada insan yang rela apabila kesehatannya dibeli oleh orang lain. Hidup sehat membuat siapapun dapat mempermudah aktivitas yang dilakukannya. Ada banyak hal yang dapat dilakukan agar hidup sehat tanpa harus mengeluarkan keringat yang banyak, salah satunya dengan mengikuti jalan sehat. Jalan sehat merupakan  salah satu  olahraga yang murah dan terjangkau  serta  memberikan banyak manfaat, terutama kesehatan. Kemasan kegiatan  yang  membawa nuansa sederhana  dengan  ramai peserta  membuat kegiatan ini semakin meriah. Dan juga dapat digunakan sebagai ajang silaturahmi menjelang datangnya bulan suci ramadhan . Banyaknya kesibukan