Selasa, 10 Januari 2012

Bahasa pemrograman

Pemrograman Dengan C++ (Part I)


Pengantar
Apa itu program? Bagaimanakah membuatnya? Jika sudah dibuat, apakah gunanya? Mungkin itu adalah pertanyaan – pertanyaan dari orang – orang yang baru saja mengenal komputer. Program adalah semacam sebuah metode penyelesaian masalah yang disediakan dalam komputer untuk digunakan oleh manusia dalam mempermudah pekerjaannya / kegiatannya. Kurang lebih itulah pengertian program, paling tidak  menurut saya. Lantas, bagaimana membuatnya? Pembuatan program adalah dengan memberi “perintah” sedemikian rupa kepada komputer sehingga “terciptalah” program itu yang kemudian disimpan dalam memori komputer. Lalu, apa yang “diperintahkan” pada komputer sehingga program itu dapat terbentuk? Tidak ada yang berpikiran bahwa dia harus mengatakan kepada komputer: “Buatkan saya sebuah program yang bagus yang mau  dipake untuk pembukuan perusahaan saya.” , kan? J Kita, tentu saja, harus “ngobrol” dengan komputer dengan bahasa yang bisa dimengerti olehnya. Bahasa apa itu? Sudah banyak dibuat banyak bahasa pemrograman untuk menerjemahkan logika pemrograman menjadi instruksi yang dapat dimengerti oleh komputer, untuk kemudian dijalankan (dan dalam hal ini untuk membuat program). Perintah tersebut di jalankan oleh komputer untukmembuat sebuah program yang kemudian akan digunakan oleh manusia / pihak yang berkepentingan.

C++
C++ adalah salah satu bahasa pemrograman yang powerful untuk membuat sebuah program. C++ adalah sebuah bahasa tingkat menengah yang merupakan perkembangan dari bahasa C, dimana bahasa ini merupakan bahasa pemrograman berorentasi objek (tidak seperti pendahulunya, C). Dikatakan menengah karena bahasa ini berada di antara bahasa tingkat tinggi dan rendah. Bahasa tingkat tinggi merupakan bahasa yang lebih “manusawi”, karena perintah – perintah dari bahasa ini lebih berorientasi kepada bahasa manusia. Visual Basic (VB) dan Pascal adalah dua dari beberapa contoh bahasa tingkat tinggi. Sedangkan bahasa tingkat rendah adalah bahasa yang lebih berorientasi kepada bahasa mesin sehingga bahasa ini tidak terlalu “manusiawi” J. Contoh dari bahasa tingkat rendah ini adalah Assembly.

Bab I. Header dan Fungsi main()
Sekarang kita masuk ke dalam pembuatan program. Beberapa bagian yang harus di perhatikan adalah header dan fungsi. Header adalah diana kita memasukkan  library yang ada dalam C++ kedalam kode program kita. Fungsi adalah “tempat” dimana kita bisa “bereksperimen” J. Didalamnya terdapat semua statement yang kita buat. Program yang paling sederhana yang pernah diketahui umat manusia (seram amat kata-katanya) adalah:



#include <iostream>
using namespace std;

void main () {
      cout << “Hello, World!\n”;
}

Pada baris pertama, seperti yang kita lihat, ada perintah #include <iostream>. Tanda ‘#’ adalah preprocessor directive. Preprocessor directive adalah perintah – perintah yang diberikan kepada compiler untuk melakukan definisi, memasukkan file library, dll. Contoh – contoh dari preprocessor ini adalah:
·        #define maximum_number 100000
·        #include “fileku.h”
·        #ifdef maximum_number
#undef maximum_number
#define maximum_number_2 1000
#endif

Itu berarti bahwa kita memasukkan (include) library iostream ke dalam kode program kita. iostream itu adalah header yang dibutuhkan untuk “kegiatan” input dan output dari program. Perintah cout sendiri ada karena kita memasukkan iostream ke dalam kode program kita dan juga using namespace std; dimana ada member cout di dalamnya.
Berikut beberapa header yang terdapat dalam C++:
·        ctime =  header waktu
·        cstdio = header untuk perintah C seperti printf dan scanf
·        cmath = header untuk operasi matematika seperti sin, cos, sqrt, dan tan
·        cstring = header untuk memanipulasi string seperti strcpy, strcat, dll

(untuk lebih lengkapnya, lihat http://cplusplus.com/tutorial)

main () adalah fungsi utama (main) yang harus ada dalam setiap program C++ kita. Di sini yang digunakan adalah dengan main tanpa nilai kembalian dan tanpa paramater. Apa itu nilai kembalian dan apa itu paramater? Saksikan setelah pesan – pesan berikut… eh salah, lihat dalam bab berikutnya J. Jika diperhatikan ada perintah \n pada akhir “kalimat” Hello, World!. Apa itu? ”\n” adalah perintah dalam banyak bahasa pemrograman sebagai baris baru (new line) jadi yang akan ditampilkan pada program adalah:

Perintah dengan menggunkan backslash (‘\’) juga ada beberapa jenis, diantaranya:
·        ‘\a’ = untuk menghasilkan bunyi alert
·        ‘\t’= tabulasi
·        ‘\0’ = null terminated dalam array

Tanda ‘{‘ juga harus ada dalam setiap fungsi C++, itu menandakan awal dari fungsi / program dan ‘}’ menandakan akhir dari fungsi / program.






















BAB II. Penulisan Dalam Bahasa C++
Penulisan dalam bahasa C++ adalah case sensitive. Yang berarti, C++ membedakan huruf kecil dan kapital. Yang berarti (lagi): variabel_pertama tidak sama dengan variabel_Pertama atau mboknya_echi tidak sama dengan mboknya_Echi J.

Komentar dalam C++ ditulis dengan ‘//’ untuk komentar dengan panjang satu baris atau ‘/*’ dan ‘*/’ untuk komentar lebih dari satu baris, dimana tanda /* merupakan “pembuka” komentar dan */ adalah “penutup” komentar. Komentar adalah cataatan ang ditulis oleh programmer untuk sebagai pengingat atau penjelasan ketika membaca sebuah kode. Kata – kata dalam sebuah komentar tidak akan dieksekusi oleh compiler.

Beberapa kesalahan dalam penulisan dalam C++  adalah:
·         int int; /*salah karena nama sebuah variabel tidak boleh sama dengan seuah tipe data (int)*/
·         int Jam_9; //salah karena nama variabel dimulai dengan huruf besar
·         int 90jam; /*nah, ini juga salah karena nama sebuah variabel tidak boleh dimulai dengan bilangan*/

Penulisan yang benar dalam C++ adalah:
·        int myint; //betul
·        char kata_2; //betul juga...
·        double bilangan_KeDuA; /*walaupun nama identifiernya  aneh, tapi ini juga betul :) */

Setiap statement dalam C++ harus diberi tanda ‘;’ pada akhir dari statement. Contoh penulisan statement yang benar dalam C++ adalah:

int a, b, c;
a = 1;
b = 2;
c = a + b;

Sedangkan penulisan yang salah adalah:
int a, b, c
karena itu dianggap error oleh  compiler, karena merupakan statement yang tidak lengkap.

















BAB III. Tipe Data
Tipe – tipe data yang dikenal dalam C++ adalah sebagai berikut:

int
int adalah tipe data bilangan bulat (integer). Contoh penggunaan tipe int adalah:

int a = 1;
int num1 = 2, num2 = 4;
Perhatikan bahwa dalam nilai – nilai yang masuk di assign (masukkan) ke dalam variabel – variabel bertipe int adalah angka – angka / bilangan bulat. Seperti namanya, int hanya bisa bernilai bulat dan bukan pecahan (desimal). Bagaimana kalau yang tipenya int lalu yang dimasukkan adalah hasil pembagian yang tidak bulat hasilnya? Maka:
int hasil_bagi_bulat = 5 / 2;

Hasilnya:
2

Ini karena 5 dibagi 2 = 2,5 kemudian karena hasil_bagi_bulat adalah integer (bilangan bulat) 2,5 kemudian dibulatkan menjadi 2.
Untuk bilangan desimal sendiri ada tipe tertentu untuk bilangan ini.

double
adalah tipe yang khusus untuk bilangan yang tidak bulat alias desimal / pecahan. Contoh penggunaannya adalah:
double mydouble = 5.00;
double pecahan_pertama = 2.5, pecahan_kedua = 9.9;

char
adalah tipe data karakter yang bisa menyimpan mulai dari: a – z, A – Z, ‘!’, ‘@’, dsb. Penggunannya ± sama dengan tipe -  tipe yang sebelumnya:
char huruf = ‘c’;
char inisial1 = ‘A’, inisial2 = ‘W’;
char simbol = ‘#’;

bool
adalah tipe yang hanya “menyimpan” nilai “benar” dan “salah” yaitu, true dan false (boolean). Contoh:
bool benar_atau_salah = true;

string
adalah tipe yang khusus untuk menampung semua masukan dari user / gabungan karakter yang sangat panjang. Misalnya:
string string_gue = “nah, kyk gini deh contohnya string...”;











BAB IV. Operator Aritmatika
Operator aritmatika yang sering digunakan dalam C++ adalah:
·        ‘+’ = penjumlahan
·        ‘-‘ = pengurangan
·        ‘*’ = perkalian
·        ‘/’ = pembagian
·        ‘%’ = sisa bagi (modulo)

Contoh dari pemakaian masing – masing operator tersebut adalah sebagai berikut:
#include <iostream>
using namespace std;

void main () {
      int satu, dua, tiga, empat, lima;
      satu = 1 + 0;
      dua = 4 - 2;
      tiga = 1 * 3;
      empat = 20 / 5;

      //mencari sisa bagi dari 25 / 10
      lima = 25 % 10;

      cout << satu << “\n”;
      cout << dua << “\n”;
      cout << tiga << “\n”;
      cout << empat << “\n”;
      cout << lima << “\n”;
}
Hasilnya adalah:





BAB V. Looping
Looping adalah pengulangan sesuatu atau serangkaian “kerja” dari program. Dalam C++, paling tidak dikenal ada 3 looping.

While
Perintah while adalah pengulangan yang dilakukan oleh program selama (while) dalam keadaan tertentu. Misalnya saja, ada sebuah kondisi yang mengharuskan program agar melakukan “pekerjaan” tertentu selama keadaan itu terpenuhi (true).
Contoh:
Mencetak angka 1 sampai 1000
#include <iostream>
using namespace std;

void main() {
      int i = 1;
     
      //kondisi ditetapkan (bahwa selama i lebih kecil atau sama dengan
      //1000 ada perintah yang diberikan pada program...)
      while (i <= 1000) {

            //perintah untuk mencetak nilai dari i dan kemudian membuat
            //baris baru
            cout << i << “\n”;

            //iterasi
            ++i;
            //i = i + 1;
            //i += 1;
      }
}

Nah, dari kode di atas kita lihat bahwa selama i lebih kecil atau sama dengan 1000, nilai dari i akan di cetak ke layar. Jadi, hasilnya adalah:

1
2
1000

Akan tercetak angka dari 1 sampai 1000 di layar. Perhatikan baik – baik ada sepenggal kode yang diberi komentar “iterasi”. Apakah iterasi itu? Iterasi dalam looping adalah proses yang berpengaruh dalam nilai dari variabel yang ditetapkan sebagai acuan looping. Atau dapat pula dikatakan bahwa, iterasi adalah bagaimana penambahan nilai atau pengurangan dalam perulangan. Contohnya seperti nilai dari i di atas. Penulisan yang diberikan pada variabel i adalah:

++i;

Itu sama saja dengan perintah yang berada di dalam komentar:
// i = i + 1;

Dan
//i += i;

Perintah ini berarti bahwa i menambahkan dirinya sendiri dengan 1. Tanda “++” pada i pada bagian depan dari i (prefix), berarti kita langsung menambahkan variabel i dengan 1, tanpa menggunaan terlebih dahulu nilai dari i. Jika kita menggunakan tanda “++” pada bagian akhir dari variabel i (postfix), berarti nilai dari i digunakan terlebih dahulu lalu kemudian ditambahkan dengan 1. Contoh lain dari hal ini adalah dengan menggunakan pengurangan sebagai pengulangan. Contoh:

#include <iostream>
using namespace std;

void main () {
      int i = 1000;

      while (i >= 1) {
            cout << i << “\n”;

            //yang digunakan adalah “—-“
            --i;
      }
}

Hasil yang didapat mungkin saja berbeda, tapi persamaan dari keduanya adalah bahwa terjadi perulangan sebanyak 1000 kali, yaitu:

1000
999
1

Perlu diketahui bahwa yang terjadi pada perulangan jika sudah mencapai false (dimana kondisinya tidak lagi true melainkan false) adalah perulangan akan segera keluar dan melanjutkan program. Misalnya saja dari program di atas, jika i tidak lagi lebih kecil atau sama dengan 1000 (misalnya 1001), perulangan akan menghasilkan nilai false (kondisi tidak lagi i <= 1000).

do...while
Biasanya in adalah perintah untuk tetap melakukan sesuatu dalam program sampai kondisinya terpenuhi (aku memanggilnya “kepala batu” atau “si keras kepala” :DDD). Misalnya perintah untuk tetap menampilan sebuah pesan sampai adanya input yang valid dari user. Contoh:
#include <iostream>
using namecspace std;

void main () {
      char yes_no;
      //lalu beberapa variabel diletakkan di sini...
      //... (di sini misalnya terdapat kerja dari program)

      // disini  diletakkan do...while untuk “menunggu” inputan yang
      //valid dari user.
      do {
            cout << “masih mau lanjut? (y / n): “;
            cin >> yes_no;
      } while (yes_no != ‘y’ || yes_no != ‘n’);

      if (yes_no == ‘y’)
            //lakukan terserah apa aja yang anda mau lakukan di sini

      else
            //di sini juga anda bisa lakukan apa saja yang anda mau
            //lakukan
}
Jika kita perhatikan mungkin ada tanda yang di pergunakan dalam kode tersebut. Akan saya coba jelaskan mengenai beberapa operator logika yang terdapat dalam C++.

Operator logika biasanya dipakai dalam perbandingan (kondisi). Mengenai fungsi perbandingan ini akan dibahas dalam bab-bab berikutnya. Operator logika yang biasanya dipakai ada beberapa macam, yaitu:
-         Tanda “&&” (and), operator ini berfungsi jika kedua nilai pembandingnya bernilai true. Contoh: i >= 0 && i <= 1000. Ini berarti penggunaan kondisi dimana kondisi tersebut adalah i lebih besar atau sama dengan 0 dan lebih kecil atau sama dengan 1.000 (0 – 1.000).
-         Tanda “||” (or), operator ini berfungsi jika salah satu dari kedua nilai pembandingnya bernilai true. Contoh: i >= 1000 || i <= 0. Ini berarti penggunaan kondisi dimana kondisi tersebut adalah i lebih besar atau sama dengan 1.000 atau leih kecil atau sama dengan 0 (-1 ke bawah atau 1.001 ke atas).
-         Tanda “!” (not), seperti yang kita lihat terdapat di bagian dari kode di atas adalah merupakan tanda negasi, yang berarti semacam pembalik dari sesuatu. Misalnya seperti yang kita lihat pada potongan kode di atas:

while (yes_no != ‘y’ || yes_no != ‘n’);
Ini kurang lebih dapat dibaca: “ketika yes_no tidak sama dengan ’y’ n atau
yes_no tidak tidak sama dengan ’n’.

Kembali ke masalah kode di atas, pada bagian “pembuka” kita membuat beberap variabel, salah satunya adalah yes_no yang berfungsi untuk “menampung” nilai atau karakter yang dipilih dari user. Jadi, kita membuat sebuah program yang entah kerjanya baagimana lalu pada bagian akhir dari program tersebut, kita memberikan sebuah pilihan apakah user masih mau lanjut atau tidak. Jika user memasukkan input yang tidak valid misalnya menekan angka 0 atau menekan huruf  “t”), maka perintah yang berada dalam blok do…while akan di eksekusi, dan begitu seterusnya jika user masih tidak memasukan input yang valid.

for
Ini adalah (mungkin) perulangan yang paling sering dipakai dalam C++. Sintaknya adalah sebagai berikut:
for (inisialisasi; kondisi; iterasi) {
      //yang ingin dilakukan...
}
Dalam for, anda bisa melakukan inisialisasi, yaitu mendeklarasikan variabel baru dan langsung memasukan nilai di dalamnya, kemudian memberi kondisi dimana perulangan itu akan terus dilakukan, dan pada akhirnya menentukan iterasi. Contoh dari for adalah sebagai berikut:

#include <iostream>
using namespace std;

void main () {
      int num_masuk;
      cout << “berapa banyak anda mau melakukan perulangan?: “;
      cin >> num_masuk;

      for (int i = 1; i <= num_masuk; ++i) {
            cout << “ini adalah baris ke-“ << i << “\n” ;
      }
}

Pada kode di atas, yang akan menjadi input dari user untuk menentukan berapa banyak perulangan akan dilakukan adalah num_masuk, dan variabel yang akan dijadikan patokan dalam perulangan adalah i, di mana i di buat di dalam perintah for dan kemudian langsung di assign (inisialisasi). Kondisi yang digunakan adalah kondisi dimana i <= num_masuk yang berarti, jika / selama i lebih kecil atau sama dengan num_masuk maka perulangan akan terus dilakukan. Iteasi yang ditentukan di sini adalah nilai dari i akan ditambah 1 (satu) dalam setiap perulangan (++i). Contoh program yang sudah di compile dari kode ini adalah:


Namun for juga bisa digunakan sebagai berikut:
for (int i = 1; i <= 10; ++i) {
      for (int j = 1; j <= 10; ++j) {
            cout << i * j << “\n”;
      }
}
Program seperti ini dapat digunakan dalam perhitungan perkalian, misalnya saja hasilnya dapat menjadi sebagai berikut:
Koding untuk program ini adalah:
#include <iostream>
using namespace std;

void main () {
      //untuk berapa banyak baris yang diinginkan...
      for (int i = 1; i <= 10; ++i) {
            //jumlah kolom, mengingat bagian ini yang akan
            //dieksekusi lebih lanjut dan sampe selesai daul baru
//dilanjutkan dengan bagian yang selanjutnya (bagian baris)
            for (int j = 1; j <= 3; ++j) {
                  cout << i << " X " << j << " = " << j * i << "\t";
            }
            //baris baru, setelah ketiga kolom selesai “dibuat”
            cout << "\n";
      }
}
BAB VI. Break dan continue
Ketika melakukan perulangan, ketika sampai batas tertentu kita ingin memberhentikan perulangan tersebut. Untuk itulah, dibuat statement break dan continue.

break
Adalah perintah untuk langsung keluar dari looping (perulangan). Contoh penggunaan statement break adalah:
while (i > 0) {
      cout << i << “\n”;
      if (i == 2)
            break;
      --i;
}
Sudah bisa tebak apa kira – kira yang akan dihasilkan oleh program ini? Kalau belum, silahkan baca lebih lanjut.
Program tersebut akan dieksekusi sampai nilai i sama dengan 2. Seharusnya, progrma tersebut akan bejalan sampai dengan nilai i sama dengan 1. Tapi statement break yang diberikan pada kondisi dimana jika nilai i sama dengan 2 maka looping dihentikan, maka ketika nilai i sama dengan 2, nilai i tidak dikurangi lagi (--i;) dan looping keluar. Hasilnya kurang lebih bisa dilihat sama dengan contoh program berikut:
Kodenya adalah sebagai berikut:
#include <iostream>
using namespace std;

void main () {
      int baris;
      cout << "berapa banyak anda ingin mencetak baris?: ";
      cin >> baris;

      for (int i = 1; i <= baris; ++i) {
            cout << "ok, ini adalah baris yang ke-" << i << "\n";

            if (i == (baris - 1))
                  break;
      }
      cout << "sorry, hanya bisa sampe di situ doang... :D\n";
}
continue
Nah, ini juga mirip dengan break tadi hanya saja ini kebalikannya. Langsung saja ke contohnya:
      for (int i = 1; i <= 20; ++i) {
            if (i % 7 == 0)
                  cout << i << “\n”;
            else
                  continue;
      }
Yang di atas itu adalah (kurang lebih) contoh yang saya pelajari ketika saya belajar C++ juga :D. Itu adlaah kode untuk mencari bilangan kelipatan 7 dari 1 – 20. Fungs continue diatas adalah, jika bilangan itu tidak habis di  bagi 7 (if (i % 7 == 0)), maka lopingnya dilanjutkan terus, tanpa adanya apa – apa yang akan dieksekusi. Contoh tampilannya adalah sebagai berikut (kali ini kita akan mencoba mencari dari 1 sampai 100):
Kodenya adalah sebagai berikut:
#include <iostream>
using namespace std;

void main () {
      for (int i = 1; i <= 100; ++i) {
            if (i % 7 == 0)
                  cout << i << " adalah kelipatan 7!\n";
            else
                  continue;
      }
}

BAB VII.  If, Else If, dan Else
Dalam bab – bab sebelumnya, secara sekilas kita sudah melihat cara penerapan if dan else dalam kode – kode yang kita gunakan. Di sini kita kan mencoba membahasnya lebih lanjut.

If
Seperti namanya, if berarti jika, yang berarti “jika kondisi ini terbukti maka… (akan dilakukan sesuatu dalam kondisi seperti ini)”. Dan biasanya if “berpasangan” dengan else. Jadi, dapat dikatakan bahwa secara keseluruhan apa yang dimengerti oleh komputer adalah: “jika kondisi A terjadi, maka saya akan melakukan tindakan A, selain itu maka saya akan melakukan tindakan B”.

Else
Else adalah kondisi selain / diluar kondisi pertama (if). Salah satu perumpamaan dari “kasus” ini adalah: “jika dia bukan laki – laki, maka dia adalah perempuan”. Cukup simple, kan? OK, klo begitu kita langsung saja ke contohnya:



#include <ostream>
using namespace std;

void main () {
      char gender;
      cout << “masukkan gender anda (L/P): “
      cin >> gender;

      if (gender == ‘L’)
            cout << “anda adalah laki – laki!\n”;
      else
            cout << “anda adalah wanita alias perempuan :D\n”;
}

else if
else if sebenarnya adalah kondisi kedua yang diperkirakan akan terjadi sedangkan else sebenarnya adalahkondsi terakhir yang diperkirakan akan terjadi. Mengapa saya mengatakan demikan? Coba anda lihat kembali kode di atas. Jika anda perhatikan sebenarnya else adalah untuk semua kondisi selain kondisi pertama. Artinya, jika anda memasukkan huruf selain “L” juga akan diangap gender anda adalah perempuan. Karena yang terbaca oleh komputer adalah “jika variabel gender “isinya” huruf L, maka dia adalah laki – laki, selain itu dia adalah perempuan”. Jadi, jika anda memasukkan huruf M atau H sekalipun, anda akan tetap dianggap sebagi perempuan. Penempatan else if adalah selalu di bawah if (mengingat bahwa bagaimana bisa ada else if yaitu kondisi selain if jika if-nya sendiri belum ada?). Berikut adalah kode lengkapdari penggunaan if, else if dan else:


#include <iostream>
#include <string>
using namespace std;

void main () {
      int pilihan;
      string nama;
      cout << “masukkan nama anda: “;
      cin >> nama;
      cout << “selamat datang di restoran kami, “ << nama << “\n”;
      cout << “silahkan masukkan pilihanmu, “ << nama << “:\n”;
      cout << “1. ayam goreng campur oli mesin\n”;
      cout << “2. ikan hiu bakar plus bongkahan kapal Titanic\n”;
      cout << “3. kodok hamil campur toge\n”;
      cout << “silahan memilih”;
      cin >> pilihan;

      if (pilihan == 1)
            cout << “selamat, anda memilih plihan nomor satu\n”;
      else if (pilhan == 2)
            cout << “wah, selera anda cukup unik ya...?\n”;
      else if (pilihan == 3)
            cout << “wah, memang menu ini lagi top  di sini\n”;
      else {
            cout << wah, sepertinya anda kurang bisa membaca ya?\n”
                 << “dari planet mana, mas / mba?\n”;
      }
}

       

BAB VIII. switch
Dalam pemakaian if, sering kali kita harus berkali – kali menuliskan kondsi tertentu ssepert dalam dalam kondisi di atas, dimana kita harus menuliskan beberapa kondisi dengan kode yang agak panjang. Dengan memakai contoh program di atas, kita bisa membuat hasil yang sama dengan kode yang lebih singkat.Kali ini saya akan langsung menunjukkan contoh penggunaan switch.

#include <iostream>
using namespace std;

void main () {
      int pilihan;
      //dan lain sebagainya d sini...

      cout << “masukkan pilihan anda: “;
      cin >> pilihan;

      switch (pilihan) {
      case 1: {
cout << “anda memilih pilihan nomor satu!\n”;
break;
      }

      Case 2: {
            cout << “anda memilh pilihan nomor dua!\n”;
            break;
      }

      Case 3: {
            cout << “anda memilih pilihan nomor tiga!\n”;
            break;
      }
            default:
                  cout << “anda memasukkan piihan yang salah, bro!\n”;
}
}
Ada yang terasa aneh atau janggal dikode tersebut? Mengapa saya memakai break ? Ini karena disebabkan oleh switch akan mengeksekusi stateent di bawahnya jika tidak dikeluarkan oleh break. Jadi, jika tida dikeluarkan oleh break, yang akan terjadi adalah:
Ini akan terjadi jika kita memasukan angka 1 (satu).





Dan ini untuk memasukkan angka 2 (dua):
Dan seterusnya.

Mengapa? Ini terjadi karena ketika switch selesai mengeskusi case 1, misalnya, tanpa break, maka switch akan terus mengeksekusi statement yang berada di bawahnya sampai selesai. Makanya, break berfungsi untuk keluar dari switch begitu statement pada satu cae selesai di eksekusi (tanpa melanjutkan ke statement berikutnya / yang berada di bawahnya). Namun demikian, “sifat” dari switch ini bisa dimanfaatkan untuk kondisi – kondis tertentu, misalnya membuat program untuk menghitung anda berada di kuartal ke berapa dari satu tahun:
Kodenya adalah sebagai berikut:
#include <iostream>
using namespace std;

void main () {
      int bulan;
      cout << "bulan sekarang: ";
      cin >> bulan;

      switch (bulan) {
            case 1:
            case 2:
            case 3: cout << "anda berada di kuartal pertama!\n"; break;
            case 4:
            case 5:
            case 6: cout << "anda berada di kuartal kedua!\n"; break;
            case 7:
            case 8:
            case 9: cout << "anda berada di kuartal ketiga!\n"; break;
            case 10:
            case 11:
            case 12: cout << "anda berada di kuartal keempat!\n";
   break;
            default: cout << "bulannya salah!\n";
      }
}



















BAB IX. Fungsi
Penggunaan fungsi adalah untuk mempersingkat proses pengkodean, dalam arti ketika menghadapi masalah yang memiliki penyelesaian yang sama. Misalnya saja, ketika harus melakukan proses kalkulasi tertentu terhadap sejumlah angka secara berulang - ulang, dll.
Penulisan fungsi adalah di mulai dari tipe data kembaliannya (return), lalu nama fungsi tersebut kemudian parameter dan kerja dari fungsi tersebut.
<tipe_data> <nama_fungsi> (<tipe_data_dari_parameter paramater>) {

      //kerja dari fungsi di taruh di sini...

return <variabel_kembalian>
//optional
}

Tipe data kembalian bisa tidak dispesifikasikan jika memang tidak ada kembalian dari fungsi kita. Jadi, untuk fungsi yang tidak mempunyai kembalian maka sebenarnya ada tipe khusus untuk fungsi ini yaitu void / kosong.

Contoh fungsi yang tidak mempunyai tipe kembalian adalah:

void fungsiku_yang_void (int n) {
      int n2 = n * n;
      cout << “n setelah di pangkat dua adalah “ << n2 << “\n”;
}
Fungsi juga bisa mempunyai parameter yang kosong (tanpa parameter). Artinya, tanpa adanya sebuah variabel pun, kita dapat memanggil fungsi ini. Dan sekali lagi, contoh untuk fungsi seperti ini adalah:
int fungsiku_tanpa_parameter () {
      cout << “hi\n”;
}
Contoh lain dari fungsi adalah seperti yang bisa kita lihat dari kode di bawah:
#include <iostream>
using namespace std;

int fungsiku (int angka) {
      return (angka  * 2);
}

void main () {
      int angka1, angka2, angka3;
      cout << “masukkan tiga angka yang anda ingin kalikan dengan 2: “;
      cin >> angka1 >> angka2 >> angka3;
      cout << “angka anda setelah di kalikan dengan 2 adalah: “ <<
   fungsiku (angka1) << “ terus, “ << fungsiku (angka2) <<
   “, dan “ << fungsiku (angka3) << “\n”;
}

Fungsi Rekursif
Sebuah fungsi dikatakan rekursif kalau fungsii itu memanggil dirinya sendiri. Misalnya saja fungsi A setelah melakukan kerjanya, memanggil ulang dirinya sendiri sampai pada batas tertentu yang telah ditetapkan. Misalnya saja, mengurangi sebuah angka sampai tersisa hanya setengah dari nilainya saja. Contohnya adalah seperti kode berikut ini:

#include <iostream>
using namespace std;

void masukan_angkanya (int n, int m) {
      if (n == m)
            cout << "angkanya setelah diproses berkali-kali, adalah: " << n << "\n";
      else {
            n -= 1;
            masukan_angkanya (n, m);
      }
}
     
void main () {
      int masukan, masukan2;
      cout << "masukkan sebuah angka yang genap: \n";
      cin >> masukan;
      masukan2 = masukan / 2;
      masukan_angkanya (masukan, masukan2);
}















Biografi Penulis
Wirman a.k.a Chipp
Adalah salah satu alumni S1 Universitas Katolik Atma Jaya Makassar jurusan Ekonomi Manajemen yang senang ngutak-ngatik komputer, terutama software. Sekarang bekerja dalam bidang yang sama sekali jauh dari dunia komputer, yaitu pelayaran (sebagai staff finance). Tidak mengaku expert, dan masih terus belajar untuk menjadi lebih baik lagi.
Blog: http://omahtawongroup.blogspot.com



Label:

0 Komentar:

Posting Komentar

Berlangganan Posting Komentar [Atom]

<< Beranda