• Tidak ada hasil yang ditemukan

Perbandingan Sistem Pendukung Keputusan Pemilihan Calon Ketua Osis Pada Smk Swasta Nusa Penida Medan Dengan Metodesimple Additive Weighting & Weighted Summodel Berbasis Android

N/A
N/A
Protected

Academic year: 2017

Membagikan "Perbandingan Sistem Pendukung Keputusan Pemilihan Calon Ketua Osis Pada Smk Swasta Nusa Penida Medan Dengan Metodesimple Additive Weighting & Weighted Summodel Berbasis Android"

Copied!
101
0
0

Teks penuh

(1)

LISTING PROGRAM

1. MainActivity.java

package com.nanda; import java.util.ArrayList; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; import android.graphics.Color; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.Spinner;

public class MainActivity extends ActionBarActivity implements OnClickListener {

Button buttonDaftarCalon, buttonWSMdanSAW, buttonAbout; @Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

buttonDaftarCalon = (Button)

findViewById(R.id.buttonDaftarCalon);

buttonDaftarCalon.setOnClickListener(this);

buttonWSMdanSAW = (Button) findViewById(R.id.buttonWSMdanSAW); buttonWSMdanSAW.setOnClickListener(this);

buttonAbout = (Button) findViewById(R.id.buttonAbout); buttonAbout.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.main, menu); return true;

}

@Override

public boolean onOptionsItemSelected(MenuItem item) {

// Handle action bar item clicks here. The action bar will

▸ Baca selengkapnya: apakah ketua osis bisa mengundurkan diri

(2)

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

@Override

public void onClick(View v) { switch (v.getId()) {

case R.id.buttonDaftarCalon:

startActivity(new Intent(this, Daftar_Calon.class)); break;

case R.id.buttonWSMdanSAW:

SQLiteHelper helper = new SQLiteHelper(getBaseContext()); ArrayList<String> tahun = helper.getTahun();

final Spinner spinner = new Spinner(getBaseContext()); spinner.setBackgroundColor(Color.WHITE);

ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(

getBaseContext(), R.layout.spinner_manual, tahun);

spinner.setBackgroundColor(Color.GRAY); spinner.setAdapter(spinnerArrayAdapter); for (int i = 0; i < tahun.size(); i++) {

System.out.println("Tahun ====== " + tahun.get(i)); }

AlertDialog.Builder builderInsertBiodata = new AlertDialog.Builder(

this);

builderInsertBiodata.setTitle("Pilih Tahun"); builderInsertBiodata.setView(spinner);

builderInsertBiodata.setPositiveButton("OK",

new DialogInterface.OnClickListener() { @Override

public void onClick(DialogInterface dialog, int which) {

Session.setTahun(spinner.getSelectedItem()

.toString().trim()); startActivity(new

▸ Baca selengkapnya: download laporan pemilihan ketua osis

(3)

HasilWSM_SAW.class)); }

});

builderInsertBiodata.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

dialog.cancel(); } }); builderInsertBiodata.show(); break; case R.id.buttonAbout:

startActivity(new Intent(this, About.class)); break; default: break; } } }

2. Daftar_Calon.java

package com.nanda; import java.util.ArrayList; import java.util.HashMap; import android.R.layout; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.graphics.Color; import android.os.Bundle; import android.support.v4.view.ViewPager.LayoutParams; import android.text.InputFilter; import android.text.Spanned; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.LinearLayout; import android.widget.ScrollView; import android.widget.TableLayout; import android.widget.TableRow; import android.widget.TextView;

public class Daftar_Calon extends Activity implements OnClickListener { SQLiteHelper sqLiteHelper = new SQLiteHelper(this);

TableLayout tabelBiodata; Button buttonTambahBiodata;

▸ Baca selengkapnya: kata pengantar proposal pemilihan ketua osis

(4)

ArrayList<Button> buttonDelete = new ArrayList<Button>(); @Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.biodata);

tabelBiodata = (TableLayout) findViewById(R.id.tableBiodata); buttonTambahBiodata = (Button)

findViewById(R.id.buttonTambahBiodata);

buttonTambahBiodata.setOnClickListener(this); TableRow barisTabel = new TableRow(this); barisTabel.setBackgroundColor(Color.RED); TextView viewHeaderId = new TextView(this); TextView viewHeaderNama = new TextView(this);

TextView viewHeaderKetidakHadiran = new TextView(this); TextView viewHeaderInteraksi = new TextView(this); TextView viewHeaderKelakuan = new TextView(this); TextView viewHeaderKebersihan = new TextView(this); TextView viewHeaderTanggungJawab = new TextView(this); TextView viewHeaderKreatif = new TextView(this);

TextView viewHeaderAktif = new TextView(this); TextView viewHeaderDisiplin = new TextView(this); TextView viewHeaderTahun = new TextView(this); TextView viewHeaderAction = new TextView(this); // ketidak_hadiran,

// String interaksi, String kelakuan, String kebersihan,

// String tanggung_jawab, String kreatif, String aktif, String disiplin viewHeaderId.setText("ID"); viewHeaderNama.setText("Nama"); viewHeaderKetidakHadiran.setText("Ketidak Hadiran"); viewHeaderInteraksi.setText("Interaksi"); viewHeaderKelakuan.setText("Kelakuan"); viewHeaderKebersihan.setText("Kebersihan"); viewHeaderTanggungJawab.setText("Tanggung Jawab"); viewHeaderKreatif.setText("Kreatif"); viewHeaderAktif.setText("Aktif"); viewHeaderDisiplin.setText("Disiplin"); viewHeaderTahun.setText("Tahun"); viewHeaderAction.setText("Action"); viewHeaderId.setPadding(5, 1, 5, 1); viewHeaderNama.setPadding(5, 1, 5, 1);

viewHeaderKetidakHadiran.setPadding(5, 1, 5, 1); viewHeaderInteraksi.setPadding(5, 1, 5, 1); viewHeaderKelakuan.setPadding(5, 1, 5, 1); viewHeaderKebersihan.setPadding(5, 1, 5, 1); viewHeaderTanggungJawab.setPadding(5, 1, 5, 1); viewHeaderKreatif.setPadding(5, 1, 5, 1);

(5)

barisTabel.addView(viewHeaderId); barisTabel.addView(viewHeaderNama); barisTabel.addView(viewHeaderKetidakHadiran); barisTabel.addView(viewHeaderInteraksi); barisTabel.addView(viewHeaderKelakuan); barisTabel.addView(viewHeaderKebersihan); barisTabel.addView(viewHeaderTanggungJawab); barisTabel.addView(viewHeaderKreatif); barisTabel.addView(viewHeaderAktif); barisTabel.addView(viewHeaderDisiplin); barisTabel.addView(viewHeaderTahun); barisTabel.addView(viewHeaderAction);

tabelBiodata.addView(barisTabel, new TableLayout.LayoutParams( LayoutParams.WRAP_CONTENT,

LayoutParams.WRAP_CONTENT));

ArrayList<HashMap<String, String>> arrayListBiodata = sqLiteHelper

.tampil_semua_biodata(); if (arrayListBiodata.size() > 0) {

for (int i = 0; i < arrayListBiodata.size(); i++) {

// ambil masing-masing hasmap dari arrayListBiodata HashMap<String, String> hashMapRecordBiodata = arrayListBiodata

.get(i);

// JSONObject jsonChildNode = arrayBiodata.getJSONObject(i);

String id = hashMapRecordBiodata.get("id_biodata"); String nama = hashMapRecordBiodata.get("nama"); String ketidakHadiran = hashMapRecordBiodata

.get("ketidak_hadiran"); String interaksi =

hashMapRecordBiodata.get("interaksi"); String kelakuan = hashMapRecordBiodata.get("kelakuan");

String kebersihan = hashMapRecordBiodata.get("kebersihan");

String tanggungJawab = hashMapRecordBiodata .get("tanggung_jawab");

String kreatif = hashMapRecordBiodata.get("kreatif");

String aktif = hashMapRecordBiodata.get("aktif"); String disiplin =

hashMapRecordBiodata.get("disiplin");

String tahun = hashMapRecordBiodata.get("tahun"); barisTabel = new TableRow(this);

(6)

barisTabel.setBackgroundColor(Color.LTGRAY); }

TextView viewId = new TextView(this); viewId.setText(id);

viewId.setPadding(5, 1, 5, 1); barisTabel.addView(viewId);

TextView viewNama = new TextView(this); viewNama.setText(nama);

viewNama.setPadding(5, 1, 5, 1); barisTabel.addView(viewNama); TextView viewKetidakHadiran = new TextView(this);

viewKetidakHadiran.setText(ketidakHadiran); viewKetidakHadiran.setPadding(5, 1, 5, 1); barisTabel.addView(viewKetidakHadiran); TextView viewInteraksi = new TextView(this); viewInteraksi.setText(interaksi);

viewInteraksi.setPadding(5, 1, 5, 1); barisTabel.addView(viewInteraksi);

TextView viewKelakuan = new TextView(this); viewKelakuan.setText(kelakuan);

viewKelakuan.setPadding(5, 1, 5, 1); barisTabel.addView(viewKelakuan);

TextView viewKebersihan = new TextView(this); viewKebersihan.setText(kebersihan);

viewKebersihan.setPadding(5, 1, 5, 1); barisTabel.addView(viewKebersihan); TextView viewTanggungJawab = new TextView(this);

viewTanggungJawab.setText(tanggungJawab); viewTanggungJawab.setPadding(5, 1, 5, 1); barisTabel.addView(viewTanggungJawab); TextView viewKreatif = new TextView(this); viewKreatif.setText(kreatif);

viewKreatif.setPadding(5, 1, 5, 1); barisTabel.addView(viewKreatif);

TextView viewAktif = new TextView(this); viewAktif.setText(aktif);

viewAktif.setPadding(5, 1, 5, 1); barisTabel.addView(viewAktif);

TextView viewDisiplin = new TextView(this); viewDisiplin.setText(disiplin);

viewDisiplin.setPadding(5, 1, 5, 1); barisTabel.addView(viewDisiplin);

TextView viewTahun = new TextView(this); viewTahun.setText(tahun);

(7)

buttonEdit.add(i, new Button(this)); buttonEdit.get(i).setId(Integer.parseInt(id)); buttonEdit.get(i).setTag("Edit"); buttonEdit.get(i).setText("Ubah"); buttonEdit.get(i).setOnClickListener(this); barisTabel.addView(buttonEdit.get(i)); buttonDelete.add(i, new Button(this));

buttonDelete.get(i).setId(Integer.parseInt(id)); buttonDelete.get(i).setTag("Delete"); buttonDelete.get(i).setText("Hapus"); buttonDelete.get(i).setOnClickListener(this); barisTabel.addView(buttonDelete.get(i)); tabelBiodata.addView(barisTabel, new TableLayout.LayoutParams( LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); } } } @Override

public void onClick(View view) {

if (view.getId() == R.id.buttonTambahBiodata) {

// Toast.makeText(MainActivity.this, "Button Tambah Data",

// Toast.LENGTH_SHORT).show(); tambahBiodata();

} else { /*

* Melakukan pengecekan pada data array, agar sesuai dengan index

* masing-masing button */

for (int i = 0; i < button Edit.size(); i++) { /* jika yang diklik adalah button edit */ if (view.getId() == button Edit.get(i).getId()

&&

view.getTag().toString().trim().equals("Edit")) {

// Toast. make Text(Main Activity.this, "Edit : " +

// buttonEdit.get(i).getId(), Toast.LENGTH_SHORT).show();

int id = buttonEdit.get(i).getId(); getDataByID(id);

} /* jika yang diklik adalah button delete */ else if (view.getId() ==

(8)

view.getTag().toString().trim().equals("Delete")) {

// Toast.makeText(MainActivity.this, "Delete : " +

// buttonDelete.get(i).getId(), Toast.LENGTH_SHORT).show();

int id = buttonDelete.get(i).getId(); deleteBiodata(id);

} }

} }

public void deleteBiodata(int id) { sqLiteHelper.hapus_biodata(id); /* restart acrtivity */

finish();

startActivity(getIntent()); }

public void getDataByID(int id) {

String namaEdit = null, ketidak_hadiranEdit = null, interaksiEdit = null, kelakuanEdit = null, kebersihanEdit = null, tanggung_jawabEdit = null, kreatifEdit = null, aktifEdit = null, disiplinEdit = null, tahunEdit = null;

InputFilter filter = new InputFilter() {

public CharSequence filter(CharSequence source, int start, int end,

Spanned dest, int dstart, int dend) { String chars = "";

for (int i = start; i < end; i++) { if (Character.toString(source.charAt(i)).equals("a") || Character.toString(source.charAt(i)).equals("A") || Character.toString(source.charAt(i)).equals("b") || Character.toString(source.charAt(i)).equals("B") || Character.toString(source.charAt(i)).equals("c") || Character.toString(source.charAt(i)).equals("C") || Character.toString(source.charAt(i)).equals("d") || Character.toString(source.charAt(i)).equals("D")) { chars = String.valueOf(source.charAt(i)).toUpperCase(); } else {

} }

return chars; }

(9)

HashMap<String, String> hashMapBiodata = sqLiteHelper .tampil_biodata_berdasarkan_id(id); for (int i = 0; i < hashMapBiodata.size(); i++) {

namaEdit = hashMapBiodata.get("nama"); ketidak_hadiranEdit =

hashMapBiodata.get("ketidak_hadiran");

interaksiEdit = hashMapBiodata.get("interaksi"); kelakuanEdit = hashMapBiodata.get("kelakuan"); kebersihanEdit = hashMapBiodata.get("kebersihan"); tanggung_jawabEdit =

hashMapBiodata.get("tanggung_jawab");

kreatifEdit = hashMapBiodata.get("kreatif"); aktifEdit = hashMapBiodata.get("aktif");

disiplinEdit = hashMapBiodata.get("disiplin"); tahunEdit = hashMapBiodata.get("tahun");

}

LinearLayout layoutInput = new LinearLayout(this); layoutInput.setOrientation(LinearLayout.VERTICAL); // buat id tersembunyi di alertbuilder

final TextView viewId = new TextView(this); viewId.setText(String.valueOf(id));

viewId.setTextColor(Color.TRANSPARENT); layoutInput.addView(viewId);

final EditText editNama = new EditText(this); editNama.setHint("Nama");

editNama.setText(namaEdit); layoutInput.addView(editNama);

final EditText editKetidakHadiran = new EditText(this); editKetidakHadiran.setHint("Ketidak Hadiran");

editKetidakHadiran.setText(ketidak_hadiranEdit);

editKetidakHadiran.setFilters(new InputFilter[] { filter, new InputFilter.LengthFilter(1) });

layoutInput.addView(editKetidakHadiran);

final EditText editInteraksi = new EditText(this); editInteraksi.setText(interaksiEdit);

editInteraksi.setHint("Interaksi");

editInteraksi.setFilters(new InputFilter[] { filter, new InputFilter.LengthFilter(1) }); layoutInput.addView(editInteraksi);

final EditText editKelakuan = new EditText(this); editKelakuan.setText(kelakuanEdit);

editKelakuan.setHint("Kelakuan");

editKelakuan.setFilters(new InputFilter[] { filter, new InputFilter.LengthFilter(1) }); layoutInput.addView(editKelakuan);

final EditText editKebersihan = new EditText(this); editKebersihan.setText(kebersihanEdit);

editKebersihan.setHint("Kebersihan");

editKebersihan.setFilters(new InputFilter[] { filter, new InputFilter.LengthFilter(1) });

(10)

final EditText editTanggungJawab = new EditText(this); editTanggungJawab.setText(tanggung_jawabEdit); editTanggungJawab.setHint("Tanggung Jawab");

editTanggungJawab.setFilters(new InputFilter[] { filter, new InputFilter.LengthFilter(1) });

layoutInput.addView(editTanggungJawab);

final EditText editKreatif = new EditText(this); editKreatif.setText(kreatifEdit);

editKreatif.setHint("Kreatif");

editKreatif.setFilters(new InputFilter[] { filter, new InputFilter.LengthFilter(1) }); layoutInput.addView(editKreatif);

final EditText editAktif = new EditText(this); editAktif.setText(aktifEdit);

editAktif.setHint("Aktif");

editAktif.setFilters(new InputFilter[] { filter, new InputFilter.LengthFilter(1) }); layoutInput.addView(editAktif);

final EditText editDisiplin = new EditText(this); editDisiplin.setText(disiplinEdit);

editDisiplin.setHint("Disiplin");

editDisiplin.setFilters(new InputFilter[] { filter, new InputFilter.LengthFilter(1) }); layoutInput.addView(editDisiplin);

final EditText editTahun = new EditText(this); editTahun.setText(tahunEdit);

editTahun.setHint("Tahun"); layoutInput.addView(editTahun);

ScrollView scroll = new ScrollView(this); scroll.addView(layoutInput);

AlertDialog.Builder builderEditBiodata = new AlertDialog.Builder(this);

builderEditBiodata.setTitle("Update Biodata"); builderEditBiodata.setView(scroll);

builderEditBiodata.setPositiveButton("Update", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

String nama = editNama.getText().toString();

String ketidak_hadiran = editKetidakHadiran.getText()

.toString(); String interaksi =

editInteraksi.getText().toString();

String kelakuan = editKelakuan.getText().toString();

String kebersihan = editKebersihan.getText().toString();

(11)

.toString();

String kreatif = editKreatif.getText().toString();

String aktif = editAktif.getText().toString();

String disiplin = editDisiplin.getText().toString();

String tahun = editTahun.getText().toString(); sqLiteHelper.update_biodata( Integer.parseInt(viewId.getText().toString()), nama, ketidak_hadiran, interaksi, kelakuan, kebersihan, tanggung_jawab, kreatif, aktif, disiplin, tahun); /* restart acrtivity */

finish();

startActivity(getIntent()); }

});

builderEditBiodata.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

dialog.cancel(); }

});

builderEditBiodata.show(); }

public void tambahBiodata() {

/* layout akan ditampilkan pada AlertDialog */ LinearLayout layoutInput = new LinearLayout(this); layoutInput.setOrientation(LinearLayout.VERTICAL); final EditText editNama = new EditText(this); editNama.setHint("Nama");

layoutInput.addView(editNama);

InputFilter filter = new InputFilter() {

public CharSequence filter(CharSequence source, int start, int end,

Spanned dest, int dstart, int dend) { String chars = "";

(12)

Character.toString(source.charAt(i)).equals("c") || Character.toString(source.charAt(i)).equals("C") || Character.toString(source.charAt(i)).equals("d") || Character.toString(source.charAt(i)).equals("D")) { chars = String.valueOf(source.charAt(i)).toUpperCase(); } else {

} }

return chars; }

};

final EditText editKetidakHadiran = new EditText(this); editKetidakHadiran.setHint("Ketidak Hadiran");

editKetidakHadiran.setFilters(new InputFilter[] { filter, new InputFilter.LengthFilter(1) });

layoutInput.addView(editKetidakHadiran);

final EditText editInteraksi = new EditText(this); editInteraksi.setHint("Interaksi");

editInteraksi.setFilters(new InputFilter[] { filter, new InputFilter.LengthFilter(1) }); layoutInput.addView(editInteraksi);

final EditText editKelakuan = new EditText(this); editKelakuan.setHint("Kelakuan");

editKelakuan.setFilters(new InputFilter[] { filter, new InputFilter.LengthFilter(1) }); layoutInput.addView(editKelakuan);

final EditText editKebersihan = new EditText(this); editKebersihan.setHint("Kebersihan");

editKebersihan.setFilters(new InputFilter[] { filter, new InputFilter.LengthFilter(1) });

layoutInput.addView(editKebersihan);

final EditText editTanggungJawab = new EditText(this); editTanggungJawab.setHint("Tanggung Jawab");

editTanggungJawab.setFilters(new InputFilter[] { filter, new InputFilter.LengthFilter(1) });

layoutInput.addView(editTanggungJawab);

final EditText editKreatif = new EditText(this); editKreatif.setHint("Kreatif");

editKreatif.setFilters(new InputFilter[] { filter, new InputFilter.LengthFilter(1) }); layoutInput.addView(editKreatif);

final EditText editAktif = new EditText(this); editAktif.setHint("Aktif");

(13)

final EditText editDisiplin = new EditText(this); editDisiplin.setHint("Disiplin");

editDisiplin.setFilters(new InputFilter[] { filter, new InputFilter.LengthFilter(1) }); layoutInput.addView(editDisiplin);

final EditText editTahun = new EditText(this); editTahun.setHint("Tahun");

layoutInput.addView(editTahun);

ScrollView scrollInput = new ScrollView(this); scrollInput.addView(layoutInput);

AlertDialog.Builder builderInsertBiodata = new AlertDialog.Builder(this);

builderInsertBiodata.setTitle("Insert Biodata"); builderInsertBiodata.setView(scrollInput);

builderInsertBiodata.setPositiveButton("Insert", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

String nama = editNama.getText().toString();

String ketidak_hadiran = editKetidakHadiran.getText()

.toString(); String interaksi =

editInteraksi.getText().toString();

String kelakuan = editKelakuan.getText().toString();

String kebersihan = editKebersihan.getText().toString();

String tanggung_jawab = editTanggungJawab.getText()

.toString(); String kreatif =

editKreatif.getText().toString();

String aktif = editAktif.getText().toString();

String disiplin = editDisiplin.getText().toString();

String tahun = editTahun.getText().toString(); sqLiteHelper.tambah_biodata(nama, ketidak_hadiran, interaksi, kelakuan, kebersihan, tanggung_jawab, kreatif, aktif, disiplin, tahun, getBaseContext()); /* restart acrtivity */

finish();

startActivity(getIntent()); }

});

(14)

new DialogInterface.OnClickListener() { @Override

public void onClick(DialogInterface dialog, int which) {

dialog.cancel(); } }); builderInsertBiodata.show(); } }

3. WSM_SAW.java

package com.nanda; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.Comparator; public class WSM_SAW {

public static void main(String[] args) { }

//rumus wsm

public static ArrayList<String[]> normalisasi_WSM(

ArrayList<String[]> nilaiAngka, double[] bobot) { ArrayList<String[]> dataNormalisasiSemua = new ArrayList(); for (int i = 0; i < nilaiAngka.size(); i++) {

// 0 : nama, 1-8 bagian kriteria, 9 adalah total jumlah String[] dataNormalisasiPerorang = new String[10]; double total = 0;

//perkalian bobot dan kriteria

for (int j = 0; j < nilaiAngka.get(i).length; j++) { if (j > 0) {

dataNormalisasiPerorang[j] = String.valueOf(Double

.parseDouble(nilaiAngka.get(i)[j]) * bobot[j - 1]); total +=

Double.parseDouble(dataNormalisasiPerorang[j]

.toString()); } else {

// masukkan nama saja kedalam array dataNormalisasiPerorang[j] =

(15)

Data Normalisasi Perorang[nilaiAngka.get(i).length] = String .valueOf(total);

dataNormalisasiSemua.add(dataNormalisasiPerorang); }

Collections.sort(dataNormalisasiSemua, new Comparator<String[]>() {

public int compare(String[] strings, String[] otherStrings) {

return otherStrings[9].compareTo(strings[9]); }

});

for (int i = 0; i < dataNormalisasiSemua.size(); i++) { System.out.println(Arrays.toString(dataNormalisasiSemua.get(i)));

}

return dataNormalisasiSemua; }

//rumus saw

public static ArrayList<String[]> normalisasi_SAW(

ArrayList<String[]> nilaiAngka, double[] bobot) { ArrayList<String[]> dataNormalisasiSemua = new ArrayList(); int nilai_maks_min[][] = nilai_maks_min(nilaiAngka);

int nilai_max[] = nilai_maks_min[0]; int nilai_min[] = nilai_maks_min[1]; int operand_pembagi = 0;

// perkalian bobot dan kriteria

for (int i = 0; i < nilaiAngka.size(); i++) {

// 0 : nama, 1-9 bagian kriteria, 10 adalah total jumlah String[] dataNormalisasiPerorang = new String[10];

double total = 0;

for (int j = 0; j < nilaiAngka.get(i).length; j++) { if (j > 0) {

// nilai kerugian

if (j == 1) {

operand_pembagi = nilai_min[j]; dataNormalisasiPerorang[j] = String.format(

"%.3f",

(16)

.parseDouble(nilaiAngka.get(i)[j]))

* bobot[j -1]);

//nilai keuntungan

} else if (j > 1) {

operand_pembagi = nilai_max[j]; dataNormalisasiPerorang[j] = String.format("%.3f",

(Double.parseDouble(nilaiAngka.get(i)[j]))

* bobot[j - 1] / operand_pembagi);

}

// System.out.print(operand_pembagi); total +=

Double.parseDouble(dataNormalisasiPerorang[j]); } else {

// masukkan nama saja kedalam array dataNormalisasiPerorang[j] = nilaiAngka.get(i)[j]; } } dataNormalisasiPerorang[nilaiAngka.get(i).length] = String.format( "%.3f", total); dataNormalisasiSemua.add(dataNormalisasiPerorang); }

// for (int i = 0; i < dataNormalisasiSemua.size(); i++) { //

System.out.println(Arrays.toString(dataNormalisasiSemua.get(i))); // }

Collections.sort(dataNormalisasiSemua, new Comparator<String[]>() {

public int compare(String[] strings, String[] otherStrings) {

return otherStrings[9].compareTo(strings[9]); }

});

for (int i = 0; i < dataNormalisasiSemua.size(); i++) { System.out.println(Arrays.toString(dataNormalisasiSemua.get(i)));

}

return dataNormalisasiSemua; }

(17)

public static int[][] nilai_maks_min(ArrayList<String[]> nilaiAngka) {

int maks[] = new int[nilaiAngka.get(0).length]; int min[] = new int[nilaiAngka.get(0).length]; int hasil[][] = new int[][] { maks, min }; // inisialisasi nilai

for (int i = 0; i < nilaiAngka.get(0).length; i++) { maks[i] = 0;

min[i] = 100; }

maks[0] = 0; min[0] = 0;

for (int i = 0; i < nilaiAngka.size(); i++) { // ambil maks

if (maks[1] < Integer.parseInt(nilaiAngka.get(i)[1])) { maks[1] = Integer.parseInt(nilaiAngka.get(i)[1]); }

if (maks[2] < Integer.parseInt(nilaiAngka.get(i)[2])) { maks[2] = Integer.parseInt(nilaiAngka.get(i)[2]); }

if (maks[3] < Integer.parseInt(nilaiAngka.get(i)[3])) { maks[3] = Integer.parseInt(nilaiAngka.get(i)[3]); }

if (maks[4] < Integer.parseInt(nilaiAngka.get(i)[4])) { maks[4] = Integer.parseInt(nilaiAngka.get(i)[4]); }

if (maks[5] < Integer.parseInt(nilaiAngka.get(i)[5])) { maks[5] = Integer.parseInt(nilaiAngka.get(i)[5]); }

if (maks[6] < Integer.parseInt(nilaiAngka.get(i)[6])) { maks[6] = Integer.parseInt(nilaiAngka.get(i)[6]); }

if (maks[7] < Integer.parseInt(nilaiAngka.get(i)[7])) { maks[7] = Integer.parseInt(nilaiAngka.get(i)[7]); }

if (maks[8] < Integer.parseInt(nilaiAngka.get(i)[8])) { maks[8] = Integer.parseInt(nilaiAngka.get(i)[8]); }

(18)

if (min[1] > Integer.parseInt(nilaiAngka.get(i)[1])) { min[1] = Integer.parseInt(nilaiAngka.get(i)[1]); }

if (min[2] > Integer.parseInt(nilaiAngka.get(i)[2])) { min[2] = Integer.parseInt(nilaiAngka.get(i)[2]); }

if (min[3] > Integer.parseInt(nilaiAngka.get(i)[3])) { min[3] = Integer.parseInt(nilaiAngka.get(i)[3]); }

if (min[4] > Integer.parseInt(nilaiAngka.get(i)[4])) { min[4] = Integer.parseInt(nilaiAngka.get(i)[4]); }

if (min[5] > Integer.parseInt(nilaiAngka.get(i)[5])) { min[5] = Integer.parseInt(nilaiAngka.get(i)[5]); }

if (min[6] > Integer.parseInt(nilaiAngka.get(i)[6])) { min[6] = Integer.parseInt(nilaiAngka.get(i)[6]); }

if (min[7] > Integer.parseInt(nilaiAngka.get(i)[7])) { min[7] = Integer.parseInt(nilaiAngka.get(i)[7]); }

if (min[8] > Integer.parseInt(nilaiAngka.get(i)[8])) { min[8] = Integer.parseInt(nilaiAngka.get(i)[8]); }

}

hasil = new int[][] { maks, min }; return hasil;

}

public static ArrayList<String[]> nilai_angka(ArrayList<String[]> data_calon) {

// ketentuan nilai angka: // a = 7

// b = 5 // c = 3 // d = 1

(19)

String[] nilaiAngkaPerorang = new String[9];

for (int j = 0; j < data_calon.get(i).length; j++) { if (j > 0) {

// masukkan nilai yang sudah dikalikan dengan bobot

int nilaiAngka = 0; if

(data_calon.get(i)[j].toUpperCase().equals("A")) { nilaiAngka = 7; } else if

(data_calon.get(i)[j].toUpperCase().equals("B")) { nilaiAngka = 5; } else if

(data_calon.get(i)[j].toUpperCase().equals("C")) { nilaiAngka = 3; } else if

(data_calon.get(i)[j].toUpperCase().equals("D")) { nilaiAngka = 1; }

nilaiAngkaPerorang[j] = String.valueOf(nilaiAngka);

} else {

// masukkan nama saja kedalam array

nilaiAngkaPerorang[j] = data_calon.get(i)[j]; } } dataNilaiAngkaSemua.add(nilaiAngkaPerorang); // System.out.println(Arrays.toString(nilaiAngkaPerorang)); } return dataNilaiAngkaSemua; }

public static ArrayList<String[]> masukkan_data_dalam_arraylist() { ArrayList<String[]> dataSemuaCalonKetuaOsis = new

ArrayList<String[]>();

String[] dataPerorangCalonKetuaOsisi = new String[9];

// nama calon ketua osis, ketidakhadiran, interaksi, kelakuan, // kebersihan, tanggung jawab, kreatif, aktif, disiplin

dataPerorangCalonKetuaOsisi = new String[] { "Ani", "A", "B", "B", "C",

"D", "B", "B", "B" };

dataSemuaCalonKetuaOsis.add(dataPerorangCalonKetuaOsisi); dataPerorangCalonKetuaOsisi = new String[] { "Budi", "B", "C", "A",

"D", "B", "D", "B", "D" };

(20)

dataPerorangCalonKetuaOsisi = new String[] { "Citra", "D", "B", "C", "B", "A", "C", "B", "B" };

dataSemuaCalonKetuaOsis.add(dataPerorangCalonKetuaOsisi); dataPerorangCalonKetuaOsisi = new String[] { "Doni", "B", "D", "C",

"A", "B", "A", "A", "D" };

dataSemuaCalonKetuaOsis.add(dataPerorangCalonKetuaOsisi); return dataSemuaCalonKetuaOsis;

}

public static double[] bobot() {

// ketidakhadiran, interaksi, kelakuan, kebersihan, tanggung jawab,

// kreatif, aktif, disiplin

double[] nilai_bobot = new double[] { 0.2, 0.1, 0.1, 0.2, 0.1, 0.1, 0.1, 0.1 };

return nilai_bobot; } }

4. HasilWSM_SAW.java

package com.nanda; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import android.app.Activity; import android.graphics.Color; import android.os.Bundle; import android.support.v4.view.ViewPager.LayoutParams; import android.widget.TableLayout; import android.widget.TableRow; import android.widget.TextView;

public class HasilWSM_SAW extends Activity {

SQLiteHelper sqLiteHelper = new SQLiteHelper(this); WSM_SAW wsm_saw = new WSM_SAW();

TableLayout tabelLayoutWSM, tabelLayoutSAW; @Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.hasil_saw_wsm); tabelLayoutWSM = (TableLayout)

(21)

format_table(tabelLayoutSAW);

// nama calon ketua osis, ketidakhadiran, interaksi, kelakuan, // kebersihan, tanggung jawab, kreatif, aktif, disiplin

ArrayList<String[]> data_calon = new ArrayList<String[]>(); ArrayList<HashMap<String, String>> arrayListBiodata =

sqLiteHelper

.tampil_semua_biodata_berdasarkan_tahun(); if (arrayListBiodata.size() > 0) {

for (int i = 0; i < arrayListBiodata.size(); i++) { String[] dataCalonPerorang = new String[9]; HashMap<String, String> hashMapRecordBiodata = arrayListBiodata

.get(i); // String id =

hashMapRecordBiodata.get("id_biodata"); dataCalonPerorang[0] = hashMapRecordBiodata.get("nama");

dataCalonPerorang[1] = hashMapRecordBiodata .get("ketidak_hadiran"); dataCalonPerorang[2] = hashMapRecordBiodata.get("interaksi"); dataCalonPerorang[3] = hashMapRecordBiodata.get("kelakuan"); dataCalonPerorang[4] = hashMapRecordBiodata.get("kebersihan");

dataCalonPerorang[5] = hashMapRecordBiodata .get("tanggung_jawab"); dataCalonPerorang[6] = hashMapRecordBiodata.get("kreatif"); dataCalonPerorang[7] = hashMapRecordBiodata.get("aktif"); dataCalonPerorang[8] = hashMapRecordBiodata.get("disiplin"); System.out.println(Arrays.toString(dataCalonPerorang)); data_calon.add(dataCalonPerorang); }

double[] bobot = wsm_saw.bobot(); ArrayList<String[]>nilaAngka= WSM_SAW.nilai_angka(data_calon);

ArrayList<String[]>hasil_WSM= wsm_saw.normalisasi_WSM(nilaAngka,

bobot);

for (int i = 0; i < hasil_WSM.size(); i++) { System.out.println(Arrays.toString(hasil_WSM.get(i)));

(22)

String ketidak_hadiran = hasil_WSM.get(i)[1];

String interaksi = hasil_WSM.get(i)[2]; String kelakuan = hasil_WSM.get(i)[3]; String kebersihan = hasil_WSM.get(i)[4]; String tanggung_jawab = hasil_WSM.get(i)[5]; String kreatif = hasil_WSM.get(i)[6];

String aktif = hasil_WSM.get(i)[7]; String disiplin = hasil_WSM.get(i)[8]; String total = hasil_WSM.get(i)[9];

// System.out.println(total+"---" +

// disiplin);

tabel_data(tabelLayoutWSM, nama, ketidak_hadiran, interaksi,

kelakuan, kebersihan, tanggung_jawab, kreatif, aktif,

disiplin, total); }

ArrayList<String[]> hasil_SAW =

wsm_saw.normalisasi_SAW(nilaAngka, bobot);

for (int i = 0; i < hasil_SAW.size(); i++) { System.out.println(Arrays.toString(hasil_SAW.get(i)));

String nama = hasil_SAW.get(i)[0];

String ketidak_hadiran = hasil_SAW.get(i)[1]; String interaksi = hasil_SAW.get(i)[2];

String kelakuan = hasil_SAW.get(i)[3]; String kebersihan = hasil_SAW.get(i)[4]; String tanggung_jawab = hasil_SAW.get(i)[5]; String kreatif = hasil_SAW.get(i)[6];

String aktif = hasil_SAW.get(i)[7]; String disiplin = hasil_SAW.get(i)[8]; String total = hasil_SAW.get(i)[9];

// System.out.println(total+"---" +

// disiplin);

tabel_data(tabelLayoutSAW, nama, ketidak_hadiran, interaksi,

kelakuan, kebersihan, tanggung_jawab, kreatif, aktif,

disiplin, total); }

} }

public void tabel_data(TableLayout tableLayout, String nama,

String ketidak_hadiran, String interaksi, String kelakuan,

(23)

TableRow barisTabel = new TableRow(this);

TextView viewNama = new TextView(this); viewNama.setText(nama);

viewNama.setPadding(5, 1, 5, 1); barisTabel.addView(viewNama);

TextView viewKetidakHadiran = new TextView(this);

viewKetidakHadiran.setText(String.valueOf(String.format("%.3f", Double.parseDouble(ketidak_hadiran))));

viewKetidakHadiran.setPadding(5, 1, 5, 1); barisTabel.addView(viewKetidakHadiran); TextView viewInteraksi = new TextView(this);

viewInteraksi.setText(String.valueOf(String.format("%.3f", Double.parseDouble(interaksi))));

viewInteraksi.setPadding(5, 1, 5, 1); barisTabel.addView(viewInteraksi);

TextView viewKelakuan = new TextView(this);

viewKelakuan.setText(String.valueOf(String.format("%.3f", Double.parseDouble(kelakuan))));

viewKelakuan.setPadding(5, 1, 5, 1); barisTabel.addView(viewKelakuan);

TextView viewKebersihan = new TextView(this);

viewKebersihan.setText(String.valueOf(String.format("%.3f", Double.parseDouble(kebersihan))));

viewKebersihan.setPadding(5, 1, 5, 1); barisTabel.addView(viewKebersihan);

TextView viewTanggungJawab = new TextView(this);

viewTanggungJawab.setText(String.valueOf(String.format("%.3f", Double.parseDouble(tanggung_jawab))));

viewTanggungJawab.setPadding(5, 1, 5, 1); barisTabel.addView(viewTanggungJawab); TextView viewKreatif = new TextView(this);

viewKreatif.setText(String.valueOf(String.format("%.3f", Double.parseDouble(kreatif))));

viewKreatif.setPadding(5, 1, 5, 1); barisTabel.addView(viewKreatif);

TextView viewAktif = new TextView(this);

viewAktif.setText(String.valueOf(String.format("%.3f", Double.parseDouble(aktif))));

viewAktif.setPadding(5, 1, 5, 1); barisTabel.addView(viewAktif);

TextView viewDisiplin = new TextView(this);

viewDisiplin.setText(String.valueOf(String.format("%.3f", Double.parseDouble(disiplin))));

viewDisiplin.setPadding(5, 1, 5, 1); barisTabel.addView(viewDisiplin);

(24)

viewTotal.setText(String.valueOf(String.format("%.3f", Double.parseDouble(total)))); viewTotal.setPadding(5, 1, 5, 1);

barisTabel.addView(viewTotal);

tableLayout.addView(barisTabel, new TableLayout.LayoutParams( LayoutParams.MATCH_PARENT,

LayoutParams.MATCH_PARENT)); }

public void format_table(TableLayout tableLayout) { TableRow barisTabel = new TableRow(this); barisTabel.setBackgroundColor(Color.RED); // TextView viewHeaderId = new TextView(this); TextView viewHeaderNama = new TextView(this);

TextView viewHeaderKetidakHadiran = new TextView(this); TextView viewHeaderInteraksi = new TextView(this); TextView viewHeaderKelakuan = new TextView(this); TextView viewHeaderKebersihan = new TextView(this); TextView viewHeaderTanggungJawab = new TextView(this); TextView viewHeaderKreatif = new TextView(this);

TextView viewHeaderAktif = new TextView(this); TextView viewHeaderDisiplin = new TextView(this); TextView viewHeaderTotal = new TextView(this); // ketidak_hadiran,

// String interaksi, String kelakuan, String kebersihan,

// String tanggung_jawab, String kreatif, String aktif, String disiplin // viewHeaderId.setText("ID"); viewHeaderNama.setText("Nama"); viewHeaderKetidakHadiran.setText("Ketidak Hadiran"); viewHeaderInteraksi.setText("Interaksi"); viewHeaderKelakuan.setText("Kelakuan"); viewHeaderKebersihan.setText("Kebersihan"); viewHeaderTanggungJawab.setText("Tanggung Jawab"); viewHeaderKreatif.setText("Kreatif"); viewHeaderAktif.setText("Aktif"); viewHeaderDisiplin.setText("Disiplin"); viewHeaderTotal.setText("Total");

// viewHeaderId.setPadding(5, 1, 5, 1); viewHeaderNama.setPadding(5, 1, 5, 1);

viewHeaderKetidakHadiran.setPadding(5, 1, 5, 1); viewHeaderInteraksi.setPadding(5, 1, 5, 1); viewHeaderKelakuan.setPadding(5, 1, 5, 1); viewHeaderKebersihan.setPadding(5, 1, 5, 1); viewHeaderTanggungJawab.setPadding(5, 1, 5, 1); viewHeaderKreatif.setPadding(5, 1, 5, 1);

(25)

barisTabel.addView(viewHeaderKetidakHadiran); barisTabel.addView(viewHeaderInteraksi); barisTabel.addView(viewHeaderKelakuan); barisTabel.addView(viewHeaderKebersihan); barisTabel.addView(viewHeaderTanggungJawab); barisTabel.addView(viewHeaderKreatif); barisTabel.addView(viewHeaderAktif); barisTabel.addView(viewHeaderDisiplin); barisTabel.addView(viewHeaderTotal);

tableLayout.addView(barisTabel, new TableLayout.LayoutParams( LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); } }

5. SQLiteHelper.java

package com.nanda; import java.util.ArrayList; import java.util.HashMap; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.widget.Toast;

public class SQLiteHelper extends SQLiteOpenHelper {

private static final String nama_database = "database_pemain.db"; private static final int versi_database = 1;

private static final String query_buat_tabel_biodata = "CREATE TABLE IF NOT EXISTS tabel_biodata(id_biodata INTEGER PRIMARY KEY AUTOINCREMENT, nama TEXT, ketidak_hadiran TEXT, interaksi TEXT, kelakuan TEXT, kebersihan TEXT, tanggung_jawab TEXT, kreatif TEXT, aktif TEXT, disiplin TEXT, tahun TEXT)";

private static final String query_hapus_tabel_biodata = "DROP TABLE IF EXISTS query_buat_tabel_biodata";

public SQLiteHelper(Context context) {

super(context, nama_database, null, versi_database); }

@Override

public void onCreate(SQLiteDatabase sqLiteDatabase) { sqLiteDatabase.execSQL(query_buat_tabel_biodata); System.out.println("tabel_biodata sudah dibuat"); }

@Override

public void onUpgrade(SQLiteDatabase database, int versi_lama, int versi_baru) {

(26)

}

public void tambah_biodata(String nama, String ketidak_hadiran, String interaksi, String kelakuan, String kebersihan, String tanggung_jawab, String kreatif, String aktif, String disiplin, String tahun, Context context) { if (is_nama_tahun(nama, tahun, context)) {

SQLiteDatabase database = this.getWritableDatabase(); ContentValues values = new ContentValues();

values.put("nama", nama); values.put("ketidak_hadiran", ketidak_hadiran); values.put("interaksi", interaksi); values.put("kelakuan", kelakuan); values.put("kebersihan", kebersihan); values.put("tanggung_jawab", tanggung_jawab); values.put("kreatif", kreatif); values.put("aktif", aktif); values.put("disiplin", disiplin); values.put("tahun", tahun);

database.insert("tabel_biodata", null, values); database.close();

} }

public boolean is_nama_tahun(String nama, String tahun, Context context) {

SQLiteDatabase database = this.getWritableDatabase(); Cursor cursor = database.rawQuery(

"SELECT * FROM tabel_biodata WHERE nama='" + nama + "' AND tahun=" + tahun, null); if (cursor.moveToFirst()) {

// System.out.println("---data sudah ada");

Toast.makeText( context,

"Data dengan Nama " + nama + " Tahun " + tahun

+ " Sudah Ada", Toast.LENGTH_LONG).show();

return false; } else {

System.out.println("---data belum ada"); return true;

} }

(27)

SQLiteDatabase database = this.getWritableDatabase();

// deklarasikan sebuah arraylist yang bisa menampung hashmap ArrayList<HashMap<String, String>> arrayListBiodata = new ArrayList<HashMap<String, String>>();

Cursor cursor = database.rawQuery("SELECT * FROM tabel_biodata", null);

// kursor langsung diarkan ke posisi paling awal data pada tabel_biodata

if (cursor.moveToFirst()) { do {

// deklarasikan sebuah hashmap, yang bisa menamp HashMap<String, String> hashMapBiodata = new HashMap<String, String>();

// masukkan masing-masing field dari tabel_biodata ke

// dalamhashMapBiodata

// pastikan id_biodata, nama dan alamat sama persis dengan field

// yang ada pada tabel_biodata hashMapBiodata.put("id_biodata", cursor.getString(0)); hashMapBiodata.put("nama", cursor.getString(1)); hashMapBiodata.put("ketidak_hadiran", cursor.getString(2)); hashMapBiodata.put("interaksi", cursor.getString(3)); hashMapBiodata.put("kelakuan", cursor.getString(4)); hashMapBiodata.put("kebersihan", cursor.getString(5)); hashMapBiodata.put("tanggung_jawab", cursor.getString(6)); hashMapBiodata.put("kreatif", cursor.getString(7)); hashMapBiodata.put("aktif", cursor.getString(8)); hashMapBiodata.put("disiplin", cursor.getString(9)); hashMapBiodata.put("tahun", cursor.getString(10)); // masukkan hashMapBiodata ke dalam arrayListBiodata

arrayListBiodata.add(hashMapBiodata); } while (cursor.moveToNext());

}

return arrayListBiodata; }

(28)

SQLiteDatabase database = this.getWritableDatabase();

// deklarasikan sebuah arraylist yang bisa menampung hashmap ArrayList<HashMap<String, String>> arrayListBiodata = new ArrayList<HashMap<String, String>>();

Cursor cursor = database .rawQuery(

"SELECT * FROM tabel_biodata WHERE tahun="

+ Session.getTahun(), null);

// kursor langsung diarkan ke posisi paling awal data pada tabel_biodata

if (cursor.moveToFirst()) { do {

// deklarasikan sebuah hashmap, yang bisa menamp HashMap<String, String> hashMapBiodata = new HashMap<String, String>();

// masukkan masing-masing field dari tabel_biodata ke

// dalamhashMapBiodata

// pastikan id_biodata, nama dan alamat sama persis dengan field

// yang ada pada tabel_biodata hashMapBiodata.put("id_biodata", cursor.getString(0)); hashMapBiodata.put("nama", cursor.getString(1)); hashMapBiodata.put("ketidak_hadiran", cursor.getString(2)); hashMapBiodata.put("interaksi", cursor.getString(3)); hashMapBiodata.put("kelakuan", cursor.getString(4)); hashMapBiodata.put("kebersihan", cursor.getString(5)); hashMapBiodata.put("tanggung_jawab", cursor.getString(6)); hashMapBiodata.put("kreatif", cursor.getString(7)); hashMapBiodata.put("aktif", cursor.getString(8)); hashMapBiodata.put("disiplin", cursor.getString(9)); hashMapBiodata.put("tahun", cursor.getString(10)); // masukkan hashMapBiodata ke dalam arrayListBiodata

arrayListBiodata.add(hashMapBiodata); } while (cursor.moveToNext());

}

(29)

}

public int update_biodata(int id, String nama, String ketidak_hadiran,

String interaksi, String kelakuan, String kebersihan, String tanggung_jawab, String kreatif, String aktif, String disiplin, String tahun) {

SQLiteDatabase database = this.getWritableDatabase(); ContentValues recordBiodata = new ContentValues(); recordBiodata.put("nama", nama); recordBiodata.put("ketidak_hadiran", ketidak_hadiran); recordBiodata.put("interaksi", interaksi); recordBiodata.put("kelakuan", kelakuan); recordBiodata.put("kebersihan", kebersihan); recordBiodata.put("tanggung_jawab", tanggung_jawab); recordBiodata.put("kreatif", kreatif); recordBiodata.put("aktif", aktif); recordBiodata.put("disiplin", disiplin); recordBiodata.put("tahun", tahun);

return database.update("tabel_biodata", recordBiodata, "id_biodata="

+ id, null); }

public void hapus_biodata(int id) {

SQLiteDatabase database = this.getWritableDatabase();

database.execSQL("DELETE FROM tabel_biodata WHERE id_biodata='" + id

+ "'"); database.close(); }

public HashMap<String, String> tampil_biodata_berdasarkan_id(int id) {

SQLiteDatabase database = this.getReadableDatabase();

HashMap<String, String> hashMapBiodata = new HashMap<String, String>();

Cursor cursor = database

.rawQuery("SELECT * FROM tabel_biodata WHERE id_biodata=" + id

+ "", null); if (cursor.moveToFirst()) {

(30)

hashMapBiodata.put("tanggung_jawab", cursor.getString(6));

hashMapBiodata.put("kreatif", cursor.getString(7)); hashMapBiodata.put("aktif", cursor.getString(8)); hashMapBiodata.put("disiplin",

cursor.getString(9));

hashMapBiodata.put("tahun", cursor.getString(10)); } while (cursor.moveToNext());

}

return hashMapBiodata; }

public ArrayList<String> getTahun() {

SQLiteDatabase database = this.getReadableDatabase();

ArrayList<String> arrayListTahun = new ArrayList<String>(); Cursor cursor = database.rawQuery(

"SELECT DISTINCT(tahun) FROM tabel_biodata", null); if (cursor.moveToFirst()) {

do {

arrayListTahun.add(cursor.getString(0)); } while (cursor.moveToNext());

}

return arrayListTahun; }

}

6. Session.java

package com.nanda; publicclass Session {

static String tahun = "2015"; publicstatic String getTahun() {

returntahun; }

publicstaticvoid setTahun(String tahun) { Session.tahun = tahun;

} }

7. About.java

package com.nanda;

(31)

public class About extends Activity { @Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.about); }

}

8. activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools" android:id="@+id/LinearLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="@drawable/latar_duaa" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin"

tools:context="com.nanda.MainActivity"> <TableRow

android:id="@+id/tableRow1"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginBottom="108dp"

android:gravity="center"> </TableRow>

<Button

android:id="@+id/buttonDaftarCalon"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:text="@string/daftar_calon" /> <Button

android:id="@+id/buttonWSMdanSAW"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:text="@string/wsm_saw" /> <Button

android:id="@+id/buttonAbout"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:text="@string/about" /> </LinearLayout>

9. biodata.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"

android:id="@+id/LinearLayout1"

(32)

android:layout_height="match_parent"

android:layout_gravity="center"

android:background="@drawable/latar_dua"

android:orientation="vertical"

tools:context=".data"> <Button

android:id="@+id/buttonTambahBiodata"

android:layout_width="186dp"

android:layout_height="wrap_content"

android:layout_gravity="center"

android:text="Tambah Calon" /> <HorizontalScrollView

android:id="@+id/horizontalScrollView"

android:layout_width="match_parent"

android:layout_height="wrap_content"> <ScrollView

android:id="@+id/verticalScrollView"

android:layout_width="wrap_content"

android:layout_height="match_parent"> <TableLayout

android:id="@+id/tableBiodata"

android:layout_width="match_parent"

android:layout_height="wrap_content"> </TableLayout>

</ScrollView>

</HorizontalScrollView> </LinearLayout>

10. hasil_saw_wsm.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:background="@drawable/latar_dua"

android:orientation="vertical"> <HorizontalScrollView

android:id="@+id/horizontalScrollView1"

android:layout_width="match_parent"

android:layout_height="wrap_content"> <ScrollView

android:id="@+id/scrollView1"

android:layout_width="match_parent"

android:layout_height="wrap_content"> <LinearLayout

android:layout_width="match_parent"

android:layout_height="match_parent"

(33)

<TextView android:id="@+id/TextView01" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center|left" android:text="@string/wsm"

android:textAppearance="?android:attr/textAppearanceLarge" /> <TableLayout

android:id="@+id/tableLayoutWSM"

android:layout_width="match_parent"

android:layout_height="fill_parent"> </TableLayout> <TextView android:id="@+id/textView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center|left" android:text="@string/saw"

android:textAppearance="?android:attr/textAppearanceLarge" /> <TableLayout

android:id="@+id/tableLayoutSAW"

android:layout_width="match_parent"

android:layout_height="wrap_content"> </TableLayout> </LinearLayout> </ScrollView> </HorizontalScrollView> </LinearLayout>

11. spinner_manual.xml

<?xml version="1.0" encoding="utf-8"?>

<TextView xmlns:android="http://schemas.android.com/apk/res/android"

android:id="@+id/cust_view"

android:layout_width="match_parent"

android:layout_height="36dp"

android:gravity="left|center_vertical"

android:textColor="#fff"

android:padding="10dp" />

12. about.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:background="@drawable/about"

(34)

CURRICULUM VITAE

Nama Lengkap

: Ananda Putr i Ritonga

Nama Nama Panggilan

: Nanda

Tempat/ Tgl. Lahir

: Medan, 18 Apr il 1992

Jenis Kelamin

: Per empuan

Agama

: Islam

War ga Negar a

: Indonesia

Alamat

: Jl. Flor a VI No.69 Komplek

Kejekasaan Medan

No. HP :085778107176

Email :anandaputr ir itonga@gmail.com

Status

:Belum Menikah

Latar Belakang Pendidikan

1. SD

Yayayasan Pendidikan Shafiyyatul Amaliyah

2. SMP

SMP Neger i 1 Medan

3. SMA

SMK Neger i 10Medan

4. Univer sitas

Univer sitas Sumater a Utar a

Pengalaman Kerja

No

Instansi/ Lembaga

Jabatan/ Posisi

Tahun

1

SMKS Nusa Penida

Medan

Pengajar

2012-2015

Softw ar e Aplikasi

: Micr osoft Office, Photoshop , Dr eamw eaver , Flash

Bahasa Pemr ogr aman

: C+ + , C#

Simulator

: Matlab

Data Pribadi

(35)

Pengalaman Organisasi

sss

No

Nama Or ganisasi

Jabatan

Tahun

Menjabat

1

IMILKOM

Bendahar a

Dana

dan Usaha

(36)

DAFTAR PUSTAKA

Afshari, Ali Reza, Mojahid, Majid, Yusuff & Rosnah. 2010.

SimpleAdditive

Weighting Approach to Personnel Selection Problem

, International Journal of

Innovation, Management and Technology. 1,(5),1-5.

Ariyanto .2012.

Sistem Pendukung Keputusan Pemilihan Karyawan Terbaik dengan

Metode Simple Additive Weighting (Studi Kasus : Pamella Swalayan)

. Skripsi.

Yogyakarta: Universitas Islam Negeri Sunan Kalijaga.

Falah, M.F. 2014

.SistemPendukungKeputusanPemilihanSiswaBerprestasdengan Metode

Simple Addative Weighting & Weighted Sum Model( Studikasus : MIN Tanjung

Sari Medan Selayang )

.Skripsi.Medan :Sumatera Utara.

Hartini, D.C. Ruskan, E.L & Ibrahim,A. 2013.

Sistem Pendukung Keputusan

Pemilihan Hotel di Kota Palembang Dengan Metode Simple Addictive Weighting

(SAW)

. Jurnal Sistem Informasi(JSI). 5,(1),546-565

Kasman, A.D. 2013.

Kolaborasi Dahsyat Android dengan PHP & MYSQL

.

Yogyakarta: Lokomedia.

Pristiwanto.2014.

Sistem Pendukung Keputusan Dengan Metode Simple Addictive

Weighting Untuk Menentukan Dosen Pembimbing Skripsi

.INTI. 2,(1),11-15.

Sugiyono & Agani,N. 2012.

Model Peta Digital Rawan Sambaran Petir Dengan

Menggunakan Metode SAW ( Simple Addictive Weighting) : Studi Kasus Propinsi

Lampung

. TELEMATIKA MKOM.4,(1),90-96.

(37)

Department of Industrial and Management Systems Engineering The

Pennsylvania State University.

Triantaphyllou,E & Sanchez. 1997.

A Sensitivity Analysis Approach For Some

Deterministic Multi-Criteria Decision Making Methods

. Decision Sciences. 28,(1),

151-194.

(38)

ANALISIS DAN PERANCANGAN SISTEM

4.1. Analisis Sistem

Analisis sistem bertujuan untuk mengidentifikasi persoalan-persoalan yang akan muncul

dalam pembuatan sistem, hal ini dilakukan agar tidak terjadi kesalahan yang berarti pada saat

perancangan sistem, sehingga sistem yang dirancang berjalan dengan baik dan tepat guna.

Sistem yang dibangun ini akan melakukan perhitungan pemilihan calon ketua OSIS.

Sistem ini dirancang dengan menggunakan Metode Simple Additive Weighting dan

Weighted Sum Model dalam pemilihan calon ketua OSIS pada SMK Swasta Nusa Penida

Medan.

4.1.1. Analisis Masalah

SMK Swasta Nusa Penida Medan memiliki kegiatan OSIS untuk membantu kegiatan diluar

pembelajaran sekolah, yang dimana pemilihannya terdiri dari beberapa kandidat peserta.

Hasil dari pemilihan ini adalah terpilihnya satu orang siswa SMK Swasta Nusa Penida Medan

menjadi ketua OSIS. Hal tersebut tentunya didasari oleh berbagai kriteria yang telah

ditentukan dalam proses pemilihan, yaitu ketidak hadiran, interaksi, kelakuan, kebersihan,

tanggung jawab, kreatifitas, keaktifan dan disiplin.

Untuk memilih seorang ketua OSIS, perhitungan dari banyak kandidat dan kriteria yang ada

memiliki waktu yang cukup lama untuk dilakukan secara manual

Dengan adanya Sistem Pendukung Keputusan pemilihan Calon Ketua OSIS,

(39)

proses perhitungan akan menjadi lebih mudah dan cepat. Aplikasi ini hanya ditujukan untuk

permasalahan pemilihan calon ketua OSIS pada SMK Swasta Nusa Penida Medan, maka

aplikasi yang dibangun berbasis

Android.

[image:39.595.151.451.270.435.2]

Untuk mengidentifikasi masalah tersebut digunakan diagram Ishikawa

(fishbone

diagram). Diagram Ishikawa merupakan alat yang digunakan untuk mengidentifikasi berbgai

faktor permasalahan yang berpengaruh secara signifikan terhadap output perusahaan.

Diagram ini membantu mengidentifikasi akar penyebab dari suatu permasalahan yang sedang

dihadapi.

Gambar 3.1 Diagram Ishikawa untuk Analisis Masalah Sistem

4.1.2. Analisis Kebutuhan Sistem

Analisis Kebutuhan Sistem meliputi analisis kebutuhan fungsional sistem dan analisis

kebutuhan non-fungsional sistem.

4.1.2.1. Kebutuhan Fungsional Sistem

Kebutuhan fungsional yang harus dimiliki oleh Sistem Pendukung Keputusan Pemilihan

Calon Ketua OSIS pada SMK Swasta Nusa Penida Medan adalah :

1. Sistem dapat menerima inputan data dan kriteria siswa.

2. Sistem dapat mengetahui siapa yang layak terpilih menjadi calon ketua OSIS berdasarkan

metode Simple Additive Weighting dan Weighted Sum Model

3. Sistem dapat menampilkan hasil perhitungan pemilihan calon ketua OSIS berdasarkan

metode Simple Additive Weighting dan Weighted Sum Model.

proses perhitungan akan menjadi lebih mudah dan cepat. Aplikasi ini hanya ditujukan untuk

permasalahan pemilihan calon ketua OSIS pada SMK Swasta Nusa Penida Medan, maka

aplikasi yang dibangun berbasis

Android.

Untuk mengidentifikasi masalah tersebut digunakan diagram Ishikawa

(fishbone

diagram). Diagram Ishikawa merupakan alat yang digunakan untuk mengidentifikasi berbgai

faktor permasalahan yang berpengaruh secara signifikan terhadap output perusahaan.

Diagram ini membantu mengidentifikasi akar penyebab dari suatu permasalahan yang sedang

dihadapi.

Gambar 3.1 Diagram Ishikawa untuk Analisis Masalah Sistem

4.1.2. Analisis Kebutuhan Sistem

Analisis Kebutuhan Sistem meliputi analisis kebutuhan fungsional sistem dan analisis

kebutuhan non-fungsional sistem.

4.1.2.1. Kebutuhan Fungsional Sistem

Kebutuhan fungsional yang harus dimiliki oleh Sistem Pendukung Keputusan Pemilihan

Calon Ketua OSIS pada SMK Swasta Nusa Penida Medan adalah :

1. Sistem dapat menerima inputan data dan kriteria siswa.

2. Sistem dapat mengetahui siapa yang layak terpilih menjadi calon ketua OSIS berdasarkan

metode Simple Additive Weighting dan Weighted Sum Model

3. Sistem dapat menampilkan hasil perhitungan pemilihan calon ketua OSIS berdasarkan

metode Simple Additive Weighting dan Weighted Sum Model.

proses perhitungan akan menjadi lebih mudah dan cepat. Aplikasi ini hanya ditujukan untuk

permasalahan pemilihan calon ketua OSIS pada SMK Swasta Nusa Penida Medan, maka

aplikasi yang dibangun berbasis

Android.

Untuk mengidentifikasi masalah tersebut digunakan diagram Ishikawa

(fishbone

diagram). Diagram Ishikawa merupakan alat yang digunakan untuk mengidentifikasi berbgai

faktor permasalahan yang berpengaruh secara signifikan terhadap output perusahaan.

Diagram ini membantu mengidentifikasi akar penyebab dari suatu permasalahan yang sedang

dihadapi.

Gambar 3.1 Diagram Ishikawa untuk Analisis Masalah Sistem

4.1.2. Analisis Kebutuhan Sistem

Analisis Kebutuhan Sistem meliputi analisis kebutuhan fungsional sistem dan analisis

kebutuhan non-fungsional sistem.

4.1.2.1. Kebutuhan Fungsional Sistem

Kebutuhan fungsional yang harus dimiliki oleh Sistem Pendukung Keputusan Pemilihan

Calon Ketua OSIS pada SMK Swasta Nusa Penida Medan adalah :

1. Sistem dapat menerima inputan data dan kriteria siswa.

2. Sistem dapat mengetahui siapa yang layak terpilih menjadi calon ketua OSIS berdasarkan

metode Simple Additive Weighting dan Weighted Sum Model

3. Sistem dapat menampilkan hasil perhitungan pemilihan calon ketua OSIS berdasarkan

metode Simple Additive Weighting dan Weighted Sum Model.

(40)

4.1.2.2. Kebutuhan Non-Fungsional Sistem

Untuk mendukung kinerja sistem, sistem sebaiknya dapat berfungsi sebagai berikut :

1. Sistem dapat melakukan perhitungan pemilihan calon ketua OSIS secara cepat.

2. Sistem harus mudah digunakan sehingga dapat dioperasikan dengan baik oleh pengguna.

4.1.3. Pemodelan

Pemodelan sistem dilakukan untuk memperoleh gambaran jelas tentang hal-hal apa saja yang

harus dilakukan oleh sebuah sistem sehingga sistem dapat berfungsi sesuai dengan

kegunaannya.

Pada penelitian ini digunakan

UML

(Unified Modeling Language) sebagai bahasa

pemodelan untuk mendesain dan merancang Sistem Pendukung Keputusan Pemilihan Calon

Ketua OSIS pada SMK Swasta Nusa Penida Medan. Model UML yang digunakan antara lain

use case diagram, activity diagram,

dan

sequence diagram.

4.1.3.1. Use Case Diagram

Use Case Diagram

adalah sebuah diagram yang dapat merepresentasikan interaksi yang

terjadi antara

user

dengan sistem.

Use Case Diagram

akan menjelaskan fungsi apa saja yang

dikerjakan oleh sistem.

(41)
[image:41.595.81.522.69.566.2]

Gambar 3.2

Use Case Diagram

Sistem Pendukung Keputusan Pemilihan Calon Ketua

OSIS

Pada Gambar 3.2 dapat dilihat

user

dapat memilih 2 aksi yaitu tambah data dan

mendapatkan hasil perhitungan serta perangkingan dari sistem berdasarkan metode WSM dan

SAW. Proses Perhitungan Pemilihan Calon Ketua OSIS, dapat dinyatakan dalam Tabel 3.1

dibawah ini.

(42)
[image:42.595.163.470.331.553.2]

Tabel 3.1. Tabel

Use Case

dalam Proses Perhitungan Pemilihan Calon Ketua OSIS

Name

Proses Perhitungan Pemilihan Calon Ketua OSIS

Actors

Guru dan Staff yang telah ditentukan

Description

Use Case

ini mendeskripsikan proses perhitungan dalam

pemilihan calon ketua OSIS pada SMK swasta Nusa Penida

Basic Flow

Guru dan Staff akan memasukkan seluruh daftar nama dan

bobot kriteria calon ketua OSIS

Alternate Flow

Guru dan Staff dapat kembali ke tampilan awal dan memilih

metode lainnya

Pre Condition

Guru dan Staff dapat melihat nilai kriteria dari setiap alternatif

yang ada

Post Condition

Guru dan Staff mengetahui siapa yang terpilih menjadi ketua

OSIS

Adapun

Activity Diagram

untuk proses Perhitungan Pemilihan Calon Ketua OSIS

pada SMK Swasta Nusa Penida dapat dilihat pada gambar berikut.

Gambar 3.3

Activity Diagram

untuk Daftar Calon

Pada gambar 3.3 dapat dilihat pengguna melakukan pemilihan tambah data kemudian sistem

menampilkan

form

tambah data dan pengguna memasukkan data sesuai

form

yang disediakan

sistem, setelah itu pengguna menyimpan data serta sistem juga melakukan proses

penyimpanan data.

(43)
[image:43.595.156.478.66.473.2]

Gambar 3.4

Activity Diagram

untuk WSM dan SAW

Pada Gambar 3.4 dapat dilihat pengguna memilih metode WSM dan SAW lalu melakukan

pemilihan periode yang ingin ditampilkan, sistem mengambil data sesuai periode dan

melakukan perhitungan dengan metode WSM dan SAW serta menampilkan hasil

perangkingan dari setiap alternatif.

4.1.3.2. Analisis Proses Sistem

Berikut ini akan dijelaskan mengenai proses memasukkan data dan proses perhitungan yang

terjadi pada Sistem Pendukung Keputusan Pemilihan Calon Ketua OSIS pada SMK Swasta

Nusa Penida Medan dengan menggunakan

Sequence diagram.

Pada proses Perhitungan Pemilihan Calon Ketua OSIS, sistem dapat melakukan

perhitungan dengan kedua metode, maka

Sequence Diagram

diperlihatkan pada Gambar 3.5

dan Gambar 3.6 berikut.

(44)
[image:44.595.145.449.64.609.2]

Gambar 3.5

Sequence Diagram

untuk Daftar Calon

Gambar 3.6

Sequence Diagram

untuk WSM dan SAW

Pada Gambar 3.6 terlihat bahwa pengguna mengakses

form

perhitungan dengan kedua

metode, kemudian sistem akan menampilkan

form

perhitungan dengan kedua metode dan

pengguna dapat melihat hasil perhitungan serta perangkingannya.

(45)

4.1.3.3. Flowchart Sistem

[image:45.595.104.512.150.418.2]

Berikut adalah

flowchart

Sistem Pendukung Keputusan Pemilihan Calon Ketua OSIS SMK

Swasta Nusa Penida Medan.

Gambar 3.7

Flowchart

Sistem Pendukung Keputusan Pemilihan Calon Ketua OSIS

Pada Gambar 3.7 jika pengguna mengakses

form

tambah calon maka akan muncul

form

nama calon beserta kriteria yang dapat disimpan, data yang telah disimpan akan di tampilkan

oleh sistem. Jika tidak maka akan keluar pilihan lain yang berupa WSM dan SAW, jika

pengguna mengakses

form

WSM dan SAW maka akan muncul

form

pemilihan periode

setelah periode dipilih maka sistem akan menampilkan hasil perangkingan. Jika tidak maka

akan keluar pilihan terakhir yaitu

form

About.

4.2. Perancangan Sistem

Proses perancangan antarmuka

(interface)

sebuah sistem adalah proses yang cukup penting

dalam perancangan sebuah sistem. Sebuah antarmuka harus dirancang dengan

memperhatikan faktor pengguna sehingga sistem yang dibangun dapat memberikan

kenyamanan dan kemudahan untuk digunakan oleh pengguna.

(46)

4.2.1. Tampilan Awal

[image:46.595.240.358.178.356.2]

Tampilan awal dari Sistem Pendukung Keputusan Pemilihan Calon Ketua OSIS pada SMK

Swasta Nusa Penida Medan. Pada tampilan ini disajikan

form

yang akan dipilih oleh

pengguna untuk menggunakan aplikasi.

Gambar 3.8 Tampilan Awal Pemilihan Calon Ketua OSIS

4.2.2. Antarmuka Daftar Calon

Tampilan Input Data adalah tampilan awal dari Sistem Pendukung Keputusan Pemilihan

Calon Ketua OSIS pada SMK Swasta Nusa Penida Medan. Pada tampilan ini disajikan

form

yang akan diisi oleh pengguna untuk menyimpan data nilai kriteria dari setiap alternatif. Pada

form

ini juga ditampilkan data dan seluruh alternatif yang telah disimpan serta menu ubah

dan hapus.

Gambar 3.9 Antarmuka Input Data Pemilihan Calon Ketua OSIS

4.2.1. Tampilan Awal

[image:46.595.210.386.563.708.2]

Tampilan awal dari Sistem Pendukung Keputusan Pemilihan Calon Ketua OSIS pada SMK

Swasta Nusa Penida Medan. Pada tampilan ini disajikan

form

yang akan dipilih oleh

pengguna untuk menggunakan aplikasi.

Gambar 3.8 Tampilan Awal Pemilihan Calon Ketua OSIS

4.2.2. Antarmuka Daftar Calon

Tampilan Input Data adalah tampilan awal dari Sistem Pendukung Keputusan Pemilihan

Calon Ketua OSIS pada SMK Swasta Nusa Penida Medan. Pada tampilan ini disajikan

form

yang akan diisi oleh pengguna untuk menyimpan data nilai kriteria dari setiap alternatif. Pada

form

ini juga ditampilkan data dan seluruh alternatif yang telah disimpan serta menu ubah

dan hapus.

Gambar 3.9 Antarmuka Input Data Pemilihan Calon Ketua OSIS

4.2.1. Tampilan Awal

Tampilan awal dari Sistem Pendukung Keputusan Pemilihan Calon Ketua OSIS pada SMK

Swasta Nusa Penida Medan. Pada tampilan ini disajikan

form

yang akan dipilih oleh

pengguna untuk menggunakan aplikasi.

Gambar 3.8 Tampilan Awal Pemilihan Calon Ketua OSIS

4.2.2. Antarmuka Daftar Calon

Tampilan Input Data adalah tampilan awal dari Sistem Pendukung Keputusan Pemilihan

Calon Ketua OSIS pada SMK Swasta Nusa Penida Medan. Pada tampilan ini disajikan

form

yang akan diisi oleh pengguna untuk menyimpan data nilai kriteria dari setiap alternatif. Pada

form

ini juga ditampilkan data dan seluruh alternatif yang telah disimpan serta menu ubah

dan hapus.

Gambar 3.9 Antarmuka Input Data Pemilihan Calon Ketua OSIS

(47)
[image:47.595.205.394.503.743.2]

Gambar 3.10 Antarmuka List Pemilihan Calon Ketua OSIS

Keterangan :

1. Kolom kriteria dari setiap alternatif

2. Tombol ubah untuk mengubah data dari setiap alternatif

3. Tombol hapus untuk menghapus data dari setiap alternatif

4. List nama dari setiap alternatif

5. Tombol tambah calon ketua OSIS

6. kolom ID dari setiap alternatif

7. kolom nama dari setiap alternatif

8. List nama calon ketua OSIS

4.2.3. Antarmuka Perhitungan dengan Metode SAW dan WSM

Pada Tampilan Perhitungan dengan metode SAW dan WSM, akan ditampilkan data yang

telah disimpan dan pengguna dapat melihat hasil perhitungan dengan kedua metode tersebut,

yang hasilnya akan ditampilkan pada

form

tersebut

Gambar 3.11 Antarmuka Perhitungan dengan Metode SAW dan WSM

Gambar 3.10 Antarmuka List Pemilihan Calon Ketua OSIS

Keterangan :

1. Kolom kriteria dari setiap alternatif

2. Tombol ubah untuk mengubah data dari setiap alternatif

3. Tombol hapus untuk menghapus data dari setiap alternatif

4. List nama dari setiap alternatif

5. Tombol tambah calon ketua OSIS

6. kolom ID dari setiap alternatif

7. kolom nama dari setiap alternatif

8. List nama calon ketua OSIS

4.2.3. Antarmuka Perhitungan dengan Metode SAW dan WSM

Pada Tampilan Perhitungan dengan metode SAW dan WSM, akan ditampilkan data yang

telah disimpan dan pengguna dapat melihat hasil perhitungan dengan kedua metode tersebut,

yang hasilnya akan ditampilkan pada

form

tersebut

Gambar 3.11 Antarmuka Perhitungan dengan Metode SAW dan WSM

Gambar 3.10 Antarmuka List Pemilihan Calon Ketua OSIS

Keterangan :

1. Kolom kriteria dari setiap alternatif

2. Tombol ubah untuk mengubah data dari setiap alternatif

3. Tombol hapus untuk menghapus data dari setiap alternatif

4. List nama dari setiap alternatif

5. Tombol tambah calon ketua OSIS

6. kolom ID dari setiap alternatif

7. kolom nama dari setiap alternatif

8. List nama calon ketua OSIS

4.2.3. Antarmuka Perhitungan dengan Metode SAW dan WSM

Pada Tampilan Perhitungan dengan metode SAW dan WSM, akan ditampilkan data yang

telah disimpan dan pengguna dapat melihat hasil perhitungan dengan kedua metode tersebut,

yang hasilnya akan ditampilkan pada

form

tersebut

Gambar 3.11 Antarmuka Perhitungan dengan Metode SAW dan WSM

(48)

4.2.4. Antarmuka About

[image:48.595.236.360.162.351.2]

Pada Tampilan About akan

Gambar

Gambar 3.1 Diagram Ishikawa untuk Analisis Masalah SistemGambar 3.1 Diagram Ishikawa untuk Analisis Masalah SistemGambar 3.1 Diagram Ishikawa untuk Analisis Masalah Sistem
Gambar 3.2 Use Case Diagram Sistem Pendukung Keputusan Pemilihan Calon Ketua
Tabel 3.1. Tabel Use Case dalam Proses Perhitungan Pemilihan Calon Ketua OSIS
Gambar 3.4 Activity Diagram untuk WSM dan SAW
+7

Referensi

Dokumen terkait

Gedung H, Kampus Sekaran-Gunungpati, Semarang 50229 Telepon: (024) 8508081,

Masalah yang diteliti dalam skripsi ini adalah (1) Bagaimana gaya bahasa Ustad Adi Hidayat Dalam Ceramah Keluarga Yang Dirindukan Rosulullah (2) Bagaimana gaya suara

dari penelitian tindakan kelas tersebut. Subjek penelitian ini, yaitu siswa kelas yang memiliki perilaku menyimpang dengan jumlah 10 orang siswa. Hal ini diketahui

Pada hari ini Rabu tanggal Duapuluh enam bulan September tahun Dua ribu dua belas (26-09-2012), Panitia Pengadaan Barang/Jasa Pekerjaan Pengadaan Interpretasi

Berdasarkan butir 1 s/d 4 tersebut, maka proses pelelangan ini dinyatakan sah dan memenuhi syarat untuk dilanjutkan ke tahapan berikutnya yaitu Penunjukan

Model regresi yang dapat digunakan dengan variabel respon merupakan data cacah yaitu regresi Poisson.. Syarat yang harus dipenuhi yaitu rata-rata harus sama dengan

Hasil analisis data menunjukan bahwa tingkat penguasaan kemampuan menulis karangan narasi ekspositoris menggunakan teknik Think Talk Write (TTW) siswa kelas X SMA

PROGRAM STUDI ARSITEKTUR, FAKULTAS ARSITEKTUR DAN DESAIN UNIVERSITAS KATOLIK SOEGIJAPRANATA..