Koleksi Data dengan Web Scraping dan Survei Daring

 

A. Koleksi Data

Pernahkah kamu mencari informasi lowongan pekerjaan melalui internet?

Saat ini, informasi pekerjaan dapat ditemukan dengan mudah melalui mesin pencari seperti Google maupun melalui situs khusus pencari kerja. Salah satu contohnya adalah JobStreet Indonesia.

Kamu dapat mengakses situs tersebut melalui:

https://id.jobstreet.com/

Pada halaman pencarian, kamu dapat memasukkan kata kunci pekerjaan yang ingin dicari, misalnya programmer, teknisi jaringan, desainer grafis, atau pekerjaan lainnya.

Dari hasil pencarian tersebut, kamu akan menemukan banyak lowongan pekerjaan. Setiap lowongan biasanya memiliki informasi seperti:

  • nama atau posisi pekerjaan;

  • nama perusahaan atau instansi;

  • lokasi pekerjaan;

  • kisaran gaji;

  • persyaratan pekerjaan; dan

  • informasi lainnya.

Jika jumlah lowongan cukup banyak, membaca satu per satu tentu membutuhkan waktu.

Bagaimana agar data tersebut lebih mudah dipahami?

Salah satu caranya adalah mengumpulkan dan merangkum data ke dalam sebuah tabel.

Misalnya, dari puluhan lowongan pekerjaan yang ditemukan, kita hanya mengambil informasi yang diperlukan.

No.PosisiPerusahaanLokasiGaji
1ProgrammerPerusahaan AJakartaRp7.000.000
2Web DeveloperPerusahaan BBandungRp6.500.000
3Teknisi JaringanPerusahaan CSurabayaRp5.500.000

Dengan bentuk tabel seperti ini, data menjadi lebih ringkas sehingga lebih mudah dibaca, dibandingkan harus membuka banyak halaman web.

B. Apa Itu Web Scraping?

Dalam analisis data, terdapat teknik yang disebut web scraping.

Web scraping adalah proses mengambil data tertentu dari sebuah halaman web secara otomatis menggunakan program, kemudian menyimpannya dalam bentuk yang lebih mudah digunakan, misalnya tabel, spreadsheet, atau basis data.

Sederhananya:

Web scraping = mengambil data dari halaman web secara otomatis untuk dikumpulkan dan diolah.

Web scraping dapat dilakukan menggunakan berbagai bahasa pemrograman. Salah satunya adalah Python.

Dengan Python, kita dapat membuat program yang membantu mengambil data dari halaman web dan menyusunnya kembali menjadi informasi yang lebih terstruktur.

Contoh sederhana

Bayangkan kamu menemukan 30 lowongan pekerjaan di sebuah website.

Tanpa scraping:

Website → Buka satu per satu → Catat data → Susun tabel

Dengan scraping:

Website → Program Python → Ambil data → Susun tabel

Hasilnya, data yang awalnya tersebar di beberapa halaman dapat dikumpulkan menjadi satu tabel yang lebih mudah dianalisis.

Catatan penting: Web scraping harus dilakukan secara bertanggung jawab. Tidak semua website mengizinkan pengambilan data secara otomatis. Karena itu, selalu perhatikan ketentuan penggunaan website, robots.txt, hak cipta, privasi, dan batas akses yang ditetapkan oleh pemilik website.

Aktivitas 10.1-03-P

Melakukan Koleksi Data dengan Web Scraping

Tujuan Pembelajaran

Setelah melakukan aktivitas ini, kamu diharapkan mampu:

  1. mengenal lingkungan pemrograman Python;

  2. memahami konsep dasar web scraping;

  3. mengambil data dari halaman web menggunakan Python;

  4. memilih data yang diperlukan;

  5. menyusun data menjadi tabel; dan

  6. memahami pentingnya etika dalam pengambilan data dari internet.

1. Membuka Google Colab

Untuk membuat program Python, kita membutuhkan lingkungan untuk menulis dan menjalankan kode.

Salah satu alat yang dapat digunakan adalah Google Colaboratory atau Google Colab.

Google Colab dapat digunakan secara online melalui browser sehingga kamu tidak perlu memasang Python secara manual di komputer.

Buka:

https://colab.research.google.com/

Jika diminta untuk masuk, gunakan akun Google/Gmail kamu.

Kemudian pilih:

File → New notebook

atau

File → Notebook baru

Setelah itu, kamu akan melihat lembar kerja yang disebut notebook.

Di dalam notebook tersebut, kita dapat menulis dan menjalankan program Python.

2. Mengenal Lingkungan Python dengan "Hello World"

Sebelum membuat program scraping, kita mencoba program Python yang sangat sederhana.

Ketik kode berikut pada area kode Google Colab:

print("Hello World")

Kemudian klik tombol ▶ Run di sebelah kiri area kode.

Jika berhasil, akan muncul:

Hello World

Apa yang terjadi?

Perintah:

print()

digunakan untuk menampilkan sesuatu ke layar.

Jadi:

print("Hello World")

berarti:

Tampilkan tulisan Hello World.

Percobaan sederhana ini membantu kita memastikan bahwa lingkungan Python di Google Colab sudah siap digunakan.

3. Mengenal HTML dan Parsing

Setelah berhasil menjalankan Python, kita mulai mengenal struktur halaman web.

Sebuah halaman web umumnya dibuat menggunakan HTML (HyperText Markup Language).

HTML menggunakan elemen atau tag untuk menyusun isi halaman.

Contohnya:

<h1>Lowongan Pekerjaan</h1>
<p>Programmer</p>

Dalam proses pengambilan data, program perlu membaca struktur HTML tersebut untuk menemukan informasi yang kita perlukan.

Proses membaca dan mengolah struktur data HTML disebut parsing.

Parsing dan scraping itu sama?

Tidak persis sama.

Parsing adalah proses membaca dan menguraikan struktur data, misalnya struktur HTML.

Sedangkan web scraping adalah proses mengambil data tertentu dari halaman web dengan memanfaatkan teknik seperti parsing.

Sederhananya:

Web scraping

→ mengambil data dari website

Parsing

→ membaca dan memahami struktur data yang ada di website

4. Mengambil Halaman Web dengan Python

Dalam Python, terdapat pustaka (library) yang dapat membantu mengambil dan membaca halaman HTML.

Contohnya adalah:

  • requests untuk mengambil halaman web;

  • BeautifulSoup untuk membaca dan mencari bagian tertentu dari HTML; dan

  • pandas untuk mengolah data dalam bentuk tabel.

Contoh sederhana:

import requests
from bs4 import BeautifulSoup

url = "https://contoh-website.com"

response = requests.get(url)

soup = BeautifulSoup(response.text, "html.parser")

Penjelasannya:

import requests

digunakan untuk menggunakan pustaka requests.

Kemudian:

requests.get(url)

digunakan untuk meminta atau mengambil halaman dari alamat web yang ditentukan.

Selanjutnya:

BeautifulSoup(response.text, "html.parser")

digunakan untuk membaca struktur HTML halaman tersebut.

Catatan: Contoh kode di atas merupakan ilustrasi pembelajaran. Struktur halaman website dapat berubah sewaktu-waktu. Website modern juga dapat menggunakan JavaScript, sistem keamanan, atau aturan akses tertentu sehingga contoh kode tidak selalu dapat digunakan langsung pada semua website.

5. Menentukan Data yang Akan Diambil

Sebelum melakukan scraping, kita harus menentukan data apa yang benar-benar diperlukan.

Misalnya, kita ingin mengumpulkan data lowongan pekerjaan.

Data yang diperlukan dapat berupa:

DataKeterangan
PosisiNama pekerjaan
PerusahaanNama perusahaan/instansi
LokasiKota atau daerah pekerjaan
GajiInformasi gaji jika tersedia

Mengambil terlalu banyak data tidak selalu lebih baik.

Justru, kita perlu mengambil data yang relevan dengan tujuan analisis.

Inilah salah satu keterampilan penting dalam pengolahan data:

Tentukan terlebih dahulu pertanyaan yang ingin dijawab, kemudian kumpulkan data yang diperlukan.

6. Mengolah Data Menjadi Tabel

Setelah data berhasil dikumpulkan, kita dapat menyusunnya menjadi tabel.

Python memiliki pustaka bernama pandas yang sangat populer untuk pengolahan data.

Contoh:

import pandas as pd

data = [
    ["Programmer", "Perusahaan A", "Jakarta", "Rp7.000.000"],
    ["Web Developer", "Perusahaan B", "Bandung", "Rp6.500.000"],
    ["Teknisi Jaringan", "Perusahaan C", "Surabaya", "Rp5.500.000"]
]

df = pd.DataFrame(
    data,
    columns=["Posisi", "Perusahaan", "Lokasi", "Gaji"]
)

df

Program tersebut akan menghasilkan tabel seperti:

PosisiPerusahaanLokasiGaji
ProgrammerPerusahaan AJakartaRp7.000.000
Web DeveloperPerusahaan BBandungRp6.500.000
Teknisi JaringanPerusahaan CSurabayaRp5.500.000

Sekarang, data yang sebelumnya tersebar dapat dilihat dalam satu tabel.

7. Mengambil Data dari Beberapa Halaman

Pada website pencari kerja, hasil pencarian biasanya terdiri atas beberapa halaman.

Misalnya:

Halaman 1 → 20 lowongan

Halaman 2 → 20 lowongan

Halaman 3 → 20 lowongan

dan seterusnya.

Jika ingin mengumpulkan data dari beberapa halaman, program dapat dibuat untuk mengakses halaman-halaman tersebut secara berurutan.

Namun, sebelum melakukan hal tersebut, perhatikan aturan website.

Beberapa website:

  • membatasi jumlah permintaan;

  • menggunakan sistem keamanan;

  • memerlukan autentikasi;

  • melarang scraping otomatis; atau

  • menyediakan API resmi untuk pengambilan data.

Jika tersedia API resmi, penggunaan API biasanya lebih tepat daripada melakukan scraping langsung.

8. Membersihkan Data

Data hasil scraping belum tentu langsung siap digunakan.

Terkadang terdapat:

  • data kosong;

  • data ganda;

  • tulisan yang tidak diperlukan;

  • format gaji yang berbeda;

  • lokasi yang tidak lengkap; atau

  • informasi yang tidak sesuai dengan kebutuhan.

Karena itu, data perlu dibersihkan sebelum dianalisis.

Contohnya:

Data AwalSetelah Dibersihkan
Jakarta, IndonesiaJakarta
Rp 7.000.000 / bulanRp7.000.000
Programmer – Full TimeProgrammer
Data tidak tersedia

Proses ini disebut data cleaning atau pembersihan data.

9. Hasil Akhir Koleksi Data

Setelah data berhasil diambil dan dibersihkan, kita dapat membuat tabel ringkasan.

Contohnya:

No.PosisiPerusahaanLokasiGaji
1ProgrammerPerusahaan AJakartaRp7.000.000
2Web DeveloperPerusahaan BBandungRp6.500.000
3Teknisi JaringanPerusahaan CSurabayaRp5.500.000
4Data AnalystPerusahaan DJakartaRp8.000.000

Dari tabel tersebut, kita dapat melakukan analisis lebih lanjut.

Misalnya:

  • pekerjaan apa yang paling banyak tersedia?

  • kota mana yang memiliki banyak lowongan?

  • berapa kisaran gaji pekerjaan tertentu?

  • keterampilan apa yang sering diminta perusahaan?

  • pekerjaan bidang teknologi apa yang paling banyak ditemukan?

Dengan demikian, data tidak hanya dikumpulkan, tetapi dapat diubah menjadi informasi yang berguna.

Aktivitas 10.1-04-U

Koleksi Data Secara Manual

Tidak semua pengumpulan data harus menggunakan program.

Kamu juga dapat mengumpulkan data secara manual melalui survei sederhana.

Langkah kegiatan

  1. Tentukan orang yang akan menjadi responden.

  2. Buat beberapa pertanyaan.

  3. Tanyakan pekerjaan atau peluang kerja yang mereka ketahui.

  4. Catat jawaban responden.

  5. Masukkan hasilnya ke dalam tabel.

  6. Analisis data yang telah terkumpul.

Contoh tabel:

No.PosisiInstansi/PerusahaanLokasiGaji
1TeknisiPerusahaan ABlitarRp4.000.000
2ProgrammerPerusahaan BMalangRp6.000.000
3AdminPerusahaan CKediriRp3.500.000

Pertanyaan untuk diskusi

Menurutmu, apa kelebihan dan kekurangan mengumpulkan data secara manual dibandingkan menggunakan program?

Aktivitas 10.1-05-P

Mengumpulkan Data dengan Teknologi

Tujuan

Pada aktivitas ini, kamu akan belajar membuat dan menyebarkan survei secara daring menggunakan teknologi.

Kamu dapat menggunakan beberapa aplikasi, misalnya:

  • Google Forms;

  • Microsoft Forms; atau

  • platform survei daring lainnya.

Melalui aktivitas ini, kamu juga akan belajar mengolah dan membaca hasil survei.

Deskripsi Aktivitas

1. Pendahuluan

Guru akan menjelaskan mengapa data perlu dikumpulkan sebelum melakukan analisis.

Kamu akan mengenal berbagai alat survei daring dan memahami bagaimana teknologi dapat membantu mengumpulkan data dengan lebih cepat.

2. Membentuk Kelompok

Bentuk kelompok kecil sesuai arahan guru.

Setiap kelompok menentukan topik survei yang dekat dengan kehidupan sehari-hari.

Contoh topik:

  • penggunaan media sosial oleh siswa;

  • kebiasaan membaca;

  • penggunaan internet;

  • transportasi siswa ke sekolah;

  • penggunaan AI untuk belajar;

  • minat terhadap ekstrakurikuler;

  • kebiasaan belajar siswa; atau

  • penggunaan teknologi di sekolah.

Pilih topik yang dapat menghasilkan data yang mudah dikumpulkan dan dianalisis.

3. Membuat Kuesioner

Buat kuesioner menggunakan salah satu aplikasi survei daring.

Jenis pertanyaan yang dapat digunakan antara lain:

Pilihan ganda

Perangkat apa yang paling sering kamu gunakan untuk belajar?

Isian singkat

Berapa jam rata-rata kamu menggunakan internet setiap hari?

Skala

Seberapa setuju kamu bahwa teknologi membantu proses belajar?

Kamu harus membuat pertanyaan yang:

  • jelas;

  • singkat;

  • mudah dipahami;

  • tidak menyesatkan; dan

  • tidak memaksa responden memilih jawaban tertentu.

4. Menyebarkan Survei

Setelah kuesioner selesai, bagikan tautan survei kepada responden.

Responden dapat berupa:

  • teman sekelas;

  • siswa kelas lain;

  • guru;

  • anggota keluarga; atau

  • kelompok lain sesuai arahan guru.

Pastikan responden mengetahui tujuan survei dan data yang dikumpulkan digunakan untuk kegiatan pembelajaran.

5. Mengumpulkan dan Menganalisis Data

Setelah mendapatkan jawaban, lihat hasil survei.

Perhatikan:

  • jumlah responden;

  • jawaban yang paling banyak dipilih;

  • jawaban yang paling sedikit dipilih;

  • persentase setiap jawaban;

  • pola yang terlihat dari data; dan

  • kemungkinan adanya data yang tidak sesuai.

Gunakan tabel atau grafik untuk membantu memahami data.

Contohnya:

Pertanyaan:
Apakah kamu menggunakan AI untuk membantu belajar?

JawabanJumlah Siswa
Ya28
Tidak12

Dari data tersebut, kamu dapat membuat grafik dan menjelaskan hasilnya.

Ingat:

Data adalah kumpulan fakta atau nilai. Informasi adalah data yang sudah diolah sehingga memiliki makna dan dapat membantu kita memahami sesuatu.

6. Mempresentasikan Hasil

Setiap kelompok mempresentasikan hasil surveinya di depan kelas.

Presentasi dapat memuat:

  1. Judul survei

  2. Tujuan survei

  3. Responden

  4. Metode pengumpulan data

  5. Hasil survei

  6. Grafik atau tabel

  7. Kesimpulan

Contoh kesimpulan:

Berdasarkan survei terhadap 40 siswa, sebanyak 28 siswa menggunakan AI untuk membantu belajar, sedangkan 12 siswa tidak menggunakannya. Data tersebut menunjukkan bahwa penggunaan AI sudah cukup dikenal oleh siswa dalam kegiatan belajar.

Hasil yang Diharapkan

Setelah menyelesaikan aktivitas ini, kamu diharapkan mampu:

  • membuat kuesioner yang sederhana dan jelas;

  • menggunakan aplikasi survei daring;

  • mengumpulkan data dari responden;

  • menyajikan data dalam bentuk tabel atau grafik;

  • membaca dan memahami hasil survei;

  • menarik kesimpulan berdasarkan data;

  • bekerja sama dalam kelompok; dan

  • menyampaikan hasil analisis secara lisan maupun tertulis.

Alat dan Sumber Daya

Untuk melakukan aktivitas ini, kamu dapat menggunakan:

  • komputer atau laptop;

  • smartphone jika diperlukan;

  • koneksi internet;

  • akun Google atau Microsoft;

  • Google Forms atau Microsoft Forms;

  • Google Colab untuk latihan Python; dan

  • aplikasi pengolah data seperti Google Sheets atau Microsoft Excel.

Refleksi

Setelah menyelesaikan kegiatan, jawablah pertanyaan berikut.

  1. Apa yang dimaksud dengan data?

  2. Apa perbedaan data dan informasi?

  3. Apa yang dimaksud dengan web scraping?

  4. Apa perbedaan scraping dan parsing?

  5. Mengapa data perlu dibersihkan sebelum dianalisis?

  6. Apa manfaat Python dalam pengolahan data?

  7. Mengapa kita perlu menentukan data yang diperlukan sebelum melakukan scraping?

  8. Apa kelebihan pengumpulan data menggunakan teknologi?

  9. Apa yang harus diperhatikan ketika mengambil data dari internet?

  10. Mengapa kesimpulan harus dibuat berdasarkan data yang telah dikumpulkan?

Kesimpulan

Pengumpulan data merupakan salah satu tahap penting dalam proses analisis data.

Data dapat dikumpulkan dengan berbagai cara, baik secara manual melalui survei maupun menggunakan teknologi seperti Python dan web scraping.

Setelah dikumpulkan, data perlu diperiksa, dibersihkan, disusun, dan dianalisis agar menghasilkan informasi yang bermanfaat.

Sebagai siswa kelas X, kamu tidak hanya perlu mampu menggunakan teknologi, tetapi juga perlu memahami dari mana data berasal, bagaimana data dikumpulkan, bagaimana data diolah, dan bagaimana kesimpulan dibuat berdasarkan data.

Dengan keterampilan tersebut, kamu dapat menggunakan data untuk memahami berbagai persoalan di sekitar dan mengambil keputusan secara lebih tepat berdasarkan informasi yang tersedia.

0 Komentar