Laporan praktikum modul vi

16

Click here to load reader

Transcript of Laporan praktikum modul vi

Page 1: Laporan praktikum modul vi

LAPORAN PRAKTIKUMALGORITMA PEMROGRAMAN & STRUKTUR DATA

MODUL VI

DISUSUN OLEHNAMA : DEVINIM : 2012081043KELAS : TI2012A

LABORATORIUM KOMPUTERFAKULTAS ILMU KOMPUTERUNIVERSITAS KUNINGAN

2012

Page 2: Laporan praktikum modul vi

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}

Page 3: Laporan praktikum modul vi

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.

Page 4: Laporan praktikum modul vi

- 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 fungsivoid 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:%d\n",m);}

Page 5: Laporan praktikum modul vi

–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

Page 6: Laporan praktikum modul vi

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=%d\n\n",a,b);tukar(a,b);printf("Nilai sudah memanggil 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 di akhir fungsi:\n");printf("nilai px=%d nila ipy=%d\n\n",px,py);

}

Page 7: Laporan praktikum modul vi

–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

Page 8: Laporan praktikum modul vi

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.

Page 9: Laporan praktikum modul vi

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

Page 10: Laporan praktikum modul vi

–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.

Page 11: Laporan praktikum modul vi

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

Page 12: Laporan praktikum modul vi

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++, Abdul Kadir

˗ www.google.com