pengertian structur data



Pengertian Struktur Data
Struktur dapat diartikan sebagai suatu susunan, pola atau bangunan. Data diambil dari bahasa inggris  berasal dari Yunani datum yang berarti fakta. Struktur data adalah suatu susunan simbol simbol yang diorganisasikan sesuai dengan defenisi yang diberkan. Secara umum data merupakan fakta atau keterangan tentang kenyataan yang disimpan, direkam atau direpresentasikan dalam bentuk tulisan, suara, gambar, sinyal atau simbol. Makna data bagi manusia adalah segala sesuatu yang dapat diterima oleh indera manuasia dari rangsangan-rangsangan yang ada disekitarnya, baik secara tersurat maupun tersirat, sedangkan makna kata data di komputer adalah segala sesuatu yang bisa dikodekan atau disimbolkan atau dilambangkan dengan kode-kode atau lambang-lambang.
Data di komputer merupakan kombinasi dari ada atau tidak adanya arus listrik yang melewati rangkain elektronika. Adanya arus listrik yang melawati rangkaian dilambangkan dengan angka 1 (ON) dan jika tidak adanya yang melawati rangkaian arus listrik dilambangkan dengan angka 0 (OFF) ini dikenal dengan sistem bilangan biner (sistem bilangan basis dua). Maka semua data yang diproses didalam komputer terlebih dahulu dikonversi ke dalam bilangan biner. Bagi manusia informasi merupakan suatu fakta yang memiliki arti atau nilai, sedangkan dalam komputer data sudah merupakan informasi.
Komputer memiliki hierarki Input-Process-Output (IPO), input adalah data bagi user (pengguna), komputer memprosesnya (Process) untuk menghasilkan informasi (Output).

Mempelajari struktur data erat hubungannya dengan membuat suatu algoritma (rangkaian pemikirian logis untuk menyelesaikan masalah) untuk menyelesaikan suatu permasalahan. Karena itu peran algoritma sangat membantu dalam menentukan hasil yang diinginkan.


ALGORITMA

2.     Definisi Algoritma
Dalam kamus besar bahasa Indonesia (Balai Pustaka 1988) secara formal algoritma didefenisikan sebagai urutan logis pengambilan putusan untuk pemecahan masalah. Jadi Algoritma adalah logika, metode dan tahapan (urutan) sistematis yang digunakan untuk memecahkan suatu permasalahan.

2.     Hubungan Algoritma dengan Struktur Data
Program adalah kumpulan instruksi komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma. Program ini ditulis dengan menggunakan bahasa pemrograman. Jadi bisa kita sebut bahwa program adalah suatu implementasi bahasa pemrograman. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang baik, semikian juga sebaliknya

3.     Macam-macam Algoritma
Setiap orang memilki cara (metode) dalam memecahkan suatu masalah, karena setiap orang belum tentu memiliki latarbelakang yang sama dan pemikiran yang sama.

I.       Algoritma atau langkah-langkah pemecahan suatu masalah bisa dilakukan dengan berbagai cara, antara lain dengan cara merumuskan langkah-langkah pemecahan masalah dengan kalimat yang terstruktur. Misalnya untuk mengkonversi bilangan basis sepuluh ke basis dua.
Langkah 1   : Siapkan penampung hasil bagi, misalkan di X sebagai deret.
Langkah 2   : Lakukan langkah 3 sampai hasil bagi bernilai nol.
Langkah 3   : Bagi bilangan berbasis sepuluh dengan dua, sisanya simpai di X dengan elemen deret.
Langkah 4   : Hasil bagi dijadikan bilangan berbasis sepuluh yang akan diproses
Langkah 5   : Ulangi langkah 3 sampai hasil bagi bernilai nol dan lanjutkan ke langkah 6
Langkah 6   : Cetak hasil dengan mengeluarkan elemen deret dari belakang ke depan.

II.     Algoritma lain dalam membuat langkah-langkah pemecahan suatu masalah adalah menggabungkan dengan penggalan statements yang ada di bahasa pemrograman. Misalkan pada potongan kode program dibawah ini.

1.     INPUT a {a adalah bilangan berbasis sepuluh}
Hit = 1 {hit adalah index untuk menyimpan sisa hasil bagi}
2.     DO WHILE a>0
Sb = sisa bagi a dengan 2
Bil(hit) = sb
Hit = hit +1
A = hasil pembagian a dengan 2
ENDDO
{cetak hasilnya}
3.     DO WHILE hit > 0
Cetak bil(hit)
Hit = hit + 1
ENDDO
4.     SELESAI

Diagram alur (Flowchart) juga merupakan salah satu algoritma yang biasa digunakan dalam pemecahan suatu masalah, sebagai contoh dapat dilihat pada diagram alur dibawah ini.





TIPE DATA


Tipe data yang dikenal dalam bahasa pascal antara lain:
A.  Tipe data Sederhana / Jenis data yang standar (Dasar)
1.   Integer
2.   Real
3.   Karakter
4.   Boolean
B.    Tipe data Non Standar (user defined)
1.   Enumerated
2.   Sub-range
C.    Tipe data Berstuktur
1.   Array
2.   Record
3.   Set
4.   File
D.   Jenis data Pointer



A.   TIPE DATA SEDERHANA


1.   INTEGER


Jenis data ini merupakan nilai bilangan bulat, yang  terdiri atas integer positif, integer negatif dan nol. Pada TURBO PASCAL jenis data ini di bagi atas beberapa bagian.  (lihat tabel 1)

Tabel 1. Jenis data integer
Tipe
Ukuran memori
(dalam byte)
Jangkauan nilai
BYTE
1
0..255
SHORTINT
1
-128..127
INTEGER
2
-32768..32767
WORD
2
0..65535
LONGINT
4
-2147483648..2147483647
Operator Integer terdiri atas :  + , - , * , DIV dan MOD


Var
                 Jumlah : byte;
Begin
               Jumlah := 200;
                WriteLn(‘Nilai JUMLAH = ‘,Jumlah);
End.

Hasilnya bila dijalankan:
          Nilai JUMLAH = 200

2.     REAL


Penulisan untuk jenis data ini selalu menggunakan titik desimal. Nilai konstanta numerik real berkisar dari 1E-38 sampai dengan 1E+38 dengan mantissa yang signifikan sampai dengan 11 digit. E menunjukkan nilai 10 pangkat. Nilai konstanta numerik real menempati memori sebesar 6 byte.

Contoh :
123.45
12345.  ® salah, titik desimal tidak boleh dibelakang
12E5
12E+5
-12.34
.1234  ® salah, titik desimal tidak boleh dimuka

 Pada TURBO PASCAL, jenis data ini dibedakan ( lihat tabel 2.)


Tabel 2. Jenis data Real
Tipe
Ukuran memori
(dalam byte)
Jangkauan nilai
Digit signifikan
SINGLE
4
1.5x10E-45 .. 3.4x10E38
7-8
DOUBLE
8
5.0x10E-324 .. 1.7x10E308
15-16
EXTENDED
10
1.9x10E-4951 .. 1.1x10E4932
19-20
COMP
8
-2E+63+1 .. 2E+63-1
19-20

Operator untuk jenis data ini terdiri atas : + , - , * dan /


3.     KARAKTER/STRING


Jenis data ini adalah karakter tunggal atau sebuah string yang ditulis diantara tanda petik tunggal, seperti misalnya ‘A’, ’a’, ’!’, ’5’ dsb.
Nilai data string akan menenpati memori sebesar banyaknya karakter stringnya ditambah dengan 1 byte. Bila panjang dari suatu string di dalam deklarasi variabel tidak disebutkan, maka dianggap panjangnya adalah 255 karakter.

Dasarnya adalah ASCII CHARACTER SET.

Misalnya : 032 pada tabel ASCII CHARACTER SET menunjukkan karakter.



4.     BOOLEAN


Jenis data ini mempunyai nilai TRUE atau FALSE.

Operator untuk jenis data ini adalah :
1.    Logical Operator, yaitu : NOT, AND dan OR
2.    Relational Operator, yaitu : >, <, >=, <=, <> dan =



B. JENIS DATA NON-STANDARD (USER DEFINED)


1.   ENUMERATED.

Jenis data ini terdiri atas barisan identifier yang terurut dimana setiap identifier tersebut dianggap sebagai suatu individual data item (elemen data yang berdiri sendiri).

Pada saat mendeklarasikan jenis data ini kita harus menuliskan semua elemen-elemennya.

Bentuk umum deklarasinya adalah :

TYPE nama = (data_item_1, data_item_2, ……., data_item_n);

Contoh :

TYPE hari = (sen,sel,rab,kam,jum,sab,ming);

TYPE warna = (red,blue,green,yellow,black,white);

Setelah jenis data ini dideklarasikan, maka selanjutnya kita dapat mendeklarasikan suatu variabel yang berjenis data sama dengan jenis data ini.

Misalnya :
              TYPE nama_hari = (sen,sel,rab,kam,jum,sab,ming);
              VAR libur : nama_hari;

Fungsi standar yang dapat digunakan pada jenis data ini adalah :

PRED, SUCC dan ORD

Misalnya :

     PRED (sel) = sen
     SUCC (sen) = sel
     ORD (sen) = 0
     ORD (sel) = 1

      dsb


2.   SUB-RANGE.

Jenis data ini berupa range dari suatu kumpulan data yang mempunyai urutan..

Bentuk umum deklarasinya adalah :

     TYPE nama = data_item_pertama .. data_item_terakhir;

Contoh :
   
     TYPE        jam_kuliah = 1 .. 10;
tanggal = 1 .. 31;
abjad = ‘A’ .. ‘Z’;

          TYPE bulan = (jan,feb,mar,apr,mei,jun,jul,agt,sep,okt,nov,des);
hari = (sen,sel,rab,kam,jum,sab,ming);
ata = agt .. jan;
pta = feb .. jun;
hari_kerja = sen .. jum;

Tidak ada komentar:

Posting Komentar

sniver ymy

https://safelinku.com/ref/yusepymy