Tampilkan postingan dengan label Selembar. Tampilkan semua postingan
Tampilkan postingan dengan label Selembar. Tampilkan semua postingan

Rabu, 15 September 2010

Selamat Idul Fitri 1431 H


“selamat hari raya idul fitri, minal ‘aidin wal faizin, mohon maaf lahir dan batin”  ^-^
Kalimat di atas sangat populer di ucapkan dengan berbagai cara dan format yang berbeda di hari kemenangan. Apakah yang ada di benak anda ketika mendengarkan/membaca ucapan ini ? bolehkah kita ungkapkan bersama-sama kembali di halaman kali ini ?
Idul fitri : id (kembali) dan fithr (asal yang benar sering disimpulkan sebagai kesucian) berarti idul fitri adalah kembali fitri. Kita kupas sedikit lebih dalam lagi. “kembali” menyiratkan bahwa sesuatu itu memiliki tempat/keadaan semula yang kemudian karena beberapa hal sesuatu tersebut tidak lagi berada pada tempat/keadaan semula. Berarti asal muasal kita itu fitri.
Jikalau kamu kembali Kami pun akan kembali" (QS Al-Isra'  [l7]:  8), hmm... tidakkah dalam ayat ini tersirat bahwa Allah selalu rindu akan kembalinya manusia kepada-Nya.
Minal ‘aidin wal faizin : id(kembali) fauz (keberuntungan). Berarti artinya kembali menerima keberuntungan. Siapakah orang-orang yang beruntung? Banyak sekali ayat yang menerangkan siapakah orang-orang yang beruntung. Salah satunya adalah
Penghuni surga adalah orang-orang yang beruntung ( Al-Hasyr [59]: 20 ). Hmm...ternyata ayat ini memiliki makna yang tersembunyi, mari kita perhatikan “penghuni surga...”, siapakah yang dimaksud ? jika dalam konteks idul fitri maka dipahami sebagai “mereka yang mendapatkan pengampunan Ilahi...”.
Mohon maaf lahir dan batin :  maaf atau ‘afa atau teman-teman sering mengucapkan kata “   ‘afwan  “.  Nhaaah.., kata ‘afwan ini berasal dari “ Al-‘afw” yang berarti berlebihan trus berkembang jadi menghapus.
Hendaklah mereka memberi maaf dan melapangkan dada Tidakkah kamu ingin diampuni oleh Allah? (QS Al-Nur [24): 22).
Kita pahami lebih dalam bersama-sama. Sebelum melapangkan dada didahului perintah memberi/meminta maaf. Kenapa ya? Mungkinkah berlapang dada itu lebih berat pelaksanaannya daripada memberi/meminta maaf?hhmm..lebih baik kita pahami perbedaannya dulu.
Memaafkan berarti menghapuskan sedangkan berlapang dada lebih untuk memberi lembaran baru. Itu pun versi pemahan saya. Berarti otomatis memberi lembaran baru itu jauh lebih sulit daripada hanya sekedar menghapuskannya pada media yang sama.
Nhah ^-^ biasanya kata maaf ini berteman dengan kata jabat tangan. Jabat tangan ini merupakan lambang, bagiku bukan hanya sebuah lambang tapi lambang kesediaan menghapuskan ataupun memberi lembaran baru. Teman-teman semua  -female&male-  Berkenaan jabat tangan ini, kita semua juga dibekali caranya yang bukan hanya halal (boleh) tetapi juga thayyiba (baik) ^-^
Berlapang dadalah terhadap mereka dengan cara yang baik (Al-Hijri [5]: 85).
Berlapang dadalah terhadap mereka dengan mengatakan salam/kedamaian (QS Al-Zukhruf [43]: 84).
Apakah anda mendapat banyak sms ucapan ini? Saya pribadi sangat senang menerima sms ucapan ini, apalagi ada tambahan “di doakan” , hehe...salah satu bentuk representasi mengasihi dan menyayangi itu adalah mendoakan ^-^.

Jumat, 20 November 2009

Array Vs Link List

Berikut ini adalah perbandingan pada operasi-operasi dasar dari Stack Dengan Linked List dan Stack Dengan Array versi bahasa C (yang versi bahasa Pascal bisa dilihat pada:Agus Fahyadi,dkk,MIPA UGM) :

Stack Dengan Linked List

operasi : create()

Bentuk struct awal :
struct node {

elementype data;

struct node*next;
};
void creat () {
head=NULL;

};

operasi : empty()

int empty () {
if (head==NULL) return 1;
else return 0;
};
operasi : full()

tidak ada istilah full pada stack.
program tidak menentukan jumlah elemen stack yang mungkin ada. kecuali dibatasi oleh
pembuat program dan jumlah memory yang
tersedia. tempat akan sesuai dengan
banyaknya elemen yang mengisi stack.

operasi : push()

void push (elementype e) {
struct node *ptr;
ptr=(struct node*)malloc(sizeof(struct
node));
ptr->data=e;
ptr->next=head;
head=ptr;

};

operasi : pop()

void pop (elementype e) {
struct node *ptr;
*e=head->data;
ptr=head;
head=head->next;
free(ptr);
};


operasi : clear()

void clear () {
elementype *;
while (!empty()) pop (&x);
};


Stack Dengan Array

operasi : create()

int T[max],top;



void creat () {

top= -1;

};

operasi : empty()

int empty () {
if (head==NULL) return 1;
else return 0;
}; int empty () {

if (top== -1) return 1;

else return 0;

}

operasi : full()

int full () {

if (top==max-1) return 1;

else return 0;
};

operasi : push()

void push (elementype e) {
struct node *ptr;
ptr=(struct node*)malloc(sizeof(struct
node));
ptr->data=e;
ptr->next=head;
head=ptr;

};
void push (int e) {

if (! Full () ) {

top=top+1;

T(top)=e;

}

};

operasi : pop()

void pop (int e) {

if (! Empty () ) {

e=T(top);

top- =1;

}

};

operasi : clear()

procedure clear ;

begin

top := 0 ;

end;

untuk lebih jelas disertakan juga perbedaan array dan link list :

Array : Link List

Statis : Dinamis

insert/delete data terbatas : insert/delete data tidak terbatas

Random access : Sequensial access

delete array tidak mungkin : delete link list mudah

Java...coming up!!!

Inviks ke Postviks

Program ini versi lengkap untuk mengkonversi notasi inviks ke postfiks by me :

#include

#include

#include

#include

#define max 100



struct deret{

char angka[max];

int atas;

};



char akhir[max];

char awal[max];

struct deret tumpuk;


int data(char x)

{ if(isalpha(x)) return 1;

return 0;

}


int tanda(char x)

{ if(x=='^'||x=='*'||x=='/'||x=='+'||x=='-')

return 1;

else return 0;

}


int tingkatan(char x)

{ if(x=='^') return 3;

else if(x=='*'||x=='/') return 2;

else if(x=='+'||x=='-') return 1;

else return 0;

}


void entry(char x)

{ tumpuk.atas++;

tumpuk.angka[tumpuk.atas]=x;

}


char delet()

{ char x;

x=tumpuk.angka[tumpuk.atas];

tumpuk.atas--;

return x;

}


void main()

{ int i,j,k;

char x,jwb;


tumpuk.atas=-1;

k=-1;


clrscr();


gotoxy(13,2); printf("-------------------------------------------");

gotoxy(15,3); printf(" MENGUBAH NOTASI INFIX MENJADI POSTFIX");

gotoxy(15,4); printf(" DENGAN MEMANFAATKAN STRUKTUR TUMPUKAN");

gotoxy(13,5); printf("-------------------------------------------");

gotoxy(13,7); printf("Masukan ungkapan awal (infix) : ");scanf("%s",&awal);

gotoxy(13,8); printf("Ungkapan akhir (postfix) : ");



do

{ for(i=0;i<=strlen(awal);i++) { if(data(awal[i])) akhir[++k]=awal[i]; else if(awal[i]=='(') entry(awal[i]); else if(awal[i]==')') { while(tumpuk.angka[tumpuk.atas]!='(') akhir[++k]=delet(); delet(); } else if(tanda(awal[i])) { while (tumpuk.atas!=-1 && tingkatan(awal[i])<=tingkatan(tumpuk.angka[tumpuk.atas])) akhir[++k]=delet(); entry(awal[i]); } else if(tumpuk.atas!=-1) { for(j=tumpuk.atas;j>-1;j--)

akhir[++k]=delet();

}

}


for(k=0;k<=strlen(akhir);k++) { printf("%c",akhir[k]);} gotoxy(13,10); printf("-------------------------------------------"); gotoxy(13,12); printf("Anda akan mencoba lagi?(Y=ya/T=tidak)"); scanf("%c",&jwb); } while(jwb=='Y'||jwb=='y'); getch(); }

AVLTree(1)

Dibawah ini adalah sintax dari bahasa pemrograman berorientasi objek yang agak lama yakni Bahasa C (tapi lebih bersifat struktural daripada objeknya), ini adalah versi lengkap program AVLTree (yang ini saya dikase tahu kakak tingkat saya,mb Reni) :

//avl tree insertion and rotation

#include

#include

#include

#include



struct NODE{

char city[15];

int height;

struct NODE * left; // pointer untuk subtree kiri

struct NODE * right; // pointer untuk subtree kanan

struct NODE * back; // pointer untuk node parennya

};

typedef struct NODE NODE;

typedef NODE * node; // declarasi pointernya

//***********************************
// prototipe fungsinya

int Strcmp(char *, char *);

last=0;


while(found==0){

if (newptr==headptr) found=1;


if ((newptr->left==NULL))

{

if(newptr->right->height==2){

found=1;

rotate(newptr);

}

else

{

currentptr=newptr->back;

if(currentptr!=NULL)

{

if(currentptr->left==newptr){

way[last]=0;

last++;

}

else{

way[last]=1;

last++;

}

}

newptr=currentptr;

}

}


else if ((newptr->right==NULL)){


if(newptr->left->height==2){

found=1;

rotate(newptr);

}



else{

currentptr=newptr->back;



if(currentptr!=NULL){



if(currentptr->left==newptr){


int max(int value1, int value2)



{

return ( (value1 > value2) ? value1 : value2);

}


int height(node n)



{

if(n==NULL)

return 0;

else

n->height=1+max(height(n->left),height(n->right));

}


node FillNode(node gen,char * city)


{

gen=(node)malloc(sizeof(NODE));

strcpy(gen->city,city);

gen->height=0;

gen->left=NULL;

gen->right=NULL;

gen->back=NULL;

return gen;

}

selengkapnya kunjungi facebook(Note) saya :cahputri_box@yahoo.co.id