Algoritma dan Struktur Data

Slides:



Advertisements
Presentasi serupa
TURUNAN/ DIFERENSIAL.
Advertisements

Fungsi Konsep Pemrograman.
Pemrograman Terstruktur
Pemrogramman Terstruktur
POINTER.
Procedure pada Pascal ALPROG II
Menempatkan Pointer Q 6.3 & 7.3 NESTED LOOP.
SOAL ESSAY KELAS XI IPS.
Fungsi (2) Dr. Anto Satriyo Nugroho, M.Eng Web:
ALJABAR.
Metode Simpleks Diperbaiki (Revised Simplex Method)
PERTEMUAN VIII POINTER
ARRAY STATIS DAN DINAMIS
Silahkan Salin Jawaban Anda DiKertas Sertakan : NIM. : Nama. : Kelas
Sistem Persamaan Diferensial
Subprogram Program kecil yang melakukan tugas tertentu dan merupakan bagian dari program secara keseluruhan Keuntungan : Mudah dikodekan Mudah dipahami.
FUNGSI Deklarasi dan Definisi fungsi Void dan Non-void Fungsi main.
STRUKTUR DATA (5) Pointer dan Function
Pointer Konsep Pemrograman.
LUAS DAERAH LINGKARAN LANGKAH-LANGKAH :
Pointer.
LIMIT FUNGSI LIMIT FUNGSI ALJABAR.
Fungsi, Parameter, Rekursi Daniel Riano Kaparang Book reference: Jogiyanto. Konsep Dasar Pemrograman Bahasa C. Andi Star. Yogyakarta Kristanto Andri.
TURUNAN DIFERENSIAL Pertemuan ke
Fungsi (lanjutan) Pertemuan ke-9 Bahasa C.
Parameter formal adalah variabel yang ada pada daftar parameter dalam
Modul 11 – Hendi Hermawan - 1
SEARCHING ( PENCARIAN )
Muhammad Hamdani G
Algoritma dan Struktur Data
Luas Daerah ( Integral ).
CSE1301 Sem /8/2017 File I/O Lecture 19: File I/O.
Chapter 3.2 : Tipe, Nama dan Nilai
Pemrograman Terstruktur
Pertemuan 5 P.D. Tak Eksak Dieksakkan
SLIDE OTOMATIS PINDAH DALAM WAKTU 4-5 MENIT. A:kiriB:kanan Deklarasikan sebuah variabel dengan nama ‘isi’ yang mempunyai type array of double dengan ukuran.
3 Variabel, Konstanta Tipe Data dan dalam Bahasa C/C++ Java dan Bab
Struktur Data Universitas PGRI Ronggolawe
Konsep Pemrograman Function.
ITK-121 KALKULUS I 3 SKS Dicky Dermawan
1 Pointer wijanarto. 2 Topik Introduction to Pointers Pointers dan Parameter Fungsi.
PD Tingkat/orde Satu Pangkat/derajat Satu
Review-Dasar Pemrograman Komputer
Fungsi Lecture 7. Motivation Complexity of programming problem  more difficult to consider the solution as a whole  clue: dividing the problem into.
Person 10Person Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’, dan tidak dapat diakses di luar fungsi (a)
Algoritma dan Struktur Data
Dasar Pemrograman Komputer [TKL-4002] 2010
Struktur data selain array : Structure, Union, Enumeration
Kompleksitas Algoritma
Kompleksitas Waktu Asimptotik
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 DPK Issa Arwani, S.kom, M.sc.
FUNGSI.
WISNU HENDRO MARTONO,M.Sc
STRUKTUR DATA (5) Pointer dan Function
Pointer Dr. Lily Wulandari.
POINTER (VAR.PENUNJUK)
STRUKTUR DATA Pointer dan Function
Algoritma dan Struktur Data
Algoritma dan Struktur Data
Bab 8 Pointer Riyanto Sigit Konsep Dasar Pointer  Variabel pointer sering dikatakan sebagai variabel yang menunjuk ke obyek lain  Variabel.
Function User Function.
Bab 05 Tipe Data dan Mengisi Variabel
Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006
Pointer (Part 1).
1. Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu :  Mendemonstrasikan penggunaan fungsi serta pengiriman parameter 2.
FUNGSI.
Pointer TEE 2103 Algoritma dan Pemrograman Dosen: Abdillah, MIT
FUNGSI.
FUNCTION Fungsi (Function) merupakan sekumpulan instruksi yang membentuk satu unit serta memiliki nama. Fungsi digunakan.
Algoritme dan Pemrograman
Transcript presentasi:

Algoritma dan Struktur Data Pertemuan 10 Pass by Value & Pass by Reference

Review Nilai sebuah variabel bisa diakses melalui dua cara Cara 1 : Langsung Cara 2 : Menggunakan pointer Is there any questions so far?

Review 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #include <stdio.h> #include <conio.h> void main() { int x; int *px; px = &x; x = 10; printf("nilai x diakses secara langsung : %d\n", x); *px = 11 printf("nilai x diakses melalui pointer : %d", *px); getch(); }

Program tanpa fungsi 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include <stdio.h> #include <conio.h> void main(){ float panjang, lebar, luas; panjang = 10; lebar = 20 luas = panjang * lebar; printf ("Luas persegi = %f\n", luas ); getch(); }

Perhitungan luas diletakkan di bagian terpisah 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include <stdio.h> #include <conio.h> void main(){ float panjang, lebar, luas; panjang = 10; lebar = 20 luas = hitungluas(panjang, lebar); printf ("Luas persegi Anda = %f\n", luas ); getch(); }

Fungsi untuk menghitung luas 1 2 3 4 5 6 float hitungluas(float p, l){ float l; l = p * l; return(l); }

Program menggunakan fungsi 1 2 3 4 5 6 7 8 9 10 11 12 13 void main(){ float panjang, lebar, luas; ….. luas = hitungluas(panjang, lebar); …. } float hitungluas(float p, float l){ float lu; lu = p * l; return(l);

Latihan Variabel atau data untuk main dan hitungluas terletak di bagian memori berbeda Keduanya tidak berhubungan Gambarkan keadaan memori untuk main dan hitungluas!

Pass by Value Jika kita mengubah nilai variabel p di hitungluas, apakah variabel panjang di main nilainya berubah?

Pass by Value 1 2 3 4 5 6 7 float hitungluas(float p, l){ float lu; lu = p * l; p = p * 2; return(lu); }

Pass by Value Pada saat main memanggil fungsi hitungluas, isi variabel panjang dan lebar dicopy kemudian dikirim ke hitungluas Di fungsi hitungluas, nilai tersebut dimasukkan ke variabel p dan l Merubah nilai p dan l tidak berakibat apa-apa pada variabel panjang dan luas Ingat, variabel main dan hitungluas terletak di bagian memori yang berbeda!

Pass by Reference Bagaimana cara mengubah nilai variabel panjang pada main dari fungsi hitungluas? Pada saat memanggil hitungluas, jangan mengirim nilai panjang Kirim alamat variabel panjang ke hitung luas Hitungluas dapat mengakses & mengubah isi variabel panjang milik main secara indirect

Program menggunakan fungsi 1 2 3 4 5 6 7 8 9 10 11 12 13 void main(){ float panjang, lebar, luas; ….. luas = hitungluas(&panjang, lebar); …. } float hitungluas(float *p, float l){ float lu; lu = (*p) * l; *p = (*p) * 2; return(l);

Pass by Reference Variabel v ada di fungsi F F memanggil fungsi G G perlu mengubah nilai v di F Jangan mengirim nilai v ke G Kirim alamat v G dapat mengakses v di F secara indirect G dapat mengubah nilai v di F

Latihan Buatlah fungsi untuk menukar isi dua variabel bertipe float!

Solusi 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 #include <stdio.h> #include <conio.h> void tukar(float *x, float *y); void main(){ float bil1, bil2; bil1 = 10; bil2 = 15; printf ("Bilangan 1 = %f , bilangan 2 = %f\n", bil1, bil2 ); tukar(&bil1, &bil2); getch(); } void tukar(float *x, float *y){ float temp; temp = *x; *x = *y; *y = temp;

Using a Pass by Value Is like giving someone the key to your home The key can be used by the other person to change the contents of your home! 17

Can you explain why? Additional Terms Pass-by-reference is also called . . . pass-by-address, or pass-by-location Can you explain why? 18