pertemuan11
W
Description
materi dari nak BSI semester awal algoritma.
Document Sample


TRANSPARANSI KULIAH TANGGALREVISI : 09 September 2006
LA102 TANGGAL BERLAKU : 09 September 2006
LOGIKA DAN ALGORITMA KODE DOKUMEN : DM-RHJ-005-005-008
ALGORITMA DAN PEMROGRAMAN
I. Pointer
- Pointer adalah variabel yang menyimpan alamat
memori dari vaeiabel yang lainya.
- Deklarasi pointer : <type> *ptr_name;
- Pointer bisa berisi alamat dari pointer yang lain
dan pointer ini disebut pointer to pointer.
Deklarasi pointer to pointer sbb : <type>
**ptr_to ptr;
- Pointer aritmatic : pointer bisa ditambah atau
dikurangi dengan suatu nilai tertentu.
Contoh : ptr = ptr – 2;
- Pointer comparison : pointer bisa dibandingkan
nilainya dengan pointer lain.
Contoh : if ( ptr1 , ptr2 ) …
Edisi: 01 Rev: 0 Copyright © Perguruan Tinggi Raharja 11/ 1 - 8
Get The Better Future By Computer Science
TRANSPARANSI KULIAH TANGGALREVISI : 09 September 2006
LA102 TANGGAL BERLAKU : 09 September 2006
LOGIKA DAN ALGORITMA KODE DOKUMEN : DM-RHJ-005-005-008
- Dua operator yang sering digunakan pada
pointer :
* ( conten of ) dan & ( addres of ).
- Contoh : inisialisasi sebuah integer pointer ke
data variabel :
Int I, *ptr;
Ptr = &I;
- Untuk merubah isi / nilai yang ditunjuk oleh
pointer :
*ptr = 5; /* sama artinya dengan I = 5 */
II. Daftar Parameter
- Bila modul tidak dapat mencukupi kebutuhan
sendiri data ditarnfer lewat daftar parameter dan
nilai yang dihasilkan juga ditranfer balik melalui
daftar parameter
- Daftar parameter merupakan „interface‟suatu
modul dengan modul lain.
Edisi: 01 Rev: 0 Copyright © Perguruan Tinggi Raharja 11/ 2 - 8
Get The Better Future By Computer Science
TRANSPARANSI KULIAH TANGGALREVISI : 09 September 2006
LA102 TANGGAL BERLAKU : 09 September 2006
LOGIKA DAN ALGORITMA KODE DOKUMEN : DM-RHJ-005-005-008
III. Transfer Parameter
- By-value
Yang dikirim kemodul lain adalah nilainya (r-
value)
- By Location /by reference
Yang ditransfer ke modul lain adalah alamatnya
(&-value)
IV. Jangkuan inditiftier
Global Iditifier
- Identifieryang dideklarasikan diluar fungsi dan
ditempatkan diatas semua fungsi dalam suatu
program
- Jangkuan meliputi seluruh program
- Idenfier yang dideklarasikan secara global ,dapat
dideklarasikan kembali (redeclared) di
subprogram
Edisi: 01 Rev: 0 Copyright © Perguruan Tinggi Raharja 11/ 3 - 8
Get The Better Future By Computer Science
TRANSPARANSI KULIAH TANGGALREVISI : 09 September 2006
LA102 TANGGAL BERLAKU : 09 September 2006
LOGIKA DAN ALGORITMA KODE DOKUMEN : DM-RHJ-005-005-008
Lokal detifier
- Identifier yang dideklarasikan di dalam function
termasuk daftar parameter
- Jangkuan terbatas pada function itu sendiri
Kerugian menggunakan Global Identifier:
- Jika program semakin besar maka semakin
besar pula kecenderungan terjadinya error
- Sulit melack kesalahan
- Data tidak terjaga dengan baik ,setiap
subprogram dapat mengubah isi variabel tanpa
pengetahuan subprogram lain.
Edisi: 01 Rev: 0 Copyright © Perguruan Tinggi Raharja 11/ 4 - 8
Get The Better Future By Computer Science
TRANSPARANSI KULIAH TANGGALREVISI : 09 September 2006
LA102 TANGGAL BERLAKU : 09 September 2006
LOGIKA DAN ALGORITMA KODE DOKUMEN : DM-RHJ-005-005-008
int;
Fungsi 1( ) {
-
-
}
int y;
fungsi z ( ){
int z ; scope dari variabel x
-
}
main ( ); scese dari variabel y
{
int z;
int y; z dan y hanya dikenal oleh
main
- z dimain berbeda dgn
difungsi2()
}
- Keuntungan menggunakan Global identifier
adalah transfer data antar modul menjadi
sederhana.
Edisi: 01 Rev: 0 Copyright © Perguruan Tinggi Raharja 11/ 5 - 8
Get The Better Future By Computer Science
TRANSPARANSI KULIAH TANGGALREVISI : 09 September 2006
LA102 TANGGAL BERLAKU : 09 September 2006
LOGIKA DAN ALGORITMA KODE DOKUMEN : DM-RHJ-005-005-008
Contoh 1:
Contoh transfer parameter ;by value‟
/*-------------------------------------
Program Menggambar_Garais
-----------------------------------*/
#include <stdio.h >
void Garis (char x )/*disebut parameter format*/
{
int I; /*,x adalah Lokal variable*/
for (I=1;I<=10;I+ +) printf (“%c”,x);
}
/*program Utama*/
main ( )
{
char A =‟_‟;
Garis (A); /*A=parameter aktual*/
}
Contoh transfer parameter .by location‟
/*----------------------------------
Program by location
-----------------------------------*/
#include <stdio .h>
void Hitung (int X,int Y,int P,intQ)
{
- p=X+Y
- Q=X+Y
Edisi: 01 Rev: 0 Copyright © Perguruan Tinggi Raharja 11/ 6 - 8
Get The Better Future By Computer Science
TRANSPARANSI KULIAH TANGGALREVISI : 09 September 2006
LA102 TANGGAL BERLAKU : 09 September 2006
LOGIKA DAN ALGORITMA KODE DOKUMEN : DM-RHJ-005-005-008
}
/* Program Utama*/
void main ( )
{
int X,Y,P,Q; /*local variable*/
print (“X=”); scanf (“%d”,&X)
print (“Y=”); scanf (“%d”,&X)
hitung (x<Y,&PQ);
printf(x+y =%d\n”,P);
printf(x*y =%d\n”,P);
kekeliruan dapat terjadi karena lupa mendeklarasikan
formal parameter sebagai pointer
Contoh 2 :
/*-----------------------
Program Lupa
------------------------*/
void Tukar (char A ,char B)
{
char c;
C=A; A=B, B=C
}
void main ( )
{
char X,Y
Edisi: 01 Rev: 0 Copyright © Perguruan Tinggi Raharja 11/ 7 - 8
Get The Better Future By Computer Science
TRANSPARANSI KULIAH TANGGALREVISI : 09 September 2006
LA102 TANGGAL BERLAKU : 09 September 2006
LOGIKA DAN ALGORITMA KODE DOKUMEN : DM-RHJ-005-005-008
x=‟S‟; Y=‟D‟;
Tukar (X,Y);
Printf (“X= %c Y=%c”,X,Y);
}
Pada program diatas ,pertukaran data yang
diharapkan diantara variable X dan Ytidak akan
terjadi.
Edisi: 01 Rev: 0 Copyright © Perguruan Tinggi Raharja 11/ 8 - 8
Get The Better Future By Computer Science
Get documents about "