Anda di halaman 1dari 6

Seleksi Bootcamp Arkademy Batch 11 - 2 

Kamu akan mengerjakan soal-soal essay yang outputnya 


berupa source code program yang harus dijalankan sesuai 
dengan soal yang diberikan. 
 

WARNING 
 
Segala bentuk kerjasama, maupun kecurangan dalam 
mengerjakan akan langsung didiskualifikasi dalam 
Program Bootcamp Arkademy. 
 
 
Instruksi : 
● Anda  bebas  menggunakan  bahasa  pemrograman  apa 
saja  yang  anda  kuasai  untuk  menyelesaikan  soal  (kecuali 
pada  soal  tertentu  yang  menyuruh  menggunakan  bahasa 
pemrograman tertentu) 
● Batas  waktu  pengerjaan  adalah  14  jam  (Start  09.00  WIB  - 
End  23.00  WIB),  terhitung  dari  penyerahan  soal.  Kami 
akan  melihat  last  commit.  Selesaikan  dan  kirim  sesuai 
kemampuan kalian. 
● Google  adalah  teman  setia  programmer,  manfaatkan 
google  sebijaksana  mungkin.  Anda  boleh  membuka 
google  selama  test,  tetapi  Anda  tidak  boleh  bertanya 
kepada  teman  atau  seseorang/kelompok  atau 
menggunakan  media  Messenger  ataupun  media 
komunikasi lainnya. 
● Tujuan  soal  ini  adalah  belajar,  pastikan  untuk 
mengerjakan  soal  ini  sendiri,  karena  nantinya  kita  akan 
mengadakan wawancara terkait pemecahan soal ini. 
● Tambahkan  keterangan  pada  readme  tentang  stacks 
yang  digunakan,  software  yang  dibutuhkan,  cara 
menjalankan aplikasi dan hal yang perlu dijelaskan. 
o Apa  itu readme.md, apa itu .md file bagai mana cara 
membuat  .md  file  ====> 
https://stackoverflow.com/questions/5922882/wh
at-file-uses-md-extension-and-how-should-i-edit-the
m  
● Kirim  jawaban  melalui  link  google  form 
https://forms.gle/ddGtQPUuX6CU13gB7  dengan  mengisi 
Nama,  asal  sekolah,  nomor  HP  dan  Link  Git  repo jawaban 
ujian. 
PERHATIKAN HAK AKSES, JANGAN DI-PRIVATE  
● Soal  1-6  ​tidak  memerlukan  library  atau  framework. 
Buatlah  ​satu  file  untuk  satu  nomor  soal  dan  ​tidak  perlu 
disimpan  dalam  folder/directory.  ​Dan  jangan  di 
archive-kan (rar, zip dll) 
● Soal  1-6  hanya  buatlah  single  file  jawaban  untuk  setiap 
nomor  berisi  sebuah  function  dan  tidak  menambah  hal- 
hal  yang  tidak  perlu  yang  membuat  jawaban  anda  tidak 
jelas. (ex: Form dan tampilan HTML). 
○ JAWABAN  HARUS  BISA  DI  JALANKAN  DI  ONLINE 
EDITOR, 
misalnya h ​ ttps://www.onlinegdb.com/ 
○ UNTUK  BAHASA  JS  ​https://es6console.com/  atau 
browser console 
● Untuk soal nomor 7 simpan dalam sebuah direktori. 
● Untuk  soal  nomor  7,  tampilkan  ​capture/screenshot  demo 
aplikasi pada readme.md 
● Total  halaman  dokumen  soal  ini  adalah  4  halaman  (1  s/d 
5) 
 
 

HARAP MEMBACA INSTRUKSI DI ATAS SEBELUM 


MENGERJAKAN 
 
 
   
1. Buatlah sebuah m ​ ethod/function​ untuk m ​ e-return biodata asli Anda​, 
dengan ketentuan sebagai berikut: 
● name (String) 
● age (Number) 
● address (String) 
● hobbies (Array) 
● is_married (Boolean) 
● list_school (Array of Object) with key name, year_in, year_out, and 
major (if any, if no set “null” ) 
● skills (Array of Obj) with key skill_name and level (beginner, 
advanced, expert) 
● interest_in_coding (Boolean) 
Return value harus berformat JSON dan sesuai ketentuan di atas​. 
Pada readme sebutkan kegunaan JSON pada REST API​. 
Berikut adalah contoh dari JSON format: 
https://api.bukalapak.com/v2/products/f3vi.json 
 
2. Pada  sebuah  form,  terdapat  4  buah  field  yaitu:  email,  phone,  username 
dan  password.  Buatlah  ​method/function  untuk  memvalidasi  field-field 
tersebut, dengan requirement sebagai berikut: 
●  Disarankan menggunakan REGEX 
●  Format  username​:  merupakan  kombinasi  dari  huruf  kecil, 
huruf  besar  dan  angka  dengan  panjang  5-9  karakter.  Username 
tidak boleh diawali dengan angka. 
●  Format  password​:  merupakan  kombinasi  dari  huruf  kecil, 
huruf  besar  minimal  satu  karakter,  angka  minimal  satu  karakter, 
dan  karakter  spesial  minimal  satu  karakter  dan  harus  memiliki 
karakter simbol ‘@’ dan panjang minimal 8 karakter. 
Clue: 
Peserta  hanya  diminta  membuat  function  validasi,  ​tidak  perlu  membuat 
form HTML. 
Examples: 
- is_username_valid(‘zeronull’) 
return false 
- is_username_valid(‘Ayu99v’) 
return true 
- is_password_valid(‘p@ssW0rd#’) 
return true 
- is_password_valid(‘C0d3YourFuture!#’) 
return false 
 
 
 
 
 
 
 
3. Diketahui sebuah operasi matematika yang memiliki kondisi: 
A. Jika diberikan bilangan genap, maka operasi berupa: 
N = N/2 
B. Jika diberikan bilangan ganjil, maka operasi berupa: 
N = 3N + 1 
Dengan  menggunakan  operasi  tersebut,  kita  dapat  menentukan  berapa 
operasi  yang  dijalankan agar sebuah bilangan asli berubah menjadi angka 
1 (satu), contoh: 
12 -> 6 -> 3 -> 10 -> 5 -> 16 -> 8 -> 4 -> 2 -> 1 
Operasi  yang dibutuhkan oleh bilangan 12 untuk berubah menjadi angka 1 
adalah  9  kali.  ​Buatlah  sebuah  fungsi/method  yang  dapat  mencari 
bilangan  asli  manakah  yang  membutuhkan  operasi  terbanyak  untuk 
mencapai angka 1 (satu). 
 
Contoh Input: o ​ perasi(100) 
Contoh Output: B ​ ilangan Asli dengan operasi terbanyak = 97 
 
4. Pada  suatu  hari,  Andi  diperintahkan  ibunya membeli mie instan di warung 
PadaSuka.  Warung  tersebut  biasa  memberikan  bonus  terhadap 
pelanggannya.  Pada  tanggal  ganjil,  setiap  pembelian  3  buah  mie 
mendapat bonus 1 mie. Pada tanggal genap, setiap pembelian 4 buah mie 
mendapat  bonus  1  mie.  Pada  tanggal  dengan  kelipatan  5,  jika  jumlah 
bonus  mienya  merupakan  bilangan  genap  maka  bonus  mienya  akan 
dikalikan  10.  Namun  jika  bonus  mienya  merupakan  bilangan  ganjil,  maka 
bonus  mienya  akan  dikalikan  5.  Buatlah  fungsi/method  yang  akan 
menghitung  dengan  cepat  dan  tepat,  berapa  banyak  mie  yang  akan 
didapat  Andi  jika  semua  uangnya  dibelanjakan  untuk  membeli  mie. 
Method/function  tersebut  menerima  2  parameter.  Parameter  pertama 
adalah  tanggal  dari  1  -  30,  dan  parameter  kedua  adalah  uang  yang  akan 
dibelanjakan. 
 
Contoh Input: b ​ uyNoodle(25, 50000) 
Contoh Output:​ 80  
 
 
 
 
 
 
 
 
 
 
 
 
5. Diberikan  sebuah  string  yang  merupakan  nama  seseorang.  Kemudian, 
nama  tersebut  dipisahkan  per  katanya  lalu  kata  tersebut  diurutkan 
berdasarkan  urutan  ascending  alfabet.  Setiap  kata  akan  diberikan  nilai 
masing-masing  berdasarkan  huruf  yang  terdapat  didalamnya  serta 
dikalikan  berdasarkan  urutannya  di  dalam  list,  contoh  ​Christoper 
Slovanoski.  Cristoper  ​berada  di  list  nomor  1  maka  dihitung  berdasarkan 
kandungan  hurufnya  menjadi  3+8+18+9+19+20+15+16+5+18  sama 
dengan  131.  Kemudian,  dikalikan  1  karena  Christoper  berada  pada  list 
pertama.  Begitu  pula dengan kata berikutnya, ​Slovanoski​. ​Buatlah sebuah 
function / method yang dapat melakukan hal diatas. 
  
Contoh Input​: nilaiNama(“Christoper Slovanoski”) 
  
Contoh Output​: [131, 274] 
 
6. Mr.  John  dan  Mrs.  Jane  merupakan  sepasang  suami-istri  yang  suka 
misteri.  Maka  dari  itu,  mereka  mengunjungi  pasar  malam  yang  telah 
diadakan  selama  30  tahun.  Mereka  menikmati  liburan  tersebut  dengan 
senang  hati,  terutama  ketika  mereka  mengunjungi wahana ‘​escape room​’. 
Salah  satu  teka-teki  yang  mereka  sukai  adalah  misteri  15  lampu 
(bernomor  1  hingga  15)  dan  3  saklar  (bernomor  1  hingga  3).  Pada 
teka-teki  tersebut,  semua  lampu  dimulai  dari  keadaan  mati  dan  setiap 
saklar  mempunyai  kemampuan  masing-masing,  yaitu  saklar  nomor  X 
hanya  dapat  menyalakan/mematikan  lampu  bernomor  kelipatan  X. 
Mereka  diberikan  sebuah  baris  angka  yang  merupakan  kombinasi  dari 
angka  1,  2, dan 3 dan memiliki digit maksimal sebanyak 15 karakter. Baris 
angka  tersebut  merupakan  deretan  nomor  saklar  yang harus ditekan oleh 
peserta  untuk  mengetahui  lampu  mana  sajakah  yang  masih  menyala  di 
akhir  teka-teki.  Akan  tetapi,  karena  kelalaian  staf  wahana  tersebut,  saklar 
tersebut tidak ada yang berfungsi. Buatlah sebuah fungsi/method dengan 
parameter  baris  angka  teka-teki  tersebut  untuk membantu Mr. John dan 
Mrs. Jane memecahkan teka-teki tersebut. 
  
Contoh Input: 
tekateki(1321) 
  
Contoh Output: 
[false,  true,  true,  true,  false,  false,  false,  true,  true,  true,  false,  false, 
false, true, true] 
Jumlah Lampu Menyala = 8 
Jumlah Lampu Mati = 7 
 
 
 
 
7. Buatlah project berdasarkan ketentuan dibawah ini: 
A. Buatlah database dengan tabel N ​ ama​, H
​ obi​, dan ​Kategori​. Dalam 
tabel N
​ ama ​terdapat kolom ​id​, ​name​, ​id_hobby​, dan i​ d_category​. 
Di tabel H
​ obi ​hanya terdapat kolom i​ d​, ​name​ dan ​id_category​. 
Sedangkan di tabel K ​ ategori h
​ anya terdapat ​id​ dan ​name​.  
 
Tabel Nama :  
 
id  name  id_hobby  id_category 

1  Novi  1  1 

2  Vita  2  2 
 
Tabel Hobi: 
 
id  name  id_category 

1  Koleksi Tas  1 

2  InstaStory  2 
   
Tabel Kategori : 
 
id  name 

1  Shopping 

2  Media Sosial 
 
Buatlah query untuk menghasilkan tampilan seperti ini : 
 
name  hobby  category 

Novi  Koleksi Tas  Shopping 

Vita  InstaStory  Media Sosial 


 
B. Buatlah sebuah tampilan Website sesuai dengan m ​ ockup​ di figma 
https://www.figma.com/file/gvhfa1Zeft7BaPvGqgdoeGfT/Fronten
d-Test?node-id=0%3A1​ menggunakan data statis dengan HTML, 
CSS, dan JS. Boleh menggunakan Bootstrap, Material UI, atau 
yang lainnya. 
 
C. Buatlah sebuah tampilan Website sesuai dengan m ​ ockup​ di figma 
pada p​ oint 7.B​ menggunakan data dinamis yang berasal dari p ​ oint 
7.A s
​ erta ditambahkan fitur ​CRUD​ ke database pada ​point 7.A 

Anda mungkin juga menyukai