Membuat Fungsi
Fungsi dengan Multiple Argument
•
Fungsi yang bermultiple argument, dipisahkan
dengan koma
•
Contoh :
int product(int arg1, int arg2)
{
return arg1 * arg2;
}
Overloading Penamaan Fungsi
•
C++ membolehkan programmer untuk
menetapkan penamaan yang sama terhadap
dua atau lebih dari suatu fungsi.
•
Pada umumnya, dua fungsi dalam single
void someFunction(void) {
// ....perform some function }
void someFunction(int n) {
// ...perform some different function }
void someFunction(double d) {
// ...perform some very different function }
void someFunction(int n1, int n2) {
// ....do something different yet }
•
C++ masih mengenal fungsi
someFunction(void), someFunction(int),
someFunction(double), and someFunction(int,
int) yang merupakan fungsi yang berbeda.
• Berikut ini pengaplikasian penggunaan overloaded fungsi dengan penamaan yang unik :
int intVariable1, intVariable2; // equivalent to // int Variable1;
// int Variable2;
double doubleVariable;
// functions are distinguished by the type of // the argument passed
someFunction(); // calls someFunction(void)
someFunction(intVariable1); // calls someFunction(int)
someFunction(doubleVariable); // calls someFunction(double) someFunction(intVariable1, intVariable2); // calls
// someFunction(int, int)
// this works for constants as well
someFunction(1); // calls someFunction(int)
someFunction(1.0); // calls someFunction(double) someFunction(1, 2); // calls someFunction(int, int)
Prototype Fungsi
int someFunc(double, int);
int main(int nNumberofArgs, char* pszArgs[])
{
someFunc(1, 2);
}
int someFunc(double arg1, int arg2)
{
// ...do something
}
Tipe-tipe storage variable
•
Variabel fungsi di storekan di tiga tempat berbeda
•
Contoh variabel localVariable sebagai fungsi lokal fn():
int globalVariable;
void fn()
{
int localVariable;
static int staticVariable;
}
•
Variabel globalVariable dibuat ketika program mulai eksekusi
•
Variabel staticVariable mirip suatu campuran variabel lokal dan
variabel global.
Memasukkan File Include
•
Pada umumnya prototip suatu fungsi
diletakkan dalam file terpisah, yang kemudian
file tersebut di include-kan dalam source C++.
•
Pendefinisian file include math seperti berikut:
// math include file:
// provide prototypes for functions that might be useful
// in more than one program
// abs - return the absolute value of the argument
double abs(double d);
// square - return the square of the argument
double square(double d);
•
Program menggunakan file include math
seperti berikut :
// MyProgram -
#include “math”
using namespace std;
// my code continues here
#include adalah directive
#include bukanlah format C++, directive ini
akan dieksekusi oleh interpreter sebelum
kompiler melakukan kompilasi.
•
Environment C++ menyediakan file include
seperti : cstudio dan cstream
•
Selama beberapa tahun, programmer
Menyimpan Kejadian kedalam
Array
•
Array adalah serangkai variabel yang
mengeshare nama yang sama direferensikan
menggunakan index.
Mengapa Butuh Array ?
•
Coba anda lihat :
cin >> value1;
if (value1 >= 0)
{
cin >> value2;
if (value2 >= 0)
{
...
•
Dapat kita simpulkan, penanganan ini hanya
dapat menangani beberapa bilangan.
• Masalah tersebut dapat ditangani dengan menggunakan Array :
int value;
// declare an array capable of holding up to 128 ints int valueArray[128];
// define an index used to access subsequent members of // of the array; don‟t exceed the 128 int limit
for (int i = 0; i < 128; i++) {
cin >> value;
// exit the loop when the user enters a negative // number if (value < 0) { break; } valueArray[i] = value; }
•
Pada baris kedua dari code di atas, baris tersebut
mendeklarasi variabel valueArray sebagai Array
•
Potongan program tersebut meminta masukan
dari user untuk memasukkan bilangan, kemudian
program menyimpan masukan bilangan tersebut
ke variabel Array valueArray.
•
Dalam penggunaan Array, valueArray[i]
menunjukkan i adalah elemen ke i dari
valueArray[i].
Menggunakan Array
•
Program berikut meminta masukkan nilai integer dari keyboard, hingga si
usernya memasukkan bilangan negatif.
// ArrayDemo - demonstrate the use of arrays
// by reading a sequence of integers
// and then displaying them in order
#include <cstdio>
#include <cstdlib>
#include <iostream>
using namespace std;
// prototype declarations
int sumArray(int integerArray[], int
sizeOfloatArray);
void displayArray(int integerArray[], int
sizeOfloatArray);
int main(int nNumberofArgs, char* pszArgs[])
{
// input the loop count
int nAccumulator = 0;
cout << “This program sums values entered “
<< “by the user\n”;
cout << “Terminate the loop by entering “
<< “a negative number\n”;
cout << endl;
// store numbers into an array
int inputValues[128];
int numberOfValues;
for(numberOfValues = 0;numberOfValues < 128;
numberOfValues++)
{
// fetch another number
int integerValue;
cout << “Enter next number: “;
cin >> integerValue;
// if it‟s negative...
if (integerValue < 0)
{
// ...then exit
break;
}
// ... otherwise store the number
// into the storage array
inputValues[numberOfValues] = integerValue;
}
// now output the values and the sum of the values
displayArray(inputValues, numberOfValues);
cout << “The sum is “ << sumArray(inputValues,
numberOfValues) << endl;
// wait until user is ready before terminating program
// to allow the user to see the program results
system(“PAUSE”);
return 0;
// displayArray - display the members of an
// array of length sizeOfloatArray
void displayArray(int integerArray[], int sizeOfArray)
{
cout << “The value of the array is:” << endl;
for (int i = 0; i < sizeOfArray; i++)
{
cout.width(3);
cout << i << “: “ << integerArray[i] << endl;
}
cout << endl;
}
// sumArray - return the sum of the members of an
// integer array
int sumArray(int integerArray[], int sizeOfArray)
{
int accumulator = 0;
for (int i = 0; i < sizeOfArray; i++)
{
accumulator += integerArray[i];
}
return accumulator;
}
•
Program ArrayDemo dimulai dengan sebuah
prototipe deklarasi dari fungsi sumArray() dan
displayArray().
•
Jika input bilangan adalah negatif, maka loop
akan keluar dengan mengeksekusi break
•
Nilai Array inputValues dideklarasikan sebagai
128 long integer
•
Fungsi main diakhiri dengan pemanggilan
displayArray() untuk menampilkan isi array dan
jumlah
•
Environment dev-c++ membantu Anda untuk
lebih mudah melihat daftar fungsi yang Anda
buat.
•
Fungsi displayArray() berisikan loop for yang
digunakan untuk menjelajahi array
•
Perhatikan index di inialisasi bilangan 0 bukan
bilangan 1
•
Output Program :
This program sums values entered by the user
Terminate the loop by entering a negative number
Enter next number: 1
Enter next number: 2
Enter next number: 3
Enter next number: -1
The value of the array is:
0: 1
1: 2
2: 3
The sum is 6
Menginisialisasi Array
•
Variabel lokal tidak dimulai dengan nilai yang
valid, dan juga bukan 0.
•
Kebetulan, variabel array yang kecil bisa di
inisialisasikan disaat variabel tersebut
dideklarasikan :
float floatArray[5] = {0.0, 1.0, 2.0, 3.0, 4.0};
•
Code tersebut menginisialisasi floatArray[0] ke
0.0, floatArray[1] = 1.0, floatArray[2] ke 2.0
•
Banyaknya yang diinisialisasi bergantung dengan
ukuran suatu Array
•
Contoh deklarasi array yang mirip dengan
sebelumnya :
float floatArray[] = {0.0, 1.0, 2.0, 3.0, 4.0};
•
Anda dapat saja menginisialisasikan semua
element dalam array dengan mengelist nilai
tersebut. Berikut contoh, menginisialisasikan nilai
1.0 di 25 lokasi dalam floatArray.
Mendefinisikan dan Menggunakan
Array 2 Dimensi
•
C++ Mengimplementasikan suatu matrix
seperti berikut :
int intMatrix[10][5];
•
Matrix ini berisikan 10 elemen yang berada
pada dimensi 1, dan 5 elemen pada dimensi
yang lain, jadi total elemen array adalah 10 *
5 = 50 elemen
•
Suatu matrix dapat diinisiasikan dalam cara
yang sama dengan menginisialisasikan array :
int intMatrix[2][3] = {{1, 2, 3}, {4, 5, 6}};
•
Code ini menginisialisasikan 3 elemen array
dalam intMatrix[0] ke [1, 2, 3} dan 3 elemen
array dalam intMatrix[1] ke {4, 5, 6}
Menggunakan Array Karakter
•
Elemen suatu array banyak tipe. Array float,
double, dan long juga mungkin menjadi tipe
dari suatu Array. Tetapi array karakter menjadi
penekanan yang paling penting.
Membuat Array Karakter
•
Kata-kata dan kalimat dapat diekspresikan ke dalam
bentuk array karakter
char sMyName[] = {„S‟, „t‟, „e‟, „p‟,
„h‟, „e‟, „n‟};
•
Berikut ini contoh program yang menampilkan
MyName
// CharDisplay - output a character array to
// standard output, the MS-DOS window
#include <stdio.h>
#include <iostream.h>
// prototype declarations
void displayCharArray(char stringArray[],int
sizeOfloatArray);
int main(int nArg, char* pszArgs[]) {
char charMyName[] = {„S‟, „t‟, „e‟, „p‟, „h‟, „e‟, „n‟}; displayCharArray(charMyName, 7);
cout << “\n”; return 0;
}
// displayCharArray - display an array of characters // by outputing one character at
// a time
void displayCharArray(char stringArray[], int sizeOfloatArray)
{
for(int i = 0; i< sizeOfloatArray; i++) {
cout << stringArray[i]; }
Membuat String dari karakter
•
Dengan melihat contoh program sebelumnya, diberikan program :
// DisplayString - output a character array to
// standard output, the MS-DOS window
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <string>
using namespace std;
// prototype declarations
int main(int nNumberofArgs, char* pszArgs[]) {
char charMyName[] = {„S‟, „t‟, „e‟, „p‟, „h‟, „e‟, „n‟, 0}; displayString(charMyName);
// wait until user is ready before terminating program // to allow the user to see the program results
system(“PAUSE”); return 0;
•
// displayString - display a character string
•
// one character at a time
•
void displayString(char stringArray[])
•
{
•
for(int i = 0; stringArray*i+ != ‘\0’; i++)
•
{
•
cout << stringArray[i];
•
}
•
}
•
Pendeklarasian charMyName mendeklarasikan karakter
array dengan karakter ekstra null sebagai elemen akhirnya.
•
Kita memilih karakter ‘\0’ adalah untuk
mengakhiri karakter bukan random
•
char szMyName*+ = “Stephen”;
•
Identik dengan :
•
char szAlsoMyName[] =
•
,‘S’, ‘t’, ‘e’, ‘p’, ‘h’, ‘e’, ‘n’, ‘\0’-;
•
String Stephen terdiri dari 8 karakter bukan 7,
karena karakter ‘\0’ merupakan bagian dari string
Stephen
Memanipulasi String dengan
menggunakan Karakter
•
Programmer C++ sering kali membutuhkan
suatu perintah untuk memanipulasi string
•
Anda butuh menambahkan statement
#include <string.h> untuk memulai program
yang menggunakan fungsi str…
• Berikut program yang menginput dua string dari keyboard dan menggabungkannya kedalam bentuk satu string
// Concatenate - concatenate two strings // with a “ - “ in the middle
#include <cstdio> #include <cstdlib> #include <iostream> using namespace std;
// the following include file is deprecated;
// however, it is required for the str functions #include <strings.h>
int main(int nNumberofArgs, char* pszArgs[]) {
// read first string... char szString1[256];
cout << “Enter string #1:”; cin >> szString1;
// safer alternative
// cin.getline(szString1, 128);
// ...now the second string...
char szString2[128];
cout << “Enter string #2:”;
cin >> szString2;
// safer alternative
// cin.getline(szString1, 128);
// accumulate both strings into a single buffer
char szString[260];
// copy the first string into the buffer... strncpy(szString, szString1, 128);
// ...concatenate a “ - “ onto the first... strncat(szString, “ - “, 4);
// ...now add the second string... strncat(szString, szString2, 128); // ...and display the result
cout << “\n” << szString << endl;
// wait until user is ready before terminating program // to allow the user to see the program results
system(“PAUSE”); return 0;