Showing posts with label Pemrograman. Show all posts
Showing posts with label Pemrograman. Show all posts

Wednesday, 19 January 2011

RADIX SORT

#include
#include
main()
{
int a, b, leng, data[100], d, m, temp[100], index;
char ripit;
repeat:

printf("Banyak data : ");
scanf("%d",&leng);

for (a=0;a {
printf("data %d = ",a+1);
scanf("%d",&d);
if (d<1000)
{
data[a]=d;
}
else a--;
}
printf("\nData Anda: ");

for (a=0;a {
printf("\nData %d= %d ",a+1,data[a]);
}

index=0;
for (a=0;a<=9;a++) //lsb sort
for (b=0;b {
if (data[b]<100)
{
m=data[b]%10;
}
else
{
m=data[b]%100;
m=m%10;
}
if (m==a)
{
temp[index]=data[b];
index++;
}
}

for (a=0;a<=9;a++)
{
data[a]=temp[a];
}

index=0;
for (a=0;a<=9;a++) //csb sort
for (b=0;b {
if (data[b]<100)
{
m=data[b]/10;
}
else
{
m=data[b]%100;
m=m/10;
}
if (m==a)
{
temp[index]=data[b];
index++;
}
}
for (a=0;a<=9;a++)
{
data[a]=temp[a];
}

index=0;
for (a=0;a<=9;a++) //msb sort

for (b=0;b {
m=data[b]/100;
if (m==a)
{
temp[index]=data[b];
index++;
}
}
for (a=0;a<=9;a++)
{
data[a]=temp[a];
}

printf("\n\nSetelah di Sorting\n");
for (a=0;a<(leng);a++)
{
printf("%d",data[a]); printf("\n");
}

printf("\nUlangi? [y/n] = "); scanf("%s",&ripit);
if (ripit=='y'||ripit=='Y')
{
goto repeat;
}
}

Tuesday, 9 March 2010

encrypt kedua

buat encrypt yang ini saya mau buat sesuatu yang beda dari teman2 saya dan saya ingin menggembangkan ilmu yang saya dapata di kampus saya..
saya mempunyai gagasan untuk membuat encrypt tanpa ada library kata dan kode, jadi saya hanya mengacak inputannya saja hehehe... "briliant...!!" saya hanya memakai metode sorting hanya menbalikkan dan mengacak arraynya saja....
huhu... "cukup sulit..."
tapi demi kepuasan diri tak apa lah... hehehe...
mari kita lihat program sintaksnya..!!!



neh hasilya...

Tuesday, 8 December 2009

coding

OM hagz, saya mahasiswa jurusan teknik informatika, semester akhir dengan peminatan software engineering. Karena saya lemah di coding, kira-kira nanti kesulitan ga ya untuk mengerjakan tugas akhir? (Taufik, Universitas Swasta di Jakarta)

Inna lillahi wa inna ilaihi rajiun, segera lakukan taubat dan perbanyak istighfar Jurusan teknik informatika semester akhir, peminatan software engineering pula, ga bisa coding? Selama ini kemana aja om?

Lemahnya skill coding mahasiswa di Indonesia adalah penyakit gawat, menular, mematikan dan secepatnya harus diberantas tuntas . Mungkinkah ini juga yang membuat produksi software kita secara kuantitas dan kualitas dibawah negara tetangga kita? Ingat bahwa menurut laporan IDC dan Gartner, jumlah developer professional Indonesia mencapai 71.600 orang di tahun 2008. Jumlah developer kita tiga kalinya malaysia dan empat kalinya singapore loh

Wahai para mahasiswaku, andai kau tahu, jurusan computing di Indonesia mengambil acuan kurikulum IEEE Computing Curricula 2005. Asosiasi Perguruan Tinggi Informatika dan Komputer alias APTIKOM, yang menjadi wadah universitas yang memiliki jurusan atau prodi computing, membuat kurikulum inti yang mengacu ke IEEE Computing Curricula 2005, meskipun di beberapa sisi tidak konsisten Tidak konsisten karena Information System (Sistem Informasi) dan Computer Engineering (Teknik/Sistem Komputer) saja yang direkomendasikan jadi jurusan atau prodi. Computer Science (Ilmu Komputer), Information Technology (Teknologi Informasi) dan Software Engineering (Rekayasa Perangkat Lunak) disuruh tumplek beg di satu wadah namanya Teknik Informatika :(

Friday, 20 November 2009

soal 1

Menghapus Format dari bidang pilihan#include
main()

{
int i;
float saldo, bunga, persen;
saldo=1000000;
persen=0.02;
for (i=1; saldo<=1500000; i++) { bunga=saldo*persen; saldo=saldo+bunga; } printf("Bulan ke %d= %f",i,saldo); scanf("%d"); }

Sunday, 1 November 2009

TYPE DATA


- Perbedaan antara %d dan %i adalah:


Kedua tipe data ini berfungsi untuk menampilkan bilangan integer bertanda (signed) dalam bentuk decimal

- Perbedaan antara %e,%f , dan %g adalah:

%e = bilangan real dengan notasi scientific

%f = bilangan real dengan nilai pecahan

%g = bilangan real dengan bentuk desimal dan berpangkat

- Contoh %o dan %x adalah:

%o :

#include

main()

{

printf(”Oktal(uppercase) Oktal(lowercase) Decimal\n”);

printf(”%O %o %d\n”, 15, 15, 15);

printf(”%O %o %d\n”, 14, 14, 14);

printf(”%O %o %d\n”, 13, 13, 13);

return 0;

%x :

/* Konversi ke hexadesimal */

#include

main()

{

printf(”Hex(uppercase) Hex(lowercase) Decimal\n”);

printf(”%X %x %d\n”, 3, 3, 3);

printf(”%X %x %d\n”, 2, 2, 2);

printf(”%X %x %d\n”, 1, 1, 1);

return 0;

Outputnya :

Hex(uppercase) Hex(lowercase) Decimal

F f 3

E e 2

D e 1

1

EXERCISE 3



EXERCISE 2

EXERCISE 1


Susun algoritma untuk input 3 buah bilangan yang masing-masing menyatakan panjang sisi sebuah segitiga. Kemudian periksa ketiga buah garis tersebut. Bila ketiga buah garis sama panjangnya, tercetak "SAMASISI". Bila hanya dua garis yang sama, tercetak "SAMAKAKI". Dan bila ketiga-tiganya garis tersebut tidak sama, tercetak "SEMBARANGAN".

Menentukan Jenis Segitiga

1.A. Menggunakan Operator AND atau OR

{

if a=b && a=c && b=c then

printf (“SAMA SISI”);

endif

If a=b && a=c || b=c then

printf (“SAMA KAKI”);

endif

if a= b && a=c && b= c else

printf (“SEMBARANG”);

}

1.B. Tanpa Menggunakan Operator AND atau OR

{

if a=b then

if a=c then

if b=c then

printf (“SAMA SISI”);

endif

endif

endif

if a=b then

if a=c then

if b=c else

printf (“SAMA KAKI”);

endif

endif

endif

if a= b && a=c && b= c else

printf (“SEMBARANG”);

}

PROSES ALGORITMA

Sequence Structure


Merupakan instruksi yang berurutan tanpa melihat kondisi apapun. Dalam sequence structure, instruksi dieksekusi berdasarkan urutannya. Dimulai dari bagian atas dan diakhiri di bagian bawahnya. Bujur sangkar dapat menggambarkan operasi :

* Input dan Output
* Operasi aritmatika
* Operasi pemindahan / memanipulasi data dalam memori komputer

Dalam sequence structure tidak diperkenankan penggunaan kotak keputusan.


Loop / Iteration Structure

Loop structure menggambarkan perulangan dari satu atau lebih instruksi.
Contoh: DO WHILE, REPEAT UNTIL, FOR DO & CASE


Selection Structure

Dalam struktur ini terdapat sejumlah perintah yang dikerjakan tergantung dari kondisi yang dipenuhinya. Seperti juga dengan sequence dan dan loop structure, terdapat single entry point dan single exit point.
Contoh: IDENTATION (Pematahan), SINGLE IF-ELSE, NESTED IF-ELSE (Linear dan Non Linear).


Concurrent Structure

Dalam struktur ini terdapat sejumlah perintah dilakukan secara bersama-sama. Data dan informasi terbagi-bagi agar sejumlah perintah bekerja atau melakukan proses bersamaan. Dan proses seperti ini sangatlah mempengaruhi proses lainnya dan terkesan kurang optimal dalam memproses data dan informasi.

PENGANTAR ALGORITMA PEMROGRAMAN

Definisi Program/Pemrograman

- Adalah kumpulan instruksi-instruksi tersendiri yang biasanya disebut source code yang

dibuat oleh programmer (pembuat program)

Paradigma Pemrograman

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.

Contoh: Algol, Pascal, Fortran, Basic, Cobol, C ...

2. Pemrograman Fungsional

Berdasarkan teori fungsi matematika Fungsi merupakan dasar utama program.

Contoh: LOGO, APL, LISP

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 #

Wednesday, 28 October 2009

Paradigma Pemrograman

1. Pemrograman Prosedural

Berdasarkan urutan-urutan, sekuensial Program adalah suatu rangkaian prosedur untuk memanipulasi data. 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

Saturday, 17 October 2009

Sejarah istilah "algoritma"



Algortima adalah jantung ilmu computer atau informatika. Banyak cabang dari ilmu komputer yang diacu dalan terminologi algoritma,misalnya algoritma perutean (routing) pesan di dalam jaringan komputer, algoritma berensenham untuk menggambar garis lurus (bidang grafik kumputer), algoritma Knuth-Morris-Pratt untuk mencari suatu pola di dalam teks (bidang information retrievel), dan sebagainya.

Ditinjau dari asal usul kata, kata “algoritma” sendiri mempunyai sejarah yang cukup aneh. Kata ini tidak muncul di dalam kamus Webster sampai akhir tahun 1957. Orang hanya menemukan kata algorism yang berarti proses menghitung dengan angka Arab. Anda dikatakan algorist jika Anda menggunakan angka Arab. Para ahli bahasa berusaha menemukan asal kata algorism ini, namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan asal mula kata tersebut. Kata algorism berasal dari nama penulis buku arab yang terkenal, yaitu Abu Ja’afarMuhammad Ibnu Musa al-Khuwarizmi (al-Khuwarizmi dibaca orang barat menjadi algorism).Al-Khuwarizmi menulis buku yang berjudul Kital al jabar wal-muqabala, yang artinya “Buku pemugaran dan pengurangan” (The book of restoration and reduction). Dari judul buku ini kita juga memperoleh akar kata “aljabar” (algebra). Perubahan dari kata algorism menjadi algoritm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran –sm beubah menjadi –thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa/lumrah, maka lambat laun kata algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna aslinya. Dalam bahasa Indonesia, kata algorithm diserap menjadi “algoritma”.

Pada tahun 1950, kata algoritma perama kali digunakan pada “algoritma Euclidean” (Euclid’s algorithm). Euclid, seorang matematikawan Yunani (lahir pada tahun 350 M), dalam bukunya yang berjudul Element menuliskan langkah-langkah untuk menemukan pembagi bersama terbesar (common greatest divisor atau gcd), dari dua buah bilangan bulat, m dan n (tapi Euclid tidak menyebut metodenya itu sebagai algoritma, baru abad modernlah ornag-orang menybut metodenya itu sebagai “algoritma Euclidean”), Pembagi terbesar dari dua buah bilangan bulat tak-negatif adalah bilangan bulat positif terbesar yang habis membagi kedua bilangan tersebut.
Misalnya, m=80 dan n=12.
Semua factor pembagi adalah
1, 2, 4, 5, 8, 10, 16, 20, 40, 80
Dan semua factor pembagi 12 adalah
1, 2, 3, 4, 6, 12
Maka gcd(80,12)=4
Langkah-langkah mencari gcd(80,12) dengan algoritma Euclidean sebagai berikut :
80 dibagi 12 hasilnya = 6, sisa = 8 (atau: 80 = 6.12 + 8)
12 dibagi 8 hasilnya = 1, sisa = 4 (atau: 12 = 1.8 + 4)
8 dibagi 4 hasilnya = 2, sisa = 0 (atau: 8 = 4.2 + 0)

Karena pembagian yang terakhir menghasilkan 0, maka sisa pembagian terakhir sebelum 0, yaitu 4, menjadi gcd(80,12). Jadi, gcd(80,12) = gcd(12,8) = gcd(4,0) = 4.

Contoh-contoh algoritma yang sudah dijelaskan di atas memberi dua pesan penting. Pertama, sebuah algoritma harus benar. Kedua, algoritma harus berhenti, dan setelah berhenti,algoritma membri hasil yang benar. Menurut Donald E. Knuth dalam bukunya yang berjudul The art of Computer Programming, sebuah algoritma harus mempunyai lima ciri penting:
1. Algoritma harus berhenti setelah mengerjakan sejumlah langkah trbatas.
2. Setiap langkah harus didefinisikan dengan tepat dan tidak brarti-dua (ambiguous). Misalnya, pernyataan “bagilah p dengan sejumlah beberapa bilangan bulat positif”,pernyataan ini dapat bermakna ganda. Berapakah yang dimaksud dengan “beberapa”? Algoritma menjadi jelas jika langkah tersebut ditulis “bagilah p dengan 10 buah bilangan bulat positif”.
3. Algoritma memiliki nol atau lebih masukan (input). Maukan ialah besaran yang diberikan kepada algoritma untuk diproses. Algoritma Euclidean mempunyai dua buah masukan, m dan n.
4. Algortima mempunyai nol atau lebih keluaran (output). Keluaran dapat berupa pesan atau besaran yang memiliki hubungan dengan masukan.
5. Algoritma harus sangkil (effective). Setiap langkah harus sederhana shingga dapat dikerjakan dalam sejumlah waktu yang masuk akal.

Popular Posts

COMMENT

Labels

Labels

Labels

Labels