Function(2).

Slides:



Advertisements
Presentasi serupa
REKURSIF.
Advertisements

Rekursif.
ARRAY.
Mata Kuliah: Bahasa C++ Harni Kusniyati
Desain Dan Analisis Algoritma
Bahasa Pemrograman Lanjutan
- PERTEMUAN 5 & 6 – PERULANGAN
Bahan Kuliah IF3051 Strategi Algoritma Oleh: Rinaldi Munir
Rekursif Yuliana Setiowati.
INSTRUKSI MASUKAN DAN KELUARAN
Contoh soal penyegaran
STACK.
Notasi Algoritma.
Prosedur (Procedure).
PRAKTIKUM ALGORITMA DAN STRUKTUR DATA
ARRAY 2 DIMENSI (MATRIK)
MINGGU 4 Java Programming (MKB614C)
Algoritma dan Struktur Data
Array dan String.
PEMROGRAMAN TERSTRUKTUR
Algoritma (Struktur, Tipe Data, Input/Output)
Notasi Algoritma.
FUNCTIONS Pertemuan 9 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
Kasus Buat algoritma untuk menghitung total pembayaran dari proses pembelian.
1 Latihan Pertemuan String Matakuliah: T0616 / Algoritma dan Pemrograman Tahun: 2007 Versi: 1/0.
Fungsi, Array dan String
Prosedur dan Fungsi Triana Elizabeth, S.Kom.
Function (Fungsi).
1 Latihan Pertemuan Array Matakuliah: T0616 / Algoritma dan Pemrograman Tahun: 2007 Versi: 1/0.
As’ad Djamalilleil Fungsi exec() As’ad Djamalilleil
Algoritma dan Pemrograman Subrutin
DASAR PEMROGRAMAN & ALGORITMA
PEMROGRAMAN DASAR.
STRUKTUR TEKS ALGORITMA
Algoritma & Pemrograman
Bahan Kuliah IF2211 Strategi Algoritma Oleh: Rinaldi Munir
Algoritma dan Struktur Data 1 pertemuan 12
Algoritme dan Pemrograman
Prosedur (Procedure).
GABUNGAN ( LOOP, STRUKTUR KOMPOSISI)
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah 2
Materi 10 LOGIKA & ALGORITMA.
Contoh-contoh Pemecahan Masalah TEE 2103 Algoritma & Pemograman
Struktur Runtunan Oleh Yohana . N..
06.3 Hari-6.
“Array, Procedure dan Function”
TEL 2112 Dasar Komputer & Pemograman Nama dan Nilai Data
Algoritma dan Pemrograman Subrutin
ARRAY (LARIK).
PEMROGRAMAN DASAR (BAHASA C)
Remainder Senin depan mulai UTS Praktikum
Latihan #0 Dengan menggunakan pernyataan looping WHILE dan jumlah instruksi sesedikit mungkin, tuliskan cuplikan program (bukan program lengkap, hanya.
ARRAY 1d MERISKA DEFRIANI, S.KOMP ALGORITMA DAN PEMROGRAMAN II
Struktur Perulangan Yohana Nugraheni.
ALGORITMA & STRUKTUR DATA I
Analisis dan Perancangan Algoritma Kuliah 4 : Asymptotic pd Kasus
Lecturer Note iVb OPERASI KELUARAN & MASUKAN
Algoritma dan Pemrograman Subrutin (Function)
Array Buat algoritma untuk mencari nilai terbesar dari 5 nilai mahasiswa yang diinputkan dengan array.
Algoritma dan Pemrograman Subrutin
TIPE DATA, NILAI, INPUT DAN OUTPUT
Pertemuan Ke-2 Tugas Kelompok 3
Algoritma Rekursif Alpro-2.
Bab 08 Menghitung Total Data yang Diinput Dari Keyboard
ARRAY 2d (matriks) MERISKA DEFRIANI, S.KOMP
Latar Belakang Pengalaman Mengajar Sejak 1976 Perlu Buku !
Mendapatkan Input dari Keyboard
Teknik Pemrog. Terstruktur 2
Rekursif Yuliana Setiowati. Rekursif Proses yang memanggil dirinya sendiri. Merupakan suatu fungsi atau prosedur Terdapat suatu kondisi untuk berhenti.
Logika dan Algoritma Agung Brastama Putra.
Transcript presentasi:

Function(2)

Contoh soal Buatlah program untuk menghitung xy dengan x integer, y integer. Gunakan function untuk menghitung operasi tsb! X dan y dibaca dari keyboard

Solusi & langkah-langkah Menentukan mana yang dijadikan program utama, mana yang dijadikan function Program utama  membaca masukan dari keyboard yaitu x dan y, kemudian menampilkan hasil operasinya Fungsi  berisi operasi xy dengan spesifikasi fungsi sbb:

Spesifikasi fungsi Argumen (input fungsi) : x dan y, bertipe integer Return value(output fungsi) : hasil operasi xy bertipe integer Bentuk fungsinya kira-kira sbb: int pangkat(int x,int y);

Algoritma perpangkatan Bagaimana algoritma untuk menghitung z= xy? Z= xy = x*x*x*x …*x Dalam bentuk loop for: z = 1; for(i=0;i<y;i++) { z = z*x; } Sejumlah y

Program Lengkap #include <cstdlib> #include <iostream> using namespace std; int pangkat(int x,int y) { int z,i; z=1; for(i=0;i<y;i++) z=z*x; } return z; int main(int argc, char *argv[]) int x,y,hasil; cout << "masukkan x:"; cin >> x; cout <<endl<<"masukkan y:"; cin >> y; hasil = pangkat(x,y); cout <<endl<<"hasil : "<<hasil; system("PAUSE"); return EXIT_SUCCESS;

Contoh soal: Buatlah program untuk menghitung nilai rerata dari n buah bilangan. Jumlah bilangan dibaca dari keyboard. Bilangan-bilangan yang akan direrata juga dibaca dari keyboard. Gunakan fungsi untuk operasi rerata!

Langkah-langkah solusi Program utama : membaca jumlah bilangan (n), membaca bilangan-bilangan yang akan direrata Fungsi : menghitung rerata

Spec fungsi Return value : berupa rerata, tipe : float Argumen (masukan) : berupa jumlah bilangan dan array bilangan. karena masukan ada yg berupa array yg akan dicari reratanya, maka ada 2 pilihan bentuk argumen: float rerata(int jml,int masukan[10]) float rerata(int jml,int *masukan) Sebaiknya dipilih pilihan no 2. Argumen berupa pointer lebih fleksibel, jumlah elemen array tidak dibatasi

Fungsi dengan multi output Bagaimana jika diinginkan >1 output pada suatu fungsi? Fungsi yang telah kita pelajari selama ini hanya memungkinkan utk 1 out, yaitu pada return value out1 in1 out2 in2 out3 out_n in_m

Argumen ‘called by reference’ (cbr) Untuk membuat fungsi dengan >1 output, digunakan teknik argumen ‘called by ref’ Idenya dengan membuat argumen sebagai output Contohnya seperti pada fungsi ‘scanf’ scanf(“%d”,&a) Argumen 2, output Argumen 1, input

Argumen ‘CBR’ Output fungsi scanf tsb adalah variabel ‘a’ Yang dijadikan sebagai argumen sebenarnya adalah referens a (&a) atau alamat a, jadi bukan variabel a itu sendiri Untuk membuat fungsi menjadi CBR, digunakan argumen berbentuk pointer pada header fungsinya. Contoh: nama_fungsi(*arg1,*arg2)

Membuat fungsi CBR Contoh: Buatlah program untuk menghitung +, -, X, dan / antara 2 bilangan, dengan syarat ke-4 operasi tsb dilakukan dalam 1 fungsi!

Perancangan fungsi Untuk mengerjakan ke-4 operasi tadi, dibutuhkan fungsi yang mempunyai 2 input dan 4 output Karena mempunyai 4 output, fungsi yang digunakan adalah fungsi CBR Rancangan headernya adalah sebagai berikut: void operasi(int a,int b,int *jumlah,int *kurang,int *kali,float *bagi) input Hasil + Hasil - Hasil * Hasil / Karena semua output sudah dikeluarkan lewat argumen, Return value dibuat void saja (tidak punya return val)

Program lengkap Modifikasi argumen output dengan operasi pointer void operasi(int a,int b,int *jumlah,int *kurang,int *kali,float *bagi) { //definisi fungsi ‘operasi’ *jumlah=a+b; *kurang=a-b; *kali=a*b; *bagi=a/b; } int main(int argc, char *argv[]) { int a,b,c,d,e; float f; cout <<"masukkan bilangan pertama:"; cin >>a; cout <<endl<<"masukkan bilangan kedua:"; cin >>b; operasi(a,b,&c,&d,&e,&f); cout <<"hasil jumlah: "<<c<<endl; cout <<"hasil kurang: "<<d<<endl; cout <<"hasil kali: "<<e<<endl; cout <<"hasil bagi: "<<f<<endl; system("PAUSE"); return EXIT_SUCCESS; Modifikasi argumen output dengan operasi pointer Pemanggilan fungsi ‘operasi’ Melalui referens c,d,e,f Menampilkan output

Fungsi dengan output suatu array Fungsi yg telah kita pelajari sebelumnya adalah fungsi dengan output variabel tunggal Bagaimana membuat suatu fungsi dengan output suatu array?

Fungsi dengan output array Fungsi CBR juga bisa digunakan untuk membuat fungsi meng-outputkan suatu array Contoh: buatlah program untuk menjumlahkan 2 vektor. Gunakan fungsi untuk melakukan penjumlahan vektor

Fungsi dgn output array Rancangan header fungsi untuk contoh tsb adalah sebagai berikut: void jumlah_array(int *a,int *b,int *c,int n) c = a+b Panjang vektor Vektor output Vektor input Vektor input

Program lengkap Arraynya langsung jadi argumen void jumlah(int *a,int *b,int *c,int n) { //definisi fungsi jumlah int i; for(i=0;i<n;i++) *(c+i)=*(a+i)+*(b+i);//c[i]=a[i]+b[i] } int main(int argc, char *argv[]) int i,in1[5]={1,3,5,7,9},in2[5]={2,4,6,8,10},out[5],n=5; jumlah(in1,in2,out,n); //pemanggilan fungsi jumlah cout <<"hasil penjumlahan vektor:"<<endl; cout<<out[i]<<" "; system("PAUSE"); return EXIT_SUCCESS; Arraynya langsung jadi argumen