Showing posts with label Bahasa C. Show all posts
Showing posts with label Bahasa C. Show all posts

Monday, September 1, 2014

QUEUE - MATERI


Dasar Teori
Antrian (Queue) dapat diartikan sebagai suatu kumpulan data yang seolah-olah
terlihat seperti ada data yang diletakkan di sebelah data yang lain seperti pada gambar 01.
Pada gambar, data masuk melalui lorong di sebelah kanan dan masuk dari terowongan
sebelah kiri. Hal ini membuat antrian bersifat FIFO (First In First Out), beda dengan
stack yang berciri LIFO.
 

 


Antrian dapat dibuat baik dengan array maupun dengan struct. Pada pembuatan
antrian dengan array, antrian yang disajikan bersifat statis. Ini disebabkan oleh jumlah
maksimal array sudah ditentukan sejak deklarasi awal

QUEUE DENGAN LINIEAR ARRAY
- Terdapat satu buah pintu masuk di suatu ujung dan satu buah pintu keluar di
ujung Satunya
- Sehingga membutuhkan variabel Head dan Tail
 


Create()
• Untuk menciptakan dan menginisialisasi Queue
• Dengan cara membuat Head dan Tail = -1

IsEmpty()
• Untuk memeriksa apakah Antrian sudah penuh atau belum
• Dengan cara memeriksa nilai Tail, jika Tail = -1 maka empty
• Kita tidak memeriksa Head, karena Head adalah tanda untuk kepala
antrian (elemen pertama dalam antrian) yang tidak akan berubah-ubah
• Pergerakan pada Antrian terjadi dengan penambahan elemen Antrian
kebelakang, yaitu menggunakan nilai Tail
 
 


 
IsFull()
• Untuk mengecek apakah Antrian sudah penuh atau belum
• Dengan cara mengecek nilai Tail, jika Tail >= MAX-1 (karena MAX-1
adalah batas elemen array pada C) berarti sudah penuh
 
 
Enqueue(data)
• Untuk menambahkan elemen ke dalam Antrian, penambahan elemen
selalu ditambahkan di elemen paling belakang
• Penambahan elemen selalu menggerakan variabel Tail dengan cara
increment counter Tail

Dequeue()
• Digunakan untuk menghapus elemen terdepan/pertama dari Antrian
• Dengan cara mengurangi counter Tail dan menggeser semua elemen
antrian kedepan.
• Penggeseran dilakukan dengan menggunakan looping
 

 
 


 Clear()
• Untuk menghapus elemen-elemen Antrian dengan cara membuat Tail dan
Head = -1
• Penghapusan elemen-elemen Antrian sebenarnya tidak menghapus
arraynya, namun hanya mengeset indeks pengaksesan-nya ke nilai -1
sehingga elemenelemen Antrian tidak lagi terbaca
 
 
 
Print()
• Untuk menampilkan nilai-nilai elemen Antrian
• Menggunakan looping dari head s/d tail
Perbedaan antara stack dan queue terdapat pada aturan penambahan dan
penghapusan elemen. Pada stack, operasi penambahan dan penghapusan elemen
dilakukan di satu ujung. Elemen yang terakhir kali dimasukkan akan berada paling dekat
dengan ujung atau dianggap paling atas sehingga pada operasi penghapusan, elemen
teratas tersebut akan dihapus paling awal, sifat demikian dikenal dengan LIFO. Pada
queue, operasi tersebut dilakukan di tempat yang berbeda. Penambahan elemen selalu
dilakukan melalui salah satu ujung, menempati posisi di belakang elemen-elemen yang
sudah masuk sebelumnya atau menjadi elemen paling belakang. Sedangkan penghapusan
elemen dilakukan di ujung yang berbeda, yaitu pada posisi elemen yang masuk paling
awal atau elemen terdepan. Sifat yang demikian dikenal dengan FIFO.

contoh program :
 
#include
#include
#include
#define MAX 10
28
typedef struct
{
int data[MAX];
int head;
int tail;
} Queue;
Queue antrian;
void Create()
{
antrian.head=antrian.tail=-1;
}
int IsEmpty()
{
if(antrian.tail==-1)
return 1;
else
return 0;
}
int IsFull()
{
if(antrian.tail==MAX-1) return 1;
else return 0;
}
void Enqueue(int data)
{
if(IsEmpty()==1)
{
antrian.head=antrian.tail=0;
antrian.data[antrian.tail]=data;
cout<<"Data "<Masuk!!";
}
else if(IsFull()==0)
{
antrian.tail++;
antrian.data[antrian.tail]=data;
cout<<"Data "<Masuk!!";
}
else if (IsFull() == 1)
{
cout<<"Ruangan Penuh!!"<cout<}
}
29
void Dequeue()
{
int i;
int e = antrian.data[antrian.head];
if (antrian.tail == -1)
{
cout<<"Ga Ada Antrian... Data Kosong"<}
else
{
for(i=antrian.head;i<=antrian.tail-1;i++)
{
antrian.data[i] = antrian.data[i+1];
}
antrian.tail--;
cout<<"Data yang Keluar lebih dulu = "<}
}
void Clear()
{
antrian.head=antrian.tail=-1;
cout<<"Duh Lega, Ruangan Jadi Ga Sumpek...."<cout<<"Data Clear...";
}
void Tampil()
{
if(IsEmpty()==0)
{
cout<<"Data Dalam Antrian"<cout<<"==========================="<cout<for(int i=antrian.head;i<=antrian.tail;i++)
{
cout<<"| "<}
}
else cout<<"Ga Ada Antrian... Data Kosong";
}
void main()
{
int pil;
int data;
Create();
do
{
clrscr();
cout<<"Implementasi Antrian dengan Struct"<cout<<"=================================="<cout<30
cout<<"1. Enqueue(Push)"<cout<<"2. Dequeue(PoP)"<cout<<"3. Print"<cout<<"4. Clear"<cout<<"5. Exit"<cout<<"Pilihan Anda= "; cin>>pil;
switch(pil)
{
case 1:
{
cout<cout<<"Data = "; cin>>data;
Enqueue(data);
break;
}
case 2:
{
cout<Dequeue();
break;
}
case 3:
{
cout<Tampil();
break;
}
case 4:
{
cout<Clear();
break;
}
}
getch();
} while(pil!=5);
}

Struktur Program C++

Terdiri sejumlah blok fungsi, setiap fungsi terdiri dari satu atau beberapa pernyataan yang melaksanakan tugas tertentu.

#include
main(){
statement;
}

Latihan Program 1.1:
//my first program in C++
#include
#include
main(){
clrscr();
cout<<"Hello World!";
getch();
return 0;
}

Berikut adalah penjelasan dari program diatas:
  • //my first program in C++, baris ini merupakan komentar. Setiap kalimat yang diawali dengan double slash (//) pada setiap baris akan menjadi suatu komentar. Kalimat tersebut tidak akan mempengaruhi proses program
  • #include , Karakter # disebut sebagai preposcessor. Pada setiap kali compiler dijalankan, maka preprocessor membaca source code, mencari baris yang memiliki karakter awal # dan jika menemukan maka akan menjalankan perintah pada baris itu sebelum compiler berjalan. Dalam kasus ini, maka perintah include berarti program ini berjalan dengan menyertakan library/file header
  • #include , mengikutsertakan library dalam program ini  main(), baris ini mendeklarasikan fungsi utama dari program ini. Fungsi utama akan dieksekusi pertama kali setiap kali program C++ berjalan. Singkatnya, inti dari seluruh program C++ berpusat pada fungsi utama ini
  • Baris-baris yang telah dijelaskan sebelumnya dapat kita sebut dengan baris kepala. Selanjutnya, kita akan masuk kepada baris badan yang ditandai dengan tanda kurung ({}). Baris badan adalah inti dari program yang akan dieksekusi
  • cout<<”Hello World”; cout adalah suatu perintah yang berfungsi untuk memasukkan bagian karakter “Hello World” ke dalam standard ouput stream (yang biasa kita kenal tampilan pada layar). cout didefinisikan pada library . Untuk menutup pernyataan, digunakan tanda (;).
  • getch(); untuk beberapa compiler C++ dibutuhkan sebuah file header yang bernama . Selanjutnya kita menempatkan sebuah fungsi bernama getch() sebelum program diakhiri. Maksud dari penggunaan ini adalah agar tampilan tertahan untuk sementara waktu. Jika tidak, maka proses akan berjalan tanpa kita dapat melihat hasilnya.
  • return 0; baris ini menyatakan fungsi utama program telah berakhir. Perintah return diikuti oleh kode, dalam hal ini kode 0. Kode ini diinterpretasikan sebagai tanda bahwa program telah dieksekusi tanpa terjadi error. Cara ini adalah cara yang umum dalam mengakhiri program C++.

Macam-macam include directive/header file pada c++


Nama file yang memungkinkan dibangun pada program bahasa c++, yang dicantumkan setelah #include. Berisi antara lain informasi fungsi, konstanta, dan variabel dari pustaka (bagian program yang telah tersedia) .Ada beberapa hal tentang kerangka program C tersebut yang perlu diketahui.
Pertama, program C++ harus mempunyai fungsi main yang ditulis seperti ini : main() . Tubuh program C akan mengikuti fungsi main itu dan dimasukkan di antara tanda kurung { dan }. Dalam contoh di atas tubuh programnya adalah : printf(“C++ i tu mudah!n.”);.
Kedua, fungsi dan pernyataan di tubuh program C ditutup dengan tanda ” ” ;.
Ketiga, program C biasanya punya satu atau lebih file header. File header program di atas adalah stdio.h
File header itu mempunyai banyak kegunaan, antara lain untuk menjalankan proses input/output. Untuk mengikutkan file header itu bisa ditulis directive #include<…>.
Di bawah ini mencantumkan beberapa file header yang biasa diperlukan
  1.      Untuk manajemen memori
  2.      Untuk memanggil routines ROM BIOs
  3.      Untuk fungsi matematika komplek (dengan C++)
  4.      Untuk memanggil console DOS I/O (input output)

            Fungsi-fungsi pustaka yang umum digunakan untuk menampilkan hasil yang prototype-nya berada di file judul conio.h
a)     getch () : Fungsi getch() (get character and echo) dipakai untuk membaca sebuah karakter dengan sifat karakter yang dimasukkan tidak perlu diakhiri dengan menekan tombol ENTER, dan karakter yang dimasukan tidak akan ditampilkan di layar.
b)    getche() : Fungsi getche()dipakai untuk membaca sebuah karakter dengan sifat karakter yang dimasukkan tidak perlu diakhiri dengan menekan tombol ENTER, dan karakter yang dimasukan ditampilkan di layar.
c)     putch() : Akan menampilkan karakter ASCII dari nilai x ke layer monitor tanpa memindahkan letak kursor ke baris berikutnya.
d)    clrscr() : Fungsi ini digunkan untuk membersihkan layar window dan memindahkan posisi kursor ke baris 1 kolom 1 (pojok kiri atas).
e)     clreol() : Fungsi ini digunakan untuk membersihkan layar mulai dari posisi kursor hingga kolom terakhir, posisi kursor tiak berubah.
f)      gotoxy () : Fungsi gotoxy digunakan untuk memindahkan kursor ke kolom x, baris y.
g)     wherex () : Fungsi wherex digunakan untuk mengembalikan posisi kolom kursor.
h)    wherey () : Fungsi wherey digunakan untuk mengembalikan posisi baris kursor.
i)       window () : Fungsi window digunakan untuk mendefinisikan sebuah window berdasarkan koordinat kiri atas dan kanan bawah.
5. Berisi parameter untuk routing float point
6. Untuk prototype fungsi grafik
7. Untuk routing I/O basicdi C++
        Fungsi-fungsi pustaka yang umum digunakan untuk menampilkan hasil yang        prototype-nya berada di file judul iostream.h
a)     cout() : Fungsi cout() merupakan sebuah objek didalam Borland C++ digunakan untuk menampilkan suatu data kelayar.
b)    cin () : Fungsi cin() merupakan sebuah objeck didalam C++ digunakan untuk memasukkan suatu data.
c)     endl : endl merupakan suatu fungsi manipulator yang digunakan untuk menyisipkan karakter NewLine atau mengatur pindah baris. Fungsi ini sangat berguna untuk piranti keluaran berupa file di disk.
d)    ends : ends merupakan suatu fungsi manipulator yang digunakan untuk menambah karakter null ( nilai ASCII NOL ) kederetan suatu karakter. Fungsi ini akan berguna untuk mengirim sejumlah karakter kefile didisk atau modem dan mangakhirinya dengan karakter NULL.
8. Untuk operasi matematika
          math.h dan stdlib.h dipergunakan untuk prototype fungsi operasi matematika seperti : sqrt (akar kuadrat), sin, cos, tan, acos, asin, atan, atan2, cosh, sinh, tanh, exp, prexp, ldexp, log, log10, modf, pow, ceil, fabs, fmod
a)     Sqrt() : Digunakan untuk menghitung akardari sebuah bilangan. Bentuk umum : sqrt(bilangan);
b)    Sin(), cos(), tan() : Masing-masing digunakan untuk menghitung nilai sinus, conisius dan tangens dari suatu sudut. Bentuk umum: Sin(sudut); Cos(sudut); Tan(sudut);
c)     Max() : Digunakan untuk menghitung hasil pembagian dan sisa pembagian. Bentuk umum : max(bilangan1, bilangan2);
d)    Min() : Digunakan untuk menentukan bilangan terkecil dari dua buah bilangan. Bentuk umum : min(bilangan1, bilangan2).
9. Mendefinisikan tipe dan macro untuk paket standar I/O yang dikembangkan oleh Kernighan & Ritchie
         Fungsi-fungsi pustaka yang umum digunakan untuk menampilkan hasil yang prototype-nya berada di file judul stdio.h
a)     printf() : Merupakan fungsi keluaran yang paling umum digunakan untuk menampilkan informasi kelayar. Bentuk Penulisan : printf(“penentu format”, argumen-1, argumen-2, …);
b)    puts() : Perintah puts() sebenarnya sama dengan printf(), yaitu digunakan untuk mencetak string ke layar. puts() berasal dari kata PUT STRING. Perbedaan antara printf() dengan puts() adalah : printf() puts() .Harus menentukan tipe data untuk data tring, yaitu %s Tidak Perlu penentu tipe data string, karena fungsi ini khusus untuk tipe data string. Untuk mencetak pindah baris, memerlukan notasi ‘ n ‘ Untuk mencetak pindah baris tidak perlu notasi ‘ n ‘, karena sudah dibeikan secara otomatis.
c)     putchar() : Perintah putchar() digunakan untuk menampilkan sebuah karakter ke layar. Penampilan karakter tidak diakhiri dengan pindah baris.
d)    fprintf() : Digunakan untuk mencetak semua jenis tipe data ke printer dan secara otomatis memberikan efek perpindahan baris.
e)     fputs() : Digunakan untuk mencetak tipe data string ke printer
f)      fputc() : Digunakan untuk mencetak tipe data karakter ke printer
g)     scanf() : Fungsi pustaka scanf() digunakan untuk menginput data berupa data numerik, karakter dan string secara terformat. Hal-hal yang perlu diperhatikan dalam pemakaian fungsi scanf(). Fungsi scanf() memakai penentu format. Fungsi scanf() memberi pergantian baris secara otomatis. Fungsi scanf() tidak memerlukan penentu lebar field. Variabelnya harus menggunakan operator alamat “&”. Bentuk umum fungsi scanf(): “ penentu format “, &variabel. Penentu format : kode format untuk konversi data “&” Operator untuk pointer, yang digunakan untuk penempatan alamat dari nilai variabel di memori. Variabel : variabel yang akan menampung nilai yang dimasukkan Penentu Format scanf()
h)    gets() : Fungsi gets() digunakan untuk memasukkan data bertipe karakter dan tidak dapat digunakan untuk memasukkan data numerik. Penulisan fungsi gets() harus diakhiri dengan penekanan tombol enter. Fungsi gets() akan menyebabkan kursor secara otomatis akan pindah baris, fungsi gets() tidak memerlukan penentu format. Perbedaan scanf() dengan gets(). scanf() dan gets() tidak dapat menerima string yang mengandung spasi atau tab dan dianggap sebagai data terpisah Dapat menerima string yang mengandung spasi atau tab dan masing dianggap sebagai satu kesatuan data.
i)       getchar() : Fungsi getchar() digunakan untuk membaca data yang bertipe karakter, penggunaan fungsi getchar harus diakhiri dengan penekanan tombol enter. Karakter yang dimasukkan akan terlihat pada layar dan pergantian baris akan dilakukan secara otomatis tanpa penekanan tombol enter. Fungsi getchar tidak menggunakan argument, tetapi langsung memberikan hasil karakter yang dimasukkan.
10. Untuk beberapa fungsi rutin umum : konversi dll
         Fungsi-fungsi pustaka yang umum digunakan untuk menampilkan hasil yang prototype-nya berada di file judul stdlib.h
a)     Atof() : Digunakan ntuk mengkonversi nilai string menjadi bilangan bertipe double. Bentuk umum : atof(char x);
b)    Atoi() : Digunakan untuk menghitung hasil pembagian dan sisa pembagian. Bentuk umum : div_t div(int x, int y)
c)     Pow() : Digunakan untuk pemangkatan suatu bilangan. Bentuk umum : pow(bilangan, pangkat).
11. Untuk mengguakan manipulator, Manipulator pada umumnya digunakan untuk mengatur tampilan layer
Fungsi-fungsi pustaka yang umum digunakan untuk menampilkan hasil yang prototype-nya berada di file judul iomanip.h
a)     dec, oct dan hex : dec, oct dan hex merupakan suatu fungsi manipulator yang digunakan untuk menampilkan data dalam bentuk desimal, oktal dan hexadesimal.
b)    setprecision () : Fungsi setprecision() merupakan suatu fungsi anipulator yang digunakan ntuk mengatur jumlah digit desimal yang ingin ditampilkan. Fungsi ini biasa pada fungsi cout().
c)     setbase (int n) : Fungsi setbase () merupakan suatu fungsi manipulator yang digunakan untuk mengkonversi ke bilangan basis n (n= 8, 10 atau 16)
d)    setw(int n) : Fungsi setw(int n) merupakan suatu fungsi manipulator yang digunakan untuk mengatur lebar field (spasi) untuk suatu nilai sebesar n karakter
e)     setfill(int c) : Fungsi setfill(int c) merupakan suatu fungsi manipulator yang digunakan untuk menyetel karakter pemenuh berupa c
f)      setiosflags(long f) : Fungsi setiosflags()merupakan suatu fungsi manipulator yang digunakan untuk menyetel format yang ditentukan oleh f
g)     resetiosflags(long f) : Merupakan suatu fungsi manipulator yang digunakan untuk menghapus format yang ditentukan oleh f
12. Untuk operasi string
a)     Strcpy() : Berfungsi untuk menyalin suatu string asal ke variablel string tujuan. Bentuk umum : strcpy(var_tujuan, string_asal);
b)    Strlen() : Berfungsi untuk memperoleh jumlah karakter dari suatu string. Bentuk umum : strlen(tujuan, sumber);
c)     Strupr() : Digunakan untuk mengubah setiap huruf dari suatu string menjadi huruf capital. Bentuk umum : strlupr(string);
d)    Strcmp() : Digunakan untuk membandingkan dua buah string. Hasil dari fungsi ini bertipe integer dengan nilai: Negative, jika string pertama kurang dari string kedua. Nol, jika string pertama sama dengan string kedua Positif, jika string pertama lebih besar dari string kedua. Bentuk umum : strcmp(string1, string2);
e)     strupr() : Digunakan untuk mengubah huruf menjadi capital. Bentuk umum : strupr(string)
f)      strlwr() : Digunakan untuk mengubah huruf menjadi kecil semua. Bentuk umum : strlwr(string)
g)     strcmp() : Digunakan untuk membandingkan dua string. Bentuk umum : strcmp (string1, string2)
h)    strcat () : Digunakan untuk menggabungkan string. Bentuk umum : strcat(string1,string2)
13. Untuk operasi karakter
a)     islower() : Fungsi akan menghasilkan nilai benar (bukan nol)jika karakter merupakan huruf kecil. Bentuk umum : islower(char);
b)    isupper() : Fungsi akan menghasilkan nilai benar(bukan nol) jika karakter merupakan huruf capital. Bentuk umum : isupper(char);
c)     isdigit() : Fungsi akan mengahsilkan nilai benar(bukan nol) jika karakter merupakan sebuah digit.
Bentuk umum : isdigit(char);
d)    Tolower() : Fungsi akan mengubah huruf capital menjadi huruf kecil. Bentuk umum : tolower(char);
e)     Toupper() : Fungsi akan mengubah huruf kecil menjadi huruf capital. Bentuk umum : toupper(char);

Monday, May 26, 2014

Pemrogramman C++

Array
Variabel Larik atau Iebih dikenal dengan ARRAY adalah adalah Tipe terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe yang sama. Suatu Array mempunyai jumlah komponen yang banyaknya tetap. Banyaknya komponen dalam suatu larik ditunjukan oleh suatu indek untuk membedakan variabel yang satu dengan variabel yang Iainnya.
Variabel array dalam Borland C++, dapat digolongkan menjadi tiga buah dimensi :
  • Array Berdimensi Satu.
  • Array Berdimensi Dua
  • Array Berdimensi Tiga
Namun dalam modul ini, kita hanya akan membahas Array Berdimensi Satu dan Array Berdimensi Dua.
1. Array Berdimensi Satu
Sebelum digunakan, variabel array perlu dideklarasikan terlebih dahulu. Cara mendeklarasikan variabel array sama seperti deklarasi variabel yang lainnya, hanya saja diikuti oleh suatu indek yang menunjukan jumlah maksimum data yang disediakan.
Deklarasi Array Berdimensi Satu
Bentuk Umum pendeklarasian array berdimensi satu :
Tipe-Data Nama Variabel[Ukuran]
Keterangan :
a.Type Data  : Untuk menyatakan type data yang digunakan
b. Ukuran                     : Untuk menyatakan jumlah maksimum elemen array
Contoh Pendeklarasian Array Berdimensi Satu
float Nil_Akhir [6] ;
Suatu array dapat digambarkan sebagai kotak panjang yang berisi kotak­kotak kecil didalam kotak panjang tersebut.
ELEMEN ARRAY
elemen
1
elemen
2
elemen
3
elemen
4
elemen
5
elemen
6
0            1          2          3          4           5  =  Subscript/Index
ARRAY NIL_AKHIR
Subscript atau Index array pada C++, selalu dimulai dari Nol ( 0 )
1.1 Mengakses Array Berdimensi Satu
Suatu array, dapat diakses dengan menggunakan subscript atau indexnya:
Bentuk umum pengaksesan dengan bentuk :
Nama Array[Subscript/Index] _
Contoh Program Array Berdimensi Satu :
/* ————————– */
/* Program Array Satu Dimensi */
/* ————————– */
#include
#include
#include
#include
main()
{
int i;
char nama[5][20];
int nilai1[5];
int nilai2[5];
int hasil[5];
for(i=1;i<=2;i++)
{
cout<<”Data Ke-”<
cout<<”Nama Siswa   : “;gets(nama[i]);
cout<<”Nilai Teori  : “;cin>>nilai1[i];
cout<<”Nilai Praktek: “;cin>>nilai2[i];
cout<
hasil[i]=(nilai1[i]*0.40)+(nilai2[i]*0.60);
}
clrscr();
cout<<”  TABEL DAFTAR NILAI HASIL UJIAN  “<
cout<<”———————————-”<
cout<<”No Nama  Nilai Nilai   Hasil”<
cout<<”   Siswa Teori Praktek Ujian”<
cout<<”———————————-”<
for(i=1;i<=2;i++)
{
cout<
cout<
cout<
cout<
cout<
}
cout<<”———————————-”<
getch();
}
Gb.Contoh Masukan/Input Program Array Berdimensi Satu
Gb. Contoh Keluaran/Output Program Array Berdimensi Satu
1.2 Inisialisasi Array Berdimensi Satu
Inisialisasi adalah memberikan nilai awal terhadap suatu variabel. Bentuk
pendefinisian suatu array dapat dilihat dari contoh berikut :
Tipe data nama_array[jml_elemen] = { nilai array };
Contoh : int nilai[5]={56, 67, 57, 76, 72};
/*—————————-*/
/*Inisialisasi Array Dimensi 1*/
/*—————————-*/
#include
#include
main()
{
int nilai[5]={56, 67, 57, 76, 72};
int i;
clrscr();
for(i=0; i<5 i="" p="">
{
cout<<”Nilai Array Index ke-”<
cout<
}
getch();
}
Gb. Contoh Program Inisialisasi Array Berdimensi Satu
2.  Array Berdimensi Dua
Array dimensi dua tersusun dalam bentuk baris dan kolom, dimana indeks pertama menunjukan baris dan indeks kedua menunjukan kolom. Array dimensi dua dapat digunakan seperti pendatan penjualan, pendataan nilai dan lain sebagainya
Bentuk Umum pendeklarasian array berdimensi dua :
Tipe-Data Nama Variabel[index-1][index-2]
Keterangan :
a. Type Data : Untuk menyatakan type data yang digunakan
b. index-1                     : Untuk menyatakan jumlah baris
c. index-2                     : Untuk menyatakan jumlah kolom
Contoh Pendeklarasian Array berdimensi dua
Sebagai contoh pendeklarasian yang akan kita gunakan adalah pengolahan data penjualan, berikut dapat anda lihat pada tabel berikut :
Data Penjualan Pertahun
NoTahun Penjualan
200120022003
1150159230
2100125150
3210125156
Tabel Data Penjualan Pertahun
Jika  kita lihat dari tabel diatas maka dapat dituliskan kedalam array dimensi dua berikut :    
int data_jual[3][3] ;
1.1 Mengakses Array Berdimensi Dua
:
Nama Array[Index 1] [Index 2] _
Contoh Program Array Berdimensi Dua :
/* ————————- */
/* Program Array Dua Dimensi */
/* ————————- */
#include
#include
#include
#include
main()
{
int i,j;
int data[4][20];
char nm[4][20];
clrscr();
for(i=1;i<=2;i++)
{
cout<<”\t\tData   “<
cout<<”\nNama Program Studi :”;cin>>nm[i];
for(j=1;j<=2;j++)
{
cout<<”Data Semester”<
cout<<”Jumlah Mahasiswa   :”;cin>>data[i][j];
}
}
cout<<”\n\n  Data Mahasiswa BSI Tahun 2009         “<
cout<<”\n===========================================”<
cout<<”No Nama Program Semester Semester             “<
cout<<”     Studi      Ganjil   Genap            “<
cout<<”===========================================”<
for(i=1;i<=2;i++)
{
cout<
cout<
for(j=1;j<=2;j++)
{
cout<
cout<<”  “;
}
cout<
}
cout<<”===========================================”;
getch();
}
Gb.Contoh Keluaran/Output Program Array Berdimensi Dua
2.2 Inisialisasi Array Berdimensi Dua
Contoh : int nilai[2][5]={{56,67,57,76,72},
{58,60,65,75,80}};
/*—————————-*/
/*Inisialisasi Array Dimensi 2*/
/*—————————-*/
#include
#include
main()
{
int nilai[2][5]={{56,67,57,76,72},
{58,60,65,75,80}};
int i,j;
clrscr();
for (i=0;i<2 i="" p="">
{
for (j=0;j<5 j="" p="">
{
cout<
cout<<” “;
}
cout<
}
getch();
}
Gb. Contoh Program Inisialisasi Array Berdimensi Dua
LATIHAN PEMBUATAN PROGRAM STRUK PEMBAYARAN
#include
#include
#include
main()
{
char pil,nb[10],ket[20],jwb;
float kode, h,biaya,jb,total;
lagi:
clrscr();   // CONTOH LAT CASE DAN IF
cout<<”TOKO BUNGA HARUM SELALU”<
cout<<”1. Melati   Rp. 35000/ Bungkus”<
cout<<”2. Mawar    Rp. 25000/ Tangkai”<
cout<<”3. Tulip    Rp. 45000/ Tangkai”<
cout<<”Pilih Kode Bunga      : “;cin>>kode;
cout<
cout<<”Pilih Jenis Pengiriman”<
cout<<”A. Diantar”<
cout<<”B. Tidak Diantar”<
cout<<”Pilihan Anda          : “;cin>>pil;
switch (kode==1)
{
case 1:
{
strcpy(nb,”Melati”);
h=350000;
}
break;
case 2:
{
strcpy(nb,”Mawar”);
h=25000;
}
break;
default:
{
strcpy(nb,”Tulip”);
h=45000;
}
break;
}
if (pil==’A’ || pil==’a’)
{
strcpy(ket,”Diantar”);
biaya=10000;
}
else
{
strcpy(ket,”Tidak Diantar”);
biaya=0;
}
cout<<”Jumlah Beli            : “;cin>>jb;
total=(jb*h)+biaya;
clrscr();
cout<<”              STRUK PEMBAYARAN”<
cout<<”———————————–”<
cout<<”Kode Bunga yang dipilih: “<
cout<<”Nama Bunga             : “<
cout<<”Harga                  : Rp. “<
cout<<”Jenis Pingiriman anda  : “<
cout<<”Biaya Kirim            : Rp. “<
cout<<”Jumlah Beli            : Rp. “<
cout<<”====================================”<
printf(“Total Pembayaran     : Rp. %2.2f\n”,total);
cout<<”====================================”<
cout<<”Input Data Lagi [Y/T] : “;jwb=getche();
if (jwb==’Y’ || jwb==’y’)
goto lagi;
else
goto keluar;
getch();
keluar:
}
Gb. Hasil Output
Pemrogramman C++
Fungsi
Fungsi (Function) merupakan blok dari kode yang dirancang untuk melaksanakan tugas khusus. Kegunaan dad fungsi ini adalah untuk:
-      Mengurangi pengulangan penulisan program yang berulangan atau sama.
-      Program menjadi Iebih terstruktur, sehingga mudah dipahami dan dapat Iebih dikembangkan.
Fungsi-fungsi yang sudah kita kenal sebelumnya adalah fungsi main°, yang bersifat mutlak, karena fungsi ini program akan dimulai, sebagai contoh yang Iainnya fungsiprintf 0 , cout () yang mempunyai tugas untuk menampilkan informasi atau data kelayar dan masih banyak Iainnya
1.  Struktur Fungsi
Sebuah fungsi sederhana memiliki bentuk penulisan sbb :
nama_fungsi(argumen)
{
… pernyataan / perintah;
… pernyataan / perintah;
… pernyataan / perintah;
}
Keterangan:
-   Nama fungsi, boleh dituliskan secara bebas dengan ketentuan, tidak menggunakan spasi dan nama-nama fungsi yang mempunyai arti sendiri.
-   Argumen, diletakan diantara tanda kurung ” ( ) ” yang terletak dibelakang nama fungsi. Argumen boleh diisi dengan suatu data atau dibiarkan kosong.
-  Pemyataan / perintah, diletakan diantara tanda kurung ‘{ } ‘.
Pada pemanggilan sebuah fungsi, cukup dengan menuliskan nama fungsinya.
Contoh pembuatan fungsi sederhana :
/* Pembuatan Fungsi Garis() */
#include
#include
#include
garis()
{
printf(“\n————————-\n”);
}
/* Program Utama */
main()
{
clrscr();
garis(); //memanggil fungsi garis
cout<<” AMIK BSI – TEKNIK KOMPUTER ”<
garis(); //memanggil fungsi garis
getch();
}
Gb. Contoh Pembuatan Fungsi sederhana
2.  Prototype Fungsi
Prototype digunakan untuk mendeklarasikan ke compiler mengenai :
  • Tipe data keluaran dari fungsi
  • Jumlah parameter yang di gunakan
  • Tipe data dari masing-masing parameter yang digunakan
Keuntungan di dalam menggunakan pemakaian prototype, yaitu
  • Kompiler akan melakukan konversi antara tipe parameter dalam definisi dan parameter fungsi
  • Jika Jumlah parameter yang di gunakan dalam definisi fungsi dan pada saat pemanggilan fungsi berbeda / tidak sama, maka akan menunjukan kesalahan.
Berikut contoh Prototype Fungsi:
Tipe parameter ke-2
float total(float a,float b);
Bentuk definisi dalam penggunaan fungsi yang dideklarasikan dengan menggunakan prototype, harus di ubah. Sebagai contoh pada pendefinisian berikut :
float total(a,b)
float a,b
Bentuk pendefinisian diatas harus diubah menjadi bentuk modern pendefinisian fungsi :
Nama Fungsi
float total(float a,float b) <                    Tidak menggunakan titik koma
parameter b
tipe parameter b
parameter a
tipe parameter a
tipe keluaran fungsi
LATIHAN PEMBUATAN PROGRAM DENGAN MENGGUNAKAN FUNGSI
#include
#include
#include
siswa(float uts, float uas);
garis()
{
printf(“\n\t============================\n”);
}
main()
{
char nim[10], nama[20], ket[10], jwb;
float uts, uas, rata;
ulang:
clrscr();
garis();
cout<<”\n\tPerhitungan Nilai Siswa”<
cout<<”\t”;garis();
cout<<”\n\tNIM Siswa  : “;cin>>nim;
cout<<”\n\tNama Siswa : “;gets(nama);
cout<<”\n\tNilai UTS  : “;cin>>uts;
cout<<”\n\tNilai UAS  : “;cin>>uas;
rata = siswa(uts,uas);
printf(“\n\tNilai Rata-Rata :%4.2f”,rata);
if (rata>59)
{
strcpy(ket,”LULUS”);
}
else
{
strcpy(ket,”GAGAL”);
}
cout<<”\n\tKeterangan : “<
cout<<”\n\tAnda Ingin Input Lagi [Y/T]: “;jwb=getch();
if (jwb==’Y’||jwb==’y’)
goto ulang;
getch();
}
siswa(float uts,float uas)
{
return(uts+uas)/2;
}
Pemrogramman C++
Macro
Di dalam penyusunan suatu Macro ada beberapa hal yang harus dipelajari, diantaranya :
1. Preprocessor Directives
Adalah suatu perintah yang termasuk kedalam program, tetapi bukanlah instruksi dari program itu sendiri, tetapi untuk preprocessor. Preprocessor ini dijalankan secara otomatis oleh kompiler, ketika didalam proses penterjemahan (Compile)program berlangsung, didalamnya membuat nilai pembuktian pertama dan menterjemahkan code program didalam kode objek. Didalam penggunaan preprocessor directive selalu dimulai dengan tanda : #
Ada beberapa preprocessor directive, diantaranya adalah :
1.1 #define
Di gunakan untuk mendefinisikan suatu nilai tertentu kepada suatu nama konstanta.
Bentuk umumnya sebagai berikut :
#define nama_konstanta teks
Dalam Pendeklarasiannya Nama_Konstanta sebaiknya ditulis dengan huruf besar, gunanya untuk membedakan dengan nama_variable.
Sedangkan Teks merupakan suatu nilai yang diberikan kepada nama_konstanta.
Teks dapat berupa Numerik, Karakter, String, Pernyataan, Fungsi Sederhana.
Setelah #define ditentukan di dalam program cukup dituliskan nama_konstantanyasaja. #define akan menggantikan semua nama_konstanta tadi dengan teksnya sebelum proses kompilasi di mulai.
Contoh :
#include
#include
#include
#define awal{
#define akhir}
#define mulai()main()
#define cetak cout
#define masuk cin
#define hapus()clrscr()
#define tahan()getch()
#define LS_KUBUS (sisi*sisi)
mulai()
awal
int sisi,ls_kbs;
hapus();
cetak<<”Program Penggunaan #Define”<
cetak<<”Masukan Nilai Sisi Kubus = “;masuk>>sisi;
ls_kbs = LS_KUBUS;
cetak<<”Luas Kubus Adalah = “<
tahan();
akhir
Gb. Hasil dari program penggunaan #define
1.2 #include
Di gunakan untuk memasukkan file-file header kedalam program yang akan dibuat.
Bentuk umumnya ada 2 penulisan, yaitu sebagai berikut :
  • #include “nama_file_header”
Artnya pertama kali compiler akan mencari file header yang disebutkan pada directori yang  sedang aktif dan apa bila tidak ditemukan akan mencari pada directori dimana file header tersebut berada
  • #include
Artinya pertama kali compiler akan mencari file header yang disebutkan pada directori yang  ada file headernya, kecuali pada directori yang sedang aktif.
2. Pembuatan File Header
File Header adalah suatu file dengan akhiran .h . File ini sebenarnya berisikan deklarasi fungsi dan definisi konstanta. Selain file-file header standar yang disediakan oleh C++, kita dapat juga membuat file header sediri, dengan cara yang sama seperti membuat file editor. Yang harus diperhatikan pada saat menyimpan file header yang telah dibuat harus digunakan akhiran .h .
Berikut contoh file header standar yang disediakan oleh Borland C++.
/* types.h
Types for dealing with time.
Copyright (c) Borland International 1987,1988
All Rights Reserved.
/*
#ifndef          TIME T
#define _TIME T
typedef longtime_t;
#endif
Sebagai latihan berikut kita akan membuat suatu file header sendiri yang akan digunakan pada file editor.
Buatlah program file heder dibawah ini, kemudian simpan dengan nama : andi.hpada folder kerja anda folder include
/* andi.h
contoh pembuatan file header untuk pengaturan.
Copyright (c) Andi Priantoro 2009 All Rights Reserved.
*/
#define awal {
#define akhir }
#define mulai()main()
#define cetak cout
#define tampil cprintf
#define masuk scanf
#define hapus()clrscr()
#define jika if
#define warna textcolor
#define tahan() getche()
Setelah disimpan, selanjutnya Compile file atur.h
Buatlah program dibawah ini, kemudian gunakan file header yang sudah dibuat  dan simpan dengan nama andi.h
Contoh :
/* ——————————–/*
/* program dengan file header andi.h /*
/*———————————/*
#include
#include
#include
#include”andi.h”
mulai()
awal
float n1,n2,n3;
hapus();
cetak<<”\t\tHasil Penjumlahan Nilai”<
cetak<<”masukkan nilai UAS =”;masuk>>n1;
cetak<<”masukkan nilai UTS =”;masuk>>n2;
cetak<
n3=(n1+n2)/2;
cetak<<”Nilai rata – rata =”<
tahan();
}
Gb. Hasil dari program contoh di atas
Pemrogramman C++
Structure
Structure digunakan untuk mengelompokan sejumlah data yang mempunyai tipe data yang berbeda. Variabel-variabel yang membentuk sebuah struktur dinamakan elemen struktur. Struktur sama seperti Record di dalam Bahasa Pemrograman Pascal
1.Deklarasi Structure
Structure dapat deklarasikan seperti berikut
struct nama_tipe_struktur{
elemen_struktur;
elemen_struktur;
elemen_struktur;
};
atau
struct{
elemen_struktur;
elemen_struktur;
elemen_struktur;
} nama_tipe_struktur;
Contoh  Deklarasi :
struct
{
char nama[30];
char nim[30];
float nilai;
}mahasiswa;
Contoh Program Structure
#include
#include
#include
main()
{
struct
{
int no,jum;
char nm[20],mbl[10],jenis[20];
long int hrg,jby;
}dispenser;
clrscr();
cout<<”Nomor Dispenser                      : “;cin>>dispenser.no;
cout<<”Nama  Pembeli                          : “;cin>>dispenser.nm;
cout<<”Jenis BBM                   : “;cin>>dispenser.jenis;
cout<<”jenis mobil                    : “;cin>>dispenser.mbl;
cout<<”Jumlah Liter                   : “;cin>>dispenser.jum;
cout<<”Harga                           : “;cin>>dispenser.hrg;
dispenser.jby=dispenser.jum*dispenser.hrg;
cout<
clrscr();
cout<<”\t    SPBU KAPUK 3414410\t\t”<
cout<<”\t    Jl. Kapuk Raya no 36\t\t”<
cout<<”Nomor Dispenser          : “<<dispenser.no<;
cout<<”Nama  Pembeli              : “<<dispenser.nm<;
cout<<”Jenis BBM                               : “<<dispenser.jenis<;
cout<<”Jenis Mobil                             : “<<dispenser.mbl<;
cout<<”Jumlah  Liter                           : “<<dispenser.jum<;
cout<<”Harga                                       : “<<dispenser.hrg<;
cout<<”Jumlah Bayar                : “<<dispenser.jby<;
getch();
}
2.Nested Structure
Merupakan suatu structure yang dapat di gunakan di dalam structure lainnya.
Berikut contoh program Nested Structure :
/*———————————-*/
/* Program Penggunaan Nested structure */
/* Nama File :Nested Structure.cpp             */
/*———————————-*/
#include
#include
#include
main()
{
struct dtmhs
{
char nim[9];
char nama[15];
};
struct dtnil
{
float nil1;
float nil2;
};
struct
{
struct dtmhs mhs;
struct dtnil nil;
}nilai;
clrscr();
//->masukan data
cout<<”Masukkan NIM                       : “;cin>>nilai.mhs.nim;
cout<<”Masukkan Nama                      : “;cin>>nilai.mhs.nama;
cout<<”Masukkan Nilai UTS    : “;cin>>nilai.nil.nil1;
cout<<”Masukkan Nilai UAS   : “;cin>>nilai.nil.nil2;
cout<
//->menampilkan hasil masukan
cout<<”Masukkan NIM                       : “<<nilai.mhs.nim<;
cout<<”Masukkan Nama                      : “<<nilai.mhs.nama<;
cout<<”Masukkan Nilai UTS    : “<<nilai.nil.nil1<;
cout<<”Masukkan Nilai UAS   : “<<nilai.nil.nil2<;
cout<
getch();
return(0);
}
Gb. Hasil Contoh program Nested structure
3. Structure Dengan  Array
Penggunaan Array sering kali dikaitkan dengan Structure sehingga membentuk Array dari Structure.
Berikut bentuk deklarasi Array Structur :
struct{
elemen_struktur;
elemen_struktur;
elemen_struktur;
}nama_tipe_strukture[jml_index];
#include
#include
#include
#include
main()
{
char konsumen[15],kk[4],nmk[30],pass[8];
int i,n,totbay=0;
struct
{
char kd[5],kw,wk[20],mt[20];
int biaya1,biaya2,total;
}paket[5];
/* CATATAN : variabel yg masuk ke dalam
elemen struct adalah variabel- variabel yang akan berulang & array*/
atas:
clrscr();
cout<<”\t  .:: ATTENDANT ONLY ::.”<
cout<<”\t =========================”<
cout<<”\t USERNAME KASIR   : “;cin>>kk;
cout<<”\t PASSWORD         : “;cin>>pass;
if (strcmp(kk,”ksr1″)==0||strcmp(kk,”KSR1″)==0&&strcmp(pass,”13090134″)==0)
{
strcpy(nmk,”Andi”);
goto transaksi;
}
else if (strcmp(kk,”ksr2″)==0||strcmp(kk,”KSR2″)==0&&strcmp(pass,”13090134″)==0)
{
strcpy(nmk,”Priantoro”);
goto transaksi;
}
else
{
cout<<”Maaf User dan Password Yang Anda Gunakan SALAAAHH!!!”<
getch();
goto atas;
}
transaksi:
clrscr();
cout<<”\t\tTOKO BRIGHT C-STORE SPBU KAPUK \” “<
cout<<”\t=========================”<
cout<<”\tKasir :”<
cout<<”\tMasukan Nama konsumen                : “;cin>>konsumen;
cout<<”\tInput Jumlah Paket Barang Promosi    : “;cin>>n;
cout<<”\t——————————-”<
cout<<”\t\t\t Inputan Kursus”<
cout<<”—————————————————————————–”<
cout<<”|KK   |Materi                 |   Biaya1   | KW |  Waktu  |  Biaya2   |”<
cout<<”—————————————————————————–”<
cout<<” PK01 | Paket Promosi Silver  |Rp. 120.000  | A  |  Pagi   |Rp.75.000|”<;
cout<<” PK02 | Paket Promosi Gold    |Rp. 150.000  | B  |  Sore   |Rp.75.00 |”<
cout<<” PK03 | Paket Promosi Diamond |Rp. 170.000  |—————————|”<
cout<<”————————————————————————-”<
for (i=1;i<=n;i++)
{
cout<<”Data Ke-”<
x:
cout<<”input Kode Barang promosi  : “;cin>>paket[i].kd;
y:
cout<<”Input Waktu Pembelian : “;cin>>paket[i].kw;
cout<
if (strcmp(paket[i].kd,”PK01″)==0 || strcmp(paket[i].kd,”pk01″)==0)
{
strcpy(paket[i].mt,”Paket Promosi Silver”);
paket[i].biaya1=120000;
}
else if (strcmp(paket[i].kd,”PK02″)==0 || strcmp(paket[i].kd,”pk02″)==0)
{
strcpy(paket[i].mt,”Paket promosi Gold”);
paket[i].biaya1=150000;
}
else if (strcmp(paket[i].kd,”PK03″)==0 || strcmp(paket[i].kd,”pk03″)==0)
{
strcpy(paket[i].mt,”Paket promosi Diamond”);
paket[i].biaya1=170000;
}
else
{
cout<<”Maaf…!! Kode yg Anda Masukan Salah, Silahkan Input data Kembali !!”<
getch();
goto x;
}
switch (paket[i].kw)
{
case ‘a’: case ‘A’:
strcpy(paket[i].wk,”Pagi”);
paket[i].biaya2=75000;
break;
case ‘b’: case ‘B’:
strcpy(paket[i].wk,”Sore”);
paket[i].biaya2=100000;
break;
default:
cout<<”Kode Salah!!, Input data lagi!”<
getch();
goto y;
break;
}
paket[i].total=paket[i].biaya1+paket[i].biaya2;
}
clrscr();
cout<
cout<<”\t\t BUKTI PEMBAYARAN PROGRAM PROMOSI “<
cout<<”\t\t    BRIGHT C – STORE SPBU KAPUK”<
cout<<”=================================================”<
cout<<”Kasir  : “<
cout<<”Konsumen  : “<
cout<<”Rincian Paket Promosi”<
cout<<”—————————————————————————”<
cout<<”|No|  Paket   |  Waktu   |  Biaya1  |  Biaya2  |  Total  |”<
cout<<”—————————————————————————”<
for (i=1;i<=n;i++)
{
cout<
cout<
cout<
cout<
cout<
cout<
totbay=totbay+paket[i].total;
}
cout<<”—————————————————————————”<
cout<<”Total Bayar :”<
cout<<”\t\t\t ***TERIMA KASIH***”<
getch();
}
4. Structure Dengan  Fungsi
Elemen-elemn dari suatu structure dapat dikirimkan ke dalam suatu fungsi dengan cara yang sama seperti mengirimkan suatu variable sederhana ke dalam suatu fungsi.
Berikut contoh sederhana pada program struktur dengan fungsi :
/* ————————————— */
/* Program Penggunaan structur pada fungsi */
/* ————————————— */
#include
#include
#include
char ket(float n );
main()
{
int i, j=1, k=1;
struct
{
char nim[10];
char nama[25];
float nilai;
}mhs[15];
clrscr();
for(i=0; i<2 i="" p="">
{
cout<<”DATA KE- “<
cout<<”Input NIM Mahasiswa  = “;cin>>mhs[i].nim;
cout<<”Input Nama Mahasiswa = “;cin>>mhs[i].nama;
cout<<”Input Nilai Akhir    = “;cin>>mhs[i].nilai;
cout<
}
clrscr();
for(i=0; i<2 i="" p="">
{
cout<<”DATA KE- “<
cout<<”NIM Mahasiswa           = “<
cout<<”NAMA Mahasiswa          = “<
cout<<”Nilai Akhir             = “<
cout<<”Keterangan Yang Didapat = “;
cout<
cout<
}
getch();
}
char ket(float n)
{
if (n > 65)
return ‘L’;
else
return ‘G’;
}
Pemrogramman C++
Class
Merupaka struktur data dari obyek (elemen dasar pemrograman berorientasi obyek/OOP). Class memiliki persamaan dengan structure.
Contoh :
#include
#include
#include
class buku
{
public:
char judul[35];
char pengarang[30];
int jumlah;
};
main()
{
clrscr();
buku novel;
strcpy(novel.judul,”Wisata Hati”);
strcpy(novel.pengarang,”Yusuf Mansyur”);
novel.jumlah=12;
cout<<novel.judul<;
cout<
cout<
getch();
}
STRUKTUR PERULANGAN FOR & WHILE
7.  PERULANGAN FOR
Stuktur : for ( inisialisasi; syarat perulangan; peubah nilai pecahan)
Keterangan :
Inisialisasi                           =  nilai awal untuk variable tertentu.
Syarat  Perulangan              = kontrol  terhadap perulangan untuk                          menentukan perulangan diteruskan atau berhenti.
Peubah Nilai                       = mengatur kenaikan atau penurunan nilai.
/*program for bilangan naik*/
#include
#include
#include “iostream.h”
main()
{
int x,y=0;
clrscr();
for(x= 1; x<= 5; ++x)
{
cout<
y=x+y;
}
cout<<”________ +”<
cout<
getch();
}
Tampilan :
/*program for bilangan turun*/
#include
#include
#include
main()
{
int x;
clrscr();
for(x= 5; x>=1;–x)
cout<<”Nilai “<
getch();
}
Tampilan :
/*program for bilangan genap*/
#include
#include
#include
main()
{
int a;
clrscr();
for (a=0; a<=10; a+=2)
printf(” %d “,a);
getch();
}
Tampilan :
/*program for bilangan ganjil*/
#include
#include
#include
main()
{
int a;
clrscr();
for (a=1; a<=10; a+=2)
printf(” %d “,a);
getch();
}
Tampilan :
/*Program Perulangan Warna*/
#include
#include
#include
main()
{
int a;
clrscr();
for (a=1; 17>a; a++)
{
gotoxy(a,a);textcolor(a);
cprintf(” \r \n Warna ke- %d “,a);
}
textcolor(4+BLINK);cprintf(“Borland C++”);
getch();
}
8.  PERULANGAN WHILE
Bentuk perulangan while dikendalikan oleh syarat tertentu, Perulangan akan terus dilakukan selama syarat tersebut terpenuhi.
/*Program Perulangan while*/
#include
#include
#include
main()
{
int a=10;
clrscr();
while (a<=20)
{
cout<<”Cetak”<
a+=3;
}
getch();
}
Tampilan :
8.  PERULANGAN DO WHILE
Bentuk perulangan yang melaksanakan perulangan terlebih dahulu dan pengujian perulangan dilakukan dibelakang.
/*Program Perulangan do while*/
#include
#include
#include
main()
{
int a=10;
clrscr();
do
{
cout<<”Cetak”<
a+=5;
}
while (a<=25);
getch();
}
Tampilan :
KONDISI PENYELEKSIAN IF
Pernyataan if mempunyai pengertian “Jika kondisi bernilai benar maka perintah akan dikerjakan, dan jika tidak memenuhi syarat akan diabaikan”. Untuk menyebutkan syarat biasanya digunakan operator logika dan relasi.
9.  IF TUNGGAL
Ketentuan Soal:
  1. Semua barang berharga =10000 (Konstanta)
  2. Total = harga*jumlah beli
  3. Jika Total Bayar >=50000 maka akan mendapat bonus Tiket Gratis nonton Ungu Selain itu tidak dapat
  4. Uang Kembali = Uang Bayar – Total Bayar.
Listing Program
#include
#include
#include
main()
{
char jwb,nb[20],bon[25];
const
hrg=5000;
float jb,ttl,uk,ub;
atas:
clrscr();
cout<<”Masukan Nama Barang : “;gets(nb);
cout<<”Masukan Jumlah Beli : “;cin>>jb;
cout<<”———————\n”;
ttl=hrg*jb;
printf(“Total Bayar                     : Rp.%2.2f \n”,ttl);
if (ttl>=50000)
strcpy(bon,”Tiket Nonton Konser UNGU band”);
else
strcpy(bon,”Tidak Dapat”);
cout<<”Bonus                   : “<
cout<<”===================\n”;
cout<<”Uang Bayar              : Rp.”;cin>>ub;
uk=ub-ttl;
printf(“Uang Kembali           : Rp.%2.2f\n”,uk);
cout<<”—————————-\n”;
cout<<”Mau Isi Data Lagi[Y/N]? : “;jwb=getche();
cout<
if (jwb==’y’ || jwb==’Y’)
goto atas;
else
cout<<”      Terima Kasih”<
getch();
}
10.  IF MAJEMUK
Ketentuan Soal:
  1. Masukan kode sebagai berikut:
KodeJenis KelasHarga Tiket
EEkonomi5000
BBisnis10000
XEksekutif25000
  1. Total Bayar = harga tiket*Jumlah Tiket
  2. Uang Kembali= Uang Bayar – Total Bayar
Listing Program
#include
#include
#include
main()
{
char np[20],jk[25],kd,jwb,input;
float hrg,jt,ttl,uk,ub;
atas:
clrscr();
cout<<”PT. TRANSPORTASI BUS MALAM”<
cout<<”————————–\n”;
cout<<”Masukan Nama Penumpang: “; gets(np);
input:
cout<<”Masukan Kode Bis [E/B/X]: “; cin>>kd;
cout<<”Masukan Jumlah Tiket: “;cin>>jt;
cout<<”—————————\n”;
if (kd==’E’ || kd==’e’ )
{
strcpy(jk,”Ekonomi”);
hrg=5000;
}
else
if (kd==’B’ || kd==’b’)
{
strcpy(jk,”Bisnis”);
hrg=10000;
}
else
if (kd==’X’ || kd==’x’)
{
strcpy(jk,”Exsekutif”);
hrg=25000;
}
else
{
cout<<”Kode Yang Anda Masukan Salah \n”;
goto input;
}
ttl=jt*hrg;
clrscr();
cout<<”                    PT. TRANSPORTASI BUS MALAM”<
cout<<”—————————-\n”;
cout<<”Nama Penumpang: “<
cout<<”Jenis Bis  : “<
cout<<”Harga Tiket   : Rp.”<
cout<<”Jumlah Tiket  : “<
cout<<”—————————-\n”;
printf(“Total Bayar                  : Rp.%2.2f \n”,ttl);
cout<<”============================\n”;
cout<<”Uang Bayar    : Rp.”;cin>>ub;
uk=ub-ttl;
printf(“Uang Kembali : Rp.%2.2f\n”,uk);
cout<<”————————\n \n”;
cout<<”Mau Isi Data Lagi[Y/N]? : “; jwb=getche();
cout<
if (jwb==’y’ || jwb==’Y’)
goto atas;
else
cout<<”\n\n     Terima Kasih”<
getch();
}
NB:
*strcpy  (stringcopy) = listing program yang berfungsi utuk memberikan nilai pada string.
Format:
Strcpy(var,”Pernyataan”) ;
contoh:
strcpy(nabar,”Buku”);
11.  IF TERSARANG
PENYELEKSIAN KONDISI IF TERSARANG
Merupakan penyelesian suatu kondisi if di dalam if. Dengan syntax :
If  kondisi 1{
Pernyataan1;
If  kondisi
{
Pernyataan;
Pernyataan;
}
Else if  kondisi
{
Pernyataan;
Pernyataan;
}
Else
{
Pernyataan;
Pernyataan;
}
}
Ketentuan Soal:
  1. Isilah Data sebagai berikut:
Kode PesawatNama PesawatKlsTujuanHarga
LALion Air1Jkt-Bdg200.000
2Jkt-Bali300.000
3Jkt-Smg250.000
GIGaruda Indonesia1Jkt-Bdg400.000
2Jkt-Bali500.000
3Jkt-Smg450.000
BABouraq Airlines1Jkt-Bdg300.000
2Jkt-Bali400.000
3Jkt-Smg350.000
  1. Total Pembayaran =  Jumlah Tiket * Harga Tiket
Contoh program:
Listing Program:
#include
#include
#include
#include
main()
{
clrscr();
char kp[3],kelas,np[20],tujuan[20];
float harga,jt,tobay;
cout<<”PESAWAT TERBANG \”QUICK AIR\””<
cout<
isi:
cout<<”Masukan Kode Pesawat [LA/GI/BA] : “;cin>>kp;
cout<<”Masukan Kelas        [1/2/3]    : “;cin>>kelas;
if (strcmp(kp,”LA”) == 0 || strcmp(kp,”la”) == 0 )
{
strcpy(np,”Lion Air”);
if (kelas==’1′)
{
strcpy(tujuan,”JKT-BANDUNG”);
harga=200000;
}
else if (kelas==’2′)
{
strcpy(tujuan,”JKT-BALI”);
harga=300000;
}
else
{
strcpy(tujuan,”JKT-SMG”);
harga=250000;
}
}
else if (strcmp(kp,”GI”) == 0 || strcmp (kp,”gi”) == 0 )
{
strcpy(np,”Garuda Indonesia”);
if (kelas==’1′)
{
strcpy(tujuan,”JKT-BANDUNG”);
harga=400000;
}
else if (kelas==’2′)
{
strcpy(tujuan,”JKT-BALI”);
harga=500000;
}
else
{
strcpy(tujuan,”JKT-SMG”);
harga=450000;
}
}
else if (strcmp(kp,”BA”) == 0 || strcmp(kp,”ba”) == 0 )
{
strcpy(np,”Bouroq Airlines”);
if (kelas==’1′)
{
strcpy(tujuan,”JKT-BANDUNG”);
harga=300000;
}
else if (kelas==’2′)
{
strcpy(tujuan,”JKT-BALI”);
harga=400000;
}
else
{
strcpy(tujuan,”JKT-SMG”);
harga=350000;
}
}
else
{
cout<<”Anda salah masukan kode, Silahkan isi kode secara  benar! \n”;
goto isi;
}
cout<<”Jumlah Tiket                    : “;cin>>jt;
cout<
tobay=jt*harga;
cout<<”                   “<
cout<<”Kode Pesawat         : “<
cout<<”Nama Pesawat         : “<
cout<<”Kelas yang dipilih   : “<
cout<<”Tujuan Pesawat       : “<
cout<<”Harga Tiket          : Rp. “<
cout<<”Jumlah Tiket         : “<
printf(“Total Pembayaran    : Rp. %2.2f\n\n”,tobay);
cout<<”                   “<
getch();
}
1. Penggunaan Public
Menyatakan bahwa deklarasi varibel yang ada di bawahnya dapat diakses di luarclass ( bersifat public/umum )
Contoh Penggunaan Public pada Class :
#include
#include
#include
class buku
{
public:
char judul[30];
char pengarang[30];
int jumlah;
};
main()
{
buku novel;
cout<<”Judul                :”;gets(novel.judul);
cout<<”Pengarang        :”;gets(novel.pengarang);
cout<<”jumlah              :”;cin>>novel.jumlah;
cout<
cout<<”Judul                :”<<novel.judul<;
cout<<”Pengarang        :”<
cout<<”jumlah              :”<
getch();
}
Gb. Hasil Program Penggunaan Public pada Class
1. Penggunaan Private
Digunakan untuk memproteksi anggota-anggota tertentu pada class, agar tidak dapat diakses di luar class secara langsung
Contoh Penggunaan private pada class
#include
#include
#include
#include
class barang
{
private:
char kobar[30];
char nabar[30];
int jumlah;
public:
rincian(char*Kobar, char*Nabar, int Jumlah)
{
strcpy(kobar,Kobar);
strcpy(nabar,Nabar);
Jumlah=jumlah;
}
info()
{
cout<<”\nData Barang”<
cout<<”Kode Barang     = “<
cout<<”Nama Barang     = “<
cout<<”Jumlah Barang   = “<
}
};
main()
{
barang databarang;
char a[30], b[20];
int c;
cout<<”Data Barang”<
cout<<”Kode Barang     = “;gets(a);
cout<<”Nama Barang     = “;gets(b);
cout<<”Jumlah Barang   = “;cin>>c;
databarang.rincian(a,b,c);
databarang.info();
getch();
}
Hasil penggunaan private pada class

Followers

English French German Spain Italian Dutch Russian Portuguese Japanese Korean Arabic Chinese Simplified


  © Blogger template 'A Click Apart' by Ourblogtemplates.com 2008

Back to TOP