NAMA             : YUNAN HELMI

NPM              : 0651 11 076

KELAS            :C




                           LINKED LIST
  A. PENGERTIAN LINKED LIST
     Linked List adalah sekumpulan elemen bertipe sama yang mempunyai
     keterurutan tertentu yang setiap elemennya terdiri dari dua bagian.

        Bentuk umumnya :




     Keterangan :
         Infotype : sebuah type terdefenisi yang menyimpan informasi sebuah
            element list.
         Next : address dari elemen berikutnya
  B. OPERASI-OPERASI LINKED LIST
     1. INSERT
        Insert adalah menambahkan sebuah simpul baru kedalam suatu linked list.
     2. IsEmpty fungsi ini menentukan apakah linked list kosong atau tidak.
     3. Find First fungsi ini mencari elemen pertama dari linked list
     4. Find Next fungsi ini mencari elemen sesudah elemen yang ditunjuk now.
     5. Retrieve fungsi ini mengambil elemen yang ditunjuk oleh now dan elemen
        tersebut dikembalikan oleh fungsi.
     6. Update fungsi ini mengubah elemen yang ditunjuk oleh now dengan isi dari
        sesuatu.
     7. Delete Now fungsi ini menghapus elemen yang ditunjuk oleh now.
     8. Delete Head fungsi ini menghapus elemen yang ditunjuk head.
     9. Clear fungsi ini menghapus linked list yang sudah ada.

           Contoh Program Linked List

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

#define Nil NULL
#define info(P) P->info
#define next(P) P->next
#define First(L) (L)

typedef int InfoType;
typedef struct telmtlist *address;
typedef struct telmtlist
{
InfoType info;
address next;
}elmtlist;
typedef address list;

void CiptaSenarai(list *L)
{
First(*L)=NULL;
}

list NodBaru(int m)
{
list n;
n=(list) malloc(sizeof(elmtlist));
if(n!=NULL)
{
n->info=m;
n->next=NULL;
}
return n;
}
void SisipSenarai(list *L, list t, list p)
{
if(p==NULL)
{
t->next = *L;
*L = t;
}
else
{
t->next = p->next;
p->next = t;
}
}

           void CetakSenarai(list L)
           {
           list ps;
           for(ps=L; ps!=Nil; ps=ps->next)
           {
           cout<<" "<<info(ps)<<" -->";
           }
           cout<<" NULL"<<endl;
           }
           int main()
           {
           list pel;
           list n;
           int i,k,nilai;

           CiptaSenarai(&pel);
           cout<<"Masukkan Banyak Data = ";
           cin>>k;
           for(i=1; i<=k; i++)
           {
           cout<<"Masukkan Data Senarai ke-"<<i<<" = ";
           cin>>nilai;
           n = NodBaru(nilai);
           SisipSenarai(&pel, n, NULL);
           }
           CetakSenarai(pel);
           getch();
           return 0;
           }




                   BUBBLE SORT
Sorting adalah suatu proses pengurutan data yang sebelumnya disusun secara acak
atau tidak teratur menjadi urut dan teratur menurut suatu aturan tertentu. Sorting
dapat dibedakan menjadi dua jenis yaitu ascending dan descending. Ascending
adalah pengurutan data dari kecil ke besar, sedangkan descending adalah
pengurutan data dari besar ke kecil. Nah, ada banyak program sorting dalam C++,
seperti bubble sort, selection sort, insertion sort, exchange sort, merge sort, quick
sort, dan lain sebagainya. Kita akan bahas satu per satu. Kali ini kita akan bahas
bubble sort. Metode bubble sort adalah metode yang mendasarkan penukaran 2
buah elemen untuk mencapai keadaan terurut.

Contoh Program Bubble Sort

#include <iostream.h>
#include <conio.h>
 int data[10],data2[10];
 int n;
void tukar(int a, int b)
{
 int t;
 t = data[b];
data[b] = data[a];
data[a] = t;
}
void bubble_sort( )
{
for(int i=1;i<=n;i++)
{
for(int j=n; j>=i; j--)
{
 if(data[j] < data[j-1]) tukar (j,j-1);
}
}
}
void main( )
{
cout<<"===PROGRAM BUBBLE SORT==="<<endl;
//Input Data
cout<<"Masukkan Jumlah Data : " ;
cin>>n;
for(int i=1;i<=n;i++)
{
cout<<"Masukkan data ke "<<i<<" : ";
cin>>data[i];
data2[i]=data[i];
}
bubble_sort( );
cout<<"nn";
//tampilkan data
cout<<"Data Setelah di Sort : ";
for(i=1; i<=n; i++)
{
cout<<" "<<data [i];
}
cout<<"nnsorting selesai";
getch( );
}

Materi linked list dan bubble sort

  • 1.
    NAMA : YUNAN HELMI NPM : 0651 11 076 KELAS :C LINKED LIST A. PENGERTIAN LINKED LIST Linked List adalah sekumpulan elemen bertipe sama yang mempunyai keterurutan tertentu yang setiap elemennya terdiri dari dua bagian. Bentuk umumnya : Keterangan :  Infotype : sebuah type terdefenisi yang menyimpan informasi sebuah element list.  Next : address dari elemen berikutnya B. OPERASI-OPERASI LINKED LIST 1. INSERT Insert adalah menambahkan sebuah simpul baru kedalam suatu linked list. 2. IsEmpty fungsi ini menentukan apakah linked list kosong atau tidak. 3. Find First fungsi ini mencari elemen pertama dari linked list 4. Find Next fungsi ini mencari elemen sesudah elemen yang ditunjuk now. 5. Retrieve fungsi ini mengambil elemen yang ditunjuk oleh now dan elemen tersebut dikembalikan oleh fungsi. 6. Update fungsi ini mengubah elemen yang ditunjuk oleh now dengan isi dari sesuatu. 7. Delete Now fungsi ini menghapus elemen yang ditunjuk oleh now. 8. Delete Head fungsi ini menghapus elemen yang ditunjuk head. 9. Clear fungsi ini menghapus linked list yang sudah ada. Contoh Program Linked List #include<iostream.h>
  • 2.
    #include<conio.h> #include<stdlib.h> #include<malloc.h> #define Nil NULL #defineinfo(P) P->info #define next(P) P->next #define First(L) (L) typedef int InfoType; typedef struct telmtlist *address; typedef struct telmtlist { InfoType info; address next; }elmtlist; typedef address list; void CiptaSenarai(list *L) { First(*L)=NULL; } list NodBaru(int m) { list n; n=(list) malloc(sizeof(elmtlist)); if(n!=NULL) { n->info=m; n->next=NULL; } return n; } void SisipSenarai(list *L, list t, list p) { if(p==NULL) { t->next = *L; *L = t; } else { t->next = p->next; p->next = t; }
  • 3.
    } void CetakSenarai(list L) { list ps; for(ps=L; ps!=Nil; ps=ps->next) { cout<<" "<<info(ps)<<" -->"; } cout<<" NULL"<<endl; } int main() { list pel; list n; int i,k,nilai; CiptaSenarai(&pel); cout<<"Masukkan Banyak Data = "; cin>>k; for(i=1; i<=k; i++) { cout<<"Masukkan Data Senarai ke-"<<i<<" = "; cin>>nilai; n = NodBaru(nilai); SisipSenarai(&pel, n, NULL); } CetakSenarai(pel); getch(); return 0; } BUBBLE SORT Sorting adalah suatu proses pengurutan data yang sebelumnya disusun secara acak atau tidak teratur menjadi urut dan teratur menurut suatu aturan tertentu. Sorting dapat dibedakan menjadi dua jenis yaitu ascending dan descending. Ascending adalah pengurutan data dari kecil ke besar, sedangkan descending adalah pengurutan data dari besar ke kecil. Nah, ada banyak program sorting dalam C++, seperti bubble sort, selection sort, insertion sort, exchange sort, merge sort, quick sort, dan lain sebagainya. Kita akan bahas satu per satu. Kali ini kita akan bahas
  • 4.
    bubble sort. Metodebubble sort adalah metode yang mendasarkan penukaran 2 buah elemen untuk mencapai keadaan terurut. Contoh Program Bubble Sort #include <iostream.h> #include <conio.h> int data[10],data2[10]; int n; void tukar(int a, int b) { int t; t = data[b]; data[b] = data[a]; data[a] = t; } void bubble_sort( ) { for(int i=1;i<=n;i++) { for(int j=n; j>=i; j--) { if(data[j] < data[j-1]) tukar (j,j-1); } } } void main( ) { cout<<"===PROGRAM BUBBLE SORT==="<<endl; //Input Data cout<<"Masukkan Jumlah Data : " ; cin>>n; for(int i=1;i<=n;i++) { cout<<"Masukkan data ke "<<i<<" : "; cin>>data[i]; data2[i]=data[i]; } bubble_sort( ); cout<<"nn"; //tampilkan data cout<<"Data Setelah di Sort : "; for(i=1; i<=n; i++) { cout<<" "<<data [i]; } cout<<"nnsorting selesai"; getch( );
  • 5.