Contoh Program Google Apps Script untuk memproses isian Google Form secara langsung

Minggu, 23 Februari 2025

Berikut adalah contoh program Google Apps Script yang memproses isian Google Form secara langsung setelah submit dan menampilkan persentase tiap jawaban dalam bentuk grafik. Script ini akan mengambil data dari Google Form, menghitung persentase jawaban, dan menampilkan hasilnya dalam bentuk grafik menggunakan Google Sheets.


---


### Langkah 1: Buat Google Form

1. Buat Google Form dengan beberapa pertanyaan (misalnya, pertanyaan pilihan ganda).

2. Buka tab "Responses" dan klik ikon Google Sheets untuk menyimpan respons ke dalam spreadsheet.


---


### Langkah 2: Buat Google Apps Script

1. Buka Google Sheets yang terkait dengan Google Form.

2. Klik `Extensions` > `Apps Script`.

3. Hapus kode default dan ganti dengan kode berikut:


```javascript

function onFormSubmit(e) {

  // Ambil data dari Google Form

  var formResponses = e.source.getResponses();

  var latestResponse = formResponses[formResponses.length - 1];

  var itemResponses = latestResponse.getItemResponses();


  // Ambil data dari Google Sheets

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

  var data = sheet.getDataRange().getValues();


  // Hitung total respons

  var totalResponses = data.length - 1; // Exclude header


  // Hitung persentase jawaban

  var answerCounts = {};

  for (var i = 1; i < data.length; i++) {

    var answer = data[i][1]; // Kolom kedua (indeks 1) adalah jawaban

    if (answerCounts[answer]) {

      answerCounts[answer]++;

    } else {

      answerCounts[answer] = 1;

    }

  }


  // Hitung persentase

  var percentages = {};

  for (var key in answerCounts) {

    percentages[key] = (answerCounts[key] / totalResponses) * 100;

  }


  // Tampilkan hasil dalam bentuk grafik

  var chartData = [['Jawaban', 'Persentase']];

  for (var key in percentages) {

    chartData.push([key, percentages[key]]);

  }


  // Buat grafik

  var chartSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Chart') || SpreadsheetApp.getActiveSpreadsheet().insertSheet('Chart');

  chartSheet.clear();

  chartSheet.getRange(1, 1, chartData.length, chartData[0].length).setValues(chartData);


  var chart = chartSheet.newChart()

    .setChartType(Charts.ChartType.BAR)

    .addRange(chartSheet.getRange(1, 1, chartData.length, chartData[0].length))

    .setPosition(5, 5, 0, 0)

    .setOption('title', 'Persentase Jawaban')

    .setOption('hAxis', { title: 'Persentase (%)' })

    .setOption('vAxis', { title: 'Jawaban' })

    .build();


  chartSheet.insertChart(chart);

}


// Trigger untuk menjalankan script saat form di-submit

function installTrigger() {

  ScriptApp.newTrigger('onFormSubmit')

    .forSpreadsheet(SpreadsheetApp.getActiveSpreadsheet())

    .onFormSubmit()

    .create();

}

```


---


### Langkah 3: Jalankan Script

1. Simpan script dengan nama `Form Response Processor`.

2. Jalankan fungsi `installTrigger` untuk mengaktifkan trigger. Klik `Run` pada fungsi `installTrigger`.

3. Setelah trigger diaktifkan, setiap kali ada respons baru di Google Form, script akan otomatis dijalankan.


---


### Langkah 4: Lihat Hasil

1. Buka Google Sheets yang terkait dengan Google Form.

2. Anda akan melihat sheet baru bernama `Chart` yang berisi grafik persentase jawaban.

3. Grafik akan diperbarui setiap kali ada respons baru.


---


### Penjelasan Kode:

1. **onFormSubmit(e)**: Fungsi ini dipanggil setiap kali ada respons baru di Google Form. Data respons diambil dan diproses untuk menghitung persentase jawaban.

2. **answerCounts**: Objek untuk menyimpan jumlah setiap jawaban.

3. **percentages**: Objek untuk menyimpan persentase setiap jawaban.

4. **chartData**: Array untuk menyimpan data yang akan digunakan untuk membuat grafik.

5. **Chart**: Grafik dibuat menggunakan Google Sheets API dan ditampilkan di sheet baru.


---


### Contoh Output:

- Sheet `Chart` akan menampilkan tabel seperti ini:

  ```

  Jawaban   | Persentase

  ------------------------

  Jawaban A | 50%

  Jawaban B | 30%

  Jawaban C | 20%

  ```

- Grafik batang (bar chart) akan menampilkan persentase jawaban secara visual.


---


### Catatan:

- Pastikan Google Form memiliki pertanyaan pilihan ganda atau jawaban yang dapat dihitung.

- Sesuaikan indeks kolom (`data[i][1]`) sesuai dengan struktur Google Sheets Anda.

- Anda dapat menyesuaikan jenis grafik dengan mengubah `Charts.ChartType.BAR` menjadi `Charts.ChartType.PIE` atau jenis lainnya.


Dengan script ini, Anda dapat memproses respons Google Form secara otomatis dan menampilkan hasilnya dalam bentuk grafik yang informatif.

Share this article :

0 komentar :

Speak up your mind

Tell us what you're thinking... !

 
Support : Creating Website | Johny Template | Mas Template
Copyright © 2011. Catatan Kuswardayan - All Rights Reserved
Template Created by Creating Website Inspired by Sportapolis Shape5.com
Proudly powered by Blogger