Fungsi.

Slides:



Advertisements
Presentasi serupa
ARRAY.
Advertisements

PEMROGRAMAN TERSTRUKTUR
Introduction to Algorithm evaluation Soal Matrikulasi Buka Buku
[Kristanto:2009] perintah if berguna untuk memilih satu dari 2 atau lebih alternatif jawaban yang tersedia. Jika perintah if tersebut terdiri dari 2 atau.
PEMROGRAMAN SISTEM PERNYATAAN DASAR PERULANGAN Pertemuan V
SMK TI BALI GLOBAL DENPASAR
Fungsi Friend Dalam bahasa C++ kita dapat membuat suatu fungsi yang berada di luar kelas (class) dan dapat meng-ak-ses bagian private suatu kelas. Fungsi.
STRUKTUR KONTROL PERCABANGAN DAN STRUKTUR KONTROL LOMPATAN
Bab 4 Percabangan.
Fungsi (lanjutan) Pertemuan ke-9 Bahasa C.
Modul 11 – Hendi Hermawan - 1
Fungsi (Bagian 1) Abdul Haris, S.Kom.
ARRAY (Lanjutan).
STRUKTUR PERULANGAN (LOOPING)
Dasar Pemrograman MODUL 07 PERULANGAN.
STRUKTUR KONTROL PENYELEKSIAN KONDISI.
Konsep Pemrograman Contoh Program C # include int main() { printf("Hello World From About\n"); getche (); return 0; }
3 Variabel, Konstanta Tipe Data dan dalam Bahasa C/C++ Java dan Bab
Pemrograman Terstruktur
Komentar, Identifier dan Tipe Data
Pembahasan soal-soal pemrograman terstruktur
By; NILA FEBY PUSPITASARI
PENGENALAN c++ DAN STRUKTUR DASAR C++
Perintah Perulangan Pertemuan ::
ARRAY.
FUNCTION / FUNGSI.
Person 10Person Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’, dan tidak dapat diakses di luar fungsi (a)
PEMROGRAMAN SISTEM PERNYATAAN DASAR PILIHAN Pertemuan V
ARRAY OF STRUCT Apabila hendak menggunakan 1 struct untuk beberapa kali, ada 2 cara : Deklarasi manual #include typedef struct Mahasiswa { char.
FUNGSI.
KELOMPOK 6 VERRA LAHU SINSKA KITONG STEVANI WUATEN.
Pointer Memory Dinamic.
Pertemuan 3 KELUARAN dan MASUKAN (INPUT & OUTPUT) Dasar Pemrograman.
Pointer Dr. Lily Wulandari.
POINTER (VAR.PENUNJUK)
Pertemuan 22 POINTER Bag.2 Dasar Pemrograman Renni Angreni, S.Kom.
#include //bagian modul int hitung(x,y) { return(x+y); } //bagian utama main() { int jumlah,a,b; a=8; b=2; jumlah=hitung(a,b); cout
P O I N T E R. Merupakan sebuah variabel yang berisi alamat dari variabel lain. Suatu pointer dimaksudkan untu menunjukan ke suatu alamat memori sehingga.
Jawaban ujian MID. #include int pil; char tny; main(){ menu: cout
Pertemuan 6 IF Bersarang / IF Bertingkat Nested IF Dasar Pemrograman.
Function User Function.
P ERULANGA N K OMPLEK S. BREAK Digunakan untuk menghentikan suatu proses perulangan yang sedang terjadi. Biasanya dikarenakan oleh suatu kondisi Break.
STRUCT OF ARRAY Apabila hendak menggunakan 1 struct untuk beberapa kali, ada 2 cara : Deklarasi manual #include typedef struct Mahasiswa { char.
Friend. Adalah fungsi bukan anggota kelas yg dapat mengakses anggota kelas. Secara umum friend berguna jika terdapat suatu operasi yg hendak mengakses.
Algoritma dan Pemrograman 2C
STRUKTUR Struktur merupakan kumpulan elemen data yang digabungkan menjadi satu kesatuan data. Masing-masing elemen data tersebut dinamakan field atau elemen.
Bab 05 Tipe Data dan Mengisi Variabel
Dibuat oleh : Renni Angreni, S.Kom.
Sorting (Pengurutan).
STRUKTUR Struktur merupakan kumpulan elemen data yang digabungkan menjadi satu kesatuan data. Masing-masing elemen data tersebut dinamakan field atau elemen.
Teknik Pemrog. Terstruktur 2
Pointer (Part 1).
PEMROGRAMAN SISTEM PERNYATAAN DASAR FUNGSI Pertemuan VI
Teknik Pemrog. Terstuktur 2
STRUKTUR PERULANGAN 2 (LOOPING-2)
STRUKTUR KONTROL PENYELEKSIAN KONDISI LANJUTAN…….
STRUKTUR DATA DIMENSIONAL ARRAY
Fungsi, Array dan String
Pengertian FUNGSI.
I Gusti Agung Made Wirautama, S.Kom
Statement Control (if dan switch)
PEMROGRAMAN SISTEM FUNGSI
2. Pengenalan Program C++
FUNGSI (Method) Bag.1 Pertemuan 18 Dasar Pemrograman
PERNYATAAN DASAR DALAM C++.
Castaka agus sugiato, M.Kom., M.CS
Pemograman Berorientasi Object Sistem Informasi Semster III
Algoritma Struktur Data
array Array merupakan tipe data yang menampung
Teknik Pemrog. Terstruktur 2
Transcript presentasi:

Fungsi

Fungsi Setiap fungsi yg akan digunakan di dalam progam harus sudah didefinisikan dahulu. Umumnya diletakkan diatas main(), tetapi dapat pula di tuliskan di bawah main() asalkan didefinisikan prototype fungsi di atas main() Pernyataan Return di dalam fungsi digunakan untuk memberikan nilai balik fungsi ke program utamanya Tidak semua fungsi harus mempunyai nilai balik, seperti fungsi untuk menampilkan suatu keterangan saja contoh ->void judul() {…………}

#include <iostream.h> #include <math.h> int jml2bil( int x1, int x2 ) // fungsi standard { int jml; jml = x1 + x2 ; return(jml); } int main(void) int y,a,b; cout << "Masukkan 2 bilangan \n"; cin >> a >> b; y = jml2bil(a,b); cout << "a is " << a << endl; cout << "b is " << b << endl; cout << "y is " << y << endl; return(0);

#include <iostream.h> #include <math.h> int jml2bil( int x1, int x2 ) ;// fungsi prototype int main(void) { int y,a,b; cout << "Masukkan 2 bilangan \n"; cin >> a >> b; y = jml2bil(a,b); cout << "a is " << a << endl; cout << "b is " << b << endl; cout << "y is " << y << endl; return(0); } int jml2bil( int x1, int x2 ) int jml; jml = x1 + x2 ; return(jml);

Lingkup Variabel ; Variabel otomatis Variabel external Variabel statis

Variabel otomatis Variabel yg didefinisikan dalam suatu fungsi berlaku sebagai variabel lokal bagi fungsi dengan sifat: Var hanya akan diciptakan pada saat fungsi dipanggil Saat fungsi berakhir, var otomatis akan hilang Tidak perlu ada inisialisasi pada var Hanya dapat diakses dalam fungsi saja

#include <iostream.h> #include <math.h> int jml2bil( int x1, int x2 ) // fungsi standard { // var x1 dan x2 adlh var otomatis int jml; jml = x1 + x2 ; return(jml); } int main(void) { int y,a,b; cout << "Masukkan 2 bilangan \n"; cin >> a >> b; y = jml2bil(a,b); cout << "a is " << a << endl; cout << "b is " << b << endl; cout << "y is " << y << endl; return(0);

Variabel External Adalah suatu variabel yg didefinisikan di luar fungsi, yg dikenal sebagai var global. Catatan Usahakan menggunakan seminim mungkin suatu var global Var global mempunyai durasi selama program dieksekusi atau, memori yg digunakan untuk var ini dipertahankan selama program dieksekusi

#include <iostream.h> #include <math.h> Int A=5; // var eksternal int jml2bil( int x1, int x2 ) // fungsi standard { int jml; jml = x1 + x2 + A; return(jml); } int main(void) int y,a,b; cout << "Masukkan 2 bilangan \n"; cin >> a >> b; y = jml2bil(a,b); cout << "a is " << a << endl; cout << "b is " << b << endl; cout << "y is " << y << endl; return(0);

Variabel statis Var ini dapat berupa var lokal atau global dengan sifat : Jika berupa var lokal maka var tetap hanya dpt diakses pd fungsi yg mendefinisikan nya Var tidak hilang saat berakhir Inisialisasi hanya dilakukan sekali Jika berupa var global dapat diakses dari semua file yg didefinisikan (hati hati dalam menggunakannya) Caranya dengan menambah kata static type-data var-name ; static int x ;

#include <iostream.h> int fncstatis(int); void main( ) { int in,out; in = 1 ; while(in!=0) cout << "Enter input value:"; cin>>in; out=fncstatis(in); cout<<"Result:"<< out; } cout<<" End of Program"<< out; int fncstatis(int x) static int a=0; static int b=0; a++; b=b+x; return(b/a);

Operator resolusi lingkup (Scope resolution operator ::) Notasi :: digunakan sebagai operator resolusi lingkup, digunakan untuk mengakses suatu var yg didefinisikan diluar fungsi x = 50 int main() { float x; x = 7,5 cout << “x “ << x <<“ “<< ::x; return 0; }

Function overloading Kemampuan suatu fungsi untuk dapat menerima bermacam-macam type data dan bermacam macam nilai balik contoh: int kuadrat(int i) {return(i * i);} long kuadrat(long k) {return(k*k);} double kuadrat(double d) {return(d*d);}

#include <iostream.h> int kuadrat(int i) {return(i * i);} long kuadrat(long k) {return(k*k);} double kuadrat(double d) {return(d*d);} int main() { cout << kuadrat(5) << endl; cout << kuadrat(37) << endl; cout << kuadrat(2.5) << endl; return 0; }

Rekursi Suatu kemampuan dari fungsi untuk dapat memanggil dirinya sendiri contoh: long int pangkat(int x, int n) { if (n == 1) return(x); else return(x*pangkat(x, n-1)); } int main() { int p =5; int q = 3; long int r; r = pangkat(p,q); cout << r<<endl; return 0;}

array Array merupakan koleksi data dimana setiap elemen menggunakan nama dan tipe yang sama serta setiap elemen diakses dengan membedakan indeks array-nya. Berikut adalah contoh variable bernama C yang mempunyai lokasi memori yang semuanya bertipe int. C[0] = -45 C[1] =6 C[2] =0 C[3] =72 C[4] =1543 C[5] =43 C[6] =4 didefinisikan sebagai int c[7] atau int c[7] = {-45, 0, 6, 72, 1543, 43, 4} atau int c[] = {-45, 0, 6, 72, 1543, 43, 4} untuk berdimensi 2 -> int c[3][4]

C++ Reference, Pointer dan String

Reference Referensi digunakan untuk memberi nama alias pada suatu var int &ref = nama-var Contoh : int main(){ int i; int &r = i; i=10;cout<< i << r <<endl; r =50;cout << i << r << end; return 0;}

Pointer int foo; int *x; (content) foo = 123; x = &foo; pointer adalah sebuah var yg menyimpan alamat dr suatu var. ... MEMORY 1 2 3 4 5 81345 81346 81347 Address foo 123 int foo; int *x; (content) foo = 123; x = &foo; x 3

&foo int foo; foo = 123; x = &foo; Pd C++ kita dapat mengetahui alamat dr suatu variable dengan operator “&” (reference). ... MEMORY 1 2 3 4 5 Address int foo; foo = 123; x = &foo; foo 123 &foo artinya “alamat dr foo”

Memberi harga pada var dereferenced pointer Sebuah pointer harus mempunyai harga sebelum kita melakukan dereference padanya. int *x; *x=3; int foo; int *x; x = &foo; *x=3; x tidak menunjuk pada sesuatu ERROR!!! !!! Benar x menunjuk pd foo

Pointer ke suatu int *x; int **y; double *z; Sebuah int x Sebuah int sebuah double

Pointer dan Arrays array adalah nama dr const pointer. Notasi [] : int *x; int a[10]; x = &a[2]; for (int i=0;i<3;i++) x[i]++; x adlh alamat a[2] ” x[i] sama spt a[i+2]

Pointer arithmetic operasi math integer dpt digunakan pd pointers. int *ptr = a; *(ptr+2) *(ptr+4) *ptr a[0] a[1] a[2] a[3] a[4] int a[5];

Passing pointer sbg parameter void swap( int *x, int *y) { int tmp; tmp = *x; *x = *y; *y = tmp; }

Pointer sbg Parameters Pointers berlaku sbg passed by value (nilai dr pointer adalah alamat). Kita dpt mengganti apa yg di tunjuk oleh pointer. Kita dapat meng copy suatu pointer

C++ string zero (null) msg 'R' 'P' 'I' sebuah string adalah null terminated array dari characters. null terminated artinya, terdapat character pd akhir array yg bernilai 0 (null). Pointer sering digunakan bersama string: char *msg = “RPI”; zero (null) msg 'R' 'P' 'I'

char * strcpy(char *dst, const char *src) Fungsi manipulasi String library utk menangani string: char * strcpy(char *dst, const char *src) char * strcat(char *dst, const char *src) Dan banyak lagi

Contoh String – Hitung jml chars int count_string( char *s) { int n=0; while (*s) { n++; s++; } return(n); Selama pointer yg menunjuk ke s bukan null increment count set s ke char berikut

Cara lain int count_string( char *s) { char *ptr = s; while (*ptr) { } return(ptr - s); pointer arithmetic!

Latihan gunakan strcpy Buat sebuah fungsi yg membandingkan 2 string dan kembalikan hasil sbg true jika sama, dan false jika tidak sama. buat fungsi untuk menghilangkan spasi dr suatu string.

Pointer void Dalam C++ dimungkinkan membuat suatu pointer yg tak bertype, dengan cara menuliskan void pada type datanya void *ptr keuntungan void pointer adalah dapat menunjukkan sebarang type data, seperti int, float, double atau char

contoh void *ptr ; int vint = 50 ; float vfl = 50.123 ; ptr = &vint //menunjuk ke int cout << *(int *) ptr << endl; ptr = &vfl //menunjuk ke float cout << *(float *) ptr << endl;

Pointer dan array Pointer dan array mempunyai hubungan yg sangat dekat, karena secara internal array juga menyatakan alamat seperti contoh berikut int tgl_lahir[] = {24, 6, 1990}; *ptgl ; agar ptgl menunjuk ke array, di nyatakan dg ptgl = tgl_lahir

Pointer dan matrix int *x; int **y; Sebuah array x Mat baris Mat kolom

Pointer dan array int main() { int r ; cout <<"input jml elemen " ; cin >> r; cout << endl; // menyiapkan tempat int *mat = new int[r] ; for( int i=0 ; i<r ; i++) cin >> mat[i]; // tampilkan for (int j=0 ; j<r ; j++) cout << mat[j] << "\t"; return 0; } mat *mat int *mat

**mat *mat baris mat kolom int **mat int main() { int r, c, i, j; cout <<"input jml baris " ; cin >> r; cout <<endl; cout <<"input jlm kolom " ; cin >> c; cout << endl; // menyiapkan tempat int **mat = new int *[r]; for ( i = 0; i < r; i++) mat[i] = new int [c]; // mengisi matrix for (i = 0 ; i < r ; i++) for (j = 0 ; j < c ; j++) { cout << "First Matrix Inputs (Row " << i+1 << ") " << "(Column " << j+1 << ")"; cin >> mat[i][j]; } // tampilkan for (j = 0 ; j < c; j++) cout << mat[i][j] << "\t" ; return 0;

Latihan buat program dengan menggunakan pointer untuk mengalikan matrix A(mxn) dan matrix B(nxp)

Pointer dan string char *ptokoh = “superman”; // ptokoh menunjuk ke string cout << ptokoh; // mencetak string sama dengan statement char tokoh[] = “superman” ; Perbedaan nya adalah : 1. ptokoh adlh pointer yg dg mudah dpt diatur agar menunjuk ke data string 2. tokoh adlh array yg menyatakan elemen yg konstan tdk dpt berubah, yg dapat di ubah hanya elemen array

contoh char tokoh[] = “superman”; char *ptokoh = “superman”; cout << “Tokoh ”<<tokoh<<endl; cout << “*ptokoh”<<ptokoh<<endl; // tokoh++ tidak di perkenankan ptokoh++ ; // diperkenankan Hasil : Tokoh superman ptokoh superman ptokoh uperman

Pointer sebagai argumen fungsi // definisi fungsi void ubah_nilai(int x) { x = 95; } int main() { int p = 80; cout << “nilai awal “ << pi << endl; ubah_nilai(pi); cout << “nilai skrg “ << pi << endl; return 0;} Hasil nilai awal 95 nilai skrg 80

Perbedaan antara pointer dan referensi Referensi adalah alias dari suatu var Pointer adalah alamat dari suatu var Pointer merupakan mekanisme untuk mengubah nilai dari dalam fungsi sedangkan Referensi adalah keistimewaan yg ditawarkan untuk melakukan hal yg sama

Pointer sebagai keluaran fungsi Suatu fungsi dapat dibuat agar keluaran nya berupa pointer // definisikan fungsi char *warna(int n) { char *warna[] = {“kode salah”,“merah”, “kuning”, “hijau”}; return ((n<1 || n>3) ? Warna[0] : warna[n]); } // program main int main() { int w; cout <<“input warna “; cin w; cout << warna(w) ; return 0; }

Memperoleh argumen baris perintah #include <iostream.h> int main(int argc, char *argv[]) { for (int i=0 ; i<argc ; i++) cout << "argv[" << i << "] = " << argv[i] << endl; } Program ini digunakan untuk membaca argumen baris perintah, misalnya perintah C:\> format A: Jangan menggunakan secara sembarang !!!