Minggu, 22 September 2013

Praktikum Dasar Pemrograman


1.      Dasar Teori
A.    Dasar Teori tentang Algoritma dan Pemrograman
a. Dasar Teori Alogaritma
Algoritma adalah urutan langkah-langkah logika yang menyatakan suatu tugas dalam menyelesaikan suatu masalah atau problem 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. Dalam kehidupan sehari-hari, sebenarnya Anda juga menggunakan algoritma untuk melakukan sesuatu.
Sebagai contoh, Anda ingin membuat kopi, maka Anda perlu melakukan beberapa langkah berikut ini:
1)      Mempersiapkan gelas dan sendok.
2)      Mempersiapkan kopi, gula, dan air panas.
3)      Mencampurkan kopi, gula.
4)     Menuangkan air panas kedalam gelas yang berisi campuran kopi dan gula.
5)     Mulai mengaduknya.
6)   Kopi panas siap disajikan

Langkah-langkah dari nomor 1 sampai dengan nomor 6 di atas itulah yang disebut dengan algoritma. Jadi sebenamya Anda sendiri juga sudah menggunakan algoritma baik sadar maupun tidak sadar.

Dalam banyak kasus, algoritma yang Anda laku­kan tidak selalu berurutan seperti di atas. Kadang-ka­dang Anda harus memilih dua atau beberapa pilihan. Sebagai contoh, jika Anda ingin makan, Anda harus menentukan akan makan di rumah makan atau me­masak sendiri. Jika Anda memilih untuk makan di rumah makan, Anda akan menjalankan algoritma yang berbeda dengan jika Anda memilih memasak sendiri. Dalam dunia algoritma, hal semacam ini sering disebut percabangan.

Dalam kasus lain lagi, Anda mungkin harus melakukan langkah-langkah tertentu beberapa kali. Sebagai contoh, saat Anda menulis surat, sebelum me masukkan kertas ke dalam amplop, mungkin Anda ha­rus mengecek apakah surat tersebut sudah benar atau belum. Jika belum benar, berarti Anda harus memper­siapkan kertas baru dan menulis lagi. Demikian seterus­nya sampai surat Anda sesuai dengan yang diharapkan. Dalam dunia pemrograman, hal semacam ini sering disebut pengulangan.
Konsep yang harus ada dalam merancang algoritma:
a)      Komponen masukan : terdiri dari pemilihan variable, jenis variable, tipe variable, konstanta dan parameter (dalam fungsi).
b)     Komponen keluaran: merupakan tujuan dari perancangan algoritma dan program. Permasalahan yang diselesaikan dalam algoritma dan program harus ditampilkan dalam komponen keluaran. Karakteristik keluaran yang baik adalah menjawab permasalahan dan tampilan yang ramah
c)     Komponen proses : merupakan bagian utama dan terpenting dalam merancang sebuah algoritma. Dalam bagian ini terdapat logika masalah, logika algoritma (sintaksis dan semantik), rumusan, metode (rekursi, perbandingan, penggabungan, pengurangan dll).
a. Dasar Teori Pemlrograman
Pemrograman adalah proses menulis, menguji dan memperbaiki (debug), dan memelihara kode yang membangun sebuah program komputer. Kode ini ditulis dalam berbagai bahasa pemrograman. Tujuan dari pemrograman adalah untuk memuat suatu program yang dapat melakukan suatu perhitungan atau 'pekerjaan' sesuai dengan keinginan si pemrogram. Untuk dapat melakukan pemrograman, diperlukan keterampilan dalam algoritma, logika, bahasa pemrograman, dan di banyak kasus, pengetahuan-pengetahuan lain seperti matematika.
Pemrograman adalah sebuah seni dalam menggunakan satu atau lebih algoritma yang saling berhubungan dengan menggunakan sebuah bahasa pemrograman tertentu sehingga menjadi sebuah program komputer. Bahasa pemrograman yang berbeda mendukung gaya pemrograman yang berbeda pula. Gaya pemrograman ini biasa disebut paradigma pemrograman.
Apakah memprogram perangkat lunak lebih merupakan seni, ilmu, atau teknik telah lama diperdebatkan. Pemrogram yang baik biasanya mengkombinasikan tiga hal tersebut, agar dapat menciptakan program yang efisien, baik dari sisi waktu berjalan (running time), atau memori.
B.    Karakteristik algoritma
Alogaritma mempunyai ciri – ciri atau karakter yang tertera dibawah ini:
a.       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.
  1. 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”
  2. 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.
  3. 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.
  4. Algoritma harus sangkil (effective). Setiap langkah harus sederhana sehingga dapat di kerjakan dalam sejumlah waktu yang masuk akal.
C.    Flowchart
Flowchat 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 dibentuk


Contoh System Flowchart


 
   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
 
        Simbol-simbol Flowchart

Simbol-simbol yang di pakai dalam flowchart dibagi menjadi 3 kelompok :

1)       Flow direction symbols

    Digunakan untuk menghubungkan simbol satu dengan yang lain

    Disebut juga connecting line

2)       Processing symbols

- Menunjukan jenis operasi pengolahan dalam suatu  proses /

prosedur

3)       Input / Output symbols

- Menunjukkan jenis peralatan yang digunakan sebagai media input atau output.



                                   Gambar berikut adalah simbol flowchart yang umum digunakan.




D.    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.
Tidak ada satu pun standar yang berlaku atas kode-palsu, sebuah program yang masih berupa kode-palsu tidak dapat dijalankan. Kode-palsu menyerupai pula kerangka program (skeleton programs), termasuk dummy code, yang bisa dikompilasi tanpa kesalahan. Diagram alur dapat pula dimasukkan sebagai alternatif berbasis grafis sebuah kode-palsu.
E.     Bahasa Pemrograman
Bahasa pemrograman, atau sering diistilahkan juga dengan bahasa komputer atau bahasa pemrograman komputer, adalah 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:
  1. Bahasa Mesin, yaitu memberikan perintah kepada komputer dengan memakai kode bahasa biner, contohnya 01100101100110
  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.
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
1. Memindah Air Gelas
               a.  Siapkan gelas C
               c.  Kemudian tuangkanlah air yang berwarna merah dari gelas A ke gelas C
               d.  Lalu tuangkan air biru di gelas B ke gelas A
               e.  Gelas C yang berisi warna merah dipindah ke gelas B, Selesei.
2. Mengisi Air kedalam Ember
               a.  Langkah pertama isi air di ember 3 liter
               b.  Tuangkan air dari ember 3 liter ke ember 5 liter
               c.  Isi penuh kembali ember 3 liter
d.  Kemudian tuangkan lagi air di ember 3 liter kedalam ember 5 liter (ember 3
liter sekarang sisa 1 liter)
                        e. Siramkan seluruh air dari ember 5 liter ke tanaman
                        f. Tuangkan air dari ember 3 liter (yang tersisa 1 liter tadi) kedalam ember 5
liter (ember 5 liter sekarang berisi 1 liter air)
                        g. Isi penuh ember 3 liter dengan air lagi
                        h. Dan terakhir tuang air dari ember 3 liter kedalam ember 5 liter (sekarang
ember 5 liter berisi 4 liter air), Selesei.
3. Plastelina Game
a.       Pertama seberangkan dahulu orang 1 dengan orang 3
b.      Setelah itu orang 1 kembali untuk menjemput orang 6
c.       Lalu orang 1 kembali lagi ke tempat awal (sisi A)
d.      Seberangkan orang 12 dengan orang 8 bersama – sama
e.       Lalu pada tempat seberang (sisi B), orang 3 kembali untuk menjemput
orang 1
a.                   Dan terakhir orang 3 dan orang 1 sama – sama menyeberang ke sisi B,
Selesei.

4. Canibal Game
a.       Pertama seberangkan dahulu kanibal 1 dan kanibal 2 ke tempat seberang
b.      Setelah sampai, turunkan kanibal 1. Dan kanibal 2 kembali ke tempat awal
c.       Pada tempat awal kanibal 2 membawa kanibal 3 untuk menyeberang
d.      Setelah sampai ke tempat seberang, turunkan kanibal 2. Dan kanibal 3
kembali ke tempat awal
e.       Pada tempat awal kanibal 1 turun, lalu perahu isi oleh rahib 1 dan rahib 2
f.     Setelah sampai rahib 1 turun. Dan kanibal 2 naik untuk menyeberang ke
tempat awal bersama rahib 2
g.      Di tempat awal kanibal 2 turun. Dan rahib 3 naik menuju tempat seberang
h.      Rahib 2 dan rahib 3 turun lalu perahu diisi oleh kanibal 1 menuju tempat
awal
i.        Di tempat awal kanibal 1 membawa kanibal 2 untuk menyeberang
j.        Setelah itu kanibal 1 turun. Dan kanibal 2 kembali ke tempat awal untuk
membawa kanibal 3
k.      Kanibal 2 dan kanibal 3 bersama- sama ke tempat seberang

5. Memindah
                              a.      Pertama seberangkan domba dahulu ke tempat B
b.      Lalu kembali ke tempat A untuk mengangkut sayuran lalu kembali lg ke
tempat B
c.    Pada tempat B, petani mengangkut kembali domba ke tempat A (agar
sayuran tidak dimakan domba)
d.      Setelah sampai ke tempat A turunkan domba, lalu angkut serigala ke
tempat B
e.        Petani kembali lagi ke tempat A untuk mengangkut domba ke tempat B

3.      Referensi




Tidak ada komentar:

Posting Komentar