Anda di halaman 1dari 42

Algoritma &

Pemrograman
Pertemuan 3
Tipe Data dan
Operator

Neneng Rachmalia Feta, S.Kom. M.Kom.


Agenda Perkuliahan

01 02 03
Pengenalan Penamaan Variabel & Tipe Data: Dasar,
C++ Konstanta Bentukan, & Abstract
Pengenalan
C++

—01
Sekumpulan instruksi yang
dijalankan komputer
menyelesaikan masalah
tertentu
Masalah

Program

Algoritma

Langkah-langkah penyelesaian Dibutuhkan


baik itu menggunakan kalimat - Text Editor
deskriptif, flowchart, & psudo- - G++ Compiler
code dikonversi menjadi source
code Bahasa Pemrograman
C++
Bahasa Pemrograman C++
o Notasi dengan aturan tertentu untuk
menulis program
o Kategori Bahasa
• Bahasa Mesin
• Bahasa Tingkat Rendah
(assembly diterjemahkan
menggunakan assembler)
• Bahasa Tingkat Tinggi
(dikompilasi atau
diinterpretasi)
Membuat web?
o C++ termasuk ke dalam bahasa
tingkat tinggi, diperlukan compiler
untuk menterjemahkan kode program
menjadi program
Struktur C++ (#) preprocessor directives,
sebelum kode program dikompilasi
dilakukan include file iostream
case sensitif, diperhatikan
huruf kapital
Fungsi utama yang
dijalankan pada saat
program dijalankan

Fungsi-fungsi yang terdapat pada file


ostream berada pada namespace std,
digunakan agar tidak harus menyertakan
namespace pada setiap penanggilan
Tempat menuliskan fungsi dari iostream
instruksi untuk
menyelesaikan
Fungsi dari iostream untuk menampilkan
masalah, termasuk
output berupa teks ke dalam layar
deklarasi variabel
(terminal).

Setiap akhir
statement/instruksi
Fungsi dari iostream untuk mengambil
diakhiri dengan ; simpan dengan
input dari pengguna kemudian
ekstensi cpp
menyimpannya ke dalam sebuah variabel
Pola Pikir

Input Proses Output

Penyelesaian masalah Pemrosesan input Hasil pemrosesan


seringkali membutuhkan membutuhkan tempat ditampilkan ke user
input berupa angka atau sementara untuk
yang lainnya untuk menampung hasil proses,
diproses. dan dimungkinkan
melibatkan nilai yang tetap
Input dari pengguna perlu seperti PHI
ditangkap dan disimpan
oleh program untuk dapat
diproses

o deklarasikan o deklarasikan o Tampilkan hasil


semua variabel variabel untuk pemrosesan data
yang dibutuhkan pemrosesan input yang disimpan pada
variabel
o lakukan
pemrosesan data,
Input & Variabel

Deklarasikan semua
variabel yang
diperlukan di dalam Deklarasikan variabel nama
fungsi main
tipedata variabel;
dengan memberikan nilai
awal

string alamat;
float bobot = 0.4;
int nilaiUTS = 0;
string nama = “Rahmat”;
Mengganti isi variabel nama
nama = “Firman”; dari Rahmat menjadi Firman

Mengganti isi variabel nama


cin >> nama;
dengan meminta input dari
user
nama = “Nia”;
Menghitung bobot dikali 76, Mengganti isi variabel nama
yaitu 0.4 * 76, hasilnya dari input oleh user menjadi
disimpan pada variabel nilaiUTS = bobot * 76;
Nia
nilaiUTS Mengisi variabel alamat
alamat = nama; dengan nilai yang ada
pada nama
Output

Menampilkan string
ke layar
Menampilkan isi
variabel nama ke layar
Penamaan
Variabel &
Konstanta
—02
Penamaan Variabel

• Penamaan adalah konsep yang penting

• Karena pada dasarnya program adalah proses


memanipulasi objek-objek di dalam memori, maka objek
tersebut harus diberi nama

• Objek diberi nama agar mudah diidentifikasi, diacu dan


dibedakan dari objek lainnya

• Setiap nama harus unik dalam lingkup yang sama


Penamaan Variabel
Aturan mengenai penamaan variabel/konstanta:

o Nama harus dimulai dengan huruf o Karakter-karakter di dalam nama tidak


alfabet, tidak boleh dimulai dengan boleh dipisah dengan spasi. Sebab
angka, spasi, atau karakter khusus nama adalah kesatuan leksikal
lainnya
o Keyword tidak dapat digunakan
o Huruf besar atau huruf kecil tidak
masalah o Nama sebaiknya interpretative yaitu
mencerminkan nilai intrinsic atau fungsi
o Karakter penyususan nama hanya boleh yang dikandungnya
huruf alfabet, angka dan „_‟

o Nama tidak boleh mengandung


operator aritmatika, operator relasional,
tanda baca, dan karakter khusus lainnya
Penamaan Variabel

Salah Benar

o 6titik o Titik6 atau titik_6


o Nilai ujian o Nilai_ujian atau nilaiujian
o PT-1 o PT_1 atau PT1
o Hari! o Hari
o A1 o A1
o if
o else
o int
Tipe Data

—03
Tipe Data Dasar

Boolean

Integer

Float/Double

Character
Tipe Data Dasar
Boolean
o Tipe data bilangan logika disebut Boolean

o Diambil dari nama seorang matematikawan Inggris, George Boole.

o Tipe data Boolean hanya mengenal dua buah nilai, yaitu benar (true)
atau salah (false)

o Operasi yang dapat digunakan terhadap tipe data Boolean dikenal


dengan operasi logika atau operasi Boolean.

o Operasi logika menghasilkan nilai true atau false. Operator logika


yang umum digunakan untuk operasi logika adalah: not, or, and dan
xor
Tipe Data Dasar
Operasi - Boolean
Misal status dan statusKelulusan adalah variable yang bertipe Boolean
maka cara menuliskannya adalah sebagai berikut:
Remember!
• Operator and hanya akan bernilai benar
bila a dan keduanya bernilai benar.
bool status; • Operator or hanya akan bernilai salah
bila a dan b keduanya bernilai salah.
bool statusKelulusan; • Sedangkan operator xor akan bernilai
benar bila a dan b saling berlawanan nilai
kebenarannya

a Not a a b a and b a b a or b a b a xor b


True False True True True True True True True True False
True False True False False True False True True False True
False True False True False False True True False True True
False True False False False False False False False False False

Tabel kebenaran dari a dan b – truth table


Tipe Data Dasar
Operasi pada Boolean

Misalkan X, Y, dan Z adalah variable yang bertipe Boolean, X bernilai true, Y


bernilai false, dan Z bernilai true, maka:

Operasi logika Hasil

(X and Y) or Z True

X and (Y or Z) True

Not (X and Z) False

(Y xor Z) and Y False


Tipe Data Dasar
Integer
o Bilangan bulat adalah bilangan yang tidak
mengandung pecahan desimal, misalnya 34, 9,
0, -17, 34588, dsb

o Nama tipe data bilangan bulat adalah integer

o Operasi yang dilakukan terhadap bilangan bulat int umur;


ada dua macam, yaitu operasi aritmatika dan int jumlahMataKuliah;
operasi perbandingan.

o Misal umur dan jumlahMataKuliah adalah


variable yang bertipe Integer maka cara
menuliskannya adalah sebagai berikut:
Tipe Data Dasar
Operasi Aritmatika - Integer
Operasi aritmatika terhadap bilangan bulat operand
sembarang operator aritmetika menghasilkan nilai
yang bertipe bilangan bulat

c=a+b

operator

https://www.w3schools.com/cpp/cpp_operators.asp
Tipe Data Dasar
Operasi Perbandingan - Integer
Operasi perbandingan terhadap bilangan bulat dengan salah satu
operator relasional menghasilkan nilai Boolean (true atau false).

Contoh:
3 < 10 (true)
10 > 3 (true)
5 <= 5 (true)
10 == 10 (true)
(24 / 3) != 8 (false)

https://www.w3schools.com/cpp/cpp_operators_comparison.asp
Tipe Data Dasar
Float/Double
o Tipe data float/double dapat menampung nilai yang
meiliki pecahan decimal, misalnya 5.45, 0.003, 29.0,
dsb.

o 18  bilangan bulat
float nilaiUTS;
o 18.0  bilangan desimal
double IPK;
o Operasi yang dilakukan terhadap tipe data float/double
ada 2 macam, yaitu operasi aritmatika dan operasi
perbandingan

o Float memiliki ketelitian data 7 angka dibelakang koma,


sedangkan double 15
Tipe Data Dasar
Operasi Aritmatika -Float/Double operand
Operasi aritmatika terhadap bilangan desimal
sembarang operator aritmetika menghasilkan nilai
yang bertipe bilangan desimal
c=a+b

operator
Contoh:
3.0 + 10 .0 (hasil: 13.0)
8.0 – 2.8 (hasil: 5.2)
10.0 / 3.0 (hasil: 3.333
10 / 2.5 (hasil: 4.0) 
https://www.w3schools.com/cpp/cpp_operators.asp operasi bilangan campuran
7.2 * 0.5 (hasil: 3.6)
Tipe Data Dasar
Operasi Perbandingan - Float/Double
Operasi perbandingan terhadap bilangan desimal dengan salah
satu operator relasional menghasilkan nilai Boolean (true atau
false).

Contoh:
0.3 < 0.003 (false)
8.0 ≥ 3 (true)
3.0 ≠ 3.5 (true)

https://www.w3schools.com/cpp/cpp_operators_comparison.asp
Tipe Data Dasar
Character

o Tipe data char mampu menyimpan


sebuah huruf yang ada di dalam alphabet
(„a‟ <. „z‟, „A‟ <. „Z‟), tanda baca ( „.‟ , ‟:‟ , „?‟ , „=‟
dan lain-lain) maupun karakter special („$‟ char hurufMutu;
char kodeDepartemen;
, „#‟ , „@‟ , „^‟ , „~‟ dan lain-lain).

o Karakter ditulis diantara dua tanda petik


char
tunggal. bukan char

• „a‟ • aa
• „$‟ • „$s‟
• „9‟ • 9
• „=‟ • false
• „0‟ • „false‟

hati2 menuliskan ‘9’ adalah karakter, tetapi 9


Tipe Data Dasar
Character

● Operasi yang dapat dilakukan pada tipe karakter adalah


operasi perbandingan
● Operator perbandingan yang berlaku untuk tipe karakter
adalah:

Contoh:
• < (lebih kecil)
‘a’ = ‘a’ (true)
• ≤ (lebih kecil atau sama)
‘T’ = ‘t’ (false)
• > (lebih besar)
‘m’ < ‘z’ (true)
• ≥ (lebih besar atau
‘Q’ > ‘Z’ (false)
sama)
‘y’ ≠ ‘Y’ (true)
• = (sama)
‘1’ < ‘2’ (true)
• ≠ (tidak sama)
Tipe Data Bentukan

String o Tipe data yang dibentuk dari tipe


data dasar

o Tujuan:
Array
• Mempermudah proses
pemrograman
• Mempermudah penambahan
Struct variable
• Pengelompokan data sehingga
lebih teratur
Tipe Data Bentukan
String
string nama;
● String adalah untaian karakter dengan string alamat;
Panjang tertentu.
● String bukan tipe data murni karena
disusun dari elemen-elemen bertipe char.
Concatenation:
● Domain nilai untuk tipe string adalah nama = nama + alamat;
deretan karakter yang telah didefinisikan
pada tipe data char.
string bukan string
● String kosong (null) adalah string yang
panjangnya nol dan dilambangankan • “a” • false
dengan ‘’. Dengan kata lain, string kosong • “$” • True
sama dengan karakter kosong. • “9” • 1234
• “021”
• “Bandung”
• Jl. Pahlawan No 70”
• “true”
• “false”
Tipe Data Bentukan
String
● Operasi data bertipe string memiliki dua macam operasi:
○ Operasi penyambungan (Concatenation)
■ Operator  +

■ Operator “+” yang dimaksud disni berarti penyambungan. Bila a dan b adalah
peubah bertide string, maka a + b sama dengan ab

■ Contoh:

● “Teknik” + “Mesin” = “TeknikMesin”

● “aa” + “bbb” = “aabbb”

● “aa” + “ bbb” = “aa bbb”

● „1‟ + „2‟ = „12‟ (namun 1 + 2 = 3, mengapa?)

String yang disusun oleh gabungan numerik dan karakter sering dinamakan alfanumerik. Cont
Tipe Data Bentukan
Array Operasi yang dapat dilakukan
bergantung pada tipe data

o Tipe data yang dapat menyimpan lebih dari


1 nilai

o Suatu set dari alokasi data, dengan jenis data int nilaiUTS[];
string alamat[5];
yang sama untuk tiap alokasi tersebut

o Dimensi dari array dimulai dari 1 sampai


dengan tak hingga
Dapat menyimpan 5 alamat:
o Menyimpan sekumpulan data, dengan tipe - alamat[0]
data seragam - alamat[1]
- alamat[2]
- alamat[3]
o Untuk mengakses elemen data digunakan - alamat[4]
subscript  [ ], dengan nomor indek di
dalamnya
Tipe Data Bentukan
Masalah
10 siswa
10 * 6 variabel
Terdapat suatu kasus dimana dibutuhkan program untuk
mencatat data siswa dengan detail di bawah, digunakan 6
variabel untuk mengakomodasi kebutuhan:

Membuat tipe data


baru yang memuat 6 Ketika pencatat data siswa digunakan untuk 3
variabel tersebut orang siswa, maka jumlah variabel menjadi
semakin banyak. (3*6 = 18 variabel)
Tipe Data Bentukan
Struct
o Merupakan tipe data terstruktur di mana dapat
memuat satu atau lebih tipe data lain

o Digunakan untuk pengelompokan data

Dibutuhkan 3 variabel untuk menggantikan


18 variabel sebelum menggunakan struct

Mendefinisikan tipe data baru yaitu Siswa dengan struktur di


dalamnya terdiri atas beberapa data dengan tipe nya masing-
masing
Tipe Data Bentukan

• Tipe data bentukan adalah tipe yang didefinisikan sendiri


oleh pemrogram (user defined data type).
• Tipe data bentukan disusun oleh satu atau lebih tipe
dasar.
• Ada dua macam tipe bentukan menurut beberapa
referensi:
1. Tipe dasar yang diberikan nama dengan nama tipe
baru,
2. Tipe terstruktur
Tipe Data Bentukan – Tipe dasar yang diberikan nama dengan
nama tipe baru

• Pemberian nama baru agar lebih memudahkan interpretasi orang yang


membaca teks algoritma
• Pemberian nama baru untuk tipe data dasar dengan menambahkan kata
kunci type
• Ranah nilai, cara menulis dan operasi-operasi terhadap tipe baru tersebut
tidak berubah, tetap sama dengan tipe dasar aslinya
• Contoh:
• DEKLARASI
• type BilanganBulat: integer
• P : BilanganBulat
Tipe Data Bentukan – Tipe Terstruktur

• Tipe terstruktur adalah tipe yang berupa rekaman (record).


• Rekaman disusun oleh satu atau lebih field
• Tiap field menyimpan data dari tipe dasar tertentu atau dari tipe
bentukan lain yang sudah didefinisikan sebelumnya
• Nama rekaman ditentukan sendiri oleh pemrogram, selanjutnya nama
rekaman tersebut menjadi nama tipe baru

Tipe terstruktur dengan N buah field

type nama_data: record < variable1 : tipe data, …, variableN :


tipe data>
Tipe Data Bentukan – Tipe Terstruktur
Tipe Data Bentukan – Tipe Terstruktur

Tipe terstruktur yang mewakili jam. Jam dinaytakan sebagai (hh),


menit(mm), detik(ss).
Deklarasi
type Jam : record < hh : string,
mm : string,
ss : string > hh mm ss
J : Jam
Maka cara mengacu tiap field pada J adalah:
J  variable yang bertipe Jam
J.hh
J.mm
J.ss
Contoh konstanta : <12,45,10>,<12,12,19>,<10,23,1>
Tipe Data Bentukan – Tipe Terstruktur

Seseorang melakukan percakapan dari jam awal dan selesai pada jam akhir
(dalam format hh:mm:ss). Tulislah algoritma yang membaca jam awal dan
akhir percakapan, lalu menghitung lama percakapan dalam format waktu
hh:mm:ss dengan cara menganalisis kasus. Contoh seperti di bawah ini :

Awal Akhir Durasi (Akhir-Awal)

8 : 40 : 12 8 : 45 : 36 0 : 5 : 24

8 : 40 : 54 8 : 42 : 10 0 : 1 : 16

8 : 40 : 40 10 : 20 : 36 1 : 39 : 56
Tipe Data Bentukan – Tipe Terstruktur
Tipe terstruktur untuk jadwal kereta api. Jadwal keberangkatan kereta api terdiri atas
informasi nomor kereta api (NoKA), kota asal (KotaAsal), kota tujuan (KotaTujuan), jam
berangkat (JamBerangkat), dan jam tiba (JamTiba)
Deklarasi
type JadwalKA : record < NoKA : string,
KotaAsal : string,
KotaTujuan : string,
JamBerangkat : jam,
JamTiba : jam>
JKA : JadwalKA
Maka cara mengacu tiap field pada JKA adalah:
JKA.NoKA
JKA.KotaAsal
JKA.JamBerangkat
JKA.JamBerangkat.hh
JKA.JamBerangkat.mm
JKA.JamBerangkat.ss
Tipe Data Abstract

Stack

Queue

Tree Root

Tipe data yang dikaitkan


dengan fungsi-fungsi
yang beroperasi pada Leaf Leaf
data yang bersangkutan
Referensi

o Algoritma dan Pemrograman Edisi Keenam oleh Rinaldi Munir,


Leony Lidya, 2016

o https://www.tutorialspoint.com/cplusplus

o https://www.w3schools.com/cpp
THANKS!
Algoritma

Please keep this slide for attribution

Anda mungkin juga menyukai