Thursday, September 19, 2013

Tugas Praktikum Dasar Pemrograman



TUGAS PRAKTIKUM MODUL 1
DASAR PEMROGRAMAN

Hendry Setiawan / 105623306



1.      Dasar Teori

-         Dasar Teori tentang algoritma dan pemrograman

Dasar Teori Algoritma
      Algoritma berasal dari kata algoris dan ritmis yang pertama kali diungkapkan oleh Abu Ja’far Mohammad Ibn Musa Al Khowarizmi (825M) dalam buku Al-Jabr Wa-al Muqobla. Dalam pemrograman algortima berarti suatu metode khusus yang tepat dan terdiri dari serangkaian langkah-langkah yang terstruktur dan dituliskan secara  sistematis yang akan dikerjakan untuk menyelesaikan masalah dengan bantuan komputer.
Secara sederhanya algoritma dapat didefinisikan urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis. Kata logis berarti bahwa nilai kebenarannya harus dapat ditentukan, benar atau salah. Langkah-langkah yang tidak benar dapat memberikan hasil yang salah.

Dasar Teori Pemrograman
      Menurut Binanto (2005:1) kata program dapat diartikan:
     1. Untuk mendeskripsikan instruksi-instruksi tersendiri, yang biasanya disebut source code,  yang dibuat programmer.
      2.  Untuk mendeskripsikan suatu keseluruhan bagian dari software yang executable.
                 
            Dapat juga dikatakan bahwa sebuah program merupakan himpunan atau kumpulan instruksi tertulis yang dibuat oleh programmer atau suatu bagian executable dari sebuah software.
      Pengertian Pemrograman menurut Jogiyanto (2005:582) merupakan “kegiatan menulis kode program yang akan dieksekusi oleh komputer”.

-         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”
-         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.
-         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.
-         Algoritma harus sangkil (effective). Setiap langkah harus sederhana sehingga dapat di kerjakan dalam sejumlah waktu yang masuk akal.

-         Flowchart
      Adalah Bagan-bagan yang mempunyai arus yang menggambarkan langkah-langkah penyelesaian suatu masalah. Flowchart merupakan cara penyajian dari suatu algoritma
Tujuan Membuat Flowchat :
Menggambarkan suatu tahapan penyelesaian masalah
Secara sederhana, terurai, rapi dan jelas
Menggunakan simbol-simbol standar
Dalam penulisan Flowchart dikenal dua model, yaitu Sistem Flowchart dan  Program Flowchart
 
System Flowchart :
Yaitu : bagan yang memperlihatkan urutan prosedure dan proses dari beberapa file di dalam media tertentu.
 Melalui flowchart ini terlihat jenis media penyimpanan yang dipakai dalam
 pengolahan data. 
Selain itu juga menggambarkan file yang dipakai sebagai input dan output. 
Tidak digunakan untuk menggambarkan urutan langkah untuk memecahkan masalah
Hanya untuk menggambarkan prosedur dalam sistem yang dibentu




Program Flowchart
Yaitu: Bagan yang memperlihatkan  urutan dan hubungan proses dalam suatu   program.
Dua jenis metode penggambaran program flowchart :
1) Conceptual flowchart, menggambarkan alur pemecahan masalah secara global
2) Detail flowchart, menggambarkan alur pemecahan masalah secara rinci


-         Psoudecode
      Pseudocode adalah bahasa yang digunakan untuk menyederhanakan penulisan algoritma. Pseudocode bukan bahasa pemrograman.Pseudocode adalah notasi yang menyerupai bahasa pemrograman tingkat tinggi. Keuntungan menggunakan notasi pseudo code adalah kemudahan mengkonversinya lebih tepat yang disebut mentranslasi ke notasi bahasa pemrograman, karena terdapat korespondensi antara setiap pseudo code dengan notasi bahasa pemrograman.


-         Bahasa pemrograman
      Pengertian bahasa pemrograman adalah suatu perangkat lunak dan bahasa yang digunakan untuk membuat program-program komputer atau sering disebut sebagai bahasa kompute. Bahasa pemrograman menggunakan sistem tata bahasa tertentu atau kata-kata unik untuk dijadikan kode yang bisa menjalankan perintah tertentu pada komputer. Bahasa pemrograman inilah yang membentuk struktur perangkat lunak sebagai inti dari komputer untuk menjalankan perangkat keras. Tanpa perangkat lunak yang dibuat menggunakan bahasa pemrograman, maka perangkat keras tidak akan berjalan dengan baik atau bahkan tidak dapat berjalan sama sekali.
      Bahasa pemrograman dibagi menjadi tiga, yakni bahasa mesin, bahasa pemrograman tingkat rendah dan bahasa pemrograman tingkat tinggi. Bahasa mesin hanya dipakai untuk membuat sistem inti perangkat komputer seperti yang tertanam pada BIOS, chip-chip tertentu dan lain sebagainya. Bahasa ini hanya terdiri dari 0 dan 1 saja yang disebut sebagai byte. Lalu ada bahasa pemrograman tingkat rendah yakni bahasa assembly yang digunakan untuk berkomunikasi dengan hardware, membantu komputer mengingat memori dan terdapatnya alamat simbolis yang berhubungan dengan bahasa mesin. Sedangkan bahasa pemrograman tingkat tinggi adalah bahasa pemrogaman yang memiliki baris perintah yang mendekati bahasa manusia sehingga lebih mudah digunakan.


      2.      Langkah-langkah pemecahan masalah
            
            1.      Menukar isi air dalam gelas 
          Algoritma yang benar adalah bahwa untuk menukarkan isi air pada gelas A dengan isi air pada gelas B maka dibutuhkan sebuah gelas bantuan yang dipakai untuk menampung salah satu air dalam gelas tersebut misalkan gelas C. 
      Sehingga algoritma yang benar dari permasalah diatas adalah :
      1. Tuangkan air dari gelas A ke gelas C 
2. Tuangkan air dari gelas B ke gelas A
3. Tuangkan air dari gelas C ke gelas B 





    Sekarang algoritma Tukar_Isi_Gelas diatas sudah diperbaiki, sehingga isi air pada gelas A dan isi air pada gelas B dapat dipertukarkan dengan benar. Hubungan antara algoritma, masalah dan solusi dapat digambarkan sebagai berikut :



2. Logic Water Jars  
      Langkah - langkahnya :
 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)

Screenshot :






     3. Plastelina Game
            
      Langkah – langkahnya =  
1. Orang dengan kecepatan 1 dtk dan kecepatan 12 dtk  menyebrang lebih dulu, lalu orang dengan kecepatan 1 dtk kembali ketempat semula. 
2. Orang dengan kecepatan 1 dtk dan dengan kecepatan 8 dtk menyebrang, lalu yang kembali orang yang dengan kecepatan 3 dtk.
3. Orang dengan kecepatan 1 dtk dan orang dengan kecepatan 6 dtk menyebrang dan yang kembali orang dengan kecepatan 1 dtk. 
4. Orang dengan kecepatan 1 dtk dan dengan kecepatan 3 dtk menyebrang dengan selamat.
5. Selesai.

                 Screenshot: 



   
     4. Cannibal game


Langkah - langkahnya: 
1.   Dua kanibal menyebrang ke posisi kiri, 1 kanibal turun dan 1 kanibal kembali ke  posisi kanan.    
2.   Dua kanibal lagi menyebrang ke posisi kiri, 1 kanibal turun dan 1 kanibal kembali ke posisi kanan lalu turun. 
3.   Dua rahib menyebrang ke posisi kiri, 1 rahib turun di posisi kiri, 1 rahib dan 1 kanibal menyeberang ke posisi kanan, lalu 1 kanibal turun di posisi kanan. 
4.   Dua rahib menyebrang ke posisi kiri, lalu 2 rahib turun diposisi kiri, dan 1 kanibal menyeberang ke posisi kanan. 
5.   Dua kanibal menyeberangin ke posisi kiri, lalu 1 kanibal turun dan 1 kanibal kembali ke posisi kanan. 
6.   Dua kanibal naik perahu untuk menyeberang ke posisi kiri, lalu 2 kanibal turun di posisi kiri. 
7.   SELESAI

            Screenshot :



5. Wolf Game 
         
 Langkah – langkahnya: 
1.    Petani membawa kambing dan kambing diturunkan diposisi kiri. 
2.    Petani kembali lagi untuk membawa anjing lalu anjing diturunkan di posisi kiri 
3.    Petani membawa kambing kembali dari posisi kiri ke kanan, lalu diturunkan 
4     Petani membawa rumput keposisi kiri 
5.    Petani kembali lagi untuk mengambil kambing di posisi kiri 
6.    Petani membawa kambing dan diturunkan di posisi kanan. 
7.    SELESAI

Screenshot:  





3.     Referensi











No comments:

Post a Comment

your comment