Langsung ke konten utama

Fungsi - Algoritma Pemrograman

TI Politala ALPRO 1B


KATA PENGANTAR

Puji dan syukur penulis panjatkan kehadirat Allah SWT. Karena dengan Rahmat dan Karunia-Nya, penulis dapat menyelesaikan pembuatan artikel dengan judul Fungsi hingga selesai.
Dengan diberikannya tugas pembuatan artikel di sebuah blog, mahasiswa diharapkan mampu mempelajari lebih banyak lagi materi mengenai Fungsi dan mampu menyelesaikan tugas mata kuliah algoritma pemrograman yang diberikan oleh dosen.
Semoga dengan pembuatan artikel ini dapat bermanfaat khususnya bagi penulis selaku mahasiswa dan umumnya bagi kita semua.
Selanjutnya penulis, merasa bahwa artikel Fungsi ini jauh dari kesempurnaan. Oleh sebab itu, penulis mohon maaf sebesar-besarnya apabila dalam penyusunan artikel ini terdapat banyak kesalahan, baik dalam segi penulisan, pembahasan, dan penyusunannya yang kurang rapi. Maka dari itu besar harapan penulis semoga artikel ini dapat bermanfaat bagi penulis dan orang lain.


8 Desember 2018





BAB 1
PENDAHULUAN

1). Latar Belakang
Dalam melakukan sebuah pemrograman, terdapat beberapa dasar yang perlu diketahui. Kita ambil sebuah contoh yakni fungsi, fungsi merupakan suatu pemetaan beberapa script dalam suatu dasar pemrograman. Dalam membuat sebuah program yang rumit dan suatu fungsi diulang secara berkali-kali menimbulkan suatu permasalahan, yakni panjangnya jumlah script yang harus diinputkan pada bahasa C++.
            Dengan adanya suatu fungsi, kita mampu mengurangi space dalam penulisan script yang terlalu panjang akibat pengulangan suatu fungsi. Dengan cara membuat suatu fungsi tersendiri selain dari fungsi utama kita dapat panggil fungsi tersebut sesuka kita tanpa harus menulis ulang script fungsi tersebut.

2). Rumusan Masalah
a.       Apa yang dimaksud dengan fungsi ?
b.      Bagaimana struktur fungsi ?
c.       Bagaimana prototipe fungsi ?
d.      Bagaimana parameter fungsi ?
e.      Bagaimana cara pengiriman data ke fungsi ?
f.        Apa saja jenis variabel ?
g.       Apa yang dimaksud dengan fungsi inline ?
h.       Apa yang dimaksud dengan function overloading ?

3). Tujuan
a.       Untuk mengetahui tentang fungsi.
b.      Untuk mengetahui tentang struktur fungsi.
c.       Untuk mengetahui tentang prototipe fungsi.
d.      Untuk mengetahui tentang parameter fungsi.
e.      Untuk mengetahui tentang cara pengiriman data ke fungsi.
f.        Untuk mengetahui tentang jenis variable.
g.       Untuk mengetahui tentang fungsi inline.
h.      Untuk mengetahui tentang function overloading.




BAB 2
PEMBAHASAN

1). Pengertian Fungsi
Fungsi (Function) merupakan blok dari kode yang dirancang untuk melaksanakan tugas khusus. Kegunaan dari fungsi ini adalah untuk:
Ø     Mengurangi pengulangan penulisan program yang berulangan atau sama.
Ø Program menjadi lebih terstruktur, sehingga mudah dipahami dan dapat lebih dikembangkan.
Fungsi-fungsi yang sudah kita kenal sebelumnya adalah fungsi main(), yang bersifat mutlak, karena fungsi ini program akan dimulai, sebagai contoh yang lainnya fungsi printf(), cout() yang mempunyai tugas untuk menampilkan informasi atau data kelayar dan masih banyak lainnya.
2). Struktur Fungsi
Sebuah fungsi sederhana mempunyai bentuk penulisan sebagai berikut :

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.
Ø  Pernyataan / perintah, diletakan diantara tanda kurung ‘{ }’.

Pada pemanggilan sebuah fungsi, cukup dengan menuliskan nama
fungsinya.
Contoh pembuatan fungsi sederhana :

Contoh-1
/* pembuatan fungsi garis()*/
#include<conio.h>
#include<stdio.h>
#include<iostream>
#include<stdlib.h>

using namespace std;
garis()
{
     printf("\n----------------------\n");
}


/* program utama */
main()
{
     system("cls");
     garis(); //memanggil fungsi garis
     cout<<"AMIK BSI - Pondok Labu"<<endl;
     garis(); //memanggil fungsi garis
     getche();
}

Output yang akan dihasilkan, dari program contoh-1 diatas adalah :
 
Gambar 1 Running Contoh-1

3). Prototipe Fungsi

Prototipe fungsi digunakan untuk mendeklarasikan ke kompiler mengenai:

Ø Tipe data keluaran dari fungsi.
Ø Jumlah parameter yang digunakan
Ø Tipe data dari masing-masing parameter yang digunakan.

Keuntungan didalam pemakai prototipe yaitu :
Ø Kompiler akan melakukan konversi antara tipe parameter dalam definisi dan parameter fungsi.
Ø Jika jumlah parameter yang digunakan dalam definisi fungsi dan pada saat pemanggilan fungsi berbeda atau tidak sama, maka akan menunjukkan kesalahan,
Contoh prototipe fungsi :

float total ( float a, float b);

Keterangan :
Ø Tipe data keluaran fungsi
Ø Tipe data parameter pertama
Ø Tipe data parameter kedua
Ø Nama-fungsi
Ø Di akhiri titik koma (;)

Bentuk definisi dalam penggunaan fungsi yang dideklarasikan dengan menggunakan prototipe, harus diubah. Sebagai contoh pada pendefinisian berikut :

     float total(a, b)
     float a, b;

Bentuk pendefinisian diatas harus diubah menjadi bentuk modern
pendefinisian fungsi :

float total ( float a, float b)

Keterangan :
Ø Tipe data keluaran fungsi
Ø Tipe parameter a
Ø Parameter a
Ø Tipe parameter b
Ø Parameter b
Ø Nama-fungsi
Ø Tidak menggunakan titik koma (;)

4). Parameter Fungsi
Terdapat dua macam para parameter fungsi, yaitu :
Ø Parameter formal adalah variabel yang terdapat pada daftar parameter yang berada didalam definisi fungsi.
Ø Parameter Aktual adalah variabel yang digunakan pada pemanggilan suatu fungsi.

Bentuk penulisan Parameter Formal dan Parameter Aktual.
 


5). Pernyataan return().

Digunakan untuk mengirimkan nilai atau nilai dari suatu fungsi kepada fungsi yang lain yang memanggilnya. Pernyataan return() diikuti oleh argumen yang berupa nilai yang akan dikirimkan. Contoh pemakaian pernyataan return() dapat dilihat pada contoh berikut :


Contoh-2
/* -------------------------- */
/* Penggunaan Fungsi return() */
/* -------------------------- */

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

using namespace std;
int tambah(int *c);                  //prototype fungsi tambah

main()
{
     int a, b = 5;

       system("cls");
       a = tambah(&b);
       cout<<"Nilai Setelah Pemanggilan Fungsi adalah "<<a;
       getch();
}

tambah(int *c)//fungsi tambah
{
     return(*c+=2);
}

Output yang akan dihasilkan, dari program contoh-2 diatas adalah :
 

Gambar 2 Running Contoh-2
6). Pengiriman Data Konstanta Ke Fungsi
Mengirimkan suatu nilai data konstanta ke suatu fungsi yang lain dapat dilakukan dengan cara yang mudah, dapat dilihat dari program berikut :

Contoh-3
/* ------------------------ */
/* Pengriman data Konstanta */
/* ------------------------ */
#include<conio.h>
#include<stdio.h>
#include<iostream>
#include<stdlib.h>

using namespace std;
float luas(float sisi);

main()
{
     float luas_bs;

       system("cls");

       luas_bs = luas(4.25);
       cout<<"\nLuas Bujur Sangkar = "<<luas_bs;
       getch();
}

float luas(float sisi)
{
     return(sisi*sisi);
}

Output yang akan dihasilkan, dari program contoh-3 diatas adalah :
Gambar 3 Running Contoh-3

7). Pengiriman Data Variabel Ke Fungsi
Bentuk pengiriman data Variabel, sama seperti halnya pengiriman suatu nilai data konstanta ke suatu fungsi, hanya saja nilai yang dikirimkan tersebut senantiasa dapat berubah-ubah. Bentuk pengiriman tersebut dapat dilihat dari program berikut :

Contoh-4
/* ------------------------ */
/* Pengriman data Variabel */
/* ------------------------ */

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

using namespace std;
float luas(float sisi);

main()
{
     float luas_bs, sisi_bs;

       system("cls");
       cout<<"\nMenghitung Luas Bujur Sangkar"<<endl;
       cout<<"\nMasukan Nilai Sisi Bujur Sangkar : ";
       cin>>sisi_bs;

       luas_bs = luas(sisi_bs);

       cout<<"\nLuas Bujur Sangkar = "<<luas_bs<<" Cm";

       getch();
}

float luas(float sisi)
{
     return(sisi*sisi);
}

Output yang akan dihasilkan, dari program contoh-4 diatas adalah :
 
Gambar 4 Running Contoh-4

8). Jenis Variabel

Jenis Variabel pada C++ ini sangat berguna didalam penulisan suatu fungsi agar penggunaan didalam penggunaan suatu variabel tidak salah. Terdapat beberapa jenis variabel yaitu:

a). Variabel Lokal.
Variabel Lokal adalah variabel yang dideklarasikan didalam fungsi dan hanya dikenal oleh fungsi yang bersangkutan. Variabel lokal biasa disebut dengan Variabel Otomatis.
b). Variabel Eksternal atau Global.
Variabel Eksternal adalah variabel yang dideklarasikan diluar fungsi yang bersifat global yang artinya dapat digunakan bersama-sama tanpa harus dideklarasikan berulang-ulang. Untuk pendeklarasian variabel ekternal ini, diluar dari fungsi main(), yang selama ini pendeklarasian variabel selalu didalam fungsi main().
c). Variabel Statis.
Variabel Statis dapat berupa variabel local atau variabel eksternal Sifat variabel statis ini mempunyai sifat antar lain.
Ø  Jika variabel statis bersifat local, maka variabel hanya dikenal oleh fungsi tempat variabel dideklarasikan.
Ø  Jika variabel statis bersifat eksternal, maka variabel dapat dipergunakan oleh semua fungsi yang terletak pada file yang sama ditempat variabel statis dideklarasikan.
Ø  Jika tidak ada inisialisasi oleh pemrograman secara otomatis akan diberikan nilai awal nol.
Suatu variabel statis diperoleh dengan menambahkan kata-kunci static didepan penentu tipe data variabel.


9). Fungsi Inline

Fungsi inline ( inline function ) digunakan untuk mengurangi lambatnya eksekusi program dan mempercepat eksekusi program terutama pada program yang sering menggunakan atau memanggil fungsi yang berlebih. Terutama program-program yang menggunakan pernyataan perulangan proses seperti for, while dan do – while. Inline function dideklarasikan dengan menambahkan kata kunci inline didepan tipe data.


Contoh-5
/* -------------------------- */
/* Penggunaan inlide function */
/* -------------------------- */

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

using namespace std;
inline int kali(int i, int j)
{
     return(i * j);
}

main()
{
     int k;

     system(“cls”);

     for(k = 1; k < 20; k++)
       cout<<kali(k, k*2)<<” “;

     getch();
}

Output yang akan dihasilkan, dari program contoh-5 diatas adalah :

Gambar 5 Contoh-5




10). Function Overloading
Function Overloading adalah mendefinisikan beberapa fungsi, sehingga memiliki nama yang sama tetapi dengan parameter yang berbeda. Dapat diartikan bahwa fungsi yang overload berarti menyediakan versi lain dari fungsi tersebut. Salah satu kelebihan dari C++ adalah Overloading. Sebagai contoh membentuk fungsi yang sama dengna tipe yang berbeda- beda dan dibuatkan pula nama fungsi yang berbeda-beda pula.

Contoh-6
/* ------------------------------- */
/* Penggunaan function overloading */
/* ------------------------------- */

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

using namespace std;
int hitung(int b);
long hitung(long c);
float hitung(float d);

int main()
{
     system("cls");

          cout<< "Hasilnya Fungsi overload -1 : ";
          cout<<hitung(4)<<endl;
          cout<< "Hasilnya Fungsi overload -2 : ";
          cout<<hitung(2)<<endl;
          cout<< "Hasilnya Fungsi overload -3 : ";
          cout<<hitung(3)<<endl;

          getch();
}

int hitung(int b)
{
     return(b*b);
}
long hitung(long c)
{
     return(c*c);
}
double hitung(double d)
{
     return(d*d);
}

Output yang akan dihasilkan, dari program contoh-6 diatas adalah :
 
Gambar 6 Running Contoh-6





BAB 3
PENUTUP
 
1). Kesimpulan
Fungsi (Function) merupakan blok dari kode yang dirancang untuk melaksanakan tugas khusus. Kegunaan dari fungsi ini adalah untuk: Mengurangi pengulangan penulisan program yang berulangan atau sama, dan program menjadi lebih terstruktur, sehingga mudah dipahami dan dapat lebih dikembangkan.
Fungsi memiliki struktur fungsi, prototipe fungsi, parameter fungsi, pengiriman data ke fungsi, jenis variable, fungsi inline, dan function overloading.






DAFTAR PUSTAKA

Frieyadie. (2015). Buku Utama (C++). Yogyakarta: Andi.



 

 





Komentar

Postingan populer dari blog ini

Graf (Graph) dan Pohon (Tree) - Algoritma Pemrograman 2

Graf ( Graph ) dan Pohon (Tree) pada C++ 1). Definisi Graph Graf adalah kumpulan noktah (simpul) di dalam bidang dua dimensi yang dihubungkan dengan sekumpulan garis (sisi). Graph dapat digunakan untuk merepresentasikan objek-objek diskrit dan hubungan antara objek-objek tersebut. Representasi visual dari graph adalah dengan menyatakan objek sebagai noktah, bulatan atau titik ( Vertex ), sedangkan hubungan antara objek dinyatakan dengan garis ( Edge ). G = (V, E) Dimana : G = Graph V = Simpul atau Vertex , atau Node, atau Titik E = Busur atau Edge , atau arc Graf merupakan suatu cabang ilmu yang memiliki banyak terapan. Banyak sekali struktur yang bisa direpresentasikan dengan graf, dan banyak masalah yang bisa diselesaikan dengan bantuan graf. Seringkali graf digunakan untuk merepresentasikan suaru jaringan. Misalkan jaringan jalan raya dimodelkan graf dengan kota sebagai simpul ( vertex/node ) dan jalan yang menghubungkan setiap kotanya sebagai sisi ( edge ) y...

RELASI - MATEMATIKA DISKRIT

TI Politala Matdis 1B KATA PENGANTAR Puji dan syukur penulis panjatkan kehadirat Allah SWT. Karena dengan Rahmat dan Karunia-Nya, penulis dapat menyelesaikan pembuatan artikel dengan judul “Relasi” hingga selesai . Dengan diberikannya tugas pembuatan artikel di sebuah blog, mahasiswa diharapkan mampu mempelajari lebih banyak lagi materi mengenai relasi, dan mampu menyelesaikan tugas mata kuliah matematika diskrit yang diberikan oleh dosen . Semoga dengan pembuatan artikel ini dapat bermanfaat khususnya bagi penulis selaku mahasiswa dan umumnya bagi kita semua. Selanjutnya penulis, merasa bahwa artikel relasi ini jauh dari kesempurnaan. Oleh sebab itu, penulis mohon maaf sebesar-besarnya apabila dalam penyusunan artikel ini terdapat banyak kesalahan, baik dalam segi penulisan, pembahasan, dan penyusunannya yang kurang rapi. Maka dari itu besar harapan penulis semoga artikel ini dapat bermanfaat bagi penulis dan orang lain. 13 Oktober 2018     ...

Akses File - Algoritma Pemrograman

AKSES FILE PADA C++ KATA PENGANTAR Puji dan syukur penulis panjatkan kehadirat Allah SWT. Karena dengan Rahmat dan Karunia-Nya, penulis dapat menyelesaikan pembuatan artikel dengan judul Akses File hingga selesai . Dengan diberikannya tugas pembuatan artikel di sebuah blog, mahasiswa diharapkan mampu mempelajari lebih banyak lagi materi mengenai Akses File dan mampu menyelesaikan tugas mata kuliah algoritma pemrograman yang diberikan oleh dosen . Semoga dengan pembuatan artikel ini dapat bermanfaat khususnya bagi penulis selaku mahasiswa dan umumnya bagi kita semua. Selanjutnya penulis, merasa bahwa artikel Akses File ini jauh dari kesempurnaan. Oleh sebab itu, penulis mohon maaf sebesar-besarnya apabila dalam penyusunan artikel ini terdapat banyak kesalahan, baik dalam segi penulisan, pembahasan, dan penyusunannya yang kurang rapi. Maka dari itu besar harapan penulis semoga artikel ini dapat bermanfaat bagi penulis dan orang lain. 8 Desember 2018 BAB...