TEL 2112 Dasar Komputer & Pemograman Fungsi

Slides:



Advertisements
Presentasi serupa
TEL 2112 Dasar Komputer & Pemograman Pengulangan
Advertisements

TEL 2112 Dasar Komputer & Pemograman Nama dan Nilai Objek Abdillah, S.Si, MIT Website:
Fungsi (lanjutan) Pertemuan ke-9 Bahasa C.
LOGIKA DAN ALGORITMA - PERTEMUAN 8 - REKURSI.
Algoritma dan Struktur Data
Prosedur (Procedure).
FUNGSI Teknik Informatika Universitas Muhammadiyah Malang 2011 Pemrogramman Terstruktur.
Function User Function.
Prosedur dan Fungsi Triana Elizabeth, S.Kom.
Function (Fungsi).
TEE 2103 Algoritma dan Pemrograman
Algoritma Pseudocode TEE 2103 Algoritma dan Pemrograman
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah
Array (bagian 2).
Struktur Program TEE 2103 Algoritma dan Pemrograman
SUBALGORITMA.
Notasi Algoritmik.
Algoritme dan Pemrograman
TEL 2112 Dasar Komputer & Pemograman Prosedur
Algoritma dan Pemrograman I Dosen : Utami Dewi Widianti
Ucu Nugraha, ST. Algoritma.
TEL 2112 Dasar Komputer & Pemograman Konsep Tipe Data dan Operator
Konsep Tipe Data dan Operator
TEL 2112 Dasar Komputer & Pemograman Pemrograman Modular
Apa itu Fungsi? Sebuah fungsi adalah modul program yang mengerjakan tugas atau aktivitas yang spesifik dan mengembalikan sebuah nilai dari tipe tertentu,
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah 2
TEE 2103 Algoritma dan Pemrograman
TEL 2112 Dasar Komputer & Pemograman Penyeleksian
Pemilihan TEE 2103 Algoritma dan Pemrograman Dosen: Abdillah, MIT
Contoh-contoh Pemecahan Masalah TEE 2103 Algoritma & Pemograman
TEL 2103 Dasar Komputer & Pemograman Larik (Array)
TEL 2112 Dasar Komputer & Pemograman Fungsi
Algoritma dan Struktur Data
Fungsi TEE 2103 Algoritma & Pemrograman Dosen: Abdillah, MIT
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah 2
TEL 2112 Dasar Komputer & Pemograman Nama dan Nilai Data
Array 1.
Algoritma dan Pemrograman
TEL 2112 Dasar Komputer & Pemograman Larik (Array)
Remainder Senin depan mulai UTS Praktikum
Latihan #0 Dengan menggunakan pernyataan looping WHILE dan jumlah instruksi sesedikit mungkin, tuliskan cuplikan program (bukan program lengkap, hanya.
TEL 2112 Dasar Komputer & Pemograman Larik (Array)
TEL 2112 Dasar Komputer & Pemograman Pemrograman Modular
Algoritme dan Pemrograman
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah
TEL 2112 Dasar Komputer & Pemrograman
TEE 2103 Algoritma & Pemrograman
Contoh-contoh Pemecahan Masalah 2 TEE 2103 Algoritma & Pemograman
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah 2
TEL 2112 Dasar Komputer & Pemrograman
Algoritma dan Pemrograman Subrutin (Function)
Algoritma dan Pemrograman
TEL 2112 Dasar Komputer & Pemograman Prosedur
TEL 2112 Dasar Komputer & Pemograman Pemrograman Modular
TEL 2112 Dasar Komputer & Pemograman Prosedur
Algoritma dan Pemrograman I
TEL 2112 Dasar Komputer & Pemograman Fungsi
Contoh-contoh Pemecahan Masalah 2 TEE 2103 Algoritma & Pemograman
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah 2
TEE 2103 Algoritma & Pemrograman
Algoritma Rekursif.
TEL 2112 Dasar Komputer & Pemograman Pengantar Algoritma
TEL 2112 Dasar Komputer & Pemograman Pengantar Algoritma
Variabel dan Tipe Data TEE 2103 Algoritma & Pemrograman
Algoritma Rekursif Alpro-2.
Rekursif By Serdiwansyah N. A..
Tipe Data Bentukan Pertemuan ke-5.
Fungsi.
Bab 10 Fungsi.
Transcript presentasi:

TEL 2112 Dasar Komputer & Pemograman Fungsi Dosen: Abdillah, S.Si, MIT Email: abdill01@gmail.com Website: http://abdill01.wordpress.com

Tujuan Mahasiswa mampu memecah sebuah program besar menjadi sejumlah fungsi dan mengkonversi prosedur menjadi fungsi atau sebaliknya.

Apa itu Fungsi? Sebuah fungsi adalah modul program yang mengerjakan tugas atau aktivitas yang spesifik dan mengembalikan sebuah nilai dari tipe tertentu, baik tipe dasar atau tipe bentukan. Baik fungsi maupun prosedur, keduanya merupakan modul program yang ekivalen, namun pada beberapa masalah ada kalanya kita lebih tepat menggunakan fungsi ketimbang prosedur, demikian juga sebaliknya.

Notasi Algoritmik Fungsi function Nama_Fungsi (input parameter) { Berisi penjelasan apa yang dikembalikan fungsi } DEKLARASI { Semua nama yang dipakai di dalam fungsi } ALGORITMA: { Badan prosedur, berisi urutan instruksi } return ekspresi { Pengembalian nilai yang dihasilkan fungsi}

Pemanggilan Fungsi Fungsi dipanggil dari program pemanggil dengan menuliskan nama_fungsi diikuti dengan parameter aktual. Nilai yang dikembalikan fungsi dapat diperlakukan dengan dua cara: Nilai yang dikembalikan oleh fungsi dapat langsung dimanipulasi. Nilai yang dikembalikan oleh fungsi ditampung dalam sebuah peubah yang bertipe sama dengan tipe fungsi.

Contoh Algoritma Program Pemanggil PROGRAM Genap_Ganjil { Menentukan apakah sebuah bilangan genap atau ganjil } DEKLARASI x : integer function Genap(input n : integer)  int ALGORITMA: read (x) if Genap(x)=0 then write(‘genap’) else write(‘ganjil’) endif

Contoh Algoritma Fungsi function Genap(input n : integer) int {Mengembalikan 0 jika n genap atau 1 jika ganjil } DEKLARASI {tidak ada} ALGORITMA: return (n mod 2)

/* PROGRAM Genap_Ganjil */ { Menentukan apakah sebuah bilangan genap atau ganjil } #include <stdio.h> int Genap(int n); void main() { int x; printf("Ketikkan sebuah bilangan:");scanf("%d",&x); if (Genap(x)== 0) printf("%d adalah bilangan genap \n", x); else printf("%d adalah bilangan ganjil \n", x); } int Genap(int n) return (n % 2);

Contoh Algoritma Program Pemanggil PROGRAM Hitung_Titik_Tengah { Menghitung koordinat antara dua titik } DEKLARASI type Titik : record < x,y : real > P1, P2,Pt : Titik {Pt titik tengah antara P1 dan P2} function Titik_Tengah(input P1,P2 : Titik) Titik ALGORITMA: read (P1.x, P1.y) read (P2.x, P2.y) Pt  Titik_Tengah(P1,P2) write (Pt.x,Pt.y)

Contoh Algoritma Fungsi function Titik_Tengah(input P1,P2 : Titik) Titik { Mengembalikan titik tengah dari P1 dan P2 } DEKLARASI {tidak ada} ALGORITMA: Pt.x  (P1.x + P2.x)/2 Pt.y  (P1.y + P2.y)/2 return Pt

/* PROGRAM Hitung_Titik_Tengah */ { Menghitung koordinat antara dua titik } #include <stdio.h> /* DEKLARASI GLOBAL */ typedef struct (float x,y;) Titik; Titik Titik_Tengah(Titik P1, Titik P2); /* Mengembalikan titik tengah dari P1 dan P2 /* main() { Titik P1,P2,Pt; printf(“ Masukkan koordinat titik P1: \n”); printf(“ x = ”);scanf(“%f”,&P1.x); printf(“ y = ”);scanf(“%f”,&P1.y); printf(“ Masukkan koordinat titik P2: \n”); printf(“ x = ”);scanf(“%f”,&P2.x); printf(“ y = ”);scanf(“%f”,&P2.y); Pt = Titik_Tengah(P1,P2); printf(“ Titik tengah : (%f,%f) \n”, Pt.x, Pt.y); }

Lanjutan Program Titik Titik_Tengah(Titik P1, Titik P2) /* Mengembalikan titik tengah dari P1 dan P2 /* { Titik Pt; Pt.x = (P1.x + P2.x)/2; Pt.y = (P1.y + P2.y)/2; return Pt; }

Fungsi Rekursif Fungsi rekursif adalah suatu fungsi yang memanggil dirinya sendiri. Jadi di dalam fungsi tersebut terdapat suatu baris program yang memanggil dirinya sendiri. Proses rekursi tersebut terjadi secara berulang-ulang, sehingga di dalam fungsi rekursif harus diberi suatu kondisi yang dapat mengakhiri proses rekursi. Sebuah contoh yang sering diberikan dalam rangka membahas fungsi rekursif adalah menghitung Faktorial .

Contoh Fungsi Rekursif Misalkan F = faktorial (5)

Algoritma Program Hitung_Faktorial {Menghitung n faktorial, n > 0} DEKLARASI n, f : integer function Fak (input N : integer)  integer ALGORITMA: read (n) if n<0 then write (warning) else f ← Fak (n) write (n! = f)

Algoritma Fungsi Faktorial function Fak (input N : integer) integer { Mengembalikan nilai N faktorial} DEKLARASI faktorial : integer ALGORITMA: if N<0 then return 1 else faktorial ← N * Fak (N-1) return (faktorial)

#include <stdio.h> int Fak(int N); void main() { int f, n; printf("Masukkan suatu bilangan bulat : "); scanf("%d",&n); if (n<0) printf("Bilangan harus positif!"); else { f = Fak(n); printf("Nilai %d! adalah : %d", n, f); }

int Fak(int N) { int faktorial; if (N<=1) return(1); else { faktorial = N * Fak(N-1); return(faktorial); }

Mengubah Prosedur menjadi Fungsi Prosedur yang mempunyai satu buah parameter keluaran dapat ditulis dengan cara menyatakan parameter keluaran sebagai nilai yang dikembalikan oleh fungsi.

Prosedur Hitung_Luas #include<stdio.h> void HitungLuas(float alas, float tinggi, float *luas); void main() { int i, N; float a, t, L; printf("Masukkan banyaknya segitiga = "); scanf("%d",&N); for (i=1; i<=N; i++) printf("Masukkan alas segitiga = "); scanf("%f",&a); printf("Masukkan tinggi segitiga = "); scanf("%f",&t); HitungLuas(a, t, &L); printf("Luas segitiga adalah = %.2f \n", L); } void HitungLuas(float alas, float tinggi, float *luas) *luas = (alas*tinggi)*0.5;

Fungsi Hitung_Luas #include<stdio.h> float HitungLuas(float alas, float tinggi); void main() { int i, N; float a, t; printf("Masukkan banyaknya segitiga = "); scanf("%d",&N); for (i=1; i<=N; i++) printf("Masukkan alas segitiga = "); scanf("%f",&a); printf("Masukkan tinggi segitiga = "); scanf("%f",&t); printf("Luas segitiga adalah = %.2f \n", HitungLuas(a,t)); } float HitungLuas(float alas, float tinggi) return (alas*tinggi)*0.5;

Mengubah Fungsi menjadi Prosedur Sebuah fungsi dapat dikonversi sebagai prosedur dengan cara menyatakan nilai yang dikembalikan oleh fungsi tersebut sebagai parameter keluaran pada prosedur.

Fungsi Genap #include <stdio.h> int Genap(int n); void main() { int x; printf("Ketikkan sebuah bilangan:");scanf("%d",&x); if (Genap(x)== 0) printf("%d adalah bilangan genap \n", x); else printf("%d adalah bilangan ganjil \n", x); } int Genap(int n) return (n % 2);

Prosedur Genap #include <stdio.h> void Genap(int n, int *boolean); void main() { int x, boolean; printf("Ketikkan sebuah bilangan:");scanf("%d",&x); Genap(x, &boolean); if (boolean == 0) printf("%d adalah bilangan genap \n", x); else printf("%d adalah bilangan ganjil \n", x); } void Genap(int n, int *boolean) *boolean = (n % 2);

Tugas Mandiri 4 Konversi contoh program di atas (titik_tengah) menjadi prosedur. Buatlah contoh eksekusi program