L
A
M
LISTING PROGRAM
Login.java
package portal.akademik;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.Toast;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.view.View.OnClickListener;
import android.widget.Button;
import java.util.ArrayList;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import portal.akademik.CustomHttpClient;
publicclass Login extends Activity{
EditText nim, pass; Button masuk, keluar;
publicvoid onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.main);
nim = (EditText) findViewById(R.id.login_nim); pass = (EditText) findViewById(R.id.login_pass);
masuk = (Button) findViewById(R.id.masuk); keluar = (Button) findViewById(R.id.keluar);
//daftarkan event onClick pada (Button) masuk
masuk.setOnClickListener(new View.OnClickListener(){
@Override
publicvoid onClick(View v) {
ArrayList<NameValuePair> postParameters = new
ArrayList<NameValuePair>();
postParameters.add(new BasicNameValuePair("nim", nim.getText().toString())); postParameters.add(new BasicNameValuePair("pass", pass.getText().toString()));
String response = null;
try {
response =
CustomHttpClient.executeHttpPost("http://10.0.2.2/ta/Login_portal.php", postParameters); String res = response.toString();
res = res.trim();
if(res.equals("1")) {
Toast.makeText(getBaseContext(), "Berhasil Login.", Toast.LENGTH_SHORT).show(); //tampilkan
Intent intent = null;
intent = new Intent(Login.this, Khs.class); startActivity(intent);
//menyimpan value nim pada method setNim di kelas SessionLogin
SessionLogin.setNim(nim.getText().toString());
}else {
Toast.makeText(getBaseContext(), "Gagal Login. Coba Lagi.", Toast.LENGTH_SHORT).show();//gagal
}
}catch (Exception e){ e.printStackTrace(); }
}
});
keluar.setOnClickListener(new OnClickListener(){
publicvoid onClick(View v){ nim.setText(""); pass.setText(""); }
});
Khs.java
package portal.akademik;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Spinner;
publicclass Khs extends Activity{
public Spinner spinSemester;
public RadioButton ganjil, genap;
public Button tampil;
publicvoid onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.showdata);
// SPINNER UNTUK TAHUN AKADEMIK
spinSemester = (Spinner) findViewById(R.id.spinner1);
List<String> spinner = new ArrayList<String>();
spinner.add("2011"); spinner.add("2012"); spinner.add("2013"); spinner.add("2014");
ArrayAdapter<String> spinSem = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, spinner);
spinSem.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_it em);
spinSemester.setAdapter(spinSem);
spinSemester.setOnItemSelectedListener(new OnItemSelectedListener(){
@Override
publicvoid onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
Semester.setTahun(spinSemester.getSelectedItem().toString()); }
@Override
} });
// RADIOBUTTON UNTUK SEMESTER
ganjil = (RadioButton) findViewById(R.id.ganjil); genap = (RadioButton) findViewById(R.id.genap);
ganjil.setOnClickListener(new RadioGroup.OnClickListener(){
publicvoid onClick(View v) {
Semester.setSemester(ganjil.getText().toString());
} });
genap.setOnClickListener(new RadioGroup.OnClickListener(){
publicvoid onClick(View v) {
Semester.setSemester(genap.getText().toString());
} });
tampil = (Button) findViewById(R.id.tampilkan);
tampil.setOnClickListener(new View.OnClickListener(){
@Override
publicvoid onClick(View v) { Intent intent = null;
intent = new Intent(Khs.this, InformasiHasilStudi.class); startActivity(intent);
}
}
InformasiHasilStudi.java
package portal.akademik;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.Window;
import android.view.WindowManager;
import android.widget.TextView;
publicclass InformasiHasilStudi extends Activity{ String nimAndroid = SessionLogin.getNim(); String semAndroid = Semester.getSemester(); String thnAndroid = Semester.getTahun();
TextView kode, nm_mk, sks, nilai, nim, totalsks, ip, ipk;
TextView sem, thn;
publicvoid onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.tampil_nilai2);
nim = (TextView) findViewById(R.id.nimAndroid); sem = (TextView) findViewById(R.id.semester); thn = (TextView) findViewById(R.id.tahun);
kode = (TextView) findViewById(R.id.kode); nm_mk = (TextView) findViewById(R.id.nm_mk); sks = (TextView) findViewById(R.id.sks);
nilai = (TextView) findViewById(R.id.nilai);
totalsks = (TextView) findViewById(R.id.totalsks); ip = (TextView) findViewById(R.id.ip);
tampil(); }
nim.setText(nimAndroid); sem.setText(semAndroid); thn.setText(thnAndroid);
String url =
"http://10.0.2.2/ta/tampil_nilai.php?nim="+nimAndroid.toString()+"&thnakademik="+thnAn droid.toString()+"&semester="+semAndroid.toString();
HttpClient httpClient = new DefaultHttpClient(); HttpPost httpPost = new HttpPost(url.trim());
ArrayList<NameValuePair> param = new ArrayList<NameValuePair>();
try{
httpPost.setEntity(new UrlEncodedFormEntity(param));
HttpResponse httpResponse = httpClient.execute(httpPost); HttpEntity httpEntity = httpResponse.getEntity();
InputStream in = httpEntity.getContent();
BufferedReader read = new BufferedReader(new InputStreamReader(in));
String content = ""; String line = "";
while((line = read.readLine())!=null){ content += line;
}
Log.d("ADBUG", "content: " + content);
//JSON
//ingat inisialisasi //double totalNilai = 0;
int totalsSks = 0; double bobot = 0; double skor;
double totalSkor = 0; double IP = 0;
try {
JSONArray jArr = new JSONArray(content);
String KODE = ""; String NM_MK = ""; String SKS = ""; String NILAI = "";
for(int i=0;i<jArr.length();i++){
JSONObject jObj = jArr.getJSONObject(i);
//Mengambil value dari setiap field tabel di database String Kode = jObj.getString("kodemk");
String Nm_Mk = jObj.getString("namamk"); String Sks = jObj.getString("sks");
String Nilai = jObj.getString("nilai");
if(jObj.getString("nilai").equals("A")) {
bobot=4; }
} }
SessionLogin.java
package portal.akademik;
publicclass SessionLogin {
static String nim; static String pass;
publicstatic String getPassword() { returnpass;
}
publicstaticvoid setPassword(String p) { pass = p;
}
publicstatic String getNim() { returnnim;
}
publicstaticvoid setNim(String u) { nim = u;
} }
Semester.java
package portal.akademik;
static String semester;
static String tahun;
publicstatic String getSemester(){ returnsemester;
}
publicstaticvoid setSemester(String s){ semester = s;
}
publicstatic String getTahun(){ returntahun;
}
publicstaticvoid setTahun(String t){ tahun = t;
} }
ClientToServer.java
package portal.akademik;
import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.URI;
import java.util.ArrayList;
import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.conn.params.ConnManagerParams; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.params.HttpConnectionParams; import org.apache.http.params.HttpParams;
public class ClientToServer {
public static final int HTTP_TIMEOUT = 30 * 1000; private static HttpClient client;
private static HttpClient getHttpClient() { if (client == null) {
client = new DefaultHttpClient();
final HttpParams parameterHttp = client.getParams();
HttpConnectionParams.setConnectionTimeout(parameterHttp, HTTP_TIMEOUT);
ConnManagerParams.setTimeout(parameterHttp, HTTP_TIMEOUT); }
return client; }
public static String eksekusiHttpPost(String url,
ArrayList<NameValuePair> postParameter) throws Exception { BufferedReader in = null;
try {
HttpClient klien = getHttpClient(); HttpPost req = new HttpPost(url);
UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity( postParameter);
req.setEntity(formEntity);
HttpResponse jawaban = klien.execute(req);
StringBuffer sb = new StringBuffer(""); String line = "";
String NL = System.getProperty("line.separator"); while ((line = in.readLine()) != null) {
sb.append(line + NL); }
in.close();
String hasil = sb.toString(); return hasil;
} finally {
if (in != null) { in.close(); }
} }
public static String eksekusiHttpGet(String url) throws Exception { BufferedReader in = null;
try {
HttpClient hc = getHttpClient(); HttpGet req = new HttpGet(); req.setURI(new URI(url));
HttpResponse resp = hc.execute(req);
in = new BufferedReader(new InputStreamReader(resp.getEntity() .getContent()));
StringBuffer sb = new StringBuffer(""); String line = "";
String NL = System.getProperty("line.separator"); while ((line = in.readLine()) != null) {
sb.append(line + NL); }
in.close();
return hasil; } finally {
if (in != null) { in.close(); }
} }
}
CustomHttpClient.java
package portal.akademik;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URI;
import java.util.ArrayList;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.conn.params.ConnManagerParams;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.HttpConnectionParams;
publicclass CustomHttpClient {
/** The time it takes for our client to timeout */
publicstaticfinalintHTTP_TIMEOUT = 30 * 1000 ; // milliseconds
/** Single instance of our HttpClient */ privatestatic HttpClient mHttpClient;
/**
* Get our single instance of our HttpClient object.
* @return an HttpClient object with connection parameters set */
privatestatic HttpClient getHttpClient() { if (mHttpClient == null) {
mHttpClient = new DefaultHttpClient();
final HttpParams params = mHttpClient.getParams();
HttpConnectionParams.setConnectionTimeout(params, HTTP_TIMEOUT); HttpConnectionParams.setSoTimeout(params, HTTP_TIMEOUT);
ConnManagerParams.setTimeout(params, HTTP_TIMEOUT); }
returnmHttpClient; }
/**
* Performs an HTTP Post request to the specified url with the * specified parameters.
*
* @param url The web address to post the request to
* @param postParameters The parameters to send via the request * @return The result of the request
public static String executeHttpPost(String url, ArrayList<NameValuePair> postParameters) throws Exception {
BufferedReader in = null; try {
HttpClient client = getHttpClient(); HttpPost request = new HttpPost(url);
* @param url The web address to post the request to * @return The result of the request
* @throws Exception */
publicstatic String executeHttpGet(String url) throws Exception { BufferedReader in = null;
try {
HttpClient client = getHttpClient(); HttpGet request = new HttpGet(); request.setURI(new URI(url));
HttpResponse response = client.execute(request);
in = new BufferedReader(new
InputStreamReader(response.getEntity().getContent()));
StringBuffer sb = new StringBuffer(""); String line = "";
String NL = System.getProperty("line.separator"); while ((line = in.readLine()) != null) {
sb.append(line + NL); }
in.close();
String result = sb.toString(); return result;
} finally {
if (in != null) { try {
in.close();
} } } }
main.xml (Login.java)
<?xml version="1.0" encoding="utf-8"?> <LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:orientation="vertical"> <ImageView
android:layout_width="match_parent" android:id="@+id/image"
android:src="@drawable/mipa"
android:layout_height="wrap_content" android:paddingTop="10dip"
android:paddingBottom="10dip"> </ImageView>
<TextView
android:id="@+id/textView1"
android:text="APLIKASI INFORMASI HASIL STUDI" android:textStyle="bold"
android:textSize="16sp"
<TextView
android:id="@+id/textView2"
android:text="D-III TEKNIK INFORMATIKA" android:textStyle="bold"
android:textSize="16sp"
android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingBottom="20dip"/> <ScrollView
android:layout_width="fill_parent" android:layout_height="fill_parent">
<LinearLayout
android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical">
<TextView
android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="N I M"
android:textStyle="bold"/>
<EditText
android:id="@+id/login_nim"
android:layout_height="wrap_content" android:layout_width="fill_parent"> </EditText>
<TextView
android:layout_width="wrap_content" android:layout_height="wrap_content"> </TextView>
<EditText
android:id="@+id/login_pass"
android:layout_height="wrap_content" android:layout_width="fill_parent" android:inputType="textPassword"> </EditText>
<Button
android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="LOGIN"
android:textStyle="bold" android:id="@+id/masuk" android:onClick="loginHandler" android:layout_gravity="center"/>
<Button
android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="RESET"
android:textStyle="bold" android:id="@+id/keluar" android:onClick="exitHandler" android:layout_gravity="center"/>
showdata.xml (Khs.java)
<?xml version="1.0" encoding="utf-8"?> <LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:orientation="vertical"
android:layout_gravity="center">
<RadioGroup
android:id="@+id/radioGroup" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical">
<RadioButton
android:id="@+id/ganjil" android:text="ganjil"
android:layout_width="match_parent" android:layout_height="wrap_content"/> <RadioButton
android:id="@+id/genap" android:text="genap"
android:layout_width="match_parent" android:layout_height="wrap_content"/> </RadioGroup>
<Spinner
android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_marginTop="2dp"/>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:orientation="vertical"
android:layout_gravity="center"> <Button
android:text="Tampilkan" android:id="@+id/tampilkan"
android:layout_width="wrap_content" android:layout_height="wrap_content"/> </LinearLayout>
</LinearLayout>
tampil_nilai.xml (InformasiHasilStudi.java)
<?xml version="1.0" encoding="utf-8"?> <LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="fill_parent"
android:layout_width="fill_parent" android:padding="15dip"
android:orientation="vertical"> <LinearLayout
android:orientation="vertical"
android:text="MATAKULIAH" android:textSize="14sp" android:textStyle="bold" android:gravity="center"/>
<TextView
android:text="NILAI" android:textSize="14sp" android:textStyle="bold" android:gravity="center"/> </TableRow>
<LinearLayout
android:orientation="horizontal" android:layout_height="fill_parent" android:layout_width="fill_parent" android:layout_gravity="center" >
<TextView
android:id="@+id/kodemk" android:textSize="12sp" android:textStyle="italic" android:gravity="center"
android:layout_height="wrap_content" android:layout_width="wrap_content"/> <TextView
android:id="@+id/namamk" android:textSize="12sp" android:textStyle="italic" android:gravity="center"
<TextView
android:text="@+id/nilai2" android:textSize="12sp" android:textStyle="italic" android:gravity="center"
android:layout_height="wrap_content" android:layout_width="wrap_content"/>
</LinearLayout> </TableLayout>
</LinearLayout> </LinearLayout>
login_portal.php
<?php
$nim=$_POST['nim']; $pass=trim($_POST['pass']);
mysql_connect("localhost","root",""); mysql_select_db("portal");
$query = "SELECT * FROM login WHERE nim = '$nim' AND pass = $pass'";
$result = mysql_query($query) or die("Unable to verify user because : " . mysql_error());
if(mysql_num_rows($result) == 1){ echo 1;
else {
// print status message echo 0;
}
?>
tampil_nilai.php
<?php
mysql_connect("localhost","root",""); mysql_select_db("portal");
$nimAndroid = $_GET['nim']; $semAndroid = $_GET['semester']; $thnAndroid = $_GET['thnakademik'];
$sqlString = "SELECT data_ip2.kodemk, data_ip2.namamk, data_ip2.sks, data_ip2.nilai FROM data_ip2 WHERE data_ip2.thnakademik ='$thnAndroid' AND data_ip2.semester = '" . $semAndroid . "' AND data_ip2.nim ='$nimAndroid'";
$rs = mysql_query($sqlString);
if($rs){
while($objRs = mysql_fetch_assoc($rs)){ $output[] = $objRs;
}
echo json_encode($output); }
KEMENTERIAN PENDIDIKAN NASIONAL
UNIVERSITAS SUMATERA UTARA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM (FMIPA) JL. BIOTEKNOLOGI NO. 1 KAMPUS USU Telp. (061) 8214290
MEDAN – 20155, EMAIL : [email protected]
KARTU BIMBINGAN TUGAS AKHIR MAHASISWA
Nama Mahasiswa : Evalyna Christie S
Nomor Stambuk : 092406170
Judul Tugas Akhir : Aplikasi Portal Akademik Mobile Berbasis Android Dosen Pembimbing 1 : Partano Siagian M.Sc
Tanggal Mulai Bimbingan : Tanggal Selesai Bimbingan :
No
 Kartu ini harap dikembalikan kejurusan Matematika Bila Bimbingan Mahasiswa telah Selesai
Diketahui Disetujui
Ketua Jurusan Matematika Pembimbing Utama/ Penanggung Jawab
SURAT KETERANGAN
Hasil Uji Program Tugas Akhir
Yang bertanda tangan dibawah ini, menerangkan bahwa Tugas Akhir Mahasiswa Program D-III Teknik Informatika :
Nama : EVALYNA CHRISTIE S
Nomor Induk Mahasiswa : 092406170
Program Studi : D-III TEKNIK INFORMATIKA
Judul Tugas Akhir : APLIKASI PORTAL AKADEMIK MOBILE BERBASIS ANDROID
Telah melaksanakan tes program Tugas Akhir dari mahasiswa tersebut yang dilaksanakan pada tanggal 01 Juni 2012.
Dengan Hasil : Sukses / Gagal
Demikian diterangkan untuk digunakan melengkapi syarat pendaftaran Ujian Meja Hijau Tugas Akhir Mahasiswa yang bersangkutan di Departemen Matematika FMIPA USU Medan.
Medan, 01 Juni 2012 Dosen Pembimbing