Tugas 1 : Membuat Kalkulator Sederhana

Nama : I Gusti Agung Ngurah Adhi Sanjaya

NRP : 5025211056

Kelas : PBKK A 

  • Kalkulator Sederhana

GUI dari kalkulator sederhana


    Pembuatan Design ini menggunakan windows form, lalu drag and drop saja. Visual studio akan otomatis membuat code handler dari masing" component.


Source Code handler:

namespace SimpleCalculator
{

    public partial class Form1 : Form
    {
        private double firstNumber = 0;
        private char currentOperation = '\0';
        public Form1()
        {
            InitializeComponent();
        }

        private void label1_Click(object sender, EventArgs e)
        {

        }

        private void button6_Click(object sender, EventArgs e)
        {
            AppendNumberToInputBox(4);
        }

        private void hasil_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrWhiteSpace(inputBox.Text) && currentOperation != '\0')
            {

                double secondNumber = double.Parse(inputBox.Text);


                switch (currentOperation)
                {
                    case '+':
                        hasilBox.Text = (firstNumber + secondNumber).ToString();
                        break;

                    case '-':
                        hasilBox.Text = (firstNumber - secondNumber).ToString();
                        break;
                    case '/':
                        hasilBox.Text = (firstNumber / secondNumber).ToString();
                        break;
                    case '*':
                        hasilBox.Text = (firstNumber * secondNumber).ToString();
                        break;
                }


                firstNumber = 0;
                currentOperation = '\0';


                inputBox.Text = "";
            }
        }


        private void tambah_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrWhiteSpace(inputBox.Text))
            {

                firstNumber = double.Parse(inputBox.Text);
                currentOperation = '+';
                inputBox.Text = "";
            }
        }


        private void kurang_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrWhiteSpace(inputBox.Text))
            {

                firstNumber = double.Parse(inputBox.Text);
                currentOperation = '-';
                inputBox.Text = "";
            }
        }

        private void kali_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrWhiteSpace(inputBox.Text))
            {

                firstNumber = double.Parse(inputBox.Text);
                currentOperation = '*';
                inputBox.Text = "";
            }
        }

        private void bagi_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrWhiteSpace(inputBox.Text))
            {

                firstNumber = double.Parse(inputBox.Text);
                currentOperation = '/';
                inputBox.Text = "";
            }
        }

        private void reset_Click(object sender, EventArgs e)
        {
            inputBox.Text = "";
            hasilBox.Text = "";

        }

        private void number1_Click(object sender, EventArgs e)
        {
            AppendNumberToInputBox(1);
        }

        private void label2_Click(object sender, EventArgs e)
        {

        }

        private void number2_Click(object sender, EventArgs e)
        {
            AppendNumberToInputBox(2);
        }

        private void number3_Click(object sender, EventArgs e)
        {
            AppendNumberToInputBox(3);
        }

        private void number5_Click(object sender, EventArgs e)
        {
            AppendNumberToInputBox(5);
        }

        private void number6_Click(object sender, EventArgs e)
        {
            AppendNumberToInputBox(6);
        }

        private void number7_Click(object sender, EventArgs e)
        {
            AppendNumberToInputBox(7);
        }

        private void number8_Click(object sender, EventArgs e)
        {
            AppendNumberToInputBox(8);
        }

        private void number9_Click(object sender, EventArgs e)
        {
            AppendNumberToInputBox(9);
        }

        private void number0_Click(object sender, EventArgs e)
        {
            AppendNumberToInputBox(0);
        }

        private void AppendNumberToInputBox(int number)
        {
            string currentText = inputBox.Text;
            currentText += number.ToString();
            inputBox.Text = currentText;
        }
        private void hasilBox_TextChanged(object sender, EventArgs e)
        {

        }

        private void reset_Click_1(object sender, EventArgs e)
        {
            inputBox.Text = "";
            hasilBox.Text = "";
        }
    }
}


Penjelasan :

Calculator ini menggunakan algoritma kalkulator seperti di handphone, ada tombol untuk memunculkan angka input, misal tombol angka 1, 2, 3, dst.

  • Declare global var
Variabel global diatas berfungsi menetapkan default value pada masing masing variable.


  • Tombol Angka
Lalu Angka ini akan muncul pada text box input.
cth code :



Pada contoh line code diatas, kita membuat tiap handle number kita beri value, value ini akan di pass ke dalam function tombol sama dengan untuk mendapatkan hasil. Lakukan ke semua tombol angka

  • Tombol Operasi
cth code :



Pada line code diatas, pertama akan cek kalo inputBox itu tidak null, lalu akan mengeksekusi currentOperation yang berinisialasi "+", dan inputBox di kosongkan.

Operasi ini berlaku untuk "-","/","*".

  • Tombol hasil atau sama dengan
code :
    Pada line code diatas, terdapat beberapa case operation yang di buatkan switch case. Akan menerima inputan pertama dari firstNumber, lalu akan melakukan operasi yang di pilih sesuai case dan mengoperasikannya dengan secondNumber. Hasilnya akan langsung ter-display pada hasilBox.

  • Tombol reset

    Pada line code tombol reset, program hanya mengisi string yang terdapat pada inputBox dan hasilBox menjadi value kosong.


Komentar

Postingan populer dari blog ini

Tugas 5 - PPB B

Tugas 4 - PPB B

Tugas 3 - PPB B