Senin, 22 Juni 2015



Bab 1
    1.      Pengertian algoritma sangat lekat dengan kata logika, yaitu kemampuan seorang
manusia untuk berfikir dengan akal tentang suatu permasalahan menghasilkan sebuah
kebenaran, dibuktikan dan dapat diterima akal, logika seringkali dihubungkan dengan
kecerdasan, seseorang yang mampu berlogika dengan baik sering orang menyebutnya sebagaipribadi yang cerdas. Dalam menyelesaikan suatu masalahpun logika mutlak diperlukan

    2.      Perbedaan Algoritma dan Program
Sebagaimana telah diuraikan di sub bab sebelumnya bahwa algoritma adalah urutan
langkah-langkah terbatas yang disusun secara sistematis dan menggunakan bahasa yang logisdengan tujuan menyelesaikan suatu masalah tertentu. Sementara program adalah kumpulaninstruksi berupa pernyataan yang ditulis dengan menggunakan bahasa pemrograman yangmelibatkan pemilihan struktur data. Beberapa pakar komputer menyatakan program denganformula Program = Algoritma + Bahasa Pemrograman.

     3.      Runtunan = Sebuah runtunan terdiri dari satu atau lebih instruksi. Tiap instruksi dikerjakan secaraberurutan sesuai dengan urutan penulisannya, yakni sebuah instruksi dilaksanakan setelahinstruksi sebelumnya selesai dikerjakan. Urutan dari instruksi menentukan hasil akhir darisuatu algoritma. Bila urutan penulisan berubah maka mungkin juga hasil akhirnya berubah.Sebagai contoh perhatikan operasi aritmatika berikut ini, (4+3)*7=49, tetapi bila urutanaksinya diubah maka hasil keluaran akan berbeda menjadi 4+(3*7) =25.
Pemilihan yaitu instruksi yang dikerjakan dengan kondisi tertentu.
Kondisi adalah persyaratan yang dapat bernilai benar atau salah. Satu atau beberapa instruksihanya dilaksanakan apabila kondisi bernilai benar, sebaliknya apabila salah maka instruksitidak akan dilaksanakan.
Pengulangan merupakan kegiatan mengerjakan sebuah atau sejumlah aksi yang sama
sebanyak jumlah yang ditentukan atau sesuai dengan kondisi yang diinginkan.

     4.      membuat program adalah belajar tentang strategi atau cara menyelesaikan suatu masalah,yang diungkapkan dalam bentuk algoritma yang mudah dibaca dan dipahami yangselanjutnya dituangkan dalam bahasa pemrograman.
bahasa pemrograman adalah belajar mengenai tata caraatau tata aturan penulisan pernyataan atau statement untuk membuat program dalam bahasatertentu saja.
    5.      Proses mengirim surat :
1.      Mulai Menulis Surat
2.      Masukan surat dalam amplop
3.      Tempelkan perangko pada amplop
4.      Tuliskan alamat tujuan dan pengirim surat
5.      Pergi ke kantor Pos dengan membawa surat
6.      Masukan surat pada Bis Surat.
7.      Selesai.
     6.      Algoritma Mengambil Uang di ATM
1.      Pergi ke ATM
2.      Memasukkan kartu ATM ke mesin ATM
3.      Memilih bahasa yang digunakan
4.      Memasukkan kode PIN
5.      Memilih jenis transaksi : 1. Tarik Tunai
6.      Memilih jumlah uang yang akan di ambil
7.      Mengambil struk dan kartu ATM
     7.      Algoritma Membuat Kopi
1. Mulai
2. Siapkan air, panci, cangkir, kopi, dan gula.
3. masukan air kedalam panci.
4. Rebus air didalam panci hingga mendidih.
5. Setelah air mendidih masukan kopi kedalam cangkir.
6. Tambahkan gula secukupnya sesuai selera.
7. Masukan air mendidih kedalam cangkir.
8. Aduk kopi hingga merata dengan gula
9. Secangkir kopi manis siap disajikan
10.    Selesai
     8.      Algoritma Menghitung Luas Segitiga
1.      Mulai
2.      Masukkan Alas
3.      Masukkan Tinggi
4.      Luas segitiga=0.5*alas*tinggi
5.      Tampilkan hasil luas segitiga
6.      Selesai
     9.      Algoritma Kegiatan dari pagi nganti bengi
1.      Memulai dengan Bangun pagi kemudian membersihkan kamar tidur.
2.      Melaksanakan sholat shubuh lalu mandi pagi.
3.      Melanjutkan sarapan pagi lalu berangkat ke kampus.
4.      Setibanya di kampus menerima materi mata kuliah kemudian diberi tugas.
5.      Melanjutkan untuk istirahat dan makan siang.
6.      Kemudian sholat dzuhur dan masuk kembali ke kelas.
7.      Masuk kelas kembali dan menerima materi mata kuliah.
8.      Selesai menerima mata kuliah lalu pulang ke rumah.
9.      Setibanya di rumah, mandi dan sholat ashar.
10.  Melanjutkan menyicil mengerjakan tugas yang diberikan dosen tadi pagi.
11.  Kemudian sholat maghrib dan menunggu waktu isya.
12.  Melanjutkan shalat isya dan makan malam.
13.  Menyudahi makan malam lalu belajar untuk mata kuliah besok dan memmpersiapkannya.
14.  Mengakhiri belajar lalu tidur dengan nyenyak.
      10.  Algoritma Mengurutkan 3 Bilangan Acak
1.      Mulai
2.      Tentukan bilangan a (bilangan pertama).
3.      Masukkan bilangan a.
4.      Tentukan bilangan b (bilangan kedua).
5.      Masukkan bilangan b.
6.      Tentukan bilangan c (bilangan ketiga).
7.      Masukkan bilangan c.
8.      Apakah anda ingin mengurutkan secara ascending?
9.      Bila anda ingin mengurutkan secara ascending, maka :
10.  Bandingkan bilangan a dengan bilangan b.
11.  Bila a lebih besar daripada b, maka b sama dengan a (b=a) dan a sama dengan b (a=b).
12.  Bila a lebih kecil daripada b, maka a dan b bernilai tetap atau a sama dengan a (a=a) dan b sama dengan b (b=b).
13.  Bandingkan bilangan b dengan bilangan c
14.  Bila b lebih besar daripada c, maka c sama dengan b (c=b) dan b sama dengan c (b=c).
15.  Bila b lebih kecil daripada c, maka b dan c bernilai tetap atau b sama dengan b (b=b) dan c sama dengan c (c=c).
16.  Bandingkan apakah ketiga bilangan tersebut sudah urut secara ascending atau bilangan a lebih kecil dari bilangan b, dan bilangan b lebih kecil dari bilangan c (a<b<c).
17.  Bila bilangan a sudah lebih kecil daripada bilangan b dan bilangan b sudah lebih kecil daripada bilangan c, maka langsung ke langkah 13).
18.  Bila bilangan a belum lebih kecil daripada bilangan b dan bilangan b belum lebih kecil daripada bilangan c, maka kembali ke langkah 11.a).
19.  Bila anda tidak mengurutkan secara ascending, maka :
20.  Bandingkan bilangan a dengan bilangan b.
21.  Bila a lebih kecil daripada b, maka b sama dengan a (b=a) dan a sama dengan b (a=b).
22.  Bila a lebih besar daripada b, maka a dan b bernilai tetap atau a sama dengan a (a=a) dan b sama dengan b (b=b).
23.  Bandingkan bilangan b dengan bilangan c
24.  Bila b lebih kecil daripada c, maka c sama dengan b (c=b) dan b sama dengan c (b=c).
25.  Bila b lebih besar daripada c, maka b dan c bernilai tetap atau b sama dengan b (b=b) dan c sama dengan c (c=c).
26.  Bandingkan apakah ketiga bilangan tersebut sudah urut secara descending atau bilangan a lebih besar dari bilangan b, dan bilangan b lebih besar dari bilangan c (a>b>c).
27.  Bila bilangan a sudah lebih besar daripada bilangan b dan bilangan b sudah lebih besar daripada bilangan c, maka langsung ke langkah 13).
28.  Bila bilangan a belum lebih kecil daripada bilangan b dan bilangan b belum lebih kecil daripada bilangan c, maka kembali ke langkah 12.a).
29.  Cetak output ( bilangan a, b, c ) secara urut.
30.  Apakah anda masih ingin mengurutkan 3 bilangan acak lagi?
31.  Bila anda masih ingin mengurutkan 3 bilangan acak lagi, maka kembali ke langkah 4).
32.  Bila anda tidak ingin lagi mengurutkan 3 bilangan acak, maka proses pengurutan selesai.

BAB 3



 LatihanSoal   ( BAB 3 )
1. Apakah yang dimaksud dengan tipe data?
2. Sebutkan dan jelaskan penggolongan tipe data!
3. Apakah yang dimaksud dengan struktur data?
4. Apakah yang dimaksud dengan konstanta dan variabel?
5. Apakah beda antara konstanta dan variabel?
6. Apakah yang dimaksud dengan array? Jelaskan!
7. Apakah yang dimaksud dengan stack? Jelaskan operasi pada stack dan beri contoh
penerapannya dalam kehidupan sehari-hari!
8. Apakah yang dimaksud dengan queue?
9. Apakah yang dimaksud dengan tree? Berikan contoh penerapannya!
10. Apakah yang dimaksud dengan graph? Berikan contoh penerapannya!

JAWABAN :
1.Tipe data biasanya digunakan untuk menentukan jenis nilai yang dapat ditampung oleh suatu variabel, umumnya telah menyediakan tipe-tipe data yang sederhana (simple) maupun yang terstruktur. Apabila kita membutuhkan tipe data yang belum tersedia, kita dapat mendefinisikan sendiri tipe data baru yang disebut enumerated type.
2. Jenis-JenisTipe Data
1.  Tipe Data Sederhana.
Merupakan tipe data dasar yang sering dipakai oleh program, meliputi:

a.  Integer (Bilangan Bulat).
Penggolongan tipe data integer tersebut dimaksudkan untuk membatasi alokasi memori yang dibutuhkan. Misalkan untuk suatu perhitungan dari suatu variabel bilangan diperkirakan nilai maksimumnya 32767 kita cukup mendeklarasikan variabel bilangan sebagai integer (2 byte), dari pada sebagai longint (4 byte). Didalam kompilernya, Pascal menyediakan konstanta untuk bilangan Integer yaitu: MaxInt and MaxLongInt, pemrogram bisa menggunakannya didalam programnya tanpa haru sterlebih dahulu mendefinisikannya. Contoh bilangan integer adalah: 34 6458 -90 0 1112.
B. Real (Bilangan Pecahan). 
Bilangan real atau nyata merupakan jenis bilangan pecahan, dapat dituliskan secara biasa atau model scientific .Contoh bilangan real: 34.265 -3.55 0.0 35.997E+11, dimana E merupakan simbol perpangkatan 10. Jadi 452.13 mempunyai nilai sama dengan 4.5213e2.

d. Boolean (Logika)
Merupakantipe data logika, yang berisi dua kemungkinan nilai: TRUE (benar) atau FALSE (salah). Turbo Pascal for Windows memiliki tiga macam jenis ini yaitu: Boolean,WordBool, danLongBool. Tipe Boolean memakai memori paling kecil, sedangkan WordBool dan LongBool dipakai untuk menulis program yang sesuai dengan lingkungan Windows.

3. Struktur data adalah cara menyimpan atau merepresentasikan data didalam komputer agar bisa dipakai secara efisien. Sedangkan data adalah representasi dari fakta dunia nyata. Faktaa tau keterangan tentang kenyataan yang disimpan, direkam atau direpresentasikan dalam bentuk tulisan, suara, gambar, sinyal atau simbol.

4.Variabel adalah suatu tempat untuk menampung data yang nilainya selalu berubah. Sedangkan, Konstanta adalah suatu tempat untuk menampung data yang nilainya selalu tetap dan tidak pernah berubah.
Konstanta adalah variabel yang nilai datanya bersifat tetap dan tidak bisa diubah. Jadi konstanta adalah juga variabel bedanya adalah pada nilai yang disimpannya. Jika nilai datanya sepanjang program berjalan tidak berubah ubah, maka sebuah varibel lebih baik diperlakukan sebagai konstanta.

 5.
 
6. Array adalah sekumpulan variabel yang memiliki tipe data yang sama dan dinyatakan dengan nama yang sama. Array merupakan konsep yang penting dalam pemrograman, karna array memungkinkan untuk menyimpan data maupun referensi objek dalam jumlah banyak dan terindeks.

7. Pengertian Stack atauTumpukan adalah suatu stuktur data yang penting dalam pemrograman yang mempunyai sifat LIFO (Last In First Out), Benda yang terakhir masuk kedalam stack akan menjadi benda pertama yang dikeluarkan dari stack. 
Stack (Tumpukan) adalah list linier yang dikenali elemen puncaknya (TOP) dan Aturan penyisi pandanpenghapusanelemennyatertentu. Penyisipanselaludilakukan “di atas“ TOPdanPenghapusanselaludilakukanpada TOP 

OPERASI-OPERASI/FUNGSI STACK Push :digunakanuntukmenambah item pada stack padatumpukan paling atas 
Pop       : digunakanuntukmengambil item pada stack padatumpukan paling atas 
Clear     : digunakanuntukmengosongkan stack 
IsEmpty :fungsi yang digunakanuntukmengecekapakah stack sudahkosong 
IsFull     : fungsi yang digunakanuntukmengecekapakah stack sudahpenuh 

 8. Queue padaStruktur Data atauantrianadalahsekumpulan data yang manapenambahanelemenhanyabisadilakukanpadasuatuujungdisebutdengansisibelakang(rear), danpenghapusan(pengambilanelemen) dilakukanlewatujung lain (disebutdengansisidepanatau front). 

Queue atauantrianprinsip yang digunakanadalah “MasukPertamaKeluarPertama” atau FIFO (First In First Out). 
Queue atauantrianbanyakkitajumpaidalamkehidupansehari-hari, ex: antrian Mobil diloketTol, AntrianmahasiswaMendaftar, dll. Contoh lain dalambidangkomputeradalahpemakaiansistemkomputerberbagiwaktu(time-sharing computer system) dimanaadasejumlahpemakai yang akanmenggunakansistemtersebutsecaraserempak.

Pada Queue atauantrianTerdapatsatubuahpintumasuk di suatuujungdansatubuahpintukeluar di ujungsatunyadimanamembutuhkanvariabel Head dan Tail ( depan/front, belakang/rear). 
Karakteristik Queue atauantrian : 
1. elemenantrian 
2. front (elementerdepanantrian) 
3. tail (elementerakhir) 
4. jumlahelemenpadaantrian 
5. statusantrianOperasipada Queue atauantrian 

1. tambah(menambah item padabelakangantrian) 
2. hapus (menghapuselemendepandariantrian) 
3. kosong(mendeteksiapakahpadaantrianmengandungelemenatautidak) 

9. Tree merupakan salah satu bentuk struktur data tidak linear yang menggambarkan
hubungan yang bersifat hirarki (hubungan one to many) antara elemen-elemen, contoh penerapannya adalah ketika menggambar bagan silsilah keluarga, atau struktur organisasi

10. graph adalah struktur yang menggambarkan relasi antar obyek dari sebuah koleksi obyek. Contoh penerapannya adalah Contohnya informasi topologi dan jarak antar kota-kota di suatupulau.