Select Menu

Search This Blog

Populer Posts Hari ini

Popular Posts

Powered by Blogger.

Lorem 1

adsense

" });

Circle Gallery

" });

News

" });
*Header

#ifndef HEADER_H_INCLUDED
#define HEADER_H_INCLUDED


typedef struct
{
    int x;      /* absis */
    int y;      /* ordinat */
} point;


point makepoint(int x,int y);
void bacapoint(point *p);
int getabsis (point p);
int getordinat(point p);
void tulispoint(point p);

#endif // HEADER_H_INCLUDED


*C++ source

#include <iostream>
#include <stdio.h>
#include "Header.H"


point makepoint( int x, int y)
{
      point temp;

      temp.x = x;
      temp.y = y;

      return temp;
}
void bacapoint(point *p)
{
    //membaca nilai x dan y dari keyboard
    int x,y;
    printf("Masukkan nilai X : ");
    scanf("%d", &x);
    printf("Masukkan nilai Y : ");
    scanf("%d", &y);

    *p = makepoint(x,y);
}


int getabsis(point p)
{
    return p.x;
}

int getordinat(point p)
{
    return p.y;
}



void tulispoint(point p)
{
     printf("P(%d,%d)",p.x,p.y);
}


* Main

#include <iostream>
#include "Header.h"


using namespace std;

int main()
{

    int x,y;
    point P;


    bacapoint(&P);
    tulispoint(P);
    cout<<"\n";
    cout<<"Nilai absis \t :"<< getabsis(P)<<"\n";
    cout<<"Nilai ordinat \t :"<<getordinat(P);
}

- -
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <ctype.h>


struct datapointer{
   int nilai;
   struct datapointer *next;
} *first=NULL;  /*variabel first di set NULL agar tercipta sebuah                     linked list kosong */

void inputdata(void);
void outputdata(void);

int main(){

    first = (struct datapointer*)malloc(sizeof(struct datapointer));

     /* Variabel first di isi dengan sebuah alamat pada memory. Variabel first akan menjadi “head” atau kepala pada pointer.Pada algoritma inyi tidak ada perubahan nilai variabel first, sehingga data pertama yang di inputkan menjadi data pertama yang diproses saat penelusuran data*/

     /* Perintah “malloc” merupakah perintah “memory allocation”. Perintah ini berfungsi mengalokasikan suatu alamat pada memory pada sebuah variabel*/

    inputdata();
    outputdata();

    system("pause");
    return 0;
}

void inputdata(void){
   struct datapointer *newpointer;
   char reply;
   newpointer = first;
   do{
      printf("Input Data List : ");
      scanf("%d",&newpointer->nilai);/*perintah pengisian data pada       linked list */

      printf("Is There More (Y/N) : ");
      do{
        reply=toupper(getch());
      }while (!(reply=='Y'||reply=='N'));

      /* toupper merupakan perintah untuk meng-upcase (mengkapitalkan) sebuah karakter.pada sebagian compiler perintah ini hanya terdapat pada librari ctype.h perintah getch merupakan perintah untuk membaca inputan dari keyboard.pada sebagian compiler perintah ini hanya terdapat pada librari conio.h*/

      if(reply=='Y'){
        newpointer->next = (struct datapointer*)malloc(sizeof(struct datapointer));
        newpointer = newpointer->next;
        /* Jika masih ada penambahan data, maka newpointer->next harus dialokasikan pada memory yang baru.Selanjutnya newpointer akan mengambil alamat memory yang baru tersebut dan mengisikan nilai pada alamat tersebut*/

      } else newpointer->next = NULL;

      /* jika tid ak ada data yang dimasukkan lagi, maka sebagai penanda akhir dari linked list, newpointer->next di set NULL */ 

      printf("\n");

  }whilereply=='Y');
}

void outputdata(void){
     struct datapointer *temp;
     temp = first;

     while (temp){
        printf("Data Pointer = %d\n",temp->nilai);
        temp = temp->next;
     }
   getch();
}
#include "stdio.h"
#include "conio.h"
#include "stdlib.h"

void alokasi();
void listawal();
void insertfirst();
void cetak();

typedef struct simpul node;
struct simpul{
    int data;
    node *p,*next,*head,*tail;
};
node *p, *head, *after, *next,*tail;
int x;

main(){
   listawal();
   insertfirst();
   getch();
}

void alokasi(){
printf("Nilai :");scanf("%d",&x);
p=(node*)malloc(sizeof(node));
p->data=x;
p->next==NULL;
}

void listawal(){
   int i,N;
   printf("masukkan banyak data awal :");scanf("%d",&N);
   for(i=0;i<N;i++){
      printf("masukkan nilai data ke-%d\n",i+1);
      alokasi();
      if(head==0){
         head=p;
         tail=p;
      }
      else{
         tail->next=p;
         tail=tail->next;
      }
   }
   cetak();
}

void insertfirst(){
   char pil;
   printf("masukkan nilai data yang akan di insert-kan di awal\n");
   do{
alokasi();
p->next=head;
head=p;
cetak();
     fflush(stdin);
     printf("inputkan data lagi ?");
     pil=getchar();
}while(pil=='Y' || pil=='y');
}


void cetak(){
   node *baca;
   baca=head;
   while(baca!=NULL){
      printf("%d\t",baca->data);
      baca=baca->next;
   }
   printf("\n");
}


- -
pada postingan saya kali ini saya akan berbagi mengenai kodingan list linear lengkap dengan bahasa C


#include"stdio.h"
#include"stdlib.h"
#include"conio.h"

void awal();
void tengah();
void akhir();
void menu();
void cetak();
void delawal();
void deltengah();
void delakhir();
void alokasi();

typedef struct simpul node;
struct simpul{
   int data;
   node *next,*head,*after;
};
node *p,*head,*after,*before,*prevbefore,*tail;
int x,sisip;

main(){
char pil;
            do{system("cls");
                        menu();
                        printf("kembalike menu>");
                        fflush(stdin);
                        pil=getchar();
            }while(pil=='y'||pil=='Y');
}
void menu()
{ char pil;
            printf("masukanpilihananda> \n");
            puts("1. insert first");
            puts("2. insert after");
            puts("3. insert last");
            puts("4. delete first");
            puts("5. delete last");
            puts("6. delete after");
            puts("7. cetak");
            puts("8. exit");
            printf("masukanpilahananda>");
            fflush(stdin);
            scanf("%c",&pil);
            switch (pil)
            {
            case '1':   {
                                    awal();
                }
                                    break;
case '2':   {
                                    tengah();
                }
                                    break;
                case '3': {
                        akhir();
                }
                                    break;
                case '4':   {
                        delawal();
                }
                                    break;
                case '5':   {
                        delakhir();
                }
                                    break;
                case '6': {
                                    deltengah();
                }
                                    break;
                case '7':   {
                        cetak();
                }
                                    break;

            }
 }


void alokasi(){
            printf("nilai=");
            scanf("%d",&x);
            p=(node *)malloc(sizeof(node));
            p->data=x;
            p->next=NULL;
}
void awal(){
            char pil;
            puts("masukan data");
            do{       alokasi();

p->next=head;
                        head=p;

                        fflush(stdin);
                        printf("input lagi=");
                        pil=getchar();
            }while(pil=='y'||pil=='Y');
}


void tengah()
{int cari;
            alokasi();
            fflush(stdin);
            printf("data maudisisipkandimana = ");
            scanf("%d",&cari);
            after=head;
                       while(after->data!=cari)
            {   if(after->next==NULL)
                        {printf("data takketemu");
                        exit(1);}
                        else
                        after=after->next;
            }
            p->next=after->next;
            after->next=p;
}

void akhir()
{ char jawab;
            do{
alokasi();
if(head == NULL)
            {
head = p;
               tail = p;
    }
else
            {
tail->next = p;
tail = tail->next;
    }
            fflush(stdin);
            printf("masihada data lagi = ");
            jawab = getchar();
            }while(jawab=='y'||jawab=='Y');
}


void delawal(){
          node *hapus;
          hapus = head;
          head= hapus->next; 
          free(hapus);
}
void delakhir(){
          node *hapus;
          hapus=tail->next;
          free(hapus);
          head=head->next;
}

void deltengah(){
         int cari;
         node *hapus;
         printf("mau di hapus setelah angka                                  berapa?");scanf("%d",&cari);
         after=head;
         while(after->data!=cari)
             if(after->next==NULL){
                     printf("data takketemu");
                     exit(1);
             }
             else{
                     after=after->next;
             }
             hapus=after->next;
             after->next=(after->next)->next;
             free(hapus);
         }
}

void cetak()
{ node *baca;
            baca=head;
            while(baca!=NULL)
            {
                        printf("hasil = %d \n",baca->data);
                        baca=baca->next;
            }
}

-