Struktur Data
Struktur data merupakan mata kuliah yang berisi dasar dan prinsip
perepresentasian informasi (bagaimana menyimpan/store dan mendapatkan
kembali/retrieve informasi yang telah disimpan) dalam pemrograman yang
berorientasi obyek. Dalam pemrograman, representasi ini melibatkan
berbagai pengorganisasian atau penstrukturan himpunan item data yang
disebut dengan struktur data, sehingga didapatkan program yang efisien.
Topik-topik yang dibahas dalam mata kuliah ini antara lain struktur data
dasar (list, stack, queue), struktur data kompleks (binary tree, heap, general
tree), algoritma-algoritma sorting dan searching.
Di telkom mata kuliah ini ada di algoritma pemrograman namun menggunakan C++.
Contoh program saya untuk searching data
#include<iostream>
#include <conio.h>
#include <iomanip>
using namespace std;
const int b=9;
int data[b]={21,25,28,33,38,39,48,49,69};
void binarysearch(int l[],int n,int x,int *idx){
int kiri,kanan,tengah;
bool found;
kiri=1;
kanan=n;
found=false;
while (not found && kiri<=kanan){
tengah=(kiri+kanan)/2;
if(l[tengah]==x){
found=true;
}
else{
if(l[tengah]>x){
kanan=tengah-1;
}
else{
kiri=tengah+1;
}
}
}
if(found)
*idx=tengah;
else
*idx=-1;
}
int main(){
int jumlah=b,c,d;
cout<<"\t 'BINARY SEARCH'"<<endl;
cout<<"\t====================="<<endl;
cout<<"\nData : ";
//tampilkan data awal
for(int x = 0; x<9; x++){
cout<<setw(3)<<data[x];
}
cout<<endl<<endl<<endl;
cout<<" Pencarian Biner Search "<<endl;
cout<<" Jumlah data yang dicari "<<jumlah<<endl;
cout<<" Nilai yang ingin dicari ";cin>>c;
binarysearch(data,jumlah,c,&d);
if(d>0){
cout<<" Data Yang Dicari :"<<c<<" Found "<<endl;
}
else{
cout<<" Data Yang Dicari :"<<c<<" Not Found "<<endl;
}
return 0;
}
Diatas adlah binary search yaitu mencari data / record secara berurutan, Pencarian dilakukan dengan cara menebak apakah data yang dicari berada ditengah-tengah data, kemudian membandingkan data yang dicari dengan data yang ada ditengah. Menurut saya data yg ada pada record / array, jika data pada record tidak ada maka hsilnya tidak ditemukan.
sebagai conth saya mencari record 49
hasilnya :
hasilnya :