Minggu, 26 Februari 2017

STRUKTUR DATA

PENGERTIAN STRUKTUR DATA
Struktur data adalah cara menyimpan atau
merepresentasikan data di dalam komputer 
agar bisa dipakai secara efisien Sedangkan
data adalah representasi dari fakta dunia nyata.
Fakta atau keterangan tentang kenyataan yang
disimpan, direkam atau direpresentasikan dalam
bentuk tulisan, suara, gambar, sinyal atau simbol
Secara garis besar type data dapat dikategorikan
menjadi :
1. Type data sederhana
a. Type data sederhana tunggal, misalnya
Integer, real, boolean dan karakter
b. Type data sederhana majemuk, misalnya
String
2. Struktur Data, meliputi
a. Struktur data sederhana, misalnya array dan record
b. Struktur data majemuk, yang terdiri dari
Linier         : Stack, Queue, serta List dan 
                    Multilist
Non Linier : Pohon Biner dan Graph
Pemakaian struktur data yang tepat di dalam
proses pemrograman akan menghasilkan
algoritma yang lebih jelas dan tepat, sehingga
menjadikan program secara keseluruhan lebih efisien
dan sederhana.
Struktur data yang standar yang biasanya digunakan
dibidang informatika adalah :
 1. List linier (Linked List) dan variasinya
 2. Multilist
 3. Stack (Tumpukan)
 4. Queue (Antrian)
 5. Tree ( Pohon )
 6. Graph ( Graf )

 PENGULANGAN ARRAY (LARIK)
Larik adalah struktur data statik yang
 menyimpan sekumpulan elemen yang bertipe sama,
Setiap elemen diakses langsung melalui indeksnya.
Indeks larik harus tipe data yang menyatakan
  keterurutan misalnya integer ata.
 Banyaknya elemen larik harus sudah diketahui
sebelum program dieksekusi.
Tipe elemen larik dapat berupa tipe sederhana,
  tipe terstruktur atau tipe larik lain.
 Nama lain array adalah Larik, tabel atau v.
 
ADT (Abstract Data Type)
ADT adalah definisi type dan sekumpulan
primitif (operasi dasar) terhadap type
tersebut.
Type diterjemahkan menjadi type terdefinisi dalam bahasa
pemrograman yang bersangkutan, misalnya menjadi record
dalam pascal/ada dan struct dalam bahasa C.
Primitif dalam konteks pemrograman prosedural, diterjemahkan
menjadi fungsi dan prosedur. 
Primitif dikelompokkan menjadi :
1. Konstruktor/Kreator, pembentuk nilai
type. Biasanya namanya diawali dengan Make.
2. Selektor, untuk mengakses komponen type.
Biasanya namanya diawali dengan Get
3. Prosedur Pengubah nilai komponen
4. Validator komponen type, yang dipakai untuk mengetes 
 apakah dapat membentuk type sesuai batasan.
5. Destruktor/Dealokator, yaitu untuk menghancurkan nilai objek, 
sekaligus memori penyimpannya
6. Baca/tulis, untuk interface dengan input/output device
7. Operator Relasional terhadap type tersebut untuk mendefinisikan
    lebih besar, lebih kecil, sama dengan dan sebagainya.
8. Aritmatika terhadap type tersebut, dalam pemrograman 
   biasanya hanya terdefinisi untuk bilangan numerik.
9. Konversi dari type tersebut ke type dasar dan sebaliknya.

ADT biasanya diimplementasi menjadi dua buah
modul, yaitu :
1. Definisi/spesifikasi type dan primitif
- Spesifikasi type sesuai dengan bahasa yang dipakai
- Spesifikasi dari primitif sesuai dengan kaidah
dalam konteks prosedural, yaitu :
a. Fungsi
: nama, domain, range, dan pre kondisi jika ada
b. Prosedur
: Keadaan Awal, Keadaan Akhir dan proses yang dilakukan
2. Body/realisasi dari primitif, berupa kode program dalam
bahasa yang bersangkutan. Realisasi fungsi dan prosedur
harus sedapat mungkin memanfaatkan Selektor dan Konstruktor
Linked List (List Linier)
linked list adalah elemen bertype sama, yang mempunyai
keterurutan tertentu, yang setiap elemennya terdiri dari 2 bagian.
Jenis-jenis Struktur Data

1. Struktur Data Statis
       Apa yang dimaksud dengan struktur data statis ini? 
Struktur data statis adalah struktur data yang kebutuhan 
memorinya tetap/fixed selam program dijalankan. 
Hanya saja jenis struktur data ini yang saya ketahui 
mempunyai dua kelemahan, yaitu kebutuhan memori terbatas
sesuai definisi larik/array nya. Dan kelemahan selanjutnya 
adalah kebutuhan memori tidaklah fleksibel.
       Tapi tenang saja, setiap kelemahan pasti ada kelebihan.
Struktur data statis yang saya ketahui memiliki tiga macam 
keuntungan. Pertama, pemrograman relatif mudah, tentu  hal ini 
cocok untuk para pemula seperti saya. Kedua, pemrograman praktis,
 waduh bisa diperhitungkan untuk dicoba dong bagi para pemula. 
Dan yang ketiga pemrogramannya sederhana, nah guys cocok 
banget kan untuk para pemula atau newbie.

2. Struktur Data Dinamis
     Seperti biasa, jika ada kata statis tentu ada temannya dinamis,
 dan hal ini juga berlaku pada jenis-jenis struktur data. 
Struktur data dinamis adalah struktur data yang bersifat 
dinamis/fleksibel, dalam arti bisa berubah-ubah selama program 
berjalan. Struktur data dinamis diimplementasikan menggunakan 
tipe data pointer (penunjuk alamat memori). Dengan demikian, struktur data dinamis akan memuat dua elemen, yaitu nilai data dan penunjuk 
alamat berikutnya (link pointer).
         
       Seperti jenis struktur data sebelumnya, struktur data jenis ini
 juga memiliki kelemahan dan kelebihannya. Yang pertama 
kita bahas adalah kelemahan, yang saya ketahui kelemahan jenis
 struktur data dinamis ada dua, yaitu pemrogramannya relatif rumit,
tentu hal ini akan dianggap biasa saja bagi yang sudah pro, tapi 
apa kabar yang newbie?. Yang kedua, pemrogramannya tidak 
praktis, sangat berbanding terbalik dengan kelebihan yang 
dimiliki oleh jenis struktur data statis yang pemrogramannya 
raktis. Untuk kelebihannya, yang saya tau juga ada dua, yaitu 
kebutuhan memori lebih efisien dan fleksibel, jelas cocok 
nih guys untuk mengatasi masalah pada memori yang dialami jika
menggunakan jenis struktur data statis.

 Sumber refrensi :

1. Inggriani Liem. 1997.
    Diktat Kuliah Algoritma dan
    Pemrograman Prosedural. Bandung : ITB
2. Inggriani Liem. 2003.
    Diktat Kuliah Struktur Data. Bandung : ITB
3. Rinaldi Munir. 2003. Algoritma dan Pemrograman II.
    Bandung : Penerbit Informatika
 4.  Bambang Wahyudi. 2004.
    Struktur Data dan Algoritma. Yogyakarta : Andi Offset
5. Dwi Sanjaya. 2001.
     Bertualang dengan Struktur Data di
    Planet Pascal. Yogyakarta : JJ Learning
6. P. Insap Santoso.1997.
    Struktur Data dengan Turbo
    Pascal. Yogyakarta : Andi Offset

2 komentar:

  1. Live Roulette, Blackjack, Baccarat, Baccarat, Poker, Roulette,
    Live Roulette, Blackjack, Baccarat, Poker, 카지노사이트luckclub Roulette, Poker, Roulette, Roulette, Roulette, Poker, Roulette, Poker, Roulette, Poker,

    BalasHapus
  2. Lucky Club Casino Site: Online Sports Betting, Poker
    Play online casino games such as slots, poker, blackjack, roulette, keno, and bingo in Lucky Club Casino! Deposit and withdraw your welcome 카지노사이트luckclub bonus.

    BalasHapus