Selasa, 23 April 2013

ALPRO : KASUS 6.6 CEK PALINDROM

Kasus :
  • Buatlah suatu algoritma untuk mengecek apakah suatu kata atau kalimat merupakan palindrom atau tidak.
  • Palindrom adalah suatu kata atau kalimat yang dibaca dari kiri ke kanan sama dengan kalu dibaca dari kanan ke kiri.
Analisis :
Misalnya kata yang akan dicek adalah “kasur rusak”. Maka huruf pertama dicek, apakah sama dengan huruf pertama terakhir atau tidak, (sampai dengan pertengahan kalimat). Bila pengecekan selalu sama maka kalimat tersebut adalah palindrom. Jika terdapat satu huruf saja yang tidak sama, kalimat tersebut bukanlah palindrom.

ALPRO : REKURSIF GOING DOWN


Kasus :
Cetak hasil penjumlahan dari 5 pangkat 5, 6 pangkat 6 sampai 10 pangkat 10. Dengan menggunakan rekursif going down. Artinya penjumlahan nya dari 10 pangkat 10 sampai 5 pangkat 5.

ALPRO : REKURSIF GOING UP

Kasus :
Cetak hasil penjumlahan dari 5 pangkat 5, 6 pangkat 6 sampai 10 pangkat 10. Dengan menggunakan rekursif going up.

REFLEKSI ALPRO : MINGGU KE TUJUH

Akhirnya sampai pada minggu ketujuh perkuliahan, yaitu minggu terakhir sebelum UTS. Alpro di minggu ketujuh ini seperti yang di janjikan akan di adakan kuis yang ke-2 oleh pak Wahyu dan materi nya tentang Rekursif. Setelah perkuliahan di mulai pak Wahyu mempersilahkan kami untuk mempersiapkan segala sesuatu nya dari menyalakan laptop sampai persiapan sign in ke email dan membuat draft pesan agar langsung upload jawaban kuis lalu tekan kirim. Kuis pun di mulai dan kasus nya ialah membuat flowchart yang menampilkan angka ganjil antara m-n yang di inputkan. Setelah mengerjakan ada beberapa masalah yang aku dapatkan seperti laptop ku yang aplikasi raptor nya not responding sehingga sedikit terhambat dalam mengerjakan dan Alhamdulillah aku selesai mengerjakan nya dan berhasil mengirim ke pak Wahyu sebelum waktu yang di berikan berkahir. Ini flowchart dari kuis tersebut : 

Senin, 22 April 2013

REFLEKSI ALPRO : MINGGU KE ENAM

Tak terasa, kuliah Alpro sampai di minggu ke enam dan sebentar lagi akan dilaksanakan Ujian Tengah Semester. Semoga saja nanti kami semua dapat melalui nya dengan lancar, Aamiin. Oke, langsng kemateri yang di bahas minggu ini yaitu tentang Rekursif. Rekursif juga merupakan perulangan, namun rekursif sangat berbeda dengan perulangan interaktif seperti for,while, dan do while. Kenapa sangat berbeda? Karena di lihat dari nama saja sudah berbeda wong beda ayah sama ibu kok (loh kok aku malah ngaur!haha (maaf cuman bercanda,hehe)). Bedanya adalah kalau perulangan rekursif ialah perulangan yang menggunakan function atau procedure untuk memanggil dirinya sendiri sehingga akan mengalami perulangan. Agar pembaca bisa lebih cepat paham apa itu rekursif dan bagaimana cara kerjanya, langsung ke contoh rekursif aja. 

Rabu, 17 April 2013

Kamis, 04 April 2013

REFLEKSI ALPRO : MINGGU KE LIMA

Sampai di minggu ke lima perkuliahan, kuliah Alpro minggu kelima ini kata nya akan di adakan Kuis oleh pak Wahyu. Beliau katakan itu di perkuliahan minggu ke empat kemarin dan kami di suruh untuk mempersiapkan diri untuk itu.

Sampai di hari senin, tanggal 1 bulan ke empat di tahun 2013, kami memulai perkuliahan seperti biasa nya.

Sabtu, 30 Maret 2013

ALPRO : SIMULASI PENGISIAN BAHAN BAKAR

Ide :
Buat simulasi membeli bahan bakar dengan spesifikasi :
  • Input berupa :
  • uang/berapa liter yang akan dibeli
  • Jenis bahan bakar yang akan dibeli
  • Indikator akan berlangsung terus (kenaikkan 0.1liter) selama total harga/jumlah liter bahan bakar yang dibeli belum melebihi permintaan.
  • Output menyatakan :
  • Jumlah liter yang dibeli (bila input berupa uang)
  • Total uang yang harus dibayar (bila input berupa liter)
    Flowchart-nya :


    Untuk source code C++ nya menyusul, soal nya masih ada sidikit kendala :-D
    Dimohon untuk menambahkan saran atau kritik yang membangun apabila ada kekurangan dari flowchart ini, semoga bermanfaat :-D

    ALPRO : FAKTORIAL

    Ide :
    Menghitung Faktorial !

    Flowchart-nya :

    ALPRO : LATIHAN 3 PERTEMUAN 4

    Ide :

    [Sentinel] Buatlah algoritma untuk menentukan nilai terkecil, terbesar, dan jumlah semua bilangan positif yang dimasukkan.

    Flowchart-nya :

    ALPRO : KASUS 4.4

    Ide :
    Hitunglah rata-rata dari integer positif (banyak data ditentukan dari data yang dimasukkan).

    Flowchart-nya :

    ALPRO : LATIHAN 2 PERTEMUAN 4

    Ide :

    Hitunglah nilai dari :
    Flowchart-nya :

    ALPRO : LATIHAN 1 PERTEMUAN 4

    Ide :

    Buatlah algoritma dan program untuk mencetak bilangan yang habis dibagi 3 dan 5 antara 1 sampai dengan 100.

    Flowchart-nya :

    ALPRO : KASUS 4.8

    Ide :
    Hitunglah a kali b dengan metode penjumlahan!!

    Flowchart-nya :


    ALPRO : KASUS 4.7

    Hitunglah nilai dari x pangkat y dengan x bilangan real dan y bilangan bulat.

    Flowchart-nya :

    ALPRO : KASUS 4.3

    Ide :
    Carilah rata-rata dari n bilangan bulat positif. n di inputkan dan nilai juga dui inputkan sehingga akan diperoleh rata-rata!

    Flowchart-nya :

    ALPRO : KASUS 4.2

    Ide :

    Cetak bilangan ganjil dari 0 sampai 10 diawali dengan 1, kemudian bertambah dengan 2 atau bilangan ganjil adalah bilangan yang bila dibagi 2 bersisa 1.

    Flowchart nya :

    ALPRO : KASUS 4.1

    Ide :
    Cetak angka 1 sampai 4 (Perulangan)

    Flowchart nya :

    Jumat, 29 Maret 2013

    REFLEKSI ALPRO : MINGGU KE EMPAT (MEET 04)

    Tiba di minggu ke empat kuliah ALPRO, hari itu aku sengaja datang 20 menit lebih awal agar bisa datang lebih dulu dari Pak Wahyu dan benar saja aku datang lebih cepat dari beliau (Yesss, kali ini aku menang dari Pak Wahyu,haha). Hari itu pak Wahyu memang datang agak telat sedikit dari biasanya ya kalau dilihat dari jam tangan ku (Standar jam internet), beliau datang pukul 06.59 am kalau biasanya beliau datang lebih cepat. 

    Sabtu, 23 Maret 2013

    ALPRO : KASUS 3.5

    Masalah :
    Buatlah flowchart dan program untuk mengkonversi hari ke-1 adalah hari Senin sampai dengan hari ke-7 adalah Minggu. 

    Analisis :
    • Input : Memasukkan Angka (antara 1-7)
    • Proses : Mencek dan memilih kondisi
    • Output : Menampilkan nama hari

    ALRPO : KASUS 3.4

    Masalah :
    Konversikan nilai angka menjadi nilai huruf dengan ketentuan sebagai berikut :
    • Nilai  0 - 20 = E
    • Nilai 21- 40 = D
    • Nilai 41- 60 = C
    • Nilai 61- 80 = B
    • Nilai 81-100= A
    Analisis :
    • Input : Memasukkan Nilai
    • Proses : Pemilihan Range nilai Huruf yang sesuai
    • Output : Menampilkan Nilai Huruf

    ALPRO : KASUS 3.3

    Masalah :
    Carilah akar-akar persamaan kuadrat. 

    Analisis :
    • Input : koefisien A, B dan C bilangan real
    • Proses : ada tiga alternatif pilihan dari harga (b*b-4ac) Yaitu harganya 0, positif atau negatif
    • Output : nilai akar berdasar rumus

    ALPRO : KASUS 3.2

    Masalah :
    Tentukanlah bilangan terbesar antara 3 bilangan bulat.

    Analisis :


    • Input : misalkan x, y dan z, semua integer
    • Proses : kita harus membandingkan ketiga bilangan tersebut (caranya?)
    • Output : bilangan terbesar 

    ALPRO : KASUS 3.1

    Masalah :
    Tentukanlah bilangan terbesar antara dua bilangan bulat!
    Analisis :

    • Input : misalkan A dan B, keduanya integer
    • Proses : bandingkan A dan B
                           – Jika A > B maka A terbesar (output)
     

    Jumat, 22 Maret 2013

    REFLEKSI ALPRO : MINGGU KETIGA (MEET 03)


    Sampai minggu ketiga perkuliahan Alrpo, malam sebelum perkuliahan hari itu sebenar nya aku sudah mempersiapkan materi kuliah dan membaca materi serta membaca skenario perkuliahan minggu ke-3 tersebut, bahkan aku sudah mengerjakan sebagian kasus-kasus yang ada di materi  sesuai yang di perintahkan di skenario perkuliahan minggu ke-3. Pertama-tama kuliah hari itu di mulai dengan berjalan lancar dan sepertinya akan tetap begini sampai seterusnya, ternyata tidak demikian (semuanya berubah setelah negara api menyerang, haha(maaf, bercanda)), semuanya bermula ketika pak Wahyu bertanya kepada mahasiswa sesuai yang ada di skenario, beliau bertanya apakah para mahasiswa sudah mengambil dan membawa Diktat Alpro pada hari tersebut. Betul saja, ternyata hanya beberapa mahasiswa yang sudah mengambil dan membawa diktat, pak Wahyu sangat marah ketika mengetahui bahwa mahasiswa nya masih banyak yang belum mengambil diktat tersebut dan beliau langsung memerintahkan agar mengambil diktat tersebut dan menunggu Laboran yang bersangkutan jika beliau belum datang (mengambil diktat nya sama Laboran di Komputasi Dasar) dan pak Wahyu tak mengijinkan mahasiswa nya untuk mengikuti kuliah beliau apabila tidak mendapatkan diktat Alpro. Para mahasiswa yang belum memiliki diktat pun mulai berhamburan

    Kamis, 21 Maret 2013

    REFLEKSI ALPRO : MINGGU KEDUA (MEET 02)


    Minggu kedua mata kuliah Alpro masuk ke materi selanjutya yaitu “Sekuen”. Kita orang yang awam pasti bertanya-tanya,”Apa itu sekuen? Maksudnya sekuen apa?”. Nah, di kulih ini dosen memulai dengan bertanya kepada mahasiswa, “Coba kalian sebutkan langkah-langkah ketika kalian mau makan?”. Jadi, kami pun para mahasiswa mulai berpikir, salah satunya aku, aku pun mulai berpikir(ya iyalah kan aku juga mahasiswa mata kuliah ALPRO, haha). Aku pun mulai berpikir, “Langkah-langkah mau makan ya? Ya pertama-tama saat aku merasa lapar, aku akan mengambil piring, kemudian aku mengambil nasi dilanjutkan dengan mengambil lauk makan, dan kemudian memakan nya”, itu yang ada dipikiranku. Kemudian pak

    Selasa, 19 Maret 2013

    REFLEKSI ALPRO : MINGGU PERTAMA (MEET 01)

    Di lihat dari judul di atas (Refleksi Alpro), jujur saja baru kali ini aku menemui mata kuliah yang mengharuskan mahasiswa nya untuk membuat refleksi dari kuliah hari itu karena semua mata kuliah yang aku dapat di semester 1 tidak pernah ada yang seperti ini. Menurut ku ini merupakan sesuatu yang langka, sehingga kita yang mendapatkannya harus mensyukuri itu (Alhamdulillah). Mata kuliah ini di nahkodai oleh seorang dosen di kampus ku(Universitas Ahmad Dahlan Yogyakarta) yaitu Drs. Wahyu Pujiyono, M. Kom. Atau kami biasa memanggil beliau dengan sebutan pak Wahyu. 

    Hari pertama kuliah, yaitu pada hari senin, 4 Maret 2013, tepat nya pukul 07.00 AM aku cukup terkesan karena pak Wahyu sangat tepat waktu sehingga beliau dapat dibilang datang lebih duluan dari mahasiswa nya jujur hari itu aku kalah sama beliau karena beliau datang lebih dulu dari aku(semoga minggu kedepannya aku dapat mengalahkan pak wahyu datang lebih cepat, aku harus berangkat jam 6 pagi,haha). Pagi itu, pak Wahyu memulai perkuliahan dengan perkenalan, kemudian dilanjutkan dengan Kontrak Belajar. Kemudian beliau menyampaikan semua tentang perkuliahan dari peraturan perkuliahan hingga apa-apa yang harus

    Minggu, 17 Maret 2013

    ALPRO : TUGAS INDIVIDU


    Kasus :
    Buatlah algoritma untuk menghitung determinan matriks berordo 2x2!

    Analisis :
    §  Input : misalkan matrix 2x2 :   a   b
                                                         c   d
    §  Proses : det ← a*d-b*c
    §  Output : Tulis determinan (det)

    Flowchart :

    ALPRO : TUGAS INDIVIDU


    Kasus :
    Buatlah algoritma untuk memisahkan bilangan integer yang kurang dari 1000 menjadi komponen- komponennya. Sebagai contoh :
                            127 = 1 ratusan + 2 puluhan + 7 satuan
    Analisis :
    §  Input : Misalkan b (bilangan ratusan, 99< b <100)
    §  Proses :    satuan ← b%10
     puluhan ← ((b - satuan) %100)/10
     ratusan ← (b - (puluhan*10) - satuan)/100
    §  Output : Tulis b = Ratusan + Puluhan + Satuan

    Flowchart :

    ALPRO : TUGAS INDIVIDU


    Kasus :
    Buatlah algoritma untuk mencari titik tengah sebuah garis yang ujung titiknya adalah A(x1,y1) dan B(x2,y2).

    Analisis :
    §  Input : Misalkan titik A(x1,y1) dan titik B(x2,y2)
    §  Proses :  titik tengah  x ← x1 + (x2 - x1)/2
     Titik tengah y ← y1 + (y2 - y1)/2
    §  Output : Tulis koordinat titik tengah (x,y)

    Flowchart :

    ALPRO : KASUS 2.3


    Kasus :
    Buat algoritma untuk menghitung konversi dari m ke cm dan inchi !

    Analisis :
    §  Input : misalkan m (mewakili meter)
    §  Proses :  1 meter = 100 cm
      1 inci = 2.54 cm
      cm = m *100
      inci  = m*100/ 2.54
    §  Output : tulis (cm, inci)

    Flowchart : 

    ALPRO : KASUS 2.2

    Kasus :
    Buat algoritma untuk mencari hasil kali dari dua buah bilangan !

    Analisis :
    §  Input : misalkan a, b semua integer
    §  Proses : hasil  ← a * b
    §  Output : tulis (hasil)

    Flowchart :

    ALPRO : KASUS 2.1

    Kasus :
    Hitunglah jumlah dari 3 buah bilangan bulat!

    Analisis :
    §  Input : misalkan a, b, c semua integer
    §  Proses : jumlah = a + b + c
    §  Output : tulis (jumlah)

    Flowchart :

    Kamis, 14 Maret 2013

    Algoritma : Perhitungan(Counting)

    Masalah :
    Diberikan sekumpulan nilai ujian(nilai antara 0 sampai 100) dari banyak n siswa dan membuat perhitungan jumlah siswa yang lulus yaitu siswa yang mendapat nilai lebih atau sama dengan 50.

    Pengembangan Algoritma :
    Misalkan kita diberi sekumpulan nilai ujian yaitu :

    50, 37, 73, 28, 77, 90, 19

    Untuk menghitung siswa yang lulus kita dapat memulai dengan melihat nilai dari sebelah kiri. Kita lihat nilai ujian pertama(50), lihat jika nilai tersebut lebih atau sama dengan 50, berarti satu siswa telah lulus ujian. Nilai ujian kedua yaitu 37 tidak sesuai dengan syarat kelulusan sehingga tidak ada penambahan jumlah siswa yang lulus ujian. Nilai selanjutnya yaitu 73, kita lihat nilai tersebut sesuai dengan syarat kelulusan yaitu lebih atau sama dengan 50 dan kita tambahkan satu orang siswa lagi ke jumlah siswa yang lulus. Jadi sekarang jumlah siswa yang lulus berjumlah  2 siswa. Proses yang sama terus berulang hingga semua nilai ujian selesai di proses dan menampilkan jumlah siswa yang lulus di akhir proses.

    Rincian proses :

    Nilai ujian
    Syarat (nilai >= 50)
    jumlah lulus(sebelumnya) + siswa lulus
    Jumlah Lulus
    50
    37
    73
    28
    77
    90
    19
    Lulus
    Tidak Lulus
    Lulus
    Tidak Lulus
    Lulus
    Lulus
    Tidak Lulus
    0 + 1
    1 + 0
    1 + 1
    2 + 0
    2 + 1
    3 + 1
    4 + 0
    1
    1
    2
    2
    3
    4
    4
    Jumlah Siswa Lulus Ujian
    4

    Gambaran Algoritma :
    1.      Meminta kemudian membaca nilai untuk di proses.
    2.      Jumlah awal ditentukan dengan 0.
    3.      Apabila masih ada nilai untuk di proses, lakukan berulang kali :
          -          Baca nilai selanjutnya.
          -          Jika nilai siswa memenuhi syarat lulus(nilai >= 50), tambahkan satu 
              orang ke jumlah siswa yang lulus.
    4.      Menampilkan jumlah siswa yang lulus ujian. 

    Semoga Bermanfaat :-D

    Rabu, 13 Maret 2013

    Algoritma: Bertukar Nilai dari Dua Variabel


    Masalah :
    Diberikan dua variabel, A dan B. Tukar nilai yang diberikan pada dua variabel tersebut. Contoh, diberikan variabel A dan B. variabel A di beri nilai 10 dan variabel B diberi nilai 15. Lakukan pertukaran nilai dari dua variabel tersebut agar variabel A bernilai 15 dan variabel B bernilai 10.

    Pengembangan Algoritma :
    Pertama,  variabel A=10 dan B=15. Ini berarti variabel A menyimpan  nilai 10 dan variabel B menyimpan nilai 15. Kita akan menukar nilai dari dua variabel tersebut menjadi variabel A akan menyimpan nilai 15 dan variabel b menyimpan nilai 10. Dengan kata lain, hasil akhir pertukaran tersebut menjadi variabel A=15 dan variabel B=10.

    Untuk menukar nilai variabel tersebut kita dapat menggunakan operator penugasan(Assignment operator).  Semuanya dapat di asumsikan seperti ini:
                            A := B;
                            B := A;
    ( “ := ” adalah operator penugasan).
    Sekarang kita coba lakukan konfigurasi di atas:

    A = 10;                        ( Nilai awal A adalah 10)
    B = 15;                        ( NIlai awal B adalah 15)
    A := B;                         (A ditugaskan meniyimpan nilai B)

    Setelah di eksekusi kita akan mendapatkan hasil sebagai berikut,

    A = 15;
    B = 15;

    Maka setelah melihat hasil dari konfigurasi tersebut maka kita kehilangan nilai yang dimiliki A yaitu 10, karena  variabel A ditugaskan menyimpan nilai B sehingga nilai awal yang ditugaskan untuk A akan terhapus

    Sabtu, 05 Januari 2013

    Program Pengecekan Matrix Diagonal

    #include <cstdlib>
    #include <iostream>

    using namespace std;

    int main(int argc, char *argv[])
    {
        int h;
        int di=0;
        int dd=0;
        cout<<"======= Ini adalah program pengecekan matrix diagonal ======="<<endl<<endl;
        cout<<"Masukkan ordo matrix yg di inginkan : ";
        cin>>h;
        int x[h][h];
        int i,j;
        for(i=0;i<h;i++){
        for(j=0;j<h;j++){
        cout<<"Masukkan angka di matrix ["<<i<<"]["<<j<<"] : ";
        cin>>x[i][j];
                         }
                         }
        cout<<endl<<endl;
        for(i=0;i<h;i++){
        for(j=0;j<h;j++){
       
        if (i==j && x[i][j]==1){