Kamis, 08 Januari 2015

Konsep Dasar Algoritma

Konsep Dasar Algoritma


Beberapa metode untuk merancang algoritma dalam program
komputer :
1. Diagram Alir (Flow Chart)
2. Kode Semu (Psedo Code)
3. Algoritma Fundamental
Knuth (1973) menyatakan 5 komponen utama dalam
algoritma yaitu finiteness, definiteness, input, output dan
effectiveness.
Komponen yang harus ada dalam merancang algoritma:
1. Komponen masukan : terdiri dari pemilihan variable, jenis variable,
tipe variable, konstanta dan parameter (dalam fungsi).
2. Komponen keluaran: merupakan tujuan dari perancangan algoritma
dan program.
Permasalahan yang diselesaikan dalam algoritma dan program harus
ditampilkan dalam komponen keluaran. Karakteristik keluaran yang
baik adalah menjawab permasalahan dan tampilan yang ramah
3. Komponen proses : 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 dll).
Flowchart : Algoritma ini menggunakan sejumlah simbol
untuk menyatakan kegiatan-kegiatan secara keseluruhan.
Knuth (1973)menyajikan format algoritma yang dapat
digunakan secara bebas untuk berbagai bahasa pemrograman,
artinya dapat dengan mudah diimplementasikan
menggunakan Pascal, C, Fortran, PL atau BASIC.
Psedo code
Kode atau tanda yang menyerupai (pseudo) atau merupakan pejelasan cara
menyelesaikan suatu masalah. Psedo-code sering digunakan oleh manusia
untuk menuliskan algoritma.
Problem: mencari bilangan terbesar dari dua bilangan yang diinputkan.
Contoh Psedo-code:
1. Masukkan bilangan pertama
2. Masukkan bilangan kedua
3. Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4, jika
tidak, kerjakan langkah 5.
4. Tampilkan bilangan pertama
5. Tampilkan bilangan kedua
Aturan Algoritma Fundamental:
1. Nama/judul algoritma harus ditulis dengan huruf kapital
2. Berikan komentar dan penjelasan pendahuluan.
3. Pernyataan dan struktur Kontrol
4. Nama-nama variabel harus ditulis dengan huruf besar
5. Input dan output
6. Prosedur
7. Fungsi.



Pengertian Flowchart dan Contoh Simbolnya






Pengertian dan Definisi Flowchart

       Flowchart atau Bagan alir adalah bagan  (chart) yang menunjukkan alir  (flow) di dalam program atau prosedur sistem secara logika. Bagan alir (flowchart) digunakan terutama untuk alat bantu komunikasi dan untuk dokumentasi. 

Jenis jenis Flowchart

Ada beberapa jenis flowchart diantaranya:
  1. Bagan alir sistem (systems flowchart).
  2. Bagan alir dokumen (document flowchart).
  3. Bagan alir skematik (schematic flowchart).
  4. Bagan alir program (program flowchart).
  5. Bagan alir proses (process flowchart).

System Flowchart

     System flowchart dapat didefinisikan sebagai bagan yang menunjukkan arus pekerjaan secara keseluruhan dari sistem. Bagan ini menjelaskan urut-urutan dari prosedur-prosedur yang ada di dalam sistem. Bagan alir sistem menunjukkan apa yang dikerjakan di sistem.

Document Flowchart

        Bagan alir dokumen  (document flowchart)  atau disebut juga bagan alir formulir  (form  flowchart)  atau  paperwork flowchart merupakan bagan alir yang menunjukkan arus dari laporan dan formulir termasuk tembusan-tembusannya.

Schematic Flowchart

       Bagan alir skematik (schematic flowchart) merupakan bagan alir yang mirip dengan bagan alir sistem, yaitu untuk menggambarkan prosedur di dalam sistem. Perbedaannya adalah, bagan alir skematik selain menggunakan simbol-simbol bagan alir sistem, juga menggunakan gambar-gambar komputer dan peralatan lainnya yang digunakan. Maksud penggunaan gambar-gambar ini adalah untuk memudahkan komunikasi kepada orang yang kurang paham dengan simbol-simbol bagan alir. Penggunaan gambar-gambar  ini  memudahkan untuk dipahami, tetapi sulit dan lama menggambarnya.

Program Flowchart

       Bagan alir program  (program flowchart)  merupakan bagan yang menjelaskan secara rinci langkah-langkah dari proses program. Bagan alir program dibuat dari derivikasi bagan alir sistem.
Bagan alir program dapat terdiri dari dua macam, yaitu bagan alir logika program  (program logic flowchart)  dan bagan alir program komputer terinci  (detailed computer program flowchart).  Bagan alir logika program digunakan untuk menggambarkan tiap-tiap langkah di dalam program komputer secara logika. Bagan alat- logika program ini dipersiapkan oleh analis sistem. Gambar berikut menunjukkan bagan alir logika program. Bagan alir program komputer terinci  (detailed computer program flow-chart) digunakan untuk menggambarkan instruksi-instruksi program komputer secara terinci. Bagan alir ini dipersiapkan oleh pemrogram.

Process Flowchart

      Bagan alir proses  (process flowchart)  merupakan bagan alir yang banyak digunakan di teknik industri. Bagan alir ini juga berguna bagi analis sistem untuk menggambarkan proses dalam suatu prosedur.

Simbol dan Notasi Flowchart

Dipakai sebagai alat Bantu menggambarkan proses di dalam program. Dan dibagi menjadi tiga kelompok :

♦ Flow Direction Symbols ♦

dipakai untuk menggabungkan antara symbol yang satu dengan symbol lainnya
Pengertian Flowchart dan Contoh SimbolnyaSymbol Off-line Connector ( Simbol untuk keluar/masuk prosedure atau proses dalam lembar/halaman yang lain)
Pengertian Flowchart dan Contoh SimbolnyaSymbol Connector (Simbol untuk keluar/masuk prosedur atau proses dalam   lembar/halaman yang sama)

♦ Processing symbols ♦

Menunjukkan jenis operasi pengolahan dalam suatu prosedur
Pengertian Flowchart dan Contoh SimbolnyaSymbol Process (Simbol yang menunjukkan pengolahan yang dilakukan oleh komputer)
Pengertian Flowchart dan Contoh SimbolnyaSymbol Manual Operation (Simbol yang menunjukkan pengolahan yang  tidak dilakukanoleh komputer)
Pengertian Flowchart dan Contoh SimbolnyaSymbol Decision (Simbol untuk kondisi yang akan menghasilkan beberapa   kemungkinan jawaban/aksi)
Pengertian Flowchart dan Contoh SimbolnyaSymbol Predefined Process (Simbol untuk mempersiapkan penyimpanan yang akan digunakan sebagai tempat pengolahan di dalam storage)
Pengertian Flowchart dan Contoh SimbolnyaSymbol Terminal (Simbol untuk permulaan atau akhir dari suatu program)-
Pengertian Flowchart dan Contoh SimbolnyaSymbol Off-line Storage (Simbol yang menunjukkan bahwa data di dalam symbol ini akan disimpan)
-
Pengertian Flowchart dan Contoh SimbolnyaSymbol Manual Input (Simbol untuk pemasukan data secara manual on-line keyboard)
Pengertian Flowchart dan Contoh SimbolnyaSymbol Keying Operation (Simbol operasi dengan menggunakan mesin yang mempunyai keyboard)

♦ Input-output symbols ♦

menyatakan jenis peralatan yang digunakan sebagai media input atau output.
Pengertian Flowchart dan Contoh SimbolnyaSymbol input-output (Symbol yang menyatakan proses input dan output tanpa tergantung dengan jenis peralatannya)
Pengertian Flowchart dan Contoh SimbolnyaSymbol magnetic-tape unit (Symbol yang menyatakan input berasal pita magnetic atau output disimpan ke pita magnetic)
-Pengertian Flowchart dan Contoh SimbolnyaSymbol punched card (Symbol yang menyatakan input berasal dari kartu atau output ditulis ke kartu)-
Pengertian Flowchart dan Contoh SimbolnyaSymbol disk and on-line storage (Symbol untuk menyatakan input berasal dari disk atau output disimpan ke disk)
Pengertian Flowchart dan Contoh SimbolnyaSymbol display (Symbol yang menyatakan peralatan output yang digunakan yaitu layar, plotter, printer, dan sebagainya)
Pengertian Flowchart dan Contoh SimbolnyaSymbol dokumen (symbol yang menyatakan input berasal dari dokumen dalam bentuk kertas atau output dicetak ke kertas)

Pedoman Membuat Flowchart

Bila seorang analis dan programmer akan membuat flowchart, ada beberapa petunjuk yang harus diperhatikan, seperti:
  1. Flowchart digambarkan dari halaman atas ke bawah dan dari kiri kekanan.
  2. Aktivitas yang digambarkan harus didefinisikan secara hati-hati dan definisi ini harus dapat dimengerti oleh pembacanya.
  3. Kapan aktivitas dimulai dan berakhir harus ditentukan secara jelas.
  4. Setiap langkah dari aktivitas harus diuraikan dengan menggunakan deskripsi kata kerja
  5. Setiap langkah dari aktivitas harus berada pada urutan yang benar.
  6. Lingkup dan range dari aktifitas yang sedang digambarkan harusditelusuri dengan hati-hati. Percabangan-percabangan yang memotong aktivitas yang sedang digambarkan tidak perlu digambarkan pada flowchart yang sama. Simbol konektor harus digunakan dan percabangannya diletakan pada halaman yang terpisah atau hilangkan seluruhnya bila percabangannya tidak berkaitan dengan sistem.
  7. Gunakan simbol-simbol flowchart yang standar.

Contoh-contoh Flowchart


Contoh Flowchart Program :

Pengertian Flowchart dan Contoh Simbolnya
Contoh Flowchart Program – Menentukan Bilangan Ganjil/Genap.


 Algoritma
Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis.Kata Logis merupakan kata kunci dalam Algoritma. Langkah-langkah dalam Algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar

Berikut Contoh Algoritma:


1. Algoritma Bilangan Ganjil dan Genap


Bilangan-bilangan yang paling dikenal adalah bilangan bulat 0, 1, -1, 2, - 2, ... dan bilangan-bilangan asli 1, 2, 3, ..., keduanya sering digunakan untuk berhitung dalam aritmatika. Himpunan semua bilangan bulat dalam buku-buku teks aljabar biasanya dinyatakan dengan lambang Z dan sedangkan himpunan semua bilangan asli biasanya dinyatakan dengan lambang N.


Algoritma untuk menentukan suatu bilangan termasuk bilangan genap atau bilangan ganjil disajikan dengan flowchart dibawah ini :kampus ti
Bilangan genap adalah bilangan bulat yang habis (tidak mempunyai sisa) apabila dibagi 2. Sedangkan bilangan ganjil adalah bilangan bulat yang tidak habis apabila dibagi 2.
2. Algoritma Menghitung Keliling dan Luas Lingkaran
Lingkaran adalah himpunan semua titik pada bidang dalam jarak tertentu yang disebut jari-jari dari suatu titik tertentu, yang disebut titik pusat. Lingkaran adalah contoh dari kurva tertutup sederhana, membagi bidang menjadi bagian dalam dan bagian luar.
Algoritma untuk menghitung luas dan keliling lingkaran disajikan dengan flowchart dibawah ini :
kampus ti

3. Algoritma menampilkan bilangan ganjil antara 10-30
Bilangan ganjil antara 10 dan 30 adalah 11,13,15,17,19,21,23,25,27,29. Sedangkan yang akan ditampilkan adalah kecuali bilangan 21 dan 27. Jadi output yang diharapkan adalah 11,13,15,17,19,23,25,29.kampus ti
Algoritma untuk menampilkan bilangan ganjil antara 10-30 kecuali bilangan 21 dan 27 disajikan dengan flowchart dibawah ini :
Sebagai proses seleksi pertama agar program tidak mencetak bilangan 21 dan 27, diberikan syarat apakah bilangan = 21 atau bilangan = 27. Sebagai batas akhir supaya program tidak melebihi batas 30, maka diberikan syarat apakah bilangan < 29.ka
mpus ti
4. Algoritma tahun Kabisatkampus ti
Tahun kabisat adalah tahun yang mempunyai 1 ekstra hari yang bertujuan supaya dalam kalender bisa sinkron dengan keadaan astronomi dan musim tahunan. Sebagai contoh, Bulan Februari mempunyai 29 hari pada tahun kabisat. Pada kalender Julian, setiap tahun yang bisa dibagi dengan 4 merupakan tahun kabisat. Tetapi pada kalender Gregorian, tahun yang bisa dibagi dengan 100 hanya dianggap sebagai tahun kabisat jika tahun ini juga bisa dibagi dengan 400. Misalkan tahun 1700, 1800 dan 1900 bukan tahun-tahun kabisat. Tetapi tahun 1600 dan 2000 merupakan tahun kabisat.
Algoritma untuk menentukan tahun kabisat disajikan dengan flowchart dibawah ini :
Algoritma diatas adalah untuk menentukan tahun kabisat pada kalender Julian saja, yaitu menggunakan syarat habis dibagi dengan 4 atau tidak. Selain itu batasan tahun yang boleh diinput adalah dalam rentang tahun 1900-2020.kampus ti
5. Algoritma menampilkan bilangan genap dari 2 sampai < n, kecuali bilangan genap tersebut kelipatan 4
Bilangan genap adalah bilangan bulat yang habis (tidak mempunyai sisa) apabila dibagi 2. Deret yang diatampilkan adalah deret bilangan genap dari 2 sampai ke n kecuali bilangan tersebut adalah kelipatan 4.


Algoritma untuk menampilkan deret bilangan genap dari 2 sampai ke n kecuali bilangan tersebut kelipatan 4 disajikan dengan flowchart dibawah ini :
Misalkan input n=5, maka output deret yang ditampilkan adalah 2,6,10,14,18. Untuk menyeleksi bilangan genap menggunakan syarat bil % 2 apakah mempunyai sisa apa tidak. Selain itu untuk menyeleksi bilangan
kelipatan 4 menggunakan syarat bil % 4 apakah mempunyai sisa apa tidak. 
kampus ti
6. Algoritma menghitung harga yang harus dibayar setelah mendapatkan diskon
Algoritma untuk menghitung jumlah yang harus dibayar oleh pembeli setelah mendapatkan diskon 10% dengan syarat jumlah total pembelian < Rp.1.500.000,-
kampus ti
Algoritma untuk menghitung harga yang harus dibayar setelah mendapatkan diskon disajikan dengan flowchart dibawah ini :
Jumlah barang bersifat dinamik sesuai input n dari user. Apabila jumlah total kurang dari 1500000 maka tidak akan mendapatkan diskon.

7. Algoritma mencari max dan min dari deret bilangan
Mencari nilai maks dan min dari suatu n deret bilangan yang diinput oleh user. Algoritma untuk mencari max-min dari suatu deret bilangan disajikan dengan flowchart dibawah ini :kampus ti
Jumlah deret dan nilai deret diinput oleh user. Sedangkan sebagai inisialisasi, max dan min diisi dengan nilai deret yang pertama. Contoh n = 4, bil = 4,8,6,7 , maka max =8 dan min=4.
8. Algoritma kalkulator sederhana 2 bilangan
Kalkulator Sederhana yang dapat melakukan operasi +(penambahan), - (pengurangan), *(perkalian) dan /(pembagian). Kalkulator bersifat sederhana karena hanya melakukan perhitungan terhadap 2 bilangan saja.
Algoritma kalkulator sederhana disajikan dengan flowchart dibawah ini :
kampus ti
9. Algoritma menghitung angka angka dari suatu bilangankampus ti
Algoritma untuk menghitung angka-angka dari suatu bilangan yang diinput oleh user. Algoritma tersebut disajikan dengan flowchart dibawah ini :
kampus ti
10. Algoritma membalik kalimat
Algoritma untuk menampilkan kalimat dengan urutan terbalik. Struktur data yang digunakan adalah Stack. Untuk membalik bilangan, huruf huruf dari kalimat tersebut kita masukkan dalam stack menggunakan metode Push, setelah stack terisi, maka kita keluarkan kembali menggunakan metode Pop.


Pada algoritma mambalik kalimat, penggunaan struktur data stack diimplementasikan pada array. Dalam implementasinya pada array, kita harus menyiapkan sebuah array dengan panjang sama dengan jumlah huruf dalam kalimat yang akan dibalik.kampus ti



Dalam gambar dibawah ini tiap huruf dari kalimat dimasukkan kedalam array dengan index ke-0 sampai ke-n dengan metode push.kampus ti
Lalu huruf huruf tersebut dikeluarkan mulai dari index ke-n sampai index ke-0.kampus ti
Maka kalimat yang dibalik menjadi kalimat dengan susunan huruf terbalik.kampus ti

0 komentar:

Posting Komentar