Jumat, 21 Februari 2014

Selection Sort

Selection Sort

selection sort adalah metode pengurutan dengan cara memindahkan elemen dengan cara membandingkan elemen sekarang dengan elemen yang berikutnya sampai dengan elemen terakhir . Jika ditemukan elemen lain yang lebih kecil dari elemen sekarang maka dicatat posisinya dan kemudian ditukar dan begitu seterusnya.
Dari proses pengurutannya, Selection sort ini memiliki dua buah varian yaitu :
1. Maximum Sort

memilih data yang maksimum dari suatu kumpulan data larik, lalu menempatkan data tersebut ke elemen paling akhir atau paling awal sesuai pengurutan yang diinginkan. Data maksimum/minimum yang diperoleh, “diisolasi” dan tidak diikutsertakan pada proses pencarian data maksimum berikutnya.

2. Minimum Sort

memilih data yang minimum dari suatu kumpulan data larik , lalu menempatkan data tersebut ke elemen paling akhir atau paling awal sesuai pengurutan yang diinginkan. Data minimum yang diperoleh, “diisolasi” dan tidak diikutsertakan pada proses pencarian data minimum berikutnya.

--------------------------------contoh program selection sort ----------------------------------


# include stdio.h
# include conio.h
const int maks = 1000;
typedef int array [maks+1];
void masukan(array simpan, int n);
void SelectionSort(array &simpan, int n);
void sebelum(array simpan, int n);
void sesudah(array simpan, int n);
int main()
{
    int n;
    array simpan;
    printf("masukkan jumlah data yang diinginkan : ");
    scanf("%d", &n);
    masukan(simpan, n);
    sebelum(simpan, n);
    SelectionSort(simpan, n);
    sesudah(simpan, n);
}

void masukan(array simpan, int n)
{
    int c;
    for(c=1; c<=n; c++)
    {
        printf("Data ke %d = ", c);
        scanf("%d", &simpan[c]);
    }
}

void SelectionSort(array &simpan, int n)
{
    int i, k, Help, mini;
    for (i=1; i <= n-1; i++)
    {
        mini = i;
        for (k=i+1; k<=n; k++)
        {
            if (simpan[k] < simpan[mini])
            {
                Help = simpan[mini];
                simpan[mini] = simpan[k];
                simpan[k] = Help;
            }

        }
    }
}

void sebelum(array simpan, int n)
{
    int c;
    printf("\n\nData sebelum di urutkan : \n");
    for (c=1; c<=n; c++)
    {
        printf("[%d]", simpan[c]);
    }
}

void sesudah(array simpan, int n)
{
    int c;
    printf("\n\nData setelah di urutkan : \n");
    for(c=1; c<=n; c++)
    {
        printf("[%d]",simpan[c]);
    }
}


oke sekian dulu untuk kali ini ya... karena fans saya yg lain (tugas) sudah menanti... hehhe :D

Bubble Sort

 Bubble Sort

Bubble sort (metode gelembung) adalah metode/algoritma pengurutan dengan dengan cara melakukan penukaran data dengan tepat disebelahnya secara terus menerus sampai bisa dipastikan dalam satu iterasi tertentu tidak ada lagi perubahan. Jika tidak ada perubahan berarti data sudah terurut.
Disebut pengurutan gelembung karena masing-masing kunci akan dengan lambat menggelembung ke posisinya yang tepat. Artinya Algoritma ini akan menggeser  nilai yang terkecil atau terbesar (sesuai dengan jenis pengurutan, ascending atau descending) ke posisi ujung dari daftar. Demikian seterusnya hingga semua daftar dalam keadaan terurut. Proses dasar yang terjadi dalam algoritma ini adalah proses pertukaran nilai (swapping).

------------------------- dibawah ini adalah ilustrasi bubble sort----------------------------
data awal : [5][2][4]
1. [5][2][4] bandingkan data ke 1 dengan data ke 2, bila data ke 1 lebih besar maka tukar.
2. [2][5][4] bandingkan data ke 1 dengan data ke 2, bila data ke 1 lebih besar maka tukar.
3. [2][4][5] bandingkan data ke 1 dengan data ke 2, bila data ke 2 lebih besar maka jangan di tukar.
4. [2][4][3] bandingkan data ke 1 dengan data ke 2, bila data ke 1 lebih besar maka tukar.
5. [2][3][4] bandingkan lagi data ke 1 dengan data ke 2, apakah sudah terurut atau belum
6. [2][3][4] bandingkan lagi data ke 1 dengan data ke 2, apakah sudah terurut atau belum
7. [2][3][4] data sudah terurut.

------------------------------contoh program bubble sort ------------------------------
# include stdio.h
# include conio.h
const int maks = 1000;
typedef int array [maks+1];
void masukan(array simpan, int n);
void BubbleSort(array simpan, int n);
void sebelum(array simpan, int n);
void sesudah(array simpan, int n);
int main()
{
    int n;
    array simpan;
    printf("masukkan jumlah data yang diinginkan : ");
    scanf("%d", &n);
    masukan(simpan, n);
    sebelum(simpan, n);
    BubbleSort(simpan, n);
    sesudah(simpan, n);
}

void masukan(array simpan, int n)
{
    int c;
    for(c=1; c<=n; c++)
    {
        printf("Data ke %d = ", c);
        scanf("%d", &simpan[c]);
    }
}

void BubbleSort(array simpan, int n)
{
    int i, k, Help;
    for (i=1; i<=n-1; i++)
    {
        for (k=n; k >= i+1; k--)
        {
            if (simpan[k] < simpan[k-1])
            {
            Help = simpan[k];
            simpan[k] = simpan[k-1];
            simpan[k-1] = Help;
            }
        }
    }
}

void sebelum(array simpan, int n)
{
    int c;
    printf("\n\nData sebelum di urutkan : \n");
    for (c=1; c<=n; c++)
    {
        printf("[%d]", simpan[c]);
    }
}

void sesudah(array simpan, int n)
{
    int c;
    printf("\n\nData setelah di urutkan : \n");
    for(c=1; c<=n; c++)
    {
        printf("[%d]",simpan[c]);
    }
}
--------------------------------------Tampilan program diatas-----------------------------------
 

Sabtu, 08 Februari 2014

Program C Array Mencari Data dan Indexnya

#include stdio.h
#include conio.h
main()
{
    int B[20],index[20], x,y,z;
    for(x=1;x<=10;x++)
    {
        printf("Data ke-%d : ",x);
        scanf("%d",&B[x]);
    }

    printf("Masukkan angka yang dicari : ");
    scanf("%d",&z);
    y=0;
    for (x=0;x<20 span="" x="">

   {
        if(B[x]==z)
        {
            index[y]=x;
            y++;
        }
    }

   if (y>0)
    {
        printf("angka %d yang dicari ada %d buah\n",z,y);
        printf("angka tersebut terdapat dalam index ke : ");
        for(x=0;x        {
            printf(" %d ",index[x]);
        }
        printf("\n");
    }

else
    {
        printf("maaf!!angka tidak ditemukan dalam array\n silakahkan coba lagi:)\n");
    }
    getch();
}




# ini hasil dari kode program diatas






oke.. selamat mencoba program diatas ya... catatan sedikit yang mungkin tidak terlalu penting... saya menjalankan program diatas menggunakan code blocks :) .... hehehe
cout <<" salam berbagi generasi tekno :* " ;

Sabtu, 01 Februari 2014

Fungsi VS Prosedur dan Pengertian Array

FUNGSI VS PROSEDUR


Kali ini saya akan menjelaskan beberapa perbedaan antara fungsi dan prosedur. Perbedaan fungsi dan prosedur yaitu:
# Fungsi
  • digunakan untuk membuat operasi-operasi yang tidak ada dalam fungsi utama
  • tidak membutuhkan variabel
  • fungsi akan mengembalikan suatu nilai pada pemanggilnya
  • proses pencetakan hasil/nilai sekalian dibuat di program utama ketika pemanggilan fungsinya
# Prosedur
  • digunakan untuk menstrukturkan suatu program dan memperbaiki kejelasan dan keumumannya
  • membutuhkan variabel khusus untuk menampung hasil/nilai ketikan terjadi suatu proses perhitungan
  • prosedur tidak akan mengembalikan nilai apapun pada pemanggilnya
  • hasil proses berada dalam blok subrutinnya sendiri untuk kemudian tinggal dipanggil nama prosedurnya di program utama 


ARRAY
Array atau larik adalah koleksi data dimana setiap elemen memakai nama yang sama dan bertipe sama dimana setiap elemen diakses dengan membedakan indeks arraynya. Array dipakai untuk menyajikan sekumpulan data yang betipe sama dan disimpan dengan urutan sesuai indeks secara kontinyu.Array memiliki beberapa tipe yaitu array dimensi satu, array dimensi dua, dan array dimensi banyak.
# Bentuk umum array dimensi satu
NamaArray : tipe_data nama_array[ukuran] = {nilai array};
contoh : float nilai[3] = {30,20,6};
 # Bentuk umum array dua dimensi
NamaArray : tipe_data nama_array[ukuran1][ukuran2]
contoh : char mahasiswa[1][30] = "pratiwi"