Program membalik kalimat |
Pointer adalah variabel yang dapat memegang alamat tertentu dari suatu objek dalam memori. Array dan pointer memiliki keterkaitan, perbedaan dari keduanya adalah Array dikenal sebagai pointer yang tetap (fixed pointer) sedangkan pointer bersifat sangat dinamis artinya alamat yang dipegang oleh sebuah pointer dapat berubah-ubah.
Source Code Program:
#include <stdio.h> #include <string.h> int main(void){ char arr[255], temp[255]; char *p_arr; int pjg_kalimat, i, indeks_akhir; printf("\nMasukkan kalimat: "); scanf("%[^\n]", arr); printf("Hasil kalimat yang dibalik: "); /* Menghitung panjang kalimat */ pjg_kalimat = strlen(arr); indeks_akhir = pjg_kalimat; strcpy(temp, arr); for(i=0; i<pjg_kalimat; i++){ p_arr = &arr[i]; *p_arr = temp[--indeks_akhir]; printf("%c", arr[i]); } printf("\n\n"); return 0; }
Output Program:
Masukkan kalimat: Gemar TI
Hasil kalimat yang dibalik: IT rameG
Run Program Membalik Kalimat |
Penjelasan Program:
char *p_arr : deklarasi sebuah pointer. Bentuk umum pendeklarasian pointer adalah tipe_data *nama_pointer.
pjg_kalimat = strlen(arr) : variabel bertipe integer untuk menampung panjang isi array dari kalimat yang telah dimasukkan. Fungsi strlen yang merupakan built in function di dalam bahasa C untuk menghitung panjang array-nya.
strcpy(temp, arr) : mengkopi isi arr ke dalam variable temp. strcpy juga merupakan built in function dalam bahasa C untuk melukan copy.
p_arr = &arr[i] : pointer yang telah dideklarasi sebelumnya dengan isi nilainya adalah array dari index i. Simbol & pada pernyataan tersebut merupakan operator unari yang bermakna alamat (address) dengan arti yaitu pointer p_arr memegang alamat index dari array arr[i].
Logika dari jalan program tersebut adalah dilakukan perulangan (lopping) sebanyak panjang karakter dari kalimat yang dimasukkan oleh user mulai index 0 hingga n-1. Isi kalimat awalnya ditampung dalam variabel temp kemudian di dalam proses lopping tersebut isi dari index array pertama dari array arr diubah nilainya dengan isi index array terakhir dari array temp dan diproses hingga sampai index terakhir. Pada --indeks_akhir bermakna nilainya dikurang 1 secara terus menerus, itulah sebabnya kalimat dari isi array arr dibaca terbalik yaitu dari ujung ke pangkal. Kemudian menampilkan isi array arr yang telah berubah isinya dengan kalimat terbalik.
Demikianlah program membalik kalimat menggunakan pointer dengan bahasa C. Silahkan dikembangkan dan semoga bermanfaat.
0 Response to "Program Membalik Kalimat Menggunakan Pointer dengan Bahasa C"
Post a Comment
Komentar Anda sangat berharga untuk kemajuan blog ini.
Silahkan berkomentar sesuai postingan blog & berkomentarlah dengan sopan.
- Dilarang menaruh live link di komentar.
- Komentar SPAM atau jualan mohon maaf akan dihapus.