KELAS X
Pengertian Algoritma
Algoritma adalah urutan langkah-langkah logis untuk menyelesaikan suatu masalah yang
harus disusun secara sistematis. Konsep algoritma bisa disetarakan dengan sebuah resep yang
biasanya memiliki daftar bahan atau bumbu yang akan digunakan, urutan pengerjaan dan
bagaimana hasilnya. Apabila bahan yang digunakan tidak tertera (tidak tersedia) maka resep
tersebut tidak akan dikerjakan. Demikian pula jika urutan pengerjaannya tidak berurutan, maka
hasil yang diharapkan tidak akan dapat diperoleh. Contoh lain yaitu, ada seorang ibu yang
hendak menggoreng kentang. Pada kejadian tersebut ibu akan menjalankan aksi menggoreng
kentang. Sebelum menggoreng, ada beberapa hal yang harsus diperhatikan, yaitu:
1. Apakah kentang yang akan digoreng sudah tersedia atau harus dibeli terlebih dahulu?
2. Jika sudah dibeli, apakah kentang sudah dikupas atau belum?
3. Ada berapa buah kentang yang akan digoreng?
4. Apakah semua kentang ada yang busuk?
5. Jika ada, berapa yang bisa dipakai dan berapa yang dibuang?
6. Jika sudah selesai digoreng, bagaimana cara menghindangkannya?
Dalam bidang pemrograman, algoritma adalah solusi dari suatu masalah yang harus
dipecahkan dengan menggunakan komputer yang dibuat secara runut agar komputer mengerti
dan mampu mengeksekusinya.
Tugas 1!
Tuliskan pengertian dari input, proses dan output yang merupakan hasil dari kesimpulan kalian
dari contoh di atas! Dan apa yang terjadi apabila salah satu dari hubungan tersebut tidak ada.
Beda Algoritma dan Program ?
Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis
dalam program adalah algoritma. Program ditulis dengan menggunakan Bahasa
pemrograman. Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa
pemrograman.
Program = Algoritma + Bahasa (Struktur Data)
Langkah 1
Langkah 2
Langkah 3
Pada gambar di atas, langkah 1 merupakan langkah yang akan dijalankan pertama kali.
Setelah itu langkah 2, kemudian diikuti dengan langkah 3. Tiap langkah harus dikerjakan
sesuai urutannya, yaitu langkah 2 bisa dikerjakan apabila langkah 1 telah selesai
dikerjakan. Algoritma sekuensial banyak dijumpai pada kehidupan sehari-hari. Misalnya
pada kasus mengirim surat sebagai berikut:
a. Membeli amplop
b. Membeli prangko
c. Memasang prangko ke amplop
d. Menuliskan alamat pengirim dan alamat tujuan
e. Pergi ke kantor pos
f. Surat terkirim
Pada contoh di atas dapat dilihat bahwa langkah harus dilakukan secara runtut da nada
yang tidak boleh dibolak-balik urutannya, misalnya prangko harus dipasang terlebiih
dahulu sebelum surat dikirim.
Tugas 3!
Buat langkah-langkah membuat kopi!
Buat langkah-langkah menghitung luas segitiga!
Buat algoritma mencari luas segi empat!
2. Algoritma Percabangan (seleksi)
Sebuah program kadang-kadang perlu dirubah urutan pelaksanaannya. Peristiwa ini
disebut pemilihan langkah yang
didasarkan oleh suatu kondisi
(pengambilan keputusan). Seperti Ya Tidak
halnya ketika mobil berada pada Kondisi benar
persimpangan. Contoh ilustrasi struktur
percabangan:
Seperti terlihat pada gambar, langkah 1 Langkah 1 Langkah 2
hanya akan dijalankan apabila kondisi
bernilai benar, sedangkan langkah 2
akan dijalankan apabila kondisi bernilai
salah.
Pada contoh kasus algoritma sekuensial. Pada langkah ke-e yaitu pergi ke kantor pos.
pada langkah tersebut, dapat diambil keputusan lain selain pergi ke kantor pos, yaitu
memasukkan surat ke kotak pos. Sehingga terdapat seleksi dua kondisi yang harus
dipilih, apakah akan mengirim surat dengan ke kantor pos atau memasukkan ke kotak
pos. Maka, algoritma perlu memilih salah satu dari pilihan tersebut. Yang perlu
diperhatikan pada algoritma ini yaitu solusi pilihan akan dilakukan jika kondisinya
terpenuhi, dalam arti kondisinya bernilai benar. Jika kondisinya benar maka solusi akan
dijalankan, jika salah maka tidak akan dijalankan. Misalnya, terdapat aturan bahwa yang
dapat memiliki KTP adalah warga negara yang betumur lebih dari 17 tahun, maka kondisi
bernilai benar adalah warna negara yang berumur >=17 tahun sehingga solusinya warga
negara tersebut akan mendapatkan KTP, sedangkan yang berumur <= 17 tahun bernilai
salah dengan solusi belum mendapatkan KTP.
Tugas 4!
Buat algoritma membuat kopi apabila ada tambahan ingin ditambahkan susu atau
tidak.
3. Algoritma Perulangan
Algoritma perulangan berarti terdapat satu atau lebih kejadian/tindakan yang harus
diulang terus menerus sampai kondisinya terpenuhi lagi. Pada pembuatan prpgram
komputer, kadang-kadang terdapat kondisi dimana mengulang satu atau sekelompok
perintah berkali-kali agar memperoleh hasil yang diinginkan. Dengan menggunakan
komputer, eksekusi pengulangan mudah dilakukan. Hal ini karena kelebihan komputer
dibandingkan kemampuan manusia dapat mengulang pekerjaan berulangkali tanpa
merasa lelah, bosan atau malas.
Contoh perulangan pada mengirim surat yaitu ketika seseorang akan menulis surat
kepada 5 orang yang berbeda sehingga sesorang tersebut harus menulis sebanyak 5 kali
dan tidak menutup kemungkinan menempelkan pragko sebanyak 5 kali, menulis alamat
sebanyak 5 kali dan mengirimkan surat ke kantor pos atau memasukkan surat ke kotak
pos sebanyak 5 kali.
Struktur perulangan terdiri dari dua bagian yaitu:
1. Kondisi pengulangan, yaitu syarat yang harus dipenuhi untuk melaksanakan
pengulangan.
2. Badan pengulangan, yaitu satu atau lebih instruksi yang akan diulang.
Pengulangan merupakan tindakan atau langkah yang dijalankan secara beberapa kali.
Contoh lain, jika ingin menampilkan 10 tulisan “Rekayasa Perangkat Lunak” dapat
dituliskan dengan algoritma sekuensial. Tapi bagaimana jika tulisan tersebut ditampilkan
dalam jumlah lebih dari 10, solusinya adalah dengan menggunakan algoritma perulangan.
Tugas 5!
Buat algoritma perulangan membuat kopi!
Buat algoritma perulangan menghitung bilangan kelipatan 7, nilai akhir 49!
Tugas 6!
Buatlah algoritma untuk menentukan kelulusan siswa dengan ketentuan:
Nilai >= 70 maka lulus, sedangkan <= 70 tidak lulus
D. Pseudocode
Pseudocode berasal dari kata pseudo dan code yang artinya kode semu, atau menyerupai
kode program sebenarnya. Itu berarti pseudocode bukan merupakan kode program
sebenarnya. Pseudocode menggunakan Bahasa (biasanya Bahasa inggris, seperti print untuk
mencetak). Contoh:
Algoritma Pseudocode
Pseudocode menggunakan kata kerja aktif untuk menyimbolkan algoritma. Pada bidang
bukan komputer, berikut beberapa kata kerja aktif yang sering digunakan pada pseudocode:
1. Sikat gigi
2. Cuci muka
3. Sisir rambut
4. Senyum
Sedangkan pada bidang komputer adalah:
1. Read tinggi segitiga
2. Read alas segitiga
3. Compute luas = alas kali tinggi
Beberapa kata kunci perintah yaitu:
a. Input: READ,OBTAIN,GET
b. Output: PRINT,DISPLAY,SHOW
c. Perhitungan: COMPUTE, CALCULATE, DETERMINE
d. Inisialisasi: SET,INIT
e. Penambahan dengan 1: INCREMENT
Tugas 7!
Buat algoritma mencari keliling lingkaran!
Buat algoritma untuk dengan membuat pilihan apabila ingin mencari luas atau keliling
lingkaran!
E. Flowchart
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 bentu notasi-notasi tertentu. Berbeda dengan
pseudocode, flowchart menggunakan symbol-simbol berbentuk gambar untuk menjelaskan
alur logika berpikir sehingga dapat digunakan untuk membuat atau menjelaskan suatu
program.
Dengan menggunakan flowchart, maka seorang programmer dapat memeberikan idenya
secara tertulis sehingga dapat dipahami oleh programmer lain, klien atau tim kerjanya. Hal ini
sangat berguna terutama pada kasus berikut:
1. Pada kerja tim, banyak programmer terlibat. Akibatnya, jika tim tersebut merupakan tim
yang mengerjakan beberapa dari suatu proyek besar, maka flowchart sangat penting
digunakan untuk mengungkapkan algoritma salah satu tim, untuk dapat dipahami dan
dikerjakan oleh tim lain.
2. Pada saat programmer selesai mengerjakan suatu program kemudian memberikan
program tersebut kepada kliennya. Maka, untuk menjelaskan alur pemikiran dan cara
kerja program dapat digunakan flowchart.
Aliran data
Penjelasan gambar di atas, tampak penggunaan simbol Decision. Pada simbol ini terjadi
pemeriksaan kondisi, yaitu apakah usia lebih dari 17 tahun atau tidak. Jika jawaban ya maka
program akan menghasilkan keluaran teks “Silahkan Menonton”, sedangkan jika input
usiakurang dari 17 tahun maka program akan menghasilkan keluaran teks “Anda Tidak Boleh
Menonton”.
Contoh lainnya, misalnya menentukan apabila nilai C=A-B, jika setelah perhitungan
tersebut nilai C yang dihasilkan bernilai positif (diatas 0) maka kondisinya akan memproses
rumus B=A+C, tapi apabila hasil negatif maka proses yang akan dikerjakan adalah B=A-C.
berikut flowchartnya:
Mulai
Read A,B,C
C=A-B
Ya Tidak
C>=0
B=A+C B=A-C
Print B
Selesai
Berikut contoh flowchar berupa 2 seleksi percabangan:
Tugas 9!
Buat flowchart untuk menentukan jika nilai >= 75 maka lulus, jika <=75 maka tidak lulus
Buat flowchart untuk harga tiket dengan ketentuan berikut:
Status pelajar, harga tiket Rp. 20.000
Status Mahasiswa, harga tiket Rp. 30.000
Status umum, harga tiket Rp. 50.000
Jelaskan flowchart percabangan lebih dari dua cabang di atas!
Penjelasan: inisialisasi (penentuan nilai awal) yaitu I = 1 to 100, maksudnya adalah nilai awal
yang ditentukan yaitu 1 dan nilai akhirnya adalah 100. Sedangkan increment (penambahan)
atau kenaikan tiap kali pengulangan dari I adalah satu. Perintah untuk mencetak pernyataan
akan diulang satu persatu sampai nilai akhir dari counter terpenuhi (100). Maka tulisan “Saya
tidak akan mengulangi perbuatan itu lagi” akan mengulang sampai 100 kali karena telah
ditentukan di atas bahwa nilai akhirnya 100, selama nilai belum mencapai 100 maka tulisan
tersebut akan tercetak berulang kali sampai akhirnya kondisi sesuai dengan nilai akhir.
Contoh 2:
Pada flowchart, setelah Start, kita meletakkan
satu proses yang berisi pernyataan A = 1. Bagian
inilah yang disebut inisialisasi. Kita memberi
nilai awal untuk A = 1. Variabel counter-nya
adalah X dengan nilai awal 1 dan nilai akhir 10,
tanpa increment(atau secara default increment-
nya adalah 1). Ketika masuk ke badan loopuntuk
pertama kali maka akan dicetak langsung nilai
variabel A. Nilai variabel A masih sama dengan
1. Kemudian proses berikutnya adalah
pernyataan A = A + 2. Arti dari pernyataan ini
adalah gantilah nilai A yang lama dengan hasil
penjumlah nilai A lama ditambah 2. Sehingga A
akan bernilai 3. Kemudian dilakukan
pengulangan yang ke-dua. Pada kondisi ini nilai
A adalah 3, sehingga yang tercetak oleh perintah
print adalah 3. Baru kemudian nilai A kita ganti
dengan penjumlahan A + 2. Nilai A baru adalah
5. Demikian seterusnya. Sehingga output dari
flowchart ini adalah 1, 3, 5, 7, .., 19.
Contoh lain pada flowchar dibawah ini terlihat ada dua simbol preparation. Yang
pertama dengan variabel counterX dan yang kedua dengan variabel counter Y. Dalam posisi,
variabel counter Y terletak setelah variabel counter X. Hal ini berarti pengulangan dengan
variabel counter Y terletak di dalam variabel counterX. Inilah yang disebut sebagai
pengulangan bersarang.
Sehingga memperoleh hasil:
Pada contoh di atas, username, Nama, harga dan HargaTotal adalah nama dari variabel
sedangkan “joni”, “izmi”, 2500 dan 34000 adalah nilai dari masing-masing variabel. Nilai-nilai
ini akan tersimpan di dalam nama variabel masing-masing sepanjang tidak kita rubah. Pada
sebagian besar bahasa pemrograman, variabel harus dideklarasikan lebih dulu untuk
mempermudah compiler bekerja. Apabila variabel tidak dideklarasikan maka setiap kali
compiler bertemu dengan variabel baru pada kode program akan terjadi waktu tunda karena
compile rharus membuat variabel baru. Hal ini memperlambat proses kerja compiler. Bahkan
pada beberapa bahasa pemrograman, compilerakan menolak untuk melanjutkan proses
kompilasi. Pemberian nama variabel harus mengikuti aturan yang ditetapkan oleh bahasa
pemrograman yang kita gunakan. Namun secara umum ada aturan yang berlaku untuk
hampir semua bahasa pemrograman. Aturan-aturan tersebut yaitu:
• Nama variabel harus diawali dengan huruf.
• Tidak boleh menggunakan spasi pada satu nama variabel. Spasi bisa diganti dengan karakter
underscore (_).
• Nama variabel tidak boleh mengandung karakter-karakter khusus, seperti : .,+, -, *, /, <, >,
&, (, ) dan lain-lain.
• Nama variabel tidak boleh menggunakan kata-kata kunci d bahasa pemrograman.
Tugas 11!
Tentukan salah atau benar pada nama-nama variabel berikut ini. Jika salah cobalah berikan
alasan.
nama.guru
NamaGuru
2x
harga/buku
hargaPerBuku
Tugas 12!
Tentukan tipe data yang cocok untukhal-hal berikut ini (perhatikan ini bukan nama
variabel) dan jelaskan alasannya.
a. Jumlah murid
b. Berat badan
c. Tinggi badan
d. Nama siswa
e. Tempat lahir
f. Tanggal lahir
C. Pengenalan Operator
Operator adalah simbol-simbol khusus yang digunakan untuk mengoperasikan suatu nilai
data (operand).
Operator Pembanding adalah operator yang digunakan untuk membandingkan dua buah nilai
atau operand.
Operator perbandingan ini antara lain:
< : untuk kurang dari
> : untuk lebih dari
<= : untuk kurang dari atau sama dengan
>= : untuk lebiih dari atau sama dengan
== : untuk sama dengan
!= : untuk tidak sama dengan
<> : untuk tidak sama dengan
Tugas 13!
1. Tuliskan maksud dari operator penugasan berikut:
a. R+=2
b. D*=f-=(G/=4)
c. 4%=f
2. Tuliskan hasil dari rumus operator aritmetika berikut:
a. X=a+r²/2 dengan a=3, r=4
b. z=(n+c²)/2 dengan n=3,c=4
c. m=n-o/r+o, dengan n=10,o=3,r=4
d. (z++)*(m--), dengan z=6, m=3
3. Tuliskan dalam operator logika:
a. Jika N=0 dan M=-1
b. Jika D=1s/d 4 atau E=9
c. Jika D=0 tidak sama dengan M=-1
4. Tentukan apakah hasilnya bernilai true (benar) atau false (salah):
a. Nilai 1=75, Nilai 2 =74 Nilai 1 >75 && Nilai 2<75
b. Nilai 1=75, Nilai 2 =74 Nilai 1>=75 || Nilai 2 < 75
c. Nilai 1=75, Nilai 2 =75 !(Nilai 1== Nilai 2)
5. Jelaskan maksud dari operator pembanding berikut:
a. Nilai > 80
b. Nilai >= 80
6. Konstanta
Konstanta adalah variabel yang nilai datanya bersifat tetap dan tidak bisa diubah. Jadi konstanta
adalah juga variabel bedanya adalah pada nilai yang disimpannya. Jika nilai datanya sepanjang
program berjalan tidak berubah-ubah, maka sebuah varibel lebih baik diperlakukan sebagai
konstanta. Pada sebuah kode program, biasanya nilai datadari konstanta diberikan langsung di
bagian deklarasi konstanta. Sedangkan untuk variabel biasanya hanya ditentukan nama variabel
dan tipe datanya tanpa isian nilai data. Aturan penamaan variabel juga berlaku untuk penamaan
konstanta. Demikian juga aturan penetapan tipe data.
Sebagai contoh, jika kita membuat program perhitungan matematik yang menggunakan nilai pi
(3.14159) yang mungkin akan muncul dibanyak tempat pada kode program, kita dapat membuat pi
sebagai konstanta. Penggunaan konstanta pi akan lebih memudahkan penulisan kode program
dibanding harus mengetikkan nilai 3.14159 berulang-ulang.
Tugas 14!
1. Tuliskan perbedaan konstanta dan variabel beserta contoh!
7. Ekspresi
Ekspresi dalam pemrograman merupakan kumpulan dari berbagai variabel, operator dan
pemanggilan fungsi yang disusun sesuai dengan tata aturan atau sintaksdari Bahasa pemrograman
yang digunakan. Contoh ekspresi pemrograman:
X=2 , maksudnya adalah bahwa nilai dari variabel X diberi nilai 2
Nilai = 1 + 2, maksudnya variabel Nilai akan diberikan nilai dari hasil penambahan antara 1 dan
2
3. Memahami perangkat lunak bahasa pemrograman
Tujuan Pembelajaran ini, diharapkan siswa dapat:
- Memahami dan menerapkan program turbo pascal
Kompiler yang akan digunakan untuk mata pelajaran ini adalah Turbo Pascal. Pengaturan program
pada Turbo Pascal sangat sederhana dan tidak membutuhkan terlalu banyak macam berkas yang
disimpan pada perantara. Kode sumber program (source code) Pascal disimpan pada berkas dengan
perluasan PAS (singkatan dari pascal). Sedangkan setelah kode tersebut dikompilasi akan dihasilkan
kode mesin (machine code) dengan dua macam perluasan, EXE (executable) atau TPU (Turbo pascal
unit). Bila kode sumbernya merupakan program, akan dihasilkan berkas dengan perluasan EXE.
Sedangkan bila kode sumbernya merupakan unit, akan dihasilkan berkas dengan perluasan TPU.
Pertama kali menjalankan Turbo Pascal, pemakai akan dihadapkan pada suatu jendela
penyuntingyang dinamakan IDE (integrated Development Environmet). IDE Turbo Pascal tersebut
memungkinkan pemakai untuk menulis kode program sekaligus melakukan kompilasi dan menjalankan
program tanpa harus keluar dari jendela penyuntingan tersebut.
Kompiler turbo Pascal selain berupa MS-DOS dapat pula tampilannya berupa windows. Tergantung
dari pemakai, yang ingin menginstal turbo pascal versi apa ke komputernya, yang terpenting
kompilernya bisa dijalankan dan digunakan. Gambar berikut merupakan menu awal dari turbo pascal
versi DOS:
Jika ingin memulai mengetik source code, pemakai hanya perlu mengklik menu FILE – New yang
kemudian akan memunculkan layar IDE berikut:
Layar di atas digunakan untuk mengetik kode program (source code) yang nantinya akan di compile
keudian dijalankan.
B. Kompilasi
Proses kompilasi adalah proses penerjemahan bahasa pemrograman pascal menuju kode mesin.
Karena pascal merupakan compiler, maka program yang ditulis harus dikompilasi dulu sebelum dapat
dijalankan. Semua program harus benar terlebih dahulu sebelum program dijalankan. Hal ini
dikarenakan compiler membaca dulu seluruh kode sumber program sebelum menghasilkan kode
mesin. Untuk mengcompile program dilakukan dengan menekan F9 pada keyboard atau mengklik
menu compile pada IDE pascal.
C. Menjalankan Program
Menjalankan program dilakukan dengan menekan CTRL+F9 pada keyboard atau mengklik menu
Run pada menu.
Perlu diketahui apabila setelah pengerjaan dan dikompilasi, program salah dan pemakai perlu
merubah kode programnya, maka setelah selesai perlu di compile kembali (jangan langsung dijalankan
–RUN-, agar program terupdate. Jika langsung dijalankan maka kemungkinan besar hasil program
tiddak terupdate sehingga program bisa saja tetap salah.
Tugas 15!
1. Silahkan mencari info melalui internet tentang pemrograman pascal kemudian buat laporan
singkat tentang perograman pascal!
2. Instal pemrograman pascal pada laptop masing-masing!
3. Menerapkan alur pemrograman dengan struktur bahasa
pemrograman komputer.
Contoh program pascal mencari luas lingkaran seperti pada flowchart yang telah dicontohkan
pada bagian 1.
Program lingkaran;
Uses crt;
Var
Luas,jarijari :real;
Begin
jarijari:=5;
Luas:=3.14*sqr(jarijari);
Writeln(‘Luas : ‘,Luas);
Readln;
End.
Penjelasan:
Kata yang dicetak tebal adalah kata kunci atau penunjuk baku yang sudah ditentukan
Baris ke-4 adalah variabel atau pemberian tipe data kepada kode program. Variabel untuk luas
dan jarijari berupa bilangan pecahan, karena itu tipe datanya adalah real.
Baris ke-6 adalah pemberian nilai jarijari(radius)
Baris ke-7 proses perhitungan, karena phi adalah 3.14 yang sudah ditentukan rumusanya, dan
sqr merupakan pangkat 2(sesuai rumus luas lingkaran L=Phi*r²)
Baris ke-8 adalah tampilan hasil setelah perhitungan
Sumber:
1. Rachmat C. Antonius, Algoritma dan Pemrograman dengan Bahasa C,Penerbit Andi Yogyakarta,
2010.
2. Mulyanto R. Aunur, Rekayasa Perangkat Lunak Jilid 1, Direktorat Pembinaan SMK Jakarta, 2009.
3. Updi Fery, Modul Pemrograman Dasar (Algoritma dan Pemrograman), Prodi Teknik Komputer
dan Informatika,Paket Keahlian TKJ, RPL dan Multimedia, Kurikulum 2013.
4. Suharsono Kadwi, Diktat Kuliah Pascal I, STIKI Malang , 2000.
5. Internet