AP 2B: PENGENALAN PADA C++ Isram Rasal S.T., M.M.S.I, M.Sc. Program Studi Teknik Informatika Fakultas Teknologi Industri Universitas Gunadarma 1
Tujuan Perkuliahan Mahasiswa dapat memahami: Mahasiswa mengetahui mengenai sejarah dan konsep PBO dalam C++ Mahasiswa mengetahui tipe data, pendeklarasian variabel, operator dan bentuk-bentuk ekspresi penugasan dalam C++ Mahasiswa dapat menjelaskan format penulisan deklarasi variabel dan ekspresi dalam C++ 2
General Overview Fakta singkat: statically typed, free-form, multi-paradigm programming language Middle-level language Combination of both high-level and low-level language features Developed by Bjarne Stroustrup starting in 1979 at Bell Labs originally named "C with Classes", renamed to C++ in 1983 3
General Overview VERY widely used in the software industry systems/application/entertainment/embedded softwares, device drivers, high-performance server and client applications, etc Several groups provide both free and proprietary C++ compiler software The GNU Project, Microsoft, Intel, Borland, see references and useful links Standards ratified in 1998 as ISO/IEC 14882:1998 (C++98) amended by the 2003 technical corrigendum, ISO/IEC 14882:2003 Next standard version (known informally as C++0x) is in development 4
Sumber Referensi Referensi: Stroustrup, Bjarne (2000). The C++ Programming Language Murah tapi tidak terstruktur: Google.com Compiler (pengguna windows): Open source - GCC based compilers (free for non commercial applications,highly recommended) Dev cpp (simple and easy, slightly outdated...): http://www.bloodshed.net/ Code::blocks (multi compiler, still simple, efficient): http://www.codeblocks.org/ Retail: free (or student) versions can be dowloaded Microsoft Visual Studio 2008: http://www.microsoft.com/express/download/#webinstall C++ builder : http://www.embarcadero.com/products/cbuilder 5
Bagaimana C++ Bekerja 1) Menulis source code C++, yang bisa dipahami oleh manusia 2) Compiler akan menerjemahkan apa yang ditulis menjadi object code (kadangkala disebut machine code). Komputer bisa memahami maksud tujuan programming melalui object code. 3) Linker akan menghubungkan kode ke dalam sistem kode mana saja yang akan dibutuhkan ketika akan dieksekusi. Misalnya input/output, libraries, sistem operasi dan windowing. 4) Hasil akhir berupa file yang bisa dieksekusi,.exe untuk windows 6
Variabel di dalam C++ Variabel adalah suatu pengenal (identifier) yang digunakan untuk mewakili suatu nilai tertentu di dalam proses program. Berbeda dengan konstanta yang nilainya selalu tetap, nilai dari suatu variable bisa diubah-ubah sesuai kebutuhan. Untuk memperoleh nilai dari suatu variable digunakan pernyataan penugasan (assignment statement), yang mempunyai sintaks sebagai berikut : variable = ekspresi ; 7
Penamaan Variabel di dalam C++ Nama dari suatu variable dapat ditentukan sendiri oleh pemrogram dengan aturan sebagai berikut : Terdiri dari gabungan huruf dan angka dengan karakter pertama harus berupa huruf. Bahasa C ++ bersifat case-sensitive artinya huruf besar dan kecil dianggap berbeda. Jadi antara npm, NPM dan Npm dianggap berbeda. Tidak boleh mengandung spasi. Tidak boleh mengandung simbol-simbol khusus, kecuali garis bawah (underscore). Yang termasuk symbol khusus yang tidak diperbolehkan antara lain : $,?, %, #,!, &, *, (, ), -, +, = dsb. Panjangnya bebas, tetapi hanya 32 karakter pertama yang terpakai. 8
Penamaan Variabel di dalam C++ Contoh penamaan variabel yang benar: NPM, a, x, nama_mhs, f3098, f4, nilai, budi, dsb. Contoh penamaan variable yang salah : %nilai_mahasiswa, 80mahasiswa, rata-rata, ada spasi, penting!, dsb 9
Identifier yang direservasi Beberapa kata kunci yang telah direservasi oleh C++, tidak dapat digunakan oleh pemrogram: const_cast, continue, default, delete, do, double, dynamic_cast, else, enum, explicit, export, extern, false, float, for, friend, goto, if, inline, int, long, mutable, namespace, new, operator, private, protected, public, register, reinterpret_cast, return, short, signed, sizeof, static, static_cast, struct, switch, template, this, throw, true, try, typedef, typeid, typename, union, unsigned, using, virtual, void, volatile, wchar_t, while 10
Tipe Data 11
Deklarasi Identifier Deklarasi diperlukan bila kita akan menggunakan pengenal (identifier) dalam program. Identifier dapat berupa variable, konstanta dan fungsi. 12
Deklarasi Variabel Bentuk umum: Nama_tipe nama_variabel ; Contoh : int x; Deklarasi x bertipe integer char y, huruf, nim[10]; Deklarasi variable bertipe char float nilai; Deklarasi variable bertipe float double beta; Deklarasi variable bertipe double int array[5][4]; Deklarasi array bertipe integer 13
Deklarasi Konstanta 1) Menggunakan keyword const Contoh : const float PI = 3.14152965; Berbeda dengan variable, konstanta bernama tidak dapat diubah jika telah diinisialisasi 2) Menggunakan #define Contoh : #define PI 3.14152965 Keuntungan menggunakan #define apabila dibandingkan dengan const adalah kecepatan kompilasi, karena sebelum kompilasi dilaksanakan, kompiler pertama kali mencari symbol #define (oleh sebab itu mengapa # dikatakan prepocessor directive) dan mengganti semua Phi dengan nilai 3.14152965. 14
Variabel Global dan Variabel Lokal Variabel global dapat dilihat dan diubah oleh semua fungsi dalam program. Variabel global sangat berbahaya karena secara tidak sengaja dapat termodifikasi oleh instruksi-instruksi dalam programnya, sehingga pemakaian variabel global ini harus seminimal mungkin. Penggalan program berikut memberi contoh mengenai deklarasi dua variabel global x dan y: 15
Variabel Global dan Variabel Lokal #include <iostream.h> int x,y; main() {... } // Global karena didefinisi kan sebelum suatu fungsi 16
Variabel Global dan Variabel Lokal Suatu variabel lokal hanya dapat dilihat dan dimodifikasi oleh fungsi dimana variabel lokal tersebut didefinisikan sehingga scope dari variabel lokal tersebut terlindungi Variabel lokal tidak dapat diubah,atau bahkan dihapus oleh fungsifangsi yang lain, melaluiteknik pemrograman biasa. Variabel lokal didefinisikan sesudah tanda kurung { dari suatu blok yang umumnya adalah merupakan puncak dari fungsi. 17
Variabel Global dan Variabel Lokal #include <iostream.h> float z = 9.0; // variabel global int i = 10; main() { float p = 2.0; //Lokal terhadap main() cout << i << << p << << z << n - return 0; } 18
Inisialisasi Ada dua cara untuk menginisialisasi variabel: Menambahkan tanda = diikuti nilainya, Contohnya: int A = 5; Menempatkan nilai di dalam tanda () Contohnya: int A (5); 19
Assignment = Operator = adalah operator untuk menetapkan nilai pada suatu variabel. Misalnya: a = 12; menyimpan nilai 12 ke dalam variabel a. Proses assignment dimulai dari kanan ke kiri! A = B ; Ini menandakan bahwa nilai dari variabel B akan disimpan di dalam variabel A. 20
Operator yang lain +=, misalnya a += 2; ini ekuivalen dengan a = a + 2; *=, misalnya a += 2; ini ekuivalen dengan a = a * 2; /=, misalnya a += 2; ini ekuivalen dengan a = a / 2; 21
Operator Boolean Operator boolean hanya menghasilkan nilai true atau false. 22
Operator Boolean Operator boolean hanya menghasilkan nilai true atau false. 23