Assalamualikum Wr.Wb
Pada Artikel ini saya akan menjelaskan apa itu Algoritma dan Pemrograman.
Algoritma Dan Pemrograman
1.Definisi Algoritma
Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis. 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.
✔ Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis.
✔ Algoritma adalah urutan logis pengambilan keputusan untuk pemecahan masalah.
✔ Algoritma adalah urutan langkah-langkah berhingga untuk memecahkan masalah logika atau matematika.
✔ Algoritma adalah logika, metode dan tahapan (urutan) sistematis yang digunakan untuk memecahkan suatu permasalahan.
Menurut Donald E. Knuth dalam bukunya yang berjudul The Art of Computer Programming, algoritma harus mempunyai lima ciri penting :
1. Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas (berhingga)
2. Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua (ambiguous)
3. Algoritma memiliki nol atau lebih masukan (input)
4. Algoritma mempunya nol atau lebih keluaran (output)
5. Algoritma harus efektif an efisien.
2. Cara Penulisan Algoritma
Ada tiga cara penulisan algoritma, yaitu :
a. Structured English (SE)SE merupakan alat yang cukup baik untuk menggambarkan suatu algoritma. Dasar dari SE adalah Bahasa Inggris, namun kita dapat memodifikasi dengan Bahasa Indonesia sehingga kita boleh menyebutnya sebagai Structured Indonesian (SI). Algoritma seperti pada Contoh 5.10 dan 5.11 merupakan algoritma yang ditulis menggunakan SI. Karena dasarnya adalah bahasa sehari-hari, maka SE atau SI lebih tepat untuk menggambarkan suatu algoritma yang akan dikomunikasikan kepada pemakai perangkat lunak.
b. Pseudocode
Pseudocode mirip dengan SE. Karena kemiripan ini kadang-kadang SE dan Pseudocode dianggap sama. Pseudo berarti imitasi atau tiruan atau menyerupai, sedangkan code menunjuk pada kode program. Sehingga pseudocode adalah kode yang mirip dengan instruksi kode program sebenarnya. Pseudocode didasarkan pada bahasa pemrograman yang sesungguhnya seperti BASIC, FORTRAN atau PASCAL. Pseudocode yang berbasis bahasa PASCAL merupakan pseudocode yang sering digunakan Kadang-kadang orang menyebut pseudocode sebagai PASCAL-LIKE algoritma Apabila Contoh 5.10 ditulis dalam pseudocode berbasis bahasa BASIC akan tampak seperti pada contoh 5.12.
Contoh 5.12. Pseudocode.
1. Start
2. READ alas, tinggi
3. Luas = 0.5 * alas * tinggi
4. PRINT Luas
5. Stop
Pada Contoh 5.12 tampak bahwa algoritma sudah sangat mirip dengan bahasa BASIC. Pernyataan seperti READ dan PRINT merupakan keyword yang ada pada bahasa BASIC yang masing-masing menggantikan kata “baca data” dan “tampilkan”. Dengan menggunakan pseudocode seperti di atas maka proses penterjemahan dari algoritma ke kode program menjadi lebih mudah.
c. Flowchart
Flowchart atau bagan alir adalah skema/bagan (chart) yang menunjukkan aliran (flow) di dalam suatu program secara logika. Flowchart merupakan alat yang banyak digunakan untuk menggambarkan algoritma dalam bentu notasi-notasi tertentu. Secara lebih detil bagian ini akan dibahas pada bagian berikutnya.
✔ Algoritma adalah urutan logis pengambilan keputusan untuk pemecahan masalah.
✔ Algoritma adalah urutan langkah-langkah berhingga untuk memecahkan masalah logika atau matematika.
✔ Algoritma adalah logika, metode dan tahapan (urutan) sistematis yang digunakan untuk memecahkan suatu permasalahan.
Menurut Donald E. Knuth dalam bukunya yang berjudul The Art of Computer Programming, algoritma harus mempunyai lima ciri penting :
1. Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas (berhingga)
2. Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua (ambiguous)
3. Algoritma memiliki nol atau lebih masukan (input)
4. Algoritma mempunya nol atau lebih keluaran (output)
5. Algoritma harus efektif an efisien.
- Algoritma Percabangan dengan 1 Kondisi
- Algoritma Percabangan dengan 2 Kondisi
- Algoritma Percabangan lebih dari 2 Kondisi
- Kegiatan Belajar 5 Algoritma Percabangan Tersarang
- Perulangan dengan Kondisi Awal
- Perulangan dengan Kondisi Akhir
- Perulangan dengan Kondisi akhir diinputkan user
- Perulangan dengan menggunakan pencacah naik
- perulangan dengan menggunakan pencacah turu
- Pengenalan Variabel
- Pengenalan Operator
- Penyajian Algoritma dan pseudocode
- Penyajian Algoritma dengan Flowchart
- Penggunaan tool pembuatan
- Algoritma menggunakan bahasa Natural
- Flowchart
Ada tiga cara penulisan algoritma, yaitu :
a. Structured English (SE)SE merupakan alat yang cukup baik untuk menggambarkan suatu algoritma. Dasar dari SE adalah Bahasa Inggris, namun kita dapat memodifikasi dengan Bahasa Indonesia sehingga kita boleh menyebutnya sebagai Structured Indonesian (SI). Algoritma seperti pada Contoh 5.10 dan 5.11 merupakan algoritma yang ditulis menggunakan SI. Karena dasarnya adalah bahasa sehari-hari, maka SE atau SI lebih tepat untuk menggambarkan suatu algoritma yang akan dikomunikasikan kepada pemakai perangkat lunak.
b. Pseudocode
Pseudocode mirip dengan SE. Karena kemiripan ini kadang-kadang SE dan Pseudocode dianggap sama. Pseudo berarti imitasi atau tiruan atau menyerupai, sedangkan code menunjuk pada kode program. Sehingga pseudocode adalah kode yang mirip dengan instruksi kode program sebenarnya. Pseudocode didasarkan pada bahasa pemrograman yang sesungguhnya seperti BASIC, FORTRAN atau PASCAL. Pseudocode yang berbasis bahasa PASCAL merupakan pseudocode yang sering digunakan Kadang-kadang orang menyebut pseudocode sebagai PASCAL-LIKE algoritma Apabila Contoh 5.10 ditulis dalam pseudocode berbasis bahasa BASIC akan tampak seperti pada contoh 5.12.
Contoh 5.12. Pseudocode.
1. Start
2. READ alas, tinggi
3. Luas = 0.5 * alas * tinggi
4. PRINT Luas
5. Stop
Pada Contoh 5.12 tampak bahwa algoritma sudah sangat mirip dengan bahasa BASIC. Pernyataan seperti READ dan PRINT merupakan keyword yang ada pada bahasa BASIC yang masing-masing menggantikan kata “baca data” dan “tampilkan”. Dengan menggunakan pseudocode seperti di atas maka proses penterjemahan dari algoritma ke kode program menjadi lebih mudah.
c. Flowchart
Flowchart atau bagan alir adalah skema/bagan (chart) yang menunjukkan aliran (flow) di dalam suatu program secara logika. Flowchart merupakan alat yang banyak digunakan untuk menggambarkan algoritma dalam bentu notasi-notasi tertentu. Secara lebih detil bagian ini akan dibahas pada bagian berikutnya.
PROGRAM
Program adalah perwujudan atau implementasi logis algoritma yang ditulis menggunkan bahasa program tertentu, sehingga dapat dilaksanakan oleh komputer.
Belajar memprogram adalah belajar tentang strategi pemecahan masalah, metodologi dan sistematika pemecahan masalah tersebut kemudian menuangkannya dalam suatu notasi yang disepakati bersama.
1)Piranti masukan (Output)
2)Piranti keluaran (Input)
3)Pemerosesan
4)Penyimpanan
Interprier dan Comprier
Program adalah perwujudan atau implementasi logis algoritma yang ditulis menggunkan bahasa program tertentu, sehingga dapat dilaksanakan oleh komputer.
Belajar memprogram adalah belajar tentang strategi pemecahan masalah, metodologi dan sistematika pemecahan masalah tersebut kemudian menuangkannya dalam suatu notasi yang disepakati bersama.
1)Piranti masukan (Output)
2)Piranti keluaran (Input)
3)Pemerosesan
4)Penyimpanan
Interprier dan Comprier
Pengertian Compiler
Compiler adalah suatu program yang menerjemahkan bahasa program ( source
code) kedalam bahasa objek (obyek code). Compiler menggabungkan
keseluruhan bahasa program, mengumpulkannya dan kemudian menyusunnya
kembali.
Komplier memerlukan waktu untuk membuat
suatu program dapat di eksekusi oleh computer, program yang dieksekusi
oleh compiler adalah dapat berjalan lebih cepat disbanding program yang
diperoduksi oleh interpreter, disamping itu juga bersifat independen.
Contoh program yang menggunakan compiler adalah Visual Basic, Visual
Delvi, dan Pascal.
Tahap Kompilasi:- Pertama source code (program yang ditulis) dibaca kememori computer).
- Source code tersebut diubah menjadi objek code (bahasa Assembly).
- Objek code di hubungkan dengan liberary yang dibutuhkan untuk membentuk file yang bisa dieksekusi.
Interpreter adalah Perangkat lunak yang mampu mengeksekusi code program
(yang ditulis oleh programmer) lalu menterjemahkannya ke dalam bahasa
mesin, sehingga mesin melakukan instruksi yang diminta oleh programmer
tersebut. Perintah-perintah yang dibuat oleh programmer tersebut
dieksekusi baris demi baris, sambil mengikuti logika yang terdapat di
dalam kode tersebut.
Proses ini sangat berbeda dengan compiler, dimana pada compiler,
hasilnya sudah langsung berupa satu kesatuan perintah dalam bentuk
bahasa mesin, dimana proses penterjemahan dilaksanakan sebelum program
tersebut dieksekusi.
Interpreter atau dalam bahasa Indonesia dikenal sebagai Juru Bahasa
berbeda dengan Translator atau penterjemah dalam segi media yang dipakai
untuk menerjemahkan. Interpreter akan menterjemahkan bahasa sumber ke
dalam bahasa sasaran secara langsung atau orally sementara translator
akan menerjemahkan bahasa sumber ke bahasa sasaran secara tertulis.
Java dijalankan menggunakan interpreter yaitu Java Virtual Machine
(JVM). Hal ini menyebabkan source code Java yang telah dikompilasi
menjadi Java bytecodes dapat dijalankan pada platform yang berbeda-beda.
Perbedaan Compiler dan Interpreter secara keseluruhan:
Jika lebih lanjut, maka perbedaan antara compiler dan interpreter secara keseluruhan adalah sebagai berikut ini:
1. Pada compiler, jika hendak menjalankan program hasil kompilasi dapat dilakukan tanpa butuh kode sumber karena telah menghasilkan .exe, sedangkan kalau interpreter butuh kode sumber.
2. Jika pada compiler, pembuatan kode bisa dijalankan mesih dilakukan dalam 2 tahap terpisah, yaitu parsing (pembuatan kode objek) dan linking (pengabungan kdoe objek dengan library), sedangkan dalam interpreter tidak ada proses terpisah.
3. Compiler membutuhkan linker unuk mengabungkan kode objek dngan berbagai macam library demi menghasilkan suatau kode yang bisa dijalankan oleh mesin, sedangkan interpreter tidak butuk linker untuk mengabungkan kode objek dengan berbagai macam library.
4. Interpreter cocok digunakan untuk membuat//menguji coba modul (sub-routine / program – program kecil) tetapi dalam compiler agak susah melakukannya kaerna untuk mengubah suatu modul / kode objek kecil, maka harus dilakukan proses linkiing / penggabungan kembali semua objek dengan library yang diperlukan.
5. Pada compiler bisa dilakukan optimasi / peningkatan kualitas kodde yang bisa dijalankan.
Tujuan optimasi itu sendiri adalah agar lebih cepat, supaya ukuran lebih kecil dan keperluan untuk sistem dengan banyak processor, sedangkan interpreter susah atau bahkan tidak bisa dioptimasi.
Bahasa Pemrograman yang mengunakan Compiler dan Interpreter
1. Menggunakan Compiler:
- Visual Basic (VB)
- Fortran
- Cobol
- Pascal
- C family (C, C++, C#)
2. Menggunakan Interpreter:
- PHP
- ASP
- Perl
- Phyton
Jika lebih lanjut, maka perbedaan antara compiler dan interpreter secara keseluruhan adalah sebagai berikut ini:
1. Pada compiler, jika hendak menjalankan program hasil kompilasi dapat dilakukan tanpa butuh kode sumber karena telah menghasilkan .exe, sedangkan kalau interpreter butuh kode sumber.
2. Jika pada compiler, pembuatan kode bisa dijalankan mesih dilakukan dalam 2 tahap terpisah, yaitu parsing (pembuatan kode objek) dan linking (pengabungan kdoe objek dengan library), sedangkan dalam interpreter tidak ada proses terpisah.
3. Compiler membutuhkan linker unuk mengabungkan kode objek dngan berbagai macam library demi menghasilkan suatau kode yang bisa dijalankan oleh mesin, sedangkan interpreter tidak butuk linker untuk mengabungkan kode objek dengan berbagai macam library.
4. Interpreter cocok digunakan untuk membuat//menguji coba modul (sub-routine / program – program kecil) tetapi dalam compiler agak susah melakukannya kaerna untuk mengubah suatu modul / kode objek kecil, maka harus dilakukan proses linkiing / penggabungan kembali semua objek dengan library yang diperlukan.
5. Pada compiler bisa dilakukan optimasi / peningkatan kualitas kodde yang bisa dijalankan.
Tujuan optimasi itu sendiri adalah agar lebih cepat, supaya ukuran lebih kecil dan keperluan untuk sistem dengan banyak processor, sedangkan interpreter susah atau bahkan tidak bisa dioptimasi.
Bahasa Pemrograman yang mengunakan Compiler dan Interpreter
1. Menggunakan Compiler:
- Visual Basic (VB)
- Fortran
- Cobol
- Pascal
- C family (C, C++, C#)
2. Menggunakan Interpreter:
- PHP
- ASP
- Perl
- Phyton
Wassalamualaikum Wr.Wb