ads

Iklan

Download Aplikasi CRUD Menghitung Nilai Akhir Mahasiswa dengan Pemrograman Android

Aplikasi Menghitung Nilai Akhir Semester Mahasiswa

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
SHARE

Milan Tomic

Hi. I’m Designer of Blog Magic. I’m CEO/Founder of ThemeXpose. I’m Creative Art Director, Web Designer, UI/UX Designer, Interaction Designer, Industrial Designer, Web Developer, Business Enthusiast, StartUp Enthusiast, Speaker, Writer and Photographer. Inspired to make things looks better.

  • Image
  • Image
  • Image
  • Image
  • Image
    Blogger Comment
    Facebook Comment

0 comments:

Post a Comment

“Terima kasih sudah membaca blog saya, silahkan tinggalkan komentar”