Beranda > Java Tutorial, Sinaung > Mengurutkan Data, Mencari nilai Min, Max, Modus

Mengurutkan Data, Mencari nilai Min, Max, Modus


Berikut ini adalah program untuk mengurutkan data,mencari nilai min,max,modus yang menggunakan fungsi dan prosedur.

/*fungsi
1.mengurutkan data
2.mencari data sequantial
3.mencari data binari search+
4.mengubah data int k string
5.pengolahan statistik
-rata2
-nilai min max modus
-koefisiensi korelasi
*/

import java.io.*;
class tugas060508fungsi
{

static int[] isiarray(int angka)throws Exception // fungsi untuk memasukkan data kedalam array
{
BufferedReader inputan = new BufferedReader(new InputStreamReader(System.in));
int data [] = new int [angka];

//perulangan untuk user memasukkan data nya kedalam array
for (int i=0;i<angka;i++)
{
System.out.print(“masukkan data anda: “);
data[i]=Integer.parseInt(inputan.readLine());
}

return data;
}

static int[] urutarray(int[] datapinh)//fungsi untuk mengurutkan data array
{
//teknik mengurutkan data pada array secara sederhana menggunakan perulangan for
for(int i=0;i<datapinh.length-1;i++)

{
for (int j=i;j<datapinh.length-1;j++)

{

if (datapinh[i] > datapinh[j+1]) //jika data ke j > j+1 maka tukar
{
int help=datapinh[i];
datapinh[i]=datapinh[j+1];
datapinh[j+1]=help;
}
}
}

return datapinh;
}

static void tampilarray(int[] datapinh)throws Exception//prosedur untuk menampilkan data array sebelum diurut dan setelah diurut
{
BufferedReader inputan = new BufferedReader(new InputStreamReader(System.in));

System.out.print(“Data array sebelum diurut adalah\n”);
for(int i=0;i<datapinh.length;i++)
{
System.out.print(datapinh[i]+” “);
}

//datapinh yang baru yaitu data array yang sudah diurutkan
datapinh = urutarray(datapinh);
System.out.println(“\nData setelah diurut”);

//perulangan untuk menampilkan data array urut
for (int y=0;y<datapinh.length;y++)
{
System.out.print(datapinh[y]+” “);
}

// pesan untuk user mamasukkan data yang ingin dicari menggunakan binary search dan sekuaential search
System.out.print(“\nMasukkan data yang ingin anda cari: “);
int carilin = Integer.parseInt(inputan.readLine());

System.out.print(“\nMetode pencarian dimulai dari indeks array ke [0] sampai array ke [n] “);

//melemparkan isi data array untuk pencarian dengan sekuential search
int hasilcari = sekuential(datapinh,carilin);
System.out.print(“\nHasil pencarian menggunakan sekuential search adalah: “+hasilcari);

//melemparkan isi data array untuk pencarian dengan binari search
int hasilyutta = binarisearch(datapinh,carilin);
System.out.print(“\nHasil pencarian menggunakan binari search adalah: “+hasilyutta);

//menampilkan nilai terkecil dan terbesar dari data array
System.out.print(“\nNilai terkecil adalah: “+datapinh[0]);
System.out.print(“\nNilai terbesar adalah: “+datapinh.length);

//menampilkan rata2 dari data array
double pypynk = rata2(datapinh);
System.out.print(“\nNilai rata adalah: “+pypynk);

//melempar isi data array untuk melihat modus
int modus = Modus(datapinh);
System.out.print(“\nNilai modus adalah: “+modus);
}

static int sekuential(int[] datapinh,int cari)
{
boolean ada=false;

//melakukan perulangan untuk mengecek data pada array satu persatu
//dan jika data yang dicari ada maka akan ditampilkan
int hasilcari=0;
for(int i=0;i<datapinh.length;i++)
{
if (cari==datapinh[i])
{
ada = true;
hasilcari=i;
}
}
return hasilcari;
}

static int binarisearch(int[]datapinh,int cari)//fungsi untuk melakukan pencarian menggunakan binary search
{
boolean ada;
int kiri,kanan,n,mid,lokasi=0;
ada = false;kiri=0;kanan=datapinh.length;mid=0;
do
{
mid=(kiri+kanan)/2;//mencari nilai tengah yaitu posisi awal + posisi akhir dibagi 2
if (cari>datapinh[mid])//jika data yang dicari lebih besar dari nilai tengah
{
kiri = mid+1;//maka posisi awal dianggap posisi tengah + 1
}
else
{
if(cari<datapinh[mid])//jika data yang dicari lebih kecil dari nilai tengah
{
kanan = mid-1;//maka posisi akhir dianggap posisi tengah dikurangi 1
}
else
{
if(cari==datapinh[mid]) //jika data yang dicari sama dg nilai tengah maka akan perulangan akan selesai
{                // dan akan menampilkan letak posisi nya
ada = true;
lokasi=mid;
kiri=kanan+1;
//System.out.print(“mid”+mid);
//System.out.print(“\nMengguanakan Binary search data ketemu pada posisi: “+lokasi);
}
}
}
kiri++;
}while(kanan>=kiri);

return lokasi;
}

static double rata2(int[] datapinh)
{
int jumlah=0;
for (int i=0;i<datapinh.length;i++)
{
jumlah += datapinh[i];
}
double total=(double) jumlah/datapinh.length;
//System.out.print(“\nRata-rata adalah: “+total);
return total;
}

static int Modus(int[] datapinh)
{
//menampilkan data modus
int[] t=new int[datapinh.length];
for(int i=0;i<datapinh.length;i++)
{   int f=0;
int sama=datapinh[i];
for (int j=0;j<datapinh.length;j++)
{
if (datapinh[j]==sama) f++;
}
t[i]=f;
}

//mencari terbanyak
int terbesar=t[0];
int indek=0;
for (int i=0;i<t.length;i++)
{ if (terbesar<t[i])
{ terbesar=t[i]; indek=i;}
}
//System.out.println(“\nmodus: “+datana[indek]);
return datapinh[indek];
}
public static void main(String[]args)throws Exception
{
BufferedReader inputan = new BufferedReader(new InputStreamReader(System.in));
System.out.print(“Masukkan jumlah data anda: “);

int angka = Integer.parseInt(inputan.readLine());
int dataarray []=isiarray(angka);//memanggil fungsi isiarray untuk memasukkan data kedalam array

tampilarray(dataarray);//memanggil prosedur tampilarray untuk menampilkan data array sebelum diurut

}}

Sumber: http://stikomksi2007azwar.wordpress.com/2008/05/21/program-untuk-mengurutkan-datamencari-nilai-minmaxmodus-yang-menggunakan-fungsi-dan-prosedur/

About these ads
  1. Belum ada komentar.
  1. No trackbacks yet.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Logout / Ubah )

Twitter picture

You are commenting using your Twitter account. Logout / Ubah )

Facebook photo

You are commenting using your Facebook account. Logout / Ubah )

Google+ photo

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

Ikuti

Get every new post delivered to your Inbox.

%d bloggers like this: