Jumat, 20 September 2013

Laporan Praktikum Dasar Pemrograman D3 MI A


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