Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Algoritma pemrograman

317 views

Published on

Materi Untuk Kepentingan Skripsi

Published in: Education
  • Be the first to comment

Algoritma pemrograman

  1. 1. ALGORITMA PEMROGRAMAN KELAS X-1 MULTIMEDIA SMK NEGERI 1 JATIREJO
  2. 2. PENGERTIAN DAN KONSEP ALGORTIMA Perangko dari Rusia pada Gambar di samping ini bergambar seorang pria dengan nama Muhammad bin Musa al-Khwarizmi ia adalah seorang ahli dalam bidang matematika, astronomi, astrologi, dan geografi yang berasal dari Persia. Lahir sekitar tahun 780 di Khwārizm (sekarang Khiva, Uzbekistan) dan wafat sekitar tahun 850 di Baghdad. Hampir sepanjang hidupnya, ia bekerja sebagai dosen di Sekolah Kehormatan di Baghdad. Bagi kalian yang sedang berkecimpung dalam dunia komputer maka seharusnya mengetahui siapa orang di samping ini. 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. Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis. Syarat utama membuat sebuah algoritma: 1. Algoritma harus benar 2. Algoritma harus berhenti 3. Algoritma memberikan hasil yang benar
  3. 3. 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. LANGKAH-LANGKAH UMUM DALAM PEMBUATAN SUATU PROGRAM YAITU: • Mendefinisikan masalah • Mencari solusinya • Menentukan algoritma • Menulis program • Menguji program • Mendokumentasikan program • Merawat program
  4. 4. STRUKTUR ALGORTIMA 1. Struktur Sekuensial (Runtunan) Struktur Sekuensial merupakan struktur dasar algoritma terdiri dari satu atau lebih instruksi, yang setiap instruksinya dikerjakan secara berurutan sesuai dengan urutan penulisan algoritma tersebut. Sebuah instruksi dikerjakan setelah instruksi sebelumnya dikerjakan. Akhir dari instruksi terakhir merupakan akhir algoritma.
  5. 5. 2. Struktur Pemilihan/Keputusan/Percabangan (Branching) Yang perlu diperhatikan pada algoritma ini adalah solusi pemilihan akan dilakukan jika kondisinya terpenuhi, dalam arti kondisinya menghasilkan nilai benar (TRUE). Jika solusi benar maka akan dijalankan, dan bila salah maka tidak akan dijalankan tapi bisa jadi menjalankan solusi lain atau tidak sama sekali. Berikut beberapa struktur algortima branching:
  6. 6. a. If-Else Pernyataan if mempunyai pengertian ,”jika kondisi bernilai benar, maka perintah-1 akan dikerjakan dan jika tidak memenuhi syarat maka akan mengerjakan perintah default” (perintah setelah else). If digunakan untuk menyeleksi satu atau lebih kondisi untuk melakukan sebuah perintah. If juga bisa berupa seleksi tanpa pernyataan default (dibawah else), artinya apabila kondisi tidak terpenuhi, maka tidak ada juga perintah yang dikerjakan.
  7. 7. b. Switch Case Bentuk switch-case merupakan pernyataan yang dirancang khusus untuk menangani pengambilan keputusan yang melibatkan sejumlah atau banyak alternatif. Pernyataan switch-case ini memiliki kegunaan yang sama seperti if-else bertingkat, tetapi untuk memeeriksa data yang bertipe karakter atau integer.
  8. 8. c. Struktur Pengulangan (Looping) Struktur perulangan adalah instruksi yang dapat mengulang sederetan instruksi secara berulang- ulang sesuai intruksi yang ditetapkan. Struktur perulangan pada dasarnya terdiri atas: 1. Kondisi perulangan : suatu kondisi yang harus dipenuhi agar perulangan dapat terjadi. 2. Badan (body) perulangan : deretan instruksi yang akan diulang-ulang pelaksanaannya. 3. Pencacahan (counter) perulangan : suatu variabel yang nilainya harus berubah agar perulangan dapat terjadi dan pada akhirnya membatasi jumlah perulangan yang dapat dilaksanakan.
  9. 9. PENGENALAN VARIABEL Variabel adalah tempat dimana kita dapat mengisi atau mengosongkan nilainya dan memanggil kembali apabila dibutuhkan. Setiap variabel akan mempunyai nama (identifier) dan nilai. Contoh Nama variabel dan nilai. • username = “joni” • Nama = “Al-Khawarizmi” • Harga = 2500 • HargaTotal = 34000 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.
  10. 10. 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:
  11. 11. 1. Nama variabel harus diawali dengan huruf. 2. Tidak boleh menggunakan spasi pada satu nama variabel. Spasi bisa diganti dengan karakter underscore (_). 3. nama variabel tidak boleh mengandung karakter-karakter khusus, seperti : .,+, -, *, /, <, >, &, (, ) dan lain-lain. 4. Nama variabel tidak boleh menggunakan kata-kata kunci d bahasa pemrograman Penamaan yang benar Penamaan yang salah namasiswa nama siswa (salah karena menggunakan spasi) XY12 12x (salah karena memulai 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)
  12. 12. 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. Konstanta dibagi menjadi 4: 1. Konstanta integer, berupa integer biasa, integer panjang (long int) dan integer tak bertanda (unsigned integer). Nilainya dapat berupa desimal, oktal atau hexadesimal. 2. Konstanta floating point, dapat mengandung nilai pecahan, yang biasa ditulis dalam bentuk pecahan biasa maupun bentuk eksponensial dan selalu dinyatakan dalam double, kecuali jika diakhiri dengan F atau f (menyatakan konstanta float). 3. Konstanta string, merupakan deretan karakter yang diawali dan diakhiri dengan tanda petik ganda (“…“). juga dapat mengandung karakter yang menggunakan tanda yang disebut karakter escape (escape sequence). 4. Konstanta karakter, selalu diawali dan diakhiri dengan tanda petik tunggal (‘…’). beberapa konstanta karakter dapat diawali dengan tanda (penempatannya setelah tanda petik tunggal).
  13. 13. 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. Tipe data dikelompokkan menjadi dua yaitu primitive dan composite: Tipe data composite : Tipe Data Primitif 1. array 1. numeric 2. record 2. character 3. image 3. boolean 4. date time 5. lainya (subrange, enumerasi, dll)
  14. 14. Tipe data primitive tipe data dasar yang tersedia secara langsung pada suatu bahasa pemrograman. Sedangkan tipe data composite adalah tipe data bentukan yang terdiri dari dua atau lebih tipe data primitive Tipe data numeric digunakan pada variabel atau konstanta untuk menyimpan nilai dalam bentuk bilangan atau angka. Semua bahasa pemrograman menyediakan tipe data numeric, hanya berbeda dalam jenis numeric yang diakomodasi
  15. 15. ALGORITMA MENGGUNAKAN BAHASA NATURAL Algortima yang disusun menggunakan bahasa natural/bahasa sehari-hari. Contoh : Algoritma menghitung luas segitiga • Start • Baca data alas dan tinggi. • Luas adalah alas kali tinggi kali 0.5 • Tampilkan Luas • 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.
  16. 16. Hasil perbaikan algoritma perhitungan luas segitiga : • Start • Baca data alas dan tinggi. • 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 • Tampilkan Luas • 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.
  17. 17. Pembuatan algoritma mempunyai banyak keuntungan di antaranya: Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun, artinya penulisan algoritma independen dari bahasa pemrograman dan komputer yang melaksanakannya. Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman. Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama.
  18. 18. Beberapa hal yang perlu diperhatikan dalam membuat algoritma: a. Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah.Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami. b. Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik. c. Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Hal ini dikarenakan teks algoritma tidak sama dengan teks program. Namun, supaya notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu, maka sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum.
  19. 19. d. Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh komputer, pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih. Perlu diingat bahwa orang yang menulis program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalannya. Pseudocode adalah kode yang mirip dengan instruksi kode program sebenarnya. e. Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman. f. Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer, algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman. Beda Algoritma dan Program? Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma. Program ditulis dengan menggunakan bahasa pemrograman. Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa pemrograman.

×