/Ujian_AnalyticsVisualization_JCDS03

Panduan Soal Ujian Data Analytics & Visualization Job Connector Data Science batch 3

Data Analytics & Visualization Exam

Lintang_Purwadhika

Soal 1 - MySQL Database

Tuliskan langkah-langkah/urutan query MySQL untuk membuat sebuah database "sekolahku" yang memiliki beberapa tabel: "users", "courses" dan "userCourse", dengan ketentuan di bawah ini:

  1. Buatlah tabel "users" yang memiliki struktur/model sebagai berikut. Tabel "users" merupakan kumpulan data peserta didik di sebuah sekolah.

    Soal_1.a

    Masukkan beberapa data berikut ke dalam tabel "users". Hasil yang diharapkan adalah:

    Soal_1.b

  2. Buatlah tabel "courses" yang memiliki struktur/model sebagai berikut. Tabel "courses" merupakan kumpulan data mata kuliah yang diajarkan di sebuah sekolah.

    Soal_2.a

    Masukkan beberapa data berikut ke dalam tabel "courses". Hasil yang diharapkan adalah:

    Soal_2.b

  3. Buatlah tabel "userCourse" yang memiliki struktur/model sebagai berikut. Tabel "userCourse" merupakan tabel penghubung/transaksi antara tabel "user" & "courses".

    Soal_3.a

    Masukkan beberapa data berikut ke dalam tabel "userCourse". Hasil yang diharapkan adalah:

    Soal_3.b

  4. Dari tabel "users", "courses" dan "userCourse", tampilkan semua daftar peserta didik beserta mata kuliah yang diikutinya, lengkap dengan nama & gelar mentornya. Hasil yang diharapkan adalah sebagai berikut:

    Soal_4

  5. Dari tabel "users", "courses" dan "userCourse", tampilkan daftar peserta didik beserta mata kuliah yang diikutinya, yang mentornya bergelar sarjana. Hasil yang diharapkan adalah sebagai berikut:

    Soal_5

  6. Dari tabel "users", "courses" dan "userCourse", tampilkan daftar peserta didik beserta mata kuliah yang diikutinya, yang mentornya bergelar selain sarjana. Hasil yang diharapkan adalah sebagai berikut:

    Soal_6

  7. Dari tabel "users", "courses" dan "userCourse", tampilkan jumlah peserta didik untuk setiap mata kuliah. Hasil yang diharapkan adalah sebagai berikut:

    Soal_7

  8. Dari tabel "users", "courses" dan "userCourse", tampilkan jumlah peserta didik beserta total fee untuk setiap mentor. Total fee dihitung dengan besaran Rp 2.000.000,- per peserta didik. Hasil yang diharapkan adalah sebagai berikut:

    Soal_8

Catatan: Soal ini hanya meminta Anda untuk menuliskan langkah-langkah/urutan query MySQL sesuai spesifikasi di atas. Ketik jawaban dalam sebuah file .txt & lampirkan via email ke lintang@purwadhika.com!

Soal 2 - SPLTV (Sistem Persamaan Linear Tiga Variabel)

Bersumber dari blog catarinadyah90, terdapat 3 buah persamaan linear 3 variabel sebagai berikut:

x  - 2y +  z =  6
3x +  y - 2z =  4
7x - 6y -  z = 10
  1. Dengan menggunakan numpy, buatlah sebuah program python yang dapat menentukan nilai x, y & z dari 3 buah persamaan di atas! Hasil yang diharapkan saat program dieksekusi adalah:

    Nilai x = 5.0
    Nilai y = 3.0
    Nilai z = 7.0
  2. Dengan menggunakan matplotlib, buatlah sebuah program python yang dapat menggambarkan area 3D yang merepresentasikan masing-masing persamaan di atas. Hasil yang diharapkan saat program dieksekusi berupa 1 buah figure dengan 3 buah plot 3D sebagai berikut:

soal_spltv

Catatan: Commit & push source code jawaban soal ini (beserta screenshot plot figure) ke Github Anda, buatlah repo dengan nama Ujian_SPLTV. Kemudian lampirkan url link repo Github Anda via email ke lintang@purwadhika.com!

Soal 3 - Dosen & Mahasiswa

  1. Tuliskan langkah-langkah/urutan query MongoDB untuk membuat sebuah database Non-RDBMS (Document Store) dengan spesifikasi sebagai berikut:

    • Terdapat sebuah database dengan nama "Kampus".

    • Database "Kampus" memiliki 2 buah user:

      • User pertama adalah admin database bernama "andi", dengan password "anditopsecret".
      • User kedua bukanlah admin, namun tetap dapat memasukkan & membaca data dari database. User kedua bernama "budi", dengan password "buditopsecret".
    • Database "Kampus" memiliki 2 buah collection: "Dosen" dan "Mahasiswa".

    • Masukkan 3 buah data berikut ke collection "Dosen":

      {nama:"Caca",
      usia:28,
      asal:"Jakarta",
      bidang:"Fisika Astrologi",
      titel:"S2",
      status:"Honorer",
      nip:123,
      matkul:["Metrologi","Kosmologi","Kalkulus"]}
      
      {nama:"Dedi",
      usia:29,
      asal:"Yogyakarta",
      bidang:"Fisika Terapan",
      titel:"S3",
      status:"PNS",
      nip:456,
      matkul:["Instrumentasi","Elektronika","Fisika Dasar"]}
      
      {nama:"Euis",
      usia:30,
      asal:"Bandung",
      bidang:"Fisika Teoretik",
      titel:"S1",
      status:"Honorer",
      nip:789,
      matkul:["Fisika Dasar","Fisika Modern","Kalkulus"]}
    • Masukkan 3 buah data berikut ke collection "Mahasiswa":

      {nama:"Faza",
      usia:19,
      asal:"Aceh",
      prodi:"Fisika",
      angkatan:2017,
      nim:123}
      
      {nama:"Gilang",
      usia:20,
      asal:"Semarang",
      prodi:"Fisika",
      angkatan:2017,
      nim:456}
      
      {nama:"Hanafi",
      usia:19,
      asal:"Makassar",
      prodi:"Fisika",
      angkatan:2017,
      nim:789}
    • Ketik jawaban dari soal nomor 3.1 ini dalam file .txt!

  2. Dengan pyMongo, matplotlib & pandas, buatlah sebuah program python yang dapat mengakses dan menampilkan:

    • Nama, asal, usia & status dari daftar dosen & mahasiswa di collection tersebut. Output yang diharapkan berupa 2 buah dataframe sebagai berikut:
               asal  nama      status  usia
      0     Jakarta  Caca       dosen    28
      1  Yogyakarta  Dedi       dosen    29
      2     Bandung  Euis       dosen    30
      
             asal    nama      status  usia
      0      Aceh    Faza   mahasiswa    19
      1  Semarang  Gilang   mahasiswa    20
      2  Makassar  Hanafi   mahasiswa    19
    • Sekaligus menampilkan diagram batang usia dari dosen & mahasiswa. Output yang diharapkan sebagai berikut:

    soal_dosmhs

Catatan: Commit & push source code jawaban soal ini (beserta screenshot plot figure) ke Github Anda, buatlah repo dengan nama Ujian_DosenMahasiswa. Kemudian lampirkan url link repo Github Anda via email ke lintang@purwadhika.com!

Soal 4 - Imunisasi

Disediakan 4 buah dataset (.csv) seputar persentase balita di Indonesia yang pernah mendapatkan imunisasi BCG, Campak, DPT & Polio dalam kurun tahun 1995-2017. Unduh dataset via kaggle: unduh di sini, lalu buatlah sebuah program python yang dapat menampilkan data-data tersebut dalam bentuk sebagai berikut:

  • Data yang missing diolah dengan metode interpolasi linear, yakni jika terdapat nilai 'n.a' akan diubah menjadi nilai antara data sebelum & sesudahnya.

    Tips: gunakan method interpolate() dari pandas).

  • Usai program dieksekusi, akan muncul 2 buah figure sekaligus. Figure 1 berisi data persentase balita yang pernah diimunisasi, dan figure 2 berisi persentase balita yang belum pernah diimunisasi.

  • Setiap figure berisi 4 buah diagram batang yang menunjukkan persentase balita yang pernah diimunisasi BCG, Campak, DPT & Polio selama 1995-2017. Output yang diharapkan digambarkan sebagai berikut:

    Figure 1: Persentasi balita terimunisasi 1995-2017 soal_imun

    Figure 2: Persentase balita tak terimunisasi 1995-2017 soal_nonimun

Catatan: Commit & push source code jawaban soal ini (beserta screenshot plot figure) ke Github Anda, buatlah repo dengan nama Ujian_Imunisasi. Kemudian lampirkan url link repo Github Anda via email ke lintang@purwadhika.com!

#HappyCoding ☺️

Lintang Wisesa 💌 lintangwisesa@ymail.com

Facebook | Twitter | Google+ | Youtube | :octocat: GitHub | Hackster