Sabtu, 21 September 2013

MODUL 1 DASAR PEMOGRAMAN D3 MI UNESA



1.      Dasar Teori

Dasar Teori Tentang Algoritma dan Pemrograman
Algoritma adalah kumpulan perintah untuk menyelesaikan suatu masalah. Perintah-perintah ini dapat diterjemahkan secara bertahap dari awal hingga akhir atau urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis. Kata logis berarti benar sesuai dengan logoka manusia. Salah satu fungsinya ialah untuk mencari solusi atas permasalahan optimasi kombinasi, yaitu mendapatkan suatu nilai solusi optimal terhadap suatu permasalahan yang mempunyai banyak kemungkinan solusi. Dimana prinsip algoritma genetik diambil dari teori Darwin yaitu setiap makhluk hidup akan menurunkan satu atau beberapa karakter ke anak atau keturunannya.
Pemrograman adalah proses mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dengan menggunakan suatu bahasa pemograman  yaitu :
Defenisi Masalah -> Algoritma -> Bahasa Pemograman -> Hasil
Proses pemrograman komputer bukan saja sekedar menulis suatu urutan instruksi yang harus dikerjakan oleh komputer akan tetapi bertujuan untuk memecahkan suatu masalah serta membuat mudah pekerjaan pengguna komputer (user). Didalam membuat sebuah program komputer, tentu tidak terlepas dari sifat individu pemrogram (Programmer).
Karakteristik Algoritma
  • Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas. Sebagai contoh, dalam algoritma Euclidean, pada langkah 1, jika n = 0, algoritma berhenti, jika n tidak = 0 maka nilai n selalu berkurang sebagai akibat dari langkah 2 dan 3, dan pada akhirnya nilai n = 0. Program yang tidak pernah berhenti mengindikasikan bahwa program tersebut berisi algoritma yang salah.

  • Setiap langkah harus di defenisikan dengan tepat dan tidak berarti dua (ambiguous). Pembaca harus mengerti apa yang di maksud dengan “m” dan “n” adalah bilangan bulat tak negatif (-). Contoh lainnya pernyataan ” bagilah p dengan beberapa sejumlah bilangan bulat positif” dapat bermakna ganda. Berapakah yang di maksud dengan “berapa” ? Algoritma menjadi jelas jika langkah tersebut di tulis “bagilah p dengan 10 buah bilangan bulat positif”.

  • Algoritma memiliki nol atau lebih masukan (input). Masukan ialah besaran yang diberikan kepada algoritma untuk di proses. Algoritma Euclidean mempunyai dua buah masukan, yaitu m dan n.

  • Algoritma mempunya nol atau lebih keluaran (output). Keluaran dapat berupa pesan atau besaran yang memiliki hubungan dengan masukan. Algoritma Euclidean mempunyai 1 keluaran, yaitu m pada langkah 1, yang merupakan pembagi bersama terbesar dari kedua bilangan.
  • Algoritma harus sangkil (effective). Setiap langkah harus sederhana sehingga dapat di kerjakan dalam sejumlah waktu yang masuk akal

Flowchart
Flowchart  merupakan sebuah diagram dengan simbol-simbol grafis yang menyatakan aliran algoritma atau proses yang menampilkan langkah-langkah yang disimbolkan dalam bentuk kotak, beserta urutannya dengan menghubungkan masing masing langkah tersebut menggunakan tanda panah. Diagram ini bisa memberi solusi selangkah demi selangkah untuk penyelesaian masalah yang ada di dalam proses atau algoritma tersebut.


Jenis-jenis flowchart :
•  Document Flowchart, menunjukkan kontrol dari sebuah sistem aliran dokumen.
•  Data Flowchart, menunjukkan kontrol dari sebuah sistem aliran data.
•  System Flowchart, menunjukkan kontrol dari sebuah sistem aliran secara fisik.
•  Program Flowchart, menunjukkan kontrol dari sebuah program dalam sebuah sistem.

Psoudecode
Pseudocode merupakan deskripsi dari algoritma pemrograman komputer yang menggunakan struktur sederhana dari beberapa bahasa pemograman tetapi bahasa tersebut hanya ditujukan agar dapat dibaca manusia. Biasanya yang ditulis dari pseudocode adalah variabel dan fungsi. Tujuan penggunaan utama dari pseudocode adalah untuk memudahkan manusia dalam memahami prinsip-prinsip dari suatu algoritma. Penggunaan pseudocode umumnya banyak kita temukan di buku-buku dan artikel-artikel tentang pemrograman yang membahas tentang algoritma tertentu. Kadang pula pseudocode kita temukan dalam merencanakan pengembangan suatu program komputer. Pseudocode adalah notasi yang menyerupai bahasa pemrograman tingkat tinggi. Keuntungan menggunakan notasi pseudo code adalah kemudahan mengkonversinya lebih tepat yang disebut mentranslasi ke notasi bahasa pemrograman, karena terdapat korespondensi antara setiap pseudo code dengan notasi bahasa pemrograman. Dalam pseudocode, tidak ada syntax standar yang resmi. Karena itu, pseudocode ini dapat kita terapkan dalam berbagai bahasa pemograman. Tentu saja harus kita sesuaikan setiap tahap dengan bahasa pemograman yang kita gunakan. Fungsi dari pseudocode mungkin sama dengan Flowchart. Perbedaannya terletak pada cara penyampaiannya. Pseudocode menggunakan kata-kata untuk menjelaskan suatu algoritma, sedangkan Flowchart menggunakan gambar.
Contoh Perintah Pseudocode:
1. Masukkan bilangan pertama
2. Masukkan bilangan kedua
3. Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4, jika tidak, kerjakan langkah 5.
4. Tampilkan bilangan pertama
5. Tampilkan bilangan kedua

Bahasa Pemrograman
Bahasa pemrograman, atau sering diistilahkan juga dengan bahasa komputer, adalah teknik komando/instruksi standar untuk memerintah komputer. Bahasa pemrograman ini merupakan suatu himpunan dari aturan sintaks dan semantik yang dipakai untuk mendefinisikan program komputer. Bahasa ini memungkinkan seorang programmer dapat menentukan secara persis data mana yang akan diolah oleh komputer, bagaimana data ini akan disimpan/diteruskan, dan jenis langkah apa secara persis yang akan diambil dalam berbagai situasi.

Menurut tingkat kedekatannya dengan mesin komputer, bahasa pemrograman terdiri dari:
  • Bahasa Mesin, yaitu memberikan perintah kepada komputer dengan memakai kode bahasa biner, contohnya 01100101100110.

  • Bahasa Tingkat Rendah, atau dikenal dengan istilah bahasa rakitan (Assembly), yaitu memberikan perintah kepada komputer dengan memakai kode-kode singkat (kode mnemonic), contohnya MOV, SUB, CMP, JMP, JGE, JL, LOOP, dsb.

  • Bahasa Tingkat Menengah, yaitu bahasa komputer yang memakai campuran instruksi dalam kata-kata bahasa manusia (lihat contoh Bahasa Tingkat Tinggi di bawah) dan instruksi yang bersifat simbolik, contohnya {, }, ?, <<, >>, &&, ||, dsb.

  • Bahasa Tingkat Tinggi, yaitu bahasa komputer yang memakai instruksi berasal dari unsur kata-kata bahasa manusia, contohnya begin, end, if, for, while, and, or, dsb.
    • Sebagian besar bahasa pemrograman digolongkan sebagai Bahasa Tingkat Tinggi, hanya bahasa C yang digolongkan sebagai Bahasa Tingkat Menengah dan Assembly yang merupakan Bahasa Tingkat Rendah.
 Berikut adalah penjelasan tentang bahasa pemrograman yang biasa digunakan untuk membuat suatu program website:
·              PHP: Hypertext Preprocessor (PHP) adalah bahasa pemrograman script yang paling banyak dipakai saat ini. PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada waktu itu PHP masih bernama FI (Form Interpreted), yang wujudnya berupa sekumpulan script yang digunakan untuk mengolah data form dari web. PHP banyak dipakai untuk membuat situs web yang dinamis, walaupun tidak tertutup kemungkinan digunakan untuk pemakaian lain. PHP biasanya berjalan pada sistem operasi Linux (PHP juga bisa dijalankan dengan hosting windows).
·              ASP: ASP adalah singkatan dari Active Server Pages yang merupakan salah satu bahasa pemograman web untuk menciptakan halaman web yang dinamis. ASP merupakan salah satu produk teknologi yang disediakan oleh Microsoft. ASP bekerja pada web server dan merupakan server side scripting.
·              HTML: HyperText Markup Language (HTML) adalah sebuah bahasa markup yang digunakan untuk membuat sebuah halaman web dan menampilkan berbagai informasi di dalam sebuah browser Internet. HTML saat ini merupakan standar Internet yang didefinisikan dan dikendalikan penggunaannya oleh World Wide Web Consortium (W3C).


·              Javascript: Javascript adalah bahasa scripting yang handal yang berjalan pada sisi client. JavaScript merupakan sebuah bahasa scripting yang dikembangkan oleh Netscape. Untuk menjalankan script yang ditulis dengan JavaScript kita membutuhkan JavaScript-enabled browser yaitu browser yang mampu menjalankan JavaScript.

·              PERL: adalah bahasa pemrograman untuk mesin dengan sistem operasi Unix (SunOS, Linux, BSD, HP-UX), juga tersedia untuk sistem operasi seperti DOS, Windows, BeOS, VMS, EBCDIC, dan PocketPC. PERL merupakan bahasa pemograman yang mirip bahasa pemrograman C.

2.     Langkah-langkah pemecahan masalah

A.     Memindah air

·         Mengambilsebuahgelaskosongdiberi label C
·         Tuangkanair di gelas B kegelas C
·         Pindahkanairpadagelas A kegelas B
·         Pindahkanair B padagelas C kegelas A

B.     Hiden
  • Isi penuh ember 3 liter dengan air (ember 3 liter berisi 3 liter air)
  • Tuangkan air dari ember 3 liter ke dalam ember air 5 liter
·         (ember 5 liter,sekarang berisi 3 liter air)
  • Isi penuh kembali ember ember 3 liter dengan air (ember 3 liter berisi 3 liter air)
  • Tuangkan air dari ember 3 liter kedalam ember 5 liter hingga penuh
·         (di dalam ember 3 liter sekarang tersisa 1 liter air)
  • Buang seluruh air dari ember 5 liter air (ember 5 liter kosong)
  • Tuangkan air dari ember 3 liter (yang tersisa 1 liter tadi) kedalam ember 5 liter (ember 5 liter sekarang berisi 1 liter air, ember 3 liter kosong)
  • 7.      Isi penuh ember 3 liter dengan air (ember 3 liter berisi air 3 liter)
  • Tuangkan air dari ember 3 liter ke dalam ember 5 liter (ember 5 liter sekarang berisi 1 + 3 = 4 liter air)



C.     plastelina game

·         Permisalan, untuk orang yang berjalan 1 detik berarti nomor satu, untuk orang yang berjalan 6 detik berarti nomor 6, dan lain sebagainya. Sedangkan sisi 1 untuktepi awal berangkatdan sisi 2 untuk tepi tujuan.

·         Gunakan orang nomor 3 dannomor 1 menujusisi 2, dan orang nomor 3 tinggal di sisi 2 sedangkan orang nomor 1 kembalikesisi 1.


·         Gunakan orang nomor 6 dannomor 1 menujusisi 2, dan orang nomor 1 dannomor 6 tinggal di sisi 2 sedangkan orang nomor 3 kembalikesisi 1.

·         Di sisi 1 ada orang nomor 8, nomor 12, dannomor 3 yang barusajakembalidarisisi 2.


·         Gunakan orang nomor8 dannomor 12 menujusisi 2, danlalugunakan orang nomor 1 untukmenjemput orang nomor 3.

·         Gunakan orang nomor 1 dannomor 3 menujusisi 2 .


D.    Cannibals and missionaries

·         Permisalan, untuk kanibal adalah K1, K2, dan K3 dan untuk rahib R1, R2, dan R3 dan tepi pertama sebagai tepi A dan tepi kedua sebagai tepi B.

·         K1 dan R1 berangkat lebih dulu ketepi B, danK1 tinggal di tepi B sedangkan R1 kembali ketepi A.

·         R1 turundariperahu, digantikanoleh K2 dan K3 menujutepi B, dan K2 tinggal di tepi B sedangkan K3 kembaliketepi A.

·         K3turundariperahu, digantikan R1 dan R2 menujutepi B, dan R1 dan R2 tinggal di tepi B sedangkan K1 kembaliketepi A.

·         K1 dan K2 naikperahumenujutepi B, dan K2 tinggal di tepi B sedangkan K1 kembaliketepi A.

·         K1 dan K3 naikperahumenujutepi B, lalu K1 dan K3 sama-samaturun di tepi B

E.     Wolf game
·         Sebrangkan “Domba” terlebih dahulu.
·         Setelah sampai disebrangkan kemudian keluarkan “Domba”.
·         Lalu sebrangkan kembali “Petani”.
·         Kemudian sebrangkan “Serigala” dan setelah sampai disebrangkan keluarkan “Serigala”.
·         Masukan “Domba” dan sebrangkan kembali mereka.
·         Setelah sampai disebrangkan, keluarkan “Domba”.
·         Masukan “Rumput” dan kemudian sebrangkan.
·         Setelah sampai disebrangkan keluarkan “Rumput”, kemudian sebrangkan kembali “Petani”.
·         Setelah sampai disebrangkan, masukan “Domba” lalu sebrangkan mereka.
·         Setelah sampai disebrangkan, keluarkan “Domba” dan selesai.

3.     Referensi
·         www.academia.edu/1178544/Logika_Dan_Algoritma (diakses 19 September 2013).

·         http://sindarku.wordpress.com/ (diakses 20 September 2013)

·         tamam-prolinx.blogspot.com/2009/03/pseudocode-dan-flowchart.html (diakses pada 21 September 2013)

·         infomugi.blogspot.com/2013/02/pengertian-dan-contoh-pseudocode.html           (diakses pada 21 September 2013)

·         http://informatika.web.id/category/algoritma (diakses 21 september 2013)

Tidak ada komentar:

Posting Komentar