"Laugh and the world laughs with you. Weep, and you weep alone"

Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Quisque sed felis. Aliquam sit amet felis. Mauris ...

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Quisque sed felis. Aliquam sit amet felis. Mauris semper, velit semper laoreet dictum, quam diam dictum urna, nec placerat elit nisl in ...

Here's an mp3 file that was uploaded as an attachment: Juan Manuel Fangio by Yue And here's a link to an external mp3 file: Acclimate by General Fuzz Both are CC licensed. Lorem ...

Some block quote tests: Here's a one line quote. This part isn't quoted. Here's a much longer quote: Lorem ipsum dolor sit amet, consectetuer adipiscing elit. In dapibus. In pretium pede. Donec ...

Ke Menu Utama >>

Archive for October 2014

Pendahuluan
            Great Common Divisor (GCD) atau jika di Indonesia biasa disebut Faktor Persekutuan Terbesar (FPB) merupakan istilah yang dipakai dalam matematika untuk menunjukan bilangan terbesar yang dapat membagi dua bilangan atau beberapa bilangan.
Contoh:
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)
Implementasi
            Dalam pengembangan aplikasi ini minimal kita membutuhkan dua tools, yang pertama code editor+SDK dan yang kedua adalah virtual device. Apabila kita menggunakan Eclipse sebagai code editor kita tidak perlu menginstall virtual device tambahan (seperti Bluestack, Andy, Youwave, dll)  karena SDK eclipse sudah menyediakan virtual device di dalamnya. Namun apabila komputer anda tidak memiliki RAM yang cukup besar, sebaiknya menggunakan virtual device tambahan.
            Berikut ini adalah tools yang akan penulis gunakan dalam implementasi ini :
a.      Eclipse + SDK
b.      Bluestack
Setelah melakukan instalasi perangkat lunak di atas, kemudian ikuti langkah – langkah berikut ini untuk membuat aplikasi kalkulator GCD.
1. Langkah pertama adalah melakukan pengaturan sambungan dua tools yang akan kita gunakan yakni, eclipse dan bluestack.
2.  Jalankan kedua aplikasi di atas kemudian koneksikan keduanya. Untuk melakukan koneksi, buka command prompt dan masuk ke folder “platform-tools” pada eclipse.

3. Kemudian masukkan perintah : adb connect localhost , apabila berhasil maka akan muncul pesan seperti ini.


4.    Kemudian pada eclipse buatlah project baru, File > New > Android Application Project, lalu klik next hingga selesai kemudian klik Finish.


5.  Lalu pada package explorer buka tab res > layout > activity_main.xml, ubahlah RelativeLayout menjadi LinearLayout dengan cara pada tab outline klik kanan > change layout > linearlayout(vertical) > OK



6.      Kemudian secara drag and drop, tambahkan LinearLayout, widget Button, Edit Text, dan Text view pada activity_main.xml dengan Outline. Edit setiap widget pada layout dengan menambahkan teks dan ID. Hasil akhir langkah ini akan tampak seperti gambar di bawah.


7.      Buka editor activity_main.xml di sebelah tab graphical layout. Lalu ketikkan source code berikut.

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>



1.      Tambahkan algoritma GCD dan perhitungan dasar pada MainActivity.java pada menu src > package > MainActivity.java 

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);
    }
}
9.  Jalankan aplikasi dengan cara klik kanan project > Run As > Android Application. Apabila langkah yang dilakukan sudah benar maka tampilan akan seperti gambar di bawah.


Tampilan







Continue