praktikum 8.docx

Upload: hyureka-silverstone

Post on 18-Oct-2015

45 views

Category:

Documents


2 download

TRANSCRIPT

  • 5/27/2018 PRAKTIKUM 8.docx

    1/19

    LAPORAN

    PRAKTIKUM VIII

    ( FUNGSI )

    DASAR KOMPUTER DAN PEMROGRAMAN

    NURWAHYUDDI

    (12022038)

    Program Studi Teknik Elektro

    Fakultas Teknologi Industri

    UNIVERSITAS AHMAD DAHLAN

    YOGYAKARTA

    2012

  • 5/27/2018 PRAKTIKUM 8.docx

    2/19

    1

    I. TUJUAN PRAKTIKUM VIII

    Adapun yang menjadi tujuan dalam Praktikum VI ini antara lain :

    1. Mahasiswa dapat memahami implementasi konsep dasar pemrogramandengan alat bantu Turbo C++,

    2. Mahasiswa dapat menjelaskan konsep fungsi,3. Mahasiswa mampu menjelaskan struktur fungsidan bagian-bagiannya,4. Mahasiswa mampu menjelaskan cara memanggil fungsi dalam fungsimain (),

    5. Mahasiswa dapat menyusun dan menjelaskan program menggunakan strukturfungsi,

    6. Mahasiswa dapat menjelaskan fungsi tanpa nilai balik (tipe void).

  • 5/27/2018 PRAKTIKUM 8.docx

    3/19

    2

    II. DASAR TEORI

    Sebuah fungsi pada C++ umumnya berisi sejumlah pernyataan C++ yang

    dikemas dengan sebuah nama. Selanjutnya nama ini dapat dipanggil beberapa kali

    dalam suatu kode C++. Salah satu fungsi yang sering dilibatkan dalam aplikasi berbasis

    konsol yaitu main(). Biasanya didalam fungsi tersebut dituliskan sejumlah

    pernyataan.

    Tujuan utama pembuatan fungsi adalah untuk membuat suatu aplikasi agar dapat

    dipecah menjadi sejumlahbagian yang dapat dikelola dengan lebih mudah oleh

    pemrogram daripada kalau aplikasi hanya mengandung sebuah fungsi, misalnya

    fungsiA(), fungsiB(), dan fungsiC(). Kemudian didalam fungsimain(),

    terdapat pemanggilan ketiga fungsi tersebut sebagai berikut :

    Dalam implementasinya, pemrogram dapt berkonsentrasiuntuk menuliskan

    fungsiA() secara detil telebih dahulu, kemudian ke fungsi-fungsi berikutnya sehingga

    seluruh kode dituliskan.

    Int main()

    {

    fungsiA();

    fungsiB();

    fungsiC();

    }

  • 5/27/2018 PRAKTIKUM 8.docx

    4/19

    3

    Dalam prakteknya fungsiA() juga bisa tersusun atas sejumlah fungsi. Berikut

    adalah contoh kerangka pemakaian fungsi dalam sebuah aplikasi.

    a) Struktur Fungsi

    main ()

    fungsiA() fungsiB() fungsiC()

    fungsiB2()fungsiB1() fungsiB3()

    tipe_nilai_balik_nama_fungsi(tipe_parameterA, tipe_parameterB,...)

    {

    pernyataan_1;

    ...

    pernyataan_n;

    return nilai_balik;

    }

  • 5/27/2018 PRAKTIKUM 8.docx

    5/19

    4

    Bagian

    tipe_nilai_balik_nama_fungsi(tipe_parameterA,tipe_parameterB,..)

    disebut judul fungsi, yang terdiri dari tiga bagian :

    1. tipe_nilai_balikmenentukan tipe nilai yang diberikan oleh fungsi ketika fungsi dipanggil. Nilai

    balik ditentukan melalui pernyataan return.

    2. nama_fungsi3. parameter

    digunakkan untuk melewatkan nilai ke fungsi. Antar parameter dipisahkan oleh

    tanda (,). Jika tak ada parameter, judul fungsi berupa :

    tipe_nilai_balik_nama_fungsi()

    Dalam definisi fungsi, tanda titik koma sesudah tanda } tidak diperlukan. Pada

    bagian pernyataan fungsi terdapat pernyataan return yang digunakan untuk mengakhiri

    eksekusi fungsi dan memberikan nilai balik, yaitu nilai yang diberikan oleh fungsi

    ketika fungsi dipanggil.

    Contoh :

    Artinya didefinisikan fungsi dengan nama kuadrat() yang digunakan untuk

    menghitung nilai kuadrat dari sebuah bilangan. Nama parameter adalah x, dengan tipe

    longdan memberikan nilai balik berupa perkalian x dengan x dan tipe long.

    long kuadrat(long x)

    {

    long hasil = x*x;

    return hasil;

    }

  • 5/27/2018 PRAKTIKUM 8.docx

    6/19

    5

    b) Fungsi tanpa nilai balikFungsi dengan tipe void berarti tidak memiliki nilai balik, sehinnga tidak dapat

    nilai balik berkedudukan sebagai ekspresi.

    Contoh :

    Bisa ditambahkan pernyataan return :

    Cara memanggil fungsi diatas :

    void info ()

    {

    cout

  • 5/27/2018 PRAKTIKUM 8.docx

    7/19

    6

    III. HASIL DAN PEMBAHASANa) Fungsi pada perhitungan nilai Rerata

    Program VIII-1

    Hasil kompile Program :

    #include int N;float jumlah, rerata, data[100];

    void Masukkan_Data(){cout > N;

    for (int i=0; i

  • 5/27/2018 PRAKTIKUM 8.docx

    8/19

    7

    Berikut merupakan penjelasan dari program VIII-1:

    Baris Keterangan1. header yang menyediakan operasi stream,

    2.Merupakan keterangan untuk tipe dataN yang akan dimasukkan dalam bentuk

    bilangan bulat (integer),

    3.merupakan bentuk dari deklarasi array( jumlah, rerata data[100]) yang akan

    ditampilkan dalam format bilangan /float(bertipe data float),

    4.Merupakan perintah untuk fungsi Masukkan datatetapi tidak memiliki nilai

    kembalian(return value)

    5. Perintah output/keluaran untuk menampilkan tulisan Banyaknya Nilai=

    6. Perintah input/masukkan untuk memasukkan nilai N,

    7.Merupakan perintah untuk perulangan yang dibatasi dengan kondisi i= 0 dan

    i

  • 5/27/2018 PRAKTIKUM 8.docx

    9/19

    8

    Perhitungan nilai Rerata dengan Standar Deviasi

    Untuk menghitung standar Deviasi kita perlu menambahkan satu pustaka header yaitu

    (math.h), serta fungsi string yang penting untuk menghitung standar deviasi yaitu

    fungsi (stdrdev)(2).

    Listing Program :

    #include #include int N;float jumlah, rerata, peny, stdrdev, data[100];void Masukkan_Data(){cout > N;for (int i=0; i

  • 5/27/2018 PRAKTIKUM 8.docx

    10/19

    9

    Berikut hasil kompile dari program perhitungan nilai rerata dengan standar deviasi :

    b) Fungsi untuk mengisi dan menampilkan MatriksProgram VIII-2

    #include

    int N = 2;

    void MengisiMatriks(float X[5][5]){

    for (int i=0; i

  • 5/27/2018 PRAKTIKUM 8.docx

    11/19

    10

    Berikut hasil kompile program serta penjelasan tiap baris dari program :

    Berikut merupakan penjelasan dari program VIII-2:

    Baris Keterangan1. File header yang menyediakan operasi stream,

    2.Merupakan keterangan untukN =2 yang akan dimasukkan dalam bentuk

    bilangan bulat (integer),

    3.

    Merupakan perintah untuk Mengisi Matriks tetapi tidak memiliki nilai

    kembalian/nilai balik(return value) dimana X[5][5] dalam kondisi

    float/bilangan,

    4.

    Merupakan perulangan yang digunakan dengan kondisi i=0 dan i

  • 5/27/2018 PRAKTIKUM 8.docx

    12/19

    11

    13. Merupakan fungsi utama pada program C++,

    14. Keterangan untuk A[5][5] dalam bentuk bilangan / float,

    15.Perintah output untuk menampilkan tulisan Masukkan elemen matriks A

    serta perintah untuk newline,

    16. Pemanggilan untuk fungsi MengisiMatriks(A),

    17.Perintah keluaran/output untuk menampilkan tulisanMatriks A= serta

    perintah untuk newline,

    18. Pemanggilan untuk fungsi MenampilkanMatriks(A),

    Berikut merupakan program hasil modifikasi dari program VIII-2 serta hasil

    kompilenya(4):

    Lanjutan program dibelakang,,

    #include int N=2;float A[5][5], B[5][5], C[5][5];

    void MengisiMatriksA(float A[5][5]) // ukuran array A yg didefinisikan

    {for (int i=0; i

  • 5/27/2018 PRAKTIKUM 8.docx

    13/19

    12

    void MenampilkanMatriksB (float B[5][5]) {for (int i=0; i

  • 5/27/2018 PRAKTIKUM 8.docx

    14/19

    13

    c) Program Konversi SuhuProgram VIII-3

    Berikut hasil eksekusi dari Listing program diatas :

    Empat pendefinisian fungsi :

    #include

    float Suhu_C, Suhu_F; // definisikan variabel

    float C_ke_F(float C) {

    float F;

    F = 1.8*C+32.0;

    return F;

    }

    void Mengisi_Input() {

    cout > Suhu_C; // isikan nilai Suhu C

    }

    void Mengkonversi() {

    Suhu_F = C_ke_F(Suhu_C); // hitung nilai Suhu F

    }

    void Menampilkan_Hasil() {

    cout

  • 5/27/2018 PRAKTIKUM 8.docx

    15/19

    14

    Setelah dilakukan pemindahan keempat fungsi ke bagian bawah program setelah akhir

    dari program utamamain () serta dilakukannya compile, muncul Error Message,

    antara lain sebagai berikut(5):

    a.Function Mengisi_Input should have a prototypeb.Function Mengkonversi should have a prototypec.Function Menampilkan_Hasil should have a prototyped.Type mismatch in redeclaration of Mengisi_Input()e.Type mismatch in redeclaration of Mengkonversi()f.Type mismatch in redeclaration of

    Menampilkan_Hasil()

    Kegunaan keempat pendefinisian fungsi tersebut adalah memberikan header baru sesuaikeingina kita, dimana dalam header tersebut terdapat fungsi yang dapat dipanggil. Jadi

    kita dapat menambahkan suatu header jika suatu compiler tidak support terhadap fungsi

    yang kita gunakan(6).

    IV. TUGASListing program :

    #include char pilihan;

    float input, output;

    float C_ke_F(float C) {float F;F = 9.0/5.0*C+32.0;return F;

    }float F_ke_C(float F) {

    float C;C = 5.0/9.0*(F-32.0);return C;

    }float C_ke_R(float C) {

    float R;R = 4.0/5.0*C;return R;

    }float R_ke_C(float R) {

    float C;C = 5.0/4.0*R;return C;

    }float F_ke_R(float F) {

    float R;R = 4.0/9.0*(F-32);return R;

    }

    float R_ke_F(float R) {float F;

    F = 9.0/4.0*R+32;return F;

    }void Menampilkan_Menu() {

    cout

  • 5/27/2018 PRAKTIKUM 8.docx

    16/19

    15

    Berikut hasil kompile dari program untuk menghitung konversi suhu :

    else if((pilihan=='B')||(pilihan=='b')) {output = F_ke_C(input);cout

  • 5/27/2018 PRAKTIKUM 8.docx

    17/19

    16

  • 5/27/2018 PRAKTIKUM 8.docx

    18/19

    17

    V. KESIMPULAN

    Adapun kesimpulan yang dapat diambil dari praktikum VIII ini antara lain

    sebagai berikut :

    1. Didalam C++ umumnya terdapat sebuah fungsi yang berisi sejumlahpernyataan C++ yang dikemas dengan sebuah nama, dimana nama tersebut

    dapat di panggil beberapa kali dengan suatu kode C++. Salah satu fungsi

    yang sering dilibatkan dalam aplikasi berbasis konsol yaitumain ().

    2. Dalam memanggil sebuah fungsi pada program C++ memiliki dua carapemanggilan, yaitu :

    a) Cara tak langsung, yaitu cara pemanggilan fungsi untuk fungsi yangmengembalikan nilai (return value),

    b) Cara langsung, yaitu cara pemanggilan fungsi untuk fungsi bertipe void( fungsi yang tidak mengembalikan nilai),

    3. Suatu fungsi atau Sub-program bersifat sebagai suatu program utuh,maksudnya fungsi tersebut dapat melakukan suatu pekerjaan secara utuh.Semua jenis atau macam instruksi dapat digunakan dalam sebuah fungsi.

  • 5/27/2018 PRAKTIKUM 8.docx

    19/19

    18

    VI. REFERENSI

    Modul Praktikum Dasar Pemrograman Kartika Firdausy, S.T.,M.T tugaskuliah.googlecode.com/ ilmukamu.wordpress.com/