Anda di halaman 1dari 4

Soal Bootcamp Arkademy Batch 9 Kloter 3 

TIPE SOAL : E 
 
Kamu akan mengerjakan soal-soal essay yang outputnya berupa sourcecode 
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 12 jam (Start 09.30 WIB - End 21.30 WIB), terhitung
dari penyerahan soal. Kami akan melihat last commit.
● 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/what-file-uses-md-extension-and-
how-should-i-edit-them
● Kirim jawaban melalui link google form ​https://goo.gl/forms/7Pv4RLhm6zBQNQQ03
dengan mengisi Nama, Asal sekolah 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 t​ idak​ perlu di simpan dalam folder/directory. ​Dan jangan di
archive-kan (rar, zip dll)
● Soal 1-5 hanya buatlah single file jawaban untuk setiap nomer berisi sebuah function
dennga tidak perlu menambah hal- hal yang tidak perlu yang mebuat jawaban anda
tidak jelas. (ex: Form dan tampilan HTML).
● Total halaman dokumen soal ini adalah 5 halaman (1 s/d 5)

===HARAP MEMBACA INSTRUKSI DI ATAS SEBELUM MENGERJAKAN===


 
1. Tuliskan sebuah method/function untuk me-return biodata Anda, dengan ketentuan 
- name (String) 
- address (String) 
- hobbies (Array) 
- is_married (Boolean) 
- school (Obj) with key highSchool, and university 
- skills (Array of Obj) 
Return value harus berupa JSON 
 
 
2. Buatlah ​sebuah function​ untuk memverifikasi valid password dengan requirements:
- Berjumlah delapan karakter
- Setidaknya terdapat minimal sebuah huruf kecil, sebuah huruf besar, sebuah
angka dan sebuah karakter spesial
Contoh valid password adalah
- 123Qwer_
- ssdga_A7
- SUper&&4
Clue:
● isPasswordValid(‘123Qwer_’);
return==> true
● isPasswordValid(‘123qwer_’);
return==> false

3. Buatlah function untuk mencetak pattern persegi dari karakter ​“*” dan “=” ​yang
mempunyai sebuah parameter sebagai nilai panjang dengan nilai parameter harus
ganjil.
Jika function itu dijalankan:

drawImage(5); | drawImage(7);
akan dicetak di layar: | akan dicetak di layar:

* = * = * | * = = * = = *

= = * = = | = = = * = = =

* * * * * | = = = * = = =
= = * = = | * * * * * * *

* = * = * | = = = * = = =

| = = = * = = =

| * = = * = = *

4. Sebuah mesin penjual mandiri mempunyai stok uang kembalian ​500, 1.000, 2.000,
5.000, 10.000, 20.000 dan 50.000.
Buatlah sebuah function untuk menentukan kembalian yang paling tepat, dengan
paramater function total belanja dan jumlah uang!

Misalnya: Total belanja 15.500, uang yang dimasukkan ke mesin adalah 50.000,
sedangkan kembalian adalah 34.500, sehingga output yang dibutuhkan adalah:
- selembar 20.000
- selembar 10.000
- dua lembar 2.000
- satu koin 500

Clue: maka jika function dijalankan:


hitungKembalian(15500, 50000);
result:
● 1 x 20000
● 1 x 10000
● 2 x 2000
● 1 x 500
5. Buatlah function untuk menghitung jumlah jabat tangan yang terjadi dalam pertemuan
yang dihadiri oleh beberapa orang. Jika setiap orang berjabat tangan dengan semua
yang hadir dan hanya sekali berjabat tangan tangan dengan orang yang sama!

Notice, Gunakan perulangan​ dan tidak menggunakan rumus matematika ​n x (n-1)/2


atau ​½.n.(n-1) ​ataupun yang lainnya​!
Clue:
● print(count_handshake(3))
result: 3
● print(count_handshake(6))
result: 15

6. SOAL WAJIB: Sebua DB gudang mempunyai 2 tabel sebagai berikut:


● categories
○ id
○ name
● products
○ id
○ name
○ category_id(FK categories.id)
A. Isikan data relevan sesuai dengan tabel db yang telah dibuat! 
Ex: 
 
Categories:  Products 
id  name  id  name  category_id 

1  Peralatan Mandi  1  Sampo  1 

2  Mie Instan  2  Sikat Gigi  1 

3  Olahan Daging  3  Indomi  2 


  4  mie sedap  2 

5  Nuget  3 
 
 
 
 
 
 
B. Buatlah query SQL sehingga menampilkan data sebagai berikut! 
 
id   category_name  products 

1  Peralatan Mandi  Sampo, Sikat Gigi 

2  Mie Instan  Indomi, mie sedap 

3  Olahan Daging  Nuget 


 
7. SOAL WAJIB: Dari soal nomor 6, buatlah aplikasi sederhana untuk menampilkan hasil 
dari query ke layar. Wajib menggunakan HTML, CSS, dan twitter bootstrap untuk 
tampilan. Sedangkan bahasa pemrograman bebas. 
 
Buatlah fitur tambah ​category .

Jika menggunakan php, m​enggunakan ​php on the fly​ maka akan langsung auto
salah
Salah ⇒ <?php echo “<td>”.$data.”</td>”; ?>
Benar ⇒ <td> <?php echo $data; ?> </td>

Anda mungkin juga menyukai