Sabtu, 04 Mei 2013
SORTING
Difinisi Sorting
Pendahuluan
- Pengurutan data dalam struktur data sangat penting terutama untuk data yang beripe data numerik ataupun karakter.
- Pengurutan dapat dilakukan secara ascending (urut naik) dan descending (urut turun)
- Pengurutan (Sorting) adalah proses pengurutan data yang sebelumnya disusun secara acak sehingga tersusun secara teratur menurut aturan tertentu
Contoh:
Data Acak : 5 6 8 1 3 25 10
Ascending : 1 3 5 6 8 10 25
Descending: 25 10 8 6 5 3 1
Contoh sorting....
#include <iostream>
using namespace std;
int data[10],data2[10];
int n;
void tukar(int a,int b)
{
int t;
t = data[b];
data[b] = data[a];
data[a] = t;
}
void Input()
{
cout<<"Masukkan jumlah data = ";cin>>n;
cout<<"--------------------------------------"<<endl;
for(int i=0;i<n;i++)
{
cout<<"Masukkan data ke-"<<(i+1)<<" = ";cin>>data[i];
data2[i] = data[i];
}
cout<<endl;
}
void Tampil()
{
for(int i=0;i<n;i++)
{
cout<<data[i]<<" ";
}
cout<<endl;
}
void bubble_sort()
{
for(int i=1;i<n;i++)
{
for(int j=n-1;j>=i;j--)
Tampil();
}
}
main()
{
cout<<"*-------------------------------------*"<<endl;
cout<<"* Selamat datang di aplikasi *"<<endl;
cout<<"* Bubble Sort *"<<endl;
cout<<"*-------------------------------------*"<<endl;
Input();
cout<<"Proses Bubble Sort,,,,,,,"<<endl;
cout<<"-------------------------------------"<<endl;
Tampil();
bubble_sort();
cout<<"-------------------------------------"<<endl;
cout<<" TERIMA KASIH "<<endl;
cout<<"-------------------------------------"<<endl;
}
QUEUE
QUEUE
Pengertian Secara harfiah queue dapat diartikan sebagai
antrian. Queue merupakan kumpulan data dengan
penambahan data hanya melalui satu sisi, yaitu belakang
(tail) dan penghapusan data hanya melalui sisi depan
(head). Berbeda dengan stack yang bersifat LIFO maka
queue bersifat FIFO(First In First Out), yaitu data yang
pertama masuk akan keluar terlebih dahulu dan data yang
terakhir masuk akan keluar terakhir
Contoh programnya adalah sebagai berikut..:
#define max 8
using namespace std;
typedef struct
{
int data[max];
int tail;
}
Queue antrian;
void init()
{
antrian.head = antrian.tail = -1;
}
int kosong()
{
if(antrian.head==-1)
{
return 1; //data kosong
}
else
{
return 0; //data berisi
}
}
int penuh()
{
if(antrian.tail==max-1)
{
return 1; //data penuh
}
else
{
return 0; //data berisi
}
}
void masuk()
{
int data;
cout <<"Masukkan bilangan "; cin >>data;
if(penuh()==0)
{
antrian.tail++;
antrian.data[antrian.tail]=data;
cout <<antrian.data[antrian.tail] <<" masuk";
}
else
{
cout <<"Data penuh";
}
}
int keluar()
{
int i;
int x=antrian.data[antrian.head+1];
for(i=antrian.head;i<antrian.tail;i++)
{;
}
antrian.tail--;
cout <<x <<" berhasil dikeluarkan";
return x;
}
void clear()
{
init();
cout <<"Data telah dikosongkan";
}
void tampil()
{
if(kosong()==0)
{
for(int i=antrian.head+1;i<=antrian.tail;i++)
{
cout <<antrian.data[i]<<" ";
}
}
else
{
cout <<"Data masih kosong";
}
}
main()
{
int pil;
cout<<"*-------------------------------*"<<endl;
cout<<"* Q u e u e ( A N T R I A N ) *"<<endl;
cout<<"*-------------------------------*"<<endl;
{
cout<<"\n";
cout<<"\n********************************";
cout<<"\n1. Masukkan Data";
cout<<"\n2. Keluarkan Data";
cout<<"\n3. Kosong Data";
cout<<"\n4. Cetak Data";
cout<<"\n\nSilahkan Masukan Pilihan Anda :";cin>>pil;
cout<<"\n";
switch (pil)
{
case 1:
{
masuk();
break;
}
case 2:
{
keluar();
break;
}
case 3:
{
clear();
break;
}
case 4:
{
tampil();
break;
}
default :
{
cout<<"\n Maaf, Tidak ada dalam pilihan";
}
}
}
while(pil>=1 && pil<= 4);
}
Tip :
Sebelum di gunakan tolong di perbaiki duli cui....karena antisipasi kalu copi paste....berusahhh...
good look,,,,,,,,,
LINKED LISE
Dalam pertemuan kali ini aku ingin menampikan sebuah salah satu program setruktur data yatu likend lise, dalam pemerograman ni kita bisa menggunakan aplikasi borlan atu turbo. yang penting bahasa pemerograman yang berbantuk bahsa C++. C++ merupakan salah satu program yang sering di gunakan utuk kita yang masih belajar tentang pemerograman, atau istilah lain dasar dalam pemrograman..
dan programnya tentang linked lise adalah sebagai berikut..
LIked Lise
#include <iostream.h>
#include <conio.h>
struct TNode
{
int data;
TNode *next;
};
TNode *head, *tail;
void init()
{
head=NULL;
tail=NULL;
}
int cekkosong()
{
if(tail==NULL)
{
return 0;
}
else
{
return 1;
}
}
void insertDepan(int databaru)
{
TNode *baru;
baru = new TNode;
baru->next = NULL;
if(cekkosong()==0)
{
head=tail=baru;
tail->next=NULL;
}
else
{
baru->next = head;
head = baru;
}
cout<<"Data masuk"<<endl;
}
void tambahBelakang(int databaru)
{
TNode *baru,*bantu;
baru = new TNode;
baru-> data = databaru;
baru-> next = NULL;
if(cekkosong()==0)
{
head=baru;
tail->next = NULL;
}
else
{
tail->next = baru;
tail=baru;
}
cout<<"Data masuk\n";
}
void tampil()
{
TNode *bantu;
bantu = head;
if(cekkosong()==1)
{
{
cout<<bantu->data<<" ";
bantu=bantu->next;
}
cout<<endl;
}
else cout<<"Masih kosong\n";
}
void hapusDepan()
{
TNode *hapus;
int d;
if (cekkosong()==1)
{
if(head->next != NULL)
{
hapus = head;
d = hapus->data;
head = head->next;
delete hapus;
}
else
{
d = head->data;
head = NULL;
}
cout<<d<<" terhapus\n";
}
else cout<<"Masih kosong\n";
}
void hapusBelakang()
{
TNode *hapus,*bantu;
int d;
if (cekkosong()==1)
{
if(head->next != NULL)
{
bantu = head;
while(bantu->next->next!=NULL)
{
bantu = bantu->next;
}
hapus = bantu->next;
bantu->next = NULL;
delete hapus;
}
else
{
d = head->data;
head = NULL;
}
cout<<d<<" terhapus\n";
}
else
cout<<"Masih kosong\n";
}
main()
{
clrscr();
int pil, databaru;
do
{
cout<<"Menu Pilihan Single Linked List dengan Head dan Tail "<<endl;
cout<<"1. Insert Data dari Depan"<<endl;
cout<<"2. Insert Data dati Belakang"<<endl;
cout<<"3. Lihat Data"<<endl;
cout<<"4. Hapus data dari depan"<<endl;
cout<<"5. Hapus data dari belakang"<<endl;
cout<<"6. Keluar"<<endl;
cout<<"Masukkan Pilihan Anda = "; cin>>pil;
switch (pil)
{
case 1:
{
clrscr();
cout<<"Masukkan Data = "; cin>>databaru;
insertDepan(databaru);
break;
}
case 2:
{
clrscr();
cout<<"Masukkan Data = "; cin>>databaru;
tambahBelakang(databaru);
break;
}
case 3:
{
clrscr();
tampil();
break;
}
case 4:
{
clrscr();
hapusDepan();
break;
}
case 5:
{
clrscr();
hapusBelakang();
break;
}
}
}
while(pil!=6);
}
Tip :
Tolong di perbaiki sendry cui...jagan cuman kopi paste aja....saya dulu ya berusaha sendry..sampai bisa...
PROGRAM STRUK
Hay sobat kali ini saya akan memosting tentang setruktur data,, program - program setruktur data menurut saya sangat lah sulit bila di bikin sendri. menuerut pengalaman saya setruktur data sangatlah berbobot sekali.
ini adalah satu contoh tentang setruktur data....
ni program Struk
#include <iostream.h>
#include <conio.h>
int huruf[10],huruf2[10];
int n;
void tukar (int a,int b)
{
int t;
t = huruf[b];
huruf[b] = huruf[a];
huruf[a] = t;
}
void Input()
{
cout<<"Masukkan jumlah huruf = ";cin>>n;
cout<<"--------------------------------------"<<endl;
for(int i=0;i<n;i++)
{
cout<<"Masukkan huruf ke-"<<(i+1)<<" = ";cin>>huruf[i];
huruf2[i] = huruf[i];
}
cout<<endl
}
void Tampil()
{
for(int i=0;i<n;i++)
{
cout<<huruf[i]<<" "
}
cout<<endl;
}
void QuickSort(int L, int R)
{
int i, j;
int mid;
i = L;
j = R;
mid = huruf[(L+R) / 2];
do
{
while (huruf[i] < mid) i++;
while (huruf[j] > mid) j--;
if (i <= j)
{
tukar(i,j);
i++;
j--;
};
Tampil();
}
while (i < j);
if (L < j) QuickSort(L, j);
if (i < R) QuickSort(i, R)
}
main()
{
cout<<"*-------------------------------------*"<<endl;
cout<<"* Selamat datang di aplikasi <<endl;
cout<<"* Quick Sort *"<<endl;
cout<<"*-------------------------------------*"<<endl;
Input();
cout<<"Proses Quick Sort,,,,,,,"<<endl;
cout<<"-------------------------------------"<<endl;
Tampil();
QuickSort();
cout<<"-------------------------------------"<<endl;
cout<<" TERIMA KASIH "<<endl;
cout<<"-------------------------------------"<<endl;
getch();
}
ini adalah satu contoh tentang setruktur data....
ni program Struk
#include <iostream.h>
#include <conio.h>
int huruf[10],huruf2[10];
int n;
void tukar (int a,int b)
{
int t;
t = huruf[b];
huruf[b] = huruf[a];
huruf[a] = t;
}
void Input()
{
cout<<"Masukkan jumlah huruf = ";cin>>n;
cout<<"--------------------------------------"<<endl;
for(int i=0;i<n;i++)
{
cout<<"Masukkan huruf ke-"<<(i+1)<<" = ";cin>>huruf[i];
huruf2[i] = huruf[i];
}
cout<<endl
}
void Tampil()
{
for(int i=0;i<n;i++)
{
cout<<huruf[i]<<" "
}
cout<<endl;
}
void QuickSort(int L, int R)
{
int i, j;
int mid;
i = L;
j = R;
mid = huruf[(L+R) / 2];
do
{
while (huruf[i] < mid) i++;
while (huruf[j] > mid) j--;
if (i <= j)
{
tukar(i,j);
i++;
j--;
};
Tampil();
}
while (i < j);
if (L < j) QuickSort(L, j);
if (i < R) QuickSort(i, R)
}
main()
{
cout<<"*-------------------------------------*"<<endl;
cout<<"* Selamat datang di aplikasi <<endl;
cout<<"* Quick Sort *"<<endl;
cout<<"*-------------------------------------*"<<endl;
Input();
cout<<"Proses Quick Sort,,,,,,,"<<endl;
cout<<"-------------------------------------"<<endl;
Tampil();
QuickSort();
cout<<"-------------------------------------"<<endl;
cout<<" TERIMA KASIH "<<endl;
cout<<"-------------------------------------"<<endl;
getch();
}
Langganan:
Postingan (Atom)