Wednesday 10 April 2013

Laporan Praktikum Algoritma Modul 6


 LAPORAN PRAKTIKUM
ALGORITMA PEMROGRAMAN
DAN STRUKTUR DATA
MODUL 6


FAKULTAS ILMU KOMPUTERDescription: D:\Lain-Lain\bem-uniku2.jpg


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
Bentuk umum :
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

Bentuk umum :
//prototype fungsi
Tipe_data/void nama_fungsi (argumen1, argumen2,....)
{
          //bagian ini merupakan tubuh fungsi
          [variabel_lokal];

          [statemen_1];
          [statemen_2];
          ...
          [statemen_n];
          [return (variabel)];
}

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
Tulis source code berikut ini :
#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++ :
Description: E:\Documents\DOKUMEN RICKY PRIBADI\UNIKU\Lain-Lain\Praktikum\Praktikum Algoritma Pemrograman dan Struktur Data\Modull 6\gambar 1.jpg
Hasil  eksekusinya yaitu sebagai berikut :
Description: E:\Documents\DOKUMEN RICKY PRIBADI\UNIKU\Lain-Lain\Praktikum\Praktikum Algoritma Pemrograman dan Struktur Data\Modull 6\gambar 1'.jpg
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
Tulis source code berikut ini :
#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++ :
Description: E:\Documents\DOKUMEN RICKY PRIBADI\UNIKU\Lain-Lain\Praktikum\Praktikum Algoritma Pemrograman dan Struktur Data\Modull 6\gambar 2.jpg
Hasil  eksekusinya yaitu sebagai berikut :
Description: E:\Documents\DOKUMEN RICKY PRIBADI\UNIKU\Lain-Lain\Praktikum\Praktikum Algoritma Pemrograman dan Struktur Data\Modull 6\gambar 2'.jpg
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 !
Description: E:\Documents\DOKUMEN RICKY PRIBADI\UNIKU\Lain-Lain\Praktikum\Praktikum Algoritma Pemrograman dan Struktur Data\Modull 6\gambar 3'.jpgDescription: E:\Documents\DOKUMEN RICKY PRIBADI\UNIKU\Lain-Lain\Praktikum\Praktikum Algoritma Pemrograman dan Struktur Data\Modull 6\gambar 3.jpg





Hasil  eksekusinya yaitu sebagai berikut :
Description: E:\Documents\DOKUMEN RICKY PRIBADI\UNIKU\Lain-Lain\Praktikum\Praktikum Algoritma Pemrograman dan Struktur Data\Modull 6\gambar 3''.jpg
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