Tujuan :
Peserta didik diharapkan dapat membedakan antara TIK dan Informatika, sehingga dalam
pembelajaran Informatika, peserta didik tidak terkesan “kaget” karena TIK dan Informatika
memang berbeda
A. TIK vs Informatika
Pengertian teknologi informasi adalah penggunaan teknologi seperti komputer, elektronik, dan
telekomunikasi, untuk mengolah dan mendistribusikan informasi dalam bentuk digital (KBBI).
Pengertian TIK menurut Kemendikbud adalah teknologi informasi dan komunikasi yang
membuat semua teknologi yang akan berhubungan dengan penanganan sebuah informasi
(kemendikbud).
Pengertian TIK atau teknologi informasi dan komunikasi adalah suatu bentuk yang tidak bisa
dipisahkan. Serta memiliki kandungan makna yang luas, mengenai semua kegiatan. Kegiatan
yang dimaksud adalah yang dikaitkan dengan seluruh kegiatan pemrosesan, manipulasi,
pengelolaan dan saat transfer atau memindahkan informasi dari satu media ke media lain
(puskur).
Dalam kamus Oxford, pengertian TIK adalah sebuah studi atau penggunaan peralatan
elektronika, terutama computer yang digunakan untuk beberapa hal. Seperti menyimpan,
menganalisis, serta mendistribusikan semua informasi. Informasi yang diolah bisa mengenai apa
saja, termasuk kata-kata, angka atau bilangan, dan gambar-gambar (Oxford 1999).
Informatika atau informatics adalah disiplin ilmu yang mengkaji struktur dan properti (ciri)
(bukan isi khusus) informasi ilmiah, sebagaimana juga mengkaji keajegan (regularitas) aktivitas
informasi ilmiah, teorinya, sejarah, metodologi dan organisasi informasi ilmiah. US President's
Committee of Advisors on Science and Technology (2000) memberi batasan informatika sebagai
"riset mengenai, perkembangan dari, dan penggunaan alat dan ancangan teknologi, sosiologi dan
organisasi guna akuisisi dinamis, pengindeksan, pemencaran, penyimpanan, querying,
temubalik, visualisasi, integrasi, analisis, sintetis, berbagi (termasuk sarana kolaborasi
elektronik) dan publikasi data sehingga informasi dari semua itu ada manfaat ekonomi serta
manfaat lainnya bagi pemakai dari semua sektor ekonomi." (Oxford English Dictionary 2000).
Informatics adalah kumpulan disiplin ilmu (scientific discipline) dan disiplin teknik (engineering
discipline) dimana secara khusus mereka menyangkut transformasi atau pengolahan oleh “fakta
simbolik” (data atau informasi), yang terutama menggunakan fasilitas mesin-mesin otomatis
seperti komputer. (Philippe Dreyfus)
TIK Informatika
• Merupakan tools (alat) • Merupakan sebuah disiplin ilmu
• Merupakan produk dari informatika • Membuat TIK
• Belajar bagaimana menggunakan TIK • Belajar bagaimana membuat TIK
C. Aplikasi Informatika
Berikut ini aplikasi informatika dalam berbagai bidang:
a. Geomatika, menyediakan pendekatan berbasis komputasi dan kuantitatif bagi pengukuran,
analisis, dan manajemen serta deskripsi dan lokasi informasi keruangan. Karena dipengaruhi
oleh teori serta metode yang dikembangkan dalam informatika, maka geomatika
menggabungkan survei tanah tradisional dan geografi menjadi sub-bidang baru dari
informatika,, Geomatika memiliki aplikasi di semua disiplin tergantung pada pengolahan
informasi ke ruangan, misalnya kajian lingkungan, perencanaan,enjinering, navigasi, geologi
dan geofisika, pengembangan lahan serta kepemilikan lahan.
b. Informatika biologi (Biological informatics) mengacu pada pengembangan serta
penggunaan komputer, sarana statistik dan lainnya dalam pengumpulan, pengorganisasian,
pemencaran, dan penggunaan informasi untuk memecahkan masalah dalam bidang ilmu
hayati (life sciences) Informatika biologi mengkaji serta mengembangkan alat dan ancangan
untuk akuisisi, diseminasi, penyimpanan, pertanyaan, temu balik, visualisasi, integrasi,
pemodelan, simulalis, analisis dan berbagi data biologi secara elektronik.
c. Informatika farmasi (Pharmacy informatics)adalah realisasi informatika untuk farmasi dan
kegiatannya agar efektif biaya dalam pemanfaatan sistem informasi dan perangkat teknologi,.
Informatika farmasi bertujuan menyediakan informasi yang cepat dan handal tentang terapi
obat yang mampu membantu pasien dalam proses penyembuhannya.
d. Informatika gigi, (Dental informatics) dikaitkan dengan semua disiplin pengkhususan
kedokteran gigi. Informatika gigi adalah sains dan seni mencegah penyakit mulut dan
mempromosikan kesehatan mulut. Bidang utama informatika gigi adalah pengukuran
aktivitas penyakit mulut, pengolahan data elektronik pasien, pengolahan sinyal, pengolahan
citra, manajemen pangkalan data klinis komprehensif dan pengambilan keputusan berbasis
komputer.
e. Informatika hukum (Legal informatics) merupakan disiplin yang mengkaji teknologi
informasi dalam bidang hukum dan profesional hukum. Aplikasi informatika hukum
mempengaruhi kajian hukum, pendidikan dan praktik hukum serta terdapat pada berbagai
lembaga penegakan hukum. Bidang utama informatika hukum mencakup penyimpanan dan
temu balik sumber perundang-undangan, administrasi pengadilan, manajemen perkara,
automasi rekod untuk publik maupun privat, misalnya registrasi real property, kelahiran dan
kematian, rekod akuntansi, sistem penunjang litigasi, sistem pakar hukum dan sistem
informasi hukum terpadu.
f. Informatika kesehatan (Health informatics) adalah penggunaan teknologi informasi dan
komunikasi dalam manajemen informasi perawatan kesehatan, mencakup bidang aplikasi
yang luas
g. Informatika klinis (Clinical informatics)didefinisikan sebagai aplikasi teknologi komputer
untuk menunjang praktik, pendidikan, administrasi dan riset klinis. Bidang yang dicakup oleh
informatika klinis adalah: (a) manajemen dan pengolahan data, informasi dan pengetahuan
klinis; (c) penyempurnaan pengantaran perawatan klinis; (d) pengendalian mutu atas data
klinis elektronik; (e) faktor manusia dan prinsip kegunaan yang diterapkan pada sistem
informasi klinis; (f) ketrampilan pengambilan keputusan klinis untuk praktisi klinis; (g) teknik
mengevaluasi sistem informasi klinis beserta hasilnya dan (i) fase evaluasi klinis terhadap
pengembangan obat.
h. Informatika lingkungan sering pula disebut environmentrics. Informatika lingkungan
mencoba menjembatani kesenjangan antara pengolahan informasi dengan kebutuhan analitis
dari ilmuwan lingkungan. Aplikasi utama informatika lingkungan mterutama sistem pakar,
jaringan, pangkalan data ilmiah, visualisasi data lingkungan, pengeinderaan jarak jauh dan
sistem informasi geografi.
i. Informatika manajemen merupakan bagian khusus dari aplikasi informatika pada
manajemen menyangkut badan korporasi, dalam bahasa Inggris sering disebut organization.
Informatika manajemen membahas bagaimana teknologi informasi didayagunakan untuk
memecahkan masalah manajerial, bagaimana informasi memberikan sumbangan pada
aktivitas internal badan korporasi, bagaimana badan korporasi dapat lebih efektif menghadapi
nasabah, mitra atau pemasok dan bagaimana memberikan penunjang keputusan bagi
manajemen badan korporasi.
j. Informatika medik (Imedical informatics) merupakan aplikasi sistem dan teknologi
informasi pada bidang kedokteran. Bidang yang dicakup meliputi rawat medik, pendidikan
dan penelitian kedokteran. Informatika medik mencakup penggunaan teknologi informasi
untuk diagnosis dan perawatan penyakit, misalnya citra sinar X, resonansi atau talunan
magnetik, teknik magnetik pemindaian, pemodelan sisi reseptor dan disain molekul,
elektrofisiologi. Informatika medik mencakup aspek teori dan praktik pemrosesan dan
komunikasi informasi brdasarkan pengetahuan dan pengalaman yang diperoleh dari proses
kedokteran serta rawat kesehatan. Penelitian bidang informatika medik meliputi manajemen
rekam medis berbasis komputer, multimedia klinis, telemedisin dan aplikasi biomedis dari
Internet, penunjang keputusan dan kecerdasan buatan medik serta jasa penelitian jasa dan
evaluasi kesehatan (MacDougall and Brittain, 1994).
k. Informatika museum (Museum informatics) merupakan bidang baru dari informatika sosial.
Bidang ini mencakup lima bidang penelitian yaitu (1) kajian pengetahuan di museum, (20
organisasi informasi dan akses pada koleksi museum digital, (3) akses onlain ke data artefak
bersama, (4) lingkungan museum maya dinamis dan (5) infrastruktur informasi di lingkungan
permuseuman.
l. Informatika organisasi (Organizational informatics) mengkaji pengembangan dan
penggunaan sistem terkomputer dan sistem komunikasi di organisasi dan badan korporasi,
khususnya tentang konsep, disain, pemeliharaan dan penggunaannya. Penelitian dalam
bidang informatika sosial mencakup bagaimana perancang sistem menerjemahkan preferensi
publik menjadi tuntutan badan korporasi, bagaimana perangkat lunak berfungsi dalam praktik,
syarat menyangkut implementasi sistem terkomputer dalam sebuah badan korporasi,
bagaimana manusia dan badan korporasi menggunakan sistem, apa peran sistem terkomputer
dalam mengubah kerja dan tugas, komunikasi kelompok dan praktik badan korporasi (Kling,
1993)
m. Informatika perawatan (Nursing informatics) adalah penggunaan teknologi informasi oleh
perawat dalam kaitannya dengan perawatan pasien, administrasi fasilitas rawat kesehatan,
pendidikan dan pelatihan keperawatan. Penelitian dalam bidang informatika keperawatan
meliputi penggunaan kecerdasan buatan atau sistem pengambilan keputusan untuk menunjang
penggunaan proses perawatan, penggunaan paket penjadwalan berbasis komputer untuk
mengatur tugas dan penempatan staf di rumah sakit; penggunaan komputer untuk pendidikan
pasien, penggunaan pembelajaran berbantuan komputer dalam pendidikan perawat,
penggunaan sistem informasi rumah sakit oleh perawat dan informasi yang digunakan perawat
untuk mengambil keputusan menyangkut perawatan pasien serta keputusan yang diambil
perawat (Ball and Hannah, 1988)
n. Informatika sosial (Social informatics) adalah kajian alat informasi dan komunikasi dalam
konteks budaya atau institusi, merupakan bidang interdisipliner, bagian dari batang tubuh
yang lebih besar berupa riset sosio-ekonomi yang mengkaji cara artefak teknologi dan konteks
sosial manusia bersama-sama membentuk ansambel teknologi informasi dan komunikasi.
Beberapa pendukung informatika sosial menggunakan hubungan komunitas biologi dengan
lingkungannya sebagai analogi hubungan alat dengan manusia yang menggunakannya adalah
kajian interdisipliner mengenai disain, penggunaan dan konsekwensi teknologi informasi
untuk interaksi dalam konteks institusi dan kultural. Bidang penelitian informatika sosial
menyangkut aspek sosial dari komputerisasi dalam konteks institusi dan kultural dan kajian
atas disain, penggunaan dan dampak teknologi informasi. Dalam penelitian informatika sosial
terdapat tingkat analisis tergantung pada kelompok yang dikaji misalnya tingkat kelompok,
bagian, organisasi, nasional dan masyarakat. Fokus utama informatika sosial adalah hubungan
antara informasi, sistem informasi, manusia yang menggunakannya serta kontkes penggunaan
(Sawyer dan Rosenbaum, 2000).
o. Neuroinformatika (Neuroinformatics) merupakan gabungan antara neurosains dan
informatika, bertujuan mengembangkan dan menerapkan alat kedokteran serta pendekatan
guna memahami fungsi dan struktur otak. Penelitian neuroinformatika berada pada sisi hasil
irisan berbagai disiplin seperti ilmu kedokteran dan perilaku, biologi, ilmu pengetahuan alam
dan matematika, ilmu komputer dan teknik. Sinergi dari berbagai ilmu ini diharapkan
menghasilkan percepatan ilmiah dan teknologi yang bermanfaat bagi bidang kedokteran,
ekonomi dan sosial.
Capaian Pada akhir fase E, peserta didik mampu memanfaatkan berbagai aplikasi secara
Pembelajaran bersamaan dan optimal untuk berkomunikasi, mencari sumber data yang akan
diolah menjadi informasi, baik di dunia nyata maupun di internet, serta mahir
menggunakan fitur lanjut aplikasi perkantoran (pengolah kata, angka, dan
presentasi) beserta otomasinya untuk mengintegrasikan dan menyajikan konten
aplikasi dalam berbagai representasi yang memudahkan analisis dan interpretasi
konten tersebut.
Alur Tujuan 10.1. Peserta didik menggunakan internet untuk pencarian, penyimpanan cloud,
Pembelajaran komunikasi visual (video conference)
10.2. Peserta didik memanfaatkan aplikasi pengolah kata, presentasi dan untuk
mengolah dan menyajikan informasi
10.3. Peserta didik mengintegrasikan aplikasi untuk menyajikan informasi
dalam bentuk teks, gambar maupun video.
Materi Searching, browsing, gdrive, gform, gmeet, Table of content, Insert object
(page break, tables, illustrations, link), mail merge, Microsoft Power point
Waktu 10 x 45 JP
Setelah proses pencarian ditemukan silahkan klik hasil pencarian yang paling sesuai, untuk
menelusuri informasi (browsing) yang diperlukan. Sehingga informasi yang diinginkan oleh
pengguna telah ditemukan.
No Type Fungsi
1. ➢ Teks jawaban pendek
3. ➢ Pilihan Ganda
Tips : agar mudah diingat link dari google form dapat dibuat lebih pendek dengan aplikasi tertentu,
misalnya www.gg.gg atau www.bit.ly
4. Untuk mendownload dalam bentuk Excel , klik tanda + hijau (Create Spreadsheet)
5. Kemudian akan muncul jendela google spreedsheet, lalu pada menu File, pilih Download →
Microsof Excel (xlsx)
Gambar 2.10. Download hasil responses google form
3. Dari daftar isi di atas, dapat dilihat bahwa 3 (tiga format/ style) posisi daftar isi (1) A.
LATAR… 2) C.1. Tinjauan …3) C.1.1. Paback Period), maka kita siapkan 3 style nantinya
4. Setelah dokumen yang akan dibuat daftar isi dibuat, arahkan kursor pada halaman pertama di
posisi tulisan “HALAMAN JUDUL” blok tulisan tersebut
5. Kemudian klik menu HOME → klik tanda panah pada tab Styles, pilih Create a Style
Gambar 2.18. Tab Style – Create a Styles
6. Ketikkan nama style misalnya #Posisi_A (tanda # menjadikan nama style terlihat di depan)
G. Insert Object
G.1. Insert Table
Untuk menyisipkan table, urutan langkahnya sebagai berikut :
1. Klik menu Insert, pilih toolbar Tables – pilih Insert Table
Explorasi shape:
Silahkan cari bagaimana merubah warna shape, garis, tata letak, menggabungkan shape agar
menjadi satu-kesatuan (grup) agar mudah dipindahkan.
Jadi, untuk file naskah utama pastikan menyediakan ruang kosong. Pada contoh di atas, ruang
kosong berada setelah kata nama, alamat, kecamatan, dan nomor telepon. Ruang kosong ini
nantinya akan diisi dengan data dari file sumber data utama ketika fitur mail
merge diterapkan.
3. Menghubungkan Naskah Utama dengan Sumber Data
Setelah file sumber data dan file naskah utama sudah siap, maka tahap selanjutnya dalam cara
membuat mail merge di Word adalah menghubungkan keduanya. Pada tahap inti ini akan
terdiri dari beberapa langkah, ikuti langkah berikutnya.
4. Buka fila naskah utama di Microsoft Word
kemudian cari menu Mailings yang berada di sebelah menu References. Kemudian pilih sub
menu Start Mail Merge. Lalu, Step by Step Mail Merge Wizard sesuai kebutuhan.
Jika ingin mencetak amplop pembungkus surat berisi nama dan alamat penerima maka bisa
memilih menu Envelopes, jika ingin membuat surat bisa memilih Letters dan seterusnya.
Edit Individual Document, digunakan untuk menyimpan file hasil kerja dalam dokumen
baru. Sehingga hasil penyimpanan akan berisi Microsoft Word baru dengan data sesuai
sumber data utama. Jadi, jika di sumber data utama ada 10 data maka akan muncul 10 file
naskah utama berisi masing-masing data.
Print Document, digunakan untuk mencetak dokumen mail merge secara langsung tanpa
perlu disimpan terlebih dahulu. Hasil cetak akan sesuai dengan tampilan pada Microsoft
Word, sehingga perlu diganti berkala jika ingin mencetak semua data di kertas berbeda.
Send Email Messages, digunakan untuk mengirimkan file naskah utama.
H.3. Transitions
Transitions merupakan perpindahan dari slide satu ke slide lainnya. Pada saat perpindahan
ini, pengguna memungkinkan menambahkan efek atau animasi pada saat itu, sehingga tampilan
presentasi menjadi lebih menarik. Untuk menambahkan efek transition, caranya :
1. Klik menu Transitions
2. Pilih jenis transition yang ada.
SELF ASSESMENT
Tuliskan Skor 1 – 5 :
REFLEKSI DIRI
Tuliskan pengalaman diri Anda dalam menggunakan internet untuk keperluan informasi,
menggunakan aplikasi pengolah kata, dan presentasi.
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
PENILAIAN SUMATIF
BAB III
BERFIKIR KOMPUTASI
(COMPUTATIONAL THINGKING)
Capaian Pada akhir fase E, peserta didik mampu menerapkan strategi algoritmik standar
Pembelajaran untuk menghasilkan beberapasolusi persoalan dengan data diskrit bervolume
tidak kecil pada kehidupan sehari-hari maupun implementasinya dalam
program komputer
Alur Tujuan 10.1. Peserta didik memahami berfikir komputasi (Computational Thinking)
Pembelajaran untuk menyelesaikan persoalan yang lebih kompleks, yang membutuhkan
dekomposisi, abstraksi, pattern, dan algoritma.
10.2. Peserta didik menganalisis contoh pemecahan masalah sains dengan
pendekatan berfikir komputasi
10.3. Peserta didik memahami contoh algoritma yang diterapkan oleh program
komputer dengan pendekatan berfikir komputasi
10.4. Peserta didik menerapkan proses berfikir komputasi pada problem solving
permasalahan sehari-hari.
10.5. Peserta didik berfikir kritis dan berkolaborasi dalam penerapan
pemanfaatan sains dan matematik melalui problem solving dengan model
pendekatan berfikir komputasi.
Materi • Element berfikir komputasi
• Sains dalam Berfikir Komputasi
• Algoritma Selection short
• Algoritma Buble short
• Problem solving dengan Berfikir Komputasi
Waktu 6 x 45 menit
A. Berfikir Komputasi
Menghadapi era industri 4.0 dan society 5.0, peserta didik harus dibekali dengan
kemampuan 4C, yaitu commucation, collaboration, critical thinking and problem solving dan
creativity. Salah satu cara untuk mengasah kemampuan berfikir kritis dan pemecahan masalah
(critical thingking and problem solving) adalah dengan memahami konsep berfikir komputasi.
Dengan berfikir komputasi ini, peserta didik diharapkan mampu belajar menyelesaikan masalah
secara sistematis dan kritis.
Berfikir komputasi dapat diartikan sebagai ketrampilan berfikir untuk menyelesaikan
masalah dengan cara mencari inti permasalahan (abstraction), memecah permasalah menjadi
bagian-bagian yang lebih kecil (decomposition), menemukan pola atau pendekatan penyelesaian
(pattern recognition) dan urutan langkah dari penyelesaian masalah tersebut (algoritm).
Pendekatan berfikir komputasi ini, hampir sama dengan pendekatan yang dilakukan oleh para
programmer dalam menyelesaikan masalah dalam membuat program.
Berdasarkan definisi tersebut, berfikir komputasi mempunyai beberapa elemen sebagai berikut :
1. Abstraksi
Abstraksi diartikan sebagai fokus permasalahan atau inti sebuah permasalah untuk dicarikan
solusi. Terkadang banyak bagian-bagian intrik atau dramatisir dari sebuah permasalah, akan
tetapi justru kita tidak fokus pada inti masalah.
Sebagai contoh kasus berikut; pak Deklek sedang membangun rumah di sebuah pedesaan ramai
penduduk, pak Dengklek akan membuat rumah dengan lantai dari keramik berukuran 50 cm x
50 cm. Pak Dengklek menginingkan keramik tersebut berwarna biru muda, pak Dengklek lebih
memilih berbelanja di toko bangungan yang deket dengan rumahnya, karena alasan membeli di
toko tetangga adalah bagian dari cara tersendiri untuk menolong sesama. Pak Dengklek
membangun rumah dengan luas 120 meter x 50 meter, yang terdiri dari berbagai bentuk ruangan
ada yang berbentuk lingkaran, berbentuk segitiga, persegi panjang, bahkan ada ruangan
berbentuk trapesium. Pak Dengklek telah mempersiapkan anggaran untuk membuat rumah dari
sejak lama dengan cara menabung tiap bulannya selama hampir 10 tahun yang lalu. Dari cerita
diatas, berapa banyak keramik dan uang yang harus dikeluarkan oleh pak Dengklek jika harga
keramik permeter perseginya adalah Rp. 90.000,- ?
Dari cerita tersebut, walaupun terdapat banyak intrik, tetapi inti atau abstraksi dari
permasalahnya adalah penyelesaian banyaknya keramik dengan cara menghitung luas bangun
ruang.
2. Dekomposisi
Dekomposisi adalah memecah permasalah menjadi bagian-bagian kecil, agar dapat
diselesaikan dengan mudah. Dengan seperti ini, permasalah yang komplek menjadi lebih simple
untuk diselesaikan. Sebagai contoh; dari cerita pak Dengklek diatas, permasalahan luas bangun
ruang dapat dipecah menjadi perhitungan luas segi empat, luas lingkaran, luas segita dan
seterusnya sehingga nantinya akan ditemukan seluruh luas bangunan pak Dengklek yang akan
diberi keramik. Hal ini tentunya akan menjadi lebih sulit jika kita menghitung luas bangunan
secara membabi buta, padahal kita bisa memecahkanya menjadi rumus-rumus bangun ruang.
3. Pattern Recognition
Pattern recognition adalah pola yang terbentuk dari sebuah penyelesaian masalah atau
pendekatan yang dilakukan untuk menyelesaikan permasalahan. Artinya dari sebuah problem
atau permasalahan ketika diselesaikan akan terbentuk sebuah pola penyelesaian atau
pendekatan penyelesaian. Dengan pola (pattern) ini, ketika terjadi sebuah permasalahan atau
kasus sejenis, maka user dapat menyelesaikan permasalahan lain yang sejenis ini menjadi lebih
cepat.
Misalnya dari cerita pak Dengkleng seperti dapat ditemukan pola atau pendekatan bahwa untuk
menghitung banyaknya keramik dapat menggunakan pendekatan luas bangun ruang, hal ini
menjadikan misalnya terdapat orang lain, sebut saja misalnya pak Sabar akan membabung
rumah dengan luas berapapun maka untuk menghitung banyaknya keramik dapat menggunakan
pola yang sama dengan perhitungan keramik pada rumah pak Dengklek, sehingga seorang user
dapat menyelesaikan permasalahan sejenis menjadi lebih cepat dan efesien karena sudah
memiliki pola tersebut.
4. Algoritm
Algoritma adalah urutan langkah sistematis dalam menyelesaikan permasalahan, algoritma
lebih mengarah kepada langkah urut (sequen) dalam menyelesaikan masalah. Harapan dari
algoritma adalah ketika seseorang menemukan pola atau pendekatan dalam menyelesaikan
permasalahan, kemudian menuliskan algortimanya, maka orang lain yang bukan penemu pola
tersebut, dapat menggunakan atau memakai pola atau ide/ cara tersebut dengan baik, karena
langkah-langkah penyelesaian masalah telah dibuat secara sistematis yaitu dengan membuat
algoritmanya.
Sebagai contoh algoritma dari luas lingkaran adalah :
1. Mulai
2. Masukkan atau berikan nilai jari-jari lingkaran
3. Hitung luas dengan rumus luas = 22/7 x jari-jari x jari-jari
4. Tampilkan hasil luas
5. Selesai
Dari algoritma tersebut, bahkan untuk orang yang tidak tahu rumus luas lingkaran pun, dengan
algoritma tersebut, sekarang menjadi tahu atau dapat menghitung luas lingkaran saat ini.
Dari contoh di atas, terdapat 9 angka yang belum terurut secara semestinya, yang seharusnya
urutan secara ascending angkanya adalah sebagaimana gambar di bawah :
Ada 2 proses utama yang dilakukan pada algoritma Selection Sort, yaitu:
1. Pencarian nilai terkecil (ascending) /terbesar (descending)
2. Menukar nilai terkecil / terbesar yang dicari tadi, ke posisi yang ditentukan / urutkan.
Adapun algoritma secara lengkap dari, algoritma selection short adalah sebagai berikut :
1. Mulai
2. Masukkan deret angka (array) yang akan diurutkan
3. Tentukan nilai minimum angka(jika ascending) dari semua deret angka yang ada, kemudian
tukar data pada posisi pertama
4. Tentukan atau cari nilai minimum data ke 2 sampai dengan terakhir dari deret angka, kemudian
tukar isi data dengan nilai minimum pada posisi ke 2
5. Ulangi langkah ke 4, yaitu menentukan nilai minimum dari data ke i sampai dengan ke n,
kemudian tukar isi data dengan nilai mimum dengan data pada posisi ke i
6. Hentikan pengurutan sampai langkah ke i = n -1 (banyaknya angka – 1)
7. Selesai
Berdasarkan data di atas, dibutuhkan setidaknya 8 langkah (n-1) untuk mengurutkannya, berikut
urutan langkah algoritma selection short dari data di atas:
Data Keterangan
7 4 9 3 6 8 1 5 2 Data awal
1 4 9 3 6 8 7 5 2 Step 1 : menukar 7 dengan 1 (data untuk step 2)
1 2 9 3 6 8 7 5 4 Step 2 : menukar 4 dengan 2 (data untuk step 3)
1 2 3 9 6 8 7 5 4 Step 3 : menukar 9 dengan 3 (data untuk step 4)
1 2 3 4 6 8 7 5 9 Step 4 : menukar 9 dengan 4 (data untuk step 5)
1 2 3 4 5 8 7 6 9 Step 5 : menukar 6 dengan 5 (data untuk step 6)
1 2 3 4 5 6 7 8 9 Step 6 : menukar 8 dengan 6 (data untuk step 7)
1 2 3 4 5 6 7 8 9 Step 7 : tidak terjadi penukaran (data untuk step 8)
1 2 3 4 5 6 7 8 9 Step 8 : tidak terjadi penukaran (data untuk step 9)
1 2 3 4 5 6 7 8 9 Step 9 : Selesai dengan urut 1 2 3 4 5 6 7 8 9
Table 3.1. Urutan langkah selection short
Capaian Pada akhir fase E, peserta didik mampu menerapkan praktik baik konsep
Pembelajaran pemrograman prosedural dalam salah satu bahasa pemrograman prosedural
dan mampu mengembangkan program yang terstruktur dalam notasi algoritma
atau notasi lain, berdasarkan strategi algoritmik yang tepat.
Alur Tujuan 10.1. Peserta didik memahami konsep dasar algoritma dan pemrograman, dan
Pembelajaran struktur bahasa pemrograman
10.2. Peserta didik menuliskan algoritma dengan berbagai bentuk notasi
algoritma
10.3. Peserta didik menganalisis data dan variabel untuk keperluan
pemrograman komputer
10.4. Peserta didik menggunakan logika seleksi dan perulangan pada
pemrograman
10.5. Peserta didik menganalisis penggunaan deret atau array dalam
pemrograman
Materi Fase E:
• Algoritma dan Pemrograman
• Notasi Algoritma
• Algoritma Seleksi/ Percabangan
• Variabel dan konstansta
• Algoritma Perulangan
• Array / List
Waktu 16 x 45 menit
B. Notasi Algoritma
Untuk menulis algoritma (notasi algoritma) terdiri dari 3 macam, yaitu Deskriptif,
Pseduocode dan Flowchart.
B.1. Algoritma Deskriptif
Algoritma deskriptif adalah cara menuliskan instruksi - instruksi yang harus dilaksanakan
dalam bentuk untaian kalimat deskriptif dengan menggunakan bahasa yang jelas. Algoritma ini
biasanya menggunakan bahasa baku, mudah dimengerti dan berkoresponden dengan notasi
pemrograman.
Berikut contoh algoritma deskriptif untuk menghitung luas persegi panjang.
1. Mulai
2. Masukkan/input panjang dan lebar persegi panjang.
3. Hitung luas persegi panjang dengan rumus : Luas = Panjang x Lebar
4. Tampilkan luas persegi panjang.
5. Selesai
B.2. Algortima Pseduocode
Algoritma Pseduocode diartikan sebagai langkah-langkah pemecahan masalah dengan
menggunakan kode yang tidak terikat pada bahasa pemrograman tertentu. Algoritma ini biasanya
menggunakan bahasa inggris yang simple, tetapi sebenarnya tidak ada aturan baku. Berikut contoh
algoritma pseduocode untuk menghitung luas persegi panjang :
//DECLARATION
DECLARE integer panjang,lebar,luas
//IMPLEMENTATION / DEFINITION
INPUT (panjang,lebar)
SET luas = panjang * lebar
DISPLAY (luas)
Berikut ini contoh algoritma flowchart untuk menghitung luas persegi panjang dan
flowchart untuk mencari bilangan genap dan ganjil :
Mulai
Selesai
Mulai
Y T
Apakah bilangan
mod 2 = 0
Selesai
Gambar 4.2. Flowchart menentukan bilangan genap dan ganjil
C. Dasar-Dasar Pemrograman
C.1. Jenis Bahasa Pemrograman Compiler dan Interpreter
Compiler adalah suatu program komputer yang mengubah source code dalam bahasa
pemrograman ke dalam bahasa mesin. Penterjemahan source code dengan compiler dilakukan
dengan 2 tahapan. Tahap pertama adalah parsing, yaitu pembuatan kode objek. Tahap kedua
adalah linking, yaitu penggabungan kode objek dengan library (perpustakaan).
Interpeter adalah suatu program yang metnerjemahkan instruksi dalam bahasa tingkat
tinggi ke dalam bahasa tingkat menengah. Pertama, intrepeter akan mengeksekusi source
code yang dibuat oleh programmer, kemudian intrepeter menterjemahkan source code tersebut
ke dalam bahasa mesin. Setelah source code diterjemahkan, mesin dapat memahami instruksi
yang diberikan sehingga mesin akan melakukan instruksi tersebut.
Perbedaan antara compiler dan interpeter adalah sebagai berikut :
1. Interpreter menterjemahkan baris per baris. Sedangkan compiler, menterjemahkan seluruh
instruksi sekaligus. Selanjutnya hasil terjemahan bisa dijalankan secara langsung, tanpa
tergantung lagi oleh program sumber atau compilernya.
2. Pada interpreter, penyusunan program relatif lebih cepat dan bisa langsung diuji sekalipun
masih ada beberapa kesalahan secara kaidah dalam program. Sedangkan pada compiler, proses
pembuatan dan pengujian membutuhkan waktu relatif lebih lama, sebab ada waktu untuk
mengkompilasi (menerjemahkan) dan ada pula waktu untuk melakukan proses linking.
3. Compiler membutuhkan linker untuk menggabungkan kode objek dengan berbagai macam
library demi menghasilkan suatu kode yang bisa dijalankan oleh mesin.
Sedangkan interpreter tidak butuh linker untuk menggabungkan kode objek.
4. Pada interpreter, kode program tidak dapat dirahasiakan. Sedangkan pada compiler, kode
program bisa dirahasiakan, sebab yang dieksekusi adalah program yang dalam bentuk kode
mesin.
5. Bahasa pemrograman yang menggunakan compiler adalah Visual Basic, Fortran, Cobol,
Pascal, dan C. Sedangkan bahasa pemrograman yang menggunakan interpreter yaitu PHP,
ASP, Python, dan Perl.
Akan tetapi Python juga memiliki kekurangan antara lain, karena Python adalah bahasa
interpreter. Kekurangan python dibanding bahasa lain yang menggunakan kompiler yaitu ‘sedikit’
lebih lambat pada saat dijalankan bila dibandingkan bahasa C maupun C++. Tapi hal ini pun sangat
bersifat relatif. Tergantung dari besar ukuran program yang dibuat.
Untuk program besar yang membutuhkan kecepatan pemrosesan tinggi mungkin Python
kalah cepat dari bahasa C, tapi untuk hal selain itu Python lebih mudah dan lebih baik dari bahasa
lain. Selain itu, kode sumber sekarang sudah dioptimasi menggunakan bahasa C, sehingga
kecepatannya juga sudah sangat mendekati kecepatan bahasa C. Spesifikasi komputer juga
sekarang ini sudah semakin tinggi sehingga bisa memproses program dengan cepat, sehingga
sering kali ini tidak menjadi hal penting dan bisa diabaikan.
2. Setelah jendela IDLE Python terbuka, kli menu File → New File
6. Jalankan program dengan klik menu Run → Run Module atau tekan F5
Jangan lupa untuk menyimpan project, melalui menu File → Save as, berikan nama filenya,
sedangkan untuk mengkompile klik tanda “► Run”
Python mengenal case sensitife artinya sebuah perintah akan dibedakan besar dan kecil huruf yang
digunakan, sebagai contoh perintah print (kecil semua) akan berbeda dengan Print
b. Indentasi Penulisan Program
Blok program dalam Python di awali dengan tanda “ : “ (titik dua), dan dikuti dengan indentasi
sejajar. Perintah yang tidak sejajar, maka bukan merupakan blok dari program yang dimaksud.
Perhatikan contoh berikut :
c. Mendapatkan input dari keyboard / user
Pada contoh program di atas pada bagian (a=int(input(‘Masukkan sebuah bilangan bulat : ‘))
memiliki arti bahwa variabel “a” bertipe integer didapatkan dari masukkan dari keyboard setelah
munculnya tulisan “Masukkan sebuah bilangan bulat : “.
Artinya perintah input() digunakan untuk mendapatkan atau menyimpan nilai dari sebuah variabel
dari inputan user atau pengguna program
d. Penulisan Variable
Berbeda dengan bahasa pemrograman C atau Pascal, di Python, sebuah variable tidak harus
dituliskan terlebih dahulu tipe datanya, tetapi langsung dapat diberikan nilai dari variable yang
dimaksud. Perhatikan contoh berikut :
Pada deklarasi variabel nama, umur, tinggi, dapat langsung dituliskan nilai dari variable, dan
python akan langsung membaca masing-masing type data tersebut, dimana nama bertipe string,
umur bertipe real, dan tinggi bertipe integer. Hal ini dibuktikan ketika pemanggilan variable umur
dan tinggi di awali dengan perintah str() yang mengkonversi dari bilangan ke string. Untuk tipe
data akan dibahas di subbab berikutnya. Penulisan variabel juga case sensitive, artanya penulaian
variabel Nama (N besar) dengan nama (n kecil) dianggap berbeda.
not in Returns True; jika nilai pada x tidak terdapat dalam x not in y
y
F.4. Contoh Program
1. Program Luas Lingkaran
Hasil Keluaran :
Hasil keluaran :
G. Logika Percabangan
Logika percabangan biasanya digunakan untuk menghasilkan jawaban Ya atau Tidak.
Dalam bentuk diskriptif, logika percabangan dapat menggunakan kalimat pertanyaan “Apakah..”.
sebagai contoh, ketika kita masuk atau login ke suatu aplikasi, sebenarnya dalam aplikasi tersebut
terdapat logika percabangan yang menanyakan “Apakah passsword yang dimasukkan benar?”.
Contoh lain; misalnya digunakan untuk menentukan bilangan bulat atau ganjil, maka algoritma
deskriptifnya dalam bentuk pertanyaan “Apakah bilangan dibagi 2 sama dengan 0?”.
Dalam bahasa pemrograman Python, logika percabangan menggunakan sintak if, elif atau else.
Berikut sintak logika percangan pada Python :
if logical_test1 :
pernyataan1_jika_benar_untuk_logika_tes1
pernyataan2_jika_benar_untuk_logika_tes1
pernyataan_seterusnya
elif logical_test2 :
pernyataan_jika_benar_untuk_logika_tes2
else :
pernyataan_jika_salah_untuk_logika_tes1_dan_2
Untuk pertanyaan yang lebih dari 1, maka pernyataan tersebut harus dalam satu identasi.
Contoh 1 listing program logika percabangan untuk menentukan password:
Contoh 2 listing program logika percabangan untuk menentukan bilangan genap dan ganjil:
Contoh set :
Hasil Keluaran :
Hasil keluaran baris pertama, adalah mencetak list yang baru dibuat, pada baris kedua, tambahkan
data baru “anggur” dan menyisipkan markisa di indek ke 0 pada list buah, kemudian baris ketiga,
indek ke 0 yang tadainya apel, dirubah menjadi ceri, sedang ke 4 adalah mencetak indek ke 0 dari
list buah, yaitu ceri.
I. Algoritma Perulangan
Seringkali hal yang kita lakukan sehari-hari adalah sesuatu yang diulang-ulang,
contohnya sebuah kendaraan berjalan menggunakan roda, sebenarnya adalah perulangan dari
putaran roda itu sendiri. Demikian pula ketika kita mengambil uang di ATM, dimana mesin ATM
akan mengeluarkan banyak lembar uang pecahan sebanyak atau diulang sebanyak jumlah uang
yang diambil / (dibagi) nominal pecahan. Misalnya kita mengambil uang sebanyak 1.000.000
sedangkan nominal 100.000 maka perulangan yang dilakukan sebanyak 10 kali. Dalam bahasa
Python, terdapat perulangan for dan while.
I.1. Sintak perulangan for :
1. nilai: adalah setiap item atau variabel penammpung yang diekstrak dari sequence.
2. sequence: adalah sebuah nilai yang bersifat iterable alias bisa diulang-ulang. Di antara tipe
data yang bersifat sequence atau iterable adalah list, tuple, string, dan lain sebagainya
3. Blok kode: yaitu statemen-statemen atau perintah-perintah tertentu yang akan dieksekusi
secara berulang (harus dalam blok identasi).
Penjelasan perulangan ini adalah for i (i adalah nama variabel penampung, boleh diganti apapun
sepanjang sesuai dengan penamaan variabel, in range(5) (angka 5 adalah angka bilangan bulat
yang menunjukkan banyaknya perulangan dilakukan).
I.3. For in List
List yang merupakan type data array, memiliki banyak data. Data dalam list dapat diakses
menggunakan perulangan for in
kota pada for tersebut, digunakan untuk menampung isi dari array, sedangkan perintah
print(kota) mencetak data yang berada di list listKota setiap perulangan dilakukan.
Perulangan while sangat berkaitan dengan variabel boolean, atau logical statement pada blok
kondisi . Karena penentuan kapan suatu blok kode akan diulang-ulang ditinjau dari True or False
dari suatu pernyataan logika pada blok kondisi. Sehingga jika suatu kondisi itu selalu benar, maka
perulangannya pun akan selalu di eksekusi. Sebagai contoh :
Pada perulangan while di atas, bagian blok program mencetak tulisan “Halo dunia!” tidak akan
berhenti, karena kondisi (1 + 2 == 3) akan selalu bernilai true. Kita bisa memaksanya berhenti
dengan menekan tombol Ctr + C jika menggunakan CLI, atau dengan cara menekan tombol stop
jika menggunakan IDE atau sejenisnya.
Agar kejadian pada perulangan yang tidak berhenti terjadi, kita harus menyertakan statemen pada
blok program agar sebuah kondisi menjadi false. Dari contoh di atas, dapat dimodifikasi menjadi
sebagai berikut :
Pada program di atas, pertama didefinisikan variabel i bernilai 0, selanjutnya dilakukan seleksi
kondisi “selama i (0) lebih kecil dari 1+2, maka print “Halo Dunia!’, kemudian variable i di eksesi
dengan i + 1, dimana pada posisi sekarang i = 0 + 1 (hasilnya i = 1). Kemudian naik lagi ke
perulangan while i (1) lebih kecil dari 1+2, karena “ya” akan mencetak “Halo Dunia!’, selanjutan
i = 1 + 1 (hasilnya i = 2), selanjutnya kembali ke loop while dimana i (2) lebih kecil 1+2, karena
ya akan mencetak “Halo Dunia!’, selanjutan i = 2 + 1 (hasilnya i = 3), selanjutnya kembali ke
loop while dimana i (3) lebih kecil 1+2, karena tidak ( 3 < 3), maka perulangan akan berhenti.
DAFTAR PUSTAKA