Anda di halaman 1dari 31

ALGORITMA & PEMROGRAMAN I

Kuliah ke II

Pokok Bahasan :
Tipe dasar dan Tipe bentukan
Nama dan Harga
Perintah Input dan Output
Konversi ke bahasa C++ (latihan)

11/04/21 1
TIPE, DAN NAMA
Mendefinisikan tipe data berarti [LIE96] :
- Menentukan nama tipe data tersebut
- Mendefinisikan domain nilai yg dapat dipunyai oleh
nama tersebut
- Perjanjian ttg cara menulis konstanta bertipe tersebut
- Operator yg dpt dioperasikan terhadap obyek bertipe
tersebut
Tipe data dapat dikelompokkan atas dua macam :
1. Tipe dasar (simple)
2. Tipe bentukan (komposisi) Tipe Dasar Tipe Bentukan
3. Pointers Bilangan lojik String
Bilangan Bulat Record
Bilangan riil /rekaman
karakter Array / larik
List / Senarai

11/04/21 2
C++ ‘s Data Types

Simple Structured Pointers

Integral Floating Point Enumeration

Char Float
Short Double
Int Long double
Long
Bool
Unsigned char Data Type Values Storage (in
Unsigned short bytes)
Unsigned int int -2147483648 to 4
Unsigned long 2147483647
bool True and False 1

char -128 to 127 1


TYPE

11/04/21 4
BILANGAN LOJIK (BOOLEAN)
Sering dinamakan juga boolean, yg mempunyai dua nilai : benar (TRUE)
dan salah (FALSE)
Jika a dan b adalah variabel dengan tipe boolean, maka berlaku
operator-operator berikut ini :

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


true True False True True False
true False False False True True
false True True False True True
False False True False false False

11/04/21 5
BILANGAN BULAT (INTEGER)
Bilangan bulat merupakan bilangan yg tidak mengandung pecahan desimal, misal
0,2,8,34,1019.
Operator Aritmatika : + : tambah
- : kurang
* : kali
/ : bagi
% : sisa hasil bagi (modulus)
Operator relasional / perbandingan : (hasil operasi : bilangan bertipe boolean)
< : lebih kecil dari
> : lebih dari
<= : lebih kecil atau sama dengan
>= : lebih besar atau sama dengan
= : sama dengan
<> : tidak sama dengan

11/04/21 6
BILANGAN RIIL (FLOAT)
Bilangan riil mengandung . (titik) dalam nilai konstanta-nya. Misal 1.4
Operator Aritmatika : +, -, *, /
Operator Relasional : <, <=, >, >=. <>

KARAKTER (CHAR)
Data dalam tipe karakter dituliskan dalam tanda petik ‘ ‘, contoh : ‘a’, ‘0’
Operator relasional : <, >, >=, =, <>,
Contoh : ‘a’ = ‘a’ (benar)
‘T’ = ‘t’ (salah)
‘m’ < ‘z’ (benar)

11/04/21 7
• String Type
– Berisi nol atau lebih karakter
– Dituliskan diantara tanda petik (“)
– Contoh : “Mickey” atau “ “
– Contoh : “William” panjang string 7,
» posisi ‘W’ adalah 0
» posisi ‘a’ adalah 5
String
// my first string
#include <iostream>
#include <string>
using namespace std;
int main ()
{ string mystring = "This is a string";
cout << mystring;
return 0;
}

11/04/21 9
// my first string
#include <iostream>
#include <string>
using namespace std;
int main ()
{ string mystring;
mystring = "This is the initial string content";
cout << mystring << endl;
mystring = "This is a different string content";
cout << mystring << endl;
return 0;
}

11/04/21 10
Contoh Program Inisialisasi Variabel
// initialization of variables
#include <iostream>
using namespace std;
int main ()
{ int a=5; // initial value = 5
int b(2); // initial value = 2
int result; // initial value undetermined
a = a + 3;
result = a - b; cout << result; return 0;
}

11/04/21 11
Statements
Statements are terminated by a semicolon ``;''.

We can group multiple statements into blocks by enclosing them in curly brackets.

Within each block, we can define new variables:

{ int i; /* Define a global i */


i = 1; /* Assign i the value 0 */
{ /* Begin new block */
int i; /* Define a local i */
i = 2; /* Set its value to 2 */
} /* Close block */
/* Here i is again 1 from the outer block */
}

11/04/21 12
• Assignment Statement
Variable = expression;
Contoh : I = 12;
I = I + 1;

• Input Statement
cin>> variable;
contoh : cin>>I;

• Output Statement
cout<<variabel;
cout<<“…………”;
cout<<expression or manipulator;
Ilustrasi assignment statement dan input statement memanipulasi variabel

Int firstNum, secondNum;


Double z;
Char ch;
//statement yang akan dieksekusi
1. firstNum = 4;
I II III IV
2. secondNum = 2 * firstNum + 6;
3. z = (firstNum + 1) / 2.0; firstNum ? 4 4 4
4. ch = ‘A’;
secondNum
? ? 14 14

z ? ? 2.5 2.5

ch
? ? ? A
Contoh “Output Statement”
Statement Output
cout<<29/4; 7
cout<<“Hello Dear...”<<endl; Hello Dear...
cout<<12<<endl; 12
cout<<7+7<<endl; 14
cout<<“7+7”<<endl; 7+7
cout<<‘A’<<endl; A
cout<<“Hello \n there.”<<endl; Hello
there.
Commonly Used Escape Sequences
Escape Sequences Description
\n Newline Insertion point moves to the beginning of the next line

\t Tab Insertion point moves to the nest tab stop

\b Backspace Insertion point moves one space to the left

\r Return Insertion point moves to the beginning of the current line (not the
nest line)

\\ Backslash Backslash is printed

\’ Single quotation Single quotation mark is printed

\” Double quotation Double quotation mark is printed


11/04/21 17
Operator

11/04/21 18
Operator Increment dan Decrement
• Increment
– Menambahkan nilai dengan 1
– Terdiri atas pre-increment atau post-increment
• Decrement
– Mengurangi nilai dengan 1
– Terdiri atas pre-decrement atau post-decrement
Contoh :
Pre-increment : ++variable ++count ; // nilai variabel count bertambah 1
count++; // nilai variabel count bertambah 1
Post-increment : variable++
--count ; // nilai variabel count berkurang 1
Pre-decrement : --variable Count--; // nilai variabel count berkurang 1
Post-decrement : variable--
Preprocessor Directives
• Sebagai header file • Using namespase std
• Pemanggilan library – Deklarasi std
• Ditandai dengan “#” – untuk pemakaian
multiple header
• Kata kunci include
• Sintaks
#include<headerFileName>
Contoh :
#include<iostream>
Contoh
a = a + 1;
b = a;
• you can use the preincrement operator
b = ++a;
• Similarly, if you have the following
order of statements:
b = a;
a = a + 1;
• you can use the postincrement operator
b = a++;

11/04/21 21
Variabel dan Constanta
• Penamaan variabel/identifier terdiri atas huruf dan/atau
angka (digit)
• Dimulai dengan huruf
• Tanpa spasi

• Constanta menggambarkan nilai identifier yang tidak berubah


/ tetap selama program dijalankan
• Diawali dengan kata kunci ‘const’

Contoh :
const double a; // konstanta dengan nama variabel a dan bertipe double
double x; // variabel dengan nama x dan bertipe double
Compound Assignment Statement
Simple Assignment Statement Compound Assignment Statement
i = i + 5; i +=5;
count = count + 1; count +=1;
sum=sum+x; sum +=x;
y = y + (x+1); y *=y+1;
x = x / (y+5); x /= y+5;

Setiap compound assignment statement dapat dikonversi ke simple assignment


statement., namun tidak mudah untuk dikonversi sebaliknya.
Contoh Analisa Masalah dan Program
Tuliskan program yang dapat menerima masukan nilai panjang dalam satuan kilometer dan
meter. Program harus dapat me-konversi ke dalam nilai panjang dengan satuan centimeter !
Berarti :
input : panjang dalam satuan kilometer (km) dan meter (m)
output : panjang dalam satuan centimeter

Analisa masalah dan algoritmanya


Panjang dalam satuan km dan m dan Anda perlu mengkonversi ke dalam cm
Rumusan : 1 km = 100000 cm
1 m = 100 cm
Bisa dilakukan dengan konversi satu persatu atau atau konversi ke m dan jumlahkan m
kemudian baru dikonversi ke cm
Berdasarkan analisa tersebut maka dapat disusun urutan aksi dalam algoritma adl :
1. Ambil nilai panjang dalam km dan m
2. Konversi masing-masing ke cm
3. Jumlahkan
4. Output panjang dalam cm
• Variable
input program dalam dua satuan nilai yaitu km dan m, sekaligus dapat
diberi nama variabel ‘km’ dan ‘m’
• Type
variabel km dan m dapat bernilai bilangan bulat (int)
Variabel dan tipe dideklariskan sebagai berikut :
int km; // variabel untuk nilai panjang dengan satuan kilometer
int m; // variabel untuk nilai panjang dengan satuan meter
double cm; // variabel untuk menyimpan nilai hasil konversi ke centimeter
Algoritma utama
Echo input nilai-nilai panjang dalam km dan m
// contoh cout<<“masukkan nilai panjang dalam kilometer”;
Input nilai km;
cin>>km;
Input nilai m;
cin>> m;
Konversi ke dalam cm;
cm = km*100000+m*100;
Output nilai panjang dalam cm;
cout<<cm;
Latihan
Buatlah analisa masalah dan algoritma untuk
permasalahan :
Tuliskan program yang dapat menerima
masukan nilai waktu dalam satuan jam.
Program harus dapat me-konversi ke dalam
nilai waktu dengan satuan menit dan detik !
Analisa
• Input : angka dalam satuan jam
• Output : nilai dalam satuan menit dan detik
(sebagai hasil konversi dari nilai jam)
Urutan proses/algoritma :
• Ambil nilai dalam jam, tipe int
• Konversi jam ke menit dan detik dengan rumus :
1 jam = 60 menit dan 1 jam = 3600 detik
• Outputkan nilai dalam menit dan detik
Urutan program
// nama program .... Oleh .... Tgl.....
#include <iostream>
using namespace std;
Int main()
{
Int jam; // variabel mewakili jam
Int menit, detik; // variabel mewakili mnt & dtk
cout<<“masukkan nilai jam”;
cin>>jam;
cout<<menit=jam*60, “menit ”<<detik=jam*3600,” detik”<<endl;
return 0;
}
Summary (1)
• Program C++ merupakan sekumpulan function
• Setiap program C++ memanggil fungsi main
• Dalam C++, identifier adalah nama dari sesuatu (things)
• Identifier berisi sekumpulan huruf, angka/digit, underscore _, harus dimulai dengan huruf
atau underscore
• Kata-kata kunci (reserved word) tidak dapat digunakan sebagai identifier
• Semua reserved word dituliskan dalam huruf kecil
• Karakter ASCII dengan 128 nilai dan EBCDIC dengan 256 nilai
• Operator aritmatika : +, -, *, /, dan % (operator modulus % hanya untuk operand integer)
• Ekspresi dengan tipe operand yang berbeda (integer dan floating point/decimal number),
maka pada saat evaluasi operator, int dikoversi ke float dan bagian decimal adalah 0 (ex. 2.0)
• Selama program dieksekusi, nilai dan nama konstanta tidak berubah (deklarasi const), nama
diinisialisasi pada saat dideklarasi
• Semua variabel dideklarasi sebelum digunakan, C++ tidak secara otomatis me-inisialisasi
variabel
• Setiap variabel mempunyai nama, nilai, type data dan ukuran
• Nilai variabel berubah dengan assignment statement atau input statement
• ‘>>’ digunakan untuk input statement (extraction operator)
Summary (2)
• ‘<<‘ digunakan untuk output statement (insertion operator)
• Untuk menggunakan cin dan cout progam harus mempunyai header file iostream dan juga
statement using namespace std.
• Preprocessor command diawali dengan tanda ‘#’
• Statemet diakhiri dengan semicolon ‘;’
• Terdapat tiga komponen dalam sistem C++ yaitu environment, language, dan standard
libraries (berisi fungsi-fungsi)
• Program C++ diakhiri dengan ‘.cpp’
• Komentar tunggal (single line) diawali dengan //
• Komentar multiline dituliskan diantara /* ... */
• Compiler me-skip komentar
• Pada C++ mempunyai compound operator, misal *=

Anda mungkin juga menyukai