Anda di halaman 1dari 26

PENGANTAR ALGORITMA DAN PROGRAM

A. Pengertian Algoritma
Algoritma ditinjau dari asal-usul katanya berasal dari algorism yang berarti proses
menghitung dengan angka arab. Seseorang dikatakan sebagai algorist jika orang tersebut
berhitung menggunakan angka arab. Para ahli bahasa berusaha menemukan asal kata ini
namun hasilnya kurang memuaskan. Rashid tahun 2007 mengemukakan bahwa para ahli
sejarah Matematika menemukan asal kata tersebut nama penulis arab terkenal yaitu Abu
Ja’far Muhammad Ibnu Musa Al-Khuwarizmi. Al-Khuwarizmi dibaca menjadi Algorism.
Al-Khuwarizmi menulis buku berjudul Kitab Al Jabar WalMuqabala yang artinya “Buku
pemugaran dan pengurangan” (The book of restoration and reduction). Perubahan kata dari
algorism menjadi algorithm muncul karena kata algorism sering dikelirukan dengan
arithmetic, sehingga akhiran –sm berubah menjadi –thm, k, 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 merupakan gambaran (description) pelaksanaan suatu proses. Sebuah
proses dikerjakan oleh pemroses mengikuti algoritma yang sudah dibuat. An algorithm is
a set of steps that accomplishes a task, such as synthesizing caffeine. Although programs
require algorithms to be written n programming languages like Python, it is easier to
discuss and plan an algorithm using a mixture of a human language like English and aittle
mathematics (Campbell: 2009). Algoritma dalam perkembangan berikutnya diartikan
sebagai urutan langkah-langkah logis 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. Algoritma
dalam beberapa konteks merupakan spesifikasi urutan langkah untuk melakukan pekerjaan
tertentu.
Algoritma dapat juga diartikan sebagai urutan langkah dalam menyelesaikan
masalah secara sistematis dan logis. Jadi pada sebuah algoritma harus tergambar urutan
langkah untuk menyelesaikan masalah yang sistematis dan logis. Knuth (1973)
mengatakan bahwa algoritma dalam pengertian modern mempunyai kemiripan dengan
istilah resep, proses, teknik, prosedur kerja. Algoritma dapat berupa sekumpulan aturan-
aturan berhingga yang memberikan sederetan operasi untuk menyelesaikan suatu masalah
yang khusus. Hal ini sesuai dengan pendapat Rinaldi Munir yang mendefenisikan
algoritma sebagai urutan langkah-langkah logis penyelesaian masalah yang disusun
secara sistematis. Berdasarkan dua pengertian algoritma di atas, dapat disimpulkan bahwa
algoritma merupakan suatu istilah yang luas dan tidak hanya berkaitan dengan dunia
komputer.
Langkah-langkah dalam algoritma harus logis dan harus dapat ditentukan bernilai
salah atau benar. Algoritma jantung dalam mengembangkan ilmu komputer atau
informatika. Kita dalam kehidupan sehari-haripun banyak proses yang dinyatakan dalam
suatu algoritma. Sebagai contoh, cara-cara membuat kue atau masakan yang dinyatakan
dalam suatu resep juga dapat disebut sebagai algoritma. Pada setiap resep selalu ada urutan
langkah-lankah membuat masakan. Bila langkah-langkahnya tidak logis, tidak dapat
dihasilkan masakan yang diinginkan. Ibu-ibu yang mencoba suatu resep masakan akan
membaca satu per satu langkah-langkah pembuatan masakan, lalu mengerjakan proses
sesuai urutan yang dibaca.
Benda atau alat yang dapat mengeksekusi proses disebut pemroses (processor).
Prosesor tersebut dapat berupa manusia, komputer, robot atau alat alat elektronik lainnya.
Pemroses melakukan suatu proses dengan melaksanakan atau “mengeksekusi” algoritma
yang menjabarkan proses tersebut. Melaksanakan algoritma berarti mengerjakan langkah-
langkah di dalam algoritma tersebut. Pemroses mengerjakan proses sesuai dengan
algoritma yang diberikan kepadanya. Juru masak membuat kue berdasarkan resep yang
diberikan kepadanya, pianis memainkan lagu berdasarkan papan not balok. Jadi, suatu
algoritma harus dinyatakan dalam bentuk yang dapat dimengerti oleh pemroses. Algoritma
harus dapat dimengerti setiap langkahnya oleh setiap orang, sehingga orang tersebut dapat
mengerjakan operasi sesuai dengan langkah yang direncanakan tersebut. Contoh 1.
Langkah-langkah yang disusun untuk menjumlahkan bilangan :
1. mulai
2. masukkan dua buah bilangan bulat, misalkan A,B
3. jumlahkah A dan B
4. simpan jumlah A dan B dalam C
5. tuliskan hasil C
6. selesai
Perlu juga dipahami disini bahwa algoritma yang berbeda dapat digunakan untuk
menyelesaikan suatu masalah dengan syarat yang sama. Tingkat kerumitan suatu algoritma
tergantung kepada seberapa banyak proses logika dan persyaratan yang dibutuhkan
algoritma tersebut untuk menyelesaikan masalah. Umumnya, 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. Untuk meningkatkan
pemahaman perhatikan algoritma berikut:
Contoh 2, algoritma menghitung luas segitiga
1. Mulai
2. Baca data alas dan tinggi.
3. Hitung luas segitiga dengan rumus alas kali tinggi kali 0.5
4. Tampilkan hasil perhitungan luas
5. Selesai
Contoh 2 di atas merupakan algoritma yang sangat sederhana, hanya mempunyai
lima langkah. Algoritma Contoh 2 di atas tidak dijumpai perulangan ataupun pemilihan
kondisi. Semua langkah dilakukan hanya satu kali, sehingga sekilas algoritma Contoh 2 di
atas benar, namun jika dicermati dengan seksama maka algoritma tersebut mengandung
kesalahan yang mendasar, yaitu tidak adanya pembatasan pada nilai data untuk alas dan
tinggi. Bagaimana jika nilai data alas atau tinggi adalah 0 (nol) atau bilangan negatif ?
Tentunya hasil yang keluar menjadi tidak sesuai dengan yang diharapkan. Dalam kasus
seperti ini kita perlu menambahkan langkah untuk memastikan nilai alas dan tinggi
memenuhi syarat, misalnya dengan melakukan pengecekan pada input yang masuk.
Apabila input nilai alas dan tinggi kurang dari 0 atau sama dengan maka program tidak
akan dijalankan, sehingga algoritma di atas dapat dimodifikasi menjadi seperti contoh 3.
Contoh 3 Hasil perbaikan algoritma perhitungan luas segitiga.
1. Mulai
2. Baca data alas dan tinggi.
3. Periksa nilai data alas dan tinggi, jika nilai data alas dan tinggi lebih besar
dari nol maka lanjutkan ke langkah ke 4 jika tidak maka selesai
4. Hitung luas segitiga dengan rumus alas kali tinggi kali 0.5
5. Tampilkan hasil perhitungan luas
6. Selesai
B. Peranan Algoritma dalam Pemograman
Algoritma merupakan tiang atau penopang utama dalam pemograman. Umumnya
cabang ilmu pemograman komputer mengarah ke dalam terminologi algoritma. Banyak
proses dalam kehidupan sehari-hari dinyatakan dalam suatu algoritma. Cara-cara membuat
kue atau masakan yang dinyatakan dalam suatu resep juga dapat disebut sebagai algoritma.
Pada setiap resep selalu ada urutan langkah-langkah membuat masakan. Bila langkah-
langkahnya tidak logis, tidak dapat dihasilkan masakan yang diinginkan. Cookie yang
mencoba suatu resep masakan akan membaca satu per satu langkah-langkah pembuatannya
lalu ia mengerjakan proses sesuai yang ia baca. Secara umum, pihak (benda) yang
mengerjakan proses disebut pemroses (processor). Pemroses tersebut dapat berupa
manusia, komputer, robot atau alat-alat elektronik lainnya. Pemroses melakukan suatu
proses dengan melaksanakan atau “mengeksekusi” algoritma yang menjabarkan proses
tersebut.
Algoritma adalah deskripsi dari suatu pola tingkah laku yang dinyatakan secara
primitif yaitu aksi-aksi yang didefenisikan sebelumnya dan diberi nama, dan diasumsikan
sebelumnya bahwa aksi-aksi tersebut dapat kerjakan sehingga dapat menyebabkan
kejadian. Melaksanakan algoritma berarti mengerjakan langkah-langkah di dalam
algoritma tersebut. Pemroses mengerjakan proses sesuai dengan algoritma yang diberikan
kepadanya. Juru masak membuat kue berdasarkan resep yang diberikan kepadanya, pianis
memainkan lagu berdasarkan papan not balok. Jadi suatu algoritma harus dinyatakan
dalam bentuk yang dapat dimengerti oleh pemroses dan pemroses harus mengerti setiap
langkah dalam algoritma dan mengerjakan operasi yang bersesuaian dengan langkah
tersebut. Ciri-ciri algoritma yang baik adalah sebagai berikut:
1. Tepat sasaran berarti memenuhi spesifikasi pekerjaan dan bekerja sesuai tujuan
2. Flexible dan portable maksudnya adalah flexible untuk dikembangkan lebih
lanjut dan portable untuk digunakan pada berbagai sistem dan mesin
3. Bersih dari kesalahan sistem ataupun logic
4. Murah dalam artian efisien dalam penggunaan piranti memori dan penyimpanan
lainnya serta cepat waktu pelaksanaannya.
5. Didokumentasi dengan baik untuk pengoperasian, pemeliharaan dan
pengembangan.
6. Algoritma merupakan pemberian (description) pelaksanaan suatu proses. Sebuah
proses dikerjakan oleh pemroses mengikuti algoritma yang sudah dibuat.
Algoritma merupakan urutan langkah instruksi yang logis. Setiap langkah
instruksi mengerjakan suatu tindakan aksi.
7. Logis, terstruktur dan sistematis
8. Semua operasi terdefinisi dengan baik
9. Semua proses harus berakhir setelah sejumlah langkah dilakukan
10. Ditulis dengan bahasa yang standar dengan format pemrograman agar mudah
untuk diimplementasikan dan tidak menimbulkan arti ganda
Pertimbangan dalam pemilihan algoritma adalah, pertama, algoritma haruslah
benar. Artinya algoritma akan memberikan keluaran yang dikehendaki dari sejumlah
masukan yang diberikan, tidak peduli sebagus apapun algoritma, kalau memberikan
keluaran yang salah, pastilah algoritma tersebut bukanlah algoritma yang baik.
Pertimbangan kedua yang harus diperhatikan dalam membuat algoritma adalah kita harus
mengetahui seberapa baik hasil yang dicapai oleh algoritma tersebut. Hal ini penting
terutama pada algoritma untuk menyelesaikan masalah yang memerlukan aproksimasi
hasil (hasil yang hanya berupa pendekatan). Algoritma yang baik harus mampu
memberikan hasil yang sedekat mungkin dengan nilai yang sebenarnya.
Ketiga adalah efisiensi algoritma. Efisiensi algoritma dapat ditinjau dari dua hal
yaitu efisiensi waktu dan memori. Meskipun algoritma memberikan keluaran yang benar
(paling mendekati), tetapi jika kita harus menunggu berjam-jam untuk mendapatkan
keluarannya, algoritma tersebut biasanya tidak akan dipakai, setiap orang menginginkan
keluaran yang cepat. Begitu juga dengan memori, semakin besar memori yang terpakai
maka semakin buruklah algoritma tersebut. Setiap orang dalam kenyataannya bisa
membuat algoritma yang berbeda untuk menyelesaikan suatu permasalahan yang sama,
walaupun terjadi perbedaan dalam menyusun algoritma, tentunya mengharapnya keluaran
mempunyai hasil sama. Jika terjadi demikian, carilah algoritma yang paling efisien dan
cepat.
Algoritma berisi langkah-langkah penyelesaian suatu masalah yang berupa
runtunan aksi (sequence), pemilihan aksi (selection), pengulangan aksi (iteration) atau
kombinasi dari ketiganya. Jadistruktur dasar pembangunan algoritma ada tiga, yaitu:
1. Struktur runtunan digunakan untuk program yang pernyataannya sequential atau
urutan.
2. Struktur pemilihan digunakan untuk program yang menggunakan pemilihan atau
penyeleksian kondisi.
3. Struktur Perulangan digunakan untuk program yang pernyataannya akan dieksekusi
berulang-ulang.

C. Menilai Suatu Algoritma


Seseorang saat akan menyelasaikan masalah, biasanya mempertimbangkan
beberapa metode atau teknik yang akan digunakan. Seseorang biasanya memilih salah satu
metoda yang dianggap terbaik di antara metoda yang ada. Hal sama juga dilakukan pada
pemilihan algoritma yang memungkinkan suatu permasalahan dipecahkan dengan metode
dan logika yang berlainan. Pertanyaannya adalah bagaimana mengukur mana algoritma
yang terbaik? Untuk kita harus tahu persyaratan metoda yang baik. Beberapa persyaratan
untuk menjadi algoritma yang baik antara lain :
1. Tingkat kepercayaannya tinggi (realibility). Maksudnya adalah hasil yang diperoleh
dari proses harus berakurasi tinggi dan benar.
2. Pemrosesan yang efisien (cost rendah), dimana proses harus diselesaikan secepat
mungkin dan frekuensi kalkulasi yang sependek mungkin.
3. Sifatnya general, bukan sesuatu yang hanya untuk menyelesaikan satu kasus saja,
tapi juga untuk kasus lain yang lebih general atau lebih bersifat umum.
4. Bisa dikembangkan (expandable) lebih jauh berdasarkan perubahan requirement
yang ada.
5. Mudah dimengerti oleh siapapun yang melihat, dia akan bisa memahami algoritma
yang dibuat. Apabila algoritma sulit dimengerti akibatnya program akan dibuat
menjadi susah dikelola (maintenance).
6. Portabilitas yang tinggi (portability), sehingga dengan mudah diimplementasikan di
berbagai platform komputer.
7. Precise (tepat, betul, teliti), dimana setiap instruksi harus ditulis dengan seksama dan
tidak ada keragu-raguan, dengan demikian setiap instruksi harus dinyatakan secara
eksplisit dan tidak ada bagian yang dihilangkan karena pemroses dianggap sudah
mengerti. Setiap langkah harus jelas dan pasti. Contoh: Tambahkan 1 atau 2 pada x,
merupakan contoh instruksi mempanyai terdapat keraguan.
8. Jumlah langkah atau instruksi berhingga dan tertentu dalam artian untuk kasus yang
sama banyaknya, langkah harus tetap dan tertentu meskipun datanya berbeda.
9. Efektif atau tidak boleh ada instruksi yang tidak mungkin dikerjakan oleh pemroses
yang akan menjalankannya. Contoh: Hitung akar 2 dengan presisi sempurna, ini
merupakan instruksi di atas tidak efektif, agar efektif instruksi tersebut diubah
menjadi misalnya: Hitung akar 2 sampai lima digit di belakang koma.
10. Harus terminate. Jalannya algoritma harus ada kriteria berhenti. Pertanyaannya
adalah apakah bila jumlah instruksinya berhingga maka pasti terminate?
11. Output yang dihasilkan tepat. Jika langkah-langkah algoritmanya logis dan diikuti
dengan seksama maka dihasilkan output yang diinginkan.
D. Tipe-tipe Algoritma Berdasarkan Format Penulisan
Algoritma adalah independen terhadap bahasa pemograman tertentu, artinya
algoritma yang telah dibuat tidak boleh hanya dapat diterapkan pada bahasa
pemrograman tertentu. Penulisan algoritma tidak terikat pada suatu aturan tertentu,
tetapi harus jelas maksudnya untuk tiap langkah algoritmanya
Penyajian algoritma secara garis besar bisa dalam 2 bentuk penyajian yaitu tulisan
(deskriptif dan pseudocode) dan gambar. Algoritma yang disajikan dengan tulisan yaitu
dengan struktur bahasa tertentu (misalnya bahasa Indonesia atau bahasa Inggris) dan
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. Sedangkan algoritma disajikan
dengan gambar, misalnya dengan flowchart. Secara umum, pseudocode mengekspresikan
ide-ide secara informal dalam proses penyusunan algoritma. Salah satu cara untuk
menghasilkan pseudocode adalah dengan meregangkan aturan-aturan bahasa formal.
Pendekatan ini umumnya digunakan ketika bahasa pemrograman yang akan digunakan
telah diketahui sejak awal. Namun pada dasarnya algoritma dibagi menjadi beberapa
macam berdasarkan format penulisannya.
1. Deskriptif
Algoritma bertipe deskriptif merupakan algoritma yang ditulis dalam bahasa
manusia sehari-hari dari perancangnya (misalnya bahasa Indonesia atau bahasa Inggris)
dan dalam bentuk kalimat. Setiap langkah algoritma diterangkan dalam satu atau bebeapa
kalimat. Sebagai contoh misalnya algoritma menentukan bilangan terbesar dari 3 bilangan
berikut ini:
Algoritma Menentukan_bilangan_terbesar_dari_3_bilangan
 Mulai
 Meminta memasukan (input) 3 bilangan dari pengguna (user), misalkan
bilangan a, b, dan c.
 Apabila bilangan a lebih besar dari b maupun c, maka bilangan a
merupakan bilangan terbesar.
 Jika tidak (bilangan a tidak lebih besar dari b atau c) berarti bilangan a
sudah pasti bukan bilangan terbesar. Kemungkinannya tinggal bilangan b atau
c.
 Jika bilangan b lebih besar dari c, maka b merupakan bilangan terbesar.
 Sebaliknya jika bilangan b tidak lebih besar dari c, maka bilangan c
merupakan yang terbesar.
 Selesai.
2. Pseudocode
Pseudocode berasal dari kata pseudo dan code. Pseudo berarti imitasi dan
code berarti kode atau lambang yang dihubungkan dengan instruksi ditulis dalam
bahasa komputer (kode bahasa pemrograman). Jadi apabila diterjemahkan secara
bebas, pseudocode berarti tiruan atau imitasi dari kode bahasa pemrograman.
Pada dasarnya, pseudocode merupakan suatu bahasa yang memungkinkan
programmer untuk berpikir terhadap permasalahan yang harus dipecahkan tanpa
harus memikirkan sintaks dari bahasa pemrograman yang tertentu. Tidak ada aturan
yang jelas dalam penulisan sintaks di dalam pseudocode. Jadi pseudocode
digunakan untuk menggambarkan logika urut-urutan dari program tanpa
memandang bagaimana bahasa pemrogramannya.
Walaupun pseudocode tidak ada aturan penulisan sintaksnya, di dalam buku
ini akan diberikan suatu aturan-aturan penulisan sintaks yang cukup sederhana
agar pembaca dapat lebih mudah dalam mempelajari algoritma yang ada dalam
buku ini. Pseudocode yang ditulis di dalam buku ini akan menyerupai sintaks dalam
bahasa Pascal, namun dibuat sesederhana mungkin sehingga tidak akan ada
kesulitan bagi pembaca untuk memahami algoritma dalam buku ini walaupun
pembaca belum pernah mempelajari bahasa Pascal. Pseudocode didasarkan pada
bahasa pemrograman yang sesungguhnya seperti Basic, Fortran atau Pascal.
Pseudocode yang berbasis bahasa Pascal merupakan pseudocode yang sering
digunakan. Kadang-kadang orang menyebut pseudocode sebagai Pascal-Like
algorithm. Apabila Contoh 2, ditulis dalam pseudocode berbasis bahasa Pascal akan
tampak seperti pada contoh 4 berikut ini.
Contoh 4. Pseudocode.
1. Mulai
2. Read alas, tinggi
3. Luas := 0.5 * alas * tinggi
4. Write Luas
5. Selesai
Contoh 4 diperlihatkan sebuah algoritma yang sudah sangat mirip dengan bahasa
Pascal. Pernyataan seperti Read dan Write merupakan kata simpan (fungsi bawaan
Pascal) yang sudah ada dalam bahasa Pascal 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.
Contoh 5. pseudocode
input (c,d) {menerima masukan 2 bilangan c dan d}
if c < d then {operasi kondisional}
e←a+b {e di assignment oleh nilai a dan b}
else
e←a–b
output (e) {hasil keluaran berupa bilangan e}
{Nama fungsi, menyebutkan domain dan range}
function RealToInt (x : real) → integer {mengubah harga x yang bertype real
menjadi harga ekivalen yang bertype integer}
procedure tukar (input/output x,y : real) {Nama prosedur, menyebutkan “IS”
initial state, “FS” final state dan proses}
3. Diagram Alir
Selain dalam bentuk tulisan, algoritma juga dapat ditulis dalam bentuk
diagram-diagram dengan anak panah sebagai penunjuk urutan langkah
algoritmanya. Algoritma yang ditulis dengan simbol-simbol atau lambang dikenal
dengan flowchart. Diagram alir merupakan bentuk grafis/visual dari algoritma
yang berisikan langkah-langkah yang harus diikuti dalam menyelesaikan suatu
permasalahan. Simbol yang digunakan merepresentasikan kegiatan tertentu.
Flowchart diawali dengan penerimaan (input) dan diakhiri dengan penampilan
(output). Sebuah flowchart pada umumnya tidak menampilkan instruksi bahasa
pemrograman, namun menetapkan konsep solusi dalam bahasa manusia ataupun
notasi matematis. Berikut ini akan dibahas simbol – simbol yang sering digunakan
dalam menyusun flowchart.
Tabel 6: Simbol dan Keterangan Diagram Alir
Simbol Nama Pengertian
Simbol Simbol ini digunakan untuk melambangkan
Proses kegiatan pemrosesan input. Dalam simbol ini,
kita dapat menuliskan operasi-operasi yang
dikenakan pada input, maupun operasi
lainnya. Sama seperti aturan pada simbol
input, penulisan dapat dilakukan secara satu
per satu maupun secara keseluruhan. Pada
proses ini umumnya berisikan statement
penugasan (exp : x := y atau Ket := ’ A’)
Simbol Merepresentasikan fungsi I/O yang membuat
Input sebuah data dapat diproses (input) secara
Output (I/O) manual melalui Keyboard saat program di
ekseksi atau ditampilkan (output) setelah
mengalami eksekusi informasi
Simbol Merepresentasikan fungsi I/O yang membuat
Input sebuah data dapat diproses (input) secara
Output (I/O) otomatis (data input dimasukkan saat program
dibuat, bisa data input untuk pemogram
sistem atau data input tidak akan diganti
selama program digunakan atau ditampilkan
(output) setelah mengalami eksekusi
informasi
Sambungan Tabel 6
Simbol Nama Pengertian
Simbol Garis Simbol ini digunakan untuk menghubungkan
Alir setiap langkah dalam flowchart dan
Flowline menunjukkan kemana arah aliran diagram.
Anak panah ini harus mempunyai arah dari
kiri ke kanan atau dari atas ke bawah. Anak
panah ini juga dapat diberi label, khususnya
jika keluar dari simbol percabangan.
Simbol Merepresentasikan informasi deskriptif
Anotasi tambahan, komentar atau catatan penjelasan.
Dalam simbol ini, kita dapat menuliskan
komentar apapun dan sebanyak apapun, hal
ini berguna untuk memperjelas langkah-
langkah dalam flowchart. Garis vertical dan
garis terputus – putus dapat ditempatkan
pada sisi kanan maupun kiri.
Simbol Simbol ini digunakan untuk melambangkan
Percabangan percabangan, yaitu pemeriksaan terhadap
suatu kondisi. Dalam simbol ini, kita
menuliskan keadaan yang harus dipenuhi.
Hasil dari pemeriksaan dalam simbol ini
adalah Yes atau No. Jika pemeriksaan
menghasilkan keadaan benar, maka jalur
yang harus dipilih adalah jalur yang berlabel
Yes, sedangkan jika pemeriksaan
menghasilkan keadaan salah, maka jalur
yang harus dipilih adalah jalur yang berlabel
No. Biasanya perintah disini adalah If ...
then.

Simbol Nama Pengertian


Simbol Terminator berfungsi untuk menandai awal
Terminator dan akhir dari suatu flowchart. Simbol ini
biasanya diberi label START untuk menandai
awal dari flowchart, dan label STOP untuk
menandai akhir dari flowchart. Jadi dalam
sebuah flowchart pasti terdapat sepasang
terminator yaitu terminator start dan stop.
Lambang ini digunakan juga untuk
penggulangan dengan perintah While ... do
atau repeat .. until.
Simbol Simbol konektor digunakan pada waktu
Konektor menghubungkan suatu langkah dengan
langkah lain dalam sebuah flowchart dengan
keadaan on
Sub Simbol ini berperan sebagai blok pembangun
Program dari suatu program. Sub Program (prosedur
atau atau fungsi) memiliki suatu flowchart yang
Progam berdiri sendiri diluar flowchart utama. Jadi
Pembantu dalam simbol ini, kita cukup menuliskan nama
(Prosedure sub program saja, jadi sama seperti jika kita
atau melakukan pemanggilan suatu sub program
Fungsi) pada program utama (main program). Sama
dengan aturan pada simbol percabangan,
penulisan nama sub program dilakukan secara
satu per satu.

Simbol Nama Pengertian


page atau off page. On page connector
digunakan untuk menghubungkan suatu
langkah dengan langkah lain dari flowchart
dalam satu halaman, sedangkan off page
connector digunakan untuk menghubungkan
suatu langkah dengan langkah lain dari
flowchart dalam halaman yang berbeda.
Connector ini biasanya dipakai saat media
yang kita gunakan untuk menggambar
flowchart tidak cukup luas untuk memuat
gambar secara utuh, jadi perlu dipisah
pisahkan. Dalam sepasang connector biasanya
diberi label tertentu yang sama agar lebih
mudah diketahui pasangannya.
Looping Pengulangan (looping) dengan bilangan
bilangan integer, bila x < n, kita gunakan perintah
bulat increase (for .. to... do), jika x > n, kita
(Integer) gunakan perintah decrease (for .. downto ...
do)
Looping Pengulangan (looping) dengan selain bilangan
X< y
selain integer (dapat real atau char). Looping dengan
bilangan perintah ini harus dilengkapi dengan kondisi
bulat awal (x := 0) dan penambahan harga x yang
diinginkan (umpamanya x := x + 0.5).
Umumnya perintah menggunakan While ... do
atau repeat ... until tergantung kepada kondisi
yang ditentukan.

Sekarang berdasarkan algoritma menentukan bilangan terbesar dari 3 buah


bilangan seperti pseudocode pada Contoh 5 sebelum ini dapat dibuat algoritma dalam
bentuk bentuk flowchart seperti Gambar 16 berikut
Gambar 16: Diagram Alir menentukan bilangan terbesar dari 3 bilangan
Berdasarkan contoh terlihat bahwa Flowchart merupakan algoritma yang
disusun dalam gambar atau bagan 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 bagian-bagian yang terlupakan
dalam analisis masalah. Flowchart di samping itu juga berguna sebagai fasilitas
untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek.
Tidak ada rumusan yang bersifat mutlak dalam pembuatan flowchart untuk
program, karena flowchart merupakan gambaran hasil pemikiran dalam
menganalisis suatu masalah dengan komputer, sehingga flowchart yang dihasilkan
dapat bervariasi antara satu pemrogram dengan yang lainnya. Namun secara garis
besar setiap pengolahan selalu terdiri atas 3 bagian utama, yaitu:
a. Input,
b. Proses pengolahan dan
c. Output
Untuk pengolahan data dengan komputer, umumnya urutan dasar pemecahan suatu
masalah adalah
a. START, berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum
menangani pemecahan persoalan.
b. READ, berisi pernyataan kegiatan untuk membaca data dari suatu peralatan
input.
c. Proses, berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai
dengan data yang dibaca.
d. WRITE, berisi pernyataan untuk merekam hasil kegiatan ke peralatan output.
e. END, mengakhiri kegiatan pengolahan.
Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart,
namun ada beberapa anjuran:
a. Hindari pengulangan proses yang tidak perlu dan logika yang berbelit
sehingga jalannya proses menjadi singkat.
b. Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah
untuk memperjelas.
c. Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END
Jadi, flowchart merupakan skema/bagan (chart) yang menunjukkan aliran
(flow) di dalam suatu program secara logika. Flowchart digunakan sebagai untuk
menggambarkan algoritma dalam bentuk notasi-notasi tertentu.
Kasus 1:
Buatlah sebuah rancangan program dengan menggunakan flowchart, mencari luas
persegi panjang.
Solusi:
Perumusan untuk mencari luas persegi panjang adalah:
L = p x l, di mana, L adalah Luas persegi panjang, p adalah panjang persegi, dan l
adalah lebar persegi.
Keterangan Gambar:
a. Simbol pertama menunjukkan dimulainya sebuah
program.
b. Simbol kedua menunjukkan bahwa input data dari
panjang dan lebar.
c. Data dari panjang dan lebar akan diproses pada simbol
ketiga dengan menggunakan perumusan Luas = panjang
x lebar l
d. Simbol keempat menunjukkan hasil output dari proses
dari symbol ketiga yaitu luas
b. Simbol kelima atau terakhir menunjukkan berakhirnya
Gambar 17. Diagram
program dengan tanda End.
alir menghitung luas
persegi

E. Beda Algoritma dan Program


Program adalah kumpulan pernyataan komputer, sedangkan algoritma adalah
metode dan tahapan sistematis dalam program. Program ditulis dengan menggunakan
bahasa pemrograman tertentu. Jadi bisa dikatakan bahwa program merupakan hasil
implementasi algoritma dengan menggunakan bahasa pemograman dari struktur data.
Struktur data dan algoritma berhubungan erat pada sebuah program. Algoritma yang
baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang
baik, demikian juga sebaliknya. Beberapa keuntangan dalam pembuatan algoritma
dalam merancang suatu struktur data antaranya adalah:
1. Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman
manapun, artinya penulisan algoritma independen dari bahasa pemrograman dan
komputer yang melaksanakannya.
2. Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
3. Output suatu algoritma tidak tergantung kepada bahasa pemrogramannya
Algoritma PENGURUTAN DATA t1: kumpulan data ke 1 .. N terurut membesar
for i ← 1 to length [A] do
for j ← length [A] downto i +1 do
If A[A] < A[j-1] then
Exchange A[j] ↔ A[j-1]
Dalam bentuk pseudocode dalam bahasa Pascal dapat ditulis prosedur berikut ini:
Procedure bubbleSort(Bil :array of integer; ukuran : integer);
Var
i, j, temp : Integer;
Begin
for i = ukuran downto 0 do
begin
for j = 1 to i do
begin
if (Bil[j-1] > bil [j]) then
begin
temp := bil[j-1];
bil[j-1]:= bil[j];
bil[j] := temp;
End;
End;
End;
End;

Beberapa hal yang perlu diperhatikan dalam membuat algoritma antara lain
1. Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi
tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami.
2. Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa
pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi
algoritmik.
3. 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.
4. 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.
5. Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan
suatu permasalahan ke dalam bahasa pemrograman.
6. Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh
komputer, algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman. Ada
beberapa hal yang harus diperhatikan pada translasi tersebut, yaitu:
a. Pendeklarasian variabel
Untuk mengetahui dibutuhkannya pendeklarasian variabel dalam penggunaan
bahasa pemrograman apabila tidak semua bahasa pemrograman
membutuhkannya.
b. Pemilihan tipe data
Apabila bahasa pemrograman yang akan digunakan membutuhkan pendeklarasian
variabel maka perlu hal ini dipertimbangkan pada saat pemilihan tipe data.
c. Pemakaian instruksi-instruksi
Beberapa instruksi mempunyai kegunaan yang sama tetapi masing-masing
memiliki kelebihan dan kekurangan yang berbeda.
d. Aturan sintaksis
Pada saat menuliskan program kita terikat dengan aturan sintaksis dalam bahasa
pemrograman yang akan digunakan.
e. Tampilan hasil
Pada saat membuat algoritma kita tidak memikirkan tampilan hasil yang akan
disajikan. Hal-hal teknis ini diperhatikan ketika mengkonversikannya menjadi
program.
f. Cara pengoperasian compiler atau interpreter.
Bahasa pemrograman yang digunakan termasuk dalam kelompok compiler atau
interpreter.
Agar pemikiran yang telah dirancang dapat dilaksanakan oleh komputer,
algoritma harus ditulis dalam notasi bahasa pemrograman tertentu (pengkodean),
dimana hasilnya dinamakan program. Jadi program adalah perwujudan atau
implementasi teknis dari algoritma yang ditulis dalam bahasa pemrograman tertentu
sehingga dapat dilaksanakan oleh komputer. Kata “algoritma” dan “program” seringkali
dipertukarkan dalam penggunaannya. Misalnya ada orang yang berkata seperti ini:
“program pengurutan data menggunakan algoritma selection sort”. Atau pertanyaan
seperti ini: “bagaimana algoritma dan program menggambarkan grafik tersebut?”.
Jika kita sudah memahami pengertian algoritma yang sudah disebutkan sebelum
ini, kita akan dapat membedakan arti kata algoritma dan program. Algoritma adalah
langkah-langkah penyelesaikan masalah, sedangkan program adalah realisasi algoritma
dalam bahasa pemrograman. Program ditulis dalam salah satu bahasa pemrograman dan
kegiatan membuat program disebut pemrograman (programming). Orang yang menulis
program disebut pemrogram (programmer). Tiap-tiap langkah di dalam program disebut
pernyataan atau instruksi atau statement. Jadi, program tersusun atas sederetan
instruksi. Bila suatu instruksi dilaksanakan, maka operasi yang bersesuaian dengan
instruksi tersebut dikerjakan komputer.

F. Pemrograman Prosedural
Pemrograman berasal dari kata program yang diberiawalan pe– dan akhiran –an.
Dalam buku ini, program berarti program komputer. Pengertian program komputer
menurut Zelle (2002) dalam bukunya “Python Programming: An Introduction to
Computer Science” adalah sekumpulan instruksi langkah per langkah yang
memberitahukan mengenai apa yang harus dilakukan computer secara tepat dan cepat.
Pemrograman adalah segala kegiatan pembuatan program komputer.
Algoritma berisi urutan langkah-langkah penyelesaian masalah. Ini berarti
Algoritma adalah proses yang prosedural. Pada pemrograman prosedural, program
dibedakan antara bagian data dengan bagian instruksi. Bagian instruksi terdiri atas
runtutan (sequence) instruksi (perintah) yang dilaksanakan satu per satu secara
berurutan oleh pemroses (komputer). Alur pelaksanaan instruksi dapat berubah apabila
ditemukan pencabangan kondisional. Data yang disimpan di dalam memori akan
dimanipulasi oleh instrusi secara beruntun atau prosedural. Paradigma pemrograman
seperti ini dinamakan pemrograman prosedural.
Bahasa-bahasa tingkat tinggi seperti Cobol, Basic, Pascal, Fortran dan C
mendukung kegiatan pemrograman prosedural, karena itu mereka dinamakan juga
bahasa prosedural. Selain paradigma pemrograman prosedural, ada lagi paradigma
yang lain yaitu pemrograman berorientasi objek (Object Oriented Programming).
Paradigma pemrograman ini merupakan trend baru dan sangat populer akhir-akhir ini.
Paradigma pemrograman yang lain adalah pemograman fungsional, pemogram
deklaratif dan pemograman konkuren. Pada kesempatan ini penulis hanya menyajikan
paradigma pemograman prosedural saja.
Gambar 18: Paradigma Bahasa Pemograman Komputer
Paradigma prosedural adalah paradigma yang intuitif sehingga mudah dipelajari.
Masalah dalam paradigma prosedural diselesaikan menggunakan langkah-langkah yang
berurutan. Selain sangat intuitif bagi programmer, cara penyelesaian prosedural juga
merupakan cara yang paling alami bagi komputer (secara hardware, komputer bekerja
secara sekuensial atau berurutan). Kegiatan yang ditempuh dalam pemograman
prosedural meliputi pendefinisian algoritma dan konstruktor pemrograman prosedural,
serta konsep Input, Proses, dan Output yang sangat lazim dalam dunia pemrograman
prosedural.
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, instruksi-instruksinya, tata cara pengoperasian compiler-nya, dan
memanfaatkan instruksi-instruksi tersebut untuk membuat program yang ditulis hanya
dalam bahasa itu saja. Umumnya bahasa pemograman dibedakan berdasarkan tujuan
dan fungsi dari bahasa tersebut.
1. Kiat Belajar Pemograman
Secara sistematis berikut diberikan kiat-kiat untuk belajar memprogram dan
belajar bahasa pemrograman serta produk yang dapat dihasilkan:
a. Belajar Memprogram
1) Belajar memprogram berarti belajar bahasa pemrograman.
2) Belajar memprogram berarti belajar tentang strategi pemecahan masalah,
metodologi dan sistematika pemecahan masalah kemudian menuliskannya
dalam notasi yang disepakati bersama.
3) Belajar memprogram bersifat pemahaman terhadap persoalan,analisis dan
sintesis.
4) Belajar memprogram bertitik berat kemampuan untuk membuat design
program.
b. Belajar Bahasa Pemrograman
1) Belajar bahasa pemrograman berarti belajar memakai suatu bahasa
pemrograman, aturan sintaks, tatacara untuk memanfaatkan pernyataan yang
spesifik untuk setiap bahasa.
2) Belajar bahasa pemrograman titik beratnya adalah pada pengkodean (coder)
permasalahan ke dalam urutan yang logis .

c. Produk yang Dihasilkan Pemrogram


1) Program dengan rancangan yang baik (metodologis, sistematis).
2) Dapat dieksekusi oleh mesin.
3) Berfungsi dengan benar.
4) Sanggup melayani segala kemungkinan masukan.
5) Disertai dokumentasi.
2. Menulis Program
Algoritma yang telah dibuat, diterjemahkan dalam bahasa komputer menjadi
sebuah program. Perlu diperhatikan bahwa pemilihan algoritma yang salah akan
menyebabkan program memiliki untuk kerja yang kurang baik. Program yang baik
memiliki standar penilaian.
a. Standar teknik pemecahan masalah
1) Teknik Top-Down
Teknik pemecahan masalah yang paling umum digunakan. Prinsipnya adalah
suatu masalah yang kompleks dibagi-bagi ke dalam beberapa kelompok
masalah yang lebih kecil. Dari masalah yang kecil tersebut dilakukan
analisis. Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi
sub bagian dan setelah itu mulai disusun langkah-langkah penyelesaian yang
lebih detail.
2) Teknik Bottom-Up
Prinsip teknik bottom up adalah pemecahan masalah yang kompleks
dilakukan dengan menggabungkan prosedur-prosedur yang ada menjadi satu
kesatuan program sebagai penyelesaian masalah tersebut.
3. Standar penyusunan program
a. Kebenaran logika dan penulisan.
b. Waktu minimum untuk penulisan program.
c. Kecepatan maksimum eksekusi program.
d. Ekspresi penggunaan memori.
e. Kemudahan merawat dan mengembangkan program.
f. User Friendly.
g. Portability.
h. Pemrograman modular.
4. Mencari Kesalahan
a. Kesalahan sintaks (penulisan program).
b. Kesalahan pelaksanaan mencakup sistimatika, logika, dan ketelitian.
5. Uji dan Verifikasi Program
Pertama kali harus diuji apakah program dapat dijalankan. Apabila program
tidak dapat dijalankan maka perlu diperbaiki penulisan sintaksisnya tetapi bila
program dapat dijalankan, maka harus diuji dengan menggunakan data-data yang
biasa yaitu data yang diharapkan oleh sistem. Contoh data ekstrem, misalnya,
program menghendaki masukan jumlah data tetapi user mengisikan bilangan negatif.
Program sebaiknya diuji menggunakan data yang relatif banyak.
6. Dokumentasi Program
Dokumentasi program ada dua macam yaitu dokumentasi internal dan
dokumentasi eksternal. Dokumentasi internal adalah dokumentasi yang dibuat di
dalam program yaitu setiap kita menuliskan baris program sebaiknya diberi komentar
atau keterangan supaya mempermudah kita untuk mengingat logika yang terdapat di
dalam instruksi tersebut, hal ini sangat bermanfaat ketika suatu saat program tersebut
akan dikembangkan. Dokumentasi eksternal adalah dokumentasi yang dilakukan dari
luar program yaitu membuat user guide atau buku petunjuk aturan atau cara
menjalankan program tersebut.
7. Pemeliharaan Program
a. Memperbaiki kekurangan yang ditemukan kemudian.
b. Memodifikasi, karena perubahan spesifikasi.
G. Contoh Beberapa Kasus Pemograman dan Penyelesaian
1. Menghitung biaya percakapan telepon di wartel. Proses yang perlu diperhatikan
adalah:
a. Input yang tersedia adalah jam mulai bicara dan jam selesai bicara.
b. Output yang diinginkan adalah biaya percakapan.
c. Data lain yang tersedia adalah besarnya pulsa yang digunakan dan biaya per pulsa.
d. Operator yang tersedia adalah pengurangan (-), penambahan (+), dan perkalian (*).
e. Syarat kendala yang harus dipenuhi adalah aturan jarak dan aturan waktu.
2. Buat Algoritma dan Struktur Cara Penyelesaianya
Jika masalahnya kompleks, maka algoritma dibagi ke dalam modul-modul
yang sederhana, kemudian modul-modul tersebut disusun untuk menyelesaikan
permasalahan yang kompleks tadi. Tahap penyusunan algoritma seringkali dimulai
dari langkah yang global terlebih dahulu. Langkah global ini diperhalus sampai
menjadi langkah yang lebih rinci atau detail. Cara pendekatan ini sangat bermanfaat
dalam pembuatan algoritma untuk masalah yang kompleks. Penghalusan langkah
dengan cara memecah langkah menjadi beberapa langkah. Setiap langkah diuraikan
lagi menjadi beberapa langkah yang lebih sederhana. Penghalusan langkah ini akan
terus berlanjut sampai setiap langkah sudah cukup rinci dan tepat untuk dilaksanakan
oleh pemroses.
3. Menghitung luas dan keliling lingkaran Proses kerjanya sebagai berikut:
a. Baca jari-jari lingkaran
b. Tentukan konstanta phi = 3.14
c. Hitung luas dan keliling
L = phi*r*r
K = 2*phi*r
d. Cetak luas dan keliling
4. Menghitung rata-rata tiga buah data
Algoritma dengan struktur bahasa Indonesia
- Baca bilangan a, b, dan c
- Jumlahkan ketiga bilangan tersebut
- Bagi jumlah tersebut dengan 3 kemudian tulis hasilnya
Algoritma dengan pseudocode
- input (a, b, c)
- Jml = a+b+c
- Rerata = Jml/3
- Output (Rerata)
5. Algoritma konversi suhu dalam derajat Celcius ke derajat Kalvin
Penyelesaian menggunakan pseudocode:
Input (Celcius)
Kalvin = Celcius + 273
Output (Kalvin)
Berikutnya ini diberikan contoh program dalam bahasa Pascal Turbo untuk aplikasi
Hukum Newton II yang digunakan menghitung percepatan dan usaha yang dikerjakan
Gaya pada balok yang terletak pada bidang datar.
Program Gerak_Balok; { Bagian Judul Program}
Uses CRT; { bagian Deklarasi Unit }
Const
G =10; {bagian deklarasi Constanta }
Var { bagian deklarasi variabel }
F,us,m,percepatan,s, usaha : real;
Begin { Awal program}
Clrscr; { Badan program}
Writeln('Masukan Angka Anda, Kemudian Enter ! ');
Write('Gaya Tarik : ');readln(F ); {Bagian masukan }
Write('Massa Benda : '); readln(m); {Bagian masukan }
Write('Koefesien Gesekkan : '); readln(us); {Bagian masukan }
Write('Perpindahan : '); readln(s); {Bagian masukan }
Percepatan :=(F - m*g*us)/m; {Proses perhitungan}
Usaha :=(F - m*g*us)*s/m; {Proses perhitungan}
Writeln('Percepatan : ',percepatan); {Bagian Pencetakan}
Writeln('Usaha oleh gaya F : ',usaha); {Bagian Pencetakan}
Readln;
End.
H. Soal Latihan 2
Dari permasalahan – permasalahan di bawah ini, susunlah sebuah algoritma
untuk menyelesaikannya. Anda dapat menyusunnya dengan menggunakan
pseudocode ataupun flowchart
1. Menghitung luas lingkaran!
2. Memasak Roti
3. Menggunakan Komputer di Laboratorium
4. Menghitung rata – rata dari 3 buah bilangan
5. Menentukan apakah suatu bilangan merupakan bilangan prima (atau bukan).
6. Menghitung perkalian hanya dengan operator penjumlahan.
7. Mencetak N buah bilangan prima yang pertama.
8. Menghitung jumlah N suku dari deret aritmatika : Sn = 3 + 7 + 11 + … + (4n-1)
9. Menghitung faktorial dari suatu bilangan.
10. Pada sebuah laboratorium penelitian terdapat petunjuk penggunaan peralatan
atau bahan dalam berbagai satuan skala suhu yaitu Fahrenheat, Reamor dan
Celsius. Agar memudahkan pelaksanaan penelitian instruktur laboratorium
meminta saudara untuk membuat algoritma konversi suhu skala suhu tersebut
dari Fahrenheat ke Celsius, Fahrenheat ke Reamor, Celsius ke Fahrenheat,
Celsius ke Reamor, Reamor ke Celsius Reamor ke Fahrenheat.
11. Buat Algoritma untuk menghitung, sebuah kabel jalur kereta gantung sepanjang
500 m direntang diantara 2 menara dengan 1 menara penunjang ditengah-
tengahnya. Kecepatan kereta tergantung kepada jarak kereta dari menara
terdekat. Ketika kereta berada pada jarak kecil dari 25 m dari menara terdekat

kecepatan kereta adalah : vel=0 , 2 d 2 m/ dt dimana d adalah jarak kereta ke


menara terdekat dan ketika kerata berada pada jarak >= 25 m dari menara
2
kecepatannya adalah vel=d +0 . 01 d m/ dt .
Saudara diminta untuk menghitung potensial pada titik (r) solenoida tak
terhingga dengan jumlah lilitan N persatuan panjang dengan program komputer.
Bila penampang solenoida berbentuk lingkaran berjari-jari R dan arus mengalir
arus sebesar I. Buatlah algoritma menyelesainya berdasarkan persamaan
berikut:
μo NI
V= r,
2 (r < R atau titik berada di dalam selenoida)
V=0 , ( r = R atau titik berada di selenoida)
μo NI R2
V=
2 r , (r > R atau titik berada di luar selenoida)
12. Belajar memprogram dan belajar bahasa pemrograman adalah dua hal yang
berbeda. Jelaskan!
13. Tentukan letak kesalahan algoritma memutar kaset tape recorder di bawah ini:
Algoritma Memutar Kaset
a. Pastikan tape recorder dalam keadaan POWER ON.
b. Tekan tombol PLAY.
c. Masukkan kaset ke dalam tape recorder.

Anda mungkin juga menyukai