PBO 2017, Teknik Informatika UTM
Source code keseleruhan program beserta penjelasan
Class mahasiswa:
public class mahasiswa {
private int nim;
private String nama;
private String prodi;
private int angka;
public mahasiswa(int nim, String nama, String prodi, int angka) {
super();
this.nim = nim;
this.nama = nama;
this.prodi = prodi;
this.angka = angka;
}
public int getNim() {
return nim;
}
public void setNim(int nim) {
this.nim = nim;
}
public String getNama() {
return nama;
}
public void setNama(String nama) {
this.nama = nama;
}
public String getProdi() {
return prodi;
}
public void setProdi(String prodi) {
this.prodi = prodi;
}
public int getAngka() {
return angka;
}
public void setAngka(int angka) {
this.angka = angka;
}
@Override
public String toString() {
return "mahasiswa [nim=" + nim + ", nama=" + nama + ", prodi=" + prodi + ", angka=" + angka + "]";
}
}
Main program:
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
ArrayList<mahasiswa> data_mahasiswa;
public Main(){
this.data_mahasiswa=new ArrayList<>();
}
public void tambah(int nim, String nama, String prodi, int angka){
this.data_mahasiswa.add(new mahasiswa(nim,nama,prodi,angka));
}
public void lihatdata(){
System.out.println("NIM\tNama_Mahasiswa\tprodi\tAngkatan" );
for(mahasiswa i: data_mahasiswa){
//System.out.println("NIM\tNama_Mahasiswa\tprodi\tAngkatan" );
System.out.println(i.getNim()+"\t"+i.getNama() +"\t\t"+ i.getProdi() +"\t"+ i.getAngka());
}
}
public void delete(int nim){
for (int i = 0; i < data_mahasiswa.size() ; i++) {
if (nim == data_mahasiswa.get(i).getNim()) {
data_mahasiswa.remove(i);
}
}
}
public void cari(int nim){
System.out.println("NIM\tNama_Mahasiswa\tprodi\tAngkatan" );
for (int i = 0; i < data_mahasiswa.size() ; i++) {
if (nim == data_mahasiswa.get(i).getNim()) {
//System.out.println("NIM\tNama_Mahasiswa\tprodi\tAngkatan" );
System.out.println(data_mahasiswa.get(i).getNim() +"\t"+ data_mahasiswa.get(i).getNama() +"\t\t"+ data_mahasiswa.get(i).getProdi() +"\t"+ data_mahasiswa.get(i).getAngka());
i = 2;
}
}
}
public static void main(String[] args) {
Main a=new Main();
a.tambah(11, "eko", "infor", 16);
a.tambah(12, "iqbal", "infor", 16);
a.tambah(13, "yuski", "infor", 16);
a.tambah(14, "denis", "infor", 16);
int nim = 0,angkatan = 0;
String nama,prodi;
int pil = 1;
while (pil == 1){
Scanner scan = new Scanner(System.in);
try{
System.out.print("=====Pilihan=====\n1.tambah data\n2.lihat data\n3.hapus data\n4.cari mahasiswa\nMasukan pilihan: ");
int menu= scan.nextInt();
System.out.println();
if (menu == 1) {
System.out.print("nim :");
nim = scan.nextInt();
System.out.print("nama :");
nama = scan.next();
System.out.print("prodi :");
prodi = scan.next();
System.out.print("angkatan :");
angkatan = scan.nextInt();
a.tambah(nim, nama, prodi, angkatan);
a.lihatdata();
}
else if(menu == 2) {
a.lihatdata();
}
else if(menu == 3) {
//a.lihatdata();
System.out.println("input nim to delete");
nim = scan.nextInt();
a.delete(nim);
a.lihatdata();
}
else if(menu == 4) {
//a.lihatdata();
System.out.println("berdasarkan NIM");
nim = scan.nextInt();
a.cari(nim);
}
else {
System.out.print("menu tidak ada");
}
System.out.print("\n1.ulang\n2.berhenti\nSilahkan masukan pilihan :");
pil = scan.nextInt();
}catch (Exception e){
System.out.println("Mohon maaf, Karena anda memasukan huruf maka sistem kami berhenti.\nSilahkan jalankan kembali dan sekali lagi masukan angka bukan huruf! ");
pil=0;
}
}
}
}
Penjelasasan:
Class mahasiswa digunakan untuk menge-set dan mendapatkan value dari variable nim, nama, prodi, angka.
Main program digunakan untuk memproses transaksi dan menampilkan menu dan tabel mahasiswa yang variable atributnya di class mahasiswa. Ketika main program di jalankan maka akan tampil menu pilihan dan perintah memasukan pilihan. Pilihan di menu harus di isi angka apabila tidak di isi angka maka akan error atau program akan berhenti. Ketika pilihan di menu di isi angka maka akan menampilkan pilihan yang telah di pilih. Apabila yang dimasukan angka tetapi angka tersebut tidak ada di menu maka akan memanggil menu pilihan kembali.
Terimakasih, Semoga Bermanfaat, Mohon maaf bila ada salah kata.