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:
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. | Posisi | Perusahaan | Lokasi | Gaji |
|---|---|---|---|---|
| 1 | Programmer | Perusahaan A | Jakarta | Rp7.000.000 |
| 2 | Web Developer | Perusahaan B | Bandung | Rp6.500.000 |
| 3 | Teknisi Jaringan | Perusahaan C | Surabaya | Rp5.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:
mengenal lingkungan pemrograman Python;
memahami konsep dasar web scraping;
mengambil data dari halaman web menggunakan Python;
memilih data yang diperlukan;
menyusun data menjadi tabel; dan
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:
requestsuntuk mengambil halaman web;BeautifulSoupuntuk membaca dan mencari bagian tertentu dari HTML; danpandasuntuk 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:
| Data | Keterangan |
|---|---|
| Posisi | Nama pekerjaan |
| Perusahaan | Nama perusahaan/instansi |
| Lokasi | Kota atau daerah pekerjaan |
| Gaji | Informasi 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:
| Posisi | Perusahaan | Lokasi | Gaji |
|---|---|---|---|
| Programmer | Perusahaan A | Jakarta | Rp7.000.000 |
| Web Developer | Perusahaan B | Bandung | Rp6.500.000 |
| Teknisi Jaringan | Perusahaan C | Surabaya | Rp5.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 Awal | Setelah Dibersihkan |
|---|---|
| Jakarta, Indonesia | Jakarta |
| Rp 7.000.000 / bulan | Rp7.000.000 |
| Programmer – Full Time | Programmer |
| — | 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. | Posisi | Perusahaan | Lokasi | Gaji |
|---|---|---|---|---|
| 1 | Programmer | Perusahaan A | Jakarta | Rp7.000.000 |
| 2 | Web Developer | Perusahaan B | Bandung | Rp6.500.000 |
| 3 | Teknisi Jaringan | Perusahaan C | Surabaya | Rp5.500.000 |
| 4 | Data Analyst | Perusahaan D | Jakarta | Rp8.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
Tentukan orang yang akan menjadi responden.
Buat beberapa pertanyaan.
Tanyakan pekerjaan atau peluang kerja yang mereka ketahui.
Catat jawaban responden.
Masukkan hasilnya ke dalam tabel.
Analisis data yang telah terkumpul.
Contoh tabel:
| No. | Posisi | Instansi/Perusahaan | Lokasi | Gaji |
|---|---|---|---|---|
| 1 | Teknisi | Perusahaan A | Blitar | Rp4.000.000 |
| 2 | Programmer | Perusahaan B | Malang | Rp6.000.000 |
| 3 | Admin | Perusahaan C | Kediri | Rp3.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?
| Jawaban | Jumlah Siswa |
|---|---|
| Ya | 28 |
| Tidak | 12 |
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:
Judul survei
Tujuan survei
Responden
Metode pengumpulan data
Hasil survei
Grafik atau tabel
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.
Apa yang dimaksud dengan data?
Apa perbedaan data dan informasi?
Apa yang dimaksud dengan web scraping?
Apa perbedaan scraping dan parsing?
Mengapa data perlu dibersihkan sebelum dianalisis?
Apa manfaat Python dalam pengolahan data?
Mengapa kita perlu menentukan data yang diperlukan sebelum melakukan scraping?
Apa kelebihan pengumpulan data menggunakan teknologi?
Apa yang harus diperhatikan ketika mengambil data dari internet?
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