Skip to content

Instantly share code, notes, and snippets.

@kubil-ismail
Created February 9, 2025 04:20
Show Gist options
  • Save kubil-ismail/210264972f59a0efe8107cd08df2dc93 to your computer and use it in GitHub Desktop.
Save kubil-ismail/210264972f59a0efe8107cd08df2dc93 to your computer and use it in GitHub Desktop.
Test Case
/*
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