Berikut adalah tutorial untuk membuat Google Form, Google Spreadsheet, Google Slide, folder di Google Drive, dan menemukan ID-nya masing-masing untuk digunakan dengan Google Apps Script.
# 1. Membuat Google Form
1. Buka Google Forms: Kunjungi [Google Forms](https://forms.google.com) dan klik "Blank" untuk membuat form baru.
2. Isi Form: Tambahkan pertanyaan yang diperlukan. Misalnya, tambahkan pertanyaan untuk Nama dan Email.
3. Simpan Form: Form akan otomatis tersimpan di Google Drive.
# Menemukan ID Google Form
1. Buka Form: Buka form yang telah dibuat.
2. Salin URL: URL di address bar mengandung ID Form. Misalnya, jika URL-nya `https://docs.google.com/forms/d/1AbCDEFGHIJKL/viewform`, ID Form adalah `1AbCDEFGHIJKL`.
# 2. Membuat Google Spreadsheet
1. Buka Google Sheets: Kunjungi [Google Sheets](https://sheets.google.com) dan klik "Blank" untuk membuat spreadsheet baru.
2. Isi Spreadsheet: Masukkan data atau biarkan kosong untuk diisi oleh respon Google Form.
3. Simpan Spreadsheet: Spreadsheet akan otomatis tersimpan di Google Drive.
# Menemukan ID Google Spreadsheet
1. Buka Spreadsheet: Buka spreadsheet yang telah dibuat.
2. Salin URL: URL di address bar mengandung ID Spreadsheet. Misalnya, jika URL-nya `https://docs.google.com/spreadsheets/d/1XYZ12345/edit`, ID Spreadsheet adalah `1XYZ12345`.
# 3. Membuat Google Slide
1. Buka Google Slides: Kunjungi [Google Slides](https://slides.google.com) dan klik "Blank" untuk membuat slide baru.
2. Isi Slide: Buat template dengan placeholder seperti `{{NAME}}` dan `{{TIKET}}`.
3. Simpan Slide: Slide akan otomatis tersimpan di Google Drive.
# Menemukan ID Google Slide
1. Buka Slide: Buka slide yang telah dibuat.
2. Salin URL: URL di address bar mengandung ID Slide. Misalnya, jika URL-nya `https://docs.google.com/presentation/d/1SLIDEXYZ123/edit`, ID Slide adalah `1SLIDEXYZ123`.
# 4. Membuat Folder di Google Drive
1. Buka Google Drive: Kunjungi [Google Drive](https://drive.google.com).
2. Buat Folder: Klik kanan dan pilih "New folder" atau klik tombol "New" di kiri atas dan pilih "Folder". Beri nama folder tersebut.
3. Simpan Folder: Folder akan otomatis tersimpan di Google Drive.
# Menemukan ID Folder Google Drive
1. Buka Folder: Buka folder yang telah dibuat.
2. Salin URL: URL di address bar mengandung ID Folder. Misalnya, jika URL-nya `https://drive.google.com/drive/folders/1FOLDERXYZ123`, ID Folder adalah `1FOLDERXYZ123`.
# 5. Menggunakan Google Apps Script
Gunakan script di bawah ini dan ganti placeholder dengan ID yang telah ditemukan sebelumnya:
function onFormSubmit(e) {
var formResponsesSheetId = '<ID SPREADSHEET>'; // ID Spreadsheet respon Google Form
var templateSlideId = '<ID SLIDE>'; // ID Slide template
var targetFolderId = '<ID FOLDER>'; // ID Folder Google Drive tujuan
// Ambil data dari spreadsheet
var sheet = SpreadsheetApp.openById(formResponsesSheetId).getSheets()[0];
var lastRow = sheet.getLastRow();
var namaKu = sheet.getRange(lastRow, 2).getValue(); // Nama ada di kolom B (kolom ke-2)
var emailtujuan = sheet.getRange(lastRow, 3).getValue(); // Email ada di kolom C (kolom ke-3)
// Generate nomor tiket secara otomatis
var nomorTiket = 'ID-' + pad(lastRow, 3);
sheet.getRange(lastRow, 4).setValue(nomorTiket); // Menulis nomor tiket di kolom D (kolom ke-4)
// Buat QR code berdasarkan ID Tiket
var qrCodeUrl = 'https://api.qrserver.com/v1/create-qr-code/?size=150x150&data=' + encodeURIComponent(nomorTiket);
var response = UrlFetchApp.fetch(qrCodeUrl);
var qrCodeBlob = response.getBlob().setName('qrcode.png');
// Simpan QR code sementara di Google Drive
var tempFolder = DriveApp.getFolderById(targetFolderId);
var qrCodeFile = tempFolder.createFile(qrCodeBlob);
var qrCodeFileId = qrCodeFile.getId();
// Buat salinan presentasi sebagai file baru untuk diexport
var slideTemplate = DriveApp.getFileById(templateSlideId);
var copiedPresentation = slideTemplate.makeCopy('Sertifikat ' + namaKu);
var copiedPresentationId = copiedPresentation.getId();
// Buka salinan presentasi
var presentation = SlidesApp.openById(copiedPresentationId);
var slide = presentation.getSlides()[0]; // Menggunakan slide pertama sebagai template
// Update slide dengan data dari form
slide.replaceAllText('{{NAME}}', namaKu);
slide.replaceAllText('{{TIKET}}', nomorTiket);
// Sisipkan QR code ke dalam slide
var qrCodeImage = slide.insertImage(qrCodeFile.getBlob(), 300, 200, 100, 100); // Sesuaikan posisi dan ukuran sesuai kebutuhan
slide.replaceAllText('{{QRCODE2}}', ''); // Hapus placeholder setelah gambar disisipkan
// Simpan perubahan dan tutup presentasi
presentation.saveAndClose();
// Hapus file QR code sementara
qrCodeFile.setTrashed(true);
// Tunggu beberapa saat agar perubahan diterapkan
Utilities.sleep(5000); // Tunggu 5 detik
// Export slide sebagai gambar PNG
var exportUrl = 'https://docs.google.com/presentation/d/' + copiedPresentationId + '/export/png?pageid=' + slide.getObjectId();
var token = ScriptApp.getOAuthToken();
var response = UrlFetchApp.fetch(exportUrl, {
headers: {
'Authorization': 'Bearer ' + token
}
});
var blob = response.getBlob();
var today = new Date();
var formattedDate = Utilities.formatDate(today, Session.getScriptTimeZone(), 'yyyyMMdd');
blob.setName('e-Tiket-' + nomorTiket + '-' + namaKu + '-' + formattedDate + '.png');
// Simpan gambar di folder Google Drive
var folder = DriveApp.getFolderById(targetFolderId);
var pngFile = folder.createFile(blob);
// Kirim email dengan gambar terlampir
MailApp.sendEmail({
to: emailtujuan,
subject: 'e-Tiket ' + nomorTiket + ' ' + namaKu,
body: 'Halo ' + namaKu + ',\n\nE-tiket dengan nomor ' + nomorTiket + ' atas nama ' + namaKu + ' sudah berhasil mendaftar, e-tiket terlampir pada email ini. Terima kasih.\n\nSalam,\nE-Tiket Form',
attachments: [blob]
});
// Simpan link file PNG ke kolom E (kolom ke-5)
var fileLink = pngFile.getUrl();
sheet.getRange(lastRow, 5).setValue(fileLink);
// Hapus file salinan presentasi
DriveApp.getFileById(copiedPresentationId).setTrashed(true);
}
// Fungsi untuk padding nomor tiket
function pad(num, size) {
var s = num + "";
while (s.length < size) s = "0" + s;
return s;
}
function setupTrigger() {
var form = FormApp.openById('<ID FORM>'); // Ganti dengan ID Formulir Anda
ScriptApp.newTrigger('onFormSubmit')
.forForm(form)
.onFormSubmit()
.create();
Logger.log('Trigger setup berhasil dijalankan pada ' + new Date());
}
// Fungsi untuk melihat log di Google Apps Script
function viewLogs() {
Logger.log('Log dilihat pada ' + new Date());
Logger.getLog(); // Memanggil log yang ada
}
# Cara Menggunakan Script
1. Buka Google Apps Script: Buka Google Sheets, lalu klik `Extensions > Apps Script`.
2. Copy dan Paste Script: Salin script di atas dan tempelkan ke editor script.
3. Ganti Placeholder: Ganti `<ID SPREADSHEET>`, `<ID SLIDE>`, `<ID FOLDER>`, dan `<ID FORM>` dengan ID yang sesuai.
4. Setup Trigger: Jalankan fungsi `setupTrigger` untuk mengatur trigger agar script berjalan saat form disubmit
.5. Uji Coba: Submit form dan cek hasilnya di Google Drive dan email.
Selamat mencoba! Jika ada pertanyaan, jangan ragu untuk bertanya.
LINK DEMO