i. kata pengantar - elista:.

advertisement
Modul Algoritma Pemrograman
I. KATA PENGANTAR
Dewasa ini sudah banyak berkembang bahasa-bahasa pemrograman tingkat
tinggi yang pemakaiannya sudah sangat mudah, hanya klik dan drag saja. Namun
meskipun demikian tetap saja programmer harus menuliskan kode-kode program agar
objek-objek yang sudah mereka buat dapat bertingkah laku/bekerja sesuai dengan
yang diinginkan. Secara singkat dapat dikatakan bahwa sebuah program pasti terdapat
alur logika yang menyebabkan program tersebut dapat bekerja dengan benar. Konsep
yang dijelaskan di sini tidak hanya dapat diimplementasikan dalam bahasa
pemrograman Pascal saja, tetapi dapat juga diterapkan dengan menggunakan bahasa
pemrograman lainnya termasuk bahasa pemrograman aras tinggi yang lainnya. Modul
algoritma dan pemrograman ini sangat penting bagi mahasiswa program studi Ilmu
Komputer pada khususnya karena menjadi dasar bagi mahasiswa untuk mempelajari
bahasa pemrograman.
Pada
modul
ini
diberikan
contoh-contoh
kasus
untuk
mempermudah
memahami konsep. Karena sebuah contoh dapat memberikan inspirasi pemecahan
masalah yang mirip. Tetapi patut diingat bahwa sebuah masalah di dalam
pemrograman, bila diberikan kepada pemrogram yang berbeda, boleh jadi mempunyai
aneka ragam solusi (dalam hal ini algoritma), mulai algoritma yang kusut karena
banyak sekali percabangannya, sampai pada algoritma yang kurang efisien karena
banyak sekali pengulangan instruksi yang sama dalam menganalisa kasus. Dengan
mempelajari modul ini diharapkan nantinya Anda dapat memecahkan masalah secara
metodologis, yaitu sesuai dengan skema (model) yang benar. Ketaatan menggunakan
skema niscaya akan menghasilkan algoritma yang efisien dan mudah dipahami.
Sebagai akhir kata, semoga modul ini dapat diterima oleh para pembaca dalam
mempelajari komputer, khususnya yang mempelajari mengenai konsep algoritma dan
pemrograman serta dapat menambah wawasan bagi para pembaca dalam pembuatan
program secara terstruktur.
Yogyakarta, Desember 2007
Penulis
Modul Ke-1 - Hal 1
Modul Algoritma Pemrograman
II. PENDAHULUAN
Dewasa ini komputer digunakan dihampir semua bidang kehidupan manusia,
mulai dari pendidikan, bisnis, sampai dengan permainan. Berbicara tentang komputer
tidak lepas dari pemrograman komputer. Hal ini karena komputer pada dasarnya
adalah mesin yang tidak bisa apa-apa. Kita harus memberikan serangkaian instruksi
kepada komputer agar mesin pintar ini dapat memecahkan suatu masalah.
Dalam kehidupan sehari-hari untuk berkomunikasi dengan orang lain, kita
harus menggunakan bahasa yang sama dengan orang tersbut. Apabila kita
menggunakan Bahasa Indonesia, lawan bicara kita juga harus mengerti bahasa
Indonesia. Kalau lawan bicara kita tidak mengerti bahasa Indonesia, kita masih bisa
berkomunikasi dengan melalui seorang penterjemah.
Dalam
pemrograman
komputer,
berlaku
hal
yang
sama,
kita
harus
menggunakan bahasa yang dimengerti oleh komputer untuk memberikan suatu
instruksi. Dan untuk membantu Anda mengkonversikan suatu permasalahan ke dalam
bahasa komputer maka digunakan algoritma. Dan biasaya untuk pemrogram yang
sudah berpengalaman tidak pernah menuliskan algoritma diatas kertas, tetapi
biasanya dia menuliskan di dalam kepalanya dan langsung memprogram berdasarkan
algoritma di kepalanya.
Modul Ke-1 - Hal 2
Modul Algoritma Pemrograman
III. PENGANTAR ALGORITMA DAN PROGRAM
A.1. Tujuan Instruksional Umum
Setelah mempelajari modul ini Anda diharapkan mampu memahami posisi
algoritma dan program dalam menyelesaikan berbagai macam permasalahan
2. Tujuan Instruksional Khusus
Setelah menyelesaikan modul ini Anda diharapkan dapat :
a. menyebutkan
langkah-langkah
dalam
proses
pembuatan
program
sedikitnya 6 langkah dengan benar.
b. menjelaskan perbedaan antara belajar memprogram dan belajar bahasa
pemrograman minimal 2 perbedaan dengan benar.
c. menjelaskan
konsep
algoritma
dengan
memberikan
contoh
dalam
kehidupan nyata minimal 80% urutan langkahnya benar.
B. URAIAN MATERI
1. Pemrograman Komputer
Berbicara tentang komputer tidak lepas dari pemrograman komputer. Hal ini
karena komputer pada dasarnya adalah mesin yang tidak bisa apa-apa. Kita harus
memberikan serangkaian instruksi kepada komputer agar mesin pintar ini dapat
memecahkan suatu masalah. Langkah-langkah yang kita lakukan dalam memberikan
instruksi kepada komputer untuk memecahkan masalah inilah yang dinamakan
pemrograman komputer. Sehingga yang dimaksud dengan program adalah
sederetan perintah yang harus dikerjakan oleh komputer untuk menyelesaikan suatu
masalah.
Pada dasarnya komputer adalah mesin digital artinya komputer hanya
mengenal kondisi ada arus listrik (biasanya dilambangkan dengan 1) dan tidak ada
arus listrik (biasanya dilambangkan dengan 0). Dengan kata lain kita harus
menggunakan sandi 0 dan 1 untuk melakukan pemrograman komputer. Bahasa
pemrograman yang menggunakan sandi 0 dan 1 ini disebut bahasa mesin. Anda tentu
bisa bayangkan bagaimana sulitnya memprogram dengan bahasa mesin.
Modul Ke-1 - Hal 3
Modul Algoritma Pemrograman
Karena bahasa mesin sangat susah, maka muncul ide untuk melambangkan
untaian sandi 0 dan 1 dengan singkatan kata yang lebih mudah dipahami manusia.
Singkatan kata ini kemudian sering disebut mnemonic code. Bahasa pemrograman
yang menggunakan singkatan kata ini disebut bahasa assembly.
Sebagai contoh, dalam prosesor Intel, terdapat perintah 0011 1010 0000 1011.
perintah dalam bahasa mesin ini sama artinya dengan perintah assembly CMP AL, 0D,
yang artinya bandingkan nilai register AL dengan 0D. CMP di sini sebenarnya adalah
singkatan dari CoMPare. Dapat Anda lihat di sini bahwa perintah CMP AL, 0D jauh
lebih mudah dipahami dari pada 0011 1010 0000 1011. tentu saja ini jika dilihat dari
sudut pandang manusia, bagi komputer kombinasi 0 dan 1 tentu lebih mudah
dipahami. Perangkat lunak yang mengkonversikan perintah-perintah assembly ke
dalam bahasa mesin sering disebut juga assembler.
Pemrograman dengan bahasa assembly dirasakan masih terlalu sulit,
kemudian dikembangkanlah bahasa pemrograman yang lebih mudah digunakan.
Bahasa pemrograman ini menggunakan kata-kata yang mudah dikenali oleh manusia.
Bahasa pemrograman seperti ini disebut bahasa generasi ketiga atau 3GL (third
generation language). Beberapa orang menyebut bahasa ini dengan bahasa tingkat
tinggi atau HLL (high level language). Yang termasuk bahasa generasi ketiga antara
lain Basic, Pascal, C, C++, dsb.
Perangkat lunak yang menterjemahkan program dalam bahasa manusia ke
dalam bahasa assembly atau bahasa mesin ada dua macam yaitu interpreter dan
kompiler.
Interpreter menterjemahkan program baris per baris, artinya jika suatu baris
akan dieksekusi,maka baris tersebut diterjemahkan terlebih dahulu ke bahasa mesin.
Apabila baris berikutnya akan dieksekusi, maka baris tersebut baru diterjemahkan ke
dalam bahasa mesin. Contoh bahasa pemrograman yang menggunakan interpreter
adalah Basic.
Kompiler menerjemahkan semua perintah ke dalam bahasa mesin kemudian
menjalankan hasil penerjemahan. Hasil penerjemahan ini bisa disimpan dalam file atau
memori. Contoh bahasa pemrograman yang menggunakan kompiler adalah Pascal, C,
dan C++. Khusus untuk Pascal ada beberapa kompiler tetapi memang jumlahnya tidak
banyak, misalnya Turbo Pascal, GNU Pascal, Free Pascal, Pascal for Window, dsb.
Perkembangan bahasa pemrograman selanjutnya adalah bahasa generasi ke
empat atau 4GL (fourth generation language). Bahasa ini banyak digunakan untuk
mengembangkan aplikasi basis data (database). Salah satu contohnya adalah SQL.
Modul Ke-1 - Hal 4
Modul Algoritma Pemrograman
Dalam melakukan suatukegiatan tentu saja kita memerlukan langkah-langkah
yang harus dilalui. Dalam pemrograman komputer kita juga memerlukan beberapa
langkah yang harus dilakukan. Dan setiap langkah ini tidak harus melakukannya dari
langkah pertama, kedua, dst. Ada beberapa langkah yang harus atau mungkin diulang
sampai berkali-kali. Beberapa langkah dalam proses pembuatan suatu program atau
software :
1 ). Mendefinisikan masalah dan menganalisanya
Langkah awal yang harus dilakukan adalah mengidentifikasikan masalah
antara lain tujuan dari pembuatan program, parameter-parameter yang
digunakan, fasilitas apa saja yang akan disediakan oleh program. Dalam hal ini
adalah menentukan apa masukannya dan bagaimana keluarannya.
2 ). Menentukan solusi.
Setelah masalah didefinisikan dengan jelas, masukan apa yang diberikan
sudah jelas, langkah selanjutnya adalah mencari jalan bagaimana masalah
tersebut diselesaikan. Yaitu menentukan metode atau algoritma apa yang akan
diterapkan untuk menyelesaikan masalah tersebut dan terakhir menentukan
bahasa program yang digunakan untuk pembuatan program.
3 ). Memilih Algoritma
Menentukan algoritma yang baik untuk memecahkan masalah. Karena
pemilihan algoritma yang salah akan menyebabkan program memiliki unjuk
kerja yang kurang baik.
4 ). Menulis Program
Pada langkah ini proses penulisan program menggunakan salah satu bahasa
pemrograman tingkat tinggi berdasarkan algoritma yang telah disusun untuk
memecahkan masalah tersebut.
Ada beberapa hal yang harus dipertimbangkan saat memilih bahasa
pemrograman, antara lain masalah yang dihadapi, bahasa pemrograman yang
Anda kuasai, dsb.
5 ). Menguji Program
Setelah program selesai ditulis, Anda harus mengujinya. Pengujian pertama
adalah
apakah program berhasil dikompilasi dengan baik. Kemudian diuji
apakah program dapat menampilkan keluaran yang diinginkan. Dan program ini
juga harus dicobakan untuk banyak kasus untuk menentukan kevalitan dari
hasil keluaran program.
Modul Ke-1 - Hal 5
Modul Algoritma Pemrograman
Langkah 4 dan 5 ini bisa dilakukan berulang kali sampai program diyakini
benar-benar berjalan sesuai dengan yang diharapkan.
6 ). Menulis Dokumentasi.
Hal ini bisanya dilakukan bersamaan dengan menulis program, artinya pada
setiap baris program atau setiap beberapa baris program, Anda menambahkan
komentar yang menjelaskan kegunaan dari suatu pernyataan.
Dan akn lebih baik apabila dituliskan dalam dokumen tersendiri kemudian
mencetaknya diatas kertas atau disimpan dalam file tersendiri.
7 ). Merawat Program
Langkah ini dilakukan setelah prorgram selesai dibuat dan sudah digunakan
oleh pengguna Anda. Hal yang paling sering terjadi di sini adalahnya
munculnya bug yang sebelumnya tidak terdeteksi. Atau mungkin juga
pengguna ingin tambahan suatu fasilitas baru. Apabila hal-hal seperti ini terjadi,
Anda harus melakukan revisi terhadap program Anda.
2. 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.
Sedangakan belajar bahasa pemrograman berarti belajar memakai suatu
bahasa aturan-aturan tata bahasanya, instruksi-instruksinya, tata cara pengoperasian
compiler-nya, dan memanfaatkan instruksi-instruksi tersebut untuk membuat program
yang ditulis hanya dalam bahasa itu saja.
Belajar Memprogram
•
Belajar memprogram ≠ belajar bahasa pemrograman
•
Belajar memprogram : belajar tentang strategi pemecahan masalah, metodologi
dan sistematika pemecahan masalah kemudian menuliskannya dalam notasi
yang disepakati bersama
•
Belajar memprogram : bersifat pemahaman persoalan, analisis dan sintesis
•
Belajar memprogram, titik berat : designer program
Modul Ke-1 - Hal 6
Modul Algoritma Pemrograman
Belajar Bahasa Pemrograman
•
Belajar bahasa pemrograman : belajar memakai suatu bahasa pemrograman,
aturan sintaks, tatacara untuk memanfaatkan instruksi yang spesifik untuk
setiap bahasa
•
Belajar bahasa pemrograman , titik berat : coder
Produk yang dihasilkan pemrogram :
•
Program dengan rancangan yang baik (metodologis, sistematis)
•
Dapat dieksekusi oleh mesin
•
Berfungsi dengan benar
•
Sanggup melayani segala kemungkinan masukan
•
Disertai dokumentasi
•
Belajar memprogram, titik berat : designer program
Sampai saat ini terdapat puluhan bahasa pemrogram. Yang dapat dibedakan
berdasarkan tujuan dan fungsinya. Diantaranya adalah :
3. Algoritma
Dari materi diatas, Anda sudah mengetahui dimanakah posisi algoritma dalam
dunia pemrograman komputer. Sekarang akan dibahas mengenai algoritma itu sendiri.
“Algoritma adalah urutan langkah-langkah penyelesaian masalah yang disusun
secara sistematis dan logis”.
Kata Logis merupakan kata kunci dalam Algoritma. Langkah-langkah dalam Algoritma
harus logis dan harus dapat ditentukan bernilai salah atau benar.
Modul Ke-1 - Hal 7
Modul Algoritma Pemrograman
Dalam kehidupan sehari-hari baik sadar maupun tidak sebenarnya Anda juga
menggunakan algoritma untuk melakukan sesuatu.
Contoh 1 :
•
Ibu Tati mengupas kentang untuk mempersiapkan makan malam..(luas ruang
lingkupnya)
•
Karena ruang lingkup luas, maka harus didefinisikan keadaan awal dan efek
netto yang direncanakan ( Initial State dan Final State)
•
Initial State (keadaan awal) : T0 kentang sudah ada dikantong kentang, dan
ditaruh di rak dapur dimana ibu Tati akan mengupasnya
•
Final State (keadaan akhir) : T1 kentang dalam keadaan terkupas di panci,
siap untuk dimasak dan kantong kertasnya harus dikembalikan ke rak lagi.
•
Kejadian : urut-urutan dari beberapa aksi yang terjadi secara berurutan.
•
Efek kumulatif dari semua aksi yang terjadi menjadi efek netto dari kejadian
•
Penggolongan suatu kejadian menjadi aksi adalah relatif tergantung dari sudut
pandang. Contoh mengupas kentang dapat dijelaskan :
•
o
Ambil kantong kentang dari rak
o
Ambil panci dari almari
o
Kupas kentang
o
Kembalikan kantong kentang ke rak
Contoh lain (jika tidak dipandang perlu untuk menjelaskan kantong kentang
diambil dari rak sebelum ambil panci) :
o
Ambil kantong kentang dari rak dan ambil panci dari almari
o
Kupas kentang
o
Kembalikan kantong kentang ke rak
Jika esok hari ibu Tati mengupas kentang lagi untuk makan malam juga, dan kita
mengamati hal-hal yang sama, apakah hal tsb bisa disebut sama ?
Ini tergantung jawabannya bisa sama bisa tidak.
Tidak karena ibu Tati tidak mungkin mengupas kentang yang sama dengan
kemarin
Sama karena kemiripan pola yang dilakukan
Contoh 2 :
Misalkan Anda ingin menulis surat, maka Anda perlu melakukan beberapa
langkah berikut :
1 ). Mempersiapkan kertas dan amplop
Modul Ke-1 - Hal 8
Modul Algoritma Pemrograman
2 ). Mempersiapkan alat tulis, seperti pena atau pensil
3 ). Mulai menulis
4 ). Memasukkan kertas ke dalam amplop
5 ). Pergi ke kantor pos untuk mengeposkan surat tersebut.
Dalam banyak kasus algoritma yang Anda lakukan tidak selalu berurutan seperti
diatas. Kadang-kadang Anda harus memilih dua atau beberapa pilihan. Sebagai
contoh, jika Anda ingin makan, Anda harus menentukan akan makan di rumah makan
atau memasak sendiri. Jika Anda memilih untuk makan di rumah makan, Anda akan
menjalankan algoritma yang berbeda dengan jika Anda memilih memasak sendiri.
Dalam algoritma hal semacam ini sering disebut percabangan.
Dalam kasus lain, Anda mungkin harus melakukan langkah-langkah tertentu
beberapa kali. Sebagi contoh, saat Anda menulis surat, sebelum memasukkan kertas
ke dalam amplop, mungkin Anda harus mengecek apakah surat tersebut sudah benar
atau belum. Jika belum benar, berarti Anda harus mempersiapkan kertas baru dan
menulis lagi. Demikian seterusnya sampai surat Anda sesuai dengan yang diharapkan.
Dalam algoritma hal semacam ini sering disebut perulangan.
C. EVALUASI FORMATIF
1 ). Jelaskan apa yang dimaksud dengan algoritma!
2 ). Jelaskan apa yang dimaskud dengan program !
3 ). Tuliskan 6 langkah dalam menyusun suatu program untuk memecahkan suatu
masalah !
4 ). Tuliskan sedikitnya 2 (dua) perbedaan antara belajar memprogram dengan belajar
bahasa pemrograman !
5 ). Tuliskan algoritma untuk memecahkan
masalah
matematika,
yaitu untuk
menghitung luas bujur sangkar dari masukan berupa panjang dan lebar.
Modul Ke-1 - Hal 9
Modul Algoritma Pemrograman
IV. NOTASI YANG DIGUNAKAN UNTUK
PENYUSUNAN ALGORITMA
A.1. Tujuan Instruksional Umum
Setelah mempelajari modul ini Anda diharapkan mampu menyusun algoritma
untuk menyelesaikan berbagai macam permasalahan dengan menggunakan
notasi algoritma.
2. Tujuan Instruksional Khusus
Setelah menyelesaikan modul ini Anda diharapkan dapat :
a. menjelaskan 2 cara merepresentasikan algoritma dengan benar.
b. membuat algoritma untuk memecahkan masalah dalam waktu maksimal 10
menit
B. URAIAN MATERI
1. Representasi Algoritma
Notasi
Algoritma
dapat
diterjemahkan
ke
dalam
berbagai
bahasa
pemrograman.
Analoginya sama dengan resep membuat kue. Sebuah resep dapat ditulis dalam
bahasa apapun. Bahasa Jepang, Inggris, Perancis, Indonesia, dan lain sebagainya.
Apapun bahasanya, kue yang dihasilkan tetap sama asalkan semua aturan pada resep
diikuti. Mengapa demikian ? Karena setiap juru masak (sebagai pemroses) dapat
melakukan operasi dasar yang sama, seperti mengocok telur, menimbang berat gula,
dan lain sebagainya.
Algoritma bisa dipresentasikan dengan 2 macam cara, yaitu :
a. Flowchart
Flowchart adalah gambaran dalam bentuk diagram alir dari algoritma-algoritma
dalam suatu program, yang menyatakan arah alur program tersebut. Berikut adalah
beberapa simbol yang digunakan dalam menggambar suatu flowchart :
Modul Ke-1 - Hal 10
Modul Algoritma Pemrograman
SIMBOL
b.
NAMA
FUNGSI
TERMINATOR
Permulaan/akhir program
GARIS ALIR
(FLOW LINE)
Arah aliran program
PREPARATION
Proses inisialisasi/pemberian
harga awal
PROSES
Proses perhitungan/proses
pengolahan data
INPUT/OUTPUT
DATA
Proses input/output data,
parameter, informasi
PREDEFINED
PROCESS
(SUB PROGRAM)
Permulaan sub
program/proses menjalankan
sub program
DECISION
Perbandingan pernyataan,
penyeleksian data yang
memberikan pilihan untuk
langkah selanjutnya
ON PAGE
CONNECTOR
Penghubung bagian-bagian
flowchart yang berada pada
satu halaman
OFF PAGE
CONNECTOR
Penghubung bagian-bagian
flowchart yang berada pada
halaman berbeda
Pseudocode
Pseudo berarti imitasi atau mirip atau menyerupai dan code nenunjukkan kode dari
program, berarti pseudocode adalah kode yang mirip dengan instruksi kode
program yang sebenarnya. Pseudocode berbasis pada bahasa pemrograman yang
sesungguhnya sepertin COBOL, FORTRAN, Pascal atau Basic sehingga lebih
tepat digunakan untuk menggambarkan algoritma yang akan dikomunikasikan
kepada Programmer.
Pseudocode
akan
memudahkan
programmer
untuk
memahami
dan
menggunakannya, karena mirip dengan kode-kode program yang sebenarnya.
Modul Ke-1 - Hal 11
Modul Algoritma Pemrograman
Pseudocode labih terinci, seperti menjelaskan juga tentang pemberian nilai awal
dari suatu variabel, membuka dan menutup file, subcscrip atau tipe-tipe data yang
digunakan (misalnya real, integer, boolean).
Pseudocode ini yang kemudian dikenal dengan istilah algoritma
2. Aturan Penulisan Pseudocode / Algoritma
Setiap Algoritma akan selalu terdiri dari tiga bagian yaitu :
a. Judul (Header)
b. Kamus
c. Algoritma
Pada setiap bagian tersebut apabila akan dituliskan komentar mengenai setiap bagian
tersebut dituliskan diantara tanda kurung kurawal, contoh { Komentar }. Notasi
algoritmis yang dituliskan diantara tanda ini tidak akan dieksekusi oleh program.
Contoh :
a. Judul (Header)
Judul adalah bagian teks algoritma yang digunakan sebagai tempat mendefinisikan
nama dengan menentukan apakah teks tersebut adalah program, prosedur, fungsi.
Setelah judul disarankan untuk menuliskan spesifikasi singkat dari teks algoritma
tersebut. Nama algoritma sebaiknya singkat namun cukup menggambarkan apa
yang akan dilakukan oleh algoritma tersebut.
Modul Ke-1 - Hal 12
Modul Algoritma Pemrograman
Contoh :
Catatan :
Untuk memisahkan antara kata dalam judul algoritma menggunakan tanda “_”
bukanlah suatu keharusan. Anda dapat menuliskan LuasLingkaran atau
Luas_Lingkaran. Tetapi sebaiknya anda tidak menggunakan spasi “ “ untuk
memisahkan antara kata di dalam nama algoritma.
b. Kamus (Deklarasi)
Kamus adalah bagian teks algoritma sebagai tempat untuk mendefinisikan :
• Nama type
• Nama konstanta
• Nama variabel
• Nama fungsi
• Nama prosedur
Semua nama tersebut baru dapat dipakai di dalam algoritma jika telah didefinisikan
terlebih dahulu didalam kamus. Penulisan sekumpulan nama dalam kamus
sebaiknya dikelompokan menurut jenis nama tersebut. Pendefinisian nama
konstanta sekaligus memberikan harga konstanta tersebut, pendefinisian nama
fungsi dilakukan sekaligus dengan domain / range serta spesifikasinya.
Pendefinisian nama prosedur sekaligus dengan pendefinisian parameter (jika ada)
dan spesifikasi prosedur (kondisi awal “Initial State”, Kondisi akhir “ Final State” dan
proses yang dilakukan).
Contoh :
Modul Ke-1 - Hal 13
Modul Algoritma Pemrograman
c. Algoritma (Deskripsi)
Algoritma adalah bagian inti dari suatu algoritma yang berisi instruksi atau
pemanggilan aksi yang telah didefinisikan. Komponen teks algoritma dalam
pemrograman procedural dapat berupa :
• Instruksi dasar seperti input/output, assignment
• Sequence (runtutan)
Modul Ke-1 - Hal 14
Modul Algoritma Pemrograman
• Analisa kasus
• Perulangan
Setiap langkah algoritma dibaca dari “atas” ke “bawah”. Urutan deskripsi penulisan
menentuan urutan langkah pelaksanaan perintah.
Contoh :
Catatan :
Untuk kata-kata input, output, if then else, output akan dipelajari lebih
mendalam dalam bab-bab selanjutnya.
3. Contoh Penyelesaian Masalah Dengan Algoritma
Contoh 1 :
Mencetak String “Selamat Belajar Algoritma dan Pemrograman” ke piranti
Keluaran.
Flowchart :
Start
Output
‘Selamat Belajar Algoritma
dan Pemrograman
End
Modul Ke-1 - Hal 15
Modul Algoritma Pemrograman
Contoh 2 :
Menentukan nilai terbesar dari bilangan bulat yang dibaca dari piranti masukan
dan menuliskan hasilnya ke piranti keluaran.
Flowchart :
Start
A
Input
X,Y
Hasil = Y
Y
Apakah
X<Y
Cetak
Hasil
T
Hasil = X
End
A
C. EVALUASI FORMATIF
1.
Buat algoritma untuk menentukan apakah suatu bilangan merupakan bilangan
genap atau ganjil, kemudian buat flowchart untuk program tersebut !
Modul Ke-1 - Hal 16
Modul Algoritma Pemrograman
2.
Buat algoritma untuk menentukan jenis akar dari suatu persamaan kuadrat,
kemudian buat flowchart untuk program tersebut !
3.
Buat algoritma untuk menghitung jumlah N suku dari deret aritmatika berikut :
Sn = 3 + 7 + 11 + …… + (4n-1)
Modul Ke-1 - Hal 17
Modul Algoritma Pemrograman
EVALUASI
Isilah titik-titik dibawah ini dengan jawaban yang tepat (mengacu pada modul)
1 ). Program adalah ………………………………. Algoritma yang ditulis dalam bahasa
pemrogaman tertentu sehingga dapat dilaksanakan oleh computer.
2 ). Produk yang dihasilkan pemrogram adalah :
a. ………………………………………………………..
b. ………………………………………………………..
c. ………………………………………………………..
d. ………………………………………………………..
e. .............................................................................
3 ). Dalam menyusun sebuah program, langkah-langkah yang harus dikerjakan adalah
a. ……………………………………………………
b. …………………………………………………..
c. …………………………………………………..
d. …………………………………………………..
e. …………………………………………………...
f.
.......................................................................
g. ......................................................................
4) Lengkapi penulisan algoritma untuk menghitung luas lingkaran dibawah ini
Program Luas_Lingkaran
Kamus
Phi, diameter, radius, luas :
real
Algoritma
(a) …………………………….
(b) …………………………….
(c) …………………………….
(d) …………………………….
(e) …………………………….
Modul Ke-1 - Hal 18
Modul Algoritma Pemrograman
5)
Lengkapi flowchart untuk menampilkan kelipatan dari bilangan yang diinputkan
Program Kelipatan
Kamus
S, lipat, i : integer
Algoritma
Input (S, lipat)
IÅs
Do
Output ( I )
I Å I + lipat
While ( I <= lipat )
6)
Buatlah algoritma untuk menuliskan nilai absolut dari nilai yang dimasukkan
pengguna. Bila diketahui definisi dari nilai absolut adalah sebagai berikut :
⎧x
x =⎨
⎩− x
jika x ≥ 0
jika x < 0
Program absolut
Kamus
a. .......................................
Algoritma
b. .......................................
c. .......................................
d. ......................................
e. ......................................
Modul Ke-1 - Hal 19
Modul Algoritma Pemrograman
Umpan Balik dan Tindak Lanjut
Cocokkanlah jawaban anda dengan Kunci Jawaban Evaluasi yang terdapat di
bagian lampiran modul ini dan hitunglah jumlah jawaban anda yang benar. Kemudian
gunakan rumus di bawah ini untuk mengetahui tingkat penguasaan anda dalam materi
Modul ke-1.
Rumus :
Tingkat penguasaan =
Jumlah jawaban anda yang benar
× 100%
30
Arti tingkat penguasaan yang anda capai :
90% - 100% = baik sekali
80% - 89% = baik
70% - 79% = sedang
- 69% = kurang
Kalau Anda mencapai tingkat penguasaan 80% atau lebih, Anda dapat
meneruskan ke modul berikutnya. Bagus ! Tetapi kalau nilai Anda dibawah 80%, Anda
harus mengulang Modul ke-1 terutama yang belum Anda kuasai.
Modul Ke-1 - Hal 20
Modul Algoritma Pemrograman
BAHAN BACAAN
Brassard, Gilles, and Bratley, Paul, 1996, Fundamentals of Algorithmics, Prentice
Hall, Englewood Cliffs, New Jersey.
Budiyanto, Alex, 2003, Pengantar Algoritma dan Pemrograman, www.Ilmu
Komputer.com
Jogiyanto H.M, 1995, Turbo Pascal versi 5.0, jilid 1, Andi Offset, Yogyakarta.
Munir, Rinaldi, Ir, dan Lidya, Leoni, Ir., 1998, Algoritma dan Pemrograman I,
Informatika, Bandung.
Pranata, Antony, 2000, Algoritma dan Pemrograman, J & J Learning, Yogyakarta.
Modul Ke-1 - Hal 21
Modul Algoritma Pemrograman
LAMPIRAN
KUNCI JAWABAN FORMATIF
1.
Perwujudan atau implementasi tekniks
2.
a. Program dengan rancangan yang baik (metodologis, sistematis)
b. Dapat dieksekusi oleh mesin
c. Berfungsi dengan benar
d. Sanggup melayani segala kemungkinan masukan
e. Disertai dokumentasi
3.
a. Mendefinisikan masalah
b. Menentukan solusi
c. Memilih algoritma
d. Menulis program
e. Menguji program
f. Menulis Dokumentasi
g. Merawat program
4.
a. phi Å 3.14
b. input ( diameter )
c. radius Å diameter / 2
d. luas Å phi * radius * radius
e. output ( luas )
5.
a. Start
b. Input ( S, lipat )
c. I = S
d. Output ( I )
e. I = I + lipat
f. I < = lipat
g. stop
6.
Program Absolut
Kamus
X : integer
Modul Ke-1 - Hal 22
Modul Algoritma Pemrograman
Algoritma
Input (X)
If x <= 0 then hasil Å x * (-1)
Else hasil Å x
Output (hasil)
Modul Ke-1 - Hal 23
Download