Pengantar Algoritma & Pemrograman Komputer

Click here to load reader

  • date post

    20-Jun-2015
  • Category

    Documents

  • view

    2.390
  • download

    1

Embed Size (px)

Transcript of Pengantar Algoritma & Pemrograman Komputer

Algoritma & Pemrograman

Hendra, S.T.

Pengantar Algoritma & Pemrograman KomputerProgram Komputer Program komputer adalah suatu himpunan dari instruksi yang memberitahukan kepada komputer apa yang harus dilakukan. Instruksi tersebut mungkin memberitahukan kepada komputer untuk menambah, membandingkan, dan membuat keputusan berdasarkan hasilnya. Bahasa Komputer Agar suatu komputer dapat mengenali instruksi yang anda berikan, instruksi tersebut perlu ditulis dalam bahasa yang dimengerti oleh komputer. HIGH-LEVEL dan LOW-LEVEL Pada dasarnya orang mengolongkan Bahasa komputer menjadi dua golongan besar yaitu High-Level dan Low-Level. Bahasa pemrograman seperti BASIC, PASCAL, FORTRAN dan C, memungkinkan programmer untuk menulis program yang tidak begitu tergantung pada jenis komputer. Berdasarkan hal inilah bahasa-bahasa ini dapat dikategorikan sebagai high-level karena lebih dekat kepada manusia. Sebaliknya, bahasa assembly dikategorikan sebagai low-level karena mereka sangat dekat kepada hardware. Keuntungan utama dari bahwa high-level dibandingkan dengan low level adalah lebih mudah dibaca, ditulis, dan ditangani. Selanjutnya program yang ditulis dengan bahasa high-level harus diterjemahkan menjadi bahasa mesin melalui suatu compiler atau interpreter.

BAHASA MESIN Sesuatu hal yang harus dipahami bahwa setiap CPU hanya mengerti satu bahasa. Bahasa ini dikenal sebagai machine language (bahasa mesin). Indoprog

1

Algoritma & Pemrograman

Hendra, S.T.

Semua bahasa mesin adalah suatu bahasa numerik, karena memori yang berada didalam komputer hanya dapat menyimpan data numerik. Walaupun anda bekerja dengan text [misalnya melihat halaman web] komputer bekerja dengan bilangan binary. Oleh karena itu menulis dalam bahasa mesin sangat sulit dan membosankan, serta sering terjadi kesalahan Setiap keluarga CPU yang berbeda memiliki bahasa mesin yang berbeda pula. Bahasa mesin untuk Intel Pentium adalah berbeda sama sekali dengan bahasa mesin yang digunakan pada Power PC ataupun Sun SPARC.

ASSEMBLY LANGUAGE Bahasa Assembly merupakan suatu lompatan yang besar dari bahasa mesin, tetapi sebenarnya bukanlah suatu langkah yang besar. Bahasa Assembly adalah suatu mnemonic sederhana untuk mengantikan bahasa mesin. Dari pada menulis angka 54 24 66 9C FE C2 84 92 kedalam memori, programmer bahasa assembly dapat menulis LDX 24, [669C].

Indoprog

2

Algoritma & Pemrograman

Hendra, S.T.

Berikut ini adalah contoh bahasa assembly dengan bahasa mesin yang berasosiasi disampingnya.

Beberapa hal yang perlu anda ingat tentang bahasa assembly.1.

Walaupun programmer menjadi lebih produktif, tetapi mereka tetap harus menulis bahasa assembly untuk setiap perintah bahasa mesin.

Komputer tidak mengerti bahasa assembly sama sekali, hanya bahasa mesin. Setelah suatu program assembly dibuat, programmer harus mengkonversi program tersebut menjadi bahasa mesin dengan suatu program yang dikenal sebagai assembler, dan baru dapat dijalankan.

Indoprog

3

Algoritma & Pemrograman

Hendra, S.T.

BAHASA TINGKAT TINGGI Orang segera menyadari bahwa komputer dapat menterjemahkan bahasa assembly mejadi kode mesin, dan mereka mudah memikirkan bagaimana jika komputer dapat diprogram dengan bahasa yang lebih "alamiah" [lebih alamiah untuk manusia], inilah awal dari bahasa generasi ketiga yaitu High Level Languages.

INTERPRETER dan COMPILER Ketika anda menggunakan suatu interpreter, ia akan membaca perintah source code baris perbaris, kemudian menterjemahkannya menjadi perintah mesin yang bersesuaian (kode mesin) dan menjalankannya seketika. Kode mesin ini tidak disimpan; sehingga ketika anda mencoba menjalankan program yang sama pada kesempatan berikutnya, anda membutuhkan source code dan interpreter untuk menjalankannya. Ketika anda menggunakan suatu compiler, ia akan membaca perintah source code dan menulis kode mesin. Setelah selesai keseluruhan kode mesin akan disimpan untuk pemakaian selanjutnya. Ketika anda ingin menjalankan program tersebut, system operasi akan menjalankan kode mesin yang telah disimpan dalam hal ini source code tidak diperlukan lagi. Eksekusi menjadi lebih cepat, dan dapat dijalankan dikomputer lain (dalam hal ini pada komputer dan system operasi yang sama)

Indoprog

4

Algoritma & Pemrograman

Hendra, S.T.

KOMPUTER DAN ALGORITMA Untuk membuat komputer melakukan sesuatu, anda perlu untuk menulis program komputer. Dalam menulis suatu program komputer, kita perlu memberitahukan kepada komputer, langkah-langkah persis apa yang harus ia lakukan. Ketika komputer menjalankan program tersebut, ia akan melakukan setiap langkah secara mesin untuk mencapai tujuan akhir. Ketika anda memberitahu kepada komputer apa yang harus dilakukan, anda perlu memilih bagaimana hal tersebut dilakukan. Dari sinilah Algoritma Komputer muncul. Algoritma adalah teknik dasar untuk menyelesaikan suatu pekerjaan. Perhatikan contoh berikut untuk membantu pengertian anda tentang konsep dari algoritma. Katakanlah misalnya anda mempunyai teman yang baru tiba di airport, dan teman anda ingin berangkat dari airport ke rumah anda. Berikut ini adalah empat algoritma yang berbeda yang mungkin dilakukan teman anda:Algoritma taxi: Pergi ke pemberhentian taxi. Masuk ke taxi. Berikan alamat rumah anda. Algoritma Telepon untuk dijemput: Ketempat pemberhentian, telepon ke handphone anda. Menunggu saja ditempat pengambilan bagasi. Algoritma Bus: Keluar dari tempat pengambilan bagasi, naik bus nomor 70. Turun dan naik bus nomor 14 pada jalan utama. Turun di jalan pada jalan AB. Jalan kaki dua blok arah utara ke rumah anda.

Ketiga algoritma diatas memiliki tujuan yang sama, tetapi masing-masing melakukannya dengan cara yang berbeda. Masing-masing algoritma diatas juga menghabiskan waktu dan biaya yang berbeda. Naik taxi, adalah contoh yang paling cepat, tetapi paling mahal. Naik bus mungkin adalah paling hemat, tetapi lambat. Tentu saja anda perlu memilih algortima sesuai dengan situasi dan kondisi. Dalam pemrograman komputer, juga terdapat banyak cara algoritma yang berbeda. Masing-masing algoritma memiliki keuntungan dan kerugian untuk situasi yang berbeda. Kata algoritma (algorithm) berasal dari nama matematikawan Persia pada abad 9 Abu Abdullah Muhammad bin Musa al-Khwarizmi. Kata aslinya algorism mengacu pada aturan dari melakukan aritmetika menggunakan bilangan Arab dan berkembang menjadi algoritma pada abad 18. Kata ini sekarang berevolusi untuk mencantumkan semua prosedur-prosedur khusus untuk memecahkan masalah atau mengerjakan tugas Kasus pertama dari algoritma yang ditulis untuk komputer adalah catatan Ada Byron's notes pada analytical engine yang ditulis pada tahun 1842, yang mana diyakini

Indoprog

5

Algoritma & Pemrograman

Hendra, S.T.

banyak orang sebagai programmer pertama didunia. Bagaimanapun, sejak Charles Babbage tidak pernah menyelesaikan analytical engine-nya, dan algoritma tersebut tidak pernah diimplementasi padanya. Tahapan Pengembangan Program Permasalahan dalam pembuatan program yang besar tentu saja berbeda dengan program yang kecil, pada program yang kecil umumnya dikembangkan untuk sekali pakai dan meliputi suatu detail yang kecil, sedangkan program yang besar umumnya dikembangkan atas permintaan dan dipakai oleh orang lain. Oleh karena itu program tersebut harus ditulis dengan lebih hati-hati untuk mencegah segala bentuk pemakaian yang menyimpang, serta harus disertai dengan dokumentasi dan petunjuk pemakaian. Hal lain yang harus dinyakini adalah keterbatasan memori manusia, kebanyakan orang dengan mudah dapat memahami program dibawah 10 baris dalam beberapa detik, dan mereka tetap dapat mengingatnya pada saat perubahan dibutuhkan. Pada program yang besar, programmer harus memiliki semua informasi yang tertulis untuk memahami atau mengubah program. Oleh karena itu, penulisan program yang besar adalah tidak mudah, bahkan untuk programmer yang profesional. Kita sering mendengar bahwa berbagai program besar memiliki banyak bug maupun menyebabkan crash ketika dioperasikan pada kondisi tertentu dan beberapa lama setelah dijalankan. Adalah tidak mungkin untuk menghasilkan program yang bebas dari kesalahan, kita sering tidak mengetahui dengan persis. Tetapi banyak cara yang dapat kita lakukan untuk menghasilkan program dengan bug yang lebih sedikit. Salah satunya adalah memahami langkah-langkah pengembangan suatu program yang besar, langkah-langkah ini dikenal sebagai Software Development Life Cycle. 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. 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.

Indoprog

6

Algoritma & Pemrograman

Hendra, S.T.

Gambar : Tahap pengembangan program 1. Batasan Masalah Merencanakan sistim dan spesifikasi program: Siapa yang akan menggunakan program dan untuk apa? dengan cara: a. Menentukan tujuan dan hasil yang akan dicapai b. Menentukan hal-hal yang diperlukan oleh sistim c. Pengumpulan data 2. Pengembangan Model Pembuatan model dari sistim yang akan kita bangun, model adalah suatu gambaran sederhana dari sistim yang kita buat. Dengan pembuatan model akan terlihat deng