Categories

Site Info

free counters
24.12.10

Struktur Data

PENGANTAR STRUKTUR DATA

Bagaimana cara mengatasi masalah implementasi data dengan Komputer?
• Pemahaman masalah secara menyeluruh dan persiapan data
• Keputusan operasi-operasi yang dilakukan terhadap data
• Penyimpanan data-data pada memori sehingga tersimpan dan terstruktur secara logis, operasinya efisien
• Pengambilan keputusan terhadap bahasa pemrograman mana yang paling cocok untuk jenis data yang ada

Perbedaan antara Tipe Data, Obyek Data dan Struktur Data
Tipe data adalah jenis data yang ditangani oleh suatu bahasa pemrograman pada komputer.
Tiap-tiap bahasa pemrograman memiliki tipe data yang memungkinkan:


• Deklarasi terhadap variabel tipe data tersebut
• Menyediakan kumpulan operasi yang mungkin terhadap variabel bertipe data tersebut
• Contoh tipe data di Pascal?C? Java? .NET?

Obyek Data adalah kumpulan elemen yang mungkin untuk suatu tipe data tertentu.
Contohnya : integer mengacu pada obyek data -32768 s/d 32767, byte 0 s/d 255, string adalah kumpulan karakter maks 255 huruf

Struktur Data adalah cara penyimpanan dan pengorganisasian data-data pada memori komputer maupun file pada media penyimpanan secara efektif sehingga dapat digunakan secara efisien, termasuk operasi-operasi di dalamnya.

Di dalam struktur data kita berhubungan dengan 2 aktivitas:
• Mendeskripsikan kumpulan obyek data yang sah sesuai dengan tipe data yang ada
• Menunjukkan mekanisme kerja operasi-operasinya
Contoh: integer (-32768 s/d 32767) dan jenis operasi yang diperbolehkan adalah +, -, *, /, mod, div, dsb.
• Struktur data = obyek data + [operasi manipulasi]

Dengan pemilihan struktur data yang baik, maka problem yang kompleks dapat diselesaikan dengan algoritma yang dapat digunakan secara efisien, operasi-operasi penting dapat dieksekusi dengan sumber daya yang lebih kecil, memori lebih kecil, dan waktu eksekusi yang lebih cepat.

Ciri algoritma yang baik menurut Donald E.Knuth:
• Input: ada minimal 0 input atau lebih
• Ouput: ada minimal 1 output atau lebih
• Definite: ada kejelasan apa yang dilakukan
• Efective: langkah yang dikerjakan harus efektif
• Terminate: langkah harus dapat berhenti (stop) secara jelas

Tidak semua struktur data baik dan sesuai. Contoh untuk problem data bank, problem pengurutan dan pencarian data berbeda.

Tipe Data Bentukan
Bahasa pemrograman bisa memiliki tipe data:
• Built-in : sudah tersedia oleh bahasa pemrograman tersebut
o Tidak berorientasi pada persoalan yang dihadapi.
• UDT : User Defined Type, dibuat oleh pemrogram.
• Mendekati penyelesaian persoalan yang dihadapi
Contoh: record pada Pascal, struct pada C, class pada Java

Bahasa Pascal memiliki tipe data numerik dan karakter (seperti integer, real, char dan lain-lain). Disamping itu juga memiliki tipe data enumerasi dan structure. Bagaimana jika kita ingin membuat tipe data baru?
Untuk pembuatan tipe data baru digunakan keyword Type =
Contoh:

Record
Record adalah tipe data bentukan yang berisi kumpulan variabel-variabel yang bernaung dalam satu nama yang sama dan memiliki kaitan satu sama lain.
Berbeda dengan array hanya berupa kumpulan variabel yang bertipe data sama, Record bisa memiliki variabel-variabel yang bertipe data sama atau berbeda, bahkan bisa menyimpan variabel yang bertipe data array atau Record itu sendiri.
Variabel-variabel yang menjadi anggota Record disebut dengan elemen Record.

Ilustrasi Record
Record bisa diumpamakan sebagai sebuah obyek, misalnya: obyek Mahasiswa
Record Mahasiswa memiliki property atau atribut atau variabel yang melekat padanya:
• NIM yaitu karakter sejumlah 8
• Nama yaitu karakter sejumlah 50
• IPK yaitu bilangan pecahan
Record tidak memiliki operasi (method) atau function.
Record dapat digunakan dengan cara membuat variabel yang bertipe Record tersebut.
Misalnya : variabel anton bertipe Record Mahasiswa variabel erick bertipe Record Mahasiswa
Dengan demikian variabel Data memiliki NIM, Nama, dan IPK masing-masing


Pendeklarasian dan penggunaan Record (1) (menggunakan Type)
type Mahasiswa = record
NIM : string[8];
Nama : string[50];
IPK : real;
end;
//untuk menggunakan Record Mahasiswa dengan membuat variabel mhs dan mhs2 :
Var mhs,mhs2 : Mahasiswa

//untuk menggunakan Record Mahasiswa dengan membuat variabel array m
var m : array [1..100] of Mahasiswa;

Pendeklarasian dan penggunaan Record (2) (tanpa menggunakan typedef)
type Mhs = record
NIM : string[8];
Nama : string[50];
IPK : real;
end;

Berarti kita sudah mempunyai variabel mhs yang bertipe data Record seperti
diatas.

Cara penggunaan Record dan pengaksesan elemen-elemennya
• Penggunaan/pemakaian tipe data Record dilakukan dengan membuat suatu variabel yang bertipe data Record tersebut
• Pengaksesan elemen Record dilakukan secara individual dengan menyebutkan nama variabel Record diikuti dengan operator titik (.)
• Misalnya dengan Record mahasiswa seperti contoh di atas, kita akan akses elemen-elemennya seperti contoh berikut:



0 komentar:

About Me

Blog Archive

Blog_Friend's

Annox