Minggu, 04 Desember 2011

Konsep Algoritma Pemrograman


Sebelum belajar algoritma pemrograman, akan lebih baik kita pahami terlebih dahulu langkah-langkah pembuatan suatu program. Terdapat beberapa langkah umum dalam pembuatan suatu program yaitu:
  1. Mendefinisikan masalah
  2. Mencari solusinya
  3. Menentukan algoritma
  4. Menulis program
  5. Menguji program
  6. Mendokumentasikan program
  7. Merawat program
Mendefinisikan masalah
Langkah yang pertama dilakukan adalah mendefinisikan permasalahan. langkah ini harus dilakukan untuk menentukan masalah yang ada serta ditentukan pula input dan output program.
Mencari solusi
Kemudian ditentukan solusi dari permasalahan yang dihadapi. Bila untuk mendapatkan solusi harus melalui langkah yang terlalu rumit dapat dilakukan pembagian masalah dalam beberapa modul-modul kecil agar mudah untuk dikerjakan. Lalu modul-modul kecil tersebut digabungkan menjadisatu untuk dapat menentukan solusi.
Menentukan algoritma
Dalam pemilihan algoritma, pemrogram atau analis harus menggunakan algoritma yang sesuai dan efisien untuk masalah yang dihadapi.
Menulis program
Penulisan program bisa dilakukan dengan menggunakan bahasa pemrograman yang dikuasai dan memiliki kompabilitas dengan perangkat keras yang akan menggunakan program tersebut.
Menguji program
Bila program sudah selesai dibuat, pengujian diperlukan untuk mengetahui apakah program yang dibuat sudah layak untuk digunakan.
Mendokumentasikan program
Penulisan dokumentasi yang biasanya dilupakan oleh pemrogram menjadi sangat penting saat akan dilakukan perubahan pada program yang dibuat. penulisan program ini dapat dilakukan dengan menulis komentar pada source code tentang kegunaannya (variabel, parameter, procedur, fungsi).
Merawat program
Program yang sudah selesai dibuat juga perlu dirawat dengan pendeteksian bug yang belum diketahui sebelumnya juga penambahan fasilitas baru yang mempermudah pengguna program.
Dari penjelasan diatas, dapat kita peroleh kesimpulan bahwa pembelajaran algoritma pemrograman adalah bagian dari langkah-langkah pembuatan program. Untuk lebih jelasnya tentang algoritma pemrograman akan diulas sebagai berikut :
Algoritma
Algoritma yaitu kumpulan langkah-langkah / steps untuk menyelesaikan masalah menggunakan komputer (program komputer) dengan syarat tertentu. Adapun syarat-syaratnya adalah sebagai berikut :
  1. Setiap langkah harus DEFINITE (pasti, tertentu), dalam algoritma terdapat instruksi-instruksi yang jelas dan tidak ambigu.
  2. Minimum mempunyai 1 output (input boleh tidak ada)
  3. Harus ada stoping criteria (bisa berhenti).
Algoritma juga mempunyai beberapa jenis yaitu :
  1. Sequence, instruksi dikerjakan berurutan (sekuensial).
  2. Selection, instruksi dikerjakan bila kreteria tertentu terpenuhi.
  3. Iteration, instruksi dikerjakan selama memenuhi kondisi tertentu.
  4. Concurrent, mengerjakan banyak instruksi secara bersama.
Contoh algoritma
Algoritma menghitung luas persegi.
  1. Masukkan sisi (S)
  2. Luas <- S * S
  3. Tulis Luas
Untuk menulis suatu penjelasan cara menyelesaikan masalah dapat pula digunakan Pseudo Codeyaitu berupa pengkodean atau penandaan yang menyerupai suatu program. Pseudo Code ini sering digunakan dalam penulisan algoritma.
Contoh : Mencari bilangan terkecil dari dua bilangan yang dimasukkan.
Algoritma :
  1. Masukkan bil pertama
  2. Masukkan bil kedua
  3. Jika bil pertama < bil kedua maka kerjakan langkah 4, bila tidak maka dikerjakan langkah 5.
  4. Tampilkan bil pertama
  5. Tampilkan bil kedua
Pseudo code:
  1. Input x
  2. Input y
  3. If x < y then langkah 4 else langkah 5
  4. write x
  5. write y
Dari penjelasan diatas tampaklah perbedaan antara penulisan algoritma dalam bentuk tertentu. Dengan begitu akan lebih mudah dipahami oleh pemrogram dan orang lain yang ingin di beri pemahaman.
Selamat belajar.

Senin, 17 Oktober 2011

algoritma

  • 1. 1. ALGORITMA 

Algoritma adalah urutan aksi-aksi yang dinyatakan dengan jelas dan tidak rancu  untuk memecahkan suatu masalah dalam rentang waktu tertentu. Setiap aksi harus dapat   dikerjakan dan mempunyai efek tertentu.  
Algoritma dapat dituliskan dengan banyak cara, mulai dari menggunakan bahasa  alami yang digunakan sehari-hari, simbol grafik bagan alir, sampai menggunakan bahasa  pemograman seperti bahasa C atau C++.  

  • 1.2. C & C++ 

Berbicara tentang C++ biasanya tidak lepas dari C, sebagai bahasa pendahulunya.  Pencipta C adalah Brian W. Kerninghan dan Dennis M. Ritchie pada sekitar tahun 1972,  dan sekitar satu dekade setelahnya diciptakanlah C++, oleh Bjarne Stroustrup dari  Laboratorium Bell, AT&T, pada tahun 1983. C++ cukup kompatibel dengan bahasa  pendahulunya C. Pada mulanya C++ disebut “ a better C “. Nama C++ sendiri diberikan oleh Rick Mascitti pada tahun 1983, yang berasal dari operator increment pada bahasa C.  Keistimewaan yang sangat berari dari C++ ini adalah karena bahasa ini mendukung  pemrograman yang berorientasi objek ( OOP / Object Oriented Programming).  

  • 1.3. LANGKAH-LANGKAH MENULISKAN PROGRAM DALAM TURBO C++  

Langkah-langkahnya : 

  • 1. Bukalah software Turbo C++
  • 2. Tulis source code program bahasa C++.  Source code C++ dapat ditulis pada text editor Turbo C++.  
  • 3. Kompile file dengan (ALT + C atau pilih submenu Compile)  Kompile file dijalankan Untuk mengubah source code menjadi sebuah program,  kita gunakan compiler. Setelah source code tercompile, terbentuklah sebuah file  objek dengan ekstension “ .obj “. File “ .obj “ ini belum merupakan sebuah  program executable. 
  • 4. Jalankan Program dengan (CTRL+F9 atau pilih submenu Run)  Setelah kita kompile file yang berisi source code, maka sebagai hasil kompilasi  tersebut kita akan mendapatkan suatu file yang bisa dijalankan  (executable file).  Menjalankan program yang kita buat berarti menjalankan file hasil proses  kompilasi tersebut. 
  • 5. Untuk menyimpan pilih menu Save As 4
  • II. PENGENALAN C++ Setiap program C++ mempunyai bentuk umum seperti di bawah, yaitu: 


# prepocessor directive 
void main() 
{  
// Batang Tubuh Program Utama 
}            

  • Penjelasan :

1. Include 
Adalah salah satu pengarah    prepocessor directive yang tersedia pada C++.  Preprocessor selalu dijalankan terlebih dahulu pada saat proses kompilasi terjadi. Bentuk  umumnya :  
# include <nama_file>  
tidak diakhiri dengan tanda semicolon, karena bentuk tersebut bukanlah suatu bentuk  pernyataan, tetapi merupakan prepocessor directive. Baris tersebut menginstrusikan  kepada kompiler yang menyisipkan file lain dalam hal ini file yang berakhiran .h(file  header) yaitu file yang berisi sebagai deklarasi contohnya: 
- # include <iostream.h> : diperlukan pada program yang melibatkan objek  cout  
- # include <conio.h> : diperlukan bila melibatkan clrscr(),yaitu perintah   untuk membersihkan layar. 
- # include <iomanip.h> : diperlukan bila melibatkan setw() yang bermanfaat   untuk mengatur lebar dari suatu tampilan data. 
- # include <math.h> : diperlukan pada program yang menggunkan operasi  sqrt () yang bermanfaat untuk operasi matematika  kuadrat. 

  • 2.Fungsi main () 

Fungsi ini menjadi awal dan akhir eksekusi program C++.  main adalah nama  judul fungsi. Melihat bentuk seperti itu dapat kita ambil kesimpulan bahwa batang tubuh  program utama berada didalam fungsi main( ). Berarti dalam setiap pembuatan program  utama, maka dapat dipastikan seorang pemrogram menggunakan minimal sebuah fungsi.   Pembahasan lebih lanjut mengenai fungsi akan diterangkan kemudian. Yang sekarang 
coba ditekankan adalah kita menuliskan program utama kita didalam sebuah fungsi  main().  

  • 3. Komentar 

Komentar tidak pernah dicompile oleh compiler. Dalam C++ terdapat 2 jenis  komentar, yaitu: 
Jenis 1 :  /* Komentar anda diletakkan di dalam ini   Bisa mengapit lebih dari satu baris    */ 
Jenis 2 : // Komentar anda diletakkan disini ( hanya bisa perbaris ) 

  • 4.Tanda Semicolon 

   Tanda semicolon “ ; ” digunakan untuk mengakhiri sebuah pernyataan. Setiap  pernyataan harus diakhiri dengan sebuah tanda semicolon.  

  • 5. Mengenal cout(dibaca : C out) 

Pernyataan cout merupakan sebuah objek di dalam C++, yang digunakan untuk  mengarahkan data ke dalam standar output (cetak pada layar) 
Contoh : 
Tanda “ << “ merupakan sebuah operator yang disebut operator “penyisipan/peletakan”

STRUKTUR ALGORITMA PEMROGRAMAN

  • 5.2.1. Pengertian Algoritma
  • Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis. Masalah dapat berupa apa saja, dengan catatan untuk setiap masalah, ada syarat kondisi awal yang harus dipenuhi sebelum menjalankan algoritma. Konsep algoritma sering kali disetarakan dengan sebuah resep. Sebuah resep biasanya memiliki daftar bahan atau bumbu yang akan digunakan, urutan pengerjaan dan bagaimana hasil dari urutan pengerjaan tersebut. Apabila bahan yang digunakan tidak tertera (tidak tersedia) maka resep tersebut tidak akan dapat dikerjakan. Demikian juga jika urutan pengerjaannya tidak beraturan, maka hasil yang diharapkan tidak akan dapat diperoleh.
  • Algoritma yang berbeda dapat diterapkan pada suatu masalah dengan syarat yang sama. Tingkat kerumitan dari suatu algoritma merupakan ukuran seberapa banyak komputasi yang dibutuhkan algoritma tersebut untuk menyelesaikan masalah. Umumnya, algoritma yang dapat menyelesaikan suatu permasalahan dalam waktu yang singkat memiliki tingkat kerumitan yang rendah, sementara algoritma yang membutuhkan waktu lama untuk menyelesaikan suatu masalah membutuhkan tingkat kerumitan yang tinggi. Perhatikan algoritma sederhana berikut.




  • Contoh 5.10. Algoritma menghitung luas segitiga.

1. Start
2. Baca data alas dan tinggi.
3. Luas adalah alas kali tinggi kali 0.5
4. Tampilkan Luas
5. Stop

  • Algoritma di atas adalah algoritma yang sangat sederhana, hanya ada lima langkah. Pada algoritma ini tidak dijumpai perulangan ataupun pemilihan. Semua langkah dilakukan hanya satu kali. Sekilas algoritma di atas benar, namun apabila dicermati maka algoritma ini mengandung kesalahan yang mendasar, yaitu tidak ada pembatasan pada nilai data untuk alas dan tinggi. Bagaimana jika nilai data alas atau tinggi adalah bilangan 0 atau bilangan negatif ? Tentunya hasil yang keluar menjadi tidak sesuai dengan yang diharapkan. Dalam kasus seperti ini kita perlu menambahkan langkah untuk memastikan nilai alas dan tinggi memenuhi syarat, misalnya dengan melakukan pengecekan pada input yang masuk. Apabila input nilai alas dan tinggi kurang dari 0 maka program tidak akan dijalankan. Sehingga algoritma di atas dapat dirubah menjadi seperti contoh berikut.
  • Contoh 5.11. Hasil perbaikan algoritma perhitungan luas segitiga.

1. Start
2. Baca data alas dan tinggi.
3. Periksa data alas dan tinggi, jika nilai data alas dan
tinggi lebih besar dari nol maka lanjutkan ke langkah
ke 4 jika tidak maka stop
4. Luas adalah alas kali tinggi kali 0.5
5. Tampilkan Luas
6. Stop

  • Dari penjelasan di atas dapat diambil kesimpulan pokok tentang algoritma. Pertama, algoritma harus benar. Kedua algoritma harus berhenti, dan setelah berhenti, algoritma memberikan hasil yang benar.
  • 5.2.2. Cara Penulisan Algoritma

Ada tiga cara penulisan algoritma, yaitu :
􀁸 Structured English (SE)

  • SE merupakan alat yang cukup baik untuk menggambarkan suatu algoritma. Dasar dari SE adalah Bahasa Inggris, namun kita dapat memodifikasi dengan Bahasa Indonesia sehingga kita boleh menyebutnya sebagai Structured Indonesian (SI). Algoritma seperti pada Contoh 5.10 dan 5.11 merupakan algoritma yang ditulis menggunakan SI. Karena dasarnya adalah bahasa sehari-hari, maka SE atau SI lebih tepat untuk menggambarkan suatu algoritma yang akan dikomunikasikan kepada pemakai perangkat lunak.



􀁸 Pseudocode

  • Pseudocode mirip dengan SE. Karena kemiripan ini kadang-kadang SE dan Pseudocode dianggap sama. Pseudo berarti imitasi atau tiruan atau menyerupai, sedangkan code menunjuk pada kode program. Sehingga pseudocode adalah kode yang mirip dengan instruksi kode program sebenarnya. Pseudocode didasarkan pada bahasa pemrograman yang sesungguhnya seperti BASIC, FORTRAN atau PASCAL. Pseudocode yang berbasis bahasa PASCAL merupakan pseudocode yang sering digunakan. Kadang-kadang orang menyebut pseudocode sebagai PASCAL-LIKE algoritma. Apabila Contoh 5.10 ditulis dalam pseudocode berbasis bahasa BASIC akan tampak seperti pada contoh 5.12. 
  • Contoh 5.12. Pseudocode.

1. Start
2. READ alas, tinggi
3. Luas = 0.5 * alas * tinggi
4. PRINT Luas
5. Stop

  • Pada Contoh 5.12 tampak bahwa algoritma sudah sangat mirip dengan bahasa BASIC. Pernyataan seperti READ dan PRINT merupakan keyword yang ada pada bahasa BASIC yang masing-masing menggantikan kata “baca data” dan “tampilkan”. Dengan menggunakan pseudocode seperti di atas maka proses penterjemahan dari algoritma ke kode program menjadi lebih mudah.

􀁸 Flowchart

  • Flowchart atau bagan alir adalah skema/bagan (chart) yang menunjukkan aliran (flow) di dalam suatu program secara logika. Flowchart merupakan alat yang banyak digunakan untuk menggambarkan algoritma dalam bentu notasi-notasi tertentu.

pengenalan algoritma

  •  Muhammad ibn M􀅺s􀅅 al-Khw􀅅rizm􀅝 Bagi kalian yang sedang berkecimpung dalam dunia komputer maka seharusnya mengetahui siapa orang di samping ini. Dia adalah seorang ilmuwan Islam yang karyakaryanya dalam bidang matematika, astronomi, astrologi dan geografi banyak menjadi dasar perkembangan ilmu modern. Dan dari namanya istilah yang akan kita pelajari dalam bab ini muncul. Dari Al-Khawarizmi kemudian berubah menjadi algorithm dalam Bahasa Inggris dan diterjemahkan menjadi algoritma dalam Bahasa Indonesia.
  • Standar kompetensi algoritma pemrograman dasar terdiri atas empat kompetensi dasar. Dalam penyajian pada buku ini, setiap kompetensi dasar memuat uraian materi, dan latihan. Ringkasan diletakkan pada setiap akhir bab.Kompetensi dasar pada bab ini adalah menjelaskan variabel, konstanta dan tipe data, membuat algoritma/logika alur pemrograman, menerapkan pengelolaan array, dan mengoperasikan file. Sebelum mempelajari kompetensi ini ingatlah kembali sistem operasi, prinsip pemecahan masalah, dan materi-materi pendukung dari mata pelajaran matematika.
  • Pada akhir bab, tercantum soal-soal latihan yang disusun dari soal-soal yang mudah hingga soal-soal yang sulit. Latihan soal ini digunakan untuk mengukur kemampuan terhadap kompetensi dasar ini. Artinya setelah mempelajari kompetensi dasar ini secara mandiri dengan bimbingan guru sebagai fasilitator, ukurlah sendiri kemampuan dengan mengerjakan soal-soal latihan tersebut.




  • 5.1. VARIABEL, KONSTANTA DAN TIPE DATA

Variabel, konstanta dan tipe data merupakan tiga hal yang akan selalu kita jumpai ketika kita membuat program. Bahasa pemrograman apapun dari yang paling sederhana sampai yang paling kompleks, mengharuskan kita untuk mengerti ketiga hal tersebut.

  • 5.1.1. Variabel

Variabel adalah tempat dimana kita dapat mengisi atau mengosongkan nilainya dan memanggil kembali apabila dibutuhkan. Setiap variabel akan mempunyai nama (identifier) dan nilai. Perhatikan contoh berikut.
username = “joni”
Nama = “Al-Khawarizmi”
Harga = 2500
HargaTotal = 34000
Pada contoh 5.1. di atas, username, Nama, harga dan HargaTotal adalah nama dari variabel sedangkan “joni”, “Al-Khawarizmi”, 2500 dan 34000 adalah nilai dari masing-masing variabel. Nilai-nilai ini akan
tersimpan di dalam nama variabel masing-masing sepanjang tidak kita rubah. Pada sebagian besar bahasa pemrograman, variabel harus dideklarasikan lebih dulu untuk mempermudah compiler bekerja. Apabila variabel tidak dideklarasikan maka setiap kali compiler bertemu dengan variabel baru pada kode program akan terjadi waktu tunda karena compiler harus membuat variabel baru. Hal ini memperlambat proses kerja compiler. Bahkan pada beberapa bahasa pemrograman, compiler akan menolak untuk melanjutkan proses
kompilasi. Pemberian nama variabel harus mengikuti aturan yang ditetapkan oleh bahasa pemrograman yang kita gunakan. Namun secara umum ada aturan yang berlaku untuk hampir semua bahasa pemrograman. Aturan-aturan tersebut yaitu:
􀁸 Nama variabel harus diawali dengan huruf.
􀁸 Tidak boleh menggunakan spasi pada satu nama variabel. Spasi bisa
diganti dengan karakter underscore (_).
Rekayasa Perangkat Lunak 95
􀁸 Nama variabel tidak boleh mengandung karakter-karakter khusus,
seperti : .,+, -, *, /, <, >, &, (, ) dan lain-lain.
􀁸 Nama variabel tidak boleh menggunakan kata-kata kunci d bahasa
pemrograman
Contoh 5.2. Contoh penamaan variabel.
Penamaan yang benar Penamaan yang salah
namasiswa nama siswa (salah karena menggunakan spasi)
XY12 12X (salah karena dimulai dengan angka)
harga_total harga.total (salah karena menggunakan karakter
.)
JenisMotor Jenis Motor (salah karena menggunakan spasi)
alamatRumah for (salah karena menggunakan kata kunci bahasa
pemrograman)

  • 5.1.2. Konstanta

Konstanta adalah variabel yang nilai datanya bersifat tetap dan tidak bisa diubah. Jadi konstanta adalah juga variabel bedanya adalah pada nilai yang disimpannya. Jika nilai datanya sepanjang program berjalan tidak berubahubah, maka sebuah varibel lebih baik diperlakukan sebagai konstanta. Pada sebuah kode program, biasanya nilai data dari konstanta diberikan langsung di bagian deklarasi konstanta. Sedangkan untuk variabel biasanya hanya ditentukan nama variabel dan tipe datanya tanpa isian nilai data. Aturan penamaan variabel juga berlaku untuk penamaan konstanta. Demikian juga aturan penetapan tipe data. Sebagai contoh, jika kita membuat program perhitungan matematik yang menggunakan nilai pi (3.14159) yang mungkin akan muncul dibanyak tempat pada kode program, kita dapat membuat pi sebagai konstanta. Penggunaan konstanta pi akan lebih memudahkan penulisan kode program dibanding harus mengetikkan nilai 3.14159 berulang-ulang.

  • 5.1.3. Tipe Data

Tipe data adalah jenis data yang dapat diolah oleh komputer untuk memenuhi kebutuhan dalam pemrograman komputer. Setiap variabel atau konstanta yang ada dalam kode program, sebaiknya kita tentukan dengan pasti tipe datanya. Ketepatan pemilihan tipe data pada variabel atau konstanta akan sangat menentukan pemakaian sumberdaya komputer (terutama memori komputer). Salah satu tugas penting seorang programmer adalah memilih tipe data yang sesuai untuk menghasilkan program yang efisien dan berkinerja tinggi. Ada banyak tipe data yang tersedia tergantung jenis bahasa pemrograman yang dipakai.