1.pengertian - Elearning UPN JATIM

advertisement
Algoritma dan Pemrograman
1.pengertian
Istilah Algoritma saat ini lebih sering dikaitkan dengan pemrograman komputer sehingga dikenal
dengan istilah Algoritma Pemrogaman, untuk menunjukan kekhususan konteks. Dalam konteks ini
algoritma pemrograman merupakan kerangka dari program komputer. Sebenarnya tidak adak
definisi algoritma yang baku. Namun untuk mudahnya secara sederhana algoritma dalam kaitannya
dengan pemrograman dapat kita definisikan sebagai “ Urutan langkah berhingga untuk
menyelesaikan masalah matematika dan logika’. Dengan pengertian itu kita dapat menyimpulkan
bahwa:
1. Algoritma adalah kumpulan langkah, artinya algoritma merupakan proses di dalam penyelesaian
masalah.
2.Langkah-langkah dalam algoritma berhingga banyaknya, artinya langkah-langkah tersebut memiliki
akhir. Algoritma tanpa akhir, bukanlah termasuk algoritma karena tidak memberikan solusi apapun.
3.Digunakan untuk menyelesaikan masalah matematika dan logika, artinya tidak semua masalah
dapat diselesaikan dalam algoritma pemrograman. Algoritma ini hanya bisa digunakan untuk
menyelesaikan suatu masalah jika msalah tersebut dapat diterjemahkan ke dalam bahasa logika dan
matematika, karena pemrograman komputer pada dasarnya adalah persoalan logika dan
matematika.
Definisi Algoritma
- Algoritma adalah urutan langkah logis tertentu untuk memecahkan suatu masalah. Yang
ditekankan adalah urutan langkah logis, yang berarti algoritma harus mengikuti suatu urutan
tertentu, tidak boleh melompat-lompat. (Dari Microsoft Press Computer and Internet Dictionaary
1997, 1998)
- Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis.
Yang ditekankan pertama adalah alur pikiran, sehingga algoritma seseorang dapat juga berbeda dari
algoritma orang lain. Sedangkan penekanan kedua adalah tertulis, yang artinya dapat berupa
kalimat, gambar, atau tabel tertentu. (Dari Algoritma dan Struktur Data dengan C, C++, dan Java oleh
Moh Sjukani hal 1)
Contoh Algoritma dalam kehidupan nyata:
- Jika seorang ingin memasak atau membuat kue, baik itu melihat resep ataupun tidak
pasti akan melakukan suatu langkah-langkah tertentu sehingga masakannya atau kuenya jadi.
- Jika seseorang ingin mengirim surat kepada kenalannya di tempat lain,langkah yang harus
dilakukan adalah:
�� Menulis surat
�� Surat dimasukkan ke dalam amplop tertutup
�� Amplop ditempeli perangko secukupnya.
�� Pergi ke Kantor Pos terdekat untuk mengirimkannya.
Dalam bidang komputer, algoritma sangat diperlukan dalam menyelesaikan berbagai masalah
pemrograman, terutama dalam komputasi numeris. Tanpa algoritma yang dirancang baik maka
proses pemrograman akan menjadi salah, rusak, atau lambat dan tidak efisien.
Pelaksana algoritma adalah Komputer.
Manusia dan komputer berkomunikasi dengan cara: manusia memberikan perintah-perintah kepada
komputer berupa instruksi-instruksi yang disebut program.
Alat yang digunakan untuk membuat program tersebut adalah bahasa pemrograman.
Bahasa pemrograman sangat bermacam-macam: C, C++, Pascal, Java, C#, Basic, Perl, PHP, ASP, JSP,
J#, J++ dan masih banyak bahasa lainnya. Dari berbagai bahasa pemrograman cara memberikan
instruksinya berbeda-beda namun bertujuan menghasilkan output yang sama.
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. Beberapa pakar
memberi formula bahwa :
Program = Algoritma + Bahasa (Struktur Data)
Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah program.
Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi
kurang baik, demikian juga sebaliknya.
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.
Beberapa hal yang perlu diperhatikan dalam membuat algoritma :
Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi tersebut dapat
ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami.
Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman.
Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik.
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.
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.
Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu
permasalahan ke dalam bahasa pemrograman.
Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer,
algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman. Ada beberapa hal yang harus
diperhatikan pada translasi tersebut, yaitu :
a. Pendeklarasian variabel
Untuk mengetahui dibutuhkannya pendeklarasian variabel dalam penggunaan bahasa pemrograman
apabila tidak semua bahasa pemrograman membutuhkannya.
b. Pemilihan tipe data
Apabila bahasa pemrograman yang akan digunakan membutuhkan pendeklarasian variabel maka
perlu hal ini dipertimbangkan pada saat pemilihan tipe data.
c. Pemakaian instruksi-instruksi
Beberapa instruksi mempunyai kegunaan yang sama tetapi masing-masing memiliki kelebihan dan
kekurangan yang berbeda.
d. Aturan sintaksis
Pada saat menuliskan program kita terikat dengan aturan sintaksis dalam bahasa pemrograman yang
akan digunakan.
e. Tampilan hasil
Pada saat membuat algoritma kita tidak memikirkan tampilan hasil yang akan disajikan. Hal-hal
teknis ini diperhatikan ketika mengkonversikannya menjadi program.
f. Cara pengoperasian compiler atau interpreter.
Bahasa pemrograman yang digunakan termasuk dalam kelompok compiler atau interpreter.
Pengenalan Flowchart
Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses
beserta instruksinya. Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap simbol
menggambarkan proses tertentu. Sedangkan hubungan antar proses digambarkan dengan garis
penghubung.
Flowchart ini merupakan langkah awal pembuatan program. Dengan adanya flowchart urutan poses
kegiatan menjadi lebih jelas. Jika ada penambahan proses maka dapat dilakukan lebih mudah.
Setelah flowchart selesai disusun, selanjutnya pemrogram (programmer) menerjemahkannya ke
bentuk program dengan bahsa pemrograman.
Simbol-simbol flowchart
Flowchart disusun dengan simbol-simbol. Simbol ini dipakai sebagai alat bantu menggambarkan
proses di dalam program.
Kaidah-kaidah pembuatan Flowchart
Dalam pembuatan flowchart tidak ada rumus atau patokan yang bersifat mutlak. Karena flowchart
merupakan gambaran hasil pemikiran dalam menganalisa suatu masalah dengan komputer.
Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan pemrogram
lainnya.
Namun secara garis besar, setiap pengolahan selalu terdiri dari tiga bagian utama, yaitu;
• Input berupa bahan mentah
• Proses pengolahan
• Output berupa bahan jadi.
Untuk pengolahan data dengan komputer, dapat dirangkum urutan dasar untuk pemecahan suatu
masalah, yaitu;
•
START: berisi instruksi untuk persiapan perlatan yang diperlukan sebelum menangani
pemecahan masalah.
•
READ: berisi instruksi untuk membaca data dari suatu peralatan input.
•
PROCESS: berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data
yang dibaca.
•
WRITE: berisi instruksi untuk merekam hasil kegiatan ke perlatan output.
•
END: mengakhiri kegiatan pengolahan
RAPTOR
merupakan pemrograman yang berbasis flowchart, RAPTOR dirancang khusus untuk membantu
memvisualisasikan algoritma yang telah kita buat. Program RAPTOR diciptakan secara visual dan
dieksekusi secara visual dengan menelusuri eksekusi melalui flowchart. Biasanya kita lebih suka
menggunakanflowchart untuk mengekspresikan algoritma, dan lebih berhasil menciptakan algoritma
menggunakan RAPTOR daripada menggunakan bahasa tradisional atau
menulis flowchart tanpa RAPTOR.
RAPTOR ditulis dalam kombinasi dari bahasa C # dan A # (port dari Ada untuk.NET Framework.) dan
hanya didukung pada Windows. RAPTOR telah bereksperimen dengan Mono di Mac OS X dan
Ubuntu. Versi Mac tidak berjalan sama sekali, tetapi RAPTOR dapat berjalan pada Ubuntu dengan
beberapa fitur yang harus dihilangkan.
RAPTOR memiliki beberapa mode, secara default kita memakai mode Novice. Mode Novice
memiliki global namespace tunggal untuk setiap variabel. ModeIntermediate digunakan untuk
membuat prosedur yang memiliki ruang lingkup mereka sendiri (memperkenalkan gagasan lewat
parameter dan mendukung rekursi). Mode baruRAPTOR adalah mode yang berorientasi object, yaitu
versi 2009.
RAPTOR bebas untuk didistribusikan sebagai layanan kepada masyarakat.RAPTOR pada awalnya
dikembangkan oleh dan untuk US Air Force Academy, Departemen Ilmu Komputer, namun
penggunaannya telah menyebar danRAPTORsekarang digunakan untuk pendidikan di lebih 17 negara
pada setidaknya 4 benua.
RAPTOR juga di lengkapi dengan proses generate flowchart ke beberapa source code yang sudah
banyak di kenal seperti C++, Java, C# dan lain-lain. Sehingga pengguna tidak perlu lagi membangun
dari awal sebuah source code, karena dariflowchart yang telah di buat langsung di terjemahkan
ke Source Code olehRAPTOR.
Keunggulan dari software RAPTOR Interpreter Flowchart adalah dapat mengeksekusi flowchart yang
telah di bangun menjadi sebuah visualisasi yang nyata, sehingga pengguna dapat mengetahui step by
step flowchart yang mereka buat melalui eksekusi secara visual dalam tiap langkahnya. Selain itu
kelebihan dari Raptor Interpreter Flowchart ini ada pada saat kita membuat flowchartdengan penulisan
variabel, RAPTOR di dukung dengan adanya fitur Auto Complete seperti layaknya pada
Pemrograman Visual Basic.
Gambar diatas merupakan interface dari RAPTOR. Disebelah kiri merupakan simbol-simbol yang dapat
kita gunakan untuk membuat sebuahflowchart. Berikut adalah fungsi dari symbol-simbol diatas :
Purpose
Symbol
Name
INPUT
input statement
PROCESSING
assignment
statement
Description
Allow the user to enter data. Each data value is
stored in a variable.
Change the value of a variableusing some
type of mathematical calculation.
Execute a group of instructions defined in the
PROCESSING
procedure call
OUTPUT
output
statement
named procedure. In some cases some of the
procedure arguments (i.e., variables) will be
changed by the procedure's instructions.
Display (or save to a file) the value of
avariable.
Operator dan Fungsi
Operator atau fungsi memerintahkan komputer untuk melakukan beberapa perhitungan pada data.
Operator ditempatkan antara data yang dioperasikan (yaitu X / 3, Y +7, dll) sedangkan fungsi
menggunakan tanda kurung untuk menunjukkan data tersebut beroperasi pada (yaitu sqrt (4.7), sin
(2,9)). Ketika dieksekusi, operator dan fungsi melakukan perhitungan dan mengembalikan
hasil. RAPTOR memiliki operator dan fungsi sebagai berikut :

basic math : +, -, *, /, ^, **, rem, mod, sqrt, log, abs, ceiling, floor.

trigonometry : sin, cos, tan, cot, arcsin, arcos, arctan, arccot.

relational : =, !=, /=, <, >, >=, <=.


logical : and, or, not.
miscellaneous : random, Length_of.
Operator matematika dasar dan fungsi yang termasuk biasa (+, -, *, /) serta beberapa yang tidak biasa.

"**" dan "^" adalah exponentiation, seperti 2 ** 4 adalah 16, 3 ^ 2 adalah 9.

rem (remainder) dan mod (modulus) mengembalikan sisa (apa yang tersisa) ketika operan
kanan membagi operan kiri, contoh : 10 rem 3 adalah 1, 10 mod 3 adalah 1 juga.

sqrt mengembalikan akar kuadrat, contoh : sqrt (4) adalah 2.

log mengembalikan logaritma natural, contoh : log (e) adalah 1.

abs mengembalikan nilai absolut, contoh : abs (-9) adalah 9.

ceiling pada seluruh nomor, contoh : ceiling (3,14159) adalah 4.

floor pada seluruh nomor, contoh : floor (10/3) adalah 3.

"+" juga bekerja sebagai operasi concatenation untuk menggabungkan dua string atau string
dan angka, contoh : "rata-rata adalah" + (Jumlah / Angka).

length_of mengembalikan jumlah karakter dalam sebuah variabel string (juga jumlah elemen
dengan sebuah array), contoh : Nama ← "Stuff" diikuti dengan Length_Of (Nama) adalah 5.
Kita terbiasa dengan fungsi trigonometri (sin, cos, tan, cot, arcsin, arcos, arctan, arccot). Mereka
bekerja pada berbagai unit yang bernilai radian. (kita harus mengkonversi dari derajat ke radian
sebelum menggunakan fungsi tersebut.). arctan dan arccot adalah versi kedua parameter fungsi ini.
(yaitu arctan (X / Y) ditulis dalam RAPTOR sebagai arctan (X, Y)).
Dalam RAPTOR, operator relasional dan operator logika hanya dapat digunakan dalam pengambilan
keputusan sebagai bagian dari statement Selection dan Loop. Operator relasional adalah != = (tidak
sama dengan), / = (tidak sama dengan), <,>,> = dan <=. Operator relasional mengembalikan
nilai "Boolean" dalam "True"atau "False" (ya atau tidak). Sebagai contoh, operasi X < Y akan
mengembalikanTRUE jika nilai yang tersimpan dalam variabel X kurang dari nilai yang disimpan dalam
variabel Y. Jika tidak nilai FALSE dikembalikan. Hasil dari operasi relasional dapat digunakan oleh
operator logika.
Operator logika didefinisikan oleh tabel berikut. Operan yang digunakan oleh operator logika harus
bernilai"Boolean" (artinya nilai-nilai yang dikembalikan oleh operator relasional atau operator logis).
Fungsi secara acak mengembalikan angka antara 0 dan 1, contoh : X ← secara acak bisa menjadi 0,
0,23, 0,46578, dll. Jika kita memerlukan nomor acak dalam kisaran yang berbeda maka kita bisa
menggabungkan fungsi acak dengan operasi lain. Misalnya, random * 100 akan mengevaluasi ke
angka antara 0 dan 100. ceiling (random * 100) akan mengevaluasi ke seluruh nomor antara 1 dan
100.
Untuk yang mau download programnya, silahkan langsung cek ke web nya langsung (file kecil ko cm
skitar brp MB aja
).
Download