LAPORAN PRAKTIKUM
MODUL 10
STUKTUR DATA
LINKED LIST
Diajukan untuk memenuhi tugas sebagai
bahan praktikum
Dosen : Endra Suseno, M.Kom
Disusun oleh :
Egi Legitasari
20160910045
Sistem informasi A 2016
FAKULTAS ILMU KOMPUTER
UNIVERSITAS KUNINGAN
2016
PRAKTIKUM 1
Script Program menggunakan C/C++
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
typedef struct nod
{
int data;
struct nod*next;
}NOD,*NODPTR;
void CiptaSenarai(NODPTR*s)
{
*s=NULL;
}
NODPTR NodBaru(int m)
{
NODPTR n;
n =(NODPTR) malloc(sizeof(NOD));
if(n!=NULL){
n->
data=m;
n->
next=NULL;
}
return n;
}
void SisipSenarai(NODPTR *s, NODPTR t, NODPTR p)
{
if(p==NULL){
t -> next =*s;
*s =t;
}
else{
t->next=p->next;
p->next=t;
}
}
void CetakSenarai(NODPTR s)
{
NODPTR ps;
for(ps = s; ps!=NULL; ps=ps->next)
printf("%d -->", ps-> data);
printf("NULL\n");
}
int main()
{
NODPTR pel;
NODPTR n;
CiptaSenarai(&pel);
n=NodBaru(55);
SisipSenarai(&pel, n, NULL);
CetakSenarai(pel);
return 0;
}
|
Pembahasan
Program ini yaitu utnuk manmpilkan nilai NUUL dengan
menggunakan Linkedlist, dimana Linkedlist merupakan suatu cara untuk menyimpan
data dengan struktur sehingga programmer dapat secara otomatis menciptakan
suatu tempat baru untuk menyimpan data kapan saja diperlukan. Dalam program ini
terdapat header #include <stdlib.h> yang berfungsi untuk menampilkan
perintah ang berbentuk string yang diubah menjadi double atau integer, atau
berbentuk perpangkatan. Dan ada juga header #include <malloc.h> untuk mengalokasikan memori untuk sebuah
program.
typedef struct nod {
int data;
struct nod * next;
Syntax diatas merupakan variabel linked list dengan
struktur nol, yang berfungsi untuk menggantikan tipe data integer.
Hasil
running
PRAKTIKUM 2
Script Program menggunakan C/C++
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
typedef struct
mahasiswa
{
int nim;
mahasiswa *next;
}*p;
void init(mahasiswa
**p)
{
*p =NULL;
}
mahasiswa
*alokasi(int nim)
{
mahasiswa *p;
p=(mahasiswa*)malloc(sizeof(mahasiswa));
if(p!=NULL)
{
p->next =NULL;
p->nim =nim;
}
return(p);
}
void add(mahasiswa
**p, int nim)
{
*p= alokasi (nim);
printf("%d",(*p)->nim);
}
int main()
{
mahasiswa *head;
init(&head);
add(&head,56);
getch();
return 0;
}
|
Pembahasan
Program ini yaitu untuk menampilkan sebuah NIM dari
mahasiswa dengan menggunakan Linked List.
int
nim;
Mahasiswa
*next;
};
void
init(Mahasiswa **p)
{
*p
= NULL;
}
Syntax diatas yaitu variabel pointer dengan nama mahasiswa. Dengan menginisiasikan
variabel dengan tipe data integer, lalu Mahasiswa *next; berguna untuk otput
nilai selanjutnya.
Hasil running
LATIHAN 1
Script Program menggunakan C/C++
#include<stdio.h>
#include<stdlib.h>
struct node{
/*Mendefiisukan Struktur yang akan dirangkai sebagai queue*/
int data;
struct node
*p;};
/*Mendefinisikan
fungsi untuk menambahkan elemen ke dalam queue
serta
menempatkan pada bagian akhir queue*/
void
TambahElemen(struct node **d,struct node **b,int nilai){
/*Membuat
struktur node baru*/
struct
node*temp;
temp=(struct
node *)malloc (sizeof (struct node));
/*Mendefinisikan
field yang terdapat pada struktur node yang baru dialokasikan*/
temp->data=nilai;
temp->p=NULL;
if (*d == NULL){
*d = temp;
}else {
(*b)->p =
temp;}
*b = temp;}
void HapusElemen
(struct node **d,struct node **b){
struct node
*temp;
if (*d == NULL){
printf("Tidak
terdapat elemen dalam queue");
}else{
temp = *d;
*d = temp->p;
free (temp);
if (*d == NULL){
*b = NULL;
}
}
}
void
TampilkanNilai(struct node *d){
int nilai;
while (d !=
NULL){
nilai =
d->data;
printf("%d\n",nilai);
d = d->p;}
}
int main (void){
struct node
*depan, *belakang;
depan = belakang
= NULL;
TambahElemen(&depan,&belakang,10);
TambahElemen(&depan,&belakang,20);
TambahElemen(&depan,&belakang,30);
TambahElemen(&depan,&belakang,40);
TampilkanNilai(depan);
HapusElemen(&depan,&belakang);
printf("Nilai-Nilai
didalam Queue");printf("Setelah penghapusan Elemen
pertama:\n");
TampilkanNilai(depan);
return 0;}
|
Pembahasan
Program ini yaitu untuk menampilkan antrian angka dan
menampilkan nilai-nilai didalam antrian tersebut setelah dilakukan penghapusan
elemen pertama.
struct
node{ /*Mendefiisukan Struktur yang akan dirangkai sebagai queue*/
int
data;
struct
node *p;};
syntax tersebut merupakan inisisasi variabel dengan
tipe data integer yang diberi nama data. struct node *p;}; merupakan
pendefinisian struktur yang akan dirangkai sebagai queue.
void
TambahElemen(struct node **d, struct node **b, int nilai){
struct
node*temp;
temp=(struct
node *) malloc (sizeof (struct node));
suatu pendefinisian fungsi untuk menambahkan elemen
kedalam antrian serta menempatkan pada bagian akhir antrian. temp=(struct node
*) malloc (sizeof (struct node)); syntax tersebut digunakan untuk menambahkan
struktur node yang baru.
Hasil running
Tidak ada komentar:
Posting Komentar