web viewfungsi merupakan suatu bagian dari program yang dirancang untuk melaksanakan tugas tertentu...

21
LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN MODUL IV FUNGSI (FUNCTION) Disusun Oleh : TGL. PRAKTIKUM : 06 April 2011 NAMA : Gerry Kuswanto NRP : 090411100034 KELOMPOK : I TELAH DISETUJUI TANGGAL : ........../............/ 2011 ASISTEN DOSEN Andi Solihin

Upload: duongtuong

Post on 01-Feb-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

LAPORAN RESMIPRAKTIKUM ALGORITMA PEMROGRAMAN

MODUL IVFUNGSI (FUNCTION)

Disusun Oleh :

LABORATORIUM PEMROGRAMANJURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIKUNIVERSITAS TRUNOJOYO MADURA

2011

TGL. PRAKTIKUM : 06 April 2011NAMA : Gerry KuswantoNRP : 090411100034KELOMPOK : IDOSEN : Kurniawan Dwi Hermanto, S.Kom.

TELAH DISETUJUI TANGGAL : ........../............/2011ASISTEN DOSEN

Andi SolihinNRP. 090411100011

BAB I

PENDAHULUAN

1.1 LATAR BELAKANG

Setelah kita mempelajari penyeleksian kondisi dan pengulangan

(looping) kini waktunya kita mengenal lebih luas lagi tentang bahasa

pemrograman yaitu bahasa C, dalam bahasa C terdapat juga fungsi (function).

Fungsi merupakan suatu bagian dari program yang dirancang untuk melaksanakan

tugas tertentu dan letaknya dipisahkan dari program yang menggunakannya atau

fungsi merupakan blok dari kode program yang dirancang untuk melaksanakan

tugas khusus.\

Fungsi banyak dilibatkan dalam pembuatan suatu program, dengan

tujuan Program menjadi lebih tersetuktur, sehingga mudah dipahami dan mudah

dikembangkan selain itu fungsi juga dapat mengurangi pengulangan kode.

Penjelasan mengenai fungsi (function) sendiri akan dibahas lebih mendalam dan

detail di bab berikutnya di dalam modul V ini.

1.2 TUJUAN

Adapun tujuan diadakan praktikum di pertemuan ke 5 ini yaitu :

Praktikan dapat mengetahui kapan fungsi (function)itu dibuat dan

digunakan

Praktikkan mengetahui tujuan penggunaan funsi (function)

Praktikan dapat mempraktekkan tentang materi fungsi ke dalam bahasa C

dengan menggunakan algoritma yang dibuat dalam modul ini.

BAB IIDASAR TEORI

2.1 TEORI SINGKAT

Fungsi adalah suatu bagian dari program yang dirancang untuk melaksanakan

tugas tertentu dan letaknya dipisahkan dari program yang menggunakannya.

Elemen utama dari program bahasa C berupa fungsi-fungsi, dalam hal ini program

dari bahasa C dibentuk dari kumpulan fungsi pustaka (standar) dan fungsi yang

dibuat sendiri oleh pemrogram.

Fungsi banyak digunakan pada program C dengan tujuan :

a. Program menjadi terstruktur, sehingga mudah dipahami dan mudah

dikembangkan. Dengan memisahkan langkah-langkah detail ke satu

atau lebih fungsi-fungsi, maka fungsi utama (main()) menjadi lebih

pendek, jelas dan mudah dimengerti.

b. dapat mengurangi pengulangan (duplikasi) kode. Langkah-langkah

program yang sama dan dipakai berulang-ulang di program dapat

dituliskan sekali saja secara terpisah dalam bentuk fungsi-fungsi.

Selanjutnya bagian program yang membutuhkan langkah-langkah ini

tidak perlu selalu menuliskannya, tetapi cukup memanggil fungsi-

fungsi tersebut.

Pada umumnya fungsi memerlukan nilai masukan atau parameter yang

disebut sebagai argumen. Nilai masukan ini akan diolah oleh fungsi. Hasil

akhir fungsi berupa sebuah nilai (disebut sebagai return value atau nilai

keluaran fungsi).

Bentuk umum dari definisi sebuah fungsi adalah sebagai berikut :tipe_keluaran_fungsi nama_fungsi (deklarasi argumen) { deklarasi aksi}

Gambar 4.1. Struktur Bahasa C Untuk Fungsi

keterangan :

tipe-keluaran-fungsi, dapat berupa salah satu tipe data C,

misalnya char atau int . secara default bertipe int.

deklarasi aksi berisi deklarasi variabel (kalau ada) dan statemen-statemen ya

BAB III

TUGAS PENDAHULUAN

Kerjakan tugas-tugas di bawah ini sebelum praktikum dimulai.

1. Kapankah suatu fungsi dibuat dan digunakan?

Fungsi dibuat ketika kita membuat suatu program dimana program

tersebut dirancang untuk melaksanakan tugas tertentu dan letaknya

dipisahkan dari program yang menggunakannya dan pada saat itulah kita

membutuhkan fungsi. Sedangkan kapan fungsi digunakan , fungsi

digunakan apabila modul program mengembalikan sebuah nilai, dan pada

saat itulah fungsi digunakan namun sebaliknya jika modul program tidak

mengembalikan nilai maka pada kondisi tersebut modul program tidak

membutuhkan fungsi.

2. Buatlah algoritma untuk membuat bentuk belah ketupat dari deretan angka

berdasarkan batas nilai yang dimasukkan melalui piranti masukan dengan

menggunakan Fungsi!

Contoh:

Masukkan batas nilai: 4

Hasil belah ketupat deretan angka:

11 2 1

1 2 3 2 11 2 3 4 3 2 1

1 2 3 2 11 2 1

1

Pembahasan :Fungsi Belah_ketupatDeklarasia,b,c,n: integerdeskripsi

read (n)for a 1 to n do

writeln (‘’)endforfor c 1 to n-a do

write (‘ ‘)endforfor b 1 to a dowrite (b)endforfor b a-1 down 1 towrite (b)endfor

endforfor a n-1 downto n do

writeln (‘’)endforfor c 1 to n-a do write (‘ ‘)endforfor b 1 to a dowrite (b)endforfor b a-1 down 1 towrite (b)endfor

endfor

program UtamaAlgoritma belah_ketupatDeklarasi{tidak ada}DeskripsiBelah_ketupat

3. Buatlah algoritma untuk menghitung rumus-rumus persamaaan kuadrat (

ax 2+bx+c=0 ) berikut ini:

- Rumus diskriminan (D=√b2−4∗a∗c )

- Rumus mencari akar-akar persamaan (X1=

−b+√b2−4∗a∗c2∗a ;

X2=−b−√b2−4∗a∗c

2∗a ).

Setiap rumus dijadikan sebuah fungsi tersendiri dengan parameter-parameter

yang dimasukkan dari luar fungsi.

Contoh:

Masukkan nilai a : 1

Masukkan nilai b : 4Masukkan nilai c : 3

Hasil diskriminan (D) : 2Nilai X1 : -1Nilai X2 : -3

Pembahasan:Function:

Function akar_akar_persamaan_kuadrat (input a,b,c : integer)doubleDeklarasiDeskripsiD ((b*b)-(4*a*c))

X1 ((-b)+ sqrt(D))/2*a

X2 ((-b)- sqrt(D))/2*a

Return (D)

Return(X1 )

Return(X2 )Program Utama:Algoritma akar_akar_persamaan_kuadratDeklarasiD, X1 , X2 : real

DeskripsiRead(a,b,c)Write(D)

Write(x1)

Write(x2)

BAB IV

IMPLEMENTASI

I. Kegiatan PraktikumPada saat praktikum, kerjakan tugas-tugas berikut ini:

1. Buat program untuk tugas prepraktikum2!

Pembahasan:

Script coding program:

#include <stdio.h>

void segitiga()

{

int a,b,c,n;

printf ("=Program belah ketupat=\n");

printf ("Masukkan batas Nilai:");scanf("%d",&n);

/* langkah 1*/

for (a=1; a<=n; a++)

{

printf("\n");

/* membuat baris kosong di depan*/

for (c=1; c<=(n-a); c++)

{

printf(" ");

}

/* membuat bagian yang terisi sebelah kiri*/

for (b=1; b<=a;b++)

{

printf("%d",b);

}

/* membuat bagian yang terisi sebelah kanan*/

for (b=a-1; b>=1; b--)

{

printf("%d",b);

}

}

/* lamgkah kedua*/

for (a=n-1; a>=1; a--)

{

printf("\n");

/* membuat baris kosong di depan*/

for (c=1; c<=(n-a); c++)

{

printf(" ");

}

/* membuat bagian yang terisi sebelah kiri*/

for (b=1; b<=a;b++)

{

printf("%d",b);

}

/* membuat bagian yang terisi sebelah kanan*/

for (b=a-1; b>=1; b--)

{

printf("%d",b);

}

}

}

int main() {

segitiga();

return 0;

}

Hasil Running program

2. Buat program untuk tugas prepraktikum 3!

Pembahasan:

Script coding program:

#include <stdio.h>#include <math.h>double determinan (int a,int b,int c){

double deter ;deter = sqrt((b*b)-(4*a*c));return deter ;

}

double nilai1 (int a,int b,int c){

double x1 ;x1 = (-b+(sqrt((b*b)-(4*a*c))))/2*a;return x1 ;

}double nilai2 (int a,int b,int c){

double x2 ;x2 =(-b-(sqrt((b*b)-(4*a*c))))/2*a;return x2 ;

}int main(){

int ada,ban,cak ;double hasil;printf ("nilai a = "); scanf ("%d", &ada);printf ("nilai b = "); scanf ("%d", &ban);printf ("nilai c = "); scanf ("%d", &cak);hasil=determinan (ada,ban,cak);printf (" Diskriminan = %.2f\n", hasil);hasil=nilai1 (ada,ban,cak);printf (" Nilai X1 = %.2f\n", hasil);hasil=nilai2 (ada,ban,cak);printf (" Nilai X2 = %.2f\n", hasil);

}Hasil running Program:

3. Tugas tambahan :

Membuat program kalkulator menggunakan fungsi

Script Coding Program:

#include <stdio.h>

void tambah()

{

int a,b,c;

printf("masukkan nilai pertama:");scanf("%d",&a);

printf("masukkan nilai kedua:");scanf("%d",&b);

c=a+b;

printf("%d+%d=%d",a,b,c) ;

}

void pengurangan()

{

int a,b,c;

printf("masukkan nilai pertama:");scanf("%d",&a);

printf("masukkan nilai kedua:");scanf("%d",&b);

c=a-b;

printf("%d-%d=%d",a,b,c) ;

}

void kali()

{

int a,b,c;

printf("masukkan nilai pertama:");scanf("%d",&a);

printf("masukkan nilai kedua:");scanf("%d",&b);

c=a*b;

printf("%d*%d=%d",a,b,c) ;

}

void pembagi()

{

int a,b,c;

printf("masukkan nilai pertama:");scanf("%d",&a);

printf("masukkan nilai kedua:");scanf("%d",&b);

c=a/b;

printf("%d/%d=%d",a,b,c) ;

}

int main()

{

int pp;

printf("Program Kalkulator sederhana\n");

printf("1. Tambahan\n");

printf("2. pengurangan\n");

printf("3. perkalian\n");

printf("4. pembagian\n");

printf("Masukkan no (1/2/3/4): \n");scanf("%d",&pp);

switch(pp){

case 1: tambah();

break;

case 2: pengurangan();

break;

case 3: kali();

break;

case 4: pembagi ();

break;

default:printf ("maaf no. yang anda masukkan salah");}

return 0;

}

Hasil Running program:

II. TUGAS AKHIR

Buatlah algoritma dan terjemahkan dalam Bahasa C untuk menghitung

bilangan faktorial dengan menggunakan teknik rekursif dan non-rekursif!

Contoh:

Masukkan faktorial yang akan dihitung: 5

Hasil faktorial : 120

Jawaban :

Algoritma faktorial_rekursif

Fungsi Faktorial (int n)

If (n=0)

Return 1;

Else

return= n*fungsi_faktorial(n-1)

program utama

algoritma Faktorial

deklarasi

angka: integer

deskripsi

read (angka)

write (angka)

Source code :

#include<stdio.h>

int faktorial(int n){

if (n == 0){

return 1;

}else{

return n * faktorial(n-1);

}

}

int main(){

int angka;

printf("Masukkan Angka : ");

scanf("%d", &angka);

printf("\nHasil faktorial : %d\n", faktorial(angka));

return 0;

}

Running program :

Algoritma faktorial_non_rekursif

deklarasi

n,i: integer faktorial=1

deskripsi

Read (n)

for(i=1;i<=n;i++)

faktorial = faktorial * i;\

endfor

write(faktorial)

Source code :

#include<stdio.h>

int main(){

int n,i, faktorial=1;

printf("Masukkan angka : "); scanf("%d", &n);

for(i=1;i<=n;i++){

faktorial = faktorial * i;

}

printf("\nHasil faktorial : %d\n", faktorial);

return 0;

}

Running program :

BAB VPENUTUP

5.1 Analisa

Dalam penulisan source code pada program, kita harus

memperhatikan fungsi yang ada dalam bahasa C. Karena Tipe dasar dan tipe

bentukan dalam bahasa C berbeda sekali, dan sangat mempengaruhi dalam

membuat program tentang fungsi. Karena, dalam proses fungsi butuh

algoritma yang sistematis atau kronologis, agar lebih efisien. Serta di dalam

fungsi terdapat nilaim kembaliannya.

5.2 Kesimpulan

Berdasarkan program yang telah kita buat di atas, maka kita dapat

menyimpulkan bahwa program yang kita buat harus dikerjakan dengan

teliti, terutama dalam proses pengkodingan. Karena dalam proses

pengkodingan atau dalam menentukan algoritma butuh penalaran yang baik,

agar program yang kita buat bisa berjalan sesuai yang kita kehendaki.

Bahkan bisa saja program tidak akan berjalan.