Sabtu, 19 September 2015

TYPE DATA DAN STRUKTUR DATA



TYPE DATA SEDERHANA DAN MAJEMUK
          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. Pengertian data ini menyiratkan suatu nilai yang bisa dinyatakan dalam bentuk konstanta /variable.
            Konstanta digunakan untuk menyatakan nilai tetap sedangkan variable digunakan dalam program untuk menyatakan nilai yang dapat berubah-ubah selang eksekusi berlangsung.
           
Ada empat istilah data, yaitu :
      Tipe data adalah jenis atau macam data di dalam suatu variable dalam bahasa pemrograman.
      Objek data mengacu kumpulan elemen, D (domain).
      Representasi data : Suatu mapping dari struktur data ‘d’ ke suatu set ke struktur data ‘e’ (d===e) misal bolean di representasikan dalam 0 dan 1.
      Struktur data biasa dipakai untuk mengelompokan beberapa  informasi yang terkait menjadi sebuah kesatuan.

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
      Struktur data sederhana, misalnya array dan record.
      Struktur data majemuk, yang terdiri dari Linier : Stack, Queue, serta List dan Multilist

Tipe Data Sederhana Pada C++
      Tipe Int
            Merupakan bilangan bulat dan tidak mengandung pecahan, seperti:     -3,-2,-1,0,1,2,3
      Real / Floating Point
            Type data yang merupakan bilangan pecahan. Jenis data real/float ditulis dengan menggumakan titik (koma) decimal.
            Misal: 0.32 4,35 -131.128
            Type Real dapat juga ditulis dengan rumus :
            M= Pecahan
            R= Radix
            E=Exponen
            X= Hasil Bilangan 
            Misal : 3.2*10 pangkat -1= 0.32 4.35* 10 pankat 2= 435
      Tipe Float
      Boolean atau Logical
            Type data yang hanya mempunyai dua bentuk keluaran yang nilai True dan False ( Benar dan salah ) yang dinyatakan dengan 1 dan 0, sehingga satuan data yang terpakai cukup satu bit saja. Operator yang digunakan adalah : And, Or, Not,Xor.
      Character
            Type data yang terdiri dari aksara (symbol) yang meliputi digit numeric, character alfabet, dan special character. Untuk menuliskan tipe char, karakter perlu ditulis di dalam tanda petik tunggal(‘).
            Contoh : ‘A’-karakter berupa huruf A
                                 ‘1’-karakter berupa angka 1
                                 ‘*’-karakter symbol *

PENGERTIAN STRUKTUR DATA
Struktur data adalah suatu koleksi / kelompok data yang dapat di karakteristikan oleh organisasi serta operasi yang di definisikan terhadapnya. Dalam teknik pemrograman, struktur data berarti tata letak yang berisi kolom-kolom data,baik itu kolom yang tampak oleh pengguna (user) ataupun kolom yang hanya digunakan untuk keperluan pemrograman yang tidak tampak oleh pengguna.
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).
Struktur data standar yang biasanya digunakan dibidang informatika adalah :
1.     ADT, Array, Struk.
2.     List linier (Linked List).
3.     Multilist.
4.     Stack (Tumpukan).
5.     Queue (Antrian).
6.     Tree ( Pohon ).
7.     Graph ( Graf ).

PEMBUATAN STRUKTUR DATA
            Untuk membuat menjadi struktur data, kita harus melakukan dulu aktivitas terhadap objek data, yaitu : Mendeskkripsikan kumpulan operasi sah yang diterapkan ke elemen-elemen objek data. Menunjukan mekanisme kerja operasi-operasi. Objek data integer ditambah operasi (+, -, *, /, mod, cell, floor, < , >) dan operasi-operasi lain yang memanipulasi objek data integer menyatakan struktur data.
            Struktur data = Objek data + { Operasi manipulasi }.
TAHAP PEMBUATAN STRUKTUR DATA
           
            Tahap pertama : Spesifikasi
            Pendeskripsian/spesifikasi struktur data menyatakan apa yang dapat dilakukan struktur data, bukan cara penerapannya. Pendeskripsian ini melibatkan level logic sehingga dapat digunakan konvensi matematika untuk menyatakan sifat-sifat struktur data yang dikehendaki.
            Spesifikasi dapat dilakukan dengan cara formal dan informal
            Tahap kedua : Implementasi
            Implementasi menyatakan cara penerapan struktur data dengan struktur data yang telah ada.
            Implementasi struktur data adalah proses pendefinisian tipe data abstrak sehingga semua operasi dapat dieksekusi computer. Implementasi struktur penyinpanan item-item data serta algoritma-algoritma untuk implementasi operasi-operasi sehingga menjamin terpenuhinya karakteristik struktur data, relasi item-item data atau invariant pada struktur data itu.

Tahap ketiga : Pemrograman
Pemrograman terstruktur adalah penerjemahan menjadi pernyataan di bahasa pemrograman tertentu. Prosesnya terdiri dari :
Deklarasi yang mendefinisikan objek-objek data dan hubungannya…
Pembuatan prosedur / rutin untuk operasi-operasi dasar yang menjaga invariant pada struktur data itu .
Sesuai dengan relasi yang didefinisikan di spesifikasi perancangan harus memilih tipe-tipe data yang telah ada untuk merepresentasikan struktur data.
Struktur data di bangun menggunakan fasilitas pembentukan atau pembuatan struktur data yang disediakan bahasa seperti array, record, dan sebagainya atau yang telah di buat seperti stack, queue, atau himpunan menggunakan linked list.
Pembuatan struktur data adalah pembentukan tipe data lengkap yang mempunyai empat property berikut :
Nama            : Identifier tipe data.
Domain : Domain / himpunan semesta nilai ditipe data.

Tipe Data dan Operator Pada Bahasa Pemrograman Pascal
         
          Dalam bahasa pemrograman pascal, Tipe Data menunjukkan suatu nilai yang dapat digunakan oleh suatu variable yang bersangkutan.
            Tipe data standar
      Integer : merupakan tipe data berupa bilangan bulat
      Real : merupakan jenis bilangan pecahan
      Char : merupakan karakter yg ditulis diantara tanda petik tunggal. Ex : ‘A’, ‘a’, ‘5′ dll
      String : merupakan urutan dari karakter yang terletak diantara tanda petik tunggal
      Boolean : merupakan tipe data logika, yang berisi dua kemungkinan nilai : TRUE atau FALSE.
Tipe Data Terstruktur : Array, Record, File, dan Set.
Tipe Data Pointer Operator :
Tanda operasi (operator) didalam bahasa Pascal dikelompokkan dalam :
      Assignment operator (operator pengerjaan) menggunakan simbol titik dua diikuti oleh tanda sama dengan (:=). Contoh –> A:=B;
      Binary operator digunakan untuk mengoperasikan dua buah operand yang berbentuk konstanta ataupun variable. Operator ini digunakan untuk operasi arithmatika yang berhubungan dengan nilai tipe data Integer dan Real. Operasi yang dilakukan adalah : Pertambahan (+), Pengurangan (-), Perkalian (*),
      Pembagian Bulat (DIV), Pembagian Real (/) dan Modulus atau Sisa Pembagian (MOD)
      Unary operator, operator ini menggunakan sebuah operand saja dapat berupa unary minus dan unary plus. Contoh : +2.5, a+(+b) dll
      Bitwise operator digunakan untuk operasi bit per bit pada nilai integer.
Operator yang digunakan (NOT, AND, OR, XOR, Shl, Shr).

OPERATOR DAN JENIS DATA DALAM PASCAL
           
            OPERATOR DALAM PASCAL
            Dalam menulis program kita tidak mungkin terlepas dari penggunaan operator. Operator sendiri didefinisikan sebagai sesuatu yang digunakan untuk melakukan operasi-operasi tertentu, misalnya operasi aritmatika, penggabungan string dan banyak lagi yang lainnya.
Nilai yang dioperasikan oleh operator bersama operand membentuk suatu ekspresi.
            Contoh : 1 + 2 – 3, yang disebut ekspresi. Tanda + dan – merupakan tanda operator sedangkan nilai 1,2 dan 3 disebut operand.
            Operator Assignment
            Operator assignment digunakan untuk melakukan pemberian nilai terhadap suatu variabel sehingga operator ini juga sering dikenal dengan operator penugasan. Dalam bahasa Pascal operator yang digunakan untuk melakukan hal ini adalah operator :=. Berikut ini bentuk umum untuk melakukan pemberian nilai terhadap suatu variabel.
            NamaVariabel := nilai_yang_akan_dimasukkan;
           
           
Contoh :
                                    Var
                                    x: integer;
                                    y: real;
                                    str: string;
                                    Begin
                                    x := 123;
                                    y := 56.04;
                                    str := ‘Mencoba memasukkan nilai ke dalam variabel’;
                                    ....
                                    End.

Operator Aritmatika
Bahasa Pascal menyediakan beberapa operator yang dapat digunakan dalam operasi aritmatika, seperti penjumlahan, pengurangan, perkalian, pembagian dan penentuan sisa bagi.

Operator
Jenis Operasi
Tipe Operand
Tipe Hasil
Contoh
+
Penjumlahan
Integer, real
Integer, real
a + b
-
Pengurangan
Integer, real
Integer, real
x - 1
*
Perkalian
Integer, real
Integer, real
a * b
/
Pembagian untuk bilangan real
Integer,real
real
5 / 3
div
Pembagian untuk bilangan bulat
Integer
Integer
10 div 4
Mod
Sisa bagi
Integer
Integer
10 mod 3

Operator Logika
Operator logika digunakan untuk melakukan operasi-operasi yang menghasilkan nilai logik (true dan false). Bahasa pascal menyediakan 4 buah operator logika, yaitu :




Operator
Jenis Operasi
Tipe Operand
Tipe Hasil
not
Negasi
boolean
boolean
and
Conjunction
boolean
boolean
or
Disjunction
boolean
boolean
xor
Exlusive Disjunction
boolean
boolean

OPERATOR NOT
Operator ini digunakan untuk menentukan negasi atau pengingkaran dari nilai logik lain. Jika nilai yang dihasilkan adalah true maka negasi-nya adalah false. Begitu juga sebaliknya. Berikut ini table yang menunjukkan hubungan operator not.
A
not  A
true
false
false
true

Contoh program dengan Operator not :
Program operator_not;
Uses wincrt;
Var
  A:boolean;
Begin
  Clrscr;
  A:=false;
  A:=not A;
  Writeln(A);
  Readln;
End.

OPERATOR and
Untuk memudahkan penggunaan operator and, ingatlah bahwa operand and hanya akan bernilai true jika semua operandnya bernilai true. Selain itu operasi akan menghasilkan nilai false.

 


A
B
A and B
true
true
true
true
false
false
false
true
false
false
false
false

Contoh program menggunakan operator and :
Program Operator_And;
   Uses wincrt;
   Begin
   Clrscr;
   Writeln(‘TRUE and TRUE     =’, true and true);
   Writeln(‘TRUE and FALSE =’, true and false);
   Writeln(‘FALSE and TRUE =’, false and true);
   Writeln(‘FALSE and FALSE =’,false and false);
   Readln;
End.

OPERATOR or
Operator or akan menghasilkan nilai true apabila satu atau semua operand-nya bernilai true. Untuk memudahkan ingatlah bahwa operator or akan menghasilkan nilai false apabila semua operandnya bernilai false. Selain itu, operator ini akan menghasilkan nilai true.



A
B
A or B
true
true
true
true
false
true
false
true
true
false
false
false

Contoh program menggunakan operator or :
Program operatorOr;
  Uses wincrt;
  Begin
  Clrscr;
  Writeln(‘TRUE or TRUE =’,true or true);
  Writeln(‘TRUE or FALSE     =’,true or false);
  Writeln(‘FALSE or TRUE     =’,false or true);
  Writeln(‘FALSE or FALSE    =’,false or false);
  Readln;
End.


OPERATOR  xor
Operator exclusive or (xor) ini akan menghasilkan nilai true apabila hanya terdapat satu operand yang bernilai true. Apabila kedua operandnya bernilai true maka operasi ini akan menghasilkan nilai false, begitu juga apabila keduanya bernilai false.
A
B
A xor B
true
true
false
true
false
true
false
true
true
false
false
false

Contoh program menggunakan operator xor:
Program operator_or;
Uses wincrt;
Begin
Clrscr;
Writeln(‘TRUE xor TRUE =’,true xor true);
Writeln(‘TRUE xor FALSE =’,true xor false);
Writeln(‘FALSE xor TRUE =’,false xor true);
Writeln(‘FALSE xor FALSE =’,false xor false);
Readln;
End.

Operator Relasional
Operator relasional adalah operator yang digunakan untuk menentukan relasi atau hubungan dari dua buah nilai atau operand. Operator ini terdapat dalam sebuah ekspresi yang selanjutnya akan menentukan benar atau tidaknya ekspresi tersebut. Operator relasional biasanya digunakan untuk melakukan pengecekan kondisi dalam blok pemilihan. Adapun yang termasuk kedalam operasional didalam bahasa Pascal adalah sebagai berikut :
 


Operator
Jenis Operasi
Tipe Operand
Tipe Hasil
Contoh
=
Sama dengan
Tipe dasar, String, Pchar, Set
boolean
A = 3
<>
Tidak sama dengan
Tipe dasar, String, Pchar, Set
boolean
A <> 3
<
Lebih kecil
Tipe dasar, String, Pchar
boolean
A < 1
>
Lebih besar
Tipe dasar, String, Pchar
boolean
A > 5
<=
Lebih kecil atau Sama dengan
Tipe dasar, String, Pchar, Set
boolean
A <= B
>=
Lebih besar atau Sama dengan
Tipe dasar, String, Pchar, Set
boolean
A >= B

Contoh Type Data Pada Struktur Data :

1.     Tipe data Char dan String 
            Ini merupakan tipe data dasar, tipe data ini didefinisikan pada deklarasi var dibagian algoritma/program.
Example : Var Nama : String
Nilai : Char
            Keterangan : Nama merupakan sebuah variabel didefinisikan sebagai variabel bertipe string, maksudnya pada variabel tersebut digunakan untuk menerima masukan sebuah nama yang terdiri dari sekumpulan huruf, dapat berupa huruf besar, kecil, atau campuran kedua-duanya.
Nilai, didefinisikan sebagai variabel yang bertipe data char, maksudnya variabel tersebut hanya dapat digunakan untuk memasukkan sebuah huruf dari huruf besar, seperti A, B, C,.. atau huruf kecil, a, b, c, ….
2.     Tipe data Boolean 
            Digunakan untuk pengambilan keputusan dalam operasi logika. Terdiri dari true disimbolkan ‘T’ dan False yang disimbolkan ‘F’. Ketika kita ingin mendapatklan hasil yang valid/pasti, kita menggunakan tipe data boolean untuk memperoleh keputusan dalam suatu penyelesaian yang pasti.
3.     Tipe Data Integer  Merupakan tipe data bilangan bulat.
            Memori
            Byte
            0…255
            1 byte
            Word
            0…65.555
            1 byte
            Integer
            -32.768 s.d 32.767
            2 byte
            Long Integer
            -2.147.483.648
            4 byte
4.     Tipe Data Real 
            Merupakan tipe data bilangan pecahan seperti real, single, double, comp, extend.
5.     Tipe Data Subrange 
            Merupakan tipe data bilangan yang punya jangkauan nilai tertentu sesuai dengan definisi pada pemrogram.
Example :
Type Variabel=Nilai_awal…Nilai_akhir
6.     Tipe Data Enumerasi 
            Merupakan tipe data yang memiliki elemen-elemen tertentu yang disebut satu/satu dari bernilai konstanta integer sesuai dengan urutannya. Pada tipe data ini elemen masukan diwakili oleh suatu nama variable yang ditlis di dalam kurung.
Example :
Indeks_Hari = (Nol, Minggu, Senin, Selasa, Rabu, Kamis, Jumat, Sabtu).