sayasiap siap dan pamit kepada kedua orang tua saya dan adik saya, lalu saya pergi ke depan SMA untuk masukan koper ke bis, lalu kita mulai berangkat jam 13.00 WIB perkira nya. saya bercanda bareng teman teman saya di bis agar engga bosen menunggu perjalanan. lalu sesampai itu beberapa kali berenti di restaera, sesampai saya di jogja kirakira sekitar jam Lightpen adalah pointer elektronik yang digunakan untuk modifikasi dan men-design gambar dengan screen (monitor). Mengatur dan mengendalikan alat-alat input dan output. Read Only Memory) yang dapat dihapus dengan sinar ultraviolet serta dapat diprogram kembali berulang-ulang. Dan jenis yang disebut EEPROM (Electrically Erasable Biasanyasoftware yang mengendalikan proses sudah berada langsung pada sistem Contoh : komputer yang digunakan untuk kasir pada supermarket b. General Purpose Multi problem solving Word processing, graphic processing Contoh : PC (Personal Computer) 2. Berdasarkan Data yang Diolah a. Komputer Analog Vay Tiền Nhanh Chỉ Cần Cmnd. CBagi sebagian pemula.. pointer memang sulit juga pernah saya alami dulu saat baru belajar tenang saja..Saya akan coba menjelaskannya dengan bahasa yang mudah kita mulai. Apa itu Pointer?Setiap variabel yang kita buat pada program akan memiliki alamat memori berfungsi untuk menentukan lokasi penyimpanan data pada memori RAM.Kadang alamat memori ini disebut reference atau perhatikan gambar iniPada gambar ini, kita membuat dua variabel.. yakni score dan variabel ini punya alamat memori score alamat memorinya adalah 01abc, sedangkan hp alamat memorinya sebuah alamat masih kosong.. maka alamat itu yang akan pemilihan alamat memori ini, dilakukan secara acak. Inilah mengapa memori ini di sebut RAM Random Access Memory.Intinya, setiap kita membuat variabel pasti akan punya alamat tidak percaya, kamu bisa buktikan sendiri dengan menggunakan simbol & ampersand.Contohinclude void main { int a; char b[10]; printf"Alamat memori variabel a %x\n", &a; printf"Alamat memori variabel b %x\n", &b; }Pada program ini, kita menggunakan simbol & untuk mengambil alamat memori dari variabel a dan menggunakan format specifier %x untuk menampilkannya dalam bilangan apa hubungannya alamat memori dengan pointer?Mari kita bahas…Pointer adalah sebuah variabel khusus yang berisi alamat memori. Pointer nantinya akan bisa mengakses data yang ada di suatu alamat kunci yang perlu kamu ingat“Pointer berisi alamat memori”Cara Membuat PointerPointer dibuat dengan menambahkan simbol * asterik di depan namanya, kemudian diisi dengan alamat memori yang akan digunakan sebagai *pointer1 akan bisa mengakses data yang ada pada alamat memori 00001. Dengan kata lain, si *pointer1 akan menggunakan alamat 00001 sebagai juga bisa membuat pointer tanpa harus mengisinya langsung dengan alamat *pointer_ku; // atau bisa juga int *pointer_ku = NULL;Maka *pointer_ku akan menggunakan alamat memori 00000, alamat memori ini khusus untuk menyimpan data null atau data masalahnyaKarena kita tidak bisa lihat daftar alamat memori secara langsung, kita akan kesulitan memberikan referensi alamat memori untuk lagi.. beda komputer beda juga alamat memorinya. Ada yang 8 bit, ada juga yang 16, 32, dan harus mengambil alamat memori dari variabel yang ingat caranya?Ya, dengan menggunakan simbol &.Coba perhatikan gambar iniPada gambar ini, kita membuat pointer dengan nama *ptr_hp* dengan isi alamat memori dari variabel begini..Pointer *ptr_hp akan bisa mengakses nilai pada alamat memori 02ffd yang mana ini adalah alamat memori dari variabel kita ingin mengubah nilai pada alamat memori tersebut, maka kita bisa gunakan pointer *ptr_hp seperti iniMaka, sekarang alamat memori 02ffd akan berisi 95 begitu juga dengan variabel lebih jelas, mari kita coba latihan dalam Mengakses data dengan PointerBuatlah program baru dengan nama kemudian isi dengan kode berikutinclude void main{ int score = 50; int hp = 100; // membuat pointer dengan isi alamat memori dari hp int *ptr_hp = &hp; // print isi variabel dan alama memori printf"Nama Variabel \t Alamat \t Konten\n"; printf"score \t\t %x \t %d \n", &score, score; printf"hp \t\t %x \t %d \n", &hp, hp; printf"ptr_hp \t %x \t %x \n", &ptr_hp, ptr_hp; printf"*ptr_hp \t %x \t %d \n", &ptr_hp, *ptr_hp; // mengubah data pada alamat memori dengan pointer *ptr_hp = 95; printf"hp \t\t %x \t %d \n", &hp, hp; printf"*ptr_hp \t %x \t %d \n", &ptr_hp, *ptr_hp; }Setelah itu, coba compile dan hasilPointer *ptr_hp berhasil mengubah nilai pada alamat d57ba6c menjadi menggunakan pointer, kita menggunakan tanda * di depan nama pointer untuk mengakses nilai pada alamat memori. Jika tidak menggunakan tanda ini, maka kita akan mendapatkan alamat memori yang di-pointing.*ptr // ini akan berisi 95 nilai dari alamat ptr // ini akan berisi d57ba6c alamat memori dari variabel hp Oh iya, pointer juga punya alamat memorinya contoh di atas, alamat memori dari pointer *ptr_hp adalah d57ba70. Mungkin di komputermu akan berbeda, silahkan di cek kamu perhatikan gambar iniAlamat memori yang dipakai *ptr_hp adalah 012ef dengan isi alamat memori di sini sudah paham?Sekarang pertanyaanyaKalau kita menggunakan pointer, bukankah ini akan boros memori? Krena kita harus mengalokasikan alamat memori untuk si pointernya kita bisa menggunakan variabel biasa, ngapain pakai pointer?Penggunaan pointer sebenarnya opsional, kamu boleh pakai.. boleh juga kondisi tertentu, penggunaan pointer lebih kita akan bahas ini Saya Harus Pakai Pointer?Seperti yang saya katakan tadi, kita tidak harus selalu menggunakan pointer dalam ada beberapa kasus tertentu yang menyarankan menggunakan pointer daripada cara jelas..Kita bahas dulu, mengapa pointer diciptakan?Jadi zaman dulu, memori komputer itu sangat terbatas. Tidak seperti sekarang yang kapasitasnya sampai kita melakukan operasi iterasi pada tipe data seperti array, string, tree, linked list, graph, dan sebagainya.. sering kali memakan banyak memori dan membuat programnya Pointer pada operasi semacam akan meningkatkan performa secara signifikan dibandingkan tanpa menggunakan pointer. 1Latihan Pointer untuk Pass by Reference pada FungsiPetama kita akan coba menggunakan pointer untuk melakukan passing argumen berdasaran referensinya pass by reference.Contohinclude void add_scoreint score{ score = score + 5; } void main{ int score = 0; printf"score sebelum diubah %d\n", score; add_scorescore; printf"score setelah diubah %d\n", score; }Pada program ini, kita membuat fungsi dengan nama add_score untuk menambahkan nilai score sebanyak ketika dijalankanNilai variabel score tidak berubah, ia tetap bernilai karena kita melakukan pass by value, bukan pass by score kan dibuat di dalam fungsi main, lalu ketika fungsi add_score mencoba mengubah nilainya..…maka perubahan hanya terjadi secara lokal di dalam fungsi add_score percaya?Coba buktikan dengan mengubah fungsi add_score menjadi seperti iniinclude void add_scoreint score{ score = score + 5; printf"Score dibuah ke %d\n", score; } void main{ int score = 0; printf"score sebelum diubah %d\n", score; add_scorescore; printf"score setelah diubah %d\n", score; }HasilnyaBenar kan yang saya katakan..Nilai score pada fungsi add_score sudah berubah menjadi 5, namun variabel score pada fungsi main akan tetap bernilai sinilah kita harus menggunakan pointer untuk melakukan coba ubah kode programnya menjadi seperti iniinclude void add_scoreint *score{ *score = *score + 5; printf"score dibuah ke %d\n", *score; } void main{ int score = 0; printf"score sebelum diubah %d\n", score; add_score&score; printf"score setelah diubah %d\n", score; }Karena argumen fugsi add_score kita ubah menjadi pointer, maka kita harus memberikan alamat memori saat hasilnyaSetiap fungsi add_score dipanggil atau dieksekusi, maka nilai variabel score akan bertambah kita ubah menjadi seperti iniinclude void add_scoreint *score{ *score = *score + 5; printf"score dibuah ke %d\n", *score; } void main{ int score = 0; printf"score sebelum diubah %d\n", score; add_score&score; add_score&score; add_score&score; add_score&score; add_score&score; add_score&score; printf"score setelah diubah %d\n", score; }HasilnyaLatihan Pointer untuk Mengakses Data pada ArrayPointer juga sering digunakan untuk mengakses data pada void main{ printf" Program Antrian CS \n"; char no_antrian[5] = {'A', 'B', 'C', 'D', 'E'}; // menggunakan pointer char *ptr_current = &no_antrian; forint i = 0; i operator pointer.Pertama kita coba dulu pakai buat program baru dengan nama kemudian isi dengan kode berikutinclude void main{ struct Player { char *name; int score; int hp; struct Weapon *weapon; }; struct Weapon { char *name; int attack; int guard; }; struct Player player1; = "Petani Kode"; = 0; = 100; * = "Katana"; * = 16; * = 10; // cetak status player printf"PLAYER STATUS\n"; printf"Name %s\n", printf"Score %d\n", printf"HP %d\n", printf"Weapon\n"; printf" name %s\n", * printf" atack %d\n", * printf" guard %d\n", * }Setelah itu, compile dan hasilnyaPerhatikan kodenya!Saat kita mengakses data member pada struct yang bentuknya pointer dengan operator dot atau titik, maka kita harus menggunakan tanda kurung dan * untuk menyatakan itu adalah pointer.* = "Katana"; * = 16; * = 10;Jika hanya satu member yang berbentuk pointer struct, ini oke-oke misalnya ada member struct pointer dan di dalamnya lagi ada struct pointer dan di dalamnya ada struct pointer, pasti kita akan saja kodenya seperti ini*** = "Wakizashi";Duh! saya aja bingung biar gak seperti ini.. maka sebaiknya pakai Pointer. Sehingga akan bisa seperti iniplayer->weapon->katana->type->name = "Wakizashi";Ini lebih mudah dibaca dibandingkan yang jika ada member pointer di dalam Struct, maka sebaiknya pakai operator -> untuk mengakses kita ubah kode yang tadi menjadi seperti iniinclude void main{ struct Player { char *name; int score; int hp; struct Weapon *weapon; }; struct Weapon { char *name; int attack; int guard; }; // membuat struct player struct Player player; // membuat pointer untuk player struct Player *player1; player1 = &player; player1->name = "Petani Kode"; player1->score = 0; player1->hp = 100; player1->weapon->name = "Katana"; player1->weapon->attack = 16; player1->weapon->guard = 10; // cetak status player printf"PLAYER STATUS\n"; printf"Name %s\n", player1->name; printf"Score %d\n", player1->score; printf"HP %d\n", player1->hp; printf"Weapon\n"; printf" name %s\n", player1->weapon->name; printf" atack %d\n", player1->weapon->attack; printf" guard %d\n", player1->weapon->guard; }HasilnyaPada program ini kita membuat dua variabel untuk struct Player, yakni player dan player1. Variabel player1 akan menjadi pointer untuk mengakses data pada player.// membuat struct player struct Player player; // membuat pointer untuk player struct Player *player1; player1 = &player;Selain cara ini, kita juga bisa pakai fungsi malloc seperti ini// alokasi memori untuk player1 struct Player *player1 = struct Player* mallocsizeofstruct Player; // alokasi memori untk player->weapon player1->weapon = struct Weapon* mallocsizeofstruct Weapon;Apa Selanjutnya?Kita sudah membahas konsep dasar pointer pada C. Konsep ini harus kamu pahami, agar nanti saat ketemu pointer tidak tidak harus selalu menggunakan Pointer, tapi ada kasus tertentu seperti akses data pada Struct.. menggunakan pointer sangat disarankan agar kodenya lebih mudah kamu masih bingun, silahkan tanyakan di silahkan pelajari tentang alokasi memori dengan fungsi malloc, calloc, realloc, dan free.Selamat belajar. 🙌 Pemasangan PHP Anda sepertinya kehilangan ekstensi MySQL yang dibutuhkan oleh WordPress. Mohon cek bahwa ekstensi PHP mysqli telah diinstal dan diaktifkan. Jika Anda tidak yakin apa maksud istilah-istilah berikut, sebaiknya Anda menghubungi hosting Anda. Jika Anda masih butuh bantuan, silakan kunjungi Forum Bantuan WordPress. About Us KATA ID adalah informasi seputar kutipan, kata dan sejarah dunia. dibahas berdasarkan data dan fakta yang ada

alat yang digunakan untuk mengendalikan pointer disebut