Dasar Algoritma Pemrograman

7:47 PM
Para agan, ni postingan pertama saya,
kali ini saya akan membahas Dasar-dasar algoritma pemrograman,langsung aja deh.
Asal kata Algoritma berasal dari nama Abu Ja’far Mohammed Ibn Musa al-Khowarizmi, ilmuan Persia yang menulis kitab al jabr w’al-muqabala (rules of restoration and reduction) sekitar tahun 825 M..
sedangkan definisi algoritma sendiri adalah  urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis.
sudah jelas belum apa itu algoritma???
bahasa-bahasa algoritma pemrograman ada tiga,yaitu:
  • Bahasa tingkat tinggi [HLL] : PASCAL, C, Java, PHP, ASP
  • Bahasa tingkat menengah[MLL] : Assembly
  • Bahasa tingkat rendah [LLL] : Machine Code
Dari berbagai bahasa pemrograman cara memberikan instruksinya berbeda-beda namun bertujuan menghasilkan output yang sama. Program yang ditulis dalam bahasa pemrograman akan diterjemahkan ke dalam bahasa mesin (biner) menggunakan penterjemah.
  • Interpreter; Menterjemahkan baris per baris instruksi [Bahasa Basic]
  • Compiler; Menterjemahkan setelah seluruh instruksi di tulis [Pascal, C]


Ciri Penting Algoritma
  • Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas.
  • Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua (Ambiguitas).
  • Algoritma memiliki nol atau lebih masukkan.
  • Algoritma memiliki nol atau lebih keluaran.
  • Algoritma harus efektif (setiap langkah harus sederhana sehingga dapat dikerjakan dalam waktu yang masuk akal).

struktur komputer

Dalam bidang komputer, algoritma sangat diperlukan dalam menyelesaikan berbagai masalah pemrograman, terutama dalam komputasi numeris. Tanpa algoritma yang dirancang dengan baik maka proses pemrograman akan menjadi salah, rusak, atau lambat dan tidak efisien. Pelaksana algoritma adalah Komputer. Manusia dan komputer berkomunikasi dengan cara manusia memberikan perintah-perintah kepada komputer berupa instruksi-instruksi yang disebut program. Komputer adalah alat bantu untuk menyelesaikan masalah. Dalam menyelesaian masalah dengan komputer perlu merumuskan langkah langkah penyelesaian masalah dalam sekumpulan instruksi. Sekumpulan instruksi yang dimengerti oleh komputer yang disebut dengan program.


Algoritma dapat diekspresikan melalui tiga cara, yakni;1.

Structured Indonesian (SI)
, yakni penulisan urutan langkah yang dilakukan oleh programmer sesuai dengan bahasa sehari-hari (dalam hal ini Bahasa Indonesia). Sebagaicontoh, Algoritma untuk mencari luas segi tiga dalam Structured Indonesian adalah;
1.

 Mulai2.

Baca data Alas dan tinggi3.

Periksa apakah Alas dan tinggi mempunyai nilai lebih besar dari 0 (nol).Jika ya, maka lanjutkan ke langkahke 4, jika tidak maka berhenti.4.

Luas adalah Alas kali Tinggi kali 0,5.5.

Tampilkan luas.
2.

Pseudocode
, adalah penulisan algoritma yang menyerupai kode program. Pseudo sendiri berarti imitasi atau tiruan atau menyerupai, sedangkan code menunjuk pada kode program.Pseudocode didasarkan kepada bahasa pemrograman yang sesungguhnya seperti BASIC,PASCAL atau FORTRAN. Penulisan Pseudocode masih tetap bersifat umum, artinya bolehditulis dengan menyerupai bahasa pemrograman tersebut. Latar belakang programmer sangat berpengaruh dalam menuliskan pseudocode. Programer yang familiar dengan Bahasa BASIC



akan lebih mudah dan senang menuliskan pseudocode dalam Bahasa BASIC, begitu juga yang berpengalaman dengan Bahasa Pascal tentunya akan lebih memudahkan jika pseudocode-nyamirip bahasa Pascal. Pendekatan yang terbaik disesuaikan kepada kemampuan siswa danPemrograman apa yang akan dipelajari oleh Siswa itu sendiri.Berikut ini contoh Pseudocode algoritma menghitung Luas Segitiga;
1.START
2.READ alas, tinggi
3.luas = alas * tinggi * 0,5
4.PRINT luas.

5.END
Algoritma diatas sangat mirip dengan bahasa BASIC dan yang satu rumpun denganBahasa BASIC ( Penulis menggunakan Liberty Basic, Gold License). Dengan adanya pseudocode akan memudahkan proses penterjemahan kedalam bahasa pemrograman.

Flow Chart,
adalah bagan alir yang menggambarkan urutan langkah/aliran program secaralogika. Flow Chart banyak dipakai untuk menggambarkan algoritma dengan bantuan symbolsymbol tertentu yang telah disepakati secara internasional. Dengan adanya symbol/lambanglambang tersebut dan ditambah notasi penjelasannya, maka logika pemrograman dapatdimengerti dengan mudah. Bagi yang sudah familiar dengan Microsoft Word, symbol-symbolFlow Chart dapat di tampilkan dengan langkah Insert-Shapes-Flowchart yang akanmenampilkan lambang sebagai berikut;

Lambang-lambang tersebut mempunyai makna/menggambarkan proses dan atau peripheraltertentu dalam pembuatan algoritma dengan Diagram Alir /Flow Chart.


 Start
ReadAlas,Tinggi
Luas=0,5*Alas*Tinggi 
EndPrint Luas
MulaiBaca Data
ApakahData valid?
Hitung Luas Segitiga,Selesai,TampilkanHasil Luas
Sebagai ilustrasi berikut ini contoh Flowchart Menghitung Luas Segitiga;
Bagan Alir Logika Program Bagan Alir Program Komputer terinci
Dari ketiga cara penulisan Algoritma (SI, Psedocode dan Flowchart) kesemuanya itu bersifat independent terhadap semua bahasa pemrograman, artinya Algoritma yang kita buatdapat dipakai oleh setiap bahasa Pemrograman. Hanya mungkin saja dari cara penulisan pada“program komputernya” (syntax) yang sedikit berbeda dan keyword (kata kunci) untuk melakukan perintah.Penulisan “Print” dalam Bahasa BASIC , jika dalam Bahasa PASCAL diekspresikandengan “Write” atau Writeln. Algoritma dapat diibaratkan Resep Masakan yang ditulis dalam berbagai bahasa, dan orang akan bisa membuatnya selama orang tersebut memahami bahasayang dipakai untuk menulis resep masakan tersebut.




Contoh-contoh Algoritma dapat dikembangkan dengan memperhatikan lingkungan dankehidupan siswa itu sendiri.
Struktur Algoritma
Struktur dasar algoritma terbentuk dari tiga struktur dasar, yakni struktur berurutan,struktur percabangan/pemilihan/keputusan dan struktur pengulangan. Dalam bahasa pemrograman ketiga dasar pembentuk sebuah algoritma tersebut dikenal dengan
sequencing
branching
dan
looping
. Pada dasarnya hampir semua algoritma merupakan gabungan daristruktur tersebut.

Macam-macam Algoritma
1.Algoritma Berurutan (Sequencing)
Struktur berurutan ini dapat dianalogikan dengan kita berjalan lurus atau kendaraan yangmeluncur dijalan yang lurus. Langkah demi langkah atau kilometer demi kilometer kita harusmelaluinya sehingga tahapan demi tahapan harus dilalui sesuai dengan urutannya. Dapat jugakita analogikan dengan mencatat mata pelajaran, kata demi kata dan kalimat demi kalimat kitamenyalinnya secara berurutan sampai selesai.Struktur berurutan bisa terdiri dari satu dan atau beberapa instruksi. Intruksi intruksitersebut akan dieksekusi oleh komputer sesuai dengan urutannya. Oleh sebab itu maka pentingnya sistematika yang tepat dan benar agar algoritma tersebut menghasilkan “output”yangkita harapkan. Menurut Goldshlager dan A. Lister, struktur berurutan mengikuti ketentuansebagai berikut;
•Tiap instruksi dikerjakan satu demi satu.
•Tiap instruksi hanya dilakukan/dilaksanakan tepat satu kali, tidak ada pengulangan
•Urutan pelaksanaan yang dilakukan oleh komputer(pemroses) sama dengan urutan yangditulis dalam algoritmanya.
•Akhir dari instruksi terakhir, merupakan akhir algoritma
bersambung dulu yah,,,

2.Algoritma Pencabangan (Branching)
Pada dasarnya pemrograman komputer adalah untuk keperluan manusia dalammemenuhi kebutuhan dan keinginan hidupnya. Oleh sebab itu pemrograman komputer identik dengan penyelesaian pekerjaan manuasia keseharian. Kehidupan kita tidak selamanya berjalanlurus, terkadang harus melakukan pilihan dari beberapa keadaan, atau melakukan pengujiankepada suatu kondisi agar kita dapat mengambil keputusan tentang jalan/arah mana yang akandiambil. Dalam pemrograman kondisi seperti ini lajimnya disebut pencabangan/branching.Dalam kondisi tertentu mungkin kita melakukan lompatan atau melewatkan beberapa instruksi,dan program akan berjalan sesuai dengan kehendak kita jika kondisi memenuhi syarat yang kitatetapkan.
contoh:
untuk menikah,syarat di KUA minimal usianya harus 17 tahun,maka yang belum berusia 17 tahun tidak boleh menikah.
erbeda untuk kasus yang sama dan berbeda untuk kasus yang berlainan. Halini tergantung sejauh mana kita mampu melakukan pendekatan yang paling efektif dan efisien.Hal lain yang penting juga diperhatikan adalah bagaimana “orang lain” dapat dengan mudahmemahami jalan pemikiran kita (algoritmanya) dan mudah menggunakan aplikasi yang sudahkita buat. Setiap bahasa pemrograman mempunyai beberapa ketentuan yang sedikit berbeda,namun pada umumnya Statement untuk pencabangan sebagiannya adalah:
•IF test expression THEN expression(s)
•iF test expression THEN expression(s)1 ELSE expression(s)2
•IF test expression THENexpression(s)1END IF
•IF test expression THENexpression(s)1ELSEexpression(s)2END IFCara lain untuk mengontrol alur program adalah penggunaan pernyataan
IF...THEN...ELSE.
Pernyataan ini merupakan pengembangan dari bentuk IF….THEN. Salahsatu contoh dalam implementasinya adalah;
[ulangi]input "Silahkan pilih mode, (B)iasa atau (A)hli?"; mode$if len(mode$) = 0 then print "Keliru Input! Coba lagi!" : goto[ulangi]mode$ = left$(mode$, 1)if instr("BbAa", mode$) = 0 then print " Keliru Input! Coba lagi!" :goto [ulangi]if instr("Bb", mode$) > 0 then print "Mode Biasa" : goto [main]print "Mode Ahli"[main]print "Menu Pilihan Utama"end
Perhatikan Ekspresi/pernyataan ini:
if instr("Bb", mode$) > 0 then print "Mode Biasa" : goto [main]print "Mode Ahli"
Pernyataan tersebut dapat diringkas menjadi
if instr("Bb",mode$)> 0 then print "Mode Biasa " else print "Mode Ahli"

Beberapa bentuk penulisan yang diijinkan (dalam Liberty BASIC) adalah sebagai berikut;
if a < b then pernyataan1 else pernyataan2if a < b then [label] else pernyataanif a < b then pernyataan else [label]if a < b then pernyataan1 : pernyataan2 else pernyataan3if a < b then pernyataan1 else pernyataan2 : pernyataan3if a < b then pernyataan1 : goto [label] else pernyataan2if a < b then gosub [label1] else gosub [label2]
IF...THEN...END IF adalah merupakan bentuk lain yang banyak digunakan dalam pengambilan keputusan/pencabangan. Bentuk pernyataan seperti ini dikenal dengan
“conditional blocks”
. Cara ini memungkinkan kita dapat mengontrol alur program dengan lebih baik dan sistematis. Contoh penggunaannya;
if qtySubdirs = 0 then print "None."goto [noSubs]end if
Keuntungan yang diperoleh dalam penggunaan Blok ini adalah kita dapat menuliskanlebih banyak pernyataan/perintah yang bisa dilakukan sesuai dengan kondisi yang terjadi.

Algoritma Pengulangan (Looping)

Sebuah kendaraan sedang mengisi bahan bakar di sebuah Statsiun PengisianBahan Bakar Umum (SPBU). Sang Sopir meminta agar agar kendaraannya diisi bahan bakar sebanyak 100 liter. Petugas mengisikan bahan bakar kedalam tangkikendaraan tidak sekaligus 100 liter, melainkan bertahap sesuai kapasitas aliranselang pengisian bahan bakar. Dia akan melakukan pengisian secara terusmenerus sampai indikator menunjukkan angka 100. Dan akan berhenti jika telahterpenuhi kondisi sesuai permintaan sang sopir.


Seorang anak sedang menimba air dari sebuah sumur untuk mengisi ember /jerigen air yang dibawanya dari rumah. Dia akan terus menimba sampai volumeair yang ada di ember tersebut penuh atau sesuai dengan kemampuan angkatnya.

Dari dua ilustrasi tersebut dapat kita simak, bahwa pengulangan akan terus terjadi sampaidengan sebuah kondisi yang kita inginkan tercapai, dan pengulangan akan berakhir manakalakondisi yang kita harapkan sudah tercapai.Dalam pembuatan program komputer, kita kadang-kadang harus mengulang satu atau beberapa perintah agar memperoleh hasil sesuai dengan yang kita inginkan. Salah satu kelebihankomputer adalah mampu melakukan pengulangan sebanyak yang kita inginkan tanpa merasalelah dan bosan <walaupun sebenarnya terbatas juga>. Dalam contoh kedua, bisa saja anak tersebut berhenti menimba air bukan karena embernya sudah penuh, melainkan kecapaian.Tidak demikian halnya dengan computer, dia akan terus melakukan/mengeksekusi perintahsampai dengan selesai.Struktur pengulangan terdiri dari 2 bagian;1.

Kondisi Pengulangan
, yaitu syarat yang harus dipenuhi untuk melaksanakan pengulangan. Syarat ini biasanyanya dinyatakan dalam ekspresi Boolean yangharus diuji apakah mempunyai nilai true (benar) atau false (salah).2.

Badan penglangan (loop body),
yakni satu atau sekumpulan perintah yang harusdiulang

Dalam pengulangan biasanya ada yang dikenal dengan inisialisasi dan terminasi.Inisialisasi adalah memberikan nilai awal pada sebuah variabel (Counter SPBU di reset “0”),sedangkan terminasi adalah nilai akhir sebagai tanda berakhirnya pengulangan .Ada beberapa pernyataan yang dapat dilakukan untuk menyelesaikan pengulangan ini.Pada pelaksanaannya pemakaian struktur pengulangan tergantung dari masalah yang harusdiselesaikan, dukungan bahasa pemrograman dan tehnik pendekatan dari programmer computer itu sendiri. Seperti halnya juga dalam pencabangan, bentuk satu pengulangan dapat sajamenyelesaikan beberapa kasus yang berbeda. Namun ada juga bentuk pengulangan yang hanyacocok untuk kasus tertentu saja. Pemilihan bentuk pengulangan yang tepat, dapat meningkatkankinerja dan efisiensi sebuah program computer.
Struktur pengulangan dengan FOR…..NEXT
Bentuk pengulangan seperti ini merupakan tehnik pengulangan yang paling tua dalam bahasa pemrograman
2
. Hampir semua bahasa pemrograman mendukung tehnik pengulanganFOR….NEXT ini, kalaupun ada perbedaan paling dalam cara penulisannya saja (syntax).Bentuk umum dari FOR…NEXT adalah;FOR variabel=inisialisasi TO terminasi STEP aturanJika STEP tidak didefinisikan maka nilai variabel akan bertambah satu, namun jika inginmelakukan pencacahan (counter) dengan bilangan negative, makaSTEP harus disertakan. Berikut ini contoh potongan algoritmaFor…Next dalam bentuk Flowchart;Dalam pelaksanaan/eksekusi pengulangan FOR…NEXT urutanlangkahnya adalah sebagai berikut;1.

Menetapkan nilai counter sama dengan nilai awal(inisialisasi)2.

Melakukan pengujian apakah bilai awal lebih besar darinilai akhir, jika tidak maka mengerjakan perintah yang ada pada badan loop. Jika ya maka keluar dari Program3.

Menaikkan/menurunkan nilai counter sesuai aturan yangkita tetapkan.4.

Kembali ke urutan nomor 2.

hanya demikian yang bisa saya jelaskan terimakasih semoga bermanfaat.:)

Share this :

First
3 Komentar

Penulisan markup di komentar
  • Silakan tinggalkan komentar sesuai topik. Komentar yang menyertakan link aktif, iklan, atau sejenisnya akan dihapus.
  • Untuk menyisipkan kode gunakan <i rel="code"> kode yang akan disisipkan </i>
  • Untuk menyisipkan kode panjang gunakan <i rel="pre"> kode yang akan disisipkan </i>
  • Untuk menyisipkan quote gunakan <i rel="quote"> catatan anda </i>
  • Untuk menyisipkan gambar gunakan <i rel="image"> URL gambar </i>
  • Untuk menyisipkan video gunakan [iframe] URL embed video [/iframe]
  • Kemudian parse kode tersebut pada kotak di bawah ini
  • © 2015 Simple SEO ✔