Pages

Wednesday, October 16, 2013

C++ Mencari Modus dengan Memasukkan Data Random

Kali ini penulis akan mencoba untuk flashback ke materi yang telah lalu. Tapi jangan khawatir. Tetap berguna kok buat kita. Sebelum mulai koding ada baiknya kita pake pembukaan dulu. Biar ga' repot-repot menuliskan data yang dimasukkan maka penulis menggunakan fungsi random. Kalau mau entry satu persatu kurang efisien nih. hehe.....

Kalau berhasil, sobat - sobat akan menemui penampakan kayak gini nih :




















Silahkan dipahami kodingnya :

#include<iostream.h>
#include<conio.h>
#include<stdlib.h>

void main ()

{
int n,x=0,k=1;
int banyak[100];
float nilai[100];
float modus[100];

cout<<" Banyaknya N =  ";cin>>n;
cout<<"\nMasukkan data = "<<endl;
cout<<"==================================="<<endl;
randomize();
for(int i=0;i<n;i++)
{
nilai[i]=random(25);
cout<<nilai[i]<<"  ";
}

//untuk mengurutkan secara ascending
   cout<<"\n==================================="<<endl;
   for(int i=0;i<n;i++)
   {
    for(int j=(i+1);j<n;j++)
      {
       if(nilai[i]>nilai[j])
        {
         int tmp;
         tmp=nilai[i];
         nilai[i]=nilai[j];     //mengurutkan data
         nilai[j]=tmp;
        }
      }
      cout<<nilai[i]<<"  ";
   }

   //menghitung berapa kali muncul tiap angka
   for(int i=0;i<n;i++)
   {
    banyak[i]=0;
      for(int j=0;j<n;j++)
      {
       if(nilai[i]==nilai[j])
         {
          banyak[i]++;
         }
      }
   }

   //menentukan nilai yang paling sering muncul
   for(int i=0;i<n;i++)
{
if(banyak[i]>k)
{
k=banyak[i];
}
     
}

   //jika modus lebih dari satu
   for(int i=0;i<n;i++)
{
if(x==0)
modus[x]=0;
else
modus[x]=modus[x-1];

if(banyak[i]==k)
{
if(nilai[i]!=modus[x])
{
modus[x]=nilai[i];
x++;
}
}
}

   //Jika Semua angka muncul sama banyak
   int z=0;
   for(int i=0;i<n;i++)
{
if(banyak[i]==k)
{
          z++;
}
}
   if(z==n)
{
x=0;
}

if (x==0)
cout<<"\nTidak Ada Modus!"<<endl;
else
{
for(int i=0;i<x;i++)
{

            if(x>1)
              { for(int t=1;t<=x;t++)
            {cout<<"\nModus ada "<<t<<" = "<<endl;}}
            else
            {cout<< "\nModus hanya 1 = "<<endl;}

            cout<<modus[i]<<" ";
}

}
   getch();

}


Selamat mencoba!
Terimakasih untuk tidak sekedar kopas!!!
Semoga bermanfaat.

(by Astri)

4 comments:

  1. mas, knpa sy kopas di kode bloks c++. knapa error. void mainnya tidak terdeklerasi

    ReplyDelete
    Replies
    1. Itu buat borland, kalu mau pake code bloks harus dirubah iostreamnya dan beberapa ada yg beda

      Delete