MEMBUAT KALKULATOR SIMPEL DENGAN ANDROID STUDIO

Hallo Guys di blog ini gue akan share cara membuat kalkulator yang simpel dengan android studio.


  • Algoritma 
Algoritma adalah susunan yang logis dan sistematis untuk memecahkan suatu masalah atau untuk mencapai tujuan tertentu. Dalam dunia sehari-hari, mungkin tanpa kita sadari Algoritma telah masuk dalam kehidupan kita.


Berikut algoritma untuk mengetahui apa yang akan dibuat Dari awal pembuatan kalkulator.
  1. Start program
  2. Menekan button angka 1 akan muncul angka 1 atau  menekan button angka 2 akan muncul angka 2 dan seterus nya dari angka 0 sampai angka 9
  3. Menekan button '+' akan muncul penjumlahan
  4. Menekan button '-' akan muncul pengurangan
  5. Menekan button 'x' akan muncul perkalian
  6. Menekan button '÷' akan muncul pembagian
  7. Button "=" digunakan untuk memproses menjadi sebuah hasil.
  8. Menggunakan variabel double
  9. "C" untuk membersikan bagian tampilan Clear.
  • Flowchart 
Flowcart adalah bagan (chart) yang menunjukkan alir (flow) di dalam program atau merupakan prosedur sistem secara logika. Flowcart digunakan untuk alat bantu komunikasi dan untuk dokumentasi.
Berikut alur kalkulator simpel ini.

  • Pseudo Code
Pseudocode adalah cara penulisan algoritma yang hampir menyerupai Bahasa Pemrograman, namun Pseudocode ditulis lebih sederhana dengan menggunakan bahasa baku yang mudah dipahami oleh manusia.
 sebagai berikut :
- Deskripsi

Mulai Aplikasi kalkulator nya, Bila Menekan angka 1  akan Muncul 1, menekan Plus akan Muncul plus atau operator lain, & menekan angka lagi akan muncul angka tersebut. nanti hasil akan muncul
sebagai Berikut :

 


Deklarasi


Operator              : string

Angka_pertama   : string

Angka_kedua      : string

Hasil                    : double

 - source code  : 

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import java.util.regex.Pattern;

public class MainActivity extends AppCompatActivity {
    private TextView _screen;
    private String display = "";
    private String currentOperator = "";
    private String result = "";
    @Override    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        _screen = (TextView)findViewById(R.id.textView);
        _screen.setText(display);
    }

    private void updateScreen(){
        _screen.setText(display);
    }

    public void onClickNumber(View v){
        if(result != ""){
            clear();
            updateScreen();
        }
        Button b = (Button) v;
        display += b.getText();
        updateScreen();
    }

    private boolean isOperator(char op){
        switch (op){
            case '+':
            case '-':
            case 'x':
            case '÷':return true;
            default: return false;
        }
    }

    public void onClickOperator(View v){
        if(display == "") return;

        Button b = (Button)v;

        if(result != ""){
            String _display = result;
            clear();
            display = _display;
        }

        if(currentOperator != ""){
            Log    .d("CalcX", ""+display.charAt(display.length()-1));
            if(isOperator(display.charAt(display.length()-1))){
                display = display.replace(display.charAt(display.length()-1), b.getText().charAt(0));
                updateScreen();
                return;
            }else{
                getResult();
                display = result;
                result = "";
            }
            currentOperator = b.getText().toString();
        }
        display += b.getText();
        currentOperator = b.getText().toString();
        updateScreen();
    }

    private void clear(){
        display = "";
        currentOperator = "";
        result = "";
    }

    public void onClickClear(View v){
        clear();
        updateScreen();
    }

    private double operate(String a, String b, String op){
        switch (op){
            case "+": return Double.valueOf(a) + Double.valueOf(b);
            case "-": return Double.valueOf(a) - Double.valueOf(b);
            case "x": return Double.valueOf(a) * Double.valueOf(b);
            case "÷": try{
                return Double.valueOf(a) / Double.valueOf(b);
            }catch (Exception e){
                Log.d("Calc", e.getMessage());
            }
            default: return -1;
        }
    }

    private boolean getResult(){
        if(currentOperator == "") return false;
        String[] operation = display.split(Pattern.quote(currentOperator));
        if(operation.length < 2) return false;
        result = String.valueOf(operate(operation[0], operation[1], currentOperator));
        return true;
    }

    public void onClickEqual(View v){
        if(display == "") return;
        if(!getResult()) return;
        _screen.setText(display + "\n" + String.valueOf(result));
    }
}

Desain bentuk seperti :


Terima kasih Telah melihat blog saya bila ada kesalahan  mohon saran dan kritik langsung di kolom komentar 


SEE YOU NEXT TIME

Comments

Popular Posts