1. LAPORAN PRAKTIKUM
ALGORITMA PEMROGRAMAN & STRUKTUR DATA
MODUL VI
DISUSUN OLEH
NAMA : DEVI
NIM : 2012081043
KELAS : TI2012A
LABORATORIUM KOMPUTER
FAKULTAS ILMU KOMPUTER
UNIVERSITAS KUNINGAN
2012
2. I. PEMBAHASAN
A. Dasar Teori
A.1. FUNGSI
Fungsi adalah sekumpulan perintah operasi program yang dapat menerima
argumen input dan dapat memberikan hasil output yang dapat berupa nilai
ataupun sebuah hasil operasi. Hasil akhir fungsi akan berupa sebuah nilai balik
(return).
Nama fungsi yang didefinisikan sendiri oleh pemrogram tidak boleh sama
dengannama build-in function pada compiler C++.
Fungsi digunakan agar pemrogram dapat menghindari penulisan bagian
program (kode) berulang-ulang, dapat menyusun kode program agar terlihat lebih
rapi dan kemudahan dalam debugging program. Parameter adalah nama-nama
peubah yang dideklarsikan pada bagian header fungsi. Pemrogram dapat membuat
fungsi yang didefinisikan sendiri olehnya.
Bentuk umumnya :
A.2. PROTITE FUNGSI
Sebuah fungsi tidak dapat dipanggil kecuali sudah dideklaraikan, deklarasi fungsi
dikenal dengan sebutan prototipe fungsi. Prototipe fungsi berupa :
1.Nama Fungsi
2.Tipe nilai fungsi
3.Jumlah dan tipe argumen
Dan diakhiri dengan titik koma, sebagaimana pada pendeklarasian variabel.
Sebagai
contoh:
1. long kuadrat (long l) ;
Pada contoh pertama, fungsi kuadrat ( ) mempunyai argumen bertipe long dan
nilai
Deklarasi parameter
{
Isi fungsi
}
3. balik bertipe long.
2. void garis ( );
Pada contoh kedua, fungsi garis ( ) tidak memiliki argumen dan nilai baliknya
tidak ada
(void).
3. double maks (double x, double y)
Pada contoh ketiga, fungsi maks( ) mempunyai dua buah argumen, dengan
masingmasing argumen bertipe double
A.3. VARIABEL LOKAL DAN VARIABEL EKSTERNAL
Variabel lokal adalah variabel yang didefinisikan dalam suatu fungsi
tertentu, sehingga hanya dikenal dalam fungsi tersebut. Dalam hal ini artinya
suatu fungsi tidak akan mengenal variabel lokal dan fungsi lain. Suatu fungsi
hanya akan mengenal variabel yang didefinisikan dalam fungsi yang
bersangkutan.
Variabel eksternal adalah variabel yang bersifat global yang dapat dikenali
oleh seluruh fungsi yang terdapat dalam program tersebut. Seluruh fungsi akan
mengenal variabel yang bersifat eksternal ini. Variabel eksternal dideklarasikan
diluar fungsi dan sejajar dengan prototipe fungsi serta pengarah kompiler.
A.4. PARAMETER
Parameter adalah sarana komunikasi antar fungsi. Pengertian antar fungsi
adalah antara fungsi dengan fungsi lain termasuk antara fungsi dengan fungsi
utama. Dalam pemograman yang melibatkan fungsi, diusahakan agar fumgsi
bersifat independen artinya tidak tergantung pada fungsi lain. Setiap fungsi hanya
mengerjakan satu tugas tertentu. Antar fungsi saling berkomunikasi menggunakan
parameter.
Terdapat dua macam bentuk parameter dalam hubungannya dengan penggunan
fungsi dalam program yaitu :
- Parameter Formal : parameter yang diberi nilai. Parameter formal merupakan
parameter
yang terdapat dalam daftar parameter fungsi.
4. - Parameter Aktual : parameter yang memberi nilai. Parameter fungsi dan
digunakan untuk memberi nilai pada parameter formal.
B. Praktikum
Praktikum 1 : Pengisian Langsung pada saat Deklarasi
Di bawah ini merupakan sintaks:
– Menulis source kode Program C++
#include<stdio.h>
int FindMax (int n1,int n2); //Deklarasi fungsi
void PrintMax (int m);
void main()
{
int i=5;int j=7;int k;
k=FindMax(i,j);
PrintMax (k);
return ;
}
Int FindMax(int n1, int n2) //definisi fungsi
{
if(n1>n2)
{
return n1;
}
else
{
return n2;
}
}
void PrintMax(int m)
{
printf("Bilangan yang terbesar dalah:%dn",m);
}
5. –Melakukan Kompilasi
Pilih menu project, lalu pilih submenu compile atau denngan menekan
ALTF9. Maka akan muncul seperti gambar di bawah ini.
– Menjalankan Program
Menjalankan program dengan cara pilih menu Debug, lalu submenu Run
atau dengan cara menekan CTRL+F9. Maka akan muncul gambar seperti di
bawah ini.
Pembahasan :
Sintaks diatas adalah untuk mencari bilangan yang terbesar, yang bilangan
tersebut diisi secara langsung pada saat pendeklarasian. Dari sintaks diatas bagian
baris pertama sampai ke-3 pendeklarasian dari fungsi tersebut. Deklarasi fungsi
6. dikenal dengan sebutan prototipe fungsi, protipe ini berupa: nama fungsi, tipe nilai
balik fungsi, jumlah dan tipe argumen. Protipe diakhiri dengan tanda titik koma
“;”, sebagaimana pada pendeklarasian variabel. Baris selanjutnya merupakan
definisi fungsi adalah main program atau fungsi utama, oleh bahasa C diberi nama
main (),dalam fungsi utama ada program yang memanggil function lain, baik
fungsi yang kita buat sendiri, maupun fungsi pustaka yang disediakan oleh
C/C++.
Setiap fungsi yang dipanggil dalam program harus didefinisikan. Letaknya
dapat dimana saja. Khusus dalam fungsi yang disediakan sistem, definisi
sebenarnya ada dalam pustaka, yang akan digabungkan dengan program sewaktu
proses linking.
Pernyataan return didalam fungsi digunakan untuk memberikan nilai balik
fungsi.
Praktikum 2 : Pengaksesan dan Pengisian Langsung
Dibawah ini merupakan sintaks:
–Menulis source kode Program C++
#include<stdio.h>
void tukar(int x, int y);
void main()
{
inta,b;
a=99;
b=11;
printf("Nilai sebelum pemanggilan fungs:n");
printf("nilai a=%d nilai b=%dnn",a,b);
tukar(a,b);
printf("Nilai sudah memanggil fungsi:n");
printf("nilai a=%d nilai b=%dnn",a,b);
}
void tukar(int px,int py)
{
int z;
z=px;
px=py;
py=z;
printf("Nilai di akhir fungsi:n");
printf("nilai px=%d nila ipy=%dnn",px,py);
}
7. –Melakukan Kompilasi
–Menjalankan Program
Pembahasan:
Sintaks diatas adalah program untuk menukar nilai. Sintaks diatas
menggunakan prepocessor directive stdio, dan untuk menampilkan suatu keluaran
dalam fungsi ini digunakan printf, karena prototipe ada pada file stdio. Untuk
memanggil fungsi nilai tukar diatas digunakan fungsi tambahan atau fungsi yang
dibuat sendiri yaitu void tukar(int px,int py) yaitu untuk menukar nilai dari
8. variabel tersebut. Didalam program menukar nilai tersebut diperlukan variabel
baru yaitu z, karena dalam setiap variabel hanya berisikan satu data saja dan
dalam proses penukaran tersebut tidak bisa dilakukan secara bersamaan. Maka
nilai nilai akhir x dan y sudah tertukar namun setelah pemanggilan fungsi nilai
tersebut tidak tertukar, walaupun didalam fungsi tukar sudah ditukarkan.
Bentuk pemanggilan fungsi tidak berubah pada saat pemanggilan tukar(a,
b); dilakukan, C++ akan mengirimkan alamat dari variabel x dan y secara
otomatis ke fungsi tukar (), oleh karena itu nilainya dapat diubah.
Terdapat dua buah sacara untuk melewatkan parameter didalam sebuah
fungsi, yaitu berdasarkan nilai (pass by value) dan berdasarkan alamat (pass by
reference).
Dalam program diatas menggunakan cara (pass by value), sesuai dengan
namanya fungsi ini akan melewatkan nilai parameter ke dalam sebuah fungsi
untuk digunakan sesuai proses yang terdapat di dalam fungsi tersebut. Jika kita
menggunakan cara ini maka nilai yang dihasilkan oleh fungsi tidak akan
mempengaruhi nilai yang terdapat pada program (di luar fungsi tersebut). Hal ini
disebabkan karena pada saat pemanggilan fungsi, kompiler hanya akan membuat
salinan (copy) dari nilai yang terdapat pada parameter aktual ke parameter formal.
Dengan kata lain, yang akan berubah adalah nilai didalam fungsi saja.
9. II. TUGAS
Buatlah program yang menentukan bilangan yang terbesar dan terkecil dari dua
buah bilangan yang diinputkan! dengan output sebagai berikut:
Masukan bilangan pertama : 6
Masukan bilangan kedua : 3
Bilangan yang lebih besar adalah : 6
Bilangan yang lebih kecil adalah : 3
–Menulis source kode Program C++
–Melakukan Kompilasi
10. –Menjalankan Program
Pembahasan:
Dalam pembuatan program diatas untuk lebih mudah dalam pembuatannya
bisa digunakan struktur pemilihan IF-THEN-ELSE (jika-maka-kalau tidak).
Program diatas menggunakan header atau prepocessor directive stdio dan untuk
menampilkan suatu keluaran yang diinputkan melalui piranti menggunkan sistem
input output printf dan scanf. Variabel yang digunakan ada 2 yang bertipe int.
Dalam program diatas jika x>y maka bilangan yang lebih besar adalah x kalau
tidak y, dan jika x<y maka bilangan yang lebih kecil adalah x kalau tidak y. Untuk
hasilnya bisa dilihat dari hasil menjalankan program tersebut. Dalam pembuatan
program kita harus mengefisiensikan waktu dan memory. Untuk membuat
program diatas kita menggunkan struktur pemilihan untuk dapat menampilkan
output sesuai yang ditugaskan agar lebih efisien dalam waktu dan memory.
11. III. KESIMPULAN
Dari praktikum dan tugas praktikum diatas dapat diambil kesimpulan bahwa
Dalam pembuatan aplikasi program, lebih mudah memecah persoalan yang besar
menjadi persoalan yang kecil, sehingga mudah untuk diselesaikan. Dalam kasus
demikian diperlukan untuk membuat potongan-potongan program independen
yang tidak tergantung pada program lain tapi dibutuhkan oleh program lain.
Potongan program tersebut disebut sub program atau subroutine atau fungsi.
Keuntungan fungsi:
Dapat melakukan pendekatan top-down dan divide-and-conquer :
˗ Top-down : penelusuran program mudah
˗ Divide-and-conquer : program besar dapat dipisah menjadi program-
program kecil
Kode program menjadi lebih pendek, mudah dibaca dan mudah dipahami
Program dapat dikerjakan oleh beberapa orang sehingga program cepat selesai
dengan koordinasi yang mudah
Mudah dalam mencari kesalahan-kesalahan karena alur logika jelas dan
sederhana
12. Kesalahan dapat dilokalisasi dalam suatu modul tertentu saja
Modifikasi program dapat dilakukan pada suatu modul tertentu saja tanpa
menggangu program keseluruhan
Fungsi-fungsi menjadikan program mempunyai struktur yang jelas
Dengan memisahkan langkah-langkah detail ke satu atau lebih fungsi-fungsi,
maka fungsi utama akan menjadi lebih pendek, jelas dan mudah dimengerti
Fungsi-fungsi digunakan untuk menghindari penulisan program yang sama
yang ditulis secara berulang-ulang. 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
Mempermudah dokumentasi
Reusability : Suatu fungsi dapat digunakan kembali oleh program/fungsi lain.
IV. Daftar Pustaka
˗ Pemrograman C++, AbdulKadir
˗ www.google.com