The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.

Modul 3.1 Algoritma, mata pelajaran untuk TKJ

Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by mariani.naniyani, 2021-09-03 02:30:42

Modul Logika dan Algoritma

Modul 3.1 Algoritma, mata pelajaran untuk TKJ

Keywords: ebook Modul 3.1 Algoritma

Kompetensi Dasar

3.1 Menerapkan alur logika pemrograman komputer.
4.1 Membuat alur logika pemrograman komputer.

Tujuan Pembelajaran

Setelah mempelajari bab ini, siswa diharapkan mampu:
1. menerapkan alur logika pemrograman komputer,
2. menyajikan alur logika pemrograman komputer dengan bahasa natural,
3. menyajikan alur logika pemrograman komputer dengan pseudocode,
4. menyajikan alur logika pemrograman komputer dengan flowchart,
5. menguji coba dan mengevaluasi rancangan alur penyajian logika pemrograman dengan bahasa

natural, pseudocode, dan flowchart,
6. memperbaiki rancangan alur penyajian logika pemrograman dengan bahasa natural,

pseudocode, danflowchart, serta
mengkomunikasikan hasil pembuatan algoritma dengan baik dan persuasif

Pengertian
Algoritma

Logika dan Algoritma Aspek Penting Dalam
Algoritma

Ragam Struktur
Algoritma

Metode Penyajian
Algoritma

Flowchart
Struktur Urut

Materi Pembelajaran

A. Pengertian Algoritma

Saat pertama mempelajari bahasa pemrograman, mendapatkan kesan bahwa
bagian sulit dari menyelesaikan masalah di komputer adalah menerjemahkan ide-ide
ke dalam bahasa spesifik yang akan dimasukkan ke dalam komputer. Bagian
tersulit dalam menyelesaikan masalah di komputer adalah menemukan metode
solusinya. Setelah menemukan metode solusi, kemudian menerjemahkan
metode ke dalam bahasa yang diperlukan, baik itu C ++ atau bahasa
pemrograman lainnya. Oleh karena itu sangat membantu untuk mengabaikan
sementara waktu bahasa pemrograman dan berkonsentrasi pada merumuskan
langkah- langkah solusi dan menuliskannya dalam bahasa yang sederhana. Seolah-
olah instruksi harus diberikan kepada manusia bukan ke komputer. Urutan
instruksi yang dinyatakan dengancara ini sering disebut algoritma.

Istilah algoritma berasal dari seorang ilmuwan terkenal dari Persia yaitu
Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi. Al-Khuwarizmi dibaca orang
barat menjadi Algorism. Al-Khuwarizmi menulis kitab atau buku yang berjudul Al
Jabr Wal-Muqabala atau The Book of Restoration and Reduction. Dari buku tersebut
diperoleh akar kata “Aljabar” (Algebra). Perubahan kata dari Algorism menjadi
Algorithm muncul karena kata Algorism sering dikelirukan dengan arithmetic,
sehingga akhiran –ism berubah menjadi –ithm.

Algoritma merupakan suatu prosedur, urutan langkah-langkah atau tahapan-
tahapan sistematis, jelas, dan logis untuk menyelesaikan permasalahan. Langkah logis
dalam algoritma harus dapat ditentukan, bernilai salah atau benar. Algoritma
merupakan alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan
secara tertulis. (Moh Sjukani, “Algoritma dan Struktur Data dengan C, C++, dan
Java”).

B. Aspek Penting Dalam Algoritma

Beberapa hal yang harus diperhatikan dalam membuat algoritma antara lain
algoritma harus mengikuti suatu urutan aturan tertentu dan tidak boleh melompat-
lompat. Algoritma seseorang dengan orang yang lain dapat berbeda-beda karena
mempunyai alur pikir yang berbeda-beda pula, meskipun untuk menyelesaikan
permasalahan yang sama. Langkah demi langkah secara eksak harus dapat
memecahkan suatu masalah. Algoritma dapat diwujudkan dalam berupa kalimat,
gambar atau tabel tertentu. Menurut Donald E. Knuth, algoritma harus mempunyai
lima ciri penting, yaitu sebagai berikut.
1. Finiteness. Algoritma harus berhenti setelah mengerjakan sejumlah langkah

tertentu atau terbatas.
2. Definiteness. Setiap langkah harus didefinisikan secara tepat, tidak boleh

membingungkan(ambiguous).
3. Input. Sebuah algoritma memiliki nol atau lebih input yang diberikan kepada

algoritmasebelum dijalankan.
4. Output. Sebuah algoritma memiliki satu atau lebih output, yang biasanya

bergantung kepada Input.
5. Effectiveness. Setiap algoritma diharapkan miliki sifat efektif. Setiap

langkah harus sederhana sehingga dapat dikerjakan dalam sejumlah waktu
yang masuk akal.

C. Ragam Struktur Algoritma

Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkah-
langkah tersebut dapat berupa
1. runtunan aksi (sequence)
2. pemilihan aksi (selection)
3. pengulangan aksi (iterationatau looping)
4. kombinasi dari ketiganya.

Struktur dasar penyajian algoritma dibedakan menjadi tiga, yaitu sebagai
berikut.
1. Struktur runtunan (sequence), struktur algoritma yang mempunyai

pernyataan secaraberurutan atau sequential.
2. Struktur pemilihan atau percabangan (selection), struktur algoritma atau

program yangmenggunakan pemilihan atau penyeleksian kondisi.
3. Struktur perulangan, struktur algoritma atau program yang

pernyataannya akan dieksekusi berulang-ulang sampai kondisi tertentu.

Pada algoritma, tidak dipakai simbol-simbol atau sintaks dari suatu bahasa
pemrograman tertentu, melainkan bersifat umum dan tidak tergantung pada
suatu bahasa pemrograman apapun juga. Notasi-notasi algoritma dapat digunakan
untuk seluruh bahasa pemrogramanmana pun.

D. Metode dan Struktur Penyajian Algoritma

Penyajian algoritma secara garis besar dapat dibedakan menjadi dua, yaitu
berbentuk tulisan dan berbentuk gambar. Algoritma yang disajikan dengan
bentuk tulisan dapat menggunakan aturan bahasa natural (alami) dan
pseudocode. Bahasa natural menggunakan struktur bahasa tertentu (misalnya
struktur bahasa Indonesia atau bahasa Inggris). Pseudocode adalah kode-kode
tertentu dan mirip dengan kode bahasa pemrograman (misal bahasa Pascal, C,
C++) sehingga lebih tepat digunakan untuk menggambarkan algoritma yang
akan dikomunikasikan kepada pemrogram (programmer). Sedangkan algoritma
yang disajikan dengan gambar dapat berbentuk diagram alur (flowchart) atau
struktogram (Nassi Schneiderman chart).

Metode dalam menulis dan merancang algoritma, yaitu :
1. natural language (menggunakan bahasa Indonesia, inggris, dll)
2. pseudocode (menggunakan notasi)
3. flowchart (menggunakan bagan alir dokumen)

Struktur penulisan algoritma terdiri dari tiga bagian
1. Bagian Kepala atau Header

Bagian ini merupakan permulaan sebuah algoritma . Biasanya beisi judul
algoritma yang mewakili spesifikasi program. Biasanya diawali dengan
keyword “Program”diikuti judul program. Sebaiknya dalam penulisannya
lebih ringkas dan padat, namun memberikan gambaranjalannya program
yang dikerjakan
2. Bagian Pendeklarasian
Pada bagian inimerupakan tahapan pernyataan dan penentuan berbagai
jenis variabel, konstanta dan tipe data bentukan yang selanjutnyaakan
digunakan pada badan utama program
3. Bagian Badan Algoritma
Bagian ini menunjukkan untaian proses yang dilakukan. Biasanya berupa
proses computing (perhitungan), perulangan, penyelesaian maupun proses
pencetakan output programpada peranti output, misalnya monitor

Perhatikan contoh bentuk algoritma program untung menampilkan string
“Sealmat Datang Programmer” berikut

CONTOH
Menentukan struktur penulisan algoritma untuk menampilkan string
“Selamat Datang Programmer”

Program untuk menampilkan string
{program ini untuk menampilkan kalimat “Selamat Datang Programmer” pada
layar monitor}

Deklarasi
Teks : staring {variabel teks dengan tipe data string}

Algoritma :
Teks ←”Selamat Datang Programmer”{assignment variabel teks}
Write (teks) {menampilka nnnilai variabel teks pada monitor}

Struktur penulisan algoritma dari contoh di atas adalah

1. Bagian Kepala atau Header

Program untuk menampilkan string
{program ini untuk menampilkan kalimat “Selamat Datang Programmer” pada
layar monitor}

2. Bagian Pendeklarasian
Deklarasi

Teks : staring {variabel teks dengan tipe data string}

3. Bagian Badan Algoritma
Algoritma :

Teks ←”Selamat Datang Programmer”{assignment variabel teks}
Write (teks) {menampilka nnnilai variabel teks pada monitor}

1. Penyajian Algoritma Menggunakan Bahasa Natural (Alami)
Notasi penulisan algoritma dengan menggunakan bahasa deskriptif bisa

juga disebut dengan notasi alami. Dilakukan dengan cara menuliskan
instruksi-instuksi yang harus dilaksanakan dalam bentuk untaian kalimat
deskriptif dengan menggunakan bahasa yang jelas. Dasar dari notasi
bahasa deskriptif adalah bahasa Inggris, tetapi dapat dimodifikasi dengan
bahasa sehari-hari termasuk Bahasa Indonesia. Karena tidak ada aturan
baku dalam menuliskan algoritma dengan notasi deskriptif maka tiap orang
dapat membuat aturan penulisan dan notasi algoritma sendiri. Hal ini
dapat dimengerti karena teks algoritma tidak sama dengan teks program.
Program adalah implementasi algoritma dalam notasi bahasa pemrograman
tertentu. Tetapi, agar notasi algoritma mudah ditranslasi ke dalam notasi

bahasa pemrograman, maka sebaiknya notasi algoritma tersebut
berkoresponden dengan notasi bahasa pemrograman pada umumnya. Kata
kerja adalah jenis kata yang biasa digunakan dalam penulisan bahasa
deskriptif, contohnya tulis, baca, hitung, tampilkan, ulangi, bandingkan, dan
lain-lain. Notasi jenis ini cocok untuk algoritma yang pendek. Tapi untuk
masalah algoritma yang panjang, notasi ini kurang efektif. Cara penulisan
algoritma dengan notasi bahasa deskriptif paling mudah dibuat, tetapi demikian
cara ini paling sulit untuk diterjemahkan ke dalam bahasa pemrograman. Pada
dasarnya teks algoritma dengan bahasa deskriptif disusun oleh tiga bagian
utama yaitu: bagian judul (header) , bagian deklarasi (kamus) dan bagian
deskripsi.

Setiap bagian disertai dengan komentar untuk memperjelas maksud
teks yang dituliskan. Komentar adalah kalimat yang diapit oleh pasangan tanda
kurung kurawal (‘{’ dan ‘}’).

a. Judul Algoritma
Judul algoritma merupakan bagian yang terdiri atas nama

algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut. Di
bagian ini juga digunakan untuk menentukan apakah teks algoritma
yang dibuat tersebut adalah program, prosedur, atau fungsi. Nama
algoritma sebaiknya singkat tetapi cukup menggambarkan apa yang
dilakukan oleh algoritma tersebut.Di bawah nama algoritma disertai
dengan penjelasan singkat (intisari) tentang apa yang dilakukan oleh
algoritma. Penjelasan di bawah nama algoritma sering dinamakan juga
spesifikasi algoritma yang dituliskan dalam kurung kurawal ({}). Algoritma
harus ditulis sesuai dengan spesifikasi yang didefinisikan. Gambar 2.1 adalah
contoh judul algoritma menghitung luas lingkaran yang disertai dengan
AplegnojreiltamsaanLsuinagsk_aLt.ingkaran Judul Algoritma {Menghitung luas
lingkaran untuk ukuran jari-jari tertentu. Algoritma menerima
masukan jari-jari lingkaran,menghitung luasnya, lalu cetak luasnya
ke piranti keluaran} Spesifikasi

b. Bagian deklarasi
Di dalam algoritma, deklarasi atau kamus adalah bagian untuk

mendefinisikan semua nama yang dipakai di dalam algoritma. Nama
tersebut dapat berupa nama variabel, nama konstanta, nama tipe, nama
prosedur atau nama fungsi. Semua nama tersebut baru dapat digunakan
di dalam algoritma jika telah didefinisikan terlebih dahulu didalam
bagian deklarasi. Penulisan sekumpulan nama dalam bagian deklarasi
sebaiknya dikelompokkan menurut jenisnya. Pendefinisian nama konstanta
sekaligus memberikan nilai konstanta. Pendefinisian nama fungsi atau
prosedur sekaligus dengan pendefinisian spesifikasi dan parameternya.

Deklarasi:
radius = real {tipe data bilangan pecahan}luas = real {tipe data
bilangan pecahan}
PHI = 3.14

c. Bagian Deskripsi
Deskripsi adalah bagian inti dari struktur algoritma. Bagian ini berisi uraian
langkah -langkah penyelesaian masalah. Langkah-langkah ini dituliskan
dengan notasi yang lazim dalam penulisan algoritma. Setiap langkah
algoritma dibaca dari langkah paling atas hingga langkah paling bawah.
Urutan penulisan menentukan urutan pelaksanaan perintah. Seperti yang
telah dijelaskan bahwa penyusun atau struktur dasar algoritma adalah
langkah-langkah. Suatu Algoritma dapat terdiri atas tiga struktur dasar,
yaitu runtunan, pemilihan dan pengulangan. Ketiga jenis langkah tersebut
membentuk konstruksi suatu algoritma. Pada bagian deskripsi inilah letak
tiga struktur algoritma tersebut.

Deskripsi:
1. Baca radius
2. Hitung luas = radius * radius * PHI
3. Tampilkan luas ke layar
4. Selesai

Bentuk contoh lengkap penyajian algoritma dengan bahasa natural sebagai
berikut

Algoritma Luas Lingkaran
{Menghitung luas lingkaran untuk ukuran radius tertentu. Algoritma
menerima masukan radius lingkaran, menghitung luasnya, lalu cetak
luasnya ke pirantikeluaran}

Deklarasi:
radius = real {tipe data bilangan
pecahan}luas = real {tipe data
bilangan pecahan} PHI = 3.14

Deskripsi:
1. Baca radius
2. Hitung luas = radius * radius * PHI
3. Tampilkan luas ke layar
4. Selesai

Gambar 1.3 Contoh penyajian algoritma menggunakan bahasa natural

2. Penyajian Algoritma Menggunakan Pseudocode
Pseudocode adalah cara penulisan algoritma yang menyerupai bahasa

pemrograman tingkat tinggi. Pseudocode menggunakan bahasa yang hampir
menyerupai bahasa pemrograman. Biasanya pseudo code menggunakan
bahasa yang mudah dipahami secara universal dan juga lebih ringkas daripada
algoritma. Pseudocode berisi deskripsi dari algoritma pemrograman komputer
yang menggunakan struktur sederhana dari beberapa bahasa pemrograman
tetapi bahasa tersebut hanya ditujukan agar dapat dibaca manusia.
Sehingga pseudocode tidak dapat dipahami oleh komputer. Supaya notasi
pseudocode bisa dipahami oleh komputer maka harus diterjemahkan
terlebihdahulu menjadi sintaks bahasa pemrograman komputer tertentu.

Dalam pseudocode, tidak ada sintaks standar yang resmi. Oleh karena
itu, pseudocode ini dapat diterapkan dalam berbagai bahasa pemograman.
Disarankan untuk menggunakan keyword yang umum digunakan seperti if, then,

else, while, do, repeat, for, dan lainnya Keuntungan menggunakan notasi
pseudocode adalah kemudahan mentranslasi ke notasi bahasa
pemrograman, karena terdapat korespondensi antara setiap pseudocode
dengan notasi bahasa pemrograman. Tabel 2.1. menunjukkan
perbandingan beberapa kata yang biasa digunakan dalam penulisan algoritma
denganmenggunakan kalimat deskriptif dan pseudocode.
Tabel 1.1 Perbandingan kata dalam penulisan algoritma dengan kalimat
deskriptifdan pseudocode

No Kalimat Deskriptif Pseudocode

Masukkan panjang Input panjang
Tampilkan luas Read panjang
Jika sudah selesai, cetak luas Baca panjang
Nilai B ditambah 5 Output luas
Print luas
Write luas
if kondisi_selesai == true then Print
luas

B B+5

Jika nilai A lebih kecil dari 5 maka if A<5 then B  B/3
nilai Bdibagi 3
Jika nilai A lebih besar dari nilai B if A>B then Print A else Print B
maka tampilkan A, jika A lebih kecil
dari B makatampilkan nilai B

Struktur penulisan pseudocode secara umum sama dengan struktur
penulisan algoritma dengan menggunakan kalimat deskriptif yaitu dimulai
dari judul/header, deklarasi/kamus dan diakhiri dengan deskripsi. Berikut
contoh pseudocode menentukan bilangan terbesar dari 3 masukan bilangan

Algoritma : Bilangan_Maksimum
{Dibaca tiga buah bilangan dari piranti masukan. Carilah bilangan bulat
maksimumdiantara ketiga bilangan tersebut}
Deklarasi :
Bil1,Bil2,Bil3: integer {bilangan yang dicari
maksimumnya}Max: integer {variabel bantu}
Deskripsi:
1. Read (Bil1,Bil2)
2. If Bil1 >= Bil2 then
3. Bil1 = Max
4. Else Bil2 = Max
5. Read (Bil3)
6. If Bil3 >= Max then
7. Bil3 = Max
8. Write (Max)

Gambar 1.4 contoh pseudocode menentukan bilangan terbesar dari 3 masukan bilangan

3. Penyajian Algoritma Menggunakan Flowchart

Flowchart adalah cara penulisan algoritma dengan menggunakan notasi

grafis. Flowchart merupakan gambar atau bagan yang memperlihatkan

urutan atau langkah- langkah dari suatu program dan hubungan antarproses

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 bagian-bagian

yang terlupakan dalam analisis masalah. Di samping itu, flowchart juga

berguna sebagai fasilitas untuk berkomunikasiantara pemrogram yang bekerja

dalam tim suatu proyek. Flowchart menolong analis dan programmer untuk

memecahkan masalah ke dalam segmen-segmen yang lebih kecil dan

menolong dalam menganalisis alternatiflain dalam pengoperasian.

Pada dasarnya terdapat berbagai macam flowchart, di antaranya yaitu

Flowchart Sistem (System Flowchart), Flowchart Paperwork/Flowchart

Dokumen (Document Flowchart), Flowchart Skematik (Schematic Flowchart),

Flowchart Program (Program Flowchart), Flowchart Proses (Process Flowchart).

Untuk keperluan pembuatan program maka digunakan Flowchart Program.

Flowchart program menggambarkan urutan instruksi yang digambarkan

dengan simbol tertentu untuk memecahkan masalah dalam suatu program.

Dalam flowchart program mengandung keterangan yang lebih rinci tentang

bagaimana setiap langkah program atau prosedur seharusnya dilaksanakan.

Flowchart ini menunjukkan setiap langkah program atau prosedur dalam

urutan yang tepat saat terjadi. Programer menggunakan flowchart program

untuk menggambarkan urutan instruksi dari program komputer. Analis Sistem

menggunakan flowchart program untuk menggambarkan urutan tugas-tugas

pekerjaan dalam suatu prosedur atau operasi.

Tabel 1.2 Ragam simbol yang sering dipakai dalam Program Flowchart

No Notasi/Simbol/ Nama Keterangan

Komponen Notasi/Simbol

Terminal Point Untuk memulai dan

mengakhiri proses.

Input-Output Untukmemberikannilaidata

dari perangkat masukanatau

menampilkan data ke

perangkat keluaran.

Processing Untuk melakukan prosesatau

instruksi.

Preparation Untuk memberikan nilaiawal

variabel, menyiapkan

penyimpanan didalam storage

biasanya menggunakan kode

program.

No Notasi/Simbol/ Nama Keterangan

Komponen Notasi/Simbol

Decision/keputu Untuk memilih proses atau

san keputusan berdasarkan

kondisi yang ada. Simbolini

biasanya ditemui pada

flowchart program.

Predefined Un tuk menunjuk k an

Process/Simbol pelaksanaan suatu bagian

Proses Terdefinisi prosedur ( sub-proses).

Dengan kata lain, prosedur

yang terinformasi di sini

belum detail dan akan

dirinci di tempat lain.

Flow Direction Untuk menghubungkan

Simbol/ Simbol antara simbol yang satu

Arus dengan simbol yang lain

(connecting line). Simbol ini

juga berfungsi untuk

menunjukkan garis alir dari

proses.

Connector (On- Untuk menyederhana kan
page) hubungan antar simbolyang
letaknya berjauhan atau
rumit bila dihubungkan
dengan garis dalam satu
halaman.

No Notasi/Simbol/ Nama Keterangan

Komponen Notasi/Simbol

Connector (Off- S a m a s e p e r ti O n- page

page) Connector, untuk

menghubungkan simbol

dalam halaman berbeda.

label dari simbol ini dapat

menggunakan huruf atau

angka.

E. Flowchart Struktur Urut

Sebuah runtunan terdiri atas satu atau lebih instruksi. Tiap instruksi dikerjakan
secaraberurutan sesuai dengan urutan penulisannya, yakni sebuah instruksi
dilaksanakan setelah instruksi sebelumnya selesai dikerjakan. Urutan dari instruksi
menentukan hasil akhir dari suatu algoritma. Bila urutan penulisan berubah maka
mungkin juga hasil akhirnya berubah. Sebagai contoh perhatikan operasi
aritmateka berikut ini, (4+3)*7=49, tetapi bila urutanaksinya diubah maka hasil
keluaran akan berbeda menjadi 4+(3*7) =25.

Contoh kasus: Buatlah flowchart untuk mengonversi suhu dari Celcius ke
Fahrenheit, Suhu dalam satuan Celcius dimasukkan oleh pengguna. Suhu dalam
satuan Fahrenheit ditampilkan ke layar.

Gambar 1.5 Contoh flowchart struktur urut


Click to View FlipBook Version