Posted by: e2n9 on: Juli 1, 2009
PENGERTIAN POITER
Pointer adalah suatu variable yang berisi alamat memory sebagai nilainya dan berbeda dengan variable biasa yang berisi nilai tertentu. Dengan kata lain, pointer berisi alamat dari variable yang mempunyai nilai tertentu Dengan mempelajari materi ini nantinya kita
dapat memahami definisi dan kegunaan pointer dan dapat mengetahui bagaimana mengimplentasikan pointer dalam program
Operasi pada Pointer
• Operasi Penugasan
Suatu variable pointer seperti halnya variable yang lain, juga bisa mengalami operasi
penugasan. Nilai dari suatu variable pointer dapat disalin ke variable pointer yang lain,Operator (&) dalam kaitannya dengan pointer adalah operator yang mengembalikan alamat memori dari operandnya. Contohnya :
int y = 5; /*deklarasi variabel y*/
int *yPtr; /*deklarasi variabel pointer yPtr*/yPtr = &y; /*mengisi variabel pointer yPtr dengan alamat dari variabel y*/
Maka representasi dari operasi penugasan di atas adalah
Representasi yang lain, misalnya asumsikan bahwa variabel y berada pada alokasi memori 600000 dan variabel pointer yPtr berada pada alokasi memori 500000.
linked list
Linked list adalah sekumpulan elemen bertipe sama, yang mempunyai keterurutan tertentu, yang setiap elemennya terdiri dari dua bagian.
Bentuk Umum :
typedef struct telmtlist
{
infotype info;
address next;
}elmtlist;
infotype >> sebuah tipe terdefinisi yang menyimpan informasi sebuah elemen list
next >> address dari elemen berikutnya (suksesor)
Jika L adalah list, dan P adalah address, maka alamat elemen pertama list L dapat diacu dengan notasi :
first(L)
Sebelum digunakan harus dideklarasikan terlebih dahulu :
#define first(L) (L)
Elemen yang diacu oleh P dapat dikonsultasi informasinya dengan notasi :
info(P) deklarasi #define info(P) P->info
next(P) deklarasi #define next(P) P->next
Beberapa Definisi :
1. List l adalah list kosong, jika First(L) = Nil
2. Elemen terakhir dikenali, dengan salah satu cara adalah karena Next(Last) = Nil
Nil adalah pengganti Null, perubahan ini dituliskan dengan #define Nil Null
Single Linked List (NULL memilik nilai khusus yang artinya tidak menunjuk ke mana-mana. Biasanya Linked List pada titik akhirnya akan menunjuk ke NULL).
#include
#include
#include
#include
#define nil NULL
#define info(P) P->info
#define next(P) P->next
#define first(L) (L)
typedef int infotype;
typedef struct telmtlist *address;
typedef struct telmtlist
{
infotype info;
address next;
}elmtlist;
typedef address list;
void ciptasenarai(list *L)
{
first(*L) = nil;
}
list nodbaru(int m)
{
list n;
n = (list) malloc(sizeof(elmtlist));
if (n!= NULL)
{
info(n) = m;
next(n) = nil;
}
return n;
}
void sisipsenarai (list *L, list t, list p)
{
if (p==nil)
{
t->next=*L;
*L=t;
}
else
{
t->next=p->next;
p->next=t;
}
}
void cetaksenarai (list L)
{
list ps;
for (ps=L; ps!=nil; ps=ps->next)
{
cout<<" "<<”;
}
cout<<" NULL"<<>k;
for (i=1;i<=k;i++) { cout<<"Masukkan Data Senarai ke-"<<>nilai;
n=nodbaru(nilai);
sisipsenarai (&pel,n,NULL);
}
cetaksenarai(pel);
getch();
return 0;
}
SORTING
Pengurutan data dalam struktur data sangat penting untuk data yang bertipe data numerik ataupun karakter.Pengurutan dapat dilakukan secara ascending (urut naik) dan descending (urut turun)Pengurutan (Sorting) adalah proses menyusun kembali data yang sebelumnya telah disusun dengan suatu pola tertentu, 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
Dibawah ini merupakan script atau source code untuk selection sorting di c++
#include
#include
void main() {
int i, j, iMin; //Deklarasi index untuk array
int n, Urut; //Deklarasi untuk banyak data
int Tmp; //Tmp penampung elemen array
int Arr[50]; //Deklarasi Array
//Aplikasi dimulai
printf(“Inputkan banyak data yang akan diurutkan : “);
scanf(“%i”, &n);
//Input array
Urut = 1;
for(i = 0; i Arr[iMin]) { //Jika Array lama lebih besar dari yang baru
Arr[i] = Arr[iMin]; //Ganti Array lama dengan Array baru
Arr[iMin] = Tmp; //Ganti Array baru dengan Array lama
}
}
}
}
Urut = Urut + 1; //Tambah urut dengan 1
}
//Tampilkan Hasil
printf(“\nSetelah Pengurutan\n”);
for(i = 0; i untuk ini pakailah
suatu fungsi
mnurut gw,, intiny nyamain NIM ny,,
naah,, da gw bwt,
ne source codeny:
#include
#include
using namespace std;
struct mhs
{
char nama[20];
int usia;
char NIM;
char kelas;
char alamat[100];
};
int pencari (int jumlah, int nim, char array[])
{
int i;
for(i=0;i<jumlah;i++)
{if(nim==array)
{cout<<array;}}
}
main ()
{
mhs data_mhs[10];
int jumlah, i;
char array;
char nim;
printf("Masukkan Banyaknya Data:");
scanf("%d",&jumlah);
for(i=0;i<jumlah;i++)
{
cout<<"\ndata ke-"<<(i+1);
cout<>data_mhs.nama;
cout<>data_mhs.usia;
cout<>data_mhs.NIM;
cout<>data_mhs.kelas;
cout<>data_mhs.alamat;
}
for(i=0;i<jumlah;i++)
{
data_mhs.NIM==array;
}
printf("Masukkan NIM:");
scanf("%c",&nim);
pencari (jumlah,nim,array);
system("PAUSE");
return EXIT_SUCCESS;
}
Binary Search tree (BST)
Binary Tree Sebagai Struktur File
Binary Search Tree
Struktur Binary Tree banyak digunakan untuk membantu memecahkan persoalan suatu algoritma, contohnya untuk memecahkan masalah organisasi file direct.
Penggunaan Binary Tree sebagai suatu struktur file yang disebut Binary Search Tree (BST).
Aturan Insert ke dalam File BST :
Node à Masuk Ke Kanan
Contoh Insert ke
File Binary Search Tree
Key : 30, 62, 69, 41, 25, 39, 14, 93
30
62
25
41 69
14
93
39
AVL TREE (Adelson, Velskii, Landis)
BST Yang “SeimbangBinary Search Tree yang memiliki aturan setiap node selalu memiliki balance factor 0, +1 atau -1
Maka : setiap kali key baru diinsert ke dalam file, setiap node dilihat balance factornya
Apabila ada node yang balance factornya tidak 0, +1 atau -1 (tidak imbang) maka struktur file dilakukan transformasi : pemutaran dan atau penggeseran
Kemungkinan tidak imbang hanya 2 dan diselesaikan dengan solusi : Rotasi Tunggal dan Rotasi Ganda.
NAMA:SITI NURMAINI
NIM:080010265
KLS:P081
refrensi
http://www.unsri.ac.id/fasilkom/old_version/dosen/syam/Materi/algoII/struktur&pointer.pdf
http://jampasir.wordpress.com/2009/01/05/pohon-pencarian-biner-aka-binary-search-tree-bst/
http://www.fredosaurus.com/notes-cpp/algorithms/searching/binarysearch.html
Posted by: e2n9 on: Juni 24, 2009
Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!