Membuat Kakulator Sederhana Dengan Java Netbeans (Di Sertai Penjelasan Secara Lengkap)

Bagi mereka yang mengambil jurusan ilmu pemrograman (yang ada koding-kodingannya), tentu sudah tidak asing lagi dengan tugas, tugas mata pelajaran/kuliahnya.

Ada beberapa tugas pemrograman dasar yang sering siswa dapatkan antara lain :

  1. Membuat Piramida Sempurna Dengan Java
  2. Mencari Bilangan Ganji dan Genap
  3. Mencari Bilangan Prima

  4. Mencari Angka Dan Karakter Dalam sebuah kalimat
  5. Membuat aplikasi sederhana, entah itu aplikasi sedarhana semacam kasir, kalkulator atau lainnya,
  6. dan masih banyak lagi.

Beberapa contoh diatas adalah yang pernah saya temui ketika pertama kali belajar bahasa pemrograman. Memang contoh diatas sangat bergunakan untuk melatih logic kita sebagai pembuat program (programmer).

Nah kali ini saya coba memberikan penjelasan tentang bagimana membuat kalkulator sederhana menggunakan Java Netbeans (Bahasa pemrogramannya Java, IDE nya Netbeans).

Pada dasarnya, kalkulator sederhana hanya terdiri dari beberapa operasi saja yaitu :

  1. Tambah
  2. Kurang
  3. Bagi
  4. Kali

Karna lingkupnya adalah kalkulator yang sangat sederhana, maka saya akan kerucutkan lagi perhitungannya, yaitu hanya bisa melakukan operasi matematika sebanyak satu kali saja.

Contoh satu kali operasi matematika yang saya maksud seperti begini :

1 + 1 = 2 BUKAN 1 + 1 x 2 = 3
Selain hal tersebut, yang harus ada dalam sebuah kalkulator sederhana adalah :
  1. Sama Dengan
  2. Tanda C (Untuk mereset semua angka)
  3. Tanda delete (menghapus angka terakhir)

Menghapus angka terakhir yang saya maksud adalah misalnya kita ingin menjumlahkan 2 bilangan yaitu : 100 + 30, tapi kita terlajur menulis 100 + 32 , maka dengan adanya tanda DELETE kita dapat menghapus 32 menjadi 30.

Paham kan ya?

1. Desain Kalkulator 

Silakan buat desain kalkulator Anda sendiri menggunakan Menu Pallete yang ada di Netbeans. Kalau saya bentuk kalkulator sederhananya seperti gambar dibawah ini :

Dalam gambar tersebut terdapat beberapa label (selain judul dan credit), button :

  1. 10 JButton angka (0-9)
  2. 1 JButton reset dan 1 Button Delete
  3. 4 JButton Operasi matematika dan 1 JButton sama dengan
  4. 4 JLabel (Angka pertama, kedua, operasi matematika dan hasil)

Silakan buat dan sesuaikan dengan kemauan Anda.

2. Ganti Variable Name Setiap JButton atau JLabel

 

Agar mudah untuk dikenali saat proses kodingan, alahkah baiknya kita beri nama yang sesuai pada setiap JButton ada JLabel nya. Bagaimana caranya?

  1. Klik kanan pada JButton ada JLabel
  2. Pilih option Change Variable Name
  3. Ganti nama JButton/JLabel nya. Misalnya yang dipilih adalah tombol button 1, maka ganti namanya menjadi btnSatu (silakan lanjutkan ke yang lainnya)
  4. Untuk mengganti text di Button ada di JLabel, kalian bisa pilih menu Edit Text, atau bisa juga dengan menekan tombol F2.

 

3. Penulisan attribute – attribute Pada Kodingan

Saya asumsikan semua atribut JButton dan JLabel sudah di beri nama masing-masing ya.

Sekarang, lakukan hal dibawah ini

Dari yang awalnya berada pada menu design, sekarang masuk ke menu Source (1). Di kolom nomor 2, ada beberapa atribut yang harus di tulis untuk keperluan kodingan/pembuatan kalkulator. Tulis tepat dibawah nama class.

Atribut-atribut tersebut adalah :

Perjelasan atribut-atribut yang ada pada kode diatas :

String FirstNumber, Attribute ini digunakan untuk menyimpan bilangan pertama yang akan hitung.

String secondNumber, Attribute ini digunakan untuk menyimpan bilangan kedua yang akan dihitung.

List<Integer> listFirstNumber, Attribute list ini digunakan untuk Menyimpan angka angka bilangan pertama. Misalnya angka yang mau di gunakan pada bilangan pertama adalah 100. Maka proses pengambilan angka menjadi begini :

  • Isi ListFirstNumber = null
  • Ketika user mengklik button angka 1, maka angka tersebut akan disimpan di list.
  • Isi ListFirstNumber = 1
  • User mengklik (lagi) button angka 0, maka angka tersebut juga disimpan dalam list
  • Isi ListFirstNumber = 10
  • User mengklik (lagi) button angka 0, maka angka tersebut juga disimpan dalam list
  • Isi ListFirstNumber = 100

Paham?

Jadi intinya begini, List itu dibuat untuk menyimpan angka yang lebih dari satu. Jika kalkulator yang dibuat tidak melebihi dari 1 angka, maka tidak perlu pakai List.

List<Integer> listSecondNumber, Penjelasannya hampir sama dengan List<Integer> listFirstNumber, bedanya adalah list ini digunakan untuk menampung bilangan yang kedua setelah operasi matematika (…. + 1234). 1234 adalah contoh bilangan kedua setelah operasi matematika.

hasChoosenAnOperation = false. Ini digunakan sebagai penanda apakah user sudah memilih operasi matematika apa belum. Jika sudah memilih statusnya akan di ubah menjadi true.

Misalnya jika belum memilih operasi matematika, user masih bisa merubah bilangan pertamanya, namun juga sudah memilih operasi matematika, user hanya bisa merubah bilangan kedua.

operation, attribute ini digunakan untuk menyimpan indikator pemilihat operasi matematika. misalnya jika dipilihnya adalah perjumlahan maka attribute ini nilainya 1 (attribute = 1). Begitu seterusnya.

4. Membuat Form Kalkulator Saat Di jalankan Berada Di Tengah Layar

Sebelum masuk lebih dalam, silakan pasang kode:

  • this.setLocationRelativeTo(null) di contructornya, tepatnya dibawah kode initComponents().

Kode tersebut akan membuat aplikasi kalkulator yang kalian buat saat dirunning akan berada ditengah-tengah layar monitor Laptop/PC. Biasanya kalau tidak diset, akan berada pada pojok kiri atas layar.

5. Kodingan Disetiap Button Operasi Matematika

Pada bagian ini, lakukanlah kodingan seperti dibawah ini :

Pasang kode tersebut didalam setiap button operasi matematika (Tambah, Kurang, Kali, Bagi).

Setiap operasi matematikan, kalian harus definisikan indokatornya, seperti kode diatas, untuk mendeteksi apakah itu tambah, bagi, kali, kurang kita menggunakan attribute operation dan indikator yang digunakan adalah angka. Jika angkanya :

  1. 0, maka operation=0 adalah pertambahan, 
  2. 1 maka operation=1 adalah pengurangan,  
  3. 2 maka operation=2 adalah perkalian dan  
  4. 3 maka operation=3 adalah pembagian.

Perlu di ingat index awal dalam pemrograman adalah NOL bukan SATU

Kemudia ada attribute hasChooseAnOperation, digunakankan untuk menandakan jika user telah memilih sebuah operasi matematika, untuk itu nilainya kita rubah jadi TRUE.

Lakukan kodingan diatas, di setiap button operasi matematika, sesuaikan aja lblOperasi dengan operasi yang kalian pilih serta indikatornya.

Kodingan pada bagian operasi matematikan bisa DILIHAT DISINI
 

6. Kodingan Disetiap Button Angka

Cara masang koding di setiap button bisa? Begini, masuk ke bagian design kalkulatornya, kemudian klik 2 kali (secara cepat) button ata label yang mau dipasangi koding.

Misalnya pada JButton angka 1,


Paste kode diatas didalam JButton angka 1 kalian. Pejelasannya seperti berikut ini :

Pertama dibuka oleh IF, jika hasChoosenAnOperation = false, maka angka yang ditekan oleh user tersebut masih merupakan bilangan pertama. Isikan attribute FirstNumber menjadi 1 (FirstNumber = “1”).

Kenapa 1? Karena proses tersebut berada didalam Button angka 1, ya nilainya harus 1 juga lah.

kemudian angka tersebut disimpan di listFirstNumber. Karna format dari attribute FirstNumber adalah String, sedangkan listFirstNumber adalah tipe Integer, maka String tersebut harus diformat dulu menjadi Integer, yaitu dengan cara Integer.parseInt(FirstNumber)

Kemudian dibawahnya ada attribute bernama digitFirstNumber, bertipe String.

Kenapa ada attribute tersebut?

Atribut digitFirstNumber digunakan untuk menampung semua angka yang ada di dalam list, untuk ditampilkan di JLabel.

Lalu kenapa tipenya String? Bukannya akan disimpan adalah angka?

Begini, dalam list tersebut kan terdapat angka-angka yang bertipe Integer, misalnya angka yang ada dalam list adalah 1,2,3.

Lihat cara pengambilan angka yang ada di dalam looping for si listFirstNumber, caranya kan menggunakan operator +=,

+= artinya menjumahkan angka sebelumnya dengan angka yang baru. Misanya :

Dalam String

String a = “1”;
String b = “2”;
String a += b, hasilnya akan menjadi String a = “12”

Dalam Integer

int a = 1;
int b = 2;
int a +=b, hasilnya akan menjadi int a = 3;

Nah dengan menggunakan tipe String, kita bisa mendapatkan semua angka yang ada di list, untuk ditampilkan di JLabel.

Ditutup dengan ELSE, else berarti attribute hasBeenChooseAnOperation tidak bernilai FALSE, melainkan TRUE. Jadi karna nilainya TRUE, maka penyimpanan angka tersebut untuk bilangan yang kedua. (Loginnya sama seperti sebelumnya)

Lakukan disetiap button (0-9) dengan kodingan yang sama, isi nilai attribute FirstNumber dan SecondNumber sesuai dengan buttonnya. Misalnya button 2, maka isikan kedua attribute itu dengan angka 2.

Kodingan disetiap digit angka bisa DILIHAT DISINI

7. Kodingan Di Button Sama Dengan (=)

Full kodingan dari button sama dengan adalah sebagai berikut :

Penjelasan dari kodingan diatas :

Pertama

Pehatikan ada attribute total dan totalPembagian. Attirubte total digunakan untuk menyimpan hasil operasi dari Tambah, Kurang, Kali. Sedangkan attribute totalPembagian digunakan untuk menyimpan hasil operasi dari Bagi.

Kenapa dibedakan?

Agar mudah dimengerti saja, soalnya, bagi tipe nya bukan lagi int (integer), namun double. Jadi biar gak ribet buat kodisi, mending pisahin aja.

Kedua

Perhatikan dalam kode tersebut ada fungsi switch(). Dalam fungsi switch() akan diiterasi nilai dari attribute operation. Jika operasi bernilai 0,1,2 atau 3, maka akan dilakukan proses tersendiri. kemudian break; break artinya stop (ya semacam itulah).

Ketiga

Perhatikan kodingan yang ada didalam SETIAP CASE. Saya akan menjelasnya case 0 sebagai contoh saja yaitu proses penjumlahan.

Prosesnya mirip seperti yang ada di penjelasan sebelumnya yang ada operasi += juga.

Bedanya disini antara listFirstNumber dan listSecondNumber di interasi kemudian halis interasinya disimpan di attribute yang berbeda :

  1. listFirstNumber disimpan di attribute firstTotalPertambahan
  2. listSecondNumber disimpan di attribute secondTotalPertambahan

Kemudian antara firstTotalPertambahan dan secondTotalPertambahan di jumlahkan dan hasil penjumlahannya disimpan di attribute total.

Setelah itu angka yang ada didalam attribute total akan di tampilkan di Jlabel, lblhasil.setText(total+””); kenapa ada tanda petik didalamnya?

Itu sebagai converter int (integer) ke String, biar cepat. Sebenarnya standartnya harus dengan String.valueOf();

Case 1 dan Case 2 prosesnya sama dengan case 0, sesuaikan saja operasi matematikan dan attribute-attributenya (lihat full codenya diatas)

Case 3 beda ya?

Beda sih enggak, justru logicnya sama dengan case-case lainnya. Cuma ada beberapa hal yang perlu saya jelaskan terpisah, antara lain :

Ini kan proses pembagian, jadi tipenya harus double. Nilai yang ada di attribute firstTotalPembagian dan secondTotalPembagian harus di convert ke tipe double.

Saya melakukannya langsung di baris ini :

totalPembagian = Double.parseDouble(firstTotalPembagian) / Double.parseDouble(secondTotalPembagian);

Doube.parseDouble() adalah sebuah fungsi untuk mengconvert bilangan tertentu menjadi tipe bilangan double.

Kemudian lihat saat melakukan setText di label, ini agak berbeda dengan tipe int sebelumnya.

agar dapat melihat angka dibelakang koma (jika outputnya desimal, koma-koma), maka gunakan format “%.6f%n“. Format tersebut akan menampilkan 6 angka dibelakang koma.

Cara melakukan setText() kelabel, adalah dengan menformatnya. Saya melakukannya dengan begini  (seperti full kode diatas):

lblHasil.setText(String.format(“%.6f%n”, totalPembagian));

8. Kodingan pada button reset (C)

Button reset yang ada pada kalkulator pada umumnya bertuliskan huruf C. Reset disini maksudnya adalah membatalkan semua angka, operasi atau mengembalikan nilai awal ke 0.

Artinya, kita akan mereset nilai pertama, nilai kedua menjadi nilai defaultnya.


Pada kode diatas, saya menuliskan nilai default dari label-label. Menjadikan nilai hasChooseAnOpertion menjadi FALSE (karna false adalah nilai default awalnya).

begitu juga dengan semua list baik itu list pertama maupun list kedua, harus dikosongkan. Namanya juga reset kan? ya harus kosong semua atau kembali keawal

9. Kodingan pada button delete (DEL)

Pada dasarnya penulisan koding pada button delete memiliki kesamaan seperti pada kodingan di setiap button angka (0-9), penjelasnnya sama persis (kalian bisa baca kembali point kodingan di setiap button).

Terus yang membedakannya apa?

Begini, case nya kan setiap kali ditekan button delete ini (del), maka angka terakhir yang pilih akan dihapus. Misalnya angka yang mau ditampilkan/dipilih adalah 234, tapi kita mengetiknya 236, dengan menggunakan button delete ini, kita bisa menghapus angka 6, kemudian menggantinya dengan angka 4.

Jadi?

Bedanya adalah button delete ini (Jika terjadi action klik) akan menghapus angka pada index terakhir di list.

Fungsi yang menghapus index terakhir pada kode diatas adalah pada kode :

  1. listFirstNumber.remove(listFirstNumber.size()-1); Untuk list pertama
  2. listSecondNumber.remove(listSecondNumber.size()-1); Untuk list kedua

Simplenya gini :

Jika ada 5 angka dalam list : 1,2,3,4,5. Maka size() dari list tersebut adalah 5.

Sedangkan index dalam list itu yang pertama adalah 0 BUKAN 1 (umum pada semua bahasa pemrograman), maka jika di match angka yang ada dengan indexnya, menjadi :

Angka : 1,2,3,4,5
Index  : 0,1,2,3,4
Jadi untuk menghapus angka terakhir, angka 5 adalah dengan melihat indexnya terlebih dahulu, yaitu 4.
di list ada sebuah method bernama .remove(index). Method tersebut akan menghapus angka/nilai berdasarkan posisi indexnya.
Untuk mendapatkan index terahir dari angka yang ada adalah dengan mengurangkan zise() list dengan 1. maka dapatlah index nya sama dengan 4.
Paham? Lihat kode lengkap untuk fungsi delete DISINI

10. Kodingan Lengkap dari pembuatan Kalkulator Sederhana 

Kodingan lengkap dari aplikasi kalkulator sederhana ini bisa kalian LIHAT DISINI

Saran saya, silakan coba koding sendiri dulu, mengikuti apa yang sudah saya jelaskan diatas (Maaf jika masih ada kekurangan), reka-reka, lambat laun pasti jadi project kalkulatornya. Selamat mencoba.

11. Download Project 

Karna banyak yang meng email saya mengatakan susah mengerti penjelasan diatas, maka saya lampirkan file-file yang berhubungan dengan project kalkulator diatas, silakan download saja langsung project nya :

  1. SimpleKalkulator.form, DOWNLOAD DISINI
  2. SimpleKalkulator.java, DOWNLOAD DISINI

Semoga bermanfaat.

(Visited 319 times, 1 visits today)



Baca juga :


About The Author

Related Posts

Add Comment

Berlangganan Artikel

Untuk mendaftarkan tutorial pemrograman terbaru dari putuguna[dot]com, silakan tuliskan email kalian dibawah ini