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

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

 
 

 Tutorial C: Pointer

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


Status : Ngacay :v
Posts : 424
Chips : 4170
Power : 14
Join date : 2010-09-22
Location : Antara ada dan tiada :-
Badge :

PostSubject: Tutorial C: Pointer   
Fri 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.





SIGGY KOSONG


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
View user profile https://bungatepijalan.wordpress.com
Prodixon
Head Administrator, ProDig Founder


Status : Akhirnya kembali...
Posts : 648
Chips : 4386
Power : 8
Join date : 2010-08-08
Location : ProDig
Badge :

PostSubject: Re: Tutorial C: Pointer   
Fri 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:





Situsku: Stitched
Guest, kasih Internet donk gan! (Tenang, internet di sini maksudnya adalah cendol XD)

Back to top Go down
View user profile http://prodig.forumotion.net
Nasi Goreng Baygon
Decem


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

PostSubject: Re: Tutorial C: Pointer   
Fri 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
View user profile
Prodixon
Head Administrator, ProDig Founder


Status : Akhirnya kembali...
Posts : 648
Chips : 4386
Power : 8
Join date : 2010-08-08
Location : ProDig
Badge :

PostSubject: Re: Tutorial C: Pointer   
Fri 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:





Situsku: Stitched
Guest, kasih Internet donk gan! (Tenang, internet di sini maksudnya adalah cendol XD)

Back to top Go down
View user profile http://prodig.forumotion.net
Alissa
Ngacay Princess


Status : Ngacay :v
Posts : 424
Chips : 4170
Power : 14
Join date : 2010-09-22
Location : Antara ada dan tiada :-
Badge :

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


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





SIGGY KOSONG
Back to top Go down
View user profile https://bungatepijalan.wordpress.com
Prodixon
Head Administrator, ProDig Founder


Status : Akhirnya kembali...
Posts : 648
Chips : 4386
Power : 8
Join date : 2010-08-08
Location : ProDig
Badge :

PostSubject: Re: Tutorial C: Pointer   
Fri 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 ;)





Situsku: Stitched
Guest, kasih Internet donk gan! (Tenang, internet di sini maksudnya adalah cendol XD)

Back to top Go down
View user profile http://prodig.forumotion.net
Sponsored content




PostSubject: Re: Tutorial C: Pointer   
Today at 5:15 am





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: