Friday, 24 June 2016

Cara Mencari Angka Dalam Kata dengan Java Android

Angka dalam kasus tertentu merupakan sesuatu yang sifatnya penting untuk mententukan analisa tertentu. Dalam kebanyakan penelitian, angka menjadi kesimpulan yang akurat dan dapat dipercaya. Pengolahan pengolahan angka dalam penelitian memang di proses oleh program tertentu, tapi pastinya program/aplikasi tersebut sudah dibuat dengan perhitungan yang matang yang dapat memproses inputan angka


Sebagai contoh lain, dulu saat saya mengerjakan tugas akhir saya yaitu "Membuat Aplikasi Peringkas Dokumen" arti meringkas disini maksudnya mencari inti-inti kalimat/kata yang terkandung dalam dokumen yang saya buat.

Dalam pelajaran Bahasa Indonesia kita diajarkan kan cara mencari kalimat/kata pending dalam paragraf, kalian bisa baca-baca kembali Bahasa Indonesianya hehe. Nah salah satu indikator dalam mencari kata-kata penting di kalimat (incase : tugas akhir saya) adalah ANGKA.

Misalnya begini, Rp.2.000,00 pasti penting karna itu menunjukan harga suatu produk. Contoh lain, Sila Ke-6. Itu bisa jadi penting. Karena munculnya angka dalam suatu bacaan pasti memiliki arti tersendiri dan (incase : tugas akhir saya) itu sangat penting.

TO THE POINT SAJA!


Begini caranya mencari :

Kita memerlukan bantuan regex untuk mampu memfilter angka dalam huruf. Apa itu regex?
Regex (Regular Expression, beberapa menyebutkan Rational Expression) adalah kumpulan karakter-karakter yang menentukan pola pencarian, terutama untuk digunakan dalam pencocokan pola (pattern-matcher) terhadapt String, atau pencocokan string [Sumber]
Pelajari regex, karena regex sangat mempermudah kita dalam memfilter sesuatu dalam pemrograman.

Dicontoh ini saya akan gunakan regex berikut :

[^0-9]+

Artinya selain yang bukan ANGKA, pengunaannya begini :

yourString = yourString.replaceAll("[^0-9]+","");

Cara bacanya begini, selain yang bukan ANGKA diganti menjadi "" atau string kosong, artinya juga dihilangkan.

IMPLEMENTASI DI JAVA/ANDROID


Buat layoutnya berinama apa saja, dicontoh namanya activity_filter_number.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:orientation="vertical"
    tools:context=".FilterNumberActivity">


    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Hi! Mencari Angka di dalam Kata. Credit : putuguna.com"
        android:gravity="center"/>

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="input word"
        android:id="@+id/editText_inputWord"/>
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/btn_find_number"
        android:text="GET NUMBER"/>

    <TextView
        android:id="@+id/textview_sizeofnumber"
        android:layout_marginTop="20dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="18sp"
        android:text="Angka Yang Di Dapat = 0"/>

    <TextView
        android:layout_marginTop="20dp"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:textSize="25sp"
        android:text="Find more on : \nIt has beginning \n www.putuguna.com"/>

</LinearLayout>

Selanjutnya buat kode class.java, beri nama bebas. Dicontoh saya beri nama FilterNumberActivity.java

package com.example.putuguna.forpostingan;

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

public class FilterNumberActivity extends AppCompatActivity {

    private EditText textWord;
    private Button btnFindNumber;
    private TextView sizeOfNumber;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_filter_number);

        textWord = (EditText) findViewById(R.id.editText_inputWord);
        btnFindNumber = (Button) findViewById(R.id.btn_find_number);
        sizeOfNumber = (TextView) findViewById(R.id.textview_sizeofnumber);

        btnFindNumber.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String originalWord =textWord.getText().toString();
                findNumber(originalWord);
            }
        });


    }

    private void findNumber(String word){

        String regex = "[^0-9]+";

        word = word.replaceAll(regex,"");
        Log.d("TAG", "HASIL : " + word); // ini utk debug di log android studio

        sizeOfNumber.setText("Angka Yang Di Dapat = " + word);
    }
}

Jalankan programnya, dan pasti jadi karena saya coba dulu sebelum posting di blog. di Java Netbeans juga sama, karena sama-sama Java bahasanya. Sekian. Happy coding!! have fun!!

Please post a polite comment and do not post a spam
EmoticonEmoticon