Transcript Dasar Komputer dan Pemograman
TEE 2103
Algoritma & Pemrograman Tipe Data dan Operasi
Dosen: Abdillah, MIT HP: 0853 6581 8665 Email: [email protected]
Website: http://abdill01.wordpress.com
Tujuan
Mahasiswa memahami penggunaan tipe data dan operator serta penulisannya dalam
pseudocode.
Apa itu Tipe Data?
Tipe sebuah data menentukan himpunan nilai yang dapat dimilikinya dan operasi yang dapat dilakukan pada data tersebut. Operasi adalah instruksi yang dilakukan terhadap sebuah data. Misalnya, pada operasi
a
+
b
, masing-masing
a
dan
b
adalah operand, sedangkan “+” adalah operatornya.
Nilai-nilai yang dapat dimiliki oleh tipe tersebut dinyatakan dalam ranah nilai (
domain
).
Macam-macam Tipe Data
Ada 2 macam tipe data:
1. Tipe dasar
(tipe yang dapat langsung dipakai)
2. Tipe bentukan
(dibentuk dari tipe dasar atau dari tipe bentukan lain)
Tipe Dasar
Dalam dunia pemrograman, yang termasuk dalam tipe dasar adalah: 1. Bilangan biner (boolean) 2. Bilangan bulat 3. Bilangan riil 4. Karakter 5. String
Bilangan Biner
Bilangan biner adalah bilangan yang hanya memiliki dua buah nilai,
0
dan
1
.
Nama tipe bilangan biner adalah
boolean
. Karena ranah nilai tipe
boolean
hanya beranggotakan dua buah nilai, maka konstanta yang terdapat pada tipe ini adalah
true
dan
false
.
Operasi pada Bilangan Biner
Operasi yang dapat dilakukan terhadap tipe boolean, dikenal dengan
operasi logika
.
Operator logika yang umum digunakan untuk operasi logika adalah:
not, and, or,
dan
xor.
Operasi dengan operator logika menghasilkan nilai dalam ranah nilai tipe
boolean
dapat diingat dengan mudah.
juga dan dinyatakan dalam sebuah tabel kebenaran yang
Bilangan Bulat
Bilangan bulat adalah bilangan yang tidak mengadung pecahan. Dalam bahasa C ada 4 macam tipe bilangan bulat, yakni
unsigned
char, signed char, unsigned int, integer
dan
long int
. Tipe yang umum digunakan adalah
integer
yang memiliki rentang nilai -32768 sampai +32767.
Operasi pada Bilangan Bulat
Operasi yang dapat dilakukan terhadap tipe
integer
, adalah
operasi aritmetika dan operasi perbandingan
.
Operasi aritmetika yang berlaku adalah: +, -, *,
div
(bagi), dan
mod
(sisa hasil bagi).
Adapun operasi perbandingannya adalah: <, , >, , =, dan
.
Bilangan Riil
Bilangan riil adalah bilangan yang mengadung pecahan desimal. Dalam bahasa C ada 2 macam tipe bilangan riil, yakni
float
dan
double
. Setiap konstanta yang bertipe bilangan riil harus ditulis dengan tanda titik desimal, misal 0.78
Operasi pada Bilangan Riil
Operasi
yang dapat dilakukan terhadap bilangan riil, adalah
operasi aritmetika dan operasi perbandingan
.
Operasi aritmetika yang berlaku adalah: +, -, *, dan / (pembagian).
Adapun operasi perbandingannya adalah: <, , >, , dan
.
Perhatikan bahwa operasi perbandingan pada tipe bilangan riil tidak mengenal operator kesamaan =.
Karakter
Karakter adalah semua huruf abjad, semua tanda baca, angka ‘0’, ‘1’, …, ‘9’, simbol aritmetik dan karakter khusus seperti ‘&’, ‘^’, ‘%’, ‘#’, ‘@’ dan sebagainya. Konstanta karakter harus diapit oleh tanda petik tunggal. Nama tipe untuk karakter adalah
char
. Karakter kosong (
null
) adalah karakter yang panjangnya nol dan dilambangkan dengan ‘’.
Operasi yang dilakukan terhadap tipe karakter adalah
operasi perbandingan
.
Operasi pada Karakter
Operasi yang dilakukan terhadap tipe karakter adalah
operasi perbandingan
.
Operasi perbandingan yang berlaku adalah: <, , >, , =, dan
.
String
String adalah untaian karakter dengan panjang tertentu. Nama tipe string adalah
string.
Ranah tipe
string
sama dengan ranah tipe
char
.
Semua konstanta string harus diapit oleh tanda petik tunggal.
Operasi pada String
Operasi terhadap data bertipe
string
operasi penyambungan perbandingan
.
adalah dan
operasi
Operator penyambungan adalah “+”. Bila
a
adalah string, maka
a
+
b
=
ab
.
dan
b
Adapun operasi perbandingannya adalah: <, , >, , =, dan
.
Tipe Bentukan
Tipe bentukan adalah tipe yang didefinisikan sendiri oleh
programmer
. Tipe bentukan disusun oleh satu atau lebih tipe dasar. Ada 2 macam tipe bentukan: 1. Tipe dasar yang diberi nama tipe baru 2. Tipe terstruktur
Tipe Dasar yang Diberi Nama-Tipe Baru
Terkadang algoritma.
programmer
ingin memberi nama baru terhadap sebuah tipe dasar yang sudah dikenal. Tujuannya adalah agar lebih mudah diinterpretasi oleh orang yang membaca teks Ranah nilai, cara menulis konstanta dan operasi terhadap tipe baru tersebut sama dengan tipe dasar aslinya. Cara memberi nama baru untuk tipe dasar adalah dengan menggunakan kata kunci
type
.
Contoh:
type
BilanganBulat :
integer
Tipe Terstruktur
Tipe terstruktur adalah tipe yang berbentuk rekaman (
record
). Rekaman disusun dari satu atau lebih
field.
Tiap
field
menyimpan data dari tipe dasar tertentu atau dari tipe bentukan lain yang sudah didefinisikan sebelumnya.
field 1 field 2 …… field N
Contoh Tipe Terstruktur
Titik koordinat kartesian dinyatakan sebagai (x, y), dimana x adalah nilai absis dan y adalah nilai ordinat.
x y Cara menuliskan tipe
Titik Type Titik : record < x : real, y : real >
Atau dengan cara berikut:
Type Titik : record < x, y : real >
Kata kunci
record
menyatakan bahwa
Titik
adalah tipe terstruktur. Jika dideklarasikan P adalah variabel bertipe
Contoh Tipe Terstruktur
Hari dinyatakan sebagai tanggal (
dd
), bulan (
mm
) dan tahun (
yy
). Misalkan tipe bentukan tersebut diberi nama
Tanggal
.
dd mm yy
Cara menuliskan tipe
Tanggal Type Tanggal : record < dd : integer, mm : integer, yy : integer >
Jika
D
adalah peubah bertipe
Tanggal
, maka cara mengacu tiap
field
adalah:
D.dd
D.mm
D.yy
Contoh Tipe Terstruktur
Waktu dinyatakan sebagai jam (
hh
), menit (
mm
) dan detik (
ss
). Misalkan tipe bentukan tersebut diberi nama
Waktu
.
hh mm ss
Cara menuliskan tipe
Waktu Type Waktu : record < hh : integer, mm : integer, ss : integer >
Jika
W
adalah peubah bertipe
Waktu
, maka cara mengacu tiap
field
adalah:
W.hh
W.mm
W.ss
Contoh Algoritma
PROGRAM Konversi_ke_Detik DEKLARASI type Jam : record < hh : integer mm : integer
{menit} {jam}
yy : integer J : Jam TotalDetik : integer
{detik}
> ALGORITMA: read (jam, menit, detik) TotalDetik = (J.hh*3600) + (J.mm*60) + J.ss; write (TotalDetik)
Translasi Algoritma ke Bahasa C
/*Program Konversi_ke_Detik*/ #include
Daftar Pustaka
1. Brian W. Kernighan, Dennis M. Ritchie,
The C Programming Language
, Prentice Hall, 2011.
2. Rinaldi Munir,
Algoritma dan Pemrograman dalam bahasa C
, Informatika, 2009.