Algoritma Pemrograman 2B (Pemrograman C++)

dokumen-dokumen yang mirip
KONSEP DASAR. menyusunnya menjadi potongan-potongan mudah untuk ditangani dibanding. conquer.

Scope Variable. Sebuah variabel di dalam sebuah fungsi memiliki jangkauan tertentu. Skop variabel terdiri dari:

Program pendek dan simple = mudah dihandle. Program besar, banyak dan kompleks = tidak

IT234 ALGORITMA DAN STRUKTUR DATA FUNGSI

VI. FUNGSI. Fungsi Main ( ) Fungsi a ( ) Fungsi b ( ) Fungsi c ( ) Fungsi c1 ( ) Fungsi c2 ( ) Fungsi c3 ( ) Bentuk umumnya :

MODUL 10 Fungsi 10.1 Kompetensi 10.2 Alat Dan Bahan: 10.3 Ulasan Teori: Dasar Fungsi Deklarasi Fungsi

Sedangkan bentuk umum pendefinisian fungsi adalah : Tipe_fungsi nama_fungsi(parameter_fungsi) { statement statement... }

Konsep Pemrograman. Bab 8. Fungsi 2. Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006 PENS-ITS. Umi Sa adah

Algoritma & Pemrograman #8. by antonius rachmat c, s.kom, m.cs

BAB 6 FUNGSI TUJUAN PRAKTIKUM

Fungsi, Parameter, Rekursi

Kurikulum Qt. { Basic OOP } Chapter 4. Function

Fungsi Lanjut DASAR PEMROGRAMAN

Mengenal Subroutine pada Pemrograman C Dian Wirdasari

A. TUJUAN 1. Memecah program dalam fungsi fungsi yang sederhana. 2. Menjelaskan tentang pemrograman terstruktur.

A. TUJUAN 1. Menjelaskan tentang prinsip dasar fungsi. 2. Menjelaskan tentang.parameter formal dan parameter aktual

BAB V FUNGSI Tujuan : 5.1 Dasar Fungsi

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET BAHASA PEMROGRAMAN Fungsi : Passing Parameter by Value & Semester 3

MODUL. Fungsi (Function) Modul Praktikum C++ Dasar Pemrograman Komputer JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

Kurikulum Qt. Chapter 4 Function. Fungsi

Fungsi : Dasar Fungsi

Fungsi DASAR PEMROGRAMAN

MODUL 7 FUNGSI A. Tujuan. B. Petunjuk. C. Dasar Teori

Program menjadi terstruktur Dapat mengurangi pengulangan kode program. Fungsi dapat diimplementasikan dalam tiga bentuk :

Fungsi 2 DASAR PEMROGRAMAN

Function nama dipisahkan

Fungsi DASAR PEMROGRAMAN

Fungsi (II) Parameter pada fungsi Jenis variabel pada fungsi

Algoritma dan Pemrograman Tahar Agastani Teknik Informatika UIN

E STRUKTUR DATA & E PRAKTIK STRUKTUR DATA. Pointer & Function. Alfa Faridh Suni, S.T., M.T. PTIK

PRAKTIKUM 7 FUNGSI 1

FUNGSI & PROSEDUR. Pertemuan ke-12 dan 13

December 11 PROSEDUR AKHMAD BILYYASIF.

FUNCTIONS. Function adalah satu blok instruksi yang akan dieksekusi ketika dipanggil dari bagian lain dalam suatu program.

Algoritma & Pemrograman #7. by antonius rachmat c, s.kom, m.cs

Konsep Pemrograman. Bab 7. Fungsi1. Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006 PENS-ITS. Umi Sa adah

Program pendek dan simple = mudah dihandle. Program besar, banyak dan kompleks = tidak

/* File program : tukar1.c Untuk melihat pengaruh pemanggilan nilai pada fungsi untuk penukaran dua data */

MODUL 5 SUBPROGRAM / FUNGSI

BAB 6. FUNGSI. Tujuan penggunaan fungsi : 1. Program menjadi terstruktur 2. Dapat mengurangi pengulangan kode program.

Bahasa C melengkapi fasilitas modular dengan menggunakan fungsi pada setiap SubProgram. Contoh pembagian program menjadi beberapa subprogram.

PRAKTIKUM 8 FUNGSI 2

Alpro & Strukdat 1 C++ (Sub Program) Dwiny Meidelfi, S.Kom., M.Cs.

FUNGSI II. Variabel Statis. Sifat variabel statis: Sintaks: static tipe_data nama_variabel; Contoh: static int angka;

FUNCTION (FUNGSI) LOGO. Pendidikan Teknik Elektronika FT UNY. Muh. Izzuddin Mahali, M.Cs.

Function. Function adalah satu blok instruksi yang dieksekusi ketika dipanggil dari bagian lain dalam suatu program. Format dari function :

Konsep Pemrograman. Bab 13. Pointer 3. Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006 PENS-ITS. Umi Sa adah

MODUL PRAKTIKUM ALGORITMA DAN STRUKTUR DATA April 1, 2010 BAB 8 REKURSIF

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-5 Rekursif

Pertemuan Function. Obyektif Praktikum : 1. Mengerti konsep dasar penggunaan Function

Tipe Data, Variabel, Input/Output

Contoh function 1 : Output : // function example The result is 8 #include <iostream.h>

Prosedur merupakan modul program yang mengerjakan instruksi spesifik dan menghasilkan efek netto. Efek netto diketahui dengan membandingkan keadan awa

Imam Fahrur Rozi. Algoritma dan Pemrograman FUNGSI BAG. 2

Pemrograman Dasar C. Minggu 6

MODUL PRAKTIKUM. MODUL I - VIII Modul penuntun dan bahan praktikum matakuliah algoritma dan pemograman

Algoritme dan Pemrograman

# SEVEN PROCUDURE & FUNCTION

PROCEDURE DAN FUNCTION

Pemrograman Dasar C. Minggu 8

MODULAR (FUNGSI)

Method. Pemrograman Dasar Sistem Informasi PTIIK Herman Tolle

12/29/2011 ILKOM IPB 1. Algoritme dan Pemrograman. Address and Pointers. Pointer

Algoritma & Pemrograman FUNGSI. Pengampu : Agus Priyanto, M.Kom SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM. Smart, Trustworthy, And Teamwork

FUNGSI DALAM BAHASA C

Spesifikasi: Ukuran: 14x21 cm Tebal: 225 hlm Harga: Rp Terbit pertama: Februari 2005 Sinopsis singkat:

POINTER DASAR PEMROGRAMAN

Apakah Anda sering kesulitan untuk

2 BEBERAPA FUNGSI PUSTAKA DALAM BAHASA C

FUNGSI DALAM BAHASA C

POINTER II. Oleh : Mike Yuliana PENS-ITS

TIM ASISTEN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN 2016

Bahasa C-M6 By Jamilah, Skom 1

Pemgrograman Modular. Keuntungan:

Minggu ke-11 Fungsi (Function)

SUB PROGRAM P E N G A N TA R P R O G R A M S T U D I. Institut Teknologi Sumatera

SUB PROGRAM (FUNGSI)

12/29/2011 ILKOM IPB 1. Algoritme dan Pemrograman. Fungsi. Fungsi. y = f (x) = x m = jumlah ( a, b ) = a + b

Array LOGO. Pendidikan Teknik Elektronika FT UNY. Muh. Izzuddin Mahali, M.Cs.

OPERASI PERNYATAAN KONDISI

PROSEDUR DAN FUNGSI (PROCEDURE & FUNCTION)

PROSEDUR/SUB RUTIN. Algoritma & Pemrograman. Pengampu : Agus Priyanto, M.Kom SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM

Algoritme dan Pemrograman

LAPORAN PRAKTIKUM PEMROGRAMAN DASAR TIPE-TIPE FUNGSI ATAU METHOD

Bab 10 Fungsi & Prosedur

Fungsi (Function) Pendahuluan. Objektif. Bahan Bacaan

Fungsi 1 DASAR PEMROGRAMAN

Pemrograman Dasar L A T I H A N M E T H O D / F U N G S I M E T H O D R E K U R S I F

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET BAHASA PEMROGRAMAN Fungsi Penggolongan Variabel dan Semester 3

Dasar Pemrograman TIP FTP UB

PEMROGRAMAN BERORIENTASI OBJEK

Pendahuluan Pemrograman Mikrokontroler

Algoritma dan Struktur Data. Pertemuan 5 Pointer

PERTEMUAN V PEMROGRAMAN TERSTRUKTUR DENGAN VISUAL C Setiap bahasa C mempunyai satu fungsi dengan nama main (program utama).

FUNGSI. Danang Wahyu utomo Tim Algoritma Pemrograman TI S1 Universitas Dian Nuswantoro

Algoritme dan Pemrograman

PEMROGRAMAN DAN METODE NUMERIK Semester 2/ 2 sks/ MFF 1024

Achmad Solichin.

Transkripsi:

Algoritma Pemrograman 2B (Pemrograman C++) Jurusan Sistem Komputer Dr. Lily Wulandari Materi 4 FUNGSI (FUNCTION) PADA C++ 1

Outline Konsep Dasar Fungsi Standar File Header Definisi Fungsi Deklarasi Fungsi Jenis Fungsi Ruang Lingkup Variabel KONSEP DASAR Program komputer yang dibuat untuk menjawab permasalahan umumnya berukuran sangat besar. Pengalaman telah menunjukkan bahwa cara terbaik untuk mengembangkan dan menangani program besar adalah menyusunnya menjadi potongan-potongan program yang berukuran kecil-kecil (atau disebut modul) )yang lebih mudah untuk ditangani dibanding dengan program yang terdiri dari banyak sekali baris. Teknik ini disebut conquer. 2

KONSEP DASAR Fungsi adalah suatu bagian dari program yang dipergunakan untuk mengerjakan suatu tugas tertentu dan letaknya dipisahkan dari bagian program yang menggunakannya. Program dari bahasa C dibentuk dari kumpulan fungsi, yaitu: Fungsi utama main() Fungsi pustaka (standar) mis: printf(), scanf() Fungsi yang dibuat sendiri oleh pemrogram KONSEP DASAR Mengapa fungsi seringkali dipergunakan? 1. Fungsi menjadikan program C mempunyai struktur yang jelas. Dengan memisahkan bagian detail dalam fungsi-fungsi, maka fungsi utama akan lebih pendek, jelas dan mudah dimengerti (struktur program yang baik). 2. Fungsi dapat digunakan untuk menghindari penulisan secara berulang-ulang. Bagian program yang membutuhkannya cukup memanggil fungsi yang telah tersedia, tanpa menulis ulang. 3

FUNGSI STANDAR Tabel berikut menyajikan daftar sebagian fungsi baku matematika yang sudah tersedia di dalam pustaka C dan siap untuk digunakan. FILE HEADER Setiap pustaka baku mempunyai file header yang mengandung prototype fungsi untuk semua fungsi yang ada di dalam pustaka dan definisi dari tipetipe data maupun konstanta yang diperlukan oleh fungsi tersebut. Berikut dicantumkan daftar file header yang dapat di-include ke dalam program. 4

FILE HEADER DEFINISI FUNGSI Fungsi secara umum terdiri dari 2 buah komponen utama yakni definisi fungsi dan tubuh fungsi. Bentuk umum suatu fungsi: Contoh definisi fungsi: 5

DEKLARASI FUNGSI 1. Diawali dengan fungsi utama (Prototype Fungsi) DEKLARASI FUNGSI 2. Diawali dengan fungsi yang lain Apakah perbedaan antara ke-2 cara pendeklarasian tersebut? >> perlu diingat bahwa prinsip kerja program C sekuensial Untuk alasan dokumentasi program yang baik, maka sebaiknya semua fungsi yang akan dipergunakan dideklarasikan terlebih dahulu (cara I). 6

JENIS FUNGSI Contoh penggunaan fungsi void & non-void 7

Ruang Lingkup Variabel Ruang lingkup / scope variabel adalah batasan atau jangkauan suatu variabel di dalam fungsi. Terdapat 3 jenis scope variabel, yakni: Variabel Lokal, hanya dikenal di daerah lokal saja (mis: blok statement tertentu, di dalam fungsi) Contoh - 1: Ruang Lingkup Variabel 8

/* File program : lokal.c */ #include <stdio.h> void fung_1(void); main() { int i = 20; fung_1(); printf("nilai i di dalam main() = %d\n", i); } void fung_1(void) { int i = 11; printf("nilai i di dalam fung_1() = %d\n", i); } Contoh eksekusi : nilai i di dalam fung_1() = 11 nilai i di dalam main() = 20 Ruang Lingkup Variabel 2. Variabel Global dikenal di seluruh daerah dalam program (baik di dalam ataupun di luar fungsi). Contoh - 1: 9

Ruang Lingkup Variabel Contoh 2: /* File program : ekstern1.c Contoh program dengan variabel eksternal */ #include <stdio.h> int i = 273; /* variabel eksternal */ void tambah(void); main() { printf("nilai awal i = %d\n", i); i += 7; printf("nilai i kini = %d\n", i); tambah(); printf("nilai i kini = %d\n", i); tambah(); printf("nilai i kini = %d\n", i); } void tambah(void) { i++; } 10

Contoh eksekusi : Nilai awal i = 273 Nilai i kini = 280 Nilai i kini = 281 Nilai i kini = 282 Ruang Lingkup Variabel 3. Variabel Statik Variabel yang nilainya tetap dipertahankan walaupun proses telah keluar dari bloknya variabel statik dibuat dengan menggunakan modifier (pengubah) static variabel statik merupakan modifier dari variabel lokal atau global, sehingga variabel statik dapat bersifat statik lokal atau statik global (tergantung dari letak deklarasinya) 11

Ruang Lingkup Variabel Contoh Argumen Fungsi disebut juga parameter sebuah fungsi dapat mempunyai argument-argument yang bersifat opsional bisa ada atau tidak argument-argument berfungsi sebagai parameter inputan yang berupa variabelvariabel bagi fungsi tersebut (bersifat lokal, sehingga tidak perlu dideklarasikan lagi) argument harus bertipe data tertentu 12

Argumen Fungsi Terdapat 2 jenis parameter, yaitu: o Parameter Formal parameter yang ditulis pada deklarasi fungsi o Parameter Aktual parameter yang berlaku sebagai inputan dalam pemanggilan suatu fungsi dapat berupa variabel atau nilai tertentu atau suatu statement Argumen Fungsi Berdasarkan penjelasan di atas, maka komunikasi antar fungsi dilakukan dengan saling bertukar data, dengan cara: hasil balik dari suatu fungsi (return) dengan menggunakan variabel Global (bersifat global) parameter aktual yang dikirimkan ke parameter formal 13

PEMANGGILAN FUNGSI : BY VALUE / BY REFERENCE Ada dua cara pemrosesan fungsi dalam berbagai bahasa pemrograman, yaitu pemanggilan nilai (call by value) dan pemanggilan referensi (call by reference), yang keduanya mempunyai karakteristik berbeda. Metode pemanggilan nilai terjadi jika yang dikirimkan ke fungsi oleh pemanggilnya adalah berupa nilai, dan tidak berpengaruh pada variable yang tertulis di dalam argument pemanggilnya. Sedangkan metode pemanggilan referensi terjadi jika yang dikirimkan ke fungsi berupa referensi (alamat) dan diterima oleh fungsi sehingga perubahan terhadap variable penerima ini akan mempengaruhi variable argument yang memanggilnya. Pemanggilan Fungsi secara default pengiriman parameter di dalam C adalah pass-by-value Karakteristik dari pengiriman parameter secara nilai adalah: 1. yang dikirimkan ke fungsi adalah nilainya, bukan alamat memori dari datanya 2. fungsi yang menerima kirimani nilai i inii akan menyimpannya di alamat yang terpisah dari nilai aslinya yang digunakan oleh bagian program yang memanggil fungsi tersebut 14

Pemanggilan Fungsi 3. karena alasan no.2 di atas, maka perubahan nilai di fungsi tidak akan merubah (tidak mempengaruhi) pada nilai asli di bagian program yang memanggil fungsi walaupun keduanya menggunakan nama variabel yang sama 4. pengiriman secara nilai adalah pengiriman searah, yaitu dari bagian program yang memanggil fungsi ke fungsi yang dipanggil 5. pengiriman suatu nilai dapat dilakukan untuk suatu statement, tidak hanya untuk sebuah variabel atau array atau konstanta saja Contoh 15

Penjelasan Contoh Berdasarkan contoh hdi atas, maka pengiriman ii secara nilai i dapat dijelaskan sebagai berikut: 1. parameter aktual yang dikirimkan adalah berupa nilai datanya, yaitu untuk variabel data1, data1/5, dan data3; dalam statement: secaranilai(data1,data1/5,data3); Penjelasan Contoh 2. variabel data1 dan data3 menempati memori yang berbeda untuk fungsi main() dan fungsi secaranilai() fungsi main(), nilai variabel data1 disimpan pada alamat = 24A0 fungsi secaranilai(), nilai variabel data1 disimpan pada alamat = 24AE 3. perubahan nilai variabel data1 pada fungsi secaranilai() menjadi bernilai = 100 tidak merubah nilai variabel data1 ini dalam fungsi main() yang akan tetap bernilai = 20 4. pengiriman suatu nilai merupakan pengiriman satu arah sebagai berikut: 16

Penjelasan Contoh 5. Pengiriman secara nilai dapat mengirimkan suatu statement, yaitu data1/5 FUNGSI REKURSIF Fungsi yang telah dibahas sebelumnya dipanggil dari bagian lain di luar tubuh fungsi yang bersangkutan. Fungsi rekursif adalah suatu fungsi yang memanggil dirinya sendiri artinya fungsi tersebut dipanggil di dalam tubuh fungsi itu sendiri. Fungsi factorial, yang menghitung nilai factorial dari suatu bilangan bulat positif merupakan pokok bahasan yang memudahkan pemahaman fungsi rekursif. Berikut adalah fungsi factorial yang diselesaikan dengan cara biasa: 17

FUNGSI REKURSIF Int factorial(int n) { Int counter, hasil = 1; For (counter = n; counter >= 1; counter--) Hasil *=counter; Return hasil; } Fungsi tersebut menunjukkan bahwa nilai faktorial dihitung menggunakan looping sehingga melakukan proses sebagai berikut: FUNGSI REKURSIF Hasil = 1; Hasil = hasil * n; artinya hasil = n; Hasil = hasil * (n-1) artinya hasil = n x (n-1); Demikian seterusnya sampai n bernilai 1, atau jika dituliskan sekaligus menjadi : Factorial = n! = n x (n-1) x (n-2). X 1; Fungsi ini dapat dituliskan dalam bentuk : Factorial (n) = n! = n x (n-1)!; 18

FUNGSI REKURSIF Yang menunjukkan sifat rekursif dari suatu fungsi, yaitu (n-1)!. Oleh karena itu, fungsi factorial yang telah ditulis dalam program C sebelumnya, dapat ditulis kembali dalam bentuk rekursif sbb : Int factorial(int n) { If (n == 0) Return 1; Else Return (n * factorial(n-1)); } FUNGSI REKURSIF Contoh lain adalah menghitung jumlah dari suatu deret fibonnaci, dimana deret tersebut didefinisikan sebagai: Fibonacci(0) i(0) = 0 Fibonacci(1) = 1 Fibonacci(n) = Fibonacci(n-1) + Fibonacci(n-2) Sehingga fungsi dalam program C dapat dibuat sbb: Long Fibonacci(long n) { If(n==0 n==1) n Return n; Else Return Fibonacci(n-1) + Fibonacci(n-2); } 19

20