Polinomial dan Rasional
Bab 8 String
Pembuatan String
Sebuah string dibuat dengan menggunakan tanda kutip-tunggal (') atau kutip-ganda (").
Obyek string dapat berupa suatu skalar atau matrik. Berikut ini contoh pembuatan string.
-->xstr = "Komputasi Teknik dengan Scilab"
xstr =
Komputasi Teknik dengan Scilab
-->FreeMathSoft = ['Scilab', 'R', 'Maxima']
FreeMathSoft =
!Scilab R Maxima !
Penggabungan String
Beberapa string dapat digabung menjadi sebuah string baru dengan menggunakan operator tambah (+), seperti yang terlihat pada contoh di bawah ini:
-->s1 = 'Komputasi Teknik';
-->s2 = 'Visualisasi Data';
-->ss = s1 + ' dan ' + s2 ss =
Komputasi Teknik dan Visualisasi Data
Panjang String
Fungsi length juga dapat kita gunakan untuk mengentahui panjang dari suatu string seperti pada contoh berikut ini.
-->SciNum = "Komputasi Numerik dengan Scilab";
-->length(SciNum) ans =
31.
Ekstraksi Karakter String
Sekumpulan karakter yang terdapat di dalam suatu string yang terletak pada posisi tertentu dapat diekstrak dengan fungsi part yang mempunyai notasi sebagai berikut:
v = part(str, k)
dimana k adalah suatu vektor indek yang menyatakan letak karakter.
Berikut ini contoh penggunaan fungsi part. -->ss
ss =
Komputasi Teknik dan Visualisasi Data -->part(ss, 1:9)
ans = Komputasi
-->part(ss, [11:16,34:37]) ans =
TeknikData
Mencari Posisi Suatu String pada String yang Lain
Posisi dari suatu string pada string lainnya dapat diketahui dengan fungsi strindex. Sintak dari fungsi strindex adalah sebagai berikut.
idk = strindex(str1, str2)
Output dari fungsi strindex adalah indek atau posisi pertama dari string str2 pada string str1. Apabila string yang dicari tidak terdapat di dalam string rujukan, maka output yang dihasilkan adalah berupa suatu matrik kosong [ ].
Contoh penggunaan fungsi strindex adalah sebagai berikut:
-->SciNum = "Komputasi Numerik dengan Scilab";
-->strindex(SciNum, "Numerik") ans =
11.
-->strindex(SciNum, "Matematika") ans =
[]
Memecah String
Suatu string dapat dipecah menjadi beberapa string yang lebih kecil dengan fungsi strsplit yang mempunyai sintaks sebagai berikut:
v = strsplit(str, ind)
dimana str adalah string yang akan dipecah dan ind adalah indek posisinya. Ilustrasi penggunaan fungsi strsplit dapat dilihat pada contoh di bawah ini.
-->SciNum SciNum =
Komputasi Numerik dengan Scilab
-->id = strsplit(SciNum, [10 18]) id =
!Komputasi !
! !
!Numerik !
! !
!dengan Scilab !
Suatu string juga dapat dipecah menjadi beberapa string yang lebih kecil berdasarkan karakter tertentu sebagai tanda pemisahnya. Operasi ini dapat dilakukan dengan fungsi tokens yang mempunyai sintaks sebagai berikut:
z = tokens(str,tk)
dimana z adalah suatu vektor kolom yang berisi substring yang dihasilkan dari string induk str, dan tk adalah sebuah karakter atau vektor karakter yang dijadikan sebagai tanda pemisah. Apabila argumen tk tidak digunakan maka tanda pemisah untuk memecah string str adalah spasi dan tab.
Berikut ini contoh-contoh penggunaan fungsi tokens. -->ss = "Komputasi Teknik dan Visualisasi Data";
-->tokens(ss) ans =
!Komputasi !
! !
!Teknik !
! !
!dan !
! !
!Visualisasi !
! !
!Data !
-->tokens('y=a+b*2', ['=','+','*']) ans =
!y !
! !
!a !
! !
!b !
! !
!2 !
Substitusi String
Bagian dari suatu string dapat kita ganti atau substitusi dengan suatu string yang lain dengan menggunakan fungsi strsubst yang mempunyai sintaks sebagai berikut
strsubst(str1, str2, str3)
Statemen ini akan mengganti string str2 yang terdapat di dalam string str1 dengan suatu string str3. Berikut ini contoh-contoh penggunaan fungsi strsubst:
-->fem = "Metode Elemen Hingga";
-->bem = strsubst(fem,"Hingga","Batas") bem =
Metode Elemen Batas
Penggabungan Elemen-Elemen Suatu Matrik String
Elemen-elemen yang terdapat pada sebuah matrik string dapat digabung menjadi sebuah string tunggal dengan fungsi strcat. Sintak dari fungsi strcat adalah sebagai berikut:
txt = strcat(mstr, newstr)
dimana mstr adalah sebuah matrik string dan newstr adalah argumen opsional yang berupa suatu string baru yang akan disisipkan diantara elemen-elemen matrik string mstr, dan txt adalah string yang dihasilkan.
Berikut ini contoh penggunaan fungsi strcat. -->sci = ["Scilab" "Scicos"];
-->strcat(sci) ans =
ScilabScicos
Konversi ke Huruf Besar dan Huruf Kecil
Karakter-karakter yang terdapat pada string dapat dikonversi dari huruf besar menjadi huruf kecil atau sebaliknya dapat dilakukan dengan fungsi convstr sebagai berikut:
convstr(string, fl)
dimana fl adalah tanda konversi, yaitu 'u' untuk konversi ke huruf besar dan 'l' untuk konversi ke huruf kecil. Berikut ini contoh penggunaan fungsi convstr:
-->convstr("Metode Numerik", "U") ans =
METODE NUMERIK
Konversi dari Karakter ke Kode ASCII atau Sebaliknya
Karakter-karakter yang terdapat dalam suatu string juga dapat dikonversi menjadi kode ASCII dengan menggunakan fungsi ascii. Fungsi ascii juga dapat digunakan untuk melakukan operasi sebaliknya yaitu mengkonversi kode ASCII menjadi suatu string.
Ilustrasi penggunaan fungsi ascii adalah sebagai berikut.
-->x = "Sci Comp";
-->k = ascii(x) k =
83. 99. 105. 32. 67. 111. 109. 112.
-->ascii(k) ans =
Sci Comp
Selain dengan fungsi ascii, konversi dari kode ASCII menjadi string juga dapat dilakukan dengan fungsi char, seperti yang ditunjukkan pada contoh berikut ini.
-->char(k) ans =
Sci Comp
Konversi dari Numerik ke String
Suatu data numerik dapat dirubah menjadi suatu data string dengan menggunakan fungsi string, seperti yang diperlihatkan pada contoh-contoh berikut ini:
-->pi = 3.14;
-->pi_str = string(pi) pi_str =
3.14
Evaluasi terhadap Suatu String Ekspresi
Sebuah string yang melambangkan suatu ekpresi matematika dapat dievaluasi nilainya dengan menggunakan fungsi eval atau evstr, seperti pada contoh-contoh di bawah ini.
-->c = eval("sqrt(6^2 + 8^2)") c =
10.
-->w = "cosd(45)";
-->evstr(w) ans =
0.7071068
-->D = ['2' '0'; '0' '4']
D =
!2 0 !
! !
!0 4 !
-->E = eval(D) E =
2. 0.
0. 4.
-->det(eval(D)) ans =
8.
-->inv(evstr(D)) ans =
0.5 0.
0. 0.25
Operasi Matrik terhadap Suatu Matrik String
Terhadap suatu matrik string, juga dapat dilakukan beberapa operasi manipulasi matrik, seperti transpose, penambahan elemen matrik, ekstrasi elemen-elemen matrik, konkatenasi dan lain sebagainya, seperti yang ditunjukkan oleh contoh-contoh berikut ini.
-->sci = ["Scilab" "SciNotes"]
sci =
!Scilab SciNotes !
-->sci($+1) = "Xcos" // penambahan elemen matrik sci =
!Scilab SciNotes Xcos !
-->sci(2) // ekstraksi elemen matrik ans =
SciNotes
-->u = ["u1" "u2" "u3"];
-->v = ["v1" "v2" "v3"];
-->uv = [u; v] // konkatenasi matrik uv =
!u1 u2 u3 !
! !
!v1 v2 v3 !
-->uv' // transpose ans =
!u1 v1 !
! !
!u2 v2 !
! !
!u3 v3 !