Sunday, October 27, 2013

Modul 2 Daspro

https://docs.google.com/file/d/0B9pYnEj_wqQ_WV9iMl9teFlMdXM/edit?usp=drive_web

Saturday, September 21, 2013

Modul 1- Daspro

LAPORAN
TUGAS MODUL 1
PRAKTIKUM DASAR PEMROGRAMAN
TOPIK    : PEMAHAMAN ALGORITMA











OLEH    :
MEGASARI RAMADHANIS (135623055)
PRODI DIII MANAJEMEN INFORMATIKA
JURUSAN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNESA
2013

DAFTAR ISI

1.    DASAR TEORI
1.1    Dasar Teori tentang algoritma dan pemrograman
1.2    Karakteristik algoritma
1.3    Flowchart
1.4    Psoudecode
1.5    Bahasa pemrograman

2.    LANGKAH- LANGKAH PEMECAHAN MASALAH
3.    REFERENSI




1.    DASAR TEORI
1.1    Dasar Teori tentang algoritma dan pemrograman
Awal mula kata Algoritma dimulai dari temuan kata algorism yang mempunyai arti  proses menghitung dengan angka arab. Seorang yang ahli dalam proses menghitung dengan angka arab disebut dengan algorist. Lambat laun, para ahli sejarah matematika menemukan asal kata tersebut dalam buku arab karya Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi atau yang biasa kita sebut dengan Al-Khuwarizmi dalam Kitab Al Jabar Wal- Muqabala yang artinya “Buku pemugaran dan pengurangan”
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 algoritm.Sedang pengertian dari Algoritma sendiri ialah:
“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.
Pada program, program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma. Program ditulis dengan menggunakan bahasa pemrograman. Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa pemrograman.

"Beberapa pakar memberi formula bahwa:  Program = Algoritma+ Bahasa (Struktur Data)"

Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah program. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang baik, demikian juga sebaliknya.
Menggunakan algoritma mempunyai banyak keuntungan, antara lain :
a.    Apapun bahasa pemrogramannya output sesuai dengan input
b.    Notasi algoritma dapat diterjemahkan dalam berbagai bahasa pemrograman

1.2    Karakteristik algoritma
Karakteristik algoritma yang baik ialah sebagai berikut    :
a.    Algoritma akan memberikan keluaran yang sesuai dari input, maka dari itu algoritma harus tidak ambigu (unambigu) dan tepat/ benar sebab jika input salah maka output pun salah
b.    Algoritma yang baik harus mampu memberikan hasil yang sedekat mungkin dengan nilai yang sebenarnya. Dalam hal ini algoritma harus tepat( precise)
c.    Pada algoritma dikenal istilah efisiensi algoritma. Efisiensi algoritma dapat ditinjau dari 2 hal yaitu efisiensi waktu dan memori. Meskipun algoritma memberikan keluaran yang benar (paling mendekati), tetapi jika kita harus menunggu berjam-jam untuk mendapatkan keluarannya, algoritma tersebut biasanya tidak akan dipakai, setiap orang menginginkan keluaran yang cepat. Begitu juga dengan memori, semakin besar memori yang terpakai maka semakin buruklah algoritma tersebut.Dalam hal ini, algoritma harus pasti( definite)

1.3    Flowchart
Pengertian flowchart hampir sama dengan algoritma, kegunaannya pun sama. Hanya saja flowchart menggunakan bagan/ skema dalam menuliskan suatu alur program/ sistem. Flowchart dibagi menjadi 2 bagian, yaitu : 1. Flowchart yang menggambarkan alur suatu sistem , 2. Flowchart yang menggambarkan alur dari suatu program.
Simbol/ gambar yang biasa digunakan dalam flowchart ialah seperti dibawah ini :




1.4    Psoudecode
Pseudo-code (dalam bahasa indonesia disebut kode palsu) 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  (flowchart) dapat pula dimasukkan sebagai alternatif berbasis grafis sebuah kode-palsu.

1.5    Bahasa Pemrograman
    Bahasa pemrograman berarti memakai suatu bahasa aturan-aturan tata bahasanya,pernyataan-pernyataannya, tata cara pengoperasian compiler-nya, dan memanfaatkan pernyataan-pernyataan tersebut untuk membuat program yang ditulis hanya dalam bahasa itu saja.
Sampai saat ini terdapat puluhan bahasa pemrogram, antara lain bahasa rakitan (assembly), Fortran, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasa- bahasa simulasi seperti CSMP, Simscript, GPSS, Dinamo.
Berdasarkan terapannya, bahasa pemrograman dapat digolongkan atas dua kelompok besar:
•    Bahasa pemrograman bertujuan khusus. Yang termasuk kelompok ini adalah Cobol (untuk terapan bisnis dan administrasi). Fortran (terapan komputasi ilmiah), bahasa rakitan (terapan pemrograman mesin), Prolog (terapan kecerdasan buatan), bahasa-bahasa simulasi, dan sebagainya.
•    Bahasa perograman bertujuan umum. Yang dapat digunakan untuk berbagai aplikasi. Yang termasuk kelompok ini adalah bahasa Pascal, Basic dan C. Tentu saja pembagian ini tidak kaku. Bahasa- bahasa bertujuan khusus tidak berarti tidak bisa digunakan untuk aplikasi lain. Cobol misalnya, dapat juga digunakan untuk terapan ilmiah, hanya saja kemampuannya terbatas. Yang jelas, bahasabahasa pemrograman yang berbeda dikembangkan untuk bermacam-macam terapan yang berbeda pula.

    Berdasarkan pada apakah notasi bahasa pemrograman lebih “dekat” ke mesin atau ke bahasa manusia, maka bahasa pemrograman dikelompokkan atas dua macam:
•    Bahasa tingkat rendah. Bahasa jenis ini dirancang agar setiap instruksinya langsung dikerjakan oleh komputer, tanpa harus melalui penerjemah (translator). Contohnya adalah bahasa mesin. CPU mengambil instruksi dari memori, langsung mengerti dan langsung mengerjakan operasinya. Bahasa tingkat rendah bersifat primitif, sangat sederhana, orientasinya lebih dekat ke mesin, dan sulit dipahami manusia. Sedangkan bahasa rakitan dimasukkan ke dalam kelompok ini karena alasan notasi yang dipakai dalam bahasa ini lebih dekat ke mesin, meskipun untuk melaksanakan instruksinya masih perlu penerjemahan ke dalam bahasa mesin.
•    Bahasa tingkat tinggi. Yang membuat pemrograman lebih mudah dipahami, lebih “manusiawi”, dan berorientasi ke bahasa manusia (bahasa Inggris). Hanya saja, program dalam bahasa tingkat tinggi tidak dapat langsung dilaksanakan oleh komputer. Ia perlu diterjemahkan terlebih dahulu oleh sebuah translator bahasa (yang disebut kompilator atau compiler) ke dalam bahasa mesin sebelum akhirnya dieksekusi oleh CPU. Contoh bahasa tingkat tinggi adalah Pascal, PL/I, Ada, Cobol, Basic, Fortran, C, C++, dan sebagainya.
Bahasa pemrograman bisa juga dikelompokkan berdasarkan pada tujuan dan fungsinya. Di antaranya adalah:



2.    LANGKAH- LANGKAH PEMEVAHAN MASALAH
1.    Misalkan terdapat dua gelas, yakni gelas “A” dan “B”. Gelas A berisi air berwarna merah, dan gelas B berisi air berwarna biru. Volume air di dalam kedua gelas sama. Bagaimana mempertukarkan isi kedua gelas sehingga gelas A berisi air berwarna biru, dan gelas B berisi air berwarna merah.

Kondisi awal:
 
            Gelas A                                              Gelas B

Kondisi akhir:


            Gelas A                                               Gelas B

Penyelesaian    :
Untuk mempertukarkan kedua isi gelas dibutuhkan satu gelas lagi (gelas C) dengan langkah- langkah seperti berikut :
a.    Air berwarna merah dalam gelas A dipindah ke dalam gelas C
b.    Air berwarna biru dalam gelas B dipindah ke dalam gelas A
c.    Air berwarna merah pada gelas C dipindah ke dalam gelas B, maka Air dalam gelas A yang semula berwarna merah menjadi berwarna biru, dan sebaliknya.

2.    Misalkan anda mempunyai dua ember, masing-masing ber-volume 5liter dan 3 liter. Anda diminta untuk mendapatkan air (dari sebuah danau) sebanyak 4 liter dengan menggunakan bantuan hanya kedua ember tersebut. Terserah bagaimana caranya, anda boleh memindahkan air dari satu ember ke ember yang lain, membuang seluruh isi ember, dan sebagainya. Catatan: ember tidak memiliki ukuran. Game: http://www.coolmath4kids.com/math_puzzles/Logic-waterjars/.
Pertanyaan    : Tuliskan langkah-langkah untuk mendapatkan air 4 liter tersebut.
Penyelesaian    :
Untuk mendapatkan air 4 liter dengan menggunakan 2 ember 5liter dan 3liter dapat dilakukan dengan langkah- langkah sebagai berikut    :
a.    Isi ember kosong yang berisi air 5 liter
b.    Tuang air tersebut kedalam ember kosong 3liter
c.    Otomatis sisa air pada ember 5 liter ialah 2 liter (5-3=2)
d.    Sisa 2 liter tersebut pindahkan pada ember 4liter, kemudian buang seluruh air pada ember 3 liter hingga kosong. Lakukan tahapan tersebut 2 kali sehingga ember air 4 liter terisi penuh.

3.    (plastelina game) Ada sebuah keluarga terdiri dari 5 orang, akan menyeberang melewati jembatan pada malam hari dengan bantuan lampu yang hanya bisa bertahan 30 detik, dengan catatan:
a.    Setiap orang mempunyai kecepatan yang berbeda-beda (1, 3, 6, 8, dan 12 detik).
b.    Apabila yang melewati jembatan ada 2 orang, maka kecepatannya akan dihitung berdasarkan yang paling lambat.
Game bisa di akses di: http://plastelina.net/game3.html
Pertanyaan    : tuliskan langkah-langkah secara detail untuk menyelesaikan game tersebut.
Penyelesaian    :
Urutan penyeberangan ialah sebagai berikut (tempat A ialah tempat asal, tempat B ialah tujuan)     :
a.    Pemberangkatan pertama ialah anak 1 detik dan 3 detik menuju tempat B
b.    Kemudian anak satu detik kembali ke tempat A
c.    Pemberangkatan kedua ialah anak 1 detik dan seorang wanita 6 detik menuju tempat B
d.    Kemudian anak 3 detik kembali ke tempat A
e.    Pemberangkatan selanjutnya ialah anak gendut 8 detik dan kakek 12 detik menuju tempat B
f.    Anak 1 detik kembali ke tempat A dan menjemput anak yang 3 detik menuju tempat B. Dari perhitungan diatas. Terdapat sisa waktu 1 detik.

4.    (Canibal Game) Bagaimana caranya untuk menyeberangkan tiga rahib dan 3 kanibal ke pulai di seberang, dengan catatan:
a.    Perahu maksimal dapat ditumpangi dua orang.
b.    Perahu tidak dapat berjalan sendiri (tanpa penumpang)
c.    Jika jumlah rahib lebih sedikit dari kanibal, maka rahib akan dimakan oleh kanibal.
Link game: http://www.plastelina.net/game2.html
Pertanyaan    : tuliskan langkah-langkah secara detail untuk menyeberangkan rahib dan kanibal ke pulai seberang.
Penyelesaian    :
Untuk menyeberangkan rahib dan kanibal dengan lancar, maka langkah- langkahnya ialah sebagai berikut (tempat A ialah tempat asal, tempat B ialah tujuan)    :
a.    Pemberangkatan pertama perahu ditumpangi oleh 2 orang kanibal menuju tempat B
b.    Sesampainya ditempat B Kanibal 1 turun, sedang Kanibal 2 kembali ke tempat A
c.    Kemudian Kanibal 3 naik menuju ke tempat B
d.    Sampai di tempat B Kanibal 2 turun, kemudian kanibal 3 kembali ke tempat A
e.    Sampai ditempat A Kanibal 3 turun, kemudian Rahib 1 dan Rahib 2 menaiki perhau menuju tempat B
f.    Sesampainya ditempat B Rahib 1 turun,kemudian Kanibal 2 naik. Rahib 2 dan Kanibal 2 kembali menuju tempat A
g.    Sesampainya ditempat A Kanibal 2 turun dan Rahib 3 naik. Rahib 3 dan Rahib 2 menuju tempat B
h.    Sesampainya ditempat B kedua Rahib turun dan Kanibal 1 menaiki perahu menuju tempat A menjemput Kanibal 2
i.    Lalu kembali menuju tempat B, Kanibal 1 turun. Kanibal 2 menjemput kanibal 3 ditempat A
j.    Kemudian kedua kanibal kembali ke tempat B dan turun dari perahu.

5.    (wolf game) seorang petani akan bepergian ke kota dengan membawa se-ekor kambing , anjing, dan rumput yang ketiganya memiliki berat yang tidak jauh berbeda. Ditengah jalan, petani harus menyeberangi sungai dengan menggunakan perahu dan untuk melaluinya petani tersebut tidak diperbolehkan membawa sekaligus bawaanya mengingat kapasitas kekuatan perahu tersebut, dan untuk melaluinya petani harus membawa satu per-satu bawaannya, dengan catatan:
a.    Kambing makan rumput
b.    Anjing makan kambing
Pertanyaan    : tuliskan langkah-langkah secara detail untuk menyeberangkan semua barang bawaan petani tersebut, dan berapa kali petani harus membawa satu-persatu bawaanya.
Penyelesaian    :
Untuk menyeberangkan semua barang bawaan petani tersebut dengan catatan kambing makan rumput, anjing makan kambing. Dapat dilakukan dengan langkah- langkah sebagai berikut (katakanlah tempat A (posisi awal) menuju B(posisi akhir)):
a.    Pemberangkatan pertama petani membawa kambing ke tempat B
b.    Sampai ditempat B, kambing diturunkan. Petani kembali ke tempat A dengan perahu kosong
c.    Sampai ditempat A petani membawa serigala menuju tempat B
d.    Sampai ditempat B serigala diturunkan dan petani kembali ke tempat A dengan membawa kambing
e.    Sesampainya ditempat A petani menurunkan kambing dan membawa rumput menuju ke tempat B
f.    Sesampainya ditempat B petani menurunkan rumput dan kembali ketempat A dengan perahu kosong
g.    Terakhir petani membawa kambing menuju ke tempat B, sesampainya ditempat B kambing diturunkan.
Dalam hal ini petani menaiki perahu kosong 2kali, sedang petani membawa barang bawaannya satu persatu ialah 5kali.

3.    REFERENSI
www.https:// istilah-dasar-komputer-dan pemrograman.html (Diakses pada 17/09/2013 12:58)
www.https://karakteristik-algoritma-yang-baik_06.html (Diakses pada 17/09/2013 13:41)
www.https://kode_palsupseudecode.htm (Diakses pada 17/09/2013 14:11)
Alex Budiyanto (2013) “Pengantar Algoritma dan Pemrograman”
“ALGORITMA & PEMROGRAMAN: Teori dan Praktik dalam Pascal Edisi Kedua”

Saturday, July 6, 2013

Alam Hati


Andai saja kau mampu merasakan,

Andai saja kau mampu memahami,

ALAM HATIKU



Suram pernah mengusik-ku

Ribuan mendung mengubur

Ribuan hujan membasahi

Ribuan ombak mengabrik2 pertahanan

Ribuan petir mencakar, ALAM HATIKU



Ini bukan tentang aku,

Bukan hanya tentang aku,

Tapi mengenai raga

Tapi mengenai roh

ALAM HATIKU



Remuk tak tersisa

Berkeping- keping berserakan

Berdebu, menjadi abu

ALAM HATIKU



Karnamu,

Sebabmu,

Akibatmu,

ALAM HATIKU

Luka



Luka,
Memang luka
Tetap luka
Hanya luka

Luka
Dan luka
Tidak!
Tapi memang luka

Berhenti
Hanya saja luka
Sebuah luka
Andai bukan
Tapi memang

Andai
Luka
Bukan
Luka

Tetap saja
Memang luka!

Tuesday, July 2, 2013

Hurt

Because the reason I live is you,
With my heart, I hope the remaining,
flickering memories will be sent to you

At the end of this road I walk on,

At this road that was allowed to me,
I, who used to love and love you more,
Remain here alone


My love has all burned up and
the only thing remaining
Are the exhausted scars from waiting
I cannot forget a person like you
Only tears fall


When my love has all washed away
Only the longing scars remain
Only the words, “good bye” remain


So I cannot forget you

Following the flower petals
that yield to the sky


When I meet you,
I can tell you now that I longed for you
I long for you so I couldn’t forget you



Monday, June 24, 2013

Rona Merahmu



Ada yang bilang….
Jangan berikan semua hati mu
Ada yang bilang…
Jangan lagi kau kasmaran
Ada yang katakan…
Biarkan mimpi itu menjauh

Aku tau mereka semua sayang padaku
Aku tau..
Mereka takut aku kecewa
Aku tau..
Mereka takut ditinggalkan

Yang mereka tidak tau…
Aku terbangun dari mimpi buruk
Yang mereka tidak mengerti…
Aku bangkit dari kematian
Yang mereka tidak fahami…
 Aku mendapatkan kehidupan baru

Tak lagi perduli bila suatu saat aku ditinggalkan
Tak lagi soal bila aku tidak dicintai seperti aku mencintai
Tak lagi masalah bila aku telah salah langkah

Ku hanya punya ketulusan cinta dan kasih
Ku hanya ingin memberi setelah aku menerima segalanya

Apapun yang terjadi nanti
Semuanya terserah Ilahi
Bahagianya dicintai dan mencintai itu yang aku rasa saat ini…
Hadir oleh mu
"RONA MERAHMU"

(✿◠‿◠) puisi Anna