Senin, 22 Juni 2015

Studi Kasus Algoritma & Struktur Data Mengenai Pengambilan Uang di Mesin ATM

Permasalahan

      Untuk mengambil uang tunai, disetiap bank memiliki minimum nominal yang berbeda beda. Ada yag memiliki nilai saldo minimum Rp 50000 ada pula yang Rp 100000 . Jika nominal saldo yang dipilih adalah Rp 50000 di bank tersebut, maka proses berlanjut ke berapa jumlah uang yang akan diterima/jumlah lembar uang yg keluar dari mesin atm senilai jumlah nominal yg ditulis.Dan buat flowchart untuk proses jumlah lembar uang yang akan di keluarkan mesin ATM sesuai jumlah nominal.
Penyelesaian
      Pertama memasukkan kartu ke dalam mesin ATM . kemudian akan muncul tampilan untuk memilih bahasa, di setiap atm yang ada di indonesia terdapat dua pilihan bahasa , bahasa indonesia dan inggris. Jika sudah memilih salah satu dari bahasa tersebut, kemudian masukkan kode PIN.kode pin sangatlah pnting,karena jika salah memasukkan kode PIN sebanyak 3x maka secara otomatis kartu ATM akan terblokir.oleh karena itu, untuk menghindari kesalahan sebaiknya nomor pin adalah  nomor yang mudah kalian Ingat.Kemudian setelah kamu memasukkan pin , maka data pin tersebut akan diacak(di-encrypt) dengan rumus tertentu dan dikirim ke sistem komputerisasi di bank yang bersangkutn . pengacakan data pin ini dimaksudkan agar data-datamu tidak bisa terbaca oleh pihak lain.jika nomor pin benar proses akan berlanjut untuk memilih jenis transaksi.
      Saya di disini mengambil contoh untuk mengambil uang tunai senilai Rp.3500000 . Di layar mesin ATM , nilai pilihannya maksimum adalah Rp 2500000 , jadi saya memilih untuk memasukkan nominal lain . Setelah saya memasukkan jumlah nominalnya , proses berlanjut ke berapa jumlah uang yang akan diterima/jumlah lembar uang yang keluar dari mesin ATM senilai jumlah nominal yang ditulis. Pada proses ini terdapat rumus x/50000=n . x disana adalah jumlah nominal yang sudah ditulis, kemudian dibagi dg jumlah minimal nominal yang ada di ATM tersebut yaitu Rp 50000.Didapatkan hasil n yaitu jumlah lembar uang yang diterima . 3500000/50000=70 lembar . Setelah uang diterima, kemudian akan ada muncul pilihan”apakah anda ingin melakukan transaksi lainnya?” jika ‘yes’ maka proses berulang ke ‘pilih jenis transaksi’ dan jika ‘no’ maka proses berlanjut ke pencetakan struk dan mengambil kartu ATM dan proses pengambilan uang tunai di mesin ATM dinyatakan selesai(END).

Algoritma pengambilan uang di Mesin 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 jumlah uang yang akan diambil
7.    Mengambil Struck dan kartu ATM
 Flowchart

Minggu, 21 Juni 2015

BAB 2 Soal & Jawaban

Latihan Soal !

1. Buatlah algoritma untuk menentukan nilai terbesar dari bilangan bulat yang dibaca dari keyboard dan menuliskan hasilnya ke layar! ALgoritma dibuat dalam bentuk kalimat deskriptif, pseudocode dan flowchart.

2. Buat algoritma dalam bahasa deskriptif dan flowchart untuk kegiatan mengambil dan menabung uang di bank melalui teller!

3. Buat algoritma dalam bahasa deskriptif dan pseudocode untuk menentukan apakah suatu
bilangan merupakan bilangan genap atau ganjil!

4. Membuat flowchart untuk proses pembuatan kopi yang rasa manisnya tepat

5. 2. membuat flowchart mengurutkan 3 bilangan acak

6. Buat algoritma untuk menghitung nilai N suku dari deret aritmatika berikut:

    Sn = 3+7+11+…+(4n-1)

7. Lengkapi penulisan flowchart berikut ini:


1. Apakah suara bell pintu?
2. Start
3. Angkat dan menjawab telepon
4. Mematikan alarm
5. Apakah suara telepon?
6. Mendengar suara alarm berbunyi
7. Stop
8. Membuka dan memeriksa siapa yang                   berada didepan pintu.









8. Analisalah potongan algoritma dibawah ini! Apakah tujuan algoritma ini? Selanjutnya ubahlah           potongan algoritma berikut ini menjadi sebuah flowchart!

   1. const PI := 3.14
   2. var radius, volume : real
   3. put “please enter...”..
   4. get radius
   5. volume := (4/3)*PI*radius**3
   6. put “”
   7. put “The volume is”, volume

9. Lengkapi kerangka flowchart dibawah ini berdasarkan potongan algoritma yang ada!


1. Memulai dan mendeklarasikan variabel nilai
2. Berapa besarnya nilai?
3. Mematikan alarm
4. Cek apakah nilai>=50
5. Jika nilai>=50 tampilkan “LULUS”
6. Jila nilai<50 tampilkan “GAGAL”
7. Stop










10. Analisalah flowchart dibawah ini dan selanjutnya lengkapilah trace table!



















Jawaban :

1.
Kalimat Deskriptif
Pseudocode
Masukkan bilangan pertama
Input bilangan a
Masukkan bilangan kedua
Input bilangan b
Apakah bilangan pertama > dari bilangan kedua

Jika ya, maka hasil adalah bilangan pertama
if a>b then print “Bilangan terbesar=%f”,a
Jika tidak, maka hasil adalah bilangan kedua
if a>b then print “Bilangan terbesar=%f”,b
Tampilkan hasil



Flowchart :























2. Kalimat deskriptif :
a.    Masuk ke dalam bank tertentu
b.    Mengambil nomor antrian
c.    Mengisi formulir
d.   Jika menabung, maka menyerahkan formulir dan uang kepada teller
e.    Jika mengambil uang, maka menyerahkan formulir dan menerima uang dari teller

         Flowchart:
























3.

Kalimat Deskriptif
Pseudocode
Masukkan Sebuah bilangan
Input bilangan
Bilangan dibagi 2
Hasil = bil/2
Jika hasil = 0, maka bilangan genap
if hasil=0 then print “Bilangan genap
Jika hasil ≠ 0, maka bilangan ganjil
if hasil≠0 then print “Bilangan genap
       
            Flowchart :


















4. Flowchart :





















5. Flowchart :



















6. 
7.




















8. Tujuan algoritma adalah untuk menghitung volume bola.



















9. 



















10.




Sabtu, 20 Juni 2015

BAB 1 Soal dan Jawaban

LatihanSoal
1. Apakah yang dimaksud dengan algoritma?
2. Apa perbedaan antara algoritma dan program?
3. Suatu algoritma terdiri dari tiga struktur dasar, yaitu runtunan, pemilihan, dan 
    perulangan. Jelaskan masing-masing!
4. Apa perbedaan antara program dan bahasa pemrograman?
5. Buatlah algoritma menulis dan mengirimkan surat!
6. Buatlah algoritma mengambil uang di ATM!
7. Buatlah algoritma membuat kopi yang rasa manis dan pahitnya pas menurut anda!
8. Buatlah algoritma untuk menghitung luas segitiga!
9. Buatlahalgoritma untuk proses aktivitas dari pagi sampai malam!
10. Buatlah algoritma mengurutkan 3 bilangan acak!

Jawab  :
1. Logika dan Algoritma adalah ilmu yang mempelajari cara penyelesaian suatu masalah berdasarkan urutan langkah-langkah terbatas yang disusun secara sistematis dan menggunakan bahasa yang logis dengan tujuan tertentu.
2. Algoritma adalah urutan langkah-langkah terbatas yang disusun secara sistematis dan menggunakan bahasa yang logis dengan tujuan menyelesaikan suatu masalah tertentu. Sementara program adalah kumpulan instruksi berupa pernyataan yang ditulis dengan menggunakan bahasa pemrograman yang melibatkan pemilihan struktur data. Beberapa pakar komputer menyatakan program dengan formula Program = Algoritma + Bahasa Pemrograman.
3.    Runtunan (sequence)
Sebuah runtunan terdiri dari satu atau lebih instruksi. Tiap instruksi dikerjakan secara
berurutan sesuai dengan urutan penulisannya, yakni sebuah instruksi dilaksanakan setelah instruksi sebelumnya selesai dikerjakan. Urutan dari instruksi menentukan hasil akhir dari suatu algoritma. Bila urutan penulisan berubah maka mungkin juga hasil akhirnya berubah.
Contoh lain dari runtunan aksi adalah algoritma penukaran dua bilangan bulat,yaitu:
1. Deklarasikan A, B, dan C sebagai bilangan bulat
2. Masukkan nilai A dan B
3. Masukkan nilai A ke dalam C
4. Masukkan nilai B ke dalam A
5. Masukkan nilai C ke dalam B
Pemilihan (selection)
Pemilihan yaitu instruksi yang dikerjakan dengan kondisi tertentu.
Kondisi adalah persyaratan yang dapat bernilai benar atau salah. Satu atau beberapa instruksi hanya dilaksanakan apabila kondisi bernilai benar, sebaliknya apabila salah maka instruksi tidak akan dilaksanakan.
Contoh kasus pemilihan adalah dalam penentuan bilangan genap atau ganjil berikut ini:
1. Masukkan bilangan sebagai sebuah bilangan bulat
2. Bagi bilangan dengan angka 2, simpan nilai sisa pembagian dalam
variabel sisa
3. Jika nilai sisa sama dengan 0 maka kerjakan langkah 4:
4. Tampilkan ”GENAP” ke layar
5. Jika nilai sisa tidak sama dengan 0 maka kerjakan langkah 6
6. Tampilkan ”GANJIL” ke layar
7. Selesai.
Pengulangan (repetition)
Pengulangan merupakan kegiatan mengerjakan sebuah atau sejumlah aksi yang sama sebanyak jumlah yang ditentukan atau sesuai dengan kondisi yang diinginkan. Beberapa statemen pengulangan di bahasa pemrograman yaitu for…, while()..., do...while(), repeat....until, for...downto...do, for...to...do dan lain-lain.
Sebagai contoh adalah menampilkan huruf tertentu sebanyak n kali ke layar sebagai berikut:
            1.    Deklarasikan variabel huruf untuk menyimpan karakter yang
akan ditampilkan.
2. Deklarasikan variabel n untuk menyimpan banyaknya perulangan
3. Deklarasikan variabel counter yang digunakan sebagai counter perulangan yang sudah dilakukan.
4. Masukkan sebuah karakter dan simpan dalam variabel huruf
5. Masukkan banyaknya perulangan yang diinginkan dan simpan dalam variabel n
6. Set nilai counter dengan 0
7. Tampilkan huruf ke layar
8. Lakukan penambahan counter dengan 1
9. Jika nilai counter<n, kerjakan langkah 6
10. Jika nilai counter = n selesai
4.   Program adalah kumpulan intruksi yang digunakan untuk mengatur komputer agar melakukan suatu tindakan tertentu.Tanpa adanya program komputer hanyalah perangkat keras (hardware) yang tidak bisa melakukan apa-apa.Sedangkan Bahasa pemrograman merujuk pada intruksi-intruksi (sintaks) yang digunakan untuk membuat suatu program.Terdapat beberapa bahasa pemrograman seperti Pascal, C/C++, dan Basic.
5. 1)Mulai menulis surat
2)Masukkan surat dalam amplop
3)Tempelkan perangko pada amplop
4)Tuliskan alamat tujuan dan pengirim surat
5)Pergi ke kantor pos dengan membawa surat
6)Masukkan surat pada Bis Surat
7)Selesai
6. 1) Masukkan kartu dan tulis PIN (maks 3 kali)
2) Sistem baca kode PIN
3) Sistem mengecek validitas PIN, bila 3 kali salah, kartu di tolak
4) Pilih menu penarikan dan masukkan jumlah uang
5) Sistem baca jumlah uang
6)Sistem mengecek saldo tabungan, bila melebihi saldo, berikan pesan uang tidak     cukup
7) Sistem mengecek jumlah uang di ATM, bila uang ATM habis,berikan pesan
8) Sistem mendebet tabungan (hitung saldo akhir) dan mengeluarkan uang
9) Sistem mencetak struk
10) Selesai
7. 1) Siapkan peralatan dan bahan seperti : gelas, sendok, air, gula, kopi, cream.
2) Masukkan 3 sendok makan kopi ke dalam cangkir
3) Tambahkan 2 sendok makan gula
4) Tambahkan lagi dengan 1 sendok makan cream, sebagai penambah rasa
5) Tuangkan 100 ml air panas lalu aduk rata
6) Beri 70 ml air biasa, agar tidak terlalu panas
7) Sajikan kopi diatas alas
8. 1) Mulai
2) Masukkan alas
3) Masukkan tinggi
4) Luas segitiga = 0.5*alas*tinggi
5) Cetak luas segitiga
6) Selesai
9. 1) Bangun tidur
2) Mandi dan mengambil wudhu
3) Dilanjutkan dengan shalat shubuh
4) Nonton tv sebentar
5) Sarapan pagi
6) Persiapan berangkat kuliah jam 07.30 pagi
7) Perjalanan ke kampus 20 menit
8) Proses kuliah dan istirahat
9) Pulang kuliah jam 12.00 WIB
10) Tiba di rumah jam 12.30
11) Makan siang
12) Mandi dan shalat dhuhur
13) Mengerjakan tugas
14) Pukul 15.30, Mandi dan dilanjutkan shalat ashar
15) pukul 17.45 shalat Maghrib
16) pukul 19.00 WIB shalat Isya’
17)  sekitar jam 8 mengerjakan tugas kuliah di lanjutkan makan malam
18) jam 21.30 WIB menonton tv dan bersantai
19) jam 22.30 WIB tidur malam
20) Selesai
10. 1) Misalkan bilangan dengan variabel a,b,c
2) Pastikan nilainya selisih satu dari bilangan lain
3) Masukkan rumus hasil apakah b=a+1 dan c=b+1
4) Jika sesuai maka a,b,c adalah bilangan yang terurut mulai dari angka terkecil, jika tidak maka 3 bilangan tersebut tidak terurut, dan kembali ke proses nomer 3
5) Cetak hasil