Prodig - Komunitas Proyek Digital
Selamat datang di ProDig!
Di sini adalah tempat untuk berbagi proyek (game, seni, program, dan situs).
Di sini Anda juga bisa mendapatkan hal lainnya seperti permainan, berbagi karya, ilmu pengetahuan, kesenangan, dan sebagainya. :)

Ayo daftar lalu langsung login tanpa perlu konfirmasi email sama sekali :D!
Prodig - Komunitas Proyek Digital
Selamat datang di ProDig!
Di sini adalah tempat untuk berbagi proyek (game, seni, program, dan situs).
Di sini Anda juga bisa mendapatkan hal lainnya seperti permainan, berbagi karya, ilmu pengetahuan, kesenangan, dan sebagainya. :)

Ayo daftar lalu langsung login tanpa perlu konfirmasi email sama sekali :D!
Prodig - Komunitas Proyek Digital
Would you like to react to this message? Create an account in a few clicks or log in to continue.
Prodig - Komunitas Proyek Digital

Tempat untuk berbagi proyek digital : Situs, Game, Seni, Program
 
PortalHomeRulesSearchLatest imagesRegisterLog in
Welcome to the ProDig, Guest!

 Tutorial C: Pointer Resize
 

 Tutorial C: Pointer

View previous topic View next topic Go down 
AuthorMessage
Alissa
Ngacay Princess
Alissa

Status : Ngacay :v
Posts : 424
Chips : 6865
Power : 14
Join date : 2010-09-22
Location : Antara ada dan tiada :-
Badge : Tutorial C: Pointer Visual13 Tutorial C: Pointer Ntitle10Tutorial C: Pointer Visualart20112

Tutorial C: Pointer _
PostSubject: Tutorial C: Pointer   
Tutorial C: Pointer Icon_minitimeFri Oct 22, 2010 9:11 am


Apa itu pointer?
Pointer adalah suatu "tipe data" yang berfungsi sebagai penunjuk alamat data/variabel.

Sintaksis dasar Pointer pada bahasa C
Deklarasi variabel pointer ditulis dengan sintaks:
Code:
<vartype> *<varname>;
Contoh:
Code:
int *a;

Penggunaan Pointer
Berikut ini contoh program kecil penggunaan pointer:
Code:
int x=5;
int *a=x; // *a = 5
x=10;
printf("%d",*a); // *a = 10
Contoh ini menunjukkan bahwa pointer a menunjuk alamat variabel x. Ketika x berubah, nilai alamat yang ditunjuk oleh a juga berubah.

Code:
//Definisi prosedur
void tukar(int *a, int *b){
int t=*a;
*a=*b;
*b=t;
}
//Pemanggilan prosedur
int x=1;
int y=2;
tukar(&x,&y);
Dari contoh ini, pointer digunakan dalam parameter input/output (yakni nilai yang akan diubah). Perhatikan cara pemanggilan prosedurnya, parameternya adalah alamat variabel nilainya (&a dan &b).

[EDIT: Tambah]
Code:
//Definisi tipe bentukan
typedef struct{
 int HH;
 int MM;
 int SS;
} Jam;
//Definisi prosedur
void SetHH(Jam *J, int H){
 (*J).HH=H;
}
//dst...
//Pemanggilan prosedur
Jam J;
SetHH(&J,5);
Ini contoh penggunaan type bentukan.





Last edited by BungaTepiJalan on Fri Oct 22, 2010 8:44 pm; edited 2 times in total (Reason for editing : Hasutan Vsio :kabur:)
Back to top Go down
https://bungatepijalan.wordpress.com
Prodixon
Head Administrator, ProDig Founder
Prodixon

Status : Akhirnya kembali...
Posts : 648
Chips : 7081
Power : 8
Join date : 2010-08-08
Location : ProDig
Badge : Tutorial C: Pointer Visual11 Tutorial C: Pointer 378138

Tutorial C: Pointer _
PostSubject: Re: Tutorial C: Pointer   
Tutorial C: Pointer Icon_minitimeFri Oct 22, 2010 9:19 am


Thanks :sembah:

Memang lagi bingung nih ane soal pointer :sembah:

Btw, boleh minta juga yang type bentukan?

Soalnya ane error mulu yg type kalau pakai pointer :sembah:



Back to top Go down
https://prodig.forumotion.net
Nasi Goreng Baygon
Decem
Nasi Goreng Baygon

Posts : 49
Chips : 5153
Power : 2
Join date : 2010-09-23

Tutorial C: Pointer _
PostSubject: Re: Tutorial C: Pointer   
Tutorial C: Pointer Icon_minitimeFri Oct 22, 2010 10:30 am


bagus banget tutorialnya, tapi saran saya untuk menambah beberapa hal berikut:
1. Penggunaan pointer untuk string.
Karena ini sangat sering digunakan untuk membuat string dibandingkan membuat array character :sembah:
2. Tentang pointer yang menunjuk Tipe data class/struct.
Karena ini juga sangat sering digunakan sebagai argumen fungsi. Karena bila melempar class/struct langsung, proses akan melambat karena pada fungsi itu dibuat lagi variabel baru dengan class/struct yang sama. Sedangkan kalau menggunakan pointer, yang dilempar hanya alamatnya saja sehingga proses lebih cepat :sembah:
3. Penggunaan tanda '->'
Berbicara tentang pointer pasti selalu ada dibicarakan tanda ini deh :sembah:

Makasih, membantu sekali tutorialnya terutama buat saya yg benar2 cupu ini :sembah:

EDIT: setelah dibaca sekali lagi, sepertinya pada tutorialnya kurang beberapa informasi dasar(no offense :sembah:), misalnya:
1. Tidak dijelaskan bahwa pada pointer(misalnya setelah 'int *a;'), '*a' merupakan nilai dari alamat yang ditunjuk oleh pointer, sementara 'a' berisi alamatnya. Begitu juga dengan variabel biasa, tanda '&' menunjukkan alamat variabel.
2. pada pendeklarasian pointer yang dijelaskan, penulisannya selalu digabung dengan memberi nilai awal
(misal: int *a = x;), padahal bila penulisannya dipisah bentuknya akan lain, bukan lagi 'int *a;' kemudian '*a = x', melainkan 'a = &x'. (memang, sama dengan di argumen fungsi, tapi tetap saja seorang pemula yg benar2 belum tau seperti saya pasti butuh info dasar ini :sembah:)
Dan tidak dijelaskan tanda '&' untuk menyatakan alamat suatu variabel.
3.
Quote :
Contoh ini menunjukkan bahwa pointer a menunjuk ke nilai dari variabel x.
menurutku ini agak salah :sembah: yang lebih tepat menurutku adalah pointer a menunuk ke alamat dari variabel x (sepertinya ini hanya salah ketik) :sembah: Sehingga, bila kita mengubah nilai pada alamat yang ditunjuk pointer, nilai variabel akan ikut berubah :sembah:

yaah, menurutku aja sih, saya hanya pemula jadi pasti salah :sembah: BTW, nice tutorial :sembah:





Last edited by Nasi Goreng Baygon on Fri Oct 22, 2010 11:05 am; edited 1 time in total
Back to top Go down
Prodixon
Head Administrator, ProDig Founder
Prodixon

Status : Akhirnya kembali...
Posts : 648
Chips : 7081
Power : 8
Join date : 2010-08-08
Location : ProDig
Badge : Tutorial C: Pointer Visual11 Tutorial C: Pointer 378138

Tutorial C: Pointer _
PostSubject: Re: Tutorial C: Pointer   
Tutorial C: Pointer Icon_minitimeFri Oct 22, 2010 10:54 am


Oh iya, mau nanya juga nih.

Kalau gak pakai pointer pada procedure tadi gimana efeknya? :hmm:

Mau bandingin soalnya :hmm:



Back to top Go down
https://prodig.forumotion.net
Alissa
Ngacay Princess
Alissa

Status : Ngacay :v
Posts : 424
Chips : 6865
Power : 14
Join date : 2010-09-22
Location : Antara ada dan tiada :-
Badge : Tutorial C: Pointer Visual13 Tutorial C: Pointer Ntitle10Tutorial C: Pointer Visualart20112

Tutorial C: Pointer _
PostSubject: Re: Tutorial C: Pointer   
Tutorial C: Pointer Icon_minitimeFri Oct 22, 2010 11:13 am


Masih jalan koq, gada erornya.. :kabur:
Tapi, nilai variabel yang dimasukin pada pemanggilan prosedurnya gakan brubah setelahnya :-



Back to top Go down
https://bungatepijalan.wordpress.com
Prodixon
Head Administrator, ProDig Founder
Prodixon

Status : Akhirnya kembali...
Posts : 648
Chips : 7081
Power : 8
Join date : 2010-08-08
Location : ProDig
Badge : Tutorial C: Pointer Visual11 Tutorial C: Pointer 378138

Tutorial C: Pointer _
PostSubject: Re: Tutorial C: Pointer   
Tutorial C: Pointer Icon_minitimeFri Oct 22, 2010 11:35 am


BungaTepiJalan wrote:
Masih jalan koq, gada erornya.. :kabur:
Tapi, nilai variabel yang dimasukin pada pemanggilan prosedurnya gakan brubah setelahnya :-


Oh gitu ya. Makasih banyak :sembah:

Btw, ada lagi nih...

Kalau pada type bentukan gimana caranya? Contohnya Jam yang terdiri dari Hour, Minute, Second . (Update di First Postnya juga ;) )
Trs, kalau type bentukan rangkap gimana? Contohnya Garis yang terdiri dari 2 type bentukan Point . (Update juga di first post ;) )

Anggap prosedurnya itu yg Set - set an yg gitu ;)

Makasih banyak ;)



Back to top Go down
https://prodig.forumotion.net
Sponsored content




Tutorial C: Pointer _
PostSubject: Re: Tutorial C: Pointer   
Tutorial C: Pointer Icon_minitime





Back to top Go down
 

Tutorial C: Pointer

View previous topic View next topic Back to top 
Page 1 of 1

Permissions in this forum:You cannot reply to topics in this forum
Prodig - Komunitas Proyek Digital  :: Education Chamber :: Programming :: C-
Jump to: