QUIZ 1


QUIZ PBKK 1

Sandyatama Fransisna Nugraha (5025211196)


Soal :

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

  2. Dalam pembuatan aplikasi, pertimbangan apa saja ketika memilih metode implementasi Winform, WPF , ataupun UWP. Jelaskan perbedaan masing-masing.

  3. Untuk memperjelas jawaban no 2, Buatlah screenshot aplikasi yang pernah dibuat, beserta deskripsi dan link tugas yang pernah dikerjakan mengenai Winfor, WPF dan UWP

  4. Apa yang dimaksud dengan aplikasi Rich UI. Buatlah aplikasi Rich UI yang berguna dalam kehidupan sehari hari, misal Animasi Clock, aplikasi cuaca, pemantauan kesehatan. Buat design UI nya..

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

Jawab :

  1. Framework adalah kerangka kerja atau struktur framework berisikan kerangka kerja yang terdiri dari komponen-komponen utama yang membentuk dasar pengembangan perangkat lunak. Struktur ini menyediakan pendekatan yang terorganisir dan terstruktur dalam membangun aplikasi. Framework menyediakan serangkaian aturan, konvensi, dan alat yang membantu pengembang dalam mengembangkan perangkat lunak dengan lebih cepat dan efisien.Biasanya framework mencakup aturan, konvensi, dan pola desain yang harus diikuti oleh pengembang dalam membangun aplikasi.

Berikut adalah beberapa komponen utama yang biasanya ada dalam struktur framework:

  • Arsitektur: Framework biasanya memiliki arsitektur yang telah ditentukan sebelumnya. Arsitektur ini menentukan bagaimana komponen-komponen aplikasi saling berinteraksi dan berkomunikasi. Contoh arsitektur yang umum digunakan adalah Model-View-Controller (MVC) dan Model-View-ViewModel (MVVM).

  • Modul dan Komponen: Framework biasanya terdiri dari modul-modul atau komponen-komponen yang dapat digunakan untuk membangun aplikasi. Modul ini dapat berupa fungsi, kelas, atau komponen lain yang menyediakan fitur-fitur khusus yang dapat digunakan oleh pengembang.

  • Routing: Framework biasanya menyediakan mekanisme routing yang memungkinkan pengembang untuk menentukan bagaimana URL atau permintaan HTTP akan dipetakan ke fungsi atau tindakan tertentu dalam aplikasi. Routing ini memudahkan pengembang dalam mengatur navigasi dan mengelola permintaan pengguna.

  • Database dan ORM: Framework biasanya menyediakan dukungan untuk mengakses dan mengelola basis data. Framework dapat menyediakan ORM (Object-Relational Mapping) yang memungkinkan pengembang untuk berinteraksi dengan basis data menggunakan objek dan kelas, daripada menulis kueri SQL secara langsung.

  • Template Engine: Framework biasanya menyediakan mesin template yang memungkinkan pengembang untuk memisahkan logika bisnis dari tampilan. Dengan menggunakan template engine, pengembang dapat membuat tampilan yang dinamis dan mudah dipelihara.

  • Keamanan: Framework biasanya menyediakan fitur keamanan yang membantu melindungi aplikasi dari serangan dan kerentanan keamanan. Fitur-fitur ini dapat mencakup validasi input, perlindungan terhadap serangan XSS (Cross-Site Scripting) dan CSRF (Cross-Site Request Forgery), serta manajemen otentikasi dan otorisasi.

  • Pengujian: Framework biasanya menyediakan dukungan untuk pengujian otomatis. Pengembang dapat menulis unit test, integrasi test, dan test fungsional untuk memastikan bahwa aplikasi berfungsi dengan baik dan sesuai dengan harapan.

Struktur framework dapat bervariasi tergantung pada jenis framework yang digunakan, seperti framework web, framework aplikasi mobile, atau framework desktop. Namun, pada umumnya, struktur framework dirancang untuk memudahkan pengembangan perangkat lunak dengan menyediakan aturan dan komponen yang konsisten dan terstruktur.

Saya akan mengambil contoh struktur framework WPF, dimana struktur ini terdiri dari 

  • Window: Window adalah komponen utama dalam WPF yang mewakili jendela aplikasi. Setiap aplikasi WPF memiliki setidaknya satu window utama. Window dapat berisi elemen-elemen lain seperti panel, kontrol, dan tata letak.

  • Controls: WPF menyediakan berbagai macam kontrol yang dapat digunakan dalam aplikasi, seperti tombol, teksbox, label, listbox, dan sebagainya. Kontrol-kontrol ini dapat ditempatkan di dalam window atau panel untuk membangun antarmuka pengguna.

  • Layout Panels: WPF menyediakan berbagai macam panel tata letak yang digunakan untuk mengatur posisi dan tata letak kontrol-kontrol dalam window. Beberapa contoh panel tata letak yang umum digunakan adalah StackPanel, Grid, DockPanel, dan WrapPanel.

  • Data Binding: WPF memiliki fitur data binding yang kuat yang memungkinkan pengikatan data antara sumber data dan kontrol. Dengan menggunakan data binding, pengembang dapat menghubungkan kontrol dengan sumber data dan secara otomatis memperbarui tampilan ketika data berubah.

  • Styles dan Templates: WPF menyediakan fitur gaya (styles) dan template yang memungkinkan pengembang untuk mendefinisikan tampilan dan gaya kontrol secara terpusat. Dengan menggunakan gaya dan template, pengembang dapat dengan mudah mengubah tampilan aplikasi secara konsisten.

  • Event Handling: WPF menggunakan model event handling yang mirip dengan platform .NET lainnya. Pengembang dapat menangani peristiwa (event) yang terjadi pada kontrol atau elemen lain dalam aplikasi untuk merespons interaksi pengguna.

  • Animation dan Transisi: WPF menyediakan dukungan untuk animasi dan transisi yang memungkinkan pengembang untuk membuat antarmuka pengguna yang dinamis dan menarik. Pengembang dapat membuat animasi perubahan properti, perpindahan elemen, dan efek transisi antara tampilan.

  • Data Templates: WPF menyediakan fitur data templates yang memungkinkan pengembang untuk mendefinisikan tampilan khusus untuk objek data tertentu. Dengan menggunakan data templates, pengembang dapat mengontrol tampilan item dalam kontrol seperti listbox atau combobox.

Kegunaan framework dalam pengembangan perangkat lunak antara lain:

  • Mempercepat pengembangan: Framework menyediakan komponen dan fungsi yang sudah siap pakai, sehingga pengembang tidak perlu memulai dari awal. Hal ini mempercepat proses pengembangan aplikasi.

  • Memudahkan pemeliharaan: Dengan menggunakan framework, pengembang dapat mengikuti standar dan konvensi yang sudah ditetapkan. Hal ini memudahkan pemeliharaan dan perbaikan aplikasi di masa depan.

  • Meningkatkan keamanan: Framework umumnya memiliki fitur keamanan yang sudah teruji dan terintegrasi. Pengembang dapat memanfaatkan fitur-fitur ini untuk melindungi aplikasi dari serangan dan kerentanan keamanan.

  • Memiliki dokumentasi yang lengkap: Framework umumnya disertai dengan dokumentasi yang lengkap dan jelas. Hal ini memudahkan pengembang dalam mempelajari dan menggunakan framework tersebut.

  • Memfasilitasi kolaborasi: Dengan menggunakan framework yang populer, pengembang dapat dengan mudah berkolaborasi dengan pengembang lain. Mereka dapat berbagi pengetahuan, pengalaman, dan sumber daya untuk mempercepat pengembangan aplikasi.

       2.  Perbedaan Winforms, WPF, dan UWP

WinForms

WPF

UWP

Memiki teknologi yang lebih tua dan telah ada sejak lama.

Memiliki teknologi yang lebih modern dan kuat untuk membangun aplikasi desktop windows 

Platform pengembangan aplikasi yang dirancang untuk berjalan di berbagai perangkat Windows, termasuk PC, tablet, ponsel, Xbox, dan lainnya

WinForms cocok untuk aplikasi desktop sederhana yang tidak memerlukan antarmuka pengguna yang sangat kaya atau kompleks

Mendukung teknologi yang memberikan antarmuka pengguna yang lebih kaya dan fleksibel 

UWP menggunakan model pemrograman yang berbasis XAML, mirip dengan WPF. Namun, UWP memiliki batasan dan fitur yang lebih terbatas dibandingkan dengan WPF.

Lebih mudah dipelajari dan diimplementasikan, terutama jika Anda sudah memiliki pengalaman dengan pemrograman desktop tradisional.

WPF menggunakan model pemrograman yang berbasis XAML (eXtensible Application Markup Language), yang memisahkan tampilan (UI) dari logika bisnis.

UWP memungkinkan pengembang untuk membangun aplikasi yang dapat dijalankan di berbagai perangkat Windows dengan sedikit atau tanpa perubahan kode

WinForms menggunakan model pemrograman event-driven, di mana pengembang menangani peristiwa (event) yang terjadi pada kontrol dan elemen dalam aplikasi.

WPF lebih kompleks dan memerlukan pembelajaran yang lebih dalam dibandingkan dengan WinForms. Namun, ini memberikan fleksibilitas yang lebih besar dalam membangun aplikasi yang lebih canggih dan modern

UWP cocok untuk pengembangan aplikasi yang ingin menargetkan berbagai perangkat Windows dan memanfaatkan fitur-fitur khusus Windows 10




3. Screenshot Yang Pernah Dibuat

  • Winfor : 

  1. Aplikasi Calculator App 

Membuat aplikasi kalkulator dimana user bisa melakukan penambahan, pengurangan, perkalian dan pembagian angka. 


  • WPF
  1. Membuat List Nama

Membuat aplikasi list nama dimana user dapat melakukan penambahan nama dengan menggunakan teknologi add name

Link : https://github.com/TamaFn/Tugas3_PBKK

    2. Membuat Media Capture

Membuat Aplikasi Media Capture dengan menggunakan framework WPF dimana user dapat melakukan sesi memulai pemotretan, penyimpanan gambar dan mengakhiri sesi pemotretan 

Link : https://github.com/TamaFn/MediaCaptureApp


    3. Membuat Aplikasi Dashboard   



Membuat UI Aplikasi Dashboard Menggunakan WPF dimana user dapat melakukan

interaksi terhadap dashboard yang dibuat

  • UWP
  1. Membuat Aplikasi Photolab


Membuat aplikasi Photo Lab dimana user dapat melakukan interaksi pada gambar yang dipilih 



5.

Aplikasi Rich UI (User Interface) adalah aplikasi yang memiliki antarmuka pengguna yang kaya, menarik, dan interaktif. Antarmuka pengguna pada aplikasi Rich UI dirancang dengan menggunakan elemen-elemen visual yang menarik, efek animasi, transisi halus, dan tampilan yang lebih modern.

Dalam WPF, Rich UI berguna untuk

  • Menggunakan XAML untuk mendefinisikan tampilan dengan elemen-elemen seperti tombol, gambar, dan teks.
  • Menganimasikan elemen dengan keyframes, transformasi, dan efek transisi.
  • Memperkaya tampilan dengan efek visual seperti bayangan dan blur.
  • Mengatur elemen dengan tata letak fleksibel seperti grid dan stack panel.
  • Menambahkan transisi halus antara tampilan.
  • Menganimasikan elemen dengan keyframes, transformasi, dan efek transisi.
  • Memperkaya tampilan dengan efek visual seperti bayangan dan blur.
  • Mengatur elemen dengan tata letak fleksibel seperti grid dan stack panel.
  • Membuat kontrol kustom sesuai kebutuhan.
  • Menambahkan transisi halus antara tampilan.




Aplikasi yang saya buat adalah membuat aplikasi timer dimana user dapat memulai, menstop

dan mereset waktu yang telah dibuat

Kira-kira desain saya seperti ini










Komentar

Postingan populer dari blog ini

Data Modeling

Desain Arsitektur

Process Modelling