GCD (24,12) = 12 (Artinya 12 merupakan bilangan terbesar yang membagi 24 dan 12)
GCD (24,9) = 3 (Artinya 3 merupakan bilangan terbesar yang membagi 24 dan 9)
|
activity_main.xml
|
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Bilangan
pertama"
android:layout_marginLeft="10dp"
/>
<EditText
android:id="@+id/idSatu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.73"
android:inputType="number"
>
<requestFocus />
</EditText>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="11dp"
android:text="Bilangan
kedua"
android:layout_marginLeft="10dp"
/>
<EditText
android:id="@+id/idDua"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.73"
android:inputType="number"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
>
<Button
android:id="@+id/idBtnGCD"
android:layout_width="135dp"
android:layout_height="wrap_content"
android:layout_marginRight="30dp"
android:text="GCD"
/>
<Button
android:id="@+id/idBtnKurang"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="-"
/>
<Button
android:id="@+id/idBtnJumlah"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="+"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal" >
<Button
android:id="@+id/idBtnPow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Power"
/>
<Button
android:id="@+id/idBtnModulo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="30dp"
android:text="Mod"
/>
<Button
android:id="@+id/idBtnBagi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=":"
/>
<Button
android:id="@+id/idBtnKali"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="x"
/>
</LinearLayout>
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="HASIL"
android:layout_marginLeft="10dp" />
<EditText
android:id="@+id/idHasil"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="number"
/>
</LinearLayout>
|
|
MainActivity.java
|
|
package
com.KalkulatorGCD;
import
com.kalkulator.app.R;
import
android.os.Bundle;
import
android.app.Activity;
import
android.view.Menu;
import
android.view.View;
import android.view.View.OnClickListener;
import
android.widget.Button;
import
android.widget.EditText;
import
android.widget.Toast;
public class
MainActivity extends Activity implements OnClickListener {
Button bPlus, bMin, bMultiple, bDivide,
bPower, bMod, bGCD;
EditText in1, in2, out;
@Override
protected void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
in1 = (EditText)
findViewById(R.id.idSatu);
in2 = (EditText) findViewById(R.id.idDua);
out = (EditText)
findViewById(R.id.idHasil);
bPlus = (Button)
findViewById(R.id.idBtnJumlah);
bMin = (Button)
findViewById(R.id.idBtnKurang);
bMultiple = (Button)
findViewById(R.id.idBtnKali);
bDivide = (Button) findViewById(R.id.idBtnBagi);
bPower = (Button)
findViewById(R.id.idBtnPow);
bMod = (Button)
findViewById(R.id.idBtnModulo);
bGCD = (Button)
findViewById(R.id.idBtnGCD);
bPlus.setOnClickListener(this);
bMin.setOnClickListener(this);
bMultiple.setOnClickListener(this);
bDivide.setOnClickListener(this);
bPower.setOnClickListener(this);
bMod.setOnClickListener(this);
bGCD.setOnClickListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu
menu) {
// Inflate the menu; this adds items
to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main,
menu);
return true;
}
@Override
public void onClick(View v) {
// TODO Auto-generated method
stub
switch (v.getId()) {
case R.id.idBtnJumlah:
String varangka1 =
in1.getText().toString();
String varangka2 =
in2.getText().toString();
if
(!varangka1.equals("") || !varangka2.equals("")) {
String hsl =
penjumlahan(varangka1, varangka2);
out.setText(hsl);
} else {
Toast.makeText(this,
"error", Toast.LENGTH_SHORT).show();
}
break;
case R.id.idBtnKurang:
String a1 =
in1.getText().toString();
String a2 =
in2.getText().toString();
if
(!a1.equals("") || !a2.equals("")) {
String hsl =
pengurangan(a1, a2);
out.setText(hsl);
} else {
Toast.makeText(this,
"error", Toast.LENGTH_SHORT).show();
}
break;
case R.id.idBtnKali:
String s1 =
in1.getText().toString();
String s2 =
in2.getText().toString();
if
(!s1.equals("") || !s2.equals("")) {
String hsl =
perkalian(s1, s2);
out.setText(hsl);
} else {
Toast.makeText(this,
"error", Toast.LENGTH_SHORT).show();
}
break;
case R.id.idBtnBagi:
String input1 =
in1.getText().toString();
String input2 =
in2.getText().toString();
if (!input1.equals("")
|| !input2.equals("")) {
String hsl =
pembagian(input1, input2);
out.setText(hsl);
} else {
Toast.makeText(this,
"error", Toast.LENGTH_SHORT).show();
}
break;
case R.id.idBtnPow:
String power1 =
in1.getText().toString();
String power2 =
in2.getText().toString();
if
(!power1.equals("") || !power2.equals("")) {
String hsl =
pangkat(power1, power2);
out.setText(hsl);
} else {
Toast.makeText(this,
"error", Toast.LENGTH_SHORT).show();
}
break;
case R.id.idBtnModulo:
String mod1 =
in1.getText().toString();
String mod2 =
in2.getText().toString();
if
(!mod1.equals("") || !mod2.equals("")) {
String hsl =
modulo(mod1, mod2);
out.setText(hsl);
} else {
Toast.makeText(this,
"error", Toast.LENGTH_SHORT).show();
}
break;
case R.id.idBtnGCD:
String a =
in1.getText().toString();
String b =
in2.getText().toString();
Double gcd1 =
Double.parseDouble(a);
Double gcd2 =
Double.parseDouble(b);
if
(!gcd1.equals("") || !gcd2.equals("")) {
Double hsl =
findGCD(gcd1, gcd2);
String hasil =
hsl.toString();
out.setText(hasil);
} else {
Toast.makeText(this,
"error", Toast.LENGTH_SHORT).show();
}
break;
}
}
private String penjumlahan(String a, String
b) {
Double d1 =
Double.parseDouble(a);
Double d2 =
Double.parseDouble(b);
Double dHasil = d1 + d2;
String sHasil =
String.valueOf(dHasil);
return sHasil;
}
private String pengurangan(String a,
String b) {
Double d1 = Double.parseDouble(a);
Double d2 =
Double.parseDouble(b);
Double dHasil = d1 - d2;
String sHasil =
String.valueOf(dHasil);
return sHasil;
}
private String perkalian(String a,
String b) {
Double d1 =
Double.parseDouble(a);
Double d2 =
Double.parseDouble(b);
Double dHasil = d1 * d2;
String sHasil =
String.valueOf(dHasil);
return sHasil;
}
private String pembagian(String a,
String b) {
Double d1 =
Double.parseDouble(a);
Double d2 =
Double.parseDouble(b);
Double dHasil = d1 / d2;
String sHasil =
String.valueOf(dHasil);
return sHasil;
}
private String pangkat(String a, String
b) {
Double d1 =
Double.parseDouble(a);
Double d2 =
Double.parseDouble(b);
Double dHasil = Math.pow(d1,
d2);
String sHasil =
String.valueOf(dHasil);
return sHasil;
}
private String modulo(String a, String
b) {
Double d1 =
Double.parseDouble(a);
Double d2 =
Double.parseDouble(b);
Double dHasil = d1 % d2;
String sHasil =
String.valueOf(dHasil);
return sHasil;
}
private static Double findGCD(double
number1, double number2) {
//base case
if(number2 == 0){
return number1;
}
return findGCD(number2,
number1%number2);
}
}
|








