Skip to content

Assignment 5 - String Manipulation #110

@fitrh

Description

@fitrh

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")
    menghasilkan https%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")
unhappy
addPrefixUn("manageable")
unmanageable

Prefixes 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_n

Contoh

prefixes("en", "close", "joy", "lighten")
en :: enclose :: enjoy :: enlighten
prefixes("pre", "serve", "dispose", "position")
pre :: preserve :: predispose :: preposition
prefixes("auto", "didactic", "graph", "mate")
auto :: autodidactic :: autograph :: automate
prefixes("inter", "twine", "connected", "dependent")
inter :: intertwine :: interconnected :: interdependent

Remove 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")
heavy
removeSuffixNess("sadness")
sad

Noun 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 )
brighten
nounToVerb("It got dark as the sun set.", 2)
darken

3. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    DoneAnswers have been graded

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions