Minggu, 22 September 2013

LAPORAN PRAKTIKUM DASAR PEMROGRAMAN KOMPUTER

 
1.      Dasar Teori
-           Dasar Teori Tentang Algoritma dan Pemrograman
Algoritma adalah kumpulan perintah untuk menyelesaikan suatu masalah. Perintah-perintah ini dapat diterjemahkan secara bertahap dari awal hingga akhir atau urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis. Kata logis berarti benar sesuai dengan logoka manusia. Salah satu fungsinya ialah untuk mencari solusi atas permasalahan optimasi kombinasi, yaitu mendapatkan suatu nilai solusi optimal terhadap suatu permasalahan yang mempunyai banyak kemungkinan solusi. Dimana prinsip algoritma genetik diambil dari teori Darwin yaitu setiap makhluk hidup akan menurunkan satu atau beberapa karakter ke anak atau keturunannya.
Pemrograman adalah proses mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dengan menggunakan suatu bahasa pemograman  yaitu :
                        Defenisi Masalah -> Algoritma -> Bahasa Pemograman -> Hasil
Proses pemrograman komputer bukan saja sekedar menulis suatu urutan instruksi yang harus dikerjakan oleh komputer akan tetapi bertujuan untuk memecahkan suatu masalah serta membuat mudah pekerjaan pengguna komputer (user). Didalam membuat sebuah program komputer, tentu tidak terlepas dari sifat individu pemrogram (Programmer).

-        Karakteristik Algoritma
         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.
         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”
       
-        Flowchart
Flowchart  merupakan sebuah diagram dengan simbol-simbol grafis yang menyatakan aliran algoritma atau proses yang menampilkan langkah-langkah yang disimbolkan dalam bentuk kotak, beserta urutannya dengan menghubungkan masing masing langkah tersebut menggunakan tanda panah. Diagram ini bisa memberi solusi selangkah demi selangkah untuk penyelesaian masalah yang ada di dalam proses atau algoritma tersebut.

Jenis-jenis flowchart :
  Document Flowchart, menunjukkan kontrol dari sebuah sistem aliran dokumen.
  Data Flowchart, menunjukkan kontrol dari sebuah sistem aliran data.
  System Flowchart, menunjukkan kontrol dari sebuah sistem aliran secara fisik.
  Program Flowchart, menunjukkan kontrol dari sebuah program dalam sebuah sistem.
-        Psoudecode
Pseudocode merupakan deskripsi dari algoritma pemrograman komputer yang menggunakan struktur sederhana dari beberapa bahasa pemograman tetapi bahasa tersebut hanya ditujukan agar dapat dibaca manusia. Biasanya yang ditulis dari pseudocode adalah variabel dan fungsi. Tujuan penggunaan utama dari pseudocode adalah untuk memudahkan manusia dalam memahami prinsip-prinsip dari suatu algoritma. Penggunaan pseudocode umumnya banyak kita temukan di buku-buku dan artikel-artikel tentang pemrograman yang membahas tentang algoritma tertentu. Kadang pula pseudocode kita temukan dalam merencanakan pengembangan suatu program komputer. Pseudocode adalah notasi yang menyerupai bahasa pemrograman tingkat tinggi. Fungsi dari pseudocode mungkin sama dengan Flowchart. Perbedaannya terletak pada cara penyampaiannya. Pseudocode menggunakan kata-kata untuk menjelaskan suatu algoritma, sedangkan Flowchart menggunakan gambar.
Contoh Perintah Pseudocode:
1. Masukkan bilangan pertama
2. Masukkan bilangan kedua
3. Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4, jika tidak, kerjakan langkah 5.
4. Tampilkan bilangan pertama
5. Tampilkan bilangan kedua
-        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.

2.      Langkah-langkah Pemecahan Masalah
       Penyelesaian no.1 :
Kita tidak bisa langsung mempertukarkan air didalam kedua ember tadi begitu saja sebab cara seperti itu menyebabkan terjadinya percampuran. Agar bisa dipertukarkan, kita memerlukan sebuah ember tambahan sebagai tempat penanganan sementara, misalkan tambahan tersebut adalah ember C, dengan menggunakan ember C ini, algoritma pertukaran isi kedua buah ember adalah sebagai berikut :
- Tuangkan air dari ember A ke dalam ember C
- Tuangkan air dari ember B ke dalam ember A
- Tuangkan air dari ember C ke dalam ember B

       Penyelesaian no.2 :
1.      Isi penuh ember 3 liter dengan air (ember 3 liter berisi 3 liter air)
2.      Tuangkan air dari ember 3 liter ke dalam ember air 5 liter
(ember 5 liter,sekarang berisi 3 liter air)
3.      Isi penuh kembali ember ember 3 liter dengan air (ember 3 liter berisi 3 liter air)
4.      Tuangkan air dari ember 3 liter kedalam ember 5 liter hingga penuh
(di dalam ember 3 liter sekarang tersisa 1 liter air)
5.      Buang seluruh air dari ember 5 liter air (ember 5 liter kosong)
6.      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)
7.      Isi penuh ember 3 liter dengan air (ember 3 liter berisi air 3 liter)
8.      Tuangkan air dari ember 3 liter ke dalam ember 5 liter (ember 5 liter sekarang berisi 1 + 3 = 4 liter air)
 
       Penyelesaian no.3 :
1. Pertama gunakan anak yang 1 detik dan 3 detik.
2. Kedua kembalikan anak yang 1 detik.
3. Ketiga kirim anak yang 1 detik dan ibu yang 6 detik.
4. Keempat kembalikan anak yang 3 detik.
5. Kelima kirim bapak yang 8 detik dan kakek yang 12 detik.
6. Keenam kembalikan anak yang 1 detik untuk menjemput anak yang 3 detik.
  
       Penyelesaian no.4 :
1. Sebrangkan “Kanibal1” dan “Kanibal2” terlebih dahulu.
2. Setelah sampai disebrangkan, keluarkan “Kanibal1”.
3. Lalu sebrangkan “Kanibal2” dan masukkan “Kanibal3” lalu sebrangkan mereka.
4. Keluarkan “Kanibal2” dan sebrangkan “Kanibal3”.
5. Keluarkan “Kanibal3”, kemudian sebrangkan “Biksu1” dan “Biksu2”.
6. Keluarkan “Biksu1”, kemudian masukkan “Kanibal1”, lalu sebrangkan mereka.
7. Keluarkan “Kanibal1”, kemudian masukkan “Biksu3”, lalu sebrangkan mereka.
8. Keluarkan “Biksu2” dan “Biksu3”, lalu sebrangkan “Kanibal2”.
9. Kemudian masukkan “Kanibal1”, sebrangkan mereka.
10. Keluarkan “Kanibal1”, sebrangkan “Kanibal2”.
11. Masukkan “Kanibal3” lalu sebrangkan dan akhirnya selesai.

       Penyelesaian no.5 :
1.   Sebrangkan “Domba” terlebih dahulu.
2.   Setelah sampai disebrangkan kemudian keluarkan “Domba”.
3.   Lalu sebrangkan kembali “Petani”.
4.   Kemudian sebrangkan “Serigala” dan setelah sampai disebrangkan keluarkan “Serigala”.
5.   Masukan “Domba” dan sebrangkan kembali mereka.
6.   Setelah sampai disebrangkan, keluarkan “Domba”.
7.   Masukan “Rumput” dan kemudian sebrangkan.
8.   Setelah sampai disebrangkan keluarkan “Rumput”, kemudian sebrangkan kembali “Petani”.
9.   Setelah sampai disebrangkan, masukan “Domba” lalu sebrangkan mereka.
10. Setelah sampai disebrangkan, keluarkan “Domba” dan selesai.

3.      Referensi
http://informatika.web.id/category/algoritma (diakses 19 September 2013)
Antonius Rahmat (2011) “ALGORITMA DAN PEMROGRAMAN DENGAN BAHASA C KONSEP,TEORI, DAN IMPLEMENTASI”,  Juni.
M. Shalahuddin, Rosa A.S (2007) “Belajar Pemrograman Dengan Bahasa Pemrograman”.
http://www.academia.edu/1178544/Logika_Dan_Algoritma (diakses 20 September 2013)
http://sindarku.wordpress.com/ (diakses 20 September 2013)

Tidak ada komentar:

Posting Komentar