Minggu, 22 September 2013

Laporan Praktikum Modul 1


Dasar Teori



Dasar Teori Tentang Algoritma dan Pemrograman



v    Definisi Algoritma

“Algoritma adalah urutan langkah-langkah logis penyelesaian masalah  yang disusun secara sistematis dan logis”. Kata logis merupakan kata kunci dalam algoritma.  Langkah-langkah dalam algoritma harus logis dan harus  dapat ditentukan bernilai salah atau benar.



v    Pertimbangan dalam pemilihan algoritma

1.          Algoritma haruslah benar,  Artinya algoritma akan memberikan  keluaran yang dikehendaki dari sejumlah masukan yang diberikan. Tidak peduli sebagus apapun algoritma, kalau memberikan keluaran yang salah, pastilah algoritma tersebut bukanlah algoritma yang baik.

2.          Harus mengetahui seberapa baik hasil yang dicapai oleh algoritma tersebut.

3.          Efisiensi algoritma. Efisiensi algoritma dapat ditinjau dari 2 hal yaitu efisiensi waktu dan memori.



v    Beda Algoritma dan Program

Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma.

            Beberapa pakar memberi formula bahwa:

Program = Algoritma + Bahasa (Struktur Data)

v    Keuntungan Algoritma
1.        Pembuatan atau penulisan algoritma tidak tergantung pada bahasa
pemrograman manapun, artinya penulisan algoritma independen dari
bahasa pemrograman dan komputer yang melaksanakannya.
2.      Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
3.      Apapun bahasa pemrogramannya, outputyang akan dikeluarkan sama karena algoritmanya sama.


v   Contoh-Contoh Algoritma dalam Kehidupan Sehari-hari

No.
Proses
Algoritma
Contoh Langkah dalam Algoritma
1.
Membuat kue
Resep kue
Masukkan telur ke dalam wajan, kocok sampai mengembang, dst
2.
Membuat pakaian
Pola pakaian
Gunting kain dari pinggir kiri bawah ke arah kanan sejauh 5 cm, dst
3.
Merakit mobil
Panduan merakit
Sambungkan komponen A dengan komponen B, dst
4.
Kegiatan sehari - hari
Jadwal harian
Pukul 06.00: mandi pagi, pukul 07.00: berangkat kuliah, dst
5.
Mengisi voucher HP
Penduan pengisian
Tekan 888, masukkan nomor voucer, dst


Karakteristik Algoritma
v    Algoritma komputer memiliki beberapa karakteristik
Karakteristik itu antara lain:
Ø     Presisi. Langkah langkah penyelesaian masalah dalam algoritma haruslah secara presisi (tepat) dinyatakan, tidak mengandung ambiguitas.
Ø     Keunikan. Hasil pertengahan dalam tiap langkah eksekusi suatu algoritma didefinisikan secara khas dan merupakan pengolahan dari hasil eksekusi langkah sebelumnya.
Ø     Keterbatasan. Algoritma harus terbatas dan berhenti pada suatu titik setelah semua ekesekusi dilaksanakan.
Ø     Input. Algoritma menerima input.
Ø     Output. Algoritma menghasilkan output.
Ø     General. Algoritma berlaku untuk suatu kumpulan input tertentu.
Ø     Algoritma harus efektif

Flowchart
Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya. Gambaran ini dinyatakan  dengan simbol. Dengan demikian setiap simbol menggambarkan proses  tertentu.



v      Contoh Flowchart


Psoudocode

v    Devinisi Pseudocode
Pseudocode adalah bentuk penulisan algoritma yang menggunakan struktur bahasa pemrograman sederhana. Walaupun pseudocode memakai struktur bahasa pemrograman, pseudocode tidak mengikuti aturan penulisan bahasa pemrograman manapun. Mengapa begitu? Karena pseudocode dituliskan hanya untuk mempermudah seseorang memahami sebuah algoritma. Dengan begitu, pseudocode hanyalah menyerupai kode program saja, dan tidak bisa dimengerti langsung oleh komputer. Pseudocode baru bisa diolah oleh komputer jika telah mengikuti aturan penulisan sebuah bahasa pemrograman. (Bisa bahasa C, Java, Pascal, dan lain-lain.)
v    Contoh Pseudocode
Contoh-contoh penulisan pseudocode:
1.   Menampilkan tulisan Test
Start
Print “Test”
End

2.  Menampilkan variable berisi tulisan Test
Start
a = “Test”
Print a
End

3.  Menghitung hasil penjumlahan
Start
Read b, c
d = b + c
Print b, “ ditambah “, c, “ hasilnya “, d
End

4.  Menampilkan isi variable yang hanya lebih kecil dari 10
Start
Read e
If e < 10 Then
          Print e
Else
          Print “Masukkan angka kurang dari 10!”
End If
End

5.  Menampilkan isi variable yang hanya di antara 0 dan 10
Start
Read f
If f > 0 Then
          If f < 10 Then
                   Print f
          Else
                   Print “Masukkan angka di antara 0 dan 10!”
          End If
Else
          Print “Masukkan angka di antara 0 dan 10!”
End If
End



6.  Menampilkan mata pelajaran sesuai nomor yang dimasukkan
Start
      Print “Masukkan nomor mata pelajaran Anda (1-3):”
      Read g
      Switch g
                Case 1 : Print “Matematika”
                Case 2 : Print “Bahasa Indonesia”
                Case 3 : Print “Bahasa Inggris”
                Else : Print “Masukkan hanya nomor 1-3”
      End Switch
End

7.  Menampilkan tulisan Test sebanyak 5 kali dengan fungsi For
Start
      For h = 1 To 5 Do
                Print “Test ”
      End For
End

8.  Menampilkan tulisan Test sebanyak 5 kali dengan fungsi While-Do
Start
      i = 1
      While i <= 5 Do
                Print “Test ”
                i = i + 1
      End While
End

9.  Menampilkan tulisan Test sebanyak 5 kali dengan fungsi Repeat-Until
Start
      j = 1
      Repeat
                Print “Test ”
                j = j + 1
      Until j <= 5
End







Bahasa pemrograman

     Bahasa pemrograman adalah suatu komando atau perintah yang dibuat manusia untuk membuat komputer menjadi memiliki fungsi tertentu. bahasa pemrograman ini adalah suatu susunan aturan penulisan (sintaks) yang membentuk kode kode yang kemudian akan diterjemahkan oleh program kompiler menjadi bahasa rakitan (assembly) dan terus diolah hingga dimengerti oleh mesin. 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 





Langkah-langkah Pemecahan Masalah

v    Game pertama: Menukarkan isi gelas
1.     Siapkan gelas kosong,  kita sebut gelas c
2.     Tuangkan air yang berada di dalam gelas A ke gelas C
3.     Tuangkan air yang berada di dalam gelas B ke gelas A
4.     Tuangkan air yang berada di dalam gelas C ke gelas B
5.     Isi kedua gelas tersebut sudah tertukar

v    Game kedua: Mendapatkan air ember sebanyak 4 liter
1.     Ember A = 3lt
2.     Ember B = 5lt
3.     Isi penuh ember A [A=3lt, B=0lt]
4.     Tuangkan semua air ember A ke ember B [A=0lt, B=3lt]
5.     Isi penuh ember A [A=3lt, B=3lt]
6.     Tuangkan semua air ember A ke ember B [A=1lt, B=5lt]
7.     Buang semua isi ember B [A=1lt, B=0lt]
8.     Tuangkan semua air ember A ke ember B [A=0lt, B=1lt]
9.     Isi penuh ember A [A=3lt, B=1lt]
10. Tuangkan semua air ember A ke ember B [A=0lt, B=4lt]
11. Ember B berisi 4 lt air

v    Game ketiga: Family Crisis
1.     Sebrangkan orang 3 detik dan 1 detik
2.     Orang 1 detik kembali
3.     Sebrangkan 6 detik dan 1 detik
4.     Orang 1 detik kembali
5.     Sebrangkan orang 8 detik dan 12 detik
6.     Orang 3 detik kembali
7.     Sebrangkan orang 3 detik dan 1 detik
8.     Tersisa waktu 1 detik

v    Game keempat: Canibal Game
1.     Sebrangkan kanibal1 dan kanibal2
2.     Kembalikan kanibal1
3.     Sebrangkan kanibal1 dan kanibal3
4.     Kembalikan kanibal1
5.     Sebrangkan rahib1 dan rahib2
6.     Kembalikan rahib2 dan kanibal2
7.     Sebrangkan rahib2 dan rahib3
8.     Kembalikan kanibal3
9.     Sebrangkan kanibal2 dan kanibal3
10. Kembalikan kanibal3
11. Sebrangkan kanibal3 dan kanibal1
12. Semua berhasil menyebrang


v    Game kelima: Wolf Game
1.     Sebrangkan kambing
2.     Sebrangkan rumput
3.     Kembalikan kambing
4.     Sebrangkan anjing
5.     Sebrangkan kambing
6.     Semua sudah menyebrang

Referensi


Tidak ada komentar:

Posting Komentar