Selasa, 03 November 2015

Struktur Data dan Algoritma



            Struktur data adalah susunan atau bagian data yang dapat diinterprestasikan sehingga operasi pada data tersebut dapat diselesaikan, dengan tujuan agar data mudah diakses, mudah dieksekusi, dan operasi yang digunakan hanya menggunakan sedikit memory(space used).
            Algoritma adalah langkah perhitungan dasar yang dituangkan dalam program yang semu.
Berikut adalah beberapa jenis struktur data, antara lain:
1.        Array
Kelebihan : penambahan data pada bagian belakang dapat dilakukan dengan mudah.
Kekurangan : memiliki ukuran yang tetap, penghapusan lambat dan pencariannya membutuhkan waktu yang lama.
2.        Array terurut
Kelebihan : pencarian jauh lebih cepat dibandingkan array yang tidak terurut.
Kekurangan : memiliki ukuran yang tetap, penghapusan lambat, dan penyisipannya lama.
3.        Tumpukan (stuck)
Kelebihan : penambahan data dilakukan dengan cepat dan akses data yang terakhir kali dimasukkan dapat dilakukan dengan cepat atau LIFO (Last In First Out).
Kekurangan : penghapusan dan pencarian data lama.
4.        Antrian
Kelebihan : data yang pertama kali masuk mudah diakses atau FIFO (First In First Out).
Kekurangan : akses terhadap data lainnya lama.
5.        Senarai berantai
Kelebihan : penyisipan dan penghapusan data dapat dilakukan dengan mudah.
Kekurangan : pencarian data lama.
6.        Pohon biner
Kelebihan : pencarian dan penyisipan data dapat dilakukan dengan mudah.
Kekurangan : penghapusan data dilakukan dengan kompleks.
7.        Tabel hash
Kelebihan : akses data dapat dilakukan dengan cepat apabila kunci telah diketahui, dan penyisipan dapat dilakukan dengan cepat.
Kekurangan : algorima penghapusan data ada yang sederhana dan ada yang kompleks, akses data akan berjalan pelan apabila kunci tidak diketahui.

Pencarian terbagi atas 2 macam yaitu:
1.        Linier Search (data yang tidak terurut)
2.        Binary Search (data yang terurut)
Contoh:
n = 1024
Linier Search                                       Binary Search
T(n) = 1024                                        Tn   = 2log n + 1
                                                                   = 2log 1024 + 1
                                                                   = 2log 210 + 1
                                                                   =11

Tipe Data dan Struktur Data
Setiap data memiliki tipe data. Tipe data yang tepat dan menjadikannya sebuah program yang dapat dieksekusi (running) ditentukan secara efektif. Simbol-simbol yang digunakan si komputer terdiri atas: huruf, angka, dan tanda baca lainnya. Simbol-simbol ini merupakan elemen dari data dan memiliki tipe data.
Pada umumnya tipe data terdiri atas:
a.         Karakter (tunggal), teks atau string (majemuk)
b.        Numerik



Cahya Aisyah Rahman (142406037)

Array



Array adalah struktur data yang paling sederhana yang merupakan kumpulan variabel yang memiliki tipe data yang sama dan nama yang sama.

Jenis-jenis karakteristik array antara lain:
a.         Hubungan antar elemen adalah linier
b.        Penempatan pada memory secara fisik maupun logik sama
c.         Selalu terdiri dari indeks dan komponen dengan hubungan satu ke satu (one to one)
d.        Semua komponen mempunyai tipe yang sama
e.         Cara pengaksesan data sama.

Pendeklarasian array yaitu : 
tipe_data nama_array [panjang_karakter];

Keterangaan:  
-            tipe data menyatakan tipe data yang digunakan (int, char, string, dan lainnya)
-            nama array menyatakan variabel atau simbol yang digunakan
-            panjang karakter menyatakan maksimal jumlah elemen array.

Contoh:
·           int x[5];  à artinya variabel x adalah kumpulan data yang terdiri dari 5 bilangan yang bertipe integer.
·           int x[5] = {3, 5, 0, 2, 7};  à artinya nilai dari variabel x dimasukkan secara langsung.
·           int x[5] = {0};  à artinya dekalarasi variabel x langsung mengisi setiap lokasi memory dengan 0.



Array 1 Dimensi


            Array 1 dimensi merupakan sebuah variabel yang menyimpan sekumpulan data yang memiliki jenis data yang sama dan elemen yang akan diakses hanya melalui 1 index.

Berikut merupakan contoh program array 1 dimensi dengan cara menginputkan 5 usia siswa:
#include<iostream>
using namespace std;

main()
{
    int i, umur[5];

    for(i=0;i<5;i++)
    {
        cout<<"Usia ";
        cin>>umur[i];
    }

    cout<<endl<<"Data Usia Siswa : "<<endl;
    for(i=0;i<5;i++)
    {
        cout<<"Siswa "<<i<<" Usia = "<<umur[i]<<endl;
    }
}

Penjelasan program di atas:
·         Pada baris int i, umur[5]; artinya mendeklarasikan nama array dengan umur yang memiliki panjang karakter sebanyak 5.
·        umur[i] artinya intruksi untuk memasukkan angka yang akan diinputkan ke dalam array pada saat program dijalankan.

Berikut merupakan output dari program diatas:





Cahya Aisyah Rahman (142406037)