From c8d9cd964c57204b73f1cfb17987c7a1243a9f35 Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 27 Aug 2025 19:12:46 +0700 Subject: [PATCH 1/7] push soal 1 --- quiz/part1/README.md | 22 ++++++++++++---------- quiz/part1/soal1.js | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 10 deletions(-) create mode 100644 quiz/part1/soal1.js diff --git a/quiz/part1/README.md b/quiz/part1/README.md index 797967c1..ded0d330 100644 --- a/quiz/part1/README.md +++ b/quiz/part1/README.md @@ -7,14 +7,15 @@ singkatnya sih disini belajar if else, namun nanti ada soal yang dimana kamu har yak Buka aja W3school dan kerjakan soal soal berikut ## Soal 1: + ```js -// 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, +// 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 +// 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! @@ -28,14 +29,14 @@ yak Buka aja W3school dan kerjakan soal soal berikut // algoritma //isi algoritma mu disini (AWAS KALO GA DI ISI!!!!) - -let nama = "", peran = ""; +let nama = "", + peran = ""; //code disini gunakan console.log untuk outputnya - ``` ## Soal 2 + ```js // 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. @@ -58,8 +59,9 @@ let tahun = 2001; // assign nilai variabel tahun disini! (dengan angka antara 19 ``` --- + video biar rada paham lah, soalnya ini awal kepahitan ngoding wkwk: [Video tutor by Harkon](https://youtu.be/-YlMePibR6Y) -*sisanya kalian googling aja ya ges yak* +_sisanya kalian googling aja ya ges yak_ diff --git a/quiz/part1/soal1.js b/quiz/part1/soal1.js new file mode 100644 index 00000000..30d6b2de --- /dev/null +++ b/quiz/part1/soal1.js @@ -0,0 +1,37 @@ +// 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 = "", + peran = ""; + + if (nama==="") { + console.log("Nama Wajib Di Isi !") + } else if (peran===""){ + console.log("Pilih Peranmu untuk memulai game") + } else if (peran=="Ksatria"){ + console.log(`halo Ksatria ${nama} , kamu dapat menyerang dengan senjatamu!`) + } else if (peran=="Tabib"){ + console.log(`halo Tabib ${nama} , kamu akan membantu temanmu yang terluka`) + } else if (peran=="Penyihir"){ + console.log(`halo Penyihir ${nama} , ciptakan keajaiban yang membantu kemenanganmu!`) + } else { + console.log(`tapi kayaknya kamu jadi bot aja ya, peran yang kamu pilih ga ada`) + } + From d16bc9485c0cdc9cfad72823f6f37d839510a6f0 Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 27 Aug 2025 19:14:38 +0700 Subject: [PATCH 2/7] perubahan soal 1(yang tadi lupa kasih value variable) --- quiz/part1/soal1.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/quiz/part1/soal1.js b/quiz/part1/soal1.js index 30d6b2de..3e9e7185 100644 --- a/quiz/part1/soal1.js +++ b/quiz/part1/soal1.js @@ -18,8 +18,8 @@ // algoritma //isi algoritma mu disini (AWAS KALO GA DI ISI!!!!) -let nama = "", - peran = ""; +let nama = "Ryan", + peran = "Tabib"; if (nama==="") { console.log("Nama Wajib Di Isi !") From 3dfa6e0574e198b7381e74f5d5f2104dca2be557 Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 27 Aug 2025 19:25:21 +0700 Subject: [PATCH 3/7] soal 2 --- quiz/part1/soal2.js | 61 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 quiz/part1/soal2.js diff --git a/quiz/part1/soal2.js b/quiz/part1/soal2.js new file mode 100644 index 00000000..2ada50bb --- /dev/null +++ b/quiz/part1/soal2.js @@ -0,0 +1,61 @@ +// 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 + +let tanggal = 6; // assign nilai variabel tanggal disini! (dengan angka antara 1 - 31) +let bulan = 10; // assign nilai variabel bulan disini! (dengan angka antara 1 - 12) +let tahun = 2025; // assign nilai variabel tahun disini! (dengan angka antara 1900 - 2200) + +//code switch case kamu disini + +switch (bulan) { + case 1: + bulan = "Januari" + break; + case 2 : + bulan = "Febuari" + break; + case 3 : + bulan = "Maret" + break; + case 4 : + bulan = "Aprli" + break; + case 5 : + bulan = "Mei" + break; + case 6 : + bulan = "Juni" + break; + case 7 : + bulan = "Juli" + break; + case 8 : + bulan = "Agustus" + break; + case 9 : + bulan = "September" + break; + case 10 : + bulan = "October" + break; + case 11 : + bulan = "November" + break; + + default: + bulan = "desember" + break; +} + +console.log(`${tanggal} ${bulan} ${tahun}`) + From 47e06a7ecc7796900605351934a166ba970b129c Mon Sep 17 00:00:00 2001 From: Ryan Date: Thu, 28 Aug 2025 15:11:16 +0700 Subject: [PATCH 4/7] push part 2 --- quiz/part2/soal1.js | 20 ++++++++++++++++++++ quiz/part2/soal2.js | 24 ++++++++++++++++++++++++ quiz/part2/soal3.js | 15 +++++++++++++++ quiz/part2/soal4.js | 23 +++++++++++++++++++++++ 4 files changed, 82 insertions(+) create mode 100644 quiz/part2/soal1.js create mode 100644 quiz/part2/soal2.js create mode 100644 quiz/part2/soal3.js create mode 100644 quiz/part2/soal4.js diff --git a/quiz/part2/soal1.js b/quiz/part2/soal1.js new file mode 100644 index 00000000..0760ef1d --- /dev/null +++ b/quiz/part2/soal1.js @@ -0,0 +1,20 @@ +//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 + +let result = word + " " + second + " " + third + " " + fourth + " " +fifth + " " + sixth + " "+seventh; +console.log(result) \ No newline at end of file diff --git a/quiz/part2/soal2.js b/quiz/part2/soal2.js new file mode 100644 index 00000000..eecd81e0 --- /dev/null +++ b/quiz/part2/soal2.js @@ -0,0 +1,24 @@ +// 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]; +let secondWord = word[4] + word[5] + word[6] + word[7] +word[8] +word[9]+word[10]+word[11]+word[12]+word[13]; +let thirdWord = word[15]+word[16]; +let fourthWord = word[18]+word[19]; +let fifthword = word[21] + word[22] + word[23]+word[24]; + +console.log('First Word: ' + exampleFirstWord); +console.log('Second Word: ' + secondWord); +console.log('Third Word: ' + thirdWord); +console.log('Fourth Word: ' + fourthWord); +console.log('Fifth Word: ' + fifthword); + + +//lanjutkan dengan struktur log diatas diff --git a/quiz/part2/soal3.js b/quiz/part2/soal3.js new file mode 100644 index 00000000..50ac5d13 --- /dev/null +++ b/quiz/part2/soal3.js @@ -0,0 +1,15 @@ +// 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); +let secondWord=word3.substring(4, 13) +let thirdWord=word3.substring(15, 17) +let fourthWord=word3.substring(18, 20) +let fifthword =word3.substring(21, 25) + +console.log('First Word: ' + exampleFirstWord3); +console.log('Second Word: ' + secondWord); +console.log('Third Word: ' + thirdWord); +console.log('Fourth Word: ' + fourthWord); +console.log('Fifth Word: ' + fifthword); \ No newline at end of file diff --git a/quiz/part2/soal4.js b/quiz/part2/soal4.js new file mode 100644 index 00000000..42650e71 --- /dev/null +++ b/quiz/part2/soal4.js @@ -0,0 +1,23 @@ +// 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 secondWord=word4.substring(4, 13) +let thirdWord=word4.substring(15, 17) +let fourthWord=word4.substring(18, 20) +let fifthword =word4.substring(21, 25) + +let firstWordLength = exampleFirstWord4.length; +let second=secondWord.length; +let third =thirdWord.length; +let fourth =fourthWord.length; +let fifth = fifthword.length; + +console.log('First Word: ' + exampleFirstWord4 + ', with length: ' + firstWordLength); +console.log('First second: ' + secondWord + ', with length: ' + second); +console.log('First third: ' + thirdWord + ', with length: ' + third); +console.log('First fourth: ' + fourthWord + ', with length: ' + fourth); +console.log('First fifth: ' + fifthword + ', with length: ' + fifth); + From a1eda0a869764a4b72529ad0a5f764cf26f5cb60 Mon Sep 17 00:00:00 2001 From: Ryan Date: Fri, 29 Aug 2025 13:09:47 +0700 Subject: [PATCH 5/7] soal part3 --- quiz/part3/soal1.js | 24 ++++++++++++++++++++++++ quiz/part3/soal2.js | 17 +++++++++++++++++ quiz/part3/soal3.js | 16 ++++++++++++++++ quiz/part3/soal4.js | 29 +++++++++++++++++++++++++++++ quiz/part3/soal5.js | 16 ++++++++++++++++ 5 files changed, 102 insertions(+) create mode 100644 quiz/part3/soal1.js create mode 100644 quiz/part3/soal2.js create mode 100644 quiz/part3/soal3.js create mode 100644 quiz/part3/soal4.js create mode 100644 quiz/part3/soal5.js diff --git a/quiz/part3/soal1.js b/quiz/part3/soal1.js new file mode 100644 index 00000000..e368fc7b --- /dev/null +++ b/quiz/part3/soal1.js @@ -0,0 +1,24 @@ +// 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 + + +// looping tambah +console.log(`ini looping pertama`) +let loopingPertama = 0 +while (loopingPertama<=5) { + console.log(`Ini Looping ke ${loopingPertama}`) + loopingPertama++ +} + +console.log('\n') + +//looping mundur +console.log(`ini looping kedua`) +let loopingKedua = 5 +while (loopingKedua>=1){ + console.log(`Ini Looping mundur ke ${loopingKedua}`) + loopingKedua-- +} diff --git a/quiz/part3/soal2.js b/quiz/part3/soal2.js new file mode 100644 index 00000000..4d3b49b8 --- /dev/null +++ b/quiz/part3/soal2.js @@ -0,0 +1,17 @@ +// 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 + +console.log(`ini looping pertama`) +for (let i = 1; i <= 5; i++) { + console.log(`ini loop ke ${i}`) +} + +console.log(`\n`) + +console.log(`ini looping kedua`) +for(let i = 5;i>=1;i--){ + console.log(`ini looping mundur ke ${i}`) +} \ No newline at end of file diff --git a/quiz/part3/soal3.js b/quiz/part3/soal3.js new file mode 100644 index 00000000..76d0b7cc --- /dev/null +++ b/quiz/part3/soal3.js @@ -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(`angka ${i} adalah angka genap`) + } else{ + console.log(`angka ${i} angka ganjil`) + } +} \ No newline at end of file diff --git a/quiz/part3/soal4.js b/quiz/part3/soal4.js new file mode 100644 index 00000000..f9731da1 --- /dev/null +++ b/quiz/part3/soal4.js @@ -0,0 +1,29 @@ + // 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. + +console.log("Kelipatan 3"); +for (let i = 1; i <= 100; i+=2) { + if (i % 3 === 0) { + console.log(`${i} kelipatan 3`); + } +} + + +console.log("\nKelipatan 6"); +for (let j = 1; j <= 100; j+=5) { + if (j % 6 === 0) { + console.log(`${j} kelipatan 6`); + } +} + + +console.log("\nKelipatan 10"); +for (let x = 1; x <= 100; x+=9) { + if (x % 10 === 0) { + console.log(`${x} kelipatan 10`); + } +} diff --git a/quiz/part3/soal5.js b/quiz/part3/soal5.js new file mode 100644 index 00000000..c1f1b3af --- /dev/null +++ b/quiz/part3/soal5.js @@ -0,0 +1,16 @@ +//hasilnya +//* +//** +//*** +//**** +//***** +let input = 5 +let s='' + +for (let i = 1; i <= input; i++) { + for (let j = 1; j <= i; j++) { + s+=`*` + } + s+=`\n` +} +console.log(s) \ No newline at end of file From 5c8c6d555aeeb24f743cc0d8b7fb482a6db5963d Mon Sep 17 00:00:00 2001 From: Ryan Date: Sat, 30 Aug 2025 08:53:38 +0700 Subject: [PATCH 6/7] push part 4 --- quiz/part4/README.md | 29 +++++++++++++++++------------ quiz/part4/soal1.js | 11 +++++++++++ quiz/part4/soal2.js | 18 ++++++++++++++++++ quiz/part4/soal3.js | 16 ++++++++++++++++ 4 files changed, 62 insertions(+), 12 deletions(-) create mode 100644 quiz/part4/soal1.js create mode 100644 quiz/part4/soal2.js create mode 100644 quiz/part4/soal3.js diff --git a/quiz/part4/README.md b/quiz/part4/README.md index 01d505eb..f9bd73f9 100644 --- a/quiz/part4/README.md +++ b/quiz/part4/README.md @@ -1,42 +1,45 @@ # Sepaham apakah kalian tentang fungsi? | Part 4 ## Soal 1 + ```js // Tugas 1 -// Buatlah sebuah fungsi bernama shoutOut(), yang mengembalikan nilai berupa "Halo Function!", +// Buatlah sebuah fungsi bernama shoutOut(), yang mengembalikan nilai berupa "Halo Function!", // yang kemudian akan ditampilkan di console. //bikin fungsinya disini console.log(shoutOut()); - // ------------------------------------ -console.log('') +console.log(""); // ------------------------------------ ``` ## Soal 2 + ```js -// Buatlah sebuah fungsi bernama calculateMultiply(), yang mengembalikan nilai berupa hasil kali dari +// Buatlah sebuah fungsi bernama calculateMultiply(), yang mengembalikan nilai berupa hasil kali dari // dua parameter yang dikirim. //bikin fungsinya disini -let num1 = 1 -let num2 = 2 +let num1 = 1; +let num2 = 2; -let hasilPerkalian = calculateMultiply(num1,num2); +let hasilPerkalian = calculateMultiply(num1, num2); console.log(hasilPerkalian); // ------------------------------------ -console.log('') +console.log(""); // ----------------------------------- ``` + ## Soal 3 + ```js -// Buatlah sebuah fungsi bernama processSentence(), yang akan memproses seluruh parameter yang diinput menjadi -// satu kalimat berikut: +// Buatlah sebuah fungsi bernama processSentence(), yang akan memproses seluruh parameter yang diinput menjadi +// satu kalimat berikut: // "Nama saya [Name], umur saya [Age] tahun, alamat saya di [Address], dan saya punya hobby yaitu [hobby]!" //bikin fungsinya disini @@ -46,8 +49,10 @@ let age = 30; let address = "Jln. Malioboro, Yogjakarta"; let hobby = "gaming"; -let fullSentence = processSentence(name,age,address,hobby); +let fullSentence = processSentence(name, age, address, hobby); console.log(fullSentence); // Menampilkan "Nama saya Agus, umur saya 30 tahun, alamat saya di Jln. Malioboro, Yogjakarta, dan saya punya hobby yaitu gaming!" ``` + --- -Materi Function: [Link](../../study-materials/part6.md) \ No newline at end of file + +Materi Function: [Link](../../study-materials/part6.md) diff --git a/quiz/part4/soal1.js b/quiz/part4/soal1.js new file mode 100644 index 00000000..b0c55cf3 --- /dev/null +++ b/quiz/part4/soal1.js @@ -0,0 +1,11 @@ +// Tugas 1 +// Buatlah sebuah fungsi bernama shoutOut(), yang mengembalikan nilai berupa "Halo Function!", +// yang kemudian akan ditampilkan di console. + +//bikin fungsinya disini + +function shoutOut() { + return `Halo Function!` +} + +console.log(shoutOut()); \ No newline at end of file diff --git a/quiz/part4/soal2.js b/quiz/part4/soal2.js new file mode 100644 index 00000000..f76ad3d1 --- /dev/null +++ b/quiz/part4/soal2.js @@ -0,0 +1,18 @@ +// Buatlah sebuah fungsi bernama calculateMultiply(), yang mengembalikan nilai berupa hasil kali dari +// dua parameter yang dikirim. + +//bikin fungsinya disini + +function calculateMultiply(angka1,angka2) { + return `hasil dari ${angka1} X ${angka2} = ${angka1*angka2}` +} + +let num1 = 1; +let num2 = 2; + +let hasilPerkalian = calculateMultiply(num1, num2); +console.log(hasilPerkalian); + +// ------------------------------------ +console.log(""); +// ----------------------------------- \ No newline at end of file diff --git a/quiz/part4/soal3.js b/quiz/part4/soal3.js new file mode 100644 index 00000000..79fbd6e2 --- /dev/null +++ b/quiz/part4/soal3.js @@ -0,0 +1,16 @@ +// Buatlah sebuah fungsi bernama processSentence(), yang akan memproses seluruh parameter yang diinput menjadi +// satu kalimat berikut: +// "Nama saya [Name], umur saya [Age] tahun, alamat saya di [Address], dan saya punya hobby yaitu [hobby]!" + +//bikin fungsinya disini +function processSentence(nama,umur,alamat,hobbys) { + return `Nama saya ${nama}, umur saya ${umur} tahun, alamat saya di ${alamat}, dan saya punya hobby yaitu ${hobby}!` +} + +let name = "Agus"; +let age = 30; +let address = "Jln. Malioboro, Yogjakarta"; +let hobby = "gaming"; + +let fullSentence = processSentence(name, age, address, hobby); +console.log(fullSentence); // Menampilkan "Nama saya Agus, umur saya 30 tahun, alamat saya di Jln. Malioboro, Yogjakarta, dan saya punya hobby yaitu gaming!" \ No newline at end of file From cbb35fe7b68473cdef790bfb7862afa55b397976 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sun, 31 Aug 2025 14:32:51 +0700 Subject: [PATCH 7/7] push soal ujian --- quiz/ujian/SoalUjian1.js | 21 +++++++++++++++++++++ quiz/ujian/SoalUjian2.js | 14 ++++++++++++++ quiz/ujian/SoalUjian3.js | 17 +++++++++++++++++ quiz/ujian/SoalUjian4.js | 26 ++++++++++++++++++++++++++ 4 files changed, 78 insertions(+) create mode 100644 quiz/ujian/SoalUjian1.js create mode 100644 quiz/ujian/SoalUjian2.js create mode 100644 quiz/ujian/SoalUjian3.js create mode 100644 quiz/ujian/SoalUjian4.js diff --git a/quiz/ujian/SoalUjian1.js b/quiz/ujian/SoalUjian1.js new file mode 100644 index 00000000..46e622b1 --- /dev/null +++ b/quiz/ujian/SoalUjian1.js @@ -0,0 +1,21 @@ +// Problem +// Diberikan sebuah function bandingkanAngka(angka1, angka2) yang menerima dua parameter angka. +// Function akan me-return nilai true jika angka2 lebih besar dari angka1, dan false jika sebaliknya. +// Jika kedua angka bernilai sama, function akan me-return -1. + +function bandingkanAngka(angka1, angka2) { + if (angka2>angka1) { + return true; + } else if ( angka1 === angka2){ + return -1; + } else { + return false; + } +} + + // TEST CASES + console.log(bandingkanAngka(5, 8)); // true + console.log(bandingkanAngka(5, 3)); // false + console.log(bandingkanAngka(4, 4)); // -1 + console.log(bandingkanAngka(3, 3)); // -1 + console.log(bandingkanAngka(17, 2)); // false \ No newline at end of file diff --git a/quiz/ujian/SoalUjian2.js b/quiz/ujian/SoalUjian2.js new file mode 100644 index 00000000..808a4eff --- /dev/null +++ b/quiz/ujian/SoalUjian2.js @@ -0,0 +1,14 @@ +// Problem +// Diberikan sebuah function balikKata(kata) yang menerima satu parameter berupa string. +// Function akan me-return kata yang dibalik. Contoh, jika kata adalah "John Doe", function akan me-return "eoD nhoJ". + +function balikKata(kata) { + return kata.split('').reverse().join(''); +} + +// TEST CASES +console.log(balikKata('Hello World and Coders')); // sredoC dna dlroW olleH +console.log(balikKata('John Doe')); // eoD nhoJ +console.log(balikKata('I am a bookworm')); // mrowkoob a ma I +console.log(balikKata('Coding is my hobby')); // ybboh ym si gnidoC +console.log(balikKata('Super')); // repuS \ No newline at end of file diff --git a/quiz/ujian/SoalUjian3.js b/quiz/ujian/SoalUjian3.js new file mode 100644 index 00000000..70f41950 --- /dev/null +++ b/quiz/ujian/SoalUjian3.js @@ -0,0 +1,17 @@ +// Problem +// Diberikan sebuah function konversiMenit(menit) yang menerima satu parameter berupa angka yang merupakan ukuran waktu +// dalam menit. Function akan me-return string waktu dalam format jam:menit berdasarkan menit tersebut. +// Contoh, jika menit adalah 63, maka function akan me-return "1:03". + +function konversiMenit(menit) { + let jam = Math.floor(menit/60); + let menitSisa = menit % 60; + return jam + ':' + (menitSisa < 10 ? '0' : '') + menitSisa; +} + +// TEST CASES +console.log(konversiMenit(63)); // 1:03 +console.log(konversiMenit(124)); // 2:04 +console.log(konversiMenit(53)); // 0:53 +console.log(konversiMenit(88)); // 1:28 +console.log(konversiMenit(120)); // 2:00 \ No newline at end of file diff --git a/quiz/ujian/SoalUjian4.js b/quiz/ujian/SoalUjian4.js new file mode 100644 index 00000000..6c00e4dc --- /dev/null +++ b/quiz/ujian/SoalUjian4.js @@ -0,0 +1,26 @@ +// Problem +// Diberikan sebuah function xo(str) yang menerima satu parameter berupa string. +// Function akan me-return true jika jumlah karakter x sama dengan jumlah karakter o, dan false jika tidak. + +function xo(str) { + let x = 0; + let o = 0; + + for (let i = 0; i < str.length; i++) { + if (str[i].includes('x')) { + x++ + } else { + o++ + } + + } + + return x==o ? true : false; +} + +// TEST CASES +console.log(xo('xoxoxo')); // true +console.log(xo('oxooxo')); // false +console.log(xo('oxo')); // false +console.log(xo('xxxooo')); // true +console.log(xo('xoxooxxo')); // true \ No newline at end of file