Giter Site home page Giter Site logo

seleksi-2022-tugas-1's Introduction


Seleksi Warga Basdat 2022


Tugas 1 : Data Scraping & Data Storing


Deskripsi Data dan DBMS

Web scraping yang dilakukan bertujuan untuk memperoleh data klub sepakbola Eropa yang terdaftar dalam permainan FIFA22. Data yang diambil bersumber dari sofifa.com. Data-data yang diambil meliputi statistik, taktik bermain, liga sepakbola, stadium, kapten, dan pelatih tiap klub.

DBMS yang dipilih untuk menyimpan data hasil scraping adalah PostgreSQL. Alasan pemilihan PostgreSQL adalah PostgreSQL merupakan DBMS yang open source dan dapat diandalkan untuk menyimpan data-data yang ada.

Spesifikasi Program

Program yang dibuat bertujuan untuk memperoleh data klub sepakbola Eropa yang terdaftar dalam permainan FIFA22 dan menyimpannya dalam bentuk JSON.

Penggunaan Program

  1. Pastikan Python sudah ter-install. Instalasi Python dapat dilakukan melalui link https://www.python.org/downloads/.
  2. Buka folder Data Scraping/src pada terminal.
  3. Jalankan perintah berikut untuk melakukan instalasi package yang diperlukan
pip install -r requirements.txt
  1. Jalankan perintah berikut untuk menjalankan program
python web_scraping.py

Struktur JSON

{
  "clubs": [
    {
      "club_id": ID unik klub,
      "club_name": Nama klub,
      "league_id": ID liga yang diikuti klub,
      "overall": Rating keseluruhan pemain klub,
      "attack": Rating pemain menyerang klub,
      "midfield": Rating pemain gelandang klub,
      "defense": Rating pemain bertahan klub,
      "transfer_budget": Anggaran transfer klub,
      "number_of_players": Jumlah pemain klub,
      "defensive_style_id": ID gaya bertahan klub,
      "defense_width": Lebar bertahan klub,
      "defense_depth": Kedalaman bertahan klub,
      "build_up_play_id": ID gaya membangun serangan klub,
      "chance_creation_id": ID gaya menciptakan peluang klub,
      "offense_width": Lebar menyerang klub,
      "offense_player_in_box": Jumlah pemain dalam kotak penalti ketika menyerang,
      "corner_player_in_box": Jumlah pemain dalam kotak penalti ketika melakukan sepak pojok,
      "free_kick_player_in_box": Jumlah pemain dalam kotak penalti ketika melakukan tendangan bebas,
      "rival_club_id": ID klub rival,
      "club_worth": Nilai klub,
      "average_age": Rata-rata usia pemain klub,
      "captain_id": ID kapten klub,
      "home_stadium_id": ID stadium klub
    }, ...
  ],
  "leagues": [
    {
      "league_id": ID liga,
      "league_name": Nama liga
    }, ...
  ],
  "stadiums": [
    {
      "stadium_id": ID stadium,
      "stadium_name": Nama stadium
    }, ...
  ],
  "captains": [
    {
      "captain_id": ID kapten,
      "captain_name": Nama kapten
    }, ...
  ],
  "coaches": [
    {
      "coach_id": ID pelatih,
      "coach_name": Nama pelatih,
      "birth_date": Tanggal lahir pelatih,
      "club_id": ID klub yang dilatih
    }, ...
  ],
  "defensive_style": [
    {
      "defensive_style_id": ID gaya bertahan,
      "defensive_style_name": Nama gaya bertahan
    }, ...
  ],
  "build_up_play": [
    {
      "build_up_play_id": ID gaya membangun serangan,
      "build_up_play_name": Nama gaya membangun serangan
    }, ...
  ],
  "chance_creation": [
    {
      "chance_creation_id": ID gaya menciptakan peluang,
      "chance_creation_name": Nama gaya menciptakan peluang
    }, ...
  ]
}

Struktur Database

  • ER Diagram ER Diagram
  • Model Relasional
club = (club_id, club_name, overall, attack, midfield, defense, transfer_budget, number_of_players, defense_width, defense_depth, offense_width, offense_player_in_box, corner_player_in_box, free_kick_player_in_box, club_worth, average_age, league_id, home_stadium_id, captain_id, defensive_style_id, build_up_play_id, chance_creation_id, rival_club_id)

league = (league_id, league_name)

stadium = (stadium_id, stadium_name)

captain = (captain_id, captain_name)

coach = (coach_id, coach_name, birth_date, club_id)

defensive_style = (defensive_style_id, defensive_style_name)

build_up_play = (build_up_play_id, build_up_play_name)

chance_creation = (chance_creation_id, chance_creation_name)

Catatan: Atribut ID menjadi primary key tiap tabel

Screenshot Program

  • Data Scraping

Functionalities

Running Program

  • Data Storing (Local)

Local Club Table

Local League Table

Local Stadium Table

Local Captain Table

Local Coach Table

Local Defensive Style Table

Local Build Up Play Table

Local Chance Creation Table

  • Data Storing (Cloud)

Cloud Club Table

Cloud League Table

Cloud Stadium Table

Cloud Captain Table

Cloud Coach Table

Cloud Defensive Style Table

Cloud Build Up Play Table

Cloud Chance Creation Table

Referensi

Author

Fernaldy

13520112

seleksi-2022-tugas-1's People

Contributors

andresjerriels avatar fernaldy112 avatar wargabasdat avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.