Dalam membuat algoritma penulisan algoritma harus ditranslasikan ke dalam bentuk


                                                    

Dalam membuat algoritma penulisan algoritma harus ditranslasikan ke dalam bentuk

Pengertian Algoritma

               Algoritma merupakan metode umum yang digunakan untuk menyelesaikan kasus-kasus tertentu. Algoritma juga bisa diartikan sebagai logika, metode dan tahapan (urutan) sistematis yang digunakan untuk memecahkan suatu permasalahan, urutan langkah logis untuk menyelesaikan masalah tertentu.

            Notasi Algoritma Algoritma mempunyai aturan penulisan sendiri yang disebut dengan notasi algoritma. Notasi algoritma ini tidak tergantung dari spesifikasi bahasa pemrograman tertentu dan komputer yang mengeksekusinya. Hal ini dikarenakan notasi algoritma bukanlah notasi bahasa pemrograman.

            Notasi algoritma merupakan bahasa universal yang dapat diterima oleh semua bahasa pemrograman yang ada. Oleh sebab itu algoritma yang baik harus dapat diterjemahkan ke dalam bentuk source code dari semua bahasa pemrograman yang ada. Untuk membuat algoritma dari suatu permasalahan, biasanya digunakan salah satu dari tiga buah notasi algoritma yang dikenal, yaitu uraian kalimat deskriptif, flow chart, atau pseudo code.

Sejarah algoritma

Kata algoritma berasal dari nama belakang seorang tokoh Matematikawan Persia bernama Muhammad ibn Musa al-Khuwarizmi (lahir tahun 730an, meninggal antara tahun 835 dan 850). Al-Khuwarizmi berasal dari propinsi Khorasan yang saat ini dikenal dengan Negara Uzbekistan. Uni soviet menghormati jasa – jasa al-Khuwarizmi dengan membuat gambar dirinya sebagai perangko. Di literatur barat dia lebih terkenal dengan sebutan Algorizm. Panggilan inilah yang kemudian dipakai untuk menyebut konsep algorithm yang ditemukannya. Dalam bahasa Indonesia kita kemudian menyebutkannya sebagai algoritma.

Algoritma adalah kunci dari bidang ilmu komputer, karena banyak bidang di bawah ilmu komputer yang lahir berdasarkan konsep algoritma ini.

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

Ada beberapa hal yang harus diperhatikan pada translasi tersebut, yaitu :

a.     Pendeklarasian variable

Untuk mengetahui dibutuhkannya pendeklarasian variabel dalam penggunaan bahasa pemrograman apabila    tidak semua bahasa pemrograman membutuhkannya.

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.

Pada saat menuliskan program kita terikat dengan aturan sintaksis dalam bahasa pemrograman yang akan digunakan.

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.

Contoh algoritma cara membuat kopi:

4.     Tuang air ke dalam gelas

Algoritma akan lebih baik lagi jika disusun secara sistematis menggunakan beberapa skema seperti:

Dalam membuat algoritma diperlukan suatu mekanisme atau alat bantu untuk menuangkan hasil pemikiran mengenai langkah-langkah penyelesaian masalah secara sistematis dan terurut. Pada dasarnya untuk bisa menyusun solusi diperlukan kemampuan problem solving yang baik. Oleh karena itu, sebagai sarana untuk melatih kemampuan tersebut diperlukan alat (tool) yang disebut flowchart.

Secara normal flowchart diartikan sebagai skema penggambaran dari algoritma atau proses.

Metode terstruktur pertama untuk mendokumentasikan proses flow, “diagram proses aliran”, diperkenalkan oleh Frank Gilbreth kepada anggota ASME pada 1921 sebagai presentasi “Proses Charts-Langkah Pertama di Menemukan Satu Best Way”. Gilbreth’s tool dengan cepat menemukan jalan masuk ke teknik industri kurikulum. Pada awal tahun 1930-an, seorang insinyur industri, Allan H. Mogensen mulai bisnis pelatihan orang-orang dalam penggunaan beberapa alat-alat teknik industri di Penyederhanaan Kerja Pertemuan di Lake Placid, New York.

Seorang lulusan 1944 kelas Mogensen, Seni Spinanger, mengambil peralatan kembali ke Procter and Gamble di mana dia mengembangkan Program Ubah Metode disengaja. Lulusan 1944 lain, Ben S. Graham, Direktur Teknik di Formcraft Standar Daftar Corporation, mengadaptasi bagan proses arus informasi pengolahan dengan pengembangan proses aliran multi-chart untuk menampilkan beberapa dokumen serta hubungan mereka. Pada 1947, ASME mengadopsi seperangkat simbol yang berasal dari asli Gilbreth bekerja sebagai Standar ASME untuk Proses Charts oleh Mishad, Ramsan, Raiaan.

Douglas Hartree menjelaskan bahwa Herman Goldstine dan John von Neumann mengembangkan diagram alur (awalnya, diagram) untuk merencanakan program-program komputer. account kontemporer-Nya didukung oleh insinyur IBM dan oleh Goldstine ingatan pribadi.

Pemrograman asli flow chart dari Goldstine dan von Neumann dapat dilihat dalam laporan tidak diterbitkan, “Perencanaan dan pengkodean masalah bagi alat komputasi elektronik, Bagian II, Volume 1,” 1947, yang direproduksi dalam von Neumann karya dikumpulkanDiagram alur yang digunakan menjadi alat populer untuk menggambarkan algoritma komputer dan masih digunakan untuk tujuan ini. teknik-teknik modern seperti UML diagram aktivitas dapat dianggap sebagai perpanjangan dari diagram alur. Namun, popularitas mereka menurun ketika, pada 1970-an, interaktif terminal komputer dan generasi ketiga bahasa pemrograman menjadi alat yang umum dariperdagangan, karena algoritma dapat dinyatakan jauh lebih ringkas dan readably sebagai kode sumber dalam suatu bahasa. Sering kali, pseudo-kode yang digunakan, yang menggunakan idiom umum bahasa tersebut tanpa benar-benar mengikuti rincian satu tertentu.

Pengambilan keputusan perlu dilakukan apabila harus menentukan satu pilihan dari minimal dua pilihan yang ada. Dalam hal mengambil keputusan, perlu diketahui kondisi yang sedang dihadapi. Kondisi ini bisa berupa pernyataan atau proses perbandingan. Dalam flowchart, simbol yang digunakan untuk pengambilan keputusan adalah berbentuk belah ketupat.

                                        

Dalam membuat algoritma penulisan algoritma harus ditranslasikan ke dalam bentuk

                       Gambar decision / conditional

Simbol pengambilan keputusan hanya memiliki satu buah input dan dua buah output yang digunakan untuk memfasilitasi hasil dari pengujian kondisi, yaitu “YA” atau “TIDAK”, “ YES” atau “NO”, “TRUE” atau  “FALSE”.

                          

Dalam membuat algoritma penulisan algoritma harus ditranslasikan ke dalam bentuk

       Keuntungan menggunakan flowchart adalah penggunaan diagram untuk menggambarkan tahapan proses, sehingga lebih mudaha dilihat dan dipahami. Namun demikian flowchart juga memiliki kelemahan  yakni jika digunakan untuk menggambarkan tahapan proses atau algoritma untuk skala kasus yang besar, maka akan dibutuhkan banyak kertas.

Contoh flowchart membuat kopi:

                                                    

Dalam membuat algoritma penulisan algoritma harus ditranslasikan ke dalam bentuk

Gambar flowchart cara membuat kopi

Pseudocode adalah bentuk informal untuk mendeskripsikan algoritma yang mengikuti struktur bahasa pemrograman tertentu.

Tujuan dari penggunaan pseudocode adalah:

1.      Lebih mudah dibaca oleh manusia

2.     Lebih mudah untuk dipahami

3.     Lebih mudah dalam menuangkan hasil ide/ pemikiran.

         Pseudocode sering digunakan dalam buku-buku tentang ilmu komputer atau publikasi ilmiah untuk menjelaskan urutan proses atau metode tertentu, terutama yang kompleks atau algoritma baru biasanya akan memulainya dengan membuat deskripsi dalam bentuk pseudocode. Setelah pseudocode tersebut jadi maka langkah selanjutnya hanya tinggal menerjemahkannya ke dalam bahasa pemrograman tertentu. Pseudocode ini biasanya disusun dalam bentuk yang terstruktur dengan pendekatan sekuensial (berurutan) dari atas ke bawah.

         Algoritma yang menjelaskan tentang proses membuat teh manis sebenarnya sudah menerapkan penggunaan pseudocode. Sesungguhnya tidak ada standar khusus untuk menyusun algoritma menggunakan pseudocode.

Oleh karena pseudocode lebih cocok digunakan untuk menyusun algoritma dengan kasus yang besar dan kompleks, maka sangat dianjurkan kepada programmer pemula untuk mulai menggunakan pseudocode dalam menyelesaikan masalah.

                  

Dalam membuat algoritma penulisan algoritma harus ditranslasikan ke dalam bentuk

      Program adalah formulasi sebuah algoritma dalam bentuk bahasa pemrograman, sehingga siap untuk dijalankan pada mesin komputer. Membuat program sperti memberitahukan apa yang harus dilakukan pada orang lain. Mendesain algoritma yang benar dan menerjemahkannya ke dalam bahasa pemrograman bukanlah hal yang mudah karena bahasa pemrograman memiliki tata penulisan sendiri.

Bahasa atau dalam bahasa inggris 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. Komputer mengerjakan transformasi data berdasarkan kumpulan perintah - program - yang telah dibuat oleh pemrogram. Kumpulan perintah ini harus dimengerti oleh komputer, berstruktur tertentu (syntax) dan bermakna.

Pemrograman dalam pengertian luas meliputi seluruh kegiatan yang tercakup dalam pembuatan program, termasuk analisis kebutuhan (requirement's analysis) dan keseluruhan tahapan dalam perencanaan (planning), perancangan (design) dan pewujudannya (implementation). Dalam pengertian yang lebih sempit, pemrograman merupakan pengkodean (coding atau program writing = penulisan program) dan pengujiannya (testing) berdasarkan rancangan tertentu.

      Bahasa pemrograman adalah bahasa buatan yang digunakan untuk mengendalikan perilaku dari sebuah mesin komputer, sehingga dapat digunakan untuk memberitahu computer tentang apa yang harus dilakukan.

Struktur bahasa ini memiliki kemiripan dengan bahasa natural manusia karena juga terdiri dari elemen-elemen dasar seperti kata benda dan kata kerja, serta mengikuti aturan untuk menuysunnya menjadi kalimat.

          Elemen bahasa pemrograman:

        d. Keywords (Reserved Words)

Bahasa ini dibagi menjadi empat tingkatan yaitu bahasa mesin, bahasa tingkat rendah dan bahasa tingkat tinggi.

Bahasa mesin (machine language) berupa microinstruction atau hardwire. Programnya sangat panjang dan sulit dipahami. Di samping itu sangat tergantung pada arsitektur mesin. Keunggulannya adalah prosesnya sangat cepat dan tidak perlu interpreter atau penterjemah.

Bahasa tingkat rendah (low level language) berupa macroinstruction (assembly). Seperti halnya bahasa mesin, bahasa tingkat rendah tergantung pada arsitektur mesin. Programnya panjang dan sulit dipahami walaupun prosesnya cepat. Jenis bahasa tingkat ini perlu penterjemah berupa assembler.

Bahasa rakitan (assembly language) merupakan notasi untuk menyajikan bahasa mesin yang lebih mudah dibaca dan dipahami oleh manusia. Bahasa ini sudah menggunakan simbol alpabet yang bermakna (mnemonic).

Bahasa tingkat tinggi (high level language) menyerupai struktur bahasa manusia sehingga mudah dipahami. Bahasa ini tidak tergantung pada arsitektur mesin tetapi memerlukan penterjemah berupa compiler atau interpreter.

                                      

Dalam membuat algoritma penulisan algoritma harus ditranslasikan ke dalam bentuk

                                                                             Gambar pembagian bahasa pemrograman

Secara garis besar ada dua kategori bahasa pemrograman yaitu  bahasa pemrograman aras rendah (low level) dan bahasa pemrograman level tinggi (high level). Bahasa pemrograman aras rendah cenderung mendekati level komputer, ini artinya bahwa bahasanya ditulis mendekati atau sama dengan bahasa mesin komputer, hal ini sangat sulit ditulis karena bahasanya jauh dari bahasa manusia yang digunakan sehari-hari.  Bahasa pemrograman yang lebih mudah dipelajari adalah bahasa pemrograman aras tinggi. Disebut aras tinggi karena bahasanya mendekati level bahasa manusia sehingga lebih mudah dipahami.

Dengan penjelasan tersebut diatas, maka dapat dilihat bahwa menulis program dengan bahasa aras tinggi akan lebih mudah dan dapat dipahami dibandingkan dengan bahasa aras rendah karena bahasanya ditulis dengan kode numerik ataupun dengan sintak yang sangat  pendek sehingga sulit sekali dipahami.

Penulisan Bahasa pemrograman

Secara umum, bahasa pemrograman yang berbasiskan prosedur terdiri dari blok atau sub program. Yang memiliki dua bagian utama yaitu: Bagian deklarasi dan Bagian Statement.

Bagian deklarasi merupakan bagian program untuk mendefinisikan tipe data suatu variable, konstanta, serta fungsi dan prosedur yang akan digunakan pada program. Bagian Deklarasi terdiri dari deklarasi variable, deklarasi konstanta, deklarasi tipe data, dan deklarasi prosedur/function.

Bagian statement merupakan bagian program yang berisi perintah yang akan dieksekusi /dijalankan. Pada bahasa Pascal, bagian statement selalu diawali dengan reserved word begin dan end. Apabila blok statement adalah blok utama program, maka reserved word end harus diakhiri dengan tanda titik(.), sebaliknya jika blok statement bukan blok utama program maka reserved word end diakhiri dengan tanda titik koma (;). Sebaliknya pada bahasa C, dimulai dari deklarasi variable hingga akhir statement diawali dan diakhiri dengan tanda kurung kurawal { dan }.

Beda algoritma dan pemrograman

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.

Bahasa C++ diciptakan oleh Bjarne Stroustrup di AT&T Bell Laboratories awal tahun 1980-an berdasarkan C ANSI (American National Standard Institute). Pertama kali, prototype C++ muncul sebagai C yang dipercanggih dengan fasilitas kelas. Bahasa tersebut disebut C dengan kelas ( C wih class). Selama tahun 1983-1984, C dengan kelas disempurnakan dengan menambah fasilitas pembeban lebihan operator dan fungsi yang kemudian melahirkan apa yang disebut C++.

Symbol ++ merupakan operator C untuk operasi penaikan, muncul untuk menunjukkan bahwa bahasa baru ini merupakan versi yang lebih canggih dari C.  Borland International merilis compiler Borland C++ dan Turbo C++. Kedua compiler tersebut samasama dapat digunakan untuk mlakukan kompilasi kode C++. Bedanya, Borland C++ selain dapat digunakan dibawah lingkungan DOS, juga dapat digunakan untuk pemrograman Windows. Selain Borland International, beberapa perusahaan lain juga merilis compiler C++, seperti Topspeed C++ dan Zortech C++.

C++ diciptakan untuk mendukung pemrograman berorientasi pada objek (Object Oriented Pragramming/OOP) yang tidak dimiliki C. sementara C merupakan bahasa pemrograman terbaik dilingkungannya, bahasa ini tidak memiliki kemampuan OOP. Reputasi C tidak diragukan lagi dalam menghasilkan program .EXE berukuran kecil, eksekusi yang cepat, antarmuka (interfacing) yang sederhana dengan bahasa lain dan fleksibilitas pemrograman. Apa yang membuat C tampak sukar dipelajari mungkin karena tiadanya pemeriksaan tipe. Sebagai contoh, dapat mencampur bilangan bulat dengan string untuk menghasilkan karakter. Namun, justru dsitu letak fleksibilitas C, dapat mengolah data C sebebas mengolah data dalam bahasa assembly.

Dibandingkan compiler C++ yang lain, Borland C++ memiliki keunggulan terutama dalam hal kecepatan dan efisiensi kompilasi. Disamping itu, Borland C++ mendukung beberapa sistem operasi yaitu DOS, Windows 16bit (Window 3.0) dan windows 32 bit (Windows NT). Meskipun demikian compiler Borland C++ juga memiliki kelemahan bila dibandingkan compiler C++ yang lain, misalnya : pemrograman dengan Borland C++ terutama yang menyangkut tampilan jauh lebih sulit daripada pemrograman dengan Microsoft Visual C++. 

Struktur bahasa C++

Struktur bahasa C++ Program C maupun C++ selalu tersusun dari 4 (empat) bagian utama, yaitu :

1.       bagian komentar yang ditandai dengan simbol // dan pasangan  /* … */,

2.     bagian pengarah compiler yang ditandai dengan symbol #,

4.     bagian definisi membantu orang lain maupun pembuat program itu untuk memahami program yang dibuat.


Dalam C atau C++ setiap tulisan yang diapit oleh symbol /* … */ atau setiap baris yang dimulai dengan symbol // dianggap komentar.  Bahasa C++ tidak mengizinkan komentar bersarang (nested comment), namun Borland C++ lebih fleksibel dalam hal ini.

                

ü  http://oolish.blog.uns.ac.id/algoritma-dan-pemrograman/

ü  https://rihafblog.wordpress.com/2011/07/23/pengenalan-program-bahasa-c/

ü  https://www.slideshare.net/ahmadibnufajar/software-dan-brainware-39608584

ü  http://ndoware.com/flowchart-percabangan.html

ü  https://fathansalim2.wordpress.com/

ü  https://taufikhidayah05.wordpress.com/tag/algoritma/    



Dalam membuat algoritma penulisan algoritma harus ditranslasikan ke dalam bentuk