Komputer menggunakan representasi sistem bilangan biner (basis 2) yang hanya mengenal dua digit: 0 dan 1.
Contoh Manual: Konversi Bilangan Desimal 1310 ke Biner
| Bilangan Desimal | Operasi Pembagian | Hasil Bagi | Sisa Pembagian (%) |
|---|---|---|---|
| 13 | 13 รท 2 | 6 | 1 |
| 6 | 6 รท 2 | 3 | 0 |
| 3 | 3 รท 2 | 1 | 1 |
| 1 | 1 รท 2 | 0 | 1 |
Rekursi adalah teknik di mana fungsi memanggil dirinya sendiri. Sebuah fungsi rekursif wajib memiliki 2 bagian penting:
Lakukan konversi bilangan desimal 1010 ke biner dengan melengkapi tabel berikut:
| Langkah | Bilangan Desimal | Hasil Bagi (รท 2) | Sisa Pembagian (%) |
|---|---|---|---|
| 1 | 10 | ||
| 2 | |||
| 3 | |||
| 4 |
A. Tahap Pemanggilan Maju (Winding / Push to Call Stack):
| Tahap | Fungsi yang Dieksekusi | Pemanggilan Selanjutnya |
|---|---|---|
| 1 | biner(13) |
|
| 2 | ||
| 3 | ||
| 4 | Berhenti (Base Case: n ≤ 1) |
B. Urutan Kembali & Pencetakan Nilai (Unwinding / Pop from Stack):
Tuliskan fungsi dan penjelasan masing-masing baris kode:
| Bagian Kode | Penjelasan Fungsi |
|---|---|
void desimalKeBiner(int n) |
|
if (n > 1) |
|
desimalKeBiner(n / 2); |
|
n % 2 |
|
cout << n % 2;(setelah pemanggilan rekursi) |
Lengkapilah bagian kode rumpang berikut:
Tuliskan program C++ lengkap untuk mengonversi bilangan desimal menjadi bilangan biner menggunakan metode rekursi:
Jalankan program menggunakan data uji berikut dan lengkapi tabel:
| No | Input Desimal | Prediksi Manual | Hasil Program | Status |
|---|---|---|---|---|
| 1 | 5 | |||
| 2 | 8 | |||
| 3 | 10 | |||
| 4 | 13 | |||
| 5 | 25 |
Tantangan 01: Pastikan program dapat mengonversi bilangan 0.
Tantangan 02: Buat tampilan terminal lebih informatif dengan banner.
A. REFLEKSI BELAJAR (Pilih satu pada setiap baris):
| Pernyataan Kompetensi | Sangat Paham | Paham | Belum Paham |
|---|---|---|---|
| 1. Saya memahami rekursi | |||
| 2. Saya memahami base case | |||
| 3. Saya memahami recursive case | |||
| 4. Saya memahami n / 2 | |||
| 5. Saya memahami n % 2 | |||
| 6. Saya dapat membuat program |
B. KESIMPULAN (Lengkapilah pernyataan berikut):
C. LEMBAR PENILAIAN GURU:
| Aspek Penilaian | Skor Maksimal | Nilai Perolehan |
|---|---|---|
| Pemahaman Konsep | 20 | |
| Analisis | 20 | |
| Algoritma | 15 | |
| Pemrograman | 25 | |
| Pengujian | 10 | |
| Kerapian | 10 | |
| TOTAL SKOR | 100 |