Postingan

Menampilkan postingan dari Mei, 2024

Menyembunyikan Failed Load Images di Blogger

Gambar
Salah satu cara untuk menyembunyikan gambar yang tidak dapat di load pada suatu halaman Blogger adalah menggunakan fungsi remove element Javascript. Namun cara ini tidak penulis jamin dapat berjalan disemua browser. Setidaknya, dapat mempercantik tampilan posting yang hanya menggunakan gambar thumbnail dari Youtube. Dibawah ini adalah kode Javascript dan bagaimana menambahkan di Blogger. Kode <script> var imgs=document.getElementsByTagName("img"); for(var i=0,j=imgs.length;i<j;i++){ imgs[i].onerror = function(e){ this.parentNode.removeChild(this); } } </script> Demo

Generate Karakter Acak dan Menempatkannya di Sel Google Sheets dengan Apps Script

Gambar
Untuk menandai sel dengan susunan karakter random, yang mana kursor mouse sedang menandainya di sel tersebut pada Google Sheets, kita dapat menggunakan mengunakan Apps Script berikut ini: Kode function onOpen() { const ui = SpreadsheetApp.getUi(); const menu = ui.createMenu("Keperluan"); menu.addItem("Generate Random", "createRandom"); menu.addToUi(); } function makeRandomChar(length) { var result = ""; const characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@"; let counter = 0; while (counter < length) { result += characters.charAt(Math.floor(Math.random() * characters.length)); counter += 1; } return result; } function generateRandom() { return makeRandomChar(10+Math.floor(Math.random() *40)); } function createRandom() { var sheet=SpreadsheetApp.getActive(); sheet.getActiveSheet().getCurrentCell().setValue(""+generateRandom()); } Kode d

Kode Apps Script MailApp untuk Form Mengirimkan Email

Gambar
Terkadang kita membutuhkan untuk mengirimkan email kepada pengguna web site secara langsung, tanpa harus membuka email itu sendiri. Untuk web apps yang dibangun menggunakan Apps Script, sangat dimudahkan, dengan menggunakan fungsi MailApp untuk mengirimkan email menggunakan akun Google kita. Maka, berikut ini ada video demo bagaimana membuat form sederhana, yang berfungsi untuk mengirimkan email ke pengguna secara langsung, tanpa harus membuka email. Demo Kode file .gs function processEmailToUser(recipient,subject,pesan) { var datum={}; var bool=sendEmailToUser(recipient,subject,pesan); if(bool){ datum["status"]=1; }else{ datum["status"]=0; datum["error"]="Gagal mengirimkan email"; } return datum; } function sendEmailToUser(recipient,subjecto,pesan) { try { MailApp.sendEmail({ to: recipient, subject: subjecto, htmlBody: pesan }); return true; } catch (e) { return false; } } file .html      func

Apps Script untuk Mengirimkan Notifikasi Approval

Gambar
Berikut ini kode Apps Script untuk mengirimkan email approval berdasarkan input dari pengguna: Kode function onOpen() { const ui = SpreadsheetApp.getUi(); const menu = ui.createMenu("Administrasi"); menu.addItem("Kirim Email Approval", "openFormEmail"); menu.addToUi(); } function openFormEmail() { var target = SpreadsheetApp.openById("--ID Sheet--"); var ss=target.getSheetByName("Instansi"); ss.getRange("A2:F").getValues().map(function(row,index){ if(row[0]!="" && row[0]!="Passed"){ var subject="Pengajuan Instansi "+row[3]+" "+row[0]; var pesan="Yth. "+row[2]+"<br/><br/>Terkait pengajuan nama instansi dengan:<br/><br/>"; pesan+="Nama: "+row[3]+"<br/>"; pesan+="Alamat: "+row[4]+"<br/><br/>"; if(row[0]=="Approved"){

Apps Script untuk Cetak Sertifikat

Gambar
Tutorial pembuatan sertifikat menggunakan Google Docs, Sheets dan Apps Script teleh penulias buat dalam video di bawah ini: Sedangkan berikut ini adalah kode Apps Script yang penulis gunakan di dalam tutorial di atas: function onOpen() { const ui = SpreadsheetApp.getUi(); const menu = ui.createMenu("Cetak Sertifikat"); menu.addItem("Cetak Sertifikat", "generateMode"); menu.addToUi(); } function generateMode() { var idtemplate="1qseLMkdYIzmx0rhkKELF0xxlsD13CS1eCk0MlcTKt_g"; var idtarget="1ZLNksdiilEc0mQ88WOfAuU8_JcMVcO6ewXuJes-UU9I"; var ss = SpreadsheetApp.openById("1j1TArXYzRlVGvB9q7ly7NdyF-nsJcCH6RT3rOQik0yQ"); var so=ss.getSheetByName("Source"); var data=so.getRange("A1:C").getValues().map(function(row){return (row[0]!="")?row:null}).filter(function(cellData){return cellData != null;}); const docTemplate=DocumentApp.openById(idtemplate); var docTarget=DocumentApp.open

Menghapus Baris di Google Sheets yang Memiliki Sel Kosong dengan Apps Script

Gambar
Pastinya, input data yang dilakukan oleh pengguna, terdapat data yang kosong pada salah satu sel-nya. Hal ini biasanya karena salah input, atau memang sengaja di-input-kan oleh pengguna. Untuk mengurangi proses pengolahan, dapat dilakukan penghapusan data tersebut, dengan Apps Script yang dapat di download dengan kode seperti di bawah ini: Kode function deleteKosong() { var target = SpreadsheetApp.openById("--id Google Sheets file--"); var ss=target.getSheetByName("Data"); var data=ss.getRange("A2:G").getValues().map(function(row,index){return (row[0]!="" && row[3]=="")?index:null;}).filter(function(cellData){return cellData != null;}); for(var i=data.length-1;i>=0;i--){ ss.deleteRow(2+data[i]); } } Demo

Menghilangkan Karakter Baris Baru di Google Sheets dengan Apps Script

Gambar
Kadang, input data dari pengguna, secara tidak sengaja menyertakan karakter baris baru "\n". Padahal bisa jadi, untuk kebutuhan administrasi, sebenarnya tidak menghendaki adanya karakter tersebut, sebab bisa mengganggu format cetak dokumen. Oleh karena itu, berikut ini kode Apps Script yang dapat digunakan untuk mencari dan menghilangkan karekter baru tersebut, yang terdapat dalam file Google Sheets. Kode function hilangkanEnter() { var target = SpreadsheetApp.openById("--ID Google Sheets File--"); var ss=target.getSheetByName("Data"); ss.getRange("D2:D").getValues().map(function(row,index){ var str=row[0].replaceAll("\n"," "); ss.getRange("D"+(2+index)).setValue(str); }); } Demo

Menambahkan Random Key sebagai ID Pembeda di Google Sheet dengan Apps Script

Gambar
Dimisalkan terdapat data yang tersimpan di Google Sheets dan tidak terdapat pembeda antara satu dengan yang lain. Hal ini akan mengakibatkan kesulitan jika akan dilakukan penghapusan salah satu atau bebarapa data tertentu melalui web apps. Oleh karena itu, kode Apps Script di bawah ini, adalah kode untuk menambahkan "unique ID key" pada tiap data, terutama untuk mempermudah proses penghapusan data, yang biasanya dilakukan melalui web apps oleh pengguna yang berbeda. Kode function makeRandomChar(length) { var result = ''; const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@'; let counter = 0; while (counter < length) { result += characters.charAt(Math.floor(Math.random() * characters.length)); counter += 1; } return result; } function addRandomKey() { var target = SpreadsheetApp.openById("--ID Google Sheets file--"); var ss=target.getSheetByName("Data"); var d

Apps Script untuk Copy File ke Folder berdasarkan ID yang Terdaftar di Google Sheets

Gambar
Suatu hari, penulis diminta untuk mengumpulkan file-file yang disediakan dalam bentuk ID yang disimpan dalam Google Sheets. Alasan kenapa harus di-copy, karena pemilik file, tidak ingin file aslinya diubah-ubah. Sehingga, karena file juga berada di Google Drive, penulis memilih untuk men-copy ke folder lain. Dibawah ini adalah kode Apps Script yang digunakan untuk melakukan copy file ke folder dalam Google Drive, dan mencatat hasilnya yang berupa alamat url file yang baru, di kolom yang lain. Script function copyFiletoFolder() { var folder = DriveApp.getFolderById("--ID Folder target--"); var target = SpreadsheetApp.openById("--ID sheets--");//its same var ss=target.getSheetByName("PKL"); ss.getRange("J2:J").getValues().map(function(row,index){ if(row[0]!=""){ try{ var file=DriveApp.getFileById(row[0]); var f=file.makeCopy(file.getName(),folder); ss.getRange("K"+(2+index)).setValue(f

Cek Broken Link pada File PDF dengan PyPDF2 dan Google Sheets

Gambar
Latar Belakang Kadang diperlukan juga, untuk mengecek hyperlink yang terdapat dalam dokumen PDF, apakah link-link tersebut valid, mengarah pada halaman yang tersedia atau tidak. Contohnya dokumen PDF akreditasi yang diupload dan akan dibaca oleh asesor. Dokumen seperti ini perlu dipastikan bahwa seluruh hyperlink-nya valid, sebab jika asesor mencoba dan menemukan invalid link, dapat berpotensi pada pengurangan nilai.  Disclaimer Penulis sebenarnya tidak suka Python, namun karena belum dapat membuat library PDF Reader sendiri, maka mohon maaf penulis tetap menggunkan PyPDF2, untuk mempercepat pekerjaan saja. Langkah Pertama-tama, letakkan file extract Hyperlink.py dan PDF yang akan di cek hyperlink-nya dalam satu folder. Dalam contoh posting ini, file PDF yang akan di cek bernama SURVEYLANCE_LED A-B_PSSI (1).pdf . Lalu tuliskan script Python di bawah ini, pada file extract Hyperlink.py. Kode extract Hyperlink.py import PyPDF2 import urllib.request as urllib2 PDFFile = open("SURV