Kamis, 11 Juni 2020

Contoh Program Java - Konversi Suhu

Assalamualaikum Warahmatullahi Wabarokatuh. 

Hai temen-temen! Kali ini kita akan membahas suatu program sederhana dengan menggunakan bahasa Java, yaitu “Program Konversi Suhu”. 



Pertama, apa itu konversi satuan? Konversi satuan adalah mengubah satuan ke satuan lainnya tanpa mengubah nilai sebenarnya. Misal: berat benda 1 kg dikonversi ke satuan gram menjadi 1000 gr. Benda tersebut tidak mengalami perubahan berat sebenarnya, yang berubah hanya satuannya saja. 

Kedua, apa saja satuan umum yang digunakan untuk mengukur suhu? Mari kita simak penjelasan singkatnya. 

A. Suhu 

Suhu adalah besaran yang menyatakan derajat panas dingin suatu benda dan alat yang digunakan untuk mengukur suhu adalah thermometer. Dalam kehidupan sehari-hari masyarakat untuk mengukur suhu cenderung menggunakan indera peraba. Tetapi dengan adanya perkembangan teknologi maka diciptakanlah termometer untuk mengukur suhu dengan valid. 

B. Jenis-Jenis Suhu 

Derajat pengukuran suhu dibedakan menjadi 4 antara lain : 
1. Celcius. Penemu: Andreas Celcius (Swedia) 
2. Kelvin. Penemu: Lord Kelvin (Inggris) 
3. Reamur. Penemu: Reamur (Prancis) 
4. Fahrenheit. Penemu: Gabriel D. Fahrenheit (Jerman) 

Mungkin seperti itu aja sekilas tentang suhu. Karena memang pada artikel ini, akan lebih difokuskan pada program java sederhana untuk mengkonversi suhu, bukan pada sejarah suhunya sendiri. Lalu, kenapa program ini perlu kita coba buat? 

Pertama, dengan program ini kita bisa melakukan konversi suhu tanpa menghitung manual. Sudah tau kan? Bagaimana rumitnya rumus yang harus kita hitung untuk mengkonversi setiap satuan suhu ke satuan lainnya. Memang tidak begitu rumit sih, tapi setidaknya menguras waktu, apalagi jika kita menghitungnya saat laper. Dijamin pasti lama atau mungkin terjadi kesalahan penghitungan bukan?. Karena itulah, dengan membuat program ini, kita hanya perlu memerintahkan komputer saja untuk menghitungnya. Sedang kita hanya memasukkan rumus satu kali, yaitu ketika pembuatan program. Keren bukan? Hehe. Kedua, untuk memenuhi tugas kuliah. Seperti saya ini contohnya. Ketiga, untuk bahan latihan dalam membuat program sederhana java. Jadi, tunggu apa lagi? Mari kita buat. 

C. Alur Program 

Karena program ini ditujukan untuk mengkonversi suhu, pastinya keempat jenis suhu diatas harus sama-sama dimasukkan. Artinya, kita akan membuat program yang dapat digunakan untuk melakukan konversi antar keempat suhu tersebut. Konversi satuan suhu yang dimaksud antara lain: 
1. Mengkonversi fahreinheit ke celcius. 
2. Mengkonivers fahreinheit ke reamur 
3. Mengkonversi fahreinheit ke kelvin 
4. Mengkonversi celcius ke reamur 
5. Mengkonversi celcius ke fahreinheit 
6. Mengkonversi celcius ke kelvin 
7. Mengkonversi reamur ke celcius 
8. Mengkonversi reamur ke fahreinheit 
9. Mengkonversi reamur ke kelvin 
10. Mengkonversi kelvin ke celcius 
11. Mengkonversi kelvin ke reamur 
12. Mengkonversi kelvin ke fahreinheit 

D. Kode Program 

Nah, sekarang langsung aja ke kode programnya. Pada program konversi suhu yang saya buat, saya bedakan menjadi 6 class yaitu class Suhu, Celcius, Kelvin, Fahrenheit, Reamur, dan Main. Kenapa harus dibedakan? Hal itu karena saya ingin membuat program yang dapat memasukkan nilai input ketika program dijalankan. Selain itu, saya juga menerapkan Polimorfisme Dinamis pada program ini. Apa itu polimorfisme dinamis? Jika temen-temen lupa atau belum tau, bisa cek di postingan saya sebelumnya, Klik disini ya!

Singkatnya, class main adalah sebagai class yang akan dijalankan atau dirunning. Class suhu adalah class induk (superclass) yang berisi method-method untuk melakukan conversi suhu menjadi 4 jenis. Sedangkan class Celcius, Kelvin, Fahrenheit, dan Reamur merupakan class turunan (subclass) yang di setiap classnya berisi method penghitungan konversi suhu dari suhu jenis awal (sesuai nama classnya) ke satuan lain dengan rumus yang lebih spesifik. Karena class turunan, maka pastinya keempat class ini akan melakukan overriding terhadap class Suhu. 

Kemudian, perlu saya sampaikan, bahwa kode yang saya sertakan disini adalah hasil kerja kelompok dan referensi dari teman sekelas saya. Jika teman-teman ada perbedaan dalam penulisan alur program, tentunya tidak masalah ya. Karena program penghitungan tersebut dapat dijalankan sesuai bagaimana yang programer inginkan. Jadi, disini saya hanya memberikan referensi dan ingin berbagi kepada temen-temen semua. 

Oke lanjut saja, ini dia kode untuk masing-masing classnya. 

1. main.java 

2. Suhu.java 

3. Celcius.java 

4. Kelvin.java 

5. Fahrenheit.java 

6. Reamur.java 

E. Output

Baik temen-temen, itu tadi kode program untuk menghitung hasil konversi suhu. Semoga sedikit membantu. Mohon maaf jika penjelasan yang saya sampaikan kurang detail dan banyak kekurangan. Disini saya hanya ingin sedikit berbagi, bukan bermaksud menggurui. 

Saran dan kritik silahkan tulis di kolom komentar ya. Terima kasih.
Sampai jumpa. Jangan lupa untuk menjaga kesehatan.

Semoga bermanfaat!

Rabu, 10 Juni 2020

Contoh Program Java - Polimorfisme


Assalamualaikum Warahmatullahi Wabarokatuh.

Hallo teman-teman!

Selamat datang kembali di blog Buku Kuliah Ra. Semoga temen-temen tidak bosan untuk mengunjungi blog ini. Dan semoga saya tetap istiqomah untuk berbagi sedikit hal yang saya ketahui.




Kali ini, saya akan membahas tentang Polimorfisme. Apa yang dimaksud Polimorfisme? Khususnya dalam pemrograman Java? Sebentar lagi akan saya jelaskan dengan singkat dan jelas. Mungkin untuk beberapa pembahasan saat ini masih difokuskan pada java dulu ya, semoga kedepannya semakin banyak ilmu lain yang saya dapat dan bisa dishare di sini. 

Oke, langsung saja ke pembahasannya.

A. Pengertian Polimorfisme

Polimorfisme (Polymorphism) adalah salah satu konsep penting dalam object oriented programming (OOP) di bahasa Java setelah abstraction dan inheritance. Polymorphism berarti banyak bentuk.
Sumber : Materi kuliah - Petani Kode

Polymorphism sering dikaitkan dengan penggunaan lebih dari satu metode dengan nama sama. Penggunaan metode dengan nama sama dapat melalui method overloading dan juga method overriding. Nah untuk metode overloading dan overriding akan dijelaskan lebih detail sebagai berikut. Pertama, Polimorfisme terdiri dari 2 jenis, yaitu Polimorfisme Statis dan Polimorfisme Dinamis. Nah, kedua method tadi mewakili setiap jenis polimorfisme. Singkatnya adalah sebagai berikut :

B. Jenis Polimorfisme (Polymorphism)

1. Static Polymorphism (Polimorfisme statis)

Plomorfisme jenis Statis, menggunakan method overloading didalamnya. Overloading method merupakan salah satu feature dalam bahasa pemrograman java, dimana dua buah method bisa dideklarasikan dengan nama yang sama dalam satu class, asal parameter yang digunakan berbeda, baik dari jumlahnya, tipe datanya, atau urutan dari parameternya. Jadi, bisa kita simpulkan bahwa : Method overloading yang digunakan pada polimorfisme statis, ditandai dengan adanya dua atau lebih method yang memiliki nama yang sama didalam satu class java, namun yang membedakan adalah tipe datanya, parameter, atau lainnya.

Contoh penerapan polimorfisme statis :

Keterangan : Pada program diatas, terdapat 2 buah method yang sama dalam satu class Lingkaran yaitu method luas. Namun, kedua method tersebut memiliki tipe data yang berbeda (float dan double), parameter, dan penghitungan yang berbeda. Inilah yang disebut method Overloading.

2. Dynamic Polymorphism (Polimorfisme dinamis)

Berbeda dengan sebelumnya, Plomorfisme Dinamis menggunakan method overriding didalamnya. Overriding method merupakan suatu keadaan dimana kelas anak dapat mengubah atau memodifikasi atau memperluas data dan method pada kelas induk. Dengan kata lain, method overriding merupakan penerapan dimana beberapa method pada parrent class ditulis kembali oleh subclass. Jadi dapat dikatakan bahwa pada polimorfisme dinamis, terjadi penurunan sifat atau disebut Inheritance. Karena menerapkan inheritance, maka class turunan harus menggunakan keyword “Extends” agar dapat menurunkan sifat atau method dari class induk ke class turunan. Keuntungan method Overriding adalah dapat menambahkan sifat / atribut pada kelas induk nya.

Perhatikan diagram berikut ini.

Dari diagram diatas dapat kita simpulkan bahwa :
a. Class anak akan memiliki nama method yang sama, tapi nanti isi dan parameternya bisa berbeda dari class induk
b. Hal itu terjadi karena class anak melakukan method overriding terhadap class induk sehingga mewarisi sifat atau methodnya. 

Contoh penerapan polimorfisme dinamis

Program class induk BangunDatar.java

Program class turunan Persegi .java


Program class turunan Lingkaran .java


Program Main.java


Keterangan : 
a. Pewarisan / Inheritance ditandai dengan adanya keyword "Extends" pada class turunan.
b. Method override pada java juga dapat diberi tanda @Override.

Tampilan output.

Nah, bagaimana temen-temen? semoga penjelasan singkat diatas dapat dipahami ya.
Mohon maaf jika penjelasannya kurang detail atau banyak kekurangan, disini saya hanya ingin berbagi bukan menggurui. Terima kasih.
Silahkan tulis saran atau masukan melalui kolom komentar.

Semoga bermanfaat!