elearning.upnjatim.ac.idelearning.upnjatim.ac.id/courses/ALGORITMAPEMROGRAMANAC/... · Web...

15
Algoritma Dalam matematika dan komputasi, algoritma atau algoritme merupakan kumpulan perintah untuk menyelesaikan suatu masalah. Perintah-perintah ini dapat diterjemahkan secara bertahap dari awal hingga akhir. Masalah tersebut dapat berupa apa saja, dengan catatan untuk setiap masalah, ada kriteria kondisi awal yang harus dipenuhi sebelum menjalankan algoritma. Algoritma akan dapat selalu berakhir untuk semua kondisi awal yang memenuhi kriteria, dalam hal ini berbeda dengan heuristik. Algoritma sering mempunyai langkah pengulangan (iterasi) atau memerlukan keputusan (logika Boolean dan perbandingan) sampai tugasnya selesai. Desain dan analisis algoritma adalah suatu cabang khusus dalam ilmu komputer yang mempelajari karakteristik dan performa dari suatu algoritma dalam menyelesaikan masalah, terlepas dari implementasi algoritma tersebut. Dalam cabang disiplin ini algoritma dipelajari secara abstrak, terlepas dari sistem komputer atau bahasa pemrograman yang digunakan. Algoritma yang berbeda dapat diterapkan pada suatu masalah dengan kriteria yang sama. Kompleksitas dari suatu algoritma merupakan ukuran seberapa banyak komputasi yang dibutuhkan algoritma tersebut untuk menyelesaikan masalah. Secara informal, algoritma yang dapat menyelesaikan suatu permasalahan dalam waktu yang singkat memiliki kompleksitas yang rendah, sementara algoritma yang membutuhkan waktu lama untuk menyelesaikan masalahnya mempunyai kompleksitas yang tinggi. Sejarah Algoritma Kata algoritma berasal dari latinisasi nama seorang ahli matematika dari Uzbekistan Al Khawārizmi (hidup sekitar abad ke-9), sebagaimana tercantum pada terjemahan karyanya dalam bahasa latin dari abad ke-12 "Algorithmi de numero Indorum". Pada awalnya kata algorisma adalah istilah yang merujuk kepada

Transcript of elearning.upnjatim.ac.idelearning.upnjatim.ac.id/courses/ALGORITMAPEMROGRAMANAC/... · Web...

Page 1: elearning.upnjatim.ac.idelearning.upnjatim.ac.id/courses/ALGORITMAPEMROGRAMANAC/... · Web viewFlowchart Sistem merupakan bagan yang menunjukkan alur kerja atau apa yang sedang dikerjakan

Algoritma

Dalam matematika dan komputasi, algoritma atau algoritme merupakan kumpulan perintah untuk menyelesaikan suatu masalah. Perintah-perintah ini dapat diterjemahkan secara bertahap dari awal hingga akhir. Masalah tersebut dapat berupa apa saja, dengan catatan untuk setiap masalah, ada kriteria kondisi awal yang harus dipenuhi sebelum menjalankan algoritma. Algoritma akan dapat selalu berakhir untuk semua kondisi awal yang memenuhi kriteria, dalam hal ini berbeda dengan heuristik. Algoritma sering mempunyai langkah pengulangan (iterasi) atau memerlukan keputusan (logika Boolean dan perbandingan) sampai tugasnya selesai.

Desain dan analisis algoritma adalah suatu cabang khusus dalam ilmu komputer yang mempelajari karakteristik dan performa dari suatu algoritma dalam menyelesaikan masalah, terlepas dari implementasi algoritma tersebut. Dalam cabang disiplin ini algoritma dipelajari secara abstrak, terlepas dari sistem komputer atau bahasa pemrograman yang digunakan. Algoritma yang berbeda dapat diterapkan pada suatu masalah dengan kriteria yang sama.

Kompleksitas dari suatu algoritma merupakan ukuran seberapa banyak komputasi yang dibutuhkan algoritma tersebut untuk menyelesaikan masalah. Secara informal, algoritma yang dapat menyelesaikan suatu permasalahan dalam waktu yang singkat memiliki kompleksitas yang rendah, sementara algoritma yang membutuhkan waktu lama untuk menyelesaikan masalahnya mempunyai kompleksitas yang tinggi.

Sejarah Algoritma

Kata algoritma berasal dari latinisasi nama seorang ahli matematika dari Uzbekistan Al Khawārizmi (hidup sekitar abad ke-9), sebagaimana tercantum pada terjemahan karyanya dalam bahasa latin dari abad ke-12 "Algorithmi de numero Indorum". Pada awalnya kata algorisma adalah istilah yang merujuk kepada aturan-aturan aritmetis untuk menyelesaikan persoalan dengan menggunakan bilangan numerik arab (sebenarnya dari India, seperti tertulis pada judul di atas). Pada abad ke-18, istilah ini berkembang menjadi algoritma, yang mencakup semua prosedur atau urutan langkah yang jelas dan diperlukan untuk menyelesaikan suatu permasalahan. Masalah timbul pada saat akan menuangkan bagaimana proses yang harus dilalui dalam suatu/sebuah sistem (program) bagi komputer sehingga pada saat eksekusinya, komputer dapat bekerja seperti yang diharapkan. Programer komputer akan lebih nyaman

Page 2: elearning.upnjatim.ac.idelearning.upnjatim.ac.id/courses/ALGORITMAPEMROGRAMANAC/... · Web viewFlowchart Sistem merupakan bagan yang menunjukkan alur kerja atau apa yang sedang dikerjakan

menuangkan prosedur komputasinya atau urutan langkah proses dengan terlebih dahulu membuat gambaran (diagram alur) diatas kertas.

Jenis jenis algoritma

Terdapat beragam klasifikasi algoritma dan setiap klasifikasi mempunyai alasan tersendiri. Salah satu cara untuk melakukan klasifikasi jenis-jenis algoritma adalah dengan memperhatikan paradigma dan metode yang digunakan untuk mendesain algoritma tersebut. Beberapa paradigma yang digunakan dalam menyusun suatu algoritma akan dipaparkan dibagian ini. Masing-masing paradigma dapat digunakan dalam banyak algoritma yang berbeda.

1. Divide and Conquer, paradigma untuk membagi suatu permasalahan besar menjadi permasalahan-permasalahan yang lebih kecil. Pembagian masalah ini dilakukan terus menerus sampai ditemukan bagian masalah kecil yang mudah untuk dipecahkan. Singkatnya menyelesaikan keseluruhan masalah dengan membagi masalah besar dan kemudian memecahkan permasalahan-permasalahan kecil yang terbentuk.

2. Dynamic programming, paradigma pemrograman dinamik akan sesuai jika digunakan pada suatu masalah yang mengandung sub-struktur yang optimal, dan mengandung beberapa bagian permasalahan yang tumpang tindih. Paradigma ini sekilas terlihat mirip dengan paradigma Divide and Conquer, sama-sama mencoba untuk membagi permasalahan menjadi sub permasalahan yang lebih kecil, tapi secara intrinsik ada perbedaan dari karakter permasalahan yang dihadapi.

3. Metode serakah. Sebuah algoritma serakah mirip dengan sebuah Pemrograman dinamik, bedanya jawaban dari submasalah tidak perlu diketahui dalam setiap tahap, dan menggunakan pilihan "serakah" apa yang dilihat terbaik pada saat itu.

Sumber : http://id.wikipedia.org/wiki/Algoritma

Flowchart

Flowchart adalah penggambaran secara grafik dari langkah-langkah dan urut-urutan prosedur dari suatu program. Flowchart menolong analis dan programmer untuk memecahkan masalah kedalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternatif-alternatif lain dalam pengoperasian.

PEDOMAN-PEDOMAN DALAM MEMBUAT FLOWCHART

Bila seorang analis dan programmer akan membuat flowchart, ada beberapa petunjuk yang harus diperhatikan, seperti :

Page 3: elearning.upnjatim.ac.idelearning.upnjatim.ac.id/courses/ALGORITMAPEMROGRAMANAC/... · Web viewFlowchart Sistem merupakan bagan yang menunjukkan alur kerja atau apa yang sedang dikerjakan

1. Flowchart digambarkan dari halaman atas ke bawah dan dari kiri ke kanan.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, misalkan menghitung pajak penjualan.5. Setiap langkah dari aktivitas harus berada pada urutan yang benar.6. Lingkup dan range dari aktifitas yang sedang digambarkan harus ditelusuri 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.

JENIS-JENIS FLOWCHART

§ Flowchart Sistem (System Flowchart)

Flowchart Sistem merupakan bagan yang menunjukkan alur kerja atau apa yang sedang dikerjakan di dalam sistem secara keseluruhan dan menjelaskan urutan dari prosedur-prosedur yang ada di dalam sistem. Dengan kata lain, flowchart ini merupakan deskripsi secara grafik dari urutan prosedur-prosedur yang terkombinasi yang membentuk suatu sistem.

Flowchart Sistem terdiri dari data yang mengalir melalui sistem dan proses yang mentransformasikan data itu. Data dan proses dalam flowchart sistem dapat digambarkan secara online (dihubungkan langsung dengan komputer) atau offline (tidak dihubungkan langsung dengan komputer, misalnya mesin tik, cash register atau kalkulator).Contoh :

Page 4: elearning.upnjatim.ac.idelearning.upnjatim.ac.id/courses/ALGORITMAPEMROGRAMANAC/... · Web viewFlowchart Sistem merupakan bagan yang menunjukkan alur kerja atau apa yang sedang dikerjakan

§ Flowchart Paperwork / Flowchart Dokumen (Document Flowchart)

Flowchart Paperwork menelusuri alur dari data yang ditulis melalui sistem. Flowchart Paperwork sering disebut juga dengan Flowchart Dokumen. Kegunaan utamanya adalah untuk menelusuri alur form dan laporan sistem dari satu bagian ke bagian lain baik bagaimana alur form dan laporan diproses, dicatat dan disimpanContoh :

KETERANGAN :# : Masukkan data calon anggota ke dalam komputer (proses pengisian data)P : Tanda tangan dan validasi data

§ Flowchart Skematik (Schematic Flowchart)

Flowchart Skematik digunakan sebagai alat komunikasi antara analis sistem dengan seseorang yang tidak familiar dengan simbol-simbol flowchart yang konvensional. Pemakaian gambar sebagai ganti dari simbol-simbol flowchart akan menghemat waktu yang dibutuhkan oleh seseorang untuk mempelajari simbol abstrak sebelum dapat mengerti flowchart.

Gambar-gambar ini mengurangi kemungkinan salah pengertian tentang sistem, hal ini disebabkan oleh ketidak-mengertian tentang simbol-simbol yang digunakan. Gambar-gambar juga memudahkan pengamat untuk mengerti segala sesuatu yang dimaksudkan oleh analis, sehingga hasilnya lebih menyenangkan dan tanpa ada salah pengertian.

§ Flowchart Program (Program Flowchart)

Page 5: elearning.upnjatim.ac.idelearning.upnjatim.ac.id/courses/ALGORITMAPEMROGRAMANAC/... · Web viewFlowchart Sistem merupakan bagan yang menunjukkan alur kerja atau apa yang sedang dikerjakan

Flowchart Program merupakan keterangan yang lebih rinci tentang bagaimana setiap langkah program atau prosedur sesungguhnya dilaksanakan. Flowchart ini menunjukkan setiap langkah program atau prosedur dalam urutan yang tepat saat terjadi. Programmer menggunakan flowchart program untuk menggambarkan urutan instruksi dari program komputer. Analis Sistem menggunakan flowchart program untuk menggambarkan urutan tugas-tugas pekerjaan dalam suatu prosedur atau operasi.Contoh :

§ Flowchart Proses (Process Flowchart)

Flowchart Proses merupakan teknik penggambaran rekayasa industrial yang memecah dan menganalisis langkah-langkah selanjutnya dalam suatu prosedur atau sistem. Flowchart Proses memiliki lima simbol khusus

Flowchart Proses digunakan oleh perekayasa industrial dalam mempelajari dan mengembangkan proses-proses manufacturing. Dalam analisis sistem, flowchart ini digunakan secara efektif untuk menelusuri alur suatu laporan atau form. Contoh :

Page 6: elearning.upnjatim.ac.idelearning.upnjatim.ac.id/courses/ALGORITMAPEMROGRAMANAC/... · Web viewFlowchart Sistem merupakan bagan yang menunjukkan alur kerja atau apa yang sedang dikerjakan

SIMBOL-SIMBOL FLOWCHARTSimbol-simbol flowchart yang biasanya dipakai adalah simbol-simbol flowchart standar yang dikeluarkan oleh ANSI dan ISO.

Simbol-simbol ini dapat dilihat pada Gambar 6. Simbol Flowchart

Page 7: elearning.upnjatim.ac.idelearning.upnjatim.ac.id/courses/ALGORITMAPEMROGRAMANAC/... · Web viewFlowchart Sistem merupakan bagan yang menunjukkan alur kerja atau apa yang sedang dikerjakan

Standar berikut ini :

Page 8: elearning.upnjatim.ac.idelearning.upnjatim.ac.id/courses/ALGORITMAPEMROGRAMANAC/... · Web viewFlowchart Sistem merupakan bagan yang menunjukkan alur kerja atau apa yang sedang dikerjakan
Page 9: elearning.upnjatim.ac.idelearning.upnjatim.ac.id/courses/ALGORITMAPEMROGRAMANAC/... · Web viewFlowchart Sistem merupakan bagan yang menunjukkan alur kerja atau apa yang sedang dikerjakan
Page 10: elearning.upnjatim.ac.idelearning.upnjatim.ac.id/courses/ALGORITMAPEMROGRAMANAC/... · Web viewFlowchart Sistem merupakan bagan yang menunjukkan alur kerja atau apa yang sedang dikerjakan
Page 11: elearning.upnjatim.ac.idelearning.upnjatim.ac.id/courses/ALGORITMAPEMROGRAMANAC/... · Web viewFlowchart Sistem merupakan bagan yang menunjukkan alur kerja atau apa yang sedang dikerjakan

Sumber : http://widada.staff.gunadarma.ac.id/Downloads/files/13075/FLOWCHART.doc

Raptor

RAPTOR ditulis dalam kombinasi, ada C # dan C + +, dan berjalan dalam .NET Framework. RAPTOR dimulai dengan membuka ruang kerja kosong dengan simbol awal dan akhir. Pengguna kemudian dapat menambahkan simbol flowchart sesuai dengan loop, pilihan, panggilan prosedur, tugas, input dan output dengan memilih dari palet di sudut kiri atas dan kemudian memasukkan pada titik yang tepat dalam flowchart. Lihat gambar

Page 12: elearning.upnjatim.ac.idelearning.upnjatim.ac.id/courses/ALGORITMAPEMROGRAMANAC/... · Web viewFlowchart Sistem merupakan bagan yang menunjukkan alur kerja atau apa yang sedang dikerjakan

Diagram alur harus terstruktur. Seleksi dan loop harus benar bersarang, dan loop masing-masing memiliki titik keluar tunggal. Loops, bagaimanapun, memungkinkan kondisi keluar yang akan diuji pada setiap titik di dalam tubuh loop. Siswa dapat memilih untuk menggunakan tes pra-, mid-test, atau post-test lingkaran hanya dengan menambahkan simbol flowchart sebelum dan atau setelah tes loop. Selain itu, struktur loop lebih dekat mengikuti loop / keluar-saat struktur Ada, daripada loop sementara, sebagai siswa mulai lebih alami mengekspresikan logika positif (saat loop harus keluar) daripada logika negatif (saat loop harus terus berjalan)

Sintaks yang digunakan dalam simbol flowchart dirancang untuk menjadi fleksibel. Elemen telah dipinjam dari kedua C dan Pascal-gaya bahasa. Sebagai contoh, baik "**" atau "^" dapat digunakan sebagai operasi exponentiation, dan "&&" atau "dan" dapat digunakan sebagai Boolean "dan" operator. RAPTOR memaksa sintaks memeriksa setiap simbol flowchart seperti yang diedit. Oleh karena itu, mustahil untuk membuat diagram alur sintaktis tidak valid. Jika pengguna memasukkan "x +" sebagai sisi kanan sebuah tugas, mereka akan mendapatkan pesan kesalahan dan diminta untuk memperbaiki ekspresi aritmatika sebelum meninggalkan kotak tugas.

Mengomentari dilakukan dengan mengklik kanan pada simbol flowchart dan memilih "komentar". Komentar ini muncul sebagai "gelembung bicara" di samping simbol flowchart. Komentar dapat diklik dan diseret untuk meningkatkan estetika flowchart.

Page 13: elearning.upnjatim.ac.idelearning.upnjatim.ac.id/courses/ALGORITMAPEMROGRAMANAC/... · Web viewFlowchart Sistem merupakan bagan yang menunjukkan alur kerja atau apa yang sedang dikerjakan

RAPTOR memiliki lebih dari 40 built-in fungsi dan prosedur yang memungkinkan pengguna untuk menghasilkan angka acak, melakukan perhitungan trigonometri, grafis menarik (termasuk lingkaran, kotak, garis, dll), dan antarmuka dengan perangkat menunjuk. Seperti yang terlihat pada Gambar 2, RAPTOR otomatis akan menyarankan penyelesaian untuk nama prosedur.

Selain itu, RAPTOR otomatis akan mencari folder saat instruktur pada library terkait secara dinamis bernama "plugins.dll". Jika file tersebut hadir, pengguna akan diizinkan untuk memanggil prosedur tersebut dari dalam flowchart, dan prosedur tersebut akan muncul dalam daftar usulan. Hal ini memungkinkan instruktur untuk membuat tugas lebih menarik dengan meningkatkan tingkat abstraksi. Dalam Gambar 2, "Draw_Board" adalah dari sampel Tic-Tac-Toe plug-in.

Selama eksekusi, siswa dapat memilih untuk langkah tunggal melalui flowchart, atau terus berjalan. Kecepatan eksekusi disesuaikan dengan memindahkan slider ditampilkan di bagian atas Gambar 1. Pada setiap langkah, simbol flowchart yang sedang dijalankan akan ditampilkan dalam warna hijau. Selain itu, keadaan semua variabel ditampilkan dalam jendela di sudut kiri bawah layar.

Sumber : Pada folder instalasi RAPTOR