Logika Dan Algoritma

  • December 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Logika Dan Algoritma as PDF for free.

More details

  • Words: 3,904
  • Pages: 53
Nama NPM Kelas Kelompok Program

: DEDE SUPRIADI : 43200700606080234 : Extention :B : 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 –

- [email protected] - 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 –

- [email protected] - 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 –

- [email protected] - 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 - [email protected] - 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 –

- [email protected] - 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 –

- [email protected] - 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 –

- [email protected] - Page 7

Dede Supriadi –

- [email protected] - Page 8

Dede Supriadi –

- [email protected] - Page 9

Dede Supriadi –

- [email protected] -Page 10

Dede Supriadi –

- [email protected] -Page 11

Dede Supriadi –

- [email protected] -Page 12

Dede Supriadi –

- [email protected] -Page 13

Dede Supriadi –

- [email protected] -Page 14

Dede Supriadi –

- [email protected] -Page 15

Dede Supriadi –

- [email protected] -Page 16

Dede Supriadi –

- [email protected] -Page 17

Dede Supriadi –

- [email protected] -Page 18

Dede Supriadi –

- [email protected] -Page 19

Dede Supriadi –

- [email protected] -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 –

- [email protected] -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.

2.

if kondisi then aksi

Dede Supriadi –

- [email protected] -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.

2. 3. 4.

if bil <= 100 then tulis bilangan lebih dari seratus else tulis kurang dari 100

Jika pilihan aksi lebih dari 2 view plaincopy to clipboardprint? 1.

if A < B then

Dede Supriadi –

- [email protected] -Page 23

if A < C then

2.

3.

tulis bilangan terbesar = A else

4.

5. 6.

tulis bilangan terbesar = C else if B < C then

7.

8.

tulis bilangan terbesar = B else

9.

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 –

- [email protected] -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 –

- [email protected] -Page 25

3.

Tulis "Saya akan mengerjakan PR"

maka akan algoritmanya demikian: view plaincopy to clipboardprint? 1.

2.

repeat N times aksi

artinya aksi diulang sebanyak N kali. for view plaincopy to clipboardprint? 1.

2.

for pencacah pengulangan dari 1 sampai N do 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 –

- [email protected] -Page 26

1. ALGORITMA: 2.

for i dari 1 sampai 100 do writeln "Saya tidak akan mengulanginya lagi

3.

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 –

- [email protected] -Page 27

1.

ALGORITMA tulis kalimat 100 kali: repeat

2.

writeln "Saya berjanji tidak akan mengulangi lagi"

3.

until sudah 100 kali.

4.

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 –

- [email protected] -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 –

- [email protected] -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 –

- [email protected] -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 –

- [email protected] -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 –

- [email protected] -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 –

- [email protected] -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. Pseudocode tiap orang berbeda-beda karena tiap orang menyukai gaya tertentu untuk menuliskan pseudo

Dede Supriadi –

- [email protected] -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 –

- [email protected] -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 –

- [email protected] -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 –

- [email protected] -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 –

- [email protected] -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 –

- [email protected] -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 –

- [email protected] -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 –

- [email protected] -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 –

- [email protected] -Page 42

19.

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

20.

writeln(F, ` `, C);

21.

F := F + step; end;

22. 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;

8. 9. 10.

/* ALGORITMA */ scanf("%d", &x);

Dede Supriadi –

- [email protected] -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 –

- [email protected] -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 –

- [email protected] -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 berulangulang selama kondisi tertentu masih terpenuhi

Dede Supriadi –

- [email protected] -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 –

- [email protected] -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 –

- [email protected] -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 –

- [email protected] -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 –

- [email protected] -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 –

- [email protected] -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 –

- [email protected] -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 –

- [email protected] -Page 53

Related Documents

Logika Dan Algoritma
May 2020 29
Logika Dan Algoritma
December 2019 15
Logika
May 2020 28
Logika
December 2019 37
Logika
December 2019 42