LAPORAN
PRAKTIKUM DASAR PEMROGRAMAN
Di
susun oleh:
Herlina
Nur Indah Trivinta
135623014
1. DASAR
TEORI
a)
Dasar Teori
tentang algoritma dan pemrograman
Ø Apakah Itu Algoritma
Ditinjau dari asal-usul katanya, kata Algoritma sendiri
mempunyai sejarah yang aneh. Orang hanya menemukan kata algorism yang
berarti proses menghitung dengan angka arab. Anda dikatakan algorist jika
Anda menghitung menggunakan angka arab. Para ahli bahasa berusaha menemukan
asal kata ini namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah
matematika menemukan asal kata tersebut yang berasal dari nama penulis buku
arab yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi.
Al-Khuwarizmi dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis
buku yang berjudul Kitab Al Jabar Wal-Muqabala yang artinya “Buku
pemugaran dan pengurangan” (The book of restoration and reduction).
Dari judul buku itu kita juga memperoleh akar kata “Aljabar” (Algebra).
Perubahan kata dari algorism menjadi algorithm muncul karena kata
algorism sering dikelirukan dengan arithmetic, sehingga akhiran –sm
berubah menjadi –thm. Karena perhitungan dengan angka Arab sudah
menjadi hal yang biasa, maka lambat laun kata algorithm berangsur-angsur
dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan
makna kata aslinya. Dalam bahasa Indonesia, kata algorithm diserap
menjadi 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. Dalam beberapa konteks, algoritma adalah spesifikasi urutan langkah
untuk melakukan pekerjaan tertentu. Pertimbangan dalam pemilihan
algoritma adalah, pertama, 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.
Pertimbangan kedua yang harus diperhatikan adalah kita harus
mengetahui seberapa baik hasil yang dicapai oleh algoritma tersebut. Hal ini
penting terutama pada algoritma untuk menyelesaikan masalah yang memerlukan
aproksimasi hasil (hasil yang hanya berupa pendekatan). Algoritma yang baik
harus mampu memberikan hasil yang sedekat mungkin dengan nilai yang sebenarnya.
Ø Pemrograman
Pemrograman adalah proses menulis, menguji dan
memperbaiki (debug), dan memelihara kode yang membangun sebuah programkomputer. 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 (programmer). 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 (run time), atau
memori.
b)
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.
c)
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. Sedangkan antara proses digambarkan dengan garis penghubung.
Dengan menggunakan flowchart akan memudahkan kita untuk melakukan
pengecekan bagian-bagian yang terlupakan dalam analisis masalah. Disamping itu flowchart
juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang
bekerja dalam tim suatu proyek.
Ada
dua macam flowchart yang menggambarkan proses dengan komputer, yaitu :
·
Flowchart sistem yaitu
bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan
proses suatu file dalam suatu media menjadi file di dalam media
lain, dalam suatu sistem pengolahan data. Beberapa contoh Flowchart sistem:
·
Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan
urutan proses dan hubungan antar proses secara mendetail di dalam suatu
program.
d)
Pseudo-code
o Pseudo-code adalah kode atau tanda yang
menyerupai (pseudo) atau merupakan penjelasan cara menyelesaikan suatu masalah.
o Pseudo-code sering digunakan oleh seseorang untuk menuliskan algoritma dari
suatu permasalahan.
o Pseudo-code berisikan langkah-langkah untuk
menyelesaikan suatu permasalahan [hampir sama dengan algoritma], hanya saja
bentuknya sedikit berbeda dari algoritma.
o Pseudo-code menggunakan bahasa yang hampir
menyerupai bahasa pemrograman.Selain itu biasanya pseudo-code menggunakan bahasa yang mudah
dipahami secara universal dan juga lebih ringkas dari pada algoritma.
o Sebenarnya tidak ada aturan mengikat tentang
penulisan algoritma dan pseudo-code,
karena guna kedua hal ini adalah untuk memudahkan seseorang untuk menggambarkan urutan
suatu kejadian. Biasanya untuk para programmer, guna kedua hal
ini adalah sebagai dasar alur pembuatan program. Di mana dapat
merepresentasikan alur cerita dari client tentang kebutuhan dasar dari sebuah
program, sehingga lebih mudah untuk dipahami.
o Jadi pseudo-code bisa dikatakan juga sebagai
algortima yang sudah sedikit digabungkan dengan bahasa pemrograman yang akan digunakan.
e)
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:
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
a) Jawaban:
o
Langkah pertama sebelum memindah isi
air di dalam gelas, kita terlebih dahulu menyiapkan gelas yang lain. Sebut saja
gelas C.
o
Tuangkan air berwarna merah yang
berada di dalam gelas A ke dalam gelas C.
o
Lalu, tuangkan air berwarna biru
yang terdapat dalam gelas B kedalam gelas A.
o
Dan terakhir, ketika ggelas B sudah
mulai kosong, tuangkan air berwarna merah yang berada didalam gelas C kedalam
gelas B.
o
Selesai.
b) Jawaban:
o
Pertama,
sebut saja ember yang berisi 5 liter air tersebut dengan ember sebutan A.
sedangkan ember yang berisi 3 liter air kita sebut sebagai ember B.
o
Kedua,
buanglah 3 liter air yang berada di dalam ember B.
o
Tuangkan
5 liter air yang berada di dalam ember A kedalam ember B. sehingga air yang
berada pada ember A terdapat 2 liter air dan ember B 3 liter air.
o
Buanglah
3 liter air yang berada pada ember B dan tuangkan 2 liter air yang berada
didalam ember A kedalam ember B.
o
Isilah
5 liter air kedalam ember A
o
Kemudian,
tuangkan 5 liter air yang berada didalam ember A tersebut kedalam ember B
sehingga ember A berisi 4 liter air dan ember B berisi 3 liter air.
o
Buanglah
3 liter air yang berada didalam ember B hingga ember B kosong.
o
Terakhir,
kita mendapatkan 4 liter air di dalam ember A.
o
Selesai.
c)
Jawaban:
o
Anggaplah
tempat yang akan disebrangi ke 6 orang tersebut sebagai tempat A, sedangkan
tempat dimana ke 6 orang tersebut berdiri sebelum menyebrang adalah tempat B.
Pertama buatlah orang 1 dan 3 menyebrangi jembatan tersebut menuju tempat A.
Setelah sampai di sebrang, orang 3 tetap tinggal dan orang 1 kembali ketempat
B.
o
Saat
orang 1 sudah kembali ke ke tempat B, buatlah orang 1 kembali menyebrangi
jembatan menuju tempat A tetapi bersamaan dengan orang 6. Setelah sampai di tempat
A, orang 6 tetap tinggal sedangkan orang 1 kembali ketempat B.
o
Saat
orang 1 sudah sampai di tempat B, buatlah orang 8 dan orang 12 menyebrangi
jembatan tersebut. Setelah sampai ke tempat A, orang 8 dan orang 12 tetap
tinggal, sedangkan orang 3 kembali ke tempat B.
o
Saat
orang 3 sampai di tempat B, buatlah orang 1 dan 3 menyebrangi jembatan menuju
tempat A.
o
Selesai.
d)
Jawaban:
o
Pertama,
naikkan 2 orang kanibal kedalam perahu, kemudian sebrangkan. Setelah sampai di
sebrang, salah satu kanibal diturunkan dan kanibal lainnya kembali.
o
Setelah
sampai, naikkan kanibal yang lain ke dalam perahu dan sebrangkan. Setelah
sampai, turunkan salah satu kanibal dan kanibal yang lain kembali.
o
Saat
kanibal sudah kembali, turunkan kanibal tersebut kemudian naikkan 2 orang rahib
kedalam perahu lalu sebrangkan. Setelah sampai di sebrang, turunkan salah satu
rahib kemudian naikkan salah satu kanibal dan kembali.
o
Setelah
kembali, turunkan salah satu kanibal dan naikkan rahib yang lain kedalam
perahu. Dan sebrangkan.
o
Saat
sampai di sebrang turunkan kedua rahib dan naikkan kanibal kedalam perahu dan kembali.
o
Setelah
kembali, naikkan kanibal yang lain, sebrangkan dan turunkan. Salah satu kanibal
kembali untuk menjemput kanibal yang lain.
o
Setelah
sampai, naikkan kanibal tersebut kedalam perahu dan sebrangkan. Setelah sampai
di seberang turunkan kedua kanibal.
o
Selesai
e)
Jawaban:
o
Pertama,
petani mengangkut kambing kedalam perahu dan sebrangkan.
o
Setelah
disebrangkan, kambing tersebut diturunkan dan petani kembali. Saat petani sudah
kembali, petani harus mengangkut rumput kedalam perahu dan kemudian sebrangkan.
o
Setelah
disebrangkan, turunkan rumput dan naikkan kambing kedalam perahu dan kembali.
o
Setelah
kembali, turunkan kambing dan petani mulai mengangkut anjing kedalam perahu dan
disebrangkan.
o
Saat
sampai disebrang, petani menurunkan anjing dan kemudian kembali.
o
Setelah
kembali, petani menaikkan kambing kedalam perahu dan mulai menyebrangi sungai.
Saat sampai di sebrang, petani menurunkan kambing dari dalam perahu.
o
Selesai
3.
Referensi
Tidak ada komentar:
Posting Komentar