Struktur Data
Tipe, Nama, Nilai
Padaumumnya, program
komputer bekerja dengan memanipulasi objek (data) di dalam memori. Objek yang
akan diprogram bermacam-macam tipenya, misalnya tipenumerik, karakter, string dsb.
Pada algoritma Euclidean, sebagai contoh, m dan n adalah objek yang dimanipulasi
yang bertipe integer (bilanganbulat).Tipe data
dapat dikelompokkan menjadi atas dua macam: tipe dasar dan tipe bentukan.
Tipe dasar adalah tipe yang dapat langsung dipakai,
sedangkan tipe bentukan dibentuk dar itipe dasar atau dari tipe bentukan lain yang
sudah didefinisikan.
Suatu tipe diacu dari namanya.
Nilai-nilai yang dicakup oleh tipe tersebut dinyatakan di dalamranah (domain)
nilai. Operasi-operasi (beserta operator) yang
dapat dilakukan terhadap tipe tersebut juga didefinisikan. Dengan kata lain,
suatu tipe dinyatakan dengan namanya, ranah nilai yang dikandungnya,
cara menuliskan kostantanya, dan operasi yang dapat dilakukan kepadanya.
Tipe dasar sudah dikenal dalam kehidupan sehari-hari.
Tipe ini sudah ada sejak zaman dahulu (predefined data type). Setiap hari kita berbicara tentang angka-angka dan karakter. Dalam dunia pemrograman, yang termasuk kedalam tipe dasar adalah: bilangan logika, bilangan bulat, karakter,
bilangan riil, dan string.
- Bilangan Logika
Nama Tipe:
Nama tipe bilangan logika dalah boolean
(diambil dari nama seorang matematikawan inggris, George boole)
Ranah Nilai:
Bilangan logik hanya mengenal dua buah nilai:
benar (true) atau salah (false). Istilah “bilangan” pada “bilangan logik”
muncul karena kita dapa tmenyatakan “benar” dengan angka 1 dan “salah” dengan angka
0.
Konstanta:
Karena ranah nilai tipeboolean hanya beranggotakan dua buah nilai,
maka tetapan nilai pada tipe ini adalah true dan false
Operasi:
Operasi-operasi yang
dapat dilakukan terhadap tipe boolean dikenal dengan operasi logika atau operasi boolean.
Operasi logika menghasilkan nilai dalam ranah boolean (yaitu true atau false).
Operator logika yang umum digunakan untuk operasi logika adalah: not, and, or, xor
Jika a dan b adalah peubah
(variable) yang bertipe boolean, maka hasil operasi a dan dengan keempat operator
tersebut diberikan oleh masing-masing tebel (yang disebut tabel kebenaran – tru thtable)
berikut:
a
|
Not a
|
|||||
true
|
false
|
|||||
false
|
true
|
|||||
a
|
b
|
a and b
|
a or b
|
a xor b
|
||
true
|
true
|
true
|
true
|
false
|
||
true
|
false
|
false
|
true
|
true
|
||
false
|
true
|
false
|
true
|
true
|
||
false
|
false
|
false
|
false
|
false
|
- Bilangan Bulat
Tipe ini sudah dikenal dalam kehidupan sehari-hari.
Bilangan bulat adalah bilangan yang tidak mengandung pecahan desimal.
Nama Tipe:
Nama tipe bilangan bulat adalah integer
Ranah Nilai:
Secara teoritis,
tipe bilangan bulat mempunyai ranah nilai yang tidak terbatas.
Rentang nilainya adalah dari minus tidak hingga sampai plus
tidak hingga asal kan setiap nilainya tidak mengandung titikdesimal.
Namun didalam algoritma didefinisikan dalam ranah tertentu untuk objek yang
didefinisikan. Pendefinisian ranah ini diperlukan untuk menyatakan bahwa nilai objek hanya boleh berada dalam ranah tersebut.
Dalam praktek, tipe integer mempunyai nilai yang terbatas. Implementasi tipe
integer dalam bahasa pemrograman bergantung pada kompilator bahasa yang digunakan.
Konstanta:
Konstanta nilai bertipe bilangan bulat harus ditulis tanpa mengandung titik desimal.
Operasi:
Operasi yang
dapa tdilakukan terhadap bilangan bulat ada dua macam yaitu:
a. Operasi Arimetika (+, -, *,
div, mod)
Operand à Objek yang dioperasikan
Operator àsimbol yang digunakan untuk memanipulasi operand
b. Operasi Perbandingan (<, ≤ ,>, ≥, =, ≠)
- Bilangan Riil
Bilangan yang mengandung pecahan desimal.
Nama Tipe:
Nama tipe bilangan ini adalah real
Ranah Nilai:
Sebagaimana bilangan bulat,
secara teoritis tipe bilangan riil memiliki nilai yang tidak terbatas.
Rentang nilai nya adalah dari minus tidak hingga sampai pulus tidakhingga.
Konstanta:
Konstanta nilai bertipe bilangan riil harus ditulis dengan tanda titik desimal.
Operasi:
Operasi yang
dapat dilakukan terhadap bilangan riil ada dua macam yaitu:
a. Operasi Arimetika (+, -, *,
div, mod)
Operator àObjek yang dioperasikan
Operand àsimbol yang digunakan untuk memanipulasi operator
b. Operasi Perbandingan (<, ≤ ,>, ≥, =, ≠)
- Karakter
Yang
termasuk kedalam karakter adalah huruf-huruf alfabet, tanda baca, angka dari 0 sd 9,
karakter khusus dan sebagainya.
Nama Tipe:
Nama tipe untuk karakter adalah char
Ranah Nilai:
Ranah karakter adalah semua huruf di
dalam alfabet (‘a’...’z’, ‘A’…’Z’), angka (‘0’…’9’), tanda baca (‘?’, ’!’, ‘.’,
‘,’ dsb), operator arimetik, dan karakter-karakterk husus.
Konstanta:
Tetapan untuk data
bertipe karakter harus diapitoleh tanda petik tunggal. Contoh tetepan karakter:
‘h’, ‘y’, ‘$’
Operasi:
Satu-satunyaoperasi yang
dilakukan oleh tipe karakter adalah operasi perbandingan.
- String
String adalah deretan karakter dengan panjang tertentu.
Berbeda dengan karakter. Karakter adalah string denganpanjang 1.
String sebenarnya bukan tipe dasar murni karena disusun dari tipe karakter. Namun karena tipe string banyakdipakai dalam pemrograman, maka string dapat diperlakukan sebagai tipe dasar.
String yang disusun oleh gabungan numerik dan karakter sering dinamakan alfa numerik.
String sebenarnya bukan tipe dasar murni karena disusun dari tipe karakter. Namun karena tipe string banyakdipakai dalam pemrograman, maka string dapat diperlakukan sebagai tipe dasar.
String yang disusun oleh gabungan numerik dan karakter sering dinamakan alfa numerik.
Nama Tipe:
Nama tipe untuk string adalah string
Ranah Nilai:
Ranah nilai untuk tipe string
adalah deretan karakter yang telah didefinisikan pada ranah karakter.
Konstanta:
Semua konstanta string
harus diapit oleh tanda petik tunggal.
Operasi:
Operasi terhadap string ada 2
macam yaitu Operator penyambungan (concatenation) danoperasi perbandingan
- Konstanta (constant)
Merupakan tempat penyimpanan di
dalam memori yang isinya tetap selama pelaksanaan program dan tidakdapat diubah.
Notasi untuk menyatakan konstanta adalah const
Contoh:
Contoh:
DEKLARASI
const phi = 3.14
const phi = 3.14
const N maks = 100
const sandi = ‘XYZ’
phi, N maks,
dan sandi adalah nama konstanta. Nilai konstanta yang
sudah di isikan ke dalam nama konstanta tidak dapat diubah oleh instruksi di
dalam algoritma.
- Nama fungsi
Contoh:
function MAKSIMUM(A, B: integer)
àinteger
{ mengembalikan nilai terbesar antara A dan B }
{ mengembalikan nilai terbesar antara A dan B }
MAKSIMUM adalah nama fungsi
- Nama prosedur
Contoh:
procedure TUKAR(input/output
A, B: integer)
{ Mempertukarkan nilai A dan B }
{ Mempertukarkan nilai A dan B }
TUKAR adalah nama prosedur
Nilai adalah besaran dari tipe
data yang sudah didefinisikan. Nilai dapat berupaisi yang
disimpan oleh peubah atau nama konstanta.
Algoritma pada hakikatnya adalah memanipulasi nilai yang disimpan di
dalam elemen memori. Nilai yang dikandung oleh peubah dimanipulasi antrara lain
dengan cara: mengisikannya kepeubah lain yang bertipe sama,
dipakai untuk perhitungan, atau dituliskan keperanti keluaran.
- Pengisian Nilai kedalam peubah
Peubah menyimpan sebuah nilai dari tipe tertentu.
Sebuah nilai dapat dimasukkan ke dalam nama peubah dengan dua cara yaitu:
- Pengisian nilai secara langsung
Notasi pengisian nilai secara langsung
:ß
Ex: Aß 10
C ß B
D ß (AB*C)/2
-
Pembacaan nilai dari piranti masukan (menggunakan notasi read).
Read(M)
- Ekspresi
Suatu nilai dipakai untuk proses
transformasi menjadi keluaran yang diinginkan.
Transformasi nilai menjadi keluaran dilakukan melalui suatu perhitungan (komputasi).
Cara perhitungan itu dinyatakan dalam suatu ekspresi. Ekspresiterdiridari operator
dan operand.
Operand adalah nilai yang dioperasikan dengan operator tertentu. Operator dapat berupa konstanta, nama peubah, atau hasil dari suatu fungsi.
Operand adalah nilai yang dioperasikan dengan operator tertentu. Operator dapat berupa konstanta, nama peubah, atau hasil dari suatu fungsi.
- Menuliskan Nilai ke Piranti Keluaran
Nilai yang
disimpan oleh memori dapat ditampilkan kepiranti keluaran.
Insturksi penulisan nilai kepiranti pengeluaran dilakukan dengan notasi write