H1 - Modul Daring MK Pemrograman Komputer Dalam C++ Dengan CodeBlocks
H1 - Modul Daring MK Pemrograman Komputer Dalam C++ Dengan CodeBlocks
Penulis:
Amidi, S.Si., M.Pd.
Muhammad Zuhair Zahid, S.Pd.Si., M.Pd.
JURUSAN MATEMATIKA
UNIVERSITAS NEGERI SEMARANG
2020
Kegiatan Belajar (KB) 1
Pengantar Algoritma dan Pemrograman
(Pertemuan : 1 x 3 SKS)
A. Pendahuluan
KB 1 ini menyajikan materi tentang pengenalan algoritma dan pemrograman.
Bahasan pada awal KB ini akan dijelaskan tentang persoalan yang kemudian
dilanjutkan dengan alur algoritma, program dan pemrograman. Serta ditutup
dengan notasi yang digunakan dalam penulisan algoritma pemrograman.
B. Capaian Pembelajaran
Setelah mempelajari materi ini, diharapkan mahasiswa mampu menerapkan
konsep dasar pemrograman dalam implementasi bidang pendidikan
matematika secara logis dan sistematis (CPMK 1). Sehingga pada
pembahasan materi pada KB 1 ini difokuskan untuk pemahaman awal
mengenai algoritma dan pemrograman.
C. Pokok-pokok Materi
Pokok-pokok materi kegiatan belajar ini adalah:
1. Persoalan
2. Algoritma
3. Karakteristik Algoritma
4. Program dan Pemrograman
5. Bahasa Pemrograman
6. Notasi Algoritma
D. Uraian Materi
1. Persoalan
Persoalan atau masalah adalah sesuatu yang harus diselesaikan atau
dipecahkan. Persoalan juga sangat erat dengan kehidupan kita sehari-hari,
dimana banyak sekali berbagai persoalan yang harus kita selesaikan. Selain
itu terkadang kita akan menggunakan istilah persoalan untuk hal-hal tertentu
dan menggunakan kata masalah untuk sebagian hal lainnya.
Selanjutnya untuk lebih memahami tentang persoalan, kita perhatikan
beberapa ilustrasi berikut:
1) Misalkan Anda diberikan tumpukan Kartu Tanda Mahasiswa (KTM) yang
tersusun acak. Anda diminta untuk menyusun KTM tersebut berdasarkan
Nomor Induk Mahasiswa (NIM), sehingga tersusun berurutan dari NIM
yang paling kecil ke paling besar.
Maka persoalan yang Anda hadapi dapat dirumuskan sebagai berikut :
“Diberikan setumpuk KTM, kemudian urutkan kartu-kartu tersebut supaya
tersusun menaik berdasarkan NIM sedemikian sehingga NIM kecil di atas
dan NIM besar di bawah?”
3) Diberikan sebuah daftar yang berisi nilai hasil ujian Mata Kuliah
Pemrograman Komputer 1, tentukan nama dengan nilai hasil ujian
tertinggi?
Jawaban yang diharapkan adalah Nama mahasiswa dengan nilai hasil
ujian tertinggi.
Berdasarkan data tersebut, urutkan mulai dari data yang paling kecil?
Solusi dari persoalan tersebut adalah mengurutkan data nilai hasil ujian
dimulai dari data yang paling kecil, sehingga jawabannya adalah
Sebelum diurutkan
75 68 89 91 70 78 69 86 82 84
Setelah diurutkan
68 69 70 75 78 82 84 86 89 91
2. Algoritma
Apabila persoalan-persoalan yang melibatkan jumlah yang relatif kecil, maka
kita dengan mudah akan menyelesaikannya. Seperti mengurutkan 10
bilangan, tetapi apabila jumlahnya sampai ribuan misalnya 1000 bilangan?,
tentunya kita akan mengalami kesulitan untuk mengurutkannya. Sehingga
diperlukan bantuan mesin untuk mengurutkan 1000 bilangan.
Agar perintah kita dapat dijalankan oleh mesin (misalnya komputer), maka
kita menuliskan prosedur yang berisi langkah-langkah untuk mengurutkan
bilangan. Sehingga mesin akan menjalankan prosedur tersebut untuk
memberikan solusi dari persoalan yang diberikan. Prosedur yang berisi
langkah-langkah penyelesaian persoalan disebut Algoritma.
Misalkan terdapat dua gelas, Gelas A dan Gelas B yang berisi larutan
berwarna. Gelas A berisi larutan berwarna merah, sedangkan Gelas
B berisi larutan berwarna biru. Volume air dalam kedua gelas sama
banyaknya. Bagaimana cara mempertukarkan isi kedua gelas
tersebut, sedemikian sehingga nantinya Gelas A akan berisi larutan
berwarna biru dan Gelas B berisi larutan berwarna merah?
Agar kita dapat menukar isi kedua gelas, maka kita memerlukan 1 gelas
ketiga sebagai tempat penampungan sementara. Sehingga kita dapat
menulis algoritma penukaran isi gelas adalah sebagai berikut:
1) Tuangkan larutan dari Gelas A ke Gelas C
2) Tuangkan larutan dari Gelas B ke Gelas A
3) Tuangkan larutan dari Gelas C ke Gelas B
Hasil Pertukaran
Gambar 3 Al-Khuwarizmi
Sumber gambar : https://id.wikipedia.org
3. Karakteristik Algoritma
Prinsip dasar algoritma adalah menerima masukan (input), memprosesnya
dalam urutan langkah-langkah, dan menghasilkan luaran (output). Sehingga
jika algoritma benar, maka hasilnya akan benar begitu juga sebaliknya.
Sebuah algoritma harus memiliki lima ciri penting berikut:
1) Algoritma harus berhenti setelah mengerjakan sejumlah langkah
terbatas.
2) Setiap langkah harus didefinisikan dengan tepat dan tidak boleh berarti
dua (ambigu).
3) Algoritma memiliki nol atau lebih masukan (input).
4) Algoritma menghasilkan nol atau lebih luaran (output).
5) Algoritma harus efektif, sehingga setiap langkah harus sederhana supaya
mudah untuk dikerjakan.
Khusus dalam modul ini, kita akan membahas algoritma yang akan diproses
oleh komputer. Sehingga algoritma harus ditulis dalam bahasa komputer
atau yang disebut program. Bahasa komputer yang digunakan untuk
menulis program dinamakan Bahasa pemrograman (programming
language). Orang yang membuat program disebut pemrogram
(programmer) dan kegiatan mulai dari mendesain hingga menulis program
5. Bahasa Pemrograman
Beberapa bahasa pemrograman yang biasa dipakai diantaranya Pascal, C,
C++, Java, Phyton, dan sebagainya. Berdasarkan tujuan aplikasinya,
bahasa pemrograman dibagi menjadi dua yaitu:
1) Bahasa pemrograman bertujuan khusus (specific programming
language), diantaranya Cobol (untuk terapan bisnis dan administrasi),
Forton (aplikasi komputasi ilmiah), Bahasa Asembly (aplikasi
pemrograman mesin), Prolog (aplikasi kecerdasan buatan), Bahasa-
bahasa simulasi (Symcript), dan sebagainya.
2) Bahasa pemrograman bertujuan umum (general programming language)
yang dapat digunakan untuk berbagai aplikasi. Contohnya Pascal, C,
C++, Java, dan sebagainya.
6. Notasi Algoritma
Agar algoritma mudah dipahami oleh pembaca, maka berikut beberapa
notasi yang biasa digunakan untuk menyatakan algoritma:
1) Notasi 1 : Kalimat Deskriptif
Yaitu dengan menuliskan setiap langkah dengan jelas.
Contoh:
Program :
Menghitung Luas Persegi Panjang dengan memasukkan nilai
panjang dan lebar Persegi Panjang
Algoritma:
a) Masukkan nilai lebar dan panjang
b) Hitung luas sama dengan panjang kali lebar
c) Tampilkan Luas
2) Notasi 2 : Flowchart
Flowchart atau diagram alir menggambarkan aliran instruksi di dalam
program secara visual. Bagan alir mengekspresikan algoritma sebagai
sekumpulan bentuk-bentuk geometri yang berisi langkah-langkah
komputasi.
Mulai
p, l, Luas
Input p, l
Luas = p * l
Output Luas
Selesai
http://www.flowgorithm.org/download/
Lebih banyak terkait flowchart dapat dilihat dalam PPT sesuai link
berikut:
https://bit.ly/kb1modulprokom1ppt2
Algoritma:
Deklarasi
Luas, panjang, lebar :integer
Deskripsi
input(panjang,lebar)
Luas:=panjang * lebar
output(Luas)
F. Rangkuman
Materi yang dikaji pada KB 1 dapat dirangkum sebagai berikut:
1) Algoritma adalah urutan langkah-langkah untuk menyelesaikan suatu
persoalan.
2) Program adalah algoritma harus ditulis dalam bahasa komputer. Orang
yang membuat program disebut pemrogram (programmer) dan kegiatan
mulai dari mendesain hingga menulis program dinamakan pemrograman
(programming).
3) Terdapat tiga notasi untuk menuliskan algoritma yaitu Notasi Deskriptif,
Notasi Flowchart, dan Notasi Pseudocode.
Catatan:
▪ Pembuatan flowchart menggunakan program Flowgorithm
▪ Pengumpulan tugas dalam bentuk pdf untuk flowchart dan pseudocode
dikumpulkan dalam satu file (secara berurutan untuk program yang
sama)
H. Kuis
Pilihlah satu jawaban yang tepat dengan cara memberi tanda x (silang) pada
huruf A, B, C, D, atau E yang ada di depan alternatif jawaban yang disediakan.
1. Persoalan menentukan Modus pada data hasil ujian akhir Mata Kuliah
Pemrograman Komputer 1 merupakan jenis persoalan?
A. Pengurutan
B. Pencarian
C. Pencacahan
D. Penentuan
E. Penghitungan
Apabila diasumsikan Toko Online tersebut hanya menjual tiket pesawat, dan
konsumen akan membeli tiket berangkat. Maka baris berapa yang
menyebabkan algoritma di atas menjadi kurang tepat?
A. 2
B. 3
C. 4
D. 5
E. 6