Minggu, 01 November 2009

TYPE DATA ALGORITMA

TYPE DATA

Perbedaan antara %e,%f , dan %g adalah:
%e = untuk floating point bentuk berpangkat
%f = untuk floating point bentuk desimal
%g =untuk floating point bentuk desimal dan berpangkat

Exercise Module 5 (Percabangan IF/Switch)

1. Susun algoritma untuk input 3 buah bilangan yang masing-masing menyatakan panjang sisi sebuah segitiga. Kemudian periksa ketiga buah garis (sisi) tersebut. Bila ke-3 sisi segitiga itu panjangnya sama maka akan tercetak perkataan "SAMA SISI". Bila hanya dua sisi yang sama akan tercetak "SAMA KAKI" dan bila ke-3 sisi segita itu tidak sama maka akan tercetak "SEMBARANG".

Hint : a) Menggunakan operator AND(&&) atau OR (||)
Hint : b) Tidak boleh menggunakan operator logical AND dan OR


a)
int a,b,c;

printf("masukan sisi segitiga1= ");

scanf("%d",&a);

printf("masukan sisi segitiga2= ");

scanf("%d",&b);

printf("masukan sisi segitiga3= ");

scanf("%d",&c);

if(a==b && a==c && b==c)

{
printf("segitiga ini adalah segitiga sama sisi");
}

if (a==b && a!=c)
{
printf("segitiga ini adalah segitiga sama kaki");
}

if (a==c && b!=c)
{
printf("segitiga ini adalah segitiga sama kaki");
}
if (a!=b && b==c)
{
printf("segitiga ini adalah segitiga sama kaki");
}


else if(a!=b && a!=c && b!=c)
{
printf("segitiga ini adalah segitiga sembarang\n");
}

b)

int a,b,c;

printf("masukan sisi segitiga1= ");

scanf("%d",&a);

printf("masukan sisi segitiga2= ");

scanf("%d",&b);

printf("masukan sisi segitiga3= ");

scanf("%d",&c);


if (a==b==c)
{
printf("segitiga ini adalah segitiga sama sisi\n");
}
if(a==b)
if(a!=c)
{
printf("segitiga ini adalah segitiga sama kaki\n");
}
if(a==c)
if(b!=c)
{
printf("segitiga ini adalah segitiga sama kaki\n");
}
if(a!=c)
if(b==c)
{
printf("segitiga ini adalah segitiga sama kaki\n");
}
if(a!=b)
if(a!=c)
if(b!=c)
{
printf("segitiga ini adalah segitiga sembarang\n");
}







2. Susun flowchart untuk menginput 4 bilangan bulat, kemudian dari 4 bilangan tersebut cetak lah bilangan yang terbesar.


















3. Susun flowchart untuk input 3 buah bilangan bulat kemudian cetak ke-3 nilai tersebut dengan urutan dari kecil ke besar.


Sabtu, 31 Oktober 2009

JENIS PROSES ALGORITMA

• Sequence proses / urutan. Pada konstruksi ini terdapat sebuah rentetan proses dalam suatu program. urutan yang berjalan dari atas ke bawah, sequence adalah dasar dari semua program, semua program pasti berjalan urut dari atas sampai kebawah.
Contoh: menghitung luas lingkaran.

• Selection proses / pemilihan. Pada konstruksi ini terdapat sebuah syarat yang harus bernilai true atau false dalam hal ini di sebut juga dengan nilai bolean. lalu oleh komputer di lakukan pengecekan apakah yang harus dilakukan menjalankan perintah true atau perintah false.
contoh:Pencarian nilai terbersar dari deretan angka

• Itteration proses / Perulangan. Pada konstruksi ini mengulang proses-proses yang sama, sehingga pembuatan program lebih evisien daripada pembuatan tanpa perulangan yang di buat oleh komputer.
Contoh: untuk membantu kita dalam membuat program yang terstruktur konstruksi-konstruksi itu dapat disajikan oleh berbagai macam alat bantu untuk penulisan algoritma sebuah program, pada umumnya sebuah program di sampaikan dengan FLOWCHART, BOXDIAGRAM, atau PSEUDOCODE

• Concurrent Process: beberapa instruksi dikerjakan secara bersama.
Contoh Algoritma
Algoritma menghitung luas persegi panjang:
1. Masukkan panjang (P)
2. Masukkan lebar (L)
3. L ← P * L
4. Tulis L
Dalam Algoritma, tidak dipakai simbol-simbol / sintaks dari suatu bahasa pemrograman
tertentu, melainkan bersifat umum dan tidak tergantung pada suatu bahasa pemrograman
apapun juga. Notasi-notasi algoritma dapat digunakan untuk seluruh bahasa pemrograman
manapun.

PARADIGMA PEMOGRAMAN

1. Pemrograman Prosedural
�� Berdasarkan urutan-urutan, sekuensial
�� Program adalah suatu rangkaian prosedur untuk memanipulasi data. Prosedur
merupakan kumpulan instruksi yang dikerjakan secara berurutan.
�� Harus mengingat prosedur mana yang sudah dipanggil dan apa yang sudah
diubah.

2. Pemrograman Fungsional
�� Berdasarkan teori fungsi matematika
�� Fungsi merupakan dasar utama program.

3. Pemrograman Terstruktur
�� Secara berurutan dan terstrukrtur.
�� Program dapat dibagai-bagi menjadi prosedur dan fungsi.
�� Contoh: PASCAL dan C

4. Pemrograman Modular
�� Pemrograman ini membentuk banyak modul.
�� Modul merupakan kumpulan dari prosedur dan fungsi yang berdiri sendiri
�� Sebuah program dapat merupakan kumpulan modul-modul.
�� Contoh: MODULA-2 atau ADA

5. Pemrograman Berorientasi Obyek
�� Pemrograman berdasarkan prinsip obyek, dimana obyek memiliki
data/variabel/property dan method/event/prosedur yang dapat dimanipulasi
�� Contoh: C++, Object Pascal, dan Java.

6. Pemrograman Berorientasi Fungsi
�� Pemrograman ini berfokus pada suatu fungsi tertentu saja. Sangat tergantung
pada tujuan pembuatan bahasa pemrograman ini.
�� Contoh: SQL (Structured Query Language), HTML, XML dan lain-lain.

7. Pemrograman Deklaratif
�� Pemrograman ini mendeskripsikan suatu masalah dengan pernyataan daripada
memecahkan masalah dengan implementasi algoritma.
�� Contoh: PROLOG

Minggu, 25 Oktober 2009

Algoritma

Dalam matematika dan komputasi, algoritma merupakan kumpulan perintah untuk menyelesaikan suatu masalah. Perintah-perintah ini dapat diterjemahkan secara bertahap dari awal hingga akhir. Masalah tersebut dapat berupa apa saja, dengan catatan untuk setiap masalah, ada kriteria kondisi awal yang harus dipenuhi sebelum menjalankan algoritma. Algoritma akan dapat selalu berakhir untuk semua kondisi awal yang memenuhi kriteria, dalam hal ini berbeda dengan heuristik. Algoritma sering mempunyai langkah pengulangan (iterasi) atau memerlukan keputusan (logika Boolean dan perbandingan) sampai tugasnya selesai.

Desain dan analisis algoritma adalah suatu cabang khusus dalam ilmu komputer yang mempelajari karakteristik dan performa dari suatu algoritma dalam menyelesaikan masalah, terlepas dari implementasi algoritma tersebut. Dalam cabang disiplin ini algoritma dipelajari secara abstrak, terlepas dari sistem komputer atau bahasa pemrograman yang digunakan. Algoritma yang berbeda dapat diterapkan pada suatu masalah dengan kriteria yang sama.

Kompleksitas dari suatu algoritma merupakan ukuran seberapa banyak komputasi yang dibutuhkan algoritma tersebut untuk menyelesaikan masalah. Secara informal, algoritma yang dapat menyelesaikan suatu permasalahan dalam waktu yang singkat memiliki kompleksitas yang rendah, sementara algoritma yang membutuhkan waktu lama untuk menyelesaikan masalahnya mempunyai kompleksitas yang tinggi.
[sunting] Sejarah istilah "algoritma"

Kata algoritma berasal dari latinisasi nama seorang ahli matematika dari Uzbekistan Al Khawārizmi (hidup sekitar abad ke-9), sebagaimana tercantum pada terjemahan karyanya dalam bahasa latin dari abad ke-12 "Algorithmi de numero Indorum". Pada awalnya kata algorisma adalah istilah yang merujuk kepada aturan-aturan aritmetis untuk menyelesaikan persoalan dengan menggunakan bilangan numerik arab (sebenarnya dari India, seperti tertulis pada judul di atas). Pada abad ke-18, istilah ini berkembang menjadi algoritma, yang mencakup semua prosedur atau urutan langkah yang jelas dan diperlukan untuk menyelesaikan suatu permasalahan.
[sunting] Jenis-jenis Algoritma

Terdapat beragam klasifikasi algoritma dan setiap klasifikasi mempunyai alasan tersendiri. Salah satu cara untuk melakukan klasifikasi jenis-jenis algoritma adalah dengan memperhatikan paradigma dan metode yang digunakan untuk mendesain algoritma tersebut. Beberapa paradigma yang digunakan dalam menyusun suatu algoritma akan dipaparkan dibagian ini. Masing-masing paradigma dapat digunakan dalam banyak algoritma yang berbeda.

* Divide and Conquer, paradigma untuk membagi suatu permasalahan besar menjadi permasalahan-permasalahan yang lebih kecil. Pembagian masalah ini dilakukan terus menerus sampai ditemukan bagian masalah kecil yang mudah untuk dipecahkan. Singkatnya menyelesaikan keseluruhan masalah dengan membagi masalah besar dan kemudian memecahkan permasalahan-permasalahan kecil yang terbentuk.

* Dynamic programming, paradigma pemrograman dinamik akan sesuai jika digunakan pada suatu masalah yang mengandung sub-struktur yang optimal (, dan mengandung beberapa bagian permasalahan yang tumpang tindih . Paradigma ini sekilas terlihat mirip dengan paradigma Divide and Conquer, sama-sama mencoba untuk membagi permasalahan menjadi sub permasalahan yang lebih kecil, tapi secara intrinsik ada perbedaan dari karakter permasalahan yang dihadapi.

* Metode serakah. Sebuah algoritma serakah mirip dengan sebuah Pemrograman dinamik, bedanya jawaban dari submasalah tidak perlu diketahui dalam setiap tahap; dan menggunakan pilihan "serakah" apa yang dilihat terbaik pada saat itu.