Aplikasi Pengenalan Flora dan Fauna pada Anak Usia Dini Berbasis Android

1

LAMPIRAN

Listing Program
MainActivity.java`
package com.example.win.api;
import
import
import
import
import
import
import

android.content.Intent;
android.os.Bundle;
android.os.CountDownTimer;
android.support.v7.app.AppCompatActivity;
android.view.View;
android.widget.Button;

android.widget.Toast;

public class MainActivity extends AppCompatActivity {
public static final String ROOT_URL =
"http://192.168.43.16/mahasiswa/";
private Button btn_flora;
private Button btn_fauna;
private Button btn_galeri;
private Button btn_tentang;
private Button btn_bantuan;
private boolean isUserClickBackButton= false;
//192.168.43.16
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn_flora =(Button)findViewById(R.id.btn_flora);
btn_fauna =(Button)findViewById(R.id.btn_fauna);
btn_galeri =(Button)findViewById(R.id.btn_galeri);
btn_tentang=(Button)findViewById(R.id.btn_tentang);

btn_flora.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new
Intent(MainActivity.this,Flora.class);
startActivity(intent);
}
});
btn_fauna.setOnClickListener(new View.OnClickListener() {
@Override

Universitas Sumatera Utara

2

public void onClick(View v) {
Intent intent = new
Intent(MainActivity.this,Fauna.class);
startActivity(intent);
}

});
btn_galeri.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new
Intent(MainActivity.this,Galeri.class);
startActivity(intent);
}
});
btn_tentang.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new
Intent(MainActivity.this,about_apk.class);
startActivity(intent);
}
});
btn_bantuan=(Button)findViewById(R.id.btn_bantuan);
btn_bantuan.setOnClickListener(new View.OnClickListener() {
@Override

public void onClick(View v) {
Intent intent = new
Intent(MainActivity.this,Bantuan.class);
startActivity(intent);
}
});
}
@Override
public void onBackPressed() {
if (!isUserClickBackButton) {
Toast.makeText(this,"Tekan sekali lagi untuk
keluar",Toast.LENGTH_LONG).show();
isUserClickBackButton=true;
}else {
super.onBackPressed();
}
new CountDownTimer(3000,1000) {

Universitas Sumatera Utara


3

@Override
public void onTick(long millisUntilFinished) {
}
@Override
public void onFinish() {
isUserClickBackButton=false;
}
}.start();
}
}

Splashscreen.java
package com.example.win.api;
import
import
import
import
import

import

android.app.Activity;
android.content.Intent;
android.os.Bundle;
android.os.Handler;
android.view.Window;
android.view.WindowManager;

public class SplashScreen extends Activity {
//Set waktu lama splashscreen
private static int splashInterval = 3000;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.splash_screen);
new Handler().postDelayed(new Runnable() {

@Override
public void run() {
// TODO Auto-generated method stub
Intent i = new Intent(SplashScreen.this, MainActivity.class);
startActivity(i);
//jeda selesai Splashscreen
this.finish();
}
private void finish() {
// TODO Auto-generated method stub

Universitas Sumatera Utara

4

}
}, splashInterval);
}
;
}


Flora.java
package com.example.win.api;
import
import
import
import
import
import
import
import
import
import
import
import
import

android.content.Intent;
android.graphics.Bitmap;
android.graphics.BitmapFactory;

android.os.Bundle;
android.support.v7.app.AppCompatActivity;
android.util.Log;
android.view.View;
android.widget.AdapterView;
android.widget.Button;
android.widget.ImageView;
android.widget.LinearLayout;
android.widget.ListView;
android.widget.TextView;

import com.example.win.api.API.ApiServiceFlora;
import com.example.win.api.Adapter.ListArrayAdapterFlora;
import com.example.win.api.Model.ModelDataFlora;
import java.util.ArrayList;
import java.util.List;
import
import
import
import

import

retrofit2.Call;
retrofit2.Callback;
retrofit2.Response;
retrofit2.Retrofit;
retrofit2.converter.gson.GsonConverterFactory;

public class Flora extends AppCompatActivity implements
AdapterView.OnItemClickListener {
ArrayListdataflora = new
ArrayList();
ListView listview;
ListArrayAdapterFlora adapter;
LinearLayout layout_loading;
TextView text_load;
ImageView icon_load;
private Button btn_flora_laut;
private Button btn_flora_darat;
@Override

protected void onCreate(Bundle savedInstanceState) {

Universitas Sumatera Utara

5

super.onCreate(savedInstanceState);
setContentView(R.layout.flora);
layout_loading = (LinearLayout) findViewById(R.id.layout_loading);
text_load = (TextView) findViewById(R.id.text_load);
icon_load = (ImageView) findViewById(R.id.icon_load);
listview = (ListView) findViewById(R.id.listMhsMhs);
listview.setOnItemClickListener(Flora.this);
listview.setDividerHeight(0);
setup();
btn_flora_darat = (Button)findViewById(R.id.btn_flora_darat);
btn_flora_laut = (Button)findViewById(R.id.btn_flora_laut);
btn_flora_laut.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new
Intent(Flora.this,Flora_laut.class);
startActivity(intent);
}
});
btn_flora_darat.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new
Intent(Flora.this,Flora_darat.class);
startActivity(intent);
}
});
}
public void setup() {
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(MainActivity.ROOT_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
ApiServiceFlora service =
retrofit.create(ApiServiceFlora.class);
Call call = service.getSemuaMhs();
call.enqueue(new Callback() {
@Override
public void onResponse(Call call,
Response response) {
if (response.isSuccessful()) {
int jumlah = response.body().size();
for (int i = 0; i < jumlah; i++) {

Universitas Sumatera Utara

6

ModelDataFlora data = new ModelDataFlora(
response.body().get(i).getIdFlora(),
response.body().get(i).getNamaFlora(),
response.body().get(i).getKeteranganFlora(),
response.body().get(i).getGambar());
dataflora.add(data);
Log.d("RESPON", "onResponse: " +
response.body().get(i).getIdFlora());
}
listview.setVisibility(View.VISIBLE);
adapter = new ListArrayAdapterFlora(Flora.this, R.layout.row_flora,
dataflora);
listview.setAdapter(adapter);
if (adapter.getCount() < 1 ) {
layout_loading.setVisibility(View.VISIBLE);
String error = "Daftar Flora Kosong";
text_load.setText(error);
Bitmap icon =
BitmapFactory.decodeResource(getResources(),
R.drawable.ic_data_kosong);
icon_load.setImageBitmap(icon);
} else {
layout_loading.setVisibility(View.GONE);
}
} else {
String error = "Error Retrive Data from Server
!!!";
text_load.setText(error);
Bitmap icon =
BitmapFactory.decodeResource(getResources(), R.drawable.ic_network);
icon_load.setImageBitmap(icon);
}
}
@Override
public void onFailure(Call call, Throwable t) {
String error = "Error Retrive Data from Server
wwaau!!!\n" + t.getMessage();
text_load.setText(error);
Bitmap icon =
BitmapFactory.decodeResource(getResources(), R.drawable.ic_network);
icon_load.setImageBitmap(icon);
}
});
}
@Override
public void onItemClick(AdapterView parent, View view, int
position, long id) {
Intent intent = new Intent(Flora.this, TampilFlora.class);

Universitas Sumatera Utara

7

intent.putExtra(ModelDataFlora.id_flra,dataflora.get(position).getIdF
lora());
startActivity(intent);
}
@Override
protected void onActivityResult(int requestCode, int resultCode,
Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1) {
adapter.clear();
setup();
}
}
}

Flora_darat.java
package com.example.win.api;
import
import
import
import
import
import
import
import
import
import
import
import
import

android.content.Intent;
android.graphics.Bitmap;
android.graphics.BitmapFactory;
android.os.Bundle;
android.support.v7.app.AppCompatActivity;
android.util.Log;
android.view.View;
android.widget.AdapterView;
android.widget.Button;
android.widget.ImageView;
android.widget.LinearLayout;
android.widget.ListView;
android.widget.TextView;

import com.example.win.api.API.ApiServiceFlora_darat;
import com.example.win.api.Adapter.ListArrayAdapterFlora;
import com.example.win.api.Model.ModelDataFlora;
import java.util.ArrayList;
import java.util.List;
import
import
import
import
import

retrofit2.Call;
retrofit2.Callback;
retrofit2.Response;
retrofit2.Retrofit;
retrofit2.converter.gson.GsonConverterFactory;

public class Flora_darat extends AppCompatActivity implements
AdapterView.OnItemClickListener {
ArrayListdataflora = new
ArrayList();
ListView listview;
ListArrayAdapterFlora adapter;

Universitas Sumatera Utara

8

LinearLayout layout_loading;
TextView text_load;
ImageView icon_load;
private Button btn_semua_flora;
private Button btn_flora_laut;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.flora);
layout_loading = (LinearLayout) findViewById(R.id.layout_loading);
text_load = (TextView) findViewById(R.id.text_load);
icon_load = (ImageView) findViewById(R.id.icon_load);
listview = (ListView) findViewById(R.id.listMhsMhs);
listview.setOnItemClickListener(Flora_darat.this);
listview.setDividerHeight(0);
setup();
btn_semua_flora = (Button)findViewById(R.id.btn_semua_flora);
btn_flora_laut = (Button)findViewById(R.id.btn_flora_laut);
btn_semua_flora.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new
Intent(Flora_darat.this,Flora.class);
startActivity(intent);
}
});
btn_flora_laut.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new
Intent(Flora_darat.this,Flora_laut.class);
startActivity(intent);
}
});
}
public void setup() {
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(MainActivity.ROOT_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
ApiServiceFlora_darat service =
retrofit.create(ApiServiceFlora_darat.class);
Call call = service.getSemuaMhs();
call.enqueue(new Callback() {

Universitas Sumatera Utara

9

@Override
public void onResponse(Call call,
Response response) {
if (response.isSuccessful()) {
int jumlah = response.body().size();
for (int i = 0; i < jumlah; i++) {
ModelDataFlora data = new ModelDataFlora(
response.body().get(i).getIdFlora(),
response.body().get(i).getNamaFlora(),
response.body().get(i).getKeteranganFlora(),
response.body().get(i).getGambar());
dataflora.add(data);
Log.d("RESPON", "onResponse: " +
response.body().get(i).getIdFlora());
}
listview.setVisibility(View.VISIBLE);
adapter = new ListArrayAdapterFlora(Flora_darat.this,
R.layout.row_flora, dataflora);
listview.setAdapter(adapter);
if (adapter.getCount() < 1 ) {
layout_loading.setVisibility(View.VISIBLE);
String error = "Daftar Flora Kosong";
text_load.setText(error);
Bitmap icon =
BitmapFactory.decodeResource(getResources(),
R.drawable.ic_data_kosong);
icon_load.setImageBitmap(icon);
} else {
layout_loading.setVisibility(View.GONE);
}
} else {
String error = "Error Retrive Data from Server
!!!";
text_load.setText(error);
Bitmap icon =
BitmapFactory.decodeResource(getResources(), R.drawable.ic_network);
icon_load.setImageBitmap(icon);
}
}
@Override
public void onFailure(Call call, Throwable t) {
String error = "Error Retrive Data from Server
wwaau!!!\n" + t.getMessage();
text_load.setText(error);
Bitmap icon =
BitmapFactory.decodeResource(getResources(), R.drawable.ic_network);
icon_load.setImageBitmap(icon);
}
});

Universitas Sumatera Utara

10

}
@Override
public void onItemClick(AdapterView parent, View view, int
position, long id) {
Intent intent = new Intent(Flora_darat.this,
TampilFlora.class);
intent.putExtra(ModelDataFlora.id_flra,dataflora.get(position).getIdF
lora());
startActivity(intent);
}
@Override
protected void onActivityResult(int requestCode, int resultCode,
Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1) {
adapter.clear();
setup();
}
}
}

Flora_laut.java
package com.example.win.api;
import
import
import
import
import
import
import
import
import
import
import
import
import

android.content.Intent;
android.graphics.Bitmap;
android.graphics.BitmapFactory;
android.os.Bundle;
android.support.v7.app.AppCompatActivity;
android.util.Log;
android.view.View;
android.widget.AdapterView;
android.widget.Button;
android.widget.ImageView;
android.widget.LinearLayout;
android.widget.ListView;
android.widget.TextView;

import com.example.win.api.API.ApiServiceFlora_laut;
import com.example.win.api.Adapter.ListArrayAdapterFlora;
import com.example.win.api.Model.ModelDataFlora;
import java.util.ArrayList;
import java.util.List;
import
import
import
import
import

retrofit2.Call;
retrofit2.Callback;
retrofit2.Response;
retrofit2.Retrofit;
retrofit2.converter.gson.GsonConverterFactory;

public class Flora_lautextends AppCompatActivity implements
AdapterView.OnItemClickListener {

Universitas Sumatera Utara

11

ArrayListdataflora = new
ArrayList();
ListView listview;
ListArrayAdapterFlora adapter;
LinearLayout layout_loading;
TextView text_load;
ImageView icon_load;
private Button btn_semua_flora;
private Button btn_flora_darat;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.flora);
layout_loading = (LinearLayout) findViewById(R.id.layout_loading);
text_load = (TextView) findViewById(R.id.text_load);
icon_load = (ImageView) findViewById(R.id.icon_load);
listview = (ListView) findViewById(R.id.listMhsMhs);
listview.setOnItemClickListener(Flora_laut.this);
listview.setDividerHeight(0);
setup();
btn_flora_darat = (Button)findViewById(R.id.btn_flora_darat);
btn_semua_flora = (Button)findViewById(R.id.btn_semua_flora);
btn_flora_darat.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new
Intent(Flora_laut.this,Flora_darat.class);
startActivity(intent);
}
});
btn_semua_flora.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new
Intent(Flora_laut.this,Flora.class);
startActivity(intent);
}
});
}
public void setup() {
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(MainActivity.ROOT_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();

Universitas Sumatera Utara

12

ApiServiceFlora_laut service =
retrofit.create(ApiServiceFlora_laut.class);
Call call = service.getSemuaMhs();
call.enqueue(new Callback() {
@Override
public void onResponse(Call call,
Response response) {
if (response.isSuccessful()) {
int jumlah = response.body().size();
for (int i = 0; i < jumlah; i++) {
ModelDataFlora data = new ModelDataFlora(
response.body().get(i).getIdFlora(),
response.body().get(i).getNamaFlora(),
response.body().get(i).getKeteranganFlora(),
response.body().get(i).getGambar());
dataflora.add(data);
Log.d("RESPON", "onResponse: " +
response.body().get(i).getIdFlora());
}
listview.setVisibility(View.VISIBLE);
adapter = new ListArrayAdapterFlora(Flora_laut.this,
R.layout.row_flora, dataflora);
listview.setAdapter(adapter);
if (adapter.getCount() < 1 ) {
layout_loading.setVisibility(View.VISIBLE);
String error = "Daftar Flora Kosong";
text_load.setText(error);
Bitmap icon =
BitmapFactory.decodeResource(getResources(),
R.drawable.ic_data_kosong);
icon_load.setImageBitmap(icon);
} else {
layout_loading.setVisibility(View.GONE);
}
} else {
String error = "Error Retrive Data from Server
!!!";
text_load.setText(error);
Bitmap icon =
BitmapFactory.decodeResource(getResources(), R.drawable.ic_network);
icon_load.setImageBitmap(icon);
}
}
@Override
public void onFailure(Call call, Throwable t) {
String error = "Error Retrive Data from Server

Universitas Sumatera Utara

13

wwaau!!!\n" + t.getMessage();
text_load.setText(error);
Bitmap icon =
BitmapFactory.decodeResource(getResources(), R.drawable.ic_network);
icon_load.setImageBitmap(icon);
}
});
}
@Override
public void onItemClick(AdapterView parent, View view, int
position, long id) {
Intent intent = new Intent(Flora_laut.this,
TampilFlora.class);
intent.putExtra(ModelDataFlora.id_flra,dataflora.get(position).getIdF
lora());
startActivity(intent);
}
@Override
protected void onActivityResult(int requestCode, int resultCode,
Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1) {
adapter.clear();
setup();
}
}
}

ModelDataFlora.java
package com.example.win.api.Model;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class ModelDataFlora {
@SerializedName("id_flora")
@Expose
private String idFlora;
@SerializedName("nama_flora")
@Expose
private String namaFlora;
@SerializedName("keterangan_flora")
@Expose
private String keteranganFlora;

Universitas Sumatera Utara

14

@SerializedName("gambar_flora")
@Expose
private String gambar;
public static final String id_flra = "ID_FLORA";
public static final String nama_flra = "ID_FLORA";
public static final String jenis_flra = "ID_FLORA";
public ModelDataFlora(String id, String namaFlora, String
keteranganFlora) {
this.idFlora = id;
this.namaFlora = namaFlora;
this.keteranganFlora = keteranganFlora;
}
public ModelDataFlora(String idFlora, String namaFlora, String
keteranganFlora, String gambar) {
this.idFlora = idFlora;
this.namaFlora = namaFlora;
this.keteranganFlora = keteranganFlora;
this.gambar = gambar;
}
/**
*
* @return
*
The idFlora
*/
public String getIdFlora() {
return idFlora;
}
/**
*
* @param idFlora
*
The idFlora
*/
public void setIdFlora(String idFlora) {
this.idFlora = idFlora;
}
/**
*
* @return
*
The nama
*/
public String getNamaFlora() {
return namaFlora;
}
/**
*
* @param nama_flora
*
The Nama
*/
public void setNamaFlora(String nama_flora) {
this.namaFlora = nama_flora;
}

Universitas Sumatera Utara

15

/**
*
* @return
*
The jenis
*/
public String getKeteranganFlora() {
return keteranganFlora;
}
/**
*
* @param keteranganFlora
*
The Jenis
*/
public void setKeteranganFlora(String keteranganFlora) {
this.keteranganFlora = keteranganFlora;
}
public String getGambar() {
return gambar;
}
public void setGambar(String gambar) {
this.gambar = gambar;
}
}

ApiServiceFlora.java
package com.example.win.api.API;
import com.example.win.api.Model.ModelDataFlora;
import java.util.List;
import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.Query;
public interface ApiServiceFlora {
@GET("lihat_data_flora.php")
Call getSemuaMhs();
@GET("detail_flora.php")
Call getSingleData(@Query("id_flora")
String id);

ApiServiceFlora_darat.java
package com.example.win.api.API;
import com.example.win.api.Model.ModelDataFlora;
import java.util.List;

Universitas Sumatera Utara

16

import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.Query;
public interface ApiServiceFlora_darat {
@GET("lihat_data_flora_darat.php")
Call getSemuaMhs();
@GET("detail_flora_darat.php")
Call getSingleData(@Query("id_flora")
String id);
}

ApiServiceFlora_laut.java
package com.example.win.api.API;
import com.example.win.api.Model.ModelDataFlora;
import java.util.List;
import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.Query;
public interface ApiServiceFlora_laut {
@GET("lihat_data_flora_laut.php")
Call getSemuaMhs();
@GET("detail_flora_laut.php")
Call getSingleData(@Query("id_flora")
String id);
}

ListArrayAdapterFlora.java
package com.example.win.api.Adapter;
import
import
import
import
import
import
import

android.content.Context;
android.support.annotation.NonNull;
android.view.LayoutInflater;
android.view.View;
android.view.ViewGroup;
android.widget.ArrayAdapter;
android.widget.ImageView;

Universitas Sumatera Utara

17

import android.widget.TextView;
import
import
import
import

com.bumptech.glide.Glide;
com.bumptech.glide.load.engine.DiskCacheStrategy;
com.example.win.api.Model.ModelDataFlora;
com.example.win.api.R;

import java.util.ArrayList;
/**
* Created by JhonDev on 07/10/2016.
*/
public class ListArrayAdapterFlora extends
ArrayAdapter {
private
private
private
private

ArrayListlist;
LayoutInflater inflater;
int res;
Context c;

public ListArrayAdapterFlora(Context context, int resource,
ArrayList list) {
super(context, resource, list);
this.c=context;
this.list = list;
this.inflater = (LayoutInflater)
context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
this.res = resource;
}
@NonNull
@Override
public View getView(int position, View convertView, @NonNull
ViewGroup parent) {
MyHolder holder = null;
if (convertView == null) {
convertView = inflater.inflate(res, parent, false);
holder = new MyHolder();
holder.ID = (TextView)
convertView.findViewById(R.id.listID);
holder.Nama = (TextView)
convertView.findViewById(R.id.listNamaFlora);
holder.Jenis = (TextView)
convertView.findViewById(R.id.listKeteranganFlora);
holder.Gambar = (ImageView)
convertView.findViewById(R.id.imgExample);
convertView.setTag(holder);
} else {
holder = (MyHolder) convertView.getTag();
}

Universitas Sumatera Utara

18

holder.ID.setText("Id Flora :
"+list.get(position).getIdFlora());
holder.Nama.setText(" "+list.get(position).getNamaFlora());
holder.Jenis.setText("Keterangan Flora :
"+list.get(position).getKeteranganFlora());
Glide.with(c).load("http://192.168.43.16/mahasiswa/img/"+list.get(pos
ition).getGambar())
.thumbnail(0.5f)
.crossFade()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(holder.Gambar);
return convertView;
}
@Override
public int getCount() {
return list.size();
}
@Override
public void remove(ModelDataFlora object) {
super.remove(object);
}
@Override
public void clear() {
super.clear();
}
@Override
public void notifyDataSetChanged() {
super.notifyDataSetChanged();
}
static class MyHolder {
TextView ID;
TextView Nama;
TextView Jenis;
ImageView Gambar;
}
}

Tampil_Flora.java
package com.example.win.api;
import
import
import
import
import
import
import

android.net.Uri;
android.os.Bundle;
android.support.v7.app.AppCompatActivity;
android.view.View;
android.widget.Button;
android.widget.ImageView;
android.widget.TextView;

Universitas Sumatera Utara

19

import
import
import
import
import
import
import
import
import

com.bumptech.glide.Glide;
com.bumptech.glide.load.engine.DiskCacheStrategy;
com.example.win.api.API.ApiServiceFlora;
com.example.win.api.API.ApiServiceGaleri;
com.example.win.api.Model.ModelDataFlora;
com.example.win.api.Model.ModelDataGaleri;
com.google.android.gms.appindexing.Action;
com.google.android.gms.appindexing.AppIndex;
com.google.android.gms.common.api.GoogleApiClient;

import java.util.List;
import
import
import
import
import

retrofit2.Call;
retrofit2.Callback;
retrofit2.Response;
retrofit2.Retrofit;
retrofit2.converter.gson.GsonConverterFactory;

public class TampilFlora extends AppCompatActivity {
String ID_FLORA;
TextView et_id, et_nama, et_keterangan;
ImageView et_gambar;
private GoogleApiClient client;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detail_flora);
ID_FLORA = getIntent().getStringExtra(ModelDataFlora.id_flra);
et_id = (TextView) findViewById(R.id.tampil_id);
et_nama = (TextView) findViewById(R.id.tampil_nama);
et_keterangan = (TextView) findViewById(R.id.tampil_keterangan);
et_gambar = (ImageView) findViewById(R.id.tampil_gambar);
bindData();
// ATTENTION: This was auto-generated to implement the App Indexing
API.
// See https://g.co/AppIndexing/AndroidStudio for more
information.
client = new
GoogleApiClient.Builder(this).addApi(AppIndex.API).build();
Button btn_next = (Button )findViewById(R.id.btn_next);
Button btn_prev = (Button )findViewById(R.id.btn_prev);
btn_next.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
btn_prev.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

Universitas Sumatera Utara

20

}
});
}
public void bindData() {
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(MainActivity.ROOT_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
ApiServiceFlora service =
retrofit.create(ApiServiceFlora.class);
Call call =
service.getSingleData(ID_FLORA);
call.enqueue(new Callback() {
@Override
public void onResponse(Call call, final
Response response) {
if (response.isSuccessful()) {
try {
int jumlah = response.body().size();
for (int i = 0; i < jumlah; i++) {
final int finalI = i;
runOnUiThread(new Runnable() {
@Override
public void run() {
et_id.setText(response.body().get(finalI).getIdFlora());
et_nama.setText(response.body().get(finalI).getNamaFlora());
et_keterangan.setText(response.body().get(finalI).getKeteranganFlora(
));
Glide.with(TampilFlora.this).load
("http://192.168.43.16/mahasiswa/img/"+response.body().get(finalI).ge
tGambar())
.thumbnail(0.5f)
.crossFade()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(et_gambar);

}
});
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
@Override

Universitas Sumatera Utara

21

public void onFailure(Call call, Throwable t) {
}
});
}
@Override
public void onStart() {
super.onStart();
client.connect();
Action viewAction = Action.newAction(
Action.TYPE_VIEW, // TODO: choose an action type.
"TampilFlora Page", // TODO: Define a title for the content shown.
// TODO: If you have web page content that matches this app
activity's content,
// make sure this auto-generated web page URL is correct.
// Otherwise, set the URL to null.
Uri.parse("http://host/path"),
// TODO: Make sure this auto-generated app URL is correct.
Uri.parse("android-app://com.example.win.api/http/host/path")
);
AppIndex.AppIndexApi.start(client, viewAction);
}
@Override
public void onStop() {
super.onStop();
Action viewAction = Action.newAction(
Action.TYPE_VIEW, // TODO: choose an action type.
"TampilFlora Page", // TODO: Define a title for the content shown.
// TODO: If you have web page content that matches
Uri.parse("android-app://com.example.win.api/http/host/path")
);
AppIndex.AppIndexApi.end(client, viewAction);
client.disconnect();
}
public static class TampilGaleri extends AppCompatActivity {
String ID_MAHASISWA;
TextView et_id, et_nama, et_kelas;
ImageView et_gambar1,et_gambar2,et_gambar3,et_gambar4;
private GoogleApiClient client;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detail_galeri);
ID_MAHASISWA = getIntent().getStringExtra(ModelDataGaleri.idgaleri);
et_id = (TextView) findViewById(R.id.tampil_id);
et_nama = (TextView) findViewById(R.id.tampil_nama);
et_kelas = (TextView) findViewById(R.id.tampil_kelas);

Universitas Sumatera Utara

22

et_gambar1
et_gambar2
et_gambar3
et_gambar4

=
=
=
=

(ImageView)
(ImageView)
(ImageView)
(ImageView)

findViewById(R.id.tampil_gambar1);
findViewById(R.id.tampil_gambar2);
findViewById(R.id.tampil_gambar3);
findViewById(R.id.tampil_gambar4);

bindData();
client = new
GoogleApiClient.Builder(this).addApi(AppIndex.API).build();
}
public void bindData() {
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(MainActivity.ROOT_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
ApiServiceGaleri service =
retrofit.create(ApiServiceGaleri.class);
Call call =
service.getSingleData(ID_MAHASISWA);
call.enqueue(new Callback() {
@Override
public void onResponse(Call call, final
Response response) {
if (response.isSuccessful()) {
try {
int jumlah = response.body().size();
for (int i = 0; i < jumlah; i++) {
final int finalI = i;
runOnUiThread(new Runnable() {
@Override
public void run() {
et_id.setText(response.body().get(finalI).getId_galeri());
et_nama.setText(response.body().get(finalI).getNama_galeri());
et_kelas.setText(response.body().get(finalI).getKelas_galeri());
Glide.with(TampilGaleri.this).load
("http://192.168.43.16/mahasiswa/img/"+response.body().get(finalI).ge
tGambar_galeri1())
.thumbnail(0.5f)
.crossFade()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(et_gambar1);
Glide.with(TampilGaleri.this).load
("http://192.168.43.16/mahasiswa/img/"+response.body().get(finalI).ge
tGambar_galeri2())
.thumbnail(0.5f)
.crossFade()
.diskCacheStrategy(DiskCacheStrategy.ALL)

Universitas Sumatera Utara

23

.into(et_gambar2);
Glide.with(TampilGaleri.this).load
("http://192.168.43.16/mahasiswa/img/"+response.body().get(finalI).ge
tGambar_galeri3())
.thumbnail(0.5f)
.crossFade()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(et_gambar3);
Glide.with(TampilGaleri.this).load
("http://192.168.43.16/mahasiswa/img/"+response.body().get(finalI).ge
tGambar_galeri4())
.thumbnail(0.5f)
.crossFade()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(et_gambar4);

}
});
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
@Override
public void onFailure(Call call, Throwable t)
{
}
});
}
@Override
public void onStart() {
super.onStart();
// ATTENTION: This was auto-generated to implement the App Indexing
API.
// See https://g.co/AppIndexing/AndroidStudio for more
information.
client.connect();
Action viewAction = Action.newAction(
Action.TYPE_VIEW, // TODO: choose an action type.
"TampilGaleri Page", // TODO: Define a title for the content shown.
// TODO: If you have web page content that matches this app
activity's content,

Universitas Sumatera Utara

24

// make sure this auto-generated web page URL is correct.
// Otherwise, set the URL to null.
Uri.parse("http://host/path"),
// TODO: Make sure this auto-generated app URL is correct.
Uri.parse("android-app://com.example.win.api/http/host/path")
);
AppIndex.AppIndexApi.start(client, viewAction);
}
@Override
public void onStop() {
super.onStop();
// ATTENTION: This was auto-generated to implement the App Indexing
API.
// See https://g.co/AppIndexing/AndroidStudio for more
information.
Action viewAction = Action.newAction(
Action.TYPE_VIEW, // TODO: choose an action type.
"TampilGaleri Page", // TODO: Define a title for the content shown.
// TODO: If you have web page content that matches this app
activity's content,
// make sure this auto-generated web page URL is correct.
// Otherwise, set the URL to null.
Uri.parse("http://host/path"),
// TODO: Make sure this auto-generated app URL is correct.
Uri.parse("android-app://com.example.win.api/http/host/path")
);
AppIndex.AppIndexApi.end(client, viewAction);
client.disconnect();
}
}
}

Fauna.java
package com.example.win.api;
import
import
import
import
import
import
import
import
import
import
import
import
import

android.content.Intent;
android.graphics.Bitmap;
android.graphics.BitmapFactory;
android.os.Bundle;
android.support.v7.app.AppCompatActivity;
android.util.Log;
android.view.View;
android.widget.AdapterView;
android.widget.Button;
android.widget.ImageView;
android.widget.LinearLayout;
android.widget.ListView;
android.widget.TextView;

import com.example.win.api.API.ApiServiceFauna;
import com.example.win.api.Adapter.ListArrayAdapterFauna;
import com.example.win.api.Model.ModelDataFauna;
import java.util.ArrayList;
import java.util.List;

Universitas Sumatera Utara

25

import
import
import
import
import

retrofit2.Call;
retrofit2.Callback;
retrofit2.Response;
retrofit2.Retrofit;
retrofit2.converter.gson.GsonConverterFactory;

public class Fauna extends AppCompatActivity implements
AdapterView.OnItemClickListener {
ArrayListdatafauna = new
ArrayList();
ListView listview;
ListArrayAdapterFauna adapter;
LinearLayout layout_loading;
TextView text_load;
ImageView icon_load;
private Button btn_fauna_darat;
private Button btn_fauna_laut;
private Button btn_fauna_udara;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fauna);
layout_loading = (LinearLayout) findViewById(R.id.layout_loading);
text_load = (TextView) findViewById(R.id.text_load);
icon_load = (ImageView) findViewById(R.id.icon_load);
listview = (ListView) findViewById(R.id.listMhsMhs);
listview.setOnItemClickListener(Fauna.this);
listview.setDividerHeight(0);
setup();
btn_fauna_darat = (Button)findViewById(R.id.btn_fauna_darat);
btn_fauna_laut = (Button)findViewById(R.id.btn_fauna_laut);
btn_fauna_udara = (Button)findViewById(R.id.btn_fauna_udara);
btn_fauna_darat.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new
Intent(Fauna.this,Fauna_darat.class);
startActivity(intent);
}
});
btn_fauna_udara.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new
Intent(Fauna.this,Fauna_udara.class);
startActivity(intent);

Universitas Sumatera Utara

26

}
});
btn_fauna_laut.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new
Intent(Fauna.this,Fauna_laut.class);
startActivity(intent);
}
});

}
public void setup() {
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(MainActivity.ROOT_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
ApiServiceFauna service =
retrofit.create(ApiServiceFauna.class);
Call call = service.getSemuaMhs();
call.enqueue(new Callback() {
@Override
public void onResponse(Call call,
Response response) {
if (response.isSuccessful()) {
int jumlah = response.body().size();
for (int i = 0; i < jumlah; i++) {
ModelDataFauna data = new ModelDataFauna(
response.body().get(i).getIdFauna(),
response.body().get(i).getNamaFauna(),
response.body().get(i).getKeteranganFauna(),
response.body().get(i).getGambar());
datafauna.add(data);
Log.d("RESPON", "onResponse: " +
response.body().get(i).getIdFauna());
}
listview.setVisibility(View.VISIBLE);
adapter = new ListArrayAdapterFauna(Fauna.this, R.layout.row_fauna,
datafauna);
listview.setAdapter(adapter);

Universitas Sumatera Utara

27

if (adapter.getCount() < 1 ) {
layout_loading.setVisibility(View.VISIBLE);
String error = "Daftar Fauna Kosong";
text_load.setText(error);
Bitmap icon =
BitmapFactory.decodeResource(getResources(),
R.drawable.ic_data_kosong);
icon_load.setImageBitmap(icon);
} else {
layout_loading.setVisibility(View.GONE);
}
} else {
String error = "Error Retrive Data from Server
!!!";
text_load.setText(error);
Bitmap icon =
BitmapFactory.decodeResource(getResources(), R.drawable.ic_network);
icon_load.setImageBitmap(icon);
}
}
@Override
public void onFailure(Call call, Throwable t) {
String error = "Error Retrive Data from Server
wwaau!!!\n" + t.getMessage();
text_load.setText(error);
Bitmap icon =
BitmapFactory.decodeResource(getResources(), R.drawable.ic_network);
icon_load.setImageBitmap(icon);
}
});
}
@Override
public void onItemClick(AdapterView parent, View view, int
position, long id) {
Intent intent = new Intent(Fauna.this, TampilFauna.class);
intent.putExtra(ModelDataFauna.id_faunaa,datafauna.get(position).getI
dFauna());
startActivity(intent);
}
@Override
protected void onActivityResult(int requestCode, int resultCode,
Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1) {
adapter.clear();
setup();
}
}
}

Universitas Sumatera Utara

28

Tampil_fauna.java
package com.ahmadfauzi.doktergizi;
package com.example.win.api;
import
import
import
import
import
import
import
import

android.net.Uri;
android.os.Bundle;
android.support.v7.app.AppCompatActivity;
android.util.Log;
android.view.View;
android.widget.Button;
android.widget.ImageView;
android.widget.TextView;

import
import
import
import
import
import
import

com.bumptech.glide.Glide;
com.bumptech.glide.load.engine.DiskCacheStrategy;
com.example.win.api.API.ApiServiceFauna;
com.example.win.api.Model.ModelDataFauna;
com.google.android.gms.appindexing.Action;
com.google.android.gms.appindexing.AppIndex;
com.google.android.gms.common.api.GoogleApiClient;

import java.util.List;
import
import
import
import
import

retrofit2.Call;
retrofit2.Callback;
retrofit2.Response;
retrofit2.Retrofit;
retrofit2.converter.gson.GsonConverterFactory;

public class TampilFauna extends AppCompatActivity {
String ID_FAUNA;
TextView et_id, et_nama, et_keterangan;
ImageView et_gambar;
/**
* ATTENTION: This was auto-generated to implement the App
Indexing API.
* See https://g.co/AppIndexing/AndroidStudio for more
information.
*/
private GoogleApiClient client;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detail_fauna);
ID_FAUNA= getIntent().getStringExtra(ModelDataFauna.id_faunaa);
et_id = (TextView) findViewById(R.id.tampil_id);
et_nama = (TextView) findViewById(R.id.tampil_nama);
et_keterangan = (TextView) findViewById(R.id.tampil_keterangan);
et_gambar = (ImageView) findViewById(R.id.tampil_gambar);
bindData();

Universitas Sumatera Utara

29

// ATTENTION: This was auto-generated to implement the App Indexing
API.
// See https://g.co/AppIndexing/AndroidStudio for more
information.
client = new
GoogleApiClient.Builder(this).addApi(AppIndex.API).build();
Button btn_next = (Button )findViewById(R.id.btn_next);
Button btn_prev = (Button )findViewById(R.id.btn_prev);
btn_next.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(MainActivity.ROOT_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
int a=Integer.parseInt(ID_FAUNA);
ApiServiceFauna service =
retrofit.create(ApiServiceFauna.class);
Call call =
service.getSingleData(ID_FAUNA);
Log.e("IDFAUNA",""+ a+1);
call.enqueue(new Callback()
{
@Override
public void onResponse(Call call, final
Response response) {
if (response.isSuccessful()) {
try {
int jumlah = response.body().size();
for (int i = 0;i < jumlah; i++) {
final int finalI = i;
runOnUiThread(new Runnable() {
@Override
public void run() {
et_id.setText(response.body().get(finalI).getIdFauna());
et_nama.setText(response.body().get(finalI).getNamaFauna());
et_keterangan.setText(response.body().get(finalI).getKeteranganFauna(
));
Glide.with(TampilFauna.this).load ("http://192.168.43.16
/mahasiswa/img/"+response.body().get(finalI).getGambar())
.thumbnail(0.5f)
.crossFade()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(et_gambar);

Universitas Sumatera Utara

30

}
});
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
@Override
public void onFailure(Call call, Throwable t) {
}
});
}
});
btn_prev.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(MainActivity.ROOT_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
ApiServiceFauna service =
retrofit.create(ApiServiceFauna.class);
Call call =
service.getSingleData(ID_FAUNA);
call.enqueue(new Callback() {
@Override
public void onResponse(Call call, final
Response response) {
if (response.isSuccessful()) {
try {
int jumlah = response.body().size();
for (int i = 0; i < jumlah; i++) {
final int finalI = i;
runOnUiThread(new Runnable() {
@Override
public void run() {
et_id.setText(response.body().get(finalI).getIdFauna());
et_nama.setText(response.body().get(finalI).getNamaFauna());
et_keterangan.setText(response.body().get(finalI).getKeteranganFauna(

Universitas Sumatera Utara

31

));
Glide.with(TampilFauna.this).load
("http://192.168.43.217/mahasiswa/img/"+response.body().get(finalI).g
etGambar())
.thumbnail(0.5f)
.crossFade()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(et_gambar);

}
});
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
@Override
public void onFailure(Call call, Throwable t) {
}
});
}
});
}
public void bindData() {
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(MainActivity.ROOT_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
ApiServiceFauna service =
retrofit.create(ApiServiceFauna.class);
Call call =
service.getSingleData(ID_FAUNA);
call.enqueue(new Callback() {
@Override
public void onResponse(Call call, final
Response response) {
if (response.isSuccessful()) {
try {
int jumlah = response.body().size();
for (int i = 0; i < jumlah; i++) {
final int finalI = i;
runOnUiThread(new Runnable() {
@Override

Universitas Sumatera Utara

32

public void run() {
et_id.setText(response.body().get(finalI).getIdFauna());
et_nama.setText(response.body().get(finalI).getNamaFauna());
et_keterangan.setText(response.body().get(finalI).getKeteranganFauna(
));
Glide.with(TampilFauna.this).load
("http://192.168.43.16/mahasiswa/img/"+response.body().get(finalI).ge
tGambar())
.thumbnail(0.5f)
.crossFade()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(et_gambar);

}
});
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
@Override
public void onFailure(Call call, Throwable t) {
}
});
}
@Override
public void onStart() {
super.onStart();
// ATTENTION: This was auto-generated to implement the App Indexing
API.
// See https://g.co/AppIndexing/AndroidStudio for more
information.
client.connect();
Action viewAction = Action.newAction(
Action.TYPE_VIEW, // TODO: choose an action type.
"TampilFauna Page", // TODO: Define a title for the content shown.
// TODO: If you have web page content that matches
this app activity's content,
// make sure this auto-generated web page URL is
correct.
// Otherwise, set the URL to null.
Uri.parse("http://host/path"),
// TODO: Make sure this auto-generated app URL is correct.
Uri.parse("android-app://com.example.win.api/http/host/path")

Universitas Sumatera Utara

33

);
AppIndex.AppIndexApi.start(client, viewAction);
}
@Override
public void onStop() {
super.onStop();
// ATTENTION: This was auto-generated to implement the App Indexing
API.
// See https://g.co/AppIndexing/AndroidStudio for more
information.
Action viewAction = Action.newAction(
Action.TYPE_VIEW, // TODO: choose an action type.
"TampilFauna Page", // TODO: Define a title for the content shown.
// TODO: If you have web page content that matches
this app activity's content,
// make sure this auto-generated web page URL is
correct.
// Otherwise, set the URL to null.
Uri.parse("http://host/path"),
// TODO: Make sure this auto-generated app URL is correct.
Uri.parse("android-app://com.example.win.api/http/host/path")
);
AppIndex.AppIndexApi.end(client, viewAction);
client.disconnect();
}

}

ModelDataFauna.java
package com.example.win.api.Model;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class ModelDataFauna {
@SerializedName("id_fauna")
@Expose
private String idFauna;
@SerializedName("nama_fauna")
@Expose
private String namaFauna;
@SerializedName("keterangan_fauna")
@Expose
private String keteranganFauna;
@SerializedName("gambar_fauna")
@Expose
private String gambar;
public static final String id_faunaa = "ID_FAUNA";

Universitas Sumatera Utara

34

public static final String nama_faunaa = "ID_FAUNA";
public static final String jenis_faunaa = "ID_FAUNA";
public ModelDataFauna(String id, String namaFanua, String
keteranganFauna) {
this.idFauna = id;
this.namaFauna = namaFauna;
this.keteranganFauna = keteranganFauna;
}
public ModelDataFauna(String idFauna, String namaFauna, String
keteranganFauna, String gambar) {
this.idFauna = idFauna;
this.namaFauna = namaFauna;
this.keteranganFauna = keteranganFauna;
this.gambar = gambar;
}
/**
*
* @return
*
The idFauna
*/
public String getIdFauna() {
return idFauna;
}
/**
*
* @param idFauna
*
The idFauna
*/
public void setIdFauna(String idFauna) {
this.idFauna = idFauna;
}
/**
*
* @return
*
The nama
*/
public String getNamaFauna() {
return namaFauna;
}
/**
*
* @param nama_fauna
*
The Nama
*/
public void setNamaFauna(String nama_fauna) {
this.namaFauna = nama_fauna;
}
/**
*

*
* @return
The jenis
*/

Universitas Sumatera Utara

35

public String getKeteranganFauna() {
return keteranganFauna;
}
/**
*
* @param keteranganFauna
*
The Jenis
*/
public void setKeteranganFauna(String keteranganFauna) {
this.keteranganFauna = keteranganFauna;
}
public String getGambar() {
return gambar;
}
public void setGambar(String gambar) {
this.gambar = gambar;
}
}

ApiServiceFauna.java
package com.example.win.api.API;
import com.example.win.api.Model.ModelDataFauna;
import java.util.List;
import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.Query;
public interface ApiServiceFauna {
@GET("lihat_data_fauna.php")
Call getSemuaMhs();
@GET("detail_fauna.php")
Call getSingleData(@Query("id_fauna")
String id);
}

ApiServiceFauna_darat.java
package com.example.win.api.API;
import com.example.win.api.Model.ModelDataFauna;
import java.util.List;

Universitas Sumatera Utara

36

import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.Query;
public interface ApiServiceFauna_darat {
@GET("lihat_data_fauna_darat.php")
Call getSemuaMhs();
@GET("detail_fauna_darat.php")
Call getSingleData(@Query("id_fauna")
String id);
}

ApiServiceFauna_laut.java
package com.example.win.api.API;
import com.example.win.api.Model.ModelDataFauna;
import java.util.List;
import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.Query;
public interface ApiServiceFauna_laut {
@GET("lihat_data_fauna_laut.php")
Call getSemuaMhs();
@GET("detail_fauna_laut.php")
Call getSingleData(@Query("id_fauna")
String id);
}

ApiServiceFauna_udara.java
package com.example.win.api.API;
import com.example.win.api.Model.ModelDataFauna;
import java.util.List;
import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.Query;

Universitas Sumatera Utara

37

public interface ApiServiceFauna_udara {
@GET("lihat_data_fauna_udara.php")
Call getSemuaMhs();
@GET("detail_fauna_udara.php")
Call getSingleData(@Query("id_fauna")
String id);
}

ListArrayAdapterFauna.java
package com.example.win.api.Adapter;
import
import
import
import
import
import
import
import

android.content.Context;
android.support.annotation.NonNull;
android.view.LayoutInflater;
android.view.View;
android.view.ViewGroup;
android.widget.ArrayAdapter;
android.widget.ImageView;
android.widget.TextView;

import
import
import
import

com.bumptech.glide.Glide;
com.bumptech.glide.load.engine.DiskCacheStrategy;
com.example.win.api.Model.ModelDataFauna;
com.example.win.api.R;

import java.util.ArrayList;
/**
* Created by JhonDev on 07/10/2016.
*/
public class ListArrayAdapterFauna extends
ArrayAdapter {
private
private
private
private

ArrayListlist;
LayoutInflater inflater;
int res;
Context c;

public ListArrayAdapterFauna(Context context, int resource,
ArrayList list) {
super(context, resource, list);
this.c=context;
this.list = list;
this.inflater = (LayoutInflater)
context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
this.res = resource;
}
@NonNull
@Override
public View getView(int position, View convertView, @NonNull

Universitas Sumatera Utara

38

ViewGroup parent) {
MyHolder holder = null;
if (convertView == null) {
convertView = inflater.inflate(res, parent, false);
holder = new MyHolder();
holder.ID = (TextView)
convertView.findViewById(R.id.listID);
holder.Nama = (TextView)
convertView.findViewById(R.id.listNamaFauna);
holder.Jenis = (TextView)
convertView.findViewById(R.id.listKeteranganFauna);
holder.Gambar = (ImageView)
convertView.findViewById(R.id.imgExample);
convertView.setTag(holder);
} else {
holder = (MyHolder) convertView.getTag();
}
holder.ID.setText("Id Fauna :
"+list.get(position).getIdFauna());
holder.Nama.setText(" "+list.get(position).getNamaFauna());
holder.Jenis.setText("Keterangan Fauna :
"+list.get(position).getKeteranganFauna());
Glide.with(c).load("http://192.168.43.16/mahasiswa/img/"+list.get(pos
ition).getGambar())
.thumbnail(0.5f)
.crossFade()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(holder.Gambar);
return convertView;
}
@Override
public int getCount() {
return list.size();
}
@Override
public void remove(ModelDataFauna object) {
super.remove(object);
}
@Override
public void clear() {
super.clear();
}
@Override
public void notifyDataSetChanged() {

Universitas Sumatera Utara

39

super.notifyDataSetChanged();
}
static class MyHolder {
TextView ID;
TextView Nama;
TextView Jenis;
ImageView Gambar;
}
}

Galeri.java
package com.example.win.api;
import
import
import
import
import
import
import
import
import
import
import
import

android.content.Intent;
android.graphics.Bitmap;
android.graphics.BitmapFactory;
android.os.Bundle;
android.support.v7.app.AppCompatActivity;
android.util.Log;
android.view.View;
android.widget.AdapterView;
android.widget.ImageView;
android.widget.LinearLayout;
android.widget.ListView;
android.widget.TextView;

import com.example.win.api.API.ApiServiceGaleri;
import com.example.win.a