![]() |
| activity_login.xml |
![]() |
| activity_hitung.xml |
Desain tampilan seperti 2 gambar diatas.
Kedua,
Ketik Coding untuk LoginActivity.java seperti dibawah ini :
package com.example.hitungnilaigrade;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.util.Log;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.View;
import android.widget.*;
public class LoginActivity extends Activity implements Button.OnClickListener {
private AlertDialog.Builder DialogYesNo;
ImageButton bLogin, bClear ;
EditText etNPM, etPass ;
final Context context=this;
ProgressDialog progress;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
bLogin = (ImageButton) findViewById (R.id.imageButton1);
bClear = (ImageButton) findViewById (R.id.ImageButton2);
etNPM = (EditText) findViewById (R.id.EditText1);
etPass = (EditText) findViewById (R.id.EditText2);
bLogin.setOnClickListener(this);
bClear.setOnClickListener(this);
}
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
// filter keyCode, apabila back button yang di click,
// maka berikan action untuk menampikan alert dialog yes no
if (keyCode == KeyEvent.KEYCODE_BACK) {
if (DialogYesNo == null) {
DialogYesNo = new AlertDialog.Builder(this);
}
DialogYesNo.setTitle("Yakin Nak Keluar???");
DialogYesNo
.setMessage("Klik Iyo untuk keluar..")
.setCancelable(false)
.setPositiveButton("Iyo",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int id) {
// menghancurkan activity / keluar aplikasi
finish();
}
})
.setNegativeButton("Kagek",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int id) {
dialog.cancel();
}
}).create().show();
}
return false;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.login, menu);
return true;
}
@Override
public void onClick(View s) {
// TODO Auto-generated method stub
switch (s.getId())
{
case R.id.imageButton1: progressDialog(); validasiLogin() ;
break;
case R.id.ImageButton2: etNPM.setText(""); etPass.setText("");
break;
}
}
private void progressDialog() {
// TODO Auto-generated method stub
progress = ProgressDialog.show(LoginActivity.this, "", "tunggu bentar...");
new Thread() {
public void run() {
try {
sleep(100);
} catch (Exception e) {
Log.e("tag", e.getMessage());
}
// dismiss the progress dialog
progress.dismiss();
}
}.start();
}
private void validasiLogin() {
// TODO Auto-generated method stub
String strUser = etNPM.getText().toString();
if (strUser.trim().equals(""))
{
Toast objToast = Toast.makeText(getApplicationContext(), "NPM harus diisi",
Toast.LENGTH_LONG);
objToast.show();
}
else if (etPass.getText().toString().trim().equals(""))
{
Toast objToast = Toast.makeText(getApplicationContext(), "password harus diisi",
Toast.LENGTH_LONG);
objToast.show();
}
else if (etNPM.getText().toString().trim().length()!=10)
{
Toast objToast = Toast.makeText(getApplicationContext(), "NPM harus 10 digit",
Toast.LENGTH_LONG);
objToast.show();
}
else if (etPass.getText().toString().trim().length()<5 data-blogger-escaped-6="" data-blogger-escaped-atau="" data-blogger-escaped-else="" data-blogger-escaped-etpass.gettext="" data-blogger-escaped-harus="" data-blogger-escaped-if="" data-blogger-escaped-karakter="" data-blogger-escaped-lebih="" data-blogger-escaped-length="" data-blogger-escaped-objtoast.show="" data-blogger-escaped-objtoast="Toast.makeText(getApplicationContext()," data-blogger-escaped-password="" data-blogger-escaped-toast.length_long="" data-blogger-escaped-toast="" data-blogger-escaped-tostring="" data-blogger-escaped-trim="">16)
{
Toast objToast = Toast.makeText(getApplicationContext(), "password maksimal 15 karakter",
Toast.LENGTH_LONG);
objToast.show();
}
else if ( etNPM.getText().toString().trim().equals("2010240333")
&& etPass.getText().toString().trim().equals("123abc"))
{
//JikaLoginBerhasil
//3.
Intent i = new Intent (LoginActivity.this, HitungActivity.class);
//4.
startActivity(i);
}
else
{
Toast objToast = Toast.makeText(getApplicationContext(), "username dan pasword tidak cocok",
Toast.LENGTH_LONG);
objToast.show();
}
}
}
Ketik Coding untuk HitungActivity.java seperti dibawah ini :
Buka AndroidManifest.xml dan tambahkan coding di bawah ini sebelum </application></manifest>
package com.example.hitungnilaigrade;
package com.example.hitungnilaigrade;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.*;
public class HitungActivity extends Activity implements Button.OnClickListener{
ImageButton bHitung, bKosong;
EditText etTugas, etKuis, etUTS, etUAS ;
TextView tvNilai, tvNilaiPAB, tvGrade, tvGradePAB ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_hitung);
bHitung = (ImageButton) findViewById (R.id.imageButton2);
bKosong = (ImageButton) findViewById (R.id.imageButton1);
etTugas = (EditText) findViewById (R.id.EditTugas);
etKuis = (EditText) findViewById (R.id.EditKuis);
etUTS = (EditText) findViewById (R.id.EditUTS);
etUAS = (EditText) findViewById (R.id.EditUAS);
tvNilai = (TextView) findViewById (R.id.ViewNilai);
tvNilaiPAB = (TextView) findViewById (R.id.ViewNilaiPAB);
tvGrade = (TextView) findViewById (R.id.ViewGrade);
tvGradePAB = (TextView) findViewById (R.id.ViewGradePAB );
bHitung.setOnClickListener(this);
bKosong.setOnClickListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.login, menu);
return true;
}
@Override
public void onClick(View Sukriy) {
// TODO Auto-generated method stub
switch (Sukriy.getId())
{
case R.id.imageButton2 :
hitungNilai();
break ;
case R.id.imageButton1 :
etTugas.setText("");
etKuis.setText("");
etUTS.setText("");
etUAS.setText("");
tvNilai.setText("Nilai Akhir : ");
tvNilaiPAB.setText ("Nilai Akhir PAB : ");
tvGrade.setText("Grade");
tvGradePAB.setText("Grade PAB");
break ;
}
}
private void hitungNilai() {
// TODO Auto-generated method stub
String strTugas = etTugas.getText().toString();
String strKuis = etKuis.getText().toString();
String strUTS = etUTS.getText().toString();
String strUAS = etUAS.getText().toString();
if (strTugas.trim().equals(""))
{
Toast.makeText (this,"Nilai tugas di isi dulu yaaa!!!",Toast.LENGTH_SHORT).show();
}
else if (strKuis.trim().equals(""))
{
Toast.makeText (this,"Nilai kuis di isi dulu yaaa!!!",Toast.LENGTH_SHORT).show();
}
else if (strUTS.trim().equals(""))
{
Toast.makeText (this,"Nilai UTS di isi dulu yaaa!!!",Toast.LENGTH_SHORT).show();
}
else if (strUAS.trim().equals(""))
{
Toast.makeText (this,"Nilai UAS di isi dulu yaaa!!!",Toast.LENGTH_SHORT).show();
}
else if (strTugas.trim().length()>3)
{
Toast.makeText (this,"Rentang Nilai 0-100 !!!",Toast.LENGTH_SHORT).show();
}
else
{
Integer Tugas = Integer.parseInt(strTugas);
Integer Kuis = Integer.parseInt(strKuis);
Integer UTS = Integer.parseInt(strUTS);
Integer UAS = Integer.parseInt(strUAS);
Double Nilai = (double) getNilai (Kuis, Tugas, UTS, UAS) ;
tvNilai.setText("Nilai Akhir : " + Nilai);
getGrade (Nilai);
Double NilaiPAB = (double) getNilaiPAB (Kuis,UTS, UAS, Tugas);
tvNilaiPAB.setText("Nilai Akhir PAB : " + NilaiPAB);
getGradePAB (NilaiPAB);
}
}
private double getNilai(int kuis, int tugas, int UTS, int UAS) {
// TODO Auto-generated method stub
return kuis * 10/100 + tugas * 20/100 + UTS * 30/100 + UAS * 40/100 ;
}
private double getNilaiPAB(int kuis, int UTS, int UAS, int tugas) {
return kuis * 10/100 + UTS * 20/100 + UAS * 30/100 + tugas * 40/100 ;
}
private String getGrade (double Nilai){
if (Nilai > 100)
{
Toast.makeText (this,"Rentang nilai 0-100 !!!",Toast.LENGTH_SHORT).show();
}
else if ((Nilai >= 80) && (Nilai <= 100))
{
tvGrade.setText("Grade : A");
}
else if((Nilai >= 68) && (Nilai < 80))
{
tvGrade.setText("Grade : B");
}
else if((Nilai >= 56) && (Nilai < 68))
{
tvGrade.setText("Grade : C");
}
else if((Nilai >= 45) && (Nilai < 56))
{
tvGrade.setText("Grade : D");
}
else
{
tvGrade.setText("Grade : E");
}
return String.valueOf(Nilai) ;
}
private String getGradePAB (double NilaiPAB){
if (NilaiPAB > 100)
{
Toast.makeText (this,"Rentang nilai 0-100 !!!",Toast.LENGTH_SHORT).show();
}
else if ((NilaiPAB >= 80) && (NilaiPAB <= 100))
{
tvGradePAB.setText("Grade PAB : A");
}
else if((NilaiPAB >= 68) && (NilaiPAB < 80))
{
tvGradePAB.setText("Grade PAB : B");
}
else if((NilaiPAB >= 56) && (NilaiPAB < 68))
{
tvGradePAB.setText("Grade PAB : C");
}
else if((NilaiPAB >= 45) && (NilaiPAB < 56))
{
tvGradePAB.setText("Grade PAB : D");
}
else
{
tvGradePAB.setText("Grade PAB : E");
}
return String.valueOf(NilaiPAB) ;
}
}
Ketiga,Buka AndroidManifest.xml dan tambahkan coding di bawah ini sebelum </application></manifest>





0 komentar:
Posting Komentar
Tuliskan Komentar Disini..