LAPORAN PRAKTIKUM
DASAR PEMROGRAMAN KOMPUTER
Oleh :
Gilang Samodra
NIM. 135623044
UNIVERSITAS NEGERI
SURABAYA
TEKNIK ELEKTRO
SURABAYA
2013
I
DASAR TEORI
-
Dasar Teori tentang algoritma dan
pemograman
Dalam Mempelajari Teori
Algoritma dan Pemrograman dalam matakuliah Algoritma dan Pemrograman, maka
perlulah mahasiswa terlebih dahulu mengenal akan definisi-definisi
masing-masing dari kata ‘Algoritma’ serta ‘Pemrograman’.
Beberapa definisi
Algoritma adalah seperti berikut ini :
§ Pola
pikir yang terstruktur yang berisi tahap-tahap penyelesaian masalah.
§ Urutan
logis pengambilan keputusan untuk pemecahan masalah.
§ Urutan
langkah berhingga untuk memecahkan masalah logika dan matematika
Sedangkan definisi dari
Pemrograman yaitu Proses mengimplementasikan urutan langkah untuk menyelesaikan
suatu masalah dengan menggunakan suatu bahasa pemrograman.
Adapun ilustrasi proses
pemrograman, terlihat dalam gambar 1.1. berikut ini :
Gambar
1.1. Diagram alir Proses Pemrograman
-
Karakteristik
algoritma
Karakteristik
Algoritma
1.
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.
2.
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”
3.
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.
4.
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.
5.
Algoritma harus
sangkil (effective). Setiap langkah harus sederhana sehingga dapat di kerjakan
dalam sejumlah waktu yang masuk akal.
-Flowchart
Flowchart
merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar
proses beserta instruksinya. Gambaran ini dinyatakan dengan simbol. Dengan
demikian setiap simbol menggambarkan proses tertentu. Sedangkan hubungan antar
proses digambarkan dengan garis penghubung.
Flowchart
ini merupakan langkah awal pembuatan program. Dengan adanya flowchart urutan
poses kegiatan menjadi lebih jelas. Jika ada penambahan proses maka dapat
dilakukan lebih mudah. Setelah flowchart selesai disusun, selanjutnya pemrogram
(programmer) menerjemahkannya ke bentuk program dengan bahsa pemrograman.
Pengenalan
Flowchart
Flowchart
merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar
proses beserta instruksinya. Gambaran ini dinyatakan dengan simbol. Dengan
demikian setiap simbol menggambarkan proses tertentu. Sedangkan hubungan antar
proses digambarkan dengan garis penghubung.
Flowchart
ini merupakan langkah awal pembuatan program. Dengan adanya flowchart urutan
poses kegiatan menjadi lebih jelas. Jika ada penambahan proses maka dapat
dilakukan lebih mudah. Setelah flowchart selesai disusun, selanjutnya pemrogram
(programmer) menerjemahkannya ke bentuk program dengan bahsa pemrograman.
Simbol-simbol
flowchart
Flowchart
disusun dengan simbol-simbol. Simbol ini dipakai sebagai alat bantu
menggambarkan proses di dalam program. Simbol-simbol yang dipakai antara lain :
Flow
Direction symbol
Yaitu
simbol yang digunakan untuk menghubungkan antara simbol yang satu dengan simbol
yang lain. Simbol ini disebut juga connecting line.
Terminator
Symbol
Yaitu
simbol untuk permulaan (start) atau akhir (stop) dari suatu kegiatan
Connector
Symbol
Yaitu
simbol untuk keluar – masuk atau penyambungan proses dalam lembar / halaman
yang sama.
Connector
Symbol
Yaitu
simbol untuk keluar – masuk atau penyambungan proses pada lembar / halaman yang
berbeda.
Processing
Symbol
Simbol
yang menunjukkan pengolahan yang dilakukan oleh komputer
Simbol
Manual Operation
Simbol
yang menunjukkan pengolahan yang tidak dilakukan oleh komputer
Simbol
Decision
Simbol
pemilihan proses berdasarkan kondisi yang ada.
Simbol
Input-Output
Simbol
yang menyatakan proses input dan output tanpa tergantung dengan jenis
peralatannya
Simbol
Manual Input
Simbol
untuk pemasukan data secara manual on-line keyboard
Simbol
Preparation
Simbol
untuk mempersiapkan penyimpanan yang akan digunakan sebagai tempat pengolahan
di dalam storage.
Simbol
Predefine Proses
Simbol
untuk pelaksanaan suatu bagian (sub-program)/prosedure
Simbol
Display
Simbol
yang menyatakan peralatan output yang digunakan yaitu layar, plotter, printer
dan sebagainya.
Simbol
disk and On-line Storage
Simbol
yang menyatakan input yang berasal dari disk atau disimpan ke disk.
Kaidah-kaidah
pembuatan Flowchart
Dalam
pembuatan flowchart tidak ada rumus atau patokan yang bersifat mutlak. Karena
flowchart merupakan gambaran hasil pemikiran dalam menganalisa suatu masalah
dengan komputer. Sehingga flowchart yang dihasilkan dapat bervariasi antara
satu pemrogram dengan pemrogram lainnya.
Namun
secara garis besar, setiap pengolahan selalu terdiri dari tiga bagian utama,
yaitu;
1.
Input berupa bahan mentah
2.
Proses pengolahan
3.
Output berupa bahan jadi.
Untuk
pengolahan data dengan komputer, dapat dirangkum urutan dasar untuk pemecahan
suatu masalah, yaitu;
·
START: berisi instruksi
untuk persiapan perlatan yang diperlukan sebelum menangani pemecahan
masalah.
·
READ: berisi
instruksi untuk membaca data dari suatu peralatan input.
·
PROCESS: berisi
kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang
dibaca.
·
WRITE: berisi
instruksi untuk merekam hasil kegiatan ke perlatan output.
·
END: mengakhiri
kegiatan pengolahan
Gambar
berikut memperlihatkan flowchart dari kegiatan dasar diatas.
Dari
gambar flowchart di atas terlihat bahwa suatu flowchart harus terdapat proses
persiapan dan proses akhir. Dan yang menjadi topik dalam pembahasan ini adalah
tahap proses. Karena kegiatan ini banyak mengandung variasi sesuai dengan
kompleksitas masalah yang akan dipecahkan. Walaupun tidak ada kaidah-kaidah
yang baku dalam penyusunan flowchart, namun ada beberapa anjuran yaitu:
·
Hindari pengulangan proses yang tidak perlu dan
logika yang berbelit sehingga jalannya proses menjadi singkat
·
Penggambaran flowchart yang simetris dengan
arah yang jelas.
·
Sebuah flowchart diawali dari satu titik START
dan diakhiri dengan END.
-Pseudecode
Pseudocode
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.
Contoh
<variable> = <expression>
if <condition>
do stuff
else
do other stuff
while <condition>
do stuff
for <variable> from <first value> to <last value> by <step>
do stuff with variable
function <function name>(<arguments>)
do stuff with arguments
return something
<function name>(<arguments>) // Function call
-
Bahasa Pemograman
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 (kodemnemonic),
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.
II
LANGKAH-LANGKAH PEMECAHAN MASALAH
1.
Siapkan
tambahan 1 gelas jadi keseluruhan terdapat 3 gelas
Yakni
gelas A, B , dan C
Tuangkan
isi gelas A ke gelas C (gelas A kosong)
Lalu
gelas B ke gelas A (gelas B kosong)
Terakhir
gelas C ke gelas B
2.
Masing-masing
ember yang bervolume 5 liter dan 3 liter air di isi penuh.
Lalu
ember yang bervolume 3 liter di buang keseluruhan
Selanjutnya
ember yang bervolume 5 liter di masukan ke ember 3 liter yang sebelumnya sudah
kosong, hingga volume mencapai 4 liter
Dan
bersisa 1 liter
Jadi
sekarang ada 1 ember yang berisi 4 liter air
3.
Pertama-tama
kita sebrangkan Si 1 detik dan 3 detik. (waktu tersisa 30 detik- 3 detik yang
pegang lampu jadi sisa = 27 detik)
Si 1 detik balik menjemput yang 6 detik. (waktu tersisa 27 -1 detik yang pegang lampu jadi sisa = 26 detik)
Si 1 detik dan 6 detik menyebrang, lalu si 1 detik balik lagi.(waktu tersisa 26 detik-6 detik yang pegang lampu- 1 detik yang balik ke sisi A = 19 detik )
Seberangkan secara bersama-sama si 12 detik (kakek”) dengan Si 8 detik. Di sini hanya berkurang 12 detik , karena si 12 detik yang pegang lampu.(waktu tersisa 19 detik-12 detik yang pegang lampu = 7 detik)
Si 3 detik balik jemput Si 1 detik.
(waktu tersisaa 7 detik- 3 detik yang balik ke sisi A = 4 detik)
Terakhir Si 1 detik dan 3 detik
menuju sisi B bersama-sama (waktu teesisa 4 detik – 3 detik yang pegang lampu =
1 detik )
4.
Pertama-tama kita sebrangkan 2
canibal ke sisi B ( yang 1 canibal tidak akan berani melawan 3 orang rahib)
Taruh 1 canibal di sisi B, Jemput canibal yang lain untuk ditaaruh di sisi B
2 Canibal di sisi B , 1 canibal balik ke sisi A. Sekarang 2 orang rahib menuju sisi B
Taruh 1 orang rahib di sisi B, lalu balikin 1 canibal ke sisi A (tadinya di sisi B ada 2 canibal)
Balikin 1
canibal ke sisi A , 1 canibal , 1 rahib di sisi B, 1 canibal, 1 rahib dalam
perahu. 1 canibal, 1 rahib di sisi A (pokonya harus rata/sama)
Sekarang posisinya 3 orang alim di sisi B, 1 canibal di perahu dan setan di sisi A
Jemput canibal-canibal tadi dengan setan yang diperahu satu-persatu
Hingga setan yang terakhir. Intinya adalah keseimbangan jumlah, dan mengutamakan rahib ke sisi B dulu.
Selesai
deh... level 2 clear
5.
Angkut
kambingnya dulu menuju sisi B, soalnya serigala tidak mungkin makan sayuran.
Angkut sayurannya menuju sisi B, dadn bawa kembali kambingnya ke sisi awal (sisi A)
Sekarang angkut serigalanya menuju ke sisi B
Angkut sayurannya menuju sisi B, dadn bawa kembali kambingnya ke sisi awal (sisi A)
Sekarang angkut serigalanya menuju ke sisi B
Balik lagi
seorang diri, ambil kambingnya menuju sisi B
Selesai
III REFERENSI