You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
1. Tulislah fungsi isPalindrom menerima string sebagai argument. Fungsi ini membersihkan string dari karakter non-alfanumerik, mengubahnya menjadi huruf kecil, dan kemudian memeriksa apakah string yang dibalik sama dengan string aslinya
functionisPalindrom(str){str=str.toLowerCase();constalphanumericsChars='abcdefghijklmnopqrstupwxyz0123456789';letcleanStr='';for(leti=0;i<str.length;i++){if(alphanumericsChars.includes(str[i])){cleanStr+=str[i];}else{alert('ini bukan palindrom');}}returncleanStr===cleanStr.split('').reverse().join('');}console.log(isPalindrom('katak'));
cara lain:
// pakai regexfunctionisPalindrom(str){// Menghapus karakter non-alfanumerik dan mengonversi ke huruf kecilstr=str.replace(/[^a-zA-Z0-9]/g,'').toLowerCase();// Memeriksa apakah string yang dibalik sama dengan string aslinyareturnstr===str.split('').reverse().join('');}
functiongenerateFibonnacci(n){letnum_Fibonannacci=[];letn1=0;letn2=1;for(leti=0;i<=n;i++){num_Fibonannacci.push(n1);lettotal=n1+n2;n1=n2;n2=total;}returnnum_Fibonannacci;}console.log(generateFibonnacci(10))
cara lain:
// pakai spread operator dan perulanganletnum_Fibonannacci=[];letn1=0;letn2=1;for(leti=0;i<=10;i++){if(i===0||i===1){num_Fibonannacci=[...num_Fibonannacci,i];}else{lettotal=n1+n2;num_Fibonannacci=[...num_Fibonannacci,total];n1=n2;n2=total;}}console.log(num_Fibonannacci);
3. Tulislah perulangan yang memisahkan angka genap dan ganjil sampai 100 kmmbalikan hasilnya
// menggunakan if else dan spread operatorfor(){//code}console.log({ num_Genap, num_Ganjil });expectednum_genap : 0,2,4,6,8,..,num_ganjil: 1,3,5,7,9,11,13,..
Solution
// menggunakan if else dan spread operatorletnum_Ganjil=[];letnum_Genap=[];for(leti=0;i<=100;i++){if(i%2==0){num_Genap=[...num_Genap,i];}else{num_Ganjil=[...num_Ganjil,i];}}console.log({ num_Genap, num_Ganjil })
cara lain:
// menggunakan ternary dan method pushletnum_Ganjil=[];letnum_Genap=[];for(leti=0;i<=100;i++){i%2==0 ? num_Genap.push(i) : num_Ganjil.push(i);}console.log({ num_Genap, num_Ganjil })
4. Tulislah perulangan menampilkan bilangan prima
// menggunakan if else dan spread operatorfor(){//code}console.log(num_Prima);expected2,3,5,7,11,13,17,19,...
Solution
// menggunakan if else dan spread operatorletnum_Prima=[];for(leti=1;i<=100;i++){letbill=0;for(a=1;a<=i;a++){if(i%a==0){bill=bill+1;}}if(bill==2){num_Prima=[...num_Prima,i];}}console.log(num_Prima);
5. Tulislah perulangan yang menampilkan data array yang double
constdataArray=[9,3,6,4,2,5,6,3,1,2,7,8,8,6,5,22,7];letnum_Array=[];letnum_Count='';for(leti=0;i<dataArray.length;i++){lettampil=false;for(leta=0;a<num_Array.length;a++){if(dataArray[i]==num_Array[a]){tampil=true;}}if(!tampil){num_Array=[...num_Array,dataArray[i]];lettotal_Muncul=0;for(e=0;e<dataArray.length;e++){if(dataArray[i]==dataArray[e]){total_Muncul=total_Muncul+1;}}num_Count+=`angka ${dataArray[i]} sebanyak ${total_Muncul} \n`;}}console.log(num_Array);console.log(num_Array.length);caralaindengansedikitmemakaiperulanganloopingconstdataArrayy=[9,3,6,4,2,5,6,3,1,2,7,8,8,6,5,22,7];constnumCount={};constnumArray=[];for(leti=0;i<dataArray.length;i++){constnum=dataArray[i];if(!numCount[num]){numCount[num]=1;numArray.push(num);}else{numCount[num]++;}}console.log(numArray);
6. Tulislah fungsi yang menampilkan kata yang dibalik (reverse)
functionbalikKata(kata){//code}console.log(balikKata('beca di jalan malioboro'));expectedoroboilamnalajaceb
Solution
functionbalikKata(kata){returnkata.split('').reverse().join('');}console.log(balikKata('beca di jalan malioboro'));
10. Tulislah fungsi TwoSum jika arraynya adalah [3, 5, 2, -4, 8, 11] dan jumlahnya 7, program Anda harus mengembalikan [[11, -4], [2, 5]] karena 11 + -4 = 7 dan 2 + 5 = 7
// fungsi penjumlahan dua kita yang akan dikembalikan// semua pasangan dalam array yang berjumlah SfunctiontwoSum(arr,S){varsums=[];// periksa setiap elemen dalam arrayfor(vari=0;i<arr.length;i++){// tentukan apakah kedua elemen ini berjumlah Sfor(varj=i+1;j<arr.length;j++){// tentukan apakah kedua elemen ini berjumlah Sif(arr[i]+arr[j]===S){sums.push([arr[i],arr[j]]);}}}// mengembalikan semua pasangan bilangan bulat yang berjumlah Sreturnsums;}console.log(twoSum([3,5,2,-4,8,11],7))