logika algoritma

22
Logika Algoritma merupakan struktur atau rangka dari program itu sendiri, Logika Algoritma adalah sekumpulan langkah-langkah yang sistematis dan terbatas yang dibuat untuk menyelesaikan suatu masalah. Logika Algoritma dalam pengertian modern mempunyai kemiripan dengan istilah resep, proses, metode, prosedur. Dalam kehidupan sehari-hari tanpa kita sadari kita juga menjalankan algoritma. Seperti mengikuti aturan resep suatu masakan atau menghitung matematika dengan menggunakan rumus, dsb. Sebagai contoh Logika Algoritma dalam kehidupan sehari-hari : 1. Sebuah prosedur ketika akan mengirimkan surat kepada teman: 1. Tulis surat pada secarik kertas surat 2. Ambil sampul surat atau amplop 3. Masukkan surat kedalam amplop 4. Tutup amplop surat dengan lem perekat 5. Tulis alamat surat yang dituju, jika tidak ingat, lebih dahulu ambil buku alamat & cari alamat yang dituju, lalu tulis alamat tersebut pada amplop surat 6. Tempelkan perangko pada amplop surat 7. Bawa surat kekantor Pos untuk diserahkan pada pegawai Pos atau menuju ke bis surat untuk memasukkan surat ke dalam kotak/bis surat 2. Mengitung luas segitiga: 1. Masukkan nilai Alas 2. Masukkan nilai Tinggi> 3. Hitung Luas (Alas * Tinggi)/2 4. Dapat Hasil Gimana sekarang sudah mengertikan apa itu Algoritma..?? Saya sendiri juga masih belajar qo.. hehe.. :)

Upload: rudi-ansyah

Post on 06-Aug-2015

122 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: logika algoritma

Logika Algoritma merupakan struktur atau rangka dari program itu sendiri, Logika Algoritma adalah sekumpulan langkah-langkah yang sistematis dan terbatas yang dibuat untuk menyelesaikan suatu masalah. Logika Algoritma dalam pengertian modern mempunyai kemiripan dengan istilah resep, proses, metode, prosedur. Dalam kehidupan sehari-hari tanpa kita sadari kita juga menjalankan algoritma. Seperti mengikuti aturan resep suatu masakan atau menghitung matematika dengan menggunakan rumus, dsb.

Sebagai contoh Logika Algoritma dalam kehidupan sehari-hari :1. Sebuah prosedur ketika akan mengirimkan surat kepada teman:

1. Tulis surat pada secarik kertas surat2. Ambil sampul surat atau amplop

3. Masukkan surat kedalam amplop

4. Tutup amplop surat dengan lem perekat

5. Tulis alamat surat yang dituju, jika tidak ingat, lebih dahulu ambil buku alamat & cari alamat yang dituju, lalu tulis alamat tersebut pada amplop surat

6. Tempelkan perangko pada amplop surat

7. Bawa surat kekantor Pos untuk diserahkan pada pegawai Pos atau menuju ke bis surat untuk memasukkan surat ke dalam kotak/bis surat

  2. Mengitung luas segitiga:

1. Masukkan nilai Alas2. Masukkan nilai Tinggi>

3. Hitung Luas (Alas * Tinggi)/2

4. Dapat Hasil

Gimana sekarang sudah mengertikan apa itu Algoritma..??Saya sendiri juga masih belajar qo.. hehe.. :)

Logika Algoritma mempunyai tiga format penulisan yaitu :  

1. Deskriptif Logika Algoritma bertipe Deskriptif maksudnya adalah logika algoritma yang ditulis dengan bahasa manusia sehari-hari (misalnya Bahasa Indonesia atau Bahasa Inggris). Setiap Langkahnya ditulis dalam satu kalimat atau lebih. Tidak ada aturan untuk penulisan algoritma bertipe Deskriptif ini. Semua kalimat ditulis dengan sistematis, jelas, terbatas dan berurutan.

Contoh :Logika Algoritma menghitung_luas_segitiga

Page 2: logika algoritma

1. Untuk menghitung Luas Segitiga pertama Masukan nilai alas2. Kemudian masukan nilai tinggi

3. Kemudian hitung dengan menggunakan rumus Luas = Alas * Tinggi / 2

4. Cetak Luas

2. Flow Chart Logika Algoritma bertipe Flow Chart maksudnya adalah logika algoritma yang ditulis dalam bentuk diagram-diagram dengan anak panah sebagai penunjuk urutan langkah algoritmanya. Didalam Diagram terdapat Simbol-simbol yang mempunyai makna atau arti tersendiri. Anda bisa mencari Arti2 dari simbol2 tersebut di google.

Contoh : Flow chart menghitung_luas_segitiga

3. Pseudocode Logika Algoritma bertipe Pseudocode maksudnya adalah tiruan atau imitasi dari kode bahasa pemograman. Pada dasarnya, pseudocode merupakan suatu bahasa yang memungkinkan programer untuk berfikir terhadap permasalahan yang harus dipecahkan tanpa harus memikirkan syntax dari bahasa pemograman yang tertentu. Jadi pseudocode digunakan untuk menganmbarkan logika urut-urutan dari perogram tanpa memandang bagaimana bahasa pemorogramannya.

Contoh:Algoritma menghitung_luas_segitigadeklarasi:luas,alas,tinggi : integer

Page 3: logika algoritma

deskripsiread (alas)read (tinggi)luas ← alas * tinggi / 2write (luas)

Jadi dengan mengetahui Logika Algoritma akan memudahkan kita untuk menulis kode program agar kode program tersusun secara sistematis, efektif, tidak ketukar-tukar, dan yang pastinya tidak membingungkan kita walaupun kode programnya panjang. Dan dengan mempelajari Logika Algoritma akan memudahkan kita dalam mempelajari Bahasa Pemrograman apapun.

ARTIKEL LOGIKA DAN ALGORITMA pengertian dasar logika dan algoritma     Telah kita ketahui bersama bahwa kompuiter alat bantu yang dapat memecahkan berbagai masalah yang temui oleh seorang user,masalah yang sangat kompleks.dalam usaha untuk memecahkan suatu masalah berikut, seorang user dituntut dapat mengubah atau menyakinkan masalah yang ada dalam suatu model yang tetap bagi komputer sehingga dapat digunakan untuk memecahkan permasalahn tersebut dengnan mudah. model atau konsep tersebut biasanya dibuat dalam suatu konsep atau model matematika.    untuk mendapatkan suatu model matematika yang tepat sangatlah tidak mudah. oleh sebab itu diperlukan studi lebih lanjut baik dalam bidang matematika atau dalam bidang ilmu komputer itu sendiri atau yang lainnya,pada buku ini,penulis memberikan pokok bahasan mula idari yang sederhana tentang bagaimana suatu masalah dipecahkan dengan dibawa ke suatu model hingga cara kita memberiakn atau menelaah instruksi yanga ka dan telah diberikan pada komputer dalam memecahkan atau menyelesaikan masalah atau lebih dikenal dengan computer oriented.

langkah-langkah instruksi tersebut secara umum kita kenal dengan ALGORITMA. 1. kriteria pemilihan algoritmakriteria atau sifat-sifat algoritma yang terbaik:

ada output. mengacu pada definisi algoritma,suatu algotma haruslah mempunyai output yang harus mempunyai solusi masalah yang sedang selesaikan.

efektifitas dan efisiensi, dikatakan efektif jika algoritma tersebut menghasilkan suatu solusi yangsesuai dengan masalah yang diselesaikan dalam arti algoritma harus tetap huna.

jumlah langkahnya berhingga,maksudnya adalah barisan instruksi yang dibuat harus dalam suatu urutan tertentu yang harus berhingga agar masalah yang dihadapi dapat diselesaikan dengan tidak memerlukan waktu relatif lama.

Page 4: logika algoritma

berakhir, proses di dalam mencari penyelesaian suatu masalah harus berenti dan berakhir dengan hasil ahir yang merupakn solusinya  atau berupa informasi yang tidak diketemukan solusinya,

eterstruktur, yaitu urutan barisan langkah-langkah  yang digunakan harus disususn sedemikian rupa agar prose penyelesaian tidak berbelit-belit sedemikian sehingga bagian-bagian proses dapat dibedakan dengan jelas mana bagian input,proses, dan output sehingga memudahkan user melakukan pemeriksaan ulang.

best case adalah harus menghasilkan output yang tetap guna(efektif) dalam waktu yang relatif singkat dan penggunaan memori yang relatif sedikit efesien dengan langkah yang berhingga dan prosedurnya berahir baik dalam keadaan diperoleh suatu solusi ataupun tidak ada solusinya.

1.3 studi lanjut tenang algoritma:a.    bagaiman merencanakan suatu algoritma: menetukan beberapa model atau desain sebagai penyelesaian     dari suatu masalah untuk mendapat sebuah solusi yang mungkin. dengan demikian, akan banyak terdapat variasi desain atau model yang terdapat diambil yang baik.b.   bagaimana menyatakan suatu algoritma: menentukan model suatu algoritma yang digunakan sehingga dapat membuat barisan langkah secara beurutan guaa mendapatkan solusi penyelesaian maslah.menentukan model tersebut agr dapat digunakan, dengan cara:

Dengan bahasa semu(pseudocode), yaitu dengan menggunakn bahasa sehari-sehari tetapi harus jelas dan berstruktur, seperti telah penulis sebutkan pada contoh-contoh sebelumnya.

Dengan diagram alur (flowchart),yaitu dengan membuat suatu penulisan yang menyajikan algoritrma berupa diagram yang menggambarkan susunan alur logika dari permasalahn.

c.    bagaiman vadilitas suatu algoritma       yakni jika penyelesaiannya memenuhi solusi yang sebenarnya, artintya solusi yg didapatv merupakan        penyelesaian suatu maslah dan bukannya membuat masalah baru.

d. bagaimana menganalisa suatu algotima      caranya meliahat running time atau waktu tempuh yang gunakn dalam menyelesaikan masalah serta jumlah memori yang digunakan dalam penyelesaian masalah tersebut.

e.bagaimana menguji program dari suatu algoritma.     yaitu dengan cara menyajkan nya dalam salah satu bahasa pemograman, misalnya BASIC,PASCA,FORTRAN,dBASE, atau yang lainnya.ada beberapa tahap yaitu:

1. Fase Debugging, yaitu fasedari suatu program elsekuso yang akan melakukan koreksi terhadap keslahan program.

2. Fase Profilling, yaitu fase yang akan bekerja jika program tersebut sudah benar atau telah melalui proses pada fase debugging.

A. waktu tempuh atau running time dari suatu algoritma

Page 5: logika algoritma

1. banyaknya langkah2. besar dan jenis input data

3. jenis operasi

4. komputer dan komplitor,

5. jumlah memori yang digunakan.

1.4 Keadaan dari kompleksitas waktu     dibedakan menjadi 3 kondisi yaitu:

1. worst case, merupakan waktu tempuh  yang bernilai maksimum dari suatu fungsi F(N) untuk setiap input yang mungkin. keadaan ini dapat disebut juga denagn suatu keadaan analog terburuk.

2. average case, merupakan suatu keadaan dari suatu waktu tempuh yang equivalen dengan nilai ekspektasi dari fungsi F(N) untuk setiap input data yang mungkin

3. best case, merupakn waktu tempuh yang bernilai minimum dari suatu fungsi F(N) uuntuk setiap input yg mungkin.ia sebut juga suatu keadaan yg terbaik dari suatu prpses di dalam algoritma.

1.5 sifat-sifat algoritma 

1. banyaknya langkah instruksi harus berhingga2. langkah atau instruksi harus jelas

3. proses harus jelas dan mempunyai batasan,

4. input dan output harus mempunyai batasan,

5. efektifitas,

6. adanya batasan ruang lingkup.

Pernahkah kalian mendengar kata logika dan algoritma? Mungkin kita sudah tahu dengan yang namanya logika. Kata logika berasal dari bahasa Yunani kuno λόγος (logos) yang berarti hasil pertimbangan akal pikiran yang diutarakan lewat kata dan dinyatakan dalam bahasa. Logika adalah salah satu cabang filsafat.

Logika dimulai sejak Thales (624 SM – 548 SM), filsuf Yunani pertama yang meninggalkan segala dongeng, takhayul, dan cerita-cerita isapan jempol dan berpaling kepada akal budi untuk memecahkan rahasia alam semesta.

Thales mengatakan bahwa air adalah arkhe (Yunani) yang berarti prinsip atau asas utama alam semesta. Aristoteles kemudian mengenalkan logika sebagai ilmu, yang kemudian disebut logica scientica. Aristoteles mengatakan bahwa Thales menarik kesimpulan bahwa air adalah arkhe alam semesta dengan alasan bahwa air adalah jiwa segala sesuatu.

Page 6: logika algoritma

Dalam Kamus Besar Bahasa Indonesia logika definisi penalaran, yaitu cara berpikir dengan mengembangkan sesuatu berdasarkan akal budi dan bukan dengan perasaan atau pengalaman. Pelajaran logika difokuskan pada hubungan antara pernyataan(statement)

Sebagai ilmu, logika disebut dengan logike episteme (Latin: logica scientia) atau ilmu logika (ilmu pengetahuan) yang mempelajari kecakapan untuk berpikir secara lurus, tepat, dan teratur. Ilmu disini mengacu pada kemampuan rasional untuk mengetahui dan kecakapan mengacu pada kesanggupan akal budi untuk mewujudkan pengetahuan ke dalam tindakan. Kata logis yang dipergunakan tersebut bisa juga diartikan dengan masuk akal.

Contoh Logika :

Semua pengendara sepeda motor memakai helm.

Setiap orang yang memakai helm adalah mahasiswa.

Jadi, semua pengendara sepeda motor adalah mahasiswa.

Meskipun logika tidak membantu menentukan apakah pernyataan-pernyataan tersebut benar atau salah, tetapi jika kedua pernyataan tersebut benar, maka penalaran dengan menggunakan logika membawa kita pada kesimpulan semua pengendara sepeda motor adalah mahasiswa.

Jadi, logika berfungsi mengatur bagaimana cara kita menyelesaikan masalah secara tepat dan efisien serta menarik kesimpulan dari suatu pernyataan, kejadian, fenomena dan kebenaran

Lalu bagaimana dengan Algoritma? Kata algoritma berasal dari latinisasi nama seorang ahli matematika dari Uzbekistan yang bernama Abu Ja’far Muhammad Ibnu Musa Al-Khawarizmi seorang ahli matematika, astrologi, astronomi dan geografi (hidup sekitar abad ke-9), sebagaimana tercantum pada terjemahan karyanya dalam bahasa latin dari abad ke-12 “Algorithmi de numero Indorum”.

Pada awalnya kata algorisma adalah istilah yang merujuk kepada aturan-aturan aritmetis untuk menyelesaikan persoalan dengan menggunakan bilangan numerik arab (sebenarnya dari India, seperti tertulis pada judul di atas). Pada abad ke-18, istilah ini berkembang menjadi algoritma, yang mencakup semua prosedur atau urutan langkah yang jelas dan diperlukan untuk menyelesaikan suatu permasalahan.

Dalam bidang komputer, misalnya EDP (Elektronik Data Processing) atau MIS (Management Information System), algoritma sering dimanfaatkan untuk menyelesaikan suatu masalah atau untuk proses pengambilan keputusan. Seorang sistem analisis (analist system) tentunya menggunakan algoritma untuk merancang suatu sistem Bagi seorang programer, algoritma digunakan untuk membuat modul-modul program.

Jadi definisi Algoritma adalah :

1.  Suatu prosedur dengan langkah-langkah yang dilakukan agar solusi masalah dapat diperoleh.

Page 7: logika algoritma

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

3. Suatu metode khusus yang digunakan untuk menyelesaikan suatu masalah yang nyata.

Jenis-jenis Algoritma

Terdapat beragam klasifikasi algoritma dan setiap klasifikasi mempunyai alasan tersendiri. Salah satu cara untuk melakukan klasifikasi jenis-jenis algoritma adalah dengan memperhatikan paradigma dan metode yang digunakan untuk mendesain algoritma tersebut. Beberapa paradigma yang digunakan dalam menyusun suatu algoritma akan dipaparkan dibagian ini. Masing-masing paradigma dapat digunakan dalam banyak algoritma yang berbeda.

Divide and Conquer, paradigma untuk membagi suatu permasalahan besar menjadi permasalahan-permasalahan yang lebih kecil. Pembagian masalah ini dilakukan terus menerus sampai ditemukan bagian masalah kecil yang mudah untuk dipecahkan. Singkatnya menyelesaikan keseluruhan masalah dengan membagi masalah besar dan kemudian memecahkan permasalahan-permasalahan kecil yang terbentuk.

Dynamic programming, paradigma pemrograman dinamik akan sesuai jika digunakan pada suatu masalah yang mengandung sub-struktur yang optimal , dan mengandung beberapa bagian permasalahan yang tumpang tindih . Paradigma ini sekilas terlihat mirip dengan paradigma Divide and Conquer, sama-sama mencoba untuk membagi permasalahan menjadi sub permasalahan yang lebih kecil, tapi secara intrinsik ada perbedaan dari karakter permasalahan yang dihadapi.

Metode serakah. Sebuah algoritma serakah mirip dengan sebuah Pemrograman dinamik, bedanya jawaban dari submasalah tidak perlu diketahui dalam setiap tahap; dan menggunakan pilihan “serakah” apa yang dilihat terbaik pada saat itu.

Dalam merancang sebuah algoritma ada 3 (tiga) komponen yang harus ada yaitu:

1. Komponen masukan (input)

Komponen ini biasanya terdiri dari pemilihan variable, jenis variable, tipe variable, konstanta dan parameter dalam fungsi.

2. Komponen keluaran (output)

Komponen ini merupakan tujuan dari perancangan algoritma dan program. Permasalahan yang diselesaikan dalam algoritma dan program harus ditampilkan dalam komponen keluaran. Karakteristik keluaran yang baik adalah benar (menjawab)permasalahan dan tampilan yang ramah (Frendly)

3. Komponen proses (processing)

Komponen ini merupakan bagian utama dan terpenting dalam merancang sebuah algoritma. Dalam bagian ini terdapat logika masalah, logika algoritma (sintaksis dan Semantik), rumusan, metode rekursi, perbandingan, penggabungan, pengurangan dan lain-lain.

Page 8: logika algoritma

Kriteria Pemilihan Algoritma

Jumlah Memori Yang digunakan:

Banyaknya langkah yang digunakan dan jenis variabel data yang dipakai dalam suatu algoritma akan sangat mempengaruhi penggunaan memori. Dalm hal ini, diharapkan dapat memperkirakan seberapa banyak kebutuhan memori yang diperlukan selama proses berlangsung hingga proses selesai dikerjakan. Dengan demikian, dapat disiapkan storage yang memadai agar proses suatu algoritma berjalan tanpa ada hambatan atau kekurangan memori.

Banyaknya langkah instruksi harus berhingga:

Pelaksanaan sebuah algoritma yang terprogram haruslah dapat diakhiri atau diselesaikan melalui sejumlah langkah operasional yang berhingga. Jika tidak demikian, kita tidak akan dapat mengharapkan bahwa pelaksaan algoritma tersebut dapat menghasilkan suatu solusi yang baik.

Langkah atau instruksi harus jelas:

Artinya bahwa penulisan setiap langkah yang terdapat didalam sebuah algoritma harus memiliki arti yang khusus atau spesifik sehingga dapat dibedakan antara penulisan langkah untuk komputer(program/pemrograman) dengan penulisan langkah bagi manusia(pesudocode). Manusia akan lebih mudah memahami algoritma yang terdiri atas simbol-simbol (Contoh: pembuatan algoritma dengan diagram alur/flowchart) sedangkan komputer hanya membutuhkan sebuah penulisan algoritma dengan kode-kode yang dituangkan dalam bahasa yang dimengerti oleh komputer itu sendiri(bahasa pemrograman).

Proses harus jelas dan mempunyai batasan:

Rangkaian suatu proses yang berisi langkah-langkah instruksi dari suatu algoritma yang akan dilaksanakn harus ditetapkan dengan  jelas, baik dan pasti sebab sebuah algoritma harus memiliki instruksi dasar tertentu dimana setiap instruksi harus memiliki unsur pelaksana yang berfungsi sebagai pemroses data yang akan dimasukkan dalam sebuah komputer. Dengan demikian, sebuah algoritma harus ditulis dengan jelas tentang batasan-batasan proses yang akan dilaksanakan oleh komputer.

Input dan Output harus mempunyai batasan:

Input merupakan data yang dimasukkan ke dalam algoritma yang untuk kemudian akan dilaksanakan oleh komputer. Dengan begitu, input yang diberikan harus sesuai dengan jenis dari bahasa pemrograman yang digunakan, sedangkan ouput merupakan hasil yang diperoleh dari pekerjaan yang dilaksanakan komputer untuk kepentingan user yang merupakan pihak diluar komputer. Algoritma harus menghasilkan output karena merupaka solusi yang diharapkan dari suatu masalah yang timbul.

Efektifitas:

Page 9: logika algoritma

Instruksi yang diberikan pada komputer agar hanya menjalankan atau melaksanakan proses yang mampu dilaksanakannya. Yang dimaksud mampu adalah bahwa suatu algoritma atau instruksi-instruksi dalam sebuah program hanya akan dapat dilaksanakan jika informasi yang diberikan oleh instruksi-instruksi tersebut lengkap, benar dan jelas.

Adanya batasan ruang lingkup,

Sebuah algoritma yang baik adalah hanya ditujukan bagi suatu masalah tertentu saja. Susunan input harus ditentukan lebih dulu sebab susunan tersebut menentukan sifat umum dari algoritma yang bersangkutan.

Kesimpulannya:

Suatu Algoritma yang terbaik(The Best) : “Suatu algoritma harus menghasilkan output yan tepat guna(efektif) dalam waktu yang relatif singkat & penggunaan memori yang relatif sedikit(efisien) dengan langkah yang berhingga & prosedurnya berakhir baik dalam keadaan diperoleh suatu solusi ataupun tidak ada solusinya”

Contoh:

A. Algoritma untuk mengirimkan surat

1. Tulis surat pada secarik kertas surat

2. Ambil sampul surat atau amplop

3. Masukkan surat ke dalam amplop

4. Tutup amplop surat dengan lem perekat

5. Tulis alamat surat yang dituju, jika tidak diingat, lebih dahulu ambil buku alamat & cari alamat yang dituju, lalu tulis alamat

tersebut pada amplop surat

6. Tempelkan perangko pada amplop surat

7. Bawa surat ke kantor pos untuk diserahkan pada pegawai pos atau menuju ke bis surat untuk memasukkan surat ke dalam

kotak/bis surat.

B. Algoritma untuk menentukan bilangan akar kuadrat dari suatu bilangan bulat positif yang diinput.

1. Baca bilangan bulat positif yang diinput, sebut saja sebagai A.

Page 10: logika algoritma

2. Dinyatakan Nilai B adalah 0

3. Jika Nilai C sama dengan Nilai A, maka Nilai B adalah Akar dari Nilai A, lalu stop

4. Jika tidak, maka nilai B akan bertambah 1

5. Kembali ke langkah pada No.3

Tahapan Analisa Algoritma

1. Bagaimana merencakan suatu algoritma:

Menentukan beberapa model atau desain sebagai penyelesaian dari suatu masalah untuk mendapat sebuah solusi yang mungkin. Dengan demikian, akan banyak terdapat variasi desain atau model yang dapat diambil yang terbaik.

2. 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, seperti telah penulis sebutkan pada contoh-contoh sebelumnya(Contoh prosedur berikirm surat)

Contoh:

1. Untuk mengitung Luas Segitiga:

2. Masukan Nilai Alas

3. Masukan Nilai Tinggi

4. Hitung Luas = (Alas * Tinggi)/2

5. Cetak Luas

- Dengan diagram alur atau flowchart:

yaitu dengan membuat suatu penulisan atau penyajian   algoritma berupa diagram yang menggambarkan susunan alur logika dari suatu permasalahan

Contoh:

Page 11: logika algoritma

Dengan Statement Program/Penggalan Program

Contoh:

1. Read Alas

2. Read Tinggi

3. Luas=(Alas*Tinggi)/2

4. Write(luas)

3. Bagaimana validitas suatu algoritma

Yakni jika penyelesaian memenuhi solusi yang sebenarnya, artinya solusi yang didapat merupakan penyelesaian suatu masalah dan bukannya membuat masalah baru.

4. 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.

5. Bagaimana menguji program dari suatu algoritma

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:

Page 12: logika algoritma

1. 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.

2. 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

Analisis dilakukan untuk melihat faktor efisiensi & efektifitas dari algoritma tersebut), dapat dilakukan terhadap suatu algoritma dengan melihat pada:

Waktu tempu(Running Time) dari suatu algoritma: adalah satuan waktu yang ditempuh atau diperlukan oleh suatu algoritma dalam menyelesaikan suatu masalah.

Hal-hal yang dapat mempengaruhi daripada waktu tempuh adalah:

1. Banyaknya langkah:

Makin banyak langkah atau instruksi yang digunakan dalam menyelesaikan masalah, maka makin lama        waktu tempuh yang dibutuhkan dalam proses tersebut

2. Besar dan jenis input data:

Besar dan jenis input data pada suatu algoritma akan sangat berpengaruh pada proses perhitugan yang terjadi. Jika jenis data adalah tingkat ketelitian tunggal(Single precision), maka waktu tempuh akan menjadi relatif lebih cepat dibandingkan dengan tingkat ketelitian ganda(double precesion)

3. Jenis operasi:

Waktu tempuh juga dipengaruhi oleh jenis operasi yang digunakan. Jenis operasi tersebut meliputi operasi matematika, nalar atau logika, atau yang lainnya. Sebagai contoh, operasi perkalian atau pembagian akan memakan waktu lebih lama dibandingkan operasi penjumlahan atau pengurangan.

4. Komputer dan kompilator:

Hal terakhir yang mempengaruhi waktu tempuh suatu proses algoritma adalah komputer dan kompilatornya, walaupun sebenarnya faktor ini diluar tahap rancangan atau tahap pembuatan algoritma yang efisien. Algoritma dibuat untuk mencapai waktu tempuh yang seefektif dan seefisien mungkin, tetapi kesemuanya itu akan sangat bergantung pada kemampuan komputer yang tentunya harus sesuai dengan jumlah program atau langkah yang diperlukan oleh algoritma,

Page 13: logika algoritma

begitu juga dengan kompilator tersebut, misalnya PC XT 8086 akan kalah cepat dibandingkan 8088 atau dengan AT 80286 atau 80386 atau 80486 dan seterusnya

Lalu apa perbedaan Logika dan Algoritma? pada intinya logika adalah ilmu yang menggunakan penalaran dalam pemecahan masalah sedangkan algoritma adalah langkah atau prosedur yang digunakan untuk memecahkan masalah tersebut.  Jadi, Logika dan Algoritma merupakan satu kesatuan ilmu yang dapat digunakan dalam memecahkan masalah secara tepat, cepat, efektif dan efisien.

Page 14: logika algoritma

LOGIKADi perkenalkan pertama kali oleh aristoteles (384-322 SM)Logika berasal dari kata Yunani Kuno.Pengertiannya yaitu hasil pertimbangan akal pikiran yang diutarakan lewat kata dan dinyatakan dalam bahasa.

ALGORITMADiperkenalkan Oleh Ahli Matematika : Abu Ja’far Muhammad Ibnu Musa Al Khawarizmi.Seorang ilmuan Persia yang menulis kitab al jabr w’al muqabala (rules of restoration and reduction) sekitar tahun 825 M.Algoritma adalah kumpulan instruksi yang dibuat secara jelas untuk menunjukan langkah-langkah penyelesaian suatu masalah. Pada umumnya algoritma kurang lebih sama dengan suatu prosedur yang sering dilakukan setiap hari, misalnya prosedur untuk mengganti ban bocor/pecah, prosedur pemakaian telepon umum, prosedur membuat kue dan lain-lain.

DEVINISI LOGIKA1. Penalaran atau bentuk pemikiran.2. Ilmu yang memberikan perinsip-prinsip yang harus di ikuti agar dapat berfikir valid menurut aturan yang berlaku.

DEVINISI ALGORITMA1. Langkah-langkah yang di lakukan agar solusi masalah dapat di peroleh.2. Suatu prosedur yang merupakan urutan langkah-langkahyang berintegrasi.3. Suatu metode khusus yang di gunakan untuk menyelesaikan suatu masalah yang nyata.(Webster Dictionary)

KRITERIA PEMILIHAN ALGORITMA

1. Ada Output,2. Efektifitas dan Efesiensi,3. Jumlah Langkahnya Berhingga,4. Berakhir, ( SEMI ALGORITMA )5. Terstruktur.

Suatu Algoritma yg terbaik (The Best) : “ Suatu algoritma harus menghasilkan output yg tepat guna (efektif) dlm waktu yg relatif singkat & penggunaan memori yg relative sedikit (efesien) dgn langkah yg berhingga & prosedurnya berakhir baik dlm keadaan dip’oleh suatu solusi ataupun tdk ada solusinya. “

Contoh :

Sebuah prosedur ketika akan mengirimkan surat kepadateman:

1. Tulis surat pada secarik kertas surat2. Ambil sampul surat atau amplop

Page 15: logika algoritma

3. Masukkan surat ke dalam amplop4. Tutup amplop surat dengan lem perekat5. Tulis alamat surat yg dituju, jika tdk ingat, lebih dahulu ambil buku alamat & cari alamat yg dituju, lalu tulis alamat tsb pd amplop surat.6. Tempelkan perangko pada amplop surat7. Bawa surat ke kantor pos utk diserahkan pd pegawaipos atau menuju ke bis surat untuk memasukkan suratke dalam kotak/bis surat.

Sebuah prosedur untuk masalah menentukan akar kuadrat dari suatu bilangan Bulat Positif yg di Input :Baca bilangan Bulat Positif yang di input, sebut saja sebagai A

1. Dinyatakan Nilai B adalah 02. Hitung Nilai C yg berisikan Nilai B dikalikanNilai B3. Jika Nilai C sama dengan Nilai A, maka NilaiB adalah Akar dari Nilai A, lalu stop.4. Jika tidak, maka Nilai B akan bertambah 15. Kembali ke langkah pada No.3

TAHAPAN ANALISA ALGORITMA

1. Bagaimana merencanakan suatu algoritma.2. Bagaimana menyatakan suatu algoritma

A. Dengan bahasa semu (pseudocode).

Contoh :

1. Untuk menghitung Luas Segi tiga :2. Masukan Nilai Alas3. Masukan Nilai Tinggi4. Hitung Luas =( Alas * Tinggi ) / 25. Cetak Luas

B. Dengan diagram alur atau flowchart,Contoh;

Page 16: logika algoritma

C. Dengan statement program / penggalan program

contoh (menggunakan C++);cin >> alas;cin >> tinggi; luas = (alas * tinggi) / 2;cout << luas; 3. Bagaimana validitas suatu algoritma. 4. Bagaimana Menganalisa suatu Algoritma. 5. Bagaimana Menguji Program dari suatu Algoritma. TAHAP PROSES UJI ALGORITMA :

a. Fase Debuggingyaitu fase dari proses program eksekusi yang akanmelakukan koreksi terhadap kesalahan.

b. Fase Profillingyaitu fase yang akan bekerja jika program tersebutsudah benar (telah melewati fase debugging).

ANALISAIS SUATU ALGORITMA

(Untuk melihat faktor efesiensi & efektifitas dari algoritmatersebut), Dapat dilakukan terhadap suatu algoritma denganmelihat pada :

a. Waktu Tempuh (Running Time) dr suatu Algortima.

Hal-hal yg dpt mempengaruhi drpd waktu tempuh adalah :

Page 17: logika algoritma

1. Banyaknya langkah.2. Besar dan jenis input data.3. Jenis Operasi.4. Komputer dan kompilator

b. 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,