Jumat, 23 Mei 2014
penjelasan lebih jauh tentang heap n deap lalu penjelasan dekilas tentang leftist, tries, hashing, dan btree
pert 10
heap n deap
ciri:
heap = complete binary tree
min - tree ascending
max - tree descending
index parent = index child /2
child left = index parent * 2
child right = index parent * 2+1
(upheap = ngecek parent, downhead = ngecek child)
fungsi:
buat ngebantu cari nilai max n min
implementasi:
index dari 1
insertion:
min heap = node di tempat index terakhir, banding dgn parent ,parent lbih besar dari child tukar, sampai parent lbih kecil dari child.
max heap = node di tempat index terakhir, banding dgn parent ,parent lbih kecil dari child tukar, sampai parent lbih besar dari child.
deletion:
root di hapus (cuma bisa root yang di hapus), langsung di tukar dengan index terakhir lalu tukar dengan child bila child lbh kecil sampai tree sesuai urutan nilainya antara parent node & child .
min - max heap = gabungan min & max heap
ciri :
root berawal dari min lalu childnya max lalu min lagi lalu max lagi dan seterusnya
insertion:
kalau masuk di level min banding dengan parent, kalau parent lbih kecil swap , terus banding dengan granparent kalau grand parent (sama - sama level min) lbih besar ga swap
kalau masuk di level max banding dengan parent, kalau parent lbih besar swap , terus banding dengan granparent kalau grand parent (sama - sama level max) lbih kecil ga swap
deletion
min = root hapus , index terakhir gantiin ,trus root baru bandingin sama grandchild ke satunya (sama - sama level min) cari sama yang paling kecil di level tsb , lalu bila ada yg lbih kecil daripada root maka tukar dengan root node yg paling kecil
bila masih 1 level di bawahnya lagi maka banding dengan childnya kalo lebih kecil childnya maka swap
max = pilih yang paling besar di level max teratas, lalu hapus, lalu ganti dengan index terakhir, terus index yang di ganti itu banding dengan grandchildnya lalu bila ada yg lbih besar daripada node maka tukar dengan node yg paling besar
bila masih 1 level di bawahnya lagi maka banding dengan childnya kalo lebih besar childnya maka swap
deap (dable ended heap)
root selalu null
sebelah kanan min, kiri max
pratner = kalau node di tumpuk ada di titik yang sama
level min = index - index/2
level max = index + index/2
kalau partner kosong maka partner jadi parent dari partner seharusnya
level min =(index - index/2) /2
level max = (index + index/2) /2
insertion deap :
node masuk di index trakhir, lalu banding dengan partner, kalo partner lebih besar maka swap , lalu cek dengan parent kalau ga cocok maka swap
deletion
min = seperti heap lalu di cek dengan partner kalo lebih besar maka swap
max = seperti heap lalu di cek dengan partner kalo lebih kecil maka swap
Btree :
ciri -> orde (m) , key(m-1),
node sejumlah m
insertion:
masuk ke key yang sudah ada, kalau node penuh
deletion:
tandai,
leftist tree , tries , hashing
leftist tree :
s(kiri ) >= s(kanan)
penjelasan lebih jauh di lihat dapat di lihat di:
certifiedshare.blogspot.com
soundia
tries (previx tree):
auto correct di hp
hashing :
(hashing table)
collision(2 data yang sama) -> linear probing (baca slide)
-> chaining (linked list)
Minggu, 18 Mei 2014
b tree & heap n deap
->B- tree
> b-tree mempunyai beberapa sifat sebagai berikut
- setiap node mempunyai jumlah node dalam tree yang sempurna
- mempunyai ciri yang sama deperti 2-3 tree
- setiap node paling tidak mempunyai 2 child
- bila dalam 1 node mempunyai jumlah nilai sebanyak 'i' maka jumlah anaknya 'i+1'
- semua nilai data terurut
insert
- cara memasukan nilai yang baru tergantung dalam nilai yang i dimasukan itu sendiri
- bisa dimsukan dalam node diatas atau child
delete
- cara menghilangkan nilai tergantung dalam nilai yang i dimasukan itu sendiri
- dalam mendelete nilai bisa mempengaruhi seluruh struktur tree itu sendiri
->heap & deap
> heap & deap adalah suatu tree yang mempunyai struktur yang sangat bergantung pada urutan nilai dalam nodenya
>min heap = nilai node paling kecil d atas
>max heap = nilai node paling besar di atas
>min-max heap = mempunyai nilai ascending di 1 sisi dan descending di sisi lainnya
>piq = fungsi buat ngambil plg atas (min)
>maxim = fungsi buat ngambil plg atas (max)
Jumat, 09 Mei 2014
pembelajaran sesi 8 RBT dan 2-3 tree
-> Red Black Tree
ciri2:
> dalam sebuah rbt setiap nodenya mempunyai warna yaitu warna merah atau hitam
> bagian root dalam sebuah rbt selalu berwarna hitam
> dalam rbt juga mempunyai 2 fungsi yaitu insert dan delete
> dalam rbt juga ada yang namanya external nodenya, yaitu node yang selalu ada di paling akhir yang berwarna black.
> kalau parent (merah) maka anak2nya hitam.
> parent(merah) tidak boleh ketemu anak(merah)
a>dalam fungsi insert di rbt ada beberapa rules seperti:
- setiap node yang baru warnanya merah
- kalau paman (merah) maka parent dan paman di buat jadi warna hitam, lalu grand parent jadi merah
- kalau node pertama selalu merah tapi karena root langsung di ubah ke hitam
- kalau paman (hitam) maka lakukan rotasi (double / singgle) setelah itu parentnya jadi warna hitamda kedua warna anaknya jadi merah.
note :
double akan di gunakan kalau ketemu bentuk node:
o
\
o
/
o
single
o
\
o
\
o
b>dalam fungsi delete di rbt ada beberapa rules seperti:
- parent (merah) kalau punya child maka di ambil penggantinya dulu dari child sebelah kiri yang punya nilai terbesar atau child sebelah kanan yang punya nilai terkecil.
- kalau parent (black) dan child (red) kalau parent delete maka child akan naik dan jadi hitam
- kalau parent (merah) dan child (hitam) kalau parent delete child naik dan tdak berubah warna
- kalau yang di hapus berwarna hitam maka dilihat dulu dari sibingnya:
:- jika sibling merah maka tukar warna parent dan sibling dan rotasi dari(doube atau singgle) parent (warna menempel pada node)
:- jika sibling dan 2 anak nya hitam maka ubah warna sibling jadi merah
->2-3 tree
> adalah suatu tree yang dalam satu nodenya mengandung 1 atau 2 nilai
> kalau dalam 1 node mengandung 1 nilai maka anaknya ada 2 node sedangkan kalau mengandung 2 nilai maka anaknya ada 3 node
> dalam 2-3 tree juga mempunyai 2 fungsi yaitu insert dan delete
Jumat, 04 April 2014
TREE
TREE di bagi menjadi banyak jenis tetapi saya kali ini saya ajan membahas binary tree dan binary search tree, yang membedakan antara keduanya adalah kalau binary tree posisi penempatannya bebas sedangkan binary search tree punya beberapa peraturan sendiri.
Binary search tree yang saya pelajari mempunyai peraturan sebagai berikut :
->Binary search tree punya minimal left dan right, tetapi bisa juga di tammbah parent & child(akan saya jelaskan lebih lanjut di kesempatan lainya).
struct MLM{
char nama[25];
int usia;
int level;
struct MLM *left, *right, *parent;
}*root;
-> Binary search tree mempunyai peraturan bahwa sebelah LEFT dari CURR nilainya lebih kecil sedangkan RIGHT nilainnya harus lebih besar dari curr
void push(struct MLM **curr, char nama[], int usia, int level){
if(*curr == NULL){
(*curr) = (struct MLM*)malloc(sizeof(struct MLM));
// Presendence (kurung)
strcpy((*curr)->nama, nama);
(*curr)->usia = usia;
(*curr)->level = level;
(*curr)->left = (*curr)->right = NULL;
}else{
if(usia < (*curr)->usia){
if(*curr != NULL){
(*curr)->left->parent = (*curr);
}
push(&(*curr)->left,nama,usia,level+1);
}else if(usia > (*curr)->usia){
if((*curr) != NULL){
(*curr)->right->parent = (*curr);
}
push(&(*curr)->right,nama,usia,level+1);
}else{
printf("Angka %d sudah ada\n",usia);
}
}
}
->Lalu penampilan printnya bisa di gunakan postfix, infix atau prefix
void preorder(struct MLM *curr){
if(curr == NULL){
//printf("Maaf, kosong.. coba lagi besok.\n");
//getchar();
}else{
printf("%s %d %d\n",curr->nama, curr->usia, curr->level);
preorder(curr->left);
preorder(curr->right);
}
}
void inorder(struct MLM *curr){
if(curr == NULL){
//printf("Maaf, kosong.. coba lagi besok.\n");
//getchar();
}else{
inorder(curr->left);
printf("%s %d %d\n",curr->nama, curr->usia, curr->level);
inorder(curr->right);
}
}
void postorder(struct MLM *curr){
if(curr == NULL){
//printf("Maaf, kosong.. coba lagi besok.\n");
//getchar();
}else{
postorder(curr->left);
postorder(curr->right);
printf("%s %d %d\n",curr->nama, curr->usia, curr->level);
}
}
inilah yang saya pelajari dari pertemuan hari ini terima kasih
Binary search tree yang saya pelajari mempunyai peraturan sebagai berikut :
->Binary search tree punya minimal left dan right, tetapi bisa juga di tammbah parent & child(akan saya jelaskan lebih lanjut di kesempatan lainya).
struct MLM{
char nama[25];
int usia;
int level;
struct MLM *left, *right, *parent;
}*root;
-> Binary search tree mempunyai peraturan bahwa sebelah LEFT dari CURR nilainya lebih kecil sedangkan RIGHT nilainnya harus lebih besar dari curr
void push(struct MLM **curr, char nama[], int usia, int level){
if(*curr == NULL){
(*curr) = (struct MLM*)malloc(sizeof(struct MLM));
// Presendence (kurung)
strcpy((*curr)->nama, nama);
(*curr)->usia = usia;
(*curr)->level = level;
(*curr)->left = (*curr)->right = NULL;
}else{
if(usia < (*curr)->usia){
if(*curr != NULL){
(*curr)->left->parent = (*curr);
}
push(&(*curr)->left,nama,usia,level+1);
}else if(usia > (*curr)->usia){
if((*curr) != NULL){
(*curr)->right->parent = (*curr);
}
push(&(*curr)->right,nama,usia,level+1);
}else{
printf("Angka %d sudah ada\n",usia);
}
}
}
->Lalu penampilan printnya bisa di gunakan postfix, infix atau prefix
void preorder(struct MLM *curr){
if(curr == NULL){
//printf("Maaf, kosong.. coba lagi besok.\n");
//getchar();
}else{
printf("%s %d %d\n",curr->nama, curr->usia, curr->level);
preorder(curr->left);
preorder(curr->right);
}
}
void inorder(struct MLM *curr){
if(curr == NULL){
//printf("Maaf, kosong.. coba lagi besok.\n");
//getchar();
}else{
inorder(curr->left);
printf("%s %d %d\n",curr->nama, curr->usia, curr->level);
inorder(curr->right);
}
}
void postorder(struct MLM *curr){
if(curr == NULL){
//printf("Maaf, kosong.. coba lagi besok.\n");
//getchar();
}else{
postorder(curr->left);
postorder(curr->right);
printf("%s %d %d\n",curr->nama, curr->usia, curr->level);
}
}
inilah yang saya pelajari dari pertemuan hari ini terima kasih
Sabtu, 29 Maret 2014
binary tree
saya akan menjelaskan tentang jenis2 binary tree;
Ada 3 jenis tree yaitu :
skewed tree (masing2 punya satu anak di tap turunannya)
perfect tree (masing2 punya 2 anak di setiap turunannya)
complete tree(sebuah bynari tree yang tidak sempurna)
dalam pengaplikasiannya tree juga bisa digunakan dalam oprasi perhitungan seperti:
infix(perhitungan biasa)
=> A + B x C
prefix(perhitungan yang memposisikan tanda oprasi hitungan di depan angka)
=> + A x B C
postfix(perhitungan yang memposisikan tanda oprasi hitungan di belakang angka)
=>A B C x +
Ada 3 jenis tree yaitu :
skewed tree (masing2 punya satu anak di tap turunannya)
perfect tree (masing2 punya 2 anak di setiap turunannya)
complete tree(sebuah bynari tree yang tidak sempurna)
dalam pengaplikasiannya tree juga bisa digunakan dalam oprasi perhitungan seperti:
infix(perhitungan biasa)
=> A + B x C
prefix(perhitungan yang memposisikan tanda oprasi hitungan di depan angka)
=> + A x B C
postfix(perhitungan yang memposisikan tanda oprasi hitungan di belakang angka)
=>A B C x +
Jumat, 21 Maret 2014
linked list part 3
link list
: singgle(next), double(next, prev), multi(left, right, parent, child);
implementasi
: stack(enstack(nambah), destack(ngurang)) , queue(front(depan) , rear(belakang)) ;
berikut saya berikan contoh kodingan program push dalam link list yang nantinya bisa menentukan pisisi pushnya secara manual:
int jumlahData=0
void push(char vegeName[], int qty, int posisi)
{
struct grocery *curr=(struct grocery*)malloc(sizeof(struct grocery));
strcpy(curr->vegeName,vegeName);
curr->qty=qty;
if(head==NULL)
{
head=tail=curr;
tail->next=NULL;
head->prev=NULL;
}
else
{
if(posisi==1)
{
curr->next=head;
head->prev=curr;
head=curr;
head->prev=NULL;
}
else if(posisi==jumlahData+1)
{
tail->next=curr;
curr->prev=tail;
tail=curr;
tail->next=NULL;
}
else
{
temp=head;
int i=1;
while(temp!=tail && i!=posisi-1)
{
temp=temp->next;
i++;
}
curr->next=temp->next;
temp->next->prev=curr;
temp->next=curr;
curr->prev=temp;
}
}
jumlahData++;
}
berikut adalah kodingan program yang inngin menghapus (pop) suatu spesifik data:
void pop(char vegeName[])
{
if(head==NULL)
{
printf("not found");
}
else
{
if(strcmpi(head->vegeName,vegeName)==0)
{
if(head==tail)
{
free(head);
head=tail=NULL;
}
else
{
head=head->next;
free(head->prev);
head->prev=NULL;
}
}
else if(strcmpi(tail->vegeName,vegeName)==0)
{
tail=tail->prev;
free(tail->next);
tail->next=NULL;
}
else
{
temp=head;
int isFound=0;
while(temp!=NULL )
{
if(strcmpi(vegeName,temp->vegeName)==0)
{
isFound=1;
break;
}
temp=temp->next;
}
if(isFound==1)
{
temp->next->prev=temp->prev;
temp->prev->next=temp->next;
free(temp);
}
else
{
printf("\nnot found ");
getch();
}
}
}
}
Jumat, 14 Maret 2014
link list part 2
QUEUE:
adalah sebuah system linked list system yang menganut system FIFO (first in first out);
queue menggunakan system pushHead dengan popTail selain itu bisa juga menggunakan system pushTail dengan popHead;
queue menggunakan system priority queue jadi dalam sytem ini kita bisa langsung mensorting node yang di masukan , contoh kodingnya adalah:
void priority(char nama[], int usia){
struct Facebook *curr = (struct Facebook*) malloc(sizeof(struct Facebook));
strcpy(curr->nama,nama);
curr->usia = usia;
if(head == NULL){
head = tail = curr;
head->prev = NULL;
tail->next = NULL;
}else{
if(curr->usia > head->usia){
//pushHead
curr->next = head;
head->prev = curr;
head = curr;
head->prev = NULL;
}else if(curr->usia < tail->usia ){
//pushTail
tail->next = curr;
curr->prev = tail;
tail = curr;
tail->next = NULL;
}else{
//push mid
struct Facebook *temp=head;
while(temp->next->usia > curr->usia){
temp = temp->next;
}
curr->next = temp->next;
temp->next->prev = curr;
temp->next = curr;
curr->prev = temp;
}
}
}
jadi secara logika bisa disimpulkan sebagai berikut:
//if(strcmp(curr->nama,head->nama) < 0){
// //push head
//}else if(strcmp(curr->nama,tail->nama) > 0){
// //push tail
//}else{
// //push mid
//}
STACK:
adalah sebuah system linked list system yang menganut system LIFO (last in first out);
stack menggunakan system pushHead dengan popHead selain itu bisa juga menggunakan system pushTail dengan popTail;
DOUBLE LINKED LIST:
adalah system linked list yang cara menyambungnya mempunyai 2 cara dengan next dan prev;
ini contoh kodingnya:
struct Facebook{
char nama[25];
int usia;
struct Facebook *next,*prev;
}*head,*tail , *curr;
adalah sebuah system linked list system yang menganut system FIFO (first in first out);
queue menggunakan system pushHead dengan popTail selain itu bisa juga menggunakan system pushTail dengan popHead;
queue menggunakan system priority queue jadi dalam sytem ini kita bisa langsung mensorting node yang di masukan , contoh kodingnya adalah:
void priority(char nama[], int usia){
struct Facebook *curr = (struct Facebook*) malloc(sizeof(struct Facebook));
strcpy(curr->nama,nama);
curr->usia = usia;
if(head == NULL){
head = tail = curr;
head->prev = NULL;
tail->next = NULL;
}else{
if(curr->usia > head->usia){
//pushHead
curr->next = head;
head->prev = curr;
head = curr;
head->prev = NULL;
}else if(curr->usia < tail->usia ){
//pushTail
tail->next = curr;
curr->prev = tail;
tail = curr;
tail->next = NULL;
}else{
//push mid
struct Facebook *temp=head;
while(temp->next->usia > curr->usia){
temp = temp->next;
}
curr->next = temp->next;
temp->next->prev = curr;
temp->next = curr;
curr->prev = temp;
}
}
}
jadi secara logika bisa disimpulkan sebagai berikut:
//if(strcmp(curr->nama,head->nama) < 0){
// //push head
//}else if(strcmp(curr->nama,tail->nama) > 0){
// //push tail
//}else{
// //push mid
//}
STACK:
adalah sebuah system linked list system yang menganut system LIFO (last in first out);
stack menggunakan system pushHead dengan popHead selain itu bisa juga menggunakan system pushTail dengan popTail;
DOUBLE LINKED LIST:
adalah system linked list yang cara menyambungnya mempunyai 2 cara dengan next dan prev;
ini contoh kodingnya:
struct Facebook{
char nama[25];
int usia;
struct Facebook *next,*prev;
}*head,*tail , *curr;
Jumat, 07 Maret 2014
LINKED LIST DI STRUTUR DATA 7-3-2014
linked list : suatu cara membuat kumpulan data yang berisi bermacam-macam data dan bersifat dinamis yang artinya jumlah kumpulan data di dalam memory akan berubah-ubah sesuai jumlah inputan data user;
data- data yang dimasukan dalam linked list di sebut node
example:
struct Mahasiswa{
char nama[25];
int usia;
struct Mahasiswa *next;
}*head, *tail;
linked list dibagi jadi banyak:
1) pushHead/ pushDepan
menambahkan node(data) di awal, jadi setiap node yang ditambah node itu akan di masukan ke awal node;
example:
void pushDepan(char nama[],int usia){
struct Mahasiswa *curr = (struct Mahasiswa*) malloc(sizeof(struct Mahasiswa));
strcpy(curr->nama,nama);
curr->usia = usia;
if(head == NULL){
head = tail = curr;
tail->next = NULL;
}else{
curr->next = head;
head = curr;
}
}
2)pushTail/pushBelakang
menambahkan node(data) di akhir, jadi setiap node yang ditambah node itu akan di masukan ke akhir node ;
void pushBelakang(char nama[], int usia){
struct Mahasiswa *curr = (struct Mahasiswa*) malloc(sizeof(struct Mahasiswa));
strcpy(curr->nama,nama);
curr->usia = usia;
if(head == NULL){
head = tail = curr;
}else{
tail->next = curr;
tail = curr;
}
tail->next = NULL;
}
3)print/cetak
fungsi ini hanya untuk mencetak linked list;
example:
void print(){
struct Mahasiswa *curr;
printf("=====================================================\n");
printf("| %-23s | %-23s |\n","Nama Mahasiswa","Usia");
printf("=====================================================\n");
//menggunakan for
for(curr=head;curr!=NULL;curr=curr->next){
printf("| %-23s | %-23d |\n",curr->nama,curr->usia);
}
//menggunakan while
curr = head;
while(curr){
printf("| %-23s | %-23d |\n",curr->nama,curr->usia);
curr=curr->next;
}
printf("=====================================================\n");
}
4)popDepan/popHead
menghapus node yang ada di paling depan;
example:
void popDepan(){
if(head){
struct Mahasiswa *curr = head;
if(head == tail){
//1
head = tail = NULL;
free(curr);
}else{
//>1
head = head->next;
free(curr);
}
}else{
printf("No more data to be deleted..\n\n");
}
}
5)popBelakang/popTail
menghapus node yang ada di paling belakang;
void popBelakang(){
if(head){
struct Mahasiswa *curr = head;
if(head == tail){
//1
head = tail = NULL;
free(curr);
}else{
//>1
while(curr->next != tail){
curr=curr->next;
}
tail = curr;
free(curr->next);
tail->next = NULL;
}
}else{
printf("No more data to be deleted..\n\n");
}
}
6)popAll
menghapus semua node yang ada
example:
void popAll()
{
curr=head;
while(curr)
{
head=head->next;
free(curr);
curr=head;
}
head=tail=NULL;
}
berikut cara menukar data tanpa menggunakan temporary:
example:
void tukar(int *a, int *b){
*a ^= *b ^= *a ^= *b;
}
void main()
{
int angka = 20;
int angka2 = 30;
tukar(&angka,&angka2);
printf("%d %d",angka, angka2);
}
tambahan istilah-istilah :
Queue = awal
Rear=belakang
Circular Queue= antrian yang berputar
FIFO(menganut sistem first in first out)
Stacks:
Top=data / node yang ada di paling atas
instacks=masuk
destacks=keluar
enqueue=Push
dequeue=Pop
LIFO(menganut sistem last in first out)
beda b.tree dan b.s.tree
binary tree: kita tentuin sendiri letaknya dimana
binary search tree memiliki ketentuan bahwa bilangan yang lebih kecil harus disebelah kiri dan mempunyai keuntungan membuat pencarian lebih cepat
Tipe data: float, int, char, long, double,void ,sign, unsign
int= bilangan riil;
long= kapasitasnya (2^32);
float = jumlah angka di belakang koma panjang
double = jumlah angka di belakang koma dua kali float.
baris=row=record
kolom=field
sumber:
skyconnectiva dan binus
data- data yang dimasukan dalam linked list di sebut node
example:
struct Mahasiswa{
char nama[25];
int usia;
struct Mahasiswa *next;
}*head, *tail;
linked list dibagi jadi banyak:
1) pushHead/ pushDepan
menambahkan node(data) di awal, jadi setiap node yang ditambah node itu akan di masukan ke awal node;
example:
void pushDepan(char nama[],int usia){
struct Mahasiswa *curr = (struct Mahasiswa*) malloc(sizeof(struct Mahasiswa));
strcpy(curr->nama,nama);
curr->usia = usia;
if(head == NULL){
head = tail = curr;
tail->next = NULL;
}else{
curr->next = head;
head = curr;
}
}
2)pushTail/pushBelakang
menambahkan node(data) di akhir, jadi setiap node yang ditambah node itu akan di masukan ke akhir node ;
void pushBelakang(char nama[], int usia){
struct Mahasiswa *curr = (struct Mahasiswa*) malloc(sizeof(struct Mahasiswa));
strcpy(curr->nama,nama);
curr->usia = usia;
if(head == NULL){
head = tail = curr;
}else{
tail->next = curr;
tail = curr;
}
tail->next = NULL;
}
3)print/cetak
fungsi ini hanya untuk mencetak linked list;
example:
void print(){
struct Mahasiswa *curr;
printf("=====================================================\n");
printf("| %-23s | %-23s |\n","Nama Mahasiswa","Usia");
printf("=====================================================\n");
//menggunakan for
for(curr=head;curr!=NULL;curr=curr->next){
printf("| %-23s | %-23d |\n",curr->nama,curr->usia);
}
//menggunakan while
curr = head;
while(curr){
printf("| %-23s | %-23d |\n",curr->nama,curr->usia);
curr=curr->next;
}
printf("=====================================================\n");
}
4)popDepan/popHead
menghapus node yang ada di paling depan;
example:
void popDepan(){
if(head){
struct Mahasiswa *curr = head;
if(head == tail){
//1
head = tail = NULL;
free(curr);
}else{
//>1
head = head->next;
free(curr);
}
}else{
printf("No more data to be deleted..\n\n");
}
}
5)popBelakang/popTail
menghapus node yang ada di paling belakang;
void popBelakang(){
if(head){
struct Mahasiswa *curr = head;
if(head == tail){
//1
head = tail = NULL;
free(curr);
}else{
//>1
while(curr->next != tail){
curr=curr->next;
}
tail = curr;
free(curr->next);
tail->next = NULL;
}
}else{
printf("No more data to be deleted..\n\n");
}
}
6)popAll
menghapus semua node yang ada
example:
void popAll()
{
curr=head;
while(curr)
{
head=head->next;
free(curr);
curr=head;
}
head=tail=NULL;
}
berikut cara menukar data tanpa menggunakan temporary:
example:
void tukar(int *a, int *b){
*a ^= *b ^= *a ^= *b;
}
void main()
{
int angka = 20;
int angka2 = 30;
tukar(&angka,&angka2);
printf("%d %d",angka, angka2);
}
tambahan istilah-istilah :
Queue = awal
Rear=belakang
Circular Queue= antrian yang berputar
FIFO(menganut sistem first in first out)
Stacks:
Top=data / node yang ada di paling atas
instacks=masuk
destacks=keluar
enqueue=Push
dequeue=Pop
LIFO(menganut sistem last in first out)
beda b.tree dan b.s.tree
binary tree: kita tentuin sendiri letaknya dimana
binary search tree memiliki ketentuan bahwa bilangan yang lebih kecil harus disebelah kiri dan mempunyai keuntungan membuat pencarian lebih cepat
Tipe data: float, int, char, long, double,void ,sign, unsign
int= bilangan riil;
long= kapasitasnya (2^32);
float = jumlah angka di belakang koma panjang
double = jumlah angka di belakang koma dua kali float.
baris=row=record
kolom=field
sumber:
skyconnectiva dan binus
Rabu, 23 November 2011
evalusi materi blog
1.Media blog yang pertama kali di populerkan oleh blogger.com adalah Pyra Lab
2.Salah satu kegunaan blog adalah sebagai alamat website pribadi
3.Sebuah ikatan yang terbentuk dari para blogger berdasarkan kesamaan kesamaan tertentu disebut komunitas blogger
4.Situs lain selain blogspot.com untuk membuat blog adalah situs http://www.wordpress.com/
5.Blog pertama yang dibuat oleh Marc Andersen tahun 1993 disebut what's new
6. Blog pengganggu di sebut Splogs
7.Blog yang membahas tentang berita, politik, aktivis dan lain sebagainya disebut blog politik.
8.Blog yang membahas persoalan tentang akademis disebut blog riset.
9.Orang yang menggantungkan hidupnya hanya dari aktivitas ngeblog disebut problogger.
10.Informasi dan opini yang sangat besar dan berulang kali muncul dalam blogsphere disebut blogstorm.
11.Situs-situs web yang saling berkaitan berkat blog, atau secara total merupakan kumpulan blog sering disebut sebagai blogsphere
12.Yang mencetuskan istilah blog pertama kali adalah Justin Hall
13.Bentuk aplikasi web menyerupai tulisan-tulisan disebut blog
14.Hacker merupakan salah satu ancaman bagi blogger.
15.Blog yang membahas tentang sesuatu dan focus pada pembahasan tertentu disebut Blog Bertopik.
16.Fitur yang digunakan untuk menambah elemen-elemen halaman blog (html, polling, kalender, slide shoe, dll), pengatur font-color, edit html, dan mengganti template baru dinamakan dashboard.
17.Photobooth bukanlah situs layanan blog gratis.
18.Pengatur account blog adalah fungsi dari fitur my account.
19.Orang yang menggunakan blog di sebut blogger
20.Aktivitas para blogger meninggalkan tautan di blog atau situs orang lain seraya memberikan komentar disebut blogwalking.
21. mencari musuh melalui blog bukan keuntungan blog
22.Label di blog disebut juga kategori.
23.Blog yang berisi ratusan link halaman website disebut blog petunjuk.
24.Blog game bukan lah salah satu dari jenis blog.
25.Aktivitas meng-update sebuah blog dinamakan blogging.
26.Blog dapat di update kapanpun kita mau.
27.Jika ingin menambah entri kita harus memilih menu posting.
28.Blog yang menceritakan tentang perjalanan/travelling disebut blog perjalanan.
29.Literary blog adalah nama untuk blog sastra.
30.Blog merupakan singkatan dari web log
2.Salah satu kegunaan blog adalah sebagai alamat website pribadi
3.Sebuah ikatan yang terbentuk dari para blogger berdasarkan kesamaan kesamaan tertentu disebut komunitas blogger
4.Situs lain selain blogspot.com untuk membuat blog adalah situs http://www.wordpress.com/
5.Blog pertama yang dibuat oleh Marc Andersen tahun 1993 disebut what's new
6. Blog pengganggu di sebut Splogs
7.Blog yang membahas tentang berita, politik, aktivis dan lain sebagainya disebut blog politik.
8.Blog yang membahas persoalan tentang akademis disebut blog riset.
9.Orang yang menggantungkan hidupnya hanya dari aktivitas ngeblog disebut problogger.
10.Informasi dan opini yang sangat besar dan berulang kali muncul dalam blogsphere disebut blogstorm.
11.Situs-situs web yang saling berkaitan berkat blog, atau secara total merupakan kumpulan blog sering disebut sebagai blogsphere
12.Yang mencetuskan istilah blog pertama kali adalah Justin Hall
13.Bentuk aplikasi web menyerupai tulisan-tulisan disebut blog
14.Hacker merupakan salah satu ancaman bagi blogger.
15.Blog yang membahas tentang sesuatu dan focus pada pembahasan tertentu disebut Blog Bertopik.
16.Fitur yang digunakan untuk menambah elemen-elemen halaman blog (html, polling, kalender, slide shoe, dll), pengatur font-color, edit html, dan mengganti template baru dinamakan dashboard.
17.Photobooth bukanlah situs layanan blog gratis.
18.Pengatur account blog adalah fungsi dari fitur my account.
19.Orang yang menggunakan blog di sebut blogger
20.Aktivitas para blogger meninggalkan tautan di blog atau situs orang lain seraya memberikan komentar disebut blogwalking.
21. mencari musuh melalui blog bukan keuntungan blog
22.Label di blog disebut juga kategori.
23.Blog yang berisi ratusan link halaman website disebut blog petunjuk.
24.Blog game bukan lah salah satu dari jenis blog.
25.Aktivitas meng-update sebuah blog dinamakan blogging.
26.Blog dapat di update kapanpun kita mau.
27.Jika ingin menambah entri kita harus memilih menu posting.
28.Blog yang menceritakan tentang perjalanan/travelling disebut blog perjalanan.
29.Literary blog adalah nama untuk blog sastra.
30.Blog merupakan singkatan dari web log
Kamis, 27 Oktober 2011
apa itu Upload?
Mengunggah/Upload adalah proses mengirim data (umumnya berbentuk berkas) dari komputer pribadi ke suatu sistem seperti server web, server PTB atau sistem serupa lainnya yang kemudian akan dipublikasikan di internet baik secara pribadi atau umum (dapat di nikmati oleh semua pengguna internet).
apa itu TCP/IP?
TCP/IP (singkatan dari Transmission Control Protocol/Internet Protocol) adalah standar komunikasi data yang digunakan oleh komunitas internet dalam proses tukar-menukar data dari satu komputer ke komputer lain di dalam jaringan Internet. Protokol ini tidaklah dapat berdiri sendiri, karena memang protokol ini berupa kumpulan protokol (protocol suite). Protokol ini juga merupakan protokol yang paling banyak digunakan saat ini. Data tersebut diimplementasikan dalam bentuk perangkat lunak (software) di sistem operasi. Istilah yang diberikan kepada perangkat lunak ini adalah TCP/IP stack
apa itu shareware?
Shareware mengacu kepada perangkat lunak berpemilik yang disediakan untuk pengguna tanpa membayar secara uji coba dan sering di batasi oleh koombinasi dari fungsi, ketersedian, atau kenyamanan.
Perangkat lunak kongsi sering ditawarkan sebagai unduhan dari sebuah situs web atau sebagai cakram padat disertai dengan sebuah bacaan seperti koran atau majalah. Alasan di balik perangkat lunak kongsi adalah memeberikan pembeli kesempatan untuk mencoba menggunakan program sebelum membeli lisensi untuk versi lengkap dari perangkat lunak kongsi tersebut.
apa itu Spam ?
Spam atau bisa juga berbentuk junk mail adalah penyalahgunaan sistem pesan elektronik (termasuk media penyiaran dan sistem pengiriman digital) untuk mengirim berita iklan dan keperluan lainnya secara massal. Umumnya, spam menampilkan berita secara bertubi-tubi tanpa diminta dan sering kali tidak dikehendaki oleh penerimanya. Pada akhirnya, spam dapat menimbulkan ketidaknyamanan bagi para pengguna situs web. Orang yang menciptakan spamelektronik disebut spammers.
apaitu Soft Copy?
Dokumen Yang Dibuat menggunakan Komputer murah disimpan pada suatu media yang penyimpanan
apa itu Server ?
Server adalah sebuah sistem komputer yang menyediakan jenis layanan tertentu dalam sebuah jaringan komputer. Server didukung dengan prosesor yang bersifat scalable dan RAM yang besar, juga dilengkapi dengan sistem operasi khusus, yang disebut sebagai sistem operasi jaringan. Server juga menjalankan perangkat lunak administratif yang mengontrol akses terhadap jaringan dan sumber daya yang terdapat di dalamnya, seperti halnya berkas atau pencetak, dan memberikan akses kepada stasiun kerja anggota jaringan.
apa itu Proxy Server?
Server proksi (bahasa Inggris: proxy server) adalah sebuah server (sistem komputer atau aplikasi) yang bertindak sebagai perantara permintaan dariklien mencari sumber daya dari server lain. Klien A terhubung ke peladen perantara, meminta beberapa servis, seperti berkas, koneksi, halaman web, atau sumber daya lainnya, yang tersedia dari peladen yang berbeda. Server perantara mengevaluasi permintaan menurut aturan penyaringan. Sebagai contoh, mungkin tapis lalu lintas oleh [alamat [IP]] atau protokol. Jika permintaan divalidasi oleh tapis, perantara menyediakan sumber daya dengan menghubungkan ke peladen yang relevan dan meminta layanan atas nama klien. Sebuah peladen perantara secara opsional dapat mengubah permohonan klien atau menanggapi di server, dan kadang-kadang mungkin melayani permintaan tanpa menghubungi peladen yang ditetapkan. Dalam hal ini, tanggapan yang tembolok dari remote peladen, dan selanjutnya kembali permintaan konten yang sama secara langsung.
apa itu pop?
Internet protocol yang menetapkan server email dan bagaimana cara untuk men-download email.
Langganan:
Postingan (Atom)