Pages

LAPORAN PRAKTIKUM STRUKTUR DATA MODUL 10

Senin, 12 Juni 2017

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




LINK POST TEST

Post Test 1

LAPORAN PRAKTIKUM STRUKTUR DATA MODUL 9

LAPORAN PRAKTIKUM
MODUL 9
STUKTUR DATA
QUEUEU

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 <iostream.h>
#include <stdio.h>
#include <conio.h>
void main ()

{
 int cek=0, data [8], x, hapus;
 char pil;

 do {
    clrscr ();
    cout<<"Ujian Praktikum Struktur Data Queue"<<endl;
                 cout<<"  Isi Nama Anda"<<endl;
    cout<<"   Isi Nama Kampus Anda"<<endl;
    cout<<endl;
                 printf("1. Masukan Data Antrian\n");
                 printf("2. Hapus  Data Antrian\n");
                 printf("3. lihat Data Antrian\n");
                 printf("4. Exit Program\n");
                 cout<<endl;
                 printf ("Ketikan Huruf Dari Salah Satu Pilihan Diatas : ");
                 pil=getch();
                 cout<<endl;
if (pil !='1' && pil !='2' && pil !='3' && pil !='4')
                 printf ("\n\nSalah Ketik, Ulangi Lagi...\n");
                 else
                 {
                 if (pil=='1')
                 {
                 if (cek=='8')
                 printf ("\nAntrian Penuh\n");
                 else
                 {
                 printf ("\nMasukan angka ->"); scanf ("%i",&x);
                 data [cek] = x;
                 cek++;
                 }}
                 else {
                 if (pil =='2')
                  {
                  if (cek==0)
                  printf ("\nMaaf Tidak Ada Antrian Untuk Di hapus \n\n");
                                  else
                                  { hapus=data [0];
                                  for (int v=0;v<cek;v++)
                                  data [v] =data [v+1];
                                  data [cek-1]=NULL;
                                  cek--;
                                  cout<<endl;
                                  printf ("Yakin Anda Ingin Data ini Di Hapus??");
                                  cout<<endl;
                                  printf ("\n Data dgn nilai=%i akan terhapus. [Tekan Enter]", hapus);
                                  }
                                  getch  ();
                                  }
                                  else
                                  {
                                  if (pil=='3')
                                  {
                                  if (cek==0)
                                  printf ("\nMaaf Tidak Ada Antrian Untuk Ditampilkan.\n\n");
                                  else
                                  {
                                  printf("\n");
                                  for (int z=0;z<cek;z++)
                                  {
                                  printf (" { ");
                                  printf ("%i", data [z]) ;
                                  printf (" } ");
                                  }
                                  }
                                  getch ();
                                  }
                                  }
                                  }
                                  }
                                  }
                                  while (pil !='y');
                                  cout<<endl;
                                  cout<<endl;
                                                printf("Yakin Anda Ingin Keluar....??  {{{tekan Enter Cak}}}");
                                                pil=getch();
  
Pembahasan
Program ini yaitu untuk menginputkan sebuah data. Kita akan menginputkan angka. Yang dimana nantinya angka tersebut akan di simpan. 


Hasil running




PRAKTIKUM 2

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 didalam antrian tersebut setelah di lakukan penghapusan elemen pertama.
struct node{ /*Mendefiisukan Struktur yang akan dirangkai sebagai queue*/
int data;
struct node *p;};

Penggalan syntax diatas merupakan inisisasi variabel dengan tipe data integer yang diberi nama data. struct node *p;}; merupakan pendefinisian struktur yang akan dirangkai sebagai queue.


Hasil running







LINK POST TEST 

 
FREE BLOGGER TEMPLATE BY DESIGNER BLOGS