• PEMROGRAMAN WEB DINAMIS

    Pengertian web dinamis adalah suatu web yang konten atau isinya dapat berubah-ubah setiap saat. Sebab dalam teknologi pembuatan web dinamis sudah dirancang semudah mungkin bagi pemakai atau user yang menggunakan web tersebut..

  • SIMULASI DAN KOMUNIKASI DIGITAL

    Suatu proses peniruan dalam bentuk visual yang dideskripsikan menyerupai kata, gambar dan grafis..

  • SISTEM KOMPUTER

    Sistem komputer adalah suatu jaringan elektronik yang terdiri dari perangkat lunak dan perangkat keras yang melakukan tugas tertentu (menerima input, memproses input, menyimpan perintah-perintah, dan menyediakan output dalam bentuk informasi). Selain itu dapat pula diartikan sebagai elemen-elemen yang terkait untuk menjalankan suatu aktivitas dengan menggunakan komputer..

  • DASAR DESAIN GRAPIS

    Banyak yang berpikiran kalau desain yang baik adalah yang membutuhkan jam kerja yang banyak, membutuhkan skill tinggi dan aplikasi yang mahal. Ya, memang, tapi sebenarnya desain yang baik adalah desain yang sederhana, yang membuat setiap orang yang melihatnya mudah menangkap maksud dari sebuah bentuk visual tersebut..

  • BASIS DATA

    Pangkalan data atau basis data (bahasa Inggris: database) adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang digunakan untuk mengelola dan memanggil kueri (query) basis data disebut sistem manajemen basis data (database management system, DBMS). Sistem basis data dipelajari dalam ilmu informasi.

Petunjuk Praktikum Ujian Akhir Semester Ganjil 2025/2026 Mapel Pemrograman Mobile Kelas 12 RPL 1 & 12 RPL 2

 

Petunjuk Praktikum Ujian Akhir Semester Ganjil 2025/2026

Pemrograman Mobile (Dart & Flutter)

Oleh: Darsu

Mata Pelajaran: Pemrograman Mobile (Dart & Flutter)

Kelas: XII RPL 1 & 2

Guru: Darsu


Pendahuluan

Sebagai bagian dari proses pembelajaran yang berkelanjutan di kelas XII RPL 1 & 2, ujian praktik ini dirancang bukan hanya untuk menguji kemampuan teknis, tetapi juga untuk menggali kreativitas serta kedisiplinan dalam membangun sebuah produk digital. Setelah melalui beberapa pertemuan penuh tantangan, kini saatnya kalian menunjukkan kemampuan terbaik dalam bentuk sebuah mini project Flutter. Saya berharap praktikum ini menjadi pengalaman bermakna yang kelak bermanfaat di dunia kerja maupun project pribadi kalian.
Pada akhir Semester 1, peserta didik kelas XII RPL 1 & 2 melaksanakan Ujian Praktik Pemrograman Mobile menggunakan Dart & Flutter. Dalam ujian ini peserta didik diminta membangun mini project aplikasi transaksi kantin sekolah, sebuah pengembangan dari project yang telah dibuat pada pertemuan sebelumnya.

Aplikasi ini memberikan pengalaman langsung dalam memahami widget-widget Flutter, mengelola state, membuat alur transaksi, serta mengintegrasikan fitur pengiriman pesan otomatis ke WhatsApp.

Tujuan Praktikum

Praktikum ini bertujuan untuk:

  • Mengukur pemahaman struktur dasar project Flutter.

  • Melatih penggunaan widget-widget esensial.

  • Mengembangkan logika transaksi menu.

  • Mengimplementasikan state management sederhana.

  • Mengintegrasikan aplikasi dengan WhatsApp.

  • Melatih kemampuan peserta didik membuat dokumentasi berbentuk artikel ilmiah popular.


B. Spesifikasi Minimum Aplikasi

Aplikasi wajib memiliki fitur berikut:

1. Halaman Daftar Menu

  • Tampilkan daftar menu kantin (minimal 5 item).

  • Setiap item terdiri dari: nama, harga, dan gambar/icon.

  • Gunakan widget seperti: ListView, Card, Row, Column, atau sejenisnya.

2. Penentuan Jumlah Pembelian

  • Pada setiap item sediakan tombol untuk menambah/mengurangi jumlah.

  • Gunakan state management sederhana (setState).

  • Hitung subtotal tiap item.

3. Halaman Checkout

  • Menampilkan ringkasan pesanan: daftar item yang dibeli beserta jumlahnya.

  • Menghitung total pembayaran secara otomatis.

  • Sediakan tombol Kirim Pesanan ke WA.

  • Link WA otomatis mengirim format pesan seperti:

    Pesanan Kantin:
    - Nasi Goreng x2 = 20.000
    - Teh Es x1 = 5.000
    Total: 25.000
    

4. Integrasi WhatsApp

  • Gunakan link launcher standar: https://wa.me/62xxxxxxxxx?text=...

  • Nomor WA dapat disediakan bebas (simulasi pengiriman).

5. Desain Tampilan

  • Rapi dan mudah digunakan.

  • Memanfaatkan widget dasar Flutter secara benar.

  • Warna, padding, dan layout diperhatikan dengan baik.


C. Struktur Folder dan Kerapian Kode

Peserta didik wajib memperhatikan:

  • Penamaan variabel dan file yang konsisten.

  • Struktur folder minimal:

    lib/
      main.dart
      pages/
        home_page.dart
        checkout_page.dart
      models/
        menu.dart
      widgets/
        menu_card.dart (opsional)
    
  • Tidak ada kode yang tidak digunakan.

  • Komentar seperlunya.


D. Laporan Project (Artikel Blog)

Peserta didik menyusun laporan berbentuk artikel berisi:

  1. Judul artikel.

  2. Deskripsi aplikasi.

  3. Tujuan pembuatan aplikasi.

  4. Fitur-fitur aplikasi.

  5. Dokumentasi tampilan (screenshot aplikasi).

  6. Potongan kode penting (bukan seluruh kode).

  7. Kesimpulan.

Artikel dipublikasikan di blog masing-masing.

Pada akhir artikel, sertakan:

  • Link repository (jika ada)

  • Screenshot hasil pengujian


E. Pengumpulan Hasil Praktikum

  1. Publikasikan artikel di blog pribadi.

  2. Salin URL postingan artikel.

  3. Buka postingan Petunjuk Praktikum Ujian Akhir Semester di Blog Guru (Darsu).

  4. Paste link artikel pada kolom komentar postingan tersebut.

  5. Pastikan link dapat dibuka.


F. Kriteria Penilaian

Aspek Penilaian Bobot
Fungsionalitas aplikasi 30%
Kerapian UI/UX 20%
Pemahaman widget Flutter 20%
Integrasi WA 10%
Kerapian kode & struktur 10%
Laporan artikel blog 10%

G. Catatan Penting

  • Dilarang menyalin project teman kelas lain.

  • Boleh mengembangkan project latihan sebelumnya.

  • Jika ada error, dokumentasikan di artikel sebagai bagian dari proses.

  • Gunakan Flutter versi yang sudah stabil digunakan.


Penutup

Ujian praktik ini tidak hanya menjadi tolok ukur pemahaman teknis, tetapi juga menjadi kesempatan untuk mengekspresikan kemampuan problem solving dan kreativitas kalian. Kerjakan dengan jujur, rapi, dan penuh tanggung jawab.

Saya menantikan hasil karya terbaik kalian dan artikel yang informatif di blog masing-masing.

Selamat mengerjakan dan semoga sukses!


Darsu
Guru Produktif RPL
Mapel : Pemrograman Perangkat Bergerak

Share:

🧠 Belajar Dasar Pemrograman dengan Dart (Flutter): Panduan Lengkap untuk Pemula

🧠 Belajar Dasar Pemrograman dengan Dart (Flutter): Panduan Lengkap untuk Pemula

✨ Pengantar

Dalam era teknologi digital yang berkembang pesat, kemampuan membuat aplikasi mobile menjadi keahlian yang sangat berharga. Salah satu framework yang paling populer saat ini adalah Flutter, yang menggunakan bahasa pemrograman Dart. Flutter memungkinkan kita membuat aplikasi Android, iOS, bahkan Web dan Desktop hanya dengan satu basis kode (single codebase).

Artikel ini akan membahas 36 submateri dasar pemrograman dengan Dart secara terstruktur — mulai dari pengenalan hingga pengendalian alur program. Panduan ini cocok untuk pemula, pelajar SMK, maupun mahasiswa yang ingin memahami dasar-dasar logika pemrograman melalui Flutter.


🧩 KELOMPOK 1: PENDAHULUAN & SETUP

Langkah pertama dalam belajar pemrograman adalah menyiapkan lingkungan pengembangan.

  1. Pengenalan Dart dan Flutter
    Pelajari sejarah, keunggulan, dan contoh penggunaan Flutter untuk membuat aplikasi lintas platform yang efisien dan elegan.

  2. Setup Lingkungan Pengembangan
    Install Flutter SDK, Android Studio, dan atur environment variables agar sistem siap digunakan.

  3. Membuat Project Flutter Pertama
    Kenali struktur direktori proyek, seperti lib/main.dart, dan peran penting pubspec.yaml.

  4. Hot Reload vs Hot Restart
    Pahami perbedaan kedua fitur ini yang mempermudah proses pengembangan aplikasi secara cepat tanpa kehilangan status.


💡 KELOMPOK 2: STRUKTUR DASAR & SYNTAX

Sebelum menulis kode kompleks, pahami dasar penulisan program dalam Dart.

  1. Struktur Program Dart Dasar – Semua program dimulai dari fungsi main().

  2. Statement dan Expression – Bedakan antara perintah dan ekspresi dalam logika program.

  3. Komentar dalam Kode – Gunakan komentar // atau /* ... */ untuk dokumentasi kode.

  4. Formatting dan Style Guide – Terapkan gaya penulisan kode Dart agar rapi dan mudah dibaca.


📦 KELOMPOK 3: VARIABEL & DEKLARASI

Variabel digunakan untuk menyimpan dan mengelola data dalam program.

  1. Konsep Variabel dan Nilai – Memahami memori dan penyimpanan data.

  2. Deklarasi Variabel dengan var – Mengenal type inference.

  3. Tipe Data Eksplisit – Gunakan String, int, double, sesuai kebutuhan.

  4. Final dan Const – Pahami perbedaan antara konstanta saat runtime dan compile-time.

  5. Null Safety Dasar – Pelajari konsep penting untuk mencegah error akibat nilai null.


🔢 KELOMPOK 4: TIPE DATA PRIMITIF

Tipe data adalah pondasi logika dalam pemrograman.

  1. Number (int, double) – Untuk bilangan bulat dan desimal.

  2. String – Teks dengan kutipan tunggal atau ganda.

  3. String Interpolation – Menyisipkan variabel ke dalam teks menggunakan ${}.

  4. Multi-line String – Menulis teks panjang menggunakan ''' ... '''.

  5. Boolean – Menyimpan nilai logika true atau false.

  6. Dynamic – Variabel yang bisa berubah tipe data.


🧮 KELOMPOK 5: OPERATOR

Operator membantu melakukan perhitungan dan pengujian kondisi logis.

  1. Operator Aritmatika+, -, *, /, %, ~/.

  2. Operator Penugasan=, +=, -=, dan lainnya.

  3. Increment & Decrement++ dan --.

  4. Operator Relasional==, !=, >, <, >=, <=.

  5. Operator Logika&&, ||, !.

  6. Operator Type Testis, is! untuk mengecek tipe data.

  7. Operator Null-aware??, ??=, ?. untuk menangani nilai null.

  8. Operator Cascade.. untuk memanggil beberapa metode berurutan dari objek yang sama.


🔀 KELOMPOK 6: KONTROL ALUR – PERCABANGAN

Percabangan digunakan untuk pengambilan keputusan dalam program.

  1. if Statement – Mengeksekusi kode berdasarkan kondisi tertentu.

  2. if-else Statement – Menangani dua kemungkinan kondisi.

  3. else-if Ladder – Mengatur banyak kondisi bertingkat.

  4. Switch-Case Statement – Pilihan alternatif yang efisien untuk kondisi tetap.

  5. Ternary Operator – Penulisan singkat untuk percabangan sederhana.


🔁 KELOMPOK 7: KONTROL ALUR – PERULANGAN

Perulangan membuat program lebih efisien dengan menjalankan kode berulang kali.

  1. For Loop – Struktur perulangan umum dengan inisialisasi, kondisi, dan increment.

  2. For-in Loop – Mengiterasi elemen dari koleksi seperti List atau Set.

  3. While Loop – Menjalankan blok kode selama kondisi bernilai benar.

  4. Do-while Loop – Menjalankan kode minimal satu kali, kemudian memeriksa kondisi.


🚀 Penutup

Memahami dasar pemrograman dengan Dart adalah langkah penting sebelum melangkah ke pengembangan aplikasi Flutter yang lebih kompleks.
Dengan menguasai konsep di atas, peserta didik akan siap membangun aplikasi interaktif, efisien, dan modern yang bisa berjalan di berbagai platform.

Setiap submateri dapat dikembangkan dengan:

  • 💻 Contoh kode langsung (praktik di IDE)

  • 📚 Latihan mandiri dan proyek kecil

  • 📱 Implementasi sederhana ke dalam widget Flutter


📘 Kesimpulan

Belajar Dart bukan sekadar memahami sintaks, tetapi juga melatih logika berpikir, ketelitian, dan kreativitas.
Dengan pembelajaran yang terstruktur, setiap siswa akan mampu menguasai konsep pemrograman modern dan siap menjadi pengembang masa depan yang adaptif dan inovatif. 🌟

Share:

Kolaborasi Siswa SMKN 1 Banjar: Menjelaskan Koding Aplikasi To-Do List dengan Flutter

 Oleh : Darsu (Guru RPL SMKN 1 Banjar)


🧩 Kolaborasi Siswa SMKN 1 Banjar: Menjelaskan Koding Aplikasi To-Do List dengan Flutter

Banjar, 13 November 2025 – Suasana ruang kelas jurusan Pengembangan Perangkat Lunak dan Gim (PPLG) SMK Negeri 1 Banjar tampak berbeda hari itu. Enam orang siswa tampak antusias berdiri di depan kelas, bukan untuk ujian praktik, melainkan untuk menjelaskan kodingan aplikasi To-Do List hasil karya mereka sendiri menggunakan Dart dan Flutter.

Kegiatan ini merupakan bagian dari pembelajaran Pemrograman Mobile, di mana siswa tidak hanya dituntut mampu menulis baris kode, tetapi juga harus bisa memahami, menganalisis, dan menjelaskan logika program kepada teman-temannya.


💻 Belajar dengan Cara Kolaboratif

Dalam kegiatan ini, satu kelompok terdiri dari 6 siswa (2 perempuan dan 4 laki-laki) yang masing-masing memiliki tanggung jawab berbeda untuk menjelaskan bagian-bagian aplikasi.
Mereka mempresentasikan mulai dari struktur proyek Flutter, model data, logika CRUD, tampilan antarmuka (UI), hingga pengelolaan state dan evaluasi aplikasi.

“Tujuan kegiatan ini adalah agar siswa benar-benar memahami flow kerja aplikasi, tidak hanya menyalin kode,” ujar Bapak Darsu, guru pembimbing mata pelajaran Pemrograman Mobile.
Menurutnya, dengan cara seperti ini, siswa belajar menjelaskan sesuatu yang kompleks dengan bahasa sederhana, melatih keterampilan berpikir logis dan komunikasi teknis yang dibutuhkan di dunia kerja.


👩‍💻 Pembagian Peran yang Terstruktur

Agar penjelasan berjalan sistematis, keenam anggota kelompok memiliki Job Description (Job Des) yang jelas sebagai berikut:

No.Peran / JabatanTugas Utama
1Ketua Kelompok / Pembuka Presentasi (P1)Menjelaskan struktur proyek Flutter (lib, assets, pubspec.yaml, main.dart) dan alur awal aplikasi.
2Penjelas Model & Data (L1)Menguraikan model data (Todo class), atribut, dan cara penyimpanan data dalam aplikasi.
3Penjelas Logika CRUD (L2)Menjelaskan fungsi tambah, edit, dan hapus data serta penerapan setState().
4Penjelas Tampilan (UI) Utama (L3)Menunjukkan desain tampilan daftar tugas menggunakan widget seperti ListView, Card, dan FloatingActionButton.
5Penjelas Interaksi & State Management (P2)Menjelaskan interaksi pengguna dan logika perubahan status tugas menggunakan stateful widget.
6Penutup & Evaluator (L4)Menyampaikan kesimpulan, evaluasi aplikasi, serta ide pengembangan seperti fitur deadline atau notifikasi.

Masing-masing siswa juga diwajibkan menampilkan kode program dan hasil tampilan aplikasi (view) di layar emulator.
Presentasi dilakukan bergantian, dengan waktu sekitar 3–5 menit per siswa.


🧠 Belajar Menjelaskan, Bukan Sekadar Menjalankan

Kegiatan ini memberikan pengalaman berbeda bagi para siswa. Mereka tidak hanya belajar coding, tetapi juga belajar menjelaskan cara kerja program kepada orang lain.

Salah satu siswa, Iqbal (L3), mengatakan,

“Awalnya deg-degan karena harus jelasin kode di depan teman-teman, tapi ternyata seru. Saya jadi lebih paham fungsi setiap bagian koding karena harus bisa menjelaskannya.”

Sementara itu, Maul (P2), yang bertugas menjelaskan bagian state management, mengaku kegiatan ini membuatnya lebih percaya diri.

“Kalau cuma ngetik kode itu gampang, tapi kalau harus menjelaskan kenapa kita pakai setState() atau gimana data berubah, itu bikin saya benar-benar belajar memahami alurnya,” ujarnya.


🎯 Hasil dan Dampak Pembelajaran

Dari kegiatan ini, siswa belajar untuk:

  • Memahami hubungan antara kode, logika, dan tampilan aplikasi.

  • Melatih kemampuan komunikasi dan kerja tim.

  • Mengasah kemampuan berpikir sistematis dan analitis.

  • Meningkatkan kepercayaan diri dalam menjelaskan hasil karya sendiri.

Guru pembimbing juga memberikan apresiasi kepada seluruh anggota kelompok yang mampu menunjukkan kolaborasi dan semangat belajar tinggi.
“Melalui kegiatan seperti ini, siswa belajar problem solving, kerja tim, dan komunikasi — tiga hal penting dalam dunia industri perangkat lunak,” tambah Pak Darsu.


🏁 Penutup

Kegiatan penjelasan koding aplikasi To-Do List ini menjadi bukti nyata bahwa belajar pemrograman tidak harus selalu di balik layar laptop, tetapi bisa juga melalui kolaborasi, komunikasi, dan presentasi aktif.

Dengan metode pembelajaran berbasis proyek dan presentasi, diharapkan siswa SMKN 1 Banjar — khususnya jurusan PPLG (Pengembangan Perangkat Lunak dan Gim) — dapat tumbuh menjadi programmer muda yang kreatif, komunikatif, dan siap menghadapi tantangan industri digital masa depan.


SMK Bisa! SMK Hebat! SMK Negeri 1 Banjar — Siap Menginspirasi dan Mengedukasi!


Salam : Redaksi

Share:

Blogger Tricks

Blogger Themes