kontrak kuliah algoritma dan pemrograma -...

45
Kontrak Kuliah Algoritma dan Pemrograma Program Studi Teknik Informatika Defri Kurniawan, M.Kom

Upload: lemien

Post on 13-Mar-2019

246 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Kontrak Kuliah Algoritmadan Pemrograma

Program Studi Teknik Informatika

Defri Kurniawan, M.Kom

Page 2: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Data Dosen Pengampu

Nama Defri Kurniawan, M.Kom

Pendidikan Magister Teknik Informatika

Tempat tinggal Banyumanik, Semarang

No Kontak 0856 4141 7048 (WA)

Email [email protected]

Homebase Teknik Informatika (A11)

Ruang H.2.3

Page 3: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Deskripsi Mata Kuliah Merupakan kelanjutan dari mata kuliah prasyarat “Dasar

Pemrograman” yang membahas lebih mendalam padakonsep pemrograman fungsional (ex. Overview ParadigmaPemrograman Fungsional, Notasi Fungsional, EkspresiDasar, Ekspresi Kondisional, ADT, Tipe Bentukan, KoleksiObject, Tabel, Ekspresi Rekursif, List). Selain itukemampuan kepemimpinan (leadership) dan kemampuanbekerja sama dalam sebuah kelompok (team work) jugaakan ditanamkan melalui tugas-tugas kelompok danpresentasi-presentasi tugas terstruktur baik dalam halpenguasaan audiens, menjawab pertanyaan maupunpenyampaian materi.

Page 4: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Standar Kompetensi

Standar kompetensi dari mata kuliah ini adalahmahasiswa mampu membuat program dalam skalamenengah (dengan standar 3 file) dalammenyelesaikan permasalahan komputasi danotomatisasi dalam model bahasa pemrogramanterpilih. Selain itu mahasiswa mengenal cakupandunia pemrograman fungsional sertapembentukan konsep struktur data (ADT)

Page 5: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Strategi Perkuliahan

Menggunakan Student Center Learning (SCL).Mahasiswa akan diajak berdiskusi mengenai matalatih terkait sehingga mahasiswa dapat berpikirsecara mandiri untuk memahami materi yangdiajarkan dan menyampaikan ide / pemikirannyamelalui presentasi dan praktek

Page 6: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Komponen Penilaian

Tugas : 30% UTS : 35% UAS : 35%

Pembagian Teori Praktek (T: 55%, P:45%)

Page 7: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Aturan-aturan

TUGAS

Apabila mahasiswa terlambat dalam mengumpulkan tugasmemiliki konsekuensi sebagai berikut:

a. Terlambat dalam satu minggu dari deadline yang telahditetapkan maka nilai maksimal adalah 70

b. Apabila mahasiswa terlambat lebih dari satu minggu makanilai maksimum adalah 50

c. Apabila mahasiswa tidak mengumpulkan tugas mendapatnilai 0 dan tidak ada tugas pengganti

Page 8: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Aturan-aturan

TUGAS

Contoh

11Sept

18Sept

Pemberian Tugas Deadline

19Sept

Terlambat

25Sept

Nilai MAX 70

26Sept

Nilai MAX 50

Dalam seminggudari deadline (a)

Lebih dariseminggu (b)

Page 9: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Kontrak Kuliah – Aturan

IJIN PERKULIAHAN

Ijin tidak menghadiri perkuliahan diberikan hanya untuk:

Ijin Bukti Pendukung

Kegiatan atas nama kampus Surat resmi berkop kampus

Sakit Surat Dokter

Acara Keluarga Surat dari Orang Tua/Wali

Lelayu/Duka WA only

Page 10: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Aturan-aturan

KETERLAMBATAN

Bagi Mahasiswa

Mahasiswa yang datang lebih dari 40 menit dari jam jadwalperkuliahan (terlambat) maka dengan kesadaran harapmenunggu di luar

Bagi Dosen

Jika dosen tidak datang ke kelas sampai 40 menit dari jamjadwal perkuliahan, maka KELAS KOSONG

Page 11: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Referensi

Anany Levitin : Introduction to the Design & Analysis of Algorithm 3rd edition,2012

Michael Vine : C Programming for Absolute beginner 2nd edition, 2008

Ivor Horton : Beginning in C 5th Edition , 2013

Inggrian Liem : “Diktat Kuliah Dasar Pemrograman (Bagian PemrogramanProsedural)”, Kelompok Keahlian Rekayasa Perangkat Lunak dan Data, Ed isiApril 2007.

Page 12: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Silahkan siapa yang mengajukan diri sebagai ketua kelas?

Page 13: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

TERIMA KASIH

Page 14: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

REVIEW FUNGSIDefri Kurniawan

[email protected]

Page 15: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Referensi

Michael Vine – C Programming for theAbsolute Beginner 2nd (2008)

Ivor Horton – Beginning C 5th (2013)

Page 16: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

RENCANA KEGIATAN PERKULIAHAN SEMESTER

W Pokok Bahasan1 Review Fungsi2 Parameter & Tipe Kembalian Fungsi3

Sorting45

Searching67 Review 1-68 Ujian Tengah Semester

W Pokok Bahasan9

Analisa Rekuren1011 Struct & ADT1213 Pointer1415 Presentasi Proyek Akhir16 Ujian Akhir Semester

Page 17: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Pengertian Fungsi

Fungsi merupakan suatu bagian dari program yang dimaksudkanuntuk mengerjakan suatu tugas tertentu dan letaknya terpisah dariprogram yang memanggilnya.

Dalam setiap program bahasa C, minimal terdapat satu fungsi yaitufungsi main().

Page 18: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Keuntungan fungsi dalam program

Program akan memiliki struktur yang jelas (mempunyai readabilityyang tinggi).

Bersifat reusability (dapat digunakan kembali) sehingga akanmenghindari penulisan bagian program yang sama.

Page 19: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Klasifikasi Fungsi

Dalam bahasa C fungsi dapat dibagi menjadi dua, yaitu :1. Fungsi pustaka atau fungsi yang telah tersedia dalam Bahasa C

2. Fungsi yang didefinisikan atau dibuat oleh programmer.

Page 20: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Fungsi Pustaka – operasi String

strcpy() strlen() strcat() strupr() strlwr()

Page 21: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Fungsi Pustaka – operasi String

Fungsi Operasi String (tersimpan dalam header file “string.h”) strcpy()

• Berfungsi untuk menyalin suatu string asal ke variable string tujuan.• Bentuk umum : strcpy(var_tujuan, string_asal);

strlen()• Berfungsi untuk memperoleh jumlah karakter dari suatu string.• Bentuk umum : strlen(string);

Page 22: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Contoh

Page 23: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Fungsi Pustaka – operasi String

strcat()• Digunakan untuk menambahkan string sumber ke bagian akhir dari string

tujuan.• Bentuk umum : strcat(tujuan, sumber);

strupr()• Digunakan untuk mengubah setiap huruf dari suatu string menjadi huruf

capital.• Bentuk umum : strupr(string);

strlwr()• Digunakan untuk mengubah setiap huruf dari suatu string menjadi huruf kecil

semua.• Bentuk umum : strlwr(string);

Page 24: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Contoh

Page 25: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Fungsi Pustaka – operasi String

islower() isupper() isdigit() tolower() toupper()

Page 26: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Fungsi Pustaka – operasi Karakter

Fungsi Operasi Karakter (tersimpan dalam header “ctype.h”) islower()

• Fungsi akan menghasilkan nilai benar(bukan nol) jika karaktermerupakan huruf kecil

• Bentuk umum: islower(char); isupper()

• Fungsi akan menghasilkan nilai benar (bukan nol) jika karaktermerupakan huruf capital

• Bentuk umum: isupper(char);

Page 27: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Fungsi Pustaka – operasi Karakter

isdigit()• Fungsi akan menghasilkan nilai benar (bukan nol) jika karakter

merupakan sebuah digit.• Bentuk umum : isdigit(char);

tolower()• Fungsi akan mengubah huruf capital menjadi huruf kecil.• Bentuk umum : tolower(char);

toupper()• Fungsi akan mengubah huruf kecil menjadi huruf kapital.• Bentuk umum : toupper(char);

Page 28: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Contoh

Page 29: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Fungsi Pustaka – operasi Matematik

sqrt() pow()

Page 30: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Fungsi Pustaka – operasi Matematik

Fungsi Operasi Matematik (tersimpan dalam header “math.h” dan“stdlib.h”) sqrt()

• Digunakan untuk menghitung akar dari sebuah bilangan.• Bentuk umum : sqrt(bilangan);

pow()• Digunakan untuk menghitung pemangkatan suatu bilangan.• Bentuk umum : pow(bilangan, pangkat);

Page 31: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Contoh

Page 32: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Membuat Fungsi Sendiri

Sebelum digunakan (dipanggil), suatu fungsi harus dideklarasikan dandidefinisikan terlebih dahulu.

Bentuk umum pendeklarasian fungsi adalah :tipe_fungsi nama_fungsi(parameter_fungsi);

Bentuk umum pendefinisian fungsi adalah :tipe_fungsi nama_fungsi(parameter_fungsi){

statementstatement………...

}

Page 33: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Struktur Fungsi

tipe_fungsi nama_fungsi(parameter1, parameter2,..){

statement fungsi;}

Contoh:

int tambah(int x, int y){

return(x+y);}

Page 34: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Prototype Fungsi

Bagaimana fungsi menerima input, bagaimana fungsi melakukanreturn dan nilai apa yang dikembalikan

Prototype = pendeklarasian fungsitipe_fungsi nama_fungsi(parameter_fungsi);

Contoh:int jumlah(int a, int b);

Page 35: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Contoh Penggunaan Fungsi#include <stdio.h>#include <stdlib.h>

int jumlah(int a, int b); //prototipe fungsiint a,b,c;main(){

printf("masukkan a: ");scanf("%d",&a);printf("masukkan b: ");scanf("%d",&b); //program utama

c=jumlah(a,b);printf(“Hasil Penjumlahan= %d",c);

}

int jumlah(int x, int y){ //fungsireturn(x+y);}

Page 36: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Tampilan Program

Page 37: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Parameter

Parameter Formal adalah variabel yang ada pada daftar parameterdalam definisi fungsi.

Parameter Aktual adalah variabel (parameter) yang dipakai dalampemanggilan fungsi.

Page 38: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Parameter Formal

Variable yang ada pada daftar parameter dalam definisi fungsi

int jumlah(int x, int y){return (x+y);

}

Parameter Formal

Page 39: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Parameter Aktual

Parameter yang dipakai dalam pemanggilan fungsi

main(){. . .. . .c=jumlah(a,b);. . .

}

Parameter Aktual

Page 40: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Latihan

Buatlah fungsi prototype:• Menghitung luas balok• Menghitung volume balok

Buatlah fungsi definisi berdasarkan fungsi prototype tersebut

Page 41: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Variable

Variable dapat dikategorikan menjadi 3 :• Variable global

Variable yang dideklarasikan di luar fungsi• Variable local

Variable yang dideklarasikan dalam fungsi• Variable Static

Variable yang nilainya tetap dipertahankan walaupun prosesnyatelah keluar dari bloknya

Page 42: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Variable Lokal dan Global#include <stdio.h>

#include <stdlib.h>

/*variabel global*/

float proses(float,float,float);

float p,l,t,volumebalok;

main(){

printf("masukkan panjang : ");

scanf("%f",&p);

printf("masukkan lebar : ");

scanf("%f",&l);

printf("masukkan tinggi : ");

scanf("%f",&t);

volumebalok=proses(p,l,t);

printf("volume: %.2f", volumebalok);

}

float proses(float x,float y,float z)

{

/*variabel lokal*/

float v;

v= x * y * z ;

return(v);

}

Page 43: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Variable Static

#include <stdio.h>#include <stdlib.h>

long int faktorial(int n);main(){

int bil,i;long int fakto;printf("Masukkan bilangan: ");scanf("%d",&bil);for (i=1;i<=bil;i++){

fakto=faktorial(i);}

printf("Faktorial %d =%d",bil,fakto);}

long int faktorial(int n)

{

static long int fakto=1; //variabelstatic

fakto=fakto*n;

return (fakto);

}

Page 44: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Fungsi Rekursif

Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri Contoh :

long int factorial(int N){ //definisi fungsiif(N==0)return(1);elsereturn(N*factorial(N-1)); //memanggil diri sendiri

}

Page 45: Kontrak Kuliah Algoritma dan Pemrograma - dinus.ac.iddinus.ac.id/.../ajar/Kontrak_Kuliah_dan_Materi_Pertemuan_1_dan_2.pdfkonsep pemrograman fungsional (e x. Overview Paradigma Pemrograman

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Fungsi Rekursif

factorial (4)

4 * factorial (4-1)

4* 3 * factorial (3-1)

4* 3 * 2 * factorial (2-1)

return

return

return

4* 3 * 2 * 1* factorial (1-1)N==0 → return 14* 3 * 2 * 1* 1