Pemrograman Dasar C. Minggu 6

dokumen-dokumen yang mirip
Pemrograman Dasar C. Minggu 8

Fungsi : Dasar Fungsi

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

Pemrograman Dasar C. Minggu 4

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

PRAKTIKUM 7 FUNGSI 1

Pemrograman Dasar C. Minggu 9

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

Pemrograman Dasar C. Minggu 6

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

Pemrograman Dasar C. Minggu 3

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

Fungsi DASAR PEMROGRAMAN

Perulangan, Percabangan, dan Studi Kasus

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

Algoritma Pemrograman 2B (Pemrograman C++)

Bahasa C-M6 By Jamilah, Skom 1

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

Fungsi DASAR PEMROGRAMAN

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

OPERASI PERNYATAAN KONDISI

Kurikulum Qt. Chapter 4 Function. Fungsi

Kurikulum Qt. { Basic OOP } Chapter 4. Function

Pemrograman Dasar C. Minggu 2

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

Algoritma dan Pemrograman Tahar Agastani Teknik Informatika UIN

Pengenalan C++ Oleh : Dewi Sartika

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

Chapter 1 KONSEP DASAR C

Pemrograman Dasar C. Minggu 1: Pengenalan C Programming

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

Tipe Data, Variabel, Input/Output

SOAL C++ Created by Yuli Astuti,S.Kom Copyright 2009

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

Fungsi 1 DASAR PEMROGRAMAN

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

BAHASA PEMROGRAMAN C

Algoritma dan Pemrograman. Pertemuan Ke-11 Function

Fungsi 1. Ekohariadi FT Unesa

Tipe Data dan Operator

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

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

IT234 ALGORITMA DAN STRUKTUR DATA FUNGSI

BAHASA PEMROGRAMAN C LANGUAGE

PROCEDURE DAN FUNCTION

IMPLEMENTASI NOTASI ALGORITMIK KE DALAM BAHASA C

Struktur Program Bahasa C

Bab 2. Dasar-Dasar Pemrograman C

BAB V FUNGSI Tujuan : 5.1 Dasar Fungsi

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

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

Function nama dipisahkan

8.1 FUNGSI, DEKLARASI DAN DEFINISI NYA

PEMROGRAMAN BERORIENTASI OBJEK

Kondisional/Pencabangan/Pemilihan. Konsep Pencabangan Sintaks Konsep if (kasus tunggal) Konsep if-else (2-3 kasus) Konsep switch (lebih dari 3 kasus)

Pertemuan 6. Pemrograman Modular

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

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

BAB 6 FUNGSI TUJUAN PRAKTIKUM

Pendahuluan Pemrograman Mikrokontroler

IT234 - Algoritma dan Struktur Data. Ramos Somya

PENGENALAN BAHASA C. Praktikum 3

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

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

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

Tutorial 08 Pertemuan 12

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

BAB 4 PENGENALAN BAHASA C

MODUL PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PERTEMUAN 1

Praktikum Modul Praktikum ke Judul Materi Tujuan / Sasaran Waktu (lama) Aplikasi yang digunakan

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

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

Algoritma dan Struktur Data

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

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

Subprogram (dalam Bahasa C++ + Flowchart)

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

Modul 1 Dasar Dasar Bahasa Pemrograman C

Minggu ke-11 Fungsi (Function)

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

TUGAS TEORI ALGO LANJUT

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

IT234 - Algoritma dan Struktur Data. Ramos Somya

SATUAN ACARA PERKULIAHAN (SAP)

AP2B Dini Triasanti STRUKTUR PEMROGRAMAN PYTHON

MODUL 2 INTERNET PROGRAMMING : PHP (2)

Dasar Pemrograman Mikrokontroler dengan Bahasa C

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

Percabangan & Perulangan

Minggu ke-14 Typedef, Struct & Command Line Argument

PENGENALAN BAHASA C. A. Struktur Kode Program dalam Bahasa C Secara garis besar, suatu kode program dalam bahasa C memiliki struktur umum seperti ini:

SUB PROGRAM (FUNGSI)

Aplikasi Rekursif dalam Analisis Sintaks Program

Apakah Anda sering kesulitan untuk

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

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

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

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

MODUL I PENGENALAN IDE C++, ALGORITMA DAN PEMROGRAMAN

Sejarah C. Dirancang oleh Denis M. Ritchie tahun 1972 di Bell Labs.

Transkripsi:

Pemrograman Dasar C Minggu 6

Topik Bahasan Fungsi Menulis sekali digunakan berulang kali Tugas yang dikompartemenkan Variabel lokal dalam fungsi Teknik Mendesain Top-Down Kode Pseudo Struktur dan Diagram Data Flow Fungsi Spesial main

Fungsi Tugas individu yang identifikasi sebelumnya dengan partisi dan tugas berulang adalah kandidat untuk fungsi: menulis fungsi sekali dan dipanggil jika diperlukan. Komponen utama, fungsi mempunyai: nama sebagai identifier dimana fungsi dipanggil, contoh: printf tubuh dimana pekerjaan internal didefinisikan (sebuah statemen compound dengan {}) fungsi mungkin membutuhkan sebuah informasi yang dikirim kepadanya parameter. Ini dilakukan dengan menggunakan kurung () setelah nama, contoh printf mendapatkan string kontrol dan argumen lain sebuah tipe, tipe return seperti float dll

Analogi Fungsi Dalam matematika kita menulis x = cos(y) Kita menggunakan fungsi bernama cos Kita perlu memberikan kepada fungsi ini sebuah parameter dari tipe derajat : sudut y Fungsi mengembalikan (return) sebuah hasil bilangan riil yang diberikan kepada x, jadi fungsi berlaku seolah mempunyai tipe return real, atau double

Definisi Fungsi Fungsi (seperti variabel dll) harus didefinisikan sebelum dapat digunakan (kompiler harus tahu seperti apa bentuknya) Sebuah definisi fungsi sbb: tipe_hasil nama_fungsi (daftar Parameter) { deklarasi lokal (jika diperlukan)... statemen-statemen;... return statemen; - biasanya }

tipe return statemen Contoh fungsi sederhana: Definisi Fungsi float fungsi_math (int x, int y) { } float z; z = (float)x / y; return (z); identifier deklarasi lokal statemen return parameter Analogi kotak hitam (black box) Parameter Fungsi Hasil (return)

Contoh: Fungsi Pangkat int x_pangkat_y (int x, int y) { if (!(( x = = 0) (y < 0))) { switch (y) { case 0: x = 1; break; case 1: break; default: z = y; for (i=2, i <= y; i++) { x *= z; } /* - akhir for - */ } /* akhir dari switch */ } else x = 0; return (x); } catatan: ditempatkan diatas main()

Memanggil Fungsi Sebuah fungsi dipanggil untuk berfungsi dengan nama identifikasinya. Berikan parameter aktual yang dibutuhkan dengan menempatkannya didalam kurung yang mengikuti nama. Karena fungsi biasanya mengembalikan sebuah nilai, biasanya di-assign ke sesuatu (misalnya sebuah variable yang sesuai) untuk menerima hasil yang dikembalikan.

Memanggil Fungsi Menggunakan contoh pangkat sebelumnya int a = 2, c; c = x_pangkat_y (a,2); Catatan: Tipe dari variabel c sesuai dengan tipe return dari fungsi yang akan menerima hasil (keduanya int) Parameternya passed by value, artinya a tidak berubah, sebuah kopi dari nilainya akan kirimkan kepada fungsi Semua yang dideklarasikan didalam fungsi hanya dikenal di dalam fungsi dan tidak diluar, jadi variabel x dan y hanya ada didalam fungsi kita dan tidak boleh dicampur artikan dengan semua yang terdeklarasi diluar Pengguna tidak perlu tahu apa yang ada di dalam fungsi

Contoh Fungsi Lengkap #include <stdio.h> /* pertama pendefinisian fungsi */ float my_perkalian (float a, float b) { float c; c = a * b; return (c); } float my_pembagian(float q1, float q2) { return (q1/q2); } /* kemudian main didetailkan */ int main (void) { float a = 4.0, x = 2.0, y = 3.0, z, w; z = my_perkalian(a,x); printf( \n%f %f, z, my_pembagian(z,y)); } return (0);

Tambahan untuk Fungsi Parameter Formal adalah nama parameter yang dideklarasikan didalam deklarasi fungsi, seperti float q1 dan q2 dalam my_pembagian Parameter Aktual adalah nama argumen yang dikirim kepada parameter formal ketika fungsi dipakai, jadi ketika my_pembagian dipanggil parameter aktual y dan z dipakai dan dengan asosiasi posisi nilai dari z dikirim kepada fungsi dan menjadi nilai dari parameter formal q1 dan juga q2 mengadopsi nilai y

Tambahan untuk Fungsi Penting untuk disadari bahwa nilai dari parameter aktual yang dikirim kepada parameter formal dan bukan variabel itu sendiri, jadi jika didalam fungsi parameter formalnya berubah nilainya, sumbernya yaitu parameter aktual yang berada diluar tidak terpengaruh! Semua variabel dll yang dideklarasikan di dalam sebuah fungsi hidup hanya jika fungsinya di-run dan mati jika selesai dan nilainya tidak diingat! Kompiler mengecek bahwa angka dan tipe dari parameter aktual dan formal sejenis dan membuat konversi seperlunya aktual ke formal

#include <stdio.h> Fungsi dan Variabel Lokal int inc_int (int a) { a++; return (a); } int alt_inc (int a) { int b; b = b + a; return (b); } int main (void) { int a = 1, b, c, d; Perhatikan penggunaan nama yang sama untuk dua variabel yang lokal ke fungsinya sendiri jadi mereka TIDAK sama! b = inc_int(a); c = alt_inc(b); d = alt_inc(b); printf( a=%d b=%d c=%d d=%d, a, b, c, d); } return (0);

Studi Kasus: Menghitung Analisa Persyaratan: Faktorial (n!) Menghitung n! untuk integer positif yang diberikan Spesifikasi: Menerima input dari integer positif (menggunakan int) Algoritma: n! = n * (n-1) * (n-2) * (n-3)... * (n-(n-1)) Menampilkan output sebagai sebuah bilangan (mungkin besar jadi gunakan float? atau mungkin double?

Menghitung Faktorial (n!) Desain START Mendapat Input Menghitung n! Menampilkan n! Lagi? END

Desain Top-Down Mengembangkan Desain selanjutnya dengan Pseudo Code Start: Tampilkan Masukkan sebuah bilangan positif: Baca input sebagai angka, simpan sebagai n hasil = n n = n 1 while n > 1 hasil = hasil x n n = n 1 Tampilkan n faktorial = Tampilkan hasil sebagai angka Tampilkan Tekan y untuk lanjut Baca input sebagai karakter, simpan di in_c If in_c adalah Y ulangi dari awal: Mendapat Input Menghitung n! Tampilkan n! Lagi?

Desain Top-Down CATATAN: partisi/kompartemen, kandidat yang mungkin untuk fungsi? Mereka dapat berdiri sendiri! Perhatikan 4 kemunculan dari Tampilkan dan 2 dari Baca, kandidat untuk fungsi juga? Pengulangan?

Struktur dan Data Flow Diagram Diagram Struktur menunjukkan relasi internal diantara modul-modul (sering fungsi-fungsi individual) yang ditunjukkan dalam kotak, garis menunjukkan ketergantungan. Data Flow Diagram menunjukkan aliran dari data diantara modul-modul, sering menspesifikasi tipe data

Struktur dan Data Flow Diagram int n main str printf dapat_input float hasil & int n char in_c scanf int n str printf int n float hasil display_hasil float hasil & str & int n scanf hitung_n_fak printf

#include <stdio.h> int dapat_input (void) { int x; printf( \nmasukkan nilai integer positif: ); scanf( %d, &x); return (x); } Implementasi float hitung_n_fak (int y) { float i; for (i = (float)y, --y; y>1; y--) { i *= y; } return (i); } void display_hasil (int n, float x) { printf( \n%d faktorial = %g, n, x); } int main (void) { int n, float hasil, char in_c; do{ n = dapat_input(); hasil = hitung_n_fak(n); display_hasil(n, hasil); printf( \ntekan y untuk lanjut: ); scanf( %c, &in_c); } while (in_c = = Y in_c = = y ); return (0); }

Penggunaan Ulang (Reusability) Reusability: sebuah tugas dilakukan berulang kali dalam program adalah kandidat yang baik untuk sebuah fungsi tulis sekali, dipakai lagi berulang kali. (Fungsi seperti ini, jika didesain dengan baik, mungkin digunakan untuk program lain juga! Letakkan dalam library anda sendiri?) Contoh: Sebuah program untuk menhitung total power yang dibuang di dalam sebuah jaringan tahanan (resistor). Mengulangi tugas menghitung power dalam sebuah resistor berulang kali, satu kali untuk setiap resistor dalam jaringan. Tugas berulang biasanya kandidat yang baik untuk fungsi. Jadi hanya memanggil fungsi ini ketika program anda membutuhkan nilai power dari resistor tertentu Hindari berulang kali menulis bagian kode yang sama.

Penyembunyian Data (Data Hiding) Data Hiding: gunakan variabel lokal (yang dideklarasikan di dalam fungsi) untuk menyembunyikan data yang tidak perlu diketahui bagian program yang lain (dijaga supaya berdiri sendiri). Contoh: Jika semua bagian lain dari program membutuhkan adalah power yang dibuang, maka variabel untuk menyimpan voltase dan arus dapat tetap lokal untuk fungsi tsb, jadi tersembunyi dari bagian program yang lain. Menghindari mempunyai terlalu banyak variabel global.

Pemrograman Terstruktur Pemrograman Terstruktur / Structured Programming Semuanya tentang peng-kompartemenan dan modularisasi Membuat program lebih mudah ditulis dan dipahami

Contoh Fungsi Fungsi untuk menghitung power double res_pwr (int res_num) { double v, i, pwr; printf( \nuntuk resistor %d, res_num); printf( masukkan volt: ); scanf( %lf, &v); printf( masukkan arus: ); scanf( %lf, &i); pwr = v * i; return (pwr); } Digunakan pada bagian lain dari program seperti: total_pwr = res_pwr(2) + res_pwr(3); Dimana total_pwr bertipe variabel double

Fungsi main Apakah tujuan main? Setiap program C memiliki hanya satu fungsi yang disebut main. main adalah fungsi utama (master) dari program dimana semuanya dikontrol. Eksekusi program selalu dimulai dari statemen ter-eksekusi di dalam main. main dapat menerima parameter, ini akan muncul pada shell perintah PC command line setelah nama program, contoh: C:\ my_prog 23 data1.txt Disini kita mempunyai program dinamakan my_prog dan akan menerima 2 parameter, yang pertama angka 23 dan yang lain sebuah file bernama data1.txt

Fungsi main Untuk mengakses parameter diatas main membutuhkan yang berikut pada definisi headernya: int main (int argc, char *argv[]) {.. } argc memberitahukan berapa jumlah parameter pada kenyataannya pada command line ( 2 untuk diatas ) *argv[] adalah array dari pointer untuk parameter diatas (mereka diperlakukan sebagai string karakter)

Ringkasan Fungsi Ditulis sekali digunakan ( call ) berulang kali Baik untuk bagi dan kuasai Harus dideklarasikan sebelum digunakan Mempunyai tipe return Menerima parameter yang: Passed by Value! Sebuah kopi lokal, perubahan di dalam tidak mempengaruhi isi dari sumber orisinil yang diluar Variabel lokal dideklarasikan di dalam fungsi Hidup dan Mati dengan fungsinya Tidak dikenal diluar fungsi

Ringkasan Teknik Desain yang Berguna: Pseudo Code deskripsi Bahasa Logis Diagram: Flow Chart berurutan Data Flow pertukaran informasi Struktur ketergantungan (dependensi) Fungsi spesial yang dinamai main