SlideShare a Scribd company logo
1 of 12
Download to read offline
Modul Teknik Pemrograman Mikroprosesor & Mikrokontroler SMK Kelas X
1 oleh : Beny Abdurrahman, S.Pd.
Modul 1
Pengenalan Algoritma dan Flowchart
Kompetensi Inti :
3. Memahami, menerapkan, menganalisis, dan mengevaluasi tentang pengetahuan
faktual, konseptual, operasional dasar, dan metakognitif sesuai dengan bidang dan lingkup
Simulasi dan Komunikasi Digital, dan Dasar Bidang Teknologi dan Rekayasa pada tingkat
teknis, spesifik, detil, dan kompleks, berkenaan dengan ilmu pengetahuan, teknologi, seni,
budaya, dan humaniora dalam konteks pengembangan potensi diri sebagai bagian dari
keluarga, sekolah, dunia kerja, warga masyarakat nasional, regional, dan internasional.
4. Melaksanakan tugas spesifik dengan menggunakan alat, informasi, dan prosedur kerja
yang lazim dilakukan serta memecahkan masalah sesuai dengan lingkup Simulasi dan
Komuniksasi Digital, dan Dasar Bidang Teknologi dan Rekayasa.
Menampilkan kinerja di bawah bimbingan dengan mutu dan kuantitas yang terukur sesuai
dengan standar kompetensi kerja.
Menunjukkan keterampilan menalar, mengolah, dan menyaji secara efektif, kreatif,
produktif, kritis, mandiri, kolaboratif, komunikatif, dan solutif dalam ranah abstrak terkait
dengan pengembangan dari yang dipelajarinya di sekolah, serta mampu melaksanakan tugas
spesifik di bawah pengawasan langsung.
Menunjukkan keterampilan mempersepsi, kesiapan, meniru, membiasakan, gerak mahir,
menjadikan gerak alami dalam ranah konkret terkait dengan pengembangan dari yang
dipelajarinya di sekolah, serta mampu melaksanakan tugas spesifik di bawah pengawasan
langsung.
Kompetensi Dasar :
3.1. Memahami teknik pemecahan masalah matematis
4.1. Membuat urutan pemecahan masalah dengan menggunakan diagram alir
Tujuan Pembelajaran
Setelah melakukan pembelajaran, siswa diharapkan mampu :
1. Memahami poses pemecahan masalah secara matematis menggunakan algoritma
2. Membuat algoritma pemecahan dari suatu permasalahan secara matematis
3. Memahami urutan pemecahan masalah menggunakan flowchart
4. Membuat urutan pemecahan masalah dengan menggunakan diagram alir
Modul Teknik Pemrograman Mikroprosesor & Mikrokontroler SMK Kelas X
2 oleh : Beny Abdurrahman, S.Pd.
Apersepsi
Kemampuan membuat program (programming) sangat dibutuhkan oleh lulusan
elektronika. Jika kita amati produk-produk elektronika sekarang, hampir semua disebut
dengan sebutan pintar (smart) seperti misalnya smartphone, smartlamp, smart AC, smart car,
dan smarthome. Julukan tersebut diberikan karena produk-produk tersebut dapat berperilaku
menyesuaikan keadaan dengan sendirinya (otomatis).
Misalkan pada sebuah AC, dapat mendeteksi ada tidaknya manusia di dalam ruangan,
jika tidak ada orang, maka AC akan berada di mode hemat. Contoh yang lebih canggih adalah
smart car atau mobil tanpa supir. Disana mobil dapat berjalan dengan kecepatan tertentu. Dia
dapat mendeteksi kondisi jalan, dan menghindari rintangan di depannya. Menurut kamu
bagaimana dia bisa beroperasi secara aman?
Gambar 1 Mobil tanpa awak, salah satu contoh penerapan pemrograman dalam dunia
elektronika
Kemampuan produk elektronik beroperasi secara otomatis tidak terlepas dari adanya
programable IC yang ditanamkan pada peralatan tersebut. Semua kondisi rintangan yang
mungkin dialami, akan dideteksi oleh sensor. Dan dilakukan tindakan antisipasinya. Semua
itu dijalankan melalui program.
Sebelum membuat sebuah program, sangat penting untuk memahami proses yang akan
dilakukan oleh program tersebut. Semua berawal dari permasalahan yang ingin dipecahkan
Kemampuan memahami bahasa pemrograman bukanlah yang terpenting, karena jika kita
sudah memahami prosesnya, maka kita bisa mengimplementasikan program tersebut ke
dalam banyak bahasa pemrograman.
Sekarang coba temukan permasalahan di sekitarmu dan buatlah solusi pemecahan
masalahnya!
Modul Teknik Pemrograman Mikroprosesor & Mikrokontroler SMK Kelas X
3 oleh : Beny Abdurrahman, S.Pd.
Algoritma
Definisi Algoritma
Pemrograman dan algoritma adalah dua hal yang tidak dapat dipisahkan karena
pembuatan program akan lebih sulit dan lama tanpa mengetahui dengan pasti bagaimana
algoritma penyelesaian masalahnya. Definisi algoritma adalah urutan langkah-langkah logika
yang menyatakan suatu tugas dalam menyelesaikan suatu masalah.
Meskipun algoritma tidak dapat dipisahkan dengan pemrograman komputer tetapi jika
anda beranggapan bahwa algoritma identik dengan pemrograman komputer, anda salah
besar. Hal ini dikarenakan dalam kehidupan sehari-haripun seringkali kita berhadapan dengan
masalah-masalah yang kalau kita cermati mengikuti kaidah-kaidah penyelesaian secara
algoritma. Misalkan saja cara-cara memasak mie instan, membuat kopi atau teh, memasak
makanan yang dinyatakan dalam bentuk resep, dan masih banyak lagi yang semuanya itu
dapat kita sebut sebagai algoritma. Pada mie instan misalnya, biasanya pada bungkusnya
terdapat urutan langkah- langkah bagaimana cara memasak atau menyajikannya. Bila
langkah- langkah tersebut tidak logis, maka dapat dipastikan bahwa kita akan memperoleh
hasil yang tidak sesuai dengan yang diharapkan. Kita harus membaca satu demi satu
langkah- langkah pembuatannya kemudian mengikutinya agar memperoleh hasil yang baik.
Yang harus diingat disini adalah kita tidak harus mengikuti langkah- langkah yang sudah
diberikan, tetapi kita dapat memodifikasinya atau bahkan membuat resep atau cara baru yang
lebih baik tetapi menghasilkan hal yang sama (mempunyai tujuan yang sama), yaitu dapat
menikmati hasil masakan.
Demikian juga dengan pemrograman komputer, kita juga tidak harus mengikuti algoritma
yang sudah ada, tetapi kita dapat menambah ataupun mengurangi bahkan membuat
algoritma yang baru asalkan permasalahan yang ada dapat terpecahkan dengan baik.
Tahapan Pemrograman
Tahapan pembuatan program diawali dengan mendefinisikan masalah dan
menganalisanya. Hal ini mencakup penentuan tujuan pembuatan program, parameter yang
digunakan, fasilitas yang disediakan, algoritma yang diterapkan dan bahasa program yang
digunakan.
Langkah selanjutnya adalah merealisasikan program. Tahap realisasi ini dapat
berlangsung secara berkesinambungan. Dikarenakan proses pembuatan program bisa saja
masih menemukan ketidaksempurnaan, sehingga perlu dilakukan perbaikan. Adapun
langkah-langkah pembuatan program bisa dilihat dalam diagram berikut :
Modul Teknik Pemrograman Mikroprosesor & Mikrokontroler SMK Kelas X
4 oleh : Beny Abdurrahman, S.Pd.
Gambar 2 Diagram alir langkah-langkah pembuatan program
Ciri-ciri algoritma
Algoritma memiliki ciri-ciri yaitu ada input dan output, efektif dan efisien, serta terstruktur.
Sebuah algoritma dikatakan baik jika :
1. Tepat, benar, sederhana, standar dan efektif
2. Logis, terstruktur dan sistematis
3. Semua operasi terdefinisi
4. Semua proses harus berakhir setelah sejumlah langkah dilakukan
5. Ditulis dengan bahasa yang standar dengan format pemrograman agar mudah
untuk diimplementasikan dan tidak menimbulkan arti ganda.
Oleh karena algoritma digunakan untuk memecahkan suatu permasalahan maka
algoritma tersebut harus menghasilkan suatu jawaban atas permasalahan tersebut. Dengan
kata lain algoritma harus memiliki paling tidak satu keluaran. Sedangkan masukan dari
algoritma dapat nol (tidak ada) atau banyak masukan (data). Yang dimakdud dengan nol
masukan adalah jika algoritma itu hanya untuk menampilkan suatu informasi saja. Misalnya
output “Hello World” yang sering kita temukan pada tutorial- tutorial saat kita baru belajar
membuat program dari suatu bahasa pemrograman tertentu. Kedua hal diatas, memiliki paling
sedikit satu keluaran dan dapat memiliki nol atau banyak masukan, merupakan dua dari
beberapa ciri algoritma.
Tugas algoritma dikatakan selesai kalau algoritma tersebut sudah menghasilkan satu
atau lebih jawaban atas permasalahan yang ada. Dengan demikian setelah mengerjakan
Modul Teknik Pemrograman Mikroprosesor & Mikrokontroler SMK Kelas X
5 oleh : Beny Abdurrahman, S.Pd.
langkah-langkah penyelesaian masalah, maka algoritma tersebut harus berhenti tidak
melakukan proses apapun. Berhenti di sini artinya adalah jika diterjemahkan ke dalam bentuk
program dan program dijalankan, maka setelah menghasilkan suatu output, program dapat
langsung berhenti atau menunggu instruksi lebih lanjut dari pengguna program seperti
mengulang perhitungan lagi, keluar program (menghentikan program), dan lain sebagainya.
Dengan demikian ciri ketiga dari algoritma adalah setelah selesai mengerjakan langkah-
langkah penyelesaian masalah, algoritma harus berhenti.
Ciri keempat dari algoritma adalah setiap langkah yang dibuat harus dibuat
sesederhana mungkin tetapi efektif agar dapat dipahami oleh pemroses (manusia maupun
komputer) sehingga dapat diselesaikan dalam waktu yang singkat serta masuk akal.
Sedangkan ciri yang terakhir adalah setiap langkah dalam algoritma harus didefinisikan
dengan tepat dan jelas sehingga tidak berarti-dua (ambiguitas) sehingga menimbulkan
kesalahan dalam penafsiran oleh pemroses
Contoh algoritma sehari-hari
Untuk memahami algoritma lebih dalam, simak contoh algoritma aktifitas sehari-hari
berikut ini. Dicontohkan sebuah permasalahan penukaran isi dari dua gelas. Diberikan dua
buah gelas A dan B, gelasA berisi air teh dan gelasB berisi air kopi. Pertukarkan isi gelas
tersebut sehingga menghasilkan gelasA yang semula berisi air teh menjadi berisi air kopi dan
gelasB yang semula berisi air kopi menjadi berisi air teh. Ilustrasi permasalahan ini dapat
dilihat pada Gambar
Gambar 3 Permasalahan Bagaimana memindah isi kedua gelas tersebut
Cara penyelesaian permasalahan ini adalah sebagai berikut. Untuk mempertukarkan isi
gelas dengan benar, maka diperlukan gelas tambahan yang kita namakan gelas C sebagai
tempat penampungan sementara.Berikut Algoritmanya:
1. Siapkan gelas cadangan C
2. Tuangkan air teh dari gelas A ke dalam gelas C (gelas A menjadi kosong).
3. Tuangkan air kopi dari gelas B ke dalam gelas A (gelas B menjadi kosong).
4. Tuangkan air teh dari gelas C ke dalam gelas B.
Ilustrasi langkah-langkah algoritma dapat dilihat pada Gambar
Modul Teknik Pemrograman Mikroprosesor & Mikrokontroler SMK Kelas X
6 oleh : Beny Abdurrahman, S.Pd.
Gambar 4 Ilustrasi algoritma memindahkan isi gelas
Dari contoh tersebut dapat dilihat bahwa penyelesaian permasalahan penukaran isi dua
buah gelas sangat sederhana. Disini digunakan urutan langkah yang masuk akal atau logis
sehingga isi dari kedua nya sudah berpindah media, dari A ke B dan B ke A. Inilah yang
dinamakan “Algoritma”, urutan penyelesaian sebuah permasalahan dengan urutan dan
langkah yang logis dan masuk akal menghasilkan sesuatu langkah yang benar.
Contoh algoritma mencari luas lingkaran
Contoh lain penggunaan logika dan algoritma adalah membuat algoritma untuk
menghitung luas lingkaran, caranya:
1. Menentukan nilai jari-jari (r) lingkaran.
2. Menentukan nilai phi.
3. Menghitung luas lingkaran dengan cara mengkalikan nilai jari-jari (r) dengan (r) lalu
dikalikan dengan nilai phi.
4. Maka luas lingkaran ditemukan.
5. Selesai.
Saat membuat sebuah algoritma, sebaiknya jangan berfikir terlalu rumit tentang sebuah
masalah, karena belum tentu masalah itu serumit yang kita pikir. Pikirkan hal yang paling
sederhana untuk menyelesaikan masalah itu, sehingga tidak terjebak dalam pikiran rumit
yang dibuat sendiri. Meski demikian jangan meremehkan masalah sekecil apapun, tapi berfikir
sederhana untuk menghasilkan solusi yang efektif
Dalam menentukan algoritma untuk menyelesaikan suatu permasalahan, mungkin kita
dihadapkan oleh beberapa pilihan algoritma. Oleh karena itu kita harus memiliki ramburambu
dalam menentukan pilihan algoritma. Pertimbangan dalam pemilihan algoritma adalah,
pertama, algoritma haruslah benar. Artinya algoritma akan memberikan keluaran sesuai
seperti yang diharapkan dari sejumlah masukan yang diberikan. Tidak peduli sebagus apapun
algoritma, jika memberikan keluaran yang salah, maka sudah pasti algoritma tersebut
Modul Teknik Pemrograman Mikroprosesor & Mikrokontroler SMK Kelas X
7 oleh : Beny Abdurrahman, S.Pd.
bukanlah algoritma yang baik. Pertimbangan kedua yang harus diperhatikan adalah kita harus
mengetahuiseberapa baik hasil yang dicapai oleh algoritma tersebut. Hal ini pentingterutama
pada algoritma yang memerlukan aproksimasi hasil yaitu algoritma yang hasilnya hanya
berupa pendekatan. Algoritma yangbaik harus mampu memberikan hasil yang sedekat
mungkin dengan nilaiyang sebenarnya.Ketiga adalah efisiensi algoritma. Efisiensi algoritma
dapat ditinjau dari dua hal yaitu efisiensi waktu dan memori.
Meskipun algoritma memberikan keluaran yang benar atau paling mendekati, tetapi jika
kita harus menunggu lama untuk mendapatkan hasil semisal berjam-jam untuk mendapatkan
keluarannya maka biasanya algoritma tersebut biasanyatidak akan menjadi pilihan utama,
setiap orang menginginkan keluaran yang relatif cepat. Begitu juga dengan memori, semakin
besar memori yang terpakai maka semakin jelek algoritma tersebut.Dalam kenyataannya,
setiap orang bisa membuat algoritma yang berbeda untuk menyelesaikan suatu
permasalahan, walaupun terjadi perbedaan dalam menyusun algoritma, tentunya kita
mengharapkan keluaran yang mirip atau sama. Jika dihadapkan pada permasalahan seperti
ini maka sebaiknya pilih algoritma yang paling efisien dan cepat.
Tujuan dari belajar algoritma adalah agar dapat membiasakan diri melakukan suatu
perencanaan apabila menyelesaikan suatu masalah. Karena suatu permasalahan yang
diselesaikan dengan suatu perencanaan yang matang maka akan mendapatkan solusi yang
lebih optimal dibandingkan menyelesaikan masalah tanpa menggunakan suatu perencanaan.
Flowchart
Flowchart adalah penggambaran secara grafik dari langkah-langkah dan urut-urutan
prosedur dari suatu program. Flowchart menolong analis dan programmer untuk
memecahkan masalah kedalam segmen-segmen yang lebih kecil dan menolong dalam
menganalisis alternatif-alternatif lain dalam pengoperasian.
Flowchart biasanya mempermudah penyelesaian suatu masalah khususnya
masalah yang perlu dipelajari dan dievaluasi lebih lanjut. Bila seorang analis dan programmer
akan membuat flowchart, ada beberapa petunjuk yang harus diperhatikan, seperti :
1. Flowchart digambarkan dari halaman atas ke bawah dan dari kiri ke kanan.
2. Aktivitas yang digambarkan harus didefinisikan secara hati-hati dan definisi ini harus
dapat dimengerti oleh pembacanya.
3. Kapan aktivitas dimulai dan berakhir harus ditentukan secara jelas.
4. Setiap langkah dari aktivitas harus diuraikan dengan menggunakan deskripsi kata
kerja.
5. Setiap langkah dari aktivitas harus berada pada urutan yang benar.
6. Lingkup dan range dari aktifitas yang sedang digambarkan harus ditelusuri dengan
hati-hati. Percabangan-percabangan yang memotong aktivitas yang sedang
Modul Teknik Pemrograman Mikroprosesor & Mikrokontroler SMK Kelas X
8 oleh : Beny Abdurrahman, S.Pd.
digambarkan tidak perlu digambarkan pada flowchart yang sama. Simbol konektor
harus digunakan dan percabangannya diletakan pada halaman yang terpisah atau
hilangkan seluruhnya bila percabangannya tidak berkaitan dengan sistem.
7. Gunakan simbol-simbol flowchart yang standar.
Simbol Simbol dalam Diagram Alir
Adapun simbol-simbol yang sering digunakan untuk menyusun flow chart adalah sebagai
berikut :
1) Masukan
Masukan merupakan kegiatan penerimaan data yang disimbolkan dengan jajaran
genjang. Kita dapat menuliskan masukan yang diperlukan pada suatu waktu secara satu per
satu maupun secara keseluruhan, akan tetapi untuk alasan efisiensi ruang gambar biasanya
masukan dituliskan bersamaan secara keseluruhan.
Gambar 5 Simbol Masukan
2) Masukan manual
Untuk masukan secara manual yang dimasukkan melalui keyboard, atau perangkat input
lainnya seperti barcode reader, kita dapat menggunakan simbol masukan secara manual.
Sama dengan simbol masukan, pada simbol masukan manual ini untuk alasan efisiensi ruang
gambar biasanya masukan juga dituliskan bersamaan secara keseluruhan.
Gambar 6 Simbol masukan manual
3) Proses
Data yang dimasukan kemudian diproses untuk menghasilkan jawaban atas persoalan
yang ingin dipecahkan. Kegiatan memproses data ini disimbolkan dengan persegi panjang.
Sama seperti simbol pada masukan, penulisan operasi-operasi pada data dapat dilakukan
secara satu per satu maupun secara keseluruhan.
Gambar 7 Simbol Proses
4) Keluaran
Keluaran adalah hasil dari pemrosesan data dan merupakan jawaban atas permasalahan
yang ada. Keluaran ini harus ditampilkan pada layar monitor agar dapat dibaca oleh pengguna
Modul Teknik Pemrograman Mikroprosesor & Mikrokontroler SMK Kelas X
9 oleh : Beny Abdurrahman, S.Pd.
program. Sama seperti aturan pada simbol-simbol sebelumnya, penulisan hasil pemrosesan
data dapat dilakukan secara satu per satu maupun secara keseluruhan.
Gambar 8 Simbol Keluaran
5) Percabangan
Yang dimaksud dengan percabangan disini adalah suatu kegiatan untuk mengecek atau
memeriksa suatu keadaan apakah memenuhi suatu kondisi tertentu atau tidak. Jadi dalam
percabangan ini, kita harus menuliskan kondisi apa yang harus dipenuhi oleh suatu keadaan.
Hasil dari pemeriksaan keadaan ini adalah YA atau TIDAK. Jika pemeriksaan keadaan
menghasilkan kondisi yang benar, maka jalur yang dipilih adalah jalur yang berlabel YA,
sedangkan jika pemeriksaan keadaan menghasilkan kondisi yang salah, maka jalur yang
dipilih adalah jalur yang berlabel TIDAK. Berbeda dengan aturan pada simbol-simbol
sebelumnya, penulisan kondisi harus dilakukan secara satu per satu (satu notasi
percabangan untuk satu kondisi).
Gambar 9 Simbol Percabangan
6) Sub Rutin / sub program
Sub rutin adalah suatu bagian dalam program yng dapat melakukan atau diberi tugas
tertentu. Jadi sub rutin merupakan “program kecil” yang menjadi bagian dari suatu program
yang besar. Sub rutin ada dua macam, yaitu prosedur (procedure) dan fungsi (function).
Perbedaan antara keduanya adalah setelah dipanggil prosedur tidak mengembalikan suatu
nilai sedangkan fungsi selalu mengembalikan suatu nilai.
Sub rutin memiliki suatu flow chart yang berdiri sendiri diluar flow chart utama. Jadi
dalam simbol sub rutin, kita cukup menuliskan nama sub rutinnya saja, sama seperti jika kita
melakukan pemanggilan terhadap suatu sub rutin pada program utama (main program) yang
akan anda pelajari pada bagian atau bab lain pada buku ini. Aturan penulisan simbol sub rutin
sama dengan simbol percabangan, yaitu penulisan nama sub rutin dilakukan secara satu per
satu.
Gambar 10 Simbol sub rutin
Modul Teknik Pemrograman Mikroprosesor & Mikrokontroler SMK Kelas X
10 oleh : Beny Abdurrahman, S.Pd.
7) Arah aliran
Arah aliran merupakan jalur yang harus diikuti dan merupakan garis penghubung yang
menghubungkan setiap langkah pemecahan masalah yang ada dalam flow chart. Arah aliran
ini disimbolkan dengan anak panah
Gambar 11 Simbol Arah Aliran
8) Terminator
Terminator berfungsi untuk menandai titik awal dan titik akhir dari suatu flow chart. Simbol
terminator ini diberi label MULAI untuk menandai titik awal dari flow chart dan label SELESAI
untuk menandai titik akhir dari flow chart. Jadi dalam sebuah flow chart harus ada dua
simbol terminator, yaitu simbol terminator untuk MULAI dan SELESAI.
Gambar 12 Simbol terminator
9) Konektor
Konektor berfungsi untuk menghubungkan suatu langkah dengan langkah lain dalam
sebuah flow chart dengan keadaan on page atau off page. Yang dimaksud dengan konektor
on page adalah konektor yang digunakan untuk menghubungkan suatu langkah dengan
langkah lain dalam satu halaman. Sedangkan konektor off page adalah konektor untuk
menghubungkan suatu langkah dengan langkah lain dalam halaman yang berbeda. Konektor
ini digunakan apabila ruang gambar yang kita gunakan untuk menggambar flow chart tidak
cukup luas untuk memuat flow chart secara utuh, jadi perlu dipisahkan atau digambar di
halaman yang berbeda.
(a) (b)
Gambar 13 Simbol konektor on page (a) dan off page (b)
Modul Teknik Pemrograman Mikroprosesor & Mikrokontroler SMK Kelas X
11 oleh : Beny Abdurrahman, S.Pd.
10) Dokumen
Dokumen merupakan tampilan data secara fisik yang dapat dibaca oleh manusia. Data
ini biasanya merupakan hasil pemecahan masalah (informasi) yang telah dicetak (print out).
Gambar 14 Simbol dokumen
Contoh pembuatan diagram alir (flowchart)
Untuk memahami lebih dalam mengenai flowchart ini, dibuat sebuah studi kasus
sederhana. Misalnya buatlah sebuah rancangan program dengan menggunakan flowchart
menentukan keliling dan luas lingkaran. Rumus untuk menentukan luas lingkaran adalah
Luas = PI*radius*radius, dan keliling lingkaran adalah keliling=2*PI*radius, dengan Phi adalah
sebuah konstanta 3.14. Flowchart permasalahan ini dapat dilihat
Gambar 15 Diagram alir proses perhitungan Luas dan keliling lingkaran
Contoh selanjutnya, flowchart yang mengandung fungsi percabangan. Misal untuk
permasalahan apakah suatu bilangan termasuk bilangan ganjil atau genap. Cara
menyelesaikan permasalahan ini adalah dengan membagi bilangan tersebut dengan angka
2. Jika nilai sisa pembagiannya adalah 0, maka bilangan tersebut adalah bilangan genap. Jika
nilai sisa pembagian adalah 1, maka bilangan tersebut adalah bilangan ganjil. Operasi
aritmatika yang digunakan adalah modulo (%). Flowchart permasalahan ini dapat dilihat pada
gambar :
Modul Teknik Pemrograman Mikroprosesor & Mikrokontroler SMK Kelas X
12 oleh : Beny Abdurrahman, S.Pd.
Gambar 16 Contoh diagram alir dengan percabangan
Latihan
1. Apa yang dimaksud dengan algoritma?
2. Sebutkan ciri-ciri algoritma!
3. Buatlah algoritma sederhana mencari bilangan prima!
4. Buatlah diagram alir soal 3!
5. Buatlah algoritma mencari luas dan keliling persegi panjang!
6. Buatlah diagram alir soal nomor 5!
Daftar Referensi
Buku Logika dan Algoritma, Ali Ridho Barakbah S.Kom dkk
Bahasa Pemrograman untuk Sekolah Menengah Kejuruan, Suprapto dkk.

More Related Content

What's hot

Simbol Komponen Elektronika
Simbol Komponen ElektronikaSimbol Komponen Elektronika
Simbol Komponen ElektronikaBerlinda Putri
 
05 penguat depan audio
05 penguat depan audio05 penguat depan audio
05 penguat depan audioagus saefudin
 
MAKALAH ARUS AC DAN ARUS DC
MAKALAH ARUS AC DAN ARUS DCMAKALAH ARUS AC DAN ARUS DC
MAKALAH ARUS AC DAN ARUS DCChairun Nisa
 
Laporan Praktikum Algoritma
Laporan Praktikum AlgoritmaLaporan Praktikum Algoritma
Laporan Praktikum AlgoritmaEnvaPya
 
7. instrumen volt meter dan ammeter
7. instrumen volt meter dan ammeter7. instrumen volt meter dan ammeter
7. instrumen volt meter dan ammeterSimon Patabang
 
Ii Rangkaian Listrik Fasor
Ii Rangkaian Listrik FasorIi Rangkaian Listrik Fasor
Ii Rangkaian Listrik FasorFauzi Nugroho
 
Aktuator pada robot
Aktuator pada robotAktuator pada robot
Aktuator pada robot111903102021
 
Transmisi Daya Listrik
Transmisi Daya ListrikTransmisi Daya Listrik
Transmisi Daya ListrikMulia Damanik
 
Rumus menghitung kecepatan sinkron pada kelistrikkan
Rumus menghitung kecepatan sinkron pada kelistrikkanRumus menghitung kecepatan sinkron pada kelistrikkan
Rumus menghitung kecepatan sinkron pada kelistrikkanHerry SR
 
Laporan Praktikum Flip Flop
Laporan Praktikum Flip FlopLaporan Praktikum Flip Flop
Laporan Praktikum Flip FlopAnarstn
 
Rangkaian Seri dan Paralel
Rangkaian Seri dan ParalelRangkaian Seri dan Paralel
Rangkaian Seri dan ParalelD'jihad Adja
 
Analisa sistem tenaga(sistem per unit)-1
Analisa sistem tenaga(sistem per unit)-1Analisa sistem tenaga(sistem per unit)-1
Analisa sistem tenaga(sistem per unit)-1Faizin Pass
 
Materi Amplitude Modulation (AM)
Materi Amplitude Modulation (AM) Materi Amplitude Modulation (AM)
Materi Amplitude Modulation (AM) Ferdi Dirgantara
 
Makalah Sistem Digital
Makalah Sistem DigitalMakalah Sistem Digital
Makalah Sistem DigitalMimikri Dony
 
Laporan Praktikum Gerbang logika
Laporan Praktikum Gerbang logikaLaporan Praktikum Gerbang logika
Laporan Praktikum Gerbang logikaFebriTiaAldila
 
Ebook RANGKAIAN LISTRIK -- mohamad ramdhani
Ebook RANGKAIAN LISTRIK -- mohamad ramdhaniEbook RANGKAIAN LISTRIK -- mohamad ramdhani
Ebook RANGKAIAN LISTRIK -- mohamad ramdhaniRinanda S
 
2.5 dasar dasar teknik elektronika-ok
2.5 dasar dasar teknik elektronika-ok2.5 dasar dasar teknik elektronika-ok
2.5 dasar dasar teknik elektronika-okRohadiBantul1
 

What's hot (20)

Simbol Komponen Elektronika
Simbol Komponen ElektronikaSimbol Komponen Elektronika
Simbol Komponen Elektronika
 
05 penguat depan audio
05 penguat depan audio05 penguat depan audio
05 penguat depan audio
 
MAKALAH ARUS AC DAN ARUS DC
MAKALAH ARUS AC DAN ARUS DCMAKALAH ARUS AC DAN ARUS DC
MAKALAH ARUS AC DAN ARUS DC
 
Laporan Praktikum Algoritma
Laporan Praktikum AlgoritmaLaporan Praktikum Algoritma
Laporan Praktikum Algoritma
 
7. instrumen volt meter dan ammeter
7. instrumen volt meter dan ammeter7. instrumen volt meter dan ammeter
7. instrumen volt meter dan ammeter
 
Ii Rangkaian Listrik Fasor
Ii Rangkaian Listrik FasorIi Rangkaian Listrik Fasor
Ii Rangkaian Listrik Fasor
 
Aktuator pada robot
Aktuator pada robotAktuator pada robot
Aktuator pada robot
 
Transmisi Daya Listrik
Transmisi Daya ListrikTransmisi Daya Listrik
Transmisi Daya Listrik
 
Modul Pemrograman Bahasa Assembly
Modul Pemrograman Bahasa AssemblyModul Pemrograman Bahasa Assembly
Modul Pemrograman Bahasa Assembly
 
Rumus menghitung kecepatan sinkron pada kelistrikkan
Rumus menghitung kecepatan sinkron pada kelistrikkanRumus menghitung kecepatan sinkron pada kelistrikkan
Rumus menghitung kecepatan sinkron pada kelistrikkan
 
Laporan Praktikum Flip Flop
Laporan Praktikum Flip FlopLaporan Praktikum Flip Flop
Laporan Praktikum Flip Flop
 
8 rangkaian rlc seri
8 rangkaian rlc seri8 rangkaian rlc seri
8 rangkaian rlc seri
 
Rangkaian Seri dan Paralel
Rangkaian Seri dan ParalelRangkaian Seri dan Paralel
Rangkaian Seri dan Paralel
 
Analisa sistem tenaga(sistem per unit)-1
Analisa sistem tenaga(sistem per unit)-1Analisa sistem tenaga(sistem per unit)-1
Analisa sistem tenaga(sistem per unit)-1
 
Materi Amplitude Modulation (AM)
Materi Amplitude Modulation (AM) Materi Amplitude Modulation (AM)
Materi Amplitude Modulation (AM)
 
Makalah Sistem Digital
Makalah Sistem DigitalMakalah Sistem Digital
Makalah Sistem Digital
 
Laporan Praktikum Gerbang logika
Laporan Praktikum Gerbang logikaLaporan Praktikum Gerbang logika
Laporan Praktikum Gerbang logika
 
Ebook RANGKAIAN LISTRIK -- mohamad ramdhani
Ebook RANGKAIAN LISTRIK -- mohamad ramdhaniEbook RANGKAIAN LISTRIK -- mohamad ramdhani
Ebook RANGKAIAN LISTRIK -- mohamad ramdhani
 
2.5 dasar dasar teknik elektronika-ok
2.5 dasar dasar teknik elektronika-ok2.5 dasar dasar teknik elektronika-ok
2.5 dasar dasar teknik elektronika-ok
 
Motor dc.
Motor dc.Motor dc.
Motor dc.
 

Similar to Algoritma Pemrograman Mikrokontroler

Dasar Algoritma
Dasar Algoritma Dasar Algoritma
Dasar Algoritma casnadi
 
Pengantar Algoritma Dan Program
Pengantar Algoritma Dan ProgramPengantar Algoritma Dan Program
Pengantar Algoritma Dan ProgramAkmal Fajar
 
Diktat kuliah Algoritma dan Pemograman
Diktat kuliah Algoritma dan PemogramanDiktat kuliah Algoritma dan Pemograman
Diktat kuliah Algoritma dan PemogramanPisca Prasetyo
 
Bab 1 pengantar algoritma
Bab 1 pengantar algoritmaBab 1 pengantar algoritma
Bab 1 pengantar algoritmaKang Koko
 
Algoritma & Pemrograman.pptx
Algoritma & Pemrograman.pptxAlgoritma & Pemrograman.pptx
Algoritma & Pemrograman.pptxRijalRipai1
 
Dasar pemrograman
Dasar pemrogramanDasar pemrograman
Dasar pemrogramanUNTUNGSG
 
Algoritma dan Flowchart1.ppt
Algoritma dan Flowchart1.pptAlgoritma dan Flowchart1.ppt
Algoritma dan Flowchart1.pptBKKSMKN2Jombang
 
Sejarah Algoritma
Sejarah Algoritma Sejarah Algoritma
Sejarah Algoritma casnadi
 
Praktikum Algoritma Pemrograman
Praktikum Algoritma PemrogramanPraktikum Algoritma Pemrograman
Praktikum Algoritma PemrogramanWahyu Widodo
 
Module algoritma
Module algoritma Module algoritma
Module algoritma Rony BolaNk
 
Micro teaching konsep logika algoritma
Micro teaching konsep logika algoritmaMicro teaching konsep logika algoritma
Micro teaching konsep logika algoritmaApriyanto_apo
 
Algoritma pemrograman terstruktur
Algoritma pemrograman terstrukturAlgoritma pemrograman terstruktur
Algoritma pemrograman terstrukturRaden Maulana
 
Laporan kerusakan kendaraan motor
Laporan kerusakan kendaraan motorLaporan kerusakan kendaraan motor
Laporan kerusakan kendaraan motorrahmatbomber1234
 
Laporan kerusakan kendaraan motor
Laporan kerusakan kendaraan motorLaporan kerusakan kendaraan motor
Laporan kerusakan kendaraan motorrahmatbomber1234
 
Makalah algoritma dan hubungannya dengan pemrograman
Makalah algoritma dan hubungannya dengan pemrogramanMakalah algoritma dan hubungannya dengan pemrograman
Makalah algoritma dan hubungannya dengan pemrogramanwanakuroyuri
 
Makalah algoritma dan hubungannya dengan pemrograman
Makalah algoritma dan hubungannya dengan pemrogramanMakalah algoritma dan hubungannya dengan pemrograman
Makalah algoritma dan hubungannya dengan pemrogramanwanakuroyuri
 

Similar to Algoritma Pemrograman Mikrokontroler (20)

Dasar Algoritma
Dasar Algoritma Dasar Algoritma
Dasar Algoritma
 
Pengantar Algoritma Dan Program
Pengantar Algoritma Dan ProgramPengantar Algoritma Dan Program
Pengantar Algoritma Dan Program
 
Diktat kuliah Algoritma dan Pemograman
Diktat kuliah Algoritma dan PemogramanDiktat kuliah Algoritma dan Pemograman
Diktat kuliah Algoritma dan Pemograman
 
Bab 1 pengantar algoritma
Bab 1 pengantar algoritmaBab 1 pengantar algoritma
Bab 1 pengantar algoritma
 
Algoritam1
Algoritam1Algoritam1
Algoritam1
 
Materi metode numerik
Materi metode numerikMateri metode numerik
Materi metode numerik
 
Algoritma Pemrogaman
Algoritma PemrogamanAlgoritma Pemrogaman
Algoritma Pemrogaman
 
Algoritma & Pemrograman.pptx
Algoritma & Pemrograman.pptxAlgoritma & Pemrograman.pptx
Algoritma & Pemrograman.pptx
 
Dasar pemrograman
Dasar pemrogramanDasar pemrograman
Dasar pemrograman
 
Algoritma dan Flowchart1.ppt
Algoritma dan Flowchart1.pptAlgoritma dan Flowchart1.ppt
Algoritma dan Flowchart1.ppt
 
Sejarah Algoritma
Sejarah Algoritma Sejarah Algoritma
Sejarah Algoritma
 
Praktikum Algoritma Pemrograman
Praktikum Algoritma PemrogramanPraktikum Algoritma Pemrograman
Praktikum Algoritma Pemrograman
 
Module algoritma
Module algoritma Module algoritma
Module algoritma
 
Micro teaching konsep logika algoritma
Micro teaching konsep logika algoritmaMicro teaching konsep logika algoritma
Micro teaching konsep logika algoritma
 
Algoritma pemrograman terstruktur
Algoritma pemrograman terstrukturAlgoritma pemrograman terstruktur
Algoritma pemrograman terstruktur
 
Dasar pemrograman ( algorithma pemrograman )
Dasar pemrograman ( algorithma pemrograman )Dasar pemrograman ( algorithma pemrograman )
Dasar pemrograman ( algorithma pemrograman )
 
Laporan kerusakan kendaraan motor
Laporan kerusakan kendaraan motorLaporan kerusakan kendaraan motor
Laporan kerusakan kendaraan motor
 
Laporan kerusakan kendaraan motor
Laporan kerusakan kendaraan motorLaporan kerusakan kendaraan motor
Laporan kerusakan kendaraan motor
 
Makalah algoritma dan hubungannya dengan pemrograman
Makalah algoritma dan hubungannya dengan pemrogramanMakalah algoritma dan hubungannya dengan pemrograman
Makalah algoritma dan hubungannya dengan pemrograman
 
Makalah algoritma dan hubungannya dengan pemrograman
Makalah algoritma dan hubungannya dengan pemrogramanMakalah algoritma dan hubungannya dengan pemrograman
Makalah algoritma dan hubungannya dengan pemrograman
 

More from Beny Abd

Modul 2 teknik pemrograman mengenal bahasa c dan compiler
Modul 2 teknik pemrograman mengenal bahasa c dan compilerModul 2 teknik pemrograman mengenal bahasa c dan compiler
Modul 2 teknik pemrograman mengenal bahasa c dan compilerBeny Abd
 
Bab 5 Pengolahan Input Output
Bab 5  Pengolahan Input OutputBab 5  Pengolahan Input Output
Bab 5 Pengolahan Input OutputBeny Abd
 
Bab 4. Penggunaan Software AVR Studio 4, Simulasi dan Downloader
Bab 4. Penggunaan Software  AVR Studio 4, Simulasi dan DownloaderBab 4. Penggunaan Software  AVR Studio 4, Simulasi dan Downloader
Bab 4. Penggunaan Software AVR Studio 4, Simulasi dan DownloaderBeny Abd
 
Modul Mikrokontroler - Bab 3. Pemrograman Mikrokontroler
Modul Mikrokontroler - Bab 3. Pemrograman MikrokontrolerModul Mikrokontroler - Bab 3. Pemrograman Mikrokontroler
Modul Mikrokontroler - Bab 3. Pemrograman MikrokontrolerBeny Abd
 
Modul Gambar Teknik : KB2. Simbol Elektronika
Modul Gambar Teknik : KB2. Simbol ElektronikaModul Gambar Teknik : KB2. Simbol Elektronika
Modul Gambar Teknik : KB2. Simbol ElektronikaBeny Abd
 
Pengenalan alat dan bahan gambar teknik
Pengenalan alat dan bahan gambar teknikPengenalan alat dan bahan gambar teknik
Pengenalan alat dan bahan gambar teknikBeny Abd
 
Induktor dan transformator
Induktor dan transformatorInduktor dan transformator
Induktor dan transformatorBeny Abd
 
Melakukan Troubleshooting Hasil Install Home Theater
Melakukan Troubleshooting Hasil Install Home TheaterMelakukan Troubleshooting Hasil Install Home Theater
Melakukan Troubleshooting Hasil Install Home TheaterBeny Abd
 
Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1 dan 6.1
Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1 dan 6.1Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1 dan 6.1
Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1 dan 6.1Beny Abd
 
Menempatkan monitor gambar sesuai dengan jarak tempat duduk
Menempatkan monitor gambar sesuai dengan jarak tempat dudukMenempatkan monitor gambar sesuai dengan jarak tempat duduk
Menempatkan monitor gambar sesuai dengan jarak tempat dudukBeny Abd
 
TV Proyektor dalam Home Theater
TV Proyektor dalam Home TheaterTV Proyektor dalam Home Theater
TV Proyektor dalam Home TheaterBeny Abd
 
Merawat Home Theater
Merawat Home Theater Merawat Home Theater
Merawat Home Theater Beny Abd
 
Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1, 5.1...
Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1, 5.1...Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1, 5.1...
Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1, 5.1...Beny Abd
 
Kebutuhan Peralatan Install Home Theater
Kebutuhan Peralatan Install Home TheaterKebutuhan Peralatan Install Home Theater
Kebutuhan Peralatan Install Home TheaterBeny Abd
 
Komponen pasif induktor
Komponen pasif induktorKomponen pasif induktor
Komponen pasif induktorBeny Abd
 
Elektronika Dasar - Kapasitor
Elektronika Dasar - KapasitorElektronika Dasar - Kapasitor
Elektronika Dasar - KapasitorBeny Abd
 
Elektronika Dasar - Resistor
Elektronika Dasar - ResistorElektronika Dasar - Resistor
Elektronika Dasar - ResistorBeny Abd
 

More from Beny Abd (18)

Modul 2 teknik pemrograman mengenal bahasa c dan compiler
Modul 2 teknik pemrograman mengenal bahasa c dan compilerModul 2 teknik pemrograman mengenal bahasa c dan compiler
Modul 2 teknik pemrograman mengenal bahasa c dan compiler
 
Bab 5 Pengolahan Input Output
Bab 5  Pengolahan Input OutputBab 5  Pengolahan Input Output
Bab 5 Pengolahan Input Output
 
Bab 4. Penggunaan Software AVR Studio 4, Simulasi dan Downloader
Bab 4. Penggunaan Software  AVR Studio 4, Simulasi dan DownloaderBab 4. Penggunaan Software  AVR Studio 4, Simulasi dan Downloader
Bab 4. Penggunaan Software AVR Studio 4, Simulasi dan Downloader
 
Modul Mikrokontroler - Bab 3. Pemrograman Mikrokontroler
Modul Mikrokontroler - Bab 3. Pemrograman MikrokontrolerModul Mikrokontroler - Bab 3. Pemrograman Mikrokontroler
Modul Mikrokontroler - Bab 3. Pemrograman Mikrokontroler
 
Modul Gambar Teknik : KB2. Simbol Elektronika
Modul Gambar Teknik : KB2. Simbol ElektronikaModul Gambar Teknik : KB2. Simbol Elektronika
Modul Gambar Teknik : KB2. Simbol Elektronika
 
Pengenalan alat dan bahan gambar teknik
Pengenalan alat dan bahan gambar teknikPengenalan alat dan bahan gambar teknik
Pengenalan alat dan bahan gambar teknik
 
Dioda
DiodaDioda
Dioda
 
Induktor dan transformator
Induktor dan transformatorInduktor dan transformator
Induktor dan transformator
 
Melakukan Troubleshooting Hasil Install Home Theater
Melakukan Troubleshooting Hasil Install Home TheaterMelakukan Troubleshooting Hasil Install Home Theater
Melakukan Troubleshooting Hasil Install Home Theater
 
Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1 dan 6.1
Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1 dan 6.1Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1 dan 6.1
Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1 dan 6.1
 
Menempatkan monitor gambar sesuai dengan jarak tempat duduk
Menempatkan monitor gambar sesuai dengan jarak tempat dudukMenempatkan monitor gambar sesuai dengan jarak tempat duduk
Menempatkan monitor gambar sesuai dengan jarak tempat duduk
 
TV Proyektor dalam Home Theater
TV Proyektor dalam Home TheaterTV Proyektor dalam Home Theater
TV Proyektor dalam Home Theater
 
Merawat Home Theater
Merawat Home Theater Merawat Home Theater
Merawat Home Theater
 
Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1, 5.1...
Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1, 5.1...Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1, 5.1...
Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1, 5.1...
 
Kebutuhan Peralatan Install Home Theater
Kebutuhan Peralatan Install Home TheaterKebutuhan Peralatan Install Home Theater
Kebutuhan Peralatan Install Home Theater
 
Komponen pasif induktor
Komponen pasif induktorKomponen pasif induktor
Komponen pasif induktor
 
Elektronika Dasar - Kapasitor
Elektronika Dasar - KapasitorElektronika Dasar - Kapasitor
Elektronika Dasar - Kapasitor
 
Elektronika Dasar - Resistor
Elektronika Dasar - ResistorElektronika Dasar - Resistor
Elektronika Dasar - Resistor
 

Algoritma Pemrograman Mikrokontroler

  • 1. Modul Teknik Pemrograman Mikroprosesor & Mikrokontroler SMK Kelas X 1 oleh : Beny Abdurrahman, S.Pd. Modul 1 Pengenalan Algoritma dan Flowchart Kompetensi Inti : 3. Memahami, menerapkan, menganalisis, dan mengevaluasi tentang pengetahuan faktual, konseptual, operasional dasar, dan metakognitif sesuai dengan bidang dan lingkup Simulasi dan Komunikasi Digital, dan Dasar Bidang Teknologi dan Rekayasa pada tingkat teknis, spesifik, detil, dan kompleks, berkenaan dengan ilmu pengetahuan, teknologi, seni, budaya, dan humaniora dalam konteks pengembangan potensi diri sebagai bagian dari keluarga, sekolah, dunia kerja, warga masyarakat nasional, regional, dan internasional. 4. Melaksanakan tugas spesifik dengan menggunakan alat, informasi, dan prosedur kerja yang lazim dilakukan serta memecahkan masalah sesuai dengan lingkup Simulasi dan Komuniksasi Digital, dan Dasar Bidang Teknologi dan Rekayasa. Menampilkan kinerja di bawah bimbingan dengan mutu dan kuantitas yang terukur sesuai dengan standar kompetensi kerja. Menunjukkan keterampilan menalar, mengolah, dan menyaji secara efektif, kreatif, produktif, kritis, mandiri, kolaboratif, komunikatif, dan solutif dalam ranah abstrak terkait dengan pengembangan dari yang dipelajarinya di sekolah, serta mampu melaksanakan tugas spesifik di bawah pengawasan langsung. Menunjukkan keterampilan mempersepsi, kesiapan, meniru, membiasakan, gerak mahir, menjadikan gerak alami dalam ranah konkret terkait dengan pengembangan dari yang dipelajarinya di sekolah, serta mampu melaksanakan tugas spesifik di bawah pengawasan langsung. Kompetensi Dasar : 3.1. Memahami teknik pemecahan masalah matematis 4.1. Membuat urutan pemecahan masalah dengan menggunakan diagram alir Tujuan Pembelajaran Setelah melakukan pembelajaran, siswa diharapkan mampu : 1. Memahami poses pemecahan masalah secara matematis menggunakan algoritma 2. Membuat algoritma pemecahan dari suatu permasalahan secara matematis 3. Memahami urutan pemecahan masalah menggunakan flowchart 4. Membuat urutan pemecahan masalah dengan menggunakan diagram alir
  • 2. Modul Teknik Pemrograman Mikroprosesor & Mikrokontroler SMK Kelas X 2 oleh : Beny Abdurrahman, S.Pd. Apersepsi Kemampuan membuat program (programming) sangat dibutuhkan oleh lulusan elektronika. Jika kita amati produk-produk elektronika sekarang, hampir semua disebut dengan sebutan pintar (smart) seperti misalnya smartphone, smartlamp, smart AC, smart car, dan smarthome. Julukan tersebut diberikan karena produk-produk tersebut dapat berperilaku menyesuaikan keadaan dengan sendirinya (otomatis). Misalkan pada sebuah AC, dapat mendeteksi ada tidaknya manusia di dalam ruangan, jika tidak ada orang, maka AC akan berada di mode hemat. Contoh yang lebih canggih adalah smart car atau mobil tanpa supir. Disana mobil dapat berjalan dengan kecepatan tertentu. Dia dapat mendeteksi kondisi jalan, dan menghindari rintangan di depannya. Menurut kamu bagaimana dia bisa beroperasi secara aman? Gambar 1 Mobil tanpa awak, salah satu contoh penerapan pemrograman dalam dunia elektronika Kemampuan produk elektronik beroperasi secara otomatis tidak terlepas dari adanya programable IC yang ditanamkan pada peralatan tersebut. Semua kondisi rintangan yang mungkin dialami, akan dideteksi oleh sensor. Dan dilakukan tindakan antisipasinya. Semua itu dijalankan melalui program. Sebelum membuat sebuah program, sangat penting untuk memahami proses yang akan dilakukan oleh program tersebut. Semua berawal dari permasalahan yang ingin dipecahkan Kemampuan memahami bahasa pemrograman bukanlah yang terpenting, karena jika kita sudah memahami prosesnya, maka kita bisa mengimplementasikan program tersebut ke dalam banyak bahasa pemrograman. Sekarang coba temukan permasalahan di sekitarmu dan buatlah solusi pemecahan masalahnya!
  • 3. Modul Teknik Pemrograman Mikroprosesor & Mikrokontroler SMK Kelas X 3 oleh : Beny Abdurrahman, S.Pd. Algoritma Definisi Algoritma Pemrograman dan algoritma adalah dua hal yang tidak dapat dipisahkan karena pembuatan program akan lebih sulit dan lama tanpa mengetahui dengan pasti bagaimana algoritma penyelesaian masalahnya. Definisi algoritma adalah urutan langkah-langkah logika yang menyatakan suatu tugas dalam menyelesaikan suatu masalah. Meskipun algoritma tidak dapat dipisahkan dengan pemrograman komputer tetapi jika anda beranggapan bahwa algoritma identik dengan pemrograman komputer, anda salah besar. Hal ini dikarenakan dalam kehidupan sehari-haripun seringkali kita berhadapan dengan masalah-masalah yang kalau kita cermati mengikuti kaidah-kaidah penyelesaian secara algoritma. Misalkan saja cara-cara memasak mie instan, membuat kopi atau teh, memasak makanan yang dinyatakan dalam bentuk resep, dan masih banyak lagi yang semuanya itu dapat kita sebut sebagai algoritma. Pada mie instan misalnya, biasanya pada bungkusnya terdapat urutan langkah- langkah bagaimana cara memasak atau menyajikannya. Bila langkah- langkah tersebut tidak logis, maka dapat dipastikan bahwa kita akan memperoleh hasil yang tidak sesuai dengan yang diharapkan. Kita harus membaca satu demi satu langkah- langkah pembuatannya kemudian mengikutinya agar memperoleh hasil yang baik. Yang harus diingat disini adalah kita tidak harus mengikuti langkah- langkah yang sudah diberikan, tetapi kita dapat memodifikasinya atau bahkan membuat resep atau cara baru yang lebih baik tetapi menghasilkan hal yang sama (mempunyai tujuan yang sama), yaitu dapat menikmati hasil masakan. Demikian juga dengan pemrograman komputer, kita juga tidak harus mengikuti algoritma yang sudah ada, tetapi kita dapat menambah ataupun mengurangi bahkan membuat algoritma yang baru asalkan permasalahan yang ada dapat terpecahkan dengan baik. Tahapan Pemrograman Tahapan pembuatan program diawali dengan mendefinisikan masalah dan menganalisanya. Hal ini mencakup penentuan tujuan pembuatan program, parameter yang digunakan, fasilitas yang disediakan, algoritma yang diterapkan dan bahasa program yang digunakan. Langkah selanjutnya adalah merealisasikan program. Tahap realisasi ini dapat berlangsung secara berkesinambungan. Dikarenakan proses pembuatan program bisa saja masih menemukan ketidaksempurnaan, sehingga perlu dilakukan perbaikan. Adapun langkah-langkah pembuatan program bisa dilihat dalam diagram berikut :
  • 4. Modul Teknik Pemrograman Mikroprosesor & Mikrokontroler SMK Kelas X 4 oleh : Beny Abdurrahman, S.Pd. Gambar 2 Diagram alir langkah-langkah pembuatan program Ciri-ciri algoritma Algoritma memiliki ciri-ciri yaitu ada input dan output, efektif dan efisien, serta terstruktur. Sebuah algoritma dikatakan baik jika : 1. Tepat, benar, sederhana, standar dan efektif 2. Logis, terstruktur dan sistematis 3. Semua operasi terdefinisi 4. Semua proses harus berakhir setelah sejumlah langkah dilakukan 5. Ditulis dengan bahasa yang standar dengan format pemrograman agar mudah untuk diimplementasikan dan tidak menimbulkan arti ganda. Oleh karena algoritma digunakan untuk memecahkan suatu permasalahan maka algoritma tersebut harus menghasilkan suatu jawaban atas permasalahan tersebut. Dengan kata lain algoritma harus memiliki paling tidak satu keluaran. Sedangkan masukan dari algoritma dapat nol (tidak ada) atau banyak masukan (data). Yang dimakdud dengan nol masukan adalah jika algoritma itu hanya untuk menampilkan suatu informasi saja. Misalnya output “Hello World” yang sering kita temukan pada tutorial- tutorial saat kita baru belajar membuat program dari suatu bahasa pemrograman tertentu. Kedua hal diatas, memiliki paling sedikit satu keluaran dan dapat memiliki nol atau banyak masukan, merupakan dua dari beberapa ciri algoritma. Tugas algoritma dikatakan selesai kalau algoritma tersebut sudah menghasilkan satu atau lebih jawaban atas permasalahan yang ada. Dengan demikian setelah mengerjakan
  • 5. Modul Teknik Pemrograman Mikroprosesor & Mikrokontroler SMK Kelas X 5 oleh : Beny Abdurrahman, S.Pd. langkah-langkah penyelesaian masalah, maka algoritma tersebut harus berhenti tidak melakukan proses apapun. Berhenti di sini artinya adalah jika diterjemahkan ke dalam bentuk program dan program dijalankan, maka setelah menghasilkan suatu output, program dapat langsung berhenti atau menunggu instruksi lebih lanjut dari pengguna program seperti mengulang perhitungan lagi, keluar program (menghentikan program), dan lain sebagainya. Dengan demikian ciri ketiga dari algoritma adalah setelah selesai mengerjakan langkah- langkah penyelesaian masalah, algoritma harus berhenti. Ciri keempat dari algoritma adalah setiap langkah yang dibuat harus dibuat sesederhana mungkin tetapi efektif agar dapat dipahami oleh pemroses (manusia maupun komputer) sehingga dapat diselesaikan dalam waktu yang singkat serta masuk akal. Sedangkan ciri yang terakhir adalah setiap langkah dalam algoritma harus didefinisikan dengan tepat dan jelas sehingga tidak berarti-dua (ambiguitas) sehingga menimbulkan kesalahan dalam penafsiran oleh pemroses Contoh algoritma sehari-hari Untuk memahami algoritma lebih dalam, simak contoh algoritma aktifitas sehari-hari berikut ini. Dicontohkan sebuah permasalahan penukaran isi dari dua gelas. Diberikan dua buah gelas A dan B, gelasA berisi air teh dan gelasB berisi air kopi. Pertukarkan isi gelas tersebut sehingga menghasilkan gelasA yang semula berisi air teh menjadi berisi air kopi dan gelasB yang semula berisi air kopi menjadi berisi air teh. Ilustrasi permasalahan ini dapat dilihat pada Gambar Gambar 3 Permasalahan Bagaimana memindah isi kedua gelas tersebut Cara penyelesaian permasalahan ini adalah sebagai berikut. Untuk mempertukarkan isi gelas dengan benar, maka diperlukan gelas tambahan yang kita namakan gelas C sebagai tempat penampungan sementara.Berikut Algoritmanya: 1. Siapkan gelas cadangan C 2. Tuangkan air teh dari gelas A ke dalam gelas C (gelas A menjadi kosong). 3. Tuangkan air kopi dari gelas B ke dalam gelas A (gelas B menjadi kosong). 4. Tuangkan air teh dari gelas C ke dalam gelas B. Ilustrasi langkah-langkah algoritma dapat dilihat pada Gambar
  • 6. Modul Teknik Pemrograman Mikroprosesor & Mikrokontroler SMK Kelas X 6 oleh : Beny Abdurrahman, S.Pd. Gambar 4 Ilustrasi algoritma memindahkan isi gelas Dari contoh tersebut dapat dilihat bahwa penyelesaian permasalahan penukaran isi dua buah gelas sangat sederhana. Disini digunakan urutan langkah yang masuk akal atau logis sehingga isi dari kedua nya sudah berpindah media, dari A ke B dan B ke A. Inilah yang dinamakan “Algoritma”, urutan penyelesaian sebuah permasalahan dengan urutan dan langkah yang logis dan masuk akal menghasilkan sesuatu langkah yang benar. Contoh algoritma mencari luas lingkaran Contoh lain penggunaan logika dan algoritma adalah membuat algoritma untuk menghitung luas lingkaran, caranya: 1. Menentukan nilai jari-jari (r) lingkaran. 2. Menentukan nilai phi. 3. Menghitung luas lingkaran dengan cara mengkalikan nilai jari-jari (r) dengan (r) lalu dikalikan dengan nilai phi. 4. Maka luas lingkaran ditemukan. 5. Selesai. Saat membuat sebuah algoritma, sebaiknya jangan berfikir terlalu rumit tentang sebuah masalah, karena belum tentu masalah itu serumit yang kita pikir. Pikirkan hal yang paling sederhana untuk menyelesaikan masalah itu, sehingga tidak terjebak dalam pikiran rumit yang dibuat sendiri. Meski demikian jangan meremehkan masalah sekecil apapun, tapi berfikir sederhana untuk menghasilkan solusi yang efektif Dalam menentukan algoritma untuk menyelesaikan suatu permasalahan, mungkin kita dihadapkan oleh beberapa pilihan algoritma. Oleh karena itu kita harus memiliki ramburambu dalam menentukan pilihan algoritma. Pertimbangan dalam pemilihan algoritma adalah, pertama, algoritma haruslah benar. Artinya algoritma akan memberikan keluaran sesuai seperti yang diharapkan dari sejumlah masukan yang diberikan. Tidak peduli sebagus apapun algoritma, jika memberikan keluaran yang salah, maka sudah pasti algoritma tersebut
  • 7. Modul Teknik Pemrograman Mikroprosesor & Mikrokontroler SMK Kelas X 7 oleh : Beny Abdurrahman, S.Pd. bukanlah algoritma yang baik. Pertimbangan kedua yang harus diperhatikan adalah kita harus mengetahuiseberapa baik hasil yang dicapai oleh algoritma tersebut. Hal ini pentingterutama pada algoritma yang memerlukan aproksimasi hasil yaitu algoritma yang hasilnya hanya berupa pendekatan. Algoritma yangbaik harus mampu memberikan hasil yang sedekat mungkin dengan nilaiyang sebenarnya.Ketiga adalah efisiensi algoritma. Efisiensi algoritma dapat ditinjau dari dua hal yaitu efisiensi waktu dan memori. Meskipun algoritma memberikan keluaran yang benar atau paling mendekati, tetapi jika kita harus menunggu lama untuk mendapatkan hasil semisal berjam-jam untuk mendapatkan keluarannya maka biasanya algoritma tersebut biasanyatidak akan menjadi pilihan utama, setiap orang menginginkan keluaran yang relatif cepat. Begitu juga dengan memori, semakin besar memori yang terpakai maka semakin jelek algoritma tersebut.Dalam kenyataannya, setiap orang bisa membuat algoritma yang berbeda untuk menyelesaikan suatu permasalahan, walaupun terjadi perbedaan dalam menyusun algoritma, tentunya kita mengharapkan keluaran yang mirip atau sama. Jika dihadapkan pada permasalahan seperti ini maka sebaiknya pilih algoritma yang paling efisien dan cepat. Tujuan dari belajar algoritma adalah agar dapat membiasakan diri melakukan suatu perencanaan apabila menyelesaikan suatu masalah. Karena suatu permasalahan yang diselesaikan dengan suatu perencanaan yang matang maka akan mendapatkan solusi yang lebih optimal dibandingkan menyelesaikan masalah tanpa menggunakan suatu perencanaan. Flowchart Flowchart adalah penggambaran secara grafik dari langkah-langkah dan urut-urutan prosedur dari suatu program. Flowchart menolong analis dan programmer untuk memecahkan masalah kedalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternatif-alternatif lain dalam pengoperasian. Flowchart biasanya mempermudah penyelesaian suatu masalah khususnya masalah yang perlu dipelajari dan dievaluasi lebih lanjut. Bila seorang analis dan programmer akan membuat flowchart, ada beberapa petunjuk yang harus diperhatikan, seperti : 1. Flowchart digambarkan dari halaman atas ke bawah dan dari kiri ke kanan. 2. Aktivitas yang digambarkan harus didefinisikan secara hati-hati dan definisi ini harus dapat dimengerti oleh pembacanya. 3. Kapan aktivitas dimulai dan berakhir harus ditentukan secara jelas. 4. Setiap langkah dari aktivitas harus diuraikan dengan menggunakan deskripsi kata kerja. 5. Setiap langkah dari aktivitas harus berada pada urutan yang benar. 6. Lingkup dan range dari aktifitas yang sedang digambarkan harus ditelusuri dengan hati-hati. Percabangan-percabangan yang memotong aktivitas yang sedang
  • 8. Modul Teknik Pemrograman Mikroprosesor & Mikrokontroler SMK Kelas X 8 oleh : Beny Abdurrahman, S.Pd. digambarkan tidak perlu digambarkan pada flowchart yang sama. Simbol konektor harus digunakan dan percabangannya diletakan pada halaman yang terpisah atau hilangkan seluruhnya bila percabangannya tidak berkaitan dengan sistem. 7. Gunakan simbol-simbol flowchart yang standar. Simbol Simbol dalam Diagram Alir Adapun simbol-simbol yang sering digunakan untuk menyusun flow chart adalah sebagai berikut : 1) Masukan Masukan merupakan kegiatan penerimaan data yang disimbolkan dengan jajaran genjang. Kita dapat menuliskan masukan yang diperlukan pada suatu waktu secara satu per satu maupun secara keseluruhan, akan tetapi untuk alasan efisiensi ruang gambar biasanya masukan dituliskan bersamaan secara keseluruhan. Gambar 5 Simbol Masukan 2) Masukan manual Untuk masukan secara manual yang dimasukkan melalui keyboard, atau perangkat input lainnya seperti barcode reader, kita dapat menggunakan simbol masukan secara manual. Sama dengan simbol masukan, pada simbol masukan manual ini untuk alasan efisiensi ruang gambar biasanya masukan juga dituliskan bersamaan secara keseluruhan. Gambar 6 Simbol masukan manual 3) Proses Data yang dimasukan kemudian diproses untuk menghasilkan jawaban atas persoalan yang ingin dipecahkan. Kegiatan memproses data ini disimbolkan dengan persegi panjang. Sama seperti simbol pada masukan, penulisan operasi-operasi pada data dapat dilakukan secara satu per satu maupun secara keseluruhan. Gambar 7 Simbol Proses 4) Keluaran Keluaran adalah hasil dari pemrosesan data dan merupakan jawaban atas permasalahan yang ada. Keluaran ini harus ditampilkan pada layar monitor agar dapat dibaca oleh pengguna
  • 9. Modul Teknik Pemrograman Mikroprosesor & Mikrokontroler SMK Kelas X 9 oleh : Beny Abdurrahman, S.Pd. program. Sama seperti aturan pada simbol-simbol sebelumnya, penulisan hasil pemrosesan data dapat dilakukan secara satu per satu maupun secara keseluruhan. Gambar 8 Simbol Keluaran 5) Percabangan Yang dimaksud dengan percabangan disini adalah suatu kegiatan untuk mengecek atau memeriksa suatu keadaan apakah memenuhi suatu kondisi tertentu atau tidak. Jadi dalam percabangan ini, kita harus menuliskan kondisi apa yang harus dipenuhi oleh suatu keadaan. Hasil dari pemeriksaan keadaan ini adalah YA atau TIDAK. Jika pemeriksaan keadaan menghasilkan kondisi yang benar, maka jalur yang dipilih adalah jalur yang berlabel YA, sedangkan jika pemeriksaan keadaan menghasilkan kondisi yang salah, maka jalur yang dipilih adalah jalur yang berlabel TIDAK. Berbeda dengan aturan pada simbol-simbol sebelumnya, penulisan kondisi harus dilakukan secara satu per satu (satu notasi percabangan untuk satu kondisi). Gambar 9 Simbol Percabangan 6) Sub Rutin / sub program Sub rutin adalah suatu bagian dalam program yng dapat melakukan atau diberi tugas tertentu. Jadi sub rutin merupakan “program kecil” yang menjadi bagian dari suatu program yang besar. Sub rutin ada dua macam, yaitu prosedur (procedure) dan fungsi (function). Perbedaan antara keduanya adalah setelah dipanggil prosedur tidak mengembalikan suatu nilai sedangkan fungsi selalu mengembalikan suatu nilai. Sub rutin memiliki suatu flow chart yang berdiri sendiri diluar flow chart utama. Jadi dalam simbol sub rutin, kita cukup menuliskan nama sub rutinnya saja, sama seperti jika kita melakukan pemanggilan terhadap suatu sub rutin pada program utama (main program) yang akan anda pelajari pada bagian atau bab lain pada buku ini. Aturan penulisan simbol sub rutin sama dengan simbol percabangan, yaitu penulisan nama sub rutin dilakukan secara satu per satu. Gambar 10 Simbol sub rutin
  • 10. Modul Teknik Pemrograman Mikroprosesor & Mikrokontroler SMK Kelas X 10 oleh : Beny Abdurrahman, S.Pd. 7) Arah aliran Arah aliran merupakan jalur yang harus diikuti dan merupakan garis penghubung yang menghubungkan setiap langkah pemecahan masalah yang ada dalam flow chart. Arah aliran ini disimbolkan dengan anak panah Gambar 11 Simbol Arah Aliran 8) Terminator Terminator berfungsi untuk menandai titik awal dan titik akhir dari suatu flow chart. Simbol terminator ini diberi label MULAI untuk menandai titik awal dari flow chart dan label SELESAI untuk menandai titik akhir dari flow chart. Jadi dalam sebuah flow chart harus ada dua simbol terminator, yaitu simbol terminator untuk MULAI dan SELESAI. Gambar 12 Simbol terminator 9) Konektor Konektor berfungsi untuk menghubungkan suatu langkah dengan langkah lain dalam sebuah flow chart dengan keadaan on page atau off page. Yang dimaksud dengan konektor on page adalah konektor yang digunakan untuk menghubungkan suatu langkah dengan langkah lain dalam satu halaman. Sedangkan konektor off page adalah konektor untuk menghubungkan suatu langkah dengan langkah lain dalam halaman yang berbeda. Konektor ini digunakan apabila ruang gambar yang kita gunakan untuk menggambar flow chart tidak cukup luas untuk memuat flow chart secara utuh, jadi perlu dipisahkan atau digambar di halaman yang berbeda. (a) (b) Gambar 13 Simbol konektor on page (a) dan off page (b)
  • 11. Modul Teknik Pemrograman Mikroprosesor & Mikrokontroler SMK Kelas X 11 oleh : Beny Abdurrahman, S.Pd. 10) Dokumen Dokumen merupakan tampilan data secara fisik yang dapat dibaca oleh manusia. Data ini biasanya merupakan hasil pemecahan masalah (informasi) yang telah dicetak (print out). Gambar 14 Simbol dokumen Contoh pembuatan diagram alir (flowchart) Untuk memahami lebih dalam mengenai flowchart ini, dibuat sebuah studi kasus sederhana. Misalnya buatlah sebuah rancangan program dengan menggunakan flowchart menentukan keliling dan luas lingkaran. Rumus untuk menentukan luas lingkaran adalah Luas = PI*radius*radius, dan keliling lingkaran adalah keliling=2*PI*radius, dengan Phi adalah sebuah konstanta 3.14. Flowchart permasalahan ini dapat dilihat Gambar 15 Diagram alir proses perhitungan Luas dan keliling lingkaran Contoh selanjutnya, flowchart yang mengandung fungsi percabangan. Misal untuk permasalahan apakah suatu bilangan termasuk bilangan ganjil atau genap. Cara menyelesaikan permasalahan ini adalah dengan membagi bilangan tersebut dengan angka 2. Jika nilai sisa pembagiannya adalah 0, maka bilangan tersebut adalah bilangan genap. Jika nilai sisa pembagian adalah 1, maka bilangan tersebut adalah bilangan ganjil. Operasi aritmatika yang digunakan adalah modulo (%). Flowchart permasalahan ini dapat dilihat pada gambar :
  • 12. Modul Teknik Pemrograman Mikroprosesor & Mikrokontroler SMK Kelas X 12 oleh : Beny Abdurrahman, S.Pd. Gambar 16 Contoh diagram alir dengan percabangan Latihan 1. Apa yang dimaksud dengan algoritma? 2. Sebutkan ciri-ciri algoritma! 3. Buatlah algoritma sederhana mencari bilangan prima! 4. Buatlah diagram alir soal 3! 5. Buatlah algoritma mencari luas dan keliling persegi panjang! 6. Buatlah diagram alir soal nomor 5! Daftar Referensi Buku Logika dan Algoritma, Ali Ridho Barakbah S.Kom dkk Bahasa Pemrograman untuk Sekolah Menengah Kejuruan, Suprapto dkk.