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.