12/28/11

Enakei I

This is Enakei which i edit but who made it not me. You can enjoy how beautiful enakei.








Which do you prefer?

12/26/11

Go around the world Before 30 years old

This is my life
My dream is my destiny
Who body knows one person will to be
But your life is not depend on fate
Your life is your effort

When you have an ambition or dream, don't give up to reach it. Believe in your heart, it will be reached.
I know, i'm just ordinary girl, but i have full imagination, nobody knows we still live any longer in the world.
So, don't be usefull for your life. I have a lot of weakness and i have to try harder than any person because my weakness make me different from other person.
So Do you still let your life flow like water?

Contemplate what we want to do for our life
The tittle just a little from my billions dream , i have to imagine what i have to do while go abroad...
other motivation about it, any else?
Don't regret if you can't reach your dream
This life, Choosen or Choose?

12/24/11

Sinopsisnya Aurora versi Korea (part 1)

 Freeze Love

Alkisah cerita berawal dari tahun 1990, ada 3 remaja perempuan berusia 18 tahun yang masih bersekolah dan bersahabat. Mereka memiliki impian yang sama untuk menjadi seorang penari terkenal. Im yoonah yang merupakan main hero merupakan gadis yang cantik baik hati, pintar dan berprestasi, serta paling menonjol daripada kedua temannya, dia sangat senang berlatih menari walaupun kakinya sudah beberapa kali terkilir tapi dia tetap berusaha dan pantang menyerah. Kemudian ada Chae Jungahn yang mempunyai sifat yang keras dan selalu ingin yang paling unggul, dia adalah gadis yang gigih dan melakukan apapun demi impiannya, dia telah berpacaran dengan Han jungsoo yang merupakan pria yang 5 tahun lebih tua darinya yang telah menjadi bussiness man. Kemudian Choi Kanghee yang sangat terobsesi menjadi artis, sangat suka shopping dan gadis yang periang, namun dibalik sifatnya itu, dia iri terhadap yoona yang memiliki keluarga lengkap dan kaya raya serta selalu dituruti semua kemauannya, sedangkan Kanghee dibesarkan di keluarga yang broken, ibunya yang mengasuhnya sendiri sejak dia berusia 5 tahun dan hidup apa adanya.
Pada suatu hari ketiga mereka bertiga telah selesai tampil menari di sebuah drama musikal, ada seorang koreografer tari yang bernama Song ilgook. Ilgook langsung jatuh hati melihat tarian yang dibawakan yoona, setelah pertunjukan tersebut ilgook langsung mencari tahu tentang Yoona. Ilgook merupakan koreografer tari yang juga bekerja sebagai karyawan dan merupakan duda 1 anak yang baru berusia 25 tahun. Dia telah berpisah dari istrinya 2 tahun yang lalu karena istrinya mengejar pria kaya. Sedangkan Ilgook hanya karyawan biasa yang hidup apa adanya.
Merekapun berkenalan dan dalam tahap-tahap selanjutnya yoona juga telah jatuh hati pada ilgook, tidak peduliakan status, usia , atau pun kekayaan yang dimiliki ilgook. Yoona tidak menceritakan bahwa keluarga kaya raya, karena takut ilgook akan berpaling darinya. Mereka menjalani hubeungan tersebut dengan suka cita, namun diam-diam kanghee juga menaruh rasa terhadap lelaki yang telah menjadi koreografer tarinya tersebut. Kanghee pun menyusun sebuah rencana untuk memisahkan mereka berdua. Kanghee pun bekerja sama dengan Chulho yang juga teman dari ilgook yang telah jatuh hati dengan yoona juga.
Pada ulang tahun yoona yang ke-18 , yoona memutuskan untuk mengumumkan ilgook merupakan orang yang paling penting baginya. Namun Kanghee dan chulho telah berencana untuk menjebak yoona. Mereka membuat rencana yang menyebabkan salah paham antara ilgook dan yoona, ilgook mengira bawhwa selama ini yoona menyukai sahabatnya, chulho. Rencana tersebut berhasil dan Ilgookpun tidak iingin bertemu dengan yoona. Yoona berusaha menjelaskan semuanya tetapi percuma.
Namun tanpa disangka-sangka yoona telah hamil dan mengandung anak ilgook, namun ayahnya melarang yoona berhubungan dengan ilgook dengan alasan status sosial serta status dudanya. Yoonapun dikirim ke luar negri sampai melahirkan anaknya. Namun yoona berusaha kabur tetapi dia tetap tidak bisa kabur dan diapun melahirkan bayi perempuan. Kanghee yang dalam waktu itu mendekati ilgook namun tidak berhasi karena ilgook ternyata masih mencintai yoona namun tidak tahu keberadaan yoona. Kangheepun putus asa akan cintanya terhadap Ilgook dan memutuskan menikah dengan dokter kaya yang usianya 12 tahun lebih tua darinya dengan  harapan kekayaan bisa merubah hidupnya walaupun dia tidak mencintai suaminya. Sedangkan Jungahn juga sedang hamil anak Jungsoo namun jungsoo menolak menikahinya dan tetap akan menemani jungahn dan mengakui anaknya.Produser mereka bertiga sangat marah dikarenakan ketidakberesan mereka bertiga yang sudah tidak melanjutkan karir mereka sebagai penari yang menyebabkan kerugian ada perusaahnnya karena kehilangan 3 talenta remaja tersebut.
Beberapa saat setelah Yoona melahirkan bayinya, iya terkena penyakit yang belum ada obatnya, Sang ayah, Im Sungmo mengusahakan segalanya demi kesembuhan anak tunggal. Namun ilmu kedokterannya belum bisa menghasilkan obat bagi yoona. Namun dia memikirkan keselamatan yoona dengan cara menaruh tubuh yoona pada kapsul kriptogenik yang dapat membekukan tubuh yoona sementara waktu dan menjaga organ tubuh yoona agar yoona tetap hidup.
18 tahun berlalu, apa yang terjadi?
Ingin tahu kelanjutannya?
Tetap ikuti blog saya...
Terimakasih telah membaca, silahkan postkan komentar bagi yang ingin mengkritik dan memberikan saran

Aurora (telenovela) Korean version of me Synopsis and Cast

This story about complicated love story. This story based on Aurora (telenovela) please check http://en.wikipedia.org/wiki/Aurora_%28telenovela%29.

Cast Description
Jung Sung Mo as  Im Sung Mo                      Yoona's father, half villain, Doctor, Yoomi ex-husband, in love with Jungahn, Hyeyoung ex-husband, latter yoomi's husbandagain
Ha Yoo Mi  Yoona's mother,Sungmo's ex wife, protagonist, bussiness woman, latter sungmo's wife again
Im Yoon Ah Main hero, protagonist, dancer, daughter of sungmo and yoomi, mother of Shinhye and Yoonhee, Ilgook's lover, Chulho's ex-fiance, latter Ilgook's wife
Park Shin Hye as Im Shin Hye Yoona and Ilgook's daughter, protagonist, college IT, in love with Geun suk, sekyung's best friend latter in love with Joowon and be joowon's wife, mother of junho and jinwoo
Song Il Gook  Main hero, protagonist, dancer, faher of Shinhye, Yoonhee, and Geunsuk, adoptive father of joowon, Yoona's lover, Jungahn's ex-husband, latter Yoona's husband
Jang Geun Suk as Song Geun Suk Protagonist, Ilgook's son, doctor, dancer, in love with yoona, latter in love with Sekyung and be sekyung's husband, father of seungyoo
Joo Won as Song Joo Won half villain, latter protagonist, prisoner,criminal, Ilgook and Jungahn's adoptive son, biological son of hye young, Kanghee's ex-lover, latter in love with shinhye and be shinhye's husband, father of junho, jinwoo, and kangta
Choi Kang Hee villain, latter protagonist, dancer, artist, in love with ilgook, Woongin's ex-wife, Joowon's ex-lover, latter in love with Chulho and be Chulho's wife, mother of sekyung, kangta, and hyemi,  former friend od yoona and jungahn
Shin Se Kyung as Jo  Se Kyung protagonist, college IT, dancer, innocent, kidnaped by jungsoo, poisoned by hyeyoung, dughter of kanghee and Woongin, in love with geunsuk, and be geunsuk's wife, shinhye's best friend, mother of seungyoo
Jo Min Ki protagonist, doctor, Kanghee's ex-husband, father of sekyung, best friend of Sungmo, Hyeyoung's enemy, latter Woosun's husband
Chae Jung Ahn villain, latter protagonist, dancer, Ilgook's ex-wife, Jungsoo's ex-lover, latter in love with jongho and be jongho's wife, mother of Sora and junsu, adoptive mother of joowon, stepmother of Geunsuk, former friend od yoona and kanghee
Kang Sora as Han Sora villain, latter protagonist,IT collage, hates yoona and shinhye, in love with Taekyeon, latter Taekyeon's fiancee, sekyung's enemy, complote with jonghyun, daughter of Jungahn and Jungsoo
Choi Chul Ho as Kim Chul Ho half villain, latter protagonist, mavia, former friend of ilgook, boss of joowon, criminal, in love with kanghee, latter kanghee's husband, father of hyemi and stepfather of sekyung and kangta, yoona's ex-fiance
Han Jung Soo  Main villain, mavia, Chulho's enemy, Jungahn's ex-lover, father of Sora, obssessed with sekyung, killed by Woongin, Hyeyoung's lover, kills hyeyoung
Sun Woo Sun protagonist, lawyer,  mother of taekyeon, lawyer of ilgook, latter woongin's wife
Ok Taek Yeon protagonist, IT college, Sekyung and Shinhye's friend, in love with sekyung, Woosun's son, latter Sora's fiancee
Seo Hyo Rim as Sun Hyo Rim protagonist, prosecutor, Joowon's friend, always help joowon, in love with joowon, little sister of woosun, latter in love with Seungjoon and be seugjoon's husband
Jun Mi Sun half villain, latter protagonist, business woman, Yoomi's enemy, mother of Kanghee, Sekyung's grandma
Lee Hye Young Main villain, doctor, psycho, Sungmo's ex-wife, biologycal mother of joowon, obsessed with new found, killed by Jungsoo, jungsoo's lover, kills many people
Kim Hee Jung doctor, friend of hye young, killed by hye young
Kim Hyung Bum Im's family driver, keep secret about Im family
Hong Jong Hyun  villain, IT college, in love with Sekyung, complotes with Sora
Min Young Won villain, model, joowon's ex-girlfriend, in love with geunsuk
 Cha Seung Joon protagonist, police, in love with shinhye, Joowon and Geunsuk's friend, latter in love with hyorim and be hyorim's husband
 Song Jong Ho  half villain, latter protagonist, doctor, latter in love with Jungahn and be Jungahn's husband, father of Junsu

Deskripsi singkat tokoh
Im Yoonah
was born 30 October 1972. Called her yoona
Song Ilgook
was born 17 Juli 1965
Choi Kanghee
was born 26 May 1972
Chae Jungahn
was born 18 August 1972
Kim Chulho
was born 10 January 1966
Im Shinhye
was born 21 July 1991. Latter Song Shinhye
Song Geunsuk
was born 18 July 1987
Song Joowon
was born 20 September 1986
Han Sora
was born 27 June 1991
Jo Sekyung
was born 29 November 1991
Han Jungsoo

was born 16 May 1968
Jo Minki
was born 28 March 1960

Im Sungmo
was born in 1948
Ha Yoomi
was born in 1951
Sun Woosun
was born 10 October 1969
Ok Taekyeon
was born 20 April 1991
Sun Hyorim
was born 17 June 1986
Cha Seungjoon
was born 7 January 1986
Song Jongho
was born 16 November 1972
Min Youngwon
was born 22 April 1987
Lee Hyeyoung

was born 2 December 1964
Jun Misun
was born in 1950
Hong Jonghyun
was born 27 September 1991
Song Yoonhee
was born 10 December 2010
Song Kangta
was born 12 October 2008
Song Junho
was born 14 January 2011
Song Jinwoo
was born 25 September 2012
Song Seungyoo
was born 8 March 2012
Kim Hyemi
was born 21 September 2012
Song Junsu
was born 17 September 2012
Cha Hyori
was born 19 April 2012






































































12/16/11

Struktur data part 3

Berhubung saya suka sama cara dosen ngejelasinnya mata kuliah ini, maka saya mau bahas tentang tubes saya. Apa yang dijelasin di algoritma yang udah saya post sebelumnya. 

Yang saya bahas cuma double linked list dan binnary tree aja, soalnya tubesnya cuman dua itu aja...

1. Algoritma tree c++ 

Tree merupakan salah satu bentuk struktur data tidak linear yang menggambarkan
hubungan yang bersifat hierarkis (hubungan one to many) antara elemen-elemen.

Tree biasa didefinisikan sebagai kumpulan simpul/node dengan elemen khusus yang disebut Root.  

Node lainnya terbagi menjadi himpunan-himpunan yang saling tak berhubungan
satu sama lain (disebut Subtree). Untuk lebih jelasnya, di bawah akan diuraikan istilah-
istilah umum dalam tree.

Predecessor : Node yang berada di atas node tertentu
Successor : Node yang berada dibawah node tertentu
Ancestor : Seluruh node yang terletak sebelum node tertentu dan terletak pada jalur yang sama
Descendant : Seluruh node yang terletak sebelum node tertentu dan terletak pada jalur yang sama
Parent : Predecessor satu level di atas suatu node
Child : Successor satu level di bawah suatu node
Sibling : Node-node yang memiliki parent yang sama dengan suatu node
Subtree : Bagian dari tree yang berupa suatu node beserta descendantnya dan memiliki semua karakteristik dari tree tersebut.
Size : Banyaknya node dalam suatu tree
Height : Banyaknya tingkatan / level dalam suatu tree
Root : Satu-satunya node khusus dalam tree yang tak punyak predecessor
Leaf : Node-node dalam tree yang tak memiliki successor
Degree : Banyaknya child yang dimiliki suatu node

Binary Tree
Binary Tree adalah tree dengan syarat bahwa tiap node hanya boleh memiliki maksimal
dua subtree dan kedua subtree tersebut harus terpisah. Sesuai dengan definisi tersebut
tiap node dalam binary tree hanya boleh memiliki paling banyak dua child.

Implementasi Binary Tree
Binary tree dapat diimplementasikan dalam C++ dengan menggunakan double
linkedlist.


dikutip dari : modul algoritma dan struktur data II stikom bali 

2. Double linked list 

implementasi binary tree

Elemen-elemen dihubungkan dengan dua pointer dalam satu elemen. Struktur ini
menyebabkan list melintas baik ke depan maupun ke belakang.
Masing-masing elemen pada double linked list terdiri dari tiga bagian, disamping
data dan pointer next, masing-masing elemen dilengkapi dengan pointer prev yang
menunjuk ke elemen sebelumnya. Double linked list dibentuk dengan menyusun
sejumlah elemen sehingga pointer next menunjuk ke elemen yang mengikutinya dan
pointer prev menunjuk ke elemen yang mendahuluinya.
Untuk menunjukkan head dari double linked list, maka pointer prev dari elemen
pertama menunjuk NULL. Untuk menunjukkan tail dari double linked list tersebut, maka
pointer next dari elemen terakhir menunjuk NULL. Susunan elemen yang dihubungkan
dalam bentuk double linked list dapat dilihat pada Gambar 2.3

Untuk melintas kembali melalui double linked list, kita gunakan pointer prev dari
elemen yang berurutan pada arah tail ke head. Double linked list mempunyai fleksibilitas
yang lebih tinggi daripada single linked list dalam perpindahan pada list. Bentuk ini
sangat berguna ketika akan meletakkan suatu elemen pada list dan dapat memilih
dengan lebih bijaksana bagaimana memindahkannya. Sebagai contoh, salah satu
fleksibilitas dari double linked list adalah dalam hal memindahkan elemen daripada
menggunakan single linked list.






 




12/15/11

struktur data part 2

ok, next post still abou my "big assignments" which i search in google and find out people blog. still about data structure.
i hope it can be useful, lets check it out

binnery seacrh

#include <stdio.h>

void tukar(int *, int *);
int angka,angka1,angka2, key1,key2,key3, pilih, tampung[10], tampung1[10], tampung2[10] , kondisi,mode,jml,jml1,jml2,data[10],data1[10],data2[10];

void selection(int x[], int n)
{
    int i, j, find, index, ubah=0;
    for(i=0; i<n; i++)
        printf("%d ", tampung[i]);
   
    for(i=0; i < n-1; i++) {
        find = i;
        kondisi = 0;
        for(j=i+1; j<n; j++) {           
            if(mode == 1)
                kondisi = x[j] < x[find];
            else
                kondisi = x[j] > x[find];
            if(kondisi) {
                find = j;
                ubah = 1;
            }
        }
       
        if(ubah) {
            tukar(&x[find], &x[i]);
            puts("");
            for(index=0; index<n; index++)
                printf("%d ", x[index]);
        }
    }
}
int modeUrut()
{
    int pil;
    do {
    printf("\n\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2");
        puts("");
        puts("Pengurutan yang dipilih : ");
        puts("1. Ascending");
        puts("2. Descending");
        printf("Pilihan anda [1/2] : ");
        scanf("%d", &pil);
    printf("\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\n");
    } while((pil<1) || (pil>2));
    if(pil == 1)
        return 1;
    else
        return 2;
}
 void tukar (int *a, int *b)
{
    int temp;

    temp = *a;
    *a = *b;
    *b = temp;
}

void input_angka()
{int i;
    printf("\nPROGRAM BINARY SEARCH MENGGUNAKAN METODE SELECTION SEARCH\n ");
    printf("\nMASUKKAN JUMLAH ELEMENNYA(max 10) = ");
    scanf("%d", &jml);
    for(i=0; i<jml; i++)
    {
        printf("data ke-%d = ",i);
        scanf("%d", &data[i]);
        tampung[i] = data[i];
    }
        for(i=0; i<jml; i++)
            data[i] = tampung[i];
   
    mode = modeUrut();
    selection(data, jml);
}
int binary (int k[], int key, int n)   
{
    int low, hi, mid;
    low=0;
    hi=n-1;
    while (low<=hi)
    {
        mid=(low+hi)/2;
        if (key==k[mid])
            return(mid);
        if (key<k[mid])
            hi=mid-1;
        else
            low=mid+1;
    }
    return (-1);
}
void main()
{
    int hasil;
    char ulang;
        input_angka();
        do
        {
            printf("\ncari: ");
            scanf("%d", &key1);
            hasil=binary(data, key1, jml);
            if(hasil==-1)
                printf("\nANGKA TIDAK DITEMUKAN\n");
            else
                printf("\nANGKA %d KETEMU PADA INDEX KE %d\n", key1, hasil);
        fflush(stdin);
        printf("APAKAH ANDA INGIN MENGULANG PENCARIAN (y/t)? ");
        scanf("%c", &ulang);
        }
        while(ulang=='y'||ulang=='Y');
}
 
*******************************************************************************

Algoritma tree c++

#include <iostream.h>
#include <stdlib.h>

class BinarySearchTree
{
    //private:
    struct nodeTree
    {
        nodeTree* kiri;
        nodeTree* kanan;
        int     data;
};
nodeTree* root;

public:
    BinarySearchTree()
{
    root = NULL;
}

bool isEmpty() const { return root==NULL; }
void print_inorder();
void inorder(nodeTree*);
void print_preorder();
void preorder(nodeTree*);
void print_postorder();
void postorder(nodeTree*);
void insert(int);
void remove(int);
};

void BinarySearchTree::insert(int d)
{
    nodeTree* t = new nodeTree;
    nodeTree* parent;
    t->data = d;
    t->kiri = NULL;
    t->kanan = NULL;
    parent = NULL;

    if(isEmpty()) root = t;
    else
    {

        nodeTree* current;
        current = root;

    while(current)
    {
        parent = current;
        if(t->data > current->data) current = current->kanan;
        else current = current->kiri;
        }

            if(t->data < parent->data)
            parent->kiri = t;
            else
            parent->kanan = t;
        }
    }

void BinarySearchTree::remove(int d)
{
    //Locate the element
    bool found = false;
    if(isEmpty())
    {
        cout<<" pohon kosong "<<endl;
    return;
}

nodeTree* current;
nodeTree* parent;
current = root;

while(current != NULL)
{
    if(current->data == d)
    {
        found = true;
        break;
    }
    else
    {
        parent = current;
        if(d>current->data) current = current->kanan;
        else current = current->kiri;
    }
}
if(!found)
{
    cout<<" data tidak di dirikan "<<endl;
    return;
}

// Node dengan single child
if((current->kiri == NULL && current->kanan != NULL)|| (current->kiri != NULL
&& current->kanan == NULL))
{
    if(current->kiri == NULL && current->kanan != NULL)
    {
        if(parent->kiri == current)
        {
            parent->kiri = current->kanan;
            delete current;
        }
        else
        {
            parent->kanan = current->kanan;
            delete current;
        }
    }
    else
    {
    if(parent->kiri == current)
    {
        parent->kiri = current->kiri;
        delete current;
    }
    else
    {
        parent->kanan = current->kiri;
        delete current;
    }
}
return;
}

// node tidak mempunyai child node
if( current->kiri == NULL && current->kanan == NULL)
{
    if(parent->kiri == current ) parent->kiri = NULL;
    else parent->kanan = NULL;
    delete current;
    return;
}

//Node dengan 2 child node
// ganti node dengan nilai terkecil di subtree bagain kanan
if (current->kiri != NULL && current->kanan != NULL)
{
    nodeTree* temp;
    temp = current->kanan;
    if((temp->kiri == NULL) && (temp->kanan == NULL))
    {
        current = temp;
        delete temp;
        current->kanan = NULL;
    }
else
{

    if((current->kanan)->kiri != NULL)
    {
        nodeTree* lcurrent;
        nodeTree* lcurrp;
        lcurrp = current->kanan;
        lcurrent = (current->kanan)->kiri;
    while(lcurrent->kiri != NULL)
    {
        lcurrp = lcurrent;
        lcurrent = lcurrent->kiri;
    }
        current->data = lcurrent->data;
        delete lcurrent;
        lcurrp->kiri = NULL;
}
else
{
    nodeTree* tmp2;
    tmp2 = current->kanan;
    current->data = tmp2->data;
    current->kanan = tmp2->kanan;
    delete tmp2;
}

}
return;
}

}

void BinarySearchTree::print_inorder()
{
    inorder(root);
}

void BinarySearchTree::inorder(nodeTree* p)
{
    if(p != NULL)
    {
        if(p->kiri) inorder(p->kiri);
        cout<<" "<<p->data<<" ";
    if(p->kanan) inorder(p->kanan);
    }
        else return;
}

void BinarySearchTree::print_preorder()
{
    preorder(root);
}

void BinarySearchTree::preorder(nodeTree* p)
{
    if(p != NULL)
    {
        cout<<" "<<p->data<<" ";
        if(p->kiri) preorder(p->kiri);
        if(p->kanan) preorder(p->kanan);
    }
    else return;
}

void BinarySearchTree::print_postorder()
{
    postorder(root);
}

void BinarySearchTree::postorder(nodeTree* p)
{
    if(p != NULL)
    {
        if(p->kiri) postorder(p->kiri);
        if(p->kanan) postorder(p->kanan);
        cout<<" "<<p->data<<" ";
    }
    else return;
}

int main()
{
    BinarySearchTree b;
    int ch,tmp,tmp1;
    while(1)
    {
        cout<<endl<<endl;
        cout<<" Binary Search Tree Operations "<<endl;
        cout<<" ------------- "<<endl;
        cout<<" 1. Input nilai "<<endl;
        cout<<" 2. In-Order Traversal "<<endl;
        cout<<" 3. Pre-Order Traversal "<<endl;
        cout<<" 4. Post-Order Traversal "<<endl;
        cout<<" 5. Hapus "<<endl;
        cout<<" 6. Exit "<<endl;
        cout<<" Masukkan Pilihan : ";
        cin>>ch;
        switch(ch)
        {
            case 1 : cout<<" Input Angka : ";
                cin>>tmp;
                b.insert(tmp);
            break;
            case 2 : cout<<endl;
                cout<<" In-Order Traversal "<<endl;
                cout<<" -------------"<<endl;
                b.print_inorder();
            break;
            case 3 : cout<<endl;
                cout<<" Pre-Order Traversal "<<endl;
                cout<<" -------------"<<endl;
                b.print_preorder();
            break;
            case 4 : cout<<endl;
                cout<<" Post-Order Traversal "<<endl;
                cout<<"-------------"<<endl;
                b.print_postorder();
            break;
            case 5 : cout<<" Masukkan data yang akan dihapus : ";
                cin>>tmp1;
                b.remove(tmp1);
            break;
            case 6 :
                return 0;
        }
    }
*********************************************************************************
 
source : segokarak.blogspot.com




Struktur data part 1

THIS time to make my "big assignment" , but i have to do it with my spirits...
I haven't been able to do algoritm, so i find out from people blog.
i will share what i take, check it out


single linked list

#include "stdio.h"       
#include "stdlib.h"       
#include "iostream.h"

struct node
{
    int no;
    char nama[10];
    float datang, keluar;
    struct node *next; 
};
typedef struct node *simpul; char nama[10];

void main()
{   
simpul baru, head=NULL, tail=NULL, temp;
    int pilih;
    do {
        printf("**************************\n");
        printf("*       MENU NASABAH     *\n");
        printf("*    1. Insert Data      *\n");
        printf("*    2. View Data        *\n");
        printf("*    3. Search Data      *\n");
        printf("*    4. Delete Data      *\n");
        printf("*    5. Update Data      *\n");
        printf("*    6. Exit Program     *\n");
        printf("**************************\n");
        printf("  Silahkan Anda Pilih: ");
        scanf("%d", &pilih);
        printf("__________________________\n");
        switch(pilih)
        {case 1:
            char OK;
            do    {
                baru = (simpul) malloc(sizeof (struct node));
                printf("Masukkan Nomor Nasabah: ");
                scanf("%d", &baru->no);
                fflush(stdin);
                printf("Masukkan Nama: ");
                gets(baru->nama);
                fflush(stdin);
                printf("Masukkan Waktu Kedatangan: ");
                scanf("%g",&baru->datang);
                fflush(stdin);
                printf("Masukkan Waktu Keluar: ");
                scanf("%g",&baru->keluar);
                fflush(stdin);
                baru->next = NULL;
                if (head == NULL)
                {     head = baru; tail = baru;    }
                else
                {    tail->next = baru;    tail = baru;    }
                cout<<"Apakah Anda Ingin Mengulang Meng-Insert Data (y/n) ? ";
                cin>>OK;   
                cout<<endl;    }
            while(OK=='y');   
            break;
        case 2:    do    {    int a;
                printf("tampilkan secara\n1. maju\nmasukkan pilihan:");
                scanf("%d",&a);
                if(a==1)
                {    temp = head; 
                    while(temp!=NULL)
                    {    printf("\n%d ", temp->no);
                        printf("%s\n",temp->nama);
                        printf("%g\n",temp->datang);
                        printf("%g\n",temp->keluar);
                        temp = temp->next;    } printf("\n"); } 
                cout<<"Apakah Anda Ingin Mengulang Meng-View Data (y/n) ? ";
                cin>>OK;   
                cout<<endl;    }
            while(OK=='y');   
            break;
        case 3:    do    {    int cari,a;
                printf("Cari Angka: ");    scanf("%d", &cari);
                printf("pencarian secara\n1. maju\nmasukkan pilihan:");
                scanf("%d",&a);
                if(a==1)
                {    temp = head;
                    while((temp!=NULL)&&(temp->no!=cari))
                    {    temp = temp->next;    }
                    if(temp != NULL && temp->no == cari)
                        printf("SELAMAT...!!! Data Ditemukan\n");
                    else 
                        printf("MAAF...!!! Data Tidak Ditemukan\n");
                    printf("\n");    }
                cout<<"Apakah Anda Ingin Mengulang Meng-Search Data (y/n) ? ";
                cin>>OK;   
                cout<<endl;    }
            while(OK=='y');   
            break;
        case 4:    do    {    int hapus;    char jwb;    simpul next = NULL;
                printf("Hapus Nasabah: ");    scanf("%d", &hapus);    temp = head;
                while((temp!=NULL)&&(temp->no!=hapus))
                { temp = temp->next;    }
                if(temp != NULL && temp->no == hapus)
                {     cout<<"Yakin Dihapus? (y/t)";  cin>>jwb;
                  if(jwb == 'y')
                  {    if(temp->next != NULL )
                    {     temp->next;    }
                    else if (temp == head && head->next == NULL)
                    {    head = NULL;    }
                      else if (temp == head && head->next != NULL)
                    {    (head->next)->next=NULL;    head = head->next;    }
                        free(temp);    }
                  else 
                      printf("OK...!?!!?!, Data Batal Dihapus");}
                else 
                    printf("MAAF...!!! Data Tidak Ditemukan\n\n\n");
                cout<<"Apakah Anda Ingin Mengulang Meng-Delete Data (y/n) ? ";
                cin>>OK;   
                cout<<endl;    }
            while(OK=='y');   
            break;
        case 5:
            do
            {
                //prev=NULL;
                int cari;  
                printf("Cari No Nasabah: ");
                scanf("%d", &cari);
                temp = head;
                while((temp!=NULL)&&(temp->no!=cari))
                {
                    temp = temp->next;
                }
                if(temp != NULL && temp->no == cari)
                {
                    printf("masukkan no baru = ");
                    scanf("%d",&temp->no);
                    printf("masukkan nama baru = ");
                    scanf("%s",&temp->nama);
                    printf("Masukkan Waktu Kedatangan: ");
                    scanf("%g",&baru->datang);
                    printf("Masukkan Waktu Keluar: ");
                    scanf("%g",&baru->keluar);
                }
                else 
                    printf("MAAF...!!! Data Tidak Ditemukan\n");
                cout<<"Apakah Anda Ingin Mengulang Meng-Update Data (y/n) ? ";
                cin>>OK;
                cout<<endl;
            }
            while(OK=='y');
            break;
        }
    }while (pilih!=6);    }
 
*****************************************************************************88

double linked list

#include "stdio.h"       
#include "stdlib.h"       
#include "iostream.h"

struct node
{
    int npm;
    char nama[10];
    struct node *next;
    struct node *prev;  
};

typedef struct node *simpul;  
void main()
{   
simpul baru, head=NULL, tail=NULL, temp, prev;
    int pilih;
    do 
    {
        printf("**************************\n");
        printf("*          MENU          *\n");
        printf("*    1. Insert Data      *\n");
        printf("*    2. View Data        *\n");
        printf("*    3. Search Data      *\n");
        printf("*    4. Delete Data      *\n");
        printf("*    5. Update Data      *\n");
        printf("*    6. Exit Program     *\n");
        printf("**************************\n");
        printf("  Silahkan Anda Pilih: ");
        scanf("%d", &pilih);
        printf("__________________________\n");
        switch(pilih)
        {case 1:
            char OK;
            do   
            {
                baru = (simpul) malloc(sizeof (struct node));
                printf("Masukkan NPM: "); scanf("%d", &baru->npm);fflush(stdin);
                printf("Masukkan Nama: "); gets(baru->nama);
                baru->next = NULL;
                baru->prev = NULL;
                if (head == NULL)
                {
                     head = baru; tail = baru;   
                }
                else
                {    baru->prev = tail;
                    tail->next = baru;    tail = baru;   
                }
                cout<<"Apakah Anda Ingin Mengulang Meng-Insert Data (y/n) ? ";
                cin>>OK;   
                cout<<endl;
            }
            while(OK=='y');   
            break;
        case 2:    do
                {    int a;
                printf("tampilkan secara\n1. maju\n2. mundur\nmasukkan pilihan:");
                scanf("%d",&a);
                    if(a==1)
                    {    temp = head; 
                        while(temp!=NULL)
                        {   
                            printf("\n%d ", temp->npm);
                            cout<<temp->nama<<endl;
                            temp = temp->next;
                        } 
                        printf("\n");
                    } 
                    if(a==2)
                    {    temp = tail;
                        while(temp!=NULL)
                        {   
                            printf("\n%d ", temp->npm);
                            cout<<temp->nama<<endl;
                            temp = temp->prev;
                        } 
                        printf("\n");
                    } 
                    cout<<"Apakah Anda Ingin Mengulang Meng-View Data (y/n) ? ";
                cin>>OK;   
                cout<<endl;
                }
            while(OK=='y');   
            break;
        case 3:    do   
                {    int cari,a;
                printf("Cari Angka: ");    scanf("%d", &cari);
                printf("pencarian secara\n1. maju\n2. mundur\nmasukkan pilihan:");
                scanf("%d",&a);
                    if(a==1)
                    {    temp = head;
                        while((temp!=NULL)&&(temp->npm!=cari))
                            {   
                                temp = temp->next;
                            }
                        if(temp != NULL && temp->npm == cari)
                            printf("SELAMAT...!!! Data Ditemukan\n");
                        else 
                            printf("MAAF...!!! Data Tidak Ditemukan\n");
                            printf("\n");
                    }
                    if (a==2)
                    {    temp = tail;
                        while((temp!=NULL)&&(temp->npm!=cari))
                            {   
                                temp = temp->prev;
                            }
                        if(temp != NULL && temp->npm == cari)
                            printf("SELAMAT...!!! Data Ditemukan\n");
                        else 
                            printf("MAAF...!!! Data Tidak Ditemukan\n");
                            printf("\n");
                    }
                cout<<"Apakah Anda Ingin Mengulang Meng-Search Data (y/n) ? ";
                cin>>OK;   
                cout<<endl;   
                }
            while(OK=='y');   
            break;
        case 4:    do   
                {    int hapus;    char jwb;    simpul prev = NULL;
                printf("Hapus Angka: ");    scanf("%d", &hapus);    temp = head;
                    while((temp!=NULL)&&(temp->npm!=hapus))
                    {   
                        prev = temp;    temp = temp->next;
                    }
                    if(temp != NULL && temp->npm == hapus)
                    {    
                         cout<<"Yakin Dihapus? (y/t)";  cin>>jwb;
                         if(jwb == 'y')
                         {   
                                if(temp->next != NULL && temp->prev != NULL)
                                {   
                                    prev->next = temp->next;
                                    (temp->next)->prev=prev;   
                                }
                                else if (temp->next == NULL)
                                {   
                                    prev->next = NULL;
                                }
                                else if (temp == head && head->next == NULL)
                                {
                                    head = NULL;
                                }
                                  else if (temp == head && head->next != NULL)
                                {   
                                    (head->next)->prev=NULL;   
                                    head = head->next; 
                                }
                                free(temp);   
                        }
                        else 
                            printf("OK...!?!!?!, Data Batal Dihapus");
                    }
                    else 
                        printf("MAAF...!!! Data Tidak Ditemukan\n\n\n");
                cout<<"Apakah Anda Ingin Mengulang Meng-Delete Data (y/n) ? ";
                cin>>OK;   
                cout<<endl;   
                }
            while(OK=='y');   
            break;
        case 5:
            do
            {
                prev=NULL;
                int cari;
                printf("Cari Angka: ");
                scanf("%d", &cari);
                temp = head;
                /*while((temp!=NULL)&&(temp->npm!=cari))
                {
                    temp = temp->next;
                }*/
                if(temp != NULL && temp->npm == cari)
                {
                   
                    printf("masukkan NPM baru = ");
                    scanf("%d",&temp->npm);
                    printf("masukkan Nama baru = ");
                    scanf("%s",&temp->nama);
                }
                else //if(temp == NULL)
                    printf("MAAF...!!! Data Tidak Ditemukan\n");
                cout<<"Apakah Anda Ingin Mengulang Meng-Update Data (y/n) ? ";
                cin>>OK;
                cout<<endl;
            }
            while(OK=='y');
            break;
        }
    }while (pilih!=6);   
}
 
*********************************************************************
 
source: segokarak.blogspot.com