Bahan Ajar Cpp AmazingLight.info

download Bahan Ajar Cpp AmazingLight.info

of 21

description

C++

Transcript of Bahan Ajar Cpp AmazingLight.info

  • PEMROGRAMAN C++

    Oleh :

    MUHAMMAD ERFAN

    SISTEM INFORMASI STMIK PALANGKARAYA

    2011

  • Pemrograman C++

    Muhammad Erfan http://www.amazinglight.info http://www.profitablereferral.com STMIK Palangkaraya http://www.stmikplk.ac.id 2011

    1

    Pengantar Tulisan ini merupakan ringkasan materi yang disusun oleh penulis sebagai bahan

    ajar mata kuliah Pemrograman C++. Ringkasan ini disusun dari berbagai sumber referensi seperti buku, e-book, catatan kuliah, fasilitas bantuan (help) dari Borland C++ dan dari sumber-sumber lainnya yang disebutkan pada bagian referensi di bagian akhir tulisan ini. Adapun program aplikasi yang digunakan pada pembahasan ringkasan ini adalah Borland C++ versi 4.5.

    1. Pendahuluan 1.1. Sejarah Singkat C++

    C++ (dibaca sebagai see plus plus; aslinya dikenal sebagai: C with Classes) adalah suatu bahasa pemrograman komputer yang telah diperluas dengan kemampuan object oriented. Sejak 1990, C++ merupakan bahasa pemrograman komersil yang paling populer.

    Nama C++ ini bermula dari Rick Mascitti (pertengahan tahun 1983) dan pertama kali digunakan pada Desember 1983. Awalnya, sejak periode riset, disebut sebagai C with Classes. Nama akhirnya diambil dari Cs ++ operator (yang berarti menambah nilai dari suatu variabel) dan suatu konvensi penamaan umum menggunakan + untuk menunjukan pengembangan program komputer, misalnya dBase3+.

    Tidak ada yang memiliki C++. Stroustrup dan AT&T tidak menerima royalti dari pemakaian C++. Tetapi pada aplikasi C++ yang digunakan untuk penulisan ini menggunakan aplikasi yang dikeluarkan oleh Borland International Inc. 1.2. Algoritma dan Pemrograman

    Algoritma adalah langkah-langkah untuk menyelesaikan masalah dengan cara yang logis dan berurutan. Pemrograman tidak lepas dari yang namanya algoritma. Pemrograman bertujuan untuk menyelesaikan masalah tertentu menggunakan komputer dan bahasa pemrograman. Dalam pemrograman, algoritma menjadi pokok utama yang menyelesaikan masalah yang akan dipecahkan.

    2. Pengenalan C++ 2.1. Struktur Dasar

    Struktur dasar dari bahasa C++ sebenarnya tidak jauh berbeda dengan bahasa pemrograman yang lain. Perbedaan umumnya terletak pada cara penulisannya saja. Berikut adalah struktur dasar C++.

  • Pemrograman C++

    Muhammad Erfan http://www.amazinglight.info http://www.profitablereferral.com STMIK Palangkaraya http://www.stmikplk.ac.id 2011

    2

    Nama program (jika diperlukan) Pemanggilan file header Deklarasi variabel (jika diperlukan) Badan program

    // menampilkan kalimat #include main() { cout A; cout > B; cout > C; cout > D; cout

  • Pemrograman C++

    Muhammad Erfan http://www.amazinglight.info http://www.profitablereferral.com STMIK Palangkaraya http://www.stmikplk.ac.id 2011

    3

    2.2. Komentar Dalam penulisan program, kadang-kadang kita perlu menuliskan komentar atau

    keterangan pada bagian-bagian tertentu dari program yang dibuat. Tujuannya untuk mempermudah kita dalam analisa dan perbaikan program. Komentar tidak akan dieksekusi pada saat program dijalankan.

    Untuk memberikan komentar pada C++ ada 2 cara, yaitu : a. Tanda garis miring ganda/double slash (//) Cara ini hanya berlaku untuk 1 baris komentar. Contoh :

    // ini komentar baris pertama // ini komentar baris kedua, perlu diberi tanda garis miring ganda juga

    b. Tanda /* dan */ Cara ini bisa digunakan untuk banyak baris berurutan. Penulisannya didahului tanda /* dan diakhiri dengan tanda */ Contoh : /* ini adalah komentar cara kedua, bisa digunakan untuk komentar yang panjang dan lebih dari 1 baris */

    2.3. File Header File header adalah file yang dipanggil atau diikutsertakan dalam proses kompilasi

    agar program berjalan normal. File header berisi fungsi-fungsi standar yang diperlukan dalam pembuatan program menggunakan C++ ini. Contoh penulisan pemanggilan file header iostream.h dan conio.h adalah sebagai berikut: #include #include

    atau #include iostream.h; #include conio.h;

    File header ini jumlahnya cukup banyak dan memiliki fungsi masing-masing dan penggunaannya disesuaikan dengan keperluan kita dalam membuat program. 2 file header yang umum digunakan adalah iostream.h yang berisi fungsi-fungsi untuk proses input dan output seperti cin, cout dan sebagainya. Sedangkan conio.h juga untuk proses input dan output dengan fungsi khusus misalnya untuk menghapus/membersihkan layar seperti clrscr.

  • Pemrograman C++

    Muhammad Erfan http://www.amazinglight.info http://www.profitablereferral.com STMIK Palangkaraya http://www.stmikplk.ac.id 2011

    4

    2.4. Tanda kurung kurawal buka dan tutup ({ dan }) Tanda kurung kurawal buka ({)dan tutup (}) sama artinya dengan begin dan end

    pada bahasa Pascal. Tanda ini digunakan untuk mengawali dan mengakhiri program atau subprogram. 2.5. Tanda titik koma/semicolon (;)

    Tanda semicolon atau titik koma harus selalu dituliskan disetiap akhir pernyataan atau statemen. 2.6. Void, Return 0, endl; dan \n

    Pada fungsi main() atau fungsi apa saja, jika tidak ingin menuliskan return 0, maka tambahkan void di depan nama fungsi tersebut yang artinya program atau subprogram tersebut tidak mengembalikan nilai apa-apa. Contoh penulisannya, void main().

    Penulisan endl; dan \n dimaksudkan agar baris berikutnya berada di bawah dari statemen yang sedang dijalankan. Fungsi keduanya sama yaitu untuk ganti baris.

    3. Tipe Data Tipe data yang digunakan dalam pembuatan program harus disesuaikan dengan

    keperluan dan fungsinya. Hal ini harus dilakukan untuk menghindari kesalahan pada saat kompilasi program.

    Tipe data yang umum digunakan dalam program sederhana adalah:

    Tipe Ukuran Jangkauan Jenis

    Char 8 bits -128 sampai 127 Karakter

    short int 16 bits -32,768 sampai 32,767 Bilangan bulat

    Int 16 bits -32,768 sampai 32,767 Bilangan bulat

    Long 32 bits -2,147,483,648 sampai 2,147,483,647 Bilangan bulat

    Float 32 bits 3.4 x 10-38 sampai 3.4 x 10+38 Bilangan desimal

    Double 64 bits 1.7 x 10-308 sampai 1.7 x 10+308 Bilangan desimal

    Pada C++ tidak ada operasi string seperti pada Pascal yang dapat mengisi variabel dengan string/kalimat.

  • Pemrograman C++

    Muhammad Erfan http://www.amazinglight.info http://www.profitablereferral.com STMIK Palangkaraya http://www.stmikplk.ac.id 2011

    5

    4. Deklarasi Pengenal (variabel) Sebelum digunakan, pengenal atau variabel harus dideklarasikan terlebih dahulu

    agar diketahui dengan jelas tipe data apa yang akan digunakannya. Pengenal ini digunakan sebagai penyimpan sementara dari suatu nilai tertentu yang akan dipakai dalam program. Selain variabel, nama fungsi juga perlu dideklarasikan.

    Cara penulisan deklarasi variabel ini adalah : tipe_data nama_variabel;. Contoh: int bilangan; // deklarasi bilangan dengan tipe data integer char nama[20]; // deklarasi string dengan panjang 20 karakter int bilangan[3]; // deklarasi array bilangan 3 elemen bertipe integer const float phi=3.14; // deklarasi konstanta pada phi dengan nilai 3.14 void input_data(); // deklarasi fungsi bernama input_data

    Variabel terdiri dari 2 macam yaitu variabel global dan variabel lokal. Variabel global adalah variabel yang dideklarasikan sebelum fungsi main() dan dapat digunakan oleh semua bagian program. Sedangkan variabel lokal adalah variabel yang dideklarasikan di dalam fungsi main() atau di dalam subprogram dan hanya dapat digunakan oleh subprogram itu saja.

    Tidak semua kata kunci dapat digunakan sebagai nama pengenal (variabel). Berikut adalah kata kunci yang tidak boleh digunakan sebagai pengenal. 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, 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, and, and_eq, bitand, bitor, compl, not, not_eq, or, or_eq, xor, xor_eq.

    5. Operator 5.1. Aritmatik

    Operator aritmatik adalah operator yang digunakan untuk proses perhitungan. Operator aritmatik tersebut adalah:

    + penjumlahan - pengurangan * perkalian / pembagian % modulus Operator aritmatik lain yang umum digunakan adalah operator increasing dan

    decreasing (penambahan dan pengurangan) bilangan secara konstan yang biasanya dipakai pada proses pengulangan. Tanda yang digunakan adalah ++ dan --.

  • Pemrograman C++

    Muhammad Erfan http://www.amazinglight.info http://www.profitablereferral.com STMIK Palangkaraya http://www.stmikplk.ac.id 2011

    6

    Contoh: a++ // menaikkan nilai a dengan penambahan 1. b-- // menurunkan nilai b dengan pengurangan 1.

    5.2. Relasional

    Operator relasional digunakan untuk membandingkan. Misalnya ingin membandingkan antara suatu nilai dengan nilai yang lainnya yang diinputkan oleh user. Ini biasanya digunakan pada pemilihan kondisi. Penggunaan operator ini akan menghasilkan nilai benar true atau salah false.

    Berikut adalah operator relasional: == sama dengan < kurang dari != tidak sama dengan >= lebih atau sama dengan > lebih dari

  • Pemrograman C++

    Muhammad Erfan http://www.amazinglight.info http://www.profitablereferral.com STMIK Palangkaraya http://www.stmikplk.ac.id 2011

    7

    #include "conio.h"; main() { clrscr(); int nilai; cout > nilai; if (nilai >= 60) cout

  • Pemrograman C++

    Muhammad Erfan http://www.amazinglight.info http://www.profitablereferral.com STMIK Palangkaraya http://www.stmikplk.ac.id 2011

    8

    int bulan; cout > bulan; if (bulan==1) cout

  • Pemrograman C++

    Muhammad Erfan http://www.amazinglight.info http://www.profitablereferral.com STMIK Palangkaraya http://www.stmikplk.ac.id 2011

    9

    Pada struktur di atas, switch akan memeriksa nilai dari ekspresi (tipe ekspresi ini adalah integer atau char). Jika nilainya sama dengan salah satu dari konstanta yang dimiliki oleh case maka pernyataan yang berada di bawah case tersebut yang akan dijalankan. Jika tidak ada yang sama maka pernyataan yang berada di bawah default yang dijalankan. Sedangkan break berfungsi untuk menghentikan eksekusi agar tidak menjalankan program yang berada di bawahnya. Contoh program: #include main() { int pilihan; cout > pilihan; switch(pilihan) { case 1 : cout

  • Pemrograman C++

    Muhammad Erfan http://www.amazinglight.info http://www.profitablereferral.com STMIK Palangkaraya http://www.stmikplk.ac.id 2011

    10

    Contoh program: Menampilkan tulisan Selamat belajar C++ sebanyak 5 kali. #include "iostream.h"; main() { int x; cout

  • Pemrograman C++

    Muhammad Erfan http://www.amazinglight.info http://www.profitablereferral.com STMIK Palangkaraya http://www.stmikplk.ac.id 2011

    11

    7.3. Do-While Pada pengulangan dengan do-while, pemeriksaan kondisi (nilai akhir) pengulangan

    dilakukan dibagian akhir. Artinya pada do-while ini setidaknya akan dieksekusi 1 blok pernyataan. Struktur pengulangannya sebagai berikut:

    do { pernyataan; penambahan; } while(kondisi);

    Contoh program: #include "iostream.h"; void main() { int ulang = 1; cout

  • Pemrograman C++

    Muhammad Erfan http://www.amazinglight.info http://www.profitablereferral.com STMIK Palangkaraya http://www.stmikplk.ac.id 2011

    12

    8. Fungsi Fungsi adalah suatu bagian dari program yang berisi pernyataan-pernyataan tertentu

    yang digunakan untuk menyelesaikan masalah. Fungsi dapat digunakan oleh bagian lain dalam suatu program dan dapat pula digunakan lebih dari 1 kali. Secara singkat dapat dikatakan bahwa fungsi adalah program di dalam program. Sebelum menggunakan fungsi, perlu dideklarasikan terlebih dahulu tipe datanya agar dikenali oleh program utama. Sebuah fungsi dapat memanggil fungsi lainnya dalam program tersebut.

    Penggunaan fungsi juga dimaksudkan untuk menghindari penulisan ulang program yang sama dan untuk memudahkan pengembangan program. Fungsi dapat menerima masukan dan menghasilkan keluaran berupa suatu nilai atau hasil operasi tertentu. Hasil akhir fungsi berupa nilai balik (return).

    Pendeklarasian fungsi secara umum adalah: tipe_data nama_fungsi(tipe_dan_parameter) Jika fungsi tersebut tidak memiliki tipe data dan tidak mengembalikan nilai apapun,

    maka di depan nama fungsi ditambahkan void, sehingga penulisannya adalah: void nama_fungsi() Sedangkan struktur umum dari sebuah fungsi adalah: tipe_data nama_fungsi(tipe_dan_parameter) { pernyataan; return ekspresi; }

    Contoh program: Perkenalan dan pemberian tugas menggunakan fungsi, jika rumah jauh tugasnya presentasi; jika dekat tugasnya membuat makalah. #include "iostream.h"; void tugas(); void data(); char jarak; // fungsi tugas void tugas(jarak) { if (jarak == 'Y' || jarak == 'y') cout

  • Pemrograman C++

    Muhammad Erfan http://www.amazinglight.info http://www.profitablereferral.com STMIK Palangkaraya http://www.stmikplk.ac.id 2011

    13

    // fungsi data perkenalan void data() { char nama[30], alamat[30], hp[12]; cout jarak; tugas(jarak); } // program utama main() { data(); }

    Contoh program: Operasi matematika dengan fungsi dan menu. #include "iostream.h"; #include "conio.h"; int tambah(); int kurang(); int kali(); void tutup(); void main() { // begin main clrscr(); cout

  • Pemrograman C++

    Muhammad Erfan http://www.amazinglight.info http://www.profitablereferral.com STMIK Palangkaraya http://www.stmikplk.ac.id 2011

    14

    } // fungsi kali int kali() { int a, b, hasilkali; cout > a; cout > b; hasilkali = a * b; cout

  • Pemrograman C++

    Muhammad Erfan http://www.amazinglight.info http://www.profitablereferral.com STMIK Palangkaraya http://www.stmikplk.ac.id 2011

    15

    Contoh program: Mencetak histogram. #include #include void main() { clrscr(); int n[7] = {10,3,15,14,17,5,3}; int i, j; cout

  • Pemrograman C++

    Muhammad Erfan http://www.amazinglight.info http://www.profitablereferral.com STMIK Palangkaraya http://www.stmikplk.ac.id 2011

    16

    Struct juga dapat dideklarasikan di dalam struct yang lain. Artinya struct pertama menjadi isi dari struct yang kedua. Contohnya adalah: struct data_tanggal { int tanggal; int bulan; int tahun; }; struct data_sahabat { char nama[30]; struct data_tanggal tgl_lahir; // ini merupakan struct yang pertama }; struct data_sahabat info_sahabat;

    Contoh program: Informasi salah satu zodiak. #include "iostream.h"; #include "conio.h"; #include "string.h"; void main() { struct zodiak { char nama[11]; int tanggal_awal; int bulan_awal; int tanggal_akhir; int bulan_akhir; }; struct zodiak bintang = {"Sagitarius", 23, 11, 20, 12}; int tgl, bln, thn; clrscr(); cout > tgl >> bln >> thn; if (((tgl >= bintang.tanggal_awal) && (bln == bintang.bulan_awal)) || ((tgl

  • Pemrograman C++

    Muhammad Erfan http://www.amazinglight.info http://www.profitablereferral.com STMIK Palangkaraya http://www.stmikplk.ac.id 2011

    17

    { char nama[30]; struct data_tanggal tgl_lahir; }; struct data_sahabat info_sahabat; clrscr(); strcpy(info_sahabat.nama, "Usammah Bin Ladin"); info_sahabat.tgl_lahir.tanggal = 23; info_sahabat.tgl_lahir.bulan = 12; info_sahabat.tgl_lahir.tahun = 1960; cout

  • Pemrograman C++

    Muhammad Erfan http://www.amazinglight.info http://www.profitablereferral.com STMIK Palangkaraya http://www.stmikplk.ac.id 2011

    18

    cout

  • Pemrograman C++

    Muhammad Erfan http://www.amazinglight.info http://www.profitablereferral.com STMIK Palangkaraya http://www.stmikplk.ac.id 2011

    19

    goto input; else if(ulang=='t'||ulang=='T') goto tidak; else goto masukkan; } //end else } //endif pilih1 else if(pilih=='2') { //begin if pilih2 if (i==0) { //begin i=0 cout

  • Pemrograman C++

    Muhammad Erfan http://www.amazinglight.info http://www.profitablereferral.com STMIK Palangkaraya http://www.stmikplk.ac.id 2011

    20

    cout