Official StoreTekan tombol di atas untuk membeli semua alat dan bahan eksperimen di web ini

Bekerja dengan Variabel String di Arduino

String adalah tipe data yang berisi kumpulan karakter alfanumerik, bisa berupa angka, huruf maupun karakter khusus (*, @, #, dst). Tipe data string umum digunakan dalam berbagai macam Software Development Kit (SDK) semacam Delphi, VB, PHP, Java, dll. Namun bagaimana dengan bahasa pemrograman untuk perangkat embedded system, semisal mikrokontroller yang memiliki keterbatasan memori?

Char vs String

Di sistem Arduino, pada awalnya hanya mendukung ‘tipe sata ‘string’ dalam bentuk ‘kumpulan karakater’ (char array). Contoh

Variabel ‘inistringku’ di atas sebenarnya bukan murni string, tetapi sebenarnya adalah tipe data ‘char’ yang dikumpulan jadi satu (char array).

bekerja-dengan-variabel-string-di-arduino

Pada perkembangannnya (kalo ngga salah sejak versi 1.6.x ke atas), Arduino sudah mendukung String object. Bisa dikatakan bahwa string object inilah yang sama dengan pengertian string di bahasa pemrograman lain. Tapi yang perlu diperhatikan, penggunaan string object ini akan sangat menghabiskan dynamic memory. Jadi buat yang menggunakan Arduino Uno dan sekelasnya harap diperhatikan ya, supaya tidak muncul warning di jendela debug Arduino IDE.

Penggunaan Variabel String di Arduino

Untuk menggunakan variabel string di Arduino caranya cukup mudah. Anda tinggal mendeklarasikan variabel tersebut seperti pada tipe data yang lain. Tapi jangan lupa untuk memakai Arduino IDE versi 1.6.x ke atas ya. Contoh deklarasi variable string:

Variabel ini juga bisa dideklarasikan sebagai variabel global maupun variabel lokal, sama seperti tipe data yang lain.

Konversi Tipe Data Lain ke Tipe Data String

Untuk mengkonversi tipe data lain ke variabel String caranya cukup mudah, cukup dengan memanggil function ‘String’ diikuti tipe datanya. Berikut ini adalah contoh konversi data integer, float (double) dan char array ke variabel string:

Anda bisa menambahkan perintah Serial.println () untuk menampilkan masing-masing variabel ke jendela debug Serial Monitor.

Konversi Tipe Data String ke Tipe Data Lain

Sedangkan untuk mengkonversi dari tipe data string ke tipe data lain, caranya cukup berbeda. Anda harus memanggil function yang berbeda-beda sesuai tujuan konversi data Anda. Contoh

– mengubah variabel string ke variabel integer

Untuk mengubah variabel string ke integer Anda dapat menggunakan function string.toInt(). Contoh:

– mengubah variabel string ke variabel float/double

Untuk mengubah variabel string ke float atau doube Anda dapat menggunakan function string.toFloat(). Contoh:

– mengubah variabel string ke variabel char array

Untuk mengubah variabel string ke char array Anda dapat menggunakan function string.toCharArray. Contoh:

Dengan memanggil toCharArray() seperti pada contoh di atas, maka string ‘saptaji.com’ akan di-copy-kan ke variabel char array ‘charbuf’. Yang perlu diperhatikan adalah ukuran (size of) dari variabel char array-nya ya (contoh di atas angka ‘15’). Jangan sampai lebih kecil dari variabel string-nya

Operasi variabel String

String object menawarkan kemudahan dalam mengoperasikan variabel-variabel yang termaktub di dalamnya. Berikut ini adaah beberapa contohnya:

– menggabungkan variabel string

Salah satu favorit saya dalam mengoperasikan variabel string adalah menggunakan operator ‘+’ untuk menggabungkan (concatenate) dua (atau lebih) variabel String. Contoh:

dengan script di atas, maka variabel s akan berisi ‘saptaji.com’

– mencari fix substring di dalam variabel string

Untuk mencari substring tertentu di dalam variabel string, Anda dapat menggunakan function ‘indexOf’. Function ini sebenarnya digunakan untuk mencari index dari substring tersebut. Jika substring ditemukan, function indexOf akan mengembalikan nilai di atas angka 0 (yang menunjukkan index substring), tapi jika tidak ditemukan akan menghasilkan nilai ‘0’. Contoh:

Function indexOf juga dapat diset offset-nya (offset = titik mulai pencarian). Pada contoh di atas, offset pencarian tidak ditulis yang menandakan offset = 0 yang artinya pencarian dimulai dari awal string. Jika ingin pencarian dimulai dari index ke x (tidak dari awal string), maka Anda harus menulis script dengan sintaks:

s.indexOf (“contoh”, 10);

Kegunaan menggunakan offset adaah ketika Anda mencari index substring yang sama yang jumlahnya lebih dari satu pada variabel string.

– mencari substring di dalam variabel string berdasarkan index

Kalau pada contoh sebelumnya, Anda ingin mencari substring yang sudah fix, ada atau tidak dalam variabel string, contoh berikut lain penggunaannya. Contoh case-nya adalah sebagai berikut :

Ketika ada SMS masuk ke GSM modul, ada string yang diterima Arduino sebagai berikut:

+CMT: “+6281910026910″,””,”16/11/02,05:54:25+28″

Dari string di atas, Anda ingin mengambi nomor handphone pengirimnya saja, yakni +6281910026910. Nah, jika ada kasus seperti ini, Anda dapat menggunakan function substring sbb:

Demikian sedikit pengetahuan tentang string object yang saya sarikan dari berbagai macam sumber dan dari pengalaman pribadi. Mungkin ada banyak function yang berkenaan dengan tipe data string yang belum ada di tutorial di atas, karena function-function di atas adalah function yang sering saya gunakan untuk mengoperasikan variabel string di Arduino. Sekali lagi jangan lupa untuk seminimal mungkin menggunakan variabel string karena akan banyak sekali menghabiskan dynamic memory (SRAM), kecuali Anda menggunakan Arduino Mega. Selamat berkarya dan semoga dapat bermanfaat buat yang membutuhkan.

Incoming search terms:

cara memanggil subroutine di program arduino, cara merubah data string dari arduino menjadi integer di delphi, cara membuat variabel password di Ardiono, cara membuat variabel di arduino, merubah tipe data arduino, cara buat variabel di arduino, cara membuat string di arduino, mengubah data char ke string di arduino, cara membuat program string di arduino, fungsi char pada arduino

Leave a Reply

42 Comments on "Bekerja dengan Variabel String di Arduino"

avatar
  Subscribe  
newest oldest most voted
Notify of
dedy
Guest

Mas,sy mau tanya,untuk merubah data string dari arduino jadi integer di delphi,di delphi nya kah atau di arduinonya mas? Mana yang lebih mudah mas? Karna sy lagi coba buat counter barang,Tolong kasih pencerahannya mas..matur nuhun mas aji.

Manisa
Guest

Mas kalo mau buat string di android untuk memanggil string di arduino gimna ya??

Ezi
Guest

Mas permisi mau tanya kalo mau kirim data array dari delphi ke arduino gimana ya? Begitu juga sebaliknya. Terima kasih sebelumnya

Wp
Guest

Mas kalau mau ngambil data dari sensor trus dikirim via email dengan koneksi wifi gmn ya Mas?

tendi
Guest

bang lok misalkan saya punya data dari sensor yang lebih dari 0 terus saya ubah menjadi nilai 1. dan di jumlahkan hasilnya dalam permenit. maksud saya saya mau menghitung berapa kali sensor itu terbaca dalam 1 menit. giaman ya?

Roukuza Kurozima
Guest

mas kalo misalnya saya punya string dengan code=1234321
saya pengen jika stringnya berupa code=xxxxx, saya bisa dapet nilai xxxxnya jika itu code= , bagaimana ya ? thanks

ade
Guest

mas klo mau merubah string to char array dua dimensi bagaimana yaa?

Bang igo
Guest

Slmt malem mas…mau tanya mas aji…kalo sy read data dr timbNgan dgital gmn ya mas??misalnya data dr timbangan dgital “wn-0002.89kg” dan itu kontinyu datanya dan yg mau saya ambil adalah data -2.89kg…bagaimana caranya mas…tq

Eston
Guest

Maaf Pak, jika saya ingin mngirim perintah seperti “i=1” untuk menghidupkan lampu. bagaimana Pak? Karena, sejauh ini. saya hanya bisa mengirimkan hruf atau angka saja. Terima Kasih

Silent96
Guest

Nice post. Keep update yaa

randy
Guest

klw misal gini :
Float i = 122.465839234;
char a;
saya mw ambil nilai i masukkan ke char a,
supaya yang terambil full 122.46583923, gimana yah?

derry
Guest

bang seumpama saya ada 2 sensor yang satu analog sama digital itu kan gunakan via wifi lalu masing” sensor menggunakan float cara agar bisa meenyendirikan hasil agar tidak tercampur nilainya gimana ya ?
saya udah coba gunakan float temp1 dan float temp2 nilainya kenpa jadi satu minta saran gan ?

Abi Syarwan Rabbani
Guest

mas mau tanya kalau ngirim string dari php ke arduino gimana ya mas?
tanpa menggunakan modul ethernet, saya menggungganakan raspberry.

Zaidan
Guest

Kalau sebaliknya, mau rubah char ke integer gimana ya mas?

Mayang artika tami
Guest

mas saya sudah ngoding di arduino IDE kendali 6 relay via sms , di coding itu pke header ‘Pstring’ dan cukup lumayan banyak juga codingan nya waktu di upload muncul tulisan “low memory available , stability problems may occur” memori sudah terpakai 80% dibantu mas gimana caranya warning itu gak muncul lgi karena ada bebrp fungsi tidak jalan saat dicoba

Mayang artika tami
Guest

Waduh saya belum ngerti mas ubah varibel global ke lokal, dan bingung jg kalo rombak hbs coding yg dibagian void loop nya , ya udah ganti ke mega aja solusinya .. Makasih ya mas pelajarannya ..

error: Content is protected !!