hendriawan icon

buat form nrp+nama dari appscript

hendriawan | PRO | 02/26/24 12:24:16 AM UTC (Edited) | 0 ⭐ | 1336 👁️ | Never ⏰ | [AppScript]
JavaScript |

4.28 KB

|

None

|

0 👍

/

0 👎

function createForm() {
  // Konfigurasi label formulir
  var formLabel = 'Praktikum Workshop Mikrontroller 2EA';
  var formDescription = 'Form Workshop Mikrontroller 2EA'; // Deskripsi formulir
 
  // Mendapatkan spreadsheet aktif
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = spreadsheet.getActiveSheet();
 
  // Mendapatkan kolom dengan label "nrp", "nama", "kelas", dan "praktikum"
  var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0];
  var nrpIndex = headers.indexOf('Nrp') + 1;
  var namaIndex = headers.indexOf('Nama') + 1;
  var kelasIndex = headers.indexOf('Kelas') + 1;
  var praktikumIndex = headers.indexOf('Praktikum') + 1;
 
  // Hentikan eksekusi jika tidak menemukan label "Nrp", "Nama", "Kelas", atau "Praktikum"
  if (nrpIndex === 0 || namaIndex === 0 || kelasIndex === 0 || praktikumIndex === 0) {
    Logger.log('Label "Nrp", "Nama", "Kelas", atau "Praktikum" tidak ditemukan pada sheet.');
    return;
  }
 
 
  // Mendapatkan data dari kolom "Nrp", "nama", "kelas", dan "judul_praktikum"
  var dataRange = sheet.getRange(2, 1, sheet.getLastRow() - 1, 4);
  var dataValues = dataRange.getValues();
 
  // Log data untuk debugging
  Logger.log('Data Values:', dataValues);
 
  // Membuat formulir baru
  var form = FormApp.create(formLabel);
 
  // Menambahkan deskripsi ke formulir
  form.setDescription(formDescription);
 
  // // Membuat pertanyaan dropdown untuk NRP
  // var nrpQuestion = form.addMultipleChoiceItem();
  // nrpQuestion.setTitle('Pilih NRP:')
  // var nrpChoices = [];
  // for (var i = 0; i < dataValues.length; i++) {
  //   var nrpString = String(dataValues[i][0]);
  //   nrpChoices.push(nrpString);
  // }
  // nrpQuestion.setChoiceValues(nrpChoices);
 
  // // Membuat pertanyaan dropdown untuk Mahasiswa
  // var mahasiswaQuestion = form.addMultipleChoiceItem();
  // mahasiswaQuestion.setTitle('Pilih Mahasiswa:')
  // var mahasiswaChoices = [];
  // for (var i = 0; i < dataValues.length; i++) {
  //   mahasiswaChoices.push(dataValues[i][1]);
  // }
  // mahasiswaQuestion.setChoiceValues(mahasiswaChoices);
 
// Membuat pertanyaan dropdown untuk gabungan data Mahasiswa+NRP
  var combinedQuestion = form.addListItem();
  combinedQuestion.setTitle('Pilih Gabungan NRP dan Mahasiswa:')
  var combinedChoices = [];
  for (var i = 0; i < dataValues.length; i++) {
    var combinedValue = String(dataValues[i][0]).slice(-3) + ' - ' + dataValues[i][1];
    combinedChoices.push(combinedValue);
  }
  combinedQuestion.setChoiceValues(combinedChoices);
 
 
 // Membuat pertanyaan dropdown untuk Kelas
var kelasQuestion = form.addListItem();
kelasQuestion.setTitle('Pilih Kelas:');
var kelasChoices = [];
var uniqueKelas = {};
 
for (var i = 0; i < dataValues.length; i++) {
  var kelasValue = dataValues[i][2];
  if (kelasValue !== "" && kelasValue !== null && !uniqueKelas[kelasValue]) {
    kelasChoices.push(kelasValue);
    uniqueKelas[kelasValue] = true;
  }
}
 
kelasQuestion.setChoiceValues(kelasChoices);
 
 
 
// Membuat pertanyaan dropdown untuk Praktikum
var praktikumQuestion = form.addMultipleChoiceItem();
praktikumQuestion.setTitle('Pilih Praktikum:');
var praktikumChoices = [];
var uniquePraktikum = {}; // Objek untuk menyimpan nilai praktikum unik
for (var i = 0; i < dataValues.length; i++) {
  var praktikumValue = dataValues[i][3];
  if (praktikumValue !== "" && praktikumValue !== null && !uniquePraktikum[praktikumValue]) {
    // Tambahkan ke pilihan dropdown jika bukan string kosong, bukan null, dan belum ditambahkan
    praktikumChoices.push(praktikumValue);
    uniquePraktikum[praktikumValue] = true; // Tandai praktikum sebagai sudah ditambahkan
  }
}
praktikumQuestion.setChoiceValues(praktikumChoices);
 
  
 
  // Membuat pertanyaan isian untuk Judul Praktikum
  var PembahasanQuestion = form.addParagraphTextItem();
 PembahasanQuestion.setTitle('Masukkan Hasil  Analisa anda:');
 
//   // Mengubah pertanyaan isian untuk Judul Praktikum menjadi isian paragraph
// var judulPraktikumQuestion = form.addParagraphTextItem();
// judulPraktikumQuestion.setTitle('Masukkan Hasil Laporan:');
 
 
  // Log pesan untuk memberi tahu bahwa formulir telah berhasil dibuat
  Logger.log('Formulir telah berhasil dibuat dengan pilihan dropdown dan isian judul praktikum.');
}
 

Comments