Cara Membuat Format Rupiah di Android – Bagaimana cara membuat format rupiah pada aplikasi android kamu? Kasus ini sering didapat ketika kamu mendapatkan project yang berhubungan dengan jual beli ataupun fitur informasi harga dari suatu data. Maksdunya format rupiah disini adalah ketika kita mendapati data bernilai 5000 maka secara otomatis akan berubah menjadi Rp.5.000 . Nah, pada artikel ini kita akan membuat fungsi konversi angka ke format rupiah.
Daftar Isi
Buat Project
Buatlah project dengan nama Format Rupiah lalu pilih empty activity.
Tampilan Aplikasi
Buka xml activity_main.xml lalu isi dengan komponen edittext, button, dan textview. Untuk kodenya sebagai berikut :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="16dp" tools:context=".MainActivity"> <EditText android:id="@+id/etHarga" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/title_harga" android:inputType="number" tools:ignore="Autofill" /> <Button android:id="@+id/btnFormat" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="8dp" android:textColor="@android:color/white" android:background="@color/colorPrimaryDark" android:text="@string/title_submit" android:textAllCaps="false" /> <TextView android:id="@+id/tvResult" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="16dp" tools:text="Result : Rp.500.000" android:textColor="@android:color/black" android:textSize="16sp"/> </LinearLayout> |
Membuat Fungsi Aplikasi
Buka MainActivity.java lalu inisialisasi diatas onCreate() komponen widget yang sudah kita buat pada layout activity_main.xml. Untuk kodenya seperti berikut :
1 2 3 |
private EditText etHarga; private Button btnFormat; private TextView tvResult; |
Fungsi inisialisasi komponen widget
Buatlah fungsi bernama initComponents() lalu isi dengan kode berikut :
1 2 3 4 5 |
private void initComponents(){ etHarga = findViewById(R.id.etHarga); btnFormat = findViewById(R.id.btnFormat); tvResult = findViewById(R.id.tvResult); } |
Penjelasan :
Kode berikut adalah untuk meng-inisialisasi widget – widget yang sudah kita buat yang akan dipanggil dalam method onCreate().
Fungsi Format Rupiah
Buatlah fungsi bernama formatRupiah dengan return String dan beri konstructor tipe Double. Untuk kodenya sebagai berikut :
1 2 3 4 5 |
private String formatRupiah(Double number){ Locale localeID = new Locale("in", "ID"); NumberFormat formatRupiah = NumberFormat.getCurrencyInstance(localeID); return formatRupiah.format(number); } |
Penjelasan :
Kenapa saya membuat return String ? karena agar bisa dipakai pada komponen yang membutuhkan String seperti TextView/Edittext/dll. Nah, untuk konstruktornya kenapa Double ? itu karena untuk menjaga aman dari nilai mempunyai nilai “,” ( misalnya 1,001 ).
Fungsi didalam onCreate()
Panggil fungsi initComponents() didalam method onCreate dan buat listener untuk Button Formatnya. Untuk kode didalam onCreate seperti berikut :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
initComponents(); btnFormat.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String harga = etHarga.getText().toString(); if (TextUtils.isEmpty(harga)){ Toast.makeText(MainActivity.this, "Form tidak boleh kosong", Toast.LENGTH_SHORT).show(); } else { String resultRupiah = "Harga : " + formatRupiah(Double.parseDouble(harga)); tvResult.setText(resultRupiah); } } }); |
Full kode pada MainActivity.java sebagai berikut :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
public class MainActivity extends AppCompatActivity { private EditText etHarga; private Button btnFormat; private TextView tvResult; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initComponents(); btnFormat.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String harga = etHarga.getText().toString(); if (TextUtils.isEmpty(harga)){ Toast.makeText(MainActivity.this, "Form tidak boleh kosong", Toast.LENGTH_SHORT).show(); } else { String resultRupiah = "Harga : " + formatRupiah(Double.parseDouble(harga)); tvResult.setText(resultRupiah); } } }); } private void initComponents(){ etHarga = findViewById(R.id.etHarga); btnFormat = findViewById(R.id.btnFormat); tvResult = findViewById(R.id.tvResult); } private String formatRupiah(Double number){ Locale localeID = new Locale("in", "ID"); NumberFormat formatRupiah = NumberFormat.getCurrencyInstance(localeID); return formatRupiah.format(number); } } |
Hasil Aplikasi
Jalankan aplikasi maka tampilan akan seperti berikut :

Download Project Android
Kamu bisa download project “Cara Membuat Format Rupiah di Android” disini : https://github.com/farizdotid/Format-Rupiah-Android
Sekian tutorial android bahasa indonesia mengenai Cara Membuat Format Rupiah di Android. Semoga bermanfaat dan jika ada yang ditanyakan bisa langsung berkomentar. Terimakasih! Hatur Nuhun!
Kalau mau seblum angkanya ada titik bagaimana kak? contoh Rp. 5.000