LAPORAN PRAKTIKUM
ALGORITMA PEMROGRAMAN & STRUKTUR DATA
MODUL VI
DISUSUN OLEH
NAMA : DEVI
NIM : 2012081043
KELAS : TI2012A
LABORATORIUM KOMPUTER
FAKULTAS ILMU KOMPUTER
UNIVERSITAS KUNINGAN
2012
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
}
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.
- 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);
}
–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
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);
}
–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
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.
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
–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.
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
 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

Laporan praktikum modul vi

  • 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. DasarTeori 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 menuproject, 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 sebutanprototipe 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: Sintaksdiatas 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. Didalamprogram 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 programyang 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 pembuatanprogram 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 praktikumdan 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 dapatdilokalisasi 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