-->

I'M Bayu Pradika

Graphic Designer . Web Developer . Programmer

Rabu, 24 Agustus 2022

Contoh Percobaan Dan Latihan C++ (Single Linked List 1)

 



A. Contoh Program Mudah Menggunakan Single Linked List Pada C++

Percobaan 1: Implementasikan operasi dasar Single linked list : Menyisipkan sebagai simpul ujung(awal) dari linked list.
Berikut Program nya:
#include <stdio.h>
#define MAX 10
typedef struct {
 int Item[MAX];
 int Front;
 int Rear;
 int Count;
} Queue;
// Inisialisasi antrian
void Inisialisasi(Queue *q)
{
 q->Front = q->Rear = -1;
 q->Count = 0;
}
// Prosedur untuk menyisipkan data pada antrian 
void Tambah(Queue *q, int item)
{
 if (q->Rear == MAX-1)
 {
  printf ("\nAntrian Penuh");
  return ;
 }
 q->Rear++;
 q->Item[q->Rear] = item;
 q->Count++;
 if (q->Front == -1) q->Front = 0;
}
// Prosedur untuk menghapus data dari antrian 
int Hapus(Queue *q)
{
 int data ;
 if (q->Front == -1)
 {
  printf ("\nAntrian Kosong");
  return NULL;
 }
 data = q->Item[q->Front];
 q->Count--;
 if (q->Front == q->Rear)
 q->Front = q->Rear = -1;
 else
 q->Front++;
 return data;
}
void Tampil(Queue *q)
{
 for(int i=0; i<q->Count; i++)
 printf("\nData : %d", q->Item[i]);
}
int main()
{
 Queue q;
 int data;
 Inisialisasi(&q); 
 Tambah(&q,11); 
 Tambah(&q,12); 
 Tambah(&q,13); 
 Tambah(&q,14); 
 Tambah(&q,15); 
 Tambah(&q,16); 
 Tambah(&q,17); 
 Tambah(&q,18); 
 Tambah(&q,19); 
 Tambah(&q,20); 
 Tambah(&q,21); 
 Tampil(&q);
 data = Hapus(&q);
}
Berikut Output Program nya:


Percobaan 2
: Implementasikan operasi dasar Single linked list : Membaca atau menampilkan

Berikut Program nya:
#include <stdio.h>
#define MAX 10
typedef struct {
 int Item[MAX];
 int Front; 
 int Rear; 
 int Count;
} Queue;
// Inisialisasi antrian
void Inisialisasi(Queue *q)
{
 q->Front = q->Rear = -1;
 q->Count = 0;
}
// Prosedur untuk menyisipkan data pada antrian 
void Tambah(Queue *q, int item)
{
 if ((q->Rear == MAX-1 && q->Front == 0) || (q->Rear + 1 ==
 q->Front))
 {
  printf ("\nAntrian Penuh");
  return ;
 }
 if (q->Rear == MAX - 1)
 q->Rear = 0;
 else
 q->Rear++;
 q->Item[q->Rear] = item;
 q->Count++;
 if (q->Front == -1) q->Front = 0;
}
// Prosedur untuk menghapus data dari antrian 
int Hapus(Queue *q)
{
 int data ;
 if (q->Front == -1)
 {
 }
 else
 {
  printf ("\nAntrian Kosong");
  return NULL;
  data = q->Item[q->Front];
  q->Count--;
  if (q->Front == q->Rear)
  q->Front = q->Rear = -1;
  else
  {
   if (q->Front == MAX-1)
   q->Front = 0;
   else
   {
   }
  }
 }
 q->Front++;
 return data;
}
void Tampil(Queue *q)
{
 for(int i=0; i<q->Count; i++)
 printf("\nData : %d", q->Item[i]);
}
int main()
{
 Queue q; int 
 data; 
 Inisialisasi(&q); 
 Tambah(&q,11); 
 Tambah(&q,12); 
 Tambah(&q,13); 
 Tambah(&q,14); 
 Tambah(&q,15); 
 Tambah(&q,16); 
 Tambah(&q,17); 
 Tambah(&q,18); 
 Tambah(&q,19); 
 Tambah(&q,20); 
 Tambah(&q,21); 
 Tampil(&q);
 data = Hapus(&q);
 printf("\nHapus Item = %d ", data);
 data = Hapus(&q);
 printf("\nHapus Item = %d ", data);
 data = Hapus(&q);
 printf("\nHapus Item = %d ", data);
 Tampil(&q);
}

Berikut Output Program nya:


Percobaan 3: Implementasikan operasi dasar Single linked list : Mencari sebuah simpul tertentu. Tambahkan kondisi jika yang dicari adalah data yang paling depan.

#include <stdio.h>
#include <malloc.h>
#include <string.h>
struct node
{
 char Kata[50];
 struct node *next;
};
struct node *head = NULL;
struct node *baru = NULL;
struct node* buatsimpul() 
{
 struct node *temp;
 temp = (struct node*)malloc(sizeof(struct node));
 if(head == NULL) 
 {
  temp->next = NULL;
  head = temp;
 }
 else if (head != NULL) 
 {
 temp->next = head;
 head = temp;
 }
 printf("Kata Kata : ");
 scanf("%s", temp->Kata);
 return temp;
}
void printList(struct node *a) 
{
 printf("\n");
 node *p = a;
 while (p != NULL)
 {
  printf("%s ", p->Kata);
  p = p->next;
 }
}
void printNode(struct node *a) 
{
 node *p = a;
 printf("%s ", p->Kata);
}
void printCari(struct node *a) 
{
 node *p = a;
 printf("\n%s ditemukan di dalam linked list. ", p->Kata);
}
struct node* Cari() 
{
 struct node *cari;
 char query[50];
 printf("\nInput data yang ingin dicari : ");
 scanf("%s", query);
 cari = head;
 while (strcmp(cari->Kata, query) != 0)
 {
  cari = cari->next;
  if (cari == NULL)
  { 
   printf ("\n%s tidak dapat ditemukan di dalam list\n", query);
   break;
  }
  return cari;
 }
 
}
int main() 
{
 printf("Program Operasi Mencari suatu kata tertentu\n");
 printf("Silahkan input 4 kata kata untuk list nya \n");
 head = buatsimpul();
 baru = buatsimpul();
 baru = buatsimpul();
 baru = buatsimpul();
 struct node *cari;
 printList(head);
 cari = Cari();
 printCari(cari);
 printf("\n");
 return 0;
}







Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna Veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.

0 comments:

Categories

Contact Us

BAYU
+62 896-2690-9619
Kampar, Riau, Indonesia