Anda di halaman 1dari 3

Angular Senior Developer Test

Aturan
a. Minimal anda dapat menjawab 2 soal dari tiap sesi soal yang diberikan, tambahan jawaban benar
pada sesi soal akan mendapatkan bonus 20% dari point maksimal per sesi soal.
b. Nilai masimum dari test ini adalah 200, dan nilai minimum untuk lulus ujian ini adalah 110.
c. Waktu pengerjaan 70 menit tanpa internet dan buku panduan.

Aritmatika dan Logika (50 point)


1. Sakelar adalah alat untuk menghubungkan atau memutuskan aliran listrik. Bila sakelar dipasang
pada sebuah lampu, maka sakelar tersebut bisa menyalakan atau mematikan lampu tersebut. Di
rumah Sugeng, ada 30 lampu yang dinomori dari 1 sampai 30. Untuk menyalakannya, Sugeng
memiliki sakelar khusus, yaitu sakelar yang terhubung dengan lebih dari satu lampu. Ada lima
sakelar, yaitu:
Sakelar A, yaitu sakelar yang terhubung dengan lampu bernomor kelipatan 2.
Sakelar B, yaitu sakelar yang terhubung dengan lampu bernomor kelipatan 3.
Sakelar C, yaitu sakelar yang terhubung dengan lampu bernomor kelipatan 5.
Sakelar D, yaitu sakelar yang terhubung dengan lampu bernomor kelipatan 7.
Sakelar E, yaitu sakelar yang terhubung dengan lampu bernomor kelipatan 11.
Perlu diingat, jika lampu dalam keadaan mati, dan sakelar yang terhubung dengannya ditekan, maka
lampu tersebut akan menyala. Begitu pula sebaliknya.
a. Ada berapa lampu yang tidak bisa dinyala/matikan karena tak terhubung dengan saklar?
b. Sugeng ingin agar rumahnya terang benderang, karena dia takut akan kegelapan. Ada
berapa lampu maksimal yang bisa menyala secara bersamaan?
2. Pak Zaki memiliki 12 buah permen yang akan dibagikan kepada 3 orang cucunya, yaitu Abi, Bibi, dan
Cibi. Permen yang dibagikan tidak bersisa. Dalam pembagian tersebut bisa saja ada cucu yang tidak
mendapatkan permen sama sekali. Tentu saja, satu permen tidak bisa dibagi kepada lebih dari satu
orang. Karena Cibi merupakan cucu kesayangan Pak Zaki, maka Cibi selalu mendapat lebih dari 6
permen. Berapakah banyak cara Pak Zaki membagikan permen tersebut ke cucucucunya? Suatu cara
dianggap berbeda jika banyak permen yang diterima salah satu orang berbeda
3. Sebuah tumpukan kartu tersusun dari kartu - kartu yang bernomor 1 hingga 31 (kartu pada
tumpukan paling atas bernilai 1 dan kartu paling bawah bernilai 31). Kartu kartu tersebut ingin
diacak dengan cara sebagai berikut. Ambil N kartu terbawah lalu taruh N kartu tersebut pada
tumpukan teratas (tanpa mengubah urutan)
a. Apabila nilai N = 5 dan langkah tersebut dilakukan sebanyak 45 kali kartu apa yang terdapat
pada tumpukan teratas?
b. Jika N = 7 dan langkah tersebut dilakukan sebanyak 50 kali, kartu apa yang terdapat pada
tumpukan teratas?
c. Apabila nilai N = 3 berapa kali anda harus melakukan langkah tersebut agar kartu yang
bernilai 2 terdapat pada tumpukan teratas?

Algoritma (20 Point)


1. Perhatikan potongan program di bawah ini!
function hitung(n:integer):integer;
begin
if(n=0)then hitung:=0
else hitung:=hitung(n div 5) + (n mod 5);
end;

Berapa nilai dari hitung(2903)?


2. Perhatikan potongan program dibawah ini!
function Bunga(x: longint):longint;
var
i, Bungai : longint;
begin
if (x = 0) then Bunga := 1
else
begin
Bungai := 0;
for i := 0 to x-1 do
Bungai := Bungai + Bunga(i);
Bunga := Bungai;
end;
end;

a. Berapakah hasil dari Bunga(3)?


b. Berapakah hasil dari Bunga(21)?
3. Perhatikan Potongan program dibawah ini!
function tebak_angka(x,y: integer): integer;
begin
if x < 5 then begin
case x of
0: tebak_angka := 1;
1: tebak_angka := 2;
2: tebak_angka := 3;
3: tebak_angka := 4;
4: tebak_angka := 5;
end;
end else if x > y then begin
tebak_angka := tebak_angka(y,x);
end else begin
tebak_angka := tebak_angka(x, y-(x mod 5)-1);
end;
end;

Apakah outputnya jika perintah writeln(tebak_angka(18,30)) dipanggil?

Javascript (40 Point)


1. Tuliskan syntax dalam javascript untuk mengubah konten elemen html dibawah ini.
<p id="demo">This is a demonstration.</p>

2.
3.
4.
5.

Apa perbedaan antar operator == dan === ? yang mana yang lebih baik digunakan?
Bagaimana cara mengecek sebuah variable itu null atau undefined ?
Jelaskan fungsi prototype / differential inheritance pada javascript, dan berikan contoh-nya!
Apa yang dimaksud dengan strict mode pada javascript?

Angular JS (30 Point)


1.
2.
3.
4.

Sebutkan 5 resep pada angular provider ?


Apa perbedaan antara angular constant dan value ?
Apa perbedaan antara angular service dan factory ?
Apa yang dimaksud dengan konsep expression pada angular, dan buat contohnya pada sebuah
template html!
5. Apa yang dimaksud dengan konsep dependency injection dan berikan contoh penerapan konsepnya
pada angular js!
6. Buatkan sebuah angular filter yang berfungsi untuk melakukan fungsi sorting sebuah array of
numbers yang bisa menerima parameter apakah sebuah sorting dilakukan dalam urutan descending
atau ascending!

Grid dan CSS (30 point)


1. Apa yang dimaksud dengan mixins pada css preprosesor ?
2. Apa yang dimaksud dengan viewport ? dan bagaimana cara menerapakan teknik viewport agar
pada halaman yang responsif ?
3. Apa yang dimaksud dengan clearfix?
4. Dimana sebaiknya meletakan link untuk stylesheet ?

Node JS (30 point)


1. Argumen pertama apa yang bisasanya dipassing ke fungsi callback pada node js?
2. Apa yang dimaksud dengan callback hell dan cara menghindarinya?
3. Bagaimana node.js dapat bekerja pada berbagai jenis platform processor tetapi tetap menggunakan
semua resource processor secara maksimal?
4. Perhatikan potongan kode berikut
{
console.time("loop");
for (var i = 0; i < 1000000; i += 1){
// Do nothing
}
console.timeEnd("loop");
}

Mengapa rutin diatas berjalan jauh lebih lambat pada browser chrome dibandingkan pada node js,
padahal keduanya ditulis berjalan diatas google v8 engine?

Anda mungkin juga menyukai