hendriawan

buat form nrp+nama dari appscript

Feb 25th, 2024 (edited)
1,402
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function createForm() {
  2.   // Konfigurasi label formulir
  3.   var formLabel = 'Praktikum Workshop Mikrontroller 2EA';
  4.   var formDescription = 'Form Workshop Mikrontroller 2EA'; // Deskripsi formulir
  5.  
  6.   // Mendapatkan spreadsheet aktif
  7.   var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  8.   var sheet = spreadsheet.getActiveSheet();
  9.  
  10.   // Mendapatkan kolom dengan label "nrp", "nama", "kelas", dan "praktikum"
  11.   var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0];
  12.   var nrpIndex = headers.indexOf('Nrp') + 1;
  13.   var namaIndex = headers.indexOf('Nama') + 1;
  14.   var kelasIndex = headers.indexOf('Kelas') + 1;
  15.   var praktikumIndex = headers.indexOf('Praktikum') + 1;
  16.  
  17.   // Hentikan eksekusi jika tidak menemukan label "Nrp", "Nama", "Kelas", atau "Praktikum"
  18.   if (nrpIndex === 0 || namaIndex === 0 || kelasIndex === 0 || praktikumIndex === 0) {
  19.     Logger.log('Label "Nrp", "Nama", "Kelas", atau "Praktikum" tidak ditemukan pada sheet.');
  20.     return;
  21.   }
  22.  
  23.  
  24.   // Mendapatkan data dari kolom "Nrp", "nama", "kelas", dan "judul_praktikum"
  25.   var dataRange = sheet.getRange(2, 1, sheet.getLastRow() - 1, 4);
  26.   var dataValues = dataRange.getValues();
  27.  
  28.   // Log data untuk debugging
  29.   Logger.log('Data Values:', dataValues);
  30.  
  31.   // Membuat formulir baru
  32.   var form = FormApp.create(formLabel);
  33.  
  34.   // Menambahkan deskripsi ke formulir
  35.   form.setDescription(formDescription);
  36.  
  37.   // // Membuat pertanyaan dropdown untuk NRP
  38.   // var nrpQuestion = form.addMultipleChoiceItem();
  39.   // nrpQuestion.setTitle('Pilih NRP:')
  40.   // var nrpChoices = [];
  41.   // for (var i = 0; i < dataValues.length; i++) {
  42.   //   var nrpString = String(dataValues[i][0]);
  43.   //   nrpChoices.push(nrpString);
  44.   // }
  45.   // nrpQuestion.setChoiceValues(nrpChoices);
  46.  
  47.   // // Membuat pertanyaan dropdown untuk Mahasiswa
  48.   // var mahasiswaQuestion = form.addMultipleChoiceItem();
  49.   // mahasiswaQuestion.setTitle('Pilih Mahasiswa:')
  50.   // var mahasiswaChoices = [];
  51.   // for (var i = 0; i < dataValues.length; i++) {
  52.   //   mahasiswaChoices.push(dataValues[i][1]);
  53.   // }
  54.   // mahasiswaQuestion.setChoiceValues(mahasiswaChoices);
  55.  
  56. // Membuat pertanyaan dropdown untuk gabungan data Mahasiswa+NRP
  57.   var combinedQuestion = form.addListItem();
  58.   combinedQuestion.setTitle('Pilih Gabungan NRP dan Mahasiswa:')
  59.   var combinedChoices = [];
  60.   for (var i = 0; i < dataValues.length; i++) {
  61.     var combinedValue = String(dataValues[i][0]).slice(-3) + ' - ' + dataValues[i][1];
  62.     combinedChoices.push(combinedValue);
  63.   }
  64.   combinedQuestion.setChoiceValues(combinedChoices);
  65.  
  66.  
  67.  // Membuat pertanyaan dropdown untuk Kelas
  68. var kelasQuestion = form.addListItem();
  69. kelasQuestion.setTitle('Pilih Kelas:');
  70. var kelasChoices = [];
  71. var uniqueKelas = {};
  72.  
  73. for (var i = 0; i < dataValues.length; i++) {
  74.   var kelasValue = dataValues[i][2];
  75.   if (kelasValue !== "" && kelasValue !== null && !uniqueKelas[kelasValue]) {
  76.     kelasChoices.push(kelasValue);
  77.     uniqueKelas[kelasValue] = true;
  78.   }
  79. }
  80.  
  81. kelasQuestion.setChoiceValues(kelasChoices);
  82.  
  83.  
  84.  
  85. // Membuat pertanyaan dropdown untuk Praktikum
  86. var praktikumQuestion = form.addMultipleChoiceItem();
  87. praktikumQuestion.setTitle('Pilih Praktikum:');
  88. var praktikumChoices = [];
  89. var uniquePraktikum = {}; // Objek untuk menyimpan nilai praktikum unik
  90. for (var i = 0; i < dataValues.length; i++) {
  91.   var praktikumValue = dataValues[i][3];
  92.   if (praktikumValue !== "" && praktikumValue !== null && !uniquePraktikum[praktikumValue]) {
  93.     // Tambahkan ke pilihan dropdown jika bukan string kosong, bukan null, dan belum ditambahkan
  94.     praktikumChoices.push(praktikumValue);
  95.     uniquePraktikum[praktikumValue] = true; // Tandai praktikum sebagai sudah ditambahkan
  96.   }
  97. }
  98. praktikumQuestion.setChoiceValues(praktikumChoices);
  99.  
  100.  
  101.  
  102.   // Membuat pertanyaan isian untuk Judul Praktikum
  103.   var PembahasanQuestion = form.addParagraphTextItem();
  104.  PembahasanQuestion.setTitle('Masukkan Hasil  Analisa anda:');
  105.  
  106. //   // Mengubah pertanyaan isian untuk Judul Praktikum menjadi isian paragraph
  107. // var judulPraktikumQuestion = form.addParagraphTextItem();
  108. // judulPraktikumQuestion.setTitle('Masukkan Hasil Laporan:');
  109.  
  110.  
  111.   // Log pesan untuk memberi tahu bahwa formulir telah berhasil dibuat
  112.   Logger.log('Formulir telah berhasil dibuat dengan pilihan dropdown dan isian judul praktikum.');
  113. }
  114.  
Tags: AppScript
Advertisement
Add Comment
Please, Sign In to add comment