Jumat, 20 September 2013

Nama : Yelsin Aldi R.M.
Kelas  : D3 M.I. C 2011
Nim    : 115623027







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


Jawaban :
                 Langkah Pertama : kita siapkan gelas kosong yg kita namakan gelas C
                 Lanmgkah kedua  : tuang cairan yg ada di gelas A ke dlm gelas C
                 Langkah ketiga     : tuang cairan yg ada di gelas B ke dlm gelas A
                 Langkah keempat : tuang cairan yg ada di gelas C ke  lm gelas B
Maka cairan dari masing2 gelas  sekarang sudah selesai tertukar dari gelas yg sebelumnya.


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.
Jawaban :
Langkah Pertama : Isi penuh ember bervolume 3 liter dengan air   (ember 3 liter berisi 3 liter air)

Langkah Kedua      : Tuangkan air dari ember bervolume 3 liter ke dalam ember air bervolume 5 liter
(ember 5 liter,sekarang berisi 3 liter air)

Langkah Ketiga      : Isi penuh kembali ember yang bervolume 3 liter dengan air (ember 3 liter berisi 3 liter air)


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.

Pertanyaan: tuliskan langkah-langkah secara detail untuk menyelesaikan game tersebut.

Jawaban :

Langkah Pertama : orang kesatu dan keenam menyeberang dan orang kesatu kembali dan membawa orang ketiga.
Langkah Kedua    : lalu orang ketiga kembali.
Langkah Ketiga    : kemudian orang kedelapan dan kedua belas menyeberang.
Langkah Keempat : terakhir orang kesatu menjemput orang ketiga untuk sama-sama menyeberang.





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.





Jawaban :
Langkah Pertama : dua kanibal menyebrang ke pulau seberang.
Langkah Kedua    : lalu 1 kanibal turun dan 1 kanibal lagi kembali keseberang.
Langkah Ketiga :  lalu kanibal itu membawa kanibal yang lain keseberang
Langkah Keempat : 1 kanibal kembali,lalu 2 orang rahib menyeberang dengan meninggalkan 1 rahib dan 1 kanibal
Langkah Keempat : lalu rahib dan kanibal menyebrang kembali ke tempat semula
            Langkah Kelima : kanibal turun rahib naik untuk menyebrang bersama rahib  yang ada di perahu
Langkah Keenam : ke-2 rahib turun dan kanibal naik menyebrang,kanibal yang di sebrang naik menyebrang bersama kanibal yang membawa perahu
 kanibal 1 turun dan yang lain menjemput kanibal yang tersisa diseberang.


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.

Jawaban :
Langkah Pertama : petani membawa kambing dari pulau pertama kepulau kedua.
Langkah Kedua : lalu petani kembali sendiri kepulau pertama untuk membawa anjing keseberang pulau kedua.
Langkah Ketiga : dari pulau kedua petani membawa kambing kepulau pertama.
Langkah Keempat : kemudian petani tersebut membawa rumput dari pulau pertama kepulau kedua.
dan yang terakhir petai kembali kepulau pertama untuk membawa kambing kepulau kedua.


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


1.          DasarTeori

- Dasar Teori Tentang Algoritma Dan Pemrograman
Alogaritma :
 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 menjadiAlgorism. 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 algorismsering 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 menjadialgoritma.Pemrograman : Proses menulis, menguji dan memperbaiki (debug), dan memelihara kode yang membangun sebuah program komputer. Kode ini ditulis dalam berbagai bahasa pemrograman. Tujuan dari pemrograman adalah untuk memuat suatu program yang dapat melakukan suatu perhitungan atau 'pekerjaan' sesuai dengan keinginan si pemrogram (programmer). Untuk dapat melakukan pemrograman, diperlukan keterampilan dalam algoritma, logika, bahasa pemrograman, dan di banyak kasus, pengetahuan-pengetahuan lain seperti matematika.
Pemrograman adalah sebuah seni dalam menggunakan satu atau lebih
 algoritma yang saling berhubungan dengan menggunakan sebuah bahasa pemrograman tertentu sehingga menjadi sebuah program komputer. Bahasa pemrograman yang berbeda mendukung gaya pemrograman yang berbeda pula. Gaya pemrograman ini biasa disebut paradigma pemrograman.

- Karakteristik algoritma
pertama, algoritma haruslah benar. Artinya algoritma akan memberikan keluaran yang dikehendaki dari sejumlah masukan yang diberikan. Tidak peduli sebagus apapun algoritma, kalau memberikan keluaran yang salah, pastilah algoritma tersebut bukanlah algoritma yang baik. Pertimbangan kedua yang harus diperhatikan adalah kita harus mengetahui seberapa baik hasil yang dicapai oleh algoritma tersebut. Hal ini penting terutama pada algoritma untuk menyelesaikan masalah yang memerlukanaproksimasi hasil (hasil yang hanya berupa pendekatan). Algoritma yang baik harus mampu memberikan hasil yang sedekat mungkin dengan nilai yang sebenarnya. Ketiga adalah efisiensi algoritma. Efisiensi algoritma dapat ditinjau dari 2 hal yaitu efisiensi waktu dan memori. Meskipun algoritma memberikan keluaran yang benar (paling mendekati), tetapi jika kita harus menungguberjam-jam untuk mendapatkan keluarannya, algoritma tersebut biasanya tidak akan dipakai, setiap orang menginginkan keluaran yang cepat. Begitu juga dengan memori, semakin besar memori yang terpakai maka semakin buruklah algoritma tersebut.

-  Flowchart
Flowchart
 merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya. Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap simbol menggambarkan proses tertentu. Sedangkan antara proses digambarkan dengan garis penghubung. Ada dua macam flowchart yang menggambarkan proses dengan komputer, yaitu :

Flowchart
 sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain, dalam suatu sistem pengolahan data. Beberapa contoh Flowchart sistem:
http://4.bp.blogspot.com/-0DhMfbPoZkg/UjtuPD8E9MI/AAAAAAAAAFo/SfXk5IVWX6g/s400/4.jpg
-        Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program.
-        Psoudecode
Definisi
 Pseudo-code
Kode atau tanda yang menyerupai (pseudo) atau merupakan penjelasan cara menyelesaikan suatu masalah. Pseudo-code sering digunakan oleh manusia untuk menuliskan algoritmaContoh kasus : mencari bilangan terbesar dari dua bilangan yang diinputkan
-       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:
1. Bahasa Mesin, yaitu memberikan perintah kepada komputer dengan memakai kode bahasa biner, contohnya 01100101100110
2. Bahasa Tingkat Rendah, atau dikenal dengan istilah bahasa rakitan (bah.Inggris
 Assembly), yaitu memberikan perintah kepada komputer dengan memakai kode-kode singkat (kodemnemonic), contohnya MOV, SUB, CMP, JMP, JGE, JL, LOOP, dsb.
3. 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.
4. 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.

http://1.bp.blogspot.com/-s5GNt5lmxNg/UjuBajDOMFI/AAAAAAAAAA4/QtnTDCYD8Cg/s320/Untitled1.jpg