MODUL
PEMROGRAMAN DASAR
KELAS X (SEPULUH)
Guru Mata Pelajaran
Yuli Dianah, S.T.
NUPTK 5160861663210123
REKAYASA PERANGKAT LUNAK
SMK NEGERI 1 CIBINONG – BOGOR
2020
PERTEMUAN 1
A. KOMPETENSI DASAR
KD 3.1 Menerapkan alur logika pemrograman komputer
KD 4.1 Membuat alur logika pemrograman komputer
B. TUJUAN PEMBELAJARAN :
Melalui proses pembelajaran online, peserta didik dapat menjelaskan, menerapkan dan membuat algoritma
pemrograman dan flowchart dengan benar serta menerapkan dalam kehidupan sehari-hari dengan
menunjukkan sikap disiplin, rasa ingin tahu, dan kerja keras.
C. INDIKATOR PENCAPAIAN KOMPETENSI
3.1.1 Menghubungkan alur logika pemrograman dengan penyelesaian masalah sehari-hari
3.1.2 Menerapkan algoritma pemrograman dalam menyelesaikan masalah
4.1.1 Membuat alur program menggunakan text (algoritma)
D. MATERI POKOK:
Algoritma Pemrograman
1. Pemrograman Dasar dan Algoritma
Program merupakan serangkaian instruksi berurutan yang ditulis untuk melakukan serangkaian
tugas pada komputer. Karena komputer tak memiliki kemampuan untuk menyelesaikan masalahnya
sendiri, komputer hanyalah berupa alat yang digunakan untuk melakukan perhitungan-perhitungan
dan serangkaian tugas yang dibebankan kepadanya.
Pembuat program disebut sebagai programmer. Jika diibaratkan program seperti jadwal kegiatan
selama hari ini. Misal hari ini saya harus mandi, makan, ke kampus, rapat A, rapat B, makan, tidur,
belajar, belanja, dsn sebagainya. Kegiatan seperti di atas kita sebut sebagai instruksi apa yang harus kita
lakukan saat itu. Dan daftar instruksi yang ditulis menjadi satu berkas utuh disebut sebagai program.
Secara umum, program memberikan kemampuan komputer untuk melakukan fungsi khusus. Komputer
akan mengeksekusi atau menjalankan instruksi yang ada dalam program di dalam central processor.
Program dibuat dengan menggunakan bahasa pemrograman sebagai alat untuk mengungkapkan
ide sang programmer agar dapat dijalankan oleh komputer. Setelah ditulis dalam bahasa
pemprograman, tidak serta merta apa yang kita tulis tersebut dapat dilaksanakan oleh komputer.
Komputer hanya mengerti bilangan biner dan instruksi-instruksi menggunakan bahasa mesin. Untuk
membuat komputer mengerti maksud dan tujuan kita, diperlukanlah sebuah kompiler yang dapat
menerjemahkan bahasa pemprograman ke bahasa mesin. Namun ada juga komputer program yang
tidak berupa kode bahasa mesin, namun berupa kode-kode khusus dan terkadang juga berupa kode-
kode bahasa pemrograman.
Program model ini memerlukan bantuan interpreter untuk menerjemahkan bahasa tersebut ke
bahasa mesin sehingga dimengerti oleh perangkat keras.
Source code ditulis oleh seorang programmer dan ditulis dengan salah satu bahasa
pemprograman.
Program komputer dapat dikategorikan menjadi beberapa jenis yakni :
a. Input,
➔ Proses memasukkan data ke komputer melalui device yang ada misalnya keyboard, mouse,
scanner dan lain-lain.
b. Program melakukan proses membaca data yang akan diolah dari device tersebut.
c. Output
➔ Proses menampilkan data yang telah diolah, melaporkan hasil pegolahan data melalui device
seperti monitor, printer dan lainnya. Program melakukan proses mencetak data ke device
tersebut.
d. Proses Pengolahan Data
➔ Proses mengolah data yang diinputkan dengan nenerapkan metode-metode, teknik-teknik,
algoritma-algoritma yang ada. Proses ini menghasilkan data output yang akan dioutputkan
kepada pengguna program.
e. Penyimpanan Data
➔ Proses menyimpan data dalam memori atau device penyimpanan data seperti disket, harddisk,
CD dan lainnya.
2. Definisi Algoritma
Algoritma berasal dari nama penulis buku arab yaitu Abu Ja’far Muhammad Ibnu Musa Al-
Khawarizmi. Oleh orang barat, Al-Khawarizmi dibaca menjadi Algorism. Algorism mempunyai arti
proses menghitung dengan angka arab Al-Khawarizmi menulis buku yang berjudul Kitab Al Jabar Wal
Muqabala (Buku pemugaran dan pengurangan).
Perubahan kata dari algorism menjadi algorithm muncul karena kata algorism sering dikelirukan
dengan arithmetic, sehingga akhiran sm berubah menjadi thm. Karena perhitungan dengan angka
Arab sudah menjadi hal yang biasa, maka lambat laun kata algorithm berangsur-angsur dipakai sebagai
metode perhitungan (komputasi) secara umum, sehingga kehilangan makna kata aslinya. Dalam bahasa
Indonesia, kata algorithm diserap menjadi algoritma.
Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara
sistematis. Algoritma yang dapat menyelesaikan suatu permasalahan dalam waktu yang singkat
memiliki tingkat kerumitan yang rendah, sementara algoritma yang membutuhkan waktu lama untuk
menyelesaikan suatu masalah membutuhkan tingkat kerumitan yang tinggi.
Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer yang
mengarah ke dalam terminologi algoritma. Namun, jangan beranggapan algoritma selalu identik
dengan ilmu komputer saja. Dalam kehidupan sehari-hari pun banyak terdapat proses yang dinyatakan
dalam suatu algoritma.
Contoh algoritma dalam kehidupan sehari-hari:
No Proses Algoritma Contoh Langkah dalam Algoritma
1. Membuat telur mata sapi Resep - Masukkan minyak ke dalam wajan,
panaskan
2. Merakit komputer
3. Kegiatan sehari-hari - Masukkan telur ke dalam wajan
- Tunggu sampai matang
Panduan Sambungkan kabel sata dari harddisk ke
motherboard
Jadwal Pukul 06.00 : mandi pagi
Pukul 07.00 : berangkat
Contoh Kasus: AB
a. Ada dua buah ember
b. Ember A berisi air berwarna merah
c. Ember B berisi air berwarna biru
Bagaimana algoritma untuk menukarkan air berwarna merah
dari ember A ke ember B dan air berwarna biru dari ember B
ke ember A ?
Peyelesaian: AB + C
a. Tambahkan 1 ember baru (ember C)
b. Tuangkan air berwarna merah dari ember A ke ember C
c. Tuangkan air berwarna biru dari ember B ke ember A
d. Tuangkan air berwarna merah dari ember C ke ember B
Hasil
a. Ada 3 buah ember
b. Ember A kosong, ember C berisi air berwarna merah
c. Ember A berisi air berwarna biru, ember B kosong
d. Ember B berisi air berwarna biru, ember C kosong
3. Struktur Algoritma
Perhatikan algoritma sederhana berikut :
Jika seseorang ingin mengirim surat kepada kenalannya di tempat lain, langkah yang harus dilakukan
adalah:
a. Menyiapkan Peralatan Tulis
b. Menulis surat
c. Surat dimasukkan ke dalam amplop tertutup
d. Amplop ditempeli perangko secukupnya.
e. Pergi ke Kantor Pos terdekat untuk mengirimkannya
Algoritma menghitung luas persegi panjang:
a. Masukkan panjang (P)
b. Masukkan lebar (L)
c. Luas P * L
d. Tulis Luas
Pembuatan algoritma mempunyai banyak keuntungan di antaranya:
a. Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun,
artinya penulisan algoritma independen dari bahasa pemrograman dan komputer yang
melaksanakannya.
b. Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
c. Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama.
Beberapa hal yang perlu diperhatikan dalam membuat algoritma:
a. Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah.Deskripsi tersebut dapat
ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami.
b. Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman.
Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik.
c. Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Hal ini dikarenakan
teks algoritma tidak sama dengan teks program. Namun, supaya notasi algoritmik mudah
ditranslasikan ke dalam notasi bahasa pemrograman tertentu, maka sebaiknya notasi algoritmik
tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum.
d. Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam notasi
algoritmik tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh komputer, pseudocode
dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa
pemrograman yang dipilih. Perlu diingat bahwa orang yang menulis program sangat terikat dalam
aturan tata bahasanya dan spesifikasi mesin yang menjalannya. Pseudocode adalah kode yang mirip
dengan instruksi kode program sebenarnya.
e. Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu
permasalahan ke dalam bahasa pemrograman.
f. Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer,
algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman.
Perhatikan algoritma sederhana berikut :
Algoritma menghitung luas segitiga
a. Start
b. Baca data alas dan tinggi.
c. Luas adalah alas kali tinggi kali 0.5
d. Tampilkan Luas
e. Stop
Penjelasan :
Algoritma di atas adalah algoritma yang sangat sederhana, hanya ada lima langkah. Pada
algoritma ini tidak dijumpai perulangan ataupun pemilihan. Semua langkah dilakukan hanya
satu kali.
Sekilas algoritma di atas benar, namun apabila dicermati maka algoritma ini mengandung
kesalahan yang mendasar, yaitu tidak ada pembatasan pada nilai data untuk alas dan tinggi.
Hasil perbaikan algoritma perhitungan luas segitiga
a. Start
b. Baca data alas dan tinggi.
c. Periksa data alas dan tinggi, jika nilai data alas dan tinggi lebih besar dari nol maka lanjutkan ke
langkah ke 4 jika tidak maka stop.
d. Luas adalah alas kali tinggi kali 0.5
e. Tampilkan Luas
f. Stop
Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkah-langkah tersebut dapat
berupa runtunan aksi (sequence), pemilihan aksi (selection), pengulangan aksi (iteration) atau
kombinasi dari ketiganya. Jadi struktur dasar pembangunan algoritma ada tiga, yaitu:
a. Struktur Runtunan / Beruntun
➔ Digunakan untuk program yang pernyataannya sequential atau urutan.
b. Struktur Pemilihan / Percabangan
➔ Digunakan untuk program yang menggunakan pemilihan atau penyeleksian kondisi.
c. Struktur Perulangan
➔ Digunakan untuk program yang pernyataannya akan dieksekusi berulang-ulang.
4. Persyaratan Algoritma
a. Algoritma harus benar.
b. Algoritma harus berhenti, dan setelah berhenti,
c. Algoritma memberikan hasil yang benar.
Contoh : Algoritma Berangkat Sekolah
Mulai
Bangun dari tempat tidur
Mandi Pagi
Sarapan Pagi
Pergi Ke Sekolah
Cari Ruang Kelas
Masuk kelas untuk Belajar
Selesai
5. Apakah Hubungan Antara Algoritma dan Program ?
Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam
program adalah algoritma. Program ditulis dengan menggunakanbahasa pemrograman. Jadi bisa
disebut bahwa program adalah suatu implementasi dari bahasa pemrograman.
Program = Algoritma + Bahasa (Struktur Data)
Penerjemah Bahasa Pemrograman
Untuk menterjemahkan bahasa pemrograman yang kita tulis maka diperlukan Compiler dan interpreter.
Compiler adalah suatu program yang menterjemahkan bahasa program (Source code) ke dalam bahasa
obyek (object code) secara keseluruhan program.
Interpreter berbeda dengan Compiler, interpreter menganalisis dan mengeksekusi setiap baris dari
program secara keseluruhan. Keuntungan dari interpreter adalah dalam eksekusi yang bisa dilakukan
dengan segera. Tanpa melalui tahap kompilasi, untuk alas an ini interpreter digunakan pada saat
pembuatan program berskala besar.
Perbedaan Compiler dan interpreter.
Compiler Interpreter
Menterjemahkan secara keseluruhan Menterjemahkan Instruksi per instruksi
Bila terjadi kesalahan kompilasi maka source Bila terjadi kesalahan interprestasi dapat
program harus diperbaiki dan dikompilasi ulang diperbaiki
Dihasilkan Object program Tidak dihasilkan obyek program
Dihasilkan Executable program Tidak dihasilkan Executable program
Proses pekerjaan program lebih lambat
Proses pekerjaan program lebih cepat
Source program terus dipergunakan
Source program tidak dipergunakan hanya bila
untuk perbaikan saja Keamanan dari program kurang terjamin
Keamanan dari program lebih terjamin
Paradigma Pemrograman :
a. Pemrograman Prosedural
1) Berdasarkan urutan-urutan, sekuensial
2) Program adalah suatu rangkaian prosedur untuk memanipulasi data. Prosedur merupakan
kumpulan instruksi yang dikerjakan secara berurutan.
3) Harus mengingat prosedur mana yang sudah dipanggil dan apa yang sudah diubah.
b. Pemrograman Fungsional
1) Berdasarkan teori fungsi matematika
2) Fungsi merupakan dasar utama program.
c. Pemrograman Terstruktur
1) Secara berurutan dan terstrukrtur.
2) Program dapat dibagai-bagi menjadi prosedur dan fungsi.
Contoh: PASCAL dan C
d. Pemrograman Modular
1) Pemrograman ini membentuk banyak modul.
2) Modul merupakan kumpulan dari prosedur dan fungsi yang berdiri sendiri
3) Sebuah program dapat merupakan kumpulan modul-modul.
Contoh: MODULA-2 atau ADA
e. Pemrograman Berorientasi Obyek
Pemrograman berdasarkan prinsip obyek, dimana obyek memiliki data/variabel/property dan
method/event/prosedur yang dapat dimanipulasi.
Contoh: C++, Object Pascal, dan Java.
f. Pemrograman Berorientasi Fungsi
Pemrograman ini berfokus pada suatu fungsi tertentu saja. Sangat tergantung pada tujuan
pembuatan bahasa pemrograman ini.
Contoh: SQL (Structured Query Language), HTML, XML dan lain-lain.
g. Pemrograman Deklaratif
Pemrograman ini mendeskripsikan suatu masalah dengan pernyataan daripada memecahkan
masalah dengan implementasi algoritma.
Contoh: PROLOG
Belajar Memprogram dan Belajar Bahasa Pemrograman
Belajar memprogram tidak sama dengan belajar bahasa pemrograman. Belajar memprogram
adalah belajar tentang metodologi pemecahan masalah, kemudian menuangkannya dalam suatu notasi
tertentu yang mudah dibaca dan dipahami. Sedangkan belajar bahasa pemrograman berarti belajar
memakai suatu bahasa aturan-aturan tata bahasanya, pernyataan-pernyataannya, tata cara
pengoperasian compiler-nya, dan memanfaatkan pernyataan-pernyataan tersebut untuk membuat
program yang ditulis hanya dalam bahasa itu saja. Sampai saat ini terdapat puluhan bahasa pemrogram,
antara lain bahasa rakitan (assembly), Fortran, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP,
PRG, bahasabahasa simulasi seperti CSMP, Simscript, GPSS, Dinamo.
Berdasarkan terapannya, bahasa pemrograman dapat digolongkan menjadi dua kelompok besar,
yaitu:
a. Bahasa pemrograman bertujuan khusus. Yang termasuk kelompok ini adalah Cobol (untuk terapan
bisnis dan administrasi). Fortran (terapan komputasi ilmiah), bahasa rakitan (terapan pemrograman
mesin), Prolog (terapan kecerdasan buatan), bahasa-bahasa simulasi, dan sebagainya.
b. Bahasa pemrograman bertujuan umum, yang dapat digunakan untuk berbagai aplikasi. Yang
termasuk kelompok ini adalah bahasa Pascal, Basic dan C. Tentu saja pembagian ini tidak kaku.
Bahasa-bahasa bertujuan khusus tidak berarti tidak bisa digunakan untuk aplikasi lain. Cobol
misalnya, dapat juga digunakan untuk terapan ilmiah, hanya saja kemampuannya terbatas. Yang
jelas, bahasa-bahasa pemrograman yang berbeda dikembangkan untuk bermacam-macam terapan
yang berbeda pula.
Berdasarkan pada apakah notasi bahasa pemrograman lebih dekat ke mesin atau ke bahasa
manusia, maka bahasa pemrograman dikelompokkan atas dua macam, yaitu:
a. Bahasa tingkat rendah. Bahasa jenis ini dirancang agar setiap instruksinya langsung dikerjakan oleh
komputer, tanpa harus melalui penerjemah (translator). Contohnya adalah bahasa mesin. CPU
mengambil instruksi dari memori, langsung mengerti dan langsung mengerjakan operasinya.
Bahasa tingkat rendah bersifat primitif, sangat sederhana, orientasinya lebih dekat ke mesin, dan
sulit dipahami manusia. Sedangkan bahasa rakitan dimasukkan ke dalam kelompok ini karena
alasan notasi yang dipakai dalam bahasa ini lebih dekat ke mesin, meskipun untuk melaksanakan
instruksinya masih perlu penerjemahan ke dalam bahasa mesin.
b. Bahasa tingkat tinggi, yang membuat pemrograman lebih mudah dipahami, lebih manusiawi ,
dan berorientasi ke bahasa manusia (bahasa Inggris). Hanya saja, program dalam bahasa tingkat
tinggi tidak dapat langsung dilaksanakan oleh komputer. Ia perlu diterjemahkan terlebih dahulu
oleh sebuah translator bahasa (yang disebut kompilator atau compiler) ke dalam bahasa mesin
sebelum akhirnya dieksekusi oleh CPU. Contoh bahasa tingkat tinggi adalah Pascal, PL/I, Ada, Cobol,
Basic, Fortran, C, PHP, C++, dan sebagainya.
6. Cara Penulisan Algoritma
Ada tiga cara penulisan algoritma, yaitu :
a. Structured English (SE)
SE merupakan alat yang cukup baik untuk menggambarkan suatu algoritma. Dasar dari SE
adalah Bahasa Inggris, namun kita dapat memodifikasi dengan Bahasa Indonesia sehingga kita
boleh menyebutnya sebagai Structured Indonesian (SI).
”SE atau SI lebih tepat untuk menggambarkan suatu algoritma yang akan dikomunikasikan
kepada pemakai perangkat lunak”
b. Pseudocode
Pseudocode adalah kode yang mirip dengan kode pemrograman yang sebenarnya seperti
Pascal, atau C, sehingga lebih tepat digunakan untuk menggambarkan algoritma yang akan
dikomunikasikan kepada pemrogram.
Pseudocode didasarkan pada bahasa pemrograman yang sesungguhnya seperti BASIC,
FORTRAN atau PASCAL. Pseudocode yang berbasis bahasa PASCAL merupakan pseudocode yang
sering digunakan.
“Pseudo berarti imitasi atau tiruan atau menyerupai, sedangkan code menunjuk pada kode
program”
Contoh Pseudocode :
1) Start
2) READ alas, tinggi
3) Luas = 0.5 * alas * tinggi
4) PRINT Luas
5) Stop
Pada Contoh diatas tampak bahwa algoritma sudah sangat mirip dengan bahasa
BASIC. Pernyataan seperti READ dan PRINT merupakan keyword yang ada pada bahasa
BASIC yang masing-masing menggantikan kata “baca data” dan “tampilkan”. Dengan
menggunakan pseudocode seperti di atas maka proses penterjemahan dari algoritma
ke kode program menjadi lebih mudah.
c. Flowchart (Diagram Alir)
Flowchart atau bagan alir adalah skema/bagan (chart) yang menunjukkan aliran (flow) di dalam
suatu program secara logika.
Flowchart merupakan alat yang banyak digunakan untuk menggambarkan algoritma dalam
bentuk notasi-notasi tertentu, yang memperlihatkan urutan dan hubungan antar proses beserta
pernyataannya. Gambaran ini dinyatakan dengan simbol.
Dengan demikian setiap simbol menggambarkan proses tertentu. Sedangkan antara proses
digambarkan dengan garis penghubung. Dengan menggunakan flowchart akan memudahkan kita
untuk melakukan pengecekan bagianbagian yang terlupakan dalam analisis masalah. Di samping itu
flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja
dalam tim suatu proyek.
Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart, namun ada
beberapa anjuran:
1) Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya
proses menjadi singkat.
2) Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk
memperjelas.
3) Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END.
Berikut merupakan beberapa contoh simbol flowchart yang disepakati oleh dunia
pemrograman:
Penjelasan lebih lanjut :
Simbol-simbol bagan alir program (Flowchart)
• Notasi Membuat algoritma sederhana untuk menyelesaikan
permasalahan menggunakan bahasa natural, flowchart dan
pseudocode
• Notasi ini disebut Data yang digunakan untuk mewakili data input
atau output atau menyatakan operasi pemasukan data dan
pencetakan hasil
• Notasi ini disebut Process yang digunakan untuk mewakili suatu
proses.
• Notasi ini disebut Decision yang digunakan untuk suatu pemilihan,
penyeleksian kondisi di dalam suatu program
• Notasi ini disebut Preparation yang digunakan untuk memberi nilai
awal, nilai akhir, penambahan/pengurangan bagi suatu variabel
counter.
• Notasi ini disebut Predefined Process yang digunakan untuk
menunjukkan suatu operasi yang rinciannya ditunjukkan ditempat
lain (prosedur, subprosedur, fungsi)
• Notasi ini disebut Connector yang digunakan untuk menunjukkan
sambungan dari flowchart yang terputus di halaman yang sama atau
halaman berikutnya.
• Notasi ini disebut Arrow yang digunakan untuk menunjukkan arus
data atau aliran data dari proses satu ke proses lainnya.
Contoh Flowchart
Bagan Alir Logika Program Bagan Alir Program Komputer Terinci