Rabu, 02 Juni 2010

Ask : Array dalam bahasa C

.
Asker : Haglan
About :
Array dalam bahasa C.
Question :
mw tanay nih arti program ini apa (int global_array2[]={1,2,3};) trus( int global_array2[]={1,2,3};) trus (char global_array4[]="This is a string";) tlng bantuannya

Too PayZ:
Mungkin pertanyaan Haglan diatas berkaitan dengan pertanyaan yang ini:
"bos mw tnya nih .... langkah2 merubah pdu ke teks gmna yah ?? secara program gmn yh mhn bantuannya ."

Saya sudah 3 kali mengerjakan perangkat berbasis SMS.
Perangkat pertama dan kedua menggunakan mode PDU dengan menggunakan bahasa Assembler mikrokontroller AT89S51, sedangkan perangkat ketiga menggunakan Modem SIM300 menggunakan mode TEXT dengan bahasa C AVR mikrokontroller ATmega8535.
Diantara mode TEXT dan mode PDU, mode PDU cukup sulit dan secara Coding lebih susah dipahami serta fleksibilitasnya kurang.

Saran saya, untuk aplikasi menggunakan SMS sebaiknya menggunakan perangkat yang telah mendukung mode TEXT. Perangkat anda bisa memiliki fleksibilitas tinggi dan selalu bisa di upgrade atau dikembangkan untuk aplikasi yang luas.

Pertanyaan int global_array2[]={1,2,3};) trus( int global_array2[]={1,2,3};) trus (char global_array4[]="This is a string"; salah satunya digunakan klo aplikasi SMS dengan mode PDU.
Pada aplikasi ini variabel global array ini digunakan sebagai RAM untuk menyimpan data yang akan berfungsi sebagai pembanding, yaitu membandingkan data yang akan dibaca pada PDU SMS dengan data yang kita inginkan (yang disimpan pada global_array).

Saya jelaskan untuk aplikasi secara umum saja ( saya rubah sedikit).
A => int global_array1[]={1,2,9};
B => signed int global_array2[]={-260,1,2,9,500};
C => unsigned char global_array3[]={'1','9','C','$','G'};
D => char global_array4[]="This is a string"

Contoh A
A => int global_array1[]={1,2,9};
Pada contoh A global variabel tipenya adalah int dengan nilai range 0-65535 (secara default int akan diubah menjadi unsigned int oleh CodeVisionAVR) oleh sebab itu selama nilai berada pada jangkauan 0-65535, tidak akan menghasilkan error pada program (Compiler mungkin tidak mengeluarkan pesan error).
Penulisan Array bisa seperti ini int global_array1[3]={1,2,9}; itu jika jumlah array diketahui (sedikit) yaitu 3 buah array, tetapi jika jumlah array banyak atau tidak diketahui (atau malas menghitungnya) dapat dituliskan seperti ini int global_array1[]={1,2,9}; selanjutnya nanti compiler yang urus.
Contoh A seolah-olah dituliskan seperti ini:
int global_array1[0]=1; //array selalu dimulai dari 0 (nol).
int global_array1[1]=2;
int global_array1[2]=9;

Contoh B
B => signed int global_array2[]={-260,1,2,9,500};
Pada contoh B global variabel tipenya adalah signed int dengan nilai range -32768 - 32767
(Penjelasan sama dengan contoh A).
Contoh B seolah-olah dituliskan seperti ini:
int global_array2[0]=-260; //array selalu dimulai dari 0 (nol).
int global_array2[1]=1;
int global_array2[2]=2;
int global_array2[3]=9;
int global_array2[4]=500;

Contoh C
C => unsigned char global_array3[]={'1','9','C','$','G'};
Pada contoh C global variabel tipenya adalah unsigned char dengan nilai range 0 - 255.
Karakter yang terdapat pada keyboard, text, LCD karakter, dll menggunakan ASCII dengan nilai range 0-255 sehingga tidak mungkin bernilai negatif.
(Penjelasan sama dengan contoh A).
Contoh C seolah-olah dituliskan seperti ini:
int global_array3[0]='1';
// ingat 1 tidak sama dengan '1'
//1 = 0x01 sedangkan '1' = 0x31; heksa desimal
//atau 1 = 1 sedangkan '1' = 49; desimal
int global_array3[1]='9';
int global_array3[2]='C';
int global_array3[3]='$';
int global_array3[4]='G';

Contoh D
D => char global_array4[]="This is a string"
Pada contoh D global variabel tipenya adalah char dengan nilai range 0 - 255 (secara default char akan diubah menjadi unsigned char oleh CodeVisionAVR).
Karakter yang terdapat pada keyboard, text, LCD karakter, dll menggunakan ASCII dengan nilai range 0-255 sehingga tidak mungkin bernilai negatif.
(Penjelasan sama dengan contoh A).
Contoh D seolah-olah dituliskan seperti ini:
int global_array4[0]='T';
int global_array4[1]='h';
int global_array4[2]='i';
int global_array4[3]='s';
int global_array4[4]=' '; // karakter spasi'
int global_array4[5]='i';
int global_array4[6]='s';
int global_array4[7]=' '; // karakter spasi
int global_array4[8]='a';
int global_array4[9]=' '; // karakter spasi
int global_array4[10]='s';
int global_array4[11]='t';
int global_array4[12]='r';
int global_array4[13]='i';
int global_array4[14]='n';
int global_array4[15]='g';

Selengkapnya baca Help CodeVisionAVR
Semoga manfaat ;)

Topik yang Populer