Senin, 26 November 2012

PEMROGRAMAN C++


 PEMROGRAMAN C++

1.     Pengenalan C++        
        C++ adalah bahasa pemrograman komputer yang di buat oleh (Bjarne Stroustrup) merupakan perkembangan dari bahasa C dikembangkan di Bell Labs (Dennis Ritchie) pada awal tahun 1970-an, Bahasa itu diturunkan dari bahasa sebelumnya, yaitu BCL, Pada awalnya, bahasa tersebut dirancang sebagai bahasa pemrograman yang dijalankan pada sistem Unix, Pada perkembangannya, versi ANSI (American National Standart Institute) Bahasa pemrograman C menjadi versi dominan, Meskipun versi tersebut sekarang jarang dipakai dalam pengembangan sistem dan jaringan maupun untuk sistem embedded, Bjarne Stroustrup pada Bel labs pertama kali mengembangkan C++ pada awal 1980-an, Untuk mendukung fitur-fitur pada C++, dibangun efisiensi dan sistem support untuk pemrograman tingkat rendah (low level coding).[1] Pada C++ ditambahkan konsep-konsep baru seperti class dengan sifat-sifatnya seperti inheritance dan overloading.[rujukan?] Salah satu perbedaan yang paling mendasar dengan bahasa C adalah dukungan terhadap konsep pemrograman berorientasi objek (Object Oriented Programming).[2]
        Perbedaan Antara Bahasa pemrograman C dan C++ meskipun bahasa-bahasa tersebut menggunakan sintaks yang sama tetapi mereka memiliki perbedaan, C merupakan bahasa pemrograman prosedural, dimana penyelesaian suatu masalah dilakukan dengan membagi-bagi masalah tersebut kedalam su-submasalah yang lebih kecil, Selain itu, C++ merupakan bahasa pemrograman yang memiliki sifat Pemrograman berorientasi objek, Untuk menyelesaikan masalah, C++ melakukan langkah pertama dengan menjelaskan class-class yang merupakan anak class yang dibuat sebelumnya sebagai abstraksi dari object-object fisik, Class tersebut berisi keadaan object, anggota-anggotanya dan kemampuan dari objectnya, Setelah beberapa Class dibuat kemudian masalah dipecahkan dengan Class
        
 2. Struktur Program C++
    truktur Program C++ terdiri dari sejumlah blok fungsi, setiap fungsi terdiri dari satu       atau beberapa pernyataan yang berfungsi melaksanakan tugas tertentu.Berikut merupakan contoh sederhana pemrograman dengan bahasa C++, menggunakan Borland  C++
                           Contoh-1 #include <stdio.h>
#include <conio.h>
main()
{
  int a = 7;
char b = 'G';
  clrscr();

  printf("%c Merupakan Abjad Yang Ke - %d", b, a);
}
 3. TIPE DATA
            Komputer bisa diartikan sebagai alat untuk menghitung. Untuk melakukan proses perhitungan tersebut, maka dibutuhkan data yang akan diproses. Tipe data ada beberapa jenis yaitu :
  •        Tipe data karakter
  •        Tipe data bilangan bulat.
  •        Tipe data bilangan pecahan.
                Jika kita membutuhkan suatu tipe data yang baru yang tidak terdapat pada tipe data standar, maka kita dapat membuat tipe data baru dengan menggunakan perintah struct. Perintah struct akan dijelaskan pada bab selanjutnya.
Setiap tipe data mempunyai jangkauan nilai yang berbeda.

1.   Tipe data karakter
Untuk tipe data karakter kita gunakan perintah char.
Contoh
char karakter;
char kar1,kar2,kar3;
char kar4=’A’;
char kar5=65;
Tipe data ini mempunyai jangkauan dari 0 sampai 255 atau karakter ASCII ke 0 sampai karakter ASCII 255. Tipe data karakter bisa ditampilkan sebagai suatu karakter atau sebagai suatu bilangan. Hal ini tergantung dari bagaimana penulisannya apakah dianggap sebagai karakter atau sebagai bilangan.
Untuk menuliskan isi dari data bertipe char adalah dengan menggunakan printf dengan format penulisannya menggunakan tanda %c kalau ingin ditampilkan sebagai suatu karakter atau dengan %i jika ingin ditampilkan sebagai suatu angka.
Pemberian nilai kepada suatu karakter digunakan perintah sebagai berikut :
karakter=’A’;
Atau
karakter=65;
Kedua cara tersebut menghasilkan suatu efek yang sama yaitu memberikan nilai 65 atau karakter A ke variabel karakter. Kalau pengisian variable ingin menggunakan karakter maka karakter yang akan dimasukan harus diapit dengan tanda apostrof.
Untuk melihat nilai yang ada dalam suatu variable yang bertipe char gunakan perintah berikut
printf(“Karakter dilihat dalam bentuk karakter = %c.\n”,karakter);
printf(“Karakter dilihat dalam bentuk angka = %d.\n”,karakter);
Contoh program
//Program Ke-2 Nama File : Lat2.CPP
#include <stdio.h>
#include <conio.h>
main()
{
char k1,k2;
k1=’A’;
k2=k1;
printf(“Nilai variable K1 adalah %c\n”,k1);
printf(“Nilai variable K2 dalam bentuk angka = %d\n”,k2);
getch();
return 0;
}
Hasil dari eksekusi program adalah :
Nilai variable K1 adalah A
Nilai variable K2 dalam bentuk angka = 65
Keterangan program Lat2.CPP
Perintah “char k1,k2;” pada baris 6 berarti program memesan 2 buah tempat di memori untuk menyimpan data bertipe karakter dengan nama k1 dan k2.
Perintah “k1=’A’;” pada baris 7 adalah perintah untuk memasukan nilai karakter A kapital ke dalam variable k1 sehingga untuk baris berikutnya k1 berisi karakter A kapital atau angka 65.
Perintah “k2=k1;” pada baris 8 berarti bahwa nilai k2 diisi dari nilai k1 sehingga isi k2 sama dengan isi variable di k1.
Perintah printf pada baris 9 berarti perintah penulisan ke layar sesuai dengan format “Nilai variable k1 adalah %c\n”. Karakter %c tidak dicetak sebagai %c tetapi akan diganti dari variable yang sesuai dengan urutannya yaitu k1 dalam bentuk karakter. Perintah printf pada baris 10 cara kerjanya sama dengan perintah printf pada baris 9 bedanya hanya tanda %d berasal ditulis berdasarkan isi variable k2 yang dicetak dalam bentuk angka bukan karakter. Tanda %d digunakan untuk format pencetakan data dalam bentuk bilangan bulat.
Perintah getch() digunakan untuk menunggu sampai pengguna menekan sembarang karaker.
Perintah return digunakan untuk memberikan nilai kembalian dari fungsi main().
2.   Tipe data bilangan bulat
Ada beberapa tipe data standar yang digunakan untuk data bilangan bulat.
Tipe Data
Memori
Format
Jangkauan Nilai
Int
2 byte
%d/%i
-32.768 s/d 32.767
unsigned int
2 byte
%u
0 s/d 65.535
Char
1 byte
%d/%i
-128 s/d 127
unsigned char
1 byte
%u
0 s/d 255
unsigned long
4 byte
%lu
0 s/d 4.294.967.295
Long
4 byte
%ld/%li
-2.147.483.648 s/d 2.147.483.647
Tipe-tipe data yang ada dalam table tersebut khusus untuk data yang nilaibilangannya bulat. Cara pendeklarasian tipe data ini sama seperti pendeklarasian lainnya, yaitu : 
int a;
unsigned int b;
char c;
long d;
Contoh Program :
#include <stdio.h>
#include <conio.h>
main()
{
int a=1000,b=64000;
unsigned int c=64000;
printf(“Nilai yang telah dimasukan\na: %i dan b: %i\n”,a,b);
printf(“Nilai yang telah dimasukan : %u\n”,c);
getch();
return 0;
}
Perintah di atas akan menampilkan hasil seperti di bawah ini :
a: 1000 dan b: -1536
Nilai yang telah dimasukan : 64000

3.   Tipe data bilangan pecahan
Tipe data untuk bilangan pecahan terdiri dari beberapa jenis yaitu :
Tipe Data
Memori
Format
Jangkauan Nilai
float
4 byte
%f
3.4*(10^-38) – 3.4*(10^+38
double
8 byte
%f
1.7*(10^-308) – 1.7*(10^+308)
long double
10 byte
%lf
3.4*(10^-4932) – 1.1*(10^+4932)
Contoh Program
#include <stdio.h>
#include <conio.h>
main()
{
float  a=1234567890123456789;
double d=1234567890123456789;
printf(“Nilai a adalah : %30.20f\n”,a);
printf(“Nilai d adalah : %30.20f\n”,d);
getch();
return 0;
}
Hasil eksekusi program dapat dilihat di bawah ini :
Nilai a adalah :         1234567939550609410.00
Nilai d adalah :         1234567890123456770.00

4.   Tipe data string
Dalam pemrograman C, untuk variabel yang menampung data string tidak ada perintah khusus, karena dalam bahasa C, string adalah sebuah array karakter atau sebuah pointer ke sebuah variabel char.
Cara pendeklarasian adalah :
char nama[50];
char *alamat;
Contoh program :
#include <stdio.h>
#include <conio.h>
main()
{
char nama[50]; //deklarasi dengan cara array
char *alamat; //deklarasi dengan cara pointer
printf(“Nama : “);scanf(“%s”,nama);
printf(“Alamat : “);gets(alamat);
printf(“Data yang telah dimasukan adalah : \n”);
printf(“Nama : %s\nAlamat : %s\n”,nama,alamat);
getch();
return 0;
}

Catatan
Pemilihan tipe data harus hati-hati. Pertimbangkan jangkauan yang dimiliki oleh tipe data yang dipilih. Kesalahan dalam memilih tipe data akan menimbulkan suatu hasil yang tidak diperkirakan. Contoh :

int a=32000;
int b=769;
int c;
c=a+b;
printf(“%i + %i = %i\n”,a,b,c);

Jika program tersebut dijalankan, maka akan menghasilkan output seperti berikut :

32000 + 769 = -32767

Hal tersebut terjadi karena jangkuan nilai c sudah melebihi jangkauan nilai untuk sebuah tipe data int. Bila suatu variable telah melebihi jangkauan nilainya maka nilai variable tersebut akan berputar menjadi nilai minimalnya dan jika nilainya kurang dari minimal jangkauan nilainya maka variable tersebut akan terisi oleh bilangan maksimal tipe tersebut.

Nilai yang diharapkan
32767
32768
32769
Nilai pada variable C
32767
-32768
-32767


Operator-Operator Perhitungan
Untuk melakukan perhitungan-perhitungan data, maka diperlukan operator-operator perhitungannya. Operator-operator yang paling umum dipakai dalam pemrograman dengan bahasa C adalah :
Operator
Contoh
Arti
+
c=a+b
Variable c diisi dari isi variable a ditambah isi variable b
-
c=a-b
Variable c diisi dari isi variable a dikurangi isi variable b
*
c=a*b
Variable c diisi dari isi variable a dikali dengan isi variable b
/
c=a/b
Variable c diisi dari isi variable a dibagi oleh isi variable b
++
a++
Isi variable a ditambah 1. Perintah ini sama dengan a=a+1 atau a+=1
b–
Isi variable a dikurang. Perintah ini sama dengan a=a-1 atau a-=1
%
c=a % b
Variable c diisi dari sisa pembagian variable a dibagi variable b
+=
c+=a
Variable c ditambah dengan isi variable a. Sama dengan c=c+a
/=
c/=a
Variable c dibagi dengan isi variable a. Sama dengan c=c/a
-=
c-=a
Variable c dikurangi dengan isi variable a. Sama dengan c=c-a
*=
c*=a
Variable c dikali dengan isi variable a. Sama dengan c=c*a
%=
c%=a
Variable c diisi dari sisa pembagian c dibagi isi variable a. Sama dengan c=c%a

Contoh program :
#include <stdio.h>
#include <conio.h>
main()
{
int x=20, y=8, z;
clrscr();
printf(“X = %d dan Y = %d\n”,x,y);
printf(“X / Y = %d\n”,x/y);
printf(“X %% Y = %d\n”, x % y);
x+=2;
printf(“Nilai X sekarang : %i\n”,x);
x++;
printf(“Nilai X setelah X++ : %i\n”,x);
printf(“Nilai Y : %d\n”,y++);
printf(“Nilai Y setelahnya : %d\n”,y);
z=++x;
printf(“Nilai Z : %d\n”,z);
getch();
return 0;
}

Program di atas akan menampilkan hasil seperti berikut :
X = 20 dan Y = 8
X / Y = 2
X % Y = 4
Nilai X sekarang : 22
Nilai X setelah X++ : 23
Nilai Y : 8
Nilai Y setelahnya : 9
Nilai Z : 24

Opr.
Istilah
Keterangan
I++
Post increment
Nilai I dikeluarkan dulu, kemudian I ditambah 1
++I
Pre increment
Nilai I ditambah 1 dulu, kemudian nilainya dikeluarkan
I–
Post decrement
Nilai I dikeluarkan dulu, kemudian I dikurangi 1
–I
Pre decrement
Nilai I dikurangi 1 dulu, kemudian nilainya dikeluarkan
4.Variabel
Variabel adalah suatu alokasi data yang ditempatkan pada suatu alamat tertentu di memory (RAM) untuk menyimpan suatu data dengan jenis/type tertentu yang isinya dapat berubah-ubah. atau bisa juga diartikan Variabel adalah suatu pengenal (identifier) yang digunakan untuk mewakili suatu nilai tertentu di dalam proses program. Berbeda dengan konstanta yang nilainya selalu tetap, nilai dari suatu variable bisa diubah-ubah sesuai kebutuhan.
Nama dari suatu variable dapat ditentukan sendiri oleh pemrogram dengan aturan sebagai berikut :
·        Terdiri dari gabungan huruf dan angka dengan karakter pertama harus berupa huruf. Bahasa C bersifat case-sensitive artinya huruf besar dan kecil dianggap berbeda. Jadi antara nim, NIM dan Nim dianggap berbeda.
·        Tidak boleh mengandung spasi.
·        Tidak boleh mengandung symbol-simbol khusus, kecuali garis bawah (underscore). Yang termasuk symbol khusus yang tidak diperbolehkan antara lain : $, ?, %, #, !, &, *, (, ), -, +, = dsb
·        Panjangnya bebas, tetapi hanya 32 karakter pertama yang terpakai.

Contoh penamaan variabel yang benar : NIM, a, x, nama_mhs, f3098, f4, nilai, budi, dsb.
Contoh penamaan variable yang salah : %nilai_mahasiswa, 80mahasiswa, rata-rata, ada spasi, penting!, dsb
variabel, dibagi menjadi dua jenis kelompok, yaitu :
·         Variabel Numerik
·         Variabel Teks



Variabel Numerik
                                 Variabel numerik ini dibagi menjadi menjadi 3 (tiga) macam :
  • Bilangan Bulat atau Integer
  • Bilangan Desimal Berpresisi Tunggal atau Floating Point.
  • Bilangan Desimal Berpresisi Ganda atau Double Precision      
Variabel Text
  • Character ( Karakter Tunggal )
  • String ( Untuk Rangkaian Karakter )
Deklarasi Variabel
Penjelasan                Adalah proses memperkenalkan variabel kepada Borland C++ dan pendeklarasian tersebut bersifat mutlak karena jika tidak diperkenalkan terlebih dulu maka Borland C++ tidak menerima variabel tersebut.
                                 Deklarasi Variabel ini meliputi tipe variabel, seperti : integer atau character dan nama variabel itu sendiri. Setiap kali pendeklarasian variabel harus diakhiri oleh tanda titik koma ( ; ).

Tabel 2.3. Deklarasi Variabel

TIPE VARIABEL
SIMBOL DEKLARASI
Integer
int
Floating Point
float
Double Precision
double
Karakter
char
Unsigned Integer
unsigned int
Unsigned Character
unsigned char
Long Integer
long int
Unsigned Long Integer
unsigned long int
                                 Bentuk penulisannya :
                                
Contoh Deklarasi       int nama_mahasiswa;
                                 char grade;
                                 float rata_rata ;
                 int nilai;

K O D E  P E N E N T U  FO R MA T
. %c : Membaca sebuah karakter
. %s : Membaca sebuah string
. %i, %d : Membaca sebuah bilangan bulat (integer)
. %f, %e : Membaca sebuah bilangan pecahan (real)
. %o : membaca sebuah bilangan octal
. %x : Membaca sebuah bilangan heksadesimal
. %u : Membaca sebuah bilangan tak bertanda.
Syntax pendefinisian variabel adalah sebagai berikut:
<TypeData> <NamaVar1>[=<Nilai1>][,<NamaVar2>[=<Nilai2>][,...]];
Dimana:
<TypeData> yang ada di dalam Turbo/Borland C++, antara lain:
Type
Size (Bits)
Range
Sample Application
unsigned char
8
0 to 255
Small numbers and full PC character set
Char
8
-128 to 127
Very small numbers and ASCII characters
short int
16
-32,768 to 32,767
Counting, small numbers, loop control
unsigned int
32
0 to 4,294,967,295
Large numbers and loops

Int
32
-2,147,483,648 to 2,147,483,647
Counting, small numbers, loop control

unsigned long
32
0 to 4,294,967,295
Astronomical distances

Enum
32
-2,147,483,648 to 2,147,483,647
Ordered sets of values

Long
32
-2,147,483,648 to 2,147,483,647
Large numbers, populations

Float
32
3.4 x 10-38 to 1.7 x 1038
Scientific (7-digit) precision)

Double
64
1.7 x 10-308 to 3.4 x 10308
Scientific (15-digit precision)

long double
80
3.4 x 10-4932 to 1.1 x 104932
Financial (18-digit precision)

Syarat penamaan variabel dalam Turbo/Borland C++ adalah sebagai berikut :
  • Nama variabel tidak boleh mengandung karakter khusus seperti: ~`!@#$%^&|<>?,.\/
  • Nama variabel tidak boleh mengandung operator aritmatika seperti: */+-=()
  • Nama variabel boleh merupakan kombinasi huruf dan angka tetapi harus diawali oleh huruf, contoh: x1, x2, tugas1, tugas2
  • Nama variabel tidak boleh mengandung spasi, seperti: gaji Pegawai yang benar gajiPegawai (tanpa spasi)
  • Nama variabel boleh mengandung garis bawah (under score) seperti: gaji_Pegawai
  • Tidak boleh mendefinisikan nama variabel yang sama lebih dari satu kali
  • Nama variabel boleh panjang ataupun singkatan akronim maupun inisialen. Misalkan untuk mendefinisikan variabel Gaji Pegawai boleh dibuat gajiPegawai, gp atau gajPeg
  • Penamaan variabel dalam Turbo/Borland C++ bersifat "Case-Sensitive" artinya dua atau tiga buah variabel dianggap berbeda meskipun hanya berbeda "case" yaitu antara huruf besar dan kecil. Nama variabel "Kata", "kata" dan "katA" adalah dianggap sebagai tiga buah variabel yang berbeda meskipun hanya beda satu huruf besar dan yang lain huruf kecil.
Contoh:
unsigned int panjang, lebar, tinggi;
unsigned char tekan;
char pilih='A';
float luas, keliling;
long gajiPokok, tunjangan, gajiBersih;
Konstanta
Sebagaimana halnya variabel, konstanta adalah suatu alokasi data yang ditempatkan pada suatu alamat tertentu di memory (RAM) untuk menyimpan suatu data dengan jenis/type tertentu yang isinya tidak dapat diubah (konstan).
Penjelasan                Bentuk deklarasi konstanta diawali dengan reserved word const.
                                 Bentuk penulisannya :
                     cons nama-konstanta = nilai konstanta
Konstanta merupakan suatu nilai yang tidak dapat diubah selama proses program berlangsung. Konstanta nilainya selalu tetap. Konstanta harus didefinisikan terlebih dahulu di awal program. Konstanta dapat bernilai  integer, pecahan, karakter dan string. Contoh konstanta : 50; 13; 3.14; 4.50005;  ‘A’; ‘Bahasa C’. Selain itu, bahasa C juga menyediakan beberapa karakter  khusus yang disebut karakter escape, antara lain :
\a : untuk bunyi bell (alert)
\b : mundur satu spasi (backspace)
\f : ganti halaman (form feed)
\n : ganti baris baru (new line)
\r : ke kolom pertama, baris yang sama (carriage return)
\v : tabulasi vertical
\0 : nilai kosong (null)
\’ : karakter petik tunggal
\” : karakter petik ganda
\\ : karakter garis miring
Syntax pendefinisian konstanta adalah sebagai berikut:
const <TypeData> <NAMACONST1>=<Nilai1>[,<NAMACONST2>=<Nilai2>[, ... ]];
atau
#define <NAMACONST> <Nilai>
Dimana:
Borland C++ memiliki kebiasaan/konvensi pemberian nama HURUF BESAR untuk setiap konstanta.
Contoh:
#define PI 22/7
const unsigned int MAXDATA=50;
const unsigned char TAB=9, CR=13, LF=10;
Contoh program lengkap dapat dilihat di bawah ini:
#include <conio.h>
#include <stdio.h>
void main()
{   float panjang=12.250, lebar, luas, jari_jari=7;
    const float PI=22/7;
    lebar = 56.98;
    luas = panjang * lebar;
    printf("Persegi panjang dengan \nPanjang = %10.2f \nLebar   = %10.2f\n", panjang, lebar);
    printf("Luasnya = %10.2f\n", luas);

    luas = PI * jari_jari * jari_jari;
    printf("Lingkaran dengan \nDiameter = %10.2f\n", jari_jari*2);
    printf("Luasnya  = %10.2f\n", luas);

    getch();
}

Perintah Keluaran

#include <stdio.h> //untuk mengaktifkan perintah printf dan scanf
#include <conio.h> //untuk mengaktifkan perintah getch()

Penjelasan               Perintah standar output yang disediakan oleh Borland C++, diantaranya adalah :
  • printf()
  • puts()
  • putchar()
  • cout()
                                

2.4.1 printf()

Penjelasan               Fungsi printf() merupakan fungsi keluaran yang paling umum digunakan untuk menampilkan informasi kelayar.
printf("string-kontrol", argumen-1, argumen-2, …);

 
Bentuk Penulisan  
String-Kontrol dapat berupa keterangan yang akan ditampilkan pada layar beserta penentu format. Penentu format dipakai untuk memberi tahu kompiler mengenai jenis data yang dipakai dan akan ditampilkan.
Argumen ini dapat berupa variabel, konstanta dan ungkapan.
Tabel 2.4. Penentu Format Printf()
TIPE DATA
Penentu Format Untuk printf()
Integer
%d
Floating Point

Bentuk Desimal
%f
Bentuk Berpangkat
%e
Bentuk Desimal dan Pangkat
%g
Double Precision
%lf
Character
%c
String
%s
Unsigned Integer
%u
Long Integer
%ld
Long Unsigned Integer
%lu
Unsigned Hexadecimal Integer
%x
Unsigned Octal Integer
%o



 

printf(“%c merupakan abjad yang ke - %d”,’b’,2);


                                                    b typenya char

Contoh-1                 #include <stdio.h>
#include <conio.h>

main()
{
  int a = 7;
  char b = 'G';
  clrscr();

  printf("%c Merupakan Abjad Yang Ke - %d", b, a);
}


a. Penggunaan Penentu Lebar Field

Penjelasan      Bila ingin mencetak atau menampilkan data yang bertipe data FLOAT atau pecahan, tampilan yang tampak biasanya kurang bagus. Hal tersebut dapat diatur lebar field-nya dan jumlah desimal yang ingin dicetak. Berikut bentuk penulisannya :

                                 lebar

Contoh-2                 #include <stdio.h>
#include <conio.h>

main()
{
  float a = 7.50, b = 243.21;
  clrscr();
  printf("Bilangan A = %f \n", a);
  printf("Bilangan B = %f", b);
}

Output yang akan dihasilkan, jika tidak menggunakan panentu lebar field adalah

Bilangan A = 7.500000
Bilangan B = 243.210007

Contoh-3                 #include <stdio.h>
#include <conio.h>
main()
{
  float a = 7.50, b = 243.21;
  clrscr();
  printf("Bilangan A = %4.1f \n", a);
  printf("Bilangan B = %4.1f", b);
}

Output yang akan dihasilkan, jika menggunakan panentu lebar field adalah

Bilangan A =   7.5
Bilangan B = 243.2

2.4.2. puts()

Penjelasan               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 :

Tabel 2.6. Perbedaan fungsi puts() dengan printf()

printf()
puts()
Harus menentukan tipe data untuk data string, 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.

Contoh-4                 #include <stdio.h>
#include <conio.h>

main()
{
  char a[4] = "BSI";
  clrscr();
  puts("Saya Kuliah di. ");
  puts(a);
}

2.4.3. putchar()

Penjelasan               Perintah putchar() digunakan untuk menampilkan sebuah karakter ke layar. Penampilan karakter tidak diakhiri dengan pindah baris.

Contoh-5                 #include <stdio.h>
#include <conio.h>

main()
{
  clrscr();
  putchar('B');
  putchar('S');
  putchar('I');
}

2.4.4. cout()

Penjelasan               Fungsi cout() merupakan sebuah objeck didalam Borland C++ digunakan untuk menampilkan suatu data kelayar. Untuk menggunakan fungsi cout() ini, harus menyertakan file header iostream.h .

Contoh-6                 #include <stdio.h>
#include <conio.h>
#include <iostream.h>

main()
{
   float a, b, c;
  
   a=7.5; b=8.4; c=0
   clrscr();
   cout<<"Masukan Nilai A : "<<a;
   cout<<"Masukan Nilai B : "<<b;

   c = a + b;

   cout<<"Masukan Nilai C : "<<c;
   getch();
}

2.4.5. Fungsi Manipulator

Penjelasan                Manipulator pada umumnya digunakan untuk mengatur tampilan layar, untuk mengguakan manipulator ini file header yang harus disertakan file header iomanip.h . Ada beberapa fungsi manipulator yang disediakan oleh Borland C++, antara lain.
                                
  • endl
  • end
  • flush()
  • dec()
  • hex()
  • oct()
  • setbase()
  • setw()
  • setfill()
  • setprecision()
  • setosflags()

                                 Berikut akan dibahas beberapa fungsi manipulator, diantaranya :

a. endl

Penjelasan                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. File header yang harus disertakan adalah file header iostream.h .

Contoh-7                   # include <stdio.h>
# include <conio.h>
# include <iostream.h>
main()
{
   float a, b, c;
  
   a=7.5; b=8.4; c=0
   clrscr();
   cout<<"Masukan Nilai A : "<<a<<endl;
   cout<<"Masukan Nilai B : "<<b<<endl;

   c = a + b;

   cout<<"Masukan Nilai C : "<<c<<endl;
   getch();
}

b. ends

Penjelasan                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.. File header yang harus disertakan adalah file header iostream.h .

Contoh-8                   # include <stdio.h>
# include <conio.h>
# include <iostream.h>

main()
{
  int a, b, c, d;
  clrscr();
  cout<<"Masukan Nilai A : "; cin>>a;
  cout<<"Masukan Nilai B : "; cin>>b;

  c = a % b;
  d = a * b;

  cout<<"Hasil dari C = A % B adalah "<<c<<ends;
  cout<<"Hasil dari D = A * B adalah "<<d<<ends;
  getch();
}


c. dec, oct dan hex

Penjelasan                dec, oct dan hex  merupakan suatu fungsi manipulator yang digunakan untuk menampilkan data dalam bentuk desimal, oktal dan hexadesimal. File header yang harus disertakan adalah file header iomanip.h .

Contoh-9                   # include <stdio.h>
# include <conio.h>
# include <iostream.h>
# include <iomanip.h>
void main()
{
  int nilai = 10;
  clrscr();

  cout<<"Nilai = "<<nilai<<endl;
  cout<<"Nilai ke Octal = "<<oct<<nilai<<endl;
  cout<<"Nilai ke Hexadesimal = "<<hex<<nilai<<endl;
  cout<<"Nilai ke Desimal = "<<dec<<nilai<<endl;

  getch();
}


d. setprecision ()

Penjelasan                Fungsi setprecision() merupakan suatu fungsi manipulator yang digunakan untuk mengatur jumlah digit desimal yang ingin ditampilkan. Fungsi ini biasa pada fungsi cout(), file header yang harus disertakan adalah file header iomanip.h .

Contoh-10                 # include <stdio.h>
# include <conio.h>
# include <iostream.h>
# include <iomanip.h>

void main()
{
  float a, b, c;
  a = 25.77;
  b = 23.45;
  clrscr();

  c = a * b;

  cout<<setiosflags(ios::fixed);
  cout<<setprecision(1)<<c<<endl;
  cout<<setprecision(2)<<c<<endl;
  cout<<setprecision(3)<<c<<endl;
  cout<<setprecision(4)<<c<<endl;
  cout<<setprecision(5)<<c<<endl;
  getch();
}

2.5. Perintah Masukan

Penjelasan                Perintah standar input yang disediakan oleh Borland C++, diantaranya adalah :
  • scanf()
  • gets()
  • cout()
  • getch
  • getche()
                                

2.5.1. scanf()

Penjelasan                Fungsi scanf() digunakan untuk memasukkan berbagai jenis data. Bentuk Umum dari fungsi ini adalah :


scanf("penentu format", &nama-variabel);

 
 



Keterangan                simbol & merupakan pointer yang digunakan untuk menunjuk kealamat variabel memori yang dituju.

Tabel 2.7. Penentu Format scanf()

TIPE DATA
Penentu Format Untuk scanf()
Integer
%d
Floating Point

Bentuk Desimal
%e atau %f
Bentuk Berpangkat
%e atau %f
Double Precision
%lf
Character
%c
String
%s
Unsigned Integer
%u
Long Integer
%ld
Long Unsigned Integer
%lu
Unsigned Hexadecimal Integer
%x
Unsigned Octal Integer
%o

Contoh-11                 # include <stdio.h>
# include <conio.h>
main()
{
  int a, b, c = 0 ;
  clrscr();
  printf("Masukan Nilai A = "); scanf("%d",&a);
  printf("Masukan Nilai B = "); scanf("%d",&b);

  c = a + b;
  printf("Hasil Penjumlahan = %d",c);
}
2.5.2. gets()

Penjelasan                Fungsi gets() digunakan untuk memasukkan data string. Bentuk Umum dari fungsi ini adalah :


gets(nama-variabel-array);

 
 



Perbedaan antara scanf() dengan gets() adalah :

Tabel 2.8. Perbedaan scanf() dengan gets()

scanf()
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.


Contoh-12                   # include <stdio.h>
# include <conio.h>

main()
{
  char nm1[20];
  char nm2[20];

  clrscr();

  puts("Masukan nama ke - 1 = ");
  gets(nm1);
  printf("Masukan nama ke - 2 = ");
  scanf("%s",&nm2);

  printf("\n\n");

  puts("Senang Berkenalan Dengan Anda ..");
  puts(nm1);
  printf("Senang Berkenalan Dangan Anda ..%s", nm1);
  puts("Senang Berkenalan Dangan Anda ..");
  puts(nm1);

  printf("\n\n");

  puts("Senang Berkenalan Dangan Anda ..");
  puts(nm2);
  printf("Senang Berkenalan Dangan Anda ..%s", nm2);
}





2.5.3. cin ()

Penjelasan                Fungsi cin() merupakan sebuah objeck didalam C++ digunakan untuk memasukkan suatu data. Untuk menggunakan fungsi cin() ini, harus menyertakan file header iostream.h .

Contoh-13                 # include <stdio.h>
# include <conio.h>
# include <iostream.h>

main()
{
   float a, b, c;
  
   clrscr();
   cout<<"Masukan Nilai A : ";
   cin>>a;
   cout<<"Masukan Nilai B : ";
   cin>>b;

   c = a + b;

   cout<<"Masukan Nilai C : "<<c<<endl;
}

2.5.4. getch ()

Penjelasan                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. File header yang harus disertakan adalah conio.h.

Contoh-14                 # include <stdio.h>
# include <conio.h>

main()
{
  char kar;

  clrscr();

  printf("Masukan Sebuah Karakter Bebas = ");
  kar = getch();
  printf("\nTadi Anda Memasukan karakter %c", kar);
  getch();
}

2.5.5. getche()

Penjelasan                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. File header yang harus disertakan adalah conio.h.
Contoh-15                 # include <stdio.h>
# include <conio.h>

main()
{
  char kar;

  clrscr();

  printf("Masukan Sebuah Karakter Bebas = ");
  kar = getche();
  printf("\nTadi Anda Memasukan karakter %c", kar);
  getch ();
}

Selain itu kedua fungsi ini dapat digunakan untuk menahan agar tidak langsung balik kembali kedalam listing program dan hasil dari program yang di eksekusi dapat dilihat tanpa menekan tombol ALT – F5. Karena fungsi getch() merupakan fungsi masukkan, jadi sebelum program keluar harus menginputkan satu buah karakter.

  Operator Aritmatika


Penjelasan                Operator untuk operasi aritmatika yang tergolong sebagai operator binary adalah :

Tabel 3.1. Operator Aritmatika

Operator
Keterangan
Contoh
*
Perkalian
4 * 5
/
Pembagian
8 / 2
%
Sisa Pembagian
5 % 2
+
Penjumlahan
7 + 2
Pengurangan
6 − 2

Operator yang tergolong sebagai operator Unary, adalah :

Tabel 3.2. Operator Unary

Operator
Keterangan
Contoh
+
Tanda Plus
4
Tanda Minus
+6


Contoh-1                   #include <stdio.h>
#include <conio.h>
#include <iostream.h>
main()
{
  int a, b, c = 0, d = 0;
  clrscr();
  cout<<"Masukan Nilai A : "; cin>>a;
  cout<<"Masukan Nilai B : "; cin>>b;
  c = a % b;
  d = a * b;
  cout<<" Hasil dari C = A % B = "<<c<<endl;
  cout<<" Hasil dari D = A * B = "<<d<<endl;
  getch();
}

 


Operator logika pada c++

program untuk melakukan operasi logika pada c++,, operasi logika yang dibahas antara lain AND, OR, NAND(Not And), NOR(Not Or), XOR(Exclusive Or),dan XNOR(Exclusive Not Or).
  1. AND, bernilai benar jika semua kondisi bernilai benar.
  2. OR, bernilai benar jka terdapat salah satu kondisi yang bernilai benar.
  3. NAND, bernilai benar jika terdapat salah satu kondisi yang bernilai salah, atau sama dengan melakuakn operasi NOT pada hasil dari operasi AND.
  4. NOR, bernilai benar jika semua kondisi bernilai salah, atau sama dengan melakuakn operasi NOT pada hasil dari operasi AND.
  5. XOR, bernilai benar jika satu kondisi bernilai benar dan satu kondisi bernilai salah.
  6. XNOR, bernilai benar jika semua kondisi bernilai benar atau semua kondisi bernilai salah.
listing program:
#include <stdio.h></stdio.h>
#include <conio.h></conio.h>
void main(){
int a,b,pil;
char ulang;
do{
do{
clrscr();
printf(“masukan dua bilangan biner: \n”);
scanf(“\n%d”,&a);
scanf(“\n%d”,&b);
}
while(!((a==0||a==1)&&(b==0||b==1)));
do{
printf(“\n\n pilih gerbang logika: “);
printf(“\n1 = AND\n2 = OR\n3 = NAND\n4 = NOR\n5 = XOR\n6 = XNOR”);
printf(“\n ————————\n pilihan: “);
scanf(“\n%d”,&pil);
switch(pil){
case 1:{
if((a==1)&&(b==1)){
printf(“\n\n AND \n 1_satisfied”);
}
else{
printf(“\n\n AND \n 0_satisfied”);
}
break;
}
case 2:{
if((a==1)||(b==1)){
printf(“\n\n OR \n 1_satisfied”);
}
else{
printf(“\n\n OR \n 0_satisfied”);
}
break;
}
case 3:{
if(!((a==1)&&(b==1))){
printf(“\n\n NAND \n 1_satisfied”);
}
else{
printf(“\n\n NAND \n 0_satisfied”);
}
break;
}
case 4:{
if(!((a==1)||(b==1))){
printf(“\n\n NOR \n 1_satisfied”);
}
else{
printf(“\n\n NOR \n 0_satisfied”);
}
break;
}
case 5:{
if(((a==0)&&(b==1))||((a==1)&&(b==0))){
printf(“\n\n XOR \n 1_satisfied”);
}
else{
printf(“\n\n XOR \n 0_satisfied”);
}
break;
}
case 6:{
if(((a==0)&&(b==0))||((a==1)&&(b==1))){
printf(“\n\n XNOR \n 1_satisfied”);
}
else{
printf(“\n\n XNOR \n 0_satisfied”);
}
break;
}
default:{
printf(“pilihan tidak tersedia”);
}
}
}
while((pil6));
printf(“\n ulang program?? <y>: “);</y>
fflush(stdin);
scanf(“%c”,&ulang);
}
while((ulang==’Y’)||(ulang==’y’));
}




Operasi Penyeleksian Kondisi

Pernyataan Percabangan digunakan untuk memecahkan persoalan untuk mengambil suatu keputusan diantara sekian pernyataan yang ada.

Pernyataan IF

if (kondisi)
{
Pernyataan;
……
}
Contoh1:
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main()
{
double tot_beli, potongan=0, jum_bayar=0;
clrscr();
cout<<”Total Pembelian Rp. “;
cin>>tot_beli;
if (tot_beli >= 50000)
potongan = 0.2 * tot_beli;
cout<<”Besarnya Potongan Rp. “<<potongan<<endl;
jum_bayar = tot_beli – potongan;
cout<<”Jumlah yang harus dibayarkan Rp. “<<jum_bayar;
getch();
}


Pernyataan If Else

if (kondisi-1)
{
perintah-1;
….
}
else
{
perintah-2;
….
}




Contoh2:
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main()
{
double tot_beli, potongan=0, jum_bayar=0;
clrscr();
cout<<”Total Pembelian Rp. “;
cin>>tot_beli;
if (tot_beli >= 50000)
potongan = 0.2 * tot_beli;
else
potongan = 0.05 * tot_beli;
cout<<”Besarnya Potongan Rp. “<<potongan<<endl;
jum_bayar = tot_beli – potongan;
cout<<”Jumlah yang harus dibayarkan Rp. “<<jum_bayar;
getch();
}


Pernyataan Nested If

if(syarat)
if(syarat)
… perintah;
else
… perintah;
else
if(syarat)
… perintah;
else
… perintah;


Contoh3:
#include<stdio.h>
#include<iostream.h>
#include<conio.h>
main()
{
char kd;
char ukr,merk[20];
long int hrg,byr,ppn,ttl,u_byr,u_kembali,byk;
clrscr();
cout<<”***Toko Kelontong Keroncongan***”<<endl;
cout<<”=============================================”<<endl;
cout<<”A. Susu Dancow       ”<<endl;
cout<<”   1. Ukuran Kecil     ”<<endl;
cout<<”   2. Ukuran Sedang “<<endl;
cout<<”   3. Ukuran Besar   ”<<endl;
cout<<”B. Susu Bendera      ”<<endl;
cout<<”   1. Ukuran Kecil     ”<<endl;
cout<<”   2. Ukuran Sedang “<<endl;
cout<<”   3. Ukuran Besar    ”<<endl;
cout<<”C. Susu SGM            ”<<endl;
cout<<”   1. Ukuran Kecil      ”<<endl;
cout<<”   2. Ukuran Sedang  ”<<endl;
cout<<”   3. Ukuran Besar    ”<<endl;
cout<<”\nMasukan Jenis Susu    [A/B/C]   :”;cin>>kd;
cout<<”\nMasukan Ukuran Kaleng [1/2/3] :”;cin>>ukr;
cout<<”\nBanyak Beli  :”;cin>>byk;
if(kd==’A'||kd==’a')
{strcpy(merk,”Dancow”);
if(ukr==’1′)hrg=15000;
else if(ukr==’2′)hrg=26000;
else hrg=45000;}
else if(kd==’B'||kd==’b')
{strcpy(merk,”Bendera”);
if(ukr==’1′)hrg=12000;
else if(ukr==’2′)hrg=22000;
else hrg=40000;}
else
{strcpy(merk,”SGM”);
if (ukr==’1′)hrg=20000;
else if(ukr==’2′)hrg=38000;
else hrg=70000;}
cout<<”Merk Susu            :”<<merk<<endl;
cout<<”Harga                   :”<<hrg<<endl;
byr=hrg*byk;
cout<<”Pembayaran          :”<<byr<<endl;
ppn=0.1*byr;
ttl=byr+ppn;
cout<<”PPN                       :”<<ppn<<endl;
cout<<”Total Bayar           :”<<ttl<<endl;
cout<<”Uang Bayar            :”;cin>>u_byr;
u_kembali=u_byr-ttl;
cout<<”Uang Kembali         :”<<u_kembali<<endl;
cout<<”Terima Kasih Anda Telah Ke Counter Kami”<<endl;
getch();
}




Pernyataan If – Else Majemuk

if (syarat)
{
… perintah;
… perintah;
}
else if (syarat)
{
… perintah;
… perintah;
}
else
{
… perintah;
… perintah;
}

Contoh4:
#include<stdio.h>
#include<iostream.h>
#include<conio.h>
main()
{
char nm_pes[20],nm[20],kode,tujuan[30];
int jml;
long int harga,ttl;
clrscr();
cout<<”PT TRAVELLING INDONESIA”<<endl;
cout<<”Nama Penumpang      :”;cin>>nm;
cout<<”Kode Pesawat [1/2/3]:”;cin>>kode;
cout<<”Jumlah Tiket        :”;cin>>jml;
if(kode==’1′)
{strcpy(tujuan,”Jakarta – Medan”);
strcpy(nm_pes,”Garuda Airlines”);
harga=400000;}
else if(kode==’2′)
{strcpy(tujuan,”Jakarta – Lampung”);
strcpy(nm_pes,”Asia Airlines”);
harga=200000;}
else
{strcpy(tujuan,”Jakarta – Palembang”);
strcpy(nm_pes,”Sriwijaya Airlines”);
harga=300000;}
ttl=jml*harga;
cout<<”Penumpang Yang Bernama :”<<nm<<endl;
cout<<”Nama Pesawat        :”<<nm_pes<<endl;
cout<<”Tujuan                    :”<<tujuan<<endl;
cout<<”Harga Tiket            :”<<harga<<endl;
cout<<”Total Bayar            :”<<ttl<<endl;
getch();
}

Latihan If_1:
Buatlah program untuk menghitung nilai rata-rata dari seorang siswa, dengan ketentuan sebagai berikut :
  • • Nama Siswa, Nilai Pertandingan I, Nilai Pertandingan II, Nilai Pertandingan III diinput.
  • • Nilai Rata-rata merupakan hasil dari Nilai Pertandingan I, II dan III dibagi dengan 3.
  • • Ketentuan Mendapat Hadiah dari pertandingan :
- Jika Nilai Rata-Rata >= 85, maka mendapat hadiah Seperangkat Komputer P4
- Jika Nilai Rata-Rata >= 70, maka mendapat hadiah Uang sebesar Rp. 500,000
- Jika Nilai Rata-Rata < 70, maka mendapat hadiah Hiburan
  • • Tampilan yang diinginkan sebagai berikut :
Layar Masukkan
PROGRAM HITUNG NILAI RATA-RATA
Nama Siswa : … <diinput>
Nilai Pertandingan I : …  <diinput>
Nilai Pertandingan II : … <diinput>
Nilai Pertandingan III : …<diinput>
Layar Keluaran
Siswa yang bernama …       <tampil data>
Memperoleh nilai rata-rata   <hasil proses>
dari hasil perlombaan yang diikutinya.
Hadiah yang didapat adalah ..<hasil proses>

OPERASI PERULANGAN
Sesuai dengan tujuannya operasi perulangan digunakan untuk melakukan pengulangan perintah dengan menggunakan pola tertentu. berikut contoh operasi perulangan dalan c++ menggunakan for, while, dan do-while.
Pernyataan For :
format penulisan :
for (inisialisasi;syarat pengulangan;pengubah nilai pencacah)
{
  pernyataan/perintah ke-1;
  pernyataan/perintah ke-2;
  …
  pernyataan/perintah ke-n;
}
capture-20121126-155502.png
hasil eksekusi :
1
2
3
4
5
6
7
8
9
10
Perintah while :
format penulisan :
inisialisasi/pendefinisian nilai awal
while (syarat)
{
  pernyataan/perintah 1;
  pernyataan/perintah 2;
  …
  pernyataan/perintah n;
}
capture-20121126-155742.png
 hasil eksekusi :
1
2
3
4
5
6
7
8
9
10
Perintah do-while :
format penulisan :
inisialisasi/pendefinisian nilai awal
 do
{
  penyataan/perintah 1;
  penyataan/perintah 2;
  …
  penyataan/perintah n;
} while(syarat)
capture-20121126-155929.png
hasil eksekusi :
1
2
3
4
5
6
7
8
9
10
ARRAY
PENGERTIAN ARRAY
Array   adalah   suatu   variabel   yang terdiri dari sekumpulan data dimana data-data
tersebut  mempunyai  tipe  data  yang  sama. Setiap  data  disimpan  dalam  alamat  memori
yang   berbeda-beda dan disebut dengan elemen array. Setiap elemen mempunyai nilai indek sesuai dengan urutannya. Melalui indek inilah       kita dapat mengakses data-data tersebut

BENTUK UMUM
Array dideklarasikan dengan tanda [ ] (bracket), baik dalam bahasa C++ dan Java. Bentuk umum dari tipe data array adalah :

tipe_data nama_array[jumlah_elemen]

1.    Array satu dimensi
oSetiap elemen array dapat diakses melalui index
oIndex array secara default dimulai dari 0
oDeklarasi array :
Tipe_array nama_array[ukuran]
2.     Array dua dimensi
-Array dua dimensi merupakan array yang terdiri dari m buah baris dan n buah buah kolom bentuknya dapat berupa matriks atau tabel.
-Deklarasi array :
Tipe_array nama_array [baris][kolom]
3.    Array multidimensi
-Array multidimensi merupakan array yang mempunyai ukuran lebih dari dua. Bentuk pendeklarasian array multidimensi sama saja dengan deklarasi array dimensi satu maupun dimensi dua.
-Deklarasi array :
Tipe_array nama_array [ukuran 1][ukuran 2] . . . [ukuran N]

Contoh Program Array

#include <stdio.h>
#include <conio.h>
#include <iostream.h>

void main()
{
int nilai[5][3]={{7,8,9},{3,4,7},{7,4,9},{5,9,4},{6,8,5}};
int m,n=0;
cout<<"Daftar Nilai\n";
cout<<"----------\n";
cout<<"|No|M|F|S|\n";
cout<<"----------\n";
for(n=0;n<5;n++)
{
cout<<"|"<<(n+1)<<" |";
for(m=0;m<3;m++)
cout<<nilai[n][m]<<"|";
cout<<"\n";
}
cout<<"----------";
getch();
}

Fungsi (FUNCTION) pada C++

Pendahuluan
Fungsi merupakan blok dari kode program yang dirancang untuk melaksanakan tugas khusus. Fungsi banyak dilibatkan dalam pembuatan suatu program, dengan tujuan :
Program menjadi lebih tersetuktur, sehingga mudah dipahami dan mudah dikembangkan
Dapat mengurangi pengulangan kode.
Bentuk umum suatu fungsi adalah sebagai berikut :
Tipedata namafungsi(daftarparameter)
{
/*Badan Fungsi*/
return nilaireturn; /* untuk tipe data bukan void */
}
Fungsi Bertipe void
Fungsi bertipe void, kalau dalam program pascal atau delphi disebut sebagai procedure. Fungsi ini tidak mempunyai nilai kembalian, jadi fungsi bertipe ini hanya merupakan sekumpulan kode program yang bekerja sesuai dengan parameter yang diberikan.
Contoh fungsi bertipe void :
void TampilNama()
{
textcolor(RED);
cprintf(“Nama Saya : Tulis Nama Ada\n\r”);
cprintf(“Alamat    : Jl. Can Di Aspal No. 70\n\r”);
cprintf(“Telepon   : 022-2513709\n\r”);
}

main()
{
TampilNama();
TampilNama();
TampilNama();
}
Dalam program di atas, ada sebuah fungsi yang bernama TampilNama(), yang berguna untuk menampilkan data Nama, Alamat, dan Telepon. Dalam program utama (fungsi main() ), cara pemanggilan fungsi tersebut adalah dengan menulis nama fungsinya (dalam hal ini TampilNama() ). Jadi program di atas akan menampilkan isi fungsi TampilNama() sebanyak 3 kali.
Fungsi di atas merupakan fungsi yang dipanggil tanpa memakai parameter. Untuk melihat contoh fungsi berparameter, perhatikan program di bawah ini.
void Kotak(int X1,int Y1, int X2,int Y2,int Bingkai,int Latar)
{
int i;
textcolor(Bingkai);
textbackground(Latar);
gotoxy(X1,Y1);cprintf(“é”); /* alt+218 */
gotoxy(X1,Y2);cprintf(“%c”,192);
gotoxy(X2,Y1);cprintf(“%c”,191);
gotoxy(X2,Y2);cprintf(“%c”,217);
for (i=X1+1;i<=X2-1;i++)
{
gotoxy(i,Y1);cprintf(“%c”,196);
gotoxy(i,Y2);cprintf(“%c”,196);
}
for(i=Y1+1;i<=Y2-1;i++)
{
gotoxy(X1,i);cprintf(“%c”,179);
gotoxy(X2,i);cprintf(“%c”,179);
}
}
main()
{
Kotak(1,1,80,24,WHITE,BLUE);// Memanggil Procedur Kotak
Kotak(2,2,15,23,WHITE,RED);
getch();
return 0;
}

Void Kotak merupakan sebuah fungsi yang akan membuat suatu kotak di layar sesuai dengan koordinat yang diberikan di bagian parameter. Koordinat tersebut adalah koordinat kiri atas (X1,Y1), dan koordinat titik kanan bawah (X2,Y2). Selain itu fungsi ini membutuhkan parameter Bingkai yang berguna untuk menentukan warna bingkai kotak, dan juga parameter Latar yang berguna untuk menentukan warna latar belakang kotak yang dibuat.
Pemanggilan Kotak(1,1,80,24,WHITE,BLUE) berguna untuk membuat kotak dengan posisi kiri atas pada koordinat (1,1) dan posisi kanan bawah pada koordinat (80,24) dengan warna bingkai kotak berwarna putih dengan latar belakang kotak berwarna biru.


Fungsi bertipe data
Dalam dunia matematika, kita mengenal fungsi. Contoh : F(X)=X2+3X+5, yang berarti kita mempunyai sebuah fungsi bernama F yang membutuhkan parameter X sebagai data yang akan dihitung dengan persamaan X2+3X+5 sehingga kalau kita menulis F(5), maka nilai dari fungsi tersebut adalah 52 + 3.5+ 5 = 45.
Bentuk umum dari Function ini dalam bahasa Pascal adalah :

typedata NamaFungsi(daftar parameter)
{
Perintah;
Perintah;
Return NilaiHasilUntukFungsi;
}

Contoh 1 : Fungsi matematik untuk menghitung persamaan F(X) = X2+3X+5;
float F(float X)
{
return X*X+3*X+5;//Fungsi diisi hasil dari perhitungan X2+3*X+5
}

Contoh 2 : Fungsi untuk mencari Faktorial dari suatu nilai
float Faktorial(int N)
{
int I;
float Hasil;
Hasil:=1;
for(I=2;I<=N;I++)
Hasil=Hasil * I;
return Hasil;
}

Contoh 3: Fungsi untuk mencari Kombinasi dengan rumus :
Kombinasi (X,Y) =
Float  Kombinasi(int X, int Y)
{
return Faktorial(Y) / (Faktorial(X)*Faktorial(Y-X));
}

0 komentar:

Posting Komentar