Setelah mempelajari bab ini kalian diharapkan mampu menganalisis beberapa strategi algoritmik secara kritis untuk menyelesaikan suatu permasalahan dengan memberikan justifikasi efisiensi.
Setelah itu, kalian akan menerapkan strategi algoritmik tersebut ke dalam suatu program yang lebih kompleks dari program yang telah kalian kerjakan sewaktu Kelas X.
Kalian akan belajar bergotong royong dalam mengembangkan dan menguji program tersebut untuk menyelesaikan problem yang berkaitan dengan mata pelajaran lain yang telah kalian pelajari.
Berpikir komputasional ini merupakan suatu kerangka dan proses berpikir yang mencakup perangkat keras, perangkat lunak, dan menalar (reasoning) mengenai sistem dan persoalan. Moda berpikir (thinking mode) ini didukung dan dilengkapi dengan pengetahuan teoritis dan praktis, serta teknik untuk menganalisis, memodelkan dan menyelesaikan persoalan
Apa itu rekursi, Rekursi bisa kalian pahami pada penjelasan link youtube di samping atau dengan membaca buku digital informatika kelas XI
Setelah kalian melihat dan mendengarkan dengan seksama silahkan kalian bisa mengerjakan link Gform mengenai hal-hal yang terdapat dalam video klik tautan di bawah ini 👇
Penjelasan lain untuk lebih memudahkan apakah sebenarnya Rekursi itu bisa dilihat pada link Youtube berikut :
https://www.youtube.com/watch?v=6SbsDSJFWjk
https://www.youtube.com/watch?v=hYl7aaumWT0 (FAKTORIAL DALAM FLOWGORITHM)
https://www.youtube.com/watch?v=8AERUDEpTGI (contoh yang mudah)
Deskripsi Tugas
Relasi rekurensi (recurrence relation) adalah sebuah tipe relasi matematis dimana definisi dari sebuah fungsi atau barisan dinyatakan secara rekursif, artinya merujuk pada fungsi atau barisan itu sendiri. Pada bagian ini, kalian akan berlatih untuk memahami definisi relasi rekurensi dan bagaimana menerapkannya, serta membuat definisi rekursif dari sebuah permasalahan
Kerjakan Tugas di bawah ini dalam buku tulis kalian .
Aktivitas SAP-K11-06-U: Menukarkan Uang
Deskripsi Tugas
Dalam kehidupan sehari-hari, kita pasti sudah banyak terbiasa dengan perhitungan yang melibatkan uang. Misalnya, ketika Anda membeli sebuah barang/makanan, atau pun ingin membayar untuk sebuah jasa tertentu, kita seringkali menyiapkan sejumlah uang tertentu, sesuai dengan harga barang atau jasa tersebut. Selanjutnya, bagi penjual atau penyedia jasa, apabila mereka menerima uang pembayaran dengan jumlah total yang lebih besar dari harga yang ditetapkan, mereka pun juga harus menyiapkan uang kembalian sesuai dengan jumlah kelebihan pembayaran. Di Indonesia, mata uang rupiah memiliki beberapa pecahan uang, mulai dari yang terkecil, 100 Rupiah, 200 Rupiah, 500 Rupiah, dst sampai dengan 100 000 Rupiah. Seandainya kita memiliki sejumlah pecahan uang, misalnya beberapa uang seribuan, dua ribuan, lima ribuan, sepuluh ribuan dan dua puluh ribuan. Jika kita ingin mendapatkan uang tepat sejumlah 38 ribu rupiah, maka kita dapat memilih beberapa cara, misalnya:
3 lembar sepuluh ribuan, ditambah 1 lembar lima ribuan, ditambah 2 lembar ribuan, ditambah 2 koin lima ratus, dengan total ada 8 buah lembaran uang/koin
1 lembar dua puluh ribuan, ditambah 1 lembar sepuluh ribuan ditambah 4 lembar dua ribuan, totalnya menjadi 6 lembaran uang
1 lembar dua puluh ribuan, ditambah 1 lembar sepuluh ribuan, ditambah 1 lembar lima ribuan ditambah 1 lembar dua ribuan, ditambah 1 lembar seribuan, dengan total ada 5 lembaran uang.
Jelas bahwa jumlah total lembaran yang dibutuhkan tergantung dari pemilihan pecahan uang yang kita gunakan. Nah, permasalahan yang mungkin kita tanyakan adalah:
Bagaimana caranya memilih pecahan-pecahan uang yang akan digunakan sedemikian rupa, sehingga total lembaran
yang diperlukan untuk menghasilkan suatu nilai uang tertentu menjadi sekecil mungkin?
Pada contoh di atas, dapat diperiksa bahwa untuk menghasilkan nilai uang sebesar tiga puluh delapan ribu rupiah dari pecahan-pecahan seribuan, dua ribuan, lima ribuan, sepuluh ribuan dan dua puluh ribuan, maka diperlukan minimal 5 buah lembar, yaitu sesuai dengan cara terakhir di atas. Dapatkah Anda mencari strategi yang umum untuk menyelesaikan permasalahan serupa, jika jumlah nilai uang yang dihasilkan berbeda (namun dengan pecahan-pecahan uang yang sama) ? Kita bisa menganggap bahwa jumlah nilai yang diinginkan selalu merupakan kelipatan ribuan rupiah (sehingga selalu bisa didapatkan dengan menggabungkan pecahan-pecahan di atas).
Untuk menyelesaikan masalah pemilihan pecahan uang dengan jumlah lembaran yang paling sedikit, kita dapat menggunakan algoritma greedy. Tujuan algoritma ini adalah memilih pecahan uang terbesar yang masih bisa digunakan untuk mendekati jumlah yang diinginkan. Berikut adalah strategi umum yang dapat digunakan:
Mulai dengan jumlah total yang ingin dicapai (misalnya, 38 ribu rupiah).
Pilih pecahan uang terbesar yang tidak melebihi jumlah yang tersisa.
Kurangi jumlah total dengan nilai pecahan yang dipilih.
Catat pecahan uang tersebut.
Ulangi langkah 2-4 sampai jumlah total menjadi 0.
Pecahan yang tersedia: 20.000, 10.000, 5.000, 2.000, 1.000.
Langkah-langkah:
Jumlah total yang diinginkan: 38.000 Rupiah.
Pilih pecahan terbesar yang tidak melebihi jumlah total saat ini:
Pecahan 20.000 adalah yang terbesar yang kurang dari 38.000.
Tambahkan 1 lembar 20.000 ke daftar pecahan.
Sisa uang: 38.000 - 20.000 = 18.000 Rupiah.
Pilih pecahan terbesar yang tidak melebihi sisa uang saat ini:
Pecahan 10.000 adalah yang terbesar yang kurang dari 18.000.
Tambahkan 1 lembar 10.000 ke daftar pecahan.
Sisa uang: 18.000 - 10.000 = 8.000 Rupiah.
Pilih pecahan terbesar yang tidak melebihi sisa uang saat ini:
Pecahan 5.000 adalah yang terbesar yang kurang dari 8.000.
Tambahkan 1 lembar 5.000 ke daftar pecahan.
Sisa uang: 8.000 - 5.000 = 3.000 Rupiah.
Pilih pecahan terbesar yang tidak melebihi sisa uang saat ini:
Pecahan 2.000 adalah yang terbesar yang kurang dari 3.000.
Tambahkan 1 lembar 2.000 ke daftar pecahan.
Sisa uang: 3.000 - 2.000 = 1.000 Rupiah.
Pilih pecahan terbesar yang tidak melebihi sisa uang saat ini:
Pecahan 1.000 adalah yang terbesar yang kurang dari 1.000.
Tambahkan 1 lembar 1.000 ke daftar pecahan.
Sisa uang: 1.000 - 1.000 = 0 Rupiah.
Hasil Akhir:
1 lembar 20.000
1 lembar 10.000
1 lembar 5.000
1 lembar 2.000
1 lembar 1.000
Total: 5 lembar uang.
Aktivitas SAP-K11-05-U: Mengunjungi Kebun Binatang
Deskripsi Tugas
Dina sedang bertamasya mengunjungi kebun binatang. Setiap hari, kebun binatang mengadakan beberapa pertunjukan atraksi hewan yang dapat ditonton oleh para pengunjung.
Berikut adalah jadwal yang telah ditetapkan oleh pengelola kebun binatang.
No. Waktu Mulai Waktu Selesai Pertunjukan/Atraksi Hewan
1. 09:15 - 10:30 : Orang Utan
2. 08:00 - 09:30 : Pinguin
3. 10:00 - 12:00 : Harimau
4. 13:00 - 14:30 : Beruang Madu
5. 11:00 - 12:30 : Burung Pemangsa
6. 14:00 - 15:00 : Buaya
7. 15:30 - 16:30 : Panda
8. 16:00 - 17:00 : Ular Piton
9. 15:00 - 15:30 : Singa
10. 15:30 - 16:00 : Anjing Laut
Tentunya dalam satu waktu tertentu, Dina hanya dapat menonton satu pertunjukan atraksi hewan. Dina ingin dapat melihat sebanyak-banyaknya pertunjukan dalam satu hari tersebut, dan ia tidak memiliki preferensi dalam melihat pertunjukan hewan (semuanya ia anggap sama menariknya).
Tentukan, ada berapa banyak maksimal pertunjukan yang dapat ditonton oleh Dina ?
Urutkan pertunjukan berdasarkan waktu selesai.
Pilih pertunjukan pertama (yang selesai paling awal).
Untuk pertunjukan berikutnya, pilih yang waktu mulainya setelah waktu selesai pertunjukan yang sudah dipilih.
Ulangi langkah ini sampai tidak ada lagi pertunjukan yang dapat dipilih.
Pertunjukan 2 (Pinguin): Mulai 08:00, Selesai 09:30.
Pertunjukan 1 (Orang Utan): Mulai 09:15, Selesai 10:30 (Bisa dipilih karena mulai setelah Pinguin selesai).
Pertunjukan 4 (Beruang Madu): Mulai 13:00, Selesai 14:30 (Bisa dipilih karena mulai setelah Orang Utan selesai).
Pertunjukan 9 (Singa): Mulai 15:00, Selesai 15:30 (Bisa dipilih karena mulai setelah Beruang Madu selesai).
Pertunjukan 10 (Anjing Laut): Mulai 15:30, Selesai 16:00 (Bisa dipilih karena mulai setelah Singa selesai).
Pertunjukan 8 (Ular Piton): Mulai 16:00, Selesai 17:00 (Bisa dipilih karena mulai setelah Anjing Laut selesai).
Jumlah maksimal pertunjukan yang dapat ditonton Dina adalah 6 pertunjukan.
Pertunjukan yang dipilih:
Pinguin
Orang Utan
Beruang Madu
Singa
Anjing Laut
Ular Piton
Dengan algoritma ini, Dina dapat melihat sebanyak mungkin pertunjukan tanpa ada waktu yang tumpang tindih.
4o
Python adalah salah satu bahasa pemrograman yang sangat populer dan mudah dipelajari. Python digunakan oleh banyak orang di seluruh dunia untuk membuat berbagai macam aplikasi, mulai dari game, aplikasi web, hingga analisis data.
Mudah Dipelajari: Sintaks (tata bahasa) Python mirip dengan bahasa manusia, sehingga mudah dipahami.
Serbaguna: Python bisa digunakan untuk berbagai keperluan, mulai dari membuat website hingga menganalisis data.
Populer: Banyak perusahaan besar menggunakan Python, seperti Google, NASA, dan Instagram.
Apa itu? Komentar digunakan untuk menulis catatan atau penjelasan di dalam kode, tetapi tidak akan dijalankan oleh komputer.
Contoh:
python
==========
# Ini adalah komentar
print("Hello, World!")
Apa itu? Variabel adalah tempat untuk menyimpan nilai yang bisa digunakan kembali di dalam program.
Contoh:
python
==========
nama = "Budi"
usia = 12
print(nama, usia)
Apa itu? Tipe data menunjukkan jenis nilai yang bisa disimpan dalam variabel.
Contoh:
Integer: Angka bulat seperti 5, 10, 100.
Float: Angka desimal seperti 3.14, 0.5.
String: Teks seperti "Halo", "Python".
python
==========
angka_bulat = 10
angka_desimal = 3.14
teks = "Selamat belajar Python!"
Apa itu? print() digunakan untuk menampilkan teks atau nilai di layar.
Contoh:
python
==========
print("Halo Dunia!")
print(nama)
Apa itu? Operator digunakan untuk melakukan perhitungan matematika seperti penjumlahan, pengurangan, perkalian, dll.
Contoh:
python
==========
x = 5
y = 3
print(x + y) # Hasilnya 8
print(x * y) # Hasilnya 15
Apa itu? if digunakan untuk membuat keputusan di dalam program berdasarkan kondisi tertentu.
Contoh:
python
==========
usia = 18
if usia >= 17:
print("Kamu sudah bisa membuat SIM!")
else:
print("Kamu belum cukup umur untuk membuat SIM.")
Apa itu? Looping digunakan untuk menjalankan kode berulang kali.
Contoh:
For loop:
python
==========
for i in range(5):
print(i) # Akan mencetak angka 0 hingga 4
While loop:
python
==========
hitung = 0
while hitung < 5:
print(hitung)
hitung += 1 # Menambah hitung dengan 1 setiap kali loop
Dengan memahami dasar-dasar ini, kamu sudah bisa mulai membuat program sederhana dengan Python. Teruslah berlatih dan bereksperimen, karena semakin sering kamu mencoba, semakin mahir kamu akan menjadi!
Kerjakan Tugas Kelompok di samping dengan anggota 4-5 anak dan kumpulkan hasilnya pada link :
F5 = https://s.id/tugasf5
F6 = https://s.id/tugasf6
F7 = https://s.id/tugasf7
Array adalah struktur data yang digunakan untuk menyimpan sekumpulan elemen dengan tipe data yang sama dalam satu variabel. Setiap elemen dalam array memiliki indeks, yang memungkinkan kita mengakses data dengan cepat.
Dalam Python, array biasanya diimplementasikan menggunakan list atau dengan modul array dari pustaka standar Python. Perbedaannya adalah list dapat menyimpan berbagai tipe data, sementara array dari modul array hanya dapat menyimpan satu jenis data (misalnya semua elemen harus berupa angka).
Selain angka, masukan dari program dapat berupa karakter atau rangkaian karakter seperti kata. Hal ini telah lazim kalian temui, misalnya ketika mengetikkan kata kunci untuk melakukan pencarian di mesin pencari atau ketika kalian memasukkan kata sandi saat login. Oleh karena itu, program dilengkapi dengan kemampuan untuk membaca, menyimpan, mengolah, dan mencetak rangkaian karakter tersebut. Rangkaian karakter tersebut dalam pemrograman disebut sebagai string.
Definisi string dalam pemrograman adalah rangkaian karakter. Karakter sendiri merupakan suatu data berupa huruf, angka, simbol, dan karakter lain yang mengikuti suatu standar tertentu seperti “American Standard Code for Information Interchange” (ASCII) atau Unicode. Karakter pada pemrograman pada umumnya diimplementasikan dalam program menggunakan tipe data char. Di sisi lain, ada beberapa cara yang lazim digunakan untuk mengimplementasikan string dalam pemrograman.
identifikasi keluarannya apa saja