tugas 1 tutorial online anak berkebutuhan khusus di SD
ALGORITMA PENGENALAN
1. BAB I
PENGENALAN ALGORITMA
1. Tujuan Pembelajaran
a. mahasiswa akan mampu Menjelaskan definisi algoritma dan pembuatan
algoritma
2. Deskripsi umum
3. Penyajian
3.1. BAHASA PEMROGRAMAN
3.1.1. Bahasa (language) Adalah suatu sistim untuk berkomunikasi. Bahasa
tertulis menggunakan simbol (yaitu huruf) untuk membentuk kata. Dalam ilmu
komputer,bahasa manusia disebut bahasa alamiah (natural languages), dimana
komputer tidak bisa memahaminya, sehingga diperlukan suatu bahasa komputer.
3.1.2. Bahasa pemrograman (programming language)
Program merupakan sekumpulan instruksi yang merupakan penyelesaian
masalah. Program ‘dimasukkan’ kedalam komputer, komputer mengerjakan
instruksi-instruksi di dalam program tersebut, lalu memberikan hasil atau keluaran
yang diinginkan. Agar program dapat dilaksanakan oleh komputer, program
tersebut harus ditulis dalam suatu bahasa yang dimengerti oleh komputer. Karena
komputer adalah mesin maka program harus ditulis dalam bahasa yang khusus
dibuat untuk berkomunikasi dengan komputer. Bahasa komputer yang digunakan
dalam menulis program dinamakan bahasa pemrograman.
Jadi bahasa pemrograman yaitu kumpulan perintah-perintah bermakna,
berstruktur tertentu (syntax) yang dapat dimengerti komputer yang berguna
didalam penyelesaian masalah.
Dalam pengertian luas pemrograman meliputi seluruh kegiatan yang tercakup
dalam : Pembuatan program, termasuk analisis kebutuhan (requirement's
analysis), Keseluruhan tahapan dalam perencanaan (planning) , perancangan
(design) dan pewujudannya (implementation).
Dalam pengertian yang lebih sempit, pemrograman merupakan :
Pengkodean (coding atau program writing = penulisan program)
2. Pengujiannya (testing) berdasarkan rancangan tertentu.
Pemahaman yang lebih sempit ini sering digunakan dalam pembuatan
program – program terapan komersial yang membedakan antara system analyst
yang bertanggung jawab dalam menganalisa kebutuhan, perencanaan dan
perancangan program dengan pemrogram (programmer) yang bertugas membuat
kode program dan menguji kebenaran program.
Pemrograman berkaitan dengan komputer, yang digunakan untuk membantu
menyelesaikan persoalan.
• Strategi penyelesaian masalah oleh komputer mesti ditanamkan pada mesin
tersebut oleh manusia melalui suatu program oleh suatu bahasa pemrograman.
• Untuk menghasilkan program, manusia mesti mengunakan paradigma yang
memiliki prioritas dan keterbatasan. Program merupakan pernyatan yang disusun
menjadi satu kesatuan prosedur yang berupa urutan langkah yang disusun secara
logis dan sistematis untuk menyelesaikan masalah.
• Bahasa pemrograman adalah prosedur penulisan program, umumnya terdiri dari
3 faktor utama:
Sintaks, merupakan aturan penulisan bahasa pemrograman.
Semantik, adalah arti atau maksud yang terkandung pada statemen.
Kebenaran logika, adalah berhubungan benar tidaknya urutan statemen.
Produk yang dihasilkan oleh seorang pemrogram adalah program dengan
rancangan benar (metodologis & sistematis) yang dapat dieksekusi oleh mesin,
berfungsi dengan benar, sanggup melayani segala kemungkinan masukan dan
didukung dengan adanya dokumentasi.
3.1.3. GENERASI BAHASA PEMROGRAMAN
a. Generasi Pertama : BAHASA MESIN
Bahasa mesin adalah bahasa internal komputer yang mengeksekusi secara
langsung tanpa terjemahan (translation). Disebut generasi pertama karena
merupakan jenis yang paling awal dikembangkan: tahun 1940-an dan awal
1950-an semua program harus dikodekan dalam bahasa mesin. Pemrograman
dalam bahasa mesin :
3. Akan menyita waktu dan kondusif untuk membuat kesalahan
Berbeda untuk setiap jenis komputer, sehingga bergantung pada komputer
dan tidak standar
Semua program harus ada dalam bahasa mesin agar dapat dieksekusi,
sehingga bahasa lain yang ditulis programer perlu diterjemahkan oleh
komputer ke bahasa mesin untuk eksekusi.
b. Generasi Kedua : BAHASA ASSEMBLY
Penggunaan komputer secara komersial tahun 1950-an mengakibatkan
dikembangkannya bahasa assembly, Ciri-Ciri bahasa assembly :
Kode ditandai dengan nama yang mudah diingat seperti ADD, SUB, dan
MULT
Alamat penyimpanan (storage addresses) nyata di mana data ditempatkan
dapat didefinisikan dengan nama-nama seperti AMT1 dan AMT2 untuk
memudahkan rujukan
Bahasa assembly sangat menyerupai bahasa mesin, sehingga untuk
menjadi programmer bahasa assembly yang cakap kita harus memahami
arsitektur mesin, yakni bagaimana mesin itu secara fisik memproses data.
Sama seperti bahasa mesin, bahasa assembly tergantung komputer (tidak
portable). Untuk menerjemahkan kode-kode diperlukan program khusus yang
disebut ASSEMBLER. Bahasa assembly masih digunakan karena begitu mirip
dengan bahasa mesin dengan kode yang sangat efisien Untuk membuat system
software lebih disukai menggunakan bahasa assembly karena sangat efisiean
dalam penggunaan komputer (butuh memori yang kecil)
c. Generasi Ketiga : Bahasa Tingkat Tinggi
Penggunaan komputer dalam bisnis berkembang sangat dramatis pada tahun
1950- an. Bahasa mesin dan assembly terlalu sulit, sehingga muncul third-
generation languages (3GLs) yang lebih mudah untuk program dan portable.
Disebut tingkat tinggi karena mudah dipelajari & program tingkat-tinggi
memerlukan proses penerjemahan oleh komputer yang sangat rumit yang
disebut COMPILER atau INTERPRETER Seperti generasi pendahulunya
1GL dan 2GL, 3GL disebut bahasa prosedural (4GL dan 5GL disebut
4. bahasa nonprosedural), yakni program harus menentukan kumpulan
instruksi yang tepat yang dibutuhkan untuk menyelesaikan tugas yang
diberikan
Contoh bahasa tingkat-tinggi :
FORTRAN (FORmula TRANslator)
Cobol
Pascal
BASIC
MODULA-2
ADA
Object-oriented programming language
Bahasa C disebut bahasa “tingkat-menengah” karena format instruksinya dengan
bahasa tingkat-tinggi sekaligus bisa berinteraksi langsung dengan hardware.
d. Generasi Keempat
Ciri-ciri :
Mudah untuk dipelajari dan dipahami.
Tepat untuk pengaksesan database
Memfokuskan pada memaksimalkan produktivitas manusia dari pada
minimisasi waktu computer
Nonprosedural
Tersedia dalam software paket yang dapat digunakan untuk
mengembangkan aplikasi yang diinginkan
Contoh: Query language seperti SQL (structured query language), QBE
(query-by-example) dan INTELLECT, Report generator.
3.1.4. PENERJEMAH BAHASA PEMROGRAMAN
Untuk menterjemahkan bahasa pemrograman yang kita tulis maka diperlukan
Compiler & Interpreter.
5. a. Compiler adalah suatu program yang menterjemahkan bahasa program
(source code) ke dalam bahasa objek (object code) secara keseluruhan
program.
b. Interpreter berbeda dengan compiler, Interpreter menganalisis dan
mengeksekusi setiap baris dari program tanpa melihat program secara
keseluruhan. Keuntungan dari Interpreter adalah dalam eksekusi yang bisa
dilakukan dengan segera. Tanpa melalui tahap kompilasi, untuk alasan ini
interpreter digunakan pada saat pembuatan program berskala besar.
Compiler memerlukan waktu untuk membuat suatu program yang dapat
dieksekusi oleh komputer. Tetapi, program yang diproduksi oleh Compiler bisa
berjalan lebih cepat dibandingkan dengan yang diproduksi oleh Interpreter, dan
bersifat independen.
C. Perbedaan Interpreter dan Compiler
6. 3.2. ALGORITMA
3.2.1. Definisi Algoritma
Algoritma berasal dari kata algoris dan ritmis yang pertama kali
diungkapkan oleh Abu Ja’far Mohammad Ibn Musa Al Khowarizmi (825M)
dalam buku Al-Jabr Wa-al Muqobla. Dalam pemrograman algortima berarti suatu
metode khusus yang tepat dan terdiri dari serangkaian langkah-langkah yang
terstruktur dan dituliskan secara sistematis yang akan dikerjakan untuk
menyelesaikan masalah dengan bantuan komputer. Langkah-langkah tersebut
harus logis ini berarti nilai kebenarannya harus dapat di tentukan, benar atau
salah. Langah-langkah yang tidak benar dapat memberikan hasil yang salah.
Secara sederhanya algoritma dapat didefinisikan urutan langkah-langkah
logis , penyelesaian masalah yang disusun secara sistematis. Kata logis berarti
bahwa nilai kebenarannya harus dapat ditentukan, benar atau salah. Langkah-
7. langkah yang tidak benar dapat memberikan hasil yang salah. Algorithma
merupakan jantung ilmu komputer atau informatika tetapi algoritma tidak selalu
identik dengan ilmu komputer saja. Dalam kehidupan sehari-hari banyak terdapat
proses yang digambarkan dalam suatu algorithma.
Contoh 1:
Resep masakan/membuat kue : (resep kue), membuat pakaian (pola
pakaian), merakit mobil (panduan merakit).
Contoh 2 :
Misalkan terdapat dua buah gelas, gelas A dan gelas B. Gelas A berisi air
berwarna merah dan gelas B berisi air berwarna biru, kita ingin
menukarkan isi air kedua gelas tersebut, sehingga gelas A berisi air
berwarna biru dan gelas B berisi air berwarna merah.
Algoritma Tukar_Isi_Gelas :
Tuangkan air dari gelas A ke gelas B
Tuangkan air dari gelas B ke gelas A
Logis, karena yang terjadi bukan pertukaran tetapi percampuran
antara air di gelas A dengan air di gelas B. Sehingga algoritma
Tukar_Isi_Gelas diatas salah. Dari permasalahan diatas algoritma yang
benar adalah bahwa untuk menukarkan isi air pada gelas A dengan isi air
pada gelas B maka dibutuhkan sebuah gelas bantuan yang dipakai untuk
menampung salah satu air dalam gelas tersebut misalkan gelas C.
Sehingga algoritma yang benar dari permasalah diatas adalah :
Algoritma Tukar_Isi_Gelas
Tuangkan air dari gelas A ke gelas C
Tuangkan air dari gelas B ke gelas A
Tuangkan air dari gelas C ke gelas B
8. Proses pertukaran :
Tuangkan air dari gelas A ke gelas C
A B C
Tuangkan air dari gelas B ke gelas A
A B C
Tuangkan air dari gelas C ke gelas B
A B C
Keadaan setelah pertukaran
A B C
Sekarang algoritma Tukar_Isi_Gelas diatas sudah diperbaiki, sehingga isi air pada
gelas A dan isi air pada gelas B dapat dipertukarkan dengan benar.
9. Tahap pemecahan masalah adalah Proses dari masalah hingga terbentuk
suatu algoritma. Tahap implementasi adalah proses penerapan algoritma hingga
menghasilkan solusi. Solusi yang dimaksud adalah suatu program yang
merupakan implementasi dari algoritma yang disusun.
Contoh 3 :
Jika seseorang ingin mengirim surat kepada kenalannya ditempat lain, langkah
yang harus dilakukan adalah:
Menulis surat
Surat dimasukkan kedalam amplop tertutup
Amplop ditempeli perangko secukupnya.
Pergi keKantor Pos terdeka tuntuk 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.
3.2.2. CIRI-CIRI ALGORITMA YANG BAIK.
a. Tepat sasaran : memenuhi spesifikasi pekerjaan dan bekerja sesuai tujuan
b. Algortima ditulis dengan format yang mudah dipahami dan mudah
diimplementasikan ke dalam bahasa pemrograman ( Flexible dan portable
) :
Flexible untuk dikembangkan lebih lanjut
Portable untuk digunakan pada berbagai sistem dan mesin
c. Bersih dari kesalahan sistem ataupun lojik
d. Efektif : setiap langkah harus sederhana sehingga dapat dikerjakan dalam
sejumlah waktu yang masuk akal.
e. Algortima ditulis dengan bahasa yang standar secara sistematis dan rapi
sehingga tidak menimbulkan arti ganda (ambiguous).
f. Semua proses dalam algoritma harus berakhir setelah sejumlah langkah
dilakukan.
10. g. Algoritma memiliki logika perhitungan atau metode yang tepat dalam
menyelesaikan masalah.
3.2.3. ATURAN PENULISAN TEKS ALGORITMA
Ada dua cara penulisan Algoritma, yaitu :
a. Uraian deskriftif, Menggunakan bagan-bagan/symbol-simbol tertentu
seperti Diagram Alir (Flowchart)
b. Menggunakan kata-kata atau kalimat yang mirip dengan bahasa
pemrograman yaitu Psudo Code