












Materi Back End Web Dev dapat diakses di klik sini!
Tuliskan langkah-langkah/urutan query MySQL untuk membuat sebuah database “sekolahku” yang memiliki beberapa tabel: “users”, “courses” dan “userCourse”, dengan ketentuan di bawah ini:
-
Buatlah tabel “users” yang memiliki struktur/model sebagai berikut. Tabel “users” merupakan kumpulan data peserta didik di sebuah sekolah.
Masukkan beberapa data berikut ke dalam tabel “users”. Hasil yang diharapkan adalah:
-
Buatlah tabel “courses” yang memiliki struktur/model sebagai berikut. Tabel “courses” merupakan kumpulan data mata kuliah yang diajarkan di sebuah sekolah.
Masukkan beberapa data berikut ke dalam tabel “courses”. Hasil yang diharapkan adalah:
-
Buatlah tabel “userCourse” yang memiliki struktur/model sebagai berikut. Tabel “userCourse” merupakan tabel penghubung/transaksi antara tabel “user” & “courses”.
Masukkan beberapa data berikut ke dalam tabel “userCourse”. Hasil yang diharapkan adalah:
-
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:
-
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:
-
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:
-
Dari tabel “users”, “courses” dan “userCourse”, tampilkan jumlah peserta didik untuk setiap mata kuliah. Hasil yang diharapkan adalah sebagai berikut:
-
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:
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 lintang@purwadhika.com!
Buatlah sebuah project back-end NodeJS (Express.js) sederhana yang mampu mengakses database MongoDB (gunakan Mongoose!), dengan spesifikasi route sebagai berikut:
-
POST /data → tanpa mengirimkan data via body request, akan memasukkan data ke collection “data” di database “dataCPU”. Data yang tersimpan adalah data seputar sistem operasi yang digunakan user, mencakup: nama CPU, tipe OS, platform OS, versi rilis OS, RAM tersisa dan RAM total. Sekali lagi, data yang akan disimpan tidak perlu dideklarasikan di body request!
POST /data
-
GET /data → akan memberikan response: menampilkan semua data dari collection “data” di database “dataCPU”. Data satuan yang ditampilkan diharapkan sebagai berikut:
{ _id: 5b453fb83de88413bc523928, namacpu: 'Lintang_CPU', tipe: 'Windows_NT', platform: 'win32', rilis: '10.0.17134', ramSisa: 11338039296, ramTotal: 17063497728 }
-
Gunakan Express Router untuk memisahkan code route ke MongoDB dengan code utama project.
Catatan: Upload source code project ke repo Github Anda, kemudian lampirkan url link repo Github Anda via email: lintang@purwadhika.com!
Buatlah sebuah project back-end NodeJS (Express.js) sederhana yang mampu melakukan proses autentikasi (signup & login) dengan mengakses tabel “users” di database “sekolahku” (dari soal nomor 1), dengan spesifikasi route sebagai berikut:
-
POST /signup → akan melakukan proses signup: memasukkan data user baru ke tabel “users” di database “sekolahku”. Response yang diberikan setelah request memasukkan data sukses dilakukan adalah sebagai berikut:
{ "username": "Lintang", "email": "lintang@purwadhika.com", "status": "Signup sukses" }
-
POST /login → akan melakukan proses login. Client dapat melakukan proses login cukup dengan mengirimkan “username” ATAU “email” saja, beserta “password”-nya. Response yang diberikan setelah request login sukses dilakukan adalah sebagai berikut:
{ "login": "ok", "status": "Login sukses" }
Jika “username” dan/atau “email” untuk login tidak terdaftar di tabel “users”, maka proses login gagal & response yang ditampilkan sebagai berikut:
{ "login": "failed", "status": "Akun tidak terdaftar" }
Jika “username” dan/atau “email” untuk login sudah terdaftar di tabel “users”, namun “password” yang dimasukkan salah, maka proses login gagal & response yang ditampilkan sebagai berikut:
{ "login": "failed", "status": "Password salah" }
-
Gunakan Express Router untuk memisahkan code route autentikasi ke MySQL dengan code utama project.
Catatan: Upload source code project ke repo Github Anda, kemudian lampirkan url link repo Github Anda via email: lintang@purwadhika.com!
Lintang Wisesa 💌 lintangwisesa@ymail.com
Facebook | Twitter | Google+ | Youtube | :octocat: GitHub | Hackster

Leave a Reply