Distribusi Frekuensi & Contoh Soalnya.
POSTED ON Selasa, 06 Oktober 2015 AT 22.26 \\
Definisi Distribusi Frekuensi
  • Merupakan penyusunan data ke dalam kelas – kelas tertentu dimana setiap individu/item hanya termasuk kedalam salah satu kelas tertentu
  • Pengelompokan data ke dalam beberapa kategori yang menunjukan banyaknya data dalam setiap kategori dan setiap data tidak dapat dimasukan ke dalam dua atau lebih kategori
  • Distribusi Frekuensi adalah penyusunan data dalam kelas-kelas interval. (Kuswanto,2006).
  • Distribusi Frekuensi adalah membuat uraian dari suatu hasil penelitian dan menyajikan hasil penelitian tersebut dalam bentuk yang baik, yakni bentuk stastistik popular yang sederhana sehingga kita dapat lebih mudah mendapat gambaran tentang situasi hasil penelitian. (Djarwanto,1982). 
  • Distribusi Frekuensi atau Tabel Frekuensi adalah suatu tabel yang banyaknya kejadian atau frekuensi (cases) didistribusikan ke dalam kelompok-kelompok (kelas-kelas) yang berbeda. (Budiyuwono,1987)
Jenis Distribusi Frekuensi
  • Tujuan Distribusi Frekuensi : untuk mengatur data mentah (belum dikelompokan) ke dalam bentuk yang rapi tanpa mengurangi inti informasi yang ada, Data menjadi informatif dan mudah dipahami.
  • Ditinjau dari jenisnya : Numerik : pengelompokan data berdasarkan angka – angka tertentu, biasanya sajikan dengan grafik histogram. Kategorikal : pengelompokan data berdasarkan kategori – kategori tertentu, biasanya disajikan dengan grafik batang, lingkaran dan gambar.
  • Ditinjau dari nyata tidaknya frekuensi : Absolut, jumlah bilangan yang menyatakan banyaknya data pada suatu kelompok tertentu. Relatif, juga dinamakan tabel persentase.
  • Ditinjau dari kesatuannya : Satuan, Kumulatif.
  • Data yang diolah merupakan suatu deret hitung yang berdiri sendiri.
Jenis Tabel Distribusi Frekuensi
  1. Tabel distribusi frekuensi data tunggal, menyajikan frekuensi data yang tidak dikelompokkan.
  2. Tabel distribusi frekuensi data kelompok, menyajikan pencaran frekuensi data yang dikelompokkan.
  3. Tabel distribusi frekuensi kumulatif, menyajikan frekuensi yang datanya selalu ditambahkan. 
  4. Tabel distribusi frekuensi relative, menyajikan data frekuensi yang bukan sebenarnya, misalnya dalam bentuk persen.

Oke langsung saja, biar lebih jelasnya lagi kita mulai dengan menjawab contoh soal berikut.
Berikut ini adalah Tugas Mata Kuliah saya tentang Distribusi Frekuensi :

Diperoleh data pengunjung taman Edupark UMS selama 80 hari terakhir sebagai berikut (sumber: data rekaan): Buat tabel distribusi frekuensi dalam bentuk :Kategorikal, Relatif, dan Kumulatif (kurang dan lebih dari)Buat grafik histogram, polygon, dan ogif

79 80 70 68 90 92 80 70 63 76
49 84 71 72 35 93 91 74 60 63
48 90 92 85 83 75 61 99 83 88
74 70 38 51 73 71 72 95 82 70
81 91 56 65 74 90 97 80 60 66
98 93 81 93 43 72 91 59 67 88
87 82 74 83 86 87 88 71 89 79
81 78 73 86 68 75 81 77 63 75


Langkah-langkah menjawab soal di atas seperti ini,
Langkah 1 : Urutkan dari yang terkecil hingga yang terbesar guna memudahkan dalam melakukan pernghitungan.
Data yang telah di urutkan :
35 38 43 48 49 51 56 59 60 60 61 63 63 63 65 66 67 68 68 70 70 70 70 71 71 71 72 72 72 73 73 74 74 74 74 75 75 75 76 77 78 79 79 80 80 80 81 81 81 81 82 82 83 83 83 84 85 86 86 87 87 88 88 88 89 90 90 90 91 91 91 92 92 93 93 93 95 97 98 99
Kemudian tentukan Nilai Max & Nilai Min, guna membuat jangkauan (Range).

Min = 35
Max = 99
Range = 99-35 = 64

Langkah 2 : Sebenarnya tidak ada aturan pasti, namun untuk memudahkan bisa menggunakan aturan Sturges.

Aturan Sturges K = 1 + 3,322 log n atau K = 1+3,3 log n
K =  banyaknya kelas
n = banyaknya jumlah data observasi

Banyaknya data atau n = 80 maka...

K  = 1 + 3,3 log 80
 = 1 + 3,3 (1,903) = 1 + 6,279 = 7,279 ≈ 7

Langkah 3 : Panjang/Lebar Kelas (Interval). Interval adalah selisih batas atas dan batas bawah dari suatu kategori.

Panjang Kelas P = J/K = Xn-X1/K
K = banyaknya kelas
Xn = nilai observasi terbesar
X1 = nilai observasi terkecil
Maka : P = 99-35/7 =64/7 = 9,143 ≈ 9

Langkah 4 : Tabulasi dan Tabel Frekuensi.


Batas kelas : Nilai terendah dan tertinggi

Batas kelas dalam suatu interval kelas terdiri dari dua macam :
  • Batas kelas bawah – lower class limit, Nilai teredah dalam suati interval kelas.
  • Batas kelas atas – upper class limit, Nilai teringgi dalam suatu interval kelas.
Pada tabel di atas, 44 merupakan nilai tertinggi kelas ke 1, dan 45 merupakan nilai terendah kelas ke 2. Begitupun seterusnya.

Nilai tengah : Tanda atau perinci dari suatu interval kelas dan merupakan suatu angka yang dapat dianggap mewakili suatu interval kelas. Nilai tengah kelas, kelasnya berada di tengah-tengah pada setiap interval kelas.

Nilai tengah kelas 1 : (35+44)/2 = 39,5
Nilai tengah kelas 2 : (45+54)/2 = 49,5
Nilai tengah kelas 3 : (55+64)/2 = 59,5
Dst.

Nilai tepi kelas : Nilai batas antara kelas yang memisahkan nilai antara kelas satu dengan kelas lainnya. Penjumlahan nilai atas kelas dengan nilai bawah kelas diantaranya dan di bagi dua.

Nilai tepi kelas 2 : (44+45)/2 = 44,5
Nilai tepi kelas 3 : (54+55)/2 = 54,5
Nilai tepi kelas 4 : (64+65)/2 = 64,5
Dst.

Distribusi Frekuensi Absolut & Relatif :

Absolut : Jumlah bilangan yang menyatakan banyaknya data pada suatu kelompok tertentu.

Relatif : Jumlah persentase yang menyatakan banyaknya data pada suatu kelompok tertentu. Frekuensi setiap kelas dibandingkan dengan frekuensi total. Tujuannya adalah untuk memudahkan membaca data secara tepat dan tidak kehilangan makna dari kandungan data.

Frekuensi Relatif = Frekuensi Kelas/Jumlah Kelas x 100

Pada tabel diatas,
Frek. Relatif kelas 1 : (3/80)x100 = 3,75
Frek. Relatif kelas 2 : (3/80)x100 = 3,75
Frek. Relatif kelas 3 : (8/80)x100 = 10
Frek. Relatif kelas 4 : (21/80)x100 = 26,25
Dst


Distribusi Frekuensi Satuan & Kumulatif
  • Distribusi frekuensi satuan : frekuensi yang menunjukkan berapa banyak data pada kelompok tertentu. 
  • Distribusi frekuensi kumulatif : distribusi frekuensi yang menunjukkan jumlah frekuensi pada sekelompok nilai tertentu, mulai dari kelompok sebelumnya sampai dengan kelompok tersebut.
  • Frekuensi kumulatif kurang dari : penjumlahan dari mulai frekuensi terendah sampai kelas tertinggi dan jumlah akhirnya merupakan jumlah data (n).
  • Frekuensi kumulatif lebih dari : pengurangan dari jumlah data (n) dengan frekuensi setiap kelas dimulai dari kelas terendah dan jumlah akhirnya adalah nol.

Oke, setelah semuanya selesai, sekarang mari kita membuat Grafik dari jawaban soal diatas.

Grafik Histogram :
Histogram merupakan diagram balok. Histogram menghubungkan antara tepi kelas interval dengan pada sumbu horizontal (X) dan frekuensi setiap kelas pada sumbu vertikal (Y).



Grafik Polygon :
Menggunakan garis yang mengubungkan titik – titik  yang merupakan koordinat antara nilai tengah kelas dengan jumlah frekuensi pada kelas tersebut.

 
Kurva Ogif / Ogive :
Merupkan diagram garis yang menunjukan kombinasi antara interval kelas dengan frekuensi kumulatif.



Nah, Seperti itulah langkah-langkah untuk mengerjakan soal Distribusi Frekuensi berikut dengan grafik-grafiknya.

Semoga bermanfaat,
Surakarta, 05/10/2015.
Pendidikan Teknik Informatika.
Universitas Muhammadiyah Surakarta.

Program Dalam Algoritma (Sorting)
POSTED ON Senin, 13 April 2015 AT 15.12 \\
1.     INSERTION SORT
a.      Script :
#include
using namespace std;
int main()
{
    int a[10], i, j, k, temp;
    cout<<"masukan angka:\n";
    for (i = 0; i < 16; i++)
    {
        cin>>a[i];
    }
    for (i = 1; i < 10; i++)
    {
        for (j = i; j >= 1; j--)
        {
            if (a[j] < a[j-1])
            {
                temp = a[j];
                a[j] = a[j-1];
                a[j-1] = temp;
            }
            else
                break;
        }
    }
    cout<<"sorted array\n"<    for (k = 0; k < 16; k++)
    {
          cout<    }
    getch();
}
b.     Gambar :


2.     TREE SORT
a.      Script :
#include
using namespace std;
struct tree{
    int info;
    tree *Left, *Right;
};
tree *root;
class TreeSort{
    public:
        int no_of_elements;
        int elements[10];
    public:
        void getarray();
        void sortit();
        void insert1(int);
        tree *insert2(tree *, tree *);
        void display(tree *);
};
void TreeSort::getarray(){
    cout<<"Berapa banyak elmen yang anda inginkan? ";
    cin>>no_of_elements;
    cout<<"masukan angka: ";
    for(int i=0;i        cin>>elements[i];
    }
}
void TreeSort::sortit(){
    for(int i = 0; i  < no_of_elements; i++){
        insert1(elements[i]);
    }
}
tree* TreeSort::insert2(tree *temp,tree *newnode){
    if(temp==NULL){
        temp=newnode;
    }
    else if(temp->info < newnode->info){
        insert2(temp->Right,newnode);
        if(temp->Right==NULL)
            temp->Right=newnode;
    }
    else{a
        insert2(temp->Left,newnode);
        if(temp->Left==NULL)
            temp->Left=newnode;
    }
    return temp;
}
void TreeSort::insert1(int n){
    tree *temp=root,*newnode;
    newnode=new tree;
    newnode->Left=NULL;
    newnode->Right=NULL;
    newnode->info=n;
    root=insert2(temp,newnode);
}
/* Inorder traversal */
void TreeSort::display(tree *t = root){
    if(root==NULL){
        cout<<"Nothing to display";
    }else
    if(t!=NULL){
        display(t->Left);
        cout<info<<" ";
        display(t->Right);
    }
}
int main(){
    TreeSort TS;
    TS.getarray();
    TS.sortit();
    TS.display();
    return 0;
}
b.     Gambar :



3.     BUBBLE SORT
a.      Script :
#include
using namespace std;

int main(){
     //declaring array
      int array[5];
      cout<<"masukan 5 angka random : "<
      for(int i=0; i<5 i="" o:p="">
      {
     //Taking input in array 
       cin>>array[i];       
      } 
      cout<
      cout<<"Input array : "<
     
      for(int j=0; j<5 j="" o:p="">
      {
       //Displaying Array
       cout<<"\t\t\tValue at "<
      }  
      cout<
    // Bubble Sort Starts Here
     int temp;
     for(int i2=0; i2<=4; i2++)
   {
     for(int j=0; j<4 j="" o:p="">
     {
        //Swapping element in if statement   
           if(array[j]>array[j+1])
       {
        temp=array[j];
        array[j]=array[j+1];
        array[j+1]=temp;       
       }
     }        
   }
   // Displaying Sorted array
      cout<<"  Sorted Array : "<
     for(int i3=0; i3<5 i3="" o:p="">
   {
    cout<<"\t\t\tValue at "<
   }  
return 0;
}
b.     Gambar :



4.     EXCHANGE SORT
a.      Script :
using namespace std;
#include
int main(void)
{
          int array[5];           // An array of integers.
          int length = 5;                 // Lenght of the array.
          int i, j;
          int temp;

        //Some input
          for (i = 0; i < 5; i++)
          {
                   cout << "masukan angka: ";
                   cin >> array[i];
          }

          //Algorithm
          for(i = 0; i < (length -1); i++)
          {
                   for (j=(i + 1); j < length; j++)
                   {
                             if (array[i] < array[j])
                             {
                                      temp = array[i];
                                      array[i] = array[j];
                                      array[j] = temp;
                             }
                   }
          }
          //Some output
          for (i = 0; i < 5; i++)
          {
                   cout << array[i] << endl;
          }
}

b.     Gambar :



5.     SELECTION SORT
a.      Script :
#include
#include

using namespace std;


template
void s_sort(T a[],int n)
{
     int i,j,t;
     for(i=0;i
     {
                     for(j=i+1;j
                     {
                                       if(a[j]a[i])
                                       {
                                                    t=a[i];
                                                    a[i]=a[j];
                                                    a[j]=t;
                                       }
                     }
     }
}


int main()
{
    int a[100],i,n;
    cout<<"Masukan jumlah elmen:\n";
    cin>>n;
    cout<<"\nmasukan angka:\n";
    for(i=0;i
    {

                      cout<<"\nmasukan:";
                    cin>>a[i];
    }
    s_sort(a,n);
    cout<<"\nAfter Sorting\n";
    for(i=0;i
    {
                    cout<
    }
    getch();
    return 0;
}
b.     Gambar :



6.     HEAP SORT
a.      Script :
#include
#include
using namespace std;
void max_heapify(int *a, int i, int n)
{
    int j, temp;
    temp = a[i];
    j = 2*i;
    while (j <= n)
    {
        if (j < n && a[j+1] > a[j])
            j = j+1;
        if (temp > a[j])
            break;
        else if (temp <= a[j])
        {
            a[j/2] = a[j];
            j = 2*j;
        }
    }
    a[j/2] = temp;
    return;
}
void heapsort(int *a, int n)
{
    int i, temp;
    for (i = n; i >= 2; i--)
    {
        temp = a[i];
        a[i] = a[1];
        a[1] = temp;
        max_heapify(a, 1, i - 1);
    }
}
void build_maxheap(int *a, int n)
{
    int i;
    for(i = n/2; i >= 1; i--)
    {
        max_heapify(a, i, n);
    }
}
int main()
{
    int n, i, x;
    cout<<"Masukan jumlah elmen:\n";
    cin>>n;
    int a[20];
    for (i = 1; i <= n; i++)
    {
        cout<<"masukan angka:"<<(i)<
        cin>>a[i];
    }
    build_maxheap(a,n);
    heapsort(a, n);
    cout<<"sorted output\n";
    for (i = 1; i <= n; i++)
    {
        cout<
    }
    getch();
}
b.     Gambar :



7.     QUICK SORT
a.      Script :
#include

void quickSort(int a[], int first, int last);
int pivot(int a[], int first, int last);
void swap(int& a, int& b);
void swapNoTemp(int& a, int& b);
void print(int array[], const int& N);

using namespace std;

int main()
{
    int test[] = { 7, -13, 1, 3, 10, 5, 2, 4 };
    int N = sizeof(test)/sizeof(int);

    cout << "Size of test array :"  << N << endl;

    cout << "Before sorting : " << endl;
    print(test, N);

    quickSort(test, 0, N-1);

    cout << endl << endl << "After sorting : " << endl;
    print(test, N);
    
    return 0;
}

/**
 * Quicksort.
 * @param a - The array to be sorted.
 * @param first - The start of the sequence to be sorted.
 * @param last - The end of the sequence to be sorted.
*/
void quickSort( int a[], int first, int last )
{
    int pivotElement;

    if(first < last)
    {
        pivotElement = pivot(a, first, last);
        quickSort(a, first, pivotElement-1);
        quickSort(a, pivotElement+1, last);
    }
}

/**
 * Find and return the index of pivot element.
 * @param a - The array.
 * @param first - The start of the sequence.
 * @param last - The end of the sequence.
 * @return - the pivot element
*/
int pivot(int a[], int first, int last)
{
    int  p = first;
    int pivotElement = a[first];

    for(int i = first+1 ; i <= last ; i++)
    {
        /* If you want to sort the list in the other order, change "<=" to ">" */
        if(a[i] <= pivotElement)
        {
            p++;
            swap(a[i], a[p]);
        }
    }

    swap(a[p], a[first]);

    return p;
}


/**
 * Swap the parameters.
 * @param a - The first parameter.
 * @param b - The second parameter.
*/
void swap(int& a, int& b)
{
    int temp = a;
    a = b;
    b = temp;
}

/**
 * Swap the parameters without a temp variable.
 * Warning! Prone to overflow/underflow.
 * @param a - The first parameter.
 * @param b - The second parameter.
*/
void swapNoTemp(int& a, int& b)
{
    a -= b;
    b += a;// b gets the original value of a
    a = (b - a);// a gets the original value of b
}

/**
 * Print an array.
 * @param a - The array.
 * @param N - The size of the array.
*/
void print(int a[], const int& N)
{
    for(int i = 0 ; i < N ; i++)
        cout << "array[" << i << "] = " << a[i] << endl;
}
b.     Gambar :



8.     MERGE SORT
a.      Script :
using namespace std;
#include
#include
void merge(int *,int, int , int );
void mergesort(int *a, int low, int high)
{
    int mid;
    if (low < high)
    {
        mid=(low+high)/2;
        mergesort(a,low,mid);
        mergesort(a,mid+1,high);
        merge(a,low,high,mid);
    }
    return;
}
void merge(int *a, int low, int high, int mid)
{
    int i, j, k, c[50];
    i = low;
    k = low;
    j = mid + 1;
    while (i <= mid && j <= high)
    {
        if (a[i] < a[j])
        {
            c[k] = a[i];
            k++;
            i++;
        }
        else
        {
            c[k] = a[j];
            k++;
            j++;
        }
    }
    while (i <= mid)
    {
        c[k] = a[i];
        k++;
        i++;
    }
    while (j <= high)
    {
        c[k] = a[j];
        k++;
        j++;
    }
    for (i = low; i < k; i++)
    {
        a[i] = c[i];
    }
}
int main()
{
    int a[20], i, b[20];
    cout<<"enter  the elements\n";
    for (i = 0; i < 5; i++)
    {
        cin>>a[i];
    }
    mergesort(a, 0, 4);
    cout<<"sorted array\n";
    for (i = 0; i < 5; i++)
    {
        cout<
    }
    cout<<"\nenter  the elements\n";
    for (i = 0; i < 5; i++)
    {
        cin>>b[i];
    }
    mergesort(b, 0, 4);
    cout<<"sorted array\n";
    for (i = 0; i < 5; i++)
    {
        cout<
    }
    getch();
}
b.     Gambar :



9.     SHELLSORT
a.      Srcipt :
using namespace std;
#include
#include
void read(int a[10], int n){
          cout<<"Reading\n";
          for(int i = 0; i < n; i++)
                   cin>>a[i];
}
void display(int a[10], int n){
          for(int i = 0; i < n; i++)
                   cout<
}
void shell(int a[10], int n){
          int gap = n/2;
          do{
                   int swap;
                   do{
                             swap = 0;
                             for(int i = 0; i < n - gap; i++)
                                      if(a[i] > a[i+gap])
                                      {
                                                int t = a[i];
                                                a[i] = a[i+gap];
                                                a[i+gap] = t;
                                                swap = 1;
                                      }
                   }
                   while(swap);
          }
          while(gap = gap / 2);
}
int main(){
          int a[10];
          int n;
          cout<<"enter n\n";
          cin>>n;
          read(a,n);
          cout<<"before sorting\n";
          display(a,n);
          shell(a,n);
          cout<<"\nafter sorting\n";
          display(a,n);
          getch();
}
b.     Gambar :



Sumber : dari berbagai sumber lalu disadur dan diselesaikan dengan baik.

Welcome Our Dream Of Daru
Distribusi Frekuensi & Contoh Soalnya.
POSTED ON Selasa, 06 Oktober 2015 AT 22.26 \\
Definisi Distribusi Frekuensi
  • Merupakan penyusunan data ke dalam kelas – kelas tertentu dimana setiap individu/item hanya termasuk kedalam salah satu kelas tertentu
  • Pengelompokan data ke dalam beberapa kategori yang menunjukan banyaknya data dalam setiap kategori dan setiap data tidak dapat dimasukan ke dalam dua atau lebih kategori
  • Distribusi Frekuensi adalah penyusunan data dalam kelas-kelas interval. (Kuswanto,2006).
  • Distribusi Frekuensi adalah membuat uraian dari suatu hasil penelitian dan menyajikan hasil penelitian tersebut dalam bentuk yang baik, yakni bentuk stastistik popular yang sederhana sehingga kita dapat lebih mudah mendapat gambaran tentang situasi hasil penelitian. (Djarwanto,1982). 
  • Distribusi Frekuensi atau Tabel Frekuensi adalah suatu tabel yang banyaknya kejadian atau frekuensi (cases) didistribusikan ke dalam kelompok-kelompok (kelas-kelas) yang berbeda. (Budiyuwono,1987)
Jenis Distribusi Frekuensi
  • Tujuan Distribusi Frekuensi : untuk mengatur data mentah (belum dikelompokan) ke dalam bentuk yang rapi tanpa mengurangi inti informasi yang ada, Data menjadi informatif dan mudah dipahami.
  • Ditinjau dari jenisnya : Numerik : pengelompokan data berdasarkan angka – angka tertentu, biasanya sajikan dengan grafik histogram. Kategorikal : pengelompokan data berdasarkan kategori – kategori tertentu, biasanya disajikan dengan grafik batang, lingkaran dan gambar.
  • Ditinjau dari nyata tidaknya frekuensi : Absolut, jumlah bilangan yang menyatakan banyaknya data pada suatu kelompok tertentu. Relatif, juga dinamakan tabel persentase.
  • Ditinjau dari kesatuannya : Satuan, Kumulatif.
  • Data yang diolah merupakan suatu deret hitung yang berdiri sendiri.
Jenis Tabel Distribusi Frekuensi
  1. Tabel distribusi frekuensi data tunggal, menyajikan frekuensi data yang tidak dikelompokkan.
  2. Tabel distribusi frekuensi data kelompok, menyajikan pencaran frekuensi data yang dikelompokkan.
  3. Tabel distribusi frekuensi kumulatif, menyajikan frekuensi yang datanya selalu ditambahkan. 
  4. Tabel distribusi frekuensi relative, menyajikan data frekuensi yang bukan sebenarnya, misalnya dalam bentuk persen.

Oke langsung saja, biar lebih jelasnya lagi kita mulai dengan menjawab contoh soal berikut.
Berikut ini adalah Tugas Mata Kuliah saya tentang Distribusi Frekuensi :

Diperoleh data pengunjung taman Edupark UMS selama 80 hari terakhir sebagai berikut (sumber: data rekaan): Buat tabel distribusi frekuensi dalam bentuk :Kategorikal, Relatif, dan Kumulatif (kurang dan lebih dari)Buat grafik histogram, polygon, dan ogif

79 80 70 68 90 92 80 70 63 76
49 84 71 72 35 93 91 74 60 63
48 90 92 85 83 75 61 99 83 88
74 70 38 51 73 71 72 95 82 70
81 91 56 65 74 90 97 80 60 66
98 93 81 93 43 72 91 59 67 88
87 82 74 83 86 87 88 71 89 79
81 78 73 86 68 75 81 77 63 75


Langkah-langkah menjawab soal di atas seperti ini,
Langkah 1 : Urutkan dari yang terkecil hingga yang terbesar guna memudahkan dalam melakukan pernghitungan.
Data yang telah di urutkan :
35 38 43 48 49 51 56 59 60 60 61 63 63 63 65 66 67 68 68 70 70 70 70 71 71 71 72 72 72 73 73 74 74 74 74 75 75 75 76 77 78 79 79 80 80 80 81 81 81 81 82 82 83 83 83 84 85 86 86 87 87 88 88 88 89 90 90 90 91 91 91 92 92 93 93 93 95 97 98 99
Kemudian tentukan Nilai Max & Nilai Min, guna membuat jangkauan (Range).

Min = 35
Max = 99
Range = 99-35 = 64

Langkah 2 : Sebenarnya tidak ada aturan pasti, namun untuk memudahkan bisa menggunakan aturan Sturges.

Aturan Sturges K = 1 + 3,322 log n atau K = 1+3,3 log n
K =  banyaknya kelas
n = banyaknya jumlah data observasi

Banyaknya data atau n = 80 maka...

K  = 1 + 3,3 log 80
 = 1 + 3,3 (1,903) = 1 + 6,279 = 7,279 ≈ 7

Langkah 3 : Panjang/Lebar Kelas (Interval). Interval adalah selisih batas atas dan batas bawah dari suatu kategori.

Panjang Kelas P = J/K = Xn-X1/K
K = banyaknya kelas
Xn = nilai observasi terbesar
X1 = nilai observasi terkecil
Maka : P = 99-35/7 =64/7 = 9,143 ≈ 9

Langkah 4 : Tabulasi dan Tabel Frekuensi.


Batas kelas : Nilai terendah dan tertinggi

Batas kelas dalam suatu interval kelas terdiri dari dua macam :
  • Batas kelas bawah – lower class limit, Nilai teredah dalam suati interval kelas.
  • Batas kelas atas – upper class limit, Nilai teringgi dalam suatu interval kelas.
Pada tabel di atas, 44 merupakan nilai tertinggi kelas ke 1, dan 45 merupakan nilai terendah kelas ke 2. Begitupun seterusnya.

Nilai tengah : Tanda atau perinci dari suatu interval kelas dan merupakan suatu angka yang dapat dianggap mewakili suatu interval kelas. Nilai tengah kelas, kelasnya berada di tengah-tengah pada setiap interval kelas.

Nilai tengah kelas 1 : (35+44)/2 = 39,5
Nilai tengah kelas 2 : (45+54)/2 = 49,5
Nilai tengah kelas 3 : (55+64)/2 = 59,5
Dst.

Nilai tepi kelas : Nilai batas antara kelas yang memisahkan nilai antara kelas satu dengan kelas lainnya. Penjumlahan nilai atas kelas dengan nilai bawah kelas diantaranya dan di bagi dua.

Nilai tepi kelas 2 : (44+45)/2 = 44,5
Nilai tepi kelas 3 : (54+55)/2 = 54,5
Nilai tepi kelas 4 : (64+65)/2 = 64,5
Dst.

Distribusi Frekuensi Absolut & Relatif :

Absolut : Jumlah bilangan yang menyatakan banyaknya data pada suatu kelompok tertentu.

Relatif : Jumlah persentase yang menyatakan banyaknya data pada suatu kelompok tertentu. Frekuensi setiap kelas dibandingkan dengan frekuensi total. Tujuannya adalah untuk memudahkan membaca data secara tepat dan tidak kehilangan makna dari kandungan data.

Frekuensi Relatif = Frekuensi Kelas/Jumlah Kelas x 100

Pada tabel diatas,
Frek. Relatif kelas 1 : (3/80)x100 = 3,75
Frek. Relatif kelas 2 : (3/80)x100 = 3,75
Frek. Relatif kelas 3 : (8/80)x100 = 10
Frek. Relatif kelas 4 : (21/80)x100 = 26,25
Dst


Distribusi Frekuensi Satuan & Kumulatif
  • Distribusi frekuensi satuan : frekuensi yang menunjukkan berapa banyak data pada kelompok tertentu. 
  • Distribusi frekuensi kumulatif : distribusi frekuensi yang menunjukkan jumlah frekuensi pada sekelompok nilai tertentu, mulai dari kelompok sebelumnya sampai dengan kelompok tersebut.
  • Frekuensi kumulatif kurang dari : penjumlahan dari mulai frekuensi terendah sampai kelas tertinggi dan jumlah akhirnya merupakan jumlah data (n).
  • Frekuensi kumulatif lebih dari : pengurangan dari jumlah data (n) dengan frekuensi setiap kelas dimulai dari kelas terendah dan jumlah akhirnya adalah nol.

Oke, setelah semuanya selesai, sekarang mari kita membuat Grafik dari jawaban soal diatas.

Grafik Histogram :
Histogram merupakan diagram balok. Histogram menghubungkan antara tepi kelas interval dengan pada sumbu horizontal (X) dan frekuensi setiap kelas pada sumbu vertikal (Y).



Grafik Polygon :
Menggunakan garis yang mengubungkan titik – titik  yang merupakan koordinat antara nilai tengah kelas dengan jumlah frekuensi pada kelas tersebut.

 
Kurva Ogif / Ogive :
Merupkan diagram garis yang menunjukan kombinasi antara interval kelas dengan frekuensi kumulatif.



Nah, Seperti itulah langkah-langkah untuk mengerjakan soal Distribusi Frekuensi berikut dengan grafik-grafiknya.

Semoga bermanfaat,
Surakarta, 05/10/2015.
Pendidikan Teknik Informatika.
Universitas Muhammadiyah Surakarta.

Program Dalam Algoritma (Sorting)
POSTED ON Senin, 13 April 2015 AT 15.12 \\
1.     INSERTION SORT
a.      Script :
#include
using namespace std;
int main()
{
    int a[10], i, j, k, temp;
    cout<<"masukan angka:\n";
    for (i = 0; i < 16; i++)
    {
        cin>>a[i];
    }
    for (i = 1; i < 10; i++)
    {
        for (j = i; j >= 1; j--)
        {
            if (a[j] < a[j-1])
            {
                temp = a[j];
                a[j] = a[j-1];
                a[j-1] = temp;
            }
            else
                break;
        }
    }
    cout<<"sorted array\n"<    for (k = 0; k < 16; k++)
    {
          cout<    }
    getch();
}
b.     Gambar :


2.     TREE SORT
a.      Script :
#include
using namespace std;
struct tree{
    int info;
    tree *Left, *Right;
};
tree *root;
class TreeSort{
    public:
        int no_of_elements;
        int elements[10];
    public:
        void getarray();
        void sortit();
        void insert1(int);
        tree *insert2(tree *, tree *);
        void display(tree *);
};
void TreeSort::getarray(){
    cout<<"Berapa banyak elmen yang anda inginkan? ";
    cin>>no_of_elements;
    cout<<"masukan angka: ";
    for(int i=0;i        cin>>elements[i];
    }
}
void TreeSort::sortit(){
    for(int i = 0; i  < no_of_elements; i++){
        insert1(elements[i]);
    }
}
tree* TreeSort::insert2(tree *temp,tree *newnode){
    if(temp==NULL){
        temp=newnode;
    }
    else if(temp->info < newnode->info){
        insert2(temp->Right,newnode);
        if(temp->Right==NULL)
            temp->Right=newnode;
    }
    else{a
        insert2(temp->Left,newnode);
        if(temp->Left==NULL)
            temp->Left=newnode;
    }
    return temp;
}
void TreeSort::insert1(int n){
    tree *temp=root,*newnode;
    newnode=new tree;
    newnode->Left=NULL;
    newnode->Right=NULL;
    newnode->info=n;
    root=insert2(temp,newnode);
}
/* Inorder traversal */
void TreeSort::display(tree *t = root){
    if(root==NULL){
        cout<<"Nothing to display";
    }else
    if(t!=NULL){
        display(t->Left);
        cout<info<<" ";
        display(t->Right);
    }
}
int main(){
    TreeSort TS;
    TS.getarray();
    TS.sortit();
    TS.display();
    return 0;
}
b.     Gambar :



3.     BUBBLE SORT
a.      Script :
#include
using namespace std;

int main(){
     //declaring array
      int array[5];
      cout<<"masukan 5 angka random : "<
      for(int i=0; i<5 i="" o:p="">
      {
     //Taking input in array 
       cin>>array[i];       
      } 
      cout<
      cout<<"Input array : "<
     
      for(int j=0; j<5 j="" o:p="">
      {
       //Displaying Array
       cout<<"\t\t\tValue at "<
      }  
      cout<
    // Bubble Sort Starts Here
     int temp;
     for(int i2=0; i2<=4; i2++)
   {
     for(int j=0; j<4 j="" o:p="">
     {
        //Swapping element in if statement   
           if(array[j]>array[j+1])
       {
        temp=array[j];
        array[j]=array[j+1];
        array[j+1]=temp;       
       }
     }        
   }
   // Displaying Sorted array
      cout<<"  Sorted Array : "<
     for(int i3=0; i3<5 i3="" o:p="">
   {
    cout<<"\t\t\tValue at "<
   }  
return 0;
}
b.     Gambar :



4.     EXCHANGE SORT
a.      Script :
using namespace std;
#include
int main(void)
{
          int array[5];           // An array of integers.
          int length = 5;                 // Lenght of the array.
          int i, j;
          int temp;

        //Some input
          for (i = 0; i < 5; i++)
          {
                   cout << "masukan angka: ";
                   cin >> array[i];
          }

          //Algorithm
          for(i = 0; i < (length -1); i++)
          {
                   for (j=(i + 1); j < length; j++)
                   {
                             if (array[i] < array[j])
                             {
                                      temp = array[i];
                                      array[i] = array[j];
                                      array[j] = temp;
                             }
                   }
          }
          //Some output
          for (i = 0; i < 5; i++)
          {
                   cout << array[i] << endl;
          }
}

b.     Gambar :



5.     SELECTION SORT
a.      Script :
#include
#include

using namespace std;


template
void s_sort(T a[],int n)
{
     int i,j,t;
     for(i=0;i
     {
                     for(j=i+1;j
                     {
                                       if(a[j]a[i])
                                       {
                                                    t=a[i];
                                                    a[i]=a[j];
                                                    a[j]=t;
                                       }
                     }
     }
}


int main()
{
    int a[100],i,n;
    cout<<"Masukan jumlah elmen:\n";
    cin>>n;
    cout<<"\nmasukan angka:\n";
    for(i=0;i
    {

                      cout<<"\nmasukan:";
                    cin>>a[i];
    }
    s_sort(a,n);
    cout<<"\nAfter Sorting\n";
    for(i=0;i
    {
                    cout<
    }
    getch();
    return 0;
}
b.     Gambar :



6.     HEAP SORT
a.      Script :
#include
#include
using namespace std;
void max_heapify(int *a, int i, int n)
{
    int j, temp;
    temp = a[i];
    j = 2*i;
    while (j <= n)
    {
        if (j < n && a[j+1] > a[j])
            j = j+1;
        if (temp > a[j])
            break;
        else if (temp <= a[j])
        {
            a[j/2] = a[j];
            j = 2*j;
        }
    }
    a[j/2] = temp;
    return;
}
void heapsort(int *a, int n)
{
    int i, temp;
    for (i = n; i >= 2; i--)
    {
        temp = a[i];
        a[i] = a[1];
        a[1] = temp;
        max_heapify(a, 1, i - 1);
    }
}
void build_maxheap(int *a, int n)
{
    int i;
    for(i = n/2; i >= 1; i--)
    {
        max_heapify(a, i, n);
    }
}
int main()
{
    int n, i, x;
    cout<<"Masukan jumlah elmen:\n";
    cin>>n;
    int a[20];
    for (i = 1; i <= n; i++)
    {
        cout<<"masukan angka:"<<(i)<
        cin>>a[i];
    }
    build_maxheap(a,n);
    heapsort(a, n);
    cout<<"sorted output\n";
    for (i = 1; i <= n; i++)
    {
        cout<
    }
    getch();
}
b.     Gambar :



7.     QUICK SORT
a.      Script :
#include

void quickSort(int a[], int first, int last);
int pivot(int a[], int first, int last);
void swap(int& a, int& b);
void swapNoTemp(int& a, int& b);
void print(int array[], const int& N);

using namespace std;

int main()
{
    int test[] = { 7, -13, 1, 3, 10, 5, 2, 4 };
    int N = sizeof(test)/sizeof(int);

    cout << "Size of test array :"  << N << endl;

    cout << "Before sorting : " << endl;
    print(test, N);

    quickSort(test, 0, N-1);

    cout << endl << endl << "After sorting : " << endl;
    print(test, N);
    
    return 0;
}

/**
 * Quicksort.
 * @param a - The array to be sorted.
 * @param first - The start of the sequence to be sorted.
 * @param last - The end of the sequence to be sorted.
*/
void quickSort( int a[], int first, int last )
{
    int pivotElement;

    if(first < last)
    {
        pivotElement = pivot(a, first, last);
        quickSort(a, first, pivotElement-1);
        quickSort(a, pivotElement+1, last);
    }
}

/**
 * Find and return the index of pivot element.
 * @param a - The array.
 * @param first - The start of the sequence.
 * @param last - The end of the sequence.
 * @return - the pivot element
*/
int pivot(int a[], int first, int last)
{
    int  p = first;
    int pivotElement = a[first];

    for(int i = first+1 ; i <= last ; i++)
    {
        /* If you want to sort the list in the other order, change "<=" to ">" */
        if(a[i] <= pivotElement)
        {
            p++;
            swap(a[i], a[p]);
        }
    }

    swap(a[p], a[first]);

    return p;
}


/**
 * Swap the parameters.
 * @param a - The first parameter.
 * @param b - The second parameter.
*/
void swap(int& a, int& b)
{
    int temp = a;
    a = b;
    b = temp;
}

/**
 * Swap the parameters without a temp variable.
 * Warning! Prone to overflow/underflow.
 * @param a - The first parameter.
 * @param b - The second parameter.
*/
void swapNoTemp(int& a, int& b)
{
    a -= b;
    b += a;// b gets the original value of a
    a = (b - a);// a gets the original value of b
}

/**
 * Print an array.
 * @param a - The array.
 * @param N - The size of the array.
*/
void print(int a[], const int& N)
{
    for(int i = 0 ; i < N ; i++)
        cout << "array[" << i << "] = " << a[i] << endl;
}
b.     Gambar :



8.     MERGE SORT
a.      Script :
using namespace std;
#include
#include
void merge(int *,int, int , int );
void mergesort(int *a, int low, int high)
{
    int mid;
    if (low < high)
    {
        mid=(low+high)/2;
        mergesort(a,low,mid);
        mergesort(a,mid+1,high);
        merge(a,low,high,mid);
    }
    return;
}
void merge(int *a, int low, int high, int mid)
{
    int i, j, k, c[50];
    i = low;
    k = low;
    j = mid + 1;
    while (i <= mid && j <= high)
    {
        if (a[i] < a[j])
        {
            c[k] = a[i];
            k++;
            i++;
        }
        else
        {
            c[k] = a[j];
            k++;
            j++;
        }
    }
    while (i <= mid)
    {
        c[k] = a[i];
        k++;
        i++;
    }
    while (j <= high)
    {
        c[k] = a[j];
        k++;
        j++;
    }
    for (i = low; i < k; i++)
    {
        a[i] = c[i];
    }
}
int main()
{
    int a[20], i, b[20];
    cout<<"enter  the elements\n";
    for (i = 0; i < 5; i++)
    {
        cin>>a[i];
    }
    mergesort(a, 0, 4);
    cout<<"sorted array\n";
    for (i = 0; i < 5; i++)
    {
        cout<
    }
    cout<<"\nenter  the elements\n";
    for (i = 0; i < 5; i++)
    {
        cin>>b[i];
    }
    mergesort(b, 0, 4);
    cout<<"sorted array\n";
    for (i = 0; i < 5; i++)
    {
        cout<
    }
    getch();
}
b.     Gambar :



9.     SHELLSORT
a.      Srcipt :
using namespace std;
#include
#include
void read(int a[10], int n){
          cout<<"Reading\n";
          for(int i = 0; i < n; i++)
                   cin>>a[i];
}
void display(int a[10], int n){
          for(int i = 0; i < n; i++)
                   cout<
}
void shell(int a[10], int n){
          int gap = n/2;
          do{
                   int swap;
                   do{
                             swap = 0;
                             for(int i = 0; i < n - gap; i++)
                                      if(a[i] > a[i+gap])
                                      {
                                                int t = a[i];
                                                a[i] = a[i+gap];
                                                a[i+gap] = t;
                                                swap = 1;
                                      }
                   }
                   while(swap);
          }
          while(gap = gap / 2);
}
int main(){
          int a[10];
          int n;
          cout<<"enter n\n";
          cin>>n;
          read(a,n);
          cout<<"before sorting\n";
          display(a,n);
          shell(a,n);
          cout<<"\nafter sorting\n";
          display(a,n);
          getch();
}
b.     Gambar :



Sumber : dari berbagai sumber lalu disadur dan diselesaikan dengan baik.