Kamis, 22 Maret 2012

Praktikum Alpro pertemuan pertama

Dalam praktikum pertemuan pertama mengerjakan kasus dalam modul (Hal. 5 No. 1). Menghitung Volume dan Permukaan Kubus dengan Class.
Berikut deklarasi nya:

#include <iostream.h>
#include <conio.h>

class kubus
{
public:
       void hitung();
private:
        int s;
};
void kubus::hitung()
{
cout<<"Menghitung Volume & Luas Permukaan kubus"<<endl;
cout<<"Masukkan Sisi:";
cin>>s;
cout<<"Volume kubus: "<<s*s*s<<endl;
cout<<"Luas Permukaan kubus: "<<6*s*s<<endl;
}

                         
int main()
{
   kubus a;
   a.hitung ();
   getch();
   return 0;
}

Rabu, 21 Maret 2012

Refleksi Minggu keempat (Looping)

Dalam pertemuan keempat ini saya merasa lebih susah karena belum begitu paham tentang Perulangan (Looping).
Dalam proses kuliah saya dan kelompok saya mencoba mempresentasikan Tugas Kelompok dalam materi minggu keempat yaitu tentang simulasi pembelian bahan bakar dengan input an Jumlah Uang dan Jumlah Liter.
Tetapi kelompok saya belum sempurna dalam meyelesaikan nya namun sudah mendekati.
Berikut ini flowchart nya dalam raptor. Untuk temen-temen yang bisa menyempurnakan harap komentar ya. hehe.

Pretest Praktikum Alpro minggu pertama (Penghitung Volume & Luas Permukaan Kubus (Dalam Raptor))

Penghitung Luas Segitiga (Kasus 3.7 pertemuan kedua)

Konverter Suhu Celcius-Reamur-Fahrenheit-Kelvin (Kasus 3.5 pertemuan kedua)

Penghitung Luas & Keliling lingkaran (Kasus 3.4 pertemuan kedua)

Konverter CM ke Inchi (Kasus 3.3 pertemuan kedua)

Konversi Hari (Kasus 3.5 pertemuan ketiga)

Persamaan kuadrat dan akar imajiner (Kasus 3.3 pertemuan ketiga)

Mengecek bilangan terbesar dari ketiga bilangan (Kasus 3.2 pertemuan ketiga)

Mengecek bilangan terbesar dari kedua bilangan dalam Raptor (Kasus 3.1 pertemuan ketiga)

Konversi Nilai dalam Raptor (Kasus 3.4 pertemuan ketiga)


Refleksi Minggu Ketiga (Alpro)

Dalam minggu ketiga kuliah Algoritma dan Pemrograman, belajar tentang Pemilihan. Dalam materi ini mempelajari tentang pemilihan dalam berbagai alternatif dengan suatu kondisi. Dalam proses kuliah, saya mempresentasikan contoh Pemilihan dalam kehidupan sehari-hari. Berikut contohnya:

-Saya sedang bosan dirumah (Pernyataan).
-Saya punya uang (Kondisi)
-Alternatif pertama: Jika "YA" (Memenuhi kondisi) maka output nya => "Saya akan pergi bermain"
-Alternatif kedua: Jika "TIDAK"(Tidak memenuhi kondisi/tidak punya uang) maka outputnya => "Saya akan tetap dirumah dan akan belajar saja".
-Selesai (End)

Setelah mempresentasikan contoh tersebut kemudian saya mencoba mempresentasikan Latihan (Lanjutan) dalam materi pertemuan ketiga tentang membuat algoritma, class, dan method untuk mengecek apakah karakter yang di inputkan merupakan huruf kecil, huruf besar atau bilangan.
Dalam presentasi saya dan kelompok saya masih belum sempurna karena masih kurang begitu paham. Tetapi saya sangat senang sekali sudah bisa mencoba mengerjakan latihan dalam materi walaupun masih belum sempurna dalam penyelesaian nya.

Dalam minggu ketiga ini suasana kelas juga sudah makin membaik dari minggu sebelumnya, semakin meriah dan saling berinteraksi antar mahasiswa maupun antara mahasiswa dengan dosen.

Refleksi Minggu Kedua (Kuliah Alpro)

Dalam minggu kedua, materi kuliah adalah SEKUEN. Dalam materi in mempelajari tentang urutan dalam membuat suatu pernyataan. Jika kita ingin melakukan suatu kegiatan, maka kita akan melewati rangkaian langkah demi langkah secara berurutan, dan langkah-langkah tersebut tidak boleh di bolak-balik.
Di minggu ini saya sudah mengerjakan kasus-kasus dalam diktat (kasus 3.1 s/d 3.7) dan mempresentasikan kasus 3.6 di depan.

Kasus 3.6:




Refleksi Minggu Pertama (Kuliah Alpro)

Pada pertemuan kuliah Alpro minggu pertama saya belajar tentang Algoritma dan Pemrograman. Mengenal apa itu Algoritma. Memperdalam pemahaman Flowchart dalam pemrograman. Selain itu ada hal baru yang belum pernah saya temui, yaitu RAPTOR. Dengan adanya Raptor, saya merasa semakin mudah dalam mencoba maupun belajar menyelesaikan kasus-kasus dalam diktat Alpro.

Kesan untuk dosen: Type pembelajaran sangat menyenangkan dan mudah dipahami.

Sabtu, 03 Maret 2012

Kriteria Algoritma

Menurut Donald E. Knuth, algoritma yang baik memiliki kriteri sebagai berikut:

1. Input
Dari sisi input, minimal program harus memiliki nol input atau lebih dari pengguna. Program pasti memiliki input. Yang dimaksud memiliki nol input adalah program tidak mendaatkan masukan data dari pengguna secara langsung, namun semua data yang akan digunakan oleh program sudah dideklarasikan didalam kode program yang akan dieksekusi. Jadi tidak perlu di input kan dari luar. Sedangkan jika mendapat input dari pengguna, data bisa dimasukkan melalui tampilan program, misalnya melalui textbox, ataupun melalui file/basis data yang terdapat di suatu tempat/server tertentu.

2. Output
Dari sisi output, minimal program harus memiliki 1 output. Program pasti menghasilkan output karena program dibuat untuk tujuan tertentu. Tujuan itulah outputnya. Output program bisa ditampilkan ke layar, dituliskan ke file, atau disimpan di clipboard untuk kemudian dipakai di program lain atau disimpan dalam basis data.

3. Finite (Terbatas)
Program harus pasti dan berhenti, bukan tak terhingga. Suatu yang dieksekusi haruslah berenti dan selesai, bukan berjalan terus-menerus hingga HONG UP atau RESPONDING, dan akhir nya harus di Kill dengan paksa. Suatu program dapat mengalami infinite karena kesalahan programmer, mungkin karena kurang teliti atau karena tidak ada kondisi yang bisa membuatnya berhenti, atau mungkin karena ada error yang tidak terduga, misalnya file tidak ada namun program mencarinya terus menerus.

Memang ada program yang seolah-olah tidak pernah mati, misalnya Sistem Operasi, namun sebenarnya sistem operasi juga pasti akan berhenti, yaitu ketika sistem operasi tersebut di Shutdown.

4. Definite (Pasti)
Program harus jelas arah dan tujuannya. Suatu program harus jelas kapan mulai dn kapan berakhir, apa tujuannya, dan emiliki logika yang jelas agar dapat menghasilkan output yang sesuai dengan yang diharapkan.

5. Efisien
Artinya, program harus efisien, tidak memakan banyak memori, tidak melakukan hal-hal yang tidak perlu. Suatu operasi/kegiatan yang tidak perlu, misalnya x=5+0 atau y=100*0. Mengapa operasi tersebut tidak efisien, karena setiap operasi pasti membutuhkan waktu eksekusi, padahal operasi tersebut jelas tidak berguna, karena berapapun bilangan yang ditambah dengan 0 (nol) pasti blangan itu sendiri dan bilangan apapun yang dikalikan dengan 0 (nol) pasti hasilnya nol. Nah, kenapa harus dihitung lagi? Berarti program tidak efisien.

Algoritma Sekuensial

Algoritma sekuensial banyak dijumpai dalam kehidupan sehari-hari misalnya sebagai contoh saya akan mencotohkan "Mencuci Pakaian". Pada kasus tersebut terdapat langkah-langkah yang harus dilakukan, yaitu:

1. Mempersiapkan pakaian yang akan dicuci
2. Menyiapkan alat untuk mencuci pakaian (ember A, ember B, ember C, air, deterjen, sikat pakaian)
3. Mengisi ember A dengan air dan deterjen
4. Mengisi ember B dengan air
5. Merendam pakaian pada ember A
6. Menyikat pakaian satu persatu
7. Menaruh pakaian yang sudah disikat ke dalam ember B
8. Membilas pakaian yang ada di ember B
9. Memasukkan pakaian yang sudah dibilas ke ember C
10. Menjemur pakaian yang ada di ember C

Pada prinsip nya algoritma sekuensial adalah alur pemikiran yang terstruktur, urut, pasti, dan jelas untuk menyelesaikan masalah.