Diberdayakan oleh Blogger.

Selasa, 17 April 2018

Farid Savarudin

Tree Structure

Berikut Materi mengenai Struktur data Tree


 
Read More
Farid Savarudin

Single Linked List di C++

Apa itu Linked list ? 
     Linked list adalah sejumlah simpul (node) yang dikaitkan dengan simpul yang lain dengan bantuan pointer dalam suatu urutan tertentu. Suatu linked list dikatakan single linked list apabila hanya ada satu pointer yang menghubungkan setiap node (satu arah “next”).

Single linked list dapat dibagi menjadi:
Single linked list non circular
Single Linked List yang pointer next pada node terakhir(tail) -nya menunjuk ke Null.
1. Deklarasi node dengan struct pada single linked list:
struct tnode
{
      int data;
      struct tnode *next;
}
Gambar Sebuah Node pada Single Linked List
2. Deklarasi node untuk beberapa keperluan, seperti berikut ini:
struct tnode *head=NULL, *curr=NULL, *node=NULL; 

3. Membuat elemen pertama dan menambahkan elemen di belakang Single Linked List


Single Linked List Circular:
Single Linked List yang pointer next-nya menunjuk ke dirinya sendiri, jika terdiri dari beberapa node maka pointer terakhirnya(tail) akan menunjuk ke pointer terdepannya(head).
1. Deklarasi Single Linked List Circular:
struct tnode
{
     int data;
     tnode *next;
};
void main()
{
     head = new tnode;
     head->next = head;
}


2. Menambah node dan membuat tail dari single linked list circular
Deklarasi penambahan node baru:
void main()
{
     node = new tnode;
     tail = new tnode;


     //head->next di bawah ini "masih" menunjuk ke head itu sendiri 

     //jadi, kode di bawah ini maksudnya node->next menunjuk ke head
     node->next = head->next;


     //baru di sini head->next diubah menunjuk ke node

     //hasilnya akan seperti "Gambar 6"
     head->next = node;
     tail = node;
}
Gambar Penambahan Node Baru

3. Deklarasi menyisipkan node baru menggunakan sintak berikut:
void main()
{
     node = new tnode;
     node->next = head->next;
     head->next = node;
}
Gambar Menyisipkan Node Baru

4. Deklarasi menghapus node dari single linked list circular, menggunakan sintaks berikut:
void main()
{
     hapus = new tnode;
     if( head != tail)
     {
           hapus = head;
           head = head->next;
           tail->next = head;
           delete hapus;
     }else
     {
           head = NULL;
           tail = NULL;
     }
}
Gambar Menghapus Node dari SLLC

Contoh Program Single linked list :

Read More
Farid Savarudin

Struct Pada Pemrograman C++

Struct atau record adalah kumpulan data yang memiliki tipe data yang berbeda. Secara pendeklarasian, struct sangat berbeda dengan array yang hanya memiliki satu buah tipe data untuk setiap kumpulannya. Struct digunakan apabila data yang ingin dikelompokkan memiliki tipe data yang berbeda. Pendeklarasian struct sebagai berikut:


stuct data_mahasiswa
{
   long int nim;
   char nama[100];
   char fakultas[100];
};
data_mahasiswa mahasiswa1, mahasiswa2;

Deklarasi di atas merupakan suatu tipe data yang bernama data_mahasiswa di mana setiap data yang akan dideklarasikan menggunakan tipe data data_mahasiswa akan mempunyai field nim, nama, dan fakultas. Untuk dapat menggunakan tipe data tersebut sebuah variabel harus dideklarasikan menggunakan nama struct nya. Bentuk umum pendeklarasian variabel struct nya adalah sebagai berikut:
1
struct data_mahasiswa mahasiswa1, mahasiswa2;
Deklarasi dua variabel di atas ada dua variabel bernama Mahasiswa1 dan Mahasiswa2 setiap variabel tersebut mempunyai field sesuai dengan data_mahasiswa.
Selain dekalrasi variabel ada hal yang harus diperhatikan yaitu cara untuk mengisi dan memanggil nilai yang ada di dalam sebuah struct, yaitu sebagai berikut:
1
2
3
4
5
//Untuk mengisi nilai struct
cin>>mahasiswa1.nim;
 
//Untuk memanggil nilai struct
cout<<mahasiswa1.nim<<endl;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
using namespace std;
 
//Deklarasi struct
struct data_mahasiswa
{
    long int nim;
    char nama[100];
    char fakultas[100];
};
 
//Deklarasi variabel struct
data_mahasiswa mahasiswa1, mahasiswa2;
 
int main()
{   
    //Input struct data mahasiswa
    cout<<" Data Mahasiswa Pertama\n";
    cout<<"-----------------------\n";
    cout<<" NIM      : "; cin>>mahasiswa1.nim;
    cout<<" Nama     : "; fflush(stdin); gets(mahasiswa1.nama);
    cout<<" Fakultas : "; fflush(stdin); gets(mahasiswa1.fakultas);
    cout<<"\n\n";
    cout<<" Data Mahasiswa Kedua\n";
    cout<<"-----------------------\n";
    cout<<" NIM      : "; cin>>mahasiswa2.nim;
    cout<<" Nama     : "; fflush(stdin); gets(mahasiswa2.nama);
    cout<<" Fakultas : "; fflush(stdin); gets(mahasiswa2.fakultas);
    cout<<"\n\n";
 
    //Output struct data mahasiswa
    cout<<" Data Mahasiswa Pertama\n";
    cout<<"-----------------------\n";
    cout<<" NIM      : "<<mahasiswa1.nim<<endl;
    cout<<" Nama     : "<<mahasiswa1.nama<<endl;
    cout<<" Fakultas : "<<mahasiswa1.fakultas<<endl;
    cout<<"\n\n";
    cout<<" Data Mahasiswa Kedua\n";
    cout<<"----------------------\n";
    cout<<" NIM      : "<<mahasiswa2.nim<<endl;
    cout<<" Nama     : "<<mahasiswa2.nama<<endl;
    cout<<" Fakultas : "<<mahasiswa2.fakultas<<endl;
    cout<<"\n\n";
    getch();
}

Read More