L Lawliet - Death Note

Archive for 2015

Distribusi Frekuensi

Senin, 05 Oktober 2015
Posted by Unknown
Definisi Distribusi Frekuensi


  • Merupakan penyusunan data ke dalam kelas – kelas tertentu dimana setiap indiIvidu/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 kelompokkan.
  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.
Contoh SOAL :
















Langkah-langkah menjawab soal di atas seperti ini :

Langkah 1 : Urutkan dari yang terkecil hingga yang terbesar guna memudahkan dalam melakukan pernghitungan. 




Kemudian tentukan Nilai Max & Nilai Min, untuk membuat jangkauan (Range).

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


Langkah 2 : Sebenarnya tidak ada aturan pasti, untuk mudahnya 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.

jika: 
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 tebel 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.



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.




SCRIPT C++ PENGURUTAN (SORTING)

Minggu, 12 April 2015
Posted by Unknown
1. Insertion Sort
#include <conio.h>
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"<<endl;
    for (k = 0; k < 16; k++)
    {
          cout<<a[k]<<endl;
    }
    getch();
}

2.Tree Sort

#include<iostream>
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<<"Masukkan elemen yang anda inginkan:";
    cin>>no_of_elements;
    cout<<"masukan angka: \n";
    for(int i=0;i<no_of_elements;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{
        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<<t->info<<" ";
        display(t->Right);
    }
}
int main(){
    TreeSort TS;
    TS.getarray();
    TS.sortit();
    TS.display();
    return 0;
}
Gambar:


3. Bubble Sort

#include<iostream>
using namespace std;

int main(){
     //declaring array
      int array[5];
      cout<<"masukan acak 5 angka: "<<endl;
      for(int i=0; i<5; i++)
      {
     //Taking input in array 
       cin>>array[i];       
      } 
      cout<<endl;
      cout<<"Input array : "<<endl;
     
      for(int j=0; j<5; j++)
      {
       //Displaying Array
       cout<<"\t\t\tValue at "<<j<<" Index: "<<array[j]<<endl;        
      }  
      cout<<endl;
    // Bubble Sort Starts Here
     int temp;
     for(int i2=0; i2<=4; i2++)
   {
     for(int j=0; j<4; j++)
     {
        //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 : "<<endl;
     for(int i3=0; i3<5; i3++)
   {
    cout<<"\t\t\tValue at "<<i3<<" Index: "<<array[i3]<<endl; 
   }  
return 0;
}

Gambar:



4. Exchange Sort

using namespace std;
#include<iostream>
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;
          }

}


Gambar:


5. Selection Sort

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

using namespace std;


template <class T>
void s_sort(T a[],int n)
{
     int i,j,t;
     for(i=0;i<n;i++)
     {
                     for(j=i+1;j<n;j++)
                     {
                                       if(a[j]<a[i]) //for descending order use 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 elemen:\n";
    cin>>n;
    cout<<"\nmasukan angka:\n";
    for(i=0;i<n;i++)
    {

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


Gambar:



6. Heap Sort
#include <iostream>
#include <conio.h>
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 elemen:\n";
    cin>>n;
    int a[20];
    for (i = 1; i <= n; i++)
    {
        cout<<"masukan angka:"<<(i)<<endl;
        cin>>a[i];
    }
    build_maxheap(a,n);
    heapsort(a, n);
    cout<<"sorted output\n";
    for (i = 1; i <= n; i++)
    {
        cout<<a[i]<<endl;
    }
    getch();
}

Gambar:



7. Quick Sort

#include <iostream>

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;
}

Gambar:



8. Merge Sort

using namespace std;
#include <iostream>
#include <conio.h>
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<<a[i];
    }
    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<<b[i];
    }
    getch();
}

Gambar:



9. Shell Sort


using namespace std;
#include <iostream>
#include <conio.h>
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<<a[i]<<"\t";
}
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();
}

Gambar:






Senin, 13 April 2015