Jumat, 23 Maret 2012

Program Java : Mean, Median dan Modus


Program Java : Mean, Median dan Modus


Listing Program

import java.io.*;
import java.io.*;
import java.io.*;
\* ini digunakan sebagai library untuk inputan *\

class stat {
\* ini digunakan untuk nama kelas *\

public static void main(String args[])throws IOException {
\*untuk memanggil method utama ( main )*\

BufferedReader B=new BufferedReader (new InputStreamReader(System.in));
int arrInput []; arrInput = new int[100];
int arrUrut []; arrUrut = new int[100];
int arrModus [][]; arrModus = new int[100][3];
int inputCount=0;
int N;
int i, a, b, c, d, j, temp;
\* listing diatas digunakan untuk mendeklarasikan variable int, array *\

System.out.print
("1. Muhamad Rifai                  54410604 \n2. Marianus Panangian S.            54410215 \n ");

float jumlah;
float mean=0;
try {
System.out.print("Masukkan banyaknya data : ");
N=Integer.parseInt (B.readLine());
System.out.println();
jumlah = 0;
try {
for (i=1; i<=N; i++) {
System.out.print("Masukkan data ke " + i + " : ");
arrInput[i]=Integer.parseInt (B.readLine());
jumlah = jumlah + arrInput[i];
arrUrut[i] = arrInput[i];
}
mean = jumlah/N;
\* listing diatas untuk membuat program Meannya *\

for (a=1; a<=N; a++){
b=a;
while ((b>0 ) && (arrUrut[b]<arrUrut[b-1] )) {
temp = arrUrut[b];
arrUrut[b] = arrUrut[b-1];
arrUrut[b-1] = temp;
b--;
}
}
\* listing diatas digunakan untuk membuat data inputan agar terurut supaya memudahkan kita membuat program median dan modusnya *\

int Nm = N/2;
int median = arrUrut[(N+1)/2];
int Q1 = arrUrut[(median+1)/2];
int Q3 = arrUrut[(N+median)/2];
int lastEmpty = 1;
int posx;
for (i=1; i<=N; i++) {
posx = 0;
for (j=1; j<=N; j++) {
if (arrInput[i]==arrModus[j][1]) posx = j;
}
if (posx!=0) {
arrModus[posx][2]++;
} else {
arrModus[lastEmpty][1] = arrInput[i];
arrModus[lastEmpty][2] = 1;
lastEmpty++;
}
}
int modus = 0;
int banyak = 0;
for (i=1; i<=N; i++) {
if (arrModus[i][2]>banyak) {
modus = arrModus[i][1];
banyak = arrModus[i][2];
}
}
System.out.println("\nData terurut::");
for (i=1; i<=N; i++) {
System.out.print(" "+ arrUrut[i]);
}
System.out.println("\n");
System.out.println("Mean = " + mean);
System.out.println("Median = " + median);
System.out.println("Q1 = " + Q1);
System.out.println("Q3 = " + Q3);
System.out.println("Modus = " + modus);
} catch (IOException e) {
System.out.println ("Error!" +e);}
} catch (IOException e) {
System.out.println ("Error!" +e);}
System.exit(0);}}
\* listing diatas digunakan untuk membuat median dan modus *\

Output

Logika Program

Program diatas dibuat dengan menggunakan array dan pengulangan for . Pada inputan pertama, akan dicari mean dari beberapa data yang telah dimasukkan. Pertama kita akan diminta untuk memasukkan jumlah data yang akan diinput. Setelah itu program akan meminta inputan angka-angka tersebut, sesuai dengan jumlah data yang dimasukkan. Setelah data terkumpul, program akan mengurutkan data tersebut mulai dari yang terkecil. Setelah semua data  diurutkan, program akan mulai mengoperasikan data tersebut untuk mencari mean, median, kuartil 1, kuartil 3, dan modus.
Jadi pertama – tama kita diminta untuk memasukkan banyaknya  data yang ingin kita proses untuk mendapatkan hasilnya. Sebagai contoh kami memasukkan banyak datanya adalah 4. Lalu kita masukkan datanya satu persatu yaitu dengan menggunakan metode array sebagai contoh 2,3,4,5. Sesudah data dimasukkan, data diurut dan di cari nilai median dan modusnya dengan menggunakan bantuan kuartil. Dan didapatlah hasilnya yaitu ;
Data terurut 2 3 4 5
Mean = 3.5
Median = 3
Modus = 5
Dengan kuartil 1 = 3
                Kuartil 3 = 4


2 komentar: