Rabu, 24 Februari 2010

jenis-jenis data

A. Definisi Data dan Struktur data

- Definisi Data

Beberapa definisi tentang data dari sudut pandang yang berbeda-beda:

* Menurut berbagai kamus bahasa Inggris-Indonesia, data diterjemahkan sebagai istilah yang berasal dari kata “datum” yang berarti fakta atau bahan-bahan keterangan.

* Dari sudut pandang bisnis, data bisnis (business data) adalah deskripsi organisasi tentang sesuatu(resources) dan kejadian (transactions) yang terjadi (business data is an organization’s description of things (resources)and events (transactions) that it faces).

* Data adalah deskripsi dari sesuatu dan kejadian yang kita hadapi.

* Data adalah kenyataan yang menggambarkan suatu kejadian-kejadian dan kesatuan nyata. Kejadian adalah sesuatu yang terjadi pada saat tertentu. Kesatuan nyata adalah berupa suatu objek nyata seperti tempat, benda dan orang yang betul-betul ada dan terjadi.

- Definisi 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

Type data sederhana

- Type data sederhana tunggal, misalnya :

Integer, real, boolean,dan karakter

- Type data sederhana majemuk, misalnya :

String

Struktur Data, meliputi

- Struktur data sederhana, misalnya array dan Record

Struktur data majemuk, yang terdiri

- 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

- ADT , Array , Struk

- List linier (Linked List) dan variasinya

- Multilist

- Stack (Tumpukan)

- Queue (Antrian)

- Tree ( Pohon )

- Graph ( Graf )

B.Tipe-tipe Data

Secara sederhana tipe data dapat didefinisikan dengan istilah tempat untuk menentukan pemberian nilai terhadap suatu variabel sesuai atau tidak dengan nilai yang diberikan oleh user. Dalam versi lain tipe data juga diartikan sebagai batasan terhadap fungsi tanda pengenal terhadap semua nilai yang diterima. logika yang dapat kita berikan adalah ketika kita menempatkan tanda pengenal harga hanya mengenal angka, maka ketika kita memberikan nilai berupa string maka secara otomatis data tersebut akan ditolak karena nilai tersebut tidak dikenali oleh tipe data yang diberikan.

1. Tipe Data Numeric Integer

Tipe data integer merupakan tipe data bilangan bulat yang hanya mengenal bilangan decimal. Dimana tipe data Integer tidak mengenal pecahan

Bentuk Umum

Var

Nil1:integer;

Begin

Nil1:=5000;

2. Tipe Data Real

Tipe data numeric real adalah tipe data dari suatu tanda pengenal selain mengenal bilangan bulat utuh tipe data ini juga mengenal nilai angka yang mengenal pecahan.

Bentuk Umum

Var

Nil:real;

Begin

Nil1:=20,5;

3. Tipe Data String

Tipe data string merupakan salah satu jens tipe data selain mengenal angak disini tipe data dapat juga mengenla data berupa huruf maupun tanda baca.

Bentuk umum

Var

Nama:string;

Begin

Nama:=’Anton’;

4. Tipe Data Char

Secara fungsi tipe data char sama dengan tipe data string tetapi dari segi kapsitas ruang diperoleh tipe data char jauh lebih sedikit karena hanya mengenal 1 karakter.

C. Deklarasi Data

Dalam setiap penulisan bahasa pemograman deklarasi sangat digunakan apabila dalam penulisan program dibutuhkan indentifier atau tanda pengenal. Indentifier pada umumnya di buat oleh progremmmer yang digunakan untuk mewakili nilai dari suatu object.

Indentifier yang dikenal dalam Delphi adalah label, konstanta, tipe, fungsi, procedure maupun variabel.

1. Deklarasi Konstanta

Deklarasi konstanta adalah tanda pengenal dalam Delphi yang mempunyai nilai yang sudah tetap. Definisi konstanta diawali dengan kata baku Const diikuti dengan kumpulan indentifier yang diberi sebuah nilai.

Contoh

procedure TForm2.etertulisChange(Sender: TObject);

const

nil1:=’30000′;

begin

end;

2. Deklarasi Variabel

Deklarasi variabel adalah tanda pengenal dalam Delphi yang mempunyai nilai yang mana nilai tersebut akan terus berubah selama proses berjalan. Definisi variabel diawali dengan kata baku Var diikuti dengan kumpulan identifier yang diikuti dengan tipe data yang dibutuhkan.

Contoh

procedure TForm2.EpraktekKeyPress(Sender: TObject; var Key: Char);

var

praktek,nil2,nil1 :real;

begin

if (key = #13) then

begin

nil1 := strtofloat(ehtulis.Text);

praktek:= strtofloat(epraktek.Text);

nil2:= 0.4 * praktek;

ehpraktek.Text := floattostr(nil2);

form2.ActiveControl := cmi;

emurni.Text := floattostr(nil1 + nil2);

if nil1 > 60 then

egrade.Text := ‘Lulus’

else

egrade.Text := ‘Gagal’

end;

end;

D. Pemetaan (MAPPING) Type Data ke Storage

Komputer merepresentasikan data dalam bentuk biner, karena setiap bit data

dalam komputer hanya dapat menyimpan dua macam keadaan, yaitu voltase

tinggi dan voltase rendah. Perbedaan voltase tersebut mewakili nilai TRUE dan

FALSE, atau bit ‘1’ dan ‘0’

Representasi Karakter dan String

Ada beberapa aturan yang digunakan untuk menyatakan karakter dalam

storage. Diantaranya adalah :

1. EBCDIC (Extended Binary Coded Decimal Interchange Code)

EBCDIC adalah suatu sistem peng-kode-an (mapping) yang menggunakan 8

binary digit (bit) untuk menyatakan suatu karakter dalam alfabet.

( 1 karakter = 8 bit )

Dalam 8 bit terdapat 28 (256) kemungkinan karakter yang dapat dibentuk.

2. ASCII ( American Standard Code For Information Interchange)

ASCII adalah cara peng-kode-an yang menggunakan 7 bit untuk menyatakan

suatu karakter dalam alfabet.

( 1 karakter = 7 bit). Dalam 7 bit terdapat 27 (128) kemungkinan karakter yang

dapat dibentuk, separuh dari yang dimiliki EBCDIC.

3. BCD ( Binary Coded Decimal )

BCD ini menggunakan 4 bit untuk setiap karakternya.

4. PACKED DECIMAL

Packed Decimal umumnya digunakan untuk karakter berjenis data numerik

dengan cara penyimpanannya menggunakan 2 digit setiap 8 bit. Pada 8 bit terakhir disimpan selain digit derajat terendah, juga tanda dari bilangan

tersebut (positif atau negatif).

Berikut ini perbandingan kode EBCDIC, ASCII dan PACKEDDECIMAL

untuk menyatakan +903.

9 0 3 +

EBCDIC : 11111001 11110000 11110011 01001110

ASCII : 0111001 0110000 0110011 0101011

PACKED DECIMAL : 10010000 00111100

5. Unicode

Unicode menggunakan 16 bit untuk merepresentasikan karakter. Dengan

demikian, banyaknya karakter yang dapat direpresentasikan adalah 216 atau

65.536 karakter.

Keunggulan Unicode dari ASCII adalah kemampuannya untuk menyimpan

simbol / karakter yang jauh lebih besar. Himpunan 256 karakter pertama dari

Unicode merupakan pemetaan karakter ASCII 8 bit, sehingga Unicode tetap

kompatibel dengan ASCII. Selain merepresentasikan seluruh karakter ASCII,

Unicode dapat merepresentasikan juga berbagai macam simbol diluar ASCII,

seperti huruf Arab, Kanji, Hiragana, Katakana, dan lain-lain.

Representasi Bilangan Bulat / Integer

Bilangan Bulat Tak Bertanda dapat direpresentasikan dengan

- bilangan biner – oktal – heksadesimal

- gray code

- BCD (binary coded decimal)

Bilangan bulat Bertanda (positif atau negatif) dapat direpresentasikan dengan

- Sign/Magnitude (S/M)

- 1’s complement

- 2’s complement

Untuk bilangan bulat positif, tidak ada perbedaan dalam ketiga macam

representasi bilangan di atas. Terdapat persamaan dalam ketiga representasi

tersebut berupa digunakannya MSB (most significant bit) sebagai penanda. MSB

bernilai ‘0’ untuk bilangan positif dan ‘1’ untuk bilangan negatif.

SIGN / MAGNITUDE

Salah satu storage mapping yang dapat dilakukan terhadap integer adalah apa

yang disebut bentuk sign-and-magnitude, yaitu digit untuk tanda integer positif

atau negatif dan sebarisan digit untuk menyatakan magnitude/besarnya.

Contoh : -7 = -111 dan +7 = +111

Bagi kita mudah bekerja terhadap bilangan dalam bentuk sign-and-magnitude,

namun apabila dilakukan penjumlahan dengan kedua operand berbeda tanda,

penjumlahan akan beralih menjadi pengurangan yang kadang-kadang

menimbulkan kesukaran. Untuk itu, digunakan apa yang disebut sebagai COMPLEMENT (merubah tanda negatif pada bilangan pengurangan menjadi

tanda positif)

X’ adalah complement dari X terhadap R ( R ‘s complement dari X ) bila

X + X’ = R.

X’ = R – X menyatakan integer negatif -X.

Representasi negatif dari suatu bilangan diperoleh dari bentuk positifnya dengan

mengubah bit pada MSB menjadi bernilai 1. Jika dipergunakan N bit untuk

representasi data, maka rentang nilai yang dapat direpresentasikan adalah

-2N-1-1 s.d 2N-1-1

Contoh : jika dipergunakan 5 bit untuk representasi bilangan

+3 = 00011

-3 = 10011

Terdapat dua jenis Complement :

ONE’S COMPLEMENT

Representasi negatif dari suatu bilangan diperoleh dengan mengkomplemenkan

seluruh bit dari nilai positifnya. Jika dipergunakan N bit untuk representasi data,

maka rentang nilai yang dapat direpresentasikan adalah -2N-1-1 s.d 2N-1-1

1’s complement menggunakan mapping dengan R = 2N – 1

N adalah jumlah bit integer yang dapat disajikan.

Contoh : jika dipergunakan 5 bit untuk representasi bilangan

+3 = 00011

-3 = 11100

TWO’S COMPLEMENT

Representasi negatif dari suatu bilangan diperoleh dengan mengurangkan 2n

dengan nilai positifnya. Jika dipergunakan N bit untuk representasi data, maka

rentang nilai yang dapat direpresentasikan adalah -2N-1 s.d 2N-1-1.

Two’s Complement menggunakan mapping dengan R = 2N

Contoh : jika dipergunakan 5 bit untuk representasi bilangan

2n = 25 = 100000

+3 = 00011

- 3 = 100000-00011

100000

00011 -

11101

® – 3 = 11101

PERBANDINGAN

Berikut tabel perbandingan ketiga cara representasi bilangan bulat bertanda.

B Nilai yang direpresentasikan

b3b2b1b0 Sign/Magnitude 1’s complement 2’s complement

0111 +7 +7 +7

0110 +6 +6 +6

0101 +5 +5 +5

0100 +4 +4 +4

0011 +3 +3 +3

0010 +2 +2 +2

0001 +1 +1 +1

0000 +0 +0 +0

1000 -0 -7 -8

1001 -1 -6 -7

1010 -2 -5 -6

1011 -3 -4 -5

1100 -4 -3 -4

1101 -5 -2 -3

1110 -6 -1 -2

1111 -7 -0 -1

Representasi Bilangan Pecahan / Floating Point

Bilangan pecahan dapat direpresentasikan dalam bentuk pecahan biasa atau

dalam bentuk scientific.

Bentuk Pecahan Biasa

Dalam bentuk pecahan biasa, bilangan direpresentasikan langsung kedalam

bentuk binernya. Contoh : 27.625 = 11011.1012

Bentuk S C I E N T I F I C

Dalam notasi scientific, bilangan pecahan dinyatakan sebagai X = ±M . B±E.

M = mantissa

B = basis

E = eksponen

Contoh : 5.700.000 = 57.105 M=57, B=10, E=5

Masalah : terdapat tak berhingga banyaknya representasi yang dapat dibuat.

Dalam contoh sebelumnya, 5.700.000 = 57.105 = 570.104 = 5,7.106 = 0,57.107 =

0,057.108 dst. Untuk mengatasinya, ditentukan adanya bentuk normal, dengan

syarat

1/B = |M|< 1

Dengan demikian, bentuk scientific yang normal (memenuhi persyaratan) dari

5.700.000 adalah 0,57.107

Dalam bentuk normal tersebut, selalu diperoleh mantissa berbentuk ‘0,…’

sehingga dalam representasinya kedalam bit data, fraksi ‘0,’ tersebut dapat

dihilangkan.

Mantissa dan eksponen tersebut dapat direpresentasikan menggunakan salah

satu cara representasi bilangan bulat bertanda yang telah dibahas di atas.

Representasi yang dipilih dapat saja berbeda antara mantissa dengan

eksponennya.

E.Organisansi Logic dan Fisik dari struktur data

Sebelum era database ditandai dengan

* Sumber data dikumpulkan dalam file-file yang tidak terhubung satu dengan lainnya
* Setiap aplikasi memiliki/merancang file data sendiri
* Memiliki kelemahan: duplikasi data, ketergantungan data, kepemilikan data tersebar

Untuk memecahkan masalah di atas dilakukan dengan cara pengorganisasian data secara fisik dan mengarah ke organisasi logis. Organisasi fisik (logical organization), mengintegrasikan data dari beberapa lokasi fisik yang berbeda dan merupakan cara pemakai melihat data. Organisasi fisik (physical organization), merupakan cara komputer melihat data sebagai file-file yang terpisah.

Dua teknik untuk memenuhi kebutuhan integrasi logis:

1. Integrasi logis dalam satu file

* Inverted file

Suatu file yang disimpan secara urutan tertentu, dengan suatu indeks yang menyertainya memungkinkan record-record dari file itu dipilih dalam urutan berbeda.

* Linked list

Suatu teknik yang dapat mencapai hasil yang sama tanpa menggunakan indeks tetapi dengan menentukan field tersendiri yang ditambahkan pada tiap record dalam file.

1. Integrasi logis antara beberapa file

Mengunakan link untuk menghubungkan record-record dalam suatu file dengan record yang berhubungan secara logis difile lain.

Tidak ada komentar:

Posting Komentar