Sistem Informasi Jenis-Jenis Narkoba dan Bahayanya Bagi Kesehatan Berbasis Android

1

LAMPIRAN PROGRAM

JAVA

Listdata_adiktif.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.ModelData_adiktif;
com.example.win.api.R;

import java.util.ArrayList;

public class Listdata_adiktif extends ArrayAdapter {
private
private

private
private

ArrayList list;
LayoutInflater inflater;
int res;
Context c;

public Listdata_adiktif(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;

Universitas Sumatera Utara

2

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.listNamaData);
holder.Jenis = (TextView)
convertView.findViewById(R.id.listKeteranganData);
holder.Gambar = (ImageView)
convertView.findViewById(R.id.list_gambar);
convertView.setTag(holder);
} else {
holder = (MyHolder) convertView.getTag();

}
holder.ID.setText("Id Data_adiktif :
"+list.get(position).getIdData());
holder.Nama.setText(" "+list.get(position).getNamaData());
holder.Jenis.setText("Keterangan Data_adiktif :
"+list.get(position).getKeteranganData());
Glide.with(c).load("http://192.168.43.219/narkotika/img/"+list.get(position
).getGambar())
.thumbnail(0.5f)
.crossFade()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(holder.Gambar);
return convertView;
}
@Override
public int getCount() {
return list.size();
}
@Override
public void remove(ModelData_adiktif object) {

super.remove(object);
}
@Override
public void clear() {
super.clear();
}
@Override

Universitas Sumatera Utara

3

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


}
}

Listdata_narkotika.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.ModelData_narkotika;
com.example.win.api.R;

import java.util.ArrayList;

public class Listdata_narkotika extends ArrayAdapter {
private
private
private

private

ArrayList list;
LayoutInflater inflater;
int res;
Context c;

public Listdata_narkotika(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;
}

Universitas Sumatera Utara

4


@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.listNamaData);
holder.Jenis = (TextView)
convertView.findViewById(R.id.listKeteranganData);
holder.Gambar = (ImageView)
convertView.findViewById(R.id.list_gambar);
convertView.setTag(holder);
} else {
holder = (MyHolder) convertView.getTag();

}
holder.ID.setText("Id Data_narkotika :
"+list.get(position).getIdData());
holder.Nama.setText(" "+list.get(position).getNamaData());
holder.Jenis.setText("Keterangan Data_narkotika :
"+list.get(position).getKeteranganData());
Glide.with(c).load("http://192.168.43.219/narkotika/img/"+list.get(position
).getGambar())
.thumbnail(0.5f)
.crossFade()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(holder.Gambar);
return convertView;
}
@Override
public int getCount() {
return list.size();
}
@Override
public void remove(ModelData_narkotika object) {


Universitas Sumatera Utara

5

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;

}
}

Listdata_psikotropika.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.ModelData_psikotropika;
com.example.win.api.R;

import java.util.ArrayList;

public class Listdata_psikotropika extends
ArrayAdapter {
private ArrayList list;
private LayoutInflater inflater;

Universitas Sumatera Utara

6

private int res;
private Context c;
public Listdata_psikotropika(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.listNamaData);
holder.Jenis = (TextView)
convertView.findViewById(R.id.listKeteranganData);
holder.Gambar = (ImageView)
convertView.findViewById(R.id.list_gambar);
convertView.setTag(holder);
} else {
holder = (MyHolder) convertView.getTag();
}
holder.ID.setText("Id Data_psikotropika :
"+list.get(position).getIdData());
holder.Nama.setText(" "+list.get(position).getNamaData());
holder.Jenis.setText("Keterangan Data_psikotropika :
"+list.get(position).getKeteranganData());
Glide.with(c).load("http://192.168.43.219/narkotika/img/"+list.get(position
).getGambar())
.thumbnail(0.5f)
.crossFade()
.diskCacheStrategy(DiskCacheStrategy.ALL)

Universitas Sumatera Utara

7

.into(holder.Gambar);
return convertView;
}
@Override
public int getCount() {
return list.size();
}
@Override
public void remove(ModelData_psikotropika 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;

}
}

Apidata_adiktif.java
package com.example.win.api.API;

import com.example.win.api.Model.ModelData_adiktif;
import java.util.List;
import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.Query;

public interface Apidata_adiktif {

Universitas Sumatera Utara

8

@GET("lihat_data_adiktif.php")
Call getSemuaMhs();
@GET("detail_adiktif.php")
Call getSingleData(@Query(" id") String id);

}

Apidata_narkotika.java
package com.example.win.api.API;

import com.example.win.api.Model.ModelData_narkotika;
import java.util.List;
import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.Query;

public interface Apidata_narkotika {
@GET("lihat_data_narkotika.php")
Call getSemuaMhs();
@GET("detail_narkotika.php")
Call getSingleData(@Query(" id") String
id);

}

Apidata_psikotropika.java
package com.example.win.api.API;

import com.example.win.api.Model.ModelData_psikotropika;
import java.util.List;
import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.Query;

public interface Apidata_psikotropika {

Universitas Sumatera Utara

9

@GET("lihat_data_psikotropika.php")
Call getSemuaMhs();
@GET("detail_psikotropika.php")
Call getSingleData(@Query(" id") String
id);

}

ModelData_adiktif.java
package com.example.win.api.Model;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class ModelData_adiktif {
@SerializedName("id")
@Expose
private String idData;
@SerializedName("nama")
@Expose
private String namaData;
@SerializedName("keterangan")
@Expose
private String keteranganData;
@SerializedName("gambar")
@Expose
private String gambar;
public static final String id_dta = "ID_DATA";
public static final String nama_dta = "ID_DATA";
public static final String jenis_dta= "ID_DATA";
public ModelData_adiktif(String id, String nama, String keterangan) {
this.idData = id;
this.namaData = nama;
this.keteranganData = keterangan;
}

public ModelData_adiktif(String id, String nama, String keterangan,
String gambar) {
this.idData = id;
this.namaData = nama;

Universitas Sumatera Utara

10

this.keteranganData = keterangan;
this.gambar = gambar;
}
public String getIdData() {
return idData;
}
/**
*
* @param idData
*
The idFlora
*/
public void setIdData(String idData) {
this.idData = idData;
}
/**
*
* @return
*
The nama
*/
public String getNamaData() {
return namaData;
}
/**
*
* @param namaData
*
The Nama
*/
public void setNamaData(String namaData) {
this.namaData = namaData;
}
/**
*
* @return
*
The jenis
*/
public String getKeteranganData() {
return keteranganData;
}
/**
*
* @param keteranganData
*
The Jenis
*/
public void setKeteranganData(String keteranganData) {
this.keteranganData = keteranganData;
}

Universitas Sumatera Utara

11

public String getGambar() {
return gambar;
}
public void setGambar(String gambar) {
this.gambar = gambar;
}
}

ModelData_narkotika.java
package com.example.win.api.Model;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class ModelData_narkotika {
@SerializedName("id")
@Expose
private String idData;
@SerializedName("nama")
@Expose
private String namaData;
@SerializedName("keterangan")
@Expose
private String keteranganData;
@SerializedName("gambar")
@Expose
private String gambar;
public static final String id_dta = "ID_DATA";
public static final String nama_dta = "ID_DATA";
public static final String jenis_dta= "ID_DATA";
public ModelData_narkotika(String id, String nama, String keterangan) {
this.idData = id;
this.namaData = nama;
this.keteranganData = keterangan;
}

public ModelData_narkotika(String id, String nama, String keterangan,
String gambar) {
this.idData = id;
this.namaData = nama;
this.keteranganData = keterangan;
this.gambar = gambar;

Universitas Sumatera Utara

12

}
public String getIdData() {
return idData;
}
/**
*
* @param idData
*
The id
*/
public void setIdData(String idData) {
this.idData = idData;
}
/**
*
* @return
*
The nama
*/
public String getNamaData() {
return namaData;
}
/**
*
* @param namaData
*
The Nama
*/
public void setNamaData(String namaData) {
this.namaData = namaData;
}
/**
*
* @return
*
The jenis
*/
public String getKeteranganData() {
return keteranganData;
}
/**
*
* @param keteranganData
*
The Jenis
*/
public void setKeteranganData(String keteranganData) {
this.keteranganData = keteranganData;
}
public String getGambar() {
return gambar;

Universitas Sumatera Utara

13

}
public void setGambar(String gambar) {
this.gambar = gambar;
}
}

ModelData_psikotropika.java
package com.example.win.api.Model;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class ModelData_psikotropika {
@SerializedName("id")
@Expose
private String idData;
@SerializedName("nama")
@Expose
private String namaData;
@SerializedName("keterangan")
@Expose
private String keteranganData;
@SerializedName("gambar")
@Expose
private String gambar;
public static final String id_dta = "ID_DATA";
public static final String nama_dta = "ID_DATA";
public static final String jenis_dta= "ID_DATA";
public ModelData_psikotropika(String id, String nama, String
keterangan) {
this.idData = id;
this.namaData = nama;
this.keteranganData = keterangan;
}

public ModelData_psikotropika(String id, String nama, String
keterangan, String gambar) {
this.idData = id;
this.namaData = nama;
this.keteranganData = keterangan;
this.gambar = gambar;
}

Universitas Sumatera Utara

14

public String getIdData() {
return idData;
}
/**
*
* @param idData
*
The id
*/
public void setIdData(String idData) {
this.idData = idData;
}
/**
*
* @return
*
The nama
*/
public String getNamaData() {
return namaData;
}
/**
*
* @param namaData
*
The Nama
*/
public void setNamaData(String namaData) {
this.namaData = namaData;
}
/**
*
* @return
*
The jenis
*/
public String getKeteranganData() {
return keteranganData;
}
/**
*
* @param keteranganData
*
The Jenis
*/
public void setKeteranganData(String keteranganData) {
this.keteranganData = keteranganData;
}
public String getGambar() {
return gambar;
}

Universitas Sumatera Utara

15

public void setGambar(String gambar) {
this.gambar = gambar;
}
}

Data_adiktif.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.Apidata_adiktif;
import com.example.win.api.Adapter.Listdata_adiktif;
import com.example.win.api.Model.ModelData_adiktif;
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 Data_adiktif extends AppCompatActivity implements
AdapterView.OnItemClickListener {

ArrayList data = new ArrayList();
ListView listview;
Listdata_adiktif adapter;
LinearLayout layout_loading;
TextView text_load;
ImageView icon_load;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.data_adiktif);

Universitas Sumatera Utara

16

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(Data_adiktif.this);
listview.setDividerHeight(0);
setup();

}
public void setup() {
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(MainActivity.ROOT_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
Apidata_adiktif service = retrofit.create(Apidata_adiktif.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++) {
ModelData_adiktif Data = new ModelData_adiktif(
response.body().get(i).getIdData(),
response.body().get(i).getNamaData(),
response.body().get(i).getKeteranganData(),
response.body().get(i).getGambar());
data.add(Data);
Log.d("RESPON", "onResponse: " +
response.body().get(i).getIdData());
}
listview.setVisibility(View.VISIBLE);
adapter = new Listdata_adiktif(Data_adiktif.this,
R.layout.row_data_adiktif, data);
listview.setAdapter(adapter);
if (adapter.getCount() < 1 ) {
layout_loading.setVisibility(View.VISIBLE);
String error = "Daftar Data_adiktif Kosong";
text_load.setText(error);

Universitas Sumatera Utara

17

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_adiktif 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_adiktif from
Server!!!\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(Data_adiktif.this,
Tampildata_adiktif.class);

intent.putExtra(ModelData_adiktif.id_dta,data.get(position).getIdData());
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

18

}
}

Data_narkotika.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.Apidata_narkotika;
import com.example.win.api.Adapter.Listdata_narkotika;
import com.example.win.api.Model.ModelData_narkotika;
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 Data_narkotika extends AppCompatActivity implements
AdapterView.OnItemClickListener {

ArrayList data = new
ArrayList();
ListView listview;
Listdata_narkotika adapter;
LinearLayout layout_loading;
TextView text_load;
ImageView icon_load;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.data_narkotika);
layout_loading = (LinearLayout) findViewById(R.id.layout_loading);

Universitas Sumatera Utara

19

text_load = (TextView) findViewById(R.id.text_load);
icon_load = (ImageView) findViewById(R.id.icon_load);
listview = (ListView) findViewById(R.id.listMhsMhs);
listview.setOnItemClickListener(Data_narkotika.this);
listview.setDividerHeight(0);
setup();

}
public void setup() {
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(MainActivity.ROOT_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
Apidata_narkotika service =
retrofit.create(Apidata_narkotika.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++) {
ModelData_narkotika Data = new ModelData_narkotika(
response.body().get(i).getIdData(),
response.body().get(i).getNamaData(),
response.body().get(i).getKeteranganData(),
response.body().get(i).getGambar());
data.add(Data);
Log.d("RESPON", "onResponse: " +
response.body().get(i).getIdData());
}
listview.setVisibility(View.VISIBLE);
adapter = new
Listdata_narkotika(Data_narkotika.this, R.layout.row_data_narkotika, data);
listview.setAdapter(adapter);
if (adapter.getCount() < 1 ) {
layout_loading.setVisibility(View.VISIBLE);
String error = "Daftar Data_narkotika Kosong";
text_load.setText(error);
Bitmap icon =

Universitas Sumatera Utara

20

BitmapFactory.decodeResource(getResources(), R.drawable.ic_data_kosong);
icon_load.setImageBitmap(icon);
} else {
layout_loading.setVisibility(View.GONE);
}
} else {
String error = "Error Retrive Data_narkotika 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_narkotika 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(Data_narkotika.this,
Tampildata_narkotika.class);

intent.putExtra(ModelData_narkotika.id_dta,data.get(position).getIdData());
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

21

Data_psikotropika.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.Apidata_psikotropika;
import com.example.win.api.Adapter.Listdata_psikotropika;
import com.example.win.api.Model.ModelData_psikotropika;
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 Data_psikotropika extends AppCompatActivity implements
AdapterView.OnItemClickListener {

ArrayList data = new
ArrayList();
ListView listview;
Listdata_psikotropika adapter;
LinearLayout layout_loading;
TextView text_load;
ImageView icon_load;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.data_psikotropika);
layout_loading = (LinearLayout) findViewById(R.id.layout_loading);
text_load = (TextView) findViewById(R.id.text_load);
icon_load = (ImageView) findViewById(R.id.icon_load);

Universitas Sumatera Utara

22

listview = (ListView) findViewById(R.id.listMhsMhs);
listview.setOnItemClickListener(Data_psikotropika.this);
listview.setDividerHeight(0);
setup();

}
public void setup() {
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(MainActivity.ROOT_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
Apidata_psikotropika service =
retrofit.create(Apidata_psikotropika.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++) {
ModelData_psikotropika Data = new
ModelData_psikotropika(
response.body().get(i).getIdData(),
response.body().get(i).getNamaData(),
response.body().get(i).getKeteranganData(),
response.body().get(i).getGambar());
data.add(Data);
Log.d("RESPON", "onResponse: " +
response.body().get(i).getIdData());
}
listview.setVisibility(View.VISIBLE);
adapter = new
Listdata_psikotropika(Data_psikotropika.this,
R.layout.row_data_psikotropika, data);
listview.setAdapter(adapter);
if (adapter.getCount() < 1 ) {
layout_loading.setVisibility(View.VISIBLE);
String error = "Daftar Data_psikotropika Kosong";
text_load.setText(error);
Bitmap icon =
BitmapFactory.decodeResource(getResources(), R.drawable.ic_data_kosong);
icon_load.setImageBitmap(icon);

Universitas Sumatera Utara

23

} else {
layout_loading.setVisibility(View.GONE);
}
} else {
String error = "Error Retrive Data_psikotropika 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_psikotropika from
Server!!!\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(Data_psikotropika.this,
Tampildata_psikotropika.class);

intent.putExtra(ModelData_psikotropika.id_dta,data.get(position).getIdData(
));
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

24

Home.java
package com.example.win.api;

import
import
import
import
import

android.app.Activity;
android.content.Intent;
android.os.Bundle;
android.view.View;
android.widget.Button;

public class Home extends Activity {
Button
Button
Button
Button
Button

pengertian;
jenis;
bantuan;
tentang;
galeri;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.home);
pengertian = (Button) findViewById(R.id.btn_pengertian);
pengertian.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(Home.this,
Pengertian_narkoba_.class);
startActivity(intent);
}
});
jenis = (Button) findViewById(R.id.btn_jenis);
jenis.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(Home.this, Jenis.class);
startActivity(intent);
}
});
bantuan = (Button) findViewById(R.id.btn_bantuan);

Universitas Sumatera Utara

25

bantuan.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(Home.this, Bantuan.class);
startActivity(intent);
}
});
tentang = (Button) findViewById(R.id.btn_tentang);
tentang.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(Home.this, Tentang.class);
startActivity(intent);
}
});
galeri = (Button) findViewById(R.id.btn_galeri);
galeri.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(Home.this, Galeri.class);
startActivity(intent);
}
});

}
}

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

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

public class Jenis extends AppCompatActivity {
Button narkotika;
Button psikotropika;

Universitas Sumatera Utara

26

Button adiktif;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_jenis);
narkotika = (Button) findViewById(R.id.btn_narkotika);
narkotika.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(Jenis.this,
Data_narkotika.class);
startActivity(intent);
}
});
psikotropika = (Button) findViewById(R.id.btn_psikotropika);
psikotropika.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(Jenis.this,
Data_psikotropika.class);
startActivity(intent);
}
});
adiktif = (Button) findViewById(R.id.btn_adiktif);
adiktif.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(Jenis.this, Data_adiktif.class);
startActivity(intent);
}
});
}
}

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

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

import
import
import
import

com.bumptech.glide.Glide;
com.bumptech.glide.load.engine.DiskCacheStrategy;
com.example.win.api.API.Apidata_adiktif;
com.example.win.api.Model.ModelData_adiktif;

Universitas Sumatera Utara

27

import com.google.android.gms.appindexing.Action;
import com.google.android.gms.appindexing.AppIndex;
import 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 Tampildata_adiktif extends AppCompatActivity {
String ID_Data;
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_adiktif);
ID_Data = getIntent().getStringExtra(ModelData_adiktif.id_dta);
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();

}
public void bindData() {
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(MainActivity.ROOT_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();

Universitas Sumatera Utara

28

Apidata_adiktif service = retrofit.create(Apidata_adiktif.class);
Call call =
service.getSingleData(ID_Data);
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).getIdData());
et_nama.setText(response.body().get(finalI).getNamaData());
et_keterangan.setText(response.body().get(finalI).getKeteranganData());
Glide.with(Tampildata_adiktif.this).load
("http://192.168.43.219/narkotika/img/"+response.body().get(finalI).getGamb
ar())
.thumbnail(0.5f)
.crossFade()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(et_gambar);

}
});
}

} catch (Exception e) {
e.printStackTrace();
}
}
}
@Override
public void onFailure(Call call,
Throwable t) {

Universitas Sumatera Utara

29

}
});
}
@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.
"Tampildata_adiktif 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("androidapp://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.
"Tampildata_adiktif 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("androidapp://com.example.win.api/http/host/path")
);
AppIndex.AppIndexApi.end(client, viewAction);
client.disconnect();

Universitas Sumatera Utara

30

}

}

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

android.net.Uri;
android.os.Bundle;
android.support.v7.app.AppCompatActivity;
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.Apidata_narkotika;
com.example.win.api.Model.ModelData_narkotika;
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 Tampildata_narkotika extends AppCompatActivity {
String ID_Data;
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_narkotika);
ID_Data = getIntent().getStringExtra(ModelData_narkotika.id_dta);

Universitas Sumatera Utara

31

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();

}
public void bindData() {
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(MainActivity.ROOT_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
Apidata_narkotika service =
retrofit.create(Apidata_narkotika.class);
Call call =
service.getSingleData(ID_Data);
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).getIdData());
et_nama.setText(response.body().get(finalI).getNamaData());
et_keterangan.setText(response.body().get(finalI).getKeteranganData());
Glide.with(Tampildata_narkotika.this).load
("http://192.168.43.219/narkotika/img/"+response.body().get(finalI).getGamb
ar())

Universitas Sumatera Utara

32

.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.
"Tampildata_narkotika 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("androidapp://com.example.win.api/http/host/path")
);
AppIndex.AppIndexApi.start(client, viewAction);
}

Universitas Sumatera Utara

33

@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.
"Tampildata_narkotika 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("androidapp://com.example.win.api/http/host/path")
);
AppIndex.AppIndexApi.end(client, viewAction);
client.disconnect();
}

}

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

android.net.Uri;
android.os.Bundle;
android.support.v7.app.AppCompatActivity;
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.Apidata_psikotropika;
com.example.win.api.Model.ModelData_psikotropika;
com.google.android.gms.appindexing.Action;
com.google.android.gms.appindexing.AppIndex;
com.google.android.gms.common.api.GoogleApiClient;

import java.util.List;
import retrofit2.Call;
import retrofit2.Callback;

Universitas Sumatera Utara

34

import retrofit2.Response;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;
public class Tampildata_psikotropika extends AppCompatActivity {
String ID_Data;
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_psikotropika);
ID_Data =
getIntent().getStringExtra(ModelData_psikotropika.id_dta);
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();

}
public void bindData() {
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(MainActivity.ROOT_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
Apidata_psikotropika service =
retrofit.create(Apidata_psikotropika.class);
Call call =
service.getSingleData(ID_Data);
call.enqueue(new Callback() {

Universitas Sumatera Utara

35

@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).getIdData());
et_nama.setText(response.body().get(finalI).getNamaData());
et_keterangan.setText(response.body().get(finalI).getKeteranganData());
Glide.with(Tampildata_psikotropika.this).load
("http://192.168.43.219/narkotika/img/"+response.body().get(finalI).getGamb
ar())
.thumbnail(0.5f)
.crossFade()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(et_gambar);

}
});
}

} catch (Exception e) {
e.printStackTrace();
}
}
}
@Override
public void onFailure(Call call,
Throwable t) {

}
});
}

Universitas Sumatera Utara

36

@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.
"Tampildata_psikotropika 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("androidapp://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.
"Tampildata_psikotropika 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("androidapp://com.example.win.api/http/host/path")
);
AppIndex.AppIndexApi.end(client, viewAction);
client.disconnect();
}

}

Universitas Sumatera Utara

37

XML

activity_detail_adiktif.xml





















activity_detail_narkotika.xml





















Activity_detail_psikotropika.xml





















Activity_jenis.xml