QUIZ PBKK

    QUIZ PBKK

1. Jelaskan struktur framework , dan apa saja kegunaanya dalam pengembangan Perangkat Lunak?

Pengertian Framework

Framework adalah struktur yang tersusun dari serangkaian kode generik dan berfungsi untuk mengembangkan sistem dan aplikasi. Kerangka kerja ini berperan sebagai template atau model yang menyediakan fungsi cerdas dan elemen struktur standar untuk memudahkan pekerjaan developer. Karena menjadi semacam “fondasi” dalam mengerjakan proyek, framework membantu developer agar tidak perlu memulai proses development dari nol. Ada berbagai komponen siap pakai dan solusi yang mudah disesuaikan dalam framework untuk menyederhanakan proses pengembangan. Selain itu, framework juga rutin diuji, dioptimalkan, dan diupdate oleh programmer berpengalaman sehingga biasanya cukup aman dan efisien. Satu framework bisa digunakan dalam beberapa proyek berbeda, sehingga bisa dibilang framework adalah ‘fasilitator’ di dunia pemrograman.  Solusi pemrograman yang mencakup source code, compiler, library, abstract class, API , dan elemen lainnya ini memberikan dukungan yang diperlukan untuk pemrograman software umum. Baik untuk web development, mobile development, atau data science, framework bisa memfasilitasi semua ini. 


Struktur Framework


Berikut adalah penjelasan terkait struktur sebuah framework :


1. Arsitektur

Arsitektur dalam sebuah framework adalah kerangka kerja yang telah ditentukan sebelumnya untuk mengatur cara komponen-komponen dalam aplikasi saling berinteraksi. Ini membantu dalam pemisahan tugas dan tanggung jawab, serta memudahkan pengembangan dan pemeliharaan aplikasi. Contoh arsitektur yang umum digunakan adalah :

  • Model-View-Controller (MVC) : Dalam MVC, aplikasi dibagi menjadi tiga komponen utama: Model (data dan logika bisnis), View (tampilan), dan Controller (pengendali). Ini memungkinkan pemisahan jelas antara logika bisnis dan tampilan.
  • Model-View-ViewModel (MVVM) : MVVM adalah variasi dari MVC yang digunakan terutama dalam pengembangan aplikasi berbasis antarmuka pengguna (UI) yang dinamis. Ini memisahkan logika bisnis dari tampilan dengan menggunakan ViewModel sebagai perantara.

2. Modul dan Komponen

Framework biasanya menyediakan berbagai modul atau komponen yang dapat digunakan oleh pengembang untuk membangun aplikasi. Modul ini adalah unit-unit fungsional yang dapat mencakup berbagai fitur, fungsi, atau kelas yang dapat digunakan kembali. Penggunaan modul ini membantu dalam menghindari duplikasi kode dan meningkatkan efisiensi pengembangan.


3. Routing

Sistem routing dalam sebuah framework memungkinkan pengembang untuk menentukan bagaimana permintaan URL atau HTTP dipetakan ke fungsi atau tindakan tertentu dalam aplikasi. Ini memungkinkan pengembang untuk mengelola navigasi pengguna dan menentukan apa yang harus terjadi ketika pengguna mengakses berbagai halaman atau rute dalam aplikasi.


4. Database dan ORM

Framework sering menyediakan dukungan untuk berinteraksi dengan basis data. Ini termasuk fitur untuk menjalankan kueri, mengambil data, menyimpan data, dan mengelola transaksi. Object-Relational Mapping (ORM) adalah komponen yang memungkinkan pengembang untuk berinteraksi dengan basis data menggunakan objek dan kelas alih-alih kueri SQL langsung.


5. Template Engine

Mesin template dalam sebuah framework memungkinkan pengembang untuk memisahkan logika bisnis dari tampilan. Ini memungkinkan pengembang untuk membuat tampilan yang dinamis dengan menyisipkan data ke dalam template. Dengan cara ini, tampilan dapat lebih mudah dipelihara dan diperbarui tanpa harus mengganggu logika bisnis di belakangnya.


6. Keamanan

Keamanan adalah komponen penting dalam sebuah framework. Ini mencakup fitur-fitur yang membantu melindungi aplikasi dari serangan dan kerentanan keamanan. Ini bisa mencakup validasi input, perlindungan terhadap serangan seperti XSS (Cross-Site Scripting) dan CSRF (Cross-Site Request Forgery), serta manajemen otentikasi dan otorisasi untuk mengatur hak akses pengguna.


7. Pengujian

Framework umumnya menyediakan dukungan untuk pengujian otomatis. Ini memungkinkan pengembang untuk menulis berbagai jenis pengujian, termasuk:

  • Unit Testing : Untuk menguji komponen individual dalam aplikasi.
  •  Integration Testing : Untuk menguji interaksi antara komponen-komponen.
  • Functional Testing : Untuk menguji aplikasi secara keseluruhan dalam situasi yang menyerupai penggunaan sebenarnya.

Dengan adanya komponen-komponen ini, framework membantu pengembang dalam mempercepat proses pengembangan, meningkatkan kualitas aplikasi, dan memastikan keamanan serta kestabilan aplikasi yang dikembangkan.


Kegunaan dan Fungsi Framework


Fungsi utama framework adalah untuk memudahkan proses pengembangan software atau aplikasi. Dengan menyediakan struktur dasar yang memudahkan proses pemrograman sistem, framework sangat membantu dalam hal waktu dan keamanan. Framework yang umumnya bersifat open-source biasanya sering menjalani pengujian dan pengoptimalan secara teratur. Oleh karena itu, proses pelaporan dan perbaikan bisa dilakukan segera jika ada kerusakan atau bug yang ditemukan. Framework juga punya konsistensi tinggi karena merupakan coding yang diuji secara ekstensif dan sudah terbukti berhasil. Cara kerja framework memungkinkan developer untuk lebih fokus pada target utama proyek tanpa perlu cemas dengan elemen dasar strukturnya. Tanpa harus memulai proses dari nol, programmer bisa menghemat waktu dan uang di samping mengurangi risiko error. Proses eksekusinya didasarkan pada penggunaan ulang rangkaian kode generik yang bisa diimplementasikan sebagai struktur dasar proyek. Desain ini harus sesuai dengan bahasa dan sifat framework yang dimaksud. Adapun beberapa kegunaan framework lainnya seperti :

  • Mengoptimalkan waktu pengembangan
  • Menentukan dan menstandarkan langkah-langkah pemrograman
  • Keamanan yang lebih ketat
  • Menghindari kode duplikat
  • Mengurangi terjadinya bug
  • Meningkatkan konsistensi dalam proses pengembangan dan dalam aplikasi yang dibuat
  • Meminimalkan kemungkinan error dalam kode
  • Memungkinkan developer untuk fokus pada elemen desain tertentu
  • Memudahkan dan mempersingkat proses belajar tim developer
  • Menghemat biaya
2. Dalam pembuatan aplikasi, dikenal dengan Universal Windows Platform. Digunakan untuk membuat aplikasi yang mempunyai karakteristik seperti apa? Jelaskan sertai dengan contoh.

Universal Windows Platform (UWP) adalah kerangka pengembangan aplikasi yang dikembangkan oleh Microsoft untuk membuat aplikasi yang dapat berjalan di berbagai perangkat Windows, termasuk PC, tablet, ponsel, Xbox, HoloLens, dan perangkat Windows lainnya. Karakteristik utama dari aplikasi UWP adalah sebagai berikut :

1. Universal (Universal)
  • Aplikasi UWP dapat dengan mudah dijalankan pada berbagai perangkat Windows dengan sedikit atau tanpa perubahan. Ini menghilangkan kebutuhan untuk mengembangkan aplikasi yang berbeda untuk setiap jenis perangkat.
  • Pengguna hanya perlu membeli aplikasi sekali di Microsoft Store, dan mereka dapat mengaksesnya di semua perangkat yang mereka miliki.
2. Responsif (Responsive)
  • Aplikasi UWP dirancang agar responsif terhadap berbagai faktor bentuk perangkat. Mereka dapat menyesuaikan tampilan dan perilaku mereka secara otomatis sesuai dengan layar perangkat yang digunakan.
  • Misalnya, aplikasi UWP yang berjalan di PC akan memiliki tampilan yang lebih luas dengan lebih banyak fungsi, sedangkan pada ponsel, tampilan akan lebih disederhanakan untuk mengakomodasi layar sentuh.
3. Akses ke Fungsi Platform (Access to Platform Features)
  • Aplikasi UWP dapat mengakses berbagai fitur dan perangkat keras platform Windows, seperti kamera, mikrofon, GPS, akselerometer, dan lainnya.
  • Mereka juga dapat berinteraksi dengan layanan Windows seperti Cortana, sistem notifikasi, dan integrasi dengan sistem operasi secara menyeluruh.
4. Keamanan (Security)
  • Aplikasi UWP dijalankan dalam lingkungan kontainer yang memberikan tingkat keamanan yang lebih tinggi. Ini berarti aplikasi memiliki akses yang terbatas terhadap sumber daya perangkat, dan data aplikasi disimpan dengan aman.
  • Selain itu, UWP memanfaatkan mekanisme izin yang memungkinkan pengguna untuk mengontrol akses aplikasi ke sumber daya, seperti kamera atau lokasi.
5. Interoperabilitas dengan .NET (Interoperability with .NET)
  • UWP memungkinkan pengembangan aplikasi menggunakan berbagai bahasa pemrograman, termasuk C#, VB.NET, C++, dan JavaScript.
  • Framework .NET menyediakan banyak alat dan pustaka yang dapat digunakan oleh pengembang untuk mempercepat pengembangan aplikasi.
Contoh aplikasi UWP yang terkenal adalah "Microsoft OneNote". Aplikasi ini mencerminkan karakteristik UWP sebagai berikut :

1. Universal
OneNote tersedia di berbagai perangkat Windows, termasuk PC, tablet, dan ponsel. Pengguna dapat dengan mudah mengakses catatan mereka di berbagai perangkat, dan perubahan akan disinkronkan secara otomatis.

2. Responsif
Aplikasi OneNote menyesuaikan tampilannya dengan baik pada perangkat yang berbeda. Pengguna akan melihat antarmuka yang lebih kaya pada PC dan tampilan yang lebih disederhanakan pada ponsel.

3. Akses ke Fungsi Platform
OneNote memanfaatkan kamera, pena stylus, dan kemampuan suara perangkat untuk membuat catatan multimedia yang kaya.

4. Keamanan
Catatan OneNote tersimpan dengan aman dan dapat dienkripsi untuk melindungi privasi pengguna.

5. Interoperabilitas dengan .NET (Interoperability with. NET)
Microsoft OneNote dikembangkan menggunakan teknologi .NET dan C#. Hal ini memungkinkan integrasi yang baik dengan platform Windows dan alat pengembangan .NET.

Aplikasi UWP lainnya seperti Microsoft Office, Microsoft Edge, dan berbagai aplikasi lain di Microsoft Store juga menunjukkan fleksibilitas dan konsistensi dalam penggunaan karakteristik UWP, menjadikan pengalaman pengguna seragam di seluruh perangkat Windows.

3. Untuk memperjelas jawaban no 2, Buatlah desain aplikasi Koleksi Album foto yang bisa menghimpun foto, deskripsi , informasi foto diambil/ metadata, dan juga bisa menghapus maupun update.

UWP atau Universal Windows Platform. UWP merupakan salah satu pengembangan dari framework .NET yang ditujukan untuk developer agar bisa membangun aplikasi universal yang dapat berjalan di berbagai platform seperti Windows 10, Windows 11, Xbox One, dsb. Setelah pertemuan ini terdapat latihan UWP untuk membuat aplikasi Photolab yang menampilkan berbagai gambar/foto dengan judul dan rating serta berbagai fitur seperti Zoom, Delete, dan Editing.

Dokumentasi

1. Tampilan Photolab


2. Fitur Zoom dan Fit to Screen

3. Fitur Delete Photo

4. Fitur Editing


4. 
Implementasikan soal no 3, kemudian buat video tutorial pengerjaannya, upload di Youtube, dan embedded di blog dokumentasi.

Berikut merupakan demo video terkait penjelasan soal no 3










Komentar

Postingan populer dari blog ini

TUGAS 1 PPL

TUGAS 1 PPB