Quiz PBKK 2023

Nama : Yohanes Teguh Ukur Ginting

NRP : 5025211179

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

    Jawaban : 

    Berikut merupakan beberapa fungsi kerangka kerja dalam web development.

 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.


Jenis Framework untuk Web Development

Setelah mengenal apa itu framework beserta fungsinya, selanjutnya kita akan mengenal beberapa contoh yang digunakan dalam pengembangan website. Berikut ini merupakan beberapa jenis framework meliputi CSS, JavaScript, dan PHP. Dan biasanya sering digunakan dalam pengembangan sebuah website.

1. Framework CSS

CSS (Cascading Style Sheet) merupakan bahasa pemrograman yang digunakan untuk membuat tampilan, layout pada HTML agar lebih bagus dan menarik. CSS selalu digunakan untuk tim front end dalam membuat tampilan website. Berikut merupakan beberapa kerangka kerja dari CSS.

● Bootstrap

Bootstrap merupakan framework CSS yang sering digunakan para developer. Tampilan bootstrap memberikan kesan modern, dinamis, dan lebih user friendly. Selain itu, menyediakan tampilan yang responsive saat diakses melalui ponsel.

● Foundation

Framework ini banyak digunakan karena memiliki kelebihan dalam hal fungsionalitasnya. Foundation dapat bekerja dalam segala browser serta kaya akan fitur sama seperti Bootstrap.

● Semantic UI

Semantic UI memiliki kelebihan dalam hal penulisan class yang lebih mudah. Selain itu, framework yang satu ini juga menyediakan fitur yang user friendly dan komponen yang lengkap.

● Bulma

Banyak pengembang yang belum mengenal Bulma. Namun, framework ini memiliki keistimewaan dalam hal tata letaknya yang berbasis flexbox, sehingga memudahkan developer dalam mengatur tampilan dalam bentuk responsive.

● Materialize

Salah satu hal yang menarik pada framework yang satu ini adalah dapat digunakan pada website secara umum serta platform Android. Tentu saja dalam hal ini juga mencakup tampilan yang responsive serta memiliki fitur yang banyak.

2. Framework JavaScript

JavaScript (JS) merupakan bahasa pemrograman yang digunakan oleh front end dalam membuat tampilan website menjadi lebih interaktif. Website yang kompleks tentu saja harus memberikan performa dan pengalaman yang baik bagi pengguna. Dengan menggunakan JavaScript, maka website akan terlihat lebih dinamis.

JavaScript sendiri merupakan bahasa yang berjalan pada sisi front end dan tergolong dalam bahasa pemrograman tingkat tinggi. Kemudian, dapat berjalan di sisi front end maupun back end. Berikut ini merupakan beberapa framework dari JS.

● AngularJS

AngularJS merupakan framework JavaScript yang berjalan di sisi client dengan menggunakan pola MVC untuk membuat tampilan website lebih dinamis. Untuk sekarang, AngularJS bersifat open source dan sepenuhnya didasarkan pada HTML dan JavaScript. Yang mana, dapat mengubah HTML statis menjadi HTML yang dinamis.

● ReactJS

Merupakan kerangka kerja yang dikembangkan oleh Facebook. ReactJS termasuk dalam library front end yang memungkinkan untuk membuat komponen UI dapat digunakan kembali. Salah satu kelebihan dari React adalah dapat digunakan secara multi platform (website maupun mobile).

● Vue.js

Vue.js merupakan framework yang bersifat open source dan progresif untuk membangun antarmuka (interface) pengguna. Kelebihannya terletak pada proses integrasi dalam proyek menggunakan library JavaScript yang dibuat lebih mudah.

● Node.js

Node.js berjalan di sisi backend (server) yang bersifat open source, cross-platform dalam mengeksekusi kode. Node.js juga memungkinkan developer dalam menggunakan JavaScript untuk membuat konten halaman pada web secara dinamis sebelum dikirim ke web browser pengguna (user).

● EmberJS

Mengadopsi pola MVVM (Model – View – View – Model). Artinya, developer dapat mengembangkan website dan ditingkatkan sesuai dengan kebutuhan. Selain itu, EmberJS juga termasuk dalam framework JavaScript yang bersifat open source.


3. Framework PHP

PHP (Hypertext Preprocessor) merupakan bahasa pemrograman tingkat tinggi yang berjalan pada sisi server dan selalu digunakan oleh tim backend. Berikut ini merupakan beberapa framework PHP yang sering digunakan dalam pengembangan website.



● CodeIgniter (CI)

CodeIgniter merupakan framework PHP yang menggunakan arsitektur berbasis MVC. Lebih spesifiknya, pada CI menggunakan komponen yang berbeda untuk mengelola tugas pengembangan website. Keunggulan dari CI terletak pada performanya yang ringan dan dapat diandalkan.

● Laravel

Laravel merupakan salah satu framework PHP yang memiliki sintaks yang mudah dipahami dan digunakan. Kemudian, Laravel juga terintegrasi dengan library dan platform pihak ketiga, yaitu AWS (Amazon Web Services). Dan yang paling penting disini, dari segi performa memiliki core yang dapat diandalkan dengan menggunakan add – ons.

● Symfony

Framework ketiga yang sering digunakan adalah Symfony. Dari nama saja cukup unik, pun memiliki fleksibilitas yang baik. Keunggulan utama apabila anda menggunakan framework ini adalah telah tersedia fungsionalitas testing bawaan untuk mengecek apakah program berjalan dengan normal atau tidak.

● Phalcon

Phalcon memiliki perbedaan dari segi penulisan kode program. Dalam hal ini, menggunakan bahasa C ekstensi dari PHP. Phalcon juga merupakan framework PHP tercepat dan memiliki performa yang baik.

● Zend

Zend merupakan framework yang berparadigma OOP (Object Oriented

Programming) yang berarsitektur MVC. Fungsionalitas pada Zend memudahkan anda untuk fokus pada komponen dan fungsi yang dibutuhkan. Karena sifatnya yang berbasis komponen, Zend banyak disebut sebagai kerangka kerja “Glue”.

Kesimpulan

● Framework adalah kerangka kerja untuk mengembangkan aplikasi berbasis website maupun desktop. Fungsinya untuk membantu kinerja dari developer, serta membuat kode program menjadi lebih terstruktur.

● Jenis – jenis terkait dengan pengembangan website terbagi menjadi tiga, yaitu framework CSS, JavaScript, dan PHP. Kemudian, dapat dikerjakan baik dari sisi client maupun server. Penggunaannya juga disesuaikan dengan kebutuhan perusahaan maupun organisasi.

● Penggunaannya saat ini penting untuk pengembangan perangkat lunak maupun website dengan kode program yang tersusun rapi dan untuk meningkatkan keamanan serta pemeliharaan yang lebih mudah.

.



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

       Jawaban : 

       Ketika memilih metode implementasi antara WinForms, Windows Presentation Foundation (WPF), dan Universal Windows Platform (UWP) untuk pembuatan aplikasi Windows, Anda perlu mempertimbangkan beberapa faktor utama, seperti jenis aplikasi yang akan Anda bangun, kebutuhan desain, fleksibilitas, dan target platform. Berikut adalah beberapa pertimbangan dan perbedaan masing-masing metode implementasi:

WinForms (Windows Forms):

Jenis Aplikasi: WinForms cocok untuk aplikasi desktop Windows tradisional. Ini lebih tepat untuk aplikasi dengan antarmuka pengguna yang sederhana dan tidak memerlukan desain yang sangat kaya atau modern.

Perkembangan Cepat: WinForms adalah cara yang cepat dan mudah untuk membangun aplikasi Windows dengan antarmuka yang sederhana.

Kontrol dan Komponen: WinForms menyediakan koleksi kontrol dan komponen yang cukup besar untuk membangun aplikasi desktop.

Windows Presentation Foundation (WPF):

Desain Modern: WPF adalah pilihan yang baik jika Anda ingin membuat aplikasi dengan desain yang modern dan menarik, termasuk grafik 2D/3D, animasi, dan efek.

XAML: WPF menggunakan bahasa markup XAML yang memisahkan antarmuka pengguna dari logika bisnis, memungkinkan tim desain dan pengembangan untuk bekerja bersama lebih mudah.

Fleksibilitas: WPF memberikan fleksibilitas yang lebih besar dalam hal desain antarmuka pengguna, dan Anda dapat mengatur tampilan dengan lebih rinci.

Universal Windows Platform (UWP):

Keseragaman Platform: UWP memungkinkan Anda membangun aplikasi yang dapat berjalan di berbagai perangkat Windows, termasuk PC, tablet, smartphone, Xbox, dan lain-lain.

Responsif dan Terintegrasi: UWP memungkinkan pembangunan aplikasi yang lebih responsif dan terintegrasi dengan ekosistem Windows, termasuk penggunaan berbagai API dan fitur Windows, seperti Cortana dan notifikasi.

Keamanan dan Isolasi: Aplikasi UWP dijalankan dalam lingkungan aman dengan izin yang dikelola, memastikan tingkat keamanan yang tinggi.

Pertimbangan lain termasuk kompatibilitas dengan versi Windows yang ditargetkan (WinForms biasanya memiliki kompatibilitas lebih luas), kompleksitas pengembangan, dan kebutuhan khusus proyek. Sebelum memilih metode implementasi, penting untuk merencanakan proyek Anda dengan baik dan memahami persyaratan dan tujuan aplikasi Anda.

Selain itu, Anda juga dapat mempertimbangkan penggunaan teknologi lain seperti .NET Core atau .NET 5 (dan versi yang lebih baru) untuk membangun aplikasi lintas platform yang mendukung Windows, macOS, dan Linux. Pilihan ini dapat memberikan fleksibilitas lebih besar dalam mengembangkan aplikasi yang berjalan di berbagai sistem operasi.

 

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

            Jawaban :

      WinForms (Windows Forms):

        


        Deskripsi : Aplikasi kalkulator sederhana untuk menghitungmenggunakan bahasa pemrograman C# dan juga menggunakan kerangka kerja (.Net Framework).
        Link Tugas : Link Tugas

        Windows Presentation Foundation (WPF):

        


            Deskripsi : Aplikasi ini memiliki kegunaan untuk menulis nama dan menyimpan nama tersebut dan menampilkannya dengan menggunakan bahasa pemrograman C#, WPF dan .NET. 

        Link Tugas : Link Tugas

        Universal Windows Platform (UWP):

        



Deskripsi : Aplikasi ini memiliki kegunaan untuk menampilkan foto dan melakukan edit terhadap foto-foto tersebut dan memberikan rating pada foto tersebut.

        Link Tugas : Link Tugas


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..

        Jawaban : 

        "Rich UI" adalah singkatan dari "Rich User Interface" atau "Antarmuka Pengguna Kaya." Ini merujuk pada jenis antarmuka pengguna yang menawarkan pengalaman interaktif dan visual yang lebih canggih, menarik, dan beragam. Antarmuka pengguna kaya memanfaatkan teknologi modern dan desain visual yang kuat untuk meningkatkan pengalaman pengguna dalam berinteraksi dengan aplikasi atau situs web.

Beberapa karakteristik dari antarmuka pengguna kaya (rich UI) meliputi:

Grafik dan Animasi: Penggunaan grafik, ikon, gambar, dan animasi untuk memperkaya tampilan aplikasi. Ini bisa termasuk efek transisi, animasi elemen, atau perubahan tampilan saat berinteraksi dengan elemen tertentu.

Interaktivitas: Memberikan respons cepat terhadap tindakan pengguna, seperti klik, geser, atau ketukan. Antarmuka pengguna kaya mengutamakan pengalaman bermain-main dan interaksi yang halus.

Desain Modern: Memanfaatkan desain modern dan gaya visual yang sesuai dengan tren terkini, seperti tata letak adaptif, tampilan pembersihan, dan tipografi yang menarik.

Kustomisasi: Memberikan opsi kustomisasi kepada pengguna untuk memungkinkan mereka mengubah tampilan atau perilaku antarmuka pengguna sesuai dengan preferensi mereka.

Integrasi Media: Penggunaan media, seperti audio dan video, untuk memberikan konten yang lebih kaya. Misalnya, penggunaan video latar belakang, streaming video, atau penggunaan suara untuk memberikan petunjuk atau efek audio.

Responsif: Antarmuka pengguna kaya biasanya responsif, berarti dapat menyesuaikan tampilan dengan perangkat yang berbeda, termasuk layar berukuran beragam, baik pada perangkat desktop, tablet, atau ponsel.

Navigasi Intuitif: Menyediakan navigasi yang intuitif dan mudah digunakan, seperti menu tersembunyi, tampilan pohon, atau efek paralaks.

Tampilan Data Dinamis: Memungkinkan tampilan data yang dinamis, seperti tabel interaktif, grafik, dan grafik yang dapat diperbesar atau diperkecil.

Antarmuka pengguna kaya sering ditemukan dalam aplikasi modern, situs web e-commerce, aplikasi media sosial, permainan, dan banyak jenis perangkat lunak interaktif. Tujuannya adalah membuat pengalaman pengguna lebih menarik, intuitif, dan memuaskan, dan dapat membantu aplikasi atau situs web untuk menarik dan mempertahankan pengguna dengan lebih baik.

Design UI : 




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

Link Github : Link Github

Deskripsi : Implementasi Rich UI dengan menggunakan WPF untuk membuat Weather App




Comments

Popular posts from this blog