42 INFORMASI a. Penyusun : Nur Ifawati Arfan b. Nama sekolah : SMK Telkom Makassar c. Tahun Penyusunan : 2023/2024 d. Jenjang Sekolah : SMK e. Fase / Kelas : E / X f. Mata Pelajaran : Konsentrasi Pengembangan Perangkat Lunak dan GIM g. Alokasi Waktu : 4 x 45 Menit SARANA DAN PRASARANA a. Media : Power Point, Youtube b. Alat : HP/Laptop, Koneksi Internet, Smart TV MODEL PEMBELAJARAN Problem Based Learning CAPAIAN PEMBELAJARAN Pada akhir fase E peserta didik mampu menerapkan K3LH dan budaya kerja industri, antara lain: praktik-praktik kerja yang aman, bahaya-bahaya di tempat kerja, prosedur- prosedur dalam keadaan darurat, dan penerapan budaya kerja industri (Ringkas, Rapi, Resik, Rawat, Rajin), termasuk pencegahan kecelakaan kerja dan prosedur kerja. Menerapkan perangkat dan aplikasi di bidang perangkat lunak dan gim, seperti basis data, tools pengembangan perangkat lunak, ragam sistem operasi, penerapan pengelolaan aset dan user interface (grafis, typography, warna, audio, video, interaksi pengguna) TUJUAN PEMBELAJARAN 1. Menerapkan budaya kerja industri (Ringkas, Rapi, Resik, Rawat, Rajin), termasuk pencegahan kecelakaan kerja dan prosedur kerja. 2. Menerapkan perangkat dan aplikasi di bidang perangkat lunak dan gim, seperti basis data, tools pengembangan perangkat lunak, ragam sistem operasi,
43 penerapan pengelolaan aset dan user interface (grafis, typography, warna, audio, video, interaksi pengguna). URAIAN MATERI A. Menerapkan Budaya Kerja Industri Termasuk Pencegahan Kecelakaan Kerja Dan Prosedur Kerja Budaya kerja industri adalah seperangkat nilai, norma, sikap, dan perilaku yang diadopsi dan diterapkan di tempat kerja dalam sektor industri. Budaya kerja ini mencakup cara karyawan berinteraksi, menjalankan tugas, dan berkomunikasi, serta bagaimana perusahaan mengelola dan mendukung karyawannya. Menerapkan budaya kerja industri yang inklusif dan komprehensif melibatkan upaya untuk mencegah kecelakaan kerja serta memastikan prosedur kerja yang efektif dan aman. Berikut adalah langkah-langkah penting yang dapat diambil untuk menerapkan budaya kerja yang demikian: 1. Membangun Kesadaran dan Komitmen terhadap Keselamatan • Pendidikan dan Pelatihan: Memberikan pelatihan rutin kepada karyawan mengenai keselamatan kerja, penggunaan alat pelindung diri (APD), dan prosedur darurat. • Komunikasi Terbuka: Mendorong komunikasi terbuka antara manajemen dan karyawan untuk melaporkan potensi bahaya dan insiden keselamatan. 2. Prosedur Kerja yang Aman • Prosedur Standar Operasional (SOP): Menyusun dan memperbarui SOP yang jelas untuk setiap tugas dan memastikan semua karyawan memahaminya.
44 • Penggunaan APD: Mewajibkan penggunaan APD yang sesuai untuk setiap jenis pekerjaan dan memastikan ketersediaannya. 3. Identifikasi dan Penilaian Risiko • Inspeksi Rutin: Melakukan inspeksi rutin di tempat kerja untuk mengidentifikasi potensi bahaya. • Analisis Risiko: Melakukan analisis risiko secara teratur dan menerapkan langkah-langkah mitigasi yang diperlukan. 4. Manajemen Insiden dan Kecelakaan • Pelaporan Insiden: Membangun sistem pelaporan insiden yang mudah diakses dan memastikan setiap insiden, baik kecil maupun besar, dilaporkan dan ditindaklanjuti. • Investigasi Insiden: Melakukan investigasi mendalam terhadap setiap insiden untuk mengidentifikasi penyebab dan mengimplementasikan tindakan pencegahan. 5. Budaya Kerja yang Proaktif • Keterlibatan Karyawan: Melibatkan karyawan dalam proses pengambilan keputusan terkait keselamatan kerja dan menghargai masukan mereka. • Penghargaan dan Pengakuan: Memberikan penghargaan kepada karyawan atau tim yang menunjukkan komitmen kuat terhadap keselamatan kerja. 6. Pemeliharaan Peralatan dan Fasilitas • Perawatan Berkala: Menyusun jadwal perawatan rutin untuk semua peralatan dan memastikan semuanya berfungsi dengan baik. • Penggantian Peralatan Usang: Mengganti peralatan yang sudah tidak layak pakai atau berpotensi menimbulkan bahaya. 7. Lingkungan Kerja yang Aman dan Sehat • Pengelolaan Bahan Berbahaya: Mengelola bahan berbahaya dengan benar, termasuk penyimpanan, penggunaan, dan pembuangan yang aman.
45 • Kesehatan Lingkungan Kerja: Memastikan lingkungan kerja yang bersih, bebas dari polusi, dan menyediakan fasilitas kesehatan yang memadai. 8. Kepatuhan Terhadap Regulasi • Mematuhi Peraturan Pemerintah: Memastikan semua prosedur dan praktik keselamatan kerja sesuai dengan peraturan dan standar keselamatan yang berlaku. • Audit dan Sertifikasi: Melakukan audit keselamatan secara berkala dan memperoleh sertifikasi keselamatan kerja jika diperlukan. Dengan menerapkan langkah-langkah ini, perusahaan dapat menciptakan budaya kerja yang menempatkan keselamatan dan kesehatan karyawan sebagai prioritas utama, sekaligus memastikan prosedur kerja yang efektif dan aman. Hal ini tidak hanya meningkatkan kesejahteraan karyawan tetapi juga dapat meningkatkan produktivitas dan reputasi perusahaan. B. Menerapkan Perangkat dan Aplikasi di bidang Pengembangan Perangkat Lunak dan Gim Pengembangan perangkat lunak dan gim melibatkan berbagai perangkat dan aplikasi yang digunakan untuk merancang, membangun, menguji, dan memelihara produk digital. Berikut adalah beberapa perangkat dan aplikasi utama yang sering digunakan di bidang ini: 1. Bahasa Pemograman • Python: Digunakan secara luas untuk pengembangan aplikasi web, scripting, dan machine learning.
46 • Java: Sering digunakan untuk aplikasi Android dan aplikasi web berbasis server. • C++: Populer dalam pengembangan gim dan aplikasi dengan kinerja tinggi. • JavaScript: Penting untuk pengembangan web interaktif dan gim berbasis browser. 2. Platform Pengembangan Gim • Unity: Salah satu platform pengembangan gim terpopuler yang mendukung pembuatan gim 2D dan 3D. Unity menggunakan C# sebagai bahasa pemrograman utama. • Unreal Engine: Platform canggih untuk pengembangan gim 3D dengan visualisasi tinggi. Unreal Engine menggunakan C++. • Godot Engine: Platform open-source yang mendukung pengembangan gim 2D dan 3D, menggunakan bahasa pemrograman GDScript, C#, dan C++. 3. Integrated Development Environments (IDEs) • Visual Studio: IDE yang kuat dari Microsoft yang mendukung berbagai bahasa pemrograman, termasuk C++, C#, dan Python. • Eclipse: IDE open-source yang banyak digunakan untuk pengembangan Java dan bahasa pemrograman lainnya. • PyCharm: IDE khusus untuk pengembangan Python yang menyediakan berbagai fitur canggih untuk coding, debugging, dan testing.
47 4. Sistem Kontrol Versi • Git: Sistem kontrol versi terdistribusi yang memungkinkan pengembang untuk melacak perubahan dalam kode sumber dan berkolaborasi dengan tim. • GitHub: Platform berbasis web yang menggunakan Git untuk menyediakan hosting kode sumber dan alat kolaborasi. • Bitbucket: Platform lain untuk hosting repositori Git dan Mercurial dengan fitur kolaborasi dan integrasi CI/CD. 5. Alat Manajemen Proyek • JIRA: Alat manajemen proyek dan pelacakan masalah yang digunakan secara luas dalam pengembangan perangkat lunak agile. • Trello: Alat manajemen proyek yang menggunakan papan kanban untuk mengelola tugas dan proyek. • Asana: Alat kolaborasi tim yang membantu mengelola proyek dan tugas dengan efisien. 6. Alat Desain dan Prototyping • Adobe XD: Alat desain dan prototipe UI/UX untuk aplikasi web dan mobile. • Figma: Alat desain berbasis cloud yang memungkinkan kolaborasi real-time pada desain UI/UX. • Sketch: Alat desain vektor yang populer di kalangan desainer UI/UX, terutama di platform macOS. 7. Frameworks dan Libraries • React: Library JavaScript untuk membangun antarmuka pengguna yang efisien dan modular.
48 • Angular: Framework JavaScript yang dikembangkan oleh Google untuk membangun aplikasi web dinamis. • Django: Framework web berbasis Python yang memfasilitasi pembangunan aplikasi web yang cepat dan aman. • Flask: Framework mikro untuk pengembangan web dengan Python yang memungkinkan fleksibilitas dalam pembangunan aplikasi. 8. Alat Pengujian • Selenium: Alat pengujian otomatis untuk aplikasi web yang mendukung berbagai bahasa pemrograman. • JUnit: Framework pengujian untuk Java yang digunakan secara luas dalam pengembangan berbasis test-driven development (TDD). • pytest: Framework pengujian untuk Python yang mendukung pengujian unit dan fungsional. 9. Layanan Cloud dan Infrastruktur • Amazon Web Services (AWS): Platform cloud yang menyediakan berbagai layanan untuk penyimpanan, komputasi, dan analitik. • Google Cloud Platform (GCP): Menyediakan alat dan layanan untuk komputasi awan, big data, dan machine learning. • Microsoft Azure: Platform cloud dari Microsoft yang menawarkan layanan untuk pengembangan, penyebaran, dan manajemen aplikasi. Dengan memahami dan menerapkan perangkat dan aplikasi ini, pengembang perangkat lunak dan gim dapat meningkatkan produktivitas, kolaborasi, dan kualitas produk akhir mereka.
49 RANGKUMAN Budaya kerja industri adalah seperangkat nilai, norma, sikap, dan perilaku yang diadopsi dan diterapkan di tempat kerja dalam sektor industri. Budaya kerja ini mencakup cara karyawan berinteraksi, menjalankan tugas, dan berkomunikasi, serta bagaimana perusahaan mengelola dan mendukung karyawannya. Menerapkan budaya kerja industri yang inklusif dan komprehensif melibatkan upaya untuk mencegah kecelakaan kerja serta memastikan prosedur kerja yang efektif dan aman. Pengembangan perangkat lunak dan gim melibatkan berbagai perangkat dan aplikasi yang digunakan untuk merancang, membangun, menguji, dan memelihara produk digital. VIDEO PEMBELAJARAN 1. Penerapan Budaya Kerja industri https://www.youtube.com/watch?v=Rw2shjze9bY 2. Penerapan Perangkat dan Aplikasi https://www.youtube.com/watch?v=CnvE7X7qIKA TUGAS ESSAY ! 1. Bagaimana perusahaan dapat membangun budaya kerja yang mendukung keselamatan, kesehatan kerja, dan lingkungan hidup (K3LH)? Berikan strategi dan contoh implementasinya. 2. Jelaskan bagaimana pembelajaran kewirausahaan berbasis proyek nyata dapat membantu membangun visi dan passion pada peserta didik. Berikan contoh konkret dari pendekatan ini. 3. Jelaskan bagaimana penggunaan sistem kontrol versi seperti Git dan platform kolaborasi seperti GitHub dapat meningkatkan efisiensi dan kolaborasi dalam tim pengembangan perangkat lunak.
50 PILIHAN GANDA ! Quizizz https://quizizz.com/admin/quiz/6676726a82d3e2629034758c?source=quiz_share
51 KEGIATAN BELAJAR V
52 INFORMASI a. Penyusun : Nur Ifawati Arfan b. Nama sekolah : SMK Telkom Makassar c. Tahun Penyusunan : 2023/2024 d. Jenjang Sekolah : SMK e. Fase / Kelas : E / X f. Mata Pelajaran : Konsentrasi Pengembangan Perangkat Lunak dan GIM g. Alokasi Waktu : 4 x 45 Menit SARANA DAN PRASARANA a. Media : Power Point, Youtube b. Alat : HP/Laptop, Koneksi Internet, Smart TV MODEL PEMBELAJARAN Problem Based Learning CAPAIAN PEMBELAJARAN Pada akhir fase E peserta didik mampu mendeskripsikan proses perencanaan, analisis, desain, implementasi, integrasi, pemeliharaan, pemasaran, dan distribusi perangkat lunak dan gim termasuk di dalamnya adalah penerapan budaya mutu, Keselamatan dan Kesehatan Kerja serta Lingkungan Hidup (K3LH), manajemen proyek, serta pemahaman terhadap kebutuhan pelanggan, keinginan pelanggan, dan validasi sesuai dengan User Experience (UX) Pada akhir fase E peserta didik mampu menggunakan perangkat dan aplikasi di bidang Perangkat Lunak dan Gim, seperti basis data, tools pengembangan perangkat lunak, ragam system operasi, penerapan pengelolaan aset dan user interface (grafis, typography, warna, audio, video, interaksi pengguna) dan menerapkan prinsip dasar algoritma pemrograman (varian dan invarian, alur logika pemrograman, flowchart, dan teknik dasar algoritma umum)
53 TUJUAN PEMBELAJARAN 1. Memahami proses validasi User Experience (UX). 2. Menerapkan prinsip dasar algoritma pemrograman (varian dan invarian, alur logika pemrograman, flowchart, dan teknik dasar algoritma umum). URAIAN MATERI A. Memahami proses validasi User Experience (UX). Validasi User Experience (UX) adalah proses evaluasi dan pengujian desain antarmuka pengguna (UI) untuk memastikan bahwa produk atau layanan yang dikembangkan memenuhi kebutuhan dan harapan pengguna secara efektif dan menyenangkan. Tujuan dari validasi UX adalah untuk memastikan bahwa pengguna memiliki pengalaman yang positif dan intuitif saat berinteraksi dengan produk atau layanan tersebut. Pentingnya UX terletak pada bagaimana produk atau layanan dapat memenuhi dan bahkan melebihi harapan pengguna dalam hal usability (kemudahan penggunaan), usefulness (kegunaan), dan satisfaction (kepuasan). UX tidak hanya terbatas pada antarmuka pengguna (UI), tetapi juga meliputi aspek-aspek seperti desain, kinerja, aksesibilitas, interaksi, dan emosi yang dirasakan oleh pengguna. Tujuan dari perancangan UX yang baik adalah untuk menciptakan pengalaman yang menyenangkan, efisien, dan efektif bagi pengguna. Hal ini dapat meningkatkan loyalitas pengguna, meningkatkan retensi, dan membantu produk atau layanan bersaing dengan baik di pasar.
54 Pendekatan untuk meningkatkan UX meliputi berbagai langkah seperti riset pengguna, pengujian prototipe, analisis feedback pengguna, iterasi desain, dan pemahaman mendalam tentang kebutuhan dan perilaku pengguna. Dengan fokus yang kuat pada UX, organisasi dapat memastikan bahwa produk atau layanan yang mereka tawarkan tidak hanya memenuhi ekspektasi pengguna, tetapi juga membangun hubungan jangka panjang yang positif dengan pengguna. Proses validasi User Experience (UX) merupakan langkah-langkah untuk mengukur seberapa efektif produk atau layanan dalam memberikan pengalaman yang positif kepada pengguna. Proses ini penting untuk memastikan bahwa produk yang dikembangkan memenuhi kebutuhan pengguna dan memberikan nilai tambah yang diharapkan. Berikut adalah langkah-langkah umum dalam proses validasi UX: 1. Tentukan Tujuan Validasi: Mulailah dengan mengidentifikasi tujuan dari validasi UX yang akan dilakukan. Misalnya, apakah tujuan untuk memverifikasi bahwa desain produk memudahkan pengguna, atau untuk memastikan bahwa fitur-fitur baru dapat digunakan dengan efektif? 2. Pilih Metode dan Teknik yang Tepat: Ada berbagai metode dan teknik yang dapat digunakan untuk melakukan validasi UX. Beberapa di antaranya meliputi: • Wawancara Pengguna: Melakukan wawancara mendalam dengan pengguna potensial untuk memahami pengalaman mereka, masalah yang dihadapi, dan harapan mereka terhadap produk. • Uji Pengguna: Mengamati pengguna saat mereka menggunakan prototipe atau produk yang sudah ada untuk mengevaluasi bagaimana mereka berinteraksi dengan produk tersebut. • Kuesioner dan Survei: Menggunakan pertanyaan terstruktur untuk mengumpulkan umpan balik dari pengguna tentang pengalaman mereka dengan produk atau layanan. • Analisis Kinerja: Melakukan pengukuran kuantitatif terhadap kinerja pengguna dalam menyelesaikan tugas atau mencapai tujuan dengan menggunakan produk.
55 3. Buat Skrip dan Protokol: Untuk setiap metode yang dipilih, penting untuk memiliki skrip atau protokol yang jelas. Ini membantu memastikan konsistensi dalam proses evaluasi dan memungkinkan untuk membandingkan hasil dari sesi ke sesi. 4. Lakukan Evaluasi: Lakukan sesi evaluasi dengan melibatkan pengguna yang mewakili target audiens produk atau layanan. Amati mereka saat mereka berinteraksi dengan produk dan catat temuan-temuan penting. 5. Analisis dan Interpretasi Data: Setelah sesi evaluasi selesai, analisislah data yang dikumpulkan. Identifikasi pola-pola, tantangan utama yang dihadapi pengguna, dan potensi perbaikan yang dapat dilakukan pada desain atau fungsionalitas produk. 6. Lakukan Iterasi: Berdasarkan temuan dari evaluasi UX, lakukan perbaikan dan iterasi pada desain atau fitur produk. Proses ini merupakan siklus berkelanjutan untuk meningkatkan kualitas UX. 7. Validasi Lanjutan: Ulangi proses validasi UX saat produk mengalami perubahan signifikan atau ketika ada perubahan pada target audiens pengguna. 8. Dokumentasi: Pastikan untuk mendokumentasikan hasil validasi UX dan langkah-langkah yang diambil berdasarkan temuan. Dokumentasi ini dapat menjadi referensi yang berharga untuk tim pengembangan dan desain di masa mendatang. B. Menerapkan Prisip Dasar Algoritma Pemograman Prinsip dasar algoritma dalam pemrograman merujuk pada sejumlah konsep fundamental yang digunakan untuk merancang dan mengembangkan solusi untuk masalah komputasi. Berikut adalah beberapa prinsip dasar yang penting dalam algoritma pemrograman: 1. Klarifikasi Masalah : Sebelum memulai menulis kode, penting untuk memahami dengan jelas masalah yang akan diselesaikan. Ini melibatkan pemahaman mendalam tentang input yang dibutuhkan, output yang diharapkan, serta batasan dan kriteria yang perlu dipenuhi.
56 2. Dekomposisi : Masalah yang kompleks sering kali dapat dipecah menjadi masalah yang lebih kecil atau submasalah. Dekomposisi membantu dalam memecahkan masalah secara bertahap dan lebih mudah dikelola. Submasalah ini kemudian dapat diselesaikan secara terpisah. 3. Pola Algoritma : Terdapat beberapa pola algoritma umum yang digunakan untuk menyelesaikan berbagai jenis masalah. Beberapa di antaranya termasuk: Sequential (Berurutan): Eksekusi langkah demi langkah secara berurutan, Selection (Pemilihan): Pengambilan keputusan berdasarkan kondisi tertentu (if-else statement), Iteration (Iterasi): Pengulangan langkah-langkah untuk memproses data (looping), dan Recursion (Rekursi): Teknik di mana sebuah fungsi memanggil dirinya sendiri untuk menyelesaikan tugas. 4. Efisiensi : Algoritma harus dirancang sedemikian rupa untuk mencapai efisiensi yang optimal. Efisiensi dapat diukur dalam hal waktu eksekusi (complexity time) dan penggunaan sumber daya seperti memori atau ruang penyimpanan (space complexity). Algoritma yang efisien dapat meningkatkan kinerja aplikasi secara keseluruhan. 5. Keterbacaan dan Kekelolaan : Kode yang baik harus mudah dipahami oleh programmer lain yang membacanya di masa depan. Penamaan variabel yang deskriptif, komentar yang jelas, dan struktur yang terorganisir membantu dalam meningkatkan keterbacaan dan kekelolaan kode.\ 6. Pengujian : Penting untuk menguji algoritma untuk memastikan bahwa mereka bekerja seperti yang diharapkan dalam berbagai skenario. Pengujian membantu dalam mendeteksi bug atau masalah potensial sebelum kode di implementasikan secara luas. Contoh Penerapan Prinsip Dasar Algoritma Misalkan kita memiliki masalah untuk menghitung jumlah bilangan genap dari 1 hingga n. Berikut adalah penerapan prinsip dasar algoritma menggunakan teknik iterasi:
57 Dalam contoh ini: • Klarifikasi masalah dilakukan dengan memahami bahwa kita ingin menghitung jumlah bilangan genap dari 1 hingga n. • Dekomposisi dilakukan dengan membagi masalah menjadi langkahlangkah untuk iterasi melalui bilangan dan memeriksa apakah genap atau tidak. • Pola algoritma iterasi digunakan dengan menggunakan loop for untuk mengulang dari 1 hingga n, dan seleksi (if statement) untuk memeriksa genap atau tidaknya sebuah bilangan. • Efisiensi diperhatikan dengan hanya menjumlahkan bilangan genap, bukan semua bilangan dari 1 hingga n. • Keterbacaan dan kekelolaan ditingkatkan dengan penamaan variabel yang jelas (‘jumlah’,’i’), komentar untuk menjelaskan langkah-langkah, dan struktur fungsi yang terorganisir. Dengan menerapkan prinsip-prinsip dasar ini, kita dapat menghasilkan algoritma yang efektif, efisien, dan mudah dipahami dalam menyelesaikan berbagai macam masalah pemrograman.
58 Menerapkan prinsip dasar algoritma dalam pemrograman melibatkan beberapa konsep kunci yang penting untuk dipahami. Berikut adalah penjelasan singkat tentang setiap konsep tersebut: 1. Variabel dan Invariant • Variabel: Variabel digunakan untuk menyimpan nilai yang dapat berubah selama eksekusi program. Variabel memiliki tipe data tertentu (misalnya integer, float, string) dan dapat diinisialisasi dengan nilai awal. Contoh : • Invariant: Invariant adalah kondisi atau properti yang tetap berlaku selama eksekusi program. Invariant sering digunakan dalam pemrograman untuk memastikan kebenaran algoritma. Contoh : Sebuah program pengurutan harus memastikan bahwa array tetap terurut dalam setiap langkah pengurutan. 2. Alur Logika Pemrograman Alur logika pemrograman adalah urutan instruksi atau pernyataan yang digunakan untuk memecahkan masalah atau menyelesaikan tugas tertentu dalam program. Ini melibatkan pengambilan keputusan (if-else), perulangan (loop), dan pengelolaan aliran eksekusi.
59 3. Flowchart Flowchart adalah representasi grafis dari algoritma atau proses. Flowchart menggunakan simbol-simbol seperti kotak (untuk proses), panah (untuk aliran), dan diamond (untuk keputusan) untuk menggambarkan langkahlangkah dalam urutan yang logis. 4. Teknik Dasar Algoritma Umum Teknik Dasar Algoritma Umum mencakup berbagai pendekatan untuk merancang algoritma yang efisien dan efektif. Beberapa teknik umum meliputi: • Sequential (Berurutan): Urutan langkah-langkah untuk menyelesaikan tugas. • Selection (Pemilihan): Pengambilan keputusan berdasarkan kondisi tertentu (if-else statement). • Iteration (Iterasi): Pengulangan langkah-langkah untuk memproses data (looping). • Recursion (Rekursi): Teknik di mana sebuah fungsi memanggil dirinya sendiri untuk menyelesaikan tugas. Penerapan prinsip dasar algoritma dalam pemrograman penting untuk memastikan bahwa program yang dibuat efisien, mudah dimengerti, dan dapat diandalkan. Dengan menggunakan variabel dengan benar, merancang alur logika yang jelas, membuat flowchart untuk visualisasi, dan menerapkan teknik dasar algoritma umum, kita dapat mengembangkan solusi yang baik untuk berbagai masalah pemrograman.
60 RANGKUMAN Validasi User Experience (UX) adalah proses evaluasi dan pengujian desain antarmuka pengguna (UI) untuk memastikan bahwa produk atau layanan yang dikembangkan memenuhi kebutuhan dan harapan pengguna secara efektif dan menyenangkan. Tujuan dari validasi UX adalah untuk memastikan bahwa pengguna memiliki pengalaman yang positif dan intuitif saat berinteraksi dengan produk atau layanan tersebut. Prinsip dasar algoritma dalam pemrograman merujuk pada sejumlah konsep fundamental yang digunakan untuk merancang dan mengembangkan solusi untuk masalah komputasi. Penerapan prinsip dasar algoritma dalam pemrograman penting untuk memastikan bahwa program yang dibuat efisien, mudah dimengerti, dan dapat diandalkan. Dengan menggunakan variabel dengan benar, merancang alur logika yang jelas, membuat flowchart untuk visualisasi, dan menerapkan teknik dasar algoritma umum, kita dapat mengembangkan solusi yang baik untuk berbagai masalah pemrograman. VIDEO PEMBELAJARAN 1. Proses validasi User Experience (UX) https://www.youtube.com/watch?v=ACCcKZzLjzU 2. Prisip Dasar Algoritma Pemograman https://www.youtube.com/watch?v=uqVJc9lLknA TUGAS ESSAY ! 1. Jelaskan mengapa User Experience (UX) penting dalam pengembangan produk digital! 2. Bagaimana proses umum validasi UX dilakukan? 3. Jelaskan mengapa pemahaman tentang kompleksitas waktu dan ruang algoritma sangat penting dalam pengembangan perangkat lunak!
61 4. Bagaimana pendekatan "divide and conquer" diterapkan dalam merancang algoritma? Berikan contoh penggunaannya dalam suatu masalah! PILIHAN GANDA Quizizz ! https://quizizz.com/admin/quiz/6676862c0ba364eb106cf2c5?source=quiz_share
62 KEGAITAN BELAJAR VI
63 INFORMASI a. Penyusun : Nur Ifawati Arfan b. Nama sekolah : SMK Telkom Makassar c. Tahun Penyusunan : 2023/2024 d. Jenjang Sekolah : SMK e. Fase / Kelas : E / X f. Mata Pelajaran : Konsentrasi Pengembangan Perangkat Lunak dan GIM g. Alokasi Waktu : 4 x 45 Menit SARANA DAN PRASARANA a. Media : Power Point, Youtube b. Alat : HP/Laptop, Koneksi Internet, Smart TV MODEL PEMBELAJARAN\ Problem Based Learning CAPAIAN PEMBELAJARAN Pada akhir fase E peserta didik mampu melakukan pemrograman terstruktur, antara lain penerapan struktur data yang terdiri dari data statis (array baik dimensi, panjang, tipe data, pengurutan) dan data dinamis (list, stack), penggunaan tipe data, struktur kontrol perulangan dan percabangan pada proyek pengembangan perangkat lunak sederhana dan gim. TUJUAN PEMBELAJARAN 1. Menerapkan penggunaan tipe data, struktur kontrol perulangan dan percabangan pada proyek pengembangan perangkat lunak sederhana dan gim. 2. Menerapkan pemrograman terstruktur, antara lain penerapan struktur data yang terdiri dari data statis (array baik dimensi, panjang, tipe data, pengurutan) dan data dinamis (list, stack) pada proyek pengembangan perangkat lunak sederhana dan gim.
64 URAIAN MATERI A. Menerapkan penggunaan tipe data, struktur kontrol perulangan dan percabangan pada proyek pengembangan perangkat lunak sederhana dan gim. Pengembangan perangkat lunak adalah proses sistematis yang melibatkan serangkaian aktivitas untuk merancang, membuat, menguji, dan memelihara aplikasi perangkat lunak. Tujuan utamanya adalah menghasilkan perangkat lunak berkualitas tinggi yang memenuhi kebutuhan pengguna atau klien. Proses ini melibatkan berbagai disiplin ilmu, teknik, dan metode yang saling berinteraksi. Tipe data adalah kategori yang menentukan jenis nilai yang dapat disimpan dan dioperasikan dalam suatu variabel atau konstanta dalam pemrograman. Setiap tipe data menyediakan seperangkat operasi yang valid dan rentang nilai yang dapat diterima, serta membantu compiler atau interpreter dalam memahami bagaimana data tersebut akan digunakan dan diolah. Struktur kontrol perulangan adalah konstruksi dalam pemrograman yang memungkinkan eksekusi sekumpulan perintah berulang kali selama kondisi tertentu terpenuhi. Struktur kontrol perulangan sangat berguna untuk mengotomatisasi tugas-tugas yang berulang dan mengurangi jumlah kode yang harus ditulis. Percabangan adalah struktur kontrol dalam pemrograman yang memungkinkan program membuat keputusan berdasarkan kondisi tertentu. Dengan percabangan, program dapat mengeksekusi blok kode tertentu jika kondisi tersebut benar, dan blok kode lain jika kondisi tersebut salah.
65 Dalam menerapkan penggunaan tipe data, struktur kontrol perulangan dan percabangan pada proyek pengembangan perangkat lunak sederhana dan gim. Tentu! Mari kita buat contoh sebuah proyek pengembangan perangkat lunak sederhana berupa gim menggunakan Python. Gim ini akan menggunakan tipe data, struktur kontrol perulangan, dan percabangan. DESKRIPSI GIM Kita akan membuat gim "Tebak Angka" di mana pemain harus menebak angka yang dipilih secara acak oleh komputer antara 1 dan 100. Pemain akan diberikan sejumlah kesempatan untuk menebak angka tersebut. Setelah setiap tebakan, komputer akan memberi tahu apakah tebakan pemain terlalu tinggi, terlalu rendah, atau tepat. Gim berakhir ketika pemain menebak angka dengan benar atau jumlah kesempatan habis. IMPLEMENTASI GIM "TEBAK ANGKA" Berikut adalah kode lengkap untuk gim ini, yang mencakup penggunaan tipe data, struktur kontrol perulangan, dan percabangan. PENJELASAN 1. Tipe data • ‘angka’_rahasia menggunakan tipe data ‘int’ untuk menyimpan angka yang dipilih secara acak oleh komputer.
66 • ‘kesempatan’ menggunakan tipe data ‘int’ untuk menyimpan jumlah kesempatan yang tersisa bagi pemain. • ‘tebakan’ menggunakan tipe data ‘int’ untuk menyimpan angka yang ditebak oleh pemain. 2. Struktur Kontrol Perulangan • ‘while kesempatan > 0:’ digunakan untuk mengulangi proses permainan selama pemain masih memiliki kesempatan. 3. Struktur Kontrol Percabangan • ‘if tebakan < 1 or tebakan > 100:’ digunakan untuk memeriksa apakah tebakan berada dalam rentang yang valid. • ‘if tebakan < angka_rahasia:’ digunakan untuk memeriksa apakah tebakan pemain terlalu rendah. • ‘elif tebakan > angka_rahasia:’ digunakan untuk memeriksa apakah tebakan pemain terlalu tinggi. • ‘else:’ digunakan untuk kondisi ketika tebakan pemain tepat. • ‘if kesempatan == 0:’ digunakan untuk memeriksa apakah kesempatan pemain sudah habis. PENGGUNAAN FUNGSI DAN PENANGANAN EKSEPSI • Fungsi: Fungsi ‘main()’ digunakan untuk mengorganisasi logika utama dari gim. • Eksepsi: ‘try-except’ digunakan untuk menangani kesalahan input ketika pemain memasukkan nilai yang bukan angka. Dengan menerapkan tipe data yang sesuai, kontrol perulangan, dan percabangan, kita dapat membuat gim sederhana yang interaktif dan memberikan umpan balik kepada pemain. Ini adalah contoh dasar dari pengembangan perangkat lunak yang bisa dikembangkan lebih lanjut dengan fitur-fitur tambahan.
67 B. Menerapkan pemrograman terstruktur, antara lain penerapan struktur data yang terdiri dari data statis (array baik dimensi, panjang, tipe data, pengurutan) dan data dinamis (list, stack) pada proyek pengembangan perangkat lunak sederhana dan gim Pemrograman struktur mengacu pada cara kita mengatur dan mengendalikan aliran eksekusi program komputer menggunakan berbagai struktur yang tersedia dalam bahasa pemrograman. Struktur ini memungkinkan kita untuk mengatur bagaimana instruksi-instruksi dalam program dieksekusi berdasarkan kondisi-kondisi tertentu, membuat kode lebih terstruktur, mudah dibaca, dan efisien. Data statis merujuk kepada data yang nilainya tetap atau tidak berubah sepanjang waktu pengolahan atau analisis data. Berbeda dengan data dinamis yang dapat berubah atau diperbarui secara teratur, data statis adalah data yang tidak mengalami perubahan selama periode tertentu atau bahkan selama seluruh proses analisis. Data dinamis adalah jenis data yang dapat berubah atau diperbarui secara teratur sesuai dengan waktu, kejadian, atau interaksi yang terjadi dalam sistem atau lingkungan di mana data tersebut digunakan. Berbeda dengan data statis yang nilainilainya tetap atau tidak berubah, data dinamis memiliki kemampuan untuk mengalami perubahan dan memperbarui nilai-nilainya berdasarkan kondisi atau input yang terjadi.
68 Untuk menerapkan pemrograman terstruktur dalam proyek pengembangan perangkat lunak sederhana dan gim, Anda dapat memanfaatkan berbagai struktur data seperti array, list, dan stack. Berikut adalah penerapan masing-masing struktur data untuk memenuhi kebutuhan proyek: 1. Struktur Data Statis Array : • Deskripsi: Array adalah struktur data yang terdiri dari urutan elemenelemen data yang memiliki tipe yang sama dan diakses menggunakan indeks numerik. • Penerapan: Misalnya, dalam sebuah gim "Tebak Angka", Anda dapat menggunakan array untuk menyimpan kumpulan nomor yang harus ditebak oleh pengguna. • Keuntungan: Akses ke elemen array cepat dan mudah menggunakan indeks. Pengurutan : • Deskripsi: Pengurutan adalah proses mengatur elemen-elemen data dalam urutan tertentu, seperti urutan numerik atau alfabetis. • Penerapan: Dalam permainan kartu, Anda mungkin perlu mengurutkan kartu-kartu pemain berdasarkan nilai atau jenis kartu. • Keuntungan: Memudahkan pencarian dan analisis data karena data sudah diurutkan.
69 2. Struktur Data Dinamis List : • Deskripsi: List adalah struktur data dinamis di Python yang dapat berubah ukurannya, berisi berbagai jenis elemen, dan diakses menggunakan indeks. • Penerapan: Dalam gim tebakan kata, Anda bisa menggunakan list untuk menyimpan daftar kata yang bisa ditebak. • Keuntungan: Fleksibilitas dalam menambah, menghapus, atau memodifikasi elemen-elemen dalam list. Stack : • Deskripsi: Stack adalah struktur data yang mengikuti prinsip LIFO (Last In, First Out), di mana elemen terakhir yang dimasukkan adalah elemen pertama yang dikeluarkan. • Penerapan: Dalam permainan teka-teki, Anda dapat menggunakan stack untuk menyimpan jejak langkah-langkah atau undo aksi yang dilakukan oleh pengguna. • Keuntungan: Cocok untuk mengelola tumpukan data sementara seperti riwayat aksi atau undo dalam permainan atau aplikasi.
70 RANGKUMAN Tipe data adalah kategori yang menentukan jenis nilai yang dapat disimpan dan dioperasikan dalam suatu variabel atau konstanta dalam pemrograman. Setiap tipe data menyediakan seperangkat operasi yang valid dan rentang nilai yang dapat diterima, serta membantu compiler atau interpreter dalam memahami bagaimana data tersebut akan digunakan dan diolah. Struktur kontrol perulangan adalah konstruksi dalam pemrograman yang memungkinkan eksekusi sekumpulan perintah berulang kali selama kondisi tertentu terpenuhi. Struktur kontrol perulangan sangat berguna untuk mengotomatisasi tugas-tugas yang berulang dan mengurangi jumlah kode yang harus ditulis. Percabangan adalah struktur kontrol dalam pemrograman yang memungkinkan program membuat keputusan berdasarkan kondisi tertentu. Dengan percabangan, program dapat mengeksekusi blok kode tertentu jika kondisi tersebut benar, dan blok kode lain jika kondisi tersebut salah. Data statis merujuk kepada data yang nilainya tetap atau tidak berubah sepanjang waktu pengolahan atau analisis data. Berbeda dengan data dinamis yang dapat berubah atau diperbarui secara teratur, data statis adalah data yang tidak mengalami perubahan selama periode tertentu atau bahkan selama seluruh proses analisis. Data dinamis adalah jenis data yang dapat berubah atau diperbarui secara teratur sesuai dengan waktu, kejadian, atau interaksi yang terjadi dalam sistem atau lingkungan di mana data tersebut digunakan. Berbeda dengan data statis yang nilainilainya tetap atau tidak berubah, data dinamis memiliki kemampuan untuk mengalami perubahan dan memperbarui nilai-nilainya berdasarkan kondisi atau input yang terjadi.
71 VIDEO PEMBELAJARAN 1. Penerapkan penggunaan tipe data, struktur kontrol perulangan dan percabangan https://www.youtube.com/watch?v=UnjN6paBra0 https://www.youtube.com/watch?v=VSL19lCLqHk 2. Menerapkan pemrograman terstruktur, antara lain penerapan struktur data yang terdiri dari data statis dan dinamis https://www.youtube.com/watch?v=q04buHDFT6M TUGAS ESSAY ! 1. Jelaskan apa yang dimaksud dengan tipe data dan berikan tiga contoh tipe data dasar yang sering digunakan dalam pemrograman Python. 2. Apa yang dimaksud dengan struktur kontrol perulangan dan percabangan? Berikan contoh implementasinya dalam bahasa Python. 3. Jelaskan perbedaan antara data statis dan data dinamis dalam konteks pemrograman. Berikan contoh untuk masing-masing jenis data tersebut. 4. Jelaskan konsep struktur data "stack" dan berikan contoh situasi atau aplikasi di mana penggunaan stack sangat bermanfaat. PILIHAN GANDA ! Quizizz https://quizizz.com/admin/quiz/6677ab87a4d80f74dafa36b7?source=quiz_share
72 DAFTAR PUSTAKA Haug, M. (2018). Architecting Cloud-Native Applications: Design high-performing and cost-effective applications for the cloud. Packt Publishing. Pilih platform cloud gaming yang ingin dianalisis (misalnya, Google Stadia, Nvidia GeForce Now, Microsoft xCloud). Marr, B. (2015). Big Data: Using SMART Big Data, Analytics and Metrics to Make Better Decisions and Improve Performance. Wiley. Agile Alliance. (2024). Agile Manifesto. Agile Alliance. https://agilemanifesto.org Pressman, R. S., & Maxim, B. R. (2019). Software Engineering: A Practitioner's Approach (9th ed.). McGraw-Hill Education. Eric Ries. (2011). "The Lean Startup: How Today's Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses." Brown, S., Fisk, R. P., & Bitner, M. J. (2009). "The Service Experience as Theater". In "Handbook of Service Science" (pp. 529-549). Springer, New York, NY. Gibb, A. A. (2002). "In Pursuit of a New 'Enterprise' and 'Entrepreneurship' Paradigm for Learning: Creative Destruction, New Values, New Ways of Doing Things and New Combinations of Knowledge." International Journal of Management Reviews, 4(3), 233-269. WIPO (World Intellectual Property Organization). (s.d.). What is Intellectual Property? Retrieved from https://www.wipo.int/about-ip/en/ International Labour Organization (ILO). (2019). Occupational Safety and Health (OSH) - ILO Guidelines. Retrieved from https://www.ilo.org/global/topics/safety-and-health-at-work/lang-- en/index.htm Setiawan, A., & Pramana, E. (2019). Implementasi Budaya K3LH dalam Peningkatan Kinerja Karyawan di Industri Otomotif. Jurnal Manajemen dan Kewirausahaan, 21(1), 16-26. Barker, M. (2019). Coding with Python: From Basics to Advanced Projects. Packt Publishing. Nielsen Norman Group. (Various articles and reports on UX design and usability). Available at: https://www.nngroup.com/ Cormen, Thomas H., Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. Introduction to Algorithms. 3rd edition, MIT Press, 2009.
73 W3Schools. "Python Data Types." W3Schools.com, 2023, https://www.w3schools.com/python/python_datatypes.asp. GeeksforGeeks. "Python Data Structures." Tersedia online: https://www.geeksforgeeks.org/python-data-structures/.
74