Modul Praktikum Algoritma dan Pemrograman 2017 BAB I PENGENALAN C++ Selamat datang di dunia pemrograman. Anda akan mempelajari bahasa C dan C++. C merupakan bahasa komputer yang diciptakan oleh Dennis Ritchie sekitar tahun 1972. Hingga kini bahasa ini masih populer dan penggunaannya tersebar di berbagai platform; dari Windows sampai Linux dan dari PC hingga mainframe. C++ adalah bahasa yang relatif baru dibandingkan dengan bahasa C. Bahasa C++ diciptakan oleh Bjarne Stroustroup sekitar tahun 1982. Bahasa C++ merupakan perkembangan dari bahasa C yang mendukung pemrograman berorientasi objek. Setiap program C++ mempunyai bentuk umum seperti dibawah ini : #include <iostream> Using namespace std; //prapocessor directive int main() { Statement_yang_akan_dilakukan; … return 0; } 1.1. Praprocessor #include Prapocessor #include adalah suatu perintah yang digunakan untuk mengatur compiler agar membaca berkas header yang disertakan di belakang kata include saat pelaksanaan kompilasi. 1.2. Berkas Header Berkas header adalah berkas yang berisi prototipe fungsi, definisi konstanta dan definisi variabel. Prototipe fungsi harus sudah tersedia sebelum pemanggilan fungsi. Ini merupakan persyaratan selama kompilasi. Fungsi adalah kumpulan kode C yang diberi nama dan ketika nama tersebut dipanggil maka kumpulan kode tersebut dijalankan. 1 LAB Rekayasa Perangkat Lunak Modul Praktikum Algoritma dan Pemrograman 2017 1.3. Fungsi Main() Setiap program yang ditulis dalam bahasa C++ pasti akan memiliki sebuah fungsi utama dengan nama main(). Dalam C++, kode yang dibaca adalah kode-kode yang terdapat pada fungsi utama. Jika ternyata terdapat pemanggilan fungsi lain, maka program akan mencari nama fungsi tersebut untuk dieksekusi. Setelah mengeksekusi fungsi tersebut, maka program akan kembali ke dalam fungsi utama, begitu seterusnya. 1.4. Komentar Program<< Komentar adalah bagian dari kode program yang tidak ikut dibaca pada proses kompilasi. Dengan kata lain, komentar tidak akan mempengaruhi jalannya program. Dalam C++ terdapat 2 jenis komentar, yaitu : 1.4.1. Menggunakan tanda // Tanda ini digunakan untuk menuliskan komentar yang banyaknya hanya satu baris. // ini adalah komentar untuk satu baris 1.4.2. Menggunakan tanda /**/ Berbeda dengan sebelumnya, tanda ini dapat digunakan untuk menuliskan komentar yang banyaknya satu baris atau lebih. Komentar ini dimulai dari tanda /* sampai ditemukan tanda */. /*ini adalah komentar panjang yang banyaknya lebih dari satu baris*/ 2 LAB Rekayasa Perangkat Lunak Modul Praktikum Algoritma dan Pemrograman 2017 Latihan ! 1. Tunjukkan komentar pada program dibawah ini ! /************************************************** * PEMROGRAMAN C++: * * * * Oleh : Fajar Ramadhan Akbar * * Email : fjrakbar23@gmail.com * * * * LAB. Rekayasa Perangkat Lunak * * * **************************************************/ #include<iostream> using namespace std; int main() { char a[10]; cout<<"Masukkan nama : "; cin>>a; cout<<"Nama anda adalah : "<<a; return 0; } 2. /*ini adalah/*sebuah komentar*/satu baris*/ Jika ditinjau dari sisi program, apakah statement di atas benar sebagai komentar ? 1.5. Input dan Output 1. Statement Input adalah Statement / fungsi yang digunakan untuk menerima data dari input keyboard, contoh: cin (character in). cin>>a; 2. Statement Output adalah Statement yang digunakan untuk menampilkan data ke layar monitor., contoh: cout (character out). cout<<”RPL”; 1.6. Tanda Semicolon Tanda semicolon “;” digunakan untuk mengakhiri sebuah pernyataan. Setiap pernyataan harus diakhiri dengan sebuah tanda semicolon. 3 LAB Rekayasa Perangkat Lunak Modul Praktikum Algoritma dan Pemrograman 2017 1.7. Jenis Identifier Identifier adalah suatu pengenal atau pengidentifikasi yang kita deklarasikan agar kompiler dapat mengenalinya. Identifier dapat berupa nama variabel, konstanta, fungsi,dan lainnya. Identifier yang berperan sebagai variabel dan konstanta berfungsi untuk menampung sebuah nilai yang digunakan dalam program. Sebagai gambaran, dibawah ini sebuah contoh program yang menggunakan identifier. #include <iostream> using namespace std; int main() { char Teks[20]; int X; cout<<"Masukkan sebuah kata : "; cin>>Teks; cout<<"Masukkan sebuah angka : "; cin>>X; cout<<Teks<<endl; cout<<X; return 0; } Tampilan : Analisa : Pada saat program dijalankan, identifier tersebut akan digunakan untuk menyimpan nilai yang dimasukkan dari keyboard. Dalam C++, proses penyimpanan nilai seperti ini dinyatakan dengan perintah cin (si in). berbeda dengan perintah cout (si out) yang menggunakan operator <<. Pada perintah cin operator yang digunakan adalah operator >>. 4 LAB Rekayasa Perangkat Lunak Modul Praktikum Algoritma dan Pemrograman 2017 1.7.1. Konstanta Konstanta adalah jenis identifier yang bersifat konstan atau tetap, artinya nilai dari konstanta di dalam program tidak berubah. Terdapat dua cara untuk membuat sebuah konstanta, yaitu dengan menggunakan preposesor directive #define dan menggunakan kata kunci const. 1. Menggunakan kata kunci const Mendefinisikan sebuah konstanta dapat dilakukan dengan menggukan kata kunci const. Berikut ini adalah bentuk umumnya. Const tipe_data nama_konstanta = nilai_tetapan; Contoh : #include <iostream> using namespace std; const int MAX = 5; int main() { cout<<MAX * MAX; return 0; } Tampilan : Konstanta MAX didefinisikan menggunakan kata kunci const, penggunaan kata kunci const harus diakhiri tanda titik koma. 2. Menggunakan Preprocessor Directive #define Keuntungan menggunakan #define apabila dibandingkan dengan const adalah kecepatan kompilasi, karena sebelum kompilasi dilaksanakan, compiler pertama kali mencari simbol #define (oleh sebab itu mengapa # dikatakan preprocessor directive) dan mengganti semua phi dengan nilai 3.14. Contoh : #include <iostream> 5 LAB Rekayasa Perangkat Lunak Modul Praktikum Algoritma dan Pemrograman 2017 using namespace std; #define MAX 5 int main() { cout<<"Nilai max adalah = "<<MAX; return 0; } Tampilan : Analisa : #define MAX 5 akan di kompiler terlebih dahulu setelah preposesor directive. Oleh sebab itu, ketika <<MAX di panggil kembali akan menampilkan = 5 pada output. 1.7.2. Variabel Variabel adalah sebuah identifier yang mempunyai nilai dinamis. Artinya bahwa nilai variabel tersebut dapat diubah sesuai kebutuhan dalam program. Berikut bentuk umum pendeklarasian sebuah variabel dalam C++. Tipe_data nama_variabel; int A; Nama dari suatu variabel dapat ditentukan sendiri oleh program dengan aturan sebagai berikut : Terdiri dari gabungan huruf dan angka dengan karakter pertama harus berupa huruf. Bahasa C++ bersifat case-sensitive, yang artinya huruf besar dan kecil dianggap berbeda. Jadi antara nim, NIM, dan Nim dianggap berbeda. Tidak boleh mengandung spasi. 6 LAB Rekayasa Perangkat Lunak Modul Praktikum Algoritma dan Pemrograman 2017 Tidak boleh mengandung simbol-simbol khusus, kecuali garis bawah (underscore). Yang termasuk simbol khusus yang tidak diperbolehkan antara lain : $, ?, %, #, !, &, *, (, ), -, +, =, dsb. Panjang bebas, tetapi hanya 32 karakter pertama yang terpakai. Contoh penamaan variabel yang benar : 1.8. Inisialisasi Variabel Inisialisasi dapat didefinisikan sebagai proses pengisian nilai awal (nilai default) ke dalam suatu variabel. Dalam C++, pengisian nilai dilakukan dengan menggunakan operator sama dengan (=). Bentuk umumnya : Tipe_data nama_variabel = nilai_awal; Atau tipe_data nama_variabel1= nilai_awal1, nama_variabel2= nilai_awal2…; Contoh : Int A=9; Int A=10, B=15, C=25; Contoh : #include <iostream> using namespace std; 7 LAB Rekayasa Perangkat Lunak Modul Praktikum Algoritma dan Pemrograman 2017 int main() { int X; // Menampilkan nilai X // dilakukan pengisian cout<<"Nilai X sebelum // mengisi nilai 10 ke X = 10; // Menampilkan nilai X // dilakukan pengisian cout<<"Nilai X sesudah return 0; } sebelum nilai (assignment) assignment: "<<X<<endl; dalam variabel X setelah nilai (assignment) assignment: "<<X<<endl; Tampilan : Analisa : Apabila kita tidak melakukan inisialisasi dan kita sudah memanggil variabel tersebut, maka nilai yang akan ditampilkan adalah nilai 0. 8 LAB Rekayasa Perangkat Lunak Modul Praktikum Algoritma dan Pemrograman 2017 1.9. Tipe data 1.9.1. Tipe Data Dasar Adalah tipe data yang dapat langsung dipakai. Daftarnya dapat dilihat pada tabel dibawah ini : Perhatikan contoh dibawah ini, tipe data dapat dirubah (type cast) dengan cara dibawah ini : float x = 3.345; int p = int(x); Maka nilai P adalah 3 (terjadi truncating). Contoh : #include <iostream> using namespace std; int main() { int A; cout<<"Masukkan Nilai A = ";cin>>A; cout<<A; return 0; } 9 LAB Rekayasa Perangkat Lunak Modul Praktikum Algoritma dan Pemrograman 2017 Tampilan : Analisa : Tidak adanya tipe data pecahan menyebabkan bilangan 3.6666 di bulatkan menjadi 3 karena int adalah tipe data pembulatan. 1.9.2. Karakter dan String Literal String adalah tipe data text yang memungkinkan kita menyimpan nilai dengan bentuk text, kumpulan dari karakter. Berbeda dengan char gabungan dari karakter. Perbedaannya dengan tipe data char adalah mengenai penyimpanannya. Char menyimpan hanya beberapa karakter saja, sedangkan String dapat menyimpan banyak karakter, kata, dan kalimat sekaligus. Contoh : #include <iostream> #include <cstring> using namespace std; int main() { int panjangteks; char kata[5]; cout<<"Masukan kata = "; cin>>kata; panjangteks=strlen(kata); cout<<"Panjang kata "<<kata<<" adalah = "<<panjangteks; return 0; } Tampilan : 10 LAB Rekayasa Perangkat Lunak Modul Praktikum Algoritma dan Pemrograman 2017 Analisa : Dengan adanya operasi pengolahan string, fungsi strlen dapat menghitung panjangnya karakter yang diinputkan. 1.9.3. Keyword Dalam bahasa pemrograman, suatu program dibuat dari elemenelemen sintaks individual yang disebut token, yang memuat nama variable, konstanta, keyword, operator, dan tanda baca. Contoh : #include <iostream> using namespace std; int main() { cout<<"Selamat Pagi.\n"; cout<<"\tSelamat Pagi."<<endl; cout<<"Selamat Pagi.\a"; return 0; } Tampilan : 11 LAB Rekayasa Perangkat Lunak Modul Praktikum Algoritma dan Pemrograman 2017 Analisa : Karakter \n adalah digunakan untuk membuat baris baru, lalu \t untuk membuat tab horizontal (jarak), dan \a adalah memberikan bunyi beep. Latihan ! 1. Buatlah program dengan menginputkan biodata anda dengan menampilkan Nama, NIM, Fakultas, dan Jurusan. Sehingga tampilan dilayar monitor sebagai berikut : 12 LAB Rekayasa Perangkat Lunak Modul Praktikum Algoritma dan Pemrograman 2017 Tugas ! 1. Dengan perintah cout, buatlah program C++ untuk menampilkan 3 huruf terdepan nama anda dan analisa program. Misal nama anda Fajar, maka buatlah tampilan seperti berikut : Berikan sebarang komentar pada setiap baris statement dan simpan dengan nama NAMAKU.cpp. 2. Buatlah program yang dapat mencetak segitiga sama kaki dengan menggunakan simbol asterik (*) sesuai materi yang telah dipelajari dan analisa programnya ! 3. Membuat sebuah program tentang materi yang dipelajari pada bab 1 beserta hasil tampilan dan analisa program ! 13 LAB Rekayasa Perangkat Lunak