Aplikasi Menghitung Nilai Akhir Semester Mahasiswa
6. Masuk ke file MainActivity.java
Kemudian copykan kode di bawah ini.
package com.example.aplikasihitungnilai;
import android.support.v7.app.ActionBarActivity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageButton;
public class MainActivity extends ActionBarActivity implements View.OnClickListener {
EditText txtUas = null;
EditText txtUts = null;
EditText txtTugas = null;
EditText txtAbsen = null;
EditText txtRata = null;
EditText txtStat = null;
EditText txtgrade = null;
ImageButton btnHitung = null;
ImageButton btnHapus = null;
ImageButton btnKeluar = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Komponen();
}
public void Komponen(){
txtUas = (EditText)findViewById(R.id.nUAS);
txtUts = (EditText)findViewById(R.id.nUTS);
txtTugas = (EditText)findViewById(R.id.nTugas);
txtAbsen = (EditText)findViewById(R.id.nAbsen);
txtRata = (EditText)findViewById(R.id.nrr);
txtStat = (EditText)findViewById(R.id.status);
txtgrade = (EditText)findViewById(R.id.grade);
btnHitung = (ImageButton)findViewById(R.id.btnHitung);
btnHitung.setOnClickListener(this);
btnHapus = (ImageButton)findViewById(R.id.btnHapus);
btnHapus.setOnClickListener(this);
btnKeluar = (ImageButton)findViewById(R.id.btnKeluar);
btnKeluar.setOnClickListener(this);
txtRata.setEnabled(false);
txtgrade.setEnabled(false);
txtStat.setEnabled(false);
}
public void hapus(){
txtUas.setText("");
txtUts.setText("");
txtTugas.setText("");
txtAbsen.setText("");
txtRata.setText("");
txtgrade.setText("");
txtStat.setText("");
txtUas.requestFocus();
}
private boolean IsDataValid(){
if (getDouble(txtAbsen)==0) {
showMessage("Nilai Absen tidak Valid!");
txtAbsen.requestFocus();
}else if (getDouble(txtAbsen)>14) {
showMessage("Absen tidak boleh lebih dari 14!");
txtUts.requestFocus();
}else if (getDouble(txtUas)==0) {
showMessage("Nilai UAS tidak Valid!");
txtUts.requestFocus();
}else if (getDouble(txtUas)>100) {
showMessage("Nilai UAS tidak boleh lebih dari 100!");
txtUts.requestFocus();
}else if (getDouble(txtTugas)==0) {
showMessage("Nilai TUGAS tidak Valid!");
txtTugas.requestFocus();
}else if (getDouble(txtTugas)>100) {
showMessage("Nilai TUGAS tidak boleh lebih dari 100!");
txtUts.requestFocus();
}else if (getDouble(txtUts)==0) {
showMessage("Nilai UTS tidak Valid!");
txtUas.requestFocus();
}else if (getDouble(txtUts)>100) {
showMessage("Nilai UTS tidak boleh lebih dari 100!");
txtUts.requestFocus();
}else {
return true;
}
return false;
}
private void showMessage(String msg) {
Builder dialog = new Builder(this);
dialog.setTitle("Error");
dialog.setMessage(msg);
dialog.setPositiveButton("OK", null);
dialog.show();
}
private double getDouble(EditText text){
try {
double num = Double.valueOf(text.getText().toString());
return num;
} catch (Exception e) {
return 0;
// TODO: handle exception
}
}
public void hitungProses(){
if (IsDataValid()) {
txtRata.setEnabled(false);
txtgrade.setEnabled(false);
txtStat.setEnabled(false);
double tUAS = Double.valueOf(txtUas.getText().toString());
double tUTS = Double.valueOf(txtUts.getText().toString());
double tTugas = Double.valueOf(txtTugas.getText().toString());
double tAbsen = Double.valueOf(txtAbsen.getText().toString());
double Rata = (tUAS*40/100)+(tUTS*30/100)+(tTugas*20/100)+(tAbsen/14)*(100/10);
String grade = "";
String keterangan ="";
try {
if (Rata >= 35 && Rata <50) {
grade = "D";
keterangan = "Bad";
}if (Rata>=50 && Rata<=70) {
grade="C";
keterangan="Enought";
}if (Rata>=70 && Rata<80) {
grade="B";
keterangan="Good";
}if (Rata>=80 && Rata<=100) {
grade="A";
keterangan="Excelent";
}if (Rata <35) {
grade="E";
keterangan="Very Bad";
}
txtRata.setText(Rata+"");
txtgrade.setText(grade+"");
txtStat.setText(keterangan+"");
} catch (Exception e) {
e.printStackTrace();
}
}
}
public void onClick( final View view){
if (view==btnKeluar) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Apakah Anda Ingin Keluar ?")
.setCancelable(false)
.setPositiveButton("Ya",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
MainActivity.this.finish();
}
})
.setNegativeButton("Tidak",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
}).show();
}else if (view==btnHitung) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Apakah Anda Akan Memproses ?")
.setCancelable(false)
.setPositiveButton("Ya",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
hitungProses();
// TODO Auto-generated method stub
}
})
.setNegativeButton("TIdak",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
}).show();
}else if (view==btnHapus) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Apakah Anda Akan Menghapus ?")
.setCancelable(false)
.setPositiveButton("Ya",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
hapus();
}
})
.setNegativeButton("Tidak",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
dialog.cancel();
}
}).show();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
Kemudian save semua filenya
9. Jalankan Projectnya klik kanan project AplikasiHitungNilai->pilih Run As->pilih Android aplication, maka akan muncul dialog seperti berikut
Klik OK,maka akan tampil aplikasinya
Selamat mencoba :)
Untuk sourch lengkapnya bisa di download di sini
Dalam aplikasi sederhana ini di buat untuk siapa saja yang baru belajar pemrogramman android, seperti saya. Aplikasi ini termasuk aplikasi CRUD (Create Update Delete), di buat dengan tool IDE Eclipse dan Emulatornya menggunakan Genymotion.
OK Langsung saja kita mulai membuat Aplikasinya
1. Buka Eclipsenya, Buat project baru Klik File ->New ->pilih Other ->pilih Android Aplication Project.
2. Beri Nama Projectnya misal AplikasiHitungNilai
3. untuk configurasinya default saja, lalu klik Next, untuk icon dan activitynya gunakan Blank activity
4. Lalu klik Finish
6. Masuk ke file MainActivity.java
Kemudian copykan kode di bawah ini.
package com.example.aplikasihitungnilai;
import android.support.v7.app.ActionBarActivity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageButton;
public class MainActivity extends ActionBarActivity implements View.OnClickListener {
EditText txtUas = null;
EditText txtUts = null;
EditText txtTugas = null;
EditText txtAbsen = null;
EditText txtRata = null;
EditText txtStat = null;
EditText txtgrade = null;
ImageButton btnHitung = null;
ImageButton btnHapus = null;
ImageButton btnKeluar = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Komponen();
}
public void Komponen(){
txtUas = (EditText)findViewById(R.id.nUAS);
txtUts = (EditText)findViewById(R.id.nUTS);
txtTugas = (EditText)findViewById(R.id.nTugas);
txtAbsen = (EditText)findViewById(R.id.nAbsen);
txtRata = (EditText)findViewById(R.id.nrr);
txtStat = (EditText)findViewById(R.id.status);
txtgrade = (EditText)findViewById(R.id.grade);
btnHitung = (ImageButton)findViewById(R.id.btnHitung);
btnHitung.setOnClickListener(this);
btnHapus = (ImageButton)findViewById(R.id.btnHapus);
btnHapus.setOnClickListener(this);
btnKeluar = (ImageButton)findViewById(R.id.btnKeluar);
btnKeluar.setOnClickListener(this);
txtRata.setEnabled(false);
txtgrade.setEnabled(false);
txtStat.setEnabled(false);
}
public void hapus(){
txtUas.setText("");
txtUts.setText("");
txtTugas.setText("");
txtAbsen.setText("");
txtRata.setText("");
txtgrade.setText("");
txtStat.setText("");
txtUas.requestFocus();
}
private boolean IsDataValid(){
if (getDouble(txtAbsen)==0) {
showMessage("Nilai Absen tidak Valid!");
txtAbsen.requestFocus();
}else if (getDouble(txtAbsen)>14) {
showMessage("Absen tidak boleh lebih dari 14!");
txtUts.requestFocus();
}else if (getDouble(txtUas)==0) {
showMessage("Nilai UAS tidak Valid!");
txtUts.requestFocus();
}else if (getDouble(txtUas)>100) {
showMessage("Nilai UAS tidak boleh lebih dari 100!");
txtUts.requestFocus();
}else if (getDouble(txtTugas)==0) {
showMessage("Nilai TUGAS tidak Valid!");
txtTugas.requestFocus();
}else if (getDouble(txtTugas)>100) {
showMessage("Nilai TUGAS tidak boleh lebih dari 100!");
txtUts.requestFocus();
}else if (getDouble(txtUts)==0) {
showMessage("Nilai UTS tidak Valid!");
txtUas.requestFocus();
}else if (getDouble(txtUts)>100) {
showMessage("Nilai UTS tidak boleh lebih dari 100!");
txtUts.requestFocus();
}else {
return true;
}
return false;
}
private void showMessage(String msg) {
Builder dialog = new Builder(this);
dialog.setTitle("Error");
dialog.setMessage(msg);
dialog.setPositiveButton("OK", null);
dialog.show();
}
private double getDouble(EditText text){
try {
double num = Double.valueOf(text.getText().toString());
return num;
} catch (Exception e) {
return 0;
// TODO: handle exception
}
}
public void hitungProses(){
if (IsDataValid()) {
txtRata.setEnabled(false);
txtgrade.setEnabled(false);
txtStat.setEnabled(false);
double tUAS = Double.valueOf(txtUas.getText().toString());
double tUTS = Double.valueOf(txtUts.getText().toString());
double tTugas = Double.valueOf(txtTugas.getText().toString());
double tAbsen = Double.valueOf(txtAbsen.getText().toString());
double Rata = (tUAS*40/100)+(tUTS*30/100)+(tTugas*20/100)+(tAbsen/14)*(100/10);
String grade = "";
String keterangan ="";
try {
if (Rata >= 35 && Rata <50) {
grade = "D";
keterangan = "Bad";
}if (Rata>=50 && Rata<=70) {
grade="C";
keterangan="Enought";
}if (Rata>=70 && Rata<80) {
grade="B";
keterangan="Good";
}if (Rata>=80 && Rata<=100) {
grade="A";
keterangan="Excelent";
}if (Rata <35) {
grade="E";
keterangan="Very Bad";
}
txtRata.setText(Rata+"");
txtgrade.setText(grade+"");
txtStat.setText(keterangan+"");
} catch (Exception e) {
e.printStackTrace();
}
}
}
public void onClick( final View view){
if (view==btnKeluar) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Apakah Anda Ingin Keluar ?")
.setCancelable(false)
.setPositiveButton("Ya",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
MainActivity.this.finish();
}
})
.setNegativeButton("Tidak",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
}).show();
}else if (view==btnHitung) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Apakah Anda Akan Memproses ?")
.setCancelable(false)
.setPositiveButton("Ya",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
hitungProses();
// TODO Auto-generated method stub
}
})
.setNegativeButton("TIdak",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
}).show();
}else if (view==btnHapus) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Apakah Anda Akan Menghapus ?")
.setCancelable(false)
.setPositiveButton("Ya",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
hapus();
}
})
.setNegativeButton("Tidak",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
dialog.cancel();
}
}).show();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
7. Setelah itu modifikasi file activity_main.java
copykan kode dibawah ini ke activity_main.java
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Menghitung Nilai Mahasiswa"
android:textSize="10pt"
android:paddingBottom="5pt"/>
<ScrollView
android:layout_height="match_parent"
android:layout_width="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:text="Nilai Uas"
android:textSize="7pt"
android:layout_height="wrap_content"
android:layout_width="wrap_content"/>
<EditText
android:id="@+id/nUAS"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<TextView
android:text="Nilai Uts"
android:textSize="7pt"
android:layout_height="wrap_content"
android:layout_width="wrap_content"/>
<EditText
android:id="@+id/nUTS"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<TextView
android:text="Nilai Tugas"
android:textSize="7pt"
android:layout_height="wrap_content"
android:layout_width="wrap_content"/>
<EditText
android:id="@+id/nTugas"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<TextView
android:text="Absensi"
android:textSize="7pt"
android:layout_height="wrap_content"
android:layout_width="wrap_content"/>
<EditText
android:id="@+id/nAbsen"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<TextView
android:text="Rata-Rata"
android:textSize="7pt"
android:layout_height="wrap_content"
android:layout_width="wrap_content"/>
<EditText
android:id="@+id/nrr"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<TextView
android:text="Grade"
android:editable="false"
android:textSize="7pt"
android:layout_height="wrap_content"
android:layout_width="wrap_content"/>
<EditText
android:id="@+id/grade"
android:editable="false"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<TextView
android:text="Status"
android:textSize="7pt"
android:layout_height="wrap_content"
android:layout_width="wrap_content"/>
<EditText
android:id="@+id/status"
android:editable="false"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<LinearLayout
android:layout_height="match_parent"
android:layout_width="match_parent"
android:orientation="horizontal"
android:gravity="center">
<ImageButton
android:id="@+id/btnHitung"
android:text="Hitung"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:src="@drawable/hitung"/>
<ImageButton
android:id="@+id/btnHapus"
android:text="Hapus"
android:src="@drawable/clear"
android:layout_height="wrap_content"
android:layout_width="wrap_content"/>
<ImageButton
android:id="@+id/btnKeluar"
android:text="Keluar"
android:src="@drawable/closed"
android:layout_height="wrap_content"
android:layout_width="wrap_content"/> >
</LinearLayout>
</LinearLayout>
</ScrollView>
</LinearLayout>
8. untuk gambar Hitung, hapus dan keluar bisa di download dan di copy ke res -> drawable-hdpi
Kemudian save semua filenya
9. Jalankan Projectnya klik kanan project AplikasiHitungNilai->pilih Run As->pilih Android aplication, maka akan muncul dialog seperti berikut
Klik OK,maka akan tampil aplikasinya
Selamat mencoba :)
Untuk sourch lengkapnya bisa di download di sini
0 comments:
Post a Comment
“Terima kasih sudah membaca blog saya, silahkan tinggalkan komentar”