Tuesday, March 18, 2025
spot_img
HomeTrendingThom Haye Bikin Assist, Imbang Lawan Klub Verdonk

Thom Haye Bikin Assist, Imbang Lawan Klub Verdonk

Sudahkan kamu membaca informasi mengenai topik yang sedang tren saat ini?, kami ingin membagikan artikel ini yang membahas Thom Haye Bikin Assist, Imbang Lawan Klub Verdonk. Artikel yang kami sadur dari sumber berikut:


Lihat Foto

Aksi pemain Timnas Indonesia Thom Haye pada laga Indonesia vs Jepang di Stadion Utama Gelora Bung Karno, Jakarta, pada Jumat (15/11/2024). (KOMPAS.com/Adil Nursalam)

Aksi pemain Timnas Indonesia Thom Haye pada laga Indonesia vs Jepang di Stadion Utama Gelora Bung Karno, Jakarta, pada Jumat (15/11/2024).

KOMPAS.com – Laga NEC vs Almere menampilkan duel dua pemain timnas Indonesia Calvin Verdonk dan Thom Haye. Laga tuntas 2-2 dan Thom Haye bikin satu assist.

Laga pekan ke-23 Liga Belanda 2024-2025 antara NEC vs Almere digelar di Gofferstadion, Minggu (16/2/2025)

Pada awal babak pertama, segala sesuatunya seperti berjalan sesuai skenario tim tuan rumah NEC Nijmegen.

Klub yang dibela bek sayap timnas Indonesia, Calvin Verdonk, itu langsung bisa menciptakan keunggulan pada menit ketiga, melalui Sami Ouaissa.

Baca juga: Thom Haye dan Almere City Ciptakan Kejutan di Utrecht

Awalnya, Almere City yang mengandalkan Thom Haye di sektor tengah terlihat nyaman menguasai bola.

Artikel Kompas.id

${response.judul}

`;
document.querySelector(‘.kompasidRec’).innerHTML = htmlString;
} else {
document.querySelector(“.kompasidRec”).remove();
}
} else {
document.querySelector(“.kompasidRec”).remove();
}
}
});
xhr.open(“GET”, endpoint);
xhr.send();

Akan tetapi melalui skema serangan balik pertama, NEC Nijmegen mampu memberikan pukulan untuk Almere.

Sami Ouaissa menjadi muara dari proses serangan balik itu. Sempat ada dugaan bola menyentuh tangan Ouaissa sebelum masuk gawang.

Namun, VAR (Video Assistant Referee) memastikan gol itu sah sehingga NEC bisa membuka keunggulan 1-0.

Baca juga: Calvin Verdonk Ukir Assist untuk NEC, Sepekan Setelah Repotkan PSV

Pada menit kesembilan, Almere memberikan respons melalui Thom Haye. Cuma, sepakan jarak jauhnya masih bisa diamankan penjaga gawang NEC. 

Almere City pada akhirnya bisa menyamakan kedudukan pada babak pertama. Operan silang Thom Haye sukses ditanduk masuk oleh pemain asal Spanyol, Ricardo Visus.

Skor menunjuk angka 1-1 pada saat masa turun minum tiba. Pada babak kedua, Almere City mampu membalikkan keadaan menjadi 2-1 buat keunggulan mereka.

Sepakan Hamdi Akujobi (74′) yang bersarang ke pojok gawang NEC Nijmegen menegaskan kebangkitan Almere City.

Namun, pada masa injury time NEC mengamankan hasil seri 2-2 setelah Vito van Crooij (90+4′) bikin gol penyama kedudukan via sundulan kepala.

Simak breaking news dan berita pilihan kami langsung di ponselmu. Pilih saluran andalanmu akses berita Kompas.com WhatsApp Channel : https://www.whatsapp.com/channel/0029VaFPbedBPzjZrk13HO3D. Pastikan kamu sudah install aplikasi WhatsApp ya.


Simpan artikel


Tidak tertarik


Tutup

`);
var wSpecStop = createElementFromHTML(`

Konten disembunyikan.
Muat ulang halaman untuk perbarui rekomendasi.
Urungkan

`);
reactionPopup.querySelector(‘.buttonShare’).setAttribute(‘data-title’, item.title);
reactionPopup.querySelector(‘.buttonShare’).setAttribute(‘data-url’, itemUrl);
reactionPopup.querySelector(‘.buttonShare’).setAttribute(‘data-campaign’, ‘AIML_Widget_Desktop’);

let userFeedback = new UserFeedback(resultObj.engine[‘tracker_algsrc’], itemUrl + tracker_params, jxRecHelper, index);

reactionPopup.querySelector(‘.buttonBookmark’).addEventListener(‘click’, function() {
do_bookmark(itemUrl, index, userFeedback);
});

reactionPopup.querySelector(‘.buttonShare’).addEventListener(‘click’, function() {
userFeedback.event(‘share’);
});

reactionPopup.querySelector(‘.buttonNotInterest’).addEventListener(‘click’, function() {
if (getCookie(‘kmps_usrid’)) {
hideThisArt(this);
userFeedback.event(‘not-interested’);
} else {
const parentAction = this.parentElement.parentElement.parentElement
if (!!parentAction) {
let indexElement = parentAction.getAttribute(‘data-index’)
if (indexElement != ‘undefined’) {
localStorage.setItem(‘reaction_not_interest_temp’, JSON.stringify({
urlpage: items[indexElement].url
}))
}
}
window.location.href = “https://account.kompas.com/login/a29tcGFz/” + btoa(window.location.href);
}
});

/**
* trigger action “userFeedback” that user not interest item before, when not interest without login
*/
if (getCookie(‘kmps_usrid’) && localStorage.getItem(‘reaction_not_interest_temp’)) {
const tempUrlNotInterest = JSON.parse(localStorage.getItem(‘reaction_not_interest_temp’))
if (itemUrl == tempUrlNotInterest.urlpage) {
userFeedback.event(‘not-interested’);
localStorage.removeItem(‘reaction_not_interest_temp’);
}
}

wSpecStop.querySelector(‘.wSpec-stop-undo’).addEventListener(‘click’, function() {
showThisArt(this);
userFeedback.event(‘un-not-interested’);
});

recItem.appendChild(buttonOption);
recItem.appendChild(reactionPopup);
recItem.appendChild(wSpecStop);
}

var recItemWrapperA = createElement(‘a’, null, null, null);
recItemWrapperA.setAttribute(‘href’, itemUrl + tracker_params);

var titleDiv = createElement(‘h4’, null, null, [cssClasses.title]);
var titleTextNode = document.createTextNode(item.title);
if (item.itemType == ‘video’) {
var iconVideo = createElement(‘div’, null, null, [‘icoInline’, ‘icoVideo’]);
iconVideo.style.marginRight=”5px”;
titleDiv.appendChild(iconVideo);
}
titleDiv.appendChild(titleTextNode);

var sourceDiv = null;
if (item.hasOwnProperty(‘method’)) {
sourceDiv = createElement(‘div’, null, null, [cssClasses.source], resultObj.engine[‘type’] + ‘ . ‘ + item.method.toUpperCase());
} else {
var sourceDiv = createElement(‘div’, null, null, [cssClasses.source], resultObj.engine[‘type’]);
}

var textWrapper = createElement(‘div’, null, null, [cssClasses.text_wrapper]);
textWrapper.appendChild(categoryDiv);
textWrapper.appendChild(titleDiv);
textWrapper.appendChild(sourceDiv);

recItemWrapper.appendChild(imgWrapper);
recItemWrapper.appendChild(textWrapper);

recItemWrapperA.appendChild(recItemWrapper);

recItem.appendChild(recItemWrapperA);

widgetWrapper.appendChild(recItem);
// hook up the click handler for this item
// recItem.onclick = handleClick.bind(null, jxRecHelper, itemUrl + tracker_params, index);
recItemWrapperA.onclick = handleClick.bind(null, jxRecHelper, itemUrl + tracker_params, index);
});
} // end while
var endDate = new Date();
var loadtime = (endDate.getTime() – startDate.getTime());
trackEventGa(‘AIML Article Recommendation’, ‘Content Loaded’, ‘algsrc=”+algsrc+”,site=BOLA,device=desktop,loadtime=” + loadtime)

let domain = window.location.hostname;
if(domain==”www.kompas.com’){
var url=window.location.href.split(“/”);
domain=url[2]+’/’+url[3]
}
let user_subs_type = “Gues”;
let subs_type = “”;
let is_lgn = 0;
let engine = algsrc;
if(getCookie(‘kmps_usrid’)){is_lgn=1};
let time_load = loadtime;

resolve();

/***
* JXRECSDK NOTES 3 of 5 –
* pass all the info about the items to the rec helper
* each one is an object: ALL MANDATORY
* div
* id
* pos
*/
jxRecHelper.items(widgetItemArr);
/***
* JXRECSDK NOTES 4 of 5 –
* Call the ready() of the helper object when the recommendation
* results have been populated to the widget
* (This will register the action=ready event)
*/
if (resultObj.engine[‘type’] == ‘api-1’) {
jxRecHelper.ready(resultObj.options.algo + “:” + resultObj.options.version);
} else {
jxRecHelper.ready(resultObj.engine[‘type’]);
}
} else {
jxRecHelper.error(204);
console.error(“Error: no recommendation items”);
return;
}
} catch (err) {
jxRecHelper.error(901);
console.log(err.stack);
let domain = window.location.hostname;
if(domain==’www.kompas.com’){
var url=window.location.href.split(“/”);
domain=url[2]+’/’+url[3]
}
let user_subs_type = “Gues”;
let subs_type = “”
let is_lgn = 0;
let engine = algsrc;
if(getCookie(‘kmps_usrid’)){is_lgn=1};
let endDate = new Date();
let time_load = (endDate.getTime() – startDate.getTime());
}
});
}

const _jxRecSdkURL = ‘https://kgdata-cdn.s3.ap-southeast-1.amazonaws.com/tracker/p/kompasreco/oval_web_analytics_latest.js’;
var startDate = new Date();
class OneWidget {
constructor() {
//this is also the one we will pass to the JX rec helper object when
//we instantiate it:
//In this implementation most of these come from the options obj
//on the publisher page.
this._options = {
accountid: ‘9262bf2590d558736cac4fff7978fcb1’,
pageurl: ‘https://bola.kompas.com/read/2025/02/16/20172658/nec-vs-almere-2-2-thom-haye-bikin-assist-imbang-lawan-klub-verdonk’,
widget_id: ‘1000183-6xWeiWZFIM’,
type: ‘pages’,
container: ‘rekomendasi-konten-pilihan-untukmu-aiml’,
keywords: content_tags,
title: title,
customid: “8”,
count: 14,
};
this._containerId = this._options.container;
this._container = document.getElementById(this._containerId);
this._engines = [{“url”:”https:\/\/recommendation.jixie.media\/v1\/recommendation”,”method”:”GET”,”pageurl”:”https:\/\/bola.kompas.com\/read\/2025\/02\/16\/20172658\/nec-vs-almere-2-2-thom-haye-bikin-assist-imbang-lawan-klub-verdonk”,”system”:”jx”,”type”:”api-1″,”tracker_params”:”?source=widgetML”,”tracker_algsrc”:”V”,”count”:14,”page_status”:”read”,”excludeitemids”:”2025021620172658″}];
}
kickOff() {
startDate = new Date();
const rand = Math.floor(Math.random() * 1000);
/*const randSystem = Math.floor(Math.random() * 3);
this._engine = this._engines[randSystem]
if (location.hostname.indexOf(‘lestari’) != -1) {
this._engine = this._engines[1]
}*/
this._engine = this._engines[0];
this._options.system = this._engine[‘system’]
trackEventGa(‘AIML Article Recommendation’, ‘Widget load’, ‘algsrc=” + this._engine[“tracker_algsrc’] + ‘,site=BOLA,device=desktop’)
let promJXSDK = fetchJSFileP(_jxRecSdkURL);
let thisObj = this;

// first we wait on the JX REC SDK to be loaded and initialized
let recHelperObj = null;
let recResults = null;
promJXSDK
.then(function() {
/***
* JXRECSDK NOTES 1 of 5 – INSTANTIATION OF A JX REC HELPER OBJECT
* Call this AFTER JX REC SDK is loaded but BEFORE you call your REC
* backend.
*
* param: MANDATORY options object
* options object must at a minimal have
* accountid: get from jixie
* widgetid: get from jixie
* container: DIV ID of the destination div to house the widget
* (for jixie widget this is just the options object passed from the page)
*
* (This will also register the action=load event)
*/
recHelperObj = jxRecMgr.createJxRecHelper(thisObj._options);

let basicInfo = thisObj._options;
basicInfo.engine = thisObj._engine

if (basicInfo.engine.type == ‘api-1’) {
var options = {
count: basicInfo[‘count’],
adpositions: “”,
keywords: basicInfo[‘keywords’],
title: basicInfo[‘title’],
date_published: “2025-02-16”,
pagecategory: “BOLA”,
algo: “mixed”
};

if(getCookie(‘kmps_usrid’)){

var kg = {
pagetype:basicInfo.engine.page_status,
uid:getCookie(‘kmps_usrid’),
ukid:getCookie(‘kmp_uid’)
}

if(basicInfo.engine.page_status==’read’){
kg[‘excludeitemids’] = basicInfo.engine.excludeitemids;
kg[‘multiFormat’] = true;
}

options[‘additional’] = {
kg:kg
};
}
return recHelperObj.getJxRecommendations(options);
} else {
return fetchRecommendationsP(basicInfo, recHelperObj.getJxUserInfo());
}
})
.then(function(resp) {
if (thisObj._engine.type == ‘api-3’) {
recResults = new Object
recResults.items = resp.docs.result;
} else {
recResults = resp;
}
recResults.engine = thisObj._engine;
if (!resp || !recResults.items || recResults.items.length == 0) {
/***
* JXRECSDK NOTES 2 of 5 –
* Call the error() function on the recHelper when either an error
* has occured in the fetching or there are no recommended items
*
* (This will register the action=error event)
*/
recHelperObj.error(204);
throw “no recommendation results”;
}
})
.then(function() {
// everything is ready (recommendation results, css):
document.getElementById(“rekomendasi-konten-pilihan-untukmu-aiml”).classList.remove(“-loading”);
document.querySelector(‘.wSpec-list’).remove();
createDisplay(rand, thisObj._container, recResults, recHelperObj)
.then(function() {
toggleDropdown();

//observe lozad
lozad(‘.lozad’, {
load: function(el) {
el.src = el.dataset.src;
el.onload = function() {
el.classList.add(‘fade’)
}
}
}).observe()
})
})
.catch(function(error) {
console.log(`Unable to create recommendations widget ${error.stack} ${error.message}`);
});
}
}

var limit_gtm_ready = 1;

function check_gtm_ready() {
if (‘ga’ in window) {
// create a new instance of our widget based on the options
const newW = new OneWidget();
newW.kickOff();
} else {
const timeout_gtm_ready = setTimeout(check_gtm_ready, 500)
limit_gtm_ready += 1;
if (limit_gtm_ready > 10) {
clearTimeout(timeout_gtm_ready);
const newW = new OneWidget();
newW.kickOff();
}
}
}

check_gtm_ready()

document.querySelector(‘.wSpec-secret’).addEventListener(‘click’, function(e) {
e.preventDefault();
let wSl = document.querySelectorAll(‘.wSpec-source’);
if (wSl.length > 0) {
for (let i = 0; i {
el.addEventListener(‘click’, function() {
el.parentElement.classList.toggle(‘-active’)
let saved = el.parentElement.getAttribute(‘data-saved’)
let kmps_usrid = getCookie(‘kmps_usrid’);

if (kmps_usrid && !saved && el.parentElement.classList.contains(‘-active’)) {
let url = el.parentElement.getAttribute(‘data-url’);
let guid = get_guid(url);
check_bookmark(
kmps_usrid,
guid
).then(function(resp) {
if (resp.hasOwnProperty(‘total_data’)) {
if (resp.total_data > 0) {
el.parentElement.querySelector(‘.buttonBookmark’).classList.add(‘-active’);
el.parentElement.querySelector(‘.buttonBookmark’).innerHTML = ‘Hapus dari tersimpan’;
el.parentElement.setAttribute(‘data-saved’, ‘true’);
} else {
el.parentElement.setAttribute(‘data-saved’, ‘false’);
}
}
})
}
})
document.addEventListener(“click”, function(e) {
// console.log(e.target)
if (el.contains(e.target)) {
// console.log(tdd)
} else {
el.parentElement.classList.remove(‘-active’)
}
});
});
}
}

function check_bookmark(kmps_usrid, guid) {
let url = `https://api.kompas.com/2021/reaction/bookmark/list?kmps_usrid=${kmps_usrid}&guid=${guid}`;
return new Promise(function(resolve, reject) {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
resolve(JSON.parse(this.responseText))
}
};
xmlhttp.open(“GET”, url, true);
xmlhttp.send();
});
}

function do_bookmark(pageurl, pos, userFeedback) {
const wSpecItem = document.querySelector(`.wSpec-item[data-index=”${pos}”]`);
const btnBookmark = wSpecItem.querySelector(‘.buttonBookmark’);
const kmps_usrid = getCookie(‘kmps_usrid’);
const guid = get_guid(pageurl);
const type = pageurl.match(/\/watch\/(\d+)/) ? ‘video’ : ‘article’;

if (kmps_usrid) {
if (btnBookmark.classList.contains(‘-active’)) {
set_unbookmark({
guid: guid,
kmps_usrid: kmps_usrid,
type: type
}).then(function(resp) {
btnBookmark.classList.remove(‘-active’);
btnBookmark.innerHTML = ‘Simpan artikel’;
reactionToast(‘Artikel berhasil dihapus dari list yang disimpan’);
userFeedback.event(‘un-save’);

}).catch(function(resp) {
// message: “Data doesn’t exists”
if (resp.hasOwnProperty(‘message’) && resp.message.includes(‘exist’)) {
btnBookmark.classList.remove(‘-active’);
btnBookmark.innerHTML = ‘Simpan artikel’;
reactionToast(‘Artikel berhasil dihapus dari list yang disimpan’);
}
})
} else {
const user_bookmark_url = “https://activity.kompas.com/saved?order=desc”;
set_bookmark({
guid: guid,
kmps_usrid: kmps_usrid,
type: type,
publisher: ‘kompas’,
platform: ‘desktop’
}).then(function(resp) {
btnBookmark.classList.add(‘-active’);
btnBookmark.innerHTML = ‘Hapus dari tersimpan’;
reactionToast(‘Artikel berhasil disimpan’, user_bookmark_url);
userFeedback.event(‘save’);
}).catch(function(resp) {
// message: “Data already exist”
if (resp.hasOwnProperty(‘message’) && resp.message.includes(‘exist’)) {
btnBookmark.classList.add(‘-active’);
btnBookmark.innerHTML = ‘Hapus dari tersimpan’;
reactionToast(‘Artikel berhasil disimpan’, user_bookmark_url);
}
})
}
} else {
const login_url = “https://account.kompas.com/login/a29tcGFz/” + btoa(window.location.href);
window.location.href = login_url;
}
}

function set_bookmark(data) {
const url = “https://api.kompas.com/2021/reaction/bookmark/add”;
return new Promise(function(resolve, reject) {
const xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 201) {
resolve(JSON.parse(this.responseText));
} else if (this.readyState == 4 && this.status == 400) {
reject(JSON.parse(this.responseText));
}
};
xmlhttp.open(“POST”, url, true);
xmlhttp.setRequestHeader(“Content-Type”, “application/x-www-form-urlencoded;charset=UTF-8”);
xmlhttp.send(formBody(data));
});
}

function set_unbookmark(data) {
const url = “https://api.kompas.com/2021/reaction/bookmark/delete”;
return new Promise(function(resolve, reject) {
const xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
resolve(JSON.parse(this.responseText));
} else if (this.readyState == 4 && this.status == 400) {
reject(JSON.parse(this.responseText));
}
};
xmlhttp.open(“POST”, url, true);
xmlhttp.setRequestHeader(“Content-Type”, “application/x-www-form-urlencoded;charset=UTF-8”);
xmlhttp.send(formBody(data));
});
}

class UserFeedback {

constructor(engine, pageurl, jxRecHelper, pos) {
this.engine = engine;
this.pageurl = pageurl;
this.jxRecHelper = jxRecHelper;
this.pos = pos;
}

event(feedback) {
if (this.engine == ‘C’) {
const xmlhttp = new XMLHttpRequest();
let params = {
domain: ‘kompas.com’,
ce_userid: getCookie(‘kmps_usrid’),
ce_sessionid: getCookie(‘ukid’),
ce_pageurl: this.pageurl,
engine: ‘C’,
ce_feedback: feedback
}
xmlhttp.open(“GET”, ‘https://apis.kgdata.dev/v1/aiml/feedback-widgetml’ + formatParams(params));
xmlhttp.send();
} else if (this.engine == ‘V’) {
if (feedback == ‘share’) {
this.jxRecHelper.shared(this.pos);
} else if (feedback == ‘save’) {
this.jxRecHelper.bookmarked(this.pos);
} else if (feedback == ‘not-interested’) {
this.jxRecHelper.hidden(this.pos);
} else if (feedback == ‘un-not-interested’) {
this.jxRecHelper.unhidden(this.pos);
}
}
}
}

function formatParams(params) {
return “?” + Object
.keys(params)
.map(function(key) {
return key + “=” + encodeURIComponent(params[key])
})
.join(“&”)
}

document.addEventListener(“click”, function(e){
let dx = document.querySelectorAll(‘[data-dropdown]’)
if(dx) {
dx.forEach(function(el){
if(el.contains(e.target)) {
el.parentElement.classList.toggle(‘-active’)
} else {
el.parentElement.classList.remove(‘-active’)
}
})
}
})

Sebagai penutup, kami harap artikel ini memberikan wawasan yang bermanfaat dan memperkaya pemahaman Anda tentang Thom Haye Bikin Assist, Imbang Lawan Klub Verdonk.

Jangan ragu untuk mengunjungi Sumber Berita untuk informasi lebih lanjut dan pembaruan terkini

Kami juga mendorong Anda untuk berbagi pendapat atau pertanyaan melalui komentar di bawah, atau membaca artikel terkait lainnya yang telah kami sajikan.

Author

RELATED ARTICLES
- Advertisment -spot_img

Most Popular

Recent Comments