Jumat, 20 September 2013

Modul 1 Praktikum Dasar Pemograman



1.              Dasar Teori
-       Algoritma dan pemrograman
Definisi Algoritma :
1)        Langkah-langkah yg dilakukan agar solusi masalah dapat diperoleh
2)        Suatu prosedur yang merupakan urutan langkah-langkah yang berintegrasi
3)        Suatu motode khusus yang digunakan untuk menyelesaikan suatu masalah yang nyata (Webster dictionary)
4)        Urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis. Kata logis berarti benar sesuai dengan logika manusia
Sedangkan Pemograman adalah proses mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dengan menggunakan suatu bahasa pemograman 

-       Karakteristik algoritma
1)        Algoritma  harus tidak ambigu (unambiguous)
2)        Algoritma  harus tepat (precise)
3)        Algoritma  harus pasti( definite)
4)        Algoritma harus berhingga

-       Flowchart
Flowchart adalah penyajian yangs istematis tentang proses dan logika dari kegiatan penanganan informasi atau penggambaran secara grafik dari langkah-langkah dan urut-urutan prosedur dari suatu program.
Flowchart menolong analis dan programmer untuk memecahkan masalah kedalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternatif-alternatif lain dalam pengoperasian.

Simbol-Simbol Flowchart


-       Psoudecode
Kode-palsu atau dalam bahasa inggris lebih dikenal sebagai pseudo-code 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.

-       Bahasa Pemograman
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.
Komputer hanya mengerti bahasa mesin. menurut tingkat kedekatannya bahasa pemrograman ( programming language) terdiri dari
1.        bahasa mesin. yaitu bahasa yang digunakan untuk memprogram komputer dengan menggunakan kode semacam kode biner misalnya.00100001010100100
2.        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
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


2.              Langkah-langkah pemecahan masalah

1.     Memindah air
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

Penyelesaian :
1)      Ambil sebuah gelas kosong (gelas C)
2)      Tuangkan gelas A yang berisi air berwarna merah ke gelas C
3)      Tuangkan gelas B yang berisi air berwarna biru ke gelas A
4)      Setelah itu tuangkan isi gelas C yang berwarna merah ke gelas B


2.     Mengisi ember air
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.

Penyelesaian :
1)        Isi penuh ember yg ber-volume 3 liter, lalu tuangkan dalam ember 5 liter. 
2)        Isi kembali ember 3 liter dan tuangkan dalam ember 5 liter karena diember  yang 5 liter sudah ada 3 liter, jadi yang digelas 3 liter otomatis sisa 1 liter
3)        Setelah itu buang seluruh air pada ember 5 liter
4)        Tuangkan sisa air pada ember 3 liter yaitu 1 liter ke ember 5 liter.
5)        Isi penuh ember 3 liter, lalu tuangkan ke ember 5 liter yg berisi 1 liter.


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.

Penyelesaian :
1)        Orang yang berkecepatan 1 dan 3 detik menyeberang jembatan terlebih dahulu
2)        Orang yang berkecepatan 1 detikkembali
3)        Orang yang berkecepatan 8 dan 12 detik berjalan bersama untuk menyebrang jembatan
4)        Orang yang berkecepatan 3 detik kembali
5)        Orang yang berkecepatan 1 dan 6 detik berjalan bersama untuk menyebrang jembatan
6)        Orang yang berkecepatan 1 detik kembali untuk menjemput orang yang berkecepatan 3 detik dan mereka berjalan bersama untuk menyebrang  jembatan

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

Penyelesaian :
1)        Dua kanibal menyebrang ke pulau seberang
2)        Lalu 1 kanibal turun dan 1 kanibal yang ada di perahu kembali keseberang untuk membawa kanibal yang lain ke pulau seberang
3)        1 kanibal yang ada di perahu kembali lagi
4)        Kanibal turun dan 2 orang rahib naik ke perahu menyeberang dengan meninggalkan 1 rahib dan 1 kanibal
5)        1 rahib turun dan 1 kanibal naik dengan rahib yang ada di perahu
6)        Lalu rahib dan kanibal menyebrang kembali ke tempat semula
7)        Kanibal turun rahib naik untuk menyebrang bersama rahib yang ada di perahu
8)        Kedua rahib turun dan kanibal naik menyebrang,kanibal yang di sebrang naik menyebrang bersama kanibal yang membawa perahu
9)        Kanibal 1 turun dan kanibal yang ada di perahu 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

Penyelesaian :
1)        Petani membawa kambing dari pulau pertama kepulau kedua
2)        Lalu petani kembali sendiri kepulau pertama untuk membawa anjing keseberang pulau kedua
3)        Dari pulau kedua petani membawa kambing kepulau pertama
4)        Kemudian petani tersebut membawa rumput dari pulau pertama kepulau kedua
5)        Dan yang terakhir petani kembali kepulau pertama untuk membawa kambing kepulau kedua.

3.              Referensi