Jumat, 20 September 2013

TUGAS PRAKTIKUM DASAR PEMROGRAMAN

MODUL 1 
PRAKTIKUM DASAR PEMROGRAMAN 

Topik : Pemahaman Algoritma




I. DASAR TEORI


       1.1 Dasar Teori tentang Algoritma dan Pemrograman
      
Ditinjau dari asal-usul katanya, kata Algoritma sendiri mempunyai sejarah yang aneh. Orang hanya menemukan kata algorism yang berarti proses menghitung dengan angka arab. Anda dikatakan algorist jika Anda menghitung menggunakan angka arab. Para ahli bahasa berusaha menemukan asal kata ini namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan asal kata tersebut yang berasal dari nama penulis buku arab yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi. Al-Khuwarizmi dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis buku yang berjudul Kitab Al Jabar Wal-Muqabala yang artinya “Buku pemugaran dan pengurangan” (The book of restoration and reduction). Dari judul buku itu kita juga memperoleh akar kata “Aljabar” (Algebra). Perubahan kata dari algorism menjadi algorithm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran –sm berubah menjadi –thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa, maka lambat laun kata algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna kata aslinya. Dalam bahasa Indonesia, kata algorithm diserap menjadi algoritma.

Pemrograman adalah proses mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dengan menggunakan suatu bahasa pemograman. Sedangkan pemrograman terstruktur adalah metode untuk mengorganisasikan dan membuat kode-kode program supaya mudah untuk dimengerti, mudah di test dan di modifikasi.Pemrograman sendiri berasal dari kata  program  yang diberi awalan pe– dan akhiran –an. Dalam buku ini, program berarti progr am komputer.
Pengertian   program   computer menurut John M. Zelle,  Ph.D.  dalam bukunya  yang  berjudul “Python  Programming: An  Introduction to  Computer  Science”  (2002,  p1)  adalah  sekumpulan  instruksi langkah per langkah yang member itahukan mengenai yang harus dilakukan computer secara  tepat.   Pemrograman   adalah  segala  kegiatan  pembuatan  program  computer.Kemudian  terdapapula  istilah   bahasa  pemrograman   yang  berarti  bahasa  yang digunakan dalam pembuatan program komputer. Berdasarkan  pengertian  algor itma  dan  pemrograman,  maka  dapat  dikatakan bahwa  progr am  merupakan  hasil  penerapan  dari  algoritma- algoritma.  Akan  tetapi, dalam  buku  ini  tidak dibahas  materi  mengenai  pembuatan  program  komputer.  Buku ini  memfokuskan teknik-teknik pembuatan  algoritma  itu  sendiri.  Nama  mata  kuliah Algoritma dan Pemrograman dalam hal ini berarti mempelajari pembuatan algoritma- algoritma yang dapat diterapkan dalam pemrograman.


1.2 Karakteristik Algoritma
  1. 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.
  2. 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”
  3. 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.
  4. 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.
  5. Algoritma harus sangkil (effective). Setiap langkah harus sederhana sehingga dapat di kerjakan dalam sejumlah waktu yang masuk akal.    

    1.3 Flowchart

              Selain dalam bentuk tulisan, algoritma juga dapat ditulis dalam  bentuk diagram- diagram dengan anak panah sebagai penunjuk urutan langkah algoritmanya. Algor itma yang ditulis dengan simbol-simbol demikian yang dinamakan  flow chart . Mengenai  lambang- lambang  yang  digunakan  akan  dibahas  pada  bagian selanjutnya. Sekarang diberikan suatu contoh algoritma menentukan bilangan terbesar dar i 3 bilangan seperti yang dicontohkan sebelumnya, tetapi ditulis dalam bentuk flow chart.


1        1.4 Pseudocode

Pseudocode atau dalam terjemahan Bahasa Indonesia berarti kode-palsu merupakan deskripsi tingkat tinggi informal dan ringkas atas algoritma pemrograman komputer yang menggunakan konvensi struktural atas suatu bahasa pemrograman, dan ditujukan untuk dibaca oleh manusia dan bukan oleh mesin. Kode palsu biasanya tidak menggunakan elemen detail yang tidak diperlukan untuk kebutuhan pemahaman manusia atas suatu algoritma, seperti deklarasi variabel, kode ataupun subrutin untuk sistem yang bersifat spesifik. Bahasa pemrograman yang digunakan lebih diperbanyak dengan deskripsi dalam bahasa natural atas sesuatu hal yang bersifat detail, atau dengan menggunakan notasi matematis. Tujuan dari penggunaan kode-palsu adalah untuk mempermudah manusia dalam pemahaman dibandingkan menggunakan bahasa pemrograman yang umum digunakan, terlebih aspeknya yang ringkas serta tidak bergantung pada suatu sistem tertentu merupakan prinsip utama dalam suatu algoritma. Kode-palsu umumnya digunakan dalam buku-buku ataupun publikasi karya ilmiah yang mendokumentasikan suatu algortima, dan juga dalam perencanaan pengembangan program komputer, untuk membuat sketsa atas struktur sebuah program sebelum program yang sesungguhnya ditulis.

Tidak ada satu pun standar yang berlaku atas kode-palsu, sebuah program yang masih berupa kode-palsu tidak dapat dijalankan. Kode-palsu menyerupai pula kerangka program (skeleton programs), termasuk dummy code, yang bisa dikompilasi tanpa kesalahan.Diagram alur dapat pula dimasukkan sebagai alternatif berbasis grafis sebuah kode-palsu.


1.5 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 (bah.Inggris 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.



II.  LANGKAH-LANGKAH PEMECAHAN MASALAH



1          2.1. Menukarkan air di dalam gelas

Agar isi di di gelas A bisa ditukar ke gelas B kita memerlukan sebuah gelas tambahan untuk tempat penampungan sementara, dan kita namakan gelas tambahan tersebut adalah gelas C dan  dengan menggunakan gelas  C ini sebagai media pertukaran,  algoritma pertukaran isi kedua buah gelas adalah sebagai berikut :

a         Tuangkan air dari Gelas A ke dalam Gelas C.

b        Tuangkan air dari Gelas B ke dalam Gelas A.

c         Tuangkan air dari Gelas B ke dalam Gelas A.

d        Tuangkan air dari Gelas C ke dalam Gelas B.


  2.2    Logic water jars

         Tuliskan langkah-langkah untuk mendapatkan air 4 liter tersebut?

a.       Isi penuh ember yang berkapasitas 3 liter dengan air

b    Tuangkan air dari ember 3 liter tersebut  ke dalam ember yang berisi 5 liter air dan sekarang ember yang berkapasitas 5 liter tersebut telah  berisi 3 liter air.

c.    Isi penuh kembali ember yang berkapasitas 3 liter tersebut  dan sekarang ember yang berkapasitas 3 liter tersebut  berisi 3 liter air.

d   Tuangkan air dari ember yang berkapasitas 3 liter tersebut  ke dalam ember  yang berkapasitas 5 liter hingga penuh dan sekarang di dalam ember 3 liter tersebut  sekarang tersisa 1 liter air.

e        Buang seluruh air dari ember 5 liter air dan ember yang berkapasitas 5 liter tersebut akan  kosong.

f.    Tuangkan air dari ember 3 liter  yang tersisa 1 liter tadi  kedalam ember yang berkapasitas  5 liter dan ember 5 liter sekarang berisi 1 liter air dan ember 3 liter akan kosong.

g.      Isi penuh ember 3 liter dengan air dan ember 3 liter tersebut akan  berisi air 3 liter.

h.      Tuangkan air dari ember 3 liter ke dalam ember 5 liter dan ember 5 liter sekarang berisi 1ltr + 3ltr = 4 liter air.


2.3      Plastelina Game

Langkah-langkah secara detail untuk menyelesaikan game tersebut :


           
     a. Langkah pertama seberangkan orang pertama dan kedua(1 dan 3 detik).

     b. Setelah sampai di seberang seberangkan kembali nomer 1(1 detik) ke sisi awal.

     c. Selanjutnya seberangkan orang ketiga dan pertama (1 dan 6 detik) ke sisi seberang.

     d. Setelah keduanya sampai di seberang,lalu seberangkan kembali orang pertama ke sisi awal.

     e. Setelah seberangkan orang ke 4 dan ke 5 ( 8 dan 12 detik) ke sisi seberang.

     f. Setelah itu seberangkan orang kedua(3 detik) yang sebelumnya ada di sisi seberang untuk            menjemput orang pertama(1 detik) yang masih di sisi awal.

     g. Lalu terakhir seberangkan lagi orang pertama dan orang kedua(1 dan 3 detik) ke              seberang,Selesai.
      

2.4    Canibal Game

Pertama tama kita harus memisalkan 3 orang misionaris dan 3 orang kanibal sebagai berikut:

1        M1 = Misionaris 1
2        M2 = Misionaris 2
3        M3 = Misionaris 3
4        K1 = Kanibal 1
5        K2 = Kanibal 2
6        K3 = Kanibal 3

Penyelesaiannya adalah:

a         Sebrangkan K1 dan K2 terlebih dahulu.

     b.      Setelah sampai disebrangkan lalu keluarkan K1.

     c.   Lalu sebrangkan K2 dan masukkan K3 ke dalam perahu lalu sebrangkan mereka.

     d.   Keluarkan K2 lalu seberangkan K3.

     e.   Keluarkan K3 sebrangkan M1 dan M2.

     f.    Keluarkan M1 masukkan K1, lalu sebrangkan mereka.

            g.   Keluarkan K1 masukkan M3, lalu sebrangkan mereka.

            h.   Keluarkan M2 dan M3, lalu sebrangkan K2.

                        i.   Masukkan K1, untuk menyebrangkan mereka.
.
                        j.   Keluarkan K1, sebrangkan K2.

                        k.  Masukkan K3 lalu sebrangkan.

                        l.   Keluarkan K3 dan semua kanibal serta misionaris tiba selamat di seberang.



2        2.5 Wolf Game

   Langkah-langkah untuk menyelesaikan wolf game ini ialah sebagai berikut :




a         Seberangkan kambingnya terlebih dahulu.

b        Seberangkan sayurannya dan bawa kembali kambingnya ke sisi awal.

d        Sekarang angkut serigalanya dan seberangkan.

e         Balik lagi sendiri lalu ambil kambingnya menuju sisi B.




III. REFERENSI


Tidak ada komentar:

Posting Komentar