Sabtu, 21 September 2013

Jawaban Modul 1 DASPROG

1.      Langkah-langkah pemecahan masalah (TUGAS)

1.      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.      Ember
Penyelesian :

ALGORITMA Mendapatkan air 4 liter dari dua buah ember bervolume 5 dan 3 liter

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)
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)



3. Plastelina Game

Gini nih Caranya :

a.Cara pertama: Seberangkan si 1 detik bersamaan dengan si 3 Detik. Jadi waktu yang tersisa ada 30 – 3 detik yang memegang lampu = 27 detik lagi).
b.Setelah si 3 detik diseberangkan, maka si 1 detik tadi balik ke semula, menjemput yang 6 detik. Sekarang waktu yang tersisa 27 detik – 1 detik yang memegang lampu=26 detik.
c.Sama seperti langkah pertama, si 1 detik dan 6 detik menyebrang ke kiri. Lalu si 1 detik balik lagi. Dengan waktu tersisa 26 detik - 6 detik yang pegang lampu - 1 detik yang balik ke sisi a = sisa 19 detik. 
d.Sekarang. Seberangkan secara bersama-sama si 12 detik (aki-aki) dengan si 8 detik. Disini hanya berkurang 12 detik saja, karena si 12 detik yang pegang lampu. Jadi, waktu tersisa 19 detik - 12 detik yang pegang lampu = 7 detik. 
e.Selanjutnya, yang si 3 detik balik lagi menjemput si 1 detik. Sekarang, waktu tersisa 7 detik - 3 detik yang balik ke sisi a = sisa 4 detik.
f.Terakhir, si 1 detik dan 3 detik menuju sisi kiri bersama-sama. (waktu tersisa 4 detik - 3 detik yang pegang lampu = 1 detik)

PERFECT.................... Selesai deh ^_^ 

4.
 (Canibal Game)
Misal : r1 = Rahib 1
ra2 = Rahib 2
ra3 = Rahib 3
Ka1 = Kanibal 1
Ka2 = Kanibal 2

Ka3 = Kanibal 3
Gini nih maen Gamenya:
a. Pertama Si Kanibal dulu yang harus diseberangkan ke pulau kiri. Seberangkan dua Kanibal, yaitu Ka1 dan Ka2 terlebih dahulu.
b. Setelahni sampai dipulau yang kiri, turunkan salah satu kanibal di kiri, lalu kanibal yang satu kembali ke pulau kanan.
c. Selanjutnya Ka2 seberangkan Ka3 kepulau kiri juga.
d.Setelah sampai di pulau kiri, turunkan Ka2 , lalu Ka3 kembali ke pulau kanan
e. Setelah sampai di pulau kanan, turunkan Ka3 tadi di pulau kanan, terus naikkan Rahib1 dan Rahib2 ke perahu untuk menyeberang ke pulau kiri
f. Keluarkan Rahib1 (r1) di pulau kiri, lalu naikkan Ka1 ke perahu dan seberangkan kembali ke pulau kanan bersama Rahib2 (r2).
g. Keluarkan Ka2 masukkan r3 dari pulau yang kanan, lalu sebrangkan mereka ke pulau kiri.
h.Keluarkan Rahib2 dan Rahib3, lalu Naikkan Kanibal 3 yang tertinggal di kiri tadi,, biarkan Ka3 kembali ke pulau kanan menjemput temannya sesama kanibal.
i. Setelah itu Masukkan Ka1, untuk menyebrangkan ke pulau kiri bersama Ka3 tadi.
j. Setelah sampai di Pulau kiri, turunkan Ka1, lalu Ka3 kembali ke pulau kanan untuk menjemput Ka2.
k. Langkah terakhir, Masukkan K2 lalu sebrangkan ke pulau kiri bersamaan dengan Ka3.
l. Setelah sampai di pulau kiri, turunkan kedua Kanibal tersebut, Selesai deh gamenya.


5. (wolf game)
a. Langkah Pertama : Manusia mengangkut kambingnya dulu menuju Kota kiri, biarkan serigala dan sayuran tetap di kota kanan, karena tidak akan mungkin serigala memakan sayuran itu tadi.

b. Setelah manusia kembali ke kota kanan, sekarang gilaran sayuran yang akan diseberangkkan ke kota kiri. Sampai di Kota kiri, Turunkan Sayuran, dan naikkan kembali si Kambing, seberangkan kembali si kambing ke Kota Kanan.

c. Setelah Kambing diturunkan di Kota kanan, Sekarang seberangkan Serigala ke Kota Kiri

d. Sekarang, Langkah terakhir, jemput kembali si Kabing ke kota kanan tadi, Seberangkan ke Kota Kiri seperti langkah awal.

e. Selesai deh.. Well Done kannn?? 

Mata Kuliah Dasar Pemprograman

1.      Dasar Teori
-         Dasar Teori tentang algoritma dan pemrograman

1.1 Algoritma

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.


1.2  Pemrograman

Pemrograman berasal dar i 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  terdapat  pula  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  sendir i.  Nama  mata  kuliah Algor itma dan Pemrogr aman dalam hal ini berarti mempelajari pembuatan algoritma- algoritma yang dapat diterapkan dalam pemrograman.

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


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




-         Psoudecode

Pseudo  berarti imitasi dan  code  ber arti kode yang dihubungkan dengan instruksi yang  ditulis  dalam  bahasa  komputer  (kode  bahasa  pemrograman).  Apabila diterjemahkan  secar a  bebas,  maka  pseudocode  berarti  tiruan  atau  imitasi  dari  kode bahasa pemrograman. Pada  dasarnya,  pseudocode  merupakan  suatu  bahasa  yang  memungkinkan programmer untuk berpikir terhadap per masalahan yang harus dipecahkan tanpa harus memikirkan   syntax   dar i  bahasa  pemrogr aman  yang  tertentu.  Tidak  ada  aturan penulisan   syntax   di  dalam  pseudocode.  Jadi  pseudocode  digunakan  untuk menggambarkan logika urut-urutan dari program tanpa memandang bagaimana bahasa pemrogramannya.
Walaupun pseudocode tidak ada aturan penulisan syntax, di dalam buku ini akan diberikan  suatu aturan-aturan  penulisan syntax yang cukup  seder hana  agar  pembaca dapat  lebih  mudah  dalam  mempelajari algoritma-algor itma  yang  ada  di  dalam  buku ini.  Pseudocode  yang  ditulis  di  dalam  buku  ini  akan  menyerupai  (meniru)  syntax- syntax dalam bahasa Pascal. Namun dibuat sesederhana mungkin sehingga tidak akan ada  kesulitan  bagi  pembaca  untuk  memahami  algoritma- algor itma  dalam  buku  ini walaupun pembaca belum pernah mempelajar i bahasa Pascal.

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

Senin, 16 September 2013

Tugas Modul 1

MODUL 1
PRAKTIKUM DASAR PEMROGRAMAN
Topik          : Pemahaman Algoritma

1.       Misalkan terdapat dua gelas, yakni gelas “A” dan “B”. Gelas A berisi air berwarna merah, dan gelas B berisi air berwarna biru. Volume air di dalam kedua gelas sama. Bagaimana mempertukarkan isi kedua gelas sehingga gelas A berisi air berwarna biru, dan gelas B berisi air berwarna merah.

Kondisi awal:

                                    Gelas A                                                Gelas B

Kondisi akhir:    



                                    Gelas A                                                Gelas B


2.       Misalkan anda mempunyai dua ember, masing-masing ber-volume 5liter dan 3 liter. Anda diminta untuk mendapatkan air (dari sebuah danau) sebanyak 4 liter dengan menggunakan bantuan hanya kedua ember tersebut. Terserah bagaimana caranya, anda boleh memindahkan air dari satu ember ke ember yang lain, membuang seluruh isi ember, dan sebagainya. Catatan: ember tidak memiliki ukuran.

Pertanyaan: Tuliskan langkah-langkah untuk mendapatkan air 4 liter tersebut.

3.       (plastelina game) Ada sebuah keluarga terdiri dari 5 orang, akan menyeberang melewati jembatan pada malam hari dengan bantuan lampu yang hanya bisa bertahan 30 detik, dengan catatan:
a.       Setiap orang mempunyai kecepatan yang berbeda-beda (1, 3, 6, 8, dan 12 detik).
b.      Apabila yang melewati jembatan ada 2 orang, maka kecepatannya akan dihitung berdasarkan yang paling lambat.

Game bisa di akses di: http://plastelina.net/game3.html
Pertanyaan: tuliskan langkah-langkah secara detail untuk menyelesaikan game tersebut.

4.       (Canibal Game) Bagaimana caranya untuk menyeberangkan tiga rahib dan 3 kanibal ke pulai di seberang, dengan catatan:
a.       Perahu maksimal dapat ditumpangi dua orang.
b.      Perahu tidak dapat berjalan sendiri (tanpa penumpang)
c.       Jika jumlah rahib lebih sedikit dari kanibal, maka rahib akan dimakan oleh kanibal.

Pertanyaan: tuliskan langkah-langkah secara detail untuk menyeberangkan rahib dan kanibal ke pulai seberang.

5.       (wolf game) seorang petani akan bepergian ke kota dengan membawa se-ekor kambing , anjing, dan rumput yang ketiganya memiliki berat yang tidak jauh berbeda. Ditengah jalan, petani harus menyeberangi sungai dengan menggunakan perahu dan untuk melaluinya petani tersebut tidak diperbolehkan membawa sekaligus bawaanya mengingat kapasitas kekuatan perahu tersebut, dan untuk melaluinya petani harus membawa satu per-satu bawaannya, dengan catatan:
a.       Kambing makan rumput
b.      Anjing makan kambing

Pertanyaan: tuliskan langkah-langkah secara detail untuk menyeberangkan semua barang bawaan petani tersebut, dan berapa kali petani harus membawa satu-persatu bawaanya.


Format Laporan
1.       Dasar Teori
-         Dasar Teori tentang algoritma dan pemrograman
-         Karakteristik algoritma
-         Flowchart
-         Psoudecode
-         Bahasa pemrograman
2.       Langkah-langkah pemecahan masalah

3.       referensi