LAPORAN PRAKTIKUM
ALGORITMA PEMROGRAMAN
DAN STRUKTUR DATA
MODUL 6


Disusun oleh :
Nama :
Ricky Rudianto
NIM :
2012081127
Kelas :
Teknik Informatika A
LABORATORIUM
KOMPUTER
FAKULTAS ILMU
KOMPUTER
UNIVERSITAS
KUNINGAN
2012
MODUL
6
FUNGSI
(FUNCTION)
“PEMBAHASAN”
Dasar
Teori
Program komputer yang
dibuat untuk menjawab permasalahan umumnya berukuran sangat besar. Pengalaman
telah menunjukan bahwa cara terbaik untuk mengembangkan dan menangani program
besar adalah menyusunnya dari potongan-potongan program yang berukuran
kecil-kecil (atau sering disebut modul) yang lebih mudah untuk ditangani
dibanding dengan program yang terdiri dari banyak baris.
Fungsi / function
adalah suatu kumpulan instruksi/printah/program yang dikelompokan menjadi satu,
letaknya terpisah dari program yang menggunakan fungsi tersebut, memiliki nama
tertentu yang unik, dan digunakan untuk mengerjakan suatu tujuan tertentu. Dalam
bahasa pemrograman lain fungsi dapat disebut sebagai subrutin (basic, VB) atau
procedure (pascal, delphi).
Adapun tujuan dari
pembuatan fungsi ini adalah sebagai berikut :
1.
Program menjadi terstruktur
2.
Dapat mengurang duplikasi kode
3.
Fungsi dapat dipanggil dari program atau
fungsi yang lain
Keuntungan dari fungsi
adalah sebagai berikut :
1.
Dapat melakukan pendekatan top-down dan
divide and conquer :
a.
Top-down : penelusuran program mudah
b.
Drive and conquer : program besar dapat
dipisah menjadi program-program kecil
2.
Kode program menjadi lebih pendek, mudah
dibaca, dan mudah dipahami
3.
Program dapat dikerjakan oleh beberapa
orang sehingga program cepat selesai dengan koordinasi yang mudah
4.
Mudah dalam mencari kesalahan-kesalahan
karena alur logika jelas dan sederhana
5.
Kesalahan dapat dolokalisasi dalam satu
modul tertentu saja
6.
Modifikasi program dapat dilakukan pada
suatu modul tertentu saja tanpa mengganggu program keseluruhan
7.
Fungsi-fungsi menjadikan program
mempunyai struktur yang jelas
8.
Dengan memisahkan langkah-langkah detail
ke satu atau lebih fungsi-fungsi, maka fungsi utama (main) akan menjadi lebih
pendek, jelas dan mudah dimengerti. Fungsi-fungsi digunakan untuk menghindari
penulisan program yang sama yang ditulis secara berulang-ulang.
9.
Langkah-langkah tersebut dapat
dituliskan sekali saja secara terpisah dalam bentuk fungsi. Selanjutnya bagian
program yang membutuhkan langkah-langkah ini tidak perlu selalu menuliskannya,
tidak cukup memanggil fungsi tersebut.
10.
Mempermudah dokumentasi
11.
Reusability : Suatu fungsi dapat
digunakan kembali oleh program atau fungsi lain
Dalam perancangan
fungsi, perlu diperhatikan :
1.
Data yang diperlukan sebagai inputan
2.
Informasi apa yang harus diberikan oleh
fungsi yang dibuat oleh pemanggilnya
3.
Algoritma apa yang harus digunakan untuk
mengolah data menjadi informasi
Struktur
fungsi
1.
Deklarasi function (function prototype/declaration)
Terdiri dari :
a.
Judul fungsi
b.
Tipe data yang akan dikembalikan/void
c.
Tidak ada kode implementasi

tipe_data | void
nama_fungsi ([argumen 1, argumen 2, ...]);
Keterangan :
·
Deklarasi fungsi diakhiri dengan
titikkoma (;)
·
Tipe_data dapat berupa segala tipe data
yang dikenal C ataupun tipe data buatan, namun tipe data dapat juga tidak ada
dan digantikan dengan void yang berarti fungsi tersebut tidak mengembalikan
nilai apapun
·
Nama fungsi adalah nama yang unik
·
Argumen dapat ada atau tidak (opsional)
yang digunakan untuk menerima argumen/parameter
·
Antara argumen-argumen dipisahkan dengan
menggunakan tanda koma (,)
2.
Tubuh Function/Definisi Function
(Function Definition)
Terdiri dari :
a.
Function prototype yang disertai dengan
kode implementasi dari function tersebut
b.
Yang berisikan statemen/instruksi yang
akan melakukan tugas sesuai dengan tujuan dibuatnya fungsi tersebut

//prototype fungsi
Tipe_data/void
nama_fungsi (argumen1, argumen2,....)
{
//bagian ini merupakan tubuh fungsi
[variabel_lokal];
[statemen_1];
[statemen_2];
...
[statemen_n];

}
Keterangan :
·
Tubuh fungsi dapat berisi segala
perintah yang dikenal oleh C, pada dasarnya tubuh fungsi sama dengan membuat
program seperti biasa.
·
Return bersifat opsional, adalah keyword
pengembalian nilai dari fungsi keluar fungsi
·
Return wajib jika fungsi tersebut
mengembalikan nilai berupa tipe data tertentu
·
Sedangkan return tidak wajib juka fungsi
tersebut bersifat void
PRAKTIKUM
Praktikum
1 : Deklarasi dan Definisi Fungsi

#include
<stdio.h>
int FindMax(int n1, int
n2); // Deklarasi Fungsi
void main()
{
int i = 5; int j = 7; int k;
k = FindMax(i, j);
PrintMax(k);
return 0;
}
Int FindMax(int n1, int
n2) // Definisi Fngsi

if (n1 > n2)
{
return n1;
}
else
{
return n2;
}
}
void PrintMax(int m)
{
printf (“Bilangan yang terbesar adalah : %d \n”, m);
}
Pengimplementasian
source code diatas ke bahasa C++ :

Hasil eksekusinya yaitu sebagai berikut :

Pembahasannya :
• #include <stdio.h>
File header untuk
mengaktifkan fungsi output/input printf/scanf
• int FindMax(int n1, int n2);
Fungsi dengan nama void
tukar dideklarasikan pada variable n1 dan n2 bertipe data integer
·
void main()
{
int i = 5; int j = 7; int k;
k = FindMax(i, j);
PrintMax(k);
return 0;
}
Variable-variable yang
ada dalam program adalah i,j, juga k dengan type data adalah interger, dengan k sama dengan pencarian nilai maksimal dari
variable i dan j dan di tampilkan hasil nilai maksimal dengan variable k, dan
terus mengulang (retrurn).
Praktikum
2 : Pemanggilan Fungsi

#include
<stdio.h>
void tukar (int x, int
y);
main()

int a, b;
a=99;
b=11;
printf(“Nilai sebelum pemanggil fungsi : \n”);
printf(“nilai a=%d nilai b=%d \n\n”, a, b);
tukar (a, b);
printf(“Nilai sesudah pemanggil fungsi : \n”);
printf(“nilai a=%d nilai b=%d \n\n”, a, b);
}
void tukar (int px, int
py)
{
int z;
z=px;
px=py;
py=z;
printf(“Nilai diakhir fungsi : \n”);
printf(“nilai px=%d nilai py=%d \n\n”, px, py);
}
Pengimplementasian
source code diatas ke bahasa C++ :

Hasil eksekusinya yaitu sebagai berikut :

Pembahasannya :
·
#include <stdio.h>
File header untuk
mengaktifkan fungsi output/input printf/scanf
·
void tukar (int x, int y);
main()
Fungsi dengan nama void
tukar dideklarasikan pada variable x dan y bertipe data integer
·
{
int a, b;
a=99;
b=11;
Terdapat variable a dan
b bertipe data integer. Variable a diberi nilai 99 dan variable b diberi nilai
11
·
printf ("Nilai sebelum pemanggilan
fungsi :\n");
printf ("nilai a=%d nilai
b=%d\n\n",a,b);
Mencetak output Nilai
sebelum pemanggilan fungsi dengan pemanggilan nilai a dan b yang bertipe
integer
·
tukar (a, b);
Tukar a dan b
·
printf ("Nilai sesudah pemanggilan
fungsi :\n");
printf ("nilai a=%d nilai
b=%d\n\n",b,a);
Mencetak output Nilai
sesudah pemanggilan fungsi dengan pemanggilan nilai a dirubah menjadi b dan b
dirubah menjadi a yang bertipe integer
·
}
void tukar (int px, int py)
Fungsi dengan nama void
tukar dideklarasikan oleh variable px dan py bertipe data integer
·
{
int z;
z=px;
px=py;
py=z;
printf ("Nilai diakhir fungsi
:\n");
printf ("nilai px=%d nilai
py=%d\n\n",px,py);
}
Mencetak output Nilai
diakhir fungsi dengan pemanggilan nilai px dan py yang bertipe integer.
TUGAS
MODUL 6
Soal !
Buatlah program untuk
menentukan bilangan yag terbesar dan terkecil dari 2 buah bilangan yang
diinputkan ! dengan output seperti berikut :
Masukan bil pertama : 6
Masukan bil kedua : 3
Bilangan yang lebih besar adalah : 6
Bilangan yang lebih kecil adalah : 3
Penyelesaian !


Hasil eksekusinya yaitu sebagai berikut :

Pembahasan :
·
#include<stdio.h>
File header untuk
mengaktifkan fungsi output/input printf/scanf
·
/*Deklarasi fungsi*/
int findmax (int n1, int n2);
Fungsi eksternal untuk
mencari nilai terbesar dideklarasikan pada variable n1 dan n2 bertipe data
interger
·
int findmin (int n1, int n2);
Fungsi eksternal untuk
mencari nilai terkecil dideklarasikan pada variable n1 dan n2 bertipe data
interger
·
void printmax (int x);
Fungsi lokal yaitu
hanya bisa digunakan di dalam fungsi. Nama fungsinya adalah printmax disimpan
di variable x bertipe data integer
·
void printmin (int y);
Fungsi lokal yaitu
hanya bisa digunakan di dalam fungsi. Nama fungsinya adalah printmin disimpan
di variable y bertipe data integer
·
void main ()
{
int a, b, c, d;
Terdapat 4 variabel
yaitu a, b, c. dan d bertipe data integer
·
printf ("Masukan bilangan pertama :
");scanf("%d",&a);
perintah untuk
menampilkan hasil output bilangan pertama yang diinputkan kembali pada nilai a
·
printf ("Masukan bilangan kedua :
");scanf("%d",&b);
perintah untuk
menampilkan hasil output bilangan kedua yang diinputkan kembali pada nilai b
·
printf ("\n");
c =findmax (a,b);
printmax (c)
pemanggilan fungsi
untuk mencari nilai terbesar disimpan pada variable c
·
d =findmin (a,b);
printmin (d);
pemanggilan fungsi
untuk mencari nilai terkecil disimpan pada variable d
·
}
/*Definisi fungsi*/
Fungsi utama atau
fungsi lokal
·
int findmax (int n1, int n2)
{
if (n1>n2)
{
return n1;
}
else
{
return n2;
}
}
Membandingkan dua
variable yaitu n1 dan n2 untuk mencari nilai terbesar. Jika n1 lebih besar
daripada n2 maka program akan kembali pada nilai n1 tetapi jika tidak program
akan kembali pada nilai n2.
·
void printmax (int x)
{
printf ("Bilangan yang lebih besar
adalah : %d\n",x);
}
Perintah untuk mencetak
output Bilangan yang lebih besar disimpan di variable x
·
int findmin (int n1, int n2)
{
if (n1<n2)
{
return n1;
}
else
{
return n2;
}
}
Membandingkan dua
variable yaitu n1 dan n2 untuk mencari nilai terkecil. Jika n1 lebih kecil
daripada n2 maka program akan kembali pada nilai n1 tetapi jika tidak program
akan kembali pada nilai n2.
·
void printmin (int y)
{
printf ("Bilangan yang lebih kecil adalah :
%d\n",y);
}
Perintah untuk mencetak
output Bilangan yang lebih kecil disimpan di variable y
KESIMPULAN
Dari praktikum di atas
dapat disimpulkan bahwa Fungsi adalah sekumpulan printah oprasi program yang
dapat menerima argumen input dan dapat memberikan hasil output yang dapat
berupa nilai ataupun sebuah hasil oprasi.
Fungsi digunakan agar
pemrogram dapat menghindari penulisan bagian program kode berulang-ulang dapat
menyusun kode program agar terlihat lebih rapih dan kemudahan dalam debugging
program.
No comments:
Post a Comment