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:
Pak,setelah Buid.Gradle(Module) di edit terjadi eror,cara mengatasinya bagaimana?
Gan, bikinin tutorial Grafik atau Chart pada android dengan MP Android Chart gunakan database MySQL
bagus sekali tutorialnya sangat membantu. map raport
Pak Agus,
Bagaimana cara membuat MP Android Chart type line menggunakan Firebase ?
Thanks
kalo koneksi datanya ke database mysql gimana ya pak?
pak kalo datanya dari database mysql gimana pak ? thanks
pak, bikin chart yg data dr database gimana ya pak? thanks
misi mass … tolong g mana cara membuat grafik tumbuh kembang anak yang ada pada KMS atau buku kesehatan ibu dan anak balita…
Cara buat grafik dri databasehelper gimana ya? Terimakasih