Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
Algoritma dan Pemrograman 2C
Scope Variabel dan Memori Aurelio Rahmadian
2
Variabel Variabel digunakan dalam program untuk menyimpan suatu nilai, dan nilai yang ada padanya dapat diubah selama eksekusi program berlangsung.
3
Variabel Umumnya dideklarasikan dengan format: type var_name.
type menandakan jenis variabel.
4
Ciri Variabel Made up of letters, digits and underscore.
Must start with a non-digit. Case sensitive.
5
Scope Variabel Variabel Otomatis Variabel Eksternal Variabel Statis
Variabel Dinamis
6
Variabel Otomatis Variabel yg didefinisikan dalam suatu fungsi berlaku sebagai variabel lokal bagi fungsi dengan sifat: Variabel hanya akan diciptakan pada saat fungsi dipanggil. Saat fungsi berakhir, variabel otomatis akan hilang. Tidak perlu ada inisialisasi pada variabel. Hanya dapat diakses dalam fungsi saja.
7
#include <iostream. h> #include <math
#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);
8
Variabel Eksternal Adalah suatu variabel yg didefinisikan di luar fungsi, yg dikenal sebagai variabel global. Catatan: Usahakan menggunakan seminim mungkin suatu variabel global. Variabel ini mudah sekali berubah oleh pernyataan penugasaan yang letaknya bisa dimana saja. Ini bisa menimbulkan efek samping yang sulit untuk melacaknya, terutama untuk program yang besar. Variabel global mempunyai durasi selama program dieksekusi atau, memori yg digunakan untuk variabel ini dipertahankan selama program dieksekusi.
9
#include <iostream. h> #include <math
#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);
10
Variabel Statis Variabel ini dapat berupa variabel lokal atau global dengan sifat: Jika berupa variabel lokal maka variabel tetap hanya dapat diakses pada fungsi yg mendefinisikannya. Variabel 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.
11
#include <iostream
#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);
12
Memori Memori dapat menyimpan program dan data.
Setiap data merupakan kumpulan dari beberapa bit. Umumnya memori diatur dalam kumpulan 8 bit. Setiap byte memiliki address.
13
Penggambaran Memori MEMORY 1 2 3 4 5 81345 81346 81347 Address CPU
14
Program Sederhana # Instruction 1 Set memory[801] to hold 00000001
3 If memory[802] = 10 jump to instruction #8 4 increment memory[802] 5 set memory[803] to 2 times memory[801] 6 put memory[803] in to memory[801] 7 jump to instruction #3 8 print memory[801]
15
Penggambaran Program MEMORY 1 2 3 4 5 801 802 803 Instruction #1
Address 1 2 3 4 5 801 802 803 Instruction #1 Instruction #2 CPU Instruction #3 Instruction #4 Instruction #5 Instruction #6
16
Human vs Machine Programs
The computer can only understand the bits (the encoded program) Humans don't like to deal with bits, so they developed english-like abbreviations for programs. Machine Language Assembly Language
17
Assembly & Machine Language
Assembly Language Machine Language ST 1,[801] ST 0,[802] TOP: BEQ [802],10,BOT INCR [802] MUL [801],2,[803] ST [803],[801] JMP TOP BOT: LD A,[801] CALL PRINT
18
} High Level Language x=1;
while (i!=10){ i++; x=x*2; } printf("%d",x); set memory[801] to hold set memory[802] to hold if memory[802] = 10 jump to instruction #8 increment memory[802] set memory[803] to 2 times memory[801] put memory[803] in to memory[801] jump to instruction #3 print memory[801] }
19
Tata Letak Memori STACK HEAP DATA KODE
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.