Rabu, 28 November 2007

Palindrom

Logika dan Algoritma

Menentukan Apakah Kalimat yang Diinputkan Adalah Sebuah Palindrom atau Bukan

Algoritma :

    1. Deklarasikan variabel jwb untuk pertanyaan balik, klmt1 untuk kalimat yang diinputkan user, klmt2 untuk copian dari klmt1, i untuk iterasi klmt 1, j untuk iterasi kalimat2 dan jum untuk menghitung jumlah karakter yang dituliskan user. Definisikan tipe char untuk variabel jwb, array of char untuk variabel klmt1 dan klmt2, serta integer untuk variabel i, j dan jum. Inisialisasi nilai jum dan i dengan 0.

    2. Masukkan kalimat yang ingin dibalik.

    3. Proses perulangan untuk i sama dengan 0 sampai dengan isi dari variabel klmt pada indeks ke-i adalah berupa karakter ’\0’ :

    1. Hitung jumlah karakter dengan menambahkan nilai pada variabel jum dengan 1, kemudian nyatakan ke variabel jum.

    2. Kembali ke langkah looping 1.

    1. Proses perulangan mulai dari i sama dengan 0 sampai dengan i sama dengan jumlah karakter :

    1. Copykan isi dari variabel klmt1 ke variabel klmt2.

    2. Kembali ke langkah looping 1.

    1. Kurangkan nilai pada variabel jum dengan 2, kemudian nyatakan ke variabel j untuk iterasi klmt2. Karena pada string secara otomatis akan menambahkan 2 memori dengan memori terakhir adalah NULL.

    2. Isi nilai i dengan 0.

    3. Proses looping sampai dengan j bernilai 0 :

    1. Cek apakah isi dari klmt1 pada indeks ke-i sama dengan isi dari klmt2 pada indeks ke-j.

    2. Bila isi dari klmt1 pada indeks ke-i tidak sama dengan isi dari klmt2 pada indeks ke-j, maka cetak ”BUKAN PALINDROM” dan langsung ke langkah 9.

    3. Namun apabila isi dari klmt1 pada indeks ke-i sama dengan isi dari klmt2 pada indeks ke-j maka lanjut ke langkah looping 4.

    4. Hitung nilai j dengan mengurangkan nilai j dengan 1.

    5. Hitung nilai i dengan menambahkan nilai i dengan 1.

    6. Kembali ke langkah looping 1.

    1. Cetak ”PALINDROM”.

    2. Tanya apakah user masih ingin menentukan sebuah kalimat merupakan palindrom atau bukan.

    3. Bila jawabannya iya, maka kembali ke langkah ke-2.

    4. Bila jawabannya tidak, maka program dapat langsung diakhiri.

    5. Namun jika bukan keduanya, tanyalah kembali (kembali ke langkah 9).

Flowchart :

Membalik Bilangan 2

Logika dan Algoritma

Membalik Bilangan (Menggunakan Array)

Algoritma :

  1. Deklarasikan variabel jwb untuk pertanyaan balik, bil untuk bilangan yang diinputkan user untuk dibalik, i untuk iterasi, dan jum untuk menghitung jumlah karakter yang dituliskan user. Definisikan tipe char untuk variabel jwb, array of char untuk variabel bil, serta integer untuk variabel i dan jum. Inisialisasi nilai jum dengan 0.

  2. Masukkan bilangan yang ingin dibalik.

  3. Proses perulangan untuk i sama dengan 0 sampai dengan isi dari variabel bil pada indeks ke-i adalah berupa karakter ’\0’ :

    1. Pastikan bahwa bilangan yang diinputkan adalah salah satu dari 0, 1, 2, 3, 4, 5, 6, 7, 8, atau 9.

    2. Apabila bilangan yang diinputkan di luar dari bilangan yang ada di atas, maka kembali ke langkah 2, yakni menginputkan bilangan lagi.

    3. Namun apabila bilangan merupakan salah satu dari 0 sampai dengan 9, maka tambahkan nilai pada variabel jum dengan 1 dan nyatakan kembali ke variabel jum.

    4. Kembali ke langkah perulangan 1.

  1. Proses perulangan mulai dari i sama dengan jumlah karakter sampai dengan i sama dengan 0 :

    1. Cetak isi dari varibel bil pada indeks ke-i.

    2. Kurangkan nilai i dengan angka 1 dan nyatakan ke variabel i.

    3. Kembali ke langkah perulangan 1.

  2. Tanya apakah user masih ingin membalik bilangan.

  3. Bila jawabannya iya, maka kembali ke langkah ke-2.

  4. Bila jawabannya tidak, maka program dapat langsung diakhiri.

  5. Namun jika bukan keduanya, tanyalah kembali (kembali ke langkah 5).

Flowchart :

nb : Di sini dapat membalik berapapun besar bilangan yang diinputkan selama bilangan tersebut tidak melebihi batas dari ukura array.

Membalik Bilangan

Logika dan Algoritma

Membalik Bilangan (Max 2147483647)

Algoritma :

  1. Deklarasikan variable bil untuk bilangan yang diinputkan, hsl untuk mencri hasil yang diinginkan, dan jwb untuk pertanyaan balik. Definisikan tipe integer untuk bil dan hasil, serta char untuk variable jwb.

  2. Masukkan bilangan yang ingin dibalik.

  3. Pastikan bahwa bilangan yang dimasukkan tadi adalah kurang dari sama dengan 2147483647 dan tidak diawali dengan angka 0.

  4. Bila bilangan yang dimasukkan tadi adalah kurang dari sama dengan 2147483647 dan tidak diawali dengan angka 0, maka ke langkah selanjutnya. Namun bila tidak, kembali ke langkah 2, yakni memasukkan bilangan lagi.

  5. Proses looping sampai dengan bilangan bernilai 0 :

    1. Hitung hasil bagi variabel bil dengan 10, kemudian nyatakan ke variabel hasil.

    2. Cetak hasil.

    3. Bagi nilai pada variabel bil dengan 10 lalu nyatakan ke variabel bil.

    4. Kembali ke langkah looping 1.

  6. Tanya apakah user masih ingin membalik bilangan.

  7. Bila jawabannya iya, maka kembali ke langkah ke-2.

  8. Bila jawabannya tidak, maka program dapat langsung diakhiri.

  9. Namun jika bukan keduanya, tanyalah kembali (kembali ke langkah 6).

Flowchart :

nb : Di sini hanya bisa membalik bilangan dengan nilai maksimal adalah 2147483647 karena tipe yang digunakan adalah integer. Nilai maksimal dari integer adalah 2147483647.

Membalik Kalimat

Logika dan Algoritma

Membalik Kalimat Yang Diinputkan User

Algoritma :

  1. Deklarasikan variabel jwb untuk pertanyaan balik, klmt untuk kalimat yang diinputkan user, i untuk iterasi, dan jum untuk menghitung jumlah karakter yang dituliskan user. Definisikan tipe char untuk variabel jwb, array of char unruk variabel klmt, serta integer untuk variabel i dan jum. Inisialisasi nilai jum dengan 0.

  2. Masukkan kalimat yang ingin dibalik.

  3. Proses perulangan untuk i sama dengan 0 sampai dengan isi dari variabel klmt pada indeks ke-i adalah berupa karakter ’\0’ :

    1. Tambahkan nilai pada variabel jum dengan 1, kemudian nyatakan ke variabel jum.

    2. Kembali ke langkah looping 1.

  1. Proses perulangan mulai dari i sama dengan jumlah karakter sampai dengan i sama dengan 0 :

    4.a Cetak isi dari varibel klmt pada indeks ke-i.

    4.b Kurangkan nilai i dengan angka 1 dan nyatakan ke variabel i.

    4.c Kembali ke langkah 4.a.

5. Tanya apakah user masih ingin membalik kalimat.

6. Bila jawabannya iya, maka kembali ke langkah ke-2.

7. Bila jawabannya tidak, maka program dapat langsung diakhiri.

8. Namun jika bukan keduanya, tanyalah kembali (kembali ke langkah 5).

Flowchart :

Memilah Bilangan

Logika dan Algoritma

Memilah Bilangan Yang Diinputkan (Max 9999)

Algoritma :

  1. Deklarasikan variable ss sebagai sisa pertama, i sebagai iterasi, bil sebagai bilangan yang diinputkan user, sisa sebagai sisa dan jwb untuk pertanyaan balik. Definisikan tipe integer untuk variable ss, i, bil, array of integer untuk variable sisa dan char untuk variable jwb.

  2. Masukkan bilangan yang ingin dipilah.

  3. Cek apakah bilangan yang diinputkan berada di antara 0 sampai dengan 9999.

  4. Apabila bilangan yang diinputkan di luar 0 sampai dengan 9999, maka akan kembali ke langkah kedua, yaitu memasukkan bilangan lagi.

  5. Namun apabila bilangan yang diinputkan berada di antara 0 sampai dengan 9999,maka akan terjadi proses looping dimulai dari i sama dengan 1 dan looping akan berjalan sampai i kurang dari 10000 atau lebih tepatnya maksimal sampai 9999 :

  1. Hitung sisa bagi antara nilai pada variabel bil dengan bilangan 10 dan nyatakan ke variabel ss.

  2. Kalikan nilai di variabel ss tadi dengan nilai i, dan nyatakan ke variabel sisa pada indeks ke i.

  3. Bagi bilangan dengan angka 10 dan nyatakan ke variabel bil.

  4. Kalikan nilai i dengan angka 10 kemudian nyatakan ke variabel i.

  5. Kembali ke langkah looping 1.

  1. Proses looping mulai dari i sama dengan 10000 sampai dengan 1 :

  1. Cek apakah sisa pada indeks ke i tidak sama dengan 0.

  2. Jika sisanya sama dengan 0, maka dapat langsung lanjut.

  3. Bila sisanya tidak sama dengan 0, maka cetak nilai pada variabel sisa dari indeks ke i dahulu, baru kemudian ke langkah selanjutnya.

  4. Bagi nilai yang ada pada variabel i dengan angka 10, dan nyatakan ke variabel i.

  5. Kembali ke langkah looping 1.

  1. Tanya apakah user masih ingin memilah bilangan.

  2. Bila jawabannya iya, maka kembali ke langkah ke-2.

  3. Bila jawabannya tidak, maka program dapat l;angsung diakhiri.

  4. Namun jika bukan keduanya, tanyalah kembali (kembali ke langkah 7).

Flowchart :

Senin, 19 November 2007

Menghitung Jumlah Bola Dalam Suatu Triangular

Logika dan Algoritma

Menghitung Jumlah Bola Dalam Suatu Triangular

Algoritma :

  1. Deklarasikan variable i untuk perulangan, tri untuk menghitung triangular, n untuk jumlah triangular/bola, dan jwb untuk pertanyaan balik. Definisikan variabel i, n, dan tri dengan tipe integer, serta jwb dengan tipe char. Tentukan nilai awal variabel i dan tri dengan nilai 0.

  2. Masukkan jumlah triangular atau jumlah bola yang berada pada urutan paling bawah.

  3. Proses looping untuk i sama dengan satu sampai dengan n :

=> jumlahkan nilai pada variabel tri dengan nilai pada variabel i dan nyatakan ke dalam variabel tri.

  1. Cetak nilai yang ada pada variabel tri.

  2. Tanyakan apakah mau menampilkan tumpukan bilangan lagi.

  3. Bila jawabannya ’y’ maka kembali ke lagkah ke-2.

  4. Bila jawabannya ’t’ maka program akan berakhir.

  5. Bila jawabannya bukan ’y’, atau ’t’ maka kembali ke langkah ke-5.

Flowchart :

Menampilkan Tumpukan Bilangan

Logika dan Algoritma

Menampilkan Tumpukan Bilangan

Algoritma :

  1. Deklarasikan variabel brs, klm, n untuk bilangan maksimal, kol untuk jumlah kolom, dan jwb untuk pertanyaan balik. Definisikan variabel brs, klm, kol, dan n dengan tipe integer, serta jwb dengan tipe char. Tentukan nilai awal variabel kol dengan nilai 1.

  2. Masukkan bilangan maksimal yang akan ditampilkan.

  3. Proses perulangan untuk brs sama dengan satu sampai dengan n :

a. Proses looping untuk klm sama dengan 1 sampai dengan kol :

=> cetak nilai pada variabel brs. (ctt : setiap akhir dari looping ini atur tampilan dengan menggunakan tab).

b. Tambahkan harga pada variebel kol dengan 2 dan nyatakan ke variabel kol.

ctt : setiap akhir dari perulangan ini, jangan lupa tambahkan karakter enter (\n) agar tampilan sesuai dengan yang diharapkan. Yaitu berupa tumpukan bilangan.

  1. Tanyakan apakah mau menampilkan tumpukan bilangan lagi.

  2. Bila jawabannya ’y’ maka kembali ke lagkah ke-2.

  3. Bila jawabannya ’t’ atau ’T’ maka program akan berakhir.

  4. Bila jawabannya bukan ’y’, atau ’t’ maka kembali ke langkah ke-4.

Flowchart :

Calculator Sederhana

Logika dan Algoritma

Calculator Sederhana

Algoritma :

  1. Deklarasikan variabel bil1 untuk bilangan yang pertama dimasukkan, bil2 untuk bilangan kedua, hasil untuk hasil perhitungan, oprator untuk operator hitung, dan jwb untuk pertanyaan balik. Agar dapat menghitung bilangan yang besar, maka definisikan tipe bilangan pertama, bilangan kedua, dan hasil dengan tipe double. Definisikan pula variabel jwb dan oprator dengan tipe char yang berarti meminta inputan berupa character.

  2. Masukkan bilangan pertama, oprator, dan bilangan kedua.

  3. Cek operator.

  4. Bila operator sama dengan ’+’ maka hasil sama dengan bilangan pertama dijumlah dengan bilangan kedua.

  5. Bila operator sama dengan ’-’ maka hasil sama dengan bilangan pertama dikurangkan dengan bilangan kedua.

  6. Bila operator sama dengan ’*’ maka hasil sama dengan bilangan pertama dikalikan dengan bilangan kedua.

  7. Bila operator sama dengan ’/’ maka hasil sama dengan bilangan pertama dibagi dengan bilangan kedua.

  8. Bila operator tidak sama dengan ’+’, ’-’, ’/’, atau ’*’, maka akan ditampilkan pesan error. Kemudian akan dikembalikan lagi pada langkah nomor 2.

  9. Cetak hasil.

  10. Tanyakan apakah mau melakukan perhitungan lagi.

  11. Bila jawabannya ’y’ maka kembali ke langkah ke-2.

  12. Bila jawabannya ’t’ maka program akan berakhir.

  13. Bila jawabannya bukan ’y’, atau ’t’ maka kembali ke langkah ke-9.

Flowchart :

Minggu, 11 November 2007

Revisi UTS 3

Revisi UTS

Logika dan Algoritma

Menjalankan Sepeda Motor

Algoritma :

  1. Tanya tujuan yang akan dikunjungi.

  2. Masukkan tujuan.

  3. Cek apakah sudah tahu jalan ke arah tujuan. Bila sudah tahu langsung ke langkah 5. Namun bila belum tahu, maka ke langkah selanjutnya.

  4. Tanya jalan, kemudian kembali ke langkah 3. Bila tidak memungkinkan untuk bertanya, maka carilah peta, kemudian baru kembali ke langkah 3.

  5. Cek angin pada kedua ban. Apakah angin tersebut cukup dan tidak membahayakan. Bila anginnya cukup, maka lanjutkan ke langkah berikutnya. Apabila anginnya kurang, isi angin secukupnya dan cek lagi.

  6. Cek sepeda motor baik motor, oli, mesin, sampai pada ban. Bila semuanya OK, maka dapat lanjut ke langkah selanjutnya. Bila ada yang tidak OK, maka perbaiki dulu sampai OK, baru bias lanjut lagi ke langkah selanjutnya.

  7. Cek apakah bensin masih mencukupi. Bila bensin masih mencukupi, dapat langsung berjalan kea rah tujuan. Namun bila tidak cukup, maka :

    1. Cari pom bensin. Bila ketemu pom bensin, maka langsung saja isi bensin lalu melanjutkan . perjalanan. Namun bila masih tidak ketemu juga, carilah toko yang menjual bensin sampai ketemu lalu mengisi bensin.

    2. Berjalan ke arah tujuan.

  8. Apabila di tengah perjalanan tiba-tiba mogok, maka cek bensin.

  9. Apabila bensin masih cukup maka ke langkah 11.

  10. Apabila bensin tidak cukup, maka :

    1. Cari pom bensin. Bila ketemu pom bensin, maka langsung saja isi bensin lalu melanjutkan . perjalanan. Namun bila masih tidak ketemu juga, carilah toko yang menjual bensin sampai ketemu lalu mengisi bensin.

    2. Berjalan ke arah tujuan.

  11. Perbaiki sepeda motor. Kemudian cek. Apabila OK, dapat dapat melanjutkan perjalanan. Apabila masih belum OK, maka :

    1. Cari bengkel terdekat kemudian ke langkah berikutnya. Namun bila tidak ketemu juga, tanya orang dan cari sampai ketemu.

    2. Montir memperbaiki sepeda motor.

    3. Mengecek sepeda motor. Apabila sudah OK, lanjutkanlah perjalanan. Namun bila masih belum OK, perbaiki lagi sampai OK.

  12. Apabila sudah sampai tujuan, maka ke langkah berikutnya. Apabila belum sampai pada tujuan yang diinginkan, maka lanjutkanlah perjalanan.

  13. Tanya apakah masih ingin jalan lagi. Apabila masih ingin jalan lagi, maka kembali ke langkah pertama. Namun bila sudah tidak ingin melakukan perjalanan lagi, proses dapat diakhiri.

Flowchart :

Revisi UTS 2

Revisi UTS

Logika dan Algoritma

Proses Penerimaan Mahasiswa Baru

Algoritma :

  1. Perekrutan panitia.

  2. Menentukan syarat-syarat yang harus dipenuhi oleh peserta calon mahasiswa PENS.

  3. Mempersiapkan berkas-berkas yang diperlukan, baik untuk tes, pendaftaran, daftar ulang, dll.

  4. Mempersiapkan formulir. Baik untuk pendaftaran maupun daftar ulang.

  5. Mempersiapkan soal.

  6. Menentukan ruangan mana yang akan di pakai untuk pendaftaran , tes, pengembalian formulir, pengisian formulir, sekretariat, informasi,tes kesehatan, daftar ulang, dan untuk kebutuhan lainnya yang berkaitan dengan Penerimaan Mahasiswa Baru.

  7. Menentukan waktu pendaftaran. Tanggal berapa pendaftaran dibuka dan ditutup dan jam berapa pendaftaran dibuka dan ditutup.

  8. Menentukan waktu tes. Tanggal berapa tes dilakukan jam berapa tes dimulai dan diakhiri.

  9. Menentukan waktu untuk daftar ulang, termasuk untuk daftar ulang cadangan. Tanggal berapa daftar ulang dibuka dan ditutup dan jam berapa daftar ulang dibuka dan ditutup.

  10. Cek apakah hari ini adalah tanggal untuk pendaftaran. Bila iya, maka ke langkah selanjutnya. Namun bila tidak maka cek lagi sampai tiba hari pendaftaran.

  11. Cek apakah sudah jam dimulainya pendaftaran. Bila masih belum, maka cek lagi sampai tiba waktunya dimulai pendaftaran. Namun bila sudah, lanjut ke langkah berikutnya.

  12. Proses pendaftaran.

  13. Cek apakah waktu pendaftaran masih ada (pada hari yang sama). Bila masih, dilanjutakan lagi untuk proses pendafaran. Namun bila sudah habis, langsung ke langkah selanjutnya.

  14. Cek apakah sekarang masih merupakan hari untuk pendaftaran. Bila masih, kembali ke langkah 11. Bila sudah bukan, maka dapat lanjut ke langkah berikutnya.

  15. Mempersiapkan ruangan-ruangan untuk tes, pengawas tes, dan ruang soal.

  16. Cek apakah hari untuk pelaksanaan tes telah tiba. Bila iya, maka ke langkah selanjutnya. Namun bila tidak maka tuggu sampai tiba waktu pelaksanaan tes.

  17. Cek apakah sudah jam dimulainya tes. Bila masih belum, maka tunggu sampai tiba waktu untuk dimulai tes. Namun bila sudah, lanjut ke langkah berikutnya.

  18. Proses tes.

  19. Cek apakah waktu tes masih ada. Bila masih, maka tes dilanjutakan lagi. Namun bila waktu tes sudah habis, langsung ke langkah selanjutnya.

  20. Pengkoreksian jawaban.

  21. Penyeleksian peserta mana yang lolos dengan melihat dari kelengkapan berkas, syarat-syarat yang dipenuhi, dan hasil tes. Termasuk menentukan peserta mana yang menjadi cadangan.

  22. Cek apakah hari untuk pengumuman telah tiba. Bila hari tersebut telah tiba, maka ke langkah selanjutnya. Namun bila belum, maka tunggu sampai hari tersebut tiba.

  23. Cek apakah sudah waktunya memasang pengumuman para peserta yang lolos dan yang masuk cadangan, serta pengumuman daftar ulang harus dilaksanakan pada hari apa dan jam berapa. Bila masih belum, maka tunggu sampai tiba waktunya memasang pengumuman. Namun bila sudah, pengumuman dapat dipasang, baik dipasang di kampus maupun di-upload.

  24. Cek apakah hari ini untuk daftar ulang telah tiba. Bila iya, maka ke langkah selanjutnya. Namun bila tidak maka tunggu sampai hari tersebut tiba.

  25. Cek apakah sudah jam dimulainya pendaftaran ulang peserta yang lolos seleksi. Bila masih belum, maka tunggu sampai tiba waktunya dimulai daftar ulang. Namun bila sudah, lanjut ke langkah berikutnya.

  26. Proses daftar ulang.

  27. Cek apakah waktu daftar ulang masih ada (pada hari yang sama). Bila masih, proses daftar ulang dapat dilanjutkan kembali. Namun bila sudah habis, langsung ke langkah selanjutnya.

  28. Cek apakah daftar ulang telah ditutup. Bila daftar ulang belum ditutup, kembali ke langkah 25. Bila daftar ulang sudah ditutup, maka dapat lanjut ke langkah berikutnya.

  29. Cek apakah hari ini untuk daftar ulang para peserta yang masuk cadangan. Bila iya, maka ke langkah selanjutnya. Namun bila tidak maka tunggu sampai hari tersebut tiba.

  30. Cek apakah sudah jam dimulainya daftar ulang untuk peserta yang masuk cadangan. Bila masih belum, maka tunggu sampai tiba waktunya dimulai daftar ulang. Namun bila sudah, lanjut ke langkah berikutnya.

  31. Proses daftar ulang untuk para peserta yang masuk cadangan.

  32. Cek apakah waktu untuk daftar ulang para cadangan masih ada. Bila masih ada, proses daftar ulang masih dapat dilanjutkan. Namun bila waktunya telah habis, proses daftar ulang untuk para cadangan harus diakhiri.

  33. Para peserta yang lolos dan melakukan daftar ulang telah mejadi mahasiswa baru (MABA) Politeknik Elektronika Negeri Surabaya (PENS).

Flowchart :

Revisi UTS 1

Revisi UTS

Logika dan Algoritma

Menampilkan bilangan genap kecuali 16, 26, 46, dan kecuali kelipatan 6

Algoritma :

  1. Deklarasikan x dan isi dengan nilai 10.

  2. Hitung sisa bagi antara x dengan 2.

  3. Cek apakah hasil bagi x dengan 2 sama dengan 0. Bila hasilnya tidak sama dengan 0, maka langsung ke langkah 11. Bila hasilnya sama dengan 0, maka ke langkah berikutnya.

  4. Cek apakah x sama dengan 16. Bila x sama dengan 16, maka langsung ke langkah 11. Bila x tidak sama dengan 16, maka ke langkah berikutnya.

  5. Cek apakah x sama dengan 26. Bila x sama dengan 26, maka langsung ke langkah11. Bila x tidak sama dengan 26, maka ke langkah berikutnya.

  6. Cek apakah x sama dengan 46. Bila x sama dengan 46, maka langsung ke langkah11. Bila x tidak sama dengan 46, maka ke langkah berikutnya.

  7. Hitung sisa bagi antara x dengan 6.

  8. Cek apakah hasil bagi x dengan 6 sama dengan 0. Bila hasilnya sama dengan 0, maka langsung ke langkah 11. Bila hasilnya tidak sama dengan 0, maka ke langkah berikutnya.

  9. Cetak x.

  10. Cek apakah x sama dengan 50. Bila x sama dengan 50, maka langsung ke langkah 11. Bila x tidak sama dengan 46, maka ke langkah 12.

  11. Tambahkan x dengan 1 dan nyatakan ke variable x.

  12. Proses berakhir.

Flowchart :