Function dalam Bahasa C Universitas Mercu Buana Fakultas Teknik Industri Program Studi Teknik Informatika Mata Kuliah Algoritma dan Pemrograman I Oleh:

Slides:



Advertisements
Presentasi serupa
ARRAY.
Advertisements

Pemrograman Berorientasi Objek
ModulXI (sebelas) TopikKonkurensi Sub TopikDead Lock Materi  Pengertian Dead lock  Penyelesaian Deadlock TujuanMahasiswa mengenal persoalan Deadlock.
MODUL KULIAH Mata kuliah SISTEM OPERASI II ( 3 sks )
MINGGU KE- 14 PENJABARAN ISI SATUAN ACARA PENGAJARAN
b. Tujuan MINGGU VIII UJIAN TENGAH SEMESTER
MINGGU KE- 7 PENJABARAN ISI SATUAN ACARA PENGAJARAN
MINGGU KE- 9 CAKUPAN ISI (Content Summarry)
1 IKI10230 Pengantar Organisasi Komputer Kuliah no. 12: Tugas No. 4 Sumber: 1. Paul Carter, PC Assembly Language 2. Hamacher. Computer Organization, ed-5.
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
7. PENJUMLAHAN DUA BUAH MATRIKS
JURUSAN ARSITEKTUR - FAKULTAS TEKNIK SIPIL DAN PERENCANAAN UNIVERSITAS MERCU BUANA MINGGU KE- 13 PENJABARAN ISI SATUAN ACARA.
6 MODUL 6 1. Pengertian Dasar tanah yang terkena gaya rembesan. p
MODUL KULIAH : REKAYASA PONDASI II SKS : 2
MINGGU KE- 15 PENJABARAN ISI SATUAN ACARA PENGAJARAN
MODUL KULIAH STRUKTUR DATA TANGGAL REVISI TANGGAL BERLAKU KODE DOKUMEN :::::: September Session 8 Edited By Al-Bahra. L.B, S. Kom, M.
Modul 10 Fungsi PENGERTIAN FUNGSI
Algoritma dan Pemrograman Modular Programming (Bagian 1)
Modular Programming Slamet Kurniawan, S.Kom.
MODUL 11 γ (6) γ (6) = 5 γ (5) = 5 ! γ (6) 2.!.γ (2,5) γ (6) = Jawab :
Fungsi (lanjutan) Pertemuan ke-9 Bahasa C.
Parameter formal adalah variabel yang ada pada daftar parameter dalam
Modul 11 – Hendi Hermawan - 1
Ilustrasi keberadaan fungsi dalam sebuah program:
ARRAY (Lanjutan).
ALJABAR LINEAR DAN MATRIKS
Dasar Pemrograman MODUL 07 PERULANGAN.
Dasar Pemrograman MODUL 06 PERCABANGAN.
Konsep Pemrograman Contoh Program C # include int main() { printf("Hello World From About\n"); getche (); return 0; }
ARRAY Dr. Lily Wulandari.
PENGENALAN c++ DAN STRUKTUR DASAR C++
FUNCTION / FUNGSI.
Review-Dasar Pemrograman Komputer
PEMROGRAMAN SISTEM PERNYATAAN DASAR PILIHAN Pertemuan V
FUNGSI.
Procedure & Function Sub Program.
Pointer Memory Dinamic.
Fungsi.
Algoritma dan Struktur Data
#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 ERULANGA N K OMPLEK S. BREAK Digunakan untuk menghentikan suatu proses perulangan yang sedang terjadi. Biasanya dikarenakan oleh suatu kondisi Break.
Pemrograman Berorientasi Obyek1 Sub Pokok Bahasan Pointer. Reference. Function Passing Parameter by Value, by Reference, by Pointer.
Tenia Wahyuningrum, S.Kom., MT
Bab 05 Tipe Data dan Mengisi Variabel
Dibuat oleh : Renni Angreni, S.Kom.
PERTEMUAN KE-9 IFII SAINTEC UIN SGD. FUNCTION (FUNGSI) Function (fungsi) adalah kumpulan pernyataan/statement yang diberi nama, dimana nama tersebut dapat.
PEMROGRAMAN SISTEM PERNYATAAN DASAR FUNGSI Pertemuan VI
1 Pertemuan Fungsi Matakuliah: T0016 / Algoritma dan Pemrograman Tahun: 2007 Versi: 6.
contoh aplikasi sederhana yang terpaksa menggunakan
Fungsi, Array dan String
PERSON 20 TUGAS PEMROGRAMAN TERSTRUKTUR C++ CHERIA LOUPATTY MANAJEMEN INFORMATIKA STMIK / AMIK PARNA RAYA MANADO.
Fungsi dan Prosedur.
Prosedur dan Fungsi Triana Elizabeth, S.Kom.
ALGORITMA & STRUKTUR DATA I
TEL 2112 Dasar Komputer & Pemograman Pemrograman Modular
MODULAR (FUNGSI)
FUNGSI (Method) Bag.1 Pertemuan 18 Dasar Pemrograman
Remainder Senin depan mulai UTS Praktikum
Procedure/Function/Method
TEL 2112 Dasar Komputer & Pemograman Pemrograman Modular
PEMROGRAMAN DASAR.
Algoritma dan Pemrograman I Teknik Informatika UNIKOM
PEMROGRAMAN DASAR (BAHASA C)
TEL 2112 Dasar Komputer & Pemograman Prosedur
Parameter Ketika procedure atau function dipanggil, kita dapat melewatkan suatu nilai ke dalam function atau procedure tersebut. Nilai yang dilewatkan.
MODULAR (FUNGSI)
TEL 2112 Dasar Komputer & Pemograman Pemrograman Modular
PROCEDURE DAN FUNGSI.
Teknik Pemrog. Terstruktur 2
Transcript presentasi:

Function dalam Bahasa C Universitas Mercu Buana Fakultas Teknik Industri Program Studi Teknik Informatika Mata Kuliah Algoritma dan Pemrograman I Oleh: Anis Cherid, MTI

Subprogram dalam Bahasa C Dalam Bahasa C, subprogram hanya terdiri dari satu jenis : function Dalam Bahasa C, subprogram hanya terdiri dari satu jenis : function Bahasa C tidak mengenal procedure, tetapi function dalam Bahasa C terdiri dari 2 jenis: Bahasa C tidak mengenal procedure, tetapi function dalam Bahasa C terdiri dari 2 jenis: function yang setara dengan procedure dalam Bahasa Pascal, disebut void function. function yang setara dengan procedure dalam Bahasa Pascal, disebut void function. function yang secara otomatis mengembalikan sebuah nilai, disebut typed function. function yang secara otomatis mengembalikan sebuah nilai, disebut typed function.

main(){ … /* baris program utama */ } void abc(){ … /* baris function */ } Ketentuan Membuat Void Function dalam Bahasa C Cara 1: Diletakkan sebelum program utama, dengan kata lain sebelum function main(). Cara 1: Diletakkan sebelum program utama, dengan kata lain sebelum function main().

main(){ … /* baris program utama */ } void abc(){ … /* baris function */ } Ketentuan Membuat Void Function dalam Bahasa C Cara 2: Diletakkan sesudah program utama, tetapi dengan menyertakan function prototype sebelum function main(). Cara 2: Diletakkan sesudah program utama, tetapi dengan menyertakan function prototype sebelum function main(). void abc(); /* function prototype*/

Ketentuan Membuat Void Function dalam Bahasa C Tanpa Parameter Keluaran, Tanpa Parameter Masukan. Tanpa Parameter Keluaran, Tanpa Parameter Masukan. #include void hapusbaris(void){ int i; gotoxy(1, wherey() ); for (i=1;i<=80;i++) printf(" "); } main(){ gotoxy(1,1); printf("Baris Satu\n"); printf("Baris Dua\n"); printf("Baris Tiga\n"); gotoxy(1,1); /*cursor ke baris 1*/ hapusbaris(); gotoxy(1,3); /*cursor ke baris 3*/ hapusbaris(); }

Ketentuan Membuat Void Function dalam Bahasa C Tanpa Parameter Keluaran, Tanpa Parameter Masukan. Tanpa Parameter Keluaran, Tanpa Parameter Masukan. #include void hapusbaris(void){ int i; gotoxy(1, wherey() ); for (i=1;i<=80;i++) printf(" "); } main(){ gotoxy(1,1); printf("Baris Satu\n"); printf("Baris Dua\n"); printf("Baris Tiga\n"); gotoxy(1,1); /*cursor ke baris 1*/ hapusbaris(); gotoxy(1,3); /*cursor ke baris 3*/ hapusbaris(); }

Ketentuan Membuat Void Function dalam Bahasa C Tanpa Parameter Keluaran, Tanpa Parameter Masukan. Tanpa Parameter Keluaran, Tanpa Parameter Masukan. #include void hapusbaris(void){ int i; gotoxy(1, wherey() ); for (i=1;i<=80;i++) printf(" "); } main(){ gotoxy(1,1); printf("Baris Satu\n"); printf("Baris Dua\n"); printf("Baris Tiga\n"); gotoxy(1,1); /*cursor ke baris 1*/ hapusbaris(); gotoxy(1,3); /*cursor ke baris 3*/ hapusbaris(); }

Ketentuan Membuat Void Function dalam Bahasa C Tanpa Parameter Keluaran, Tanpa Parameter Masukan. Tanpa Parameter Keluaran, Tanpa Parameter Masukan. #include void hapusbaris(void){ int i; gotoxy(1, wherey() ); for (i=1;i<=80;i++) printf(" "); } main(){ gotoxy(1,1); printf("Baris Satu\n"); printf("Baris Dua\n"); printf("Baris Tiga\n"); gotoxy(1,1); /*cursor ke baris 1*/ hapusbaris(); gotoxy(1,3); /*cursor ke baris 3*/ hapusbaris(); } Meskipun function tidak memiliki parameter masukan, pemanggilan funtion harus tetap menyertakan tanda kurung ().

Ketentuan Membuat Void Function dalam Bahasa C Satu buah parameter Satu buah parameter masukan masukan #include void cetakbintang(int x){ while (x>0){ printf("*"); x--; } main(){ int i; for (i=1;i<=5;i++){ cetakbintang(i); printf("\n"); } Cara Kerja Program

Ketentuan Membuat Void Function dalam Bahasa C Satu buah parameter Satu buah parameter masukan masukan #include void cetakbintang(int x){ while (x>0){ printf("*"); x--; } main(){ int i; for (i=1;i<=5;i++){ cetakbintang(i); printf("\n"); } Cara Kerja Program

Ketentuan Membuat Void Function dalam Bahasa C Lebih dari satu buah parameter masukan, satu jenis parameter masukan. Lebih dari satu buah parameter masukan, satu jenis parameter masukan. #include void bunyi(int frekuensi, int durasi){ /*** program lengkap dapat dilihat dengan melakukan klik terhadap hyperlink di bawah ini. ***/ } main(){ bunyi(440, 1000); bunyi(466, 1000); } Program Lengkap

Ketentuan Membuat Void Function dalam Bahasa C Lebih dari satu buah parameter masukan, satu jenis parameter masukan. Lebih dari satu buah parameter masukan, satu jenis parameter masukan. #include void bunyi(int frekuensi, int durasi){ /*** program lengkap dapat dilihat dengan melakukan klik terhadap hyperlink di bawah ini. ***/ } main(){ bunyi(440, 1000); bunyi(466, 1000); } Program Lengkap

Ketentuan Membuat Void Function dalam Bahasa C Lebih dari satu buah parameter masukan, satu jenis parameter masukan. Lebih dari satu buah parameter masukan, satu jenis parameter masukan. #include void bunyi(int frekuensi, int durasi){ /*** program lengkap dapat dilihat dengan melakukan klik terhadap hyperlink di bawah ini. ***/ } main(){ bunyi(440, 1000); bunyi(466, 1000); } Program Lengkap

Ketentuan Membuat Void Function dalam Bahasa C Lebih dari satu buah parameter masukan, lebih dari satu jenis parameter masukan. Lebih dari satu buah parameter masukan, lebih dari satu jenis parameter masukan. #include void cetakString(char *s, int posisi){ if (posisi==2){ gotoxy ((80-strlen(s))/2, wherey()) } else if (posisi==3){ gotoxy (80-strlen(s), wherey()) } else { gotoxy (1, wherey()); } printf(s); } main(){ cetakString("Cetak rata kiri", 1); cetakString("Cetak di tengah", 2); cetakString("Cetak rata kanan", 3); }

Ketentuan Membuat Void Function dalam Bahasa C Lebih dari satu buah parameter masukan, lebih dari satu jenis parameter masukan. Lebih dari satu buah parameter masukan, lebih dari satu jenis parameter masukan. #include void cetakString(char *s, int posisi){ if (posisi==2){ gotoxy ((80-strlen(s))/2, wherey()) } else if (posisi==3){ gotoxy (80-strlen(s), wherey()) } else { gotoxy (1, wherey()); } printf(s); } main(){ cetakString("Cetak rata kiri", 1); cetakString("Cetak di tengah", 2); cetakString("Cetak rata kanan", 3); }

Ketentuan Membuat Void Function dalam Bahasa C Lebih dari satu buah parameter masukan, lebih dari satu jenis parameter masukan. Lebih dari satu buah parameter masukan, lebih dari satu jenis parameter masukan. #include void cetakString(char *s, int posisi){ if (posisi==2){ gotoxy ((80-strlen(s))/2, wherey()) } else if (posisi==3){ gotoxy (80-strlen(s), wherey()) } else { gotoxy (1, wherey()); } printf(s); } main(){ cetakString("Cetak rata kiri\n", 1); cetakString("Cetak di tengah\n", 2); cetakString("Cetak rata kanan\n", 3); }

Ketentuan Membuat Void Function dalam Bahasa C Satu buah parameter masukan dan tiga buah parameter keluaran Satu buah parameter masukan dan tiga buah parameter keluaran #include void dekompDetik (long int x, int *jam, int *menit, int *detik){ *jam = x/3600; x = x % 3600; *menit = x/60; *detik = x % 60; } main(){ int j, m, d; dekompDetik(86399, &j, &m, &d); printf("86399 detik sama " "dengan %d jam %d menit " "%d detik", j, m, d); } Cara Kerja Program

Ketentuan Membuat Void Function dalam Bahasa C Satu buah parameter masukan dan tiga buah parameter keluaran Satu buah parameter masukan dan tiga buah parameter keluaran #include void dekompDetik (long int x, int *jam, int *menit, int *detik){ *jam = x/3600; x = x % 3600; *menit = x/60; *detik = x % 60; } main(){ int j, m, d; dekompDetik(86399, &j, &m, &d); printf("86399 detik sama " "dengan %d jam %d menit " "%d detik", j, m, d); } Cara Kerja Program

Ketentuan Membuat Void Function dalam Bahasa C Satu buah parameter masukan dan tiga buah parameter keluaran Satu buah parameter masukan dan tiga buah parameter keluaran #include void dekompDetik (long int x, int *jam, int *menit, int *detik){ *jam = x/3600; x = x % 3600; *menit = x/60; *detik = x % 60; } main(){ int j, m, d; dekompDetik(86399, &j, &m, &d); printf("86399 detik sama " "dengan %d jam %d menit " "%d detik", j, m, d); } Cara Kerja Program

Ketentuan Membuat Void Function dalam Bahasa C Satu buah parameter masukan dan tiga buah parameter keluaran Satu buah parameter masukan dan tiga buah parameter keluaran #include void dekompDetik (long int x, int *jam, int *menit, int *detik){ *jam = x/3600; x = x % 3600; *menit = x/60; *detik = x % 60; } main(){ int j, m, d; dekompDetik(86399, &j, &m, &d); printf("86399 detik sama " "dengan %d jam %d menit " "%d detik", j, m, d); } Parameter keluaran dibuat dengan menambahkan tanda * sebelum nama masing- masing parameter. Cara Kerja Program

Ketentuan Membuat Void Function dalam Bahasa C Satu buah parameter masukan dan tiga buah parameter keluaran Satu buah parameter masukan dan tiga buah parameter keluaran #include void dekompDetik (long int x, int *jam, int *menit, int *detik){ *jam = x/3600; x = x % 3600; *menit = x/60; *detik = x % 60; } main(){ int j, m, d; dekompDetik(86399, &j, &m, &d); printf("86399 detik sama " "dengan %d jam %d menit " "%d detik", j, m, d); } Di dalam void function, untuk menyimpan nilai dalam parameter keluaran, nama parameter keluaran juga dilengkapi dengan tanda * Cara Kerja Program

Ketentuan Membuat Void Function dalam Bahasa C Satu buah parameter masukan dan tiga buah parameter keluaran Satu buah parameter masukan dan tiga buah parameter keluaran #include void dekompDetik (long int x, int *jam, int *menit, int *detik){ *jam = x/3600; x = x % 3600; *menit = x/60; *detik = x % 60; } main(){ int j, m, d; dekompDetik(86399, &j, &m, &d); printf("86399 detik sama " "dengan %d jam %d menit " "%d detik", j, m, d); } Memanggil void function yang memiliki parameter keluaran, dilakukan dengan menambahkan tanda & pada masing-masing variabel yang menjadi argumen. Cara Kerja Program

Ketentuan Membuat Void Function dalam Bahasa C Satu buah parameter masukan/keluaran Satu buah parameter masukan/keluaran #include void lipatGanda (int *x){ *x = *x * 2; } main(){ int bil=4; lipatGanda(&bil); printf("%d",bil); }

Ketentuan Membuat Void Function dalam Bahasa C Satu buah parameter masukan/keluaran Satu buah parameter masukan/keluaran #include void lipatGanda (int *x){ *x = *x * 2; } main(){ int bil=4; lipatGanda(&bil); printf("%d",bil); }

Typed Function dalam Bahasa C #include float luas(int alas, int tinggi){ return (alas*tinggi)/2; } main(){ int x,y; printf("Masukkan panjang " "alas segitiga:"); scanf("%d",&x); printf("Masukkan tinggi " "segitiga:"); scanf("%d",&y); printf("Luas segitiga adalah " "%f", luas(x,y)); }

#include float luas(int alas, int tinggi){ return (alas*tinggi)/2; } main(){ int x,y; printf("Masukkan panjang " "alas segitiga:"); scanf("%d",&x); printf("Masukkan tinggi " "segitiga:"); scanf("%d",&y); printf("Luas segitiga adalah " "%d ", luas(x,y)); } Typed Function dalam Bahasa C Ketentuan Membuat Typed Function: Sama dengan ketentuan membuat void function Ditambah : Typed function harus menyertakan tipe data dari nilai yang dikembalikan. Typed function harus menyertakan baris instruksi yang mengembalikan nilai. Jika typed function tidak mencantumkan tipe data dari nilai yang dikembalikan, maka komputer menganggap bahwa tipe datanya adalah int. Tipe data dari nilai yang dikembalikan Baris instruksi yang mengembalikan nilai

Typed Function dalam Bahasa C PEMANGGILAN TYPED FUNCTION YANG BENAR: printf("%10.2f", luas(10,5)); printf("%f", luas(10*5, 20)); int i=luas(10,10); § luas(10,10); § § § Menyimpan nilai bertipe float yang dikembalikan typed function ke dalam variabel bertipe integer tidak akan menimbulkan pesan kesalahan. Hal ini hanya mengakibatkan angka di belakang koma diabaikan oleh komputer. § § Bahasa C mengijinkan ekspresi ditulis sebagai statement yang berdiri sendiri. Akibatnya, meskipun "pemanggilan typed function" adalah ekspresi yang mengembalikan nilai, pemanggilan typed function sebagai statement tidak akan menimbulkan pesan kesalahan. Contoh ekspresi lain yang tidak akan menimbulkan kesalahan jika ditulis sebagai statement yang berdiri sendiri: x+3;2*2;a+10;

Pemanggilan Function dalam Bahasa C PEMANGGILAN VOID FUNCTION DAN TYPED FUNCTION YANG SALAH: Jika prototype function: lipatganda(int *x); dipanggil dengan cara: lipatganda(10), atau lipatganda(a) Salah karena parameter function adalah parameter keluaran, sehingga harus dipanggil dengan menggunakan argumen berupa alamat variabel. Misalnya, lipatganda(&a). Jika prototype function: int luas(int x, int y); dipanggil dengan cara: luas(600,200,500), atau luas(a) Salah karena parameter function ada 2 buah, tetapi dipanggil hanya menggunakan 3 buah argumen atau 1 buah argumen.  

Mengirimkan Argumen Berjenis Array ke dalam Function Yang bisa menjadi argumen ketika memanggil sebuah function adalah: Yang bisa menjadi argumen ketika memanggil sebuah function adalah: alamat variabel array alamat variabel array nilai dari sebuah elemen array nilai dari sebuah elemen array Dalam Bahasa C, tidak dimungkinkan mengirimkan keseluruhan salinan array ke dalam function. Dalam Bahasa C, tidak dimungkinkan mengirimkan keseluruhan salinan array ke dalam function.

BAGIAN AKHIR PRESENTASI FUNCTIONDALAM BAHASA PEMROGRAMAN C

Cara Kerja Program Ketika program dieksekusi, baris pertama dalam function main() akan dilaksanakan. Akibatnya, dalam "memori program utama" disediakan tempat untuk variabel i. void cetakbintang(int x){ while (x>0){ printf("*"); x--; } } main(){ int i; for (i=1;i<=5;i++){ cetakbintang(i); printf("\n"); } } i

Cara Kerja Program Kemudian, baris kedua dilaksanakan. Tepatnya bagian yang mengubah nilai variabel i. Akibatnya, nilai variabel i berubah menjadi 1. void cetakbintang(int x){ while (x>0){ printf("*"); x--; } } main(){ int i; for (i=1;i<=5;i++){ cetakbintang(i); printf("\n"); } } 1 i

Cara Kerja Program Kemudian nilai variabel i diuji pada bagian pemeriksaan kondisi. Karena i<=5 maka instruksi-instruksi dalam for-loop akan dilaksanakan. void cetakbintang(int x){ while (x>0){ printf("*"); x--; } } main(){ int i; for (i=1;i<=5;i++){ cetakbintang(i); printf("\n"); } } 1 i

Cara Kerja Program Baris pertama dalam for-loop dilaksanakan. Baris ini merupakan baris function-call, sehingga pelaksanaan program melompat ke function cetakbintang(). void cetakbintang(int x){ while (x>0){ printf("*"); x--; } } main(){ int i; for (i=1;i<=5;i++){ cetakbintang(i); printf("\n"); } } 1 i

Cara Kerja Program Parameter function cetakbintang() adalah variabel x. Akibatnya, begitu function ini dipanggil, di dalam "memori function" disediakan tempat untuk variabel x. void cetakbintang(int x){ while (x>0){ printf("*"); x--; } main(){ int i; for (i=1;i<=5;i++){ cetakbintang(i); printf("\n"); } 1 i x

Cara Kerja Program Karena function ini dipanggil dengan argumen i, maka nilai variabel i akan dikirim ke dalam function dan menjadi nilai parameter x. void cetakbintang(int x){ while (x>0){ printf("*"); x--; } main(){ int i; for (i=1;i<=5;i++){ cetakbintang(i); printf("\n"); } 1 i 1 x

Cara Kerja Program Di dalam function, dilakukan pemeriksaan kondisi terhadap variabel x. Karena x==1, sehingga x>0, maka baris-baris instruksi dalam while-loop akan dilaksanakan. void cetakbintang(int x){ while (x>0){ printf("*"); x--; } } main(){ int i; for (i=1;i<=5;i++){ cetakbintang(i); printf("\n"); } } 1 i 1 x

Cara Kerja Program Di dalam while-loop, instruksi menampilkan output dilaksanakan. Akibatnya, pada layar monitor muncul sebuah tanda bintang. void cetakbintang(int x){ while (x>0){ printf("*"); x--; } } main(){ int i; for (i=1;i<=5;i++){ cetakbintang(i); printf("\n"); } } 1 i 1 x *

Cara Kerja Program Baris kedua dilaksanakan. Akibatnya, nilai variabel x berkurang menjadi 0. Putaran 1 while-loop selesai dilaksanakan. void cetakbintang(int x){ while (x>0){ printf("*"); x--; } } main(){ int i; for (i=1;i<=5;i++){ cetakbintang(i); printf("\n"); } } 1 i 10 x *

Cara Kerja Program Selanjutnya, pemeriksaan kondisi dilakukan untuk memeriksa apakah while-loop akan berputar sekali lagi. Karena x==0, maka tidak ada putaran kedua dan pelaksanaan program keluar dari while-loop. void cetakbintang(int x){ while (x>0){ printf("*"); x--; } } main(){ int i; for (i=1;i<=5;i++){ cetakbintang(i); printf("\n"); } } 1 i 0 x *

Cara Kerja Program Karena sesudah while-loop tidak terdapat instruksi lain, maka pelaksanaan program keluar dari function dan kembali ke program utama. void cetakbintang(int x){ while (x>0){ printf("*"); x--; } } main(){ int i; for (i=1;i<=5;i++){ cetakbintang(i); printf("\n"); } } 1 i 0 x *

Cara Kerja Program Ketika instruksi printf dilaksanakan, posisi cursor pindah ke baris baru, sehingga penulisan berikutnya akan terjadi di baris ke-2. void cetakbintang(int x){ while (x>0){ printf("*"); x--; } } main(){ int i; for (i=1;i<=5;i++){ cetakbintang(i); printf("\n"); } } 1 i *

Cara Kerja Program Kemudian pelaksanaan program kembali ke awal for-loop. Akibatnya nilai variabel i bertambah menjadi 2. Putaran ke-1 for- loop selesai. void cetakbintang(int x){ while (x>0){ printf("*"); x--; } } main(){ int i; for (i=1;i<=5;i++){ cetakbintang(i); printf("\n"); } } 12 i *

Cara Kerja Program Selanjutnya diperiksa apakah for-loop akan berputar untuk ke-2 kalinya. Karena variabel i<=5, maka for- loop akan memasuki putaran ke-2. void cetakbintang(int x){ while (x>0){ printf("*"); x--; } } main(){ int i; for (i=1;i<=5;i++){ cetakbintang(i); printf("\n"); } } 2 i *

Cara Kerja Program Baris pertama dalam for-loop dilaksanakan. Function cetakbintang() dipanggil untuk yang ke-2 kalinya. Kali ini menggunakan argumen variabel i yang bernilai 2. void cetakbintang(int x){ while (x>0){ printf("*"); x--; } } main(){ int i; for (i=1;i<=5;i++){ cetakbintang(i); printf("\n"); } } 2 i * 2 x

Cara Kerja Program Di dalam function, yang pertama dilakukan adalah pemeriksaan kondisi terhadap variabel x. Karena x==2, sehingga x>0, maka baris-baris instruksi dalam while-loop akan dilaksanakan. void cetakbintang(int x){ while (x>0){ printf("*"); x--; } } main(){ int i; for (i=1;i<=5;i++){ cetakbintang(i); printf("\n"); } } 2 i 2 x *

Cara Kerja Program Di dalam while-loop, instruksi menampilkan output dilaksanakan. Akibatnya, pada layar monitor muncul tanda bintang ke-2. void cetakbintang(int x){ while (x>0){ printf("*"); x--; } } main(){ int i; for (i=1;i<=5;i++){ cetakbintang(i); printf("\n"); } } 2 i 2 x *****

Cara Kerja Program Baris kedua dilaksanakan. Akibatnya, nilai variabel x berkurang menjadi 1. Putaran 1 while-loop selesai dilaksanakan. void cetakbintang(int x){ while (x>0){ printf("*"); x--; } } main(){ int i; for (i=1;i<=5;i++){ cetakbintang(i); printf("\n"); } } 2 i 21 x ****

Cara Kerja Program Selanjutnya, pemeriksaan kondisi dilakukan untuk memeriksa apakah while-loop akan berputar sekali lagi. Karena x==1, sehingga x>0, maka while-loop akan memasuki putaran ke-2. void cetakbintang(int x){ while (x>0){ printf("*"); x--; } } main(){ int i; for (i=1;i<=5;i++){ cetakbintang(i); printf("\n"); } } 2 i 1 x ****

Cara Kerja Program Di dalam putaran ke-2 while-loop, instruksi pertama dilaksanakan. Akibatnya, pada layar monitor muncul tanda bintang yang ke-3. void cetakbintang(int x){ while (x>0){ printf("*"); x--; } } main(){ int i; for (i=1;i<=5;i++){ cetakbintang(i); printf("\n"); } } 2 i 1 x **** * **

Cara Kerja Program Baris kedua dilaksanakan. Akibatnya, nilai variabel x berkurang menjadi 0. Putaran 2 while-loop selesai dilaksanakan. void cetakbintang(int x){ while (x>0){ printf("*"); x--; } } main(){ int i; for (i=1;i<=5;i++){ cetakbintang(i); printf("\n"); } } 2 i 10 x * **

Cara Kerja Program Selanjutnya, pemeriksaan kondisi dilakukan untuk memeriksa apakah while-loop akan berputar sekali lagi. Karena x==0, maka tidak ada putaran ke-3 dan pelaksanaan program keluar dari while-loop. void cetakbintang(int x){ while (x>0){ printf("*"); x--; } } main(){ int i; for (i=1;i<=5;i++){ cetakbintang(i); printf("\n"); } } 2 i 0 x * **

Cara Kerja Program Karena sesudah while-loop tidak terdapat instruksi lain, maka pelaksanaan program keluar dari function dan kembali ke program utama. void cetakbintang(int x){ while (x>0){ printf("*"); x--; } } main(){ int i; for (i=1;i<=5;i++){ cetakbintang(i); printf("\n"); } } 2 i 0 x * **

Cara Kerja Program Ketika instruksi printf dilaksanakan, posisi cursor pindah ke baris baru, sehingga penulisan berikutnya akan terjadi di baris ke-2. void cetakbintang(int x){ while (x>0){ printf("*"); x--; } } main(){ int i; for (i=1;i<=5;i++){ cetakbintang(i); printf("\n"); } } 1 i * **

Cara Kerja Program Kemudian pelaksanaan program kembali ke awal for-loop. Akibatnya nilai variabel i bertambah menjadi 3. Putaran ke-2 for- loop selesai. void cetakbintang(int x){ while (x>0){ printf("*"); x--; } } main(){ int i; for (i=1;i<=5;i++){ cetakbintang(i); printf("\n"); } } 23 i * **

Cara Kerja Program Selanjutnya diperiksa apakah for-loop akan berputar untuk ke-3 kalinya. Karena variabel i==3, sehingga i<=5, maka for- loop akan memasuki putaran ke-3. void cetakbintang(int x){ while (x>0){ printf("*"); x--; } } main(){ int i; for (i=1;i<=5;i++){ cetakbintang(i); printf("\n"); } } 3 i * **

Cara Kerja Program Pada putaran ke-3 for-loop, dihasilkan 3 buah tanda bintang. void cetakbintang(int x){ while (x>0){ printf("*"); x--; } } main(){ int i; for (i=1;i<=5;i++){ cetakbintang(i); printf("\n"); } } 34 i * ** ***

Cara Kerja Program Pada putaran ke-4 for-loop, dihasilkan 4 buah tanda bintang. void cetakbintang(int x){ while (x>0){ printf("*"); x--; } } main(){ int i; for (i=1;i<=5;i++){ cetakbintang(i); printf("\n"); } } 45 i * ** *** ****

Cara Kerja Program Pada putaran ke-5 for-loop, dihasilkan 5 buah tanda bintang. void cetakbintang(int x){ while (x>0){ printf("*"); x--; } } main(){ int i; for (i=1;i<=5;i++){ cetakbintang(i); printf("\n"); } } 56 i * ** *** **** *****

Cara Kerja Program Sesudah putaran ke- 5, i==6, sehingga tidak memenuhi kondisi untuk dilaksanakannya putaran ke-6 for- loop. Akibatnya, pelaksanaan program akan keluar dari for-loop. Program berakhir. void cetakbintang(int x){ while (x>0){ printf("*"); x--; } } main(){ int i; for (i=1;i<=5;i++){ cetakbintang(i); printf("\n"); } } 6 i * ** *** **** *****

BAGIAN AKHIR PRESENTASI CARA KERJA PROGRAM YANG MENGANDUNG VOID FUNCTION DENGAN SEBUAH PARAMETER MASUKAN

Cara Kerja Program void dekompDetik (long int x, int *jam, int *menit, int *detik){ *jam = x/3600; x = x % 3600; *menit = x/60; *detik = x % 60; } main(){ int j, m, d; dekompDetik(86399, &j, &m, &d); printf("86399 detik " "sama dengan " "%d jam %d menit " "%d detik", j, m, d); } Ketika program dieksekusi, baris pertama dalam function main() akan dilaksanakan. Akibatnya, dalam "memori program utama" disediakan tempat untuk variabel j, m dan d. jmd

Cara Kerja Program void dekompDetik (long int x, int *jam, int *menit, int *detik){ *jam = x/3600; x = x % 3600; *menit = x/60; *detik = x % 60; } main(){ int j, m, d; dekompDetik(86399, &j, &m, &d); printf("86399 detik " "sama dengan " "%d jam %d menit " "%d detik", j, m, d); } Baris kedua dilaksanakan. Akibatnya, function dekompDetik() dipanggil. jmd

Cara Kerja Program void dekompDetik (long int x, int *jam, int *menit, int *detik){ *jam = x/3600; x = x % 3600; *menit = x/60; *detik = x % 60; } main(){ int j, m, d; dekompDetik(86399, &j, &m, &d); printf("86399 detik " "sama dengan " "%d jam %d menit " "%d detik", j, m, d); } Function ini memiliki 1 parameter masukan, yaitu x. Akibatnya, dalam "memori function" disediakan tempat untuk variabel x. jmd x

Cara Kerja Program void dekompDetik (long int x, int *jam, int *menit, int *detik){ *jam = x/3600; x = x % 3600; *menit = x/60; *detik = x % 60; } main(){ int j, m, d; dekompDetik(86399, &j, &m, &d); printf("86399 detik " "sama dengan " "%d jam %d menit " "%d detik", j, m, d); } Function ini juga memiliki 3 parameter berupa variabel POINTER, yaitu jam, menit dan detik. Akibatnya, dalam "memori function" disediakan tempat untuk ketiga variabel POINTER ini. jmd x jammenitdetik

Cara Kerja Program void dekompDetik (long int x, int *jam, int *menit, int *detik){ *jam = x/3600; x = x % 3600; *menit = x/60; *detik = x % 60; } main(){ int j, m, d; dekompDetik(86399, &j, &m, &d); printf("86399 detik " "sama dengan " "%d jam %d menit " "%d detik", j, m, d); } Salah satu argumen pemanggilan function adalah nilai Akibatnya, nilai parameter x diisi dengan jmd x jammenitdetik

Cara Kerja Program void dekompDetik (long int x, int *jam, int *menit, int *detik){ *jam = x/3600; x = x % 3600; *menit = x/60; *detik = x % 60; } main(){ int j, m, d; dekompDetik(86399, &j, &m, &d); printf("86399 detik " "sama dengan " "%d jam %d menit " "%d detik", j, m, d); } Argumen pemanggilan yang lainnya adalah &j, &m dan &d, yang berarti alamat variabel j, m dan d. Perhatikan apa yang terjadi ketika masing-masing argumen mengisi nilai dari parameter POINTER. jmd x menitdetikjam

Cara Kerja Program void dekompDetik (long int x, int *jam, int *menit, int *detik){ *jam = x/3600; x = x % 3600; *menit = x/60; *detik = x % 60; } main(){ int j, m, d; dekompDetik(86399, &j, &m, &d); printf("86399 detik " "sama dengan " "%d jam %d menit " "%d detik", j, m, d); } Argumen pemanggilan yang lainnya adalah &j, &m dan &d, yang berarti alamat variabel j, m dan d. Perhatikan apa yang terjadi ketika masing-masing argumen mengisi nilai dari parameter POINTER. jmd x menitdetikjam &j

Cara Kerja Program void dekompDetik (long int x, int *jam, int *menit, int *detik){ *jam = x/3600; x = x % 3600; *menit = x/60; *detik = x % 60; } main(){ int j, m, d; dekompDetik(86399, &j, &m, &d); printf("86399 detik " "sama dengan " "%d jam %d menit " "%d detik", j, m, d); } Argumen pemanggilan yang lainnya adalah &j, &m dan &d, yang berarti alamat variabel j, m dan d. Perhatikan apa yang terjadi ketika masing-masing argumen mengisi nilai dari parameter POINTER. jmd x menitdetikjam &m

Cara Kerja Program void dekompDetik (long int x, int *jam, int *menit, int *detik){ *jam = x/3600; x = x % 3600; *menit = x/60; *detik = x % 60; } main(){ int j, m, d; dekompDetik(86399, &j, &m, &d); printf("86399 detik " "sama dengan " "%d jam %d menit " "%d detik", j, m, d); } Argumen pemanggilan yang lainnya adalah &j, &m dan &d, yang berarti alamat variabel j, m dan d. Perhatikan apa yang terjadi ketika masing-masing argumen mengisi nilai dari parameter POINTER. jmd x menitdetikjam &d

Cara Kerja Program void dekompDetik (long int x, int *jam, int *menit, int *detik){ *jam = x/3600; x = x % 3600; *menit = x/60; *detik = x % 60; } main(){ int j, m, d; dekompDetik(86399, &j, &m, &d); printf("86399 detik " "sama dengan " "%d jam %d menit " "%d detik", j, m, d); } jmd x detikmenitjam Artinya, setiap kali di dalam function digunakan *jam, *menit dan *detik, komputer mengganggapnya sebagai variabel j, m dan d yang ada di luar function.

Cara Kerja Program void dekompDetik (long int x, int *jam, int *menit, int *detik){ *jam = x/3600; x = x % 3600; *menit = x/60; *detik = x % 60; } main(){ int j, m, d; dekompDetik(86399, &j, &m, &d); printf("86399 detik " "sama dengan " "%d jam %d menit " "%d detik", j, m, d); } Artinya, setiap kali di dalam function digunakan *jam, *menit dan *detik, komputer mengganggapnya sebagai variabel j, m dan d yang ada di luar function x *jam*menit *detik jmd

Cara Kerja Program void dekompDetik (long int x, int *jam, int *menit, int *detik){ *jam = x/3600; x = x % 3600; *menit = x/60; *detik = x % 60; } main(){ int j, m, d; dekompDetik(86399, &j, &m, &d); printf("86399 detik " "sama dengan " "%d jam %d menit " "%d detik", j, m, d); } Kemudian, baris pertama function dilaksanakan. Akibatnya *jam atau variabel j diisi dengan x/3600 = 23,9997. Karena variabel j bertipe integer, maka angka di belakang koma diabaikan x *jam*menit *detik jmd

Cara Kerja Program void dekompDetik (long int x, int *jam, int *menit, int *detik){ *jam = x/3600; x = x % 3600; *menit = x/60; *detik = x % 60; } main(){ int j, m, d; dekompDetik(86399, &j, &m, &d); printf("86399 detik " "sama dengan " "%d jam %d menit " "%d detik", j, m, d); } Selanjutnya, baris kedua function dilaksanakan. Akibatnya nilai variabel x diubah menjadi x % 3600 = x *jam*menit *detik jmd

Cara Kerja Program void dekompDetik (long int x, int *jam, int *menit, int *detik){ *jam = x/3600; x = x % 3600; *menit = x/60; *detik = x % 60; } main(){ int j, m, d; dekompDetik(86399, &j, &m, &d); printf("86399 detik " "sama dengan " "%d jam %d menit " "%d detik", j, m, d); } Selanjutnya, baris ketiga function dilaksanakan. Akibatnya *menit atau variabel m diisi dengan x/60 = 59,983. Karena variabel m bertipe integer, maka angka di belakang koma diabaikan x *jam*menit *detik jmd

Cara Kerja Program void dekompDetik (long int x, int *jam, int *menit, int *detik){ *jam = x/3600; x = x % 3600; *menit = x/60; *detik = x % 60; } main(){ int j, m, d; dekompDetik(86399, &j, &m, &d); printf("86399 detik " "sama dengan " "%d jam %d menit " "%d detik", j, m, d); } Selanjutnya, baris terakhir function dilaksanakan. Akibatnya *detik atau variabel d diisi dengan x % 60 = x *jam*menit *detik jmd

Cara Kerja Program void dekompDetik (long int x, int *jam, int *menit, int *detik){ *jam = x/3600; x = x % 3600; *menit = x/60; *detik = x % 60; } main(){ int j, m, d; dekompDetik(86399, &j, &m, &d); printf("86399 detik " "sama dengan " "%d jam %d menit " "%d detik", j, m, d); } Selanjutnya, pelaksanaan program kembali ke program utama, yaitu baris instruksi printf. Akibatnya nilai variabel j, m, dan d ditampilkan ke layar monitor x *jam*menit *detik jmd detik sama dengan 23 jam 59 menit 59 detik

BAGIAN AKHIR PRESENTASI CARA KERJA PROGRAM YANG MENGANDUNG VOID FUNCTION DENGAN SEBUAH PARAMETER MASUKAN DAN TIGA BUAH PARAMETER KELUARAN