P Pengantar t Pemrograman P Materi: Variabel, Variabel type dan konstanta Ekspresi & ass assignment g e t
Struktur Program C++ // my first program in C++ #include
iostream.h int main () { cout << "Hello Hello World! World!";; return 0; }
Struktur Program g C++
// my first program in C++
Baris ini merupakan tempat mulainya eksekusi program (program utama). Isi perintah untuk program utama terletak didalam sepasang kurung kurawal ({}).
coutt << "H "Hello ll W World"; ld"
Perintah yang dimulai dengan tanda (#) adalah pengarah preprocessor. Bagian ini bukan perintah yang bisa dieksekusi, tetapi merupakan indikasi kepada kompiler. Dalam kasus ini #include meminta preprocessor untuk menyertakan standard header file iostream yang berisi deklarasi input-output standard
int main ()
// Baris komentar /* Komentar block */
#include
Ini adalah komentar. Semua baris yang dimulai dengan // atau dikurung oleh pasangan /* …. */ adalah komentar yang tidak akan diproses oleh kompiler. Komentar sangat berguna untuk dokumentasi program
Ini perintah untuk mencetak. Perhatikan (;) sebagai akhir setiap satu baris perintah.
return 0;
Perintah return meminta main() untuk berhenti dan mengembalikan code yang mengikutinya, dalam kasus ini 0.
Variabel dan Jenis DATA Beberapa
jenis data dasar:
Karakter:
char Bilangan bulat, integer: • int • long int: bilangan bulat dengan range lebih besar dari int Bilangan
riil:
• float • double: bilangan g riil dengan g presisi dan p range lebih besar dari float Boolean: nilai True atau False
• bool
KONSTANTA Yang paling sederhana adalah angka bilangan bulat seperti: 0, 0 1, 1 2, 2 123 . Konstanta dengan titik desimal atau dengan huruf e (atau keduanya) adalah konstanta bilangan riil, seperti: 3.14, 10., .01, 123e4, 123.456e7. Huruf e menyatakan perkalian dengan pangkat 10. Contoh:
123.456e7 adalah 123.456 * 10 pangkat 7 = 1,234,560,000. (konstanta bilangan riil berjenis dobel)
KONSTANTA KARAKTER DAN STRING
Konstanta karakter: memakai tanda petik tunggal 'A' A , '.', '%' %. Nilai numerik konstanta karakter adalah nilai karakter tersebut sesuai (dalam ASCII, contohnya, 'A' mempunyai nilai 65.) String g adalah array y karakter (detail ( nanti). ) Konstanta string g memakai tanda petik ganda. "apple", "hello, world", "this is a test". Arti karakter \ didalam konstanta karakter atau string:
\n a ``newline'' character \b a backspace \r a carriage return (without a line feed) \' a single quote (e.g. in a character constant) \" a double quote (e.g. in a string constant) \\ a single backslash Contoh: "he he said \\"hi\"" hi\
DEKLARASI Variabel variabel (objek) dipakai untuk menyimpan suatu nilai Variabel harus dideklarasikan sebelum dipakai p Deklarasi menyatakan nama dan jenis variabel
char h c; int i; float f; int i1, i2; /* boleh beberapa variabel dalam satu baris */
Deklarasi boleh diikuti pemberian harga awal int i = 1; int i1 = 10, i2 = 20;
ALASAN DEKLARASI
It makes k things hi somewhat h easier i on the h compiler; il it knows right away what kind of storage to allocate and what code to emit to store and manipulate each variable; it doesn't doesn t have to try to intuit the programmer's intentions. It forces a bit of useful discipline on the programmer: you cannot introduce variables willynilly; you must think about them enough to pick appropriate types for them. (The compiler's error messages g to y you,, telling g you y that you y apparently pp y forgot to declare a variable, are as often helpful as they are a nuisance: they're helpful when they tell you that you misspelled a variable, or forgot to thi k about think b t exactly tl how h you were going i to t use it.) it )
NAMA VARIABEL
Nama variabel terdiri dari huruf,, angka g dan garis bawah (under score). Untuk kita, nama harus dimulai dengan huruf Nama boleh sangat panjang Huruf besar dan kecil dibedakan
Dodol, DoDol dan dodol adalah tiga variabel yang berbeda
Nama variabel tidak boleh sama dengan kata-kata kunci (keywords) & fungsi pustaka (library function)
Int, if, Int if for, for sin, sin cos, cos dll. dll Tidak boleh dipakai sebagai nama variabel
Kata-kata ata ata Kunci u c
JANGAN dipakai untuk nama Variabel
asm, auto, bool, break, case, catch, char, class, const, const_cast, continue, default, delete, do, double, dynamic_cast, else, enum, explicit, extern, false, float, for, friend, goto, if, inline, int, long, mutable, namespace, p , new,, operator, p ,p private,, protected, public, register, reinterpret_cast, return, short, signed, sizeof, static, static_cast, _ , struct,, switch,, template, p , this,, throw, true, try, typedef, typeid, typename, union, unsigned, using, virtual, void, _ volatile,, wchar_t
OPERATOR ARITMATIKA + * / % ++ --
addition subtraction multiplication division modulus (remainder) increment decrement
OPERATOR ARITMATIKA UTAMA
operator – untuk mengurangi dua angka (a - b), atau memberi tanda negatif ( -a a + b atau a + -b). b). Pembagian dua bilangan bulat menghasilkan bilangan bulat dengan membuang sisa pembagian: 7 / 4 adalah 1. 1 Apabila salah satu atau semua operand adalah bilangan riil hasil pembagian adalah bilangan riil : 7 0 / 4 adalah 7.0 d l h 1.75. 1 75 Operator modulus % memberikan sisa dari pembagian dua bilangan: 7 % 4 adalah 3.
PRECEDENCE
Multiplication, l i li i di division, i i and d modulus d l all ll h have higher precedence than addition and subtraction.
All off these th operators t ``group'' `` '' ffrom left l ft to t right, which means that when two or more of them have the same precedence and participate next to each other in an expression, expression the evaluation conceptually proceeds from left to right.
1 + 2 * 3 ekivalen dengan 1 + (2 * 3).
1 - 2 - 3 is equivalent to (1 - 2) - 3
Whenever the default precedence or associativity doesn't give you the grouping you want, you can always y use explicit p parentheses. p
if you wanted to add 1 to 2 and then multiply the result by 3, you could write (1 + 2) * 3.
OPERATOR ‘=‘
operator “=“ memberi nilai kepada variabel
x = 1 sets x to 1, and a = b sets a to whatever b's value is. i = i + 1 this expression takes i's old value, adds 1 to it, and stores it back into i.
c = a = b ekivalen dengan c = (a = b) untuk memberi nilai b kepada a dan c
Pemberian Harga Awal
Variabel dapat diberikan harga awal pada saat dideklarasikan, ada dua cara: type identifier = initial_value ; // C dan C++ type identifier (initial_value) ; // C++ Contoh:
int a = 0; int a ((0); );
tidak ada bedanya: Variabel diberikan harga awal pada saat dideklarasikan atau pada saat pertama kali dipakai int a = 10;
Atau int a; /* lalu... / lalu */ / a = 10;
OPERATOR ‘++‘ DAN ‘- -’
Operator ++; menambah satu ke variabel Int x = 10; x ++; /* sama artinya dengan x = x + 1; */
O Operator t --; mengurangii satu t ke k variabel i b l Int x = 10; x --;; /* sama artinya dengan x = x - 1; */
OPERATOR RINGKAS
O Operator +=
X += 10; /* sama artinya dengan x = x + 10; */
Operator -= X -= 10;
/* sama artinya dengan x = x - 10; */
Operator *=
X *= 10; /* sama artinya dengan x = x * 10; */
Operator /= X /= 10;
/* sama artinya dengan x = x / 10; */
Apa artinya?:
a *= b + c;
OPERATOR RELASIONAL Operator O == != < <= > >=
Meaning i equal to not equal q less than less than or equal to greater than greater than or equal to
Return R t 1 (TRUE) atau t 0 (FALSE) 1 < 2 is 1, 3 > 4 is 0, 5 == 5 is 1, and 6 != 6 is 0.
OPERATOR LOGIK && || !
and or not (takes one operand; ``unary'')
PEMANGGILAN FUNGSI
Fungsi akan dipelajari lebih mendalam pada kuliah selanjutnya. Disini akan ditunjukkan bagaimana memakai fungsi fungsi yang sudah disediakan oleh Kompiler. fungsi-fungsi Kompiler Fungsi dipanggil dengan menyebut namanya diikuti oleh sepasang tanda kurung. Kalau fungsi mengambil argumen, g didalam kurung. g kita letakkan argumen getchar();
Banyak fungsi mengembalikan suatu nilai. Nilai yang dikembalikan bisa disimpan variabel atau bisa langsung dipakai dalam suatu operasi c = sqrt(a * a + b * b); x = r * cos(theta);
CONTOH ASSIGNMENT #include #i l d < iiostream.h h> main() { int sum; float money; char h letter; l tt double pi; sum = 10; money = 2.21; 2 21 Letter = 'A'; pi = 2.01E6;
}
coutt cout cout cout
// assign integer value // assign i float fl t value l // assign character value // assign a double value
<< "value " l off sum = “ << sum << “\n”; “\ ” << "value of money = “ << money << “\n”; "value of letter = “ << letter << “\n”; << "value of pi = “ << pi << “\n”;
#include main() { int sum; float money; char letter; double pi; sum = 10; money = 2.21; letter = 'A'; pi = 2.01E6;
}
cout << "value cout << "value cout << "value cout << "value return 0;
// assign integer value // assign float value // assign character value // assign a double value of of of of
sum = " << sum << "\n"; money = " << money << "\n"; letter = " << letter << "\n"; pi = " << pi << "\n";
CONTOH Bekerja dengan Variabel dan Operator // operating with variables #include
// print out the result: cout << result;
int main () { // declaring variables: int a, b; int result;
// terminate the program: return 0;
// process: a = 5;; b = 2; a = a + 1; result = a - b;;
}
CONTOH Bekerja dengan Variabel dan Operator // Variabel dan Operators #include main() { int a, b, c, d = 3; float e, f, g; c = 10; a = c + d; b = c * d;; e = c/d; cout << a << b << c/d << c%d << d%c << e;
f = 1.0; g = 2.0; e = f/g; cout << f/g << f*g << e; a = 2147483648; b = 4294967295; cout << a << b; return 0; }
PREPROCESSOR STATEMENTS
Statemen define dipergunakan p g untuk membuat p program g lebih mudah dibaca /* Tanpa titik-koma ‘;’ */ //* karakter pertama dalam baris harus # *// #define TRUE 1 #define FALSE 0 #define NULL 0 #d fi #define AND & #define OR | #define EQUALS ==
Contoh: #define PI 3.14159265 #define NEWLINE '\n' // dipakai di k i pada d b baris i selanjutnya l j t d darii program Keliling_lingkaran = 2 * PI * r; cout << NEWLINE;
Konstanta yang Dideklarasikan Bisa
diberikan “jenis jenis data” data seperti layaknya variabel Bedanya B d dengan d variable, i bl nilainya il i tidak bisa diubah Umumnya dipakai untuk memudahkan membaca program
const int width = 100; const char tab = '\t';
INPUT DAN OUTPUT KE LAYAR // Output (cout) #include main() { int number; cout << "Type in a number \n"; cin >> number; cout << "The number you typed was“ << number<< “\n”; } Contoh Run Type yp in a number 23 The number you typed was 23
Mencetak Baris Baru Contoh: cout << "First First sentence.\n ";; cout << "Second sentence.\nThird sentence."; Hasilnya: First sentence. Second sentence. Third sentence. Cara lain dengan memakai endl manipulator. Contoh: cout << "First sentence." << endl; cout << "Second sentence." << endl; Hasilnya: First sentence. Second sentence.
KARAKTER KHUSUS Untuk FORMAT
\b backspace \f form feed \n new line \r carriage return \t horizontal tab \v vertical tab \\ backslash \“ double quote \‘ single quote \<enter> line continuation \nnnnnn = octal character value \0xnnnn = hexadecimal value (some compilers only)
printf("\007Attention, that was a beep!\n");
Contoh MEMBACA DAN MENCETAK #include < iostream.h > main() {
int sum; char letter; float money; cout << "Please enter an integer value "; cin >> sum; cout << "Please enter a character "; cin >> letter; cout << "Please enter a float variable "; cin >> money;
}
cout cout cout cout
<< << << <<
"\nThe variables y you entered were\n";; "value of sum = “ << sum << “\n”; "value of letter = “ << letter << “\n”; "value of money = “ << money << “\n”;
GAYA MENULIS PROGRAM (1) #include<stdio.h> #i l d di h main() { int sum,loop,kettle,job; sum loop kettle job; char Whoknows; sum=9; loop=7; whoKnows='A'; cout "Whoknows = “ << whoknows << “ kettle = “ << kettle << “\n”; }
GAYA MENULIS PROGRAM (2) #include main() { int sum, loop, kettle = 0, job; char whoknows;
}
sum = 9; loop = 7; whoknows = 'A'; cout o t "Whoknows "Whokno s = “ << whoknows hokno s << “ kettle = “ << kettle << “\n”;
GAYA MENULIS PROGRAM(3)
the { and } braces directly line up underneath each other This allows us to check ident levels and ensure that statements belong to the correct block of code. This becomes vital as programs become more complex spaces are inserted for readability We as humans write sentences using spaces between words. This helps our comprehension of what we read (if you dont believe me, try reading the following sentence. wishihadadollarforeverytimeimadeamistake. The insertion of spaces will also help us identify mistakes quicker. quicker good indentation Indent levels (tab stops) are clearly used to block statements, here we clearly see and identify functions, and d the th statements t t t which hi h belong b l to t each h { } program body. initialization of variables p p prints out the value of kettle,, a variable The first example that has no initial value. This is corrected in the second example.