BLOGGER TEMPLATES AND TWITTER BACKGROUNDS

Kamis, 25 Februari 2010

Struktur Data

Struktur Data, yaitu
 Kelompok item data yang terorganisasi yang dianggap sebagai suatu unit
 Disebut juga sebagai jenis data kompleks (complex data type) atau data aggregates
 Beberapa struktur data :
* Array (larik)
* String
* Record
* List (daftar)
* Tree
Suatu struktur data adalah suatu koleksi atau kelompok data yang dapat dikarakterisasikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pengertiannya : struktur data adalah kumpulan elemen data (mulai dari byte) yang ditentukan tipe datanya, diorganisasi (dibentuk, disusun, atau dikelompokkan) dan akan diproses sesuai dengan tipe datanya. Struktur data sangat penting dalam sistem komputer. Terhadap setiap variabel di dalam program, secara eksplisit ataupun implisit, didefinisikan struktur data yang akan menentukan operasi yang berlaku terhadap variabel tersebut. Struktur data yang dibicarakan ini merupakan struktur data logika. Bukan penyajian secara fisik pada storage (memori komputer).
Struktur data, meliputi:
1. Struktur data sederhana, misalnya array dan record
2. Struktur data majemuk, terdiri atas:
2.1. Linear, misalnya stack, queue, serta linear linked list.
2.2. Nonlinear, misalnya pohon binar (binary tree), pohon cari binar (binary search tree), pohon cari m-way (m-way search tree), general tree, serta graph.

Tipe Data
1. INTEGER
Yang dimaksud dengan integer adalah bilangan bulat .., -3, -2, -1, 0, 1, 2, 3, … Ia tidak mengandung pecahan dan biasanya disajikan dalam memori komputer sebagai angka bulat. Di dalam aritmetika komputer, integer tersebut mudah untuk disajikan dan diproses.
Besarnya nilai angka yang dapat diterima komputer adalah : -2N-1 hingga 2N-1-1.
Di sini N merupakan jumlah bit di dalam komputer yang bersangkutan. Untuk
komputer 32 bit misalnya, batasannya adalah = -2.147.483.648 hingga
2.147.483.647.
OPERASI DALAM INTEGER
Pada integer dapat dilaksanakan operasi penambahan, pengurangan, perkalian, dan pembagian integer (DIV), serta pemangkatan. Semua operasi di atas bekerja terhadap inteder (disebut operand), karenanya operasi disebut operasi binar. Selain itu dikenal operator unar, yaitu operator yang hanya mempunyai satu operand. Negasi misalnya, adalah contoh dari operator unar.
Hasil dari pembagian integer DIV, adalah sebuah integer, yang diperoleh dengan menghilangkan bagian pecahan dari hasil pembagian. Misalnya 13 DIV 3 = 4. Selain itu dikenal pula operasi modulo (MOD). Operasi ini hasilnya didefinisikan sebagai sisa dari pembagian. Misalnya 17 MOD 7 adalah 3. Jika hasil dari suatu proses aritmetika berada di luar jangkauan kemampuan komputer, maka akan terjadi overflow error dan hasil akan menjadi tidak menentu.
2. BILANGAN REAL
Data numerik yang bukan termasuk integer, seperti bilangan pecahan dan bilangan tak rasional, digolongkan dalam jenis data real. Jenis data real ditulis menggunakan titik (atau koma) desimal. Contohnya 3.26 43.00 -131.128, dan sebagainya.
Jika di dalam pemrograman, sebuah variabel dinyatakan sebagai bilangan real, tidaklah tertutup kemungkinan bahwa ia bernilai sebuah integer (misalnya variable real Q memenuhi Q = Sqrt(X), untuk X = 9, nilai Q adalah 3, suatu nilai real yang sebenarnya adalah integer). Deklarasi suatu variabel secara berlainan, salah satu maksudnya adalah untuk menaikkan lingkup, dan ketepatan komputasi.
Bilangan real dimasukkan ke dalam memori komputer memakai sistem floating point, merupakan versi yang disebut notasi ilmiah atau scientific notation. Di sini penyajian terdiri atas dua bagian: mantissa (pecahan) dan indeks, yang disebut eksponen atau karakter yang menetapkan tempat dari titik radix terhadap digit tersebut.
3. ARITMETIKA CAMPURAN
Jika di dalam suatu bahasa pemrograman diperbolehkan memakai cara berhitung dengan aritmetika campuran, maka nilai-nilai numerik yang berbeda jenisnya dapat dicampur di dalam suatu ekspresi. Di sini integer, konstanta dan variabel real dapat digunakan bersama. Hal tersebut berarti bahwa terjadi konversi angka dari integer menjadi real dan sebaliknya.
Konversi tersebut dikerjakan secara otomatis, yakni atas perintah dari perangkat operasional yang mendukungnya seperti perangkat kompilator (compiler). Hanya dengan mengubah penyajian, maka konversi dari integer menjadi real akan kelihatan oleh pemrogram yang bersangkutan.
Konversi tersebut dapat dilaksanakan dengan dua cara:
1. Melalui pemotongan, yakni menghilangkan pecahan dari angka real yang bersangkutan;
2. Melalui pembulatan kepada angka integer yang terdekat.
Pembulatan tersebut dapat dinyatakan di dalam algoritma sebagai berikut:
if x > = 0.5
then
begin
x = x + 0,5;
bulatkan x
end
else
begin
x = x - 0.5;
Para pemrogram harus berhati-hati sekali sewaktu menggunakan sistem aritmatika campuran. Mereka harus melaksanakan konversi tersebut, atau memperhatikan bagaimana proses tersebut dilaksanakan secara otomatis.
4. BILANGAN KOMPLEKS
Suatu bilangan kompleks mempunyai bentuk umum a + bi. Di sini a dan b adalah bilangan real, i adalah satuan khayal.÷-l (baca: akar minus satu). Jika tersedia sebagai tipe data, maka bilangan kompleks biasanya disajikan dalam dua kata yang berisi bagian real (yakni a), dan bagian imaginernya (yakni b). Setiap bagian merupakan
sebuah bilangan real, dinyatakan dalam floating-point.
5. BILANGAN PRESISI GANDA (DOUBLE PRECISION)
Di dalam beberapa bahasa pemrograman, bilangan presisi ganda tersedia dalam bentuk tipe data, dan merupakan suatu bentuk khusus dari bilangan real. Bilangan presisi ganda di dalam floating-point dinyatakan sebagai dua kata.
6. TIPE DATA BOOLEAN ATAU LOGIKAL
Suatu variabel boolean atau logikal hanya dapat berisikan nilai true atau false, yang kerapkali dinyatakan pula sebagai 1 dan 0. Oleh karena itu sebuah Satuan Data dapat cukup berisi satu bit saja.
Operator pada type ini berlainan dengan operator pada type integer, yaitu operator and, or, and not. Disini and dan or adalah operator binar, sedangkan not adalah operator unar. Dalam urutan operasi, not mendapat prioritas pertama dibandingkan and dan or. Kecuali bila diberi tanda kurung. Misalnya ‘’A and not B’’. Di sini ‘’not B’’ dikerjakan lebih dahulu, baru kemudian ‘’A and’’ terhadap hasil ‘’not B’’ tersebut.
Berikut ini tabel dari ketiga operator logikal tersebut:

Tabel 1.1
Operator Logika
NOT
NILAI OPERAND NOT
True True
False false

AND
NILAI OPERAND 1 NILAI OPERAND 2 AND
True True True
True False False
False True False
False False False

OR
NILAI OPERAND 1 NILAI OPERAND 2 OR
True True True
True False True
False True True
false false False

Nilai true dan false dapat juga dihasilkan dari apa yang dikenal sebagai operator relasional atau relational operator (relop). Operator relasional tidak mempunyai operand boolean, tetapi menghasilkan tipe boolean. Operator relasional tersebut adalah:
= sama dengan
< lebih kecil dari
> lebih besar dari
<= lebih kecil atau sama dengan
>= lebih besar atau sama dengan
<> tidak sama dengan
Sebagai contoh: 6 < 12 adalah true
A <> A adalah false
7. TIPE DATA KARAKTER DAN STRING
Tipe lain dari data adalah karakter, yang elemennya merupakan aksara (simbol): (0,1,2,3,4,5,6,7,8,9,A,B,C,D,...,X,Y,Z,,?, ,...) meliputi digit numerik, karakter alfabetik, dan spesial karakter (symbol simbol lain). Karakter merupakan komponen dari string karakter (atau disebut string saja), yang merupakan tipe data yang teramat penting.
Karakter yang dikenal dalam komputer biasanya mencakup:
a. 26 huruf besar dan kecil Latin (atau sesuai dengan huruf yang digunakan di
suatu negara, seperti Cina, Jepang, Arab, dan sebagainya).
b. 10 digit Latin, Arab atau Romawi.
c. Karakter khusus yang dapat dicetak, seperti tanda aritmatik, tanda baca, dan sebagainya.
d. Ruang kosong atau blank
e. Karakter pengendalian (tidak dapat dicetak), seperti pengendalian kursor, dan
sebagainya.
Tipe data majemuk yang terbentuk dari karakter adalah string. Suatu string adalah barisan hingga simbol yang diambil dari himpunan hingga karakter. Himpunan hingga karakter yang digunakan untuk membentuk string dinamakan alfabet. Sebagai contoh, himpunan string yang diturunkan dari alfabet (C,D,1) berisi di antaranya string CD1, C1D, DDC, 111D1, dan seterusnya, termasuk pula string null (empty/ hampa/ kosong). String null biasa dinyatakan dengan . Dapat dicatat bahwa berbeda dengan blank.
String merupakan tipe data yang sangat penting dan sangat luas pemakaiannya. String adalah media dasar, yang dengan tipe data itulah program ditulis dan dimasukkan ke dalam komputer. String juga merupakan media prinsipil dalam pertukaran informasi dengan pemakai (user). String digunakan untuk menyimpan dalam field dari record pada file. String juga digunakan dalam bahasa pemrograman sebagai nama variabel, nama label serta nama prosedur.
Himpunan dari semua string yang mungkin dapat dibentuk dari suatu alfabet, dinamakan vocabulary. Suatu vocabulary V yang dibentuk dari alfabet A dinyatakan sebagai VA atau A*. Jika alfabet A adalah himpunan (0,1), maka string yang terbentuk biasanya dikenal sebagai bit string (binary digit string).
Secara umum, marilah kita nyatakan string S sebagai:
S : a1, a2, ..., aN
dengan setiap a merupakan anggota alfabet A.
Panjang dari string, didefinisikan sebagai banyaknya karakter
pembentuk string tersebut, misalnya sebanyak N karakter. Kita tulis:
|S|= N, atau length(S) = N
Di sini panjang string null, || adalah 0, sedangkan panjang dari blank adalah 1.
Perlu diketahui bahwa operasi yang berlaku terhadap string dapat disebutkan adalah:
* LEN(string), yakni operasi untuk menghitung length atau panjang string.
* CONCATE(S1,S2), yakni concatenation (produk/penyambungan 2 buah string.)
* SUBSTRING, yakni operasi mengambil substring (bagian) dari suatu string.