• Tidak ada hasil yang ditemukan

FILE MainActivity.java CODE TO STORE THE BUTTON MENU AND MOVE THE PAGE

N/A
N/A
Protected

Academic year: 2019

Membagikan "FILE MainActivity.java CODE TO STORE THE BUTTON MENU AND MOVE THE PAGE"

Copied!
20
0
0

Teks penuh

(1)

APPENDIX

FILE MainActivity.java

CODE TO STORE THE BUTTON MENU AND MOVE THE PAGE

package com.ste.sembakoapp; import Android.content.Intent;

import Android.support.v7.app.AppCompatActivity; import Android.os.Bundle;

import Android.view.View; import Android.widget.Button;

public class MainActivity extends AppCompatActivity { private Button btn1,btn2,btn3;

@Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main); btn1 = (Button) findViewById(R.id.menu1); btn2 = (Button) findViewById(R.id.menu2); btn3 = (Button) findViewById(R.id.menu3);

btn1.setOnClickListener(new View.OnClickListener() { @Override

public void onClick(View v) {

startActivity(new Intent(MainActivity.this, display.class));

} });

btn2.setOnClickListener(new View.OnClickListener() { @Override

public void onClick(View v) {

startActivity(new Intent(MainActivity.this, DetailActivity.class));

} });

btn3.setOnClickListener(new View.OnClickListener() { @Override

public void onClick(View v) {

startActivity(new Intent(MainActivity.this, AboutActivity.class));

} }); }

}

(2)

FILE Display.java

CODE TO TAKE DATA ON MINISTRY OF TRADE WEBSITE AND

DISPLAY ALL PRICES

package com.ste.sembakoapp;

import Android.support.v7.app.AppCompatActivity; import Android.os.Bundle;

import Android.view.View;

import Android.widget.ArrayAdapter; import Android.widget.Button;

import Android.widget.Spinner; import Android.widget.TextView; import org.jsoup.Jsoup;

import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; import java.io.IOException;

public class display extends AppCompatActivity { private Button getBtn;

private TextView result;

private Spinner spinner,spinner2; @Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.activity_display);

result = (TextView) findViewById(R.id.result); getBtn = (Button) findViewById(R.id.getBtn);

spinner = (Spinner) findViewById(R.id.tahun_spinner); ArrayAdapter<CharSequence> adapter =

ArrayAdapter.createFromResource(this, R.array.tahun_array, Android.R.layout.simple_spinner_item);

adapter.setDropDownViewResource(Android.R.layout.simple_spinner_d ropdown_item);

spinner.setAdapter(adapter);

spinner2 = (Spinner) findViewById(R.id.bulan_spinner); ArrayAdapter<CharSequence> adapter2 =

ArrayAdapter.createFromResource(this, R.array.bulan_array, Android.R.layout.simple_spinner_item);

adapter2.setDropDownViewResource(Android.R.layout.simple_spinner_ dropdown_item);

spinner2.setAdapter(adapter2);

getBtn.setOnClickListener(new View.OnClickListener() { @Override

public void onClick(View v) {

final StringBuilder url = new StringBuilder(); final StringBuilder period = new StringBuilder(); String tahun = spinner.getSelectedItem().toString();

(3)

int bulan_pos = spinner2.getSelectedItemPosition();

(4)

}

node node = new node(nama, arrHarga, tanggal);

listData.addLast(node); }

Statistic stat = new Statistic();

node pointer = listData.getHead();

while (pointer != null) { builder.append("Name : ").append(pointer.getNama()).append("\n");

builder.append("Period : ").append(periode).append("\n");

builder.append("Prices").append("\n");

float[] h = pointer.getHarga(); int[] t = pointer.getTanggal(); for(int a=0; a<h.length; a++){ builder.append("Date : ").append(t[a]);

if (t[a] < 10){

builder.append(" | "); }else{

builder.append(" | "); }

builder.append("Price : ").append(h[a]).append("\n");

}

builder.append("\n");

builder.append("Statistics").append("\n"); float meanVal = stat.mean(h);

double medVal = stat.median(h); float modeVal = stat.mode(h); builder.append("Mean = ").append(meanVal).append("\n");

builder.append("Median = ").append(medVal).append("\n");

builder.append("Mode = ").append(modeVal).append("\n");

pointer = pointer.getNext();

builder.append("\n").append("\n"); }

} catch (IOException e) {

builder.append("Error :").append(e.getMessage()).append("\n");

}

runOnUiThread(new Runnable() { @Override

(5)

public void run() {

result.setText(builder.toString()); }

}); }

}).start(); }

}

FILE DetailActivity.java

CODE TO DISPLAY THE DATA BASIC COMMODITIES ACCORDANCE

WITH ITEMS SELECTED AND DISPLAY THE GRAPH OF

STATISTICAL CALCULATIONS

package com.ste.sembakoapp; import Android.graphics.Color; import Android.os.Bundle;

import Android.support.v7.app.AppCompatActivity; import Android.view.View;

import Android.widget.ArrayAdapter; import Android.widget.Button;

import Android.widget.Spinner; import Android.widget.TextView; import Android.widget.Toast;

import com.jjoe64.graphview.GraphView;

import com.jjoe64.graphview.GridLabelRenderer; import com.jjoe64.graphview.LegendRenderer; import com.jjoe64.graphview.series.DataPoint;

import com.jjoe64.graphview.series.DataPointInterface; import com.jjoe64.graphview.series.LineGraphSeries;

import com.jjoe64.graphview.series.OnDataPointTapListener; import com.jjoe64.graphview.series.Series;

import org.jsoup.Jsoup;

import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; import java.io.IOException;

import java.util.Random;

public class DetailActivity extends AppCompatActivity { private Button getBtn;

private TextView result;

private Spinner spinner,spinner2,spinner3; private LineGraphSeries<DataPoint> mSeries1; @Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.activity_detail); result = (TextView) findViewById(R.id.result); getBtn = (Button) findViewById(R.id.getBtn);

(6)

spinner = (Spinner) findViewById(R.id.tahun_spinner); ArrayAdapter<CharSequence> adapter =

ArrayAdapter.createFromResource(this, R.array.tahun_array,

Android.R.layout.simple_spinner_item);

adapter.setDropDownViewResource(Android.R.layout.simple_spinner_d ropdown_item);

spinner.setAdapter(adapter);

spinner2 = (Spinner) findViewById(R.id.bulan_spinner); ArrayAdapter<CharSequence> adapter2 =

ArrayAdapter.createFromResource(this, R.array.bulan_array,

Android.R.layout.simple_spinner_item);

adapter2.setDropDownViewResource(Android.R.layout.simple_spinner_ dropdown_item);

spinner2.setAdapter(adapter2);

spinner3 = (Spinner) findViewById(R.id.item_spinner); ArrayAdapter<CharSequence> adapter3 =

ArrayAdapter.createFromResource(this, R.array.item_array, Android.R.layout.simple_spinner_dropdown_item);

adapter3.setDropDownViewResource(Android.R.layout.simple_spinner_ dropdown_item);

spinner3.setAdapter(adapter3);

getBtn.setOnClickListener(new View.OnClickListener() { @Override

public void onClick(View v) {

final StringBuilder url = new StringBuilder(); final StringBuilder period = new StringBuilder();

String tahun =

spinner.getSelectedItem().toString(); int bulan_pos = spinner2.getSelectedItemPosition();

int item_pos = spinner3.getSelectedItemPosition(); String item_name =

spinner3.getSelectedItem().toString();

String bulan = String.valueOf(bulan_pos+1); String str_bulan =

spinner2.getSelectedItem().toString(); String URL =

url.append("http://www.kemendag.go.id/id/economic-profile/prices/national-price-table?

year=").append(tahun).append("&month=").append(bulan).toString(); String periode =

period.append(str_bulan).append("-").append(tahun).toString();

getWebsite(URL,periode,item_pos, item_name); }

});

(7)

}

(8)
(9)

runOnUiThread(new Runnable() { @Override

public void run() {

result.setText(builder.toString());

GraphView graph = (GraphView) findViewById(R.id.graph);

GridLabelRenderer gridlabel = graph.getGridLabelRenderer();

gridlabel.setHorizontalAxisTitle("Dates : "+periode);

gridlabel.setVerticalAxisTitle("Prices (Rupiah)");

graph.addSeries(mSeries1); graph.getViewport().setXAxisBoundsManual(true);

graph.getLegendRenderer().setVisible(true);

graph.getLegendRenderer().setAlign(LegendRenderer.LegendAlign.TOP) ;

graph.getViewport().setScalable(true); graph.getViewport().setScrollableY(true); graph.getViewport().setScalable(true); graph.getViewport().setScalableY(true); }

}); }

}).start(); }

}

FILE AboutActivity.java

CODE TO DISPLAY PROJECT INFORMATION

package com.ste.sembakoapp;

import Android.support.v7.app.AppCompatActivity; import Android.os.Bundle;

public class AboutActivity extends AppCompatActivity { @Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.activity_about); }

}

(10)

FILE Node.java

CODE TO STORE ITEM DATA IN A NODE TO BE INSERTED INTO

LINKED LIST

package com.ste.sembakoapp; public class node {

private String nama; private float[] harga; private int[] tanggal; private node next; private node prev;

public node(String nama, float[] harga, int[] tanggal) { this.nama = nama;

this.harga = harga; this.tanggal = tanggal; this.next = null;

this.prev = null; }

public node(node E, node next, node prev) { this.nama = E.getNama();

this.harga = E.getHarga(); this.tanggal = E.getTanggal(); this.next = next;

this.prev = prev; }

public String getNama() { return this.nama; }

public float[] getHarga() { return this.harga; }

public int[] getTanggal() { return this.tanggal; }

public node getNext() { return next;

}

public node getPrev() { return prev;

}

public void setNext(node next) { this.next = next;

}

public void setPrev(node prev) { this.prev = prev;

} }

(11)

FILE LinkedListImpl.java

CODE TO STORE DATA INTO LINKED LIST

package com.ste.sembakoapp; public class LinkedListImpl { private node head;

private node tail; private int size;

public LinkedListImpl() { size = 0;

}

public int size() { return size; }

public boolean isEmpty() { return size == 0; }

public node getHead() { return head;

}

public node get(int i) { if (i < size) {

node pointer = head; int position = 1;

while (position <= i) {

pointer = pointer.getNext(); position++;

}

return pointer; } else {

return null; }

}

public void addFirst(node E) { if (size == 0) {

head = new node(E, null, null); tail = head;

size++; } else {

head.setPrev(E); E.setNext(head); head = E;

size++; }

}

public void addLast(node E) { if (size == 0) {

tail = new node(E, null, null); head = tail;

(12)
(13)

FILE Statistic.java

CODE TO CALCULATE STATISTICS (MEAN, MEDIAN, MODE) ON

DATA

package com.ste.sembakoapp; import java.util.Arrays; public class Statistic {

public static float mean(float[] m) { float sum = 0;

for (int i = 0; i < m.length; i++) { sum += m[i];

}

return sum / m.length; }

public static double median(float[] m) { int middle = m.length/2;

Arrays.sort(m);

if (m.length%2 == 1) { return m[middle]; } else {

return (m[middle-1] + m[middle]) / 2.0; }

}

public static float mode(float a[]) { float maxValue=0;

float maxCount=0;

for (int i = 0; i < a.length; ++i) { int count = 0;

for (int j = 0; j < a.length; ++j) { if (a[j] == a[i]) ++count;

}

if (count > maxCount) { maxCount = count; maxValue = a[i]; }

}

return maxValue; }

}

(14)

FILE activity_about.xml

CODE FOR ABOUT DISPLAY ACTIVITY

<?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="com.ste.sembakoapp.AboutActivity"> <TextView

android:layout_width="wrap_content" android:layout_height="wrap_content"

android:textAppearance="?android:attr/textAppearanceLarge" android:text="About"

android:id="@+id/textView2" android:layout_marginTop="42dp" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" /> <TextView

android:layout_width="wrap_content" android:layout_height="wrap_content"

android:textAppearance="?android:attr/textAppearanceMedium" android:text="Purpose of the application is for monitoring basic commodities price from Ministry of Trades Website"

android:id="@+id/textView3" android:layout_marginTop="36dp" android:layout_below="@+id/textView2" android:layout_centerHorizontal="true" /> <TextView

android:layout_width="wrap_content" android:layout_height="wrap_content"

android:textAppearance="?android:attr/textAppearanceMedium" android:text="Created By : Stefani Yuanita"

android:id="@+id/textView4"

android:layout_below="@+id/textView3" android:layout_centerHorizontal="true" android:layout_marginTop="35dp" /> </RelativeLayout>

(15)

FILE activity_detail.xml

android:fillViewport="true">

<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.ste.sembakoapp.DetailActivity">

(16)

android:text=""

android:textSize="17sp"

android:layout_marginTop="57dp"

android:layout_below="@+id/getBtn"

android:layout_centerHorizontal="true" />

<com.jjoe64.graphview.GraphView

android:layout_width="match_parent"

android:layout_height="200dip"

android:layout_below="@id/result"

android:id="@+id/graph" />

</RelativeLayout> </ScrollView>

FILE activity_display.xml

CODE FOR ABOUT DISPLAY ACTIVITY

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

<ScrollView

xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"

android:layout_height="match_parent" android:fillViewport="true">

<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.ste.sembakoapp.display">

<Spinner

android:id="@+id/tahun_spinner"

android:layout_width="fill_parent"

android:layout_height="wrap_content" />

<Spinner

android:id="@+id/bulan_spinner"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_marginTop="29dp"

android:layout_below="@+id/tahun_spinner"

android:layout_alignParentRight="true"

android:layout_alignParentEnd="true" />

<Button

android:id="@+id/getBtn"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

(17)

android:text="Get Data"

android:layout_below="@+id/bulan_spinner"

android:layout_centerHorizontal="true" />

<TextView

android:id="@+id/result"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Result..."

android:textSize="17sp"

android:layout_below="@+id/getBtn"

android:layout_centerHorizontal="true"

android:layout_marginTop="27dp" />

</RelativeLayout> </ScrollView>

FILE activity_main.xml

CODE FOR ABOUT MAIN ACTIVITY

<?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="com.ste.sembakoapp.MainActivity"> <Button

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Price Monitoring"

android:id="@+id/menu1"

android:layout_marginTop="56dp"

android:layout_alignParentTop="true"

android:layout_centerHorizontal="true" />

<Button

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Detail Item"

android:id="@+id/menu2"

android:layout_marginTop="31dp"

android:layout_below="@+id/menu1"

android:layout_alignRight="@+id/menu1"

android:layout_alignEnd="@+id/menu1"

android:layout_alignLeft="@+id/menu1"

android:layout_alignStart="@+id/menu1" />

(18)

<Button

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="About"

android:id="@+id/menu3"

android:layout_centerVertical="true"

android:layout_alignLeft="@+id/menu2"

android:layout_alignStart="@+id/menu2"

android:layout_alignRight="@+id/menu2"

android:layout_alignEnd="@+id/menu2" />

</RelativeLayout>

(19)
(20)

Referensi

Dokumen terkait

Angka patokan nilai yang digunakan untuk menilai kemampuan Mandor tukang jahit, adalah adanya kemampuan menjahit, pasang risleting, buat lobang dan pasang

terikat permanen, dan aktiva bersih terikat temporer. Tetapi dalam laporan.. keuangan Rumah Sakit Ibnu Sina Padang yang dicantumkan hanya dua, yaitu aset. bersih tidak

Pada kasus ini terjadi perforasi tulang rawan septum 2/3 anterior sudah hancur sehingga tersisa 1/3 posterior dalam keadaan baik dan tidak tampak perforasi septum nasi.

Analisis peranan Word of mouth Marketing communication terhadap keputusan pembelian konsumen (studi pada Grand Kupie Ulee kareng dan Gayo Medan).. Pengaruh kualitas layanan,

 Maryani &amp; Ludigdo (2001) “Etika adalah Seperangkat aturan atau norma atau pedoman yang mengatur perilaku manusia, baik yang harus dilakukan maupun yang harus

Apabila kita melihat suatu gambar tampak atas dari suatu rencana atap, maka panjang jurai luar ataupun dalam belum merupakan suatu garis atau panjang yang sebenarnya disini

pendek dengan kandungan minyak tak jenuh tinggi, c) persilangan dura dan pisifera untuk meminimumkan gejala crown disease (CD), d) sistem seleksi untuk menghasilkan tanaman

Hasil uji reliabilitas dengan internal consitency alat ukur dalam mengidentifikasi potensi anak cerdas istimewa dan berbakat istimewa yang dilakukan pada uji terbatas