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 lakukan tidak selalu berurutan seperti di atas. Kadang-kadang Anda harus
memilih dua atau beberapa pilihan. Sebagai contoh, jika Anda ingin makan, Anda
harus menentukan akan makan di rumah makan atau memasak 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 harus mengecek apakah surat
tersebut sudah benar atau belum. Jika belum benar, berarti Anda harus mempersiapkan
kertas baru dan menulis lagi. Demikian seterusnya 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.
- 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.
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:
- 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
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