Contoh Penggunaan Singel Linked List Pada Non Circular Menggunakan Bahasa C Ervina Sahrati Rangkuti D4 TI 2D

19:11 Pemrograman Web 0 Comments


Contoh Penggunaan Singel Linked List Pada Non Circular Menggunakan Bahasa C

Pada tahap ini saya akan menjelaskan apa itu single linked list? Bagaimana single linked list itu berjalan? Penasaran tentang single linked list. Mari baca penjelasan dibawah ini. Selamat membaca.
Linked List adalah Kumpulan dari node satu ke node yang lain melalui sebuah pointer. Bagian awal single linked list diawal dengan head sebagai bentuk awal dan diakhiri dengan bentuk node yang mengarah ke pointer bentuk NULL. Singel linked list hanya memiliki satu arah saja dan tidak bisa kembali ke semula, Untuk pencarian data, Kita ketikkan data yang kita cari. Maka, data tersebut akan terus dicari.
Berikut ini saya cantumkan codingannya menggunakan Bahasa C :

#include <stdio.h>
#include <stdlib.h>

//definisikan struct
struct SNode{
       int data;
       struct SNode *next;
};

struct SNode *n_awal, *n_tampil;
int iterasi;

//inisialisasi linked list
void inisialisasi(){
    
     n_awal = NULL;
}

//tampilkan linked list
void tampil_list(){
    
    n_tampil = n_awal;
   
    while(n_tampil != NULL){
            printf("%d ", n_tampil -> data);
            n_tampil = n_tampil -> next;
    }
    printf("\n");
}

//method untuk insert node baru
void insert_node(int data){
    
     //node baru yang akan di insert
     struct SNode *n_insert;
     n_insert = (struct SNode *)malloc(sizeof(struct SNode));;
     n_insert -> data = iterasi;
     n_insert -> next = NULL;
   
     //kondisi linked list masih kosong
     if (n_awal == NULL){
      
        n_awal = n_insert;
      
     } else {
          
          struct SNode *n_bantu; // untuk bantuan mencari node terakhir
         
          n_bantu = n_awal;
         
          // cari node terakhir
          while (n_bantu -> next != NULL){
                n_bantu = n_bantu -> next;   
          }
         
          //hubungkan node terakhir dengan node baru
          if(n_bantu -> next == NULL)
          {
              n_bantu -> next = n_insert;
          }
     }
}

int main(int argc, char *argv[])
{
    inisialisasi();
   
    for(iterasi = 1; iterasi <= 5; iterasi++)
    {
        insert_node(iterasi);
    }
 
    tampil_list();
 
    system("PAUSE");
    return 0;
}

Hasilnya setelah di run adalah dibawah ini :



Penjelasan codingan :              

#include <stdio.h>
Fungsi diatas adalah Sebuah prosesor pengarah yang mengatakan kepada kompiler untuk meletakan kode dari header file stdio.h kedalam program.

struct SNode{
       int data;
       struct SNode *next;
};
 Mendefinisikan struct dengan nama SNode, Disini ada data dengan tipe data integer. Struct Node * next adalah variabel pointer dari struct SNode. Cara menujukkan ke node berikutnya dalam linked list single adalah ketika kita menciptakan node, maka akan diberikan nilai pada bidang dijelaskan oleh definisi tersebut. Maka, node yang telah didefiniskan tersebut merupakan pointer yang berisi alamat lain.

struct SNode *n_awal, *n_tampil;
int iterasi;
Node awal dari linked list single, dimana *n_awal adalah node bantu untuk  data awal dan *n_tampil untuk menampilkan node berikutnya. Dimana iterasi adalah nama variabel dengan tipe data integer.

void inisialisasi(){
    
     n_awal = NULL;
}
Codingan diatas adalah inisialisasi linked list, dimana n_awal = NULL menyatakan node berikutnya sampai node terakhir.

void tampil_list(){
    
    n_tampil = n_awal;
   
    while(n_tampil != NULL){
            printf("%d ", n_tampil -> data);
            n_tampil = n_tampil -> next;
    }
    printf("\n");
}
Codinngan diatas menjelaskan proses untuk tampilkan linked list, dimana n_tampil = n_awal; untuk menampilkan node pertama, node berikutnya sampai node terakhir.

void insert_node(int data){
Penjelasan diatas method untuk insert node baru

     struct SNode *n_insert;
     n_insert = (struct SNode *)malloc(sizeof(struct SNode));;
     n_insert -> data = iterasi;
     n_insert -> next = NULL;

Penjelasan codingan diatas adalah node baru yang akan di insert, Kemudian node tersebut di iterasikan sampai node terakhir.

     if (n_awal == NULL){
      
        n_awal = n_insert;
      
     } else {
          
          struct SNode *n_bantu; // untuk bantuan mencari node terakhir
          n_bantu = n_awal;

while (n_bantu -> next != NULL){
                n_bantu = n_bantu -> next;   
          }
Codingan diatas menjelaskan jika kondisi linked list masih kosong maka struct SNode *n_bantu; Maka akan dibanbantu mencari node terakhir sampai selesai.

   
          if(n_bantu -> next == NULL)
          {
              n_bantu -> next = n_insert;
          }
     }
}
Penjelasan diatas hubungkan node terakhir dengan node baru.

int main(int argc, char *argv[])
{
    inisialisasi();
   
    for(iterasi = 1; iterasi <= 5; iterasi++)
    {
        insert_node(iterasi);
    }
 
    tampil_list();
 
    system("PAUSE");
    return 0;
}
Penjelasan codingan diatas adalah, bahwa batas untuk menampilkan node dimulai dari 1 sampai 5.


Plagiarisme :

Link github : https://github.com/vinarangkuti/LinkedList
Link youtube : https://youtu.be/m9HJ8dCkp9M


NAMA : ERVINA SAHRATI RANGKUTI
KELAS : D4 TI 2D
NPM : 1144034

Terimahkasih telah membaca, semoga bermamfaat.

0 komentar: