modul iii - fungsi

Upload: aan-junior

Post on 02-Mar-2018

245 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/26/2019 Modul III - Fungsi

    1/21

    Fungsi main()

    Fungsi a() Fungsi b() Fungsi c()

    Fungsi c1() Fungsi c2()

    Modul 3 Fungsi

    MODUL 3

    FUNGSI

    A. Tujuan

    1. Mahasiswa mengenal functiondalam bahasa C / C++.

    2. Mahasiswa bisa membuat programproceduraldengan bahasa C / C++.

    B. Dasar Teori

    Fungsi

    Pada pemrograman C++ selalu terdapat sebuah fungsi utama atau sub-

    program yakni void main()!. Penamaan modul memiliki karakteristik yang

    sama dengan penamaan variabel dengan fungsi programakan men"adi lebih

    efisien dan fleksibel. Fungsi adalah suatu blok kode yang melakukan tugas

    tertentu atau suatu blok instruksi yang dieksekusi ketika dipanggil dari bagian lain

    dalam suatu program.

    Pada umumnya fungsi memerlukan masukan yang dinamakan argument

    atau parameter. #asil akhir dari fungsi akan berupa sebuah nilai.

    $erikut bagan konsep sebuah fungsi %

    Gambar 3.1$agan konsep sebuah fungsi

    $erikut source codedari suatu fungsi %

    Penentuan_tipe nama_fungsi (daftar parameter)Deklarasi parameter {Isi fungsi}

    Praktikum algoritma dan pemrograman 2016 Modul III - 1

  • 7/26/2019 Modul III - Fungsi

    2/21

    Modul 3 Fungsi

    &etiap fungsi yang dipanggil di dalamprogramharus didefinisikan. 'etaknya bisa dimana

    sa"a. (husus untuk fungsi yang disediakan di system) definisinya sebenarnya ada dalam

    pustaka) yang akan digabungkan dengan program sewaktu proses linking.

    *eklarasi Fungsi

    *eklarasi fungsi atau sering disebut dengan prototypefungsi dimaksudkan untuk

    mendeklarasikan fungsi agar dapat dipanggil. *eklarasi fungsi berupa %

    1 ,ipe nilai balik.

    2 ama fungsi.

    umlah dan tipe argument.

    *an diakhiri dengan titik koma) sebagaimana pendeklarasian 0ariabel.

    &ebagai ontoh %

    long kuadrat(long);

    Pada ontoh ini fungsi kuadrat! mempunyai argumentbertipe longdan nilai

    balik bertipe long.

    int maks(int a,intb);

    Pada ontoh ini fungsi maks! mempunyai dua argument bertipe integer

    dan nilai balik bertipe integer"uga.

    void garis();

    Pada ontoh ini fungsi garis! tidak memiliki argumentdan nilai baliknya

    tidak ada void!.

    Penggolongan 3ariabel

    3ariabel lokal atau Local variableadalah sebuah 0ariabel sederhana yang

    dideklarasikan di dalam sebuah blok program. 4ni bisa diakses hanya dari dalam blok

    itu sendiri. (arena bagian dari fungsi itu sendiri adalah blok) 0ariabel dideklarasikan

    ke dalam sebuah fungsi yang localdi fungsi itu. Mereka ada hanya ketika fungsi itu

    sedang dieksekusi. &ebuah formal parameter argument dari fungsi akan men"adi

    lokal di fungsi itu. 3ariabel global memiliki ruang lingkup sepan"ang semua program

    di"alankan maka 0ariabel global akan tetap dikenali dimanapun bagian atau blok

    dalam bagian kode program di"alankan.

    Contoh %

    Praktikum algoritma dan pemrograman 2016 Modul III - 2

  • 7/26/2019 Modul III - Fungsi

    3/21

    Modul 3 Fungsi

    int f, n;

    int factorial()

    {

    if (n < ) return ;

    f ! ";

    #$ile (n % ")

    f &! n'';

    return f;

    Parameter

    Parameter fungsi digunakan untuk mengirimkan parameter nilai ke suatu fungsi.

    Parameter berbeda dengan argumen. Parameter digunakan untuk memasukkan input

    pada sebuah tubuh fungsi yang ditulis di luar fungsi main ) sedangkan argumen

    merupakan masukan pada sebuah fungsi ketika fungsi tersebut dipanggil pada sebuah

    fungsi main. Parameter fungsi harus bertipe data tertentu. 516,erdapat 2 "enis parameter)

    yaitu%

    1. Parameter formal% Parameter yang ditulis pada deklarasi fungsi.2. Parameter aktual% Parameter yang dimasukkan dalam program pemanggil fungsi

    tersebut) sering disebut dengan argumen.

    Pengiriman parameter ke suatu fungsi dapat dilakukan dengan dua ara) yaitu

    pengiriman seara nilai (by value dan pengiriman seara auan by reference.

    1. Pengiriman Parameter Seara Ni!ai "B# $a!ue%

    Pengiriman parameter seara nilai mempunyai karakteristik sebagai berikut%

    ilai parameter yang dikirim ke fungsi tidak mempengaruhi nilai parameter pada

    bagian program yang memanggil fungsi tersebut.

    Pengiriman parameter seara nilai adalah pengiriman searah) yaitu dari bagian

    program yang memanggil fungsi ke fungsi yang dipanggil.

    Pengiriman parameter seara nilai dapat dilakukan untuk suatu ungkapan)

    0ariabel) elemen arrayatau konstanta.

    &. Pengiriman Parameter Seara Auan "by reference%

    Pengiriman parameter seara nilai mempunyai karakteristik sebagai berikut%

    Praktikum algoritma dan pemrograman 2016 Modul III - 3

  • 7/26/2019 Modul III - Fungsi

    4/21

    Modul 3 Fungsi

    a ilai parameter yang dikirim ke fungsi tidak mempengaruhi nilai parameter pada

    bagian program yang memanggil fungsi tersebut.b Pengiriman parameter seara nilai adalah pengiriman searah) yaitu dari bagian

    program yang memanggil fungsi ke fungsi yang dipanggil. Pengiriman parameter seara nilai dapat dilakukan untuk suatu ungkapan) 0ariabel)

    elemen arrayatau konstanta.

    Fungsi tan'a ni!ai ba!i(

    Fungsi tanpa nilai balik adalah fungsi yang dimana untuk menampilkan

    suatu keterangan sa"a. Penggunaan fungsi tanpa nilai balik salah satunya

    menggunakan void.

    Fungsi )engan ni!ai ba!i(

    Fungsi dengan tanda balik adalah suatu fungsi yang dapat

    mengembalikan suatu nilai ke dalam fungsi utama. *alam membuat fungsi)

    harus didefinisikan tipe data dari nilai yang akan dikembalikan.

    Contoh Program Fungsi pada C++ %

    enampilkan pesan*include

  • 7/26/2019 Modul III - Fungsi

    5/21

    Modul 3 Fungsi

    int 0; 0 ! addition (1,2); cout

  • 7/26/2019 Modul III - Fungsi

    6/21

    Modul 3 Fungsi

    Flowchart :

    Source Code%

    *include

  • 7/26/2019 Modul III - Fungsi

    7/21

    Modul 3 Fungsi

    void laang(){

    cout

  • 7/26/2019 Modul III - Fungsi

    8/21

    Modul 3 Fungsi

    coutn!!); cout

  • 7/26/2019 Modul III - Fungsi

    9/21

    Modul 3 Fungsi

    #asil Compile%

    Praktikum algoritma dan pemrograman 2016 Modul III - 9

  • 7/26/2019 Modul III - Fungsi

    10/21

    Modul 3 Fungsi

    Praktikum algoritma dan pemrograman 2016 Modul III - 10

  • 7/26/2019 Modul III - Fungsi

    11/21

    Modul 3 Fungsi

    D. Ana!isa Data

    Praktikum algoritma dan pemrograman 2016 Modul III - 11

    ". *include

  • 7/26/2019 Modul III - Fungsi

    12/21

    Modul 3 Fungsi

    Script programdiatas merupakan bagian headeryakin berperan sebagai librarydari

    statementyang ada di dalamprogram) supaya statement yang digunakan padaprogram

    dapat di kenal. *include

  • 7/26/2019 Modul III - Fungsi

    13/21

    Modul 3 Fungsi

    Merupakan sript pendeklarasian sebuah fungsi yang bernama

    fungsi persegi. Cara penulisan dan ara ker"a fungsi ini sama dengan

    fungsi utama di atas. void laang()

    Merupakan sript pendeklarasian sebuah fungsi yang bernama

    fungsi layang dan bertipe float. ara penulisan dan ara ker"a fungsi

    ini sama dengan fungsi utama di atas..

    2.

    int al, ti, lp, pa, le,vb, lse, si, ll, d",d4;c$ar pili$;c$ar ;c$ar n;

    Script program diatas merupakan bagian dari pendeklarasian variable yang

    bertipe int danc$aryang dapat di gunakan pada seluruh bagianprogram.

    =.

    s#itc$(pili$){case"8segitiga();break;case48balok();break;case28persegi();break;case=8laang();break;default8cout

  • 7/26/2019 Modul III - Fungsi

    14/21

    Modul 3 Fungsi

    G.

    cout

  • 7/26/2019 Modul III - Fungsi

    15/21

    Modul 3 Fungsi

    memiliki nama danparametersebagai pembeda antara fungsi yang satu dengan

    fungsi yang lain.3. Programprocedural merupakan program yang terstruktur dengan rapi. ,erdapat

    dua ara dalam penulisan fungsi) yang pertama kita menuliskan fungsi di atas

    fungsi utamamain!. :ang kedua kita menuliskan fungsi dibawah fungsi

    utamamain!) namun harus dikenalkan dulu di awal program menggunakan

    prototype atau menggunakan deklarasi global dari fungsi tersebut agar fungsi

    tersebut dapat dikenali oleh fungsi utama main! dan bahkan dapat dikenali

    setiap fungsi.. *alam fungsi utama dapat digunakan proses perulangan maupun ontrol untuk

    mengenali fungsi dinamis yang banyak./. *alam pembuatan fungsi dinamis harus "elas masukan dan keluarannya sehingga

    ketika di panggil pada fungsi utama dapat di"alankan.

    Tugas Pen)a+u!uan

    1. $uatlah sebuah program biodata mahasiswa dgn menggunakan ;fungsi; dan ketentuan

    inputannya sbb%

  • 7/26/2019 Modul III - Fungsi

    16/21

    Modul 3 Fungsi

    C. . Fakultas/prodiF. &emester

    &oure ode

    *include

  • 7/26/2019 Modul III - Fungsi

    17/21

    Modul 3 Fungsi

    void polisi(){

    cout

  • 7/26/2019 Modul III - Fungsi

    18/21

    Modul 3 Fungsi

    }

    void eva(){

    cout

  • 7/26/2019 Modul III - Fungsi

    19/21

    Modul 3 Fungsi

    pedagang(); cout

  • 7/26/2019 Modul III - Fungsi

    20/21

    Modul 3 Fungsi

    #$ile(!!>>!!C>>n!!n>>n!!); cout

  • 7/26/2019 Modul III - Fungsi

    21/21

    Modul 3 Fungsi

    526&en"a.B>