Bismillah
Salam dari admin Creative Project. Segala Artikel yang Admin tampilkan disini adalah semata-mata untuk berbagi, semoga bermanfaat bagi kita semua. Mohon maaf apabila terdapat kesalahan yang ada pada blog ini dikarenakan kurangnya ilmu dari admin blog. Mohon dimaklumi bagi para pembaca, karena tak ada gading yang tak retak.
Postingan ini merupakan bagian dari sub-bab pada postingan dengan judul "String" Pada Arduino - Starter, dan merupakan pembahasan kedua dari materi String berakhiran null. Pada postingan ini Admin mecoba membahas secara tahap demi tahap mulai dari bentuk umum deklarasi string berakhiran null, kemudian macam-macam bentuk deklarasi string berakhiran null, cara mengisi string berakhiran null pada saat inisialisasi string, lalu cara mengisi string berakhiran null diluar dari inisialisasi string dengan cara per karakter per index array, serta metode mudah pengisian sejumlah krakter kedalam string berakhiran null dengan menggunakan fungsi strcpy.
Inisialisasi / Deklarasi String Berakhiran Null
Pada
postingan sebelumnya kita sudah memahami apa itu string berakhiran null serta
bagaimana menentukan penampung string. Penampung string
berkaitan dengan jumlah karakter yang akan
disimpan didalam array. Rumus
penampung string adalah jumlah karakter yang akan disimpan (kita anggap sebagai
n)
ditambah dengan 1 karakter untuk menampung karakter null. Atau jika dituliskan adalah
sebagai berikut :
char pengenal [n+1];
Bentuk
seperti diatas disebut juga dengan inisialisasi / deklarasi string berakhiran
null. Berikut ini contoh inisialisasi string berkahiran null dan mengisinya
dengan sebuah kata yakni “ARDUINO”
char
pengenal[8]={'A','R','D','U','I','N','O',’\0’};
Pada contoh
diatas string berakhiran null yang dibuat bernama pengenal dengan jumlah penampung string adalah sebanyak 8 karakter.
Karakter kedelapan yang diisi pada string pengenal adalah berupa karakter null
( \0 ). Selain contoh diatas terdapat beberapa bentuk inisialisasi string
berakhiran null. Berikut ini beberapa macam bentuk inisialisasi string
berkahiran null :
char Str1[8] = {'a', 'r', 'd', 'u', 'i', 'n', 'o',
'\0'};
char Str2[8] = {'a', 'r', 'd', 'u', 'i', 'n', 'o'};
char Str3[8] = "arduino";
char Str4[15];
char Str5[15] = "arduino";
char Str6[ ] = "arduino";
Pada bentuk
inisialisasi string berakhiran null yang pertama, isi string Str1 diisi secara lengkap berikut dengan
karakter null-nya. Sedangkan pada inisialisasi yang kedua yakni string Str2 karakter null tidak diisi secara
langsung. Hal ini memungkinkan saja untuk dilakukan karena karakter null akan
diisi secara otomatis oleh compiler. Untuk bentuk inisialisasi string
berakhiran null yang kelima yakni Str5
jumlah penampung string melebihi dari jumlah karakter yang ditampung / yang
diisi. Hal ini tidak menjadi masalah. Admin sendiri sering menggunakan cara
seperti ini karena memudahkan jika kemungkinan pada program selanjutnya akan
dilakukan penggantian isi dari string semula, sehingga memungkinkan untuk
mengganti dengan string dengan jumlah karakter yang lebih banyak. Namun yang
perlu diketahui adalah penampung string yang kosong seperti pada Str5 tetaplah memakan memori, sehingga
yang lebih baik adalah memastikan jumlah karakter yang akan disimpan dan
membuat penampung string sesuai dengan jumlah yang dibutuhkan.
Selanjutnya
pada inisialisasi string berakhiran null yang keenam yakni Str6 jumlah penampung string tidak diisi, hal ini juga memungkinkan
untuk dilakukan karena compiler secara langsung membaca jumlah karakter yang
diisi dan membuat array sesuai dengan jumlah karakter tersebut dengan ditambah
sebuah karakter null. Inisialisasi string yang keempat adalah bentuk
inisialisasi string berakhiran null dengan tidak langsung memberikan isi kepada
string yang dibuat pada saat inisialisasi. Dengan kata lain kita menyiapkan
sebuah string berakhiran null dalam kondisi kosong dan siap untuk diisi. Selain
dengan beberapa cara seperti diatas terdapat cara lain untuk mengisi string
berakhiran null yakni dengan menggunakan fungsi strcpy.
Berikut ini
contoh program string berakhiran null dan mengisinya dengan kata berupa
arduino. Isi dari string berakhiran null akan ditampilkan pada serial monitor.
char Str1[8] = {'A', 'r', 'd', 'u', 'i', 'n', 'o', '\0'}; char Str2[8] = {'a', 'R', 'd', 'u', 'i', 'n', 'o'}; char Str3[8] = "arDuino"; char Str4[15] = "ardUino"; char Str5[ ] = "arduINO"; void setup() { Serial.begin(9600); } void loop() { Serial.println("Contoh Program Inisialisasi String Berkahiran Null"); Serial.print("isi string Str1 : "); Serial.println(Str1); // tampilkan ke serial monitor isi Str1 Serial.print("isi string Str2 : "); Serial.println(Str2); // tampilkan ke serial monitor isi Str2 Serial.print("isi string Str3 : "); Serial.println(Str3); // tampilkan ke serial monitor isi Str3 Serial.print("isi string Str4 : "); Serial.println(Str4); // tampilkan ke serial monitor isi Str4 Serial.print("isi string Str5 : "); Serial.println(Str5); // tampilkan ke serial monitor isi Str5 for(;;){}; }
Pada contoh diatas isi string yang dibuat cukup pendek. Bagaimana jika ingin membuat string berakhiran null dengan isi yang cukup panjang. Sebagai contoh kita akan mengisi string berakhiran null dengan sebuah kalimat yakni “Saya membeli Arduino Uno dan Mega di toko Online”. Bagaimanakah cara membuat inisialisasi string berakhiran null-nya. Perhatikan contoh program dibawah ini.
char data1[]="Saya membeli Arduino Uno dan Mega di toko Online"; char data2[]= "Saya membeli" "_Arduino Uno dan Mega" "_di toko online"; void setup() { Serial.begin(9600); } void loop() { Serial.println("Contoh Program String Berakhiran Null dengan isi yang panjang"); Serial.print("String 1 isinya : "); Serial.println(data1); Serial.print("String 2 isinya : "); Serial.println(data2); for(;;){} }
Pada contoh program
diatas jumlah penampung string dibiarkan kosong. Untuk mengisi string berakhiran null dengan jumlah karakter
yang banyak, cara seperti ini memang lebih diutamakan karena kita tidak perlu repot untuk
menghitung jumlah karakter yang akan diisi. Seperti yang sudah disebutkan diatas secara
otomatis compiler akan menghitung jumlah karakter yang diisi dan membuat sebuah
array dengan jumlah elemen sebanyak jumlah karakter yang dibaca dan ditambah satu elemen
untuk karakter null. Kemudian perhatikan bentuk deklarasi untuk char data2[],
perhatikan cara mengisi string data2 tersebut. Cara mengisi string tersebut
digunakan untuk mempermudah penulisan jika isi string yang dibuat terlalu
panjang. Pada bentuk inisialisasi yang pertama yakni data1[], string yang diisi
akan memanjang ke sebelah kanan program. Untuk mempermudah penulisan bisa
digunakan bentuk deklarasi yang kedua. Dengan cara ini maka penulisan isi
program dibuat menjadi urutan kebawah.
Mengisikan String Berakhiran Null Dengan Fungsi strcpy( )
Beberapa
contoh program string berakhiran null pada penjelasan sebelumnya, karakter yang
diisi pada string dilakukan secara langusng pada saat inisialisasi. Lalu
bagaimana jika pengisian string dilakukan pada program utama atau pengisian
string dilakukan diluar dari inisialisasi program. Perhatikan contoh program berikut
yang digunakan untuk mengisi string diluar dari inisialisasi program.
char data[4]; // inisialisasi progam string berakhiran null tanpa memberikan isi string void setup() { // put your setup code here, to run once: Serial.begin(9600); } void loop() { // put your main code here, to run repeatedly: data[0]='u'; data[1]='n'; data[2]='o'; Serial.print(data); for(;;){} }
Pada contoh program
string berakhiran null diatas kita menyiapkan string kosong dengan nama data
dan dengan jumlah penampung string sebanyak 4. Perhatikan bagian inisialisasi program.
Hal yang perlu diperhatikan adalah jumlah penampung string harus dipastikan
nilainya. Pada contoh program sebelumnya nilai penampung string ini bisa
dikosongkan, dan akan diisi secara otomatis oleh compiler. Namun Cara tersebut
hanya bisa dilakukan jika isi string langusng diberikan pada saat inisialisasi
program. Jika pada saat inisialisasi program penampung string dikosongkan dan
isi string tidak diberikan maka akan dibaca error oleh compiler. Untuk hal
seperti inilah digunakan rumus penampung string jika string diisi diluar dari
bagian inisialisasi program yakni menghitung jumlah karakter yang akan
dimasukkan kedalam string ditambah satu karakter null.
Perhatikan
pada bagian program utama (void loop), untuk memberikan isi ke dalam string
berakhiran null maka harus dilakukan dengan cara “per karakter per indeks array”.
Perhatikan gambar berikut ini.
/*baris program*/
data[0]='u'; data[1]='n'; data[2]='o';
Gambar tersebut
memiliki relasi terhadap baris program tersebut. Seperti yang sudah dikatakan pada penjelasan sebelumnya, pengisian
karakter dilakukan dengan cara per karakter per index array. Makna baris
program data[0]=’u’ adalah kita memasukkan karakter ‘u’ ke dalam array dengan index 0. Perlu diingat
index array selalu dimulai dari 0 dan bukan 1. Selanjutnya baris progam
data[1]=’n’ berarti memasukkan karakter ‘n’ kedalam array dengan index 1. Dan
data[2]=’o’ berarti memasukkan karakter ‘o’ kedalam array dengan index
2. Karakter null akan diisi secara otomatis oleh compiler saat program
melakukan kompilasi. Boleh saja jika ingin mengisi sendiri karakter null
tersebut, maka bentuk programnya adalah data[3]=’\0’.
Pada arduino
pengolahan string berakhiran null dengan maksud untuk memasukkan sejumlah karakter kedalam sebuah string seperti pada
contoh program diatas telah dipermudah operasinya dengan menggunakan fungsi
strcpy. Kelebihan arduino jika dibandingkan dengan platform sejenis memang
meberikan kemudahan baik dalam hal hardware
maupun software, (klik untuk
melihat sejarah perkembangan arduino). Dengan
pengembangan yang dilakukan secara global (karena arduino bersifat open source)
menjadikan arduino memiliki kesempatan berkembang seperti apa yang dibutuhkan oleh semua orang, terutama bagi para pemula yang memiliki kesempatan lebih untuk memulai
membuat sebuah proyek elektronikanya sendiri. Adapun bentuk
deklarasi dari penggunaan fungsi
strcpy adalah sebagai berikut :
strcpy(nama string, “isi karakter”);
Perhatikan contoh sketch penggunaan
fungsi strcpy untuk memasukkan sejumlah karakter kedalam string berakhiran
null.
char data[12]; // inisialisasi progam string berakhiran null tanpa memberikan isi string void setup() { // put your setup code here, to run once: Serial.begin(9600); } void loop() { // put your main code here, to run repeatedly strcpy(data,"Arduino UNO"); Serial.print(data); for(;;){} }
Hal yang harus
diperhatikan adalah jumlah karakter yang disimpan kedalam char data[12] tidak boleh melebihi jumlah penampung
string-nya. Pada sketch diatas, kata ”Arduino UNO” memiliki
banyak karakter sejumlah 11 karakter (spasi juga dihitung sebagai sebuah
karakter), ditambah dengan sebuah karakter null maka jumlah seluruh karakter
yang akan dismpan adalah sebanyak 12 karakter. Jika jumlah penampung string
kurang dari 12 maka tampilan pada serial monitor adalah kosong, tidak
menampilkan apa-apa. Pada pemrograman yang lebih kompleks hendaknya
berhati-hati dengan jumlah penampung string tersebut sehingga program yang
dibuat dapat berjalan dengan baik.
Sekian pembahasan materi kali ini. Semoga bermanfaat bagi pembaca.
Wasallam.
Daftar Materi
Tutorial “String Pada Arduino”, Klik Disini
Tutorial
Selanjutnya : “Mengolah String Pada
String Berkahiran NULL”
Artikel & Tutorial Terkait :
BUKU PINTAR PEMROGRAMAN ARDUINO
https://www.arduino.cc/en/Reference/String
BUKU PINTAR PEMROGRAMAN ARDUINO
https://www.arduino.cc/en/Reference/String
The King Casino Resort - Hertzaman
ReplyDeleteFind the 스포츠 토토 사이트 perfect novcasino place to stay, play, and unwind at Harrah's Resort Southern California. Get herzamanindir.com/ your points now! 출장안마