Dasar Komputer dan Pemograman

Download Report

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 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.