javaku

Sabtu, 24 Desember 2011

PROGRAM ADMINISTRASI

import java.io.*;
import java.util.*;
public class Administrasi{
final static int pjg=1000;
static class Mhs{String namaMatkul, indeks; int nilai,sks; };
static Mhs[] mahasiswa=new Mhs[pjg];
static int jumlahData;
static Scanner key=new Scanner(System.in);
static PrintStream tulisFile=null;
static Scanner bacaFile=null;
static String namaFile="";
static boolean fileAda, dataKetemu;
static int posisi;
static double IPK;

public static void main(String[] args){
Menu();
}
static void Menu(){
int pilih=0;
while(pilih!=5){
System.out.println("Menu:\n1.Membuat file baru\n2.Menambah data\n3.Lihat data\n4.edit data\n5.Exit");
System.out.print("Pilihanmu :");
pilih=key.nextInt();
System.out.println(" ");
if(pilih==3){
System.out.println("Menu Lihat data:\n1.Tampil Data\n2.Urut data\n3.Cari data\n4.Hitung IPK\n5.Menu awal");
System.out.print("Pilihanmu :");
pilih=key.nextInt();
System.out.println(" ");
if(pilih==1) Tampil();
else if(pilih==2) Urut();
else if(pilih==3)Cari();
else if(pilih==4)Hitung();
else if(pilih==5) Menu();
} else if(pilih==1){
Tulis();
}else if(pilih==2)Tambah();
else if(pilih==4)Edit();
}
}
//prosedur tulis
static void Tulis(){
System.out.println("Tulis Baru");
System.out.print("Nama File (diisi dengan nama mahasiswa) : ");
namaFile=key.next();
System.out.print("Jumlah matkul : "); jumlahData=key.nextInt();
System.out.println();
for(int i=0;i<jumlahData;i++){
mahasiswa[i]=new Mhs();
System.out.print("Nama Matkul :"); mahasiswa[i].namaMatkul=key.next();
System.out.print("Jumlah SKS :"); mahasiswa[i].sks=key.nextInt();
System.out.print("Indeks :"); mahasiswa[i].indeks=key.next();
}

String s="";
try{tulisFile=new PrintStream(new File(namaFile));
for (int i=0;i<jumlahData;i++){
s=mahasiswa[i].namaMatkul+"\t"+mahasiswa[i].sks+"\t"+mahasiswa[i].indeks;
tulisFile.println(s);}

}catch(FileNotFoundException e){System.out.println("File error");}}
//prosedur Hitung
static void Hitung(){
Baca();
for(int i=0;i<jumlahData;i++){
if(mahasiswa[i].indeks.equalsIgnoreCase("A"))
mahasiswa[i].nilai=4;
else if(mahasiswa[i].indeks.equalsIgnoreCase("B"))
mahasiswa[i].nilai=3;
else if(mahasiswa[i].indeks.equalsIgnoreCase("C"))
mahasiswa[i].nilai=2;
else if(mahasiswa[i].indeks.equalsIgnoreCase("D"))
mahasiswa[i].nilai=1;
else if(mahasiswa[i].indeks.equalsIgnoreCase("E"))
mahasiswa[i].nilai=0;
}
double jumlah=0;
for(int i=0;i<jumlahData;i++){
jumlah=jumlah+mahasiswa[i].sks;
}
double jumlahIP=0;
for(int i=0;i<jumlahData;i++){
jumlahIP=jumlahIP+(mahasiswa[i].sks*mahasiswa[i].nilai);

}
double IPK=jumlahIP/jumlah;
System.out.println("Nama Mahasiswa: "+namaFile);
for(int i=0;i<jumlahData;i++){
System.out.println(mahasiswa[i].namaMatkul + "\t" + mahasiswa[i].sks+"\t"+mahasiswa[i].indeks+"\t"+mahasiswa[i].nilai+"\t"+(mahasiswa[i].nilai*mahasiswa[i].sks));
}
System.out.println("Nilai IPK anda adalah "+IPK);
System.out.println("");

}
//prosedur baca
static void Baca(){
System.out.print("Nama File: ");
namaFile=key.next();
try{bacaFile=new Scanner(new File(namaFile));
int i=0;
while(bacaFile.hasNext()){
mahasiswa[i]=new Mhs();
mahasiswa[i].namaMatkul=bacaFile.next();
mahasiswa[i].sks=bacaFile.nextInt();
mahasiswa[i].indeks=bacaFile.next();
bacaFile.nextLine();
i++;
}
fileAda = true;
jumlahData=i;
}catch(FileNotFoundException e){System.out.println("File Tidak Ada");}
}
//prosedur tampil
static void Tampil(){
Baca();
for(int i=0;i<jumlahData;i++)
System.out.println(mahasiswa[i].namaMatkul + "\t" + mahasiswa[i].sks+"\t"+mahasiswa[i].indeks+"\t"+IPK);
}
//prosedur urut
static void Urut(){
Baca();
if(fileAda){
if(jumlahData>1){
String tempNama, tempNilai;
for(int i=0;i<jumlahData-1;i++){
for(int j=jumlahData-1; j>i; j--){
if(mahasiswa[j].nilai>mahasiswa[j-1].nilai){
tempNama=mahasiswa[j].namaMatkul;
tempNilai=mahasiswa[j].indeks;
mahasiswa[j].namaMatkul=mahasiswa[j-1].namaMatkul;
mahasiswa[j].indeks=mahasiswa[j-1].indeks;
mahasiswa[j-1].namaMatkul=tempNama;
mahasiswa[j-1].indeks=tempNilai;
}
}

}

}
}Tampil();
String s="";
try{tulisFile = new PrintStream (new File (namaFile)); //membuat file harus pake try and catch, dari tulisfile, kalo masuk, maka baru ke for
for(int i=0; i<jumlahData; i++){
s=mahasiswa[i].namaMatkul+"\t"+mahasiswa[i].sks+"\t"+mahasiswa[i].indeks;
tulisFile.println(s);}
}catch(FileNotFoundException e){System.out.println("File Error");}
}
//prosedur cari
static void Cari(){
Baca();
if(fileAda){
System.out.print("Nama Mata Kuliah : ");
String cariNama= key.next();
int i =0;
dataKetemu=false;
while((i<jumlahData)&&(!dataKetemu)){
if(mahasiswa[i].namaMatkul.equalsIgnoreCase(cariNama)) dataKetemu=true;
else i++;}
posisi=i;
if(dataKetemu){
System.out.println("Nama Mata Kuliah : " + mahasiswa[posisi].namaMatkul);
System.out.println("Nilai : " + mahasiswa[posisi].indeks);
}else System.out.println("Nama Mata Kuliah " + cariNama + " Tidak Ada di File" );
}
}
//prosedur tambah
static void Tambah(){
Baca();
System.out.println();
int j=jumlahData;
System.out.print("Jumlah data tambahan : ");
jumlahData=key.nextInt();
jumlahData+=j;
for(int i=j;i<jumlahData;i++){
mahasiswa[i]=new Mhs();
System.out.println("Data ke-"+(i+1));
System.out.println();
System.out.print("Nama Matakuliah : ");
mahasiswa[i].namaMatkul=key.next();
System.out.print("SKS : ");
mahasiswa[i].sks = key.nextInt();
System.out.print("indeks : ");
mahasiswa[i].indeks=key.next();
}
String s="";
try{tulisFile=new PrintStream(new File(namaFile));
for(int i=0;i<jumlahData;i++){
s=mahasiswa[i].namaMatkul+"\t"+mahasiswa[i].sks +"\t" + mahasiswa[i].indeks;
tulisFile.println(s);}
}catch(FileNotFoundException e){System.out.println("File Error");}
}
//prosedur edit
static void Edit(){
Cari();
if(dataKetemu){
System.out.print("Nama Matakuliah : ");mahasiswa[posisi].namaMatkul=key.next();
System.out.print("Nilai Baru : ");mahasiswa[posisi].indeks=key.next();
}
String s=""; //dari sini menginputkan array kedalam file
try{tulisFile = new PrintStream (new File (namaFile));
for(int i=0; i<jumlahData; i++){
s=mahasiswa[i].namaMatkul+"\t"+mahasiswa[i].indeks;
tulisFile.println(s);}
}catch(FileNotFoundException e){System.out.println("File Error");}
}
}


Tampilan Menu Utama:

Tampilan Menu Membuat File Baru:


Langkah-langkah membuat file baru:
  • Tulis nama file yang akan dibuat (contoh: rina.txt)
  • Isikan jumlah mata kuliah yang akan diisi.
  • Isikan nama mata kuliah.
  • Isikan jumlah sks
  • isikan indeks yang diperoleh.
Tampilan Menu Menambah Data:
Langkah-langkah menambah data:
  • Tuliskan nama file yang akan ditambah datanya
  • Isikan jumlah data yang akan ditambahkan
  • Tuliskan nama mata kuliah yang akan ditambahkan.
  • Tuliskan sks mata kuliah yang akan ditambahkan.
  • Isikan indeks yang diperoleh dari mata kuliah yang akan ditambahkan.
Tampilan Menu Lihat Data:
Tampilan Menu Tampil Data:

Tampilan Menu Urut Data:
Tampilan Menu Cari Data:

Langkah-langkah mencari data:
  • Tulis nama file yang akan dicari
  • Tulis nama mata kuliah yang akan dicari.
Tampilan Menu Hitung IPK:

Tampilan Menu Edit Data:


Langkah-langkah mengedit data:
  • Tulis nama file yang akan di edit
  • Tuliskan nama mata kuliah yang akan diedit.
  • Isikan nilai baru.

Jumat, 23 Desember 2011

PROGRAM HITUNG BERAT BADAN

import java.io.*;
import java.util.*;

class NilaiMahasiswa{
                final static int M=1000;
                static class Mhs{String nama;int tinggiBadan;int beratBadan;}
                static Mhs[] mahasiswa=new Mhs[M];
                static int jumlahData;
                static Scanner key=new Scanner(System.in);
                static PrintStream tulisFile=null;
                static Scanner bacaFile=null;
                static String namaFile="";
                static     int jumtg=0;
                static     int jumbr=0;
                static     int jumbrtg=0;
                static     int jumbrbr=0;
                static     int jumtgtg=0;
                static     int ind=0;
                static  double b=0;
                static  double a=0;
               
//Program Utama
public static void main(String[] args){
                               System.out.println("*=======================****========================*");
System.out.println("*                                                   *");
System.out.println("*SELAMAT ANDA MEMASUKI KAWASAN MENGITUNG BERAT BADAN*");
System.out.println("*                                                   *");
System.out.println("*=======================****========================*");
Menu();
                }
               
//Prosedur Menu
         static void Menu(){
         int pilih=0;
         while(pilih!=4){
                System.out.println("Menu:\n1.Tulis\n2.Baca\n3.Tambah\n4.Exit");
                System.out.print("Pilihanmu? ");pilih=key.nextInt();
                          if(pilih==1) Tulis();
                          else if(pilih==2) Baca();
                          else if(pilih==3) Tambah();
                               }
                }
               
//Prosedur Tulis
         static void Tulis(){
                  System.out.print("Nama File\t: ");namaFile=key.next();
                  System.out.print("Jumlah Data\t: ");jumlahData=key.nextInt();
                                for(int i=0;i<jumlahData;i++){
                                mahasiswa[i]=new Mhs();
                                        System.out.println("Data ke-"+(i+1));
                                        System.out.print("Nama\t\t: ");mahasiswa[i].nama=key.next();
                                        System.out.print("Tinggi Badan\t: ");mahasiswa[i].tinggiBadan=key.nextInt();
                                        System.out.print("Berat Badan\t: ");mahasiswa[i].beratBadan=key.nextInt();
                                }
                   String s="";
                   try{tulisFile=new PrintStream(new File(namaFile));
                        for(int i=0;i<jumlahData;i++){
                        s=mahasiswa[i].nama+"\t"+mahasiswa[i].tinggiBadan+"\t"+mahasiswa[i].beratBadan;
                        tulisFile.println(s);}
                                }catch(FileNotFoundException e){System.out.println("File Error");}
                }
               
//Prosedur Baca
         static void Baca(){
                  System.out.print("Nama File\t: ");namaFile=key.next();
                              try{bacaFile=new Scanner(new File(namaFile));
                                    int i=0;
                                    while(bacaFile.hasNext()){
                                             mahasiswa[i]=new Mhs();
                                             mahasiswa[i].nama=bacaFile.next();
                                             mahasiswa[i].tinggiBadan=bacaFile.nextInt();
                                             mahasiswa[i].beratBadan=bacaFile.nextInt();
                                             bacaFile.nextLine();
                                              i++;
                                                }
                                                jumlahData=i;
                                }catch(FileNotFoundException e){System.out.println("File Tidak Ada");}
                                Tampil();
                }
               
//Prosedur Tampil
        static void Tampil(){
                System.out.println("nama"+"\t\t"+"x"+"\t"+"y"+"\t"+"xy"+"\t"+"x^2"+"\t"+"y^2"+"\t"+"dugaan"+"\t"+"keterangan");
                                int[] tg=new int[100];
                                int[] br=new int[100];
                                int[] brtg=new int[100];
                                int[] tgtg=new int[100];
                                int[] brbr=new int[100];
                                double tmp;
                                for(int i=0;i<jumlahData;i++){
                                tg[i]=mahasiswa[i].tinggiBadan;
                                br[i]=mahasiswa[i].beratBadan;
                                brtg[i]=mahasiswa[i].tinggiBadan*mahasiswa[i].beratBadan;
                                tgtg[i]=mahasiswa[i].tinggiBadan*mahasiswa[i].tinggiBadan;
                                brbr[i]=mahasiswa[i].beratBadan*mahasiswa[i].beratBadan;
                                jumtg=tg[i]+jumtg;
                                jumbr=br[i]+jumbr;
                                jumbrtg=brtg[i]+jumbrtg;
                                jumbrbr=brbr[i]+jumbrbr;
                                jumtgtg=tgtg[i]+jumtgtg;
//Bagian Hitung Dugaan
          b= (((double)jumlahData*(double)jumbrtg)-((double)jumtg*(double)jumbr))/(((double)jumlahData*jumtgtg)-(((double)jumtg*jumtg)));
          a= ((jumbr/jumlahData)-(b*(jumtg/jumlahData)));
          tmp = b*((double)(mahasiswa[i].tinggiBadan));
          tmp+= a;
//Selesai
            System.out.println(mahasiswa[i].nama+"\t\t"+tg[i]+"\t"+br[i]+"\t"+brtg[i]+"\t"+tgtg[i]+"\t"+brbr[i]+"\t"+(int)tmp+"\t"+cekKeterangan(mahasiswa[i].beratBadan,tmp));
                                ind=i;
                                }

             System.out.println("total"+"\t\t"+jumtg+"\t"+jumbr+"\t"+jumbrtg+"\t"+jumtgtg+"\t"+jumbrbr);
             System.out.print("\n\n\n Rumus nya : ");
             buatRumus();
                }
               
//Prosedur Tambah
            static void Tambah(){
                                Baca();
                                int j=jumlahData;
            System.out.print("Jumlah data tambahan : ");jumlahData=key.nextInt();
                                jumlahData+=j;
                                for(int i=j;i<jumlahData;i++){
                                mahasiswa[i]=new Mhs();
                                        
       System.out.println("Data ke-"+(i+1));
       System.out.print("Nama\t\t: ");mahasiswa[i].nama=key.next();
       System.out.print("Tinggi Badan\t: ");mahasiswa[i].tinggiBadan=key.nextInt();
       System.out.print("Berat Badan\t: ");mahasiswa[i].beratBadan=key.nextInt();
                                }
                                String s="";
                                try{tulisFile=new PrintStream(new File(namaFile));
                                for(int i=0;i<jumlahData;i++){
                                s=mahasiswa[i].nama+"\t"+mahasiswa[i].tinggiBadan+"\t"+mahasiswa[i].beratBadan;
                                                                tulisFile.println(s);}
                                }catch(FileNotFoundException e){System.out.println("File Error");}
                               
                }
                static void buatRumus(){
                                BacaSaja();
                                double tmp;
b= (((double)jumlahData*(double)jumbrtg)-((double)jumtg*(double)jumbr))/(((double)jumlahData*jumtgtg)-(((double)jumtg*jumtg)));
                                a= ((jumbr/jumlahData)-(b*(jumtg/jumlahData)));
                               
               System.out.printf("%2f + %2f X\n",a,b);
                /*              for(int aa = 0;aa<mahasiswa.length-1;aa++){
                                 if(mahasiswa[aa] == null){return;
                                                }
                                 tmp = b*((double)(mahasiswa[aa].tinggiBadan));
                                 tmp+= a;
                                 System.out.print("Berat badan ideal untuk " + mahasiswa[aa].nama + "=" + tmp+"\n");
                                }*/
               System.out.println();
                               
                }
               
               static void BacaSaja(){
                        try{
                        bacaFile=new Scanner(new File(namaFile));
                        int i=0;
                        while(bacaFile.hasNext()){
                                               mahasiswa[i]=new Mhs();
                                               mahasiswa[i].nama=bacaFile.next();
                                               mahasiswa[i].tinggiBadan=bacaFile.nextInt();
                                               mahasiswa[i].beratBadan=bacaFile.nextInt();
                                               bacaFile.nextLine();
                                                                i++;
                                                }
                                                jumlahData=i;
                                }catch(FileNotFoundException e){System.out.println("File Tidak Ada");}
                }
               
                         static String cekKeterangan(double beratbadan,double bbs){
                         if((beratbadan>=(bbs-(0.1*bbs)))&&(beratbadan<=(bbs+(0.1*bbs)))){
                                                return "ideal";
                                }
                                                else if(beratbadan<(bbs-(0.1*bbs))){return "kurang";}
                                                else if(beratbadan>(bbs+(0.1*bbs))){return "berlebih";}                                                             
               
                               
//jika beratbadan antara 10% bbs (if beratbadan > (bbs-(0.1*bbs)) && bbs+(0.1*bbs) ) return "Berat badan ideal"
//else if beratbadan < bbs-(0.1*bbs) return "Berat badan kurang"
//else if beratbadan > bbs+(0.1*bbs) return "Berat badan berlebih"
                                return "";
                }
               
                               
}



OUTPUT:
>>LANGKAH 1:
- Pilih no1 pada menu dengan mengetik angka 1
- Berikan nama file sesuai keinginan,dengan format namafile.txt
- Masukan data yang ingin dihitung, misalnya data yang ingin dihitung seperti pada gambar


--LANGKAH 2:


- Pilih angka 2 dengan mengetik angka 2
- Setelah itu akan tampil hasil perhitungan dari data yang dimasukan