Cara Membuat Currency Converter Dengan Eclipse Android ADT

Currency Converter sering disebut juga Kurs (exchange rate) atau Forex (Foreign Exchange), Currency Converter cuma merupakan pengubahan dari sebuah nilai mata uang ke nilai mata uang lainnya, nilai dalam conversi dari Currency Converter ditentukan dengan Kurs yang berlaku saat ini atau yang berlaku pada suatu bank, sedangkan pengertian Kurs adalah harga dari mata uang di suatu negara yang dibeli/dijual dengan mata uang negara lainnya, Kurs adalah sebuah peranan penerjemah harga dari sebuah mata uang kepada mata uang lainnya, mata uang sebuah negara akan mahal jika sebuah negara nilai ekspornya mahal dan nilai impornya murah, jika sebuah negara nilai impornya mahal dan nilai ekspornya murah maka akan membuat mata uang negara itu tidak bernilai dari mata uang negara lainnya, Sedangkan Forex adalah perdagangan mata uang yang berlaku selama 24 jam, forex yang diperdagangkan adalah mata uang asing dan mengambil keuntungan jika nilai beli murah dan nilai jual mahal.

Selanjutnya kita akan membuat sebuah aplikasi yang dapat mengconversi dari sebuah mata uang kedalam mata uang lainnya dengan nama Currency Converter yang dibuat menggunakan Eclipse ADT dan juga bisa dibuat dengan menggunakan Android Studio. Untuk membuat aplikasi ini maka silahkan ikuti langkah-langkah dibawah ini.

Tool Dibutuhkan

  1. Android studio atau ADT bundle (Eclipse IDE)
  2. Java JDK min 7
  3. SDK (Pastikan SDK Platform dan ARM terpasang)
  4. AVD atau emulator telah dibuat dan jalan

Buat Project

  1. Jalankan Eclipse/Android Studio
  2. Klik File > New > Android Application Project
  3. Beri nama aplikasi pada Application Name maka secara otomatis akan terbuat project name dan package name
  4. Pilih Target SDK dan Compile With dengan Android versi terbaru (4.4.2 Kitkat atau API 19) dan klik Next dan Next
  5. Browse.. icon aplikasi anda dan klik Next dan Next
  6. Biarkan Activity Name dan Layout Name dasar yaitu (MainActivity.java dan activity_main.xml)

Cara Kerja

  1. Jalankan Aplikasi
  2. Beri nilai mata uang asing
  3. Pilih nama mata uang asing
  4. Klik Convert
  5. Lihat hasilnya yang telah diubah ke rupiah

Disain Layout

Pertama: edit res > value > strings.xml atau samakan seperti dibawah ini

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">Currency Converter</string>
    <string name="hello_world">Hello world!</string>
    <string name="action_settings">Settings</string>
    <string name="jumlah">Jumlah</string>
    <string name="mata">Pilih Mata Uang</string>
    <string name="convert">Convert</string>
    <string name="usd">US Dollar</string>
    <string name="eur">Euro</string>
    <string name="gbp">British Pound Sterling</string>
    <string name="sgd">Singapore Dollar</string>
    <string name="aud">Australian Dollar</string>
    <string name="cny">Chinese Yuan</string>
    <string name="hkd">Hong Kong Dollar</string>
    <string name="jpy">Japanese Yen</string>
    <string name="nzd">New Zealand Dollar</string>
    <string name="myr">Malaysian Ringgit</string>

</resources>

Kedua: tambahkan kedalam res > layout > activity_main.xml 3 textview, 1 scrollview, 1 radiogroup, 10 radiobutton dan 1 button seperti gambar dibawah ini.
1 Android Currency Converter
Ketiga: atau selain nomor kedua anda juga bisa samakan kode xmlnya seperti dibawah ini.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.currencyconverter.MainActivity" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="5dp"
        android:layout_marginTop="10dp"
        android:text="@string/jumlah" />

    <EditText
        android:id="@+id/editText1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView1"
        android:layout_below="@+id/textView1"
        android:ems="10"
        android:inputType="number" >

        <requestFocus />
    </EditText>

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/editText1"
        android:layout_below="@+id/editText1"
        android:layout_marginTop="19dp"
        android:text="@string/mata" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/button1"
        android:layout_below="@+id/button1"
        android:layout_marginTop="20dp"
        android:text=""
        android:textAppearance="?android:attr/textAppearanceLarge" />
    
    <ScrollView
        android:id="@+id/scrollView1"
        android:layout_width="wrap_content"
        android:layout_height="125dp"
        android:layout_alignLeft="@+id/textView2"
        android:layout_below="@+id/textView2" >

        <LinearLayout
            android:layout_width="278dp"
            android:layout_height="125dp"
            android:orientation="vertical" >
            
      <RadioGroup
          android:id="@+id/radioGroup1"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content" >
  
          <RadioButton
              android:id="@+id/usd"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:checked="true"
              android:text="@string/usd" />
  
          <RadioButton
              android:id="@+id/sgd"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:text="@string/sgd" />
  
          <RadioButton
              android:id="@+id/nzd"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:text="@string/nzd" />
          
          <RadioButton
              android:id="@+id/myr"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:text="@string/myr" />
  
          <RadioButton
              android:id="@+id/jpy"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:text="@string/jpy" />
          
          <RadioButton
              android:id="@+id/hkd"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:text="@string/hkd" />
  
          <RadioButton
              android:id="@+id/gbp"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:text="@string/gbp" />
          
          <RadioButton
              android:id="@+id/eur"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:text="@string/eur" />
  
          <RadioButton
              android:id="@+id/cny"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:text="@string/cny" />
      </RadioGroup>
        </LinearLayout>
    </ScrollView>

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/scrollView1"
        android:layout_below="@+id/scrollView1"
        android:layout_marginTop="15dp"
        android:text="@string/convert" />

</RelativeLayout>

Kode Penuh

Edit MainActivity.java kemudian samakan dengan kode yang ada dibawah ini.

package com.example.currencyconverter;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;


public class MainActivity extends ActionBarActivity {
 
 private Button btn;
 private EditText inputer;
 private TextView hasil;
 private RadioGroup rg;
 private RadioButton rb;
 Double res;
 String banding;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        btn = (Button)findViewById(R.id.button1);
        inputer = (EditText)findViewById(R.id.editText1);
        hasil = (TextView)findViewById(R.id.textView3);
        rg = (RadioGroup)findViewById(R.id.radioGroup1);
        
        btn.setOnClickListener(new View.OnClickListener() {
   
   @Override
   public void onClick(View v) {
    // TODO Auto-generated method stub
    int selid = rg.getCheckedRadioButtonId();
    rb = (RadioButton)findViewById(selid);
    
    banding = rb.getText().toString();
    
    if(banding.equals("US Dollar")){
     Double value1 = Double.parseDouble(inputer.getText().toString());
     res = value1 * 13920;
     hasil.setText("Rupiah: "+res);
    } else if(banding.equals("Euro")){
     Double value2 = Double.parseDouble(inputer.getText().toString());
     res = value2 * 15199;
     hasil.setText("Rupiah: "+res);
    } else if(banding.equals("British Pound Sterling")){
     Double value3 = Double.parseDouble(inputer.getText().toString());
     res = value3 * 20228;
     hasil.setText("Rupiah: "+res);
    } else if(banding.equals("Singapore Dollar")){
     Double value4 = Double.parseDouble(inputer.getText().toString());
     res = value4 * 9670;
     hasil.setText("Rupiah: "+res);
    } else if(banding.equals("Australian Dollar")){
     Double value5 = Double.parseDouble(inputer.getText().toString());
     res = value5 * 9701;
     hasil.setText("Rupiah: "+res);
    } else if(banding.equals("Chinese Yuan")){
     Double value6 = Double.parseDouble(inputer.getText().toString());
     res = value6 * 2124;
     hasil.setText("Rupiah: "+res);
    } else if(banding.equals("Hong Kong Dollar")){
     Double value7 = Double.parseDouble(inputer.getText().toString());
     res = value7 * 1793;
     hasil.setText("Rupiah: "+res);
    } else if(banding.equals("Japanese Yen")){
     Double value8 = Double.parseDouble(inputer.getText().toString());
     res = value8 * 118;
     hasil.setText("Rupiah: "+res);
    } else if(banding.equals("New Zealand Dollar")){
     Double value9 = Double.parseDouble(inputer.getText().toString());
     res = value9 * 9091;
     hasil.setText("Rupiah: "+res);
    } else if(banding.equals("Malaysian Ringgit")){
     Double value10 = Double.parseDouble(inputer.getText().toString());
     res = value10 * 3152;
     hasil.setText("Rupiah: "+res);
    } else{
     Toast.makeText(MainActivity.this, "Maaf anda belum pilih mata uang "+banding, Toast.LENGTH_LONG).show();
    }
   }
  });
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}

Penjelasan Kode

Pertama: impor pustaka yang dibutuhkan

import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;

Kedua: buat variabel

private Button btn;
private EditText inputer;
private TextView hasil;
private RadioGroup rg;
private RadioButton rb;
Double res;
String banding;

Ketiga: buat pemanggilan antara id activity_main.xml kedalam MainActivity.java

btn = (Button)findViewById(R.id.button1);
inputer = (EditText)findViewById(R.id.editText1);
hasil = (TextView)findViewById(R.id.textView3);
rg = (RadioGroup)findViewById(R.id.radioGroup1);

Keempat: buat button aksi untuk mengeksekusi nilai

btn.setOnClickListener(new View.OnClickListener() {
   
 @Override
 public void onClick(View v) {
  // TODO Auto-generated method stub
    
 }
});

Kelima: membuat isi dari eksekusi nilai pada button

int selid = rg.getCheckedRadioButtonId();
rb = (RadioButton)findViewById(selid);
    
banding = rb.getText().toString();
    
if(banding.equals("US Dollar")){
 Double value1 = Double.parseDouble(inputer.getText().toString());
 res = value1 * 13920;
 hasil.setText("Rupiah: "+res);
} else if(banding.equals("Euro")){
 Double value2 = Double.parseDouble(inputer.getText().toString());
 res = value2 * 15199;
 hasil.setText("Rupiah: "+res);
} else if(banding.equals("British Pound Sterling")){
 Double value3 = Double.parseDouble(inputer.getText().toString());
 res = value3 * 20228;
 hasil.setText("Rupiah: "+res);
} else if(banding.equals("Singapore Dollar")){
 Double value4 = Double.parseDouble(inputer.getText().toString());
 res = value4 * 9670;
 hasil.setText("Rupiah: "+res);
} else if(banding.equals("Australian Dollar")){
 Double value5 = Double.parseDouble(inputer.getText().toString());
 res = value5 * 9701;
 hasil.setText("Rupiah: "+res);
} else if(banding.equals("Chinese Yuan")){
 Double value6 = Double.parseDouble(inputer.getText().toString());
 res = value6 * 2124;
 hasil.setText("Rupiah: "+res);
} else if(banding.equals("Hong Kong Dollar")){
 Double value7 = Double.parseDouble(inputer.getText().toString());
 res = value7 * 1793;
 hasil.setText("Rupiah: "+res);
} else if(banding.equals("Japanese Yen")){
 Double value8 = Double.parseDouble(inputer.getText().toString());
 res = value8 * 118;
 hasil.setText("Rupiah: "+res);
} else if(banding.equals("New Zealand Dollar")){
 Double value9 = Double.parseDouble(inputer.getText().toString());
 res = value9 * 9091;
 hasil.setText("Rupiah: "+res);
} else if(banding.equals("Malaysian Ringgit")){
 Double value10 = Double.parseDouble(inputer.getText().toString());
 res = value10 * 3152;
 hasil.setText("Rupiah: "+res);
} else{
 Toast.makeText(MainActivity.this, "Maaf anda belum pilih mata uang "+banding, Toast.LENGTH_LONG).show();
}

Screenshot Hasil

Pertama: conversi mata uang dollar ke nilai mata uang rupiah

2 Android Currency Converter
Kedua: conversi mata uang malaysia ke nilai mata uang rupiah

3 Android Currency Converter