Lompat ke konten Lompat ke sidebar Lompat ke footer

Split String Pada Arduino, Memisahkan, Membagi atau Memotong

Split String (Membagi Teks) Arduino

A. Pengertian Split String

Split String Arduino Cara Memisahkan, Membagi atau Memotong Teks Pada Pemrogaman Arduino - Di saat kita bermain dengan komunikasi data serial, data yang masuk atau kita terima, dapat berupa teks.
 
Teks dalam bahasa pemrogaman sering disebut dengan String atau kumpulan karakter.
 
Sebuah variabel String ditulis dengan diapit oleh tanda kutip. Contoh : x = "Hello";
 
Jika didalam program kita terdapat beberapa logika seperti "IF" terhadap data yang masuk dari komunikasi serial, tentunya kita harus memisahkan data teks tersebut. 
 
Split String adalah cara untuk memisahkan, membagi atau memotong teks.
 
Dalam berbagai bahasa pemrograman, memisahkan teks ini dapat ditemukan seperti split string in python, java, javascript,  dan sebagainya yang dapat anda temukan di mesin pencarian.

Sebagi contoh, didalam program kita terdapat logika menghidupkan LED RGB dengan dua perintah yaitu Hidup Warna dan Lamanya LED hidup.
 
Nah, data yang diterima yaitu dengan format "Warna.Waktu;". Setiap perintah yang akan diterima di akhiri dengan titik".".
 
Ketika Arduino menerima data "Merah.1000;" maka LED akan hidup warna merah dan akan mati setelah 1 detik. 
 
Dari contoh di atas, kita memisahkan teks dengan dengan batasannya adalah titik "." logika sederhananya adalah terima data pertama hingga titik "." dan simpan dalam Array ke 1, selanjutnya baca data ke dua hingga titik "." dan simpan dalam Array ke 2, dan seterusnya. 
 

B. Metode Memisahkan String C++ Arduino

Metode dalam memisahkan teks ini adalah:

  • Pertama kali program akan menghitung berapa jumlah karakter yang terkandung didalam teks.
  • Ke dua, program akan membaca satu persatu karakter dan menyimpan karakter kedalam Array ke 0.
  • Ke tiga, ketika menemukan karakter titik ".", maka program akan menghentikan penyimpanan kedalam Array ke 0.
  • ke empat, program akan membaca karakter setelah titik "." dan meyimpannya ke Array ke 1.
  • dan seterusnya.
 
Saya membuat contoh kecil programnya. Upload program ini ke arduino, buka serial monitor. Ketik kata (terserah) dan pisah dengan titik".".
 
Sebagai contoh saya memasukkan kata "Saya pergi ke sekolah bersama Budi. Andi mengikuti dari belakang"
 

C. Program Memisahkan Teks Arduino

Adapun kode programnya adalah sebagai berikut:
String ab[10];                                  //Tetapkan data yang masuk sebanyak 10 data
String data;
String perBagianData;
int a;
int stringData;

void setup()
{
Serial.begin(9600);
}

void loop()
{
while (Serial.available() > 0) //Masuk ke dalam blok jika ada data dari serial
{
data = Serial.readString(); //Baca data yang masuk dan ubah data tersebut dalam String

for (a = 0; a < data.length() - 1; a++)
{
ab[a] = ambilData(data, '.', a); //Pisah data berdasarkan koma (.), bisa juga di ganti dengan (,)

if (ab[a] != NULL)
{
Serial.print("Array ke ");
Serial.print(a);
Serial.print(" = ");
Serial.println(ab[a]);
}
}
}
}

String ambilData(String data, char pemisah, int urutan)
{
stringData = 0;
perBagianData = "";

for (int i = 0; i < data.length() - 1; i++)
{

if (data[i] == pemisah)
{
stringData++;
}

else if (stringData == urutan)
{
perBagianData.concat(data[i]);
}

else if (stringData > urutan)
{
return perBagianData;
break;
}
}

return perBagianData;
}
 
Split String Pada Arduino, Memisahkan, Membagi atau Memotong
Split String Arduino
 
Anda dapat mengganti karakter ttitik "." dengan yang anda suka, misalnya titik koma ";". Pada baris program "ab[a] = getStringPartByNr(ipAdress, '.', a);" menjadi ""ab[a] = getStringPartByNr(ipAdress, ';', a);
 
Program di atas saya uji menggunakan Arduino Pro Mini, kemungkinan besar ini dapat anda gunakan pada varian yag lain seperti arduino uno, arduino leonardo, arduino pro micro, mega 2560, esp8266 wifi, arduino nano v3, arduino genuino, esp8266 board, STM32 seperti Blue Pill dan lainnya.
 
Semoga artikel ini bermanfaat. Sekian.

Pencarian yang serupa:

Posting Komentar untuk "Split String Pada Arduino, Memisahkan, Membagi atau Memotong"