FUNGSI & PROSEDUR. Pertemuan ke-12 dan 13

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

BAB 6 FUNGSI TUJUAN PRAKTIKUM

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

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

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

Mengenal Subroutine pada Pemrograman C Dian Wirdasari

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

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

Fungsi, Parameter, Rekursi

Algoritma Pemrograman 2B (Pemrograman C++)

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

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

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

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

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

IT234 ALGORITMA DAN STRUKTUR DATA FUNGSI

Function nama dipisahkan

2 BEBERAPA FUNGSI PUSTAKA DALAM BAHASA C

OPERASI PERNYATAAN KONDISI

A. TUJUAN 1. Mengetahui perbedaan antara variabel lokal, eksternal, statis dan register

Fungsi (II) Parameter pada fungsi Jenis variabel pada fungsi

FUNGSI. tipe Tipe nilai yang dihasilkan oleh fungsi. Jika tidak dinyatakan, hasil fungsi dianggap bilangan bulat (int)

MODUL 5 SUBPROGRAM / FUNGSI

Fungsi Lanjut DASAR PEMROGRAMAN

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

BAB V FUNGSI Tujuan : 5.1 Dasar Fungsi

Dasar Pemrograman TIP FTP UB

Overview. Pendahuluan. Pendahuluan. Deskripsi Mata kuliah ini mempelajari :

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

PEMROGRAMAN BERORIENTASI OBJEK

PROCEDURE DAN FUNCTION

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

Kurikulum Qt. { Basic OOP } Chapter 4. Function

MODUL. Pointer. Modul Praktikum C++ Dasar Pemrograman Komputer JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK

Materi Pertemuan FUNGSI & PROSEDUR

Algoritma dan Struktur Data

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

Untuk mengurangi pengulangan program yang sama agar program menjadi terstruktur, rapi dan lebih mudah dikembangkan.

Fungsi : Penggolongan Variabel & Pemrograman Terstruktur

SUB PROGRAM (FUNGSI)

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN

Kurikulum Qt. Chapter 4 Function. Fungsi

Fungsi. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

FUNGSI DALAM BAHASA C

Array (Larik) Modul 7

Algoritma dan Pemrograman Tahar Agastani Teknik Informatika UIN

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

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

Overview. Pengenalan Pemrograman (Lanjutan) Dasar Pemrograman (Data)

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

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

MODUL ALGORITMA DAN PEMROGRAMAN. STMIK AMIKOM Yogyakarta. Rajif Agung Yunmar, S.Kom., M.Cs.

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

2. Uraian Materi. a. Pengertian Fungsi

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

Algoritma Pemrograman

Algoritma Pemrograman

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

Achmad Solichin.

Fungsi (Function) Pendahuluan. Objektif. Bahan Bacaan

Bab 10 Fungsi & Prosedur

Pointer (Penunjuk) Modul 6

PRAKTIKUM 7 FUNGSI 1

POINTER. Pemrograman Bahasa C++

Pendahuluan Pemrograman Mikrokontroler

MI1264 DASAR ALGORITMA DAN PEMROGRAMAN

Larik/ Array int a1, a2, a3, a4, a5;

ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari

# SEVEN PROCUDURE & FUNCTION

December 11 PROSEDUR AKHMAD BILYYASIF.

Kurikulum Qt. Chapter 5 Pointer dan References. Agenda. Apa itu Pointer? Memory Komputer. Mengambil Alamat Memory dari Variabel

Pengenalan C++ Oleh : Dewi Sartika

Fungsi. Fungsi. Dasar Komputer & Pemrograman 1. dipecah Sub Program. Program. Dasar Komputer & Pemrograman TC22052 Kartika Firdausy - UAD

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

Fungsi 2 DASAR PEMROGRAMAN

Algoritma Pemrograman

P 4 Bab 3 : Dasar Pemrograman C

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

FUNGSI DALAM BAHASA C

BAB VIII SUB PROGRAM : Fungsi Tanpa Pengembalian Nilai

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

5. Fungsi. S. Indrianii L, M.T

Achmad Solichin.


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

Tipe Data, Variabel, Input/Output

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

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

ALGORTIMA DAN PEMROGRAMAN

LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java)

int fungsi_2() { int main() { fungsi_1(); fungsi_2(); return 0;

Fungsi : Dasar Fungsi

Memudahkan dalam pengembangan program Menghemat ukuran program

Overview. Pendahuluan. Tujuan Instruksional & Kaitan Materi. Deskripsi. Algoritma & Pemrograman I. Prodi Teknik Informatika - Universitas Widyatama 1

10.1 DASAR FUNGSI PADA BAHASA C

Level II A Materi Pemrograman

POINTER. Tim Alpro Teknik Informatika

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

Tipe Data dan Operator

Transkripsi:

FUNGSI & PROSEDUR Pertemuan ke-12 dan 13 Deskripsi Tujuan Instruksional Referensi Review Lingkup Definisi Fungsi & Prosedur Deklarasi Fungsi & Prosedur Cara Penulisan Fungsi & Prosedur dalam Bahasa C/C++ Yang Harus diperhatikan dalam penulisan Fungsi & Prosedur Jenis Parameter Passing Parameter Studi Kasus Perbandingan Fungsi & Prosedur Pedoman Penulisan Fungsi & Prosedur Kelebihan Fungsi & Prosedur Tugas Rumah Overview Jurusan Teknik Informatika III - 2 Universitas Widyatama 1

Materi ini mempelajari Fungsi dalam Bahasa C/C++ Prosedur dalam Bahasa C/C++ Deskripsi Jurusan Teknik Informatika III - 3 Universitas Widyatama Mahasiswa diharapkan dapat Menjelaskan pengertian dan manfaat fungsi dan prosedur, serta cara penulisannya dalam program Menjelaskan lingkup variabel serta passing parameter Menjelaskan penggunaan fungsi dan prosedur dalam Bahasa C/C++ Menggunakan fungsi dan prosedur dalam Bahasa C/C++ Menjelaskan perbandingan fungsi dan prosedur Menjelaskan perbandingan aplikasi yang menggunakan fungsi/ prosedur dan tidak menggunakan fungsi/ prosedur Tujuan Instruksional Jurusan Teknik Informatika III - 4 Universitas Widyatama 2

1. Hartono, Jogiyanto, Konsep Dasar Pemorgraman Bahasa C. Andi, Yogyakarta, 2000 2. Hartanto, Budi, Memahami Logika Pembuatan Program C Secara Mudah, Andi, Yogyakarta, 2004 3. Yatini B., Indra; Nasution, Erliansyah, Algoritma & Struktur Data dengan C++, Graha Ilmu,Yogyakarta, 200 4. Deitel, C How To Program 4 th Edition,Pearson-Prentice Hill, 2004. Solichin, Achmad, Pemrograman Bahasa C dengan Turbo C, IlmuKomputer.com,2003 Referensi Jurusan Teknik Informatika III - Universitas Widyatama Lokal/Otomatis Dikenali/ hanya dapat digunakan di satu blok fungsi tempat variabel dideklarasikan Secara otomatis akan diciptakan ketika fungsi dipanggil dan akan lenyap ketika proses eksekusi terhadap fungsi berakhir. Tidak ada inisialisasi secara otomatis (saat variabel diciptakan nilainya random). Dideklarasikan dengan menambahkan kata auto (opsional). Global/Eksternal Dikenali/dapat digunakan di seluruh blok program sehingga dapat diakses oleh semua fungsi. Jika tidak diberi nilai awal secara otomatis berisi nilai nol. Dideklarasikan dengan menambahkan kata extern (opsional). Review Lingkup Jurusan Teknik Informatika III - 6 Universitas Widyatama 3

Statis yang menempati ruang memori komputer secara permanen, sehingga Nilai variabel statis tidak akan hilang walau eksekusi terhadap fungsi telah berakhir. Jika bersifat internal (lokal), maka variabel hanya dikenal oleh fungsi tempat variabel dideklarasikan. Jika bersifat eksternal (global), maka variabel dapat dipergunakan oleh semua fungsi yang terletak pada program yang sama. Inisialisasi hanya perlu dilakukan sekali saja, yaitu pada saat fungsi dipanggil pertama kali. Jika tidak diberi nilai awal secara otomatis berisi nilai nol. Dideklarasikan dengan menambahkan kata static. Cara pendeklarasian static tipe_data nama_variabel; Register biasa yang berada di memori komputer dan disimpan di register CPU Hanya dapat diterapkan pada variabel lokal yang bertipe int dan char. Digunakan untuk mengendalikan proses perulangan (looping). Proses perulangan akan lebih cepat karena variabel register memiliki kecepatan yang lebih tinggi dibandingkan variabel biasa. Dideklarasikan dengan menambahkan kata register. Cara pendeklarasian register tipe_data nama_variabel Review Lingkup Jurusan Teknik Informatika III - 7 Universitas Widyatama int A,B; register double Memory; () float Y,X; static long int F = 1; int D; Lokal Global Lokal Register Statis Review Lingkup Jurusan Teknik Informatika III - 8 Universitas Widyatama 4

Sub program yang dapat dipanggil dari fungsi lain dan dapat mengembalikan suatu nilai ke fungsi yang memanggilnya 3 Bagian dari program yang digunakan untuk mengerjakan suatu tugas tertentu dan letaknya dipisahkan dari bagian program yang menggunakannya 1 Sebuah Prgogram yang bertujuan untuk mengerjakan tugas tertentu 2 Definisi Fungsi & Prosedur Jurusan Teknik Informatika III - 9 Universitas Widyatama Deklarasi Fungsi Tipe Output Fungsi Fungsi (Parameter Input) Deklarasi Prosedur void Prosedur Jurusan Teknik Informatika III - 10 Universitas Widyatama (Parameter Input, Parameter Output) Catatan Terdapat dua nilai yang berhubungan dengan fungsi & prosedur Argumen merupakan nilai/informasi yang akan dikirimkan ke fungsi/prosedur untuk diproses Parameter merupakan nilai/informasi yang diterima oleh fungsi tersebut (parameter input) atau merupakan nilai yang dikirimkan oleh fungsi/prosedur ke program yang memanggilnya Fungsi maksimum hanya bisa menghasilkan /mengembalikan satu nilai ke program yang memanggilnya Prosedur bisa menghasilkan/ mengembalikan lebih dari satu nilai ke program yang memanggilnya Deklarasi Fungsi & Prosedur

Penulisan fungsi/prosedur sebelum fungsi tipe_fungsi nama_fungsi(parameter input) Badan Fungsi void nama_prosedur(parameter input,parameter output) Badan Prosedur () Badan fungsi Cara Penulisan Fungsi & Prosedur dalam Bahasa C/C++ Jurusan Teknik Informatika III - 11 Universitas Widyatama Penulisan fungsi/prosedur setelah fungsi tipe_fungsi nama_fungsi(parameter input); void nama_prosedur(parameter input,parameter output); () Badan fungsi tipe_fungsi nama_fungsi(parameter input) Badan Fungsi void nama_prosedur(parameter input,parameter output) Badan Prosedur Cara Penulisan Fungsi & Prosedur dalam Bahasa C/C++ Jurusan Teknik Informatika III - 12 Universitas Widyatama 6

Kalau tipe fungsi tidak disebutkan, maka akan dianggap sebagai fungsi dengan nilai keluaran bertipe integer. Untuk fungsi yang memiliki keluaran bertipe bukan integer, maka diperlukan pendefinisian penentu tipe fungsi. Untuk fungsi yang tidak mempunyai nilai keluaran maka dimasukkan ke dalam tipe void Pernyataan yang diberikan untuk memberikan nilai akhir fungsi berupa pernyataan return. Suatu fungsi dapat menghasilkan nilai balik bagi fungsi pemanggilnya. Yang harus diperhatikan dalam penggunaan Fungsi & Prosedur Jurusan Teknik Informatika III - 13 Universitas Widyatama Parameter Formal float Tambah (float X, float Y) return (X+Y); Parameter Aktual () C = Tambah (A,B); Jurusan Teknik Informatika III - 14 Universitas Widyatama /Parameter yang akan dikirim ke suatu fungsi Parameter Aktual Jenis-Jenis Parameter Parameter Formal /Parameter yang ada pada suatu fungsi 7

Nilai dari parameter aktual akan disalin ke parameter formal. Yang dikirimkan ke fungsi adalah nilai dari datanya, bukan alamat memori letak dari datanya. Fungsi yang menerima kiriman nilai akan menyimpannya di alamat terpisah dari nilai aslinya yang digunakan oleh bagian program yang memanggil fungsi. Perubahan nilai di fungsi (parameter formal) tidak akan merubah nilai asli di bagian program yang memanggilnya. Pengiriman parameter secara nilai adalah pengiriman searah, yaitu dari bagian program yang memanggil fungsi ke fungsi yang dipanggil. Pengiriman suatu nilai dapat dilakukan untuk suatu ungkapan, tidak hanya untuk sebuah variabel, elemen array atau konstanta saja. Passing Parameter (Passing Parameter by Value) Jurusan Teknik Informatika III - 1 Universitas Widyatama Ex Cara Penulisan di parameter formal Double Fak(int X); Cara Penulisan di parameter aktual A = ; Hasil = Fak(A); X memori sebelum fungsi dijalankan A Hasil 00 Fak X memori sebelum fungsi dijalankan A Hasil 00 Fak Passing Parameter (Passing Parameter by Value) 2 Jurusan Teknik Informatika III - 16 Universitas Widyatama 8

Pemanggilan secara Referensi merupakan upaya untuk melewatkan alamat dari suatu variabel ke dalam fungsi. Yang dikirimkan ke fungsi adalah alamat letak dari nilai datanya, bukan nilai datanya. Fungsi yang menerima kiriman alamat ini akan menggunakan alamat yang sama untuk mendapatkan nilai datanya. Perubahan nilai di fungsi akan merubah nilai asli di bagian program yang memanggil fungsi. Pengiriman parameter secara referensi adalah pengiriman dua arah, yaitu dari fungsi pemanggil ke fungsi yang dipanggil dan juga sebaliknya. Pengiriman secara acuan tidak dapat dilakukan untuk suatu ungkapan. Passing Parameter (Passing Parameter by Reference) Jurusan Teknik Informatika III - 17 Universitas Widyatama Yang dikirimkan ke fungsi adalah nama dari suatu variabel Ex Cara Penulisan di parameter formal void Tukar (int &Bil1, int &Bil2); Cara Penulisan di parameter aktual A = ; B = 1; Tukar (A,B); memori sebelum fungsi dijalankan A B bantu 1 00 Tukar memori setelah fungsi dipanggil A/Bil1 B/Bil2 bantu 1 00 Tukar Passing Parameter (Passing Parameter by Reference) 2 Jurusan Teknik Informatika III - 18 Universitas Widyatama 9

Yang dikirimkan ke fungsi adalah alamat dari suatu variabel Ex Cara Penulisan di parameter formal void Tukar (int *Bil1, int *Bil2); Cara Penulisan di parameter aktual A = ; B = 1; Tukar (&A,&B); memori sebelum fungsi dijalankan A B Bil1 Bil2 bantu 1 00 01 02 Tukar Bil1 Bil2 Passing Parameter (Passing Parameter by Pointer) 2 Jurusan Teknik Informatika III - 19 Universitas Widyatama memori setelah fungsi dipanggil A B bantu 1 00 01 02 Tukar Perbandingan Parameter Tipe Data Output/nilai balik Input Hanya 1 Fungsi Tergantung output yang dihasilkan oleh fungsi Input & Output void (Tidak memiliki tipe data khusus) >= 1 Prosedur Perbandingan Fungsi & Prosedur Jurusan Teknik Informatika III - 20 Universitas Widyatama 10

Fungsi harus independen Satu fungsi hanya mengerjakan satu tugas saja Gunakan semaksimal mungkin fasilitas input dan output yang disediakan oleh fungsi Pedoman Pembuatan Fungsi & Prosedur 2 Jurusan Teknik Informatika III - 21 Universitas Widyatama 1. Menjadikan program memiliki struktur yang jelas 1 sehingga program lebih konsisten dan lebih mudah dimengerti 2 2. Menghindari penulisan baris program secara berulang-ulang 1 sehingga program menjadi lebih efisien dan Ukuran Program menjadi lebih kecil 2 3. Perintah dalam blok program cenderung lebih independen 2 4. Reusable 2 Kelebihan Fungsi & Prosedur Jurusan Teknik Informatika III - 22 Universitas Widyatama 11