B. Pondasi berpikir
1. Dekomposisi dan formulasi persoalan
Proses mengambil sebuah masalah yang kompleks dan memecahnya menjadi
bagian yang lebih kecil (subproblem) yang lebih mudah dikelola.
2. Abstraksi
Menyarikan bagian penting dari suatu permasalahan dan mengabaikan yang
tidak penting, sehingga memudahkan fokus kepada solusi.
3. Algoritma
Menuliskan otomasi solusi melalui berpikir algoritmik (langkah-langkah yang
terurut).
4. Pengenalan pola persoalan
Generalisasi serta mentransfer proses penyelesaian persoalan ke sekumpulan
persoalan sejenis.
C. Sikap pendukung
1. Yakin dan percaya diri
2. Gigih dan tekun
3. Toleran terhadap ambiguitas
4. Kemampuan untuk menangani open-ended problems
5. Kemampuan bekerja dalam tim
D. Belajar CT
Berpikir itu dapat dipelajari dan diasah dengan berlatih, serta mengkonstruksi pola
pikir berdasarkan pengalaman. Computational Thinking juga dapat dipelajari dengan
cara berlatih menyelesaikan persoalan-persoalan yang terkait komputasi melalui
persoalan sehari-hari. Selain itu, metode belajar yang juga dapat digunakan adalah
kegiatan-kegiatan yang mengekspresikan cara berpikir, misalnya koding dan
pemodelan sistem yang kemudian disimulasi.
BAB 2: DASAR ALGORITMA
A. Pengertian dan sejarah
● Algoritma adalah urutan langkah-langkah penyelesaian masalah yang
disusun secara sistematis dan logis.
B. Keuntungan algoritma
1. Pembuatan atau penulisan algoritma tidak tergantung pada bahasa
pemrograman manapun.
2. Notasi algoritma dapat diterjemahkan ke dalam bahasa pemrograman.
3. Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama
karena algoritmanya sama.
C. Ciri algoritma
1. Algoritma harus berhenti setelah mengerjakan beberapa langkah
terbatas.
2. Algoritma memiliki nol atau lebih masukan.
3. Algoritma memiliki satu atau lebih keluaran.
4. Algoritma harus efektif dan sederhana dalam tiap langkahnya agar
dapat dikerjakan dalam waktu yang singkat.
E. Penyajian algoritma
1. Bahasa natural
Menggunakan bahasa natural atau bahasa manusia (misalnya Bahasa
Indonesia dan Bahasa Inggris). Kelemahannya masih sering
membingungkan atau sulit dipahami.
2. Flowchart
Flowchart adalah gambaran dalam bentuk diagram alir dari algoritma-
algoritma dalam suatu program, yang menyatakan arah alur program
tersebut.
a. System flowchart
Sebuah system flowchart adalah diagram yang menjelaskan
bagaimana keseluruhan sistem beroperasi. Hal ini membantu
untuk mengenali aliran operasi di dalam sistem. Selain itu,
system flowchart juga membantu menyiapkan dokumen untuk
sistem.
b. Program flowchart
set n = 0
for sepasang buah in pohon :
set n = n + 2
=>(akan terjadi kesalahan/bug kalau jumlah buahnya ganjil )
set n = 0
for sepasang buah in pohon :
set n = n + 2
if sisa satu then :
set n = n + 1
=>(algoritma yang baik)
BAB 3: PYTHON
A. Pengenalan
● Salah satu bahasa pemrograman terpopuler
● Dibuat oleh Guido van Rossum dari Belanda
● Dapat dijalankan di semua platform (Windows, Mac OS, Linux)
● Gratis untuk keperluan komersial
B. Mengapa python
● Efisien; lebih singkat dan mudah
● Powerful; komunitasnya luas
● Versatile; cocok untuk berbagai tujuan
C. Menjalankan python
● Integrated Development Environment (IDE): PyCharm, Visual Studio Code,
Eclipse, dll
● Terminal window: Python Shell
● Text editor: Sublime Text, Notepad++, dll
● Online: Programiz, w3school, dll
D. Program
Sebuah program adalah serangkaian instruksi. Compiler dan intrepreter mengambil
kode yang dapat dibaca manusia dan mengubahnya menjadi kode yang dapat dibaca
oleh mesin.
E. Language
1. Compiled language
Menerjemahkan source code secara langsung ke dalam kode mesin yang
mana adalah CPU yang mengeksekusi. Sebagai hasilnya, mereka cenderung
lebih cepat dan lebih efisien daripada interpreted language. Compiled
language membutuhkan langkah “build” – mereka membutuhkan langkah
compiled secara manual. Jika ada perubahan dari program, maka saya harus
build ulang dari awal. Contoh compiled languages, C, C++, Erlang, Haskell,
Rust dan Go.
2. Interpreted language
Menjalankan program baris per baris dan setiap perintah. Jika ada
program yang berubah, kita hanya menambahkan baris yang baru dan
menerjemahkan perubahan pada saat itu terjadi. Interpreted language lebih
lambat daripada compiled language. Tetapi dalam pengembangan
(development), perbedaan itu semakin sedikit. Karena tidak perlu untuk build
dari awal (berbeda dengan compiled language).
Contoh dari interpreted languages PHP, Ruby, Python, JavaScript.
G. Variabel
● Variabel berfungsi untuk menyimpan dan memberikan nama untuk nilai.
● Nama variabel hanya dapat berisi huruf, angka dan garis bawah.
● Nama variabel dapat dimulai dengan sebuah huruf atau sebuah garis bawah,
tetapi tidak bisa dengan sebuah angka.
● Spasi tidak diperbolehkan untuk nama variabel, tetapi garis bawah dapat
digunakan untuk memisahkan kata pada nama variabel.
● Hindari penggunaan keyword dan nama fungsi pada Python sebagai nama
variabel.
● Gunakan nama variabel yang singkat tetapi deskriptif.
● Python bersifat case sensitive.
H. Tipe data
Materi lebih dalam dan lanjut dapat dilihat di slide power point yang diberi oleh guru
Informatika. Terima kasih. Semangat PAT!