PROGRAMMING #11 : Java Programming for Programmer - Classes and Objects (PART 6) | [BAHASA]
indonesia·@alfarisi·
0.000 HBDPROGRAMMING #11 : Java Programming for Programmer - Classes and Objects (PART 6) | [BAHASA]
<html> <p><center>https://steemitimages.com/DQmbdTMCBXwm25kN7rMfraEG9NbFMymoxsMu4yf7njSgk5m/image.png</center><center><a href="http://blog.digitorious.com/tag/resources-to-learn-java/">RESOURCES TO LEARN JAVA</a></center></p> <p>Pada artikel ini merupakan lanjutan dari artikel sebelumnya yaitu <a href="https://steemit.com/indonesia/@alfarisi/programming-10-java-programming-for-programmer-classes-and-objects-part-5-or-bahasa"><strong>Java Programming for Programmer - Classes and Objects (PART 5)</strong></a>. Masih dalam topik yang sama, dimana saya akan membahas mengenai kelas dan objek. Langsung saja pada pokok pembahasan berikut ini.</p> <p><h3>Metode Set dan Get versus Data Public</h3></p> <p>Kelihatannya menyediakan kapabilitas <strong>set</strong> dan <strong>get</strong> secara esensi sama dengan menjadikan variabel contoh menjadi <strong>public</strong>. Ini yang membuat Java lebih diunggulkan dalam rekayasa perangkat lunak. Suatu variabel contoh <strong>public</strong> dapat dibaca atau ditulis dari sembarang metode yang memiliki referensi kepada suatu objek yang memuat variabel tersebut. Jika suatu variabel contoh dideklarasikan <em>private</em>, maka metode <strong>get</strong> dapat mengizinkan metode-metode lain untuk mengaksesnya, tetapi metode <strong>get</strong> juga dapat mengendalikan bagaimana klien dapat mengaksesnya. Sebagai contoh, suatu metode <strong>get</strong> dapat mengendalikan format data yang dijadikan nilai balik, jadi menghindarkan kode klien dari representasi data aktual.</p> <p>Metode <strong>set</strong> dapat dan harus dapat, secara hati-hati memeriksa setiap percobaan untuk memodifikasi nilai variabel dan melemparkan eksepsi jika perlu. Sebagai contoh, suatu percobaan untuk menugaskan nilai <strong>hari</strong> 37 kepada <strong>bulan</strong> akan ditolak, suatu percobaan untuk menugaskan nilai negatif <strong>berat</strong> seseorang akan ditolak dan seterusnya. Jadi, meskipun metode <strong>set</strong> dan <strong>get</strong> menyediakan akses kepada data <em>private</em>, tetapi akses tersebut dibatasi oleh implementasi metode. Hal ini mendukung praktik rekayasa perangkat lunak yang modern.</p> <p><h3>Komposisi</h3></p> <p>Suatu kelas dapat memiliki beberapa referensi kepada objek-objek dari kelas-kelas lain sebagai anggota. ini dinamakan dengan komposisi dan kadang kala disebut pula dengan relasi memiliki sesuatu. Sebagai contoh, suatu objek <strong>JamAlarm</strong> perlu mengetahui waktu saat ini dan waktu kapan harus menyembunyikan alarm, sehingga masuk akan bila menyertakan dua referensi kepada objek <strong>Waktu</strong> didalam suatu objek <strong>JamAlarm</strong>.</p> <p><h3><strong>Kelas Tanggal</strong></h3></p> <p>Contoh komposisi ini memuat kelas <strong>Tanggal</strong> (kode 1.7), <strong>Karyawan</strong> (kode 1.8), dan <strong>UjiKaryawan</strong> (kode 1.9). Kelas <strong>Tanggal</strong> mendeklarasikan tiga variabel contoh yakni, <strong>bulan</strong>, <strong>hari</strong>, dan <strong>tahun</strong> (baris 6-8), untuk merepresentasikan suatu tanggal. Konstruktor menerima tiga parameter <em>int</em>. Baris 17 memanggil metode utilitas <strong>periksaBulan</strong> (baris 26-32) untuk memvalidasi <strong>bulan</strong>. Jika nilainya diluar rentang, maka metode ini akan melempar eksepsi. Baris 15 mengasumsikan bahwa nilai <strong>tahun </strong>adalah benar dan tidak memvalidasinya. Baris 19 memanggil metode utilitas <strong>periksaHari</strong> (baris 35-48) untuk memvalidasi <strong>hari</strong> berdasarkan nilai <strong>bulan</strong> dan <strong>tahun</strong> sekarang. Baris 38 menentukan apakah <strong>hari</strong> bernilai benar berdasarkan jumlah hari pada <strong>bulan</strong> tertentu. Jika <strong>hari</strong> tidak bernilai benar, maka baris 42-43 akan menentukan apakah <strong>bulan</strong> saat ini adalah Februari, apakah <strong>hari</strong> adalah 29 dan apakah <strong>tahun</strong> merupakan tahun leap. Jika <strong>hari</strong> masih bernilai tidak valid, maka metode ini akan melemparkan eksepsi. Baris 21-22 didalam konstruktor menampilkan referensi <strong>this</strong> sebagai suatu <strong>String</strong>. Karena <strong>this</strong> merupakan referensi yang menunjuk kepada objek <strong>Tanggal</strong> sekarang, metode <strong>toString</strong> dari objek tersebut akan dipanggil secara implisit untuk memperoleh representasi <strong>String</strong> atas objek itu.</p> <p><h3><code>Kode 1.7</code></h3></p> <p><center>https://steemitimages.com/DQmZ2fmmDdgK84an9JkY2ekxSQocDyF3pqLGUpjTjLbMW5U/1.JPG</center></p> <p><center>https://steemitimages.com/DQmWpfPzPEmHCxV2QLHCfskfzrjwRLfmAiUVgLZzvkpztoi/2.JPG</center></p> <p><center>https://steemitimages.com/DQmTFkKk9n9dx3j2CQegqfZwS38vSdH6MzkRh5VAWsuk4rR/3.JPG</center></p> <p><h3><a href=""><strong>To be continued...</strong></a></h3></p> <p><h3>Regards <a href="https://steemit.com/@alfarisi"><strong>alfarisi</strong></a>,</h3></p> <p><center><hr size="30"></center></p> <p><center><h1><a href="https://steemit.com/indonesia/@alfarisi/programming-9-java-programming-for-programmer-classes-and-objects-part-4-or-bahasa#"><strong>INDONESIAN STEEMIT COMMUNITY</strong></a></h1></center></p> </html>