Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions coba.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
let kata = "John Doe";

for (let i of kata) {
console.log(i);
}
58 changes: 58 additions & 0 deletions quiz/part1/jawaban01.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
// Kamu diminta untuk memprogram suatu game sederhana, Proxytia namanya.
// Untuk memulai game itu diperlukan 2 variabel (untuk sekarang),
// yaitu nama dan peran. Variabel peran harus memiliki isi data,
// bila nama kosong, pemain akan diberikan peringatan berupa "nama wajib diisi"
// bila kosong pemain akan diberikan peringatan berupa "Pilih Peranmu untuk memulai game".
// Terdapat 3 peran berbeda yaitu Ksatria, Tabib, dan Penyihir.
// Tugas Anda adalah untuk membuat program yang mengecek isi variabel
// peran serta mengeluarkan respon sesuai isi variabel tersebut.
//ada 4 jenis respons sesuai dengan 3 jenis peran yaitu
//halo Ksatria ${nama} , kamu dapat menyerang dengan senjatamu!
//halo Tabib ${nama} , kamu akan membantu temanmu yang terluka
//halo Penyihir ${nama} , ciptakan keajaiban yang membantu kemenanganmu!
//tapi kayaknya kamu jadi bot aja ya, peran yang kamu pilih ga ada
//tips belajar penggunaan `` (backtick) pada javascript agar
//mudah dalam memasukan variabel ke dalam string
//tapi tanpa backtick juga ga masalah sih yg penting output sesuai

// algoritma
//isi algoritma mu disini (AWAS KALO GA DI ISI!!!!)

let nama = "fex";
let peran = "jagoan";

function proxytia(nama, peran) {
if (!nama && !peran) {
return "Diisi bro gaboleh blank!";
}
if (!nama) {
return "Nama wajib diisi!";
}
if (!peran) {
return "Pilih Peranmu untuk memulai game!";
}

const name = nama.toLowerCase();
const role = peran.toLowerCase();

if (role === "ksatria") {
return `halo Ksatria ${nama} , kamu dapat menyerang dengan senjatamu!`;
} else if (role === "tabib") {
return `halo Tabib ${nama} , kamu akan membantu temanmu yang terluka`;
} else if (role === "penyihir") {
return `halo Penyihir ${nama} , ciptakan keajaiban yang membantu kemenanganmu!`;
} else {
return `${name} lu kayaknya jadi bot aja ya, peran yang lu pilih ga ada awokaowka!`;
}
}

//code disini gunakan console.log untuk outputnya

console.log(proxytia(nama, peran));
console.log(proxytia("amrullah", "penyihir"));
console.log(proxytia("gofar", "ksatria"));
console.log(proxytia("deven", "tabib"));
console.log(proxytia("", ""));
console.log(proxytia("zonk", ""));
console.log(proxytia("", "malas"));
console.log(proxytia());
91 changes: 91 additions & 0 deletions quiz/part1/jawaban02.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
// Kamu akan diberikan sebuah tanggal dalam tiga variabel, yaitu hari, bulan, dan tahun. Disini kamu diminta untuk membuat format tanggal. Misal tanggal yang diberikan adalah hari 1, bulan 5, dan tahun 1945. Maka, output yang harus kamu proses adalah menjadi 1 Mei 1945.

// Gunakan switch case untuk kasus ini!

// Contoh:

// let hari = 21; let bulan = 1; let tahun = 1945;

// Maka hasil yang akan tampil di console adalah: '21 Januari 1945';

//tips gunakan keyword ini di google "conditional switch case javascript"
//dan mulailah membaca dan mencontek di stackoverflow xixixi

// tanggal ultah calon bini gue wkwk
let tanggal = 20; // assign nilai variabel tanggal disini! (dengan angka antara 1 - 31)
let bulan = 9; // assign nilai variabel bulan disini! (dengan angka antara 1 - 12)
let tahun = 2004; // assign nilai variabel tahun disini! (dengan angka antara 1900 - 2200)

//code switch case kamu disini

function monthConverter(month) {
switch (month) {
case 1:
return "Januari";
case 2:
return "Februari";
case 3:
return "Maret";
case 4:
return "April";
case 5:
return "Mei";
case 6:
return "Juni";
case 7:
return "Juli";
case 8:
return "Agustus";
case 9:
return "September";
case 10:
return "Oktober";
case 11:
return "November";
case 12:
return "Desember";
}
}

function ultahAyank(date, month, year) {
if (!date && !month && !year) {
return "diisi dulu datanya pak!";
}
if (!date) {
return "diisi tanggalnye boss!";
}
if (!month) {
return "bulan berapa nih? diisi donk!";
}
if (!year) {
return "mana tahunnya wowkwowk";
}

let correctDate;
if (date < 1 || date > 31) {
return "tanggalnya invalid bang, assign nilai variabel tanggal disini! (dengan angka antara 1 - 31)";
} else {
correctDate = date;
}

let correctMonth;
if (month < 1 || month > 12) {
return "bulannya invalid bang, assign nilai variabel bulan disini! (dengan angka antara 1 - 12)";
} else {
correctMonth = monthConverter(month);
}

let correctYear;
if (year > 2200) {
return "jauh amat sir!";
} else if (year < 1900) {
return "udah mati sir!";
} else {
correctYear = year;
}

return `ini dia tanggalnye -> ${correctDate} ${correctMonth} ${correctYear}`;
}

console.log(ultahAyank(tanggal, bulan, tahun));
console.log(ultahAyank(12, 12, 1899));
27 changes: 27 additions & 0 deletions quiz/part2/jawaban01.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
//1. Let's Form a Sentence

// Problem
// Pada tugas ini kamu diminta untuk melakukan penambahan string menggunakan simbol +.
// Disediakan variable word. Tambahkan nilai word satu per satu dengan nilai variable lain
// untuk membentuk sebuah kalimat. Jangan lupa menambahkan spasi di setiap kata, dan
// tampilkan di console hasil penggabungannya! Kamu tidak perlu membuat variable baru!

let word = "JavaScript";
let second = "is";
let third = "awesome";
let fourth = "and";
let fifth = "I";
let sixth = "love";
let seventh = "it!";

//code here
function createNewSentence(arr) {
const n = arr.length;
for (let i = 0; i < n; i++) {
word += " ";
word += arr[i];
}
console.log(word);
}

createNewSentence([second, third, fourth, fifth, sixth, seventh]);
35 changes: 35 additions & 0 deletions quiz/part2/jawaban02.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
// Problem
// Pada tugas ini kamu diminta untuk "memecah" sebuah kalimat dan menampilkan setiap kata didalamnya.
// Untuk soal nomor ini, gunakan akses satu per satu karakter dari string untuk mengambil setiap huruf dalam kata.
// Terasa manual? Tidak apa-apa, kita coba ini dulu untuk saat ini.

// Hints
// Saat kamu mendapatkan tiap huruf, untuk membentuk setiap kata kamu tinggal menggunakan simbol + untuk membentuk kata
// tersebut!

let word = "wow JavaScript is so cool";
let exampleFirstWord = word[0] + word[1] + word[2];

console.log("First Word: " + exampleFirstWord);
//lanjutkan dengan struktur log diatas
let secondWord =
word[4] +
word[5] +
word[6] +
word[7] +
word[8] +
word[9] +
word[10] +
word[11] +
word[12] +
word[13];
console.log("Second Word: " + secondWord);

let thirdWord = word[15] + word[16];
console.log("Third Word: " + thirdWord);

let fourtWord = word[18] + word[19];
console.log("Fourth Word: " + fourtWord);

let fifthWord = word[21] + word[22] + word[23] + word[24];
console.log("fifth Word: " + fifthWord);
17 changes: 17 additions & 0 deletions quiz/part2/jawaban03.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
// Problem
// Mirip seperti soal nomor 2, namun kali ini gunakan substring untuk mengambil potongan dari tiap kata!

let word3 = "wow JavaScript is so cool";
let exampleFirstWord3 = word3.substring(0, 3);

console.log("First Word: " + exampleFirstWord3);

let secondWord = word3.substring(4, 14);
let thirdWord = word3.substring(15, 17);
let fourtWord = word3.substring(18, 20);
let fifthWord = word3.substring(21, 25);

console.log("second Word: " + secondWord);
console.log("third Word: " + thirdWord);
console.log("fourth Word: " + fourtWord);
console.log("fifth Word: " + fifthWord);
28 changes: 28 additions & 0 deletions quiz/part2/jawaban04.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
// Problem
// Mirip seperti soal nomor 3, tapi tampilkan juga panjang kata masing-masingnya!

let word4 = "wow JavaScript is so cool";
let exampleFirstWord4 = word4.substring(0, 3);

let firstWordLength = exampleFirstWord4.length;

console.log(
"First Word: " + exampleFirstWord4 + ", with length: " + firstWordLength
);

let secondWord = word4.substring(4, 14);
let secondWordLen = secondWord.length;

let thirdWord = word4.substring(15, 17);
let thirdWordLen = thirdWord.length;

let fourtWord = word4.substring(18, 20);
let fourtWordLen = fourtWord.length;

let fifthWord = word4.substring(21, 25);
let fifthWordLen = fifthWord.length;

console.log("Second Word: " + secondWord + ", with length: " + secondWordLen);
console.log("Third Word: " + thirdWord + ", with length: " + thirdWordLen);
console.log("fourth Word: " + fourtWord + ", with length: " + fourtWordLen);
console.log("fifith Word: " + fifthWord + ", with length: " + fifthWordLen);
39 changes: 39 additions & 0 deletions quiz/part3/jawaban01.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
// Problem
// Pada tugas ini kamu diminta untuk melakukan looping dalam JavaScript dengan menggunakan syntax while.
// Untuk membuat tantangan ini lebih menarik, kamu juga diminta untuk membuat suatu looping yang menghitung maju dan
// menghitung mundur. Jangan lupa tampilkan di console juga judul 'LOOPING PERTAMA' dan 'LOOPING KEDUA'.
//tampilkan output yang menunjukan kalau looping itu maju pada looping pertama dan mundur pada looping kedua

function ngeloop(arah) {
if (!arah) {
console.log("tolong diisi dengan milih 'maju' atau 'mundur'!");
}

if (arah.toLowerCase() === "maju") {
let hasilMaju = "";
let i = 1;
while (i < 10) {
hasilMaju += i;
hasilMaju += " ";
i++;
}
console.log("Hitungan maju -> " + hasilMaju);
} else if (arah.toLowerCase() === "mundur") {
let hasilMundur = "";
let j = 10;
while (j > 0) {
hasilMundur += j;
hasilMundur += " ";
j--;
}
console.log("Hitungan mundur -> " + hasilMundur);
} else {
console.log(
"pilihanlu kagak ada boss! pilih salah satu -> 'maju' atau 'mundur'!"
);
}
}

ngeloop("maju");
ngeloop("mundur");
ngeloop("mabur");
35 changes: 35 additions & 0 deletions quiz/part3/jawaban02.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
// Problem
// Pada tugas ini kamu diminta untuk melakukan looping dalam JavaScript dengan menggunakan syntax for.
// Untuk membuat tantangan ini lebih menarik, kamu juga diminta untuk membuat suatu looping yang menghitung maju dan
// menghitung mundur. Jangan lupa tampilkan di console juga judul 'LOOPING PERTAMA' dan 'LOOPING KEDUA'.
//tampilkan output yang menunjukan kalau looping itu maju pada looping pertama dan mundur pada looping kedua

function ngeloopPakeFor(arah) {
if (!arah) {
console.log("tolong diisi dengan milih 'maju' atau 'mundur'!");
}

if (arah.toLowerCase() === "maju") {
let hasilMaju = "";
for (let i = 1; i < 10; i++) {
hasilMaju += i;
hasilMaju += " ";
}
console.log("Hitungan maju -> " + hasilMaju);
} else if (arah.toLowerCase() === "mundur") {
let hasilMundur = "";
for (let j = 10; j > 0; j--) {
hasilMundur += j;
hasilMundur += " ";
}
console.log("Hitungan mundur -> " + hasilMundur);
} else {
console.log(
"pilihanlu kagak ada boss! pilih salah satu -> 'maju' atau 'mundur'!"
);
}
}

ngeloopPakeFor("maju");
ngeloopPakeFor("mundur");
ngeloopPakeFor("mabur");
16 changes: 16 additions & 0 deletions quiz/part3/jawaban03.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// Hint: kamu akan menggunakan kondisional juga di kasus ini.

// Problem
// Buatlah sebuah perulangan 1 - 100 dengan pertambahan counter sebanyak 1
// Di dalam perulangan, periksa setiap angka counter:

// Apabila angka counter adalah angka genap, tuliskan GENAP
// Apabila angka counter adalah angka ganjil, tuliskan GANJIL

for (let i = 1; i <= 100; i++) {
if (i % 2 === 0) {
console.log(`${i} -> genap`);
} else {
console.log(`${i} -> ganjil`);
}
}
30 changes: 30 additions & 0 deletions quiz/part3/jawaban04.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
// Buatlah 3 perulangan baru dari 1 - 100, dengan pertambahan counter sebesar 2, 5, dan 9.
// Pada 3 perulangan baru ini periksa setiap angka counter:

// Apabila bukan kelipatan yang ditentukan tidak perlu menuliskan apa-apa
// Apabila angka counter adalah kelipatan 3 dengan pertambahan 2, kelipatan 6 dengan pertambahan 5, dan kelipatan 10 dengan pertambahan 9, tuliskan:
// "3 kelipatan 3"dan seterusnya.

// STEP = 2
for (let i = 1; i <= 100; i += 2) {
if (i % 3 === 0) {
console.log(`${i} -> kelipatan 3`);
}
}

console.log("===================");

// STEP = 5
for (let j = 1; j <= 100; j += 5) {
if (j % 6 === 0) {
console.log(`${j} -> kelipatan 6`);
}
}

console.log("===================");
// STEP = 9
for (let k = 1; k <= 100; k += 9) {
if (k % 10 === 0) {
console.log(`${k} -> kelipatan 10`);
}
}
Loading