Bikin soal di GF ambil dari G-sheet

 Cara cepat membuat soal di G-Form master datanya dari Google-SpreadSheet , simak video berikut ini  


Script untuk membuatnya sudah kami siapkan di bawah

Tampilan Multiple choice

function onOpen() { var ui = SpreadsheetApp.getUi(); ui.createMenu('Custom Menu') .addItem('Update Form from Spreadsheet', 'updateFormFromSpreadsheet') .addToUi(); } function updateFormFromSpreadsheet() { try { var form = FormApp.openById('ID FORM'); // Ganti FORM_ID dengan ID formulir yang benar var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var data = sheet.getDataRange().getValues(); // Membuat objek untuk menyimpan kunci unik pertanyaan var questionKeys = {}; // Menghapus pertanyaan yang ada di formulir var items = form.getItems(); while (items.length > 0) { form.deleteItem(items.pop()); } // Menambahkan pertanyaan baru atau mengupdate pertanyaan yang sudah ada var headers = data[0]; for (var i = 1; i < headers.length; i++) { var question = headers[i]; var choices = []; // Membuat kunci unik untuk pertanyaan var questionKey = question.toLowerCase().replace(/\s/g, '_'); // Memeriksa apakah pertanyaan sudah ada sebelumnya if (questionKeys.hasOwnProperty(questionKey)) { continue; // Lanjut ke iterasi selanjutnya jika pertanyaan sudah ada } for (var j = 1; j < data.length; j++) { var choice = data[j][i]; if (choice !== "") { choices.push(choice); } } if (choices.length > 0) { var item = form.addMultipleChoiceItem() .setTitle(question) .setChoiceValues(choices); // Menetapkan bahwa setiap pertanyaan harus memiliki satu jawaban item.setRequired(true); // Menyimpan kunci unik pertanyaan ke objek questionKeys[questionKey] = true; } } SpreadsheetApp.getUi().alert('Formulir berhasil diperbarui dari spreadsheet.'); } catch (error) { SpreadsheetApp.getUi().alert('Terjadi kesalahan: ' + error); } }


Tampilan Dropdown

function onOpen() { var ui = SpreadsheetApp.getUi(); ui.createMenu('Custom Menu') .addItem('Update Form from Spreadsheet', 'updateFormFromSpreadsheet') .addToUi(); } function updateFormFromSpreadsheet() { try { var form = FormApp.openById('ID FORM'); // Ganti FORM_ID dengan ID formulir yang benar var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var data = sheet.getDataRange().getValues(); // Membuat objek untuk menyimpan kunci unik pertanyaan var questionKeys = {}; // Menghapus pertanyaan yang ada di formulir var items = form.getItems(); while (items.length > 0) { form.deleteItem(items.pop()); } // Menambahkan pertanyaan baru atau mengupdate pertanyaan yang sudah ada var headers = data[0]; for (var i = 1; i < headers.length; i++) { var question = headers[i]; var choices = []; // Membuat kunci unik untuk pertanyaan var questionKey = question.toLowerCase().replace(/\s/g, '_'); // Memeriksa apakah pertanyaan sudah ada sebelumnya if (questionKeys.hasOwnProperty(questionKey)) { continue; // Lanjut ke iterasi selanjutnya jika pertanyaan sudah ada } for (var j = 1; j < data.length; j++) { var choice = data[j][i]; if (choice !== "") { choices.push(choice); } } if (choices.length > 0) { var item = form.addListItem() .setTitle(question) .setChoiceValues(choices); // Menetapkan bahwa setiap pertanyaan harus memiliki satu jawaban item.setRequired(true); // Menyimpan kunci unik pertanyaan ke objek questionKeys[questionKey] = true; } } SpreadsheetApp.getUi().alert('Formulir berhasil diperbarui dari spreadsheet.'); } catch (error) { SpreadsheetApp.getUi().alert('Terjadi kesalahan: ' + error); } }