pertemuan 4 tipe data dan operasi
DESCRIPTION
ALPROTRANSCRIPT
TEE 2103 Algoritma & Pemrograman
Tipe Data dan Operasi
Dosen: Abdillah, MITHP: 0853 6581 8665Email: [email protected]: 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 DasarDalam 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 juga dan dinyatakan dalam sebuah tabel kebenaran yang dapat diingat dengan mudah.
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 KarakterOperasi 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 adalah operasi penyambungan dan operasi perbandingan.
Operator penyambungan adalah “+”. Bila a dan b adalah string, maka a + b = ab.
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 programmer ingin memberi nama baru terhadap sebuah tipe dasar yang sudah dikenal. Tujuannya adalah agar lebih mudah diinterpretasi oleh orang yang membaca teks algoritma.
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_DetikDEKLARASItype Jam : record < hh : integer {jam} mm : integer {menit} yy : integer {detik} >J : JamTotalDetik : integerALGORITMA: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 <stdio.h>void main(){
/* DEKLARASI */typedef struct {int hh, mm, ss ;
} Jam;Jam J;int TotalDetik;/* ALGORITMA */printf("Ketikkan Jam = "); scanf("%d",&J.hh);printf("Ketikkan Menit = "); scanf("%d",&J.mm);printf("Ketikkan Detik = "); scanf("%d",&J.ss);TotalDetik = (J.hh*3600) + (J.mm*60) + J.ss;printf("Total detik = %d", TotalDetik);
}
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.