Minggu, 22 September 2013

Laporan Tugas Dasprog Game Logika

TUGAS DASAR PEMROGRAMAN
GAME LOGIKA







NAMA   : HAMDANI IM
NIM    : 115623287
KELAS  : D3 MI C

Dasar Teori

Algoritma Dan Pemrograman
Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis. Kata logis berarti benar sesuai dengan logoka manusia sedangkan Pemograman adalah proses mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dengan menggunakan suatu bahasa pemograman

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
Dalam pembuatan flowchart tidak ada rumus atau patokan yang bersifat mutlak. Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisa suatu masalah dengan komputer. Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan pemrogram lainnya.
Namun secara garis besar, setiap pengolahan selalu terdiri dari tiga bagian utama, yaitu;
• Input berupa bahan mentah
• Proses pengolahan
• Output berupa bahan jadi.
Untuk pengolahan data dengan komputer, dapat dirangkum urutan dasar untuk pemecahan suatu masalah, yaitu;

START: berisi instruksi untuk persiapan perlatan yang diperlukan sebelum menangani pemecahan masalah.
READ: berisi instruksi untuk membaca data dari suatu peralatan input.
PROCESS: berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca.
WRITE: berisi instruksi untuk merekam hasil kegiatan ke perlatan output.
END: mengakhiri kegiatan pengolahan

Pseudocode
Pseudocode merupakan suatu bahasa programmer terhadap permasalahan yang akan diselesaikan tanpa memikirkan tatabahasa (sintax) dari bahasa pemorograman tertentu.
Kegunaan Pseudocode adalah sebagai berikut:
·         Menjembatani antara bahasa ibu programmer dengan bahasa komputer. Sebagai contoh, pseudocode yang ditulis dalam bahasa indonesia disebut Structured Indonesia.
·         Menggambarkan logika urut urutan program tanpa memperhatikan bagaimana bahasa pemrogramannya.
Setelah kode program bentuk pseudocode ini dirancang dan telah diperiksa dengan teliti kebenarannya, langkah selanjutnya adalah membuat program yang sebenarnya.
Penulisan Pseudocode
Walaupun dalam penulisan pseudocode itu tidak ada aturan yang resmi, nmun disana telah ditetapkan suatu aturan untuk menulis pseudocode, khususnya untu kata-kata kunci (keywords) dan kata-kata cadangan (reserved word), yaitu harus dicetak dengan huruf tebal.
Bentuk dasar pseudocode
Dalam pseudocode terdapat 3 bentuk dasar, yaitu:
Urutan Penamaan
Urutan adalah suatu koleksi dari berbagai statemen instruksi masukan/ keluaran. Secara eksplisit masukan/ luaran dalam pseudocode dituliskan sebagai berikut :
Read data from source
dan
Write data to destination
Struktur Seleksi
Struktur seleksi merupakan dasar logika kontrol alir keputusan. Artinya bahwa blok statemen dilaksanakan jika kondisi bernilai boolean true.
·         Seleksi bentuk If
Bentuk umum penulisan pseudocode untuk struktur seleksi If atau kontrol alir keputusan sebagai berikut:
If <condition>
Then perform block_1
Else perform block_2
Endif
Artinya bahwa blok seleksi dimulai dari bagian ”If” dan diakhiri dengan     ”Endif”
·         Seleksi bentuk CASE
Bentuk umum pseudocode struktur seleksi CASE adalah sebagai berikut:
Selected_variabel
CASE (value_1)  block_1
CASE (value_2)  block_2
:
:
DEFAULT CASE block_n
Endselect
Struktur Iterasi
Struktur iterasi merupakan dasar logika kontrol alir perulangan. Artinya bahwa blok statemen dilaksanakan berulang-rulang sampai suatu keadaan akhir terpenuhi.
·         Iterasi bentuk DO WHILE
Bentuk umum pseudocode iterasi DO WHILE adalah sebagai berikut:
While <condition> do
perform block
Endwhile
·         Iterasi bentuk DO
Bentuk umum pseudocode iterasi DO adalah sebagai berikut:
Do index = initial to limit
perform block
Enddo
·         Iterasi FOR
Bentuk umum pseudocode iterasi FOR adalah sebagai berikut:
For index = initial to limit
perform block
Endfor

Bahasa Pemrograman
Bahasa pemrograman C++, merupakan bahasa pemrograman yang terpopuler saat ini, hampir semua jurusan atau program studi yang berhubungan dengan komputer memasukkan bahasa ini dalam kurikulumnya, bahkan perusahaan-perusahan BUMNpun sudah banyak menambahkan standarisasi harus bisa bahasa pemrograman C++ untuk bergabung dengan mereka, khususnya dunai Perbankkan.
Bahasa pemrograman C++ termasuk dalam bahasa pemrogaman tingkat tinggi, sama halnya dengan Visual Basic, Delphi, Java, dan masih banyak yang lainnya, dalam persfektif mudahnya dipahami manusia. Yang membedakan mereka hanyalah aturan penulisan program itu sendiri, dimana yang terpenting dalam sebuah pemrograman adalah adalah algoritma pemrogramannya.
Dalam hal ini, level yang dimaksudkan adalah kemampuan mengakses fungsi-fungsi dan perintah-perintah dasar bahasa mesin/hardware. Semakin tinggi tingkat bahasa pemrograman akan semakin mudah bahasa pemrograman tersebut dipahami oleh manusia, namun membawa pengaruh semakin berkurang kemampuan untuk mengakses langsung instruksi dasar bahasa mesin.

Soal
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

Langkah – Langkah Pemecahan Masalah

1.       Perlu Bantuan 1 Gelas kosong lagi untuk perpindahan isi gelas A dan B, isi gelas A di pindahkan ke gelas kosong dan isi gelas B di Pindahkan ke gelas A dan isi gelas A tadi yang berada di gelas bantuan di pindahkan ke gelas B.

2.        -      Ke dua ember di isi penuh air
-          Lalu air di buang sisakan setengah pada kedua ember
-          Ember  berisi 5 Liter di buang setengah jadi 2  Liter, Ember berisi 3 Liter di buang setengah jadi 1  Liter.
-          Isi terakhir kedua ember yang sudah di buang setengah itu di gabungkan di ember yang berisi 5 Liter








-          Hasilnya 2 + 1  = 4 Liter


3.        -      1 dan 3 berangkat dahulu ke seberang
-          1 kembali ke tempat awal
-          8 dan 12 berangkat ke seberang
-          3 kembali ke tempat awal
-          1 dan 6 berangkat ke seberang
-          1 kembali ke tempat awal
-          1 dan 3 berangkat ke seberang

4.        -      Rahib Menyebrang bersama kanibal
-          Kanibal Di Turunkan, Rahib kembali bersama perahu
-          2 Kanibal Menyebrang 1 di turunkan 1 kembali bersama perahu
-          2 Rahib menyeberang, perahu di bawa kanibal+rahib yang ada di pualu seberang kembali ke pulau asal
-          2 Rahib ke pulau seberang
-          1 kanibal menjemput temannya di pulau asal 2 kali bolak balik

5.        -      Petani menyeberang bersama kambing
-          Kambing di taruh di pulau seberang
-          Petani kembali ke pulau awal
-          Petani menyeberang bersama rumput
-          Rumput di taruh di pulau seberang kambing
-          Petani kembali ke pulau awal dengan membawa kambing
-          Kambing di taruh di pulau awal Anjing di bawa ke pulau seberang
-          Petani Kembali ke pulau awal
-          Petani membawa Kambing ke pulau seberang


REFERENSI













Tidak ada komentar:

Posting Komentar