Created
February 9, 2025 04:20
-
-
Save kubil-ismail/210264972f59a0efe8107cd08df2dc93 to your computer and use it in GitHub Desktop.
Test Case
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
1. Buatlah fungsi dengan parameter berapa banyak angka yg akan ditampilkan secara looping, dimana jika angka tersebut | |
habis dibagi 3 cetak "fish" jika habis dibagi 5 cetak "bash" dan jika habis dibagi 15 cetak "fish bash", cetak cukup | |
salah satu dari kondisi tersebut, cetak menggunakan console log atau sejenisnya. | |
*/ | |
const printNumbers = (maxNumber) => { | |
// Menggunakan for loop untuk iterasi dari 1 hingga 'maxNumber' | |
for (let currentNumber = 1; currentNumber <= maxNumber; currentNumber++) { | |
// Memeriksa kondisi dan mencetak hasil sesuai dengan pembagian | |
if (currentNumber % 15 === 0) { | |
console.log(`${currentNumber} = fish bash`); | |
} else if (currentNumber % 3 === 0) { | |
console.log(`${currentNumber} = fish`); | |
} else if (currentNumber % 5 === 0) { | |
console.log(`${currentNumber} = bash`); | |
} else { | |
console.log(currentNumber); | |
} | |
} | |
}; | |
// Contoh penggunaan fungsi | |
printNumbers(20); | |
/* | |
2. Buatlah fungsi dengan input array integer untuk mengurutkan angka dari kecil kebesar dan besar kekecil dengan manual | |
tanpa fungsi bawaan javascript | |
*/ | |
const sortArray = (numbers, order = 'asc') => { | |
const arrayLength = numbers.length; | |
// Bubble sort untuk mengurutkan berdasarkan order (ascending atau descending) | |
for (let currentIndex = 0; currentIndex < arrayLength - 1; currentIndex++) { | |
for (let nextIndex = 0; nextIndex < arrayLength - 1 - currentIndex; nextIndex++) { | |
// Tentukan arah pengurutan berdasarkan parameter order | |
if ((order === 'asc' && numbers[nextIndex] > numbers[nextIndex + 1]) || | |
(order === 'desc' && numbers[nextIndex] < numbers[nextIndex + 1])) { | |
// Tukar nilai numbers[nextIndex] dan numbers[nextIndex + 1] | |
[numbers[nextIndex], numbers[nextIndex + 1]] = [numbers[nextIndex + 1], numbers[nextIndex]]; | |
} | |
} | |
} | |
return numbers; | |
}; | |
// Contoh penggunaan | |
console.log(sortArray([5, 2, 8, 1, 4], 'asc')); // Output: [1, 2, 4, 5, 8] | |
console.log(sortArray([5, 2, 8, 1, 4], 'desc')); // Output: [8, 5, 4, 2, 1] | |
/* | |
3. Buatlah fungsi dengan input string jika string tersebut dibalik dan tetap sama dengan string yang diinputkan maka | |
return true jika tidak return false | |
*/ | |
const isPalindrome = (str) => { | |
// Mengubah string menjadi huruf kecil untuk perbandingan yang tidak terpengaruh kapitalisasi | |
const normalizedStr = str.toLowerCase(); | |
// Menyusun string terbalik secara manual | |
let reversedStr = ''; | |
for (let i = normalizedStr.length - 1; i >= 0; i--) { | |
reversedStr += normalizedStr[i]; | |
} | |
// Membandingkan string asli dengan yang dibalik | |
return normalizedStr === reversedStr; | |
}; | |
// Contoh penggunaan | |
console.log(isPalindrome('Madam')); // Output: true | |
console.log(isPalindrome('Hello')); // Output: false |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment