-
Notifications
You must be signed in to change notification settings - Fork 37
Description
String Manupulation - Material.pdf
1. URI Percent Parser
URL-encoding merupakan mekanisme untuk mengubah beberapa karakter khusus kedalam
format % diikuti dengan representasi hexadecimal ASCII-nya, tujuannya adalah
keamanan komunikasi data dan standarisasi karakter yang digunakan pada URL.
Berikut adalah table Reserved Characters dan Unsasfe Characters yang digunakan
pada URL-encoding
Reserved Characters
| Character | URL-encode |
|---|---|
| $ | %24 |
| & | %26 |
| + | %2b |
| , | %2c |
| / | %2f |
| : | %3a |
| ; | %3b |
| = | %3d |
| ? | %3f |
| @ | %40 |
Unsasfe Characters
| Character | URL-encode |
|---|---|
| space | %20 |
| " | %22 |
| < | %3c |
| > | %3e |
| # | %23 |
| % | %25 |
| { | %7b |
| } | %7d |
| \ | %5c |
| ^ | %5e |
| ~ | %7e |
| [ | %5b |
| ] | %5d |
| ` | %60 |
Berdasarkan table diatas, buatlah sebuh perogram dengan method berikut:
-
String encode(String rawUrl): Melakukan peroses percent-encoding terhadap
rawUrl
contoh
encode("https://github.com/syssrc/21-ip-assignment")
menghasilkanhttps%3A%2F%2Fgithub.com%2Fsyssrc%2F21-ip-assignment -
String decode(String encodedUrl): Kebalikan dari method diatas
2. Vocab Classroom
Pada kelas English vocabulary, anda belajar membentuk kata dengan menambahkan
prefixes dan suffixes, pada kelas ini, anda diberikan tugas untuk mengubah
kumpulan kata, berikut adalah deskripsi tugasnya:
Add a prefix to a word: String addPrefixUn(String word)
Salah satu prefix umum dalama bahasa Inggris adalah un, yang berarti not.
Pada tugas ini, buatlah method yang menambahkan prefix un kedalam sebuah kata.
Contoh
addPrefixUn("happy")unhappyaddPrefixUn("manageable")unmanageablePrefixes word groups: String prefixes(String prefix, Sring... groups)
Pada kelas ini, anda belajar beberapa suffix umum:
en(yang sama artinya dengan 'put into' atau 'cover with'),pre(yang berarti 'before' atau 'forward'),auto(yang berarti 'self' atau 'same'),inter(yang berarti 'between' atau 'among').
Pada tugas ini, anda diharapakan untuk membuat method yang menambahkan prefix
kedalam setiap kata didalam groups dengan format berikut:
prefix :: prefixkata_1 :: prefixkata_2 :: ... :: prefixkata_nContoh
prefixes("en", "close", "joy", "lighten")en :: enclose :: enjoy :: enlightenprefixes("pre", "serve", "dispose", "position")pre :: preserve :: predispose :: prepositionprefixes("auto", "didactic", "graph", "mate")auto :: autodidactic :: autograph :: automateprefixes("inter", "twine", "connected", "dependent")inter :: intertwine :: interconnected :: interdependentRemove ness suffix from a word: String removeSuffixNess(String word)
ness adalah suffix yang umum digunakan utuk mengungkapkan 'state of being'.
Pada tugas ini, anda diminta untuk menemukan akar kata dengan menghilangkan
suffix ness.
Namu karena aturan pengejaan: Jika akar kata diakhiri oleh konsonan lalu diikuti
oleh y, maka y diganti menjadi i, menghapus ness berarti mengembalikan y
pada akar katanya. e.g. happiness --> happi --> happy.
Contoh
removeSuffixNess("heaviness")heavyremoveSuffixNess("sadness")sadNoun to Verb: String nounToVerb(String sentence, int index)
Salah satu praktik umum penggunaan suffix dalam bahasa Inggris adalah
verbing atau verbifying -- dimana kata sifat menjadi kata kerja dengan
menambahkan suffix en.
Pada tugas ini, anda akan berlatih "verbing" dengan mengekstark kata sifat
dari sebuah kalimat dan mengubahnya menjadi kata kerja.
Diberikan sebuah method nounToVerb(sentence, index), sentence dipecah menjadi
kosa kata, dan index menunjukkan kata keberepa yang diverbing, index -1
berarti kata terakhir. Method ini mengembalikan kata kerja yang diekstrak dalam
bentung verbing.
Contoh
nounToVerb("I need to make that bright.", -1 )brightennounToVerb("It got dark as the sun set.", 2)darken3. Ff for Fizz, Bb for Buzz
Buatlah sebuah program yang menerima inputan String s termasuk spasi, jika
terdapat karakter F atau f pada s, maka cetak Fizz sebanyak jumlah
karakter Ff, jika terdapat karakter B atau b, maka cetak Buzz
sebanyak jumlah karakter Bb, jika terdapat keduanya maka cetak Fizz sebanyak
jumlah karakter Ff dan Buzz sebanyak jumlah karakter Bb, dengan syarat,
Fizz selalu dicetak terlebih dahulu sebelum Buzz dan tidak ada spasi diantarnya,
jika tidak, maka cetak kembali s yang di input.
Karena kalian telah belajar String Manupulation, pada tugas ini,
penentuan banyaknya Ff dan Bb tidak mennggunakan perulangan.
Contoh
| Input | Output |
|---|---|
| FFFffBBffbbB | FizzFizzFizzFizzFizzFizzFizzBuzzBuzzBuzzBuzzBuzz |
| Abdallah | Buzz |
| Mas Mukhtar | Mas Mukhtar |
| Bang Marfi | FizzBuzz |