Rabu, 09 Januari 2013

Array pada c++


Array adalah variabel yang dapat menyimpan lebih dari satu nilai sejenis. Terdapat dua bagian penting yaitu elemen array yang merupakan nilai dan endeks array yang merupakan nilai urut untuk mengakses nilai pada array.
Deklarasi Array 1 Dimensi
tipe nama_var[max_data];
Contoh:
int a[5];
float x[100];
char nama[25];
.
dst.
Cara mengakses data bertipe array
nama_variabel[alamat]
Misal : Array a
27
23
35
46
87
à data yang tersimpan di array
0
1
2
3
4
à alamat array (dimulai dari 0)
a[0] = 27
a[1] = 23
.
.
a[4] = 87
Menginputkan data ke array
Data dapat diinputkan untuk setiap emelen array. Tetapi jika jumlah elemen array banayk, tentunya cara ini tidak efisien. Oleh karena itu dapat digunakan bantuan instruksi perulangan untuk input datanya.
Contoh 1:
#include <iostream.h>
#include <conio.h>
main() {
  int a[5];
  cout<<”Data ke 0 = “;cin>>a[0];
  cout<<”Data ke 1 = “;cin>>a[1];
  cout<<”Data ke 2 = “;cin>>a[2];
  cout<<”Data ke 3 = “;cin>>a[3];
  cout<<”Data ke 4 = “;cin>>a[4];
  int jumlah;
  jumlah=a[0]+a[1]+a[2]+a[3]+a[4];
  cout<<”\n\nJumlahnya = “<<jumlah;
  getch();
}
Contoh 2:
#include <iostream.h>
#include <conio.h>
main() {
  int a[5];
  int jumlah=0;
  for(int i=0;i<5;i++)
  { cout<<”Data ke “<<i<<” = “;cin>>a[i];
    jumlah+=a[i];
  }
  cout<<”\n\nJumlahnya = “<<jumlah;
  getch();
}
Tipe array juga dapat digabungkan dengan pointer. Untuk itu kita akan melakukan perubahan pada contoh 3 menjadi sebagai berikut:
Contoh 3:
#include <iostream.h>
#include <conio.h>
main() {
  int *a=new int[5];
  int jumlah=0;
  for(int i=0;i<5;i++)
  { cout<<”Data ke “<<i<<” = “;cin>>a[i];
    jumlah+=a[i];
  }
  cout<<”\n\nJumlahnya = “<<jumlah;
  getch();
}
Perhatikan contoh 3 diatas pada pengaksesan datanya. Jika array dideklarasikan sebagai pointer, maka untuk pengaksesan datanya cukup dituliskan sebagai array. Tetapi kita tetap bisa menuliskannya sebagai pointer tanpa harus menyertakan alamat arraynya. Jika demikian maka data akan diambilkan dari data pertama, atau data pada alamat ke 0.
Sehingga misalkan pada akhir program contoh 3 diatas kita tambahkan instruksi :
cout<<”\nData = “<<*a;
atau instuksi :
cout<<”\nData = “<<a[0];
akan mempunyai arti yang sama, data akan diambil dari data pertama (alamat 0).
Selain itu untuk input data dan proses penjumlahan, dapat juga dibuat dalam bentuk fungsi seperti pada contoh 4. Perhatikan pada saat tipe array menjadi parameter fungsi, jumlah data yang tersimpan dalam array boleh ditulis boleh tidak (optional). Sehingga bisa ditulis dengan : b[] saja
Contoh 4 :
#include <iostream.h>
#include <conio.h>
void input_array(int b[],int n)
{ for(int i=0;i<n;i++)
  { cout<<”Data ke “<<i<<” = “;cin>>b[i]; }
}
int jumlah(int b[],int n)
{ int hasil=0;
  for(int i=0;i<n;i++)
      hasil+=b[i];
  return hasil;
}
main() {
  int a[100];
  int bd;
  cout<<”Masukkan banyaknya data = “;cin>>bd;
  input_array(a,bd);
  cout<<”\n\nJumlahnya = “<<jumlah(a,bd);
  getch();
}
Penggunaan array 1D untuk sorting data
Pada proses berikut ingin akan diurutkan n data yang tersimpan di array dengan metode Bubble Sort.
Contoh 5:
#include <iostream.h>
#include <conio.h>
void masukan(int a[],int n)
{
  for(int i=0;i<n;i++)
  { cout<<”Data ke “<<i<<” = “;
      cin>>a[i];
      }
 }
void urutkan(int a[], int n)
{ int temp;
  for(int i=0;i<n;i++)
  for(int j=0;j<(n-i);j++)
  if (a[j]>a[j+1])
          {
            temp=a[j];
            a[j]=a[j+1];
            a[j+1]=temp;
            }
  }
void tampil(int a[], int n)
{
  for(int i=0;i<n;i++)
      cout<<a[i]<<”  “;
 }
main() {
  int a[100];
  int jml;
  cout<<”Banyak data = “;cin>>jml;
  masukan(a,jml);
  urutkan(a,jml);
  cout<<”\n\nSetelah diurutkan “;
  tampil(a,jml);
  getch();
}
Pada contoh program diatas ada tiga fungsi, fungsi pertama digunakan untuk menginputkan data ke dalam array, fungsi kedua untuk mengurutkan arraynya, dan fungsi ketiga untuk menampilkan data yang tersimpan di array ke layar.
Array 2 Dimensi
Contoh deklarasi :
int a[4][5];
0
1
2
3
0
25
40
26
12
1
6
8
12
5
2
1
3
8
9
3
15
22
13
19
4
0
5
7
15
Mengakses data :
a[0][0] = 25
a[0][1] = 40
.
.
dst
Penggunaan array 2D untuk menjumlahkan dua matrik
Matrik asal adalah a dan b, dijumlahkan dan hasilnya disimpan di matrik c. Syarat agar matrik dapat dijumlahkan adalah keduanya mempunyai ukuran yang sama.
Baris matrik 1 = Baris matrik 2
Kolom matrik 1 = Kolom matrik 2
Contoh 6:
#include <iostream.h>
#include <conio.h>
void masukan(int a[10][10],int b,int k)
{ for(int i=0;i<b;i++)
    for(int j=0;j<k;j++)
    {cout<<”Data ke “<<i<<j<<” = “;cin>>a[i][j]; }
}
void jumlah(int a1[][10],int a2[][10],int a3[][10],int b1,int k1)
{  for(int i=0;i<b1;i++)
    for(int j=0;j<k1;j++)
      a3[i][j]=a1[i][j]+a2[i][j];
}
void tampilkan(int a[10][10],int b,int k)
{ for(int i=0;i<b;i++)
   { for(int j=0;j<k;j++)
        cout<<a[i][j]<<”  “;
     cout<<”\n”;
    }
}
main() {
 int dt1[10][10],dt2[10][10],dt3[10][10];
 int b1,k1;
 cout<<”Jumlah baris matrik  = “;cin>>b1;
 cout<<”Jumlah kolom matrik  = “;cin>>k1;
 cout<<”\nMatrik pertama\n”;
 masukan(dt1,b1,k1);
 cout<<”\nMatrik kedua\n”;
 masukan(dt2,b1,k1);
 jumlah(dt1,dt2,dt3,b1,k1);
 clrscr();
 cout<<”\nMatrik pertama\n”;
 tampilkan(dt1,b1,k1);
 cout<<”\nMatrik kedua\n”;
 tampilkan(dt2,b1,k1);
 cout<<”\nMatrik hasil penjumlahan\n”;
 tampilkan(dt3,b1,k1);
 getch();
}
Perhatikan pada saat array 2D menjadi parameter fungsi, jumlah baris boleh ditulis boleh tidak, tetapi jumlah kolom harus ditulis.
Tipe array dapat dikembangkan menjadi array multidimensi. Misal 3D, 4D, dan sebagainya.

sumber : http://irwantav.wordpress.com/2012/03/08/array-pada-c/

Void dalam C++

Void main merupakan sebuah fungsi awal. Jadi di void main inilah program pertama kali dijalankan. lihat contoh
void main( )
{
//statement(pernyataan)
}
sebuah fungsi harus menggunakan tanda { dan }. Di dalam tanda inilah statement-statement akan ditulis untuk membuat sebuah program. Sedangkan tanda ‘( )’ merupakan sebuah parameter.


Fungsi Pemrograman Void Dan Non Void :
  
FUNGSI VOID
  • Fungsi yang void sering disebut juga prosedur
  • Disebut void karena fungsi tersebut tidak mengembalikan suatu nilai keluaran yang didapat dari hasil proses fungsi tersebut.
Ciri-ciri Program :
- tidak adanya keyword return.
- tidak adanya tipe data didalam deklarasi fungsi.
- menggunakan keyword void.
  • Tidak dapat langsung ditampilkan hasilnya
  • Tidak memiliki nilai kembalian fungsi
  • Keyword void juga digunakan jika suatu fungsi tidak mengandung suatu parameter apapun. 

FUNGSI NON-VOID

  • Fungsi non-void disebut juga function
  • Disebut non-void karena mengembalikan nilai kembalian yang berasal dari keluaran hasil proses function tersebut
Ciri-ciri Program :
- ada keyword return
- ada tipe data yang mengawali deklarasi fungsi
- tidak ada keyword void
  • Memiliki nilai kembalian
  • Dapat dianalogikan sebagai suatu variabel yang memiliki tipe data tertentu sehingga dapat langsung ditampilkan hasilnya 
sumber : http://bosengaptek.blogspot.com/2012/05/fungsi-pemrograman-void-dan-non-void.html

Decision dalam C++


If-Else

Pernyataan Percabangan If-Else digunakan untuk memecahkan persoalan untuk mengambil suatu keputusan diantara sekian pernyataan yang ada. Untuk keperluan pengambilan keputusan, Borland C++ menyediakan beberapa perintah antara lain:

1. Pernyataan If-Else

Bentuk umum dari pernyataan If-Else
if(kondisi)
{
statement 1;
}
else
{
statement 2;
}

Ket :
  • Kondisi adalah pernyataan relasi yang akan diuji kebenarannya. Kondisi bisa berbentuk pernyataan relasi tunggal maupun pernyataan relasi majemuk yang dihunbungkan dengan operator logika.
  • Statement adalah satu atau lebih perintah yang akan dikerjakan jika kondisi bernilai benar.
Kesimpulan:
Pernyataan if mempunyai pengertian, "Jika kondisi bernilai benar, maka statement 1 akan dikerjakan dan jika tidak memenuhi syarat maka akan mengerjakan statement 2".

Untuk contoh programnya, silahkan lihat di sini!


2. Pernyataan If-Else Multi Kondisi

Kondisi yang diperiksa di dalam perintah if bisa berupa kumpulan operasi yang dihubungkan dengan satu atau lebih operator logika.
Bentuk umum If-Else Multi Kondisi.
if(kondisi1 &&/|| kondisi2 .......dst)
{
statement;
}
.....dst

Ket:
  • Kondisi 1, kondisi 2, dst adalah beberapa pernyataan relasi yang akan diuji kebenarannya. Hasil akhir dari seluruh kondisi inilah yang akan menentukan apakah blok statement akan dikerjaka atau tidak.
  • Operator "&&" digunakan untuk menghubungkan dua relasi dengan logika AND. Hasil akhir akan bernilai benar apabila kedua kondisi benar. Dan bernilai salah apabila kedua kondisi atau salah satu kondisi bernilai salah.
  • Operator "||" digunakan untuk menghubungkan dua relasi dengan logika OR. Hasil akhir akan bernilai benar apabila kedua kondisi benar atau salah satunya benar. Dan bernilai salah apabila kedua kondisi bernilai salah.
Untuk contoh programnya, silahkan lihat di sini!


3. Pernyataan Nested If-Else

Percabangan If-Else secara Nested merupakan sebuah struktur percabangan bisa saja berada di dalam struktur percabangan yang lain, demikian terus tanpa batas, disesuaikan dengan persoalan yang dihadapi. Diproses atau tidaknya percabangan yang berada di bagian dalam ditentukan oleh diproses-tidaknya percabangan bagian luar.

Nested if merupakan pernyataan if berada didalam pernyataan if yang lainnya. Bentuk penulisan pernyataan Nested if adalah :
if(kondisi 1)
{
if(kondisi 1-1)
{
statement 1.1;
}
else
{
statement 1.2;
}
}
else
{
if(kondisi 2-1)
{
statement 2.1;
}
else
{
statement 2.2;
}
}

Kesimpulan:
Pernyatan Nested If-Else memiliki pengertian,
  • "Jika kondisi 1 bernilai benar, dan jika kondisi 1-1 bernilai benar, maka akan mengerjakan statement 1.1" Apabila kondisi 1-1 bernilai salah, maka akan mengerjakan statement 1.2".
  • "Jika kondisi 1 bernilai salah, dan jika kondisi 2-1 bernilai benar, maka akan mengerjakan statement 2.1" Apabila kondisi 2-1 bernilai salah, maka akan mengerjakan statement 2.2".
sumber : http://cprogramming26.blogspot.com/2009/09/percabangan-if-else_09.html

Looping dalam C++

STRUKTUR KONTROL PERULANGAN
(LOOPING)
Perulangan :
Perulangan data atau yang biasa disebut dengan “looping” adalah proses yang dilakukan secara berulang-ulang sampai batas yang ditentukan. Biasanya bila dalam perulangan tersebut tidak disertakan batasnya maka syntax akan error karena proses itu akan berulang terus hingga tak terhingga sementara variabel dalam komputer masih terbatas.
Jenis :
a.   FOR
Syntax :  for (inisialisasi ; syarat ; penambahan) {
pernyataan}
inisialisasi        : keadaan awal dari variabel control
syarat               : ekspresi relasi yang merupakan kondisi
penambahan    : pengatur perubahan nilai variabel control
Contoh :
for (i=0;i<10;i++)
{
p=2+i;
}
b.   WHILE
Syntax :  while (kondisi){
pernyataan}
Contoh :
i=0
while (i<10)
{
p=2+i;
i++;
}
c.   DO – WHILE
Syntax :  do {
pernyataan}
while (kondisi);
Contoh :
i=0
do
{
i++;
}
while (i<10)
Perbedaan antara FOR, WHILE, dan DO-WHILE :
For :
untuk mengulang suatu proses yang telah diketahui jumlahnya.
While : Pre Tested Loop
untuk mengulang suatu proses yang belum diketahui jumlahnya. Pengecekan kondisi akan dilakukan terlebih dahulu. Jika kondisi masih bernilai true, maka looping akan terus berlanjut.
Do-while : Post Tested Loop
untuk mengulang suatu proses yang belum diketahui jumlahnya. Instruksi akan dijalankan lebih dahulu, kemudian dilakukan pengecekan kondisi apabila masih bernilai true maka looping akan terus berlanjut.
Makna lainya yang sama :
PERULANGAN / LOOP
Struktur Perulangan digunakan untuk mengulang sekumpulan perintah sesuai dengan kondisi yang diberikan. Proses perulangan biasanya digunakan untuk mengulang proses pemasukan data, mengulang proses perhitungan dan mengulang untuk proses penampilan hasil pengolahan data, dengan jumlah tertentu jika sebuah kondisi belum terpenuhi.
Pada bahasa pemrograman, perulangan proses ditangani dengan suatu mekanisme yang dinamakan dengan nama loop. Dengan loop, suatu proses yang berulang dapat diimplementasikan dengan menggunakan statement-statement yang pendek, tanpa harus menuliskan statemen berulang-ulang.
Ada 3 (tiga) cara untuk melakukan perulangan di C++ yaitu :
  1. For statement
  2. While statement
  3. Do while statement
PENJELASAN
  1. For Statement
Ini adalah statement perulangan yang paling sering digunakan. Statement for memiliki 3 parameter, yaitu nilai awal (initial value), tes kondisi yang menentukan akhir loop, dan penentu perubahan nilai.
Bentuk umum :
For (<init-exp> ; <test-exp> ; <inc/dec-exp> )
Statement ;
Keterangan :
  • Init-exp : ekspresi yang digunakan untuk melakukan inisialisasi terhadap variable-variabel tertentu, terutama variable yang digunakan untuk melakukan iterasi. Init-exp dapat berupa ekspresi maupun pendefinisian variable.
  • Test-exp : ekspresi yang memegang control terhadap proses perulangan tersebut, pada bagian ini akan ditentukan apakah proses perulangan akan tetap berlangsung atau tidak.
  • Inc/dec-exp : digunakan untuk mengatur perubahan nilai variable. Umumnya nilai variable tersebut bertambah / berkurang 1 (satu)
2. WHILE STATEMENT
Pernyataan while adalah pernyataan yang berguna untuk memproses suatu pernyataan atau memproses pernyataan beberapa kali. Pernyataan atau aksi akan di ulang jika kondisi bernilai benar dan jika salah maka keuar dari blok perulangan (loop)
Bentuk umum While :
<Inisialisasi>
while (kondisi)
{
Pernyataan ;
}
3. DO WHILE STATEMENT
Perulangan akan dilakukan minimal 1x terlebih dahulu, kemudian baru dilakukan pengecekan terhadap kondisi, jika kondisi benar maka perulangan masih akan tetap dilakukan. Perulangan dengan do…while() akan dilakukan sampai kondisi false.
Perbedaan dengan while statement adalah : pada do while kondisi akan dievaluasi setelah dilakukan statement/proses. Selain itu pada do while minimal akan dilaksanakan 1 (satu) kali statement/instruksinya.

sumber : http://ekaswantara.wordpress.com/looping-dalam-c/

Input Output dalam C++


  • #include
    perintah ini digunakan untuk mengikutsertakan sebuah file library dalam hal ini disebut sebagai header contohnya iostream, conio.h, string, stdlib, dll. Contoh menulisannya adalah :
    #include <iostream>
    #include <conio.h>

    Terkadang ada beberapa compiler yang harus menggunakan .h di belakannya kadang tidak, namun juga dari beberapa file header ada yang harus menggunakan .h ada juga yang tidak. Artinya jika terjadi error di bagian file header coba saja ubah-ubah pada .h (bagian ekor) - nya.

  • <iostream>, <conio.h>, <string>,<stdlib>, dll.
    <iostream> adalah salah satu file header yang salah satu fungsinya untuk menjalankan perintah cout, cin. Dimana perintah cout berfungsi untuk menampilkan (output) sebuah data dalam program dan cin berfungsi untuk menampilkan (input) sebuah data ke dalam program (cout dan cin adalah salah satu perintah dari sekian banyak perintah yang terdapat dari librari iostream.
    <conio.h>adalah salah satu file header yang salah satu fungsinya untuk menahan tampilan layar sebelum dilanjutkan (press any key to continue....), fungsi tersebut adalah getch(); disimpan di bagian yang sekiranya akan kita tahan tampilannya. Biasanya pada awal praktek C++ temen-temen kita suka bertanya mengapa saat dijalankan (run) project yang kita buat langsung keluar otomatis itu dikarenakan di bagian akhirnya tidak disimpan fungsi ini.
  • Using namespace std; Perintah ini ditulis di bawah penulisan file header, fungsinya untuk menghandle penulisan standar pada umumnya contoh jika sebelumnya perintah untuk menampilkan data atau pesan dari sebuah program kita tuliskan "std::cout" pada semua baris yang akan kita tampilkan, namun dengan menuliskan "using namespace std; kita cukup menuliskan "cout" saja.
  • Int main(){}
    Ini adalah fungsi atau method pokok yang akan memulai menjalankan sebuah program, artinya jika dalam satu file c/c++ yang di dalamnya terdapat beberapa fungsi secara bertumpukan, fungsi yang pertama dijalankan dan akan dijalankan oleh sebuah compiler adalah fungsi "int main ()" ini, meskipun letaknya di bagian bawah.
  • System(“pause”);
    ini adalah salah satu fungsi untuk menahan tampilan
  • cout <<, “”, \n, endl;,\t. //perintah dalam mengelola tampilan
  • cin >> //perintah inputan
  • system(“cls”); //menghapus tampilan di layer
  • system("color 37"); // memberikan paduan warna layar dan tulisan (bawaan stdlib.h)

sumber : http://javastudy.xtreemhost.com