Algoritma dan Pemrograman
A. Bahasa Pemrograman Visual
🐱 1. Mengenal Scratch
Apa itu Scratch?
Visual Programming Language
Scratch adalah bahasa pemrograman visual yang dikembangkan oleh MIT Media Lab. Scratch memungkinkan kamu membuat program komputer tanpa perlu menulis kode teks yang rumit!
💡 Tahukah kamu? Nama "Scratch" terinspirasi dari teknik scratching yang digunakan oleh DJ untuk mencampur musik!
✨ Keunggulan Scratch:
Drag & Drop
Cukup seret dan letakkan blok kode
Visual & Colorful
Tampilan menarik dengan warna-warni
Online & Gratis
Akses di scratch.mit.edu
Untuk Semua Usia
Cocok untuk pemula 8-16 tahun
🖥️ 2. Lingkungan Kerja Scratch
📸 Tampilan antarmuka aplikasi Scratch beserta toolbar menu
🔍 Komponen Utama Lingkungan Kerja Scratch
Stage (Panggung)
Area tempat animasi dan program berjalan. Berukuran 480 x 360 piksel.
Sprite Pane
Panel untuk mengelola semua sprite (karakter) dalam proyek.
Block Palette
Tempat semua blok kode dikelompokkan berdasarkan kategori warna.
Scripts Area
Area untuk menyusun blok-blok kode menjadi program.
Costumes Tab
Tab untuk mengedit tampilan visual sprite.
Sounds Tab
Tab untuk menambah dan mengedit efek suara.
🐱 3. Sprite
🎭 Apa itu Sprite?
Sprite adalah objek atau karakter dalam Scratch yang dapat diprogram untuk bergerak, berbicara, berinteraksi, dan melakukan berbagai aksi lainnya.
📌 Karakteristik Sprite:
- 📍 Memiliki posisi (x, y) di stage
- 🔄 Dapat diputar (direction)
- 👗 Memiliki costume (tampilan)
- 📏 Dapat diubah ukurannya
➕ Cara Menambah Sprite:
Choose a Sprite
Pilih dari library Scratch
Paint
Gambar sprite sendiri
Surprise
Sprite acak dari library
Upload
Upload dari komputer
🐱 Scratch Cat - Sprite Default
🧩 4. Block Code
Block code adalah blok-blok perintah yang dapat disusun untuk membuat program. Setiap kategori memiliki warna berbeda untuk memudahkan identifikasi.
Mengontrol pergerakan sprite di stage.
Mengubah tampilan visual sprite.
Memutar suara dan musik.
Pemicu untuk memulai program.
Mengatur alur program (loop, kondisi).
Mendeteksi kondisi dan input.
Operasi matematika dan logika.
Menyimpan data dan nilai.
🚀 5. Tombol Go (Bendera Hijau)
🏴 Apa itu Tombol Go?
Tombol Go atau Bendera Hijau adalah tombol untuk menjalankan program Scratch. Ketika diklik, semua blok yang dimulai dengan "when 🏴 clicked" akan dieksekusi.
Bendera Hijau
Memulai program
Tombol Stop
Menghentikan program
Klik untuk mencoba!
Status: Siap
💡 Tips:
Selalu mulai program dengan blok "when 🏴 clicked" dari kategori Events!
⌨️ 6. Jenis-Jenis Pemrograman: CLI & GUI
Ada dua cara utama untuk berinteraksi dengan komputer saat pemrograman. Mari pelajari perbedaannya!
⌨️ CLI (Command Line Interface)
📖 Definisi
CLI adalah antarmuka berbasis teks di mana pengguna memberikan perintah dengan mengetik kode atau perintah di keyboard.
$ python hello.py
$ java Main.class
✨ Karakteristik CLI
- ⚡
Cepat & Efisien
Expert bisa bekerja lebih cepat
- 💻
Ringan (Low Resources)
Tidak butuh grafis berat
- 🔧
Powerful & Kontrol Penuh
Akses langsung ke sistem
- 📚
Kurva Belajar Tinggi
Perlu menghapal perintah
💻 Contoh CLI
user@computer:~$ python
Python 3.10.0 (default, Oct 4 2021)
>>> print("Halo dari CLI!")
Halo dari CLI!
>>>
Pengguna mengetik perintah langsung dan melihat hasilnya di baris berikutnya
✅ Kelebihan
- ✓ Sangat cepat untuk expert
- ✓ Menggunakan sedikit memori
- ✓ Bisa dijalankan di server
- ✓ Otomasi mudah dengan script
- ✓ Debugging lebih detail
❌ Kekurangan
- ✗ Sulit untuk pemula
- ✗ Tidak visual/intuitif
- ✗ Banyak perintah harus diingat
- ✗ Mudah membuat kesalahan
- ✗ Tidak cocok untuk design
🖱️ GUI (Graphical User Interface)
📖 Definisi
GUI adalah antarmuka yang menggunakan elemen visual seperti tombol, menu, ikon, dan jendela yang dapat diklik dengan mouse.
✨ Karakteristik GUI
- 👁️
Visual & Intuitif
Mudah dipahami dengan ikon
- 🖱️
User-Friendly
Klik tombol, bukan ketik perintah
- 🎨
Lebih Menarik
Warna, gambar, animasi
- 📦
Membutuhkan Resource Lebih
Grafis memerlukan memori besar
🖥️ Contoh GUI (Scratch)
Cukup drag & drop blok - tidak perlu menulis kode teks!
✅ Kelebihan
- ✓ Sangat mudah untuk pemula
- ✓ Intuitif dan tidak perlu hafal
- ✓ Cepat untuk belajar dasar
- ✓ Visual dan menarik
- ✓ Less error-prone
❌ Kekurangan
- ✗ Lebih lambat dari CLI
- ✗ Menggunakan banyak resource
- ✗ Kurang kontrol penuh
- ✗ Tidak cocok untuk server
- ✗ Terbatas pada fitur tersedia
📊 Perbandingan CLI vs GUI
| Aspek | ⌨️ CLI | 🖱️ GUI |
|---|---|---|
| Kemudahan | ⭐⭐ Sulit | ⭐⭐⭐⭐⭐ Mudah |
| Kecepatan | ⭐⭐⭐⭐⭐ Sangat Cepat | ⭐⭐⭐ Cukup Cepat |
| Resource | ⭐⭐⭐⭐⭐ Ringan | ⭐⭐ Berat |
| Visual | Tidak Ada | ⭐⭐⭐⭐⭐ Bagus |
| Untuk Pemula | ❌ Tidak Disarankan | ✅ Sangat Cocok |
| Untuk Server | ✅ Ideal | ❌ Tidak Cocok |
💡 Kesimpulannya:
- 🎓 Untuk Belajar: Gunakan GUI seperti Scratch - mudah dipahami dan menyenangkan!
- 🚀 Untuk Professional: CLI lebih powerful dan cepat - cocok untuk developer expert
- 🔄 Kombinasi Terbaik: Mulai dengan GUI untuk pemahaman, lanjut ke CLI untuk kontrol penuh