Quiz 1 PBKK A

Nama              : Frederick Yonatan Susanto

NRP                : 5025211121

Kelas               : PBKK A

Tahun Ajaran   : 2023/2024 (Gasal)


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

Framework dalam pengembangan perangkat lunak adalah kerangka kerja atau struktur yang menyediakan panduan, aturan, dan alat untuk membangun aplikasi. Ini membantu pengembang dengan menyediakan struktur dasar untuk mengembangkan dan menjalankan perangkat lunak.


Struktur framework biasanya terdiri dari komponen-komponen utama berikut:

a. Library dan API: Framework menyediakan kumpulan perpustakaan dan API untuk membantu pengembang mengatasi tugas-tugas umum. Ini termasuk fungsi-fungsi yang sering digunakan dan metode umum yang dapat digunakan tanpa harus menulis ulang kode. Dengan cara ini, pengembang dapat fokus pada aspek kreatif dan unik dari aplikasi mereka, sementara framework menangani detail teknis yang dapat diotomatiskan. Hal ini tidak hanya menghemat waktu, tetapi juga memastikan konsistensi dalam implementasi fitur-fitur umum.

b. Struktur File dan Direktori: Struktur file dan direktori yang diberikan oleh framework membantu menciptakan keteraturan yang diperlukan dalam pengembangan perangkat lunak. Dengan adanya hierarki yang terorganisir, pengembang dapat dengan cepat menemukan dan memahami lokasi file-file yang diperlukan. Ini sangat memudahkan kolaborasi tim dan meminimalkan kebingungan terkait lokasi kode atau sumber daya tertentu.

c. Polanya Desain (Design Patterns): Pola desain yang diadopsi oleh framework memberikan panduan arsitektural untuk memecahkan masalah umum. Dengan menerapkan pola desain yang terbukti, pengembang dapat membangun aplikasi yang lebih mudah dimengerti dan dikelola. Selain itu, penggunaan pola desain membantu menciptakan konsistensi dalam struktur aplikasi, memudahkan perawatan jangka panjang.

d. Pengelolaan Koneksi Database: 
Framework menyederhanakan interaksi dengan database dengan menyediakan alat untuk mengelola koneksi dan operasi database umum seperti CRUD. Ini menghilangkan beban kerja pengembang dalam mengelola aspek teknis dari komunikasi dengan database, memungkinkan mereka lebih fokus pada logika bisnis inti aplikasi.

e. Keamanan: Lapisan keamanan bawaan dalam framework memberikan perlindungan terhadap serangan umum. Dengan menyediakan kontrol akses, filtrasi input, dan manajemen sesi yang terintegrasi, framework membantu melindungi aplikasi dari ancaman keamanan seperti SQL injection atau cross-site scripting. Keamanan yang terintegrasi ini menjadi suatu hal yang krusial, terutama dalam lingkungan internet yang penuh dengan potensi ancaman.

f. Manajemen Sesi dan Keadaan: Framework menyediakan alat untuk efisien mengelola sesi pengguna dan pemeliharaan keadaan aplikasi di seluruh permintaan. Ini sangat bermanfaat untuk menyimpan dan mengambil data sesi, serta menjaga keberlanjutan aplikasi tanpa kehilangan informasi atau konteks pengguna.

g. Templating dan Tampilan: Dengan alat templating dan manajemen tampilan, framework memungkinkan pemisahan yang jelas antara logika bisnis dan presentasi. Ini memudahkan pengembang dalam membuat tampilan yang dinamis dan fleksibel tanpa perlu campur tangan langsung ke dalam logika aplikasi. Templating juga memfasilitasi pengembangan antarmuka pengguna yang responsif dan mudah diubah.


Kegunaan framework dalam pengembangan perangkat lunak diantaranya:

a. Kode program lebih terstruktur

Fungsi framework yang utama adalah membuat source code menjadi lebih terstruktur. Terstruktur disini, berarti program yang dibuat akan dimasukkan ke dalam setiap komponen sesuai dengan fungsi nya masing – masing.

Salah satu contoh dari kode program terstruktur dapat dilihat dari framework PHP, yaitu Laravel. Yang menggunakan konsep paradigma MVC (Model, View, Controller). Terdapat tiga komponen utama untuk mengembangkan website menggunakan model framework tersebut.

Model berfungsi untuk tempat atau wadah menampung kode program berupa algoritma pemrograman dan penghubung database aplikasi. View berfungsi sebagai wadah menampung kode program untuk membuat tampilan yang nantinya ditampilkan kepada customer / client. Dan controller berfungsi untuk menghubungkan model dan view agar menjadi sebuah website secara keseluruhan.

Dapat dikatakan juga, model disini untuk menangani tugas back end. Kemudian, view untuk menangani tugas front end. Dengan adanya konsep MVC tersebut, kode program akan tersusun rapi serta mempersingkat kerja dari developer.

b. Membantu kinerja dari developer

Fungsi yang kedua adalah membantu kinerja dari developer sendiri. Dari sini, anda pasti sudah berpikir bahwa sebenarnya dalam membuat sebuah aplikasi dapat dilakukan tanpa menggunakan bantuan framework. Tentu saja, bisa dilakukan jika proyek yang ditangani dalam lingkup kecil.

Apabila anda membuat aplikasi atau tampilan website untuk sebuah perusahaan atau organisasi besar tentu saja hal tersebut tidak disarankan bahkan mindset tersebut harus segera diubah. Framework diciptakan untuk memudahkan kinerja dari developer dalam segi efisiensi waktu serta resource yang dibutuhkan.

Selain itu, apabila dikerjakan oleh beberapa tim maka framework akan sangat membantu efektivitas kerja dan sinkronisasi. Setiap dapat langsung memahami dan mengerjakan tugas masing – masing tanpa perlu mengecek satu persatu komponen baik dari segi back end maupun front end.

c. Meningkatkan keamanan perangkat lunak / website

Selain membantu kinerja dari developer, dari segi keamanan website maupun software juga akan meningkat. Karena dalam framework telah diidentifikasi oleh beberapa developer ahli dari berbagai negara.

Kemudian, sebuah kerangka kerja juga memiliki beberapa versi yang setiap saat akan selalu ada pembaruan dari segi fitur serta untuk mengurangi adanya bugs. Keamanan akan selalu diperbarui dan dimonitoring agar tidak terjadi permasalahan yang lebih serius pada website misalnya terjadinya hacking maupun peretasan data.

Apabila anda tertarik dengan sistem keamanan aplikasi, maka anda juga dapat untuk belajar cyber security. Beberapa perusahaan maupun startup memiliki beberapa posisi untuk mengerjakan dan menangani permasalahan dalam urusan sistem keamanan perangkat lunak.

d. Pemeliharaan dan dokumentasi dari website lebih mudah

Apabila anda ingin menambahkan atau mengurangi beberapa fitur dari website yang anda buat, maka dengan menggunakan framework dapat memudahkan anda untuk melakukan hal tersebut. Mengapa? Kami beri contoh framework Laravel sendiri memiliki fitur untuk melakukan maintenance pada program.

Dengan melakukan maintenance, anda dapat mengubah versi website tersebut dan menambahkan beberapa fitur dengan lebih mudah dan aman. Sehingga, ketika ada perbaikan pada website maka terdapat notifikasi atau pesan bagi pengguna bahwa website masih dalam perbaikan.

Selanjutnya, dari segi dokumentasi juga lebih terstruktur. Anda akan sangat kerepotan apabila dalam proses dokumentasi tidak menggunakan bantuan framework. Dalam kerangka kerja, setiap dokumen aplikasi yang dibangun dapat diidentifikasi dengan mudah dan cepat.

e. Mempercepat dalam proses pembuatan website

Fungsi terakhir adalah untuk mempercepat dalam proses pembuatan website. Dalam hal ini, bukan berarti pembuatan website yang baik dikerjakan dengan cepat saja. Tetapi, proses pembuatan dapat dilakukan dengan lebih cepat dan menghasilkan produk yang berkualitas dan sesuai dengan kebutuhan customer.

Developer dapat mengembangkan aplikasi dengan menggunakan komponen – komponen yang telah tersedia dalam framework. Sehingga, tidak perlu untuk menyusun ulang dari awal kode program.


2. Dalam pembuatan aplikasi, dikenal dengan Universal Windows Platform. Digunakan untuk membuat aplikasi yang mempunyai karakteristik seperti apa? Jelaskan sertai dengan contoh.

UWP kepanjangan dari “Universal Windows Platform.” UWP adalah teknologi pengembangan framework NET yang memudahkan developer membuat aplikasi yang bisa berjalan di beberapa perangkat seperti PC Windows, tablet, dan smartphone. Beberapa aplikasi UWP dapat berjalan pada jenis perangkat keras Microsoft lainnya termasuk Xbox, HoloLens, dan perangkat IoT.

UWP menyediakan platform umum bagi pengembang untuk membangun aplikasi untuk berbagai jenis perangkat keras. UWP berjalan pada platform Windows 10 dan Windows 11. Versi Windows di bawahnya belum bisa menggunakan UWP.

Universal Windows Platform API mencakup berbagai library, fungsi, dan elemen antarmuka pengguna yang dapat diintegrasikan ke dalam aplikasi mereka. Dengan memasukkan beberapa tipe Device family dalam aplikasi UWP, pengembang dapat menyesuaikan antarmuka aplikasi untuk beberapa jenis perangkat.

Fitur Aplikasi UWP :

- Aman: Aplikasi UWP mendeklarasikan sumber daya perangkat dan data mana yang mereka akses. Pengguna harus mengotorisasi akses tersebut.

- Dapat menggunakan API umum di semua perangkat yang menjalankan Windows.

- Mampu menggunakan kemampuan khusus perangkat dan mengadaptasi UI ke ukuran layar perangkat, resolusi, dan DPI yang berbeda.

- Tersedia dari Microsoft Store di semua perangkat (atau hanya yang Anda tentukan) yang berjalan pada Windows 10 atau Windows 11. Microsoft Store menyediakan beberapa cara untuk menghasilkan uang di aplikasi Anda.

- Dapat dipasang dan dihapus instalasinya tanpa risiko pada mesin atau menimbulkan "mesin membusuk".

- Menarik: gunakan petak peta langsung, pemberitahuan push, dan aktivitas pengguna yang berinteraksi dengan Windows Timeline dan Cortana's Pick Up Where I Left Off, untuk melibatkan pengguna.

- Dapat diprogram dalam C#, C++, Visual Basic, dan JavaScript. Untuk UI, gunakan WinUI, XAML, HTML, atau DirectX.

Beberapa karakteristik UWP yang menonjol meliputi:

Responsif terhadap Berbagai Perangkat:

Universal Windows Platform (UWP) menonjol karena kemampuannya untuk membuat aplikasi yang responsif terhadap berbagai perangkat. Dengan menggunakan teknologi ini, pengembang dapat memastikan bahwa antarmuka pengguna aplikasi dapat menyesuaikan diri dengan ukuran layar yang berbeda-beda. Sebagai contoh, jika pengguna membuka aplikasi di PC dengan layar besar, antarmuka akan mengoptimalkan tata letaknya untuk ruang yang lebih besar. Di sisi lain, jika pengguna mengaksesnya melalui smartphone, antarmuka akan disesuaikan untuk ukuran layar yang lebih kecil, memastikan pengalaman yang nyaman dan efisien.

Interoperabilitas Antar Perangkat:

UWP memfasilitasi pengembangan aplikasi yang dapat beroperasi dengan lancar di berbagai perangkat Windows. Ini berarti bahwa pengembang dapat menggunakan kode inti yang sama untuk aplikasi mereka, mengurangi kompleksitas pengembangan dan meningkatkan efisiensi. Sebagai contoh, sebuah aplikasi UWP dapat dirancang untuk berjalan pada PC, tablet, dan smartphone dengan pengaturan layar dan fungsionalitas yang disesuaikan secara otomatis. Hal ini memungkinkan para pengguna untuk beralih di antara perangkat tanpa kehilangan fungsionalitas atau konsistensi antarmuka.

Distribusi Melalui Microsoft Store:

Salah satu keunggulan UWP adalah kemampuannya untuk didistribusikan melalui Microsoft Store. Ini memberikan keuntungan signifikan bagi pengguna dan pengembang. Pengguna dapat dengan mudah menemukan, mengunduh, dan menginstal aplikasi dari toko ini, sementara pengembang mendapatkan platform distribusi yang terpadu. Distribusi melalui Microsoft Store juga meningkatkan keamanan, karena aplikasi harus memenuhi standar keamanan sebelum diizinkan untuk disebarkan, memberikan kepercayaan tambahan kepada pengguna.

Penggunaan API Bersama:

UWP menggunakan API bersama yang dapat diakses oleh semua perangkat yang mendukung platform tersebut. Ini berarti pengembang dapat mengakses fungsionalitas perangkat khusus atau membangun fitur tambahan tanpa harus membuat versi terpisah untuk setiap perangkat. Keberadaan API bersama mempromosikan konsistensi fungsional dan memberikan pengembang fleksibilitas dalam mengoptimalkan aplikasi mereka untuk berbagai perangkat. Sebagai contoh, sebuah aplikasi UWP dapat dengan mudah mengakses kamera pada perangkat apa pun yang mendukung platform ini, tanpa perlu menulis kode khusus untuk setiap jenis perangkat.

Contoh konkret dari aplikasi UWP: "Microsoft OneNote."

Microsoft OneNote:
OneNote adalah aplikasi catatan digital yang memungkinkan pengguna membuat, mengorganisir, dan berbagi catatan mereka. Keunggulan utama OneNote sebagai aplikasi UWP adalah kemampuannya untuk memberikan pengalaman seragam di berbagai perangkat Windows. Pengguna dapat mengakses dan mengedit catatan mereka dengan mudah melalui PC, tablet, dan smartphone.

Ketika pengguna membuka OneNote di PC dengan layar besar, antarmuka pengguna secara otomatis disesuaikan untuk memanfaatkan ruang layar yang lebih besar. Ini mungkin mencakup penyesuaian tata letak, pengaturan menu, dan fitur lainnya agar sesuai dengan pengalaman pengguna pada perangkat tersebut.

Ketika pengguna beralih ke tablet, OneNote akan terus memberikan pengalaman yang responsif dan dioptimalkan untuk layar sentuh. Fungsionalitas layar sentuh, seperti zoom dan panning, dapat digunakan dengan mulus untuk meningkatkan pengalaman pengguna.

Selain itu, ketika pengguna ingin mengakses catatan mereka di perangkat seluler, aplikasi OneNote pada smartphone memberikan antarmuka yang disesuaikan dengan ukuran layar yang lebih kecil. Ini dapat mencakup penyederhanaan tata letak, tetapi tetap mempertahankan kemampuan pengguna untuk membuat dan mengedit catatan dengan mudah.

Dengan demikian, melalui OneNote sebagai contoh, kita dapat melihat bagaimana UWP memungkinkan pengembangan aplikasi yang dapat mengadaptasi diri untuk memberikan pengalaman konsisten dan optimal di berbagai 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.


Tampilan Awal dan Fitur Delete Selected Image


                                                                   Fitur Zoom (Edit Size) 

                                                                            
                                                                      Fitur Edit Gambar

                                                                                
  Fitur Reset dan Save Gambar 



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

Link GitHub : Github

Link Youtube : Youtube






Comments

Popular posts from this blog

Tugas Pertemuan 7 PPL

Tugas Pertemuan 6 PPL