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