- v FUNCTION
1. Pengertian
Fungsi
Fungsi adalah sub-program yang
bisa digunakan kembali baik di dalam program itu sendiri, maupun di program
yang lain.
Fungsi dapat menerima input dan
menghasilkan output.Contoh fungsi yang sering kita buat adalah fungsi main()
.
2.
Buat Fungsi
C ++ menyediakan beberapa fungsi yang telah ditentukan sebelumnya,
seperti main()yang digunakan untuk mengeksekusi
kode. Tetapi Anda juga dapat membuat fungsi Anda sendiri untuk melakukan tindakan
tertentu.
Untuk membuat (disebut sering sebagai deklarasi )
fungsi, tentukan nama fungsinya, diikuti dengan tanda kurung () :
Sintaksis
void myFunction() {
// code to be executed
}
Contoh Dijelaskan
myFunction()
adalah nama fungsinyavoid
artinya fungsi tersebut tidak memiliki nilai kembali. Anda akan belajar lebih lanjut tentang nilai kembali nanti di bab berikutnya- di
dalam fungsi (tubuh), tambahkan kode yang mendefinisikan apa yang harus
dilakukan fungsi tersebut.
Panggil Fungsi
Fungsi yang dideklarasikan tidak dijalankan. Mereka
"disimpan untuk digunakan belakangan", dan akan dijalankan nanti,
ketika dipanggil.
Untuk memanggil fungsi, tulis nama fungsi diikuti dengan dua tanda
kurung ()
dan titik koma;
Dalam contoh berikut, myFunction()
digunakan untuk mencetak teks
(tindakan), saat dipanggil.
Contoh
Di dalam main
, hubungi myFunction()
:
// Create a function
void myFunction() {
cout << "I just got executed!";
}
int main() {
myFunction(); // call the function
return 0;
}
Deklarasi dan
Definisi Fungsi
Fungsi C ++ terdiri
dari dua bagian:
- Deklarasi: nama fungsi,
kembalian, dan parameter (jika ada)
- Definisi: tubuh fungsi (kode yang akan dieksekusi)
Sintaks:
void myFunction() { // declaration
// the body of the function (definition)
}
Catatan: Jika fungsi
yang ditentukan pengguna, seperti yang myFunction()
dideklarasikan
setelah main()
fungsi, kesalahan akan terjadi . Itu
karena C ++ bekerja dari atas ke bawah; yang berarti jika fungsi tidak dideklarasikan di atas main()
,
program tidak menyadarinya:
Contoh:
int main() {
myFunction();
return 0;
}
void myFunction() {
cout << "I
just got executed!";
}
Namun, pencahayaan yang tepat untuk deklarasi dan definisi fungsi - untuk pengoptimalan
kode.
Anda akan sering
melihat program C ++ yang memiliki deklarasi fungsi di atas main(), dan definisi fungsi
di bawah main(). Ini akan membuat kode lebih
terorganisir dan lebih mudah dibaca:
Contoh
// Function
declaration
void myFunction();
// The main method
int main() {
myFunction(); // call the function
return 0;
}
// Function definition
void myFunction() {
cout << "I just got executed!";
}
User-defined
function
Sintaks penulisan User-defined function dalam C++ terdiri dari
return_type, nama function, argument/parameter dan body function.
return_type function_name ( parameter list )
{
function_body;
}
Contoh function dalam C++ :
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#include <iostream> using namespace std; int addition (int a, int b)
//called or calling function berisi formal parameter { int r; r=a+b; return
r; } int main () { int z; z
= addition (5,3); // caller function berisi actual parameter cout
<< "The result is " << z; return
0; } |
Nilai (value) 5 dan 3 dikirim oleh fungsi pemanggil (caller function) ke fungsi called function atau calling function melalui parameter (Passing
parameter).
Argument pada caller function disebut actual parameter dan
argument pada calling function disebut formal parameter.
Ada 3 macam passing data pada function C++:
- Passing
By Value
- Passing
By Reference
- Passing
By Address
Contoh soal Function :
1. Sebutkan 2 bahasa
pemograman utama yang menggunakan istilah Fungsi (Function) ?
Jawab:
C++ dan Java
2. Jelaskan secara singkat
fungsi darri function pada c++?
Jawab
: Function
dalam C++ berisi code statement yang melakukan tugas (task) yang koheren atau
berhubungan.
Function biasanya digunakan untuk tugas yang
berulang, sehingga kita tidak perlu menulis lagi coding yang sama (reusability).
3. Pengertian dari
library Function?
Jawab
: Library
function –> kumpulan function dalam satu container yang disebut library,
contoh library cmath <math.h> yang berisi fungsi-fungsi matematika
seperti: sqrt(x), pow(x,y), dll.
4. Pengertian dari User-Defined
Function?
Jawab : User-defined function –> fungsi yang kita buat sendiri.
5. Fungsi dari myfunction()
?
Jawab : my function() -> digunakan untuk
mencetak teks (tindakan), saat dipanggil.
6. Ada 3 macam passing data
pada function C++,Sebutkan!
Jawab : Passing By
Value, Passing By Reference, Passing By Address
7. Pengertian dan fungsi
dariPassing By Value, Passing By Reference, Passing By Address?
Jawab :
Pass By Value melewatkan parameter berdasarkan nilainya.
Pass By Reference melewatkan parameter berdasarkan referensinya.
Pass by address kadang juga disebut sebagai Pass by pointer. adalah salah satu
metode untuk memberikan argument kepada function parameter saat
pemanggilan function, dengan memanfaatkan pointer dereference.
8. Fungsi dasar dari
Function?
Jawab :
Printf() berfungsi untuk menampilkan informasi atau data ke layer
Scanf() berfungsi untuk membaca kode tombol yang di inputkan.
9. Apa yang di maksud
dengan “Tubuh Fungsi” ?
Jawab : deklarasi variable dan statement-statemet yang melakukan tugas
yang akan di berikan kepada fungsi yang bersangkutan. Tubuh fungsi ditulis
menggunakan kurung kurawal buka dan kurung kurawal tutup.
10. Apa itu yang merupakan “Tipe
Keluaran Fungsi”?
Jawab : Char atau Int
v STRUCTUR
1. Apakah
struktur itu?
Struktur
adalah tipe data yang ditentukan pengguna di C / C ++. Struktur membuat
tipe data yang dapat digunakan untuk mengelompokkan item dari tipe yang mungkin
berbeda menjadi satu tipe.
2. Bagaimana
cara membuat struktur?
Kata kunci 'struct' digunakan untuk membuat
struktur. Sintaks umum untuk membuat struktur adalah seperti di bawah ini:
struct
structureName {
member1;
anggota2;
anggota3;
.
.
.
memberN;
};
Struktur di C ++ dapat berisi dua jenis anggota:
·
Anggota Data : Anggota ini adalah variabel C
++ normal. Kita dapat membuat struktur dengan variabel dari tipe data yang
berbeda di C ++.
·
Fungsi Anggota : Anggota ini adalah fungsi C ++ normal. Bersama dengan
variabel, kita juga bisa menyertakan fungsi di dalam deklarasi struktur.
Contoh :
// Data Members int roll; int age; int marks; // Member Functions void printDetails() { cout<<"Roll
= "<<roll<<"\n"; cout<<"Age
= "<<age<<"\n"; cout<<"Marks
= "<<marks; } |
Dalam struktur di atas, anggota data adalah tiga
variabel bilangan bulat untuk menyimpan nomor gulungan, usia dan nilai siswa
dan fungsi anggota printDetails () yang
mencetak semua rincian siswa di atas.
3.
Bagaimana cara mendeklarasikan variabel
struktur?
Variabel struktur dapat dideklarasikan dengan
deklarasi struktur atau sebagai deklarasi terpisah seperti tipe dasar.
// A variable declaration with
structure declaration.
struct Point
{
int x, y;
} p1; // The variable p1 is
declared with 'Point'
// A variable declaration like
basic data types
struct Point
{
int x, y;
};
int main()
{
struct Point
p1; // The variable p1 is declared like a normal variable
}
4. Bagaimana cara menginisialisasi anggota struktur?
Anggota struktur tidak dapat diinisialisasi
dengan deklarasi. Misalnya program C berikut gagal dalam kompilasi.
struct Point
{
int x =
0; // COMPILER ERROR: cannot initialize members here
int y =
0; // COMPILER ERROR: cannot initialize members here
};
Alasan kesalahan di atas sederhana, ketika tipe
data dideklarasikan, tidak ada memori yang dialokasikan untuk itu. Memori
dialokasikan hanya ketika variabel dibuat.
Anggota struktur bisa diinisialisasi
menggunakan kurung kurawal '{}'. Misalnya, berikut ini adalah inisialisasi
yang valid.
struct Point { int x, y; }; int main() { // A valid
initialization. member x gets value 0 and y // gets value
1. The order of declaration is followed. struct Point
p1 = {0, 1}; } |
5. Bagaimana cara mengakses elemen struktur?
Anggota struktur diakses
menggunakan operator titik (.).
#include <iostream>
using namespace std;
struct Point {
int x, y;
};
int main()
{
struct
Point p1 = { 0, 1 };
//
Accessing members of point p1
p1.x =
20;
cout
<< "x = " << p1.x << ", y = " <<
p1.y;
return 0;
}
Keluaran:
x = 20, y = 1
6.
Apa itu susunan
struktur?
Seperti tipe data primitif lainnya, kita dapat
membuat array struktur.
#include <iostream> using namespace std; struct Point { int x,
y; }; int main() { //
Create an array of structures struct
Point arr[10]; //
Access array members arr[0].x
= 10; arr[0].y
= 20; cout
<< arr[0].x << " " << arr[0].y; return
0; } |
Keluaran:
10
20
7.
Apa itu penunjuk struktur?
Seperti tipe primitif,
kita dapat memiliki pointer ke suatu struktur. Jika kita memiliki penunjuk
ke struktur, anggota diakses menggunakan operator panah (->) alih-alih
operator titik (.).
#include <iostream> using namespace std; struct Point { int x,
y; }; int main() { struct
Point p1 = { 1, 2 }; // p2
is a pointer to structure p1 struct
Point* p2 = &p1; //
Accessing structure members using // structure
pointer cout
<< p2->x << " " << p2->y; return
0; } |
Keluaran:
1
2
Contoh
soal Structur :
1.
Bila diketahui tiga buah bilangan :
Int i = 79, j
= 5;
float k = i /
j;
maka
pernyataan:
cout << “k = “;
cout.width(5);
cout.precision(2);
cout << k << endl;
akan
manampilkan hasil ?
Jawab : k = 15
2.
Penggunaan struktur kondisi seleksi
bertingkat: perintah:
“if “untuk menyatakan pilihan selain dari kondisi
yang ada
menggunakan ?
jawab : else if
3. Pengertian Array adalah ?
Jawab : Array adalah struktur data yang terdiri dari kumpulan
variabel yang tipe datanya sama.
4. Pengertian struktur (struct)
?
Jawab : Struktur merupakan struktur data yang terdiri dari
satu atau lebih variabel yang mempunyai tipe data sama atau berlainan.
5. Perbedaan structure dan array?
Jawab : Array hanya menyimpan data dengan tipe data
yang sama sedangkan structure dikatakan sebagai tipe data baru yang dapat
menampung berbagai tipe data lain yang berbeda.
6. Persamaan structure dan array ?
Jawab : pengelompokan data secara bersamaan
sehingga menjati tipe yang sama.
7. Fungsi dari “return 0;” ?
Jawab : Default
dari return adalah 0. Artinya fungsi telah selesai dengan baik. Fungsi mungkin
saja mengembalikan nilai lain dalam bentuk integer.
8. Fungsi dari ‘arr[0].’?
Jawab : arr[0] merupakan ukuran elemen pertama
dalam program.
9. Pengertian struct bersarang (Nested)?
Jawab : Struct dapat dibuat bersarang (nested). Bersarang artinya
ada struct di dalam struct.
10. Berikan
salah satu contoh program struct bersarang !
Jawab
:
#include <iostream>
using namespace std;
main()
{
struct complex
{
int imag;
float real;
};
struct number
{
struct
complex comp;
int
integers;
} num1, num2;
}
- v FILE STREAM
File dan
Stream C ++
Dalam pemrograman C ++ kami
menggunakan pustaka standar iostream ,
yang menyediakan metode cin dan cout untuk membaca
dari input dan menulis ke output masing-masing.
Untuk membaca dan menulis dari file kami
menggunakan pustaka C ++ standar yang disebut fstream . Mari
kita lihat tipe data yang didefinisikan di perpustakaan fstream adalah:
·
Ofstream : Merupakan sebuah tipe data output yang
memungkinkan kita untuk melakukan pembuatan dan menulis informasi pada file.
·
Ifstream : Merupakan sebuah tipe
data input yang memungkinkan kita melakukan pembacaan
informasi dari file.
·
Fstream : Merupakan sebuah tipe
data input output file yang memungkinkan kita
untuk melakukan kedua hal tersebut, seperti membuat, menulis dan membaca
informasi dari file.
Membuka File
Untuk dapat melakukan input output yang
diterapkan kepada file fisik, kita membutuhkan pengait, hal
itu disebut sebagai “open file” atau membuka file. Untuk
memberikan perintah membuka file dengan obyek steam,
kita menggunakan function seperti
di bawah ini.
Bentuk penulisan:
1 |
|
Keterangan:
namafile:
merupakan tempat dimana sebuah argumen
untuk menuliskan nama dari sebuah file yang akan di buka.
mode:
adalah sebuah tempat dimana kita dapat
mengisikan banyak flag sebagai argumen untuk mendefinisikan
jenis mode dalam menangani file tersebut.
Di bawah ini adalah macam-macam flag yang
dapat digunakan untuk mendefinisikan mode pada operasi sebuah file:
ios::in |
Untuk mendefinisikan pembukaan file sebagai
sebuah operasi pembacaan (input) |
ios::out |
Untuk mendefinisikan pembukaan file sebagai
sebuah operasi penulisan (output) |
ios::binary |
membuka file dalam mode binari |
ios::ate |
Membuka sebuah file dan memindahkan
kendali input dan output pada akhir
dari file, jika tidak maka kendali akan berada pada awal file. |
ios::app |
Mode penambahan, setiap penambahan tulisan akan ditambahkan pada
akhir file. |
ios::trunc |
Jika file sudah ada, maka akan digantikan
sepenuhnya sebelum proses membuka file. |
Anda
dapat menggabungkan dua atau lebih nilai ini dengan ATAU menggabungkannya. Misalnya
jika Anda ingin membuka file dalam mode tulis dan ingin memotongnya jika sudah
ada, berikut adalah sintaksnya -
o ofstream outfile;
outfile.open("file.dat", ios::out | ios::trunc );
Dengan
cara serupa, Anda dapat membuka file untuk membaca dan menulis sebagai berikut
-
o fstream afile;
afile.open("file.dat", ios::out | ios::in );
Menutup File
Ketika
program C ++ menghentikannya secara otomatis mengosongkan semua aliran,
lepaskan semua memori yang dialokasikan dan tutup semua file yang
dibuka. Tetapi selalu merupakan praktik yang baik bahwa seorang programmer
harus menutup semua file yang dibuka sebelum program dihentikan.
Berikut
ini adalah sintaks standar untuk fungsi close (), yang merupakan anggota dari
objek fstream, ifstream, dan ofstream.
void close();
Menulis ke
File
Saat
melakukan pemrograman C ++, Anda menulis informasi ke file dari program Anda
menggunakan operator penyisipan aliran (<<) sama seperti Anda menggunakan
operator itu untuk mengeluarkan informasi ke layar. Satu-satunya perbedaan
adalah Anda menggunakan objek ofstream atau fstream sebagai
ganti objek cout .
Membaca dari
File
Anda
membaca informasi dari file ke dalam program Anda menggunakan operator
ekstraksi aliran (>>) sama seperti Anda menggunakan operator itu untuk
memasukkan informasi dari keyboard. Satu-satunya perbedaan adalah Anda
menggunakan objek ifstream atau fstream, bukan objek cin .
Membaca dan
Menulis Contoh
Berikut
adalah program C ++ yang membuka file dalam mode membaca dan menulis. Setelah
menulis informasi yang dimasukkan, program akan membaca informasi dari file dan
mengeluarkannya ke layar.
#include <fstream>
#include <iostream>
using namespace std;
int main () {
char data[100];
// open a file in write mode.
ofstream outfile;
outfile.open("afile.dat");
cout << "Writing to the file" << endl;
cout << "Enter your name: ";
cin.getline(data, 100);
// write inputted data into the file.
outfile << data << endl;
cout << "Enter your age: ";
cin >> data;
cin.ignore();
// again write inputted data into the file.
outfile << data << endl;
// close the opened file.
outfile.close();
// open a file in read mode.
ifstream infile;
infile.open("afile.dat");
cout << "Reading from the file" << endl;
infile >> data;
// write the data at the screen.
cout << data << endl;
// again read the data from the file and display it.
infile >> data;
cout << data << endl;
// close the opened file.
infile.close();
return 0;
}
Ketika
kode di atas dikompilasi dan dijalankan, itu menghasilkan input dan output
contoh berikut -
Keluaran :
Writing to the file
Enter your name: Zara
Enter your age: 9
Reading from the file
Zara
9
Contoh
di atas memanfaatkan fungsi tambahan dari objek cin, seperti fungsi getline ()
untuk membaca baris dari luar dan fungsi ignore () untuk mengabaikan karakter
tambahan yang ditinggalkan oleh pernyataan read sebelumnya.
Penunjuk
Posisi File
Baik istream dan ostream menyediakan
fungsi anggota untuk memposisikan ulang penunjuk posisi file. Fungsi
anggota ini adalah seekg ("seek get") untuk istream
dan seekp ("seek put") untuk ostream.
Argumen
untuk seekg dan seekp biasanya adalah bilangan bulat panjang. Argumen
kedua dapat ditentukan untuk menunjukkan arah pencarian. Arah seek dapat
berupa ios :: beg (default) untuk pemosisian relatif terhadap
permulaan aliran, ios :: cur untuk pemosisian relatif terhadap
posisi saat ini dalam aliran atau ios :: end untuk pemosisian
relatif terhadap akhir a aliran.
File-position
pointer adalah nilai integer yang menentukan lokasi dalam file sebagai jumlah
byte dari lokasi awal file. Beberapa contoh pemosisian penunjuk posisi
file "get" adalah -
// position to the nth byte of fileObject (assumes
ios::beg)
fileObject.seekg( n );
// position n bytes forward in fileObject
fileObject.seekg( n, ios::cur );
// position n bytes back from end of fileObject
fileObject.seekg( n, ios::end );
// position at end of fileObject
fileObject.seekg( 0, ios::end );
Contoh Soal
:
1.
Pengertian
‘ofstream’ ?
Jawab : Merupakan
sebuah tipe data output yang
memungkinkan kita untuk melakukan pembuatan dan menulis informasi pada file.
2.
Pengertian
‘ifstream’ ?
Jawab : Merupakan
sebuah tipe data input yang memungkinkan kita melakukan
pembacaan informasi dari file
3.
Pengertian
‘fstream’ ?
Jawab
: Merupakan sebuah tipe data input output file yang
memungkinkan kita untuk melakukan kedua hal tersebut, seperti membuat, menulis
dan membaca informasi dari file.
4.
Untuk Menjalankan operasi I/O terdapat beberapa kelas yang harus
dimasukkan. Sebutkan
?
Jawab : ifstream(Proses Input),
ofstream (Proses output), fsstream(proses input/output).
5. Perhatikan
program berikut :
#include
<iostream>
#include <fstream>
using
namespace std;
int main ( ) {
ifstream input ;
input.open ( "D :/COBA.TXT") ;
if ( ! input ) {
cout << " File tidak dapat dibuka " << endl;
return 1;
}
char C ;
while (input) { // selama belum EOF (End Of File)
input.get (C) ;
if (input) {
cout << C; }
}
input.close () ;
return 0; }
hasil dari program di
atas adalah?
Jawab :
Membaca
data pada file COBA.TXT dan menampilkannya pada kode program
Analisis: Karena pada saat kode ini kami
mencobanya hanya bertuliskan “ File Tidak Dapat Dibuka “ yang artinya sama saja
dengan membaca data dan menampilkannya
6. Fungsi input yang
menambahkan tanda overloaded operator extraction untuk
memasukkan nilai adalah?
Jawab : cin ( )
Analisis : Standar input pada C++ cin menambahkan tanda overloaded operator extraction(>>) pada cin stream.
7. Pasangan fungsi input /
output yang benar adalah
Jawab : scanf ( ) dan cout ( )
Analisis:
Karna scanf () untuk Input dan cout untuk output. Tetapi cout seharusnya dengan
cin, dan scanf () hanya bisa berpasangan dengan printf.
8. penulisan variable pada
fungsi input scanf ( ) yang benar adalah?
Jawab : scanf (“%d” , &a) ;
Analisis : Karena
scanf () akan menginput pada variabelnya jadi dideklarasikan terlebih dahulu
jenis variabel nya dengan tanda kutip lalu koma, tanda & lalu nama
variabelnya sendiri setelah itu kurung tutup dan diakhiri titik koma.
9. Input/output
pada file binary digunakan fungsi get ( ), put ( ).
Bentuk
Umumnya :
Istream
&get (char& ch) ;
Ostream
&put (char ch) ;
Jelaskan
fungsi bentuk umumnya?
Jawab
:
Fungsi
get ( ) akan membaca sebuah karakter dari stream dan karakter
tersebut
akan diletakkan pada variable ch.
Fungsi
ini akan mengembalikan reference ke stream jika EOF ditemukan,
maka
nilai yang dikembalikan NULL.
Fungsi
put ( ) akan meletakkan sebuah karakter ke sutau stream dan akan
mengembalikan
reference ke stream.
Untuk
membaca dan menulis file binary dalam bentuk blok data dapat
menggunakan fungsi read ( )
dan write 9 )
10. Di dalam class ios didefenisikan empat buah
fungsi untuk melakukan tes terhadap error yang terjadi di dalam stream. Fungsi tersebut
adalah?
Jawab :
int good();, int eof();, int bad();, int fail();
Tidak ada komentar:
Posting Komentar