Advertise with TeamPromote CLICK HERE CLICK HERE

Algoritma

Algoritma adalah kumpulan perintah yang untuk menyelesaikan suatu masalah. Perintah yang dimaksud haruslah bertahap dari awal hingga akhir (harus diakhiri). sehingga Algoritma juga dapat diartikan sebagai kumpulan tahapan dari awal hingga akhir yang dilakukan untuk menyelesaikan suatu masalah. Masalah disini bisa berupa apa saja, mulai dari masalah yang biasa kita alami atau masalah-masalah khusus kaitannya dengan Pemrograman.
Urutan-urutan dalam algoitma biasa disimbolkan dengan sebuah notasi yang biasa disebut dengan bagan alur (Flowchart). Flowchart ini menggambarkan setiap tahapan eksekusi dari awal hingga akhir untuk menyelesaikan masalah. Pembuatan Flowchart harus menggunakan kaidah yang benar dan baku sehingga terjadi persamaan penafsiran maka dari itulah dibuat suatu rumusan penulisan Flowchart yang disetujui dan dipakai secara Internasional.

Nach lambang-lambang Flowchart tersebut melambangkan setiap eksekusi atau proses yang terjadi didalamnya, sehingga seorang programmer dapat mengetahui proses apa saja yang terjadi dari sebuah program yang hendak ia buat dengan bantuan Flowchart tersebut.

Fungsi dari Flowchart antara lain adalah:
1. Mengetahui alur kerja suatu kejadian/masalah
2. Memperjelas tahapan kerja
3. Mempresentasikan tahapan kerja
4. Mempermudah dalam membuat program

Selain itu flowchart juga dapat menjadi indikasi bahwa sebuah program itu sebelum mengeluarkan output program tersebut harus menjalankan sekian eksekusi, sekian kondisi dan sebagainya. Maka dari itu, bagi dunia pemrograman wajib bagi programmer untuk mengetahui lambang dan arti dari lambang flowchart.

Pengulangan Operasi atau Looping berguna untuk melaksanakan suatu proses yang dilakukan secara berulang-ulang secara terus menerus dengan suatu aturan tertentu. Contoh penggunaan Looping secara konkrit dalam sebuah Program adalah Program untuk Menghitung Faktorial, Program menentukan bilangan Ganjil dan Genap.

Statement untuk melakukan looping diantaranya ada:
1. For ... Next
Syntax:
For var=nilai awal TO nilai akhir
(Kumpulan Proses)
NEXT var

Contoh:
10 CLS
11 FOR a = 1 TO 6
12 PRINT a
13 NEXT a
14 NED

Bila F5 ditekan maka outputnya adalah 1,2,3,4,5 dan 6

2. WHILE WEND
Syntax:
WHILE (statement konditional)
(Kumpulan Proses)
WEND

Contoh:
10 CLS
11 WHILE a < 6
12 a = a + 1
13 PRINT a
14 WEND
15 END

Dalam matematika dan komputasi, algoritma 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 istilah "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.

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.
• 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.
• 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.
• 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.

Algoritma Strassen
Algoritma Strassen dalam matematika, khususnya aljabar linear adalah sebuah algoritma yang dinamakan oleh Volker Strassen yang merupakan sebuah algoritma yang digunakan untuk perkalian matriks yang secara asimtot lebih cepat dari pada algoritma perkalian matriks standar dan sangat berguna dalam penggunaanya untuk matriks yang berukuran besar.

Sejarah
Volker Strassen mempublikasikan algoritma Strassen tahun 1969. Meskipun algoritma ini hanya sedikit lebih cepat daripada algoritma standar untuk perkalian matriks, dialah yang pertama menjelaskan bahwa eliminasi Gauss adalah tidak optimal. Dalam tulisannya, dia memulai penelitian untuk melengkapi algoritma-algoritma yang lebih cepat seperti algoritma Winograd dari Shmuel Winograd pada 1980, dan yang lebih kompleks algoritma Coppersmith-Winograd dipublikasikan pada 1987.

Algoritma
Misalkan A, B dua matriks persegi pada ring R. Kita ingin menghitung produk matriks C sebagai
Jika matriks A, B bukan bertipe 2n x 2n kita isi baris-baris dan kolom-kolom yang kosong dengan nol.
Kita partisi A, B dan C kedalam matriks blok yang berukuran sama.
Dengan konstruksi ini kita tidak mengurangi jumlah dari perkalian-perkalian. Kita masih memerlukan 8 perkalian-perkalian untuk menghitung matriks-matriks Ci,j , dengan jumlah perkalian yang sama kita perlukan ketika menggunakan matriks perkalian standar.
Sekarang sampai pada bagian terpenting. Kita tetapkan matriks baru
Yang kemudian digunakan untuk mengekspresikan Ci,j dalam bentuk Mk. Karena kita telah mendefenisikan Mk kita bisa mengeliminasi satu perkalian matriks dan mengurangi jumlah perkalian-perkalian menjadi 7 (satu perkalian matriks untuk tiap Mk) dan ekspresi Ci.
Kita iterasikan bagian diatas ke-n kali proses sampai submatriks-submatriks menjadi angka-angka.
Algoritma Strassen pada penerapannya mengubah metode standar dari perkalian matriks agar submatriks-submatriks yang cukup kecil menjadi lebih efisien. Fakta-fakta agar algoritma Strassen lebih efisien bergantung pada implementasi khusus dan hardware.

Analisi Numerik
Perkalian matriks standar melakukan perkalian-perkalian dari elemen-elemen dalam ring R. Kita anggap penjumlahan-penjumlahan diperlukan karena bergantung pada R, yang bisa jauh lebih cepat daripada perkalian-perkalian dalam implementasi pada komputer terutama jika ukuran dari entri matriks melebihi ukuran kata dari mesin.
Dengan algoritma Strassen kita bisa mengurangi jumlah perkalian-perkalian.
Pengurangan dalam jumlah perkalian bagaimanapun akan sampai saat pilihan dari sedikit pengurangan kestabilan numerik.
Contoh program sederhana pada Matlab
function c = strass(a,b)
nmin = 2;
%misalkan matriks a dan b berukuran 2 x 2
[n,n] = size(a);
if n <= nmin;
c = a*b;
else
%entri matriks a dan b berukuran n x n; n=2^k; k=2,3,...
%misalkan entri matriks a dan b berukuran n=2^2 atau 4 x 4
a11=a(1:2,1:2); a12=a(1:2,3:4); a21=a(3:4,1:2); a22=a(3:4,3:4);
b11=b(1:2,1:2); b12=b(1:2,3:4); b21=b(3:4,1:2); b22=b(3:4,3:4);
p1 = (a11+a22)*(b11+b22);
p2 = (a21+a22)*b11;
p3 = a11*(b12-b22);
p4 = a22*(b21-b11);
p5 = (a11+a12)*b22;
p6 = (a21-a11)*(b11+b12);
p7 = (a12-a22)*(b21+b22);
c = [p1+p4-p5+p7 p3+p5; p2+p4 p1-p2+p3+p6];
end

Catatan: program diatas hanya untuk matriks berukuran 1x1, 2x2, 4x4. Untuk matriks yang berukuran lebih besar, masih diperlukan penyempurnaan. Agar programnya bisa berjalan.
Pemograman , Photography & other

Defenisi dan sejarah Algoritma
Defenisi Algoritma :
Algoritma adalah urutan langkah-langkah untuk memecahkan suatu masalah
Algoritma adalah deretan langkah-langkah komputasi yang mentransformasikan data masukan menjadi keluaran(output)
Contoh Algoritma
Contoh langkah-langkah pengisian pulsa kartu prabayar :
1. Tekan #888 lalu tekan tombol ok/yes
2. Tekan “2” untuk mulai memasukan pulsa.
3. Masukan 14 digit kartu prabayar
4. Akhiri dengan menekan tombol #

Sejarah Algoritma
Kata algorism berasal dari nama penulis buku Arab yang terkenal, yaitu Abu Ja’far Muhammad ibnu Musa Al-huwarizmi (Al-Khuwarizmi dibaca orang Barat/Eropa menjadi algorism karena pelafan orang eropa yang tidak fasih berbahasa arab). Perubahan dari kata algorism menjadi algorithm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran –sm berubah menjadi –thm.
Dalam bahasa Indonesia, kata algorithm diserap menjadi “algoritma”.
Bahasa Pemograman adalah : Bahasa computer yang digunakan dalam menulis program.
Pemogram/programmer adalah : Orang yang membuat program computer.
Pempograman adalah : Kegiatan merancang dan menulis program.

Menurut tujuan aplikasinya, Bahasa Pemograman dapat digolongkan menjadi 2 kelompok :
1. Bahasa pemograman bertujuan khusus, misalnya :
• Bahasa Cobol :untuk terapan bisnis dan adminsitrasi
• Bahasa Fortran :aplikasi komputasi ilmiah
• Bahasa assembly : aplikasi pemograman mesin
• Bahasa Prolog : aplikasi kecerdasan buatan
2. Bahasa pemograman bertujuan umum
• Bahasa Pascal, bahasa Basic, bahasa C, bahasa C++, bahasa C#.
Menurut “kedekatan” dengan bahasa mesin atau bahasa manusia, bahasa pemograman dapat dibedakan menjadi 2 macam :
1. Bahasa tingkat rendah. Bahasa jenis ini dirancang agar setiap instruksinya langsung dikerjakan oleh komputer, tanpa harus melalui penerjemah (translator). Contohnya adalah bahasa mesin (machine language). Bahasa mesin adalah sekumpulan kode biner (0 dan 1).
Contoh Bahasa tingkat rendah : Bahasa Assembly.
2. Bahasa tingkat tinggi. Bahasa jenis ini membuat program menjadi lebih mudah dipahami, lebih “manusiawi”, dan lebih dekat ke bahasa manusia (bahasa inggris terutama).
Contoh Bahasa tingkat rendah : Bahasa Pascal, Cobol, Basic, Fortran, C,C++ dsb.

No comments:

viewtrend statbrain iwebtool builtwith alexa siteadvisor netcraft sitedossier toolbarnetcraft tgsc quantcast protect-x siteadvisor compete statsaholic