Senin, 26 Desember 2011

Membuat Data Klinik dengan JAVA

Soal ini adalah salah satu soal UTS PTA 2009/2010, mata kuliah Pemrograman Berorientasi Objek, untuk tingkat III, kelas KA01, KA09-KA11.

SOAL :
Sebuah klinik "Ghina Faridhatul Jannah" akan membuat laporan mengenai daftar pasien yang mengunjungi klinik tsb. Spesifikasi dari laporan tsb adalah :
·         Biaya konsultasi ditentukan dari jenis pelayanan jika pelayanan umum maka biaya konsultasi 20000 sedangkan jika pelayanan spesialisasi maka biaya 60000.
·         Biaya test ditentukan dari jenis test jika jenis test darah maka biaya 250000, jika jenis test urine hanya 10000.
·         Jumlah Biaya = biaya konsultasi + biaya test + biaya obat
·         Diskon
Jika jumlah biaya lebih dari 2000000 mendapatkan diskon 10%
Jika jumlah biaya kurang dari 2000000 tetapi lebih dari 1000000 mendapatkan diskon 5%
Jika jumlah biaya kurang dari 1000000 tidak mendapatkan diskon
Output seperti gambar berikut ini :

JAWAB :
Save dengan nama package : kuis
Save dengan nama file : klinik.java
Kemudian tuliskan codding berikut ini

package kuis;
import java.io.*;
class klinikrecord{
    public String[] nomer = new String[100];
    public String[] nama = new String[100];
    public String[] pelayanan = new String[100];
    public String[] penyakit = new String[100];
    public String[] test = new String[100];
    public String[] obat = new String[100];
    public static int indek;
    public int[] jumlah_biaya = new int[100];
    public double diskon;

    public String getNomer(int indek){
        return nomer[indek];
    }
    public String getNama(int indek){
        return nama[indek];
    }
     public String getPelayanan(int indek){
        return pelayanan[indek];
    }
      public String getPenyakit(int indek){
        return penyakit[indek];
    }
      public String getTest(int indek){
        return test[indek];
    }
       public String getObat(int indek){
        return obat[indek];
    }
       public int getJumlah_Biaya(int indek){
        return jumlah_biaya[indek];
    }
       public void setJumlah_Biaya(int indek,String biaya_konsultasi,String biaya_test,String biaya_obat){
    }
       public void setHasil(String nomer1,int indek,String nama1,String pelayanan1,String penyakit1,String test1,String obat1){
           nomer[indek] = nomer1;
           nama[indek] = nama1;
           pelayanan[indek] = pelayanan1;
           penyakit[indek] = penyakit1;
           test[indek] = test1;
           obat[indek] = obat1;
       }
}
public class klinik extends klinikrecord{
    public static void main (String[] args) throws Exception{
        BufferedReader dataIn = new BufferedReader (new InputStreamReader(System.in));
        int count = 0;
        int tanya = 0, total;
        System.out.print("Banyak Data Pasien : ");
        total=Integer.parseInt(dataIn.readLine());
        System.out.println("__________________________________");
        klinikrecord dataklinik = new klinikrecord();
        for (int i=0; i < total; i++){
            System.out.print("\nNomor Rekam Medis : ");
            dataklinik.nomer[i]=dataIn.readLine();
            System.out.print("Nama Pasien       : ");
            dataklinik.nama[i]=dataIn.readLine();
            System.out.println("Jenis Pelayanan Umum (PU) atau Pelayanan Spesialis (PS)");
            System.out.print("Jenis Pelayanan   : ");
            dataklinik.pelayanan[i]=dataIn.readLine();
            if(dataklinik.pelayanan[i].equals("PU")||dataklinik.pelayanan[i].equals("pu")){
                dataklinik.pelayanan[i]="20000";
            }else{
                dataklinik.pelayanan[i]="60000";
            }
            System.out.print("Jenis Penyakit    : ");
            dataklinik.penyakit[i]=dataIn.readLine();
            System.out.println("Jenis Test Darah (TD) atau Test Urine (TU)");
            System.out.print("Jenis Test           : ");
            dataklinik.test[i]=dataIn.readLine();
            if(dataklinik.test[i].equals("TD")||dataklinik.test[i].equals("td")){
                dataklinik.test[i]="250000";
            }else{
                dataklinik.test[i]="10000";
            }
            System.out.print("Biaya Obat        : ");
            dataklinik.obat[i]=dataIn.readLine();
        }
        for (int i=0; i < total; i++){
            dataklinik.setHasil(dataklinik.nomer[i],i,dataklinik.nama[i],dataklinik.pelayanan[i],dataklinik.penyakit[i],dataklinik.test[i],dataklinik.obat[i]);
        }
        for (int i=0; i < total; i++){
            System.out.println("\n****************** HASIL DATA PASIEN ******************");
            System.out.println("Nomor Rekam Medis      : "+dataklinik.getNomer(i));
            System.out.println("Nama Pasien                     : "+dataklinik.getNama(i));
              dataklinik.jumlah_biaya[i]=(Integer.parseInt(dataklinik.getPelayanan(i))+Integer.parseInt(dataklinik.getTest(i))+Integer.parseInt(dataklinik.getObat(i)));
            if(dataklinik.jumlah_biaya[i]>2000000){
                dataklinik.diskon=dataklinik.jumlah_biaya[i]*0.1;
            }else if((dataklinik.jumlah_biaya[i]<=2000000)&&(dataklinik.jumlah_biaya[i]>1000000)){
                dataklinik.diskon=dataklinik.jumlah_biaya[i]*0.05;
            }else{
                dataklinik.diskon=0;
            }
            System.out.println("Jumlah Biaya Pelayanan  : "+dataklinik.getPelayanan(i));
            System.out.println("Jumlah Biaya Test             : "+dataklinik.getTest(i));
            System.out.println("Jumlah Biaya Obat            : "+dataklinik.getObat(i));
            System.out.println("Total Biaya                         : "+dataklinik.jumlah_biaya[i]);
            System.out.println("Diskon                                 : "+dataklinik.diskon);
            System.out.println("_________________________________________________");
            System.out.println("JUMLAH BIAYA                  : "+(dataklinik.jumlah_biaya[i]-dataklinik.diskon));
            System.out.println("");
        }
    }
}

Tidak ada komentar:

Posting Komentar