Rahmat D. R. Dako, ST, M.Eng.  Modul  void main (void)  Modul  fungsi = function  Keuntungan penggunaan Fungsi atau modul :  Program menjadi lebih.

Slides:



Advertisements
Presentasi serupa
Fungsi Konsep Pemrograman.
Advertisements

Pemrograman Berorientasi Objek (Project)
Pemrogramman Terstruktur
PERTEMUAN VIII POINTER
FUNGSI Deklarasi dan Definisi fungsi Void dan Non-void Fungsi main.
STRUKTUR DATA (5) Pointer dan Function
Pointer. Output? #include int x = 2; void misteri(int a, int b) { a = 2*x; b = y; y = a; } main() { int y; x = 5; y = 7; misteri(x, y); printf("%d %d\n",
Fungsi, Parameter, Rekursi Daniel Riano Kaparang Book reference: Jogiyanto. Konsep Dasar Pemrograman Bahasa C. Andi Star. Yogyakarta Kristanto Andri.
Fungsi (lanjutan) Pertemuan ke-9 Bahasa C.
Parameter formal adalah variabel yang ada pada daftar parameter dalam
Modul 11 – Hendi Hermawan - 1
RECORD.
INSTRUKSI MASUKAN DAN KELUARAN
PERTEMUAN VI POINTER LANJUT
Konsep Pemrograman Function.
Prosedur (Procedure).
FUNCTION / FUNGSI.
Algoritma & Struktur Data Pointer Evangs Mailoa.
Review-Dasar Pemrograman Komputer
Fungsi Lecture 7. Motivation Complexity of programming problem  more difficult to consider the solution as a whole  clue: dividing the problem into.
FUNGSI.
STRUKTUR DATA (5) Pointer dan Function
PERTEMUAN IV STRING JURUSAN TELEKOMUNIKASI
Pointer Yuliana Setiowati.
POINTER (VAR.PENUNJUK)
Procedure , Function dan Parameter
FUNGSI Teknik Informatika Universitas Muhammadiyah Malang 2011 Pemrogramman Terstruktur.
STRUKTUR DATA Pointer dan Function
Fungsi Fungsi.
Statement Input – Output
Function User Function.
Pemrograman Berorientasi Obyek1 Sub Pokok Bahasan Pointer. Reference. Function Passing Parameter by Value, by Reference, by Pointer.
DASAR PEMOGRAMAN MODULAR DESIGN DASAR PEMOGRAMAN KELOMPOK 5 UNIVERSITAS BRAWIJAYA.
Tenia Wahyuningrum pointers Tenia Wahyuningrum
Pointer (Part 1).
1 Pertemuan Fungsi Matakuliah: T0016 / Algoritma dan Pemrograman Tahun: 2007 Versi: 6.
1. Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu :  Mendemonstrasikan penggunaan fungsi serta pengiriman parameter 2.
Matakuliah : T0016 / Algoritma dan Pemrograman Tahun : 2007 Versi : 6
Fungsi dan Prosedur.
FUNGSI.
Tujuan Instruksional Mahasiswa memahami konsep fungsi
Procedure.
Castaka Agus Sugianto, M.Kom., M.CS
PROCEDURE AND FUNCTION
Bab2 ARRAY (LARIK).
Prosedur.
FUNCTION Fungsi (Function) merupakan sekumpulan instruksi yang membentuk satu unit serta memiliki nama. Fungsi digunakan.
FUNGSI.
FUNGSI.
Prosedur dalam C++.
FUNGSI.
Prosedur (Procedure).
Bahasa C – Intro Yenni Astuti, S.T., M.Eng..
FUNCTION Fungsi (Function) merupakan sekumpulan instruksi yang membentuk satu unit serta memiliki nama. Fungsi digunakan.
Pointer, Array dan String
Struktur Data (Data Structure) – IS 2313
Parameter.
As’ad Djamalilleil Function (Fungsi) As’ad Djamalilleil
Fungsi, Parameter & Rekursi
FUNGSI.
Algoritma dan Pemrograman
Algoritma dan Struktur Data
IT234 ALGORITMA DAN STRUKTUR DATA
TPI4202 e-tp.ub.ac.id Modular Design Lecture 7.
Parameter Ketika procedure atau function dipanggil, kita dapat melewatkan suatu nilai ke dalam function atau procedure tersebut. Nilai yang dilewatkan.
FUNGSI II.
Algoritme dan Pemrograman
FUNGSI.
Pemrograman Terstruktur
PERTEMUAN V F U N G S I Tujuan membuat suatu fungsi
Transcript presentasi:

Rahmat D. R. Dako, ST, M.Eng

 Modul  void main (void)  Modul  fungsi = function  Keuntungan penggunaan Fungsi atau modul :  Program menjadi lebih mudah dimengerti  Pengaruh antar bagian menjadi lebih kecil (lebih independen)  Dapat dipakai kembali  Lebih efisien dan ukuran program menjadi lebih kecil  Lebih konsisten

: printf, scanf, gets, strlen  Contoh fungsi : printf, scanf, gets, strlen program 1  Contoh program 1 M! N!  Dari contoh terdapat pengulangan penulisan program : perhitungan nilai faktorial M! dan N!. jumlahnya sangat banyak  Bagaimana jika proses seperti ini jumlahnya sangat banyak ? sekali saja ?  Bagaimana jika dibuat sekali saja ? program 2  Bandingkan dengan program 2

fungsimesin  karakteristik  Anggaplah fungsi  mesin  karakteristik  Karakteristik mesin  Karakteristik mesin : Input : NO Output NO ; lampu  clrscr ( ) 1. Input : NO and Output : NO ; lampu  clrscr ( ) Input : NO Output YES ; Fax  rand ( ) 2. Input : NO and Output : YES ; Fax  rand ( ) Input : YES Output NO ; mesin tari  gotoxy (20, 10) 3. Input : YES and Output : NO ; mesin tari  gotoxy (20, 10) Input : YES Output YES ; mesin kopi  strlen (tempat_lahir) 4. Input : YES and Output : YES ; mesin kopi  strlen (tempat_lahir) 5. Input : YES Output “NO” ; telp kartu  strrev (peringatan) 5. Input : YES and Output : “NO” ; telp kartu  strrev (peringatan) 6. Input : YES Output “YES” ; mesin penjual tiket dengan kartu  scanf (“%d”, &angka) 6. Input : YES and Output : “YES” ; mesin penjual tiket dengan kartu  scanf (“%d”, &angka)

 Pemanggilan dua  Pemanggilan fungsi dibedakan menjadi dua macam : WITHOUT  Pemanggilan fungsi yang WITHOUT output WITH  Pemanggilan fungsi yang WITH output

 Bentuknya sederhana  Harus dipanggil dalam satu baris perintah  Tidak adanya variabel yang ditempatkan didepan fungsi.  Contoh :  Clrscr (); nilai  Exit(nilai);  Abort() input parameter  Dapat juga memiliki input parameter

 Banyak alternatif pemanggilan  Banyak alternatif pemanggilan fungsi, karena output dari fungsi :  Boleh diabaikan (pemanggilannya  fungsi without output)  Boleh dipakai langsung dalam perintah-perintah lain.  Boleh ditampung lebih dahulu dalam sebuah variabel.

 Contoh  Output fungsi diabaikan ▪ fflush (stdin)  Boleh dipakai langsung dalam perintah-perintah lain. ▪ If (fflush(stdin) == -1)… ▪ dst..  Boleh ditampung lebih dahulu dalam sebuah variabel. ▪ x =fflush (stdin);

Header – fungsi {Tubuh-fungsi} Komponen pembentuk header-fungsi Tipe_outputNama_fungsiparameter Tipe_output Nama_fungsi (parameter)

 Menunjukkan apakah fungsi memiliki keluaran atau tidak  Bila tidak ada output  void  Bila ada output  tipe data dari output  Bagaimana bila lupa menuliskan tipe output ?  Tipe outputnya  int (integer)

 Beberapa petunjuk pembuatan nama fungsi :  Beri nama fungsi semirip mungkin dengan tugas yang akan diselesaikan oleh fungsi tersebut  Nama fungsi sebaiknya cukup pendek, tapi jangan disingkat atau berupa singkatan yang tidak jelas.  Penamaan harus konsisten

 Merupakan tempat masukan atau input ke sebuah fungsi  Sebuah fungsi dapat berisi beberapa parameter.  Parameter tidak harus sama  Setiap parameter tersusun atas dua komponen : tipe_variabel dan nama_variabel  Contoh penulisan fungsi  Unsigned long faktorial (int angka)

 Isi dari suatu variabel (passing by value)  Nama dari suatu variabel (passing by reference).  Alamat dari suatu variabel (passing by pointer)

 Isi atau nilai dari variabel yang ada pada parameter aktual akan dicopykan ke parameter formal  Contoh :  Unsigned long faktorial (int x)  parameter formal  Unsigned long faktorial_m faktorial (m)  parameter aktual

NamaIsiAlamatKeterangan m5100Lokasi memori untuk fungsi (main) Faktorial_m?102 x?500Lokasi memori untuk fungsi faktorial NamaIsiAlamatKeterangan m5100Lokasi memori untuk fungsi (main) Faktorial_m?102 x5500Lokasi memori untuk fungsi faktorial

 Mengirimkan nama dari variabel yang ada pada parameter aktual ke parameter formal  variabel memiliki lokasi di memori sama, tapi memiliki dua nama. Satu nama di parameter aktual dan satu nama di parameter formal.  Penggunaan metode ini untuk semua tipe data kecuali string dan array  Contoh :  Void tukar (int &angka_1, int &angka_2)  parameter formal  tukar (bil_1, bil_2)  parameter aktual

NamaIsiAlamatKeterangan bil_110100Lokasi memori untuk fungsi (main) Bil_ NamaIsiAlamatKeterangan bil_1/angka_110100Lokasi memori untuk fungsi (main) Bil_2/angka_190102

 Pointer/penunjuk akan menunjuk pada lokasi memori tempat parameter aktual berada.  Parameter aktual harus mengirimkan alamat posisinya di memori ke parameter formal, sehingga posisinya dapat diketahui

 Variabel (p. aktual)  rumah dengan alamat tertentu.  dapat di isi  Variabel (p. formal)  kartu nama berisi alamat rumah tersebut  tidak dapat di isi  Dengan kartu nama, dapat diketahui alamat rumah tersebut dan melakukan sesuatu di rumah tersebut (mis, mengisi barang ke dalam rumah)  Untuk mengisi rumah, harus pergi menuju alamat rumah, baru bisa mengisi

 Variabel (p. formal)  diberi tanda * = pointer didepan variabel  Variabel (p. aktual)  diberi tanda & didepan variabel untuk menyatakan alamat  Contoh :  Void tukar (int *ptr_angka_1, int *ptr_angka_2)  tukar (&bil_1, &bil_2)

NamaIsiAlamatKeterangan bil_110100Lokasi memori untuk fungsi (main) Bil_ Ptr_angka_1?500Lokasi memori untuk fungsi tukar Ptr_angka_2?502 bantu?504 NamaIsiAlamatKeterangan bil_110100Lokasi memori untuk fungsi (main) Bil_ Ptr_angka_ Lokasi memori untuk fungsi tukar Ptr_angka_ bantu?504

Void tukar (int *ptr_angka_1, int *ptr_angka_2) { Int bantu; bantu = *ptr_angka_1; *ptr_angka_1 = *ptr_angka_2; *ptr_angka_2 = bantu; }

NamaIsiAlamatKeterangan bil_110100Lokasi memori untuk fungsi (main) Bil_ Ptr_angka_ Lokasi memori untuk fungsi tukar Ptr_angka_ bantu10504 NamaIsiAlamatKeterangan bil_190100Lokasi memori untuk fungsi (main) Bil_ Ptr_angka_ Lokasi memori untuk fungsi tukar Ptr_angka_ bantu10504

NamaIsiAlamatKeterangan bil_190100Lokasi memori untuk fungsi (main) Bil_ Ptr_angka_ Lokasi memori untuk fungsi tukar Ptr_angka_ bantu10504

 Bila lupa meletakkan tanda * di depan variabel Void tukar (int *ptr_angka_1, int *ptr_angka_2) { Int bantu; bantu = *ptr_angka_1; ptr_angka_1 = *ptr_angka_2; *ptr_angka_2 = bantu; }  Kira-kira apa yang terjadi ?

NamaIsiAlamatKeterangan bil_110100Lokasi memori untuk fungsi (main) Bil_ Ptr_angka_1?500Lokasi memori untuk fungsi tukar Ptr_angka_2?502 bantu?504 NamaIsiAlamatKeterangan bil_110100Lokasi memori untuk fungsi (main) Bil_ Ptr_angka_ Lokasi memori untuk fungsi tukar Ptr_angka_ bantu?504

NamaIsiAlamatKeterangan bil_110100Lokasi memori untuk fungsi (main) Bil_ Ptr_angka_ Lokasi memori untuk fungsi tukar Ptr_angka_ bantu10504 NamaIsiAlamatKeterangan bil_110100Lokasi memori untuk fungsi (main) Bil_ Ptr_angka_ Lokasi memori untuk fungsi tukar Ptr_angka_ bantu10504

 Catatan, bila lupa menaruh & akan menyebabkan yang diambil adalah isi dari variabel pada parameter aktual (90 dan 10), bukan nilai variabel yang ditunjukkan oleh alamat pada variabel pointer. NamaIsiAlamatKeterangan bil_190100Lokasi memori untuk fungsi (main) Bil_ Ptr_angka_190500Lokasi memori untuk fungsi tukar Ptr_angka_ bantu10504

 Catatan, bila lupa menaruh * akan menyebabkan yang diambil adalah isi dari variabel pointer (100), bukan nilai variabel yang ditunjukkan oleh alamat pada variabel pointer. NamaIsiAlamatKeterangan bil_190100Lokasi memori untuk fungsi (main) Bil_ Ptr_angka_ Lokasi memori untuk fungsi tukar Ptr_angka_ bantu10504

 Digunakan untuk mengubah nilai variabel di parameter aktual  Tetapi, sangat sensitif terhadap kesalahan, yang dapat mengakibatkan komputer hang.  Kelebihannya, adalah kemampuan melakukan pengiriman data string atau array yang tidak dimiliki oleh dua metode sebelumnya.

ukuran kecil passing by value  Jika ingin mengirimkan data yang memiliki ukuran kecil digunakan metode passing by value ukuran besar passing by reference  Jika ingin mengirimkan data yang memiliki ukuran besar digunakan metode passing by reference tidak berlaku string dan array  Metode passing by value dan passing by reference tidak berlaku untuk pengiriman data dengan tipe string dan array passing by pointer string dan array  Metode passing by pointer direkomendasikan untuk tipe data string dan array