You are on page 1of 53

Nama : DEDE SUPRIADI

NPM : 43200700606080234
Kelas : Extention
Kelompok :B
Program : S1 / TI

LOGIKA DAN ALGORITMA


PENGERTIAN DASAR
Logika dan Algoritma diperkenalkan Oleh Ahli Matematika : Abu Ja’far
Muhammad Ibnu Musa Al Khawarizmi.

Logika berasal dari kata Yunani kuno λόγος (logos) yang berarti hasil
pertimbangan akal pikiran yang diutarakan lewat kata dan dinyatakan

dalam bahasa.

Definisi Algoritma

1. Langkah- langkah yg dilakukan agar solusi masalah dapat diperoleh.

2. Suatu prosedur yg merupakan urutan langkah-langkah yg berintegrasi.

3. Suatu metode khusus yg digunakan untuk menyelesaikan suatu masalah yg

nyata.(Webster Dictionary)

Dede Supriadi – - d2spd_pnd@telkom.net - Page 1


TAHAP PENYELESAIAN MASALAH

Masalah

Model

Algoritma

Program

Eksekusi
Data
Hasil
Kriteria Pemilihan Algoritma.

•Ada Output, mengacu pada definisi algoritma, suatu algoritma haruslah

mempunyai output yang harus merupakan solusi dari masalah yang sedang

diselesaikan

•Efektifitas dan Efesiensi, Dikatakan efektif jika algoritma tersebut

menghasilkan suatu solusi yang sesuai dengan masalah yang diselesaikan dalam

arti algoritma harus tepat guna.Dikatakan efisiensi jika waktu proses suatu

algoritma relatif lebih singkat dan penggunaan memori komputernya lebih

sedikit.

•Jumlah Langkahnya Berhingga, maksudnya adalah barisan instruksi yang

dibuat harus dalam suatu urutan tertentu atau harus berhingga agar masalah

yang dihadapi dapat diselesaikan dengan tidak memerlukan waktu relatif lama.

Dede Supriadi – - d2spd_pnd@telkom.net - Page 2


Contoh :

Sebuah prosedur ketika akan mengirimkan surat kepada

teman:

•Tulis surat pada secarik kertas surat

•Ambil sampul surat atau amplop

•Masukkan surat ke dalam amplop

•Tutup amplop surat dengan lem perekat

•Tulis alamat surat yg dituju, jika tdk ingat, lebih dahulu ambil buku

alamat & cari alamat yg dituju, lalu tulis alamat tsb pd amplop surat.

•Tempelkan perangko pada amplop surat

•Bawa surat ke kantor pos utk diserahkan pd pegawai pos atau menuju

ke bis surat untuk memasukkan surat ke dlm kotak/bis surat.

Sebuah prosedur untuk masalah menentukan akar kuadrat

dari suatu bilangan Bulat Positif yg di Input :


Baca bilangan Bulat Positif yg diinput, sebut saja sebagai A
•Dinyatakan Nilai B adalah 0

•Hitung Nilai C yg berisikan Nilai B dikalikan Nilai B

•Jika Nilai C sama dengan Nilai A, maka Nilai B adalah Akar dari

Nilai A, lalu stop.

•Jika tidak, maka Nilai B akan bertambah 1

•Kembali ke langkah pada No. 3

TAHAPAN ANALISA ALGORITMA :


•Bagaimana merencanakan suatu algoritma.

Dede Supriadi – - d2spd_pnd@telkom.net - Page 3


Menentukan beberapa model atau desain sebagai penyelesaian dari

suatu masalah untuk mendapat sebuah solusi yan mungkin. Dengan

demikian, akan banyak terdapat variasi desain atau model yang dapat

diambil yang terbaik.

•Bagaimana menyatakan suatu algoritma

Menentukan model suatu algoritma yang digunakan sehingga dapat

membuat barisan langkah secara berurutan guna mendapatkan solusi

penyelesaian masalah. Menentukan model tersebut agar dapat

digunakan dengan cara :

•Dengan bahasa semu (pseudocode), yaitu dengan

menggunakan bahasa sehari-hari, tetapi harus jelas dan

terstruktur

Contoh :

–menghitung Luas Segi tiga :

–Untuk Masukan Nilai Alas

–Masukan Nilai Tinggi

–Hitung Luas =( Alas * Tinggi ) / 2

–Cetak Luas
Start

Masukan
Alas

Masukan
•Dengan diagram alur atau flowchart
Tinggi
,

Contoh :
Luas = (Alas * Tinggi)/2

Dede Supriadi – Cetak


- d2spd_pnd@telkom.net - Page 4
Luas

Stop
•Dengan Statement program/penggalan Program

Contoh :

•Read Alas

•Read Tinggi

•Luas=(Alas * Tinggi)/2

•Write(Luas)

•Bagaimana validitas suatu algoritma.

Yakni jika penyelesaian memenuhi solusi yang sebenarnya, artinya solusi

yang didapat merupakan penyelesaian suatu masalah dan bukannya

membuat asalah baru.

•Bagaimana Menganalisa suatu Algoritma.

Caranya melihat running time atau waktu tempuh yang digunakan dalam

menyelesaikan masalah serta jumlah memori yang digunakan dalam

penyelesaian masalah tersebut.

•Bagaimana Menguji Program dari suatu Algoritma.

Dede Supriadi – - d2spd_pnd@telkom.net - Page 5


Yaitu dengan cara menyajikannya dalam salah satu bahasa

pemrogramana, misalnya BASIC, PASCAL, FORTRAN, dBase, atau yang

lainnya. Dalam proses, uji program oleh komputer akan melalui beberapa

tahap yaitu :

Tahap Proses uji Algoritma :

•Fase Debugging, yaitu fase dari suatu proses program eksekusi yang

akan melakukan koreksi terhadap kesalahan program. Yang dimaksud

disni adalah error atau salah dalam penulisan program baik logika

maupun sintaksnya.

•Fase Profilling, yaitu fase yang akan bekerja jika program tersebut

sudah benar atau telah melalui proses pada fase debugging. Fase ini

bekerja untuk melihat dan mengukur waktu tempuh atau running time

yang diperlukan serta jumlah memori/storage yang digunakan dalam

menyelesaikan suatu algoritma.

Analisis Suatu Algoritma


(Untuk melihat faktor efesiensi & efektifitas dari algoritma

tersebut), Dapat dilakukan terhadap suatu algoritma dengan melihat

pada :

•Waktu Tempuh (Running Time) dr suatu Algortima.

Adalah satuan waktu yang ditempuh atau diperlukan oleh suatu

algoritma dalam menyelesaikan suatu masalah. Hal2 yg dapat

mempengaruhi daripada waktu tempuh adalah :

Banyaknya langkah.

Besar dan jenis input data.

Dede Supriadi – - d2spd_pnd@telkom.net - Page 6


Jenis Operasi.

Komputer dan kompilator

•Jumlah Memori Yang Digunakan.

Sifat - Sifat Algoritma

•Banyaknya Langkah Instruksi Harus Berhingga,

•Langkah atau Instruksi harus Jelas,

•Proses harus Jelas dan mempunyai batasan,

•Input dan Output harus mempunyai Batasan,

•Efektifitas,

•Adanya Batasan Ruang Lingkup,

Dede Supriadi – - d2spd_pnd@telkom.net - Page 7


Dede Supriadi – - d2spd_pnd@telkom.net - Page 8
Dede Supriadi – - d2spd_pnd@telkom.net - Page 9
Dede Supriadi – - d2spd_pnd@telkom.net -Page
10
Dede Supriadi – - d2spd_pnd@telkom.net -Page 11
Dede Supriadi – - d2spd_pnd@telkom.net -Page
12
Dede Supriadi – - d2spd_pnd@telkom.net -Page
13
Dede Supriadi – - d2spd_pnd@telkom.net -Page
14
Dede Supriadi – - d2spd_pnd@telkom.net -Page
15
Dede Supriadi – - d2spd_pnd@telkom.net -Page
16
Dede Supriadi – - d2spd_pnd@telkom.net -Page
17
Dede Supriadi – - d2spd_pnd@telkom.net -Page
18
Dede Supriadi – - d2spd_pnd@telkom.net -Page
19
Dede Supriadi – - d2spd_pnd@telkom.net -Page
20
Struktur Data : Konstruksi Dasar

Algoritma dibangun dari tiga buah konstruksi ada struktur

dasar, yaitu runtutan (sequence), pemilihan (selection) dan

pengulangan (repetition)

1. Runtutan

Runtutan terdiri dari satu atau lebih pernyataan, setiap

pernyataan diakhiri oleh satu baris atau titik koma. Tiap

pernyataan dibuat secara berurutan sesuai dengan urutannya.

Setiap instruksi dilaksanakan setelah instruksi sebelumnya

selesai dilaksanakan.

Dede Supriadi – - d2spd_pnd@telkom.net -Page


21
Misal pertukaran nilai A ke dalam nilai B dengan

membutuhkan bantuan C:

Masukkan nilai A ke dalam C

Masukkan nilai B ke dalam A

Masukkan nilai C ke dalam B

2. Pemilihan

Pada beberapa hal kita terkadang dihadapkan pada suatu

pilihan. Misal:

Jika saya tidur larut malam maka saya akan bangun

kesiangan

Pernyataan di atas biasa diubah dalam notasi algoritmik

demikian:

view plaincopy to clipboardprint?

1. if kondisi then

2. aksi

Dede Supriadi – - d2spd_pnd@telkom.net -Page


22
Bahasa Indonesia untuk if adalah jika, dan untuk then adalah

maka. Dalam kehidupan sehari-hari dapat kita temui sebagai

berikut:

view plaincopy to clipboardprint?

1. if saya makan then

2. saya kenyang

Jika pilihan aksi ada 2

view plaincopy to clipboardprint?

1. if bil <= 100 then

2. tulis bilangan lebih dari seratus

3. else

4. tulis kurang dari 100

Jika pilihan aksi lebih dari 2

view plaincopy to clipboardprint?

1. if A < B then

Dede Supriadi – - d2spd_pnd@telkom.net -Page


23
2. if A < C then

3. tulis bilangan terbesar = A

4. else

5. tulis bilangan terbesar = C

6. else

7. if B < C then

8. tulis bilangan terbesar = B

9. else

10. tulis bilangan terbesar = C

Penulisan ruang kosong (indentasi) di atas akan lebih mudah

dibaca dibanding:

view plaincopy to clipboardprint?

1. if A < B then

2. if A < C then

3. tulis bilangan terbesar = A

4. else

5. tulis bilangan terbesar = C

Dede Supriadi – - d2spd_pnd@telkom.net -Page


24
6. else

7. if B < C then

8. tulis bilangan terbesar = B

9. else

10.tulis bilangan terbesar = C

bukan?

3. Pengulangan

Pernahkah anda dihukum oleh guru anda menulis kalimat

berulang-ulang sampai satu lembar atau lebih? Capek bukan?

Komputer mempunyai fungsi untuk melakukan pekerjaan

berulang-ulang dan tak kenal lelah. Jika dalam pemrograman

tentu penulisan secara berulang-ulang tidak akan efisien.

Oleh karena itu digunakan beberapa fungsi.

repeat

view plaincopy to clipboardprint?

1. ALGORITMA tulis kalimat 100 kali:

2. repeat 100 times


Dede Supriadi – - d2spd_pnd@telkom.net -Page
25
3. Tulis "Saya akan mengerjakan PR"

maka akan algoritmanya demikian:

view plaincopy to clipboardprint?

1. repeat N times

2. aksi

artinya aksi diulang sebanyak N kali.

for

view plaincopy to clipboardprint?

1. for pencacah pengulangan dari 1 sampai N do

2. aksi

artinya aksi dilakukan sebanyak hitungan cacah pengulanagn,

yaitu dari 1 sampai N (sebanyak N kali). Pencacah tidak

hanya dimulai dari angka 1, tapi dari sebarang nilai yang lain.

view plaincopy to clipboardprint?

Dede Supriadi – - d2spd_pnd@telkom.net -Page


26
1. ALGORITMA:

2. for i dari 1 sampai 100 do

3. writeln "Saya tidak akan mengulanginya lagi

i adalah pencacah pengulangan yang mencacah pengulangan

dari 1 sampai 100. Untuk mengenal notasi ini akan saya

bahas selanjutnya.

repeat-until

Artinya pengulangan aksi yang dilakukan hingga persyaratan

terpenuhi. Jadi penulisan kalimat 100 kali dengan notasi

repeat-until adalah:

view plaincopy to clipboardprint?

1. repeat

2. aksi

3. until kondisi

Contoh

view plaincopy to clipboardprint?

Dede Supriadi – - d2spd_pnd@telkom.net -Page


27
1. ALGORITMA tulis kalimat 100 kali:

2. repeat

3. writeln "Saya berjanji tidak akan mengulangi lagi"

4. until sudah 100 kali.

while

while artinya selagi, do artinya lakukan

view plaincopy to clipboardprint?

1. while kondisi do

2. aksi

Contoh:

view plaincopy to clipboardprint?

1. while i <= do

2. jumlah = jumlah + i

3. i=i+1

Struktur Dasar : Pernyataan

Dede Supriadi – - d2spd_pnd@telkom.net -Page


28
Oke, kita lanjutkan lagi. Beberapa saat yang lalu saya sudah

memberikan penjelasan singkat tentang struktur dasar

algoritma, kali ini saya akan memberikan penjelasan lebih

rinci tentang struktur dasar algoritma.

Sebuah algoritma merupakan deskripsi dari langkah-langkah

yang kita lakukan. Setiap langkah terdapat pernyataan atau

istilah lain instruksi dan berisi aksi yang dilakukan. Jika

pernyataan tersebut dijalankan oleh prosesor, maka aksi akan

sesuai dengan pernyataan yang dikerjakan.

Misal:

view plaincopy to clipboardprint?

1. Tulis "Hello, world"

maka pernyataan di atas akan menjalankan sebuah aksi untuk

menulis "Hello, world"

pernyataan

view plaincopy to clipboardprint?


Dede Supriadi – - d2spd_pnd@telkom.net -Page
29
1. Kalikan x dengan 4

maka tiap aksi x akan dikalikan dengan 4.dan hasil perkalian

akan disimpan di dalam peubah x lagi.

Pernyataan

view plaincopy to clipboardprint?

1. Jika bulan = 'maret' maka tulis "jumlah hari = 31"

Terdiri dari dua aksi, yaitu variabel bulan dengan 'maret',

dan aksi tulis 'jumlah hari = 31'. jika perbandingan benar.

Dalam algoritma terdapat beberapa jenis pernyataan, seperti

pernyataan expresi, pemilihan, pengulangan, prosedur,

gabungan dan sebagainya. Masing-masing pernyataan akan

kita bahas nanti.

Notasi Algoritmik

Beberapa bab yang lalu saya sudah sering mengatakan

tentang notasi algoritmik. Notasi


Dede Supriadi – - d2spd_pnd@telkom.net -Page
30
algoritmik dibuat independen tidak terkait dengan salah satu

bahasa pemrograman apa pun dan bisa diterjemahkan ke

berbagai macam bahasa pemrograman. Seperti membuat

resep roti, apa pun bahasa dalam pembuatan resep baik

Indonesia, Jerman, Jawa, Madura hasilnya akan tetap sama

karena algoritmanya sama (jika semua cara dan aturan sesuai

dengan resep). Mengapa hal itu terjadi? Karena tiap koki

mempunyai kemampuan yang sama dalam operasi dasar

pembuatan roti, seperti mengocok telur, mengaduk adonan,

dan memasukkan ke dalam oven. Jadi resep pembuatan roti

tidak tergantung pada bahasa setempat dan koki yang

memasaknya.

Sama juga halnya dengan komputer, asalkan algoritmanya

sama, dengan menggunakan berbagai macam bahasa

pemrograman hasilnya tetap sama. Teknologi komputer

tidaklah mengubah operasi dasar komputer seperti operasi

perhitungan, pembacaan data, aritmatika dan sebagainya.

Yang berbeda adalah kecepatan dalam memproses, biaya atau

Dede Supriadi – - d2spd_pnd@telkom.net -Page


31
tingkat ketelitian.

Notasi algorimik bukanlah bahasa pemrograman, jadi bebas

ditulis dengan bebas asal mudah dibaca dan dimengerti.

Meskipun notasi algoritmik bukan bahasa pemrograman,

beberapa asas terhadap notasi harus ditaati agar tidak terjadi

kesalahpahaman.

Di bawah ini beberapa macam notasi algoritmik yang sering

digunakan untuk menulis algoritma. Contoh yang ditulis di

bawah adalah perhitungan luas segitiga:

1. Notasi I: algoritma dengan untaian kalimat deskriptif

PROGRAM LuasSegitiga

Memasukkan angka luas dan tinggi. Algoritma

mengitung luas segitiga yaitu setengah alas

dikalikan tinggiALGORITMA

1. Masukkan alas dan tinggi

2. Rumus luas segitiga = 0.5 * a * t

3. Cetak hasilnya ke layar

Dede Supriadi – - d2spd_pnd@telkom.net -Page


32
Bisa kita lihat, notasi bergaya deskriptif di atas

menggunakan kalimat yang mudah dimengerti oleh

orang awam, akan tetapi susah diterjemahkan ke dalam

bahasa pemrograman.

2. Notasi II: algoritma dengan flowchart.

Untuk keterangan gambar flowchart bisa dilihat di sini.

Biasanya untuk program dengan masalah yang kecil,

tapi untuk masalah yang rumit dan besar akan susah

karena akan menghabiskan kertas. Pengonversian dari

flowchart ke dalam bahasa pemrograman tergantung

kebiasaan, beberapa orang ada yang kesulitan

mengonversi, beberapa orang lain lebih mudah

mengonversinya dengan menggunakan flowchart. Akan

tetapi karena flowchar menggunakan aturan yang baku,

mudah dimengerti oleh siapa saja.

Dede Supriadi – - d2spd_pnd@telkom.net -Page


33
3. Notasi III: menggunakan pseudo code.

Beberapa pakar ilmu komputer menyukai menggunakan

pseudo code daripada flowchart. Pseudo-code artinya

notasi yang mirip dengan bahasa pemrograman tingkat

tinggi, biasanya bahasa Pascal atau C. Akan tetapi beda

dengan notasi bahasa pemrograman aslinya, pseudo

code ini tidak mau direpotkan dengan penulisan titik

koma (semi colon), indeks, format keluaran, aturan

khusus dan sebagainya, pseudo code boleh ditulis

semaunya asal tidak membingungkan pembaca. Pseudo-

code tiap orang berbeda-beda karena tiap orang

menyukai gaya tertentu untuk menuliskan pseudo

Dede Supriadi – - d2spd_pnd@telkom.net -Page


34
codenya. Karena menggunakan pseudo code yang mirip

dengan notasi bahasa pemrograman, maka dengan

mudah akan dikonversi ke dalam notasi bahasa

pemrograman. Karena berbeda-beda itulah terkadang

beberapa orang bingung dengan pseudo code.Pseudo

code pada tulisan saya mulai sekarang hingga

selanjutnya akan memakai notasi yang mirip dengan

bahasa Pascal, namun tidak seluruhnya sama dengan

aturan Pascal. Seperti di bawah ini:

view plaincopy to clipboardprint?

1. PROGRAM LuasSegiTiga

2. Program untuk mengitung luas segitiga

3. DEKLARASI:

4. a, t: integer { bilangan bulat alas dan tinggi }

5. luas: float

6. ALGORITMA:

7. read(a, t)

Dede Supriadi – - d2spd_pnd@telkom.net -Page


35
8. luas = 0.5 * a * t

9. write(luas)

Perhatikan dan cermati pseudo code di atas, apakah ada

kemiripan dengan Pascal?

Belajar Memprogram dan Belajar Bahasa

Pemrograman

Masih bingung dengan tutorial kemarin? Insya Allah akan

saya terangkan pelan-pelan apa bagian dari program yang

ditulis kemarin. Oke kita sekarang ke penjelasan-penjelasan

saja. Belajar memprogram tidaklah sama dengan belajar

bahasa pemrograman. Belajar memprogram berarti

mempelajari metode untuk memecahkan suatu masalah,

kemudian menuliskannya ke dalam sebuah algoritma dalam

kode-kode tertentu. Sedangkan belajar bahasa pemrograman

berarti mempelajari suatu bahasa komputer, aturan-aturannya,

instruksinya, serta bagaimana mengoperasikan kompilernya

Dede Supriadi – - d2spd_pnd@telkom.net -Page


36
dan memanfaatkan instruk-instruksi tersebut untuk membuat

programan.

Pada saat melakukan aktivitis pemrograman, kita lebih

menekankan untuk memecahkan masalah sedang untuk

menulis kode program tersebut merupakan aktivitas terakhir.

Kita pikirkan rancangan pemecahan suatu masalah tanpa

memikirkan menggunakan bahasa pemrograman tertentu.

Sebab jika pikiran kita terbagi pada penggunaan bahsa

pemrograman tertentu, maka fokus kita akan sangat

tergantung pada bahasa pemrograman tersebut. Rancangan

urutan pemecahan masalah tersebut disebut notasi-notasi

deskriptif (notasi ini kita namakan sebagai notasi algoritmik).

Untuk belajar memprogram dan menjadi sebuah

programmer/pemrogram yang baik, bukanlah "yang penting

hasilnya benar", tetapi perlu dipikirkan bagaimana membuat

sebuah program dengan menggunakan skema yang benar.

Kenapa? Karena akan membuat program yang kita buat akan

bersih dari kesalahan yang akan timbul pada saat eksekusi.

Dede Supriadi – - d2spd_pnd@telkom.net -Page


37
Jika rancangan sudah dibuat dengan skema yang baik dan

benar, maka kita tinggal memasukkan skema tersebut ke

dalam kode-kode di komputer. Makanya kita butuh untuk

belajar bahasa pemrograman.

Saat ini banyak sekali bahasa pemrograman yang bisa kita

pelajari. Antara lain assembly, Fortran, Cobol, Ada, PL/I,

Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasa

pemrograman simulasi seperti CSMP, Simscript, GPSS,

Dinamo dan masih banyak lagi lainnya. Disamping itu

muncul bahasa baru seperti Java dan C#.

Dari tujuan aplikasinya kita golongkan menjadi dua

kelompok:

1. Bahasa pemrograman bertujuan khusus (specific

purpose programming language). Contoh: Cobol,

Fortran, assembly, Prolog, simscript dan lain

sebagainya.

Dede Supriadi – - d2spd_pnd@telkom.net -Page


38
2. Bahsa pemrograman umum (general purpose

programming language). Contoh: Pascal, C/C++,

Basic, dan lain sebagainya.

Dari kedekatan bahasa pemrograman yang lebih ke manusia

atau mesin, dikelompokkan menjadi dua macam:

1. Bahasa tingkat rendah. Bahasa ini lebih dekat pada

mesin, jadi tanpa penerjemah langsung dikerjakan oleh

mesin.

2. Bahasa tingkat tinggi. Bahasa ini lebih dekat pada

manusia, dan mudah dipahami oleh manusia. Contoh:

Pascal, Basic, C/C++, dan lain-lain.

Ada beberapa orang yang menggolongkannya menjadi 3

kelompok. Tidak usah bingung, karena pengelompokkan

tidak selalu jelas. Dan yang penting kita bisa mengerti dan

bisa membuat sebuah program

Program dan Pemrograman

Dede Supriadi – - d2spd_pnd@telkom.net -Page


39
Sebelum melanjutkan ke Contoh Algoritma (2), kita harus

mengenal dahulu program dan pemrograman. Algoritma

efektif bila dijalankan oleh sebuah prosesor. Prosesor bisa

manusia, robot, mesin, komputer, dan lain sebagainya.

Prosesor bisa membaca semua instruksi algoritma lalu

mengerjakannya. Suatu prosesor harus:

1. Mengerti setiap langkah dalam algoritma.

2. Mengerjakan operasi yang sesuai dengan langkah

tersebut.

Karena kali ini kita memegang komputer, kita fokuskan saja

pelajaran kali ini pada komputer. Komputer suatu alat yang

membantu manusia untuk melaksanakan perintah algoritma

yang telah dimasukkan ke dalamnya. Supaya komputer

mengerti apa yang akan dijalankan, maka kita membutuhkan

sebuah bahasa agar komputer mengerti apa yang dimasukkan

oleh manusia. Algoritma yang ditulis dalam bahasa komputer

disebut program. Bahasa komputer yang digunakan untuk

Dede Supriadi – - d2spd_pnd@telkom.net -Page


40
membuat program disebut bahasa pemrograman. Manusia

yang membuat program komputer disebut

programmer/pemrogram. Kegiatan dalam merancang dan

menulis program disebut programming/pemrograman.

Pada saat programming/pemrograman melalui aktivitas

menulis kode program, ini dinamakan coding.

Saya akan menggunakan bahasa Pascal dan bahasa C.

Mengapa bukan bahasa basic atau bahasa lain? Karena baik

bahasa Pascal maupun bahasa C menggunakan metode yang

terstruktur dan lebih mudah dipelajari algoritma-nya daripada

Basic.

Di bawah ini adalah contoh sebuah program menghitung

konversi fahrenheit-Celsius dengan menggunakan bahasa

Pascal dan bahasa C:

1. Dalam bahasa Pascal

view plaincopy to clipboardprint?

Dede Supriadi – - d2spd_pnd@telkom.net -Page


41
1. PROGRAM FahreinheitCelcius;

2. { Program untuk mencetak tabel Fahrenheit-Celsius

3. dari x sampai y. Masukan program ini adalah suhu

4. awal, suhu akhir, step, dan keluarannya adalah

5. tabel konversi suhu dalam C dan F}

6. (* DEKLARASI *)

7. var

8. F, C : real;

9. x, y, step : integer;

10.

11. begin

12. (* ALGORITMA *)

13. read(x);

14. read(y);

15. read(step);

16. F := x;

17. while F <= y do

18. begin

Dede Supriadi – - d2spd_pnd@telkom.net -Page


42
19. C:= 5/9 * (F - 32);

20. writeln(F, ` `, C);

21. F := F + step;

22. end;

23. end.

2. Dalam bahasa C:

view plaincopy to clipboardprint?

1. /* PROGRAM Fahrenheit-Celsius */

2. #include <stdio.h>

3. main()

4. {

5. /* DEKLARASI */

6. float F, C;

7. int x, y, step;</stdio.h>

8.

9. /* ALGORITMA */

10. scanf("%d", &x);

Dede Supriadi – - d2spd_pnd@telkom.net -Page


43
11. scanf("%d", &y);

12. scanf("%d", &step);

13.

14. F = x;

15. while (F <=y )

16. {

17. C = (5/9) * (F - 32);

18. printf("%3.0f %6.1f\n", F, C);

19. F = F + step;

20. }

21.}

Contoh Algoritma

Berikut ini beberapa contoh penyelesaian dengan Algoritma.

Misalkan, saya punya 2 buah ember masing-masing

bervolume 3 liter dan 5 liter. Saya hanya punya dua ember

tersebut. Entah karena lupa atau sengaja lupa, suatu ketika

saya ingin membeli 4 liter minyak tanah. Lha yang saya bawa
Dede Supriadi – - d2spd_pnd@telkom.net -Page
44
itu hanya ember berukuran 3 liter dan 5 liter saja, saya boleh

memindahkan dari ember satu ke ember lain, mengembalikan

minyak tanah ke tempat asalnya dan sebagainya. Bagaimana

Algoritmanya?

Algoritma mendapatkan minyak dengan volume 4 liter.

1. Isi penuh ember 3 liter dengan minyak. {ember 3 liter

berisi minyak 3 liter}

2. Tuangkan minyak dari ember 3 liter ke dalam ember 5

liter. {ember 5 liter berisi minyak 3 liter}.

3. Isi penuh ember 3 liter dengan minyak. {ember 3 liter

berisi minyak 3 liter}

4. Tuang minyak dari ember 3 liter ke ember 5 liter hingga

ember 5 liter penuh. {di dalam ember 3 liter sekarang

berisi minyak sebanyak 1 liter}

5. Kembalikan minyak dari ember 5 liter ke dalam

drumnya. {ember 5 liter kosong}

Dede Supriadi – - d2spd_pnd@telkom.net -Page


45
6. Tuangkan minyak dari ember 3 liter ke ember 5 liter.

{ember 3 liter kosong, ember 5 liter berisi minyak 1

liter}

7. Isi penuh ember 3 liter dengan minyak, lalu tuang ke

dalam ember 5 liter. Maka akan diperoleh minyak

sebanyak 4 liter {1 + 3 = 4 liter minyak }.

Struktur Dasar Algoritma

Untuk memecahkan berbagai masalah, baik dengan bantuan

komputer maupun tanpa bantuan komputer, dibutuhkan

algoritma yang terdiri dari serangkaian AKSI. Rangkaian aksi

ini bisa dilaksanakan dalam 3 struktur dasar, yaitu:

1. Aksi dilaksanakan secara berturut-turut atau beruntun

(sequence)

2. Aksi yang akan dipilih atau dilaksanakan ditentukan

oleh kondisi tertentu (selection)

3. Satu atau serangkaian aksi dilaksanakn secara berulang-

ulang selama kondisi tertentu masih terpenuhi


Dede Supriadi – - d2spd_pnd@telkom.net -Page
46
(iteration/loop). Dengan demikian, struktur perulangan

(iteration/loop) pasti mengandung struktur pemilihan

(selection).

Seringkali, untuk memecahkan sebuah masalah dibutuhkan

ketiga struktur ini secara sekaligus. Misalnya, dalam masalah

menghilangkan rasa haus, terdapat rincian seperti di bawah

ini:

Output: Hilangnya rasa haus.

Input: Sebuah gelas kosong berukuran 200 ml dan botol

berukuran 1000 ml penuh air.

Algoritma (dalam notasi alami):

1. Angkat botol

2. Tuangkan air ke dalam gelas

3. Periksa kondisi air dalam gelas. Jika gelas belum penuh,

lanjutkan ke langkah 4. Jika gelas sudah penuh,

lanjutkan ke langkah 5.

Dede Supriadi – - d2spd_pnd@telkom.net -Page


47
4. Periksa kondisi air dalam botol. Jika botol belum

kosong, kembali ke langkah 2. Jika botol sudah kosong,

lanjutkan ke langkah 5.

5. Letakkan botol air.

6. Periksa air dalam gelas. Jika gelas kosong, lanjutkan ke

langkah 11. Jika gelas berisi air, lanjutkan ke langkah 7

7. Angkat gelas.

8. Minum air.

9. Periksa kondisi rasa haus. Jika rasa haus belum hilang,

lanjutkan ke langkah 10. Jika rasa haus sudah hilang,

lanjutkan ke langkah 11.

10.Periksa kondisi air dalam gelas. Jika gelas belum

kosong, kembali ke langkah 8. Jika gelas sudah kosong,

kembali ke langkah 1.

11.Letakkan gelas.

Algoritma (dalam notasi flowchart):

Dede Supriadi – - d2spd_pnd@telkom.net -Page


48
Flowchart

Flowchart adalah gambaran dalam bentuk diagram alir dari

algoritma-algoritma dalam suatu program, yang menyatakan

arah alur program tersebut. Flowchart berupa simbol-simbol

yang saling terhubung dan membentuk urutan penyelesaian

Dede Supriadi – - d2spd_pnd@telkom.net -Page


49
suatu permasalahan. Dengan flowchart biasanya

pemrograman akan mudah dimengerti dan dilanjutkan untuk

Berikut ini gambar flowchart yang umum digunakan :

• Terminator, fungsinya untuk permulaan /

akhir program.

• Garis alir (Flow line), fungsinya untuk arah

aliran program.

• Preparation, fungsinya untuk proses

inisialisasi/pemberian harga awal atau untuk

perulangan/looping

Dede Supriadi – - d2spd_pnd@telkom.net -Page


50
• Proses, fungsinya untuk proses

perhitungan/proses pengolahan data.

• Input data, fungsi untuk proses input

data, parameter.

• Output data, output data, informasi

• 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

Saya memulai tutorial programming ini dengan pengertian

algoritma yang saya terima

Dede Supriadi – - d2spd_pnd@telkom.net -Page


51
Algoritma mempunyai banyak arti :

• Algorism : kamus webster1957

• Algorist : orang yang menghitung angka arab

• Algorism : berasal dari orang Arab bernama Abu Ja’far

Muhammad Ibn Musa Al Khuwarismi Al JabarWal

Muqabata

• Algoritma : urutan langkah logis penyelesaian masalah

yang disusun secara sistematis

Penulisan Algoritma bisa menggunakan:

Tulisan :

• English structure

• Pseudocode

Kelebihan :

Mudah dikomunikasikan
Dede Supriadi – - d2spd_pnd@telkom.net -Page
52
Kekurangan :

- Sangat dipengaruhi tata bahasa

- kadang sulit dipahami

• Gambar:

* Hippo

* Flowchart

# Kelebihan :

1. menggambar sintaks

2. mudah digunakan (ada standar yang ditetapkan)

3. menggambar secara sederhana, teratur, rapi,

efektif dan jelas

Dede Supriadi – - d2spd_pnd@telkom.net -Page


53

You might also like