Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
TEE 2103 Algoritma dan Pemrograman
Tipe Data dan Ekspresi Dosen: Abdillah, MIT Hp: Website:
2
Tujuan Mahasiswa memahami tipe data dan ekspresi, serta notasinya dalam pseudocode dan program C.
3
Tipe Data Tipe data adalah bentuk data yang menentukan himpunan nilai yang dapat dimilikinya dan jenis ekspresi yang dapat dilakukan pada data tersebut. Nilai-nilai yang dapat dimiliki oleh tipe data dinyatakan dalam ranah nilai (domain).
4
Ekspresi Ekspresi adalah operasi yang dilakukan terhadap sebuah data. Misalnya, pada operasi penjumlahan a + b, masing-masing a dan b adalah operand, sedangkan tanda + adalah operatornya. Ada empat macam jenis ekspresi: logika, aritmetika, perbandingan dan string.
5
Jenis Tipe Data Ada dua jenis tipe data:
Tipe dasar (tipe data yang dapat langsung dipakai) Tipe bentukan (tipe data yang dibentuk dari tipe dasar atau dari tipe bentukan lain)
6
Tipe Dasar Yang termasuk dalam tipe dasar adalah:
Bilangan logika (lojik) Bilangan bulat Bilangan pecahan (riil) Karakter String
7
Bilangan Lojik Bilangan lojik adalah bilangan yang hanya memiliki salah satu dari dua buah nilai, benar atau salah. Nama tipe bilangan lojik adalah boolean. Karena ranah nilai tipe boolean hanya beranggotakan dua buah nilai, maka konstanta yang terdapat pada tipe ini adalah true dan false.
8
Operasi Bilangan Lojik
Operasi yang dapat dilakukan terhadap tipe lojik, dikenal dengan operasi lojik atau operasi boolean. Operator logika yang umum digunakan untuk operasi logika adalah: not, and, or, dan xor. Operasi dengan operator lojik menghasilkan nilai dalam ranah nilai tipe boolean juga dan ditentukan dengan sebuah tabel kebenaran.
9
Tabel Kebenaran
10
Bilangan Bulat Bilangan bulat (integer) adalah bilangan yang tidak mengadung pecahan. Dalam bahasa C hanya ada 2 macam tipe bilangan bulat, yakni char dan int. Tipe yang umum digunakan adalah int yang memiliki rentang nilai sampai
11
Operasi pada Integer 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 .
12
Bilangan Riil Bilangan riil adalah bilangan yang mengandung 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
13
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 atau =.
14
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.
15
Operasi pada Karakter Operasi yang dilakukan terhadap tipe karakter adalah operasi perbandingan. Operasi perbandingan yang berlaku adalah: <, , >, , =, dan .
16
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 ganda.
17
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 .
18
Tipe Bentukan Tipe bentukan adalah tipe yang didefinisikan sendiri oleh programmer. Tipe bentukan disusun oleh satu atau lebih tipe dasar. Ada dua macam tipe bentukan: Tipe dasar yang diberi nama baru Tipe terstruktur
19
Tipe Dasar yang Diberi Nama 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
20
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 field …… field N
21
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.
22
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 dan D.yy
23
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 dan W.ss
24
Latihan Buatlah file KonversiKeDetik.c dan kemudian kompilasi dan eksekusi program seperti contoh berikut: Ketikkan Jam = 1 Ketikkan Menit = 1 Ketikkan Detik = 1 Total detik = 3661
25
Contoh Algoritma PROGRAM KonversiKeDetik DEKLARASI
type Jam : record < hh : integer mm : integer ss : integer > J : Jam TotalDetik : integer ALGORITMA: read (jam, menit, detik) TotalDetik = (J.hh*3600) + (J.mm*60) + J.ss; write (TotalDetik)
26
Translasi ke Bahasa C /*Program KonversiKeDetik*/
#include <stdio.h> 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); }
27
Latihan Buatlah file KonversiKeJamMenitDetik.c dan kemudian kompilasi dan eksekusi program seperti contoh berikut: Ketikkan total detik = 5000 Konversi total detik adalah 1 jam 23 menit 20 detik
28
Algoritma PROGRAM KonversiKeJamMenitDetik DEKLARASI
TotalDetik, sisa, hh, mm, ss : integer ALGORITMA: read (TotalDetik) hh ← TotalDetik div sisa ← TotalDetik mod mm ← sisa div 60 ss ← sisa mod 60 write (hh, mm, ss)
29
Program C /*Program KonversiKeJamMenitDetik*/ #include <stdio.h>
main() { /* DEKLARASI */ int TotalDetik, sisa, hh, mm, ss; /* ALGORITMA */ printf("Ketikkan total detik = "); scanf("%d",&TotalDetik); hh = TotalDetik / 3600; sisa = TotalDetik % 3600; mm = sisa / 60; ss = sisa % 60; printf (“Konversi total detik adalah %d jam %d menit %d detik", hh, mm, ss); }
30
Nama Dalam algoritma dan pemrograman, nama digunakan untuk mengidentifikasi dan mengacu sebuah objek. Oleh karena itu setiap nama haruslah unik, dan mematuhi aturan penulisan yang berlaku sama untuk algoritma dan bahasa pemrograman C.
31
Aturan Penamaan Nama dimulai dengan huruf.
Nama hanya menggunakan huruf, angka dan _ (underscore). Hanya satu kata. Membedakan huruf besar dan huruf kecil (case sensitive).
32
Contoh Penamaan Contoh penamaan yang salah: 9titik nilai ujian
PT-12 F 1 Contoh penamaan yang benar: titik9 atau titik_9 nilai_ujian atau NilaiUjian PT12 atau PT_12 F1
33
Deklarasi Semua nama objek harus dideklarasikan
sebelum mereka dapat digunakan. Deklarasi nama menentukan hal-hal berikut: Peubah (variabel) beserta tipenya Konstanta beserta nilainya
34
Deklarasi Peubah Peubah adalah tempat penyimpanan data di memori nilainya dapat diubah. Contoh: nilai_ujian : real k : integer c : char
35
Deklarasi Konstanta Konstanta adalah tempat penyimpanan data atau informasi di memori yang nilainya tidak dapat diubah selama pelaksanaan program. Notasi untuk menyatakan konstanta adalah const. Contoh: const phi = 3.14 const sandi = ‘xyz’
36
Nilai Nilai objek adalah besaran dari nama objek yang dideklarasikan. Nilai yang disimpan sebuah peubah adalah nilai yang terakhir yang disimpan ke dalamnya.
37
Cara Pengisian Nilai Nilai dapat diisikan dengan cara berikut:
Penugasan langsung Hasil operasi Hasil pembacaan input Nilai yang dikirim oleh fungsi
38
Penugasan Langsung Sebuah nilai dapat ditugaskan langsung pada sebuah nama peubah dengan ketentuan nilai tsb harus bertipe sama dengan peubah. Notasi penugasan adalah ←. Contoh: k : integer jarak : real type Titik : record < x,y : integer > P : Titik k ← 5 jarak ← 3.14 P.x ← 10 P.y ← 5
39
Penugasan Nilai Peubah dan Konstanta
Nilai sebuah peubah atau konstanta dapat ditugaskan pada peubah lain dengan ketentuan nilai konstanta harus bertipe sama dengan peubah. Contoh: const phi = 3.14 k : integer, jarak : real type Titik : record < x,y : integer > P : Titik k ← 5 jarak ← phi P.x ← 10 P.y ← k
40
Hasil Operasi Hasil operasi dapat ditugaskan pada sebuah nama peubah dengan ketentuan hasil operasi bertipe sama dengan tipe peubah. Contoh: A,B,C : integer a,b,c, determinan : real C ← A + B determinan ← b*b – 4*a*c
41
Hasil Pembacaan Input Nilai peubah dapat berasal dari piranti masukan seperti keyboard. Dalam algoritma, notasi pembacaan adalah read. Contoh: N : integer read (N)
42
Penulisan Nilai ke Piranti Keluaran
Nilai yang disimpan dalam memori dapat ditampilkan ke piranti keluaran seperti layar monitor. Notasi penulisan nilai sama dengan notasi pencetakan teks, yakni write. Contoh: N : integer write (“Masukkan nilai N: “) read (N) write (“Nilai yang dimasukkan adalah”, N)
43
Latihan Definisikan sebuah tipe terstruktur untuk menyatakan data nasabah di sebuah bank. Data nasabah terdiri atas field nomor rekening, nama nasabah, alamat nasabah, kota nasabah, nomor telepon nasabah. Untuk setiap field, definisikan tipe data yang cocok.
44
Daftar Pustaka Brian W. Kernighan, Dennis M. Ritchie,The C Programming Language, Prentice Hall, 2011. Rinaldi Munir, Algoritma dan Pemrograman dalam bahasa C, Informatika, 2009.
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.