diff --git a/migrations/development/20230314062152-course-flavor.sql b/migrations/development/20230314062152-course-flavor.sql index 0b467420032b8253090cb862e4f12754f5ffedb6..5f7275e89166791dd31f4e42dd142df223ca4d73 100644 --- a/migrations/development/20230314062152-course-flavor.sql +++ b/migrations/development/20230314062152-course-flavor.sql @@ -28,7 +28,7 @@ BEFORE INSERT ON public."course" FOR EACH ROW EXECUTE PROCEDURE assign_lecturer(); -- +migrate Down -DROP TRIGGER IF EXISTS assign_lecturer ON public."course" +DROP TRIGGER IF EXISTS assign_lecturer ON public."course"; DROP FUNCTION IF EXISTS assign_lecturer(); diff --git a/quiz/Kuis PBD 1.json b/quiz/Kuis PBD 1.json new file mode 100644 index 0000000000000000000000000000000000000000..264e784da26c6c7bb154fa30018acb07e34aeee8 --- /dev/null +++ b/quiz/Kuis PBD 1.json @@ -0,0 +1,1529 @@ +{ + "id": "10ed19c0-95e3-460f-aa51-ee8ebc8638d4", + "name": "Kuis PBD 1", + "course_id": "IF3210", + "description": "Kuis PBD Pertama", + "help": "Materi mencakup semua materi yang telah dipelajari", + "media": [], + "problems": [ + { + "id": "e1767bd2-359f-4fd2-b6fd-c82fe80f9f3c", + "media_id": [], + "question": "1. Berikut adalah karakteristik dari aplikasi mobile yang berbeda dengan aplikasi desktop", + "answers": [ + { + "id": "a652fd40-b670-4bfe-a10d-b06445ab2585", + "media_id": [], + "answer": "a. Location-aware", + "is_solution": false + }, + { + "id": "fba76552-c397-4994-bece-0d21a1efc005", + "media_id": [], + "answer": "b. Sensitive to responsiveness", + "is_solution": true + }, + { + "id": "22d8b000-0e46-490d-9f77-8fc26c9fdb13", + "media_id": [], + "answer": "c. Always connected", + "is_solution": false + }, + { + "id": "9b16e307-9088-45ae-8e26-b99fa8c9d2aa", + "media_id": [], + "answer": "d. Less focus on computing task", + "is_solution": false + } + ] + }, + { + "id": "cbc6069c-740e-4c43-9ee6-41b97baa0405", + "media_id": [], + "question": "2. Arsitektur aplikasi mobile", + "answers": [ + { + "id": "75135728-c9ab-4516-884c-bf70d9725f92", + "media_id": [], + "answer": "a. Thin-client with back-end server", + "is_solution": false + }, + { + "id": "7963d0ba-68ff-4021-9537-052a0f4a4439", + "media_id": [], + "answer": "b. Thick-client with back-end server", + "is_solution": true + }, + { + "id": "50b2c34a-f0b2-4f3f-b918-877fc9eb9c57", + "media_id": [], + "answer": "c. Thick-client without back-end server (i.e. standalone)", + "is_solution": true + }, + { + "id": "43818983-e313-467f-b27c-3ac4f83fc1b5", + "media_id": [], + "answer": "d. Thin-client without back-end server", + "is_solution": false + } + ] + }, + { + "id": "7dfb29c8-df77-47e6-bb80-b0b98401a200", + "media_id": [], + "question": "3. Yang merupakan aplikasi mobile", + "answers": [ + { + "id": "e1d17db6-f527-475b-b49b-fc401b92051f", + "media_id": [], + "answer": "a. Native app", + "is_solution": false + }, + { + "id": "b4134b5b-ef4e-4b33-83cb-53761db68d92", + "media_id": [], + "answer": "b. Mobile web app", + "is_solution": false + }, + { + "id": "df7b3050-e3c2-4aed-a546-3e7416c5c87a", + "media_id": [], + "answer": "c. Mobile website", + "is_solution": false + }, + { + "id": "61074e8c-b84a-40ab-ba50-1119cc957ee9", + "media_id": [], + "answer": "d. SMS-based app", + "is_solution": true + } + ] + }, + { + "id": "a176cd88-5a4e-4cd1-9888-45e90246edd4", + "media_id": [], + "question": "4. Kelebihan mobile web app dibanding dengan native app", + "answers": [ + { + "id": "c8367825-6fd5-463b-86be-3582c76f50da", + "media_id": [], + "answer": "a. Single code base untuk sejumlah piranti mobile", + "is_solution": true + }, + { + "id": "1ac6cee6-8f0b-45d1-8edd-0c87b95244ba", + "media_id": [], + "answer": "b. Seamless versioning", + "is_solution": false + }, + { + "id": "8fe4c879-b97e-4555-9986-448e04f4663e", + "media_id": [], + "answer": "c. Berjalan lebih cepat", + "is_solution": true + }, + { + "id": "32d45fff-735d-421b-a03c-39a907942f76", + "media_id": [], + "answer": "d. Dapat berjalan pada browser di piranti mobile", + "is_solution": true + } + ] + }, + { + "id": "46ea027d-2228-4508-b317-b7c69804a7b2", + "media_id": [], + "question": "5. Yang merupakan mobile platform", + "answers": [ + { + "id": "2e9a0030-3091-4d44-a863-b1d49e83f4c8", + "media_id": [], + "answer": "a. IOS (not iOS)", + "is_solution": false + }, + { + "id": "8cfaa30a-e631-4e6f-886e-e0a722cbb3bd", + "media_id": [], + "answer": "b. Meego", + "is_solution": true + }, + { + "id": "977a4001-4300-4a3b-aecb-7ca51739e04e", + "media_id": [], + "answer": "c. Symbian", + "is_solution": true + }, + { + "id": "5fb72562-1469-436e-b1e7-86775621cee2", + "media_id": [], + "answer": "d. Windows", + "is_solution": true + } + ] + }, + { + "id": "e3951f7e-277a-49aa-9cbb-2eddcadcd220", + "media_id": [], + "question": "6. Komponen berikut termasuk dalam layer application framework pada arsitektur sistem Android:", + "answers": [ + { + "id": "6dc285c9-d32f-4144-beb9-7349ea10ccb1", + "media_id": [], + "answer": "a. Media framework", + "is_solution": true + }, + { + "id": "44e20d37-2eec-4d0e-b0dd-184b3cbc23c4", + "media_id": [], + "answer": "b. Activity manager", + "is_solution": false + }, + { + "id": "76b414a3-e258-4c80-af94-0e7059d78e94", + "media_id": [], + "answer": "c. Surface manager", + "is_solution": false + }, + { + "id": "21f956e4-4c99-4939-bc08-43b65847ded1", + "media_id": [], + "answer": "d. Content provider", + "is_solution": false + } + ] + }, + { + "id": "6ade9ace-0770-423b-bf3e-bc04a9222906", + "media_id": [], + "question": "7. Jenis proses pada system Android", + "answers": [ + { + "id": "427e86d9-fe0a-4166-9610-57a54a1440b2", + "media_id": [], + "answer": "a. Visible process", + "is_solution": false + }, + { + "id": "4ce12ba3-1e59-43c8-88a0-823a86d0a689", + "media_id": [], + "answer": "b. Service process", + "is_solution": true + }, + { + "id": "b3cf97d2-0cbe-4601-ada3-fd9d7986b418", + "media_id": [], + "answer": "c. Enable process", + "is_solution": true + }, + { + "id": "6bf35cce-c7e5-482b-80c3-9d0543a1c097", + "media_id": [], + "answer": "d. Active process", + "is_solution": false + } + ] + }, + { + "id": "69e52039-cd10-4ac1-8309-664f4b2abbde", + "media_id": [], + "question": "8. Berikut adalah method yang termasuk dalam android activity life cycle :", + "answers": [ + { + "id": "c9e24fc3-82a5-4ef9-bff6-d6fe495506fa", + "media_id": [], + "answer": "a. onResume()", + "is_solution": false + }, + { + "id": "dae8fc7d-ff37-42d6-8266-7eebd75088d3", + "media_id": [], + "answer": "b. onPause()", + "is_solution": true + }, + { + "id": "b179a153-ddc6-4699-93cb-fadffd45de80", + "media_id": [], + "answer": "c. onInit()", + "is_solution": true + }, + { + "id": "9e28d7cc-3fc6-4e93-8e3d-932455725578", + "media_id": [], + "answer": "d. onTerminate()", + "is_solution": false + } + ] + }, + { + "id": "0214943c-1516-4ca3-bab8-bbd65d603a0d", + "media_id": [], + "question": "9. Motion sensors dalam Android:", + "answers": [ + { + "id": "b5a72319-dd52-45ae-8ff6-9138d63d0012", + "media_id": [], + "answer": "a. Rotational vector", + "is_solution": true + }, + { + "id": "a8eb6722-3222-4ea4-9b41-9a23d1ff5f57", + "media_id": [], + "answer": "b. Orientation sensor", + "is_solution": true + }, + { + "id": "575bbe37-9d67-4099-a5c6-7e4d4d57a39b", + "media_id": [], + "answer": "c. Pressure sensor", + "is_solution": false + }, + { + "id": "b964c468-881a-4af8-9571-b3de5e003da6", + "media_id": [], + "answer": "d. Proximity", + "is_solution": false + } + ] + }, + { + "id": "0f9f5f8a-3325-4174-be98-79f59647e75f", + "media_id": [], + "question": "10. Activity manager berfungsi untuk:", + "answers": [ + { + "id": "e5b935d7-9e43-4e2e-89fe-dd363835e720", + "media_id": [], + "answer": "a. Memungkinkan aplikasi mengakses data", + "is_solution": false + }, + { + "id": "db4c0653-903f-4a16-a773-6308f00f9595", + "media_id": [], + "answer": "b. Kemungkinan semua apps menampilkan alert terkustomisasi", + "is_solution": false + }, + { + "id": "4d151a38-9114-4253-a1e4-ebc109124ac1", + "media_id": [], + "answer": "c. Mengelola life cycle dari aplikasi", + "is_solution": false + }, + { + "id": "a08591e6-217c-467c-9054-02ce3d48f5e2", + "media_id": [], + "answer": "d. Menyediakan akses ke non-code resources", + "is_solution": true + } + ] + }, + { + "id": "07bf3b9f-8298-4751-b662-dc9bc1bfa545", + "media_id": [], + "question": "11. Berikut adalah hal yang dilakukan dalam konteks sensor framework:", + "answers": [ + { + "id": "60d1df14-0dd3-4996-ba91-0c0e4b3742db", + "media_id": [], + "answer": "a. Check available sensor in a device", + "is_solution": true + }, + { + "id": "e1f1589b-8b29-4914-9065-2b31ee2d8657", + "media_id": [], + "answer": "b. Check capability of each sensor", + "is_solution": false + }, + { + "id": "0ede4e79-76f2-4267-bd64-44ec00025c5f", + "media_id": [], + "answer": "c. Access sensor output/data", + "is_solution": false + }, + { + "id": "9b2ed678-4e2d-4105-bea9-acda19356b0d", + "media_id": [], + "answer": "d. Register event listener", + "is_solution": true + } + ] + }, + { + "id": "6ed3d6cf-87a8-459f-8aac-226c7b2d3c53", + "media_id": [], + "question": "12. Untuk menampilkan sebuah GUI, komponen yang harus ada adalah sbb:", + "answers": [ + { + "id": "ba8f72f2-8e7c-411b-8c70-0076b86e8f79", + "media_id": [], + "answer": "a. Activity", + "is_solution": true + }, + { + "id": "d825b18b-d437-4489-93ca-607dce4d67f9", + "media_id": [], + "answer": "b. Service", + "is_solution": false + }, + { + "id": "848ef9be-0f65-45d1-a17b-f2a8ac0114e8", + "media_id": [], + "answer": "c. broadcastReceiver", + "is_solution": true + }, + { + "id": "eabda767-8e63-401a-a3fc-55fd3adf1a0f", + "media_id": [], + "answer": "d. ContentProvider", + "is_solution": true + } + ] + }, + { + "id": "39100d3d-10a5-4890-b7d3-8e3bdab91368", + "media_id": [], + "question": "13. Pernyataan tentang UI component pada android yang benar", + "answers": [ + { + "id": "b65dfacf-e97a-49e9-bc7d-8bb1f7af88d6", + "media_id": [], + "answer": "a. Diproses melalui single-threaded queue", + "is_solution": false + }, + { + "id": "9322f589-94fd-46d6-8c6e-7e860115531c", + "media_id": [], + "answer": "b. Mengimplementasikan View aspek dari model MVC", + "is_solution": false + }, + { + "id": "687ba9f6-34ff-4f2b-8e3b-80f94a0abb6a", + "media_id": [], + "answer": "c. UI dapat freeze", + "is_solution": false + }, + { + "id": "c246d418-747a-48ed-b8a2-2b8a78290a57", + "media_id": [], + "answer": "d. View dan Control berinteraksi secara langsung", + "is_solution": true + } + ] + }, + { + "id": "057458f9-73b9-4841-82bb-fbd9d4c32d0a", + "media_id": [], + "question": "14. Pernyataan tentang Resources berikut benar:", + "answers": [ + { + "id": "b6eac150-79d8-4294-ae87-8bb5cb795e10", + "media_id": [], + "answer": "a. Diakses via R.java", + "is_solution": true + }, + { + "id": "2733affd-8d13-46a0-a1f7-e1cd57e877a4", + "media_id": [], + "answer": "b. Merepresentasikan sebuah screen", + "is_solution": true + }, + { + "id": "7d208304-5f8b-4a29-97c0-6eec2928027b", + "media_id": [], + "answer": "c. Terletak pada file /resources", + "is_solution": true + }, + { + "id": "e906b2f8-5f33-4dbd-a54a-1f46ded9d30b", + "media_id": [], + "answer": "d. Didefinisikan melalui file xml", + "is_solution": true + } + ] + }, + { + "id": "df100ca3-68f4-4a27-ab31-5d6c803bd41b", + "media_id": [], + "question": "15. Pernyataan tentang SharedPreferences berikut benar", + "answers": [ + { + "id": "a74bd854-163a-4a5d-935c-45ffc1391bbc", + "media_id": [], + "answer": "a. Menyimpan data dalam bentuk xml", + "is_solution": false + }, + { + "id": "16c8ee21-98cf-4f36-b815-93d8f06501bd", + "media_id": [], + "answer": "b. Menyimpan tipe kompleks", + "is_solution": true + }, + { + "id": "e52866ef-ea47-4b76-9378-34d6195e8cba", + "media_id": [], + "answer": "c. Dapat dipanggil dalam bentuk getPreferences()", + "is_solution": true + }, + { + "id": "0869d236-9b91-43c1-a19a-a3904cba006b", + "media_id": [], + "answer": "d. Dapat dipanggil dalam bentuk getSharedPreferences()", + "is_solution": false + } + ] + }, + { + "id": "ebd5774e-7a68-4e07-bb34-c86410f90b4d", + "media_id": [], + "question": "16. Pernyataan tentang Android berikut benar", + "answers": [ + { + "id": "6a046909-5f1f-4c7e-8b3b-bf6f90cb6fcd", + "media_id": [], + "answer": "a. Aplikasi pada Android ditulis dalam Java dan dikompilasi menjadi Java Bytecode", + "is_solution": true + }, + { + "id": "36a77287-2d9a-44e3-a1fb-80d937461a84", + "media_id": [], + "answer": "b. Aplikasi dapat mempublish kapabilitas yang dapat digunakan aplikasi lain", + "is_solution": true + }, + { + "id": "8ba8b02f-5763-47a3-b784-7c3878b21288", + "media_id": [], + "answer": "c. Berbasis linux kernel", + "is_solution": false + }, + { + "id": "6cd690d5-2c2f-43f0-bc4d-7bcb3e4b7623", + "media_id": [], + "answer": "d. Mendukung akses database dengan SQLite", + "is_solution": true + } + ] + }, + { + "id": "ae39991a-d590-461b-8aa4-f8c3b7af4a11", + "media_id": [], + "question": "17. Sistem storage yang tersedia pada platform Android", + "answers": [ + { + "id": "6c603a30-8e16-4a53-86da-6a16d9b79023", + "media_id": [], + "answer": "a. Shared preferences", + "is_solution": false + }, + { + "id": "f8f86ba3-e50c-46bc-96a5-0c8bd721a624", + "media_id": [], + "answer": "b. Internal storage", + "is_solution": false + }, + { + "id": "2989ea18-abdd-41fb-8cac-0ca77a1f0d73", + "media_id": [], + "answer": "c. External storage", + "is_solution": false + }, + { + "id": "7e2d40c4-5eba-4d18-b4a1-fd2eacb1c45c", + "media_id": [], + "answer": "d. Local database", + "is_solution": true + } + ] + }, + { + "id": "98e8155f-30ed-4042-96c7-56c4ab181759", + "media_id": [], + "question": "18. Pernyataan tentang SQLite di Android berikut benar", + "answers": [ + { + "id": "b0b5dfb4-de13-41e3-8cdc-396ec21ec459", + "media_id": [], + "answer": "a. Akses basis data SQLite pada device membutuhkan root akses", + "is_solution": false + }, + { + "id": "c64b1589-830d-46b5-9470-bc376694ab29", + "media_id": [], + "answer": "b. Menggunakan SQLOpenHelper untuk melakukan: insert, update, delete, and select", + "is_solution": false + }, + { + "id": "60cfb6a9-7f29-4428-9bc6-81b779281cb3", + "media_id": [], + "answer": "c. Basis data SQLite hanya dapat diakses oleh aplikasi yang membuatnya", + "is_solution": true + }, + { + "id": "eecdadd6-2242-4ee6-a222-f05e714db384", + "media_id": [], + "answer": "d. Sejumlah data di Content Provider disimpan sebagai SQLite database", + "is_solution": false + } + ] + }, + { + "id": "21ac8634-6a41-4cb9-8ac4-789a865d2e7f", + "media_id": [], + "question": "19. Pernyataan yang tepat terkait konektivitas di Android", + "answers": [ + { + "id": "ae653b9a-3227-44c1-97ee-2414437bd727", + "media_id": [], + "answer": "a. Aplikasi hanya membutuhkan permission INTERNET untuk dapat mengaksesjaringan", + "is_solution": true + }, + { + "id": "719d0660-f188-4cad-91a0-e8ff2933f42e", + "media_id": [], + "answer": "b. Android telah memberikan dukungan SSL", + "is_solution": true + }, + { + "id": "329f66fd-693f-4c62-97eb-c5051f92f84b", + "media_id": [], + "answer": "c. Aplikasi tidak membutuhkan permission tambahan untuk men-setting proxy server", + "is_solution": true + }, + { + "id": "392aa3e2-a0d8-4cdc-889b-10019f41ee71", + "media_id": [], + "answer": "d. Apache HTTPClient lebih didukung Google dari HttpURLConnection", + "is_solution": false + } + ] + }, + { + "id": "b2a1d097-c0d9-4ecb-91b3-383119ff688a", + "media_id": [], + "question": "20. Berikut adalah primitif yang didukung OpenGL ES", + "answers": [ + { + "id": "271c6713-223d-4377-bd99-5468d06a1776", + "media_id": [], + "answer": "a. Menggambar titik", + "is_solution": false + }, + { + "id": "422eed2c-0476-4ea3-88ca-9972fad11355", + "media_id": [], + "answer": "b. Menggambar poligon", + "is_solution": false + }, + { + "id": "884c2bf3-3a78-4bc2-a0fb-89b17c81430b", + "media_id": [], + "answer": "c. Menggambar segi tiga", + "is_solution": false + }, + { + "id": "ade3342c-9543-4988-ad27-a9917844a48f", + "media_id": [], + "answer": "d. Menggambar segi empat", + "is_solution": false + } + ] + }, + { + "id": "1f567c3b-d58e-41e8-af40-e5c5fdba4610", + "media_id": [], + "question": "21. Berikut adalah pernyataan yang benar terkait Android Location Framework", + "answers": [ + { + "id": "179d4df1-a7e0-42c5-83d1-0226c1a1dea4", + "media_id": [], + "answer": "a. LocationManager menyediakan akses ke Android Location Service", + "is_solution": true + }, + { + "id": "11aceb36-ffbc-407b-8c23-7281d14fd8ff", + "media_id": [], + "answer": "b. Hanya mendukung sebuah location provider saja dalam satu waktu", + "is_solution": false + }, + { + "id": "09b38450-8687-4f18-970f-78b3bff548ed", + "media_id": [], + "answer": "c. Menyediakan layanan forward dan reverse geocoding", + "is_solution": true + }, + { + "id": "f729b4cb-7758-41f3-85ed-d466749094f6", + "media_id": [], + "answer": "d. Layanan proximity alert tidak disediakan oleh framework ini (melainkan oleh Sensor Framework)", + "is_solution": true + } + ] + }, + { + "id": "9a23c43d-a8cd-43cd-b1b5-521013b5ff2f", + "media_id": [], + "question": "22. Berikut ini adalah jenis challenge yang dapat diberikan oleh sebuah game", + "answers": [ + { + "id": "cbf2a914-8748-448d-82cb-4150c219ea10", + "media_id": [], + "answer": "a. Spatial awareness", + "is_solution": true + }, + { + "id": "23f0afa9-2ac8-4afa-b67f-9a6828f0c60e", + "media_id": [], + "answer": "b. Money management", + "is_solution": true + }, + { + "id": "8f7cb5ed-6514-43a6-8856-ff4df2624ae2", + "media_id": [], + "answer": "c. Reaction time", + "is_solution": false + }, + { + "id": "0f080722-1f5c-43bd-9e3f-06f87aaaa1f2", + "media_id": [], + "answer": "d. Pattern matching", + "is_solution": true + } + ] + }, + { + "id": "bf6b2cd9-927d-49c4-b4aa-ef6bb661a4ce", + "media_id": [], + "question": "23. Urutan game development life cycle adalah", + "answers": [ + { + "id": "814b4039-6e49-4ac2-99b8-65f13a8b9524", + "media_id": [], + "answer": "a. Concept -> pitch -> Greenlight -> Prototype ->Pre-production -> alpha Testing -> Production -> Beta Testing -> Gold Master", + "is_solution": false + }, + { + "id": "8d421a06-a525-48ee-90b4-8238323fe33b", + "media_id": [], + "answer": "b. Concept -> pitch -> Green Light -> Prototype ->Pre-production -> alpha Testing -> Production -> Beta Testing -> Gold Master", + "is_solution": false + }, + { + "id": "08bc3066-75a3-4423-ba2c-36e261bf3dc0", + "media_id": [], + "answer": "c. Concept -> pitch -> Prototype -> Green Light Pre-production -> alpha Testing -> Beta Testing -> Gold Master", + "is_solution": true + }, + { + "id": "c7d3b716-5c92-4404-9478-264868479fe1", + "media_id": [], + "answer": "d. Concept -> Prototype -> Pitch -> Green Light Pre-production -> alpha Testing -> Beta Testing -> Gold Master", + "is_solution": false + } + ] + }, + { + "id": "576de161-baa8-4e2d-b832-962a2c87d011", + "media_id": [], + "question": "24. Berikut adalah role dari game programmer", + "answers": [ + { + "id": "ae49a3ad-97b1-40ac-8f7e-bc1111d938db", + "media_id": [], + "answer": "a. Character programmer", + "is_solution": false + }, + { + "id": "757ed5aa-938f-4782-be33-e0fa15ebbd6c", + "media_id": [], + "answer": "b. Enemy programmer", + "is_solution": true + }, + { + "id": "8e9079c5-6656-4ff1-b2ca-2b8cca20a596", + "media_id": [], + "answer": "c. Engine programmer", + "is_solution": true + }, + { + "id": "d2889ba3-4b8b-428f-aa6d-121ada13fa9f", + "media_id": [], + "answer": "d. Network programmer", + "is_solution": false + } + ] + }, + { + "id": "12b0f72b-9a77-4162-ad7d-59d6ebbdb509", + "media_id": [], + "question": "25. Hal yang perlu diperhitungkan dalam memilih game engine adalah", + "answers": [ + { + "id": "fef7f79f-0497-47b0-88d8-ed859217212d", + "media_id": [], + "answer": "a. Kemudahan penggunaan", + "is_solution": false + }, + { + "id": "264c2e91-b444-4c47-a354-009f9f121b82", + "media_id": [], + "answer": "b. Fungsionalitas", + "is_solution": false + }, + { + "id": "af7390d5-2713-49da-9881-cf900ba27a9d", + "media_id": [], + "answer": "c. Harga", + "is_solution": false + }, + { + "id": "d143550f-3def-47fd-8da0-ed53473e328b", + "media_id": [], + "answer": "d. Target platform", + "is_solution": false + } + ] + }, + { + "id": "362471d6-f3be-4191-96e1-f28ce6f8be22", + "media_id": [], + "question": "26. Fitur yang disediakan oleh Unity adalah", + "answers": [ + { + "id": "5118a2d7-2887-4ce6-903a-1a7771545562", + "media_id": [], + "answer": "a. Physics Engine", + "is_solution": false + }, + { + "id": "22339c43-f595-407a-91bc-bae1b879b389", + "media_id": [], + "answer": "b. GUI system", + "is_solution": false + }, + { + "id": "a48cc357-e217-4bd6-9cf1-6f4cc61c020e", + "media_id": [], + "answer": "c. 2D animation", + "is_solution": false + }, + { + "id": "2609c361-6ad5-4566-a99c-407ade3ae093", + "media_id": [], + "answer": "d. 3D terrain editor", + "is_solution": false + } + ] + }, + { + "id": "027b6365-b169-42c5-9b8c-98e9269eb551", + "media_id": [], + "question": "27. Berikut ini adalah fungsi yang secara default terdapat pada script", + "answers": [ + { + "id": "8238e514-1fae-4d1a-856a-00aa9e0a3667", + "media_id": [], + "answer": "a. Awake", + "is_solution": true + }, + { + "id": "5608ba55-9aa4-46d9-9c5e-e9f992bcfa5d", + "media_id": [], + "answer": "b. OnUpdate", + "is_solution": true + }, + { + "id": "2846f2c1-32fe-4020-aa28-554bcb9f5ca8", + "media_id": [], + "answer": "c. OnStart", + "is_solution": false + }, + { + "id": "34a967b3-f01d-48a8-a86b-39a86a582368", + "media_id": [], + "answer": "d. FixedUpdate", + "is_solution": true + } + ] + }, + { + "id": "02774636-e66e-4f4c-a96a-01ee9a42af6e", + "media_id": [], + "question": "28. Yang termasuk dalam pemanfaatan Physics Engine adalah", + "answers": [ + { + "id": "92af437d-8bea-4fc0-a63a-d026e99a49e1", + "media_id": [], + "answer": "a. Memberikan efek gravitasi", + "is_solution": true + }, + { + "id": "bd91241c-d78b-49a1-908c-c41e90558234", + "media_id": [], + "answer": "b. Mendeteksi tembakan peluru", + "is_solution": false + }, + { + "id": "c9c9cc87-4fc8-46a1-a94b-fcfd3e506be6", + "media_id": [], + "answer": "c. Mensimulasikan bentuk rigidbody saat ditekan", + "is_solution": true + }, + { + "id": "31367b28-d71b-4d8c-b11e-9ce5fe243e01", + "media_id": [], + "answer": "d. Membuat ragdoll", + "is_solution": true + } + ] + }, + { + "id": "4974e769-0aa7-415c-ba9c-62d4d0c2c43a", + "media_id": [], + "question": "29. Unity Components yang tidak digunakan untuk menampilkan tabrakan dua benda dalam 3D", + "answers": [ + { + "id": "9355f481-4298-4658-b6e8-00b980d05e66", + "media_id": [], + "answer": "a. Light", + "is_solution": false + }, + { + "id": "e8ce902f-f26b-45c7-a5ee-a904812ebfd3", + "media_id": [], + "answer": "b. Rigidbody", + "is_solution": true + }, + { + "id": "543cc688-711a-4c9a-a4f5-3a46c20d5062", + "media_id": [], + "answer": "c. Camera", + "is_solution": true + }, + { + "id": "33263fbd-7d5b-4255-8bc1-d67f84a5c1aa", + "media_id": [], + "answer": "d. Canvas", + "is_solution": false + } + ] + }, + { + "id": "f66b36c4-efd6-413a-aa55-c2983ca6ff36", + "media_id": [], + "question": "30. Microcontroller adalah komputer kecil pada sebuah integrated circuit (IC) yang berisi:", + "answers": [ + { + "id": "f367f82d-f4a4-4289-a7b8-41f6f284caed", + "media_id": [], + "answer": "a. Processor core (CPU)", + "is_solution": false + }, + { + "id": "dbe24625-7b90-4357-9e6f-ab4ab03194fb", + "media_id": [], + "answer": "b. Memory", + "is_solution": false + }, + { + "id": "3f3fea24-5662-4140-abba-3a9f0fb11178", + "media_id": [], + "answer": "c. Programmable input/output peripherals", + "is_solution": true + }, + { + "id": "bc016a8b-09c3-4ef0-82dd-97ffd8698e99", + "media_id": [], + "answer": "d. Firmware atau sistem operasi", + "is_solution": false + } + ] + }, + { + "id": "bc7289a6-eb32-40fc-a972-0da4bfe4bd57", + "media_id": [], + "question": "31. Solusi microcontroller dibanding solusi computer based biasanya memiliki kelebihan:", + "answers": [ + { + "id": "5a672e92-0726-4e43-983c-15a9643ed264", + "media_id": [], + "answer": "a. Memiliki computing power yang lebih tinggi", + "is_solution": false + }, + { + "id": "4bf71eec-be92-4522-8bc4-37f547bbe88f", + "media_id": [], + "answer": "b. Kebutuhan biaya yang lebih murah", + "is_solution": false + }, + { + "id": "e274b2ff-e93a-4c1f-9fe6-652773614e25", + "media_id": [], + "answer": "c. Waktu pengembangan yang lebih cepat", + "is_solution": false + }, + { + "id": "d4cffad1-4510-429b-a65b-95bd37a38ceb", + "media_id": [], + "answer": "d. Memiliki tingkat availability dan kehandalan yang lebih baik", + "is_solution": true + } + ] + }, + { + "id": "5575af64-bf94-46ae-80dd-3e080b105649", + "media_id": [], + "question": "32. ARM adalah microcontroller dengan karakteristik:", + "answers": [ + { + "id": "41944ba0-5eb0-47f5-ace9-8a1d29716031", + "media_id": [], + "answer": "a. Berbasis arsitektur RISC (reduced instruction set computing)", + "is_solution": false + }, + { + "id": "2f9ed016-d7b9-41af-807a-41449a6c98c9", + "media_id": [], + "answer": "b. Berbasis arsitektur CISC (complex instruction set computing)", + "is_solution": true + }, + { + "id": "ab17df6a-fb46-4887-be13-0df6b08e0f58", + "media_id": [], + "answer": "c. 32-bit processor", + "is_solution": false + }, + { + "id": "b070bb9c-0ec9-4627-be8d-67a033a32c78", + "media_id": [], + "answer": "d. 64-bit processor", + "is_solution": false + } + ] + }, + { + "id": "aade48ae-3493-46b4-b1f3-332b5f1956cb", + "media_id": [], + "question": "33. Arduino memiliki karakteristik berikut:", + "answers": [ + { + "id": "cd3acbdf-0117-472c-ba16-425d374f22a8", + "media_id": [], + "answer": "a. Open-source physical computing platform", + "is_solution": false + }, + { + "id": "ee822c3d-9d71-4c15-bef3-04815cd0513c", + "media_id": [], + "answer": "b. Berbasis simple microcontroller board", + "is_solution": true + }, + { + "id": "f9e55efa-ab13-4326-b3cd-da3fed974b56", + "media_id": [], + "answer": "c. Tersedia development environment untuk membuat dan menuliskan program ke board", + "is_solution": false + }, + { + "id": "44e13fa4-30d8-4b58-961b-a41810bb464e", + "media_id": [], + "answer": "d. Selalu menggunakan microcontroller keluarga ATMega", + "is_solution": false + } + ] + }, + { + "id": "6656207a-0474-4acc-ac17-d75fd8502002", + "media_id": [], + "question": "34. Kelebihan menggunakan Arduino dibandingkan membuat board sendiri:", + "answers": [ + { + "id": "bb5925c2-376c-4f26-9386-d834f57469e9", + "media_id": [], + "answer": "a. Kebutuhan biaya yang selalu lebih murah", + "is_solution": true + }, + { + "id": "079bfe66-8add-46f3-a816-b41a757ad209", + "media_id": [], + "answer": "b. Solusi yang tepat untuk segala kebutuhan embedded system", + "is_solution": false + }, + { + "id": "171704f5-33fd-4c27-94e7-1d01ecdfa537", + "media_id": [], + "answer": "c. Mudah dikembangkan dan extensible", + "is_solution": true + }, + { + "id": "431a563d-88cf-4bbe-b02c-46de580c81e8", + "media_id": [], + "answer": "d. Sudah tersedia IDE untuk pengembangan software", + "is_solution": true + } + ] + }, + { + "id": "0668c2e5-c690-4682-a208-611eaa80d63a", + "media_id": [], + "question": "35. Berikut adalah typical langkah-langkah dalam pengembangan system menggunakan Arduino:", + "answers": [ + { + "id": "f34b0ea4-254d-4e6e-b95a-4b6248df753e", + "media_id": [], + "answer": "a. Merencanakan kebutuhan biaya untuk hardware dan software", + "is_solution": false + }, + { + "id": "4d192022-ba1e-4bf1-a973-56ee11f1547b", + "media_id": [], + "answer": "b. Menyusun hardware (assemble) sesuai dengan kebutuhan", + "is_solution": false + }, + { + "id": "e5ff3163-0c3c-4655-89cf-4d2b884bf1b9", + "media_id": [], + "answer": "c. Membuat sketch program", + "is_solution": true + }, + { + "id": "202fc1ea-bc03-4d3b-b91b-d349d8c5b99e", + "media_id": [], + "answer": "d. Upload program ke Arduino", + "is_solution": true + } + ] + }, + { + "id": "a5343ada-8d55-4b33-bbc8-c204ca7e0f7f", + "media_id": [], + "question": "36. Arduino yang digunakan pada kuliah ini mampu berkomunikasi dengan perangkat lain menggunakan: (ARDUINO UNO)", + "answers": [ + { + "id": "4729370c-50a6-4a36-bfcf-3eecae010c26", + "media_id": [], + "answer": "a. UART", + "is_solution": false + }, + { + "id": "1a961600-b430-4dff-b9b6-2bc90053139f", + "media_id": [], + "answer": "b. USB", + "is_solution": true + }, + { + "id": "642275d1-4a8f-4d8e-9095-fb604d87142e", + "media_id": [], + "answer": "c. SPI", + "is_solution": false + }, + { + "id": "b2e3aa8f-7079-427a-8f3c-b10f6be3f054", + "media_id": [], + "answer": "d. I2C atau TWI", + "is_solution": false + } + ] + }, + { + "id": "5539d334-8bde-4fa2-bb16-27414be44413", + "media_id": [], + "question": "37. Pernyataan yang benar sesuai dengan skema Arduino berikut (PIN D2 sebagai input):", + "answers": [ + { + "id": "6400c8a3-3eee-4ec5-8add-382f34d8ad0b", + "media_id": [], + "answer": "a. Bila saklar tertutup, maka pin D2 akan bernilai HIGH", + "is_solution": false + }, + { + "id": "05dba710-3842-44e2-8edc-30e5f958b63e", + "media_id": [], + "answer": "b. Bila saklar terbuka, maka state pin D2 tidak bisa ditentukan apakah HIGH atau LOW", + "is_solution": false + }, + { + "id": "ad227a06-9363-45f9-9656-e1b29c99f9ef", + "media_id": [], + "answer": "c. Resistor yang menghubungkan pin D2 ke GND berfungsi sebagai pulldown resistor", + "is_solution": true + }, + { + "id": "50767155-1977-4c40-a3ac-827cbe58a178", + "media_id": [], + "answer": "d. Karena terhubung juga ke GND, saat saklar tertutup, pin D2 tidak bisa ditentukan apakah HIGH atau LOW", + "is_solution": true + } + ] + }, + { + "id": "7bd1cf53-4c6e-4bac-96a0-3070aa2bb1ae", + "media_id": [], + "question": "38. Pada pemrograman arduino, perintah (command) analogWrite bila diterapkan untuk pin digital:", + "answers": [ + { + "id": "a7189696-17a0-4e8e-90b7-f963c38459ad", + "media_id": [], + "answer": "a. Teknik tersebut disebut PWM(pulse width modulation)", + "is_solution": false + }, + { + "id": "108ae7a6-cd23-49b2-b21f-326325b5b024", + "media_id": [], + "answer": "b. Digunakan untuk menghasilkan output seperti analog dengan rentang nilai 0 volt - 5 volt", + "is_solution": false + }, + { + "id": "4087b663-2ef3-4cb0-afb7-1817082347a1", + "media_id": [], + "answer": "c. Menghasilkan square wave bergantian on/high dan off/low sesuai dengan parameter", + "is_solution": false + }, + { + "id": "accaa9ae-f158-450b-be08-59c44d106b74", + "media_id": [], + "answer": "d. analogWrite hanya bisa diterapkan untuk pin analog", + "is_solution": true + } + ] + }, + { + "id": "984592ea-851b-45f9-9061-221c7ce6877d", + "media_id": [], + "question": "39. Serial port pada arduino", + "answers": [ + { + "id": "d466e20a-efb1-43ef-9260-36640b4e8fc5", + "media_id": [], + "answer": "a. disebut juga UART atau USART", + "is_solution": true + }, + { + "id": "eb8f6beb-e069-44e8-bb83-2730aa730f91", + "media_id": [], + "answer": "b. mampu mengirimkan data secara byte per bet asynchronous", + "is_solution": true + }, + { + "id": "aae62809-8d08-4413-a102-c86a17e75aa7", + "media_id": [], + "answer": "c. mampu mengirimkan data secara bit per bit synchronous", + "is_solution": false + }, + { + "id": "60dd0da8-7007-41fb-a30a-6460b2861ca1", + "media_id": [], + "answer": "d. bisa digunakan untuk berkomunikasi dengan arduino lain, komputer, atau device lain yang memiliki serial port juga", + "is_solution": true + } + ] + }, + { + "id": "5a533c33-bd11-4eaa-98b8-9c0c4e055aa9", + "media_id": [], + "question": "40. Berikut terkait interrupt pada Arduino", + "answers": [ + { + "id": "6dce33ac-0c0d-43c2-a733-edd2266dc314", + "media_id": [], + "answer": "a. interrupt bisa dihasilkan oleh event yang berasal perangkat atau modul dari luar", + "is_solution": true + }, + { + "id": "f049b841-709b-474a-a586-4a60b40fa7b1", + "media_id": [], + "answer": "b. semua interrupt dapat dibuat handler-nya", + "is_solution": false + }, + { + "id": "1ec55600-4516-42cc-8398-77add3e92309", + "media_id": [], + "answer": "c. interrupt handler akan berjalan secara asynchronous bila event yang sesuai terjadi", + "is_solution": true + }, + { + "id": "cd340790-459b-4edc-859a-df9cf36b5cf4", + "media_id": [], + "answer": "d. interrupt handler harus dibuat sependek mungkin agar tidak kehilangan event berikutnya yang menimbulkan interrupt", + "is_solution": true + } + ] + }, + { + "id": "28949743-fb65-4fed-b814-6a5890effd17", + "media_id": [], + "question": "41. Berikut adalah komponen yang terdapat pada sebuah Smart Card", + "answers": [ + { + "id": "a8948d22-3842-44ab-afd6-a24b0d55b36e", + "media_id": [], + "answer": "a. interface", + "is_solution": false + }, + { + "id": "df0f3407-bf24-457b-9047-f11912c12939", + "media_id": [], + "answer": "b. ROM/RAM", + "is_solution": false + }, + { + "id": "8e855410-80b9-4ec5-80d9-949182c4e3e3", + "media_id": [], + "answer": "c. EEPROM", + "is_solution": false + }, + { + "id": "5ca8bd66-ca67-4d47-841e-3282822f76c2", + "media_id": [], + "answer": "d. Cache", + "is_solution": false + } + ] + }, + { + "id": "4b69670b-d464-4c5a-905f-73e4c8fd7be0", + "media_id": [], + "question": "42. Berikut adalah pernyataan tentang teknologi Smart Card", + "answers": [ + { + "id": "bf7a6fa7-82ef-4657-9bb8-0ff5938058ff", + "media_id": [], + "answer": "a. Dapat berkomunikasi secara wireless", + "is_solution": false + }, + { + "id": "2ed9c217-3a2f-4446-9372-65a57dc9974d", + "media_id": [], + "answer": "b. Tidak membutuhkan tenaga listrik untuk menjalankan CPU di kartu", + "is_solution": true + }, + { + "id": "3be0dffa-d65f-4467-bc14-2c5167f37d59", + "media_id": [], + "answer": "c. Membutuhkan strip magnetik strip berkomunikasi dengan reader", + "is_solution": true + }, + { + "id": "2d82ac17-12c5-4262-824f-349a04930d11", + "media_id": [], + "answer": "d. Harus dalam bentuk sebuah kartu dengan ukuran kartu kredit", + "is_solution": false + } + ] + }, + { + "id": "3c82fbda-fbc5-4143-8abd-eea3e313cb96", + "media_id": [], + "question": "43. Berikut adalah keuntungan dengan mengembangkan back-end pada sebuah cloud service", + "answers": [ + { + "id": "3192cfc8-b037-4d63-a980-7f7f2f1ceac2", + "media_id": [], + "answer": "a. Tidak membutuhkan investasi infrastruktur HW yang besar", + "is_solution": false + }, + { + "id": "0a196539-a513-43d5-ac8b-879522026810", + "media_id": [], + "answer": "b. Risiko keamanan informasi lebih tinggi karena sistem dan data berada di luar kendali kita", + "is_solution": false + }, + { + "id": "31447859-3a09-46cd-a6b7-aeb88219ebae", + "media_id": [], + "answer": "c. Dapat scale-up seiring dengan bertambahnya pengguna layanan", + "is_solution": true + }, + { + "id": "70136b1b-c4bf-4dca-af7c-f11d7a474800", + "media_id": [], + "answer": "d. Biaya operasi yang tidak terduga karena bergantung dengan jumlah transaksi", + "is_solution": false + } + ] + }, + { + "id": "1104818c-566a-43f3-a20c-b43179db2e2b", + "media_id": [], + "question": "44. Merupakan pernyataan terkait prinsip dasar dari cloud services", + "answers": [ + { + "id": "12479669-2566-439e-a4ce-c4eadfefb1b4", + "media_id": [], + "answer": "a. Pembayaran jumlah tagihan tetap tiap bulan/tahun", + "is_solution": true + }, + { + "id": "d8b6f289-4d4e-4377-992b-0a042c380417", + "media_id": [], + "answer": "b. Menggunakan dedicated computing facilities", + "is_solution": false + }, + { + "id": "e9e47ef0-152d-4ede-abb9-7a3ea86b31b5", + "media_id": [], + "answer": "c. Dapat scale-up/down sesuai dengan kebutuhan aplikasi (dengan surcharge if applicable)", + "is_solution": true + }, + { + "id": "daa42346-bbeb-4f04-9f11-50808126ece6", + "media_id": [], + "answer": "d. Tidak perlu melakukan rekayasa beban dan kinerja karena telah dihandle oleh cloud provider", + "is_solution": true + } + ] + }, + { + "id": "0052d42b-9747-44fa-a723-3b4fa8e033df", + "media_id": [], + "question": "45. Fakta terkait dengan testing dari sebuah aplikasi", + "answers": [ + { + "id": "711926a4-9996-421a-ae78-4d0fa5a975b3", + "media_id": [], + "answer": "a. Cara untuk menjamin bahwa aplikasi dapat berjalan baik (free bugs)", + "is_solution": false + }, + { + "id": "ed0f69d8-511d-4d19-b99d-25b595815256", + "media_id": [], + "answer": "b. Tidak ada jaminan untuk melingkupi semua bad behaviors", + "is_solution": true + }, + { + "id": "9c17c3d4-9519-46ff-a1ca-fa3951420375", + "media_id": [], + "answer": "c. Dilakukan dengan memasukkan semua konfigurasi masukan kedalam aplikasi", + "is_solution": false + }, + { + "id": "98e1f259-e63a-462d-96fa-9f6784608353", + "media_id": [], + "answer": "d. Dapat digunakan untuk menguji kebenaran dari long-running (run-forever) process", + "is_solution": true + } + ] + }, + { + "id": "2531f38e-6607-4ec5-9d1a-1ce2fa9182ac", + "media_id": [], + "question": "46. Berikut adalah jenis testing yang digunakan untuk menjamin bahwa semua aplikasi dapat berjalan dalam sejumlah mobile devices", + "answers": [ + { + "id": "2e38a8b2-0664-44cd-ac9a-882507814292", + "media_id": [], + "answer": "a. Unit testing untuk menjamin semua module telah berjalan sesuai dengan spesifikasi fungsi", + "is_solution": true + }, + { + "id": "5bc7a448-626b-43ce-a5cf-efbc96667b70", + "media_id": [], + "answer": "b. Integration testing untuk menguji external resources yang dibutuhkan telah tersedia dan terkonfigurasi dengan tepat", + "is_solution": false + }, + { + "id": "72bb5447-00b4-4d78-b0b8-68438d50dd12", + "media_id": [], + "answer": "c. Performance testing untuk menjamin aplikasi berjalan dengan response time yang diterima pengguna", + "is_solution": true + }, + { + "id": "12c2fd07-ea6f-4712-9568-60cf048bf4e8", + "media_id": [], + "answer": "d. Fuzz testing untuk menjamin aplikasi dapat menerima semua masukan yang mungkin", + "is_solution": true + } + ] + }, + { + "id": "4688a03e-4acb-4ed1-8f8f-1eddf99223e6", + "media_id": [], + "question": "47. Berikut adalah hal-hal yang menyebabkan debugging terhadap sebuah permasalah merupakan proses yang sulit", + "answers": [ + { + "id": "fe80d6c6-4e53-4957-a1a1-49bbe27aab8c", + "media_id": [], + "answer": "a. Permasalah terjadi hanya sesekali (atau random)", + "is_solution": false + }, + { + "id": "5d582836-ebc0-48bc-ab23-c33a48b4f63f", + "media_id": [], + "answer": "b. Aplikasi membutuhkan external services untuk berjalan", + "is_solution": true + }, + { + "id": "171951f7-119b-4e33-a2d5-fc5d261ea031", + "media_id": [], + "answer": "c. Permasalahan disebabkan oleh masukan malform dari external system", + "is_solution": true + }, + { + "id": "f67d353d-6b6c-44b6-abb3-f023c408a8a0", + "media_id": [], + "answer": "d. Permasalahan sulit untuk di-reproduce secara akurat", + "is_solution": true + } + ] + }, + { + "id": "0d2ee9b7-8d90-45bd-875a-4f90129450f9", + "media_id": [], + "question": "48. berikut adalah fasilitas dari modern visual debugger yang dapat membantu proses debugging", + "answers": [ + { + "id": "7a11034b-cdbf-4c03-be66-e866a1c146b3", + "media_id": [], + "answer": "a. watch(es)", + "is_solution": true + }, + { + "id": "306384ef-6972-4040-9864-df38c4bed8ee", + "media_id": [], + "answer": "b. stop", + "is_solution": true + }, + { + "id": "0e3956e7-6d06-41d0-b4fc-75ab82c61e95", + "media_id": [], + "answer": "c. clear stack", + "is_solution": true + }, + { + "id": "57b96c9a-4a05-424b-be4a-b880be526439", + "media_id": [], + "answer": "d. breakpoint", + "is_solution": true + } + ] + }, + { + "id": "730d6ed5-8a63-45a8-877f-00c654885e35", + "media_id": [], + "question": "49. Berikut adalah kualitas dasar yang menjadi bagian dari keamanan informasi", + "answers": [ + { + "id": "71017559-1072-4fdc-8a80-af638265a787", + "media_id": [], + "answer": "a. correctness", + "is_solution": false + }, + { + "id": "42996b6c-e578-4868-a5c2-617d536cb06c", + "media_id": [], + "answer": "b. confidentiality", + "is_solution": true + }, + { + "id": "65ec88ef-a8c5-4805-8148-6e42989fa541", + "media_id": [], + "answer": "c. auditability", + "is_solution": true + }, + { + "id": "922d159a-322a-4d35-ab20-b3af422e6a58", + "media_id": [], + "answer": "d. availability", + "is_solution": false + } + ] + } + ] +} \ No newline at end of file diff --git a/quiz/Kuis PBD 1.txt b/quiz/Kuis PBD 1.txt new file mode 100644 index 0000000000000000000000000000000000000000..3b682d366551a9dd007f75521d5cb09a6a41ccc3 --- /dev/null +++ b/quiz/Kuis PBD 1.txt @@ -0,0 +1,250 @@ +1. Berikut adalah karakteristik dari aplikasi mobile yang berbeda dengan aplikasi desktop +a. Location-aware +b. Sensitive to responsiveness +c. Always connected +d. Less focus on computing task +2. Arsitektur aplikasi mobile +a. Thin-client with back-end server +b. Thick-client with back-end server +c. Thick-client without back-end server (i.e. standalone) +d. Thin-client without back-end server +3. Yang merupakan aplikasi mobile +a. Native app +b. Mobile web app +c. Mobile website +d. SMS-based app +4. Kelebihan mobile web app dibanding dengan native app +a. Single code base untuk sejumlah piranti mobile +b. Seamless versioning +c. Berjalan lebih cepat +d. Dapat berjalan pada browser di piranti mobile +5. Yang merupakan mobile platform +a. IOS (not iOS) +b. Meego +c. Symbian +d. Windows +6. Komponen berikut termasuk dalam layer application framework pada arsitektur sistem Android: +a. Media framework +b. Activity manager +c. Surface manager +d. Content provider +7. Jenis proses pada system Android +a. Visible process +b. Service process +c. Enable process +d. Active process +8. Berikut adalah method yang termasuk dalam android activity life cycle : +a. onResume() +b. onPause() +c. onInit() +d. onTerminate() +9. Motion sensors dalam Android: +a. Rotational vector +b. Orientation sensor +c. Pressure sensor +d. Proximity +10. Activity manager berfungsi untuk: +a. Memungkinkan aplikasi mengakses data +b. Kemungkinan semua apps menampilkan alert terkustomisasi +c. Mengelola life cycle dari aplikasi +d. Menyediakan akses ke non-code resources +11. Berikut adalah hal yang dilakukan dalam konteks sensor framework: +a. Check available sensor in a device +b. Check capability of each sensor +c. Access sensor output/data +d. Register event listener +12. Untuk menampilkan sebuah GUI, komponen yang harus ada adalah sbb: +a. Activity +b. Service +c. broadcastReceiver +d. ContentProvider +13. Pernyataan tentang UI component pada android yang benar +a. Diproses melalui single-threaded queue +b. Mengimplementasikan View aspek dari model MVC +c. UI dapat freeze +d. View dan Control berinteraksi secara langsung +14. Pernyataan tentang Resources berikut benar: +a. Diakses via R.java +b. Merepresentasikan sebuah screen +c. Terletak pada file /resources +d. Didefinisikan melalui file xml +15. Pernyataan tentang SharedPreferences berikut benar +a. Menyimpan data dalam bentuk xml +b. Menyimpan tipe kompleks +c. Dapat dipanggil dalam bentuk getPreferences() +d. Dapat dipanggil dalam bentuk getSharedPreferences() +16. Pernyataan tentang Android berikut benar +a. Aplikasi pada Android ditulis dalam Java dan dikompilasi menjadi Java Bytecode +b. Aplikasi dapat mempublish kapabilitas yang dapat digunakan aplikasi lain +c. Berbasis linux kernel +d. Mendukung akses database dengan SQLite +17. Sistem storage yang tersedia pada platform Android +a. Shared preferences +b. Internal storage +c. External storage +d. Local database +18. Pernyataan tentang SQLite di Android berikut benar +a. Akses basis data SQLite pada device membutuhkan root akses +b. Menggunakan SQLOpenHelper untuk melakukan: insert, update, delete, and select +c. Basis data SQLite hanya dapat diakses oleh aplikasi yang membuatnya +d. Sejumlah data di Content Provider disimpan sebagai SQLite database +19. Pernyataan yang tepat terkait konektivitas di Android +a. Aplikasi hanya membutuhkan permission INTERNET untuk dapat mengaksesjaringan +b. Android telah memberikan dukungan SSL +c. Aplikasi tidak membutuhkan permission tambahan untuk men-setting proxy server +d. Apache HTTPClient lebih didukung Google dari HttpURLConnection +20. Berikut adalah primitif yang didukung OpenGL ES +a. Menggambar titik +b. Menggambar poligon +c. Menggambar segi tiga +d. Menggambar segi empat +21. Berikut adalah pernyataan yang benar terkait Android Location Framework +a. LocationManager menyediakan akses ke Android Location Service +b. Hanya mendukung sebuah location provider saja dalam satu waktu +c. Menyediakan layanan forward dan reverse geocoding +d. Layanan proximity alert tidak disediakan oleh framework ini (melainkan oleh Sensor Framework) +22. Berikut ini adalah jenis challenge yang dapat diberikan oleh sebuah game +a. Spatial awareness +b. Money management +c. Reaction time +d. Pattern matching +23. Urutan game development life cycle adalah +a. Concept -> pitch -> Greenlight -> Prototype ->Pre-production -> alpha Testing -> Production -> Beta Testing -> Gold Master +b. Concept -> pitch -> Green Light -> Prototype ->Pre-production -> alpha Testing -> Production -> Beta Testing -> Gold Master +c. Concept -> pitch -> Prototype -> Green Light Pre-production -> alpha Testing -> Beta Testing -> Gold Master +d. Concept -> Prototype -> Pitch -> Green Light Pre-production -> alpha Testing -> Beta Testing -> Gold Master +24. Berikut adalah role dari game programmer +a. Character programmer +b. Enemy programmer +c. Engine programmer +d. Network programmer +25. Hal yang perlu diperhitungkan dalam memilih game engine adalah +a. Kemudahan penggunaan +b. Fungsionalitas +c. Harga +d. Target platform +26. Fitur yang disediakan oleh Unity adalah +a. Physics Engine +b. GUI system +c. 2D animation +d. 3D terrain editor +27. Berikut ini adalah fungsi yang secara default terdapat pada script +a. Awake +b. OnUpdate +c. OnStart +d. FixedUpdate +28. Yang termasuk dalam pemanfaatan Physics Engine adalah +a. Memberikan efek gravitasi +b. Mendeteksi tembakan peluru +c. Mensimulasikan bentuk rigidbody saat ditekan +d. Membuat ragdoll +29. Unity Components yang tidak digunakan untuk menampilkan tabrakan dua benda dalam 3D +a. Light +b. Rigidbody +c. Camera +d. Canvas +30. Microcontroller adalah komputer kecil pada sebuah integrated circuit (IC) yang berisi: +a. Processor core (CPU) +b. Memory +c. Programmable input/output peripherals +d. Firmware atau sistem operasi +31. Solusi microcontroller dibanding solusi computer based biasanya memiliki kelebihan: +a. Memiliki computing power yang lebih tinggi +b. Kebutuhan biaya yang lebih murah +c. Waktu pengembangan yang lebih cepat +d. Memiliki tingkat availability dan kehandalan yang lebih baik +32. ARM adalah microcontroller dengan karakteristik: +a. Berbasis arsitektur RISC (reduced instruction set computing) +b. Berbasis arsitektur CISC (complex instruction set computing) +c. 32-bit processor +d. 64-bit processor +33. Arduino memiliki karakteristik berikut: +a. Open-source physical computing platform +b. Berbasis simple microcontroller board +c. Tersedia development environment untuk membuat dan menuliskan program ke board +d. Selalu menggunakan microcontroller keluarga ATMega +34. Kelebihan menggunakan Arduino dibandingkan membuat board sendiri: +a. Kebutuhan biaya yang selalu lebih murah +b. Solusi yang tepat untuk segala kebutuhan embedded system +c. Mudah dikembangkan dan extensible +d. Sudah tersedia IDE untuk pengembangan software +35. Berikut adalah typical langkah-langkah dalam pengembangan system menggunakan Arduino: +a. Merencanakan kebutuhan biaya untuk hardware dan software +b. Menyusun hardware (assemble) sesuai dengan kebutuhan +c. Membuat sketch program +d. Upload program ke Arduino +36. Arduino yang digunakan pada kuliah ini mampu berkomunikasi dengan perangkat lain menggunakan: (ARDUINO UNO) +a. UART +b. USB +c. SPI +d. I2C atau TWI +37. Pernyataan yang benar sesuai dengan skema Arduino berikut (PIN D2 sebagai input): +a. Bila saklar tertutup, maka pin D2 akan bernilai HIGH +b. Bila saklar terbuka, maka state pin D2 tidak bisa ditentukan apakah HIGH atau LOW +c. Resistor yang menghubungkan pin D2 ke GND berfungsi sebagai pulldown resistor +d. Karena terhubung juga ke GND, saat saklar tertutup, pin D2 tidak bisa ditentukan apakah HIGH atau LOW +38. Pada pemrograman arduino, perintah (command) analogWrite bila diterapkan untuk pin digital: +a. Teknik tersebut disebut PWM(pulse width modulation) +b. Digunakan untuk menghasilkan output seperti analog dengan rentang nilai 0 volt - 5 volt +c. Menghasilkan square wave bergantian on/high dan off/low sesuai dengan parameter +d. analogWrite hanya bisa diterapkan untuk pin analog +39. Serial port pada arduino +a. disebut juga UART atau USART +b. mampu mengirimkan data secara byte per bet asynchronous +c. mampu mengirimkan data secara bit per bit synchronous +d. bisa digunakan untuk berkomunikasi dengan arduino lain, komputer, atau device lain yang memiliki serial port juga +40. Berikut terkait interrupt pada Arduino +a. interrupt bisa dihasilkan oleh event yang berasal perangkat atau modul dari luar +b. semua interrupt dapat dibuat handler-nya +c. interrupt handler akan berjalan secara asynchronous bila event yang sesuai terjadi +d. interrupt handler harus dibuat sependek mungkin agar tidak kehilangan event berikutnya yang menimbulkan interrupt +41. Berikut adalah komponen yang terdapat pada sebuah Smart Card +a. interface +b. ROM/RAM +c. EEPROM +d. Cache +42. Berikut adalah pernyataan tentang teknologi Smart Card +a. Dapat berkomunikasi secara wireless +b. Tidak membutuhkan tenaga listrik untuk menjalankan CPU di kartu +c. Membutuhkan strip magnetik strip berkomunikasi dengan reader +d. Harus dalam bentuk sebuah kartu dengan ukuran kartu kredit +43. Berikut adalah keuntungan dengan mengembangkan back-end pada sebuah cloud service +a. Tidak membutuhkan investasi infrastruktur HW yang besar +b. Risiko keamanan informasi lebih tinggi karena sistem dan data berada di luar kendali kita +c. Dapat scale-up seiring dengan bertambahnya pengguna layanan +d. Biaya operasi yang tidak terduga karena bergantung dengan jumlah transaksi +44. Merupakan pernyataan terkait prinsip dasar dari cloud services +a. Pembayaran jumlah tagihan tetap tiap bulan/tahun +b. Menggunakan dedicated computing facilities +c. Dapat scale-up/down sesuai dengan kebutuhan aplikasi (dengan surcharge if applicable) +d. Tidak perlu melakukan rekayasa beban dan kinerja karena telah dihandle oleh cloud provider +45. Fakta terkait dengan testing dari sebuah aplikasi +a. Cara untuk menjamin bahwa aplikasi dapat berjalan baik (free bugs) +b. Tidak ada jaminan untuk melingkupi semua bad behaviors +c. Dilakukan dengan memasukkan semua konfigurasi masukan kedalam aplikasi +d. Dapat digunakan untuk menguji kebenaran dari long-running (run-forever) process +46. Berikut adalah jenis testing yang digunakan untuk menjamin bahwa semua aplikasi dapat berjalan dalam sejumlah mobile devices +a. Unit testing untuk menjamin semua module telah berjalan sesuai dengan spesifikasi fungsi +b. Integration testing untuk menguji external resources yang dibutuhkan telah tersedia dan terkonfigurasi dengan tepat +c. Performance testing untuk menjamin aplikasi berjalan dengan response time yang diterima pengguna +d. Fuzz testing untuk menjamin aplikasi dapat menerima semua masukan yang mungkin +47. Berikut adalah hal-hal yang menyebabkan debugging terhadap sebuah permasalah merupakan proses yang sulit +a. Permasalah terjadi hanya sesekali (atau random) +b. Aplikasi membutuhkan external services untuk berjalan +c. Permasalahan disebabkan oleh masukan malform dari external system +d. Permasalahan sulit untuk di-reproduce secara akurat +48. berikut adalah fasilitas dari modern visual debugger yang dapat membantu proses debugging +a. watch(es) +b. stop +c. clear stack +d. breakpoint +49. Berikut adalah kualitas dasar yang menjadi bagian dari keamanan informasi +a. correctness +b. confidentiality +c. auditability +d. availability +50. Bentuk dari perlindungan kekayaan intelektual yang ada di Indonesia +a. merek +b. hak cipta/copyright +c. paten +d. indikasi geografis \ No newline at end of file diff --git a/quiz/quiz_parser.py b/quiz/quiz_parser.py new file mode 100644 index 0000000000000000000000000000000000000000..8cfef1ed62a1a3acd5da24d69056aca7a42bd225 --- /dev/null +++ b/quiz/quiz_parser.py @@ -0,0 +1,65 @@ +import json +import re +import uuid +import random + +filename = "Kuis PBD 1" +quiz = None + +with open(f"{filename}.txt", "r") as file: + data = file.read().splitlines() + # type QuizDetail struct { + # Id uuid.UUID `json:"id"` + # Name string `json:"name"` + # CourseId string `json:"course_id"` + # Description string `json:"description"` + # Help string `json:"help"` + # Media []QuizMedia `json:"media"` + # Problems []QuizProblem `json:"problems"` + # } + quiz = { + "id" : str(uuid.uuid4()), + "name" : filename, + "course_id" : "IF3210", + "description" : "Kuis PBD Pertama", + "help" : "Materi mencakup semua materi yang telah dipelajari", + "media" : [], + "problems" : [] + } + + current_problem = None + for line in data: + if re.match(r"^\d+\.", line): + if current_problem is not None: + quiz["problems"].append(current_problem) + # type QuizProblem struct { + # Id uuid.UUID `json:"id"` + # MediaId []uuid.UUID `json:"media_id"` + # Question string `json:"question"` + # Answer []AnswerOption `json:"answers"` + # } + current_problem = { + "id" : str(uuid.uuid4()), + "media_id" : [], + "question" : line, + "answers" : [] + } + elif re.match(r"^[a-z]+\.", line): + # type AnswerOption struct { + # Id uuid.UUID `json:"id"` + # MediaId []uuid.UUID `json:"media_id"` + # Answer string `json:"answer"` + # IsSolution *bool `json:"is_solution"` + # } + current_problem["answers"].append({ + "id" : str(uuid.uuid4()), + "media_id" : [], + "answer" : line, + "is_solution": True if random.random() >= 0.5 else False + }) + else: + raise Exception(f"Invalid line: {line}") + +if quiz is not None: + with open(f"{filename}.json", "w") as file: + json.dump(quiz, file, indent=4)