wargabasdat / Seleksi-2024-Tugas-1

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


Seleksi Warga Basdat 2024
ETL Project


Singkatnya?

Pada tahap seleksi ini, peserta akan diminta untuk melakukan proses ETL yang meliputi data scraping, database modeling, dan data storing terkait sebuah topik yang dibebaskan kepada peserta. Peserta juga diminta untuk merancang sebuah model ERD dan model relasional yang akan diimplementasikan untuk menyimpan hasil proses data scraping sebelumnya. Tahap seleksi ini menguji kemampuan peserta untuk mengumpulkan data, merancang sebuah database, dan merealisasikan rancangan tersebut menjadi sebuah database relasional yang fungsional.

Step 1: Data Scraping

  1. Pilih sebuah topik yang akan kalian jadikan sebagai tema pada seleksi data scraping Anda. Daftarkan topik tersebut ke dalam spreadsheet berikut: Daftar Topik Seleksi Asisten Lab Basis Data 2024
    • Usahakan agar tidak ada dua atau lebih peserta dengan topik yang sama
    • First come, first served. Bila ada dua atau lebih peserta dengan topik yang sama, peserta dengan topik yang sudah terdaftar duluan (berada di atas) akan diprioritaskan.
    • Akses edit ke spreadsheet topik data scraping akan ditutup pada tanggal 25 Juli pukul 21:40 WIB
  2. Lakukan data scraping dari sebuah web page untuk memperoleh data dan informasi sesuai dengan topik yang telah dipilih oleh masing-masing peserta.
    • Data dan informasi yang diperoleh akan digunakan di step berikutnya sebagai data yang akan disimpan di dalam sebuah RDBMS
    • Peserta DILARANG menggunakan API untuk melakukan proses data scraping
  3. Pada folder Data Scraping, peserta harus mengumpulkan file script dan file JSON hasil scraping yang telah dilakukan
    • Folder src berisi script/code yang telah digunakan untuk scraping. Pastikan bahwa script/code yang kalian bua bersifat well documented dan clean.
    • Folder data berisi semua data dan informasi yang berhasil kalian scrape dalam bentu JSON. Peserta diperbolehkan untuk memisahkan hasil scraping ke dalam file-file yang berbeda ataupun digabung dalam satu file yang besar. Yang penting sesuai dengan output dari script data scraping yang digunakan
    • Folder screenshot berisi tangkapan layar dari script/code yang kalian gunakan untuk data scraping. Pastikan tangkapan layar dapat dibaca dengan jelas
  4. Sebagai referensi untuk mempelajari dan mengenal data scraping, asisten telah menyiapkan dokumen panduan singkat pada link berikut: Panduan Singkat Data Scraping
    • Dokumen tersebut hanya merupakan panduan bagi peserta. Metodologi data scraping yang digunakan oleh peserta seleksi basdat dibebaskan (asal sesuai peraturan)
    • Perhatikan dan peragakan etika data scraping yang baik dalam pelaksanaan seleksi ini
  5. Syarat data yang diperoleh dari proses data scraping: Data yang diperoleh harus di-preprocessing terlebih dahulu
    • Beberapa contoh preprocessing:
      • Cleaning
      • Parsing
      • Transformation
      • Dll
    • Preprocessing dilakukan untuk memastikan data yang diterima tidak sepenuh-penuhnya mentah dan tidak dapat dipahami dengan mudah

Step 2: Data Modeling + Data Storing

  1. Dari hasil proses data scraping yang telah dilakukan, lakukan perancangan database dalam bentuk ERD. Sertakan asumsi dan penjelasan di dalam desain ERD-nya bila diperlukan
  2. Translasikan hasil desain ERD tersebut ke dalam bentuk diagram relasional. Peserta dipersilahkan untuk menambahkan tabel lain yang sekiranya relevan atau berkaitan dengan tabel-tabel yang murni didapatkan dari proses data scraping.
  3. Implementasikan skema diagram relasional tersebut ke dalam RDBMS sesuai pilihan peserta (PostgreSQL, mariaDB, etc). Peserta dilarang untuk menggunakan DBMS no-SQL
    • Jangan lupa untuk mengimplementasikan constraints ke dalam database (primary key, foreign key, trigger, dll)
  4. Setelah database-nya telah diimplementasikan, masukkan data yang didapatkan dari proses scraping ke dalam RDBMS yang telah dibuat
    • Tabel tambahan yang dibuat pada poin 2 tidak perlu diisi dengan data (baik data dummy maupun data asli). Cukup dibiarkan kosong
  5. Tools yang digunakan dibebaskan kepada peserta
  6. Pada folder Data Storing, peserta harus mengumpulkan bukti penyimpanan data pada DBMS. Folder Data Storing terdiri dari folder design, export, dan screenshots.
    • Folder design berisi gambar ERD dan gambar diagram relasional dari database yang kalian rancang. Format file yang diterima adalah .png
    • Folder export berisi file hasil export dari DBMS dengan format .sql
    • Folder screenshots berisi tangkapan layar bukti dari penyimpanan data ke dalam RDBMS (Query SELECT FROM WHERE pada RDBMS)

Bonus:

Task-task berikut merupakan bonus yang TIDAK WAJIB dilakukan oleh peserta seleksi. Penyelesaian satu atau lebih dari task bonus akan membawa nilai tambahan bagi peserta yang menyelesaikannya. Peserta dibolehkan untuk mengerjakan sebagian atau seluruh dari task bonus yang tersedia

  1. Buatlah visualisasi data dalam bentuk dashboard dari data yang didapatkan dari proses data scraping. Berikan penjelasan mengenai insight yang didapatkan dari visualisasi data tersebut. Tools yang digunakan untuk membuat dashboard dibebaskan pada peserta.

Pengumpulan

  1. Peserta diwajibkan untuk melakukan fork terhadap project GitHub Seleksi Lab Basdat 2024. Peserta harus melakukan pull request dengan nama TUGAS_SELEKSI_2_[NIM] sebelum tenggat waktu yang telah ditetapkan
  2. Tambahkan .gitignore pada file atau folder yang tidak perlu di-upload. NB: Binary tidak perlu di-upload
  3. Sertakan file README yang memuat:
    • Author (Nama dan NIM)
    • Deskripsi singkat mengenai data dan DBMS yang telah dibuat + mengapa kalian memilih topik tersebut
    • Cara menggunakan scraper yang telah dibuat dan menggunakan hasil output-nya
    • Penjelasan struktur dari file JSON yang dihasilkan scraper
    • Struktur ERD dan diagram relasional RDBMS
    • Penjelasan mengenai proses translasi ERD menjadi diagram relasional
    • Beberapa screenshot dari program yang dijalankan (image di-upload sesuai folder-folder yang tersedia, di README tinggal ditampilkan)
    • Referensi (library yang digunakan, link halaman web yang di-scrape, etc)

DEADLINE PENGUMPULAN ADALAH TANGGAL 31 JULI 2024, PUKUL 22:40

About