Minggu, 22 September 2013


Hasil Penyelesaian
Modul 1
Dasar Pemograman

NIM: 135623002
NAMA: Mizan Syarif Hawari

Dasar Teori

Dalam Mempelajari Teori Algoritma dan Pemrograman dalam mata kuliah Algoritma dan Pemrograman, maka perlulah mahasiswa terlebih dahulu mengenal akan definisi-definisi masing-masing dari kata  ‘Algoritma’ serta ‘Pemrograman’.
Beberapa definisi Algoritma adalah  seperti berikut ini :
§                 Pola pikir yang terstruktur yang berisi tahap-tahap penyelesaian masalah.
§                 Urutan logis pengambilan keputusan untuk pemecahan masalah.
§                 Urutan langkah berhingga untuk memecahkan masalah logika dan matematika
Sedangkan definisi dari Pemrograman yaitu Proses mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dengan menggunakan suatu bahasa pemrograman
Adapun ilustrasi proses pemrograman, terlihat dalam gambar 1.1. berikut ini :
diagrAlirPemrogramanGambar 1.1. Diagram alir Proses Pemrograman

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.

3.     Flowchart
Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta instruksinya. Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap simbol menggambarkan proses tertentu. Sedangkan hubungan antar proses digambarkan dengan garis penghubung. Flowchart ini merupakan langkah awal pembuatan program. Dengan adanya flowchart urutan poses kegiatan menjadi lebih jelas. Jika ada penambahan proses maka dapat dilakukan lebih mudah. Setelah flowchart selesai disusun, selanjutnya pemrogram (programmer) menerjemahkannya ke bentuk program dengan bahsa pemrograman.

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

Contoh

<variable> = <expression>
 
if <condition>
    do stuff
else
    do other stuff
 
while <condition>
    do stuff
 
for <variable> from <first value> to <last value> by <step>
    do stuff with variable
 
function <function name>(<arguments>)
    do stuff with arguments
    return something
 
<function name>(<arguments>)    // Function call
 
5.     Bahasa Pemrograman
          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


Langkah-langkah Pemecahan Masalah

1.     Memindah air
a.       Kita ambil sebuah gelas kosong lalu kita beri label C
b.      Setelah itu tuangkan air di gelas B kegelas C
c.       Pindahkan air pada gelas A kegelas B
d.      Pindahkan air B pada gelas C kegelas A

2.     Memindahkan ember
1.      Ambil air dengan guci yang berukuran 5L
2.      Isikan air tersebut kedalam guci yang berukuran 7L
3.      Ambil air lagi menggunakan guci yang berukuran 5L
4.      Isikan kembali air tersebut kedalam guci yang berukuran 7L
5.      Buang semua isi guci yang berukuran 7L
6.      Tuangkan sisa air yang ada di dalam guci berukuran 5L kedalam guci yang berukuran 7L
7.      Ambil air lagi menggunakan guci yang berukuran 5L
8.      Isikan lagi air tersebut kedalam guci yang berukuran 7L
9.      Buang semua air yang ada di guci 7L
10.  Tuangkan sisa air dari guci berukuran 5L kedalam guci berukuran 7L
11.  Ambil lagi air menggunakan guci berukuran 5L
12.  Terakhir, tuangkan air dari guci 5L ke dalam guci 7L.

3         Keluarga mau menyeberang jembatan
a.       Misalanya, untuk orang yang berjalan 1 detik berarti nomor satu, untuk orang yang berjalan 3 detik berarti nomor  tiga, untuk orang yang berjalan 6 detik berarti nomor enam, untuk orang yang berjalan 8 detik berati nomor delapan, untuk orang yang berjalan 12 detik berarti nomor dua belas. Sedangkan sisi 1 untuk tepi awal berangkat dan sisi 2 untuk tepi tujuan.
b.      Kita pergunakan orang nomor 3 dan nomor 1 menuju sisi 2, dan orang nomor 3 tinggal di sisi 2 sedangkan orang nomor 1 kembali ke sisi 1
c.       Setelah itu orang nomor 6 dan nomor 1 menuju sisi 2, dan orang nomor 1 dan nomor 6 tinggal di sisi 2 sedangkan orang nomor 3 kembali kesisi 1
d.      Di sisi 1 ada orang nomor 8, nomor 12, dan nomor 3 yang baru saja kembali dari sisi 2
e.       Kita pergunakan orang nomor 8 dan nomor  12 menuju sisi 2, dan lalu gunakan orang nomor 1 untuk menjemput orang nomor 3
f.        Setelah itu orang nomor 1 dan nomor 3 menuju sisi 2

4         Kanibal dan rahib
a.       Misalnya, untuk kanibal kita kasih K1, K2, dan K3 dan untuk rahib kita kasih R1, R2, dan R3 dan tepi pertama sebagai tepi A dan tepi kedua sebagai tepi B
b.      K1 dan R1 kita berangkatkan terlebih dulu ketepi B, dan K1 tinggal di tepi B sedangkan R1 kembali ketepi A
c.       R1 kita turunkan dari perahu, digantikan oleh K2 dan K3 menuju tepi B, dan K2 tinggal di tepi B sedangkan K3 kembali ketepi A
d.      K3 kita turunkan dari perahu, digantikan R1 dan R2 menuju tepi B, dan R1 dan R2 tinggal di tepi B sedangkan K1 kembali ketepi A
e.       K1 dan K2 naik perahu menuju tepi B, dan K2 tinggal di tepi B sedangkan K1 kita kembalikan ketepi A
f.        K1 dan K3 naik perahu menuju tepi B, lalu K1 dan K3 sama-sama turun di tepi B

5         Wolf game
a.       Jika kita membawa anjing terlebih dulu, maka kambing akan memakan rumput, jika kita membawa rumput terlebih dulu, anjing akan memakan kambing
b.      Salah satu cara untuk membawa satu per satu adalah dengan membawa kambing lebih dulu, karena anjing tidak mungkin memakan rumput
c.       Setelah itu membawa anjing dan kambing secara bergantian




Referensi

http://tri0002.blogspot.com/2013/02/pengertian-pseudocode-dalam-algoritma.html

Rabu, 18 September 2013

Jangan menyerah kawan

Tak ada manusia yang terlahir sempurna
jangan pernah menyesal segala yang telah terjadi
kita pasti pernah, mendapatkan cobaan yang berat
seakan hidup ini, tak ada artinya lagi
syukuri apa yang ada
hidup adalah anugrah
tetap jalani hidup ini
dan lakukanlah yang terbaik
"JANGAN MENYERAH, TETAPLAH SEMANGAT"