-->

Dasar-dasar pemrograman c++

Written By Anisa film on Senin, 06 Mei 2013 | 5/06/2013 01:22:00 AM


PEMROGRAMAN APLIKASI DENGAN C++
1. Dasar-dasar Pemrograman C++
2. Fungsi dalam C++
3. Pointer dan Array
4. Kelas
5. Merancang Aplikasi Berorientasi Obyek

Gambar 9.1 di samping ini mungkin menimbulkan pertanyaan.

Apa hubungannya dengan judul halaman tersebut di atas? Akan tetapi, apakah kita tahu bahwa: pesawat luar angkasa seperti pada gambar 9.1 itu dikendalikan oleh seperangkat komputer canggih yang sebagian aplikasi pengendalinya adalah ditulis dengan bahasa pemrograman c++.

Standar kompetensi program aplikasi menggunakan c++ terdiri atas lima kompetensi dasar, yaitu: dasar-dasar pemrograman c++, menerapkan fungsi, menerapkan pointer, menerapkan konsep class, dan merancang aplikasi berorientasi obyek. Sebelum memahami kompetensi ini, ingatlah kembali mengenai: sistem operasi, algoritma pemrograman dasar, algoritma pemrograman lanjutan, serta konsep-konsep pemrograman berorientasi obyek.

Dasar-dasar pemrograman c++

Bahasa c++ merupakan bahasa yang sangat populer di dunia pengembangan perangkat lunak. Seperti halnya pendahulunya yaitu bahasa c, c++ juga dimasukkan dalam kelompok bahasa tingkat menengah (middle level language). Tujuan utama pembuatan c++ adalah untuk meningkatkan produktivitas pemrogram dalam membuat aplikasi. Keistimewaan c++ adalah karena bahasa ini telah mendukung oop (object oriented programming). Selain itu, juga tersedia banyak pustaka (library) yang dapat kita gunakan untuk mempercepat pembuatan aplikasi. Pustaka ini sebagian tersedia gratis di beberapa situs internet.

Kode program dalam bahasa c++ yang kita buat tidak dapat langsung dieksekusi, namun harus dikompilasi lebih dahulu dengan compiler c++ yang sesuai. Konsep kompilasi dan eksekusi program pada c++ dapat digambarkan seperti pada gambar 9.2. Kode program yang kita buat disebut sebagai kode sumber, dan merupakan file teks biasa dengan nama file yang berekstensi .cpp. Kode program ini kemudian dimasukkan ke PreProcessor. Keluaran dari PreProcessor ini adalah file yang akan dimasukkan ke dalam compiler. Compiler akan menerjemahkan kode program dalam file tersebut menjadi bahasa assembly. Kode program program ini kemudian diproses oleh assembler menjadi kode obyek. Jika tidak ada file pustaka (library) yang terlibat, maka kode obyek ini akan langsung dieksekusi menjadi file. Jika ada pustaka lain yang terlibat, maka link editor akan mengkombinasikan kode obyek dan pustaka untuk membentuk file exe.

Kita dapat mengetikkan kode-kode c++ dengan sebarang teks editor, seperti notepad, vi, atau yang lainnya. Namun akan lebih mudah jika kita menggunakan perangkat ide (integrated development environment) yang menyediakan secara terintegrasi teks editor dan compiler c++. Beberapa ide yang cukup terkenal antara lain microsoft visual studio, borland c++, minggw developer studio, dan lain-lain. Pada label ini sebagian besar code ditulis dan dijalankan dengan menggunakan minggw developer studio (gambar 9.3). Lisensi ide ini free, artinya kita bisa menggunakan tanpa diributkan dengan masalah lisensi dari perangkat lunak.


Kerangka program C++

Perhatikan kode program berikut.

#include
using namespace std;
void nama_fungsi() {
//kode untuk nama_fungsi
.....;
}
// Fungsi utama
int main() {
// kode bagian main/utama
.....;
return 0;
}

Kode program terdiri dari beberapa bagian, atau sebagai berikut:

  • Bagian untuk mendaftarkan file atau kondisi tertentu.
    Bagian ini selalu diawali dengan tanda #.
  • Bagian pendefinisian fungsi.
    Bagian ini diawali dengan kata kunci void, dan diikuti dengan nama fungsi. Pada bagian ini boleh tidak ada, jika kita tidak membuat fungsi.
  • Bagian main().
    Pada kode program, biasanya dimulai dengan int main(). Bagian ini harus ada pada setiap program karena merupakan fungsi utama.
  • Bagian yang dimulai dengan tanda { dan diakhiri dengan tanda }, baik pada bagian void maupun main, disebut: blok kode.

Header file (.h)

File header, yaitu file dengan ekstensi .h merupakan file yang berisi fungsi-fungsi, dan telah dikompilasi sebelumnya. File ini biasanya berisi fungsi-fungsi tertentu yang nantinya akan kita gunakan dalam kode program yang kita buat. Sebagai contoh 'file iostream.h', mempunyai sejumlah fungsi untuk menampilkan output dan menangkap input seperti cout dan cin.

Ada dua model penulisan file header, yaitu: dengan dituliskan lengkap dengan ekstensinya dan tidak. Bentuk pertama adalah model penulisan untuk compiler C++ lama (contoh 9.1). Bentuk kedua merupakan bentuk yang didukung oleh Compiler C++ standar (contoh 9.2).

Contoh 9.1 (penulisan file header pada compiler c++ lama).

#include <iostream .h>
Int main() {
...
return 0;
}

Contoh 9.2 (penulisan file header pada compiler c++ standar)

#include <iostream>
using namespace std;
Int main() {
...
return 0;
}

Komentar, identifier dan tipe data

  • Komentar
    Komentar pada C++ dapat dilakukan dengan dua cara, yaitu: pertama, dengan tanda // dan diletakkan sebelum komentar dan kedua dengan tanda /* yang ditutup dengan */. Cara pertama digunakan jika komentar hanya terdiri dari satu baris, sedangkan cara kedua jika komentar lebih dari satu baris.

    Contoh 9.3. Komentar dengan tanda //.

    // program pertama
    #include <iostream>
    int main( ){
    cout << "Hello World"; // cetak "Hello World" di layar
    }

    Contoh 9.4. Komentar dengan tanda /* .. */..

    /* Program pertama
    Ditulis oleh ARM
    Tanggal 17-11-2007 */
    #include <iostream>
    int main( ){
    std::cout << "Hello World"; // cetak "Hello World" di layar
    }

  • Identifier
    Identifier, atau nama dari variabel, atau konstanta pada C++, secara umum sama-sama mengikuti aturan umum penamaan dan telah dijelaskan. Ada satu tambahan yang cukup penting dalam pembuatan identifier pada C++ yaitu, bersifat case sensitif. Variabel dengan nama namaguru berbeda dengan variabel NamaGuru.

    Ada dua cara untuk mendeklarasikan konstanta. Pertama, dengan menggunakan preprocessor directive #define. Kedua, dengan menggunakan kata kunci const. Ketiklah program berikut ini, kemudian periksalah hasil dari eksekusinya.

    Contoh 9.5. Pendeklarasian konstanta.

    #include <iostream>
    #define potongan 0.1;
    using namespace std;
    int main() {
    const float hargaPerUnit = 2500;
    int jumlahUnit;
    float hargaTotal, hargaDiskon, diskon;
    cout << "Masukkan jumlah unit pembelian : ";
    cin >> jumlahUnit;
    hargaTotal = jumlahUnit * hargaPerUnit;
    diskon = hargaTotal * potongan;
    hargaDiskon = hargaTotal - diskon;
    cout << "Total harga pembelian = " << hargaTotal <<
    endl;
    cout << "Diskon = " << diskon << endl;
    cout << "Harga Diskon = " << hargaDiskon;
    return 0;
    }

    Pada contoh di atas, terdapat dua konstanta, yaitu potongan dan hargaPerUnit yang masing-masing dideklarasikan dengan cara berbeda.

    Deklarasi variabel dilakukan dengan cara menyebutkan lebih dahulu tipe datanya, kemudian diikuti dengan nama variabelnya seperti pada contoh 9.5. Pada contoh tersebut ada beberapa variabel yang telah didefinisikan lebih dahulu yaitu jumlahUnit, hargaTotal, hargaDiskon dan diskon. Masingmasing dengan tipe datanya sendiri. Untuk beberapa variabel yang tipe datanya sama, kita dapat menggabungkan dalam satu baris dengan tanda pemisah koma. Perhatikan pada contoh di atas. hargaTotal, hargaDiskon dan diskon sama-sama mempunyai tipe data float, sehingga penulisannya digabung.

    Kita harus mendeklarasikan dengan lengkap seluruh variabel atau konstanta yang akan dipakai lebih dahulu sebelum menggunakan. Kalau tidak, maka program tidak akan dapat dieksekusi.

  • Tipe data
    Tipe data tergantung dari yang disediakan oleh bahasa pemrograman. Pada C++ tipe data dasar yang disediakan dapat dilihat pada tabel berikut. Kalau kita perhatikan, tipe-tipe ini sama persis dengan Java. Hal ini karena, Java sebenarnya banyak mengambil elemen-elemen bahasa pemrograman dari C++.


    Tipe data bentukan yang tersedia pada C++ adalah array, struct, dan enum. Array akan kita bahas pada bagian lain di label ini. Sedangkan struct dan enum telah kita singgung di label sebelum ini. Namun begitu, cara penulisannya belum kita ulas. Cobalah ketikkan kode-kode program pada contoh berikut ini, kemudian eksekusi untuk melihat hasilnya.

    Contoh 9.6. Penggunaan tipe data struct.

    #include <iostream>
    using namespace std;

    int main() {

    struct Guru {
    char* NIP;
    char* Nama;
    char* Alamat;
    };

    Guru A;

    A.NIP = "132 232 477";
    A.Nama = "Syafiq";
    A.Alamat = "Perum. Dirgantara Permai";

    // Menampilkan nilai yang diisikan ke layar
    cout<<A.NIP<<endl;
    cout<<A.Nama<<endl;
    cout<<A.Alamat<<endl;

    return 0; }

    Contoh 9.7. Penggunaan tipe data enum.

    #include <iostream>
    using namespace std;

    enum JENIS_KELAMIN { Pria, Wanita };
    int main() {

    struct Guru {
    char* NIP;
    char* Nama;
    JENIS_KELAMIN JK;
    } A;

    A.NIP = "132 232 477";
    A.Nama = "Syafiq";
    A.JK = Pria;

    cout<<"NIP : "<<A.NIS<<endl;
    cout<<"Nama : "<<A.Nama<<endl;
    cout<<"Jenis Kelamin : "<<A.JK<<endl;

    return 0; }

Operator

Seperti halnya pada VB dan Java yang telah kita pahami, C++ juga menyediakan banyak operator yang dapat kita gunakan untuk membantu memecahkan masalah tertentu. Secara umum, banyak kemiripan antara Java dengan C++ dalam penyediaan operator. Operator-operator yang tersedia pada C++ dapat dilihat pada Tabel 9.2.

Struktur kontrol program

Struktur kontrol program pada C++ secara umum sama dengan VB dan Java yang telah kita pahami. Yang berbeda adalah sintaks penulisannya. Untuk percabangan, C++ menyediakan perintah if (tanpa then) dan switch ... case. Sedangkan untuk pengulangan, C++ menyediakan perintah for, while, dan do-while. Selain itu, pada pengulangan juga menyediakan fasilitas break dan continue. Secara berurutan berikut ini akan disampaikan kode-kode program untuk menerapkan struktur kendali. Ketikkan kode-kode tersebut, kemudian jalankan dan amati apa yang terjadi.

Contoh 9.7. Penggunaan struktur percabangan if sederhana.

#include <iostream>
using namespace std;

int main() {
int bil;

cout<<"Masukkan sebuah bilangan bulat : ";
cin>>bil;

// Melakukan pengecekan bilangan dengan operator modulus
if (bil % 2 == 0) {
cout<<bil<<" adalah bilangan genap" << endl;
} else {
cout<<bil<<" adalah bilangan ganjil" << endl;
}

return 0;
}

Pada contoh di atas kita menggunakan if untuk memeriksa apakah suatu bilangan genap atau ganjil. Operator yang kita gunakan adalah modulus (%). Perhatikan cara penulisan struktur if dan else.

Contoh 9.8. Penggunaan struktur percabangan if tiga kondisi.

#include <iostream>
using namespace std;

int main() {
int bil;

cout<<"Masukkan sebuah bilangan bulat : ";
cin>>bil;

if (bil > 0) {
cout<<bil<<" adalah bilangan POSITIF";
} else if (bil < 0) {
cout<<bil<<" adalah bilangan NEGATIF";
} else {
cout<<"ini bilangan NOL";
}

return 0;
}

Contoh 9.8. merupakan pengembangan dari Contoh 9.7. Struktur pemilihan dikembangkan menjadi tiga kondisi dengan menambahkan else. Apabila pemilihan lebih dari tiga kondisi atau banyak, C++ menyediakan perintah switch … case untuk memudahkan proses pemilihan. Perhatikan contoh berikut.

Contoh 9.9. Penggunaan struktur percabangan dengan switch ... case.

#include <iostream>
using namespace std;

int main() {
int bil;

cout<<"Masukkan sebuah bilangan (1 s/d 5) : ";
cin>>bil;

switch (bil) {
case 1 : cout<<"Bilangan anda adalah : SATU";
break;
case 2 : cout<<"Bilangan anda adalah : DUA";
break;
case 3 : cout<<"Bilangan anda adalah : TIGA";
break;
case 4 : cout<<"Bilangan anda adalah : EMPAT";
break;
case 5 : cout<<"Bilangan anda adalah : LIMA";
break;
default : cout<<"Anda memasukkan di luar batas";
}

return 0;
}

Contoh 9.9. adalah contoh percabangan dengan switch untuk konversi dari bilangan angka ke teks. Perhatikan bagaimana penulisan switch dan case.

Seperti juga pada Java, pengulangan dengan for digunakan jika kita mengetahui dengan pasti berapa banyak pengulangan akan dilakukan. Berikut contoh penggunaan pengulangan dengan for.

Contoh 9.10. Penggunaan struktur pengulangan dengan for.

#include <iostream>
using namespace std;

int main() {
int C, J;
cout<<"Cetak angka dari kecil ke besar :"<<endl;
for (C=0; C<10; C+3) {
cout<<C+1<<endl;
}

cout<<endl;
cout<<"Cetak angka dari besar ke kecil"<<endl;
for (J=10; J>0; J--) {
cout<<J<<endl;
}

return 0;
}

Contoh 9.10. merupakan contoh penggunaan for untuk kasus sederhana. Ada dua pengulangan for di atas, yaitu mencetak angka dari 1 sampai dengan 10, dan dari 10 sampai dengan 1. Perhatikan penggunaan increment ++ dan --. Cara penulisan di atas sangat mirip dengan penulisan pada Java yang telah kita pahami sebelumnya. Pada contoh 9.11 berikut ini, pengulangan for dikembangkan menjadi sedikit lebih rumit dengan menerapkan for bersarang.

Contoh 9.11. Penggunaan struktur pengulangan dengan for bersarang.

#include <iostream>
using namespace std;

int main() {
for (int j=1; j<=4; j++) {
for (int k=1; k<=3; k++) {
cout<<k+j<<' ';
}
cout<<endl;
}

return 0;
}

Ada dua pengulangan pada contoh 9.11. Yang pertama dengan menggunakan j sebagai variabel counter. Sedangkan yang kedua dengan variabel counter k yang bersarang di dalam pengulangan j. Menurut kita, bagaimanakah output dari kode program di atas?

Penggunaan while pada pengulangan, tidak berbeda jauh dengan apa yang telah kita pahami pada Java maupun VB. Perhatikan contoh 9.12 dan 9.13 berikut ini.

Contoh 9.12. Penggunaan struktur pengulangan dengan while sederhana.

#include <iostream>
using namespace std;

int main() {
int C;
C = 1; // inisialisasi nilai C

while (C<10) { cout<<"Saya tidak nakal lagi"<<endl; C++; // increment }

return 0;
}

Contoh 9.13. Penggunaan struktur pengulangan dengan while bersarang.

#include <iostream>
using namespace std;

int main() {
int x, y;
x = 1; //inisialisasi variabel x

while (x<=4){
y = 1; //inisialisasi variabel y
while (y<=3){
cout<<y+x<<' ';
y++;
}
cout<<endl;
x++;
}

return 0;
}

Perhatikan contoh 9.12 di atas, bagaimanakah menurut kita output dari kode program tersebut. Coba bandingkan dengan contoh 9.11. Cobalah memindahkan inisialisasi untuk variabel y. Letakkan setelah inisialisasi variabel x. Bagaimanakah hasilnya?

Bentuk berikutnya dari pengulangan pada C++ adalah dengan menggunakan do-while. Agak sedikit berbeda dengan while. Kondisi pemeriksaan pada do-while diletakkan di akhir badan loop. Contoh 9.14 memberikan gambaran bagaimana do-while digunakan dalam C++.

Contoh 9.14. Penggunaan struktur pengulangan dengan do-while.

#include <iostream>
using namespace std;

int main() {
int J = 5;
int K;

do {
K = 1;
do {
cout<<K*J<<' ';
K++;
} while (K <= J);
cout<<endl;
J--;
} while (J >= 1);

return 0;
}

Contoh 9.14 terlihat menampilkan kode program yang cukup rumit. Namun bila kita cermati, ini adalah kode program dengan pengulangan do while yang bersarang. Perhatikan cara penulisan dan alur logika programnya. Dowhile yang luar menggunakan variabel counter J, dan ini adalah pengulangan dari besar ke kecil (perhatikan J diinisialisasi dengan nilai 10, dan syarat kondisi pada while J >=1). Sedangkan do-while yang dalam variabel counter nya adalah K dengan pengulangan dari kecil ke besar. Bagaimanakah hasil dari eksekusi kode program di atas? Perhatikan output di bawah ini. Cobalah untuk menelusuri kode program, sehingga kita benar-benar mengerti mengapa output program bisa menjadi seperti ini.

5 10 15 20 25
4 8 12 16
3 6 9
2 4
1

Input/output

Sampai dengan bagian ini, kita telah cukup banyak melatih diri pada kode pemrograman C++. Namun, kita belum mempelajari statement input/output pada C++. Sebenarnya, kalau kita jeli, kita telah secara tidak langsung mempelajari pernyataan input dan output. Perintah cout dan cin yang telah kita gunakan adalah pernyataan input/output yang paling sering digunakan.

Baik perintah cout dan cin digolongkan sebagai stream yang termasuk dalam kelas iostream. Karena itulah setiap kali kita ingin menggunakan dua perintah tersebut, kita harus memanggil file header iostream di awal program.

Stream adalah peralatan logika yang berguna untuk mendapatkan atau memberikan informasi. Stream berhubungan dengan perangkat keras seperti keyboard, layar monitor, printer dengan melalui sistem I/O.

Perintah cin merupakan stream untuk input standar. Perintah ini akan merekam apa yang kita ketikkan dari keyboard. Perhatikan cara penulisannya pada contoh 9.15.

Contoh 9.15. Penggunaan cin dan cout.

#include <iostream>
using namespace std;

int main() {
int bil1, bil2;

//cin bagian satu
cout<<"Masukkan bilangan pertama : ";
cin>>bil1;
cout<<"Masukkan bilangan kedua : ";
cin>>bil2;
cout<<"Hasil kali kedua bilangan = "<<bil1*bil2<<endl;

//cin bagian dua
cout<<"Masukkan dua buah bilangan : ";
cin>>bil1>>bil2;
cout<<"Hasil kali kedua bilangan = "<<bil1*bil2<<endl;

return 0;
}

Perintah cin dapat digunakan untuk memasukkan data satu per satu seperti pada contoh 9.15 (lihat bagian di bawah //cin bagian satu) atau memasukkan data secara langsung berurutan (lihat bagian di bawah //cin bagian dua). Perintah cin harus diikuti operator &gt;&gt;.

Perintah cout adalah perintah melakukan output standar yaitu pada layar monitor. Perintah cout harus diikuti operator &lt;&lt;. Perhatikan contoh 9.15 di atas. cout dapat digunakan untuk mencetak langsung karakter (ditandai dengan " dan diakhiri dengan ") atau isi variabel. Seperti halnya cin, cout dapat digunakan untuk output satu persatu, atau berurutan sekaligus. Pada contoh di atas pernyataan endl adalah pernyataan untuk mencetak baris baru.

0 komentar :

Posting Komentar

Terima kasih, atas saran atau usulan anda.

Translate

Menu Blog Ini

Buka Semua | Tutup Semua

 
SUPPORT: anisa indra - dmca
Copyright © 2011-2018. Citra teknologi - All Rights Reserved
Template Created by: Creating Website
Published by: Mas Template - Proudly powered by: Blogger