SlideShare a Scribd company logo
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( );
}

More Related Content

What's hot

Relasi Rekursi : Definisi, Contoh, Jenis Relasi Rekursi
Relasi Rekursi : Definisi, Contoh, Jenis Relasi RekursiRelasi Rekursi : Definisi, Contoh, Jenis Relasi Rekursi
Relasi Rekursi : Definisi, Contoh, Jenis Relasi RekursiOnggo Wiryawan
 
Relasi dan Hasil Kali Cartesius
Relasi dan Hasil Kali CartesiusRelasi dan Hasil Kali Cartesius
Relasi dan Hasil Kali Cartesius
Eman Mendrofa
 
Recursion in Python
Recursion in PythonRecursion in Python
Recursion in Python
Fariz Darari
 
Bab 8 rekursif
Bab 8 rekursifBab 8 rekursif
Bab 8 rekursif
arii_manroe
 
Algoritma Branch and Bound
Algoritma Branch and BoundAlgoritma Branch and Bound
Algoritma Branch and Bound
Ajeng Savitri
 
PENELITIAN OPERASIONAL - PROGRAMA LINIER - METODE PRIMAL DUAL
PENELITIAN OPERASIONAL - PROGRAMA LINIER - METODE PRIMAL DUALPENELITIAN OPERASIONAL - PROGRAMA LINIER - METODE PRIMAL DUAL
PENELITIAN OPERASIONAL - PROGRAMA LINIER - METODE PRIMAL DUAL
Universitas Qomaruddin, Gresik, Indonesia
 
9.double linked list circular
9.double linked list circular9.double linked list circular
9.double linked list circularHitesh Wagle
 
Relasi rekursi (2) : Menentukan solusi relasi Rekursi Linier Homogen Berkoefi...
Relasi rekursi (2) : Menentukan solusi relasi Rekursi Linier Homogen Berkoefi...Relasi rekursi (2) : Menentukan solusi relasi Rekursi Linier Homogen Berkoefi...
Relasi rekursi (2) : Menentukan solusi relasi Rekursi Linier Homogen Berkoefi...
Onggo Wiryawan
 
Tugas mandiri struktur data
Tugas mandiri struktur dataTugas mandiri struktur data
Tugas mandiri struktur data
Asep Jaenudin
 
Persoalan interpolasi Polinom
Persoalan interpolasi PolinomPersoalan interpolasi Polinom
Persoalan interpolasi Polinom
sur kuati
 
Pertemuan 3 relasi & fungsi
Pertemuan 3 relasi & fungsiPertemuan 3 relasi & fungsi
Pertemuan 3 relasi & fungsiaansyahrial
 
Metode numerik persamaan non linier
Metode numerik persamaan non linierMetode numerik persamaan non linier
Metode numerik persamaan non linier
Izhan Nassuha
 
Makalah kelompok 4 metode simpleks
Makalah kelompok 4 metode simpleksMakalah kelompok 4 metode simpleks
Makalah kelompok 4 metode simpleks
Nila Aulia
 
Himpunan matematika diskrit
Himpunan matematika diskritHimpunan matematika diskrit
Himpunan matematika diskrit
Zuhri Patria Siregar
 
Bab 2 Fungsi ( Kalkulus 1 )
Bab 2 Fungsi ( Kalkulus 1 )Bab 2 Fungsi ( Kalkulus 1 )
Bab 2 Fungsi ( Kalkulus 1 )
Kelinci Coklat
 
Matematika Diskrit kombinatorial
Matematika Diskrit  kombinatorialMatematika Diskrit  kombinatorial
Matematika Diskrit kombinatorial
Siti Khotijah
 
Bahan ajar integral tak-tentu
Bahan ajar integral tak-tentuBahan ajar integral tak-tentu
Bahan ajar integral tak-tentuNasrial Tanjung
 
contoh soal dan pembahasan - Logika matematika
contoh soal dan pembahasan - Logika matematikacontoh soal dan pembahasan - Logika matematika
contoh soal dan pembahasan - Logika matematika
Mya Miranda
 

What's hot (20)

Relasi Rekursi : Definisi, Contoh, Jenis Relasi Rekursi
Relasi Rekursi : Definisi, Contoh, Jenis Relasi RekursiRelasi Rekursi : Definisi, Contoh, Jenis Relasi Rekursi
Relasi Rekursi : Definisi, Contoh, Jenis Relasi Rekursi
 
Relasi dan Hasil Kali Cartesius
Relasi dan Hasil Kali CartesiusRelasi dan Hasil Kali Cartesius
Relasi dan Hasil Kali Cartesius
 
Recursion in Python
Recursion in PythonRecursion in Python
Recursion in Python
 
Bab 8 rekursif
Bab 8 rekursifBab 8 rekursif
Bab 8 rekursif
 
Algoritma Branch and Bound
Algoritma Branch and BoundAlgoritma Branch and Bound
Algoritma Branch and Bound
 
PENELITIAN OPERASIONAL - PROGRAMA LINIER - METODE PRIMAL DUAL
PENELITIAN OPERASIONAL - PROGRAMA LINIER - METODE PRIMAL DUALPENELITIAN OPERASIONAL - PROGRAMA LINIER - METODE PRIMAL DUAL
PENELITIAN OPERASIONAL - PROGRAMA LINIER - METODE PRIMAL DUAL
 
9.double linked list circular
9.double linked list circular9.double linked list circular
9.double linked list circular
 
Relasi rekursi (2) : Menentukan solusi relasi Rekursi Linier Homogen Berkoefi...
Relasi rekursi (2) : Menentukan solusi relasi Rekursi Linier Homogen Berkoefi...Relasi rekursi (2) : Menentukan solusi relasi Rekursi Linier Homogen Berkoefi...
Relasi rekursi (2) : Menentukan solusi relasi Rekursi Linier Homogen Berkoefi...
 
Latihan soal struktur data
Latihan soal struktur dataLatihan soal struktur data
Latihan soal struktur data
 
Tugas mandiri struktur data
Tugas mandiri struktur dataTugas mandiri struktur data
Tugas mandiri struktur data
 
Persoalan interpolasi Polinom
Persoalan interpolasi PolinomPersoalan interpolasi Polinom
Persoalan interpolasi Polinom
 
Pertemuan 3 relasi & fungsi
Pertemuan 3 relasi & fungsiPertemuan 3 relasi & fungsi
Pertemuan 3 relasi & fungsi
 
Metode numerik persamaan non linier
Metode numerik persamaan non linierMetode numerik persamaan non linier
Metode numerik persamaan non linier
 
Makalah kelompok 4 metode simpleks
Makalah kelompok 4 metode simpleksMakalah kelompok 4 metode simpleks
Makalah kelompok 4 metode simpleks
 
Himpunan matematika diskrit
Himpunan matematika diskritHimpunan matematika diskrit
Himpunan matematika diskrit
 
Bab 2 Fungsi ( Kalkulus 1 )
Bab 2 Fungsi ( Kalkulus 1 )Bab 2 Fungsi ( Kalkulus 1 )
Bab 2 Fungsi ( Kalkulus 1 )
 
Matematika Diskrit kombinatorial
Matematika Diskrit  kombinatorialMatematika Diskrit  kombinatorial
Matematika Diskrit kombinatorial
 
Bahan ajar integral tak-tentu
Bahan ajar integral tak-tentuBahan ajar integral tak-tentu
Bahan ajar integral tak-tentu
 
Sorting ppt
Sorting ppt Sorting ppt
Sorting ppt
 
contoh soal dan pembahasan - Logika matematika
contoh soal dan pembahasan - Logika matematikacontoh soal dan pembahasan - Logika matematika
contoh soal dan pembahasan - Logika matematika
 

Similar to Materi linked list dan bubble sort

Linked list
Linked listLinked list
Linked list
Tenia Wahyuningrum
 
Laporan Praktikum Struktur Data Modul 3
Laporan Praktikum Struktur Data Modul 3Laporan Praktikum Struktur Data Modul 3
Laporan Praktikum Struktur Data Modul 3azmi007
 
Algorithms and Data Structures
 Algorithms and Data Structures Algorithms and Data Structures
Algorithms and Data Structures
Noval C. Kesuma
 
Modul 3 strukdat
Modul 3 strukdatModul 3 strukdat
Modul 3 strukdat
Vincentius Kristanto
 
5 6 single-linked_list
5 6 single-linked_list5 6 single-linked_list
5 6 single-linked_listWandi Parlente
 
Bab 6 singly_linked_list
Bab 6 singly_linked_listBab 6 singly_linked_list
Bab 6 singly_linked_list
arii_manroe
 
Tugas kelompok mi d3_sore
Tugas kelompok mi d3_soreTugas kelompok mi d3_sore
Tugas kelompok mi d3_soretio_arkarna
 
Laporan Resmi BAB 1 (Tree)
Laporan Resmi BAB 1 (Tree)Laporan Resmi BAB 1 (Tree)
Laporan Resmi BAB 1 (Tree)
Citra Kapindo
 
Algoritma dan Struktur Data (Python) - Struktur Data
Algoritma dan Struktur Data (Python) - Struktur DataAlgoritma dan Struktur Data (Python) - Struktur Data
Algoritma dan Struktur Data (Python) - Struktur Data
AndiNurkholis1
 
Bab 7 double_linked_list
Bab 7 double_linked_listBab 7 double_linked_list
Bab 7 double_linked_list
arii_manroe
 
Bab 5 linked list
Bab 5 linked listBab 5 linked list
Bab 5 linked list
Fahuda E
 
Struktur data
Struktur dataStruktur data
Struktur data
yusriren20
 

Similar to Materi linked list dan bubble sort (20)

Linked list
Linked listLinked list
Linked list
 
Laporan Praktikum Struktur Data Modul 3
Laporan Praktikum Struktur Data Modul 3Laporan Praktikum Struktur Data Modul 3
Laporan Praktikum Struktur Data Modul 3
 
Algorithms and Data Structures
 Algorithms and Data Structures Algorithms and Data Structures
Algorithms and Data Structures
 
Modul 3 strukdat
Modul 3 strukdatModul 3 strukdat
Modul 3 strukdat
 
Tistrukdat8 2
Tistrukdat8 2Tistrukdat8 2
Tistrukdat8 2
 
11
1111
11
 
Modul 2
Modul 2Modul 2
Modul 2
 
5 6 single-linked_list
5 6 single-linked_list5 6 single-linked_list
5 6 single-linked_list
 
Tistrukdat7
Tistrukdat7Tistrukdat7
Tistrukdat7
 
Bab 6 singly_linked_list
Bab 6 singly_linked_listBab 6 singly_linked_list
Bab 6 singly_linked_list
 
Tugas kelompok mi d3_sore
Tugas kelompok mi d3_soreTugas kelompok mi d3_sore
Tugas kelompok mi d3_sore
 
Queue
QueueQueue
Queue
 
Tistrukdat8 1
Tistrukdat8 1Tistrukdat8 1
Tistrukdat8 1
 
Stack with linked list(algodat)
Stack with linked list(algodat)Stack with linked list(algodat)
Stack with linked list(algodat)
 
Tistrukdat6
Tistrukdat6Tistrukdat6
Tistrukdat6
 
Laporan Resmi BAB 1 (Tree)
Laporan Resmi BAB 1 (Tree)Laporan Resmi BAB 1 (Tree)
Laporan Resmi BAB 1 (Tree)
 
Algoritma dan Struktur Data (Python) - Struktur Data
Algoritma dan Struktur Data (Python) - Struktur DataAlgoritma dan Struktur Data (Python) - Struktur Data
Algoritma dan Struktur Data (Python) - Struktur Data
 
Bab 7 double_linked_list
Bab 7 double_linked_listBab 7 double_linked_list
Bab 7 double_linked_list
 
Bab 5 linked list
Bab 5 linked listBab 5 linked list
Bab 5 linked list
 
Struktur data
Struktur dataStruktur data
Struktur data
 

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 #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; }
  • 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. 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( );
  • 5. }