• Tidak ada hasil yang ditemukan

I. PENGANTAR ALGORITMA

N/A
N/A
Protected

Academic year: 2021

Membagikan "I. PENGANTAR ALGORITMA"

Copied!
12
0
0

Teks penuh

(1)

anang@anang65.web.id

TIF UWKS 2009 DESAIN DAN ANALISIS ALGORITMA

  Page 1 

I. PENGANTAR ALGORITMA 

 

ALGORITMA PEMROGRAMAN  Definisi Algoritma 

ALGORITMA  :  urutan  langkah‐langkah  logis  penyelesaian  masalah  yang  disusun  secara  sistematis.  Algoritma menurut Kamus Besar Bahasa Indonesia adalah Urutan logis pengambilan keputusan untuk  pemecahan masalah . 

Definisi Pemrograman 

PROGRAM  :  suatu  bentuk  dan  aturan  untuk  menyelesaikan  sesuatu  yang  tersetruktur  dan  teratur,  dalah  hal  pemrograman  yang  dimaksut  adalah  bentuk  dan  aturan yang  merupakan  cara  kerja  yang  ada didalam suatu komputer (merupakan proses dalam PC) 

Jadi  Algoritma  Pemrograman  adalah  bagaimana  langkah‐langkah  yang  ditempuh  atau  diputuskan  untuk  menyelesaikan  suatu  permasalahan  dengan  menggunakan  aturan  serta  proses  yang  berada  didalam komputer/PC. Sehingga dalam menyelesaiakan suatu permasalahan dituntut untuk berfikir  dengan langkah‐langkah yang runtut seakan‐akan seperti langkah‐langkah yang akan di jalankan oleh  sebuah  sistem  komputer,  karena  hasil  pemikiran  tersebut  atau  langkah‐langkah  tersebut  akan  diimplementasikan dan dilaksanakan oleh komputer. 

Yang  bisanya  menjadi  sebuah  kesulitan  dalam  permulaan  belajar  adalah  jika  kita  belum  bisa  menyadari bahwa sebenarnya cara kerja otak kita juga seperti sebuah sistem komputer. Perbedaan  mendasarnya  kita  tidak  menyadari  dikarenakan  sudah  otomatis  dan  menjadi  suatu  kebiasaan  otak  kita dalam berfikir sehingga suatu langkah akan bisa terlewati. Contohnya : jika kita sudah terbiasa  memakai pisau roti untuk memotong roti maka ketika ada pilihan pisau yang lain kita akan langsung  mengabaikannya,  tetapi  jika  kita  belum  terbiasa  memakai  pisau  roti  bahkan  belum  tau  mana  yang  dimaksut  dengan  pisau  roti  maka  kita  akan  mencoba  pilihan  yang  ada  dengan  pemikiran  jika  yang  digunakan salah masih bisa mencoba pilihan lainnya. Cara berfikir itulah yang disebut suatu langkah‐ langkah yang harus ditempuh untuk menyelesaikan suatu masalah yang pada contoh diatas  adalah  untuk memotong roti. 

(2)

anang@anang65.web.id

TIF UWKS 2009 DESAIN DAN ANALISIS ALGORITMA

  Page 2 

Proses  Algoritma  Langkah dalam Algoritma 

Membuat Kue  Resep Kue  Ambil  3buah telur, ambil kuning telur dan kocok,…  Membuat baju  Pola Baju  Potong kain sesuai pola,…. 

Isi Voucher HP  Panduan  Tekan nomor 555, tekan 1 untuk isi pulsa , …. 

Ke Monas  Perjalanan  Beli  Tiket  Pesawat,Ke  bandara  Juanda,  Turun Cengkareng,... 

Jadi bisa disimpulkan bahwa dalam algoritma harus sudah jelas langkah‐langkah yang akan diambil,  sudah  ada  alternatif  atau  langkah  lain  yang  sudah  direncanakan  sebelumnya  jika  terjadi  kegagalan  pada  langkah  tertentu.  Dimana  semua  langkah  yang  jelas  itu  merupakan  suatu  pemilihan  atau  pemikiran  logika  (yang  dapat  diterima  akal  dan  dibuktikan).  Walaupun  logika  bisa  mengerti  tetapi  jika  struktur  algoritma  tidak  menemukan  langkah‐langkah  dalam  penyelesaiannya  maka  bisa  diumpamakan ”seseorang yang mengerti cara menyelesaikan masalah tetapi tidak tahu jalan mana  yang ditempuh untuk bisa menyelesaiakn masalah tersebut”. 

Jika  algoritma  kita  sudah  terlatih  dengan  baik  maka  untuk  pemrograman  hanyalah  merupakan  bahasa yang digunakan untuk menuliskan algoritma kita kedalam suatu Komputer. Bahasa tersebut  yang  akan  dikenali  dan  dimengerti  oleh  sistem  komputer  sehingga  komputer  akan  melaksanakan  semua  apa  yang  sudah  dituliskan  dengan  bahasa  pemrograman.  Jadi  bisa  disimpulkan  bahawa  jika  algoritma  sudah  terlatih  maka  beda  bahasa  pemrograman  halnya  seperti  kita  beda  bahasa  antara  suku atau bangsa di dunia ini. 

   

KONSEP DASAR ALGORITMA PEMROGRAMAN  Berfikir Logis dengan Algoritma 

Bagaimana  bagaimana  cara  berpikir  logis  ala  algoritma  itu.  Algoritma  jangan  dibayangkan  sebuah  tabel  matematik  dengan  angka‐angka  yang  jelimet/rumit  dan  membuat  mata  sakit.  Algoritma.  Seperti penjelasan diatas, Algoritma adalah runtutan langkah‐langkah logis penyelesian masalah yang  disusun  secara  sistematis  atau  kalau  menurut  Kamus  Besar  Bahasa  Indonesia  didefinisikan  sebagai  urutan logis pengambilan putusan untuk pemecahan masalah. Jadi jelas bukan masalah perhitungan  dengan  angka‐angka  jelimet  ,tetapi  dititikberatkan  pada  proses  berpikirnya  yang  dilakukan  secara 

(3)

anang@anang65.web.id

TIF UWKS 2009 DESAIN DAN ANALISIS ALGORITMA

  Page 3 

logis.  Gampang  dan  sangat  dibutuhkan  dalam  kehidupan  sehari‐hari.  Sebenarnya  dalam  bidang  apapun  kita  pasti  memerlukan  cara  berpikir  logis  untuk  menyelesaikan  tantangan/permasalahan  yang kita hadapi. 

Kata Logis merupakan kata kunci dalam Algoritma. Langkah‐langkah dalam Algoritma harus logis dan  harus  dapat  ditentukan  bernilai  salah  atau  benar.  Seperti  contoh  yang  ada  diatas  dalam  tatacara  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  pembuatannya  lalu  ia  mengerjakan  proses secara runtut sesuai yang di 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. 

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. Karena itu suatu Algoritma harus dinyatakan dalam bentuk yang dapat dimengerti  oleh pemroses. Jadi suatu pemroses harus :   1 Mengerti setiap langkah dalam Algoritma   2 Mengerjakan operasi yang bersesuaian dengan langkah tersebut.     Langkah Penyusun Algoritma dalam suatu proses  Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan oleh komputer, algoritma hasrus  ditulis  dalam  notasi  bahasa  pemrograman  sehingga  dinamakan  program.  Jadi  program  adalah  perwujudan  atau  implementasi  teknis  Algoritma  yang  ditulis  dalam  bahasa  pemrogaman  tertentu  sehingga dapat dilaksanakan oleh komputer. 

Algoritma  berisi  langkah‐langkah  penyelesaian  suatu  masalah.  Langkah‐langkah  bisa  berupa  runtunan,  pemilihan,  dan  pengulangan.  Ketiga  langkah  itulah  yang  menyusun  algoritma.  Belajar 

(4)

anang@anang65.web.id

TIF UWKS 2009 DESAIN DAN ANALISIS ALGORITMA

  Page 4 

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  (belajar  logika  program).  Sedangakan  belajar  bahasa  pemrograman  berarti  belajar  memakai  suatu  bahasa  aturan‐aturan  tata  bahasanya,  instruksi‐ instruksinya,  tata  cara  pengoperasian  compiler‐nya,  dan  memanfaatkan  instruksi‐instruksi  tersebut  untuk  membuat  program  yang  ditulis  hanya  dalam  bahasa  itu  saja.  Sehingga  bisa  dijabarkan  perbedaan antara belajar algoritma program dan belajar bahasa pemrograman sebagai berikkut;   

 Belajar Algoritma program / Memprogram  

• Belajar memprogram ≠ belajar bahasa pemrograman.  

• Belajar  memprogram  adalah  belajar  tentang  strategi  pemecahan  masalah,  metodologi  dan  sistematika  pemecahan  masalah  kemudian  menuliskannya  dalam  notasi  yang  disepakati  bersama.  

• Belajar memprogram adalah  bersifat pemahaman persoalan, analisis dan sintesis.    • Belajar memprogram, titik berat pada designer program atau langkah program berjalan.   

Belajar Bahasa Pemrograman  

• Belajar  bahasa  pemrograman  adalah  belajar  memakai  suatu  bahasa  pemrograman,  aturan  sintaks, tatacara untuk memanfaatkan instruksi yang spesifik untuk setiap bahasa.   

• Belajar  bahasa  pemrograman  ,  titik  berat  pada  coder/coding  (menuliskan  sintaks/bahasa  program pada komputer)     Produk yang dihasilkan pemrogram/programer :   • Program dengan rancangan yang baik (metodologis, sistematis).    • Dapat dieksekusi oleh mesin.   • Berfungsi dengan benar.   • Sanggup melayani segala kemungkinan masukan.   • Disertai dokumentasi.   • Belajar memprogram, titik berat pada designer program atau langkah – langkah dalam membuat 

(5)

anang@ana TIF UWKS   progr   Tahap Pe   Kriteria P 1. A 2. Ef 3. Ju 4. B 5. T

Aloritm

(efektif)  langkah  ada solus   ang65.web.id S ram (algoritm enyelesaian  Pemilihan A Ada Output  fektifitas da umlah Langk erakhir   erstruktur  

ma  dikatak

dalam  wak yg berhingg sinya.“  2009 ma program Masalah  lgoritma  n Efisiensi   kahnya Berh

kan  baik  ji

ktu  yg  relat ga & prosed

DESA

m) 

ingga  

ika

 

:  Suatu

tif  singkat  & durnya berak AIN DAN A u  algoritma  &  pengguna khir baik dlm ANALISIS A harus  men aan  memor m keadaan d ALGORITMA   ghasilkan  o

ri  yg  relatif 

diperoleh su A output  yg  te f sedikit  (efe atu solusi at Page 5 epat  guna  fesien)  dgn  taupun tdk 

(6)

anang@anang65.web.id

TIF UWKS 2009 DESAIN DAN ANALISIS ALGORITMA

  Page 6  CONTOH :  Langkah‐langkah ketika akan mengirimkan surat kepada teman:  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  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 surat 

7. Bawa  surat  ke  kantor  pos  utk  diserahkan  pd  pegawai  pos  atau  menuju  ke  bis  surat  untuk memasukkan surat ke dlm kotak/bis surat.  

 

Langkah‐langkah  penyelesaian  untuk  masalah  menentukan  akar  kuadrat  dari  suatu  bilangan  Bulat  Positif yg di Input  :  1. Baca bilangan Bulat Positif yg diinput, sebut saja sebagai A  2. Dinyatakan Nilai B adalah 0  3. Hitung Nilai C yg berisikan Nilai B dikalikan Nilai B  4. Jika Nilai C sama dengan Nilai A, maka Nilai B adalah Akar dari Nilai A, lalu stop.  5. Jika tidak, maka Nilai B akan bertambah 1  6. Kembali ke langkah pada No. 3         Penulisan Algoritma  • Menggunakan bahasa natural  (Bahasa manusia: Indonesia, Inggris)  o Kelemahannya  masih sering membingungkan (ambigu) / sulit dipahami.  • Menggunakan Flowchart  o Baik karena alur algoritma dapat dilihat secara visual, tetapi  repot pembuatannya jika  algoritma panjang   

(7)

anang@ana TIF UWKS   • M   Tahap An 1. B 2. B S d               ang65.web.id S Menggunaka o Sudah belum nalisa Algor agaimana m Denga Conto diame Rumu   agaimana m ‐ uatu  cara  isampaikan/ 2009 an Pseudoco h  dekat  den m tahu pemr itma  merencanaka an Mendefin oh : Permasa eter lingkara us :  ∏ . r2 de menyatakan s Misalnya D   penulis /diekspresik DESA ode  gan  bahasa ograman   an algoritma nisikan masa alahan meng an.  engan  Phi = suatu algorit Dengan psud san  algorit an menggun AIN DAN A   pemrogram    alah.  ghitung luas  =  3.14 atau 2 tma (menuli docode   ma  agar  nakan gaya b ANALISIS A man,  tetapi  lingkaran, d 22  is algoritma) ide  dan  bahasa pem ALGORITMA sulit  dimen dengan data  )  logika  da rograman te   A gerti  oleh  o yang diketa ari  algoritm ertentu.  Page 7 orang  yang  ahui adalah  ma  dapat 

(8)

anang@ana TIF UWKS   P p   3. B 4. B U ang65.web.id S ‐ rogram  Flow emecahan m agaimana va Untuk algori Misalk denga   agaimana M Untuk meliha • Waktu • Jumla 2009 Dengan flo wchart,  yait masalah.  aliditas suat k  melihat  k tma ersebut kan apakah  an tujuan alg Menganalisa  at effisiensi d u Tempuh d h memori ya DESA owchart / di tu  bagan  ya u algoritma. kesesuaian  t.  benar nilai s goritma, jika suatu Algori dan  efektifit ari Suatu Alg ang digunak AIN DAN A agram alir  ng  mengga   .  dengan  tuj suatu algorit  salah harus itma.  tas dari suat goritma   kan   ANALISIS A mbar‐kan  u juan  dan  g tma akan ga s membuat a tu algoritma, ALGORITMA rutan  logika goal  dari  p njil , jika ben algoritma lag , dapat dilih A

a  dari  suatu

pembuatan/ nar berarti te gi.  at dari:  Page 8 u  prosedur  /akhir  dari  elah sesuai 

(9)

anang@anang65.web.id

TIF UWKS 2009 DESAIN DAN ANALISIS ALGORITMA

  Page 9  • Hal‐hal yang dapat mempengaruhi waktu tempuh adalah :   9 Banyaknya langkah.   9 Besar dan jenis input data.   9 Jenis Operasi.   9 Komputer dan kompilator       5. Bagaimana Menguji  Program dari suatu Algoritma   Pengujian Tahap Debuging        Untuk mengecek kesalahan program, Baik sintaksis maupun logika.  Pengujian Tahap Profiling  

Untuk  menentukan  waktu  tempuh  dan  banyak  nya  memori  program  yang  digunakan.  

SIFAT ALGORITMA  

Aspek Penting Algoritma : 

ƒ Finite Æ algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas  

ƒ Definite  Æ  setiap  langkah  didefinisikan  secara    tepat,  tidak  boleh  membingungkan  (ambigu) 

ƒ Input Æ sebuah algoritma memiliki nol/lebih input sebelum dijalankan  

ƒ Output Æ algoritma memiliki satu/lebih output, yang biasanya bergantung kepada input  ƒ Effective  Æ  setiap  algoritma  diharapkan  memiliki  sifat  efektif.  (setiap  langkah  harus 

sederhana  dan sehingga dapat dikerjakan dalam waktu yang masuk akal)  ƒ  

Langkah‐langkah yang membentuk suatu algoritma dapat dibagi menjadi 3 kelompok proses: 

1. Sequence  Process  Æ  instruksi  dikerjakan  secara  berurutan  satu  persatu  dimulai  dari  langkah pertama sampai terakhir. 

2. Selection  Process  Æ  instruksi  pemilihan  proses  (percabangan),    sehingga  apabila  memenuhi persyaratan tertentu maka instruksi akan dikerjakan. 

Contoh :  

(10)

anang@anang65.web.id

TIF UWKS 2009 DESAIN DAN ANALISIS ALGORITMA

  Page 10  Jika dilakukan secara kredit maka diskon 0 %.  (dalam pernyataan diatas, hanya boleh melakukan 1 instruksi dari 2 alternatif instruksi.  3. Iteration Process Æ suatu instruksi yang dikerjakan berulang‐ulang selama beberapa kali  selama masih memenuhi suatu kondisi.   4.   NOTASI ALGORITMA 

Notasi  algoritma  sangatlah  penting  untuk  belajar  Algoritma  pemrograman,  karena  notasi  algoritma  bukan  notasi  bahasa  pemrograman,sehingga  siapapun  dapat  membuat  notasi  algoritma  yang  berbeda. 

Hal  yang  penting  mengenai  notasi tersebut  adalah  mudah  dibaca  dan  dimengerti.  Meskipun notasi  algoritma  bukan  notasi  baku  namun  kepatuhan  terhadap  notasi  perlu  diperhatikan  untuk  menghindari kekeliruan.    Dengan Notasi Algoritma kita menuliskan langkah‐langkah berfikir kita dalam betuk diskripsi yang  urut dengan menggunakan bahasa kita sendiri (bukan bahasa program).      Notasi Algoritma terbagi atas beberapa ,yaitu :  1. Notasi I : mendiskripsikan penyelesaiaan masalah. 

  Sebelum  menyelesaiakn  permasalahan  harus  terlebih  dahulu  bisa  mendiskripsikan 

permasalahannya sehingga bisa menemukan diskripsi untuk penyelesaian permasalahannya. 

Contoh : 

‐ Diskripsi Permasalahanya : Cara untuk pulang ke Surabaya  ‐ Diskripsi cara penyelesaian masalahnya : 

Untuk pulang ke Surabaya perlu menghitung biaya yang dikeluarkan dengan asumsi naik pesawat dan  naik  kereta‐api  maka  selisih  biaya  tidak  banyak  tetapi  waktu  yang  ditempuh  untuk  dengan  naik  kereta‐api lebih lama daripada naik pesawat. Karena anak masih kecil dan takut capek dijalan maka  dipilih waktu yang tercepat sampai di Surabaya. 

(11)

anang@anang65.web.id

TIF UWKS 2009 DESAIN DAN ANALISIS ALGORITMA

  Page 11 

2. Notasi  II : menyatakan langkah‐langkah algoritma dengan untaian kalimat deskriptif.. 

Yang  dimaksut  disini  kita  menuliskan  langkah‐langkah  apa  yang  harus  di  lakukan  dalam  menyelesaian  suatu  permasalahan.  Langakah‐langkah  tersebut  merupakan  proses  yang  beruntut  dan  urut.  Dalam  penulilsanya  bisa  kita  lakukan  dengan  menggunakan  penomoran  atau  pengkodean  yang  lain.  Misalkan  (Langkah  1,  langkah  2,...atau  langkah  A,  Langkah  B,...). 

Dalm pemilihan kata untuk notasi pertama bisa dilakukan dengan kalimat‐kalimat yang lebih  deskriptif dan dengan bahasa yang mudah dimengerti. Misalkan :  

ƒ suatau proses diawali dengan kata kerja  seperti 'baca', 'hitung' , 'ganti' 

dan sebagainya. 

ƒ Sedangkan  pernyataan  kondisional  dinyatakan  dengan  'jika....'  ,  

'maka....'. 

Notasi  ini  bagus  untuk  algoritma  yang  pendek  ,namun  untuk  masalah  yang  besar  notasi  ini  tidak  mungkin  dipakai.Selain  itu,  konversi  dari  notasi  algoritma  ke  bahasa  pemrograman  cendrung relatif sukar. Sehingga penggunaan notasi ini harus di pisah‐pipsahkan dalam proses  yang kecil/sederhana tidak diperbolehkan suatu algoritma yang panjang menggunakan hanya  satu buah notasi. 

Pemakaian  notasi  1  akan  efektif  jika  dalam  algoritma  yang  pendek,  sehingga  jika  algoritmanya panjang kita harus bisa membagi‐bagi dalam bagian yang pendek.  Contoh : dari notasi I dibuat notasi II :  - Pulang mudik 2 orang dewasa 1 anak umur 6 tahun.  - Naik kereta api  - Jika ya maka lama perjalanan 10 jam  - Jika tidak naik pesawat yang lama perjalanan 45 menit  -   3. Notasi  III: menggunakan diagram alir(flow‐chart). 

Jika  notasi  I  sudah  selesai  maka  kita  bisa  membuat  langkah‐langkah  dari  notasi  I  tersebut  kedalam  bentuk Flowchart. Dalam membuat flowchart terdapat aturan baku untuk symbol‐symbolnya. 

(12)

anang@anang65.web.id

TIF UWKS 2009 DESAIN DAN ANALISIS ALGORITMA

  Page 12 

Symbol  tersebut  dapat  dilihat  pada  halam  selanjutnya,  dan  akan  dipelajari  secara  mendalam  pada  pertemuan selanjutnya.  4. Notasi IV: menggunakan bahasa program untuk menjabarkan hasil dari flowchart  Dalam menuliskan dalam bahasa program kita menyesuikan dengan aturan‐aturan penulisan sesuai  dengan baha program yang digunakan, misalnya Visual Basic,Delphi,Pascal,C#,C++, dan lain‐lain.      Continue …. 

Referensi

Dokumen terkait

Manfaat penelitian ini adalah untuk menggali potensi belut di Indonesia, bahwa belut tidak hanya dapat dijadikan lauk-pauk ataupun kerupuk saja tetapi dengan

Penelitian ini bertujuan untuk mengetahui gambaran biaya satuan dan kualitas hidup penderita gagal ginjal kronik yang menggunakan tindakan hemodialisis di Rumah Sakit Tebet

Produk jadi kemas yang akan dikirim, dinaikan ke dalam kontainer secara manual dan ditata rapi dan rapat, serta dilakukan fumigasi (khusus bagi produk yang akan di

Pada gambar 4.44 menjelaskan proses penginputan data rumah, dimana format data yang diinputkan adalah .csv dikarenakan format tersebut yang dapat di upload

Penerapan hukum terhadap harta dalam perjanjian perkawinan adalah berlaku saat perkawinan dilangsungkan yang bertujuan untuk melakukan proteksi terhadap harta

peran Ibukota Kecamatan Sukolilo, Ibukota Kecamatan Tambakromo, Ibukota Kecamatan Winong, Ibukota Kecamatan Pucakwangi, Ibukota Kecamatan Jaken, Ibukota Kecamatan

Mata agenda ini membahas dan mengesahkan rancangan resolusi baik yang telah dibahas pada Standing Committee maupun yang diusulkan oleh individu negara pihak.. Terdapat 27

Karena proses pendataan yang dipakai di PT.Kharisma Prima Abadi sela ma ini masih menggunakan proses manual dan menggunakan Microsoft Office Excel, maka penulis ingin membuat