Uji Pemahaman 139

 1. Jelaskan alasan program perlu dipecah menjadi beberapa bagian.

- 1) Lebih mudah dalam mengatur Workflow

2) Bertujuan untuk memudahkan Debugging jika terjadi sebuah Bug

3) Tujuan Optimisasi agar tidak memakan banyak Memori (Memory Hog)

4) Fitur Program akan di Import ke Memory jika sedang digunakan saja

5) Memudahkan proses Threading/Multiprocessing/Async yang bertujuan untuk Paralelisme Program

Biasanya dalam Satu Program akan dipecah menjadi beberapa bagian berdasarkan fungsi/fitur yang ada di dalam program tersebut, tujuan pembagian ini bertujuan agar tidak semua codeblock terbaca oleh Memory yang akan menimbulkan Lag karena terlalu memakan banyak Memory (Optimisasi). Hal ini sering/wajib dilakukan untuk suatu Program yang memiliki fitur/workflow yang banyak/kompleks.



2. Jelaskan yang dimaksud dengan subprogram.

- Subprogram merupakan program bagian dengan blok terpisah dan didalam program utama, dan akan dipanggil pada program utama jika subprogram itu diperlukan untuk dijalankan.



3. Jelaskan perbedaan antara funsgi dan prosedur.

- prosedur itu hanya berisi metode, langkah-langkah atau tahap-tahap penyelesaian masalah sedangkan fungsi adalah berisi metode yang memproses nilai dan mengubah nilai itu sendiri.



4. Jelaskan bagian utama program dan subprogram "berkomunikasi" di Scratch.
- program dan subprogram berkomunikasi dengan blok-blok yang menggunakan kata kata "broadcast" dan "message"



5. Jelaskan karakteristik dari suatu subprogram yang baik,.
- 1) Berikan nama subprogram yang jelas dan bermakna. Nama subprogram harus mencerminkan fungsi yang dilakukannya.
2) Bagi subprogram menjadi bagian-bagian yang lebih kecil dan spesifik. Ini akan membuat subprogram lebih mudah dikelola dan dipelihara.
3) Gunakan komentar untuk menjelaskan fungsi dari setiap blok kode. Ini akan membantu orang lain memahami subprogram Anda.
4) Uji subprogram Anda secara menyeluruh. Ini akan membantu memastikan bahwa subprogram berjalan dengan benar
5) Fungsional: Subprogram harus memiliki fungsi yang jelas dan terdefinisi dengan baik. Artinya, subprogram harus memiliki tujuan yang spesifik dan dapat dicapai dengan jelas. Selain itu, subprogram harus dapat diuji dengan mudah untuk memastikan bahwa fungsinya berjalan dengan benar.
6) Efektivitas: Subprogram harus berjalan secara efisien dan tidak membuang-buang sumber daya. Artinya, subprogram harus menggunakan sumber daya yang minimum untuk mencapai tujuannya. Hal ini penting untuk menjaga kinerja keseluruhan program.
7) Kemudahan penggunaan: Subprogram harus mudah digunakan dan dipahami oleh orang lain. Artinya, subprogram harus memiliki struktur yang logis dan mudah dibaca. Selain itu, subprogram harus menggunakan nama variabel dan fungsi yang jelas dan mudah dipahami.
8) Keterukuran: Subprogram harus dapat diukur dan diuji dengan mudah. Artinya, subprogram harus memiliki ukuran yang tidak terlalu besar dan kompleks. Hal ini penting untuk memudahkan proses pengembangan dan pemeliharaan program


6. Mengapa suatu subprogram sebaiknya dibuat hanya untuk satu tujuan spesifik? Jelaskan.
- subprogram menjadi bagian-bagian yang lebih kecil dan spesifik. Ini akan membuat subprogram lebih mudah dikelola dan dipelihara, dan juga mudah dicek untuk kesalahan


7. Jelaskan hal-hal yang perlu dipahami agar dapat memecah program menjadi subprogram dengan benar.
- a. Kesederhanaan: Program yang baik adalah program yang sederhana dan mudah dipahami.
b. Kesamaan: Bagian-bagian dari program yang memiliki fungsi yang sama sebaiknya digabungkan menjadi satu subprogram.
c Ketergantungan: Subprogram harus saling tergantung satu sama lain seminimal mungkin.
d. Keterukuran: Subprogram harus memiliki ukuran yang tidak terlalu besar dan kompleks.


8. Tuliskan langkah-langkah untuk menambahkan blok perintah yang didefinisikan sendiri.
- a. Buka program Scratch.
b. Klik ikon My Blocks di bagian kiri atas layar.
c. Klik tombol New Block.
d. Masukkan nama blok perintah yang ingin Anda buat.
e. Tuliskan kode untuk blok perintah yang ingin Anda buat.
f. Klik tombol Save.


9. Jelaskan perbedaan antara memecah program dengan mengirimkan pesan dan dengan membuat blok perintah sendiri.
- Pemecahan program dengan mengirimkan pesan cocok untuk program kompleks yang membutuhkan komunikasi antar sprite, sedangkan pemecahan program dengan membuat blok perintah sendiri cocok untuk program sederhana yang tidak membutuhkan komunikasi antar sprite.

Pada pemecahan program dengan mengirimkan pesan, setiap sprite memiliki fungsinya masing-masing dan dapat berkomunikasi satu sama lain dengan mengirimkan pesan. Pada pemecahan program dengan membuat blok perintah sendiri, program dibagi menjadi beberapa bagian yang lebih kecil dan independen. Bagian-bagian ini disebut dengan subprogram.


10. Berdasarkan kekurangan dan kelebihan dari memecah program dengan mengirimkan pesan dan dengan membuat blok perintah sendiri, pada kondisi apa kita harus memilih masing-masing mekanisme tersebut? Jelaskan.
- Kekurangan dan kelebihan memecah program dengan mengirimkan pesan

* Kekurangan:
    - Lebih kompleks
    -  Lebih sulit didebug
    - Lebih lambat
* Kelebihan:
    - Lebih fleksibel
    - Lebih modular
    - Lebih mudah untuk diuji

*Kekurangan dan kelebihan memecah program dengan membuat blok perintah sendiri

* Kekurangan:
    - Kurang fleksibel
    - Kurang modular
    - Lebih sulit untuk diuji
* Kelebihan:
    - Lebih sederhana
    - Lebih mudah didebug
    - Lebih cepat

*Kondisi untuk memilih mekanisme memecah program dengan mengirimkan pesan

- Ketika program membutuhkan fleksibilitas dan modularitas.
- Ketika program membutuhkan kemampuan untuk menguji komponen secara independen.
- Ketika program membutuhkan kemampuan untuk berkomunikasi dengan komponen yang dibuat oleh pihak ketiga.

*Kondisi untuk memilih mekanisme memecah program dengan membuat blok perintah sendiri

- Ketika program membutuhkan kesederhanaan dan kemudahan debugging.
- Ketika program membutuhkan kecepatan eksekusi.
- Ketika program membutuhkan kontrol yang lebih ketat atas aliran eksekusi.

*Contoh penggunaan masing-masing mekanisme

*Mekanisme pengiriman pesan
- Program yang menggunakan komponen yang dibuat oleh pihak ketiga.
- Program yang membutuhkan kemampuan untuk berkomunikasi antar komponen.
- Program yang membutuhkan fleksibilitas untuk mengubah perilaku komponen tanpa mengubah kode program utama.

*Mekanisme blok perintah sendiri

- Program yang sederhana dan tidak membutuhkan fleksibilitas atau modularitas.
- Program yang membutuhkan kecepatan eksekusi.
- Program yang membutuhkan kontrol yang lebih ketat atas aliran eksekusi.

Secara umum, mekanisme pengiriman pesan lebih cocok untuk program yang kompleks dan membutuhkan fleksibilitas dan modularitas. Sedangkan mekanisme blok perintah sendiri lebih cocok untuk program yang sederhana dan membutuhkan kecepatan eksekusi

Komentar