Belajar Android Studio Membuat Grafik atau Chart pada android dengan MP Android Chart

Belajar Android Studio kali ini akan membahas tentang pembuatan chart (grafik) pada aplikasi android.

Android sudah menjadi handphone yang mendominasi pasar. Para Executif pun sudah pakai android. Nah biasanya mereka ingin bisa lihat data perkembangan perusahaan seperti penjualan melalu smartphone androidnya. Mereka tentunya akan senang jika data yang disajikan dapat ditampilkan dalam bentuk chart (grafik).

Tadinya saya kira susah untuk membuatnya tetapi karena developer android juga banyak diseluruh dunia dan ada yang sudah berbaik hati membuatkan library untuk membuat grafik, salah satu yang terkenal adalah MP Android Chart. Anda tidak percaya bahwa dengan MP Android Chart ini membuat grafik penjualan jadi mudah. Mari kita buktikan dengan membuat Grafik untuk bos mie ayam dan bakso siapa tahu nantinya kita masa makan gratis. Sekarang mari kita mulai.

1. Buat project dengan nama “LearnMPChart” domain diisi dengan “agusharyanto.net” pada saat activity pilih “Empty Activity” klik Next terus sampai finish.

2. Edit Buid.Gradle (Module) tambahkan libray MPChart.

repositories {
    maven { url "https://jitpack.io" }
}
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.2.1'
    compile 'com.github.PhilJay:MPAndroidChart:v2.2.4'
}

3.Edit activity_main lalu ketikan kode berikut

<?xml version="1.0" encoding="utf-8"?>
<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="net.agusharyanto.learnmpchart.MainActivity">
    <com.github.mikephil.charting.charts.BarChart
        android:id="@+id/chart"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</RelativeLayout>

4. Sekarang mari kita edit MainActivity.java lalu ketikan kode berikut

package net.agusharyanto.learnmpchart;
import android.graphics.Color;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import com.github.mikephil.charting.charts.BarChart;
import com.github.mikephil.charting.data.BarData;
import com.github.mikephil.charting.data.BarDataSet;
import com.github.mikephil.charting.data.BarEntry;
import com.github.mikephil.charting.interfaces.datasets.IBarDataSet;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        BarChart chart = (BarChart) findViewById(R.id.chart);
        BarData data = new BarData(getXAxisValues(), getDataSet());
      //  BarData datas = new BarData();
        chart.setData(data);
        chart.setDescription("My Chart");
        chart.animateXY(2000, 2000);
        chart.invalidate();
    }
    private ArrayList<IBarDataSet> getDataSet() {
        ArrayList<IBarDataSet> dataSets = null;
        ArrayList<BarEntry> valueSet1 = new ArrayList<>();
        BarEntry v1e1 = new BarEntry(110.000f, 0); // Jan
        valueSet1.add(v1e1);
        BarEntry v1e2 = new BarEntry(40.000f, 1); // Feb
        valueSet1.add(v1e2);
        BarEntry v1e3 = new BarEntry(60.000f, 2); // Mar
        valueSet1.add(v1e3);
        BarEntry v1e4 = new BarEntry(30.000f, 3); // Apr
        valueSet1.add(v1e4);
        BarEntry v1e5 = new BarEntry(90.000f, 4); // May
        valueSet1.add(v1e5);
        BarEntry v1e6 = new BarEntry(100.000f, 5); // Jun
        valueSet1.add(v1e6);
        ArrayList<BarEntry> valueSet2 = new ArrayList<>();
        BarEntry v2e1 = new BarEntry(150.000f, 0); // Jan
        valueSet2.add(v2e1);
        BarEntry v2e2 = new BarEntry(90.000f, 1); // Feb
        valueSet2.add(v2e2);
        BarEntry v2e3 = new BarEntry(120.000f, 2); // Mar
        valueSet2.add(v2e3);
        BarEntry v2e4 = new BarEntry(60.000f, 3); // Apr
        valueSet2.add(v2e4);
        BarEntry v2e5 = new BarEntry(20.000f, 4); // May
        valueSet2.add(v2e5);
        BarEntry v2e6 = new BarEntry(80.000f, 5); // Jun
        valueSet2.add(v2e6);
        BarDataSet barDataSet1 = new BarDataSet(valueSet1, "Bakso");
        barDataSet1.setColor(Color.rgb(0, 155, 0));
        BarDataSet barDataSet2 = new BarDataSet(valueSet2, "Mie Ayam");
        //barDataSet2.setColors(ColorTemplate.COLORFUL_COLORS);
        barDataSet2.setColor(Color.rgb(193, 37, 82));
        dataSets = new ArrayList<>();
        dataSets.add(barDataSet1);
        dataSets.add(barDataSet2);
        return dataSets;
    }
    private ArrayList<String> getXAxisValues() {
        ArrayList<String> xAxis = new ArrayList<>();
        xAxis.add("JAN");
        xAxis.add("FEB");
        xAxis.add("MAR");
        xAxis.add("APR");
        xAxis.add("MAY");
        xAxis.add("JUN");
        return xAxis;
    }
}

6. Sekarang mari kita Run aplikasinya. Maka akan tampil seperti ini

Sudah terbuktikan mudah membuat grafik atau chart di android.

Kalau diaplikasi inikan datanya hardcode, coba kalian buat yang datanya dari database sepert sqlite atau MySQL

Salam Hangat Developer Android

Agus Haryanto

Pembicar Seminar IT, Android Developer dan Trainer

Referensi:

Android Chart Example: MP Android Chart library

9 comments to Belajar Android Studio Membuat Grafik atau Chart pada android dengan MP Android Chart

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>