Laman

Jumat, 31 Oktober 2008

Contoh Program Pengurutan Menggunakan Array



main()
{
int x;
char abc[]="programming a computer";
printf("%s\n",abc); //a.menampilkan semua karakter
for(x=0;x<=10;++x) //b.menampilkan sebelas karakter pertama
printf("%c",abc[x]);
printf("\n"); //menampilkan ganti baris
x=12;
while(abc[x])
printf("%c",abc[x++]); //c.menampilkan sepuluh karakter terakhir
return 0;
}

Kamis, 30 Oktober 2008

Metode pengurutan

Pengurutan data dalam struktur data sangat penting untuk data yang beripe data numerik ataupun karakter. Pengurutan dapat dilakukan secara ascending (urut naik) dan descending (urut turun). Tahukah anda metode pengurutan itu? Metode Pengurutan (Sorting) adalah proses menyusun kembali data yang sebelumnya telah disusun dengan suatu pola tertentu, sehingga tersusun secara teratur menurut aturan tertentu.

Contoh:

Data Acak : 5 6 8 1 3 25 10

Ascending : 1 3 5 6 8 10 25

Descending : 25 10 8 6 5 3 1

Metode Pengurutan Data

1. Pengurutan berdasarkan perbandingan (comparisocomparison-based sorting), misalnya : bubble sort, exchange sort.

2. Pengurutan berdasarkan prioritas (priority queue sorting method) : Selection sort, heap sort (menggunakan tree).

3. Pengurutan berdasarkan penyisipan dan penjagaan terurut (insert and keep sorted method) : Insertion sort, tree sort.

4. Pengurutan berdasarkan pembagian dan penguasaan (devide and conquer method) : quick sort, merge sort.

5. Pengurutan berkurang menurun (diminishing increment sort method) : Shell sort (pengembangan insertion).

Deklarasi Array

• Misal, deklarasikan:

int data[100];

int n; //untuk jumlah data

• Fungsi untuk Tukar 2 Buah Data (by reference):

void tukar(int *a,int *b)

{

int t=*a;

*a=*b;

*b=t;

}

Bubble Sort

Bubble sort merupakan metode sorting termudah. Diberi nama “Bubble” karena proses pengurutan secara berangsur-angsur bergerak/berpindah ke posisinya yang tepat, seperti gelembung yang keluar dari sebuah gelas bersoda. Bubble Sort mengurutkan data dengan cara membandingkan elemen sekarang dengan elemen berikutnya.

Dalam metode ini ada 2 macam pengurutan, pengurutan ascending, yaitu jika elemen sekarang lebih besar dari elemen berikutnya maka kedua elemen tersebut ditukar dan pengurutan descending, yaitu jika elemen sekarang lebih kecil dari elemen berikutnya, maka kedua elemen tersebut ditukar.

Algoritma ini seolah-olah menggeser satu per satu elemen dari kanan ke kiri atau kiri ke kanan, tergantung jenis pengurutannya, asc atau desc. Ketika satu proses telah selesai, maka bubble sort akan mengulangi proses, demikian seterusnya sampai dengan iterasi sebanyak n-1. Kapan berhentinya? Bubble sort berhenti jika seluruh array telah diperiksa dan tidak ada pertukaran lagi yang bisa dilakukan, serta tercapai perurutan yang telah diinginkan.

Exchange Sort

Metode Exchange Sort sangat mirip dengan Bubble Sort, banyak yang mengatakan Bubble Sort sama dengan Exchange Sort. Pebedaannya dalam hal bagaimana membandingkan antar elemen-elemennya. Exchange sort membandingkan suatu elemen dengan elemen-elemen lainnya dalam array tersebut, dan melakukan pertukaran elemen jika perlu. Jadi ada elemen yang selalu menjadi elemen pusat (pivot). Sedangkan Bubble sort akan membandingkan elemen pertama/terakhir dengan elemen sebelumnya / sesudahnya, kemudian elemen tersebut itu akan menjadi pusat (pivot) untuk dibandingkan dengan elemen sebelumnya/sesudahnya lagi, begitu seterusnya.

Selection Sort

Metode Selection Sort merupakan kombinasi antara sorting dan searching. Untuk setiap proses, akan dicari elemen-elemen yang belum diurutkan yang memiliki nilai terkecil atau terbesar akan dipertukarkan ke posisi yang tepat di dalam array. Misalnya untuk putaran pertama, akan dicari data dengan nilai terkecil dan data ini akan ditempatkan di indeks terkecil (data[0]), pada putaran kedua akan dicari data kedua terkecil, dan akan ditempatkan di indeks kedua (data[1]). Selama proses, pembandingan dan pengubahan hanya dilakukan pada indeks pembanding saja, pertukaran data secara fisik terjadi pada akhir proses.

Insertion Sort

Metode Insertion Sort mirip dengan cara orang mengurutkan kartu, selembar demi selembar kartu diambil dan disisipkan (insert) ke tempat yang seharusnya. Pengurutan dimulai dari data ke-2 sampai dengan data terakhir, jika ditemukan data yang lebih kecil, maka akan ditempatkan (diinsert) diposisi yang seharusnya. Pada penyisipan elemen, maka elemen-elemen lain akan bergeser ke belakang.

Shell Sort

Metode Pertambahan Menurun (Shell Sort) dikembangkan oleh Donald L. Shell (1959).

Metode ini mengurutkan data dengan cara membandingkan suatu data dengan data lain yang memiliki jarak tertentu sehingga dibentuk sub-list, kemudian dilakukan pertukaran jika diperlukan.

Selasa, 28 Oktober 2008

Sifat Seseorang Berdasarkan Tanggal Lahir dan Surat Al Quran

Untuk mengetahui karakteristik sifat seseorang, kita bisa menganalisa menurut astrologi/zodiac, shio atau dari kalender Jawa. Tapi kali ini saya ingin berbagi info dari sini yaitu Menyibak Rahasia Karakteristik Sifat Seseorang Sesuai Tanggal Lahirnya Menurut Al-Qur’an. Percaya atau tidak terserah bagaimana anda menyikapinya.


Tanggal 1Surat Al Fatihah (Pembukaan)Menyukai hal baru, berbakat menjadi pemimpin, seorang pioneer (pelopor), idealis, cenderung ingin sempurna, pandai memanfaatkan kesempatan, egois, harus selalu jadi prioritas utama, sering mengulangi kesalahan yang sama, orang yang belum mengenalnya akan mengira sebagai sosok yang angkuh dan sulit ditaklukkan.


Tanggal 2 Al Baqarah (Sapi Betina) Pekerja keras, taat akan hukum dan aturan, memiliki jiwa sosial dan kepedulian tinggi, menyukai hal-hal yang bersifat rutinitas, jika dia mampu ada cenderungan menjadi seorang dermawan, kurang inisiatif, sering dimanfaatkan orang lain serta gampang percaya kepada orang lain.


Tanggal 3 Al Imran (Keluarga Imran) Seorang pemimpin (walaupun dalam kelompok kecil), berhati-hati dalam bertindak, mengayomi, tegas, suka suasana perdebatan dan agak cerewet, jika wanita ia cenderung tomboy, ingin menang sendiri, seorang pemimpi dan sering berfantasi.


Tanggal 4 An Nisa (Wanita) Sensitif dan perasa, feminim, protektif terhadap keluarga, kreatif, kompak tapi mudah dipengaruhi, agak jahil (iseng), dan penggoda.


Tanggal 5Al Maidah (Hidangan) Diperlukan banyak orang, menyukai perubahan, memiliki insting yang lumayan, cepat bosan, ingin dilayani, susah diatur.


Tanggal 6 Al Anaam (Binatang Ternak) Punya insting tajam, kurang mandiri, terkadang seenaknya sendiri, emosional, pemalu dan kurang percaya diri, dan cepat berubah pikiran.


Tanggal 7 Al A’Raaf (Tempat Tertinggi) Cermat dan teliti, mudah mengambil hati orang lain, penuh inspirasi, terlihat sombong, suka meremehkan dan cepat puas.


Tanggal 8 Al Anfaal Optimis, mobilitas tinggi, menyukai perubahan, emosional, gampang berubah pendirian, saat marah suka menyakiti diri sendiri.


Tanggal 9 At Taubah Pemaaf, perfeksionis, mudah bergaul, tegas, tidak suka basa basi, tidak cepat puas, ingin selalu diperhatikan, keras kepala dan mudah goyah.


Tanggal 10 Yunus Cepat menyesuaikan, banyak cara keluar dari persoalan, setiap kemauan harus terpenuhi, licin dan cerdik, tidak bisa dikekang dan susah diatur, mudah menyangkal dan banyak alasan.


Tanggal 11 Huud Dibutuhkan banyak orang, mudah menerima, berhati-hati dalam berbuat, tidak banyak kemauan, pasif, terkadang diremehkan, peka perasaan.


Tanggal 12 Yusuf Percaya diri, optimisme tinggi, tekun, teliti, disukai banyak orang, emosional, tidak mudah percaya, tidak bisa menahan keinginan, ambisius.


Tanggal 13 Ar Ra’du (Guruh / Petir) Pemikir, dinamis, menyukai perbedaan, mudah menarik perhatia, logis, suka berdebat, tempramental, lambat memahami sesuatu.


Tanggal 14 Ibrahim Pembimbing yang baik, patuh pada aturan, keras dan tegas, banyak rencana, rela berkorban.


Tanggal 15 Al Hijr (Batu) Perfeksionis, keras kepala, telaten, gampang goyah pendiriannya, mudah dipengaruhi.


Tanggal 16 An Nahl (Lebah) Rajin dan tekun, ramah, peka pada suasana di sekitarnya, berjiwa sosial, pandai memanfaatkan kesempatan, rapi, cerewet, sensitif dan agak cengeng, pendendam.


Tanggal 17 Al Israa Idealis, banyak ide, suka berkhayal, emosional, lebih produktif jika beraktivitas pada malam hari (kegiatan yang baik dan bermanfaat).


Tanggal 18 Al Kahfi Suka menolong, pengamat yang baik, pandai menyimpan rahasia, tidak mudah percaya, suka memendam masalah dan mengurung diri, susah ditebak maksudnya.


Tanggal 19 Maryam Pengasuh, kekanak-kanakan, menyukai anak-anak, suka mengajar, sabar, memiliki banyak cara menyelesaikan masalah, bicara berdasar bukti, sering difitnah.


Tanggal 20 Thaha Misterius, suka bepergian, memegang teguh aturan, suka lari dari masalah.


Tanggal 21 Al Anbiyaa Bertanggung jawab, seorang pemimpin dan pemikir, pendengar yang baik, menerima apa adanya (ikhlas), tidak banyak kemauan.


Tanggal 22 Al Hajj Segala sesuatu harus sempurna, mudah dipengaruhi, gampang terpengaruh, terburu-buru ingin cepat sampai tujuan, menyukai keramaian, sering berfikir muluk.


Tanggal 23 Al mu’minuun Normatif, sensitif, feminim, fanatik terhadap sesuatu, mudah terpancing emosinya.


Tanggal 24 An Nuur Mudah memberikan jalan keluar, cermat memilah masalah, pendengar setia, mudah tersinggung, suka mengungkit-ungkit, gampang menyalahkan.


Tanggal 25 Al Furqan Punya skala prioritas, gemar membandingkan, ceplas ceplos, kurang inisiatif dan tidak banyak kemauan.


Tanggal 26 Asy Syuara Pandai mengambil hati, suka berbelit-belit, kurang berani untuk menyampaikan keinginan, agak cerewet, tidak banyak keinginan, kurang romantis.


Tanggal 27 An Naml Insting kuat, memiliki perencanaan yang baik, pandai memanfaatkan peluang, susah bekerja sendiri, mudah panik, tidak bisa disalahkan, mudah tersinggung, tidak bisa ditentang.


Tanggal 28 Al Qashash Berani menyampaikan keinginan dan pendapat, memegang komitmen, mudah bergaul, tidak pernah kehabisan bahan pembicaraan, pendendam, emosional, romantis, pencemburu.


Tanggal 29 Al Ankabuut Banyak kenalan, sabar, dinamis, kurang menyukai keramaian, tidak berfikir panjang, kurang pandai memelihara jaringan, bekerja kurang sistematis, mudah tersinggung.


Tanggal 30 Ar Ruum Optimis, banyak akal, anggun, tempramental, suka bertindak semaunya dan ingin menang sendiri, pencemburu berat, setiap kemauannya harus dipenuhi.


Tanggal 31 Lukman Bijaksana, seorang pemimpin, melindungi komunitasnya, sabar, tekad kuat, otoriter, setiap perintahnya harus dituruti. Sesuaikah karakteristik sifat Anda berdasarkan Surat di atas ? Wallahualam.

Sumber : http://www.psikologi.infogue.com

Rabu, 15 Oktober 2008

Kuliah 2

Struktur Data

Pengertian

Struktur Data : Cara menyimpan atau merepresentasikan data didalam komputer agar bisa dipakai secata efisien.

Data : REpresentasi dari fakta dunia nyata.

Fakta atau keterangan tentang kenyataan dapat disimpan, direkam atau direpresentasikan dalam bentuk tulisan, suara, bamgar, sinyal atau simbol.

tipe data dasar :

  1. Integer (bil bulat).
  2. Real / Float (bil desimal).
  3. Boolean (logika : and, or, not, etc).
  4. Char (karakter).

ket : unt mencari sisa hasil > mod

unt mencari hasil bagi > div

string > char name[50].

artinya nama yg ditampung sebanyak 50 karakter.

Tipe2 data yg digunakan di C++ :

Nama Size Range

char 1byte signed : -128 to 127

unsigned : 0 to 255

int 1word signed : -2147483648 to 2147483647

unsigned : 0 to 4294967295

short int 2byte signed : -3278 to 32767

unsigned : 0 to 65535

long int 4byte signed : -2127483648 to 2147483647

unsigned : 0 to 4294967295

bool 1byte true / false

float 4byte 3,4 e +/- 38 (7 digit)

double 8byte 1,7 e +/- 308 (15 digit)

long double 8byte 1,7 e +/- 308 (15 digit)

Contoh program :

#include<10stream.h>

#include

int main( )

{

int a,b,hasil;

a=5;b=7;hasil=a+b;cout<<”Hasil= “<

getch( );return 0;

}

Kuliah 1

Struktur Data

Dosen : Euis Marlina

Materi access : www.euismarlina.edublogs.org.

CP : www.euismarlina@gmail.com.

www.adeisti.blogspot.com.

Buku Referensi :

  1. Struktur Data Pondasi Membuat Program Yang Elegan dan Efisien. Bambang Hariyanto Ir. MT.
  2. Algoritma + Struktur Data = Program. Niklans Wirth.
  3. Data Srtuctures using C++ (e-book).
  4. C++ Data Structures (e-book).

Bahasan Utama :

  1. Pengantar Struktur Data.
  2. Tipe Data Abstrak (Abstract Data Type /ADT).
  3. Struktur Data Dasar (array record / struct dan himpunan).
  4. Struktur Data Lajutan (stack, Quene, Tree, Graph, etc).

Pemrograman OOP

Object Oriented Programming

Object Oriented Programming (OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya.

Karakteristik Object Oriented Programming.

Objects

Jika kita pikir maka kita sekarang hidup dalam sebuah dunia object-oriented. Kamu adalah object. Kamu berinteraksi dengan object lain. Untuk menulis tugas ini kami berinteraksi dengan object komputer. Ketika saya bangun pagi, saya merespon pesan suara object alarm jam. Faktanya, kamu adalah object dengan data-data seperti tinggi dan warna rambut. Kamu mempunyai metode-metode yang kamu akan lakukan, seperti makan dan berjalan.

Jadi, apa itu objects? Dalam term OOP, object adalah sebuah structure yang menggabungkan data dan prosedur untuk bekerja bersama-sama. Contoh, jika kamu tertarik dalam pelacakan data yang dihubungkan dengan produk, kamu akan menciptakan sebuah object produk yang bertanggung jawab untuk me-maintenance dan bekerja dengan data yang bersinggungan dengan produk. Jika kamu ingin kemampuan mencetak dalam aplikasi kamu, kamu harus bekerja dengan sebuah object printer yang bertanggung jawab untuk data serta metode yang digunakan untuk berinteraksi dengan printermu.

Abstraction

Ketika kamu berinteraksi dengan object-object di dunia ini, kamu sering hanya konsentrasi dengan sebuah bagian dari propertiesnya. Tanpa kemampuan untuk mensarikan/abstract atau menyaring untuk dibuang properties object yang asing / tidak ada hubungannya, maka kamu akan menemukan kesulitan untuk memproses informasi yang kebanyakan membombarding kamu. Sebagai hasil abstraction, ketika 2 orang berbeda berinteraksi dengan object yang sama, mereka sering setuju dengan bagian yang berbeda atas atribut.

Ketika membangun objects dalam aplikasi OOP, adalah penting untuk menggabungkan konsep abstraction ini. Jika kamu membangun aplikasi shipping, kamu harus membangun object produk dengan atribut seperti ukuran dan berat. Warna adalah contoh informasi yang tidak ada hubungannya dan harus dibuang. Tetapi ketika kamu membangun order-entry application, warna menjadi penting dan harus termasuk atribut object produk.

Encapsulation

Ciri penting lainnya dari OOP adalah encapsulation. Encapsulation adalah sebuah proses dimana tidak ada akses langsung ke data yang diberikan, bahkan hidden. Jika kamu ingin mendapat data, kamu harus berinteraksi dengan object yang bertanggung jawab atas dara tersebut. Dalam contoh inventory, jika kita ingin melihat atau mengupdate informasi atas produk, kita seharusnya bekerja melalui object produk. Untuk membaca data, kita mengirimkan pesan ke object produk, kemudian object produk akan membaca pesan dan mengirim pesan balik ke kamu.

Object produk mendefinisikan bahwa operasi dapat dilakukan pada data produk. Jika kamu mengirim pesan untuk memodifikasi data dan jika object produk menentukan bahwa permintaan itu valid maka permintaan tersebut akan dilakukan dan akan mengirimkan pesan balik bersama hasilnya.

Pikirkan mengenai Human Resource Department (HRD), yang meng-encapsulasi informasi mengenai karyawan. Mereka menentukan bagaimana data ini dapat digunakan da dimanipulasi. Setiap permintaan data karyawan atau permintaan untuk mengupdate datanya harus dijalankan melalui mereka. Contoh lain, network security. Setiap permintaan informasi security atau perubahan kebijakan security harus dilakukan melalui network administrator. Data security di-encapsulate dari user network.

Dengan melakukan encapsulasi pada data, berarti kamu membuat data dari sistemmu lebih secure dan terpercaya. Karena kamu mengetahui bagaimana data diakses dan operasi apa yang sedang berjalan pada data. Hal ini membuat maintenance program menjadi lebih mudah. Kamu juga dapat memodifikasi metode yang digunakan untuk kerja pada data, dan jika kamu tidak merubah bagaimana metode itu diminta dan tipe response dikirim balik, maka kamu tidak dapat merubah object lain dengan menggunakan metode tersebut. Pikirkan ketika kamu mengirim surat melalui pos. Kamu membuat permintaan ke kantor pos agar mengantar surat, dan bagaimana kantor pos menyelesaikannya kita tidak perlu tahu. Jika ada perubahan rute yang digunakan, maka hal itu tidak mempengaruhi keinginan untuk kirim surat lewat kantor pos. Kamu tidak perlu tahu prosedur internal yang digunakan oleh kantor pos untuk mengantar surat.

Polymorphism

Polymorphisms adalah kemampuan 2 buah object yang berbeda untuk merespon pesan permintaan yang sama dalam suatu cara yang unik. Contoh, saya melatih anjing saya dengan perintah untuk menggonggong dan juga saya melatih burung untuk merespon perintah saya untuk berkicau. Saya lakukan latihan untuk merespon kepada mereka dengan perintah lisan. Melalui polymorphism saya tahu bahwa anjing dan burung akan merespon dengan gonggongan atau kicauan.

Bagaimana hal ini berhubungan dengan OOP? Kamu dapat membuat objects yang dapat merespon pesan yang sama dalam implementasi yang unik. Contohnya, kamu dapat mengirim pesan print ke object printer yang akan mencetak pada printer, dan kamu juga dapat mengirim pesan yang sama ke object screen yang akan menuliskan pada screen monitor. Dalam OOP, kamu menerapkan tipe polymorphism melalui proses yang disebut overloading. Kamu dapat mengimplementasikan metode yang berbeda pada sebuah object yang mempunyai nama yang sama.

Inheritance

Banyak objects diklasifikasikan menurut hirarki. Contoh, kamu dapat mengklasifikasikan sebuah mobil yang mempunyai karakteristik umumnya mobil, seperti mempunyai ban, mesin, serta body. Keturunan berikutnya diklasifikasikan dengan atribut umum seperti ukuran, jumlah roda, isi silinder dll atau mengklasifikasikan mereka atas dasar daya angkutnya. Contoh, ada kendaraan komersial atau kendaraan pribadi, ada truk atau mobil penumpang. Kamu menggunakan inheritance dalam OOP untuk mengklasifikasikan objects dalam program sesuai karakteristik umum dan fungsinya. Hal ini akan membuat pekerjaan bersama object lebih mudah dan lebih intuitif. Hal ini juga membuat programming lebih mudah karena memungkinkan kita untuk mengkombinasikan karakteristik umum kedalam object parent dan mewariskan karakteristik ini ke child object.

Aggregation

Aggregation adalah kondisi ketika object berisi gabungan dari object-object yang berbeda dan bekerja bersama. Contoh mesin pemotong rumput terdiri dari object roda, objects mesin, object pisau dll. Object mesinpun merupakan gabungan dari berbagai object. Kemampuan untuk menggunakan aggregation dalam OOP adalah satu feature yang powerful yang memungkinkan model menjadi akurat.

Sumber diambil dari : www.google.com , www.wikipedia.com , www.ilmukomputer.com.

Pemrograman Prosedural

Pemrograman Prosedural

Pemrograman dalam paradigma prosedural dilakukan dengan memberikan serangkaian perintah yang berurutan. Dalam bab ini akan dibahas hal-hal yang menjadi dasar dalam pemrograman prosedural, meliputi definisi algoritma dan konstruktor pemrograman prosedural, serta konsep Input, Proses, dan Output yang sangat lazim dalam dunia pemrograman prosedural.

Algoritma

Algoritma adalah serangkaian langkah-langkah yang tepat, terperinci, dan terbatas untuk menyelesaikan suatu masalah. Langkah yang tepat artinya serangkaian langkah tersebut selalu benar untuk menyelesaikan masalah yang diberikan. Langkah yang tidak memberikan hasil yang benar untuk domain masalah yang diberikan bukanlah sebuah algoritma.

Langkah yang terperinci artinya setiap langkah diberikan secara detail dan dapat dieksekusi oleh komputer, instruksi seperti “angkat sedikit ke kiri” merupakan contoh instruksi yang tidak tepat, karena “sedikit” tidak menyatakan sesuatu yang tepat.

Langkah yang diberikan harus terbatas, artinya suatu saat langkah harus berhenti, jika langkah tidak pernah berhenti (misalnya: “ambil air, masukkan ke bak mandi, ulangi ambil air, dan seterusnya”) maka serangkaian langkah itu tidak disebut sebagai algoritma (jika: “ambil air, masukkan ke bak mandi, ulangi ambil air sampai bak mandi penuh”, maka bisa disebut algoritma, namun langkah ambil air, masukkan ke bak mandi, harus diperinci).

Konstruktor (elemen) Pemrograman Prosedural Elemen bahasa pemrograman prosedural yang penting adalah:

1. Program uta ma

2. Tipe

3. Konstanta

Konsep Dasar Pemrograman Prosedural

4. Variabel

5. Ekspresi, operator, dan operand

6. Struktur Data

7. Instruksi dasar

8. Program Moduler

9. File eksternal

10. Rekurens

Konstruktor ini tidak untuk dipelajari secara berurutan, namun semua perlu dipelajari dan dimengerti untuk dapat membuat program dengan baik.

Input, Proses, dan Output

Sekumpulan aksi dalam pemrograman prosedural bisa dibagi menjadi tiga bagian penting yaitu: input, proses, dan output. Bagian input, proses, dan output dikerjakan secara sekuensial, dan dalam setiap bagian mungkin akan ada input, proses, dan output.

Sumber diambil dari : www.google.com , www.wikipedia.com , www.ilmukomputer.com.