Membuat soal data dari spreadsheet

Berikut ini adalah panduan untuk membuat soal dalam google form dimana data soalnya diambil dari sebuah spreadsheet.

Panduan Video

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);
  }
}

Spreadsheet to Telegram

Berikut ini adalaah script untuk memindahkan data dari spreadsheet ke dalam grup telegram. Langkahnya adalah sebagai berikut:

  1. Buat sebuah google spreadsheet dengan nama tertentu dan dengan data yang ingin dikirimkan atau di eksport ke dalam sebuah grup telegram;
  2. Ketuk menu Ekstensi dan ketuk sub menu Apps script kemudian beri nama.
  3. Salin semua script yang sudah kami sediakan di bawah dan paste atau tempelkan ke dalam app script yang sudah anda siapkan. Pastikan anda hapus dulu isi script tersebut sampai bersih sebelum anda menempelkan script di bawah.
  4. Sekarang masuk ke dalam teleegram dan buat sebuah grup
  5. Masuk ke dalam @botfather dan buat sebuah telegrambot kemudian gabungkan telegrambot tersebut ke dalam grup yang sudah dibuat dan jadikan sebagai admin.
  6. Agar anda bisa mengetahui chat_ID dari grup tersebut, masukan ke dalam grup tersebut username ini @RawDataBot atau yang ini @get_id_bot, dan setelah anda mendapatkan chat_ID dari grup tersebut, anda boleh mengeluarkan dan menghapus @RawDataBot atau @get_id_bot dari grup tersebut.
  7. Dengan membuat telegrambot di @botfather maka anda sudah mendapatkan token telegram. Dan dengan memasukkan @RawDataBot atau @get_id_bot ke dalam grup, anda sudah mendapatkan chat_ID dari grup. Dan dengan membuat sebuah spreadsheet, maka anda pun sudah mendapatkan ID_spreadsheet. Semua kode tersebut harus dimasukkan ke dalam script sesuai dengan penjelasan yang ada.

Penjelasan detail bisa anda lihat dalm video di bawah:

function onOpen() {
  var ui = SpreadsheetApp.getUi();
  ui.createMenu('Jalankan')
    .addItem('Kirim ke Telegram', 'getDataAndSendToTelegramBot')
    .addToUi();
}

function getDataAndSendToTelegramBot() {
  // Kode yang sama seperti sebelumnya
  // ...
}


function getDataAndSendToTelegramBot() {
  var token = "TOKEN_TELEGRAM";
  var chatId = "CHAT_ID";
  var spreadsheetId = "ID_SPREADSHEET";
  var sheetName = "NAMA_SHEET";

  var columnIndices = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,]; // Indeks kolom yang ingin diambil (A, B, D, C, E)

  var spreadsheet = SpreadsheetApp.openById(spreadsheetId);
  var sheet = spreadsheet.getSheetByName(sheetName);

  var lastRow = sheet.getLastRow();
  var headerRange = sheet.getRange(1, 1, 1, sheet.getLastColumn()); // Rentang untuk baris header
  var headerValues = headerRange.getValues()[0]; // Mengambil nilai header dalam satu dimensi

  var dataRange = sheet.getRange(2, 1, lastRow - 1, columnIndices.length); // Mengambil data dari baris 2 hingga terakhir, dengan jumlah kolom yang ditentukan
  var dataValues = dataRange.getValues();

  var sentData = getSentDataFromProperties(); // Mendapatkan data yang sudah dikirim sebelumnya

  var newData = [];

  // Memeriksa setiap baris data baru
  for (var i = 0; i < dataValues.length; i++) {
    var rowData = dataValues[i];

    // Memeriksa apakah baris data sudah pernah dikirim sebelumnya
    if (!isDataSent(rowData, sentData)) {
      newData.push(rowData); // Menyimpan baris data yang belum pernah dikirim sebelumnya
    }
  }

  // Mengirim data yang belum pernah dikirim sebelumnya ke Telegram
  sendNewDataToTelegramBot(token, chatId, newData, headerValues, columnIndices);

  // Menyimpan data yang sudah dikirim ke Properties
  saveSentDataToProperties(newData, sentData);
}

function isDataSent(rowData, sentData) {
  // Memeriksa apakah baris data sudah pernah dikirim sebelumnya berdasarkan kolom-kolom yang relevan
  for (var i = 0; i < sentData.length; i++) {
    var sentRow = sentData[i];
    var isMatch = true;

    for (var j = 0; j < sentRow.length; j++) {
      if (rowData[j].toString() !== sentRow[j].toString()) {
        isMatch = false;
        break;
      }
    }

    if (isMatch) {
      return true; // Data sudah pernah dikirim sebelumnya
    }
  }

  return false; // Data belum pernah dikirim sebelumnya
}

function sendNewDataToTelegramBot(token, chatId, newData, headerValues, columnIndices) {
  var message = "";

  // Menampilkan nama header diikuti dengan data pada setiap baris yang belum pernah dikirim sebelumnya
  for (var i = 0; i < newData.length; i++) {
    var rowData = newData[i];

    for (var j = 0; j < headerValues.length; j++) {
      var headerValue = headerValues[j];
      var cellValue = rowData[columnIndices[j] - 1];
      message += headerValue + ": " + cellValue + "\n";
    }

    message += "\n"; // Memberikan spasi antara setiap baris data
  }

  if (message !== "") {
    sendToTelegramBot(token, chatId, message);
  }
}

function sendToTelegramBot(token, chatId, message) {
  var telegramUrl = "https://api.telegram.org/bot" + token + "/sendMessage";

  var payload = {
    "method": "post",
    "contentType": "application/json",
    "payload": JSON.stringify({
      "chat_id": chatId,
      "text": message
    })
  };

  UrlFetchApp.fetch(telegramUrl, payload);
}

function getSentDataFromProperties() {
  var sentData = [];

  // Mendapatkan data yang sudah dikirim sebelumnya dari Properties
  var properties = PropertiesService.getUserProperties();
  var sentDataString = properties.getProperty("sentData");

  if (sentDataString) {
    sentData = JSON.parse(sentDataString);
  }

  return sentData;
}

function saveSentDataToProperties(newData, sentData) {
  sentData.push.apply(sentData, newData); // Menggabungkan data yang sudah dikirim sebelumnya dengan data baru

  // Menyimpan data yang sudah dikirim ke Properties
  var properties = PropertiesService.getUserProperties();
  properties.setProperty("sentData", JSON.stringify(sentData));
}



Penjelasan dalam video

MEMINDAHKAN DATA DARI SPREADSHEET KE DALAM TELEGRAM MENGGUNAKNA SCRIPT
JIKA BELUM BISA MEMBUAT TOKEN, SILAHKAN PELAJARI @BOTFATHER
CUKUP KETIK “OKE”, DATA DARI SSPREADSHEET LANGSUNG PINDAH KE GRUP TELEGRAM

Gsheet ,GForms & Telegram

Anda bisa memperkaya keterampilan lebih jauh berkenaan dengan spreadsheets dan google forms.

Silahkan pelajari video-video di bawah

Panduan google forms dari dasar. Cara membuat soal dalam sebuah google forms dan menyimpan data responden dalam sebuah google spread sheets.

Mengkoneksikan data google spreadheets ke dalam sebuah grup telegram

Membuat List Drop Down dalam google form menggunakan data dari spreadsheet.

Jika anda akan membuat list data dalam google form dimana datanya cukup banyak, tentu akan sangat merepotkan jika anda harus mengetik atau copy-paste satu demi satu.

Dengan menggunakan script di bawah, maka anda bisa mengkombinasikan spreadsheets dengan google form dimana spreadsheet difungsikan sebagai tempat untuk menyimpan list data yang akan ditampilkan dalam google form.

Membuat soal dalam words dan mengeksportnya ke dalam google forms. Pembuatan soal ini menggunakan addons (pengaya) yang gratis dan tentu saja fasilitasnya cukup terbatas

Script untuk membuat list dalam google forms

/**
 * Auto-populate Question options in Google Forms
 * from values in Google Spreadsheet
 *
 * Written by Amit Agarwal (MIT License)
 *
 **/

const populateGoogleForms = () => {
  const GOOGLE_SHEET_NAME = "NAMA SHEET ANDA";
  const GOOGLE_FORM_ID = "ID GOOGLE FORM";

  const ss = SpreadsheetApp.getActiveSpreadsheet();

  const [header, ...data] = ss
    .getSheetByName(GOOGLE_SHEET_NAME)
    .getDataRange()
    .getDisplayValues();

  const choices = {};
  header.forEach((title, i) => {
    choices[title] = data.map((d) => d[i]).filter((e) => e);
  });

  FormApp.openById(GOOGLE_FORM_ID)
    .getItems()
    .map((item) => ({
      item,
      values: choices[item.getTitle()],
    }))
    .filter(({ values }) => values)
    .forEach(({ item, values }) => {
      switch (item.getType()) {
        case FormApp.ItemType.CHECKBOX:
          item.asCheckboxItem().setChoiceValues(values);
          break;
        case FormApp.ItemType.LIST:
          item.asListItem().setChoiceValues(values);
          break;
        case FormApp.ItemType.MULTIPLE_CHOICE:
          item.asMultipleChoiceItem().setChoiceValues(values);
          break;
        default:
        // ignore item
      }
    });
  ss.toast("Google Form Updated !!");
};

Google Sites

Anda bisa membuat web atau blog menggunakan google sites. Tentu saja Gratis.

Google sites ini bisa bermanfaat untuk kepentingan pendidikan atau kepentingan bisnis.


Silahkan pelajari video di bawah untuk memulai.

Template Google Sheet

Membuat soal menggunakan google form memiliki tingkat kerumitan tersendiri dimana kita harus melakukan copy-paste untuk setiap soal yang kita buat.
Jika jumlah soal cukup banyak, maka tentu hal tersebut akan merepotkan.

Sabahat Guru sudah menyiapkan Template khusus untuk membuat soal dalam spreadsheet, dan hanya dengan satu klik, maka soal tersebut akan dieksport ke dalam google form.

Silahkan copy-pasteu script di bawah dan pelajari panduannya dalam bentuk video di bawah:

Script Template Spreadsheet

function onOpen() {

 var menu = SpreadsheetApp.getUi().createMenu('Forms');

 menu.addItem('CREATE TEMPLATE', 'createTemplate').addToUi();

 menu.addItem('CREATE FORM', 'createForm').addToUi();

 menu.addItem('CREATE FORMS', 'createForms').addToUi();

}

function createTemplate() {

 var s = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

 s.deleteColumns(17, 8);

 s.deleteRows(100,900);

 s.setColumnWidth(1, 110);

 s.setColumnWidth(2, 400);

 s.setColumnWidths(3, 16, 110);

 s.setFrozenColumns(2);

 s.setFrozenRows(3);

 s.getRange('A4:A100').setDataValidation(SpreadsheetApp.newDataValidation()

 .setAllowInvalid(false)

 .requireValueInList(['ACCEPTANCE', 'CHECKBOX', 'CHECKGRID', 'CHOICE', 'DATE', 'GRID', 'IMAGE1', 'IMAGE2', 'LIST', 'PAGE', 'PARAGRAPH', 'SCALE', 'SECTION', 'TEXT', 'TIME', 'VIDEO'], true)

 .build());

 s.getRange('A1:A100').setFontWeight('bold').setHorizontalAlignment('center');

 s.getRange('A1').setValue('JUDUL');

 s.getRange('A2').setValue('DESKRIPSI');

 s.getRange('A3').setValue('TYPE');

 s.getRange('C1').setValue('FOLDER ID:').setFontWeight('bold').setHorizontalAlignment('right');

 s.getRange('E1').setValue('PUBLIC URL:').setFontWeight('bold').setHorizontalAlignment('right');

 s.getRange('G1').setValue('COPY FORM:').setFontWeight('bold').setHorizontalAlignment('right');

 s.getRange('H1').setDataValidation(SpreadsheetApp.newDataValidation().setAllowInvalid(false).requireValueInList(['YES'], true).build());

 s.getRange('I1').setValue('LINK COPY:').setFontWeight('bold').setHorizontalAlignment('right');

 s.getRange('B3').setValue('PERTANYAAN').setFontWeight('bold').setHorizontalAlignment('center');

 s.getRange('C3').setValue('PETUNJUK').setFontWeight('bold').setBackground('#f8f8ff').setHorizontalAlignment('center');

 s.getRange('D3').setValue('POINTS').setFontWeight('bold').setBackground('#fafad2').setHorizontalAlignment('center');

 s.getRange('E3').setValue('TEXT TRUE').setFontWeight('bold').setBackground('#e6e6fa').setHorizontalAlignment('center');

 s.getRange('F3').setValue('TEXT FALSE').setFontWeight('bold').setBackground('#e6e6fa').setHorizontalAlignment('center');

 s.getRange('G3').setValue('LINK').setFontWeight('bold').setBackground('#fffacd').setHorizontalAlignment('center');

 s.getRange('H3').setValue('NAMA LINK').setFontWeight('bold').setBackground('#fffacd').setHorizontalAlignment('center');

 s.getRange('I3:R3').setValue('OPSI').setFontWeight('bold').setBackground('#f5f5dc').setHorizontalAlignment('center');

 s.getRange('E4:H100').setBackground('#eed5d5');

 s.getRange('I4:R100').setBackground('#f3e9f3');

 s.getRange('C4:C100').setBackground('#f8f8ff');

 s.getRange('D4:D100').setBackground('#fafad2');

};


function createForm() {

 var s = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

 body(s);  

}

function createForms() {

 var sh = SpreadsheetApp.getActiveSpreadsheet().getSheets();

 for (var k=0; k<sh.length; k++) {  

  var s = sh[k];

  body(s);

 }

} 


function body(s) {

var r = s.getDataRange();

var nr = r.getNumRows();

var nc = r.getNumColumns();

var lr = s.getLastRow();

var lc = s.getLastColumn();

var d = r.getValues();

var fol = DriveApp.getFolderById(d[0][3]);



if (d[0][7] === 'YES') {

var fm = DriveApp.getFileById(d[0][9]).makeCopy(d[0][1], fol);

var id = fm.getId();

var f = FormApp.openById(id);

} else {

var fm = FormApp.create(d[0][1]);

var id = fm.getId();

var f = FormApp.openById(id);

}



f.setDescription(d[1][1]);

f.setIsQuiz(true);  



var ur = f.getPublishedUrl();

s.getRange('F1').setValue(ur);


var file = DriveApp.getFileById(id);

fol.addFile(file);

DriveApp.getRootFolder().removeFile(file);

  

for(var x=0;x<nr;x++){ // Beginning of for loop with x

 var i = d[x][0];

 var cr = 1 + x;

 var ro = s.getRange(cr, 8, 1, 10);

 var op = ro.getValues();

  if(i==''){continue;}



  else if (i =='CHOICE') {

    var arr = [];

     

    if (d[0][11] == "YES"){ var its = f.getItems();

     for (var w = 0; w < its.length; w += 1){ var ite = its[w]; if (ite.getTitle() === "CHOICE"){ var q = ite.asMultipleChoiceItem().duplicate(); }}

    } else { var q = f.addMultipleChoiceItem(); }

     

    q.setTitle(d[x][1]).setHelpText(d[x][2]).setRequired(true);

     

    if (d[x][3] !== '') {q.setPoints(d[x][3])}

     

    for (var ccc = 8; ccc<nc; ccc++) {

     var cu = 1 + ccc;

     if (s.getRange(cr,cu,1,1).getValue() !== '' && s.getRange(cr,cu,1,1).getBackground() === "#00ff00") {var q1 = q.createChoice(d[x][ccc], true); arr.push(q1);} 

     else if (s.getRange(cr,cu,1,1).getValue() !== '' && s.getRange(cr,cu,1,1).getBackground() !== "#00ff00") {var q1 = q.createChoice(d[x][ccc], false); arr.push(q1);}

    }

     

    q.setChoices(arr);

     

    if (d[x][4] !== ""){

     var correctFeedback = FormApp.createFeedback().setText(d[x][4]).build();

     q.setFeedbackForCorrect(correctFeedback);

    }

    if (d[x][5] !== ""){

     var incorrectFeedback = FormApp.createFeedback().setText(d[x][5]).addLink(d[x][6],d[x][7]).build();

     q.setFeedbackForIncorrect(incorrectFeedback);

    } 

  }

   

  else if (i =='LIST') {

    var arr = [];

     

    if (d[0][11] == "YES"){ var its = f.getItems();

     for (var w = 0; w < its.length; w += 1){ var ite = its[w]; if (ite.getTitle() === "LIST"){ var q = ite.asListItem().duplicate(); }}

    } else { var q = f.addListItem(); }

     

    q.setTitle(d[x][1]).setHelpText(d[x][2]).setRequired(true);

     

    if (d[x][3] !== '') {q.setPoints(d[x][3])}

  

    for (var ccc = 8; ccc<nc; ccc++) {

     var cu = 1 + ccc;

     if (s.getRange(cr,cu,1,1).getValue() !== '' && s.getRange(cr,cu,1,1).getBackground() === "#00ff00") {var q1 = q.createChoice(d[x][ccc], true); arr.push(q1);} 

     else if (s.getRange(cr,cu,1,1).getValue() !== '' && s.getRange(cr,cu,1,1).getBackground() !== "#00ff00") {var q1 = q.createChoice(d[x][ccc], false); arr.push(q1);}

    }

     

    q.setChoices(arr);

     

    if (d[x][4] !== ""){

     var correctFeedback = FormApp.createFeedback().setText(d[x][4]).build();

     q.setFeedbackForCorrect(correctFeedback);

    }

    if (d[x][5] !== ""){

     var incorrectFeedback = FormApp.createFeedback().setText(d[x][5]).addLink(d[x][6],d[x][7]).build();

     q.setFeedbackForIncorrect(incorrectFeedback);

    } 

  }

  

  else if (i =='CHECKBOX') {

    var arr = [];

     

    if (d[0][11] == "YES"){ var its = f.getItems();

     for (var w = 0; w < its.length; w += 1){ var ite = its[w]; if (ite.getTitle() === "CHECKBOX"){ var q = ite.asCheckboxItem().duplicate(); }}

    } else { var q = f.addCheckboxItem(); }

     

    q.setTitle(d[x][1]).setHelpText(d[x][2]).setRequired(true);

    

    if (d[x][3] !== '') {q.setPoints(d[x][3])}

     

    for (var ccc = 8; ccc<nc; ccc++) {

     var cu = 1 + ccc;

     if (s.getRange(cr,cu,1,1).getValue() !== '' && s.getRange(cr,cu,1,1).getBackground() === "#00ff00") {var q1 = q.createChoice(d[x][ccc], true); arr.push(q1);} 

     else if (s.getRange(cr,cu,1,1).getValue() !== '' && s.getRange(cr,cu,1,1).getBackground() !== "#00ff00") {var q1 = q.createChoice(d[x][ccc], false); arr.push(q1);}

    }

     

    q.setChoices(arr);

     

    if (d[x][4] !== ""){

     var correctFeedback = FormApp.createFeedback().setText(d[x][4]).build();

     q.setFeedbackForCorrect(correctFeedback);

    }

    if (d[x][5] !== ""){

     var incorrectFeedback = FormApp.createFeedback().setText(d[x][5]).addLink(d[x][6],d[x][7]).build();

     q.setFeedbackForIncorrect(incorrectFeedback);

    } 

  }

   

  else if (i =='GRID') {

    var arr1 = []; 

    for (q=0; q<op[0].length; q++){ 

     if (op[0][q] !== '') {arr1.push(op[0][q]);} 

    }

    var arr2 = []; 

    for (q=0; q<op[0].length; q++){ 

     if (op[0][q] !== '') {arr2.push(op[0][q]);} 

    }

    f.addGridItem().setTitle(d[x][1]).setHelpText(d[x][2]).setRequired(true).setRows(arr1).setColumns(arr2);

  }

   

  else if (i =='CHECKGRID') {

    var arr1 = []; 

    for (q=0; q<op[0].length; q++){ 

     if (op[0][q] !== '') {arr1.push(op[0][q]);} 

    }

    var arr2 = []; 

    for (q=0; q<op[0].length; q++){ 

     if (op[0][q] !== '') {arr2.push(op[0][q]);} 

    }

    f.addCheckboxGridItem().setTitle(d[x][1]).setHelpText(d[x][2]).setRequired(true).setRows(arr1).setColumns(arr2);

  }

   

  else if (i =='TEXT') {

    var q = f.addTextItem().setTitle(d[x][1]).setHelpText(d[x][2]).setRequired(true);

    if (d[x][3] !== '') {q.setPoints(d[x][3])}

  }

   

  else if (i =='PARAGRAPH') {

    var q = f.addParagraphTextItem().setTitle(d[x][1]).setHelpText(d[x][2]).setRequired(true);

    if (d[x][3] !== '') {q.setPoints(d[x][3])}

  }

    

  else if (i =='SECTION') {

    f.addSectionHeaderItem().setTitle(d[x][1]).setHelpText(d[x][2]);

  }

   

  else if (i =='PAGE') {

    f.addPageBreakItem().setTitle(d[x][1]).setHelpText(d[x][2]);

  }

   

  else if (i =='IMAGE1') {

    var img = UrlFetchApp.fetch(d[x][6]); 

    f.addImageItem().setTitle(d[x][1]).setHelpText(d[x][2]).setImage(img).setAlignment(FormApp.Alignment.CENTER).setWidth(800);

  }

     

  else if (i =='IMAGE2') {

    var file = DriveApp.getFileById(d[x][6]);

    f.addImageItem().setTitle(d[x][1]).setHelpText(d[x][2]).setImage(file).setAlignment(FormApp.Alignment.CENTER).setWidth(800);

  }

   

  else if (i =='VIDEO') {

    f.addVideoItem().setTitle(d[x][1]).setHelpText(d[x][2]).setVideoUrl(d[x][6]).setAlignment(FormApp.Alignment.CENTER).setWidth(800);

  }

     

  else if (i =='SCALE') {

    var q = f.addScaleItem().setTitle(d[x][1]).setHelpText(d[x][2]).setRequired(true).setLabels(d[x][6], d[x][7]).setBounds(d[x][4], d[x][5]);

    if (d[x][3] !== '') {q.setPoints(d[x][3])}

  } 

   

  else if (i =='TIME') {

    var q = f.addTimeItem().setTitle(d[x][1]).setHelpText(d[x][2]).setRequired(true);

    if (d[x][3] !== '') {q.setPoints(d[x][3])}

  }


  else if (i =='DATE') {

    var q = f.addDateItem().setTitle(d[x][1]).setHelpText(d[x][2]).setRequired(true);

    if (d[x][3] !== '') {q.setPoints(d[x][3])}

  }

   
  else if(i =='ACCEPTANCE'){

    var item = f.addMultipleChoiceItem();

    var goSubmit = item.createChoice('YES', FormApp.PageNavigationType.SUBMIT);

    var goRestart = item.createChoice('NO', FormApp.PageNavigationType.RESTART);   

     item.setRequired(true);

     item.setTitle(d[x][1]);

     item.setHelpText(d[x][2]);

     item.setChoices([goSubmit,goRestart]);  

  } 

  

 } // End of principle for loop with x

 

  var iti = f.getItems();

   for (var y = 0; y < iti.length; y += 1){

    var ito = iti[y];

    if (ito.getTitle() === "CHOICE"){ f.deleteItem(ito); } 

    else if (ito.getTitle() === "LIST"){ f.deleteItem(ito); } 

    else if (ito.getTitle() === "CHECKBOX"){ f.deleteItem(ito); }

   }


} // End of entire scipt

Video Panduan Setting Script

Google Classroom

Google classroom merupakan media yang sangat mumpuni untuk membantu kegiatan proses belajar mengajar secara online. Berikut ini adalah panduan dasar mengenai google classroom

Dalam video ini kami jelaskan dari dasar cara memulai membuat kelas menggunakan google classroom.

Dalam video ini kami jelaskan bagaimana cara menginstall aplikasi google classrom ke dalam android

Dalam video ini kami jelaskan bagaimana cara menyiapkan materi atau bahan ajar dalam sebuah google classroom

Dalam video ini kami jelaskan bagaimana cara setting beberapa fitur di dalam google classroom.