12/15/11

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
 





10/20/11

South Korea has the Fastest Internet Speed and was declared to have the World’s Top Technology Market by the UN

The United Nations recognizes South Korea to have the world’s top technology market!


Top 3 Korean Telecommunication Companies: A Rare Look into their Strategies and Competition

Poem for my Mommy

Mom

You were my first word ever spoken,
The one who's always there,
To me your love is the ultimate token,
Next to you, other mother's don't compare.

The way you're always there for me,
No matter what I've done,
That five letter name Marie,
To me is the only one.

You pick me up when I fall,
While wanting nothing in return,
Always answer when I call,
Your love, I never had to earn.

You taught me right from wrong,
Showed me good from bad,
Loved me all along,
You're the best friend I've ever had.

For me, You've always came through,
I mean what more can I say,
Words can't describe how much I love you,
Thanks Mom, You've made me the man I am today.

Love you Mom
Always and Forever