• Tidak ada hasil yang ditemukan

Aplikasi Portal Akademik Mobile Berbasis Android

N/A
N/A
Protected

Academic year: 2019

Membagikan "Aplikasi Portal Akademik Mobile Berbasis Android"

Copied!
32
0
0

Teks penuh

(1)

L

A

M

(2)

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;

(3)

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

(4)

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

});

(5)

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

(6)

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

(7)

} });

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

}

(8)

}

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;

(9)

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

(10)

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

(11)

//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; }

(12)
(13)
(14)

} }

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;

(15)

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;

(16)

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

(17)

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

(18)

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;

(19)

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

(20)

public static String executeHttpPost(String url, ArrayList<NameValuePair> postParameters) throws Exception {

BufferedReader in = null; try {

HttpClient client = getHttpClient(); HttpPost request = new HttpPost(url);

(21)

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

(22)

} } } }

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"

(23)

<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

(24)

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"/>

(25)

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

(26)

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"

(27)
(28)

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"

(29)

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

(30)

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

(31)

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

(32)

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

Referensi

Dokumen terkait

package com.fredy.wisata; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream;

Penelitian ini menggunakan UML sebagai pemodelan dalam pengembangan sistem, dan menghasilkan aplikasi Android yang dapat diakses dari smartphone untuk memperoleh

package alat.musik.aku; import android.app.Activity; import android.content.Intent; import android.media.MediaPlayer; import android.os.Bundle;..

i = new Intent(Persyarafan.this, Saraf2.class); startActivity(i); break;} }});}} package com.anatomi.tubuh; import java.util.ArrayList; import java.util.HashMap;

import android.widget.ArrayAdapter; import android.widget.EditText; import android.widget.ListAdapter; import android.widget.ListView; import android.widget.SimpleAdapter;

Mobile device sendiri pada umumnya diartikan sebagai perangkat yang memiliki ukuran fisik kecil, dapat dioperasikan dimana saja, perangkat bergerak dapat memberikan

import org.json.JSONObject; import android.app.Activity; import android.app.ProgressDialog; import android.content.Intent; import android.os.AsyncTask; import android.os.Bundle;

Adapun potongan kode program pada salah satu service yaitu login yang dikonsumsi client adalah sebagai berikut :... Gambar 5.4 Potongan Kode Program Service login method