Belajar Algoritma Pemrograman bag. 1
PENDAHULUAN
1. Dasar-Dasar Pemrograman
Dalam dunia komputer dikenal beraneka ragam bahasa pemrograman. Karena begitu banyaknya, maka bahsa-bahasa tersebut dikelompokkan berdasarkan kriteria tertentu. Ada yang mengelompokkan menurut tingkatan bahasa, yaitu high level, middle level, dan low level. Ada juga yang mengelompokkannya menjadi procedural/functioning programming, object orietend programming, dan sebagainya. Pada dasarnya bahasa-bahasa pemrograman tersebut memiliki bagian-bagianyang serupa. Yang membedakan hanyalah tata bahasa yang digunakan.
2. Belajar Memprogram dan Belajar Bahasa Pemrograman
Belajar memprograman tidak sama dengan belajar bahasa pemrograman. Belajar memprogram adalah tentang metologi pemecahan masalah. Kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami. Belajar bahasa pemrograman berarti belajar memakai suatu bahasa, aturan, tata bahasanya, instruksi-instruksinya, tata cara pengoperasiancompiler-nya, dan manfaatkan instruksi-instruksi tersebut untuk membuat program yang ditulis dalam bahasa itu saja.
3. Klasifikasi Bahasa Pemrograman
Sampai saat ini terdapat puluhan bahasa pemrograman. Kita dapat menyebutkan antara lain bahasa rakitan (assemblly),Fortron, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog. Bahasa-bahasa simulasi seperti CSMP, Simscript, GPSS, Dinamo dan banyak lagi. Belakangan juga muncul bahasa pemrograman baru seperti Perl dan Java.
Berdasarkan terapannya, bahasa pemrograman digolangkan atas :
- Bahasa Pemrograman Bertujuan Khusus. Yang termasuk kelompok ini adalah Cobol (untuk terapan bisnis dan administrasi), Fortran (terapan komputasi ilmiah), Prolog (terapan kecerdasan buatan), dan sebagainya.
- Bahasa Pemrograman Bertujuan Umum. Dapat digunakan untuk berbagai aplikasi. Termasuk dalam kelompok ini adalah Pascal, Basic, dan C. Bahasa-bahasa bertujuan tidak berarti tidak bisa digunakan untuk aplikasi lain. Cobol misalnya dapat digunakan untuk terpan ilmiah.
4. Langkah-Langkah Pembuatan Program
Langkah-langkah sistematis pembuatan program, sebagai berikut :
4.1. Mendefinisikan permasalahan
4.2. Membuat rumusan untuk pemecahan masalah
4.3. Implementasi
4.4. Menguji coba dan membuat dokumentasi
5. Algoritma
Algoritma adalah urutan aksi-aksi yang dinyatakan dengan jelas dan tidak rancu untuk memecahkan suatu masalah dalam rentang waktu tertentu. Setiap aksi harus dapat dikerjakan dan mempunyai efek tertentu.
Algoritman dapat dituliskan dengan banyak cara, mulai dari menggunkan bahasa alami yang digunakan sehari-hari, simbol grafik bagan alir, sampai menggunakan bahasa pemrograman seperti bahasa Pascal.
Dari sumber lain, algoritma diartikan sebagai urutan langkah-langkah logis penyelesaian suatu masalah yang disusun secara sistematis.
Kata logis di atas merupakan kata kunci dalam sebuah algoritma. Langkah-langkah di dalam algoritma haruslah logis, ini berarti hasil dari urutan langkah-langkah tersebut harus dapat ditentukan, benar atau salahnya.
Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan oleh komputer, algoritma harus ditulis dalam notasi bahasa pemrograman sehingga dinamakan program. Jadi program adalah perwujudan atau implementasi teknis algoritma yang ditulis dalam bahasa pemrograman tertentu sehingga dapat dilaksanakan oleh komputer. Secara garis besar, algoritma adalah urutan langkah-langkah penyelesaian masalah, sedangkan program adalah realisasi algoritma dalam bahasa pemrograman. Program ditulis dalam salah satu bahasa pemrograman, dan kegiatan membuat program disebut pemrograman
(programming). Orang yang menulis program disebut pemrogram (programmer). Tiap-tiap langkah di dalam program disebut pemrogram (programmer). Tiap-tiap langkah di dalam program disebut pernyataan (statement) atau instruksi. Jadi, program tersusun atas deretan instruksi, bila suatu instruksi dilaksanakan, maka operasi-operasi yang bersesuaian dengan instruksi tersebut dikerjakan oleh komputer. Komputer secara garis besar tersusun atas empat komponen utama, yaitu piranti masukkan, piranti keluaran, unit pemroses utama (CPU), dan memori. Mekanisme kerja keempat komponen tersebut adalah mula-mula program dimasukkan ke dalam memori komputer, ketika program dilaksanankan (execute), setiap instruksi yang telah tersimpan di dalam komputer dikirim ke CPU, CPU mengerjakan operasi-operasi yang bersesuaian dengan instruksi tersebut. Bila suatu operasi memerlukan data, data dibaca di piranti masukkan, disimpan di dalam memori, lalu dikirim ke CPU untuk operasi yang memerlukannya tadi. Bila proses menghasilkan keluaran atau informasi, keluaran disimpan ke dalam memori, lalu memori menuliskan keluaran tasi di piranti keluaran (misalkan dengan mencetaknya ke layer monitor).
6. PASCAL
Pascal adalah bahasa tingkat tinggi (high level languange) yang orientasinya pada segala tujuan, dirancang oleh Prof. Niklaus Wirth dari Technical University di Zurich, Switzerland. Nama Pascal diambil sebagai penghargaan terhadap Blaise Pascal, ahli matematik dan philosophi terkenal abad 17 dari Prancis. Prof. Niklaus Wirth memperkenalkan compiler bahasa Pascal pertama kali untuk komputer CDC 6000 (Control Data Corporation) yang dipublikasikan pada tahun 1971 dengan tujuan untuk membantu mengajar program komputer secara sistematis, khususnya untuk memperkenalkan pemrograman yang terstruktur (structured programming). Jadi Pascal adalah bahasa yang ditujukan untuk membuat program terstruktur. Beberapa versi dari Pascal telah beredar di pasaran, diantaranya UCSD Pascal (University of California at San Diego Pascal), MS-Pascal (Microsoft Pascal), Apple Pascal, Turbo Pascal, dan lain sebagainya.
7. Langkah-Langkah Menuliskan Program Dalam Turbo Pascal
Langkah-langkahnya :
7.1. Bukalah Software Turbo Pascal for Windows 1.5 (TPW 1.5).
7.2. Pilih File à New, kemudian tulis Source Code program Pascal.
Source Code Pascal dapat ditulis pada jendela kerja baru atau text editor Pascal dengan nama file noname00.
7.3. Compile file dengan (ALT + F9 atau pilih sub menu Compile).
Compile file dijalankan untuk mengecek Source Code apakah sudah memenuhi aturan penulisan Source Code atau kesalahan syntax. Sedangkan untuk mengubah Source Code menjadi sebuah program, kita gunakan build yang terdapat di Compile à Build. Setelah Source Code tercompile, terbentuklah sebuah file dengan ekstensi ”.exe” yang sudah merupakan sebuah program executable.
7.4. Jalankan program dengan (CRTL + F9 atau pilih sub menu Run).
Setelah kita compile file yang berisi source code, maka sebagai hasil kompilasi tersebut kita akan mendapatkan suatu file yang bisa dijalankan (executable file). Menjalankan program yang kita buat berarti menjalankan file hasil proses kompilasi tersebut.
7.5. Untuk menyimpan pilih sub menu File à Save As.
Dalam melakukan penyimpanan, kita dapat memilih di direktori mana kita menyimpan file ”.pas atau ”.exe yang kita kerjakan, setelah memilih direktorinya kita dapat merubah nama file yang ingin kita simpan, dengan cara catatan di belakang nama file harus selalu dicantumkan ekstensinya (‘.pas).
READ MOREALGORITMA
Dalam matematika dan komputasi, algoritma atau algoritme [1] 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. Masalah timbul pada saat akan menuangkan bagaimana proses yang harus dilalui dalam suatu/sebuah sistem (program) bagi komputer sehingga pada saat eksekusinya, komputer dapat bekerja seperti yang diharapkan. Programer komputer akan lebih nyaman menuangkan prosedur komputasinya atau urutan langkah proses dengan terlebih dahulu membuat gambaran (diagram alur) diatas kertas.
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 memecahkanpermasalahan-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.
- READ MORE
Tidak ada komentar:
Posting Komentar