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

🚀 Jago Data! Cara Kilat Membuat Rekap Target Penjualan Otomatis di Excel (Panduan Praktikum SMK)

Jago Data! Cara Kilat Membuat Rekap Target Penjualan Otomatis di Excel (Panduan Praktikum SMK)

🚀 Jago Data! Cara Kilat Membuat Rekap Target Penjualan Otomatis di Excel (Panduan Praktikum SMK)

Kenapa Excel Penting untuk Anak Pemasaran? 🤔

Selamat datang di sesi praktikum paling penting bagi calon tenaga pemasaran!

Di dunia kerja, khususnya bidang penjualan dan pemasaran, laporan adalah raja. Atasan Anda tidak hanya ingin tahu berapa banyak yang terjual, tetapi juga seberapa jauh Anda mencapai target. Microsoft Excel bukan sekadar aplikasi pengolah angka; ini adalah senjata rahasia untuk mengubah data mentah menjadi laporan yang jelas, rapi, dan otomatis.

Praktikum kali ini (khusus untuk siswa kelas X Pemasaran) akan membimbing Anda langkah demi langkah membuat Rekap Target Penjualan. Anda akan belajar menerapkan tiga skill kunci: menghitung persentase, menggunakan Fungsi Logika IF, dan formatting laporan profesional.


🎯 1. Tujuan Utama Praktikum: Jadi Ahli Laporan!

Setelah menyelesaikan modul ini, Anda akan memiliki kemampuan dasar yang sangat dicari di industri:

  • Membuat struktur tabel penjualan yang rapi di Excel.
  • Otomatisasi Perhitungan: Menghitung persentase capaian target dengan cepat.
  • Analisis Otomatis: Menggunakan Rumus IF untuk menentukan status (Tercapai / Belum Tercapai) tanpa penilaian manual.
  • Formatting Standar Industri: Membuat laporan terlihat profesional dan siap cetak.

📊 2. Siapkan Data Dasar Penjualan

Langkah pertama adalah menyiapkan data yang akan kita olah. Buka Microsoft Excel dan input data berikut ke dalam sheet Anda.

No. Produk Target (Unit) Penjualan Aktual (Unit) Capaian (%) Keterangan
1A500460
2B300320
3C250200
4D150150
5E400350
💡 Tips: Pastikan kolom Target dan Aktual Anda masukkan sebagai angka biasa (General) terlebih dahulu.

🧮 3. Rahasia Menghitung Capaian (%) dengan Rumus

Kolom Capaian (%) adalah inti dari laporan ini. Ini menunjukkan persentase penjualan aktual dibandingkan target yang ditetapkan.

Rumus yang Digunakan:

Capaian = Penjualan Aktual / Target Penjualan

Implementasi di Excel:

  1. Klik sel di bawah kolom Capaian (%) (misalnya di kolom E2).
  2. Masukkan rumus berikut (asumsi Target di C2 dan Aktual di D2):
    =D2/C2
  3. Tekan Enter, lalu seret (drag) rumus ke bawah hingga baris Produk E.

Penting! Setelah rumus selesai, ubah format kolom E menjadi Percentage (%) melalui menu Home > Grup Number.


✔️ 4. Menggunakan Rumus IF: Otomatisasi Status Laporan

Inilah bagian yang paling canggih: menggunakan Fungsi Logika IF untuk menentukan status penjualan secara otomatis. Kita ingin Excel menilai:

  1. Jika Capaian di atas 100%, statusnya "Melebihi Target".
  2. Jika Capaian sama dengan 100%, statusnya "Tercapai".
  3. Jika Capaian di bawah 100%, statusnya "Belum Tercapai".

Rumus IF Bersarang (Nested IF):

Klik sel di kolom Keterangan (misalnya F2) dan masukkan rumus kompleks ini:

=IF(E2>100%,"Melebihi Target",IF(E2=100%,"Tercapai","Belum Tercapai"))

Penjelasan Rumus:

  • IF(E2>100%, "Melebihi Target", ...): Cek pertama, apakah E2 (Capaian) lebih dari 100%? Jika ya, tulis "Melebihi Target". Jika tidak, pindah ke cek berikutnya.
  • IF(E2=100%, "Tercapai", "Belum Tercapai"): Cek kedua, apakah E2 sama dengan 100%? Jika ya, tulis "Tercapai". Jika tidak, berarti otomatis kurang dari 100%, tulis "Belum Tercapai".

Setelah selesai, drag rumus hingga baris terakhir. Hasilnya? Laporan Anda langsung terisi statusnya!


🧹 5. Formatting Akhir: Laporan yang Rapi dan Profesional

Laporan yang baik harus mudah dibaca. Terapkan sentuhan profesional ini:

  1. Border: Beri border (garis tepi) pada seluruh tabel melalui menu Home > Grup Font > Ikon Border.
  2. Header: Tebalkan (Bold) semua teks di baris judul kolom (header).
  3. Alignment: Pusatkan (Center) kolom No. dan Capaian (%). Untuk data angka, seringkali lebih baik rata kanan (Align Right).
  4. Lebar Kolom: Atur lebar kolom agar teks, terutama di kolom Keterangan, tidak terpotong.

💾 6. Standar Penyimpanan File Praktikum

Disiplin dalam penamaan file adalah ciri profesional. Simpan file Anda dengan format:

PRAKTIKUM_EXCEL_NamaSiswa.xlsx

Contoh: PRAKTIKUM_EXCEL_BudiSantoso.xlsx


✅ Kesimpulan: Modal Berharga untuk Karir Pemasaran

Selamat! Anda baru saja menyelesaikan praktikum fundamental dalam analisis data penjualan.

Kemampuan Anda dalam membuat laporan yang cepat, akurat, dan otomatis menggunakan Fungsi IF dan formatting profesional adalah modal berharga. Ini membuktikan bahwa siswa pemasaran tidak hanya pandai menjual, tetapi juga jago dalam menyajikan data yang kuat.

Sekarang, coba aplikasikan ilmu ini untuk data penjualan fiktif yang lebih besar!

***

Apakah Anda ingin saya membuatkan skenario data penjualan fiktif baru untuk latihan tambahan, atau Anda ingin panduan membuat Dashboard sederhana dari data ini?


Share:

Kisi-Kisi Materi Quiz Microsoft Office (Word, Excel, PowerPoint)

Kisi-Kisi Materi Quiz Microsoft Office (Word, Excel, PowerPoint)

Berikut rangkuman materi inti yang sering muncul dalam ujian atau quiz praktikum Microsoft Office dasar. Kisi-kisi ini membantu memahami konsep penting tanpa menampilkan pilihan jawaban, sehingga lebih fokus pada pemahaman.


1. Microsoft Word – Materi yang Wajib Dipahami

Microsoft Word digunakan sebagai aplikasi pengolah teks. Fokuskan pada fungsi utama seperti pengaturan paragraf, ukuran kertas, margin, dan format teks.

Topik penting yang sering ditanyakan:

  • Fungsi utama Word sebagai pengolah teks.

  • Shortcut dasar seperti menyimpan dokumen, menyalin, memotong, dan menempel.

  • Pengaturan layout seperti ukuran kertas, margin, dan orientasi.

  • Penggunaan fitur teks seperti Bold, Italic, Underline.

  • Pembuatan daftar berpoin dan bernomor.

  • Fungsi Header dan Footer.

  • Pemeriksaan ejaan melalui menu Review.

  • Jenis ekstensi file Word (.docx).

Pembahasan ringkas:
Word menyediakan fitur formatting dan layout untuk mempermudah pembuatan dokumen profesional. Memahami menu Home, Insert, Layout, dan Review sangat membantu dalam pengerjaan soal.


2. Microsoft Excel – Dasar Pengolahan Angka

Excel adalah aplikasi pengolah angka yang sangat kuat untuk perhitungan, tabel, dan grafik.

Topik penting:

  • Excel menggunakan kombinasi huruf dan angka untuk alamat sel.

  • Penggunaan simbol "=" sebagai awal formula.

  • Fungsi dasar seperti SUM (penjumlahan), AVERAGE (rata-rata), COUNT (menghitung jumlah data angka), MAX, dan MIN.

  • Cara menambahkan sheet baru.

  • Cara membuat grafik melalui menu Insert.

  • Shortcut penting seperti cut (memindahkan data).

  • Penulisan rumus rentang sel, misalnya A1 sampai A10.

Pembahasan ringkas:
Pemahaman rumus dasar dan fungsi-fungsi umum memudahkan menyelesaikan soal perhitungan. Excel juga mempermudah visualisasi data melalui grafik.


3. Microsoft PowerPoint – Membuat Presentasi Menarik

PowerPoint dipakai untuk membuat presentasi visual yang komunikatif.

Topik penting:

  • Fungsi utama PowerPoint sebagai pembuat slide presentasi.

  • Cara menambah slide menggunakan menu Home.

  • Penggunaan animasi dan transisi.

  • Perbedaan animasi (di dalam slide) dan transisi (antar slide).

  • Shortcut memulai slideshow dari awal (F5).

  • Menyisipkan gambar melalui menu Insert.

  • Fitur Slide Master untuk mengatur template seluruh slide.

  • Pengaturan ukuran slide melalui menu Design.

Pembahasan ringkas:
PowerPoint memadukan teks, gambar, animasi, dan layout. Penguasaan dasar seperti menambah slide, membuat animasi, dan mengatur desain membantu pengerjaan soal dengan lebih cepat.


Kesimpulan

Kisi-kisi ini mencakup konsep utama yang menjadi dasar soal Microsoft Word, Excel, dan PowerPoint. Fokus pada:

  • Word: formatting & layout

  • Excel: rumus & struktur data

  • PowerPoint: desain & presentasi

Dengan memahami materi inti ini, siswa akan lebih siap menghadapi quiz praktikum secara efektif.


Silahkan dibaca dan difahami dengan seksama ya, supaya lancar dalam menjawab soal soalnya.

Share:

50 SOAL DAN JAWABAN PEMROGRAMAN MOBILE - MATERI WIDGET DART FLUTTER

50 SOAL DAN JAWABAN PEMROGRAMAN MOBILE - MATERI WIDGET DART FLUTTER



NOMOR 1 (PG – 20 poin)

SOAL:
Widget apa yang berfungsi sebagai akar aplikasi dan menyediakan fitur seperti MaterialApp dan ThemeData?

Pilihan Jawaban:
A. TodoListScreen
B. MyApp
C. Scaffold
D. StatelessWidget
E. Container

Kunci Jawaban: B


NOMOR 2 (PG – 20 poin)

SOAL:
Kelas MyApp adalah turunan dari StatelessWidget. Apa implikasi utamanya terhadap widget ini?

Pilihan Jawaban:
A. Widget tersebut dapat mengubah data internal (_todos) setelah dibuat.
B. Widget tersebut tidak memiliki state yang dapat berubah selama runtime.
C. Widget tersebut memerlukan TextEditingController.
D. Widget tersebut harus menggunakan _listKey.
E. Widget harus menggunakan build().

Kunci Jawaban: B


NOMOR 3 (PG – 20 poin)

SOAL:
Kelas TodoListScreen adalah turunan dari StatefulWidget. Mengapa ini diperlukan dalam aplikasi Todo List?

Pilihan Jawaban:
A. Karena ia memerlukan controller.
B. Untuk mengaktifkan animasi.
C. Untuk mengelola data daftar tugas (_todos) yang dapat berubah.
D. Untuk menampilkan gradient di background.
E. Untuk menggunakan StatelessWidget.

Kunci Jawaban: C


NOMOR 4 (PG – 20 poin)

SOAL:
Variabel _todos dideklarasikan sebagai List<Map<String, dynamic>>. Dalam konteks state management lokal, di mana variabel ini harus dideklarasikan?

Pilihan Jawaban:
A. Di dalam MyApp.
B. Di dalam fungsi main().
C. Di dalam TodoListScreen.
D. Di dalam _TodoListScreenState.
E. Di dalam Scaffold.

Kunci Jawaban: D


NOMOR 5 (PG – 20 poin)

SOAL:
Fungsi apa yang dipanggil untuk memberitahu Flutter bahwa state telah berubah (misalnya, setelah menambah atau menghapus tugas), yang kemudian memicu pembangunan ulang widget?

Pilihan Jawaban:
A. _listKey.currentState!.insertItem()
B. runApp()
C. setState()
D. _buildTodoItem()
E. dispose()

Kunci Jawaban: C


NOMOR 6 (PG – 20 poin)

SOAL:
Widget utama yang menyediakan struktur visual dasar (seperti body, AppBar, dan FloatingActionButton) untuk layar aplikasi adalah...

Pilihan Jawaban:
A. Container
B. Scaffold
C. Column
D. MaterialApp
E. ListView

Kunci Jawaban: B


NOMOR 7 (PG – 20 poin)

SOAL:
Widget apa yang digunakan untuk mengatur AppBar, input area, dan daftar tugas secara vertikal?

Pilihan Jawaban:
A. Row
B. Stack
C. Column
D. Expanded
E. Wrap

Kunci Jawaban: C


NOMOR 8 (PG – 20 poin)

SOAL:
Widget apa yang memungkinkan TextField untuk mengambil ruang selebar mungkin di dalam Row (bersama dengan FloatingActionButton mini)?

Pilihan Jawaban:
A. Padding
B. Expanded
C. SizedBox
D. Container
E. Align

Kunci Jawaban: B


NOMOR 9 (PG – 20 poin)

SOAL:
Properti floatingActionButtonLocation: FloatingActionButtonLocation.centerFloat berfungsi untuk...

Pilihan Jawaban:
A. Menempatkan FAB di kanan bawah.
B. Menempatkan FAB di tengah atas layar.
C. Menempatkan FAB di tengah bawah layar.
D. Membuat FAB bersembunyi saat scroll.
E. Mengubah warna FAB.

Kunci Jawaban: C


NOMOR 10 (PG – 20 poin)

SOAL:
Widget apa yang digunakan untuk menambahkan ruang atau jarak antar widget (misalnya, antara TextField dan FloatingActionButton mini)?

Pilihan Jawaban:
A. Container
B. Padding
C. SizedBox
D. Expanded
E. Spacer

Kunci Jawaban: C


NOMOR 11 (PG – 20 poin)

SOAL:
Widget apa yang digunakan untuk menampilkan input field bagi pengguna untuk mengetik tugas baru?

Pilihan Jawaban:
A. Text
B. ListTile
C. TextField
D. TextEditingController
E. Card

Kunci Jawaban: C


NOMOR 12 (PG – 20 poin)

SOAL:
Widget mana yang digunakan untuk mengontrol teks pada TextField dan menghapusnya (_controller.clear()) setelah tugas ditambahkan?

Pilihan Jawaban:
A. GlobalKey
B. TextEditingController
C. SnackBar
D. FloatingActionButton
E. GlobalKey

Kunci Jawaban: B


NOMOR 13 (PG – 20 poin)

SOAL:
Properti onSubmitted: (value) => _addTodo() pada TextField akan memicu fungsi _addTodo() ketika...

Pilihan Jawaban:
A. Pengguna menekan tombol "Tambah".
B. Pengguna mengklik di luar field.
C. Pengguna menekan tombol "Enter/Done" pada keyboard.
D. Aplikasi dimuat.
E. Saat controller di-dispose.

Kunci Jawaban: C


NOMOR 14 (PG – 20 poin)

SOAL:
Widget yang digunakan untuk memberikan umpan balik sementara kepada pengguna setelah menghapus tugas adalah...

Pilihan Jawaban:
A. Dialog
B. Alert
C. SnackBar
D. Card
E. BottomSheet

Kunci Jawaban: C


NOMOR 15 (PG – 20 poin)

SOAL:
Widget khusus apa yang digunakan untuk membangun daftar tugas dan memungkinkan animasi saat item ditambahkan atau dihapus?

Pilihan Jawaban:
A. ListView
B. Column
C. AnimatedList
D. ListTile
E. Stack

Kunci Jawaban: C


NOMOR 16 (PG – 20 poin)

SOAL:
Properti key: _listKey pada AnimatedList berfungsi untuk...

Pilihan Jawaban:
A. Memberikan identifikasi unik pada setiap item daftar.
B. Menghubungkan state daftar ke GlobalKey agar dapat memanggil insertItem dan removeItem.
C. Menetapkan initial count dari daftar.
D. Mengontrol animasi SizeTransition.
E. Untuk menyimpan data daftar tugas.

Kunci Jawaban: B


NOMOR 17 (PG – 20 poin)

SOAL:
Widget apa yang digunakan untuk membungkus setiap item tugas agar memiliki tampilan yang rapi dengan bayangan (elevation)?

Pilihan Jawaban:
A. Padding
B. Container
C. Card
D. SizeTransition
E. FittedBox

Kunci Jawaban: C


NOMOR 18 (PG – 20 poin)

SOAL:
Dalam fungsi _buildTodoItem, widget apa yang menyediakan struktur tata letak item daftar yang umum (judul, leading icon, trailing widget), dan mendukung interaksi onTap?

Pilihan Jawaban:
A. Text
B. ListTile
C. Row
D. Card
E. CustomScrollView

Kunci Jawaban: B


NOMOR 19 (PG – 20 poin)

SOAL:
Pada ListTile, penggunaan onTap: () => _toggleTodo(index) berfungsi untuk...

Pilihan Jawaban:
A. Menghapus tugas saat diklik.
B. Mengubah status selesai/belum selesai dari tugas.
C. Mengedit teks tugas.
D. Menampilkan detail tugas.
E. Menyalin tugas.

Kunci Jawaban: B


NOMOR 20 (PG – 20 poin)

SOAL:
Efek visual apa yang dihasilkan oleh properti TextDecoration.lineThrough?

Pilihan Jawaban:
A. Teks menjadi tebal.
B. Teks dicoret dengan garis.
C. Teks berubah warna.
D. Teks menjadi miring.
E. Teks menjadi garis bawah.

Kunci Jawaban: B


NOMOR 21 (PG – 20 poin)

SOAL:
Properti apa yang digunakan pada Container di body Scaffold untuk memberikan efek visual transisi warna dari atas ke bawah?

Pilihan Jawaban:
A. color
B. BoxDecoration dengan RadialGradient
C. BoxDecoration dengan LinearGradient
D. decoration: BoxDecoration()
E. RadialGradient

Kunci Jawaban: C


NOMOR 22 (PG – 20 poin)

SOAL:
Di ThemeData, properti apa yang mengatur default font untuk seluruh aplikasi (misalnya menjadi 'Roboto')?

Pilihan Jawaban:
A. primarySwatch
B. fontFamily
C. textTheme
D. textStyle
E. primaryColor

Kunci Jawaban: B


NOMOR 23 (PG – 20 poin)

SOAL:
Kode elevation: 4 pada Card berfungsi untuk...

Pilihan Jawaban:
A. Menambahkan padding di sekitar kartu.
B. Membuat sudut kartu menjadi bulat.
C. Mengatur ketinggian kartu, memberikan efek bayangan (shadow) di bawahnya.
D. Mengatur warna background kartu.
E. Mengubah bentuk kartu.

Kunci Jawaban: C


NOMOR 24 (PG – 20 poin)

SOAL:
Warna teks tugas yang sudah selesai (todo['completed'] ? Colors.grey[600] : Colors.black87) menunjukkan bahwa...

Pilihan Jawaban:
A. Teks selalu berwarna biru.
B. Teks berwarna biru jika selesai, dan abu-abu jika belum.
C. Teks berwarna abu-abu jika selesai, dan hitam jika belum.
D. Teks selalu berwarna hitam.
E. Teks selalu berwarna putih.

Kunci Jawaban: C


NOMOR 25 (PG – 20 poin)

SOAL:
Properti pada AppBar yang disetel ke 0 (elevation: 0) berfungsi untuk...

Pilihan Jawaban:
A. Menghilangkan judul.
B. Menghilangkan bayangan di bawah app bar.
C. Membuat app bar transparan.
D. Menghilangkan tombol menu.
E. Menghilangkan margin di atas app bar.

Kunci Jawaban: B


NOMOR 26 (PG – 20 poin)

SOAL:
Dalam fungsi _addTodo(), baris kode mana yang secara spesifik memicu animasi fade-in (masuk) untuk item yang baru ditambahkan?

Pilihan Jawaban:
A. setState(() { _todos.add(newTodo); });
B. _controller.clear();
C. _listKey.currentState!.insertItem(_todos.length - 1);
D. _buildTodoItem(...)
E. _controller.clear();

Kunci Jawaban: C


NOMOR 27 (PG – 20 poin)

SOAL:
Dalam fungsi _deleteTodo(), item yang dihapus diteruskan kembali ke removeItem menggunakan (context, animation) => _buildTodoItem(...). Apa tujuan utama dari ini?

Pilihan Jawaban:
A. Untuk memperbarui GlobalKey.
B. Untuk memastikan item yang dihapus masih dapat di-build selama animasi keluar.
C. Untuk mencegah error saat snack bar ditampilkan.
D. Untuk menampilkan ulang item setelah dihapus.
E. Untuk mengubah index item.

Kunci Jawaban: B


NOMOR 28 (PG – 20 poin)

SOAL:
Widget apa yang digunakan di _buildTodoItem untuk menerapkan animasi perubahan ukuran saat item ditambahkan atau dihapus?

Pilihan Jawaban:
A. SlideTransition
B. Opacity
C. SizeTransition
D. Scale

Pilihan Jawaban:
A. SlideTransition
B. Opacity
C. SizeTransition
D. ScaleTransition
E. FadeTransition

Kunci Jawaban: C


NOMOR 29 (PG – 20 poin)

SOAL:
Bagian mana dari kode yang menampilkan empty state (pesan 'Belum ada tugas!') ketika daftar _todos kosong?

Pilihan Jawaban:
A. Di dalam Scaffold.
B. Bagian _todos.isEmpty ? Center(...) : AnimatedList(...).
C. Hanya jika initialItemCount adalah 0.
D. Di dalam _buildTodoItem.
E. Di dalam _deleteTodo.

Kunci Jawaban: B


NOMOR 30 (PG – 20 poin)

SOAL:
Dalam metode dispose(), mengapa _controller.dispose() dipanggil?

Pilihan Jawaban:
A. Untuk menghapus semua teks di TextField.
B. Untuk memicu animasi.
C. Untuk membebaskan sumber daya yang digunakan oleh TextEditingController saat widget dihapus dari widget tree.
D. Untuk menyimpan state sebelum keluar.
E. Untuk mencegah error pada setState().

Kunci Jawaban: C


NOMOR 31 (PG – 20 poin)

SOAL:
Properti hintText: 'Masukkan tugas baru...' pada TextField berfungsi untuk...

Pilihan Jawaban:
A. Mengatur nilai awal teks.
B. Menampilkan teks panduan saat field kosong.
C. Mengatur label di atas field.
D. Memberi style pada placeholder.
E. Mengubah warna kursor.

Kunci Jawaban: B


NOMOR 32 (PG – 20 poin)

SOAL:
Pada InputDecoration untuk TextField, properti apa yang membuat input field terisi dengan warna background?

Pilihan Jawaban:
A. prefixIcon
B. border
C. filled: true
D. fillColor: Colors.white
E. border: none

Kunci Jawaban: C


NOMOR 33 (PG – 20 poin)

SOAL:
Kode Icon(Icons.delete, color: Colors.red) digunakan sebagai trailing widget di dalam ListTile untuk...

Pilihan Jawaban:
A. Tombol checkbox.
B. Tombol edit.
C. Tombol hapus.
D. Ikon status selesai.
E. Tombol share.

Kunci Jawaban: C


NOMOR 34 (PG – 20 poin)

SOAL:
Tujuan dari tooltip: 'Tambah Tugas' pada FloatingActionButton adalah...

Pilihan Jawaban:
A. Mengubah warna tombol saat ditekan.
B. Menampilkan label teks saat tombol ditekan lama.
C. Menampilkan label di samping tombol.
D. Mengatur warna FloatingActionButton.
E. Mengatur ukuran tombol.

Kunci Jawaban: B


NOMOR 35 (PG – 20 poin)

SOAL:
Pada Icon(Icons.task_alt, ...) di leading ListTile, ikon ini secara visual merepresentasikan...

Pilihan Jawaban:
A. Tombol menu.
B. Indikator tugas/status.
C. Tombol tambah.
D. Tombol hapus.
E. Ikon edit.

Kunci Jawaban: B


NOMOR 36 (PG – 20 poin)

SOAL:
Mengapa properti initialItemCount: _todos.length diperlukan untuk AnimatedList?

Pilihan Jawaban:
A. Agar _listKey dapat bekerja.
B. Agar AnimatedList tahu berapa banyak item yang harus di-build pada saat pertama kali dimuat.
C. Untuk mencegah error jika daftar kosong.
D. Untuk mengaktifkan SizeTransition.
E. Untuk menghubungkan dengan initState().

Kunci Jawaban: B


NOMOR 37 (PG – 20 poin)

SOAL:
Jika Anda ingin mengubah warna tema utama (semua widget yang menggunakan primarySwatch), properti apa yang perlu diubah di ThemeData?

Pilihan Jawaban:
A. fontFamily
B. primarySwatch
C. textStyle
D. color
E. accentColor

Kunci Jawaban: B


NOMOR 38 (PG – 20 poin)

SOAL:
Apa yang akan terjadi jika baris _listKey.currentState!.insertItem(_todos.length - 1); dihilangkan dari fungsi _addTodo()?

Pilihan Jawaban:
A. Tugas tidak akan ditambahkan.
B. Aplikasi akan crash.
C. Tugas akan ditambahkan, tetapi tanpa animasi masuk.
D. Tugas akan ditambahkan, tetapi tidak dapat dihapus.
E. Tugas akan ditambahkan, tetapi AnimatedList akan crash.

Kunci Jawaban: C


NOMOR 39 (PG – 20 poin)

SOAL:
Kode apa yang digunakan untuk mendapatkan context saat menampilkan SnackBar?

Pilihan Jawaban:
A. ScaffoldMessenger.of(context)
B. BuildContext context
C. _listKey.currentState
D. TodoListScreen()
E. Text(_todos.length.toString())

Kunci Jawaban: A


NOMOR 40 (PG – 20 poin)

SOAL:
Jika Anda ingin mengganti Card dengan widget yang full-width tanpa bayangan, widget apa yang paling tepat untuk menggantikannya, sambil tetap mempertahankan margin?

Pilihan Jawaban:
A. Container dengan properti color
B. Padding
C. Divider
D. SizedBox
E. InkWell

Kunci Jawaban: A


NOMOR 41 (PG – 20 poin)

SOAL:
Variabel _todos dideklarasikan sebagai List<Map<String, dynamic>>. Apa tujuan utama menggunakan Map<String, dynamic> untuk setiap item tugas?

Pilihan Jawaban:
A. Memungkinkan penyimpanan hanya nilai int dan double.
B. Untuk mendefinisikan tipe data yang sangat ketat dan tidak fleksibel.
C. Memungkinkan penyimpanan pasangan kunci-nilai (misalnya, 'text' dan 'completed') dalam satu objek.
D. Untuk menyimpan data secara persisten di disk.
E. Untuk memicu animasi.

Kunci Jawaban: C


NOMOR 42 (PG – 20 poin)

SOAL:
Metode mana yang dipanggil hanya sekali ketika objek State (_TodoListScreenState) pertama kali dibuat, dan sering digunakan untuk inisialisasi controller seperti TextEditingController?

Pilihan Jawaban:
A. dispose()
B. setState()
C. build()
D. initState()
E. runApp()

Kunci Jawaban: D


NOMOR 43 (PG – 20 poin)

SOAL:
Dalam sebuah Column, jika anak-anak widget (children) tidak dibungkus dengan Expanded atau Flexible, bagaimana Column menentukan ukuran vertikalnya?

Pilihan Jawaban:
A. Mengambil seluruh ruang vertikal yang tersedia (seperti Expanded).
B. Mengambil ukuran dari widget anak yang terbesar.
C. Mengambil ukuran yang sama dengan widget anak yang terkecil.
D. Mengambil ruang vertikal sekecil mungkin (minimized), sesuai dengan total kebutuhan anak-anaknya.
E. Menggunakan MainAxisAlignment.spaceEvenly secara default.

Kunci Jawaban: D


NOMOR 44 (PG – 20 poin)

SOAL:
Selain primarySwatch, properti ThemeData apa yang sering digunakan untuk mengatur warna latar belakang default (background color) pada sebagian besar widget, seperti Scaffold?

Pilihan Jawaban:
A. cardColor
B. canvasColor
C. backgroundColor
D. scaffoldBackgroundColor
E. primaryColor

Kunci Jawaban: D


NOMOR 45 (PG – 20 poin)

SOAL:
Dalam Dart, kata kunci (keyword) apa yang digunakan untuk mendeklarasikan variabel (seperti _todos atau _listKey) yang harus diinisialisasi hanya sekali dan nilainya tidak akan pernah berubah (immutable)?

Pilihan Jawaban:
A. var
B. final
C. const
D. static
E. volatile

Kunci Jawaban: B


NOMOR 46 (PG – 20 poin)

SOAL:
Jika aplikasi Todo List diubah untuk menyimpan data tugas ke database lokal atau cloud (operasi yang memerlukan waktu), jenis fungsi apa yang perlu digunakan pada _addTodo()?

Pilihan Jawaban:
A. Fungsi sync
B. Fungsi Generator
C. Fungsi async yang mengembalikan Future
D. Fungsi Callback
E. Fungsi lambda

Kunci Jawaban: C


NOMOR 47 (PG – 20 poin)

SOAL:
Widget apa yang digunakan untuk membungkus item daftar (misalnya Card) agar pengguna dapat menghapusnya dengan menggesek ke kiri atau kanan (swipe-to-dismiss)?

Pilihan Jawaban:
A. GestureDetector
B. Draggable
C. Dismissible
D. AbsorbPointer
E. Listener

Kunci Jawaban: C


NOMOR 48 (PG – 20 poin)

SOAL:
Dalam konteks Flutter, apa fungsi utama dari objek BuildContext yang dilewatkan ke metode build()?

Pilihan Jawaban:
A. Untuk menyimpan state widget secara lokal.
B. Untuk menyediakan akses ke data tema (ThemeData).
C. Untuk melacak lokasi widget dalam widget tree dan memungkinkannya mengakses widget ancestor.
D. Untuk mengelola animasi transisi.
E. Untuk menangani operasi input pengguna.

Kunci Jawaban: C


NOMOR 49 (PG – 20 poin)

SOAL:
Apa keuntungan utama dari memisahkan logika pembangunan item tugas (_buildTodoItem) menjadi metode terpisah atau bahkan widget baru?

Pilihan Jawaban:
A. Mencegah penggunaan setState().
B. Memastikan item tugas selalu berada di tengah layar.
C. Meningkatkan keterbacaan (readability) kode dan mempermudah pemeliharaan (maintainability).
D. Memaksa penggunaan GlobalKey.
E. Mengubah item tugas menjadi StatefulWidget.

Kunci Jawaban: C


NOMOR 50 (PG – 20 poin)

SOAL:
Dalam Dart, notasi => (panah gemuk/fat arrow) pada onTap: () => _toggleTodo(index) berfungsi sebagai singkatan untuk...

Pilihan Jawaban:
A. Menandakan fungsi adalah asinkron.
B. Mengubah tipe data yang dikembalikan.
C. Mengembalikan ekspresi tunggal sebagai hasil dari fungsi.
D. Mendeklarasikan sebuah kelas baru.
E. Mendefinisikan parameter fungsi.

Kunci Jawaban: C


✅ SELAMAT BELAJAR

Share:

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:

Affinity by Canva


Berikut adalah ulasan mendalam tentang Affinity by Canva — keunggulan, catatan penting, serta cocoknya untuk siapa. Tujuannya agar Anda bisa memutuskan apakah aplikasi ini tepat untuk digunakan (baik sendiri maupun untuk materi pembelajaran) dengan hangat dan informatif.


🎯 Apa itu Affinity by Canva


✅ Kelebihan yang Menonjol

  1. Alat Profesional Lengkap

  2. Model Gratis yang Menggiurkan

    • Karena versi inti gratis, banyak pengguna yang dapat akses tanpa beban biaya bulanan atau langganan awal. Cocok untuk belajar atau penggunaan hobi. TechRadar+1

    • Potensi besar sebagai alternatif murah dibandingkan langganan mahal dari perangkat lunak profesional lainnya. Capterra+1

  3. Kesesuaian Untuk Materi dan Pembelajaran

    • Karena lengkap dan gratis versi dasarnya, sangat cocok digunakan dalam konteks pembelajaran desain grafis, pengajaran layout, ilustrasi vektor, atau editing foto.

    • Bisa menjadi alat yang baik untuk siswa yang ingin melangkah dari template-drag-drop sederhana ke alat yang lebih serius tanpa perlu investasi tinggi.


⚠️ Catatan & Kekurangan yang Perlu Diketahui

  1. Kurva Belajar yang Lebih Tinggi

    • Karena banyak fitur profesional, bagi pengguna yang baru ke desain grafis mungkin butuh waktu lebih untuk belajar (dibanding misalnya template cepat seperti di Canva). Contoh: “Affinity memiliki learning curve yang lebih lama.” Capterra+1

    • Beberapa alur kerja dan tool bisa berbeda dari software lain, sehingga adaptasi diperlukan.

  2. Fitur Premium / AI Di Balik Pay-Wall

  3. Kompatibilitas & Transisi

    • Versi lama (Affinity v1 / v2) mungkin tidak sepenuhnya kompatibel dengan aplikasi baru; beberapa file lama bisa mengalami perubahan ketika diedit di versi baru. Ars Technica+1

    • Meskipun banyak fitur, untuk kolaborasi daring real-time atau template cepat mungkin masih kalah dalam kemudahan dibanding aplikasi yang sangat fokus ke pengguna non-desainer.


👨‍🏫 Untuk Siapa Aplikasi Ini Paling Cocok?

  • Untuk pelajar atau guru desain grafis, terutama jika Anda ingin mengajarkan layout, ilustrasi vektor, editing foto dengan alat yang lebih profesional.

  • Untuk pengguna hobi yang ingin naik dari “drag‐drop template” ke “mendesain dari awal”.

  • Untuk freelancer/desainer yang mencari alternatif selain langganan mahal tetapi tetap ingin alat profesional.

  • Mungkin kurang cocok jika Anda:

    • Ingin desain super cepat dengan minimal pembelajaran

    • Hanya membutuhkan template sederhana untuk posting media sosial

    • Tidak ingin menghabiskan waktu belajar atau mengutak-atik banyak tool


🔍 Kesimpulan 

“Affinity by Canva” adalah pilihan yang sangat menarik dalam dunia perangkat lunak desain grafis: menggabungkan kekuatan alat profesional dengan akses gratis untuk banyak pengguna. Jika Anda atau siswa Anda siap untuk belajar dan mengeksplorasi, aplikasi ini bisa menjadi investasi waktu yang sangat baik.
Namun, jangan mengharapkan semuanya “secepat klik template” seperti beberapa alat yang sangat sederhana — ada kurva belajar dan beberapa fitur lanjutan yang mungkin terkunci di belakang langganan.

Jika saya harus menyimpulkan dengan satu kalimat:

“Kalau Anda ingin melangkah ke desain grafis yang serius tanpa harus membayar langganan besar, Affinity by Canva adalah teman yang sangat layak ditemani.”


Salam : Redaksi

Share:

Blogger Tricks

Blogger Themes