Labels

Senin, 27 Oktober 2008

CONTOH PROGRAM ARRAY MENGGUNAKAN C++

#include

#include



int length(char x[]);



int main()

{

char string[256];

printf(”Ketikkan sembarang kalimat : “);

gets(string);

Lstring=length(string);

getch();

return(0);

}



int length(char x[])

{

int i, cek, L=0;

for(i=0;i<256;i++)

{

if (x[i]!=”)

L+=1;

else break;

}

return(L);

}



referensi

http://tutorial-pemrograman.blogspot.com

Selasa, 21 Oktober 2008

SORTING

Sorting atau pengurutan adalah masalah klasik dalam
dunia ilmu komputer. Untungnya kompleksitas dari
sorting hanya sampai pada taraf P (Polynomial) dan
bukan NP (Non-deterministic Polynomial). Mengapa
saya membahas tentang algoritma sorting dan bukan
algoritma yang lain? Karena menurut saya algoritma
ini termasuk mudah dan sangat menarik untuk ditelaah
dan dipelajari.
Dalam makalah inipun saya hanya membahas tentang
beberapa buah sorting atau pengurutan. Yaitu Bubble
Sort, Insertion Sort, Selection Sort, Merge Sort dan
Quick Sort. Bubble Sort adalah algoritma pengurutan
sederhana, yang bekerja dengan cara menunjuk tiap
anggota list untuk diurutkan, membandingkan dua
elemen pada suatu waktu dan menukarkan tempat
mereka jika tidak sesuai keterurutan. Proses ini
berlangsung hingga tidak ada lagi yang perlu
dipertukarkan, yang berarti list sudah dalam kondisi
terurut. Algoritma ini mendapat namanya dari cara
elemen terkecil ”mengambang” (Bubble) pada atas
list. Karena hanya menggunakan perbandingan pada
elemen-elemennya, maka sering di sebut pengurutan
perbandingan.
Sedangkan Quick Sort sendiri adalah sbuah algoritma
terkenal yang dikembangkan oleh C. A. R. Hoare.
Biasanya Quicksort lebih cepat dibanding algoritma
pengurutan yang lain karena loop dalamnya secara
mangkus dapat diterapkan pada sebagian besar
arsitektur dan hampir setiap data memungkinkan
untuk membuat pilihan desain yang memungkinkan
meminimalisasi penggunaan waktu secara kuadratik.
Quicksort adalah pengurutan perbandingan dan, dalam
penerapan yang mangkus, bukan pengurutan stabil.
Definisi dari beberapa algoritma pengurutan tersebut
akan dibahas pada bagian bab Pembahasan Algoritma
Pengurutan.
Beberapa algoritma yang disebutkan disini hanya
sebuah teori tapi saya yakin algoritma ini dapat dibuat
dan dijalankan dengan benar.


referensi

www.wikipedia.com

SORTING MENGGUNAKAN HEAP SORT

Heapsort merupakan salah satu bentuk dari selection sort yang memiliki kompleksitas algorima O(n log(n)) yang menggunakan struktur data heap.
Algoritma ini bekerja dengan menentukan elemen terbesar (atau terkecil) dari sebuah daftar elemen, dan diletakkan pada akhir (atau awal) dari daftar tersebut. Heap sort menyelesaikan sebuah pengurutan menggunakan struktur data yang disebut heap.
Heap merupakan sebuah pohon biner hampir lengkap dimana isi dari simpul ayah selalu lebih besar dari isi simpul anak-anaknya sehingga simpul akar selalu merupakan elemen terbesar.
Kumpulan elemen yang akan diurutkan disimpan sebagai isi dari pohon biner. Pada implementasinya, pointer tidak dibutuhkan untuk merepresentasikan pohon, karena pohon biner yang hampir lengkap ini sudah dapat disimpan dalam sebuah tabel secara efisien.
P (pohon) dapat disebut heap apabila semua simpulnya memiliki properti heap.


referensi
[www.wikipedia.com]
[linux.wku.edu]
[http://www.inf.fh-flensburg.de]

SORTING MENGGUNAKAN MARGE SORT

Merge Sort adalah suatu algoritma pengurutan
berbasis perbandingan. Algoritma ini stabil yang
berarti menjaga keteraturan input sehingga sama
dengan elemen keluaran yang sudah diurutkan.
Algiritma ini merupakan salah satu contoh algoritma
pembagian. Algoritma ini ditemukan oleh John von
Neumann pada tahun 1945.
Algoritma ini bekerja secara:
1. Membagi list menjadi dua bagian sama besar
2. Membagi lagi list-list tersebut sehingga didapat list
dengan ukuran satu elemen, dalam kasus ini list
tersebut dikembalikan
3. Menggabungkan list-list tersebut menjadi satu list
kembali
Misalkan kita mempunya list A yang berkisar dari A’
pertama hingga A’ terakhir. Kita terapkan Mergesort
sehingga didapat 2 buah sublist (A’ pertama ... A’
tengah) dan (A’ tengah+1 … A’ terakhir) dimana
tengah adalah bagian integer dari (A’ pertama + A’
terakhir)/2. Setelah itu direkursifkan hingga elemen
terkecil dan digabungkan kembali menjadi 1 list.
Dalam pengurutan n data, Mergesort mempunyai
performa average dan worst case O(n log n). Jika
waktu proses dari Mergesort pada list dengan panjang
n adalah T(n), maka rekurensnya T(n) = 2T(n/2) + n
mengikuti definisi dari algoritma.
Pada worst case, Mergesort melakukan kira-kira ( n
log n – 2 log n + 1) perbandingan, yaitu antara (n log n –
n + 1 ) dan (n log n + n + O(log n)).


reverensi

www.wikipedia.com

SORTING MENGGUNAKAN SELECTION SORT

Selection Sort adalah suatu algoritma pengurutan,
lebih tepatnya lagi pengurutan perbandingan statis.
Karena mempunyai kompleksitas O(n2) maka tidak
begitu mangkus dalam pengolahan data dengan
jumlah besar, dan biasanya lebih buruk performanya
dibanding dengan Insertion Sort yang mirip. Selection
Sort diakui karena kesederhanaan algoritmanya dan
performanya lebih bagus daripada algoritma lain yang
lebih rumit dalam situasi tertentu.
Algoritma ini bekerja sebagiar berikut:
1. Mencari nilai minimum dalam sebuah list
2. Menukarkan nilai ini dengan elemen pertama list
3. Mengulangi langkah di atas untuk sisa list dengan
dimulai pada posisi kedua
Secara mangkus kita membagi list menjadi dua bagian
yaitu bagian yang sudah diurutkan, yang didapat
dengan membangun dari kiri ke kanan dan dilakukan
pada saat awal, dan bagian list yang elemennya akan
diurutkan.
Selection Sort tidak begitu sulit untuk manganalisis
pembanding dibanding algoritma yang lain karena
tidak ada loop yang bergantung pada data pada list.
Memilih elemen terkecil memerlukan pemindaian
seluruh n elemen (hal ini membutuhkan n-1
perbandingan) lalu memindahkannya ke posisi
pertama. Memilih elemen kedua terkecil memerlukan
pemindaian dari n-1 elemen dan begitu seterusnya
sehingga (n-1) + (n-2) + ... + 2 + 1 = n(n-1)/2= O(n2)
perbandingan. Tiap-tiap pemindaian itu memerlukan
satu kali pertukaran untuk n-1 elemen (dengan
elemen terakhir sudah pada posisinya). Karena itu
perbandingan mendominasi waktu pemrosesan yaitu
O(n2).


referensi
www.wikipedia.com

SORTING MENGGUNAKAN QUICK SORT

Ide dari algoritma ini adalah secara rekursif membagi
(atau mempartisi) data set ke dalam dua sub data set;
kita sebut sub data set kiri dan sub data set kanan.
Partisi ini dilakukan dengan kriteria:
o digunakan salah satu data sebagai pivot value
o sub data set kiri adalah data yang berharga <= pivot
value
o sub data set kanan adalah data yang berharga > pivot
value
Jika data set berada dalam array X berindeks dari l
sampai dengan r maka pembagian ini mempertukarkan
sejumlah isi array sehingga sub data set kiri berada
dalam array yang sama berindeks l sampai dengan t-1
dan sub data set kanan berada dalam array berindeks t
+1 sampai dengan r. X[t] sendiri ditempati oleh pivot.
Setelah dilakukan pembagian tersebut maka algoritma
Quick Sort diaplikasikan untuk masing-masing sub
data set tsb dan seterusnya secara rekursif hingga
terbentuk sub data set yang tidak dapat dibagi lagi
yaitu jika hanya berisi satu sel (l = r).
Bagian yang paling tricky adalah pada pembagian data
set, kita sebut fungsi tersebut adalah Partition(l,r) yang
menghasilkan t yaitu posisi pivotnya. Maka, algoritma
Quick Sort adala sebagai berikut.
void QuickSort(int l,int r) {
if (l < r) {
t = Partition(l,r);
QuickSort(l,t-1);
QuickSort(t+1,r);
}}
Proses Partisi diserahkan kepada anda untuk
mempelajarinya sendiri. Dalam beberapa literatur
terdapat variant-varuant yang pada dasarnya terjadi
karena perbedaan cara menentukan harga pivot: bisa
data pertama (X[l]), data terakhir (X[r]) atau data
ditengah (X[(l+r)/2]) data set).
Kompleksitas algoritma Quick Sort adalah bergantung
pada hasil partisi tersebut. Kondisi best case adalah
jika dalam setiap partisi tidak dilakukan operasi
pertukaran tempat dan pivot tepat berada ditengah
subset (O(n)). Kondisi average case adalah jika partisi
menghasilkan sub data set yang balance (o(n log n)).
Kondisi worse case adalah jika partisi menghasilkan
sub data set kosong dan yang lain besar (o(n2).
Walaupun demikian, algoritma ini cenderung untuk
average case.

dikutip dari makalah Rio Cahya Dwiyanto
Jurusan Teknik Informatika ITB, Bandung, email: kasrut_desu@yahoo.co.id

SORTING MENGGUNAKAN INSERTION SORT

Insertion Sort adalah sebuah algoritma pengurutan
sederhana, dengan cara pengurutan perbandingan yang
mengurutkan suatu array atau list dengan membuat
suatu entry. Metode ini tidak begitu mangkus dalam
mengolah data yang besar (banyak) daripada
algoritma-algoritma yang lebih maju seperti
Quicksort, tetapi mempunyai banyak keuntungan,
diantaranya :
1. Sederhana dalam penerapan
2. Mangkus dalam pengolahan data yang kecil
3. Mangkus dalam data yang sudah sebagian terurut
4. Lebih mangkus dibanding Bubble Sort maupun
Selection Sort
5. Stabil
Dalam Best case yang berarti list sudah dalam
keadaan terurut, maka pengurutan ini hanya memakan
waktu O(n): dalam setiap iterasi, elemen pertama list
hanya dibandingkan dengan elemen terakhir dari list.
Jika list sudah terurut atau sebagian terurut maka
Insertion Sort akan lebih cepat dibandingkan dengan
Quicksort.
Worst case dari algoritma ini adalah jika list terurut
terbalik sehingga setiap eksekusi dari perintah harus
memindai dan mengganti seluruh bagian sebelum
menyisipkan elemen berikutnya. Insertion Sort
membutuhkan waktu O(n2) pada worst case ataupun
average case yang membuat algoritma ini tidak cocok
dalam pengurutan elemen dalam jumlah besar.
Walaupun demikian, loop dalam pada Inserion Sort
sangat cepat, yang membuatnya salah satu algoritma
pengurutan tercepat pada jumlah elemen yang sedikit.


dikutip dari makalah Rio Cahya Dwiyanto
Jurusan Teknik Informatika ITB, Bandung, email: kasrut_desu@yahoo.co.id

SORTING MENGGUNAKAN BUBBLE SORT

Ide dari algoritma ini sangat menarik. Setiap pasangan
data: x[j] dengan x[j-1], untuk semua i=1,...,n-1 harus
memenuhi keterurutan, yaitu x[j] > x[j-1]. Apabila
tidak memenuhi maka posisi kedua data harus ditukar.
Untuk pemrograman konvensional maka pemeriksaanpemeriksaan
pasangan tersebut harus dilakukan satu
demi satu, misalnya oleh bubble-sort dilakukan dari
kanan ke kiri serta di dalam sejumlah iterasi.
Pada iterasi ke-i, pemeriksaan tsb. dilakukan pula
dalam Loop-for sbb:
for (j=n-1; j > i; j--) {
if (x[j] < x[j-1]) {
tmp = x[j];
x[j] = x[j-1];
x[j-1] = tmp;
}}
Loop-for tersebut akan menggeser bilangan terkecil ke
posisi i. Loop-for dilakukan hanya sampai ke i karena
pada iterasi ke-i data dalam x[0], x[1], ..., x[i-1]
merupakan yang paling kecil dan sudah terurut hasil
pengeseran yang dilakukan setiap loop sebelumnya.
Oleh sebab itu iterasi hanya dilakukan untuk harga
i=0, 1, ..., n-2 atau sampai tidak terjadi penukaran
dalam suatu iterasi.
void BubbleSort() {
ch = true;
for (i=0; i < n-2 && ch; i++) {
ch = false;
for (j=n-1; j > i; j--) {
if (x[j] < x[j-1]) {
tmp = x[j];
x[j] = x[j-1];
x[j-1] = tmp;
ch = true;
}}}}
Contoh untuk mengurutkan data
34,43,65,90,48,82,93,86,26,76,49,23,56,37.
Pada iterasi i=0:
j=13: tukar 56-37 menjadi
34,43,65,90,49,82,93,86,26,76,49,23,37,56
j=12: tidak ada penukaran
j=11: tukar 49-23 menjadi
34,43,65,90,48,82,93,86,26,76,23,49,37,56
j=10: tukar 76-23 menjadi
34,43,65,90,48,82,93,86,26,23,76,49,37,56
j= 9: tukar 26-23 menjadi
34,43,65,90,48,82,93,86,23,26,76,49,37,56
j= 8: tukar 86-23 menjadi
34,43,65,90,48,82,93,23,86,26,76,49,37,56
j= 7: tukar 93-23 menjadi
34,43,65,90,48,82,23,93,86,26,76,49,37,56
j= 6: tukar 82-23 menjadi
34,43,65,90,48,23,82,93,86,26,76,49,37,56
j= 5: tukar 49-23 menjadi
34,43,65,90,23,48,82,93,86,26,76,49,37,56
j= 4: tukar 90-23 menjadi
34,43,65,23,90,48,82,93,86,26,76,49,37,56
j= 3: tukar 65-23 menjadi
34,43,23,65,90,48,82,93,86,26,76,49,37,56
j= 2: tukar 43-23 menjadi
34,23,43,65,90,48,82,93,86,26,76,49,37,56
j= 1: tukar 34-23 menjadi
23,34,43,65,90,48,82,93,86,26,76,49,37,56
Pada iterasi i=1:
j=13: tidak ada penukaran
j=12: tukar 49-37 menjadi
23,34,43,65,90,48,82,93,86,26,76,37,49,56
j=11: tukar 76-37 menjadi
23,34,43,65,90,48,82,93,86,26,37,76,49,56
j=10: tidak ada penukaran
j= 9: tukar 86-26 menjadi
23,34,43,65,90,48,82,93,26,86,37,76,49,56
j= 8: tukar 93-26 menjadi
23,34,43,65,90,48,82,26,93,86,37,76,49,56
j= 7: tukar 82-26 menjadi
23,34,43,65,90,48,26,82,93,86,37,76,49,56
...
j= 2: tukar 34-26 menjadi
23,26,34,43,65,90,48,82,93,86,37,76,49,56
Dan seterusnya. Hingga, pada setiap akhir iterasi
berikutnya berturut-turut menjadi:
i=2: 23,26,34,37,43,65,90,48,82,93,86,49,76,56
i=3: 23,26,34,37,43,48,65,90,49,82,93,86,56,76
i=4: 23,26,34,37,43,48,49,65,90,56,82,93,86,76
i=5: 23,26,34,37,43,48,49,56,65,90,76,82,93,86
i=6: 23,26,34,37,43,48,49,56,65,76,90,82,86,93
i=7: 23,26,34,37,43,48,49,56,65,76,82,90,86,93
i=8: 23,26,34,37,43,48,49,56,65,76,82,86,90,93
i=9: 23,26,34,37,43,48,49,56,65,76,82,86,90,93
Dari kedua iterasi dengan increment linear demikian
dapat mudah dilihat bahwa algoritma ini memiliki
kompleksitas O(n2) dan proses akan menjadi amat
cepat kalau data sudah sebagian besar terurut. Masalah
yang dihadapi algoritma ini adalah banyaknya
penukaran yang dilakukan selama proses dalam
kondisi normal. Efisiensi dapat ditingkatkan dengan
mengurangi proses penukaran dengan penggeseran
dan penyisipan seperti halnya insertion sort. Untuk
lingkungan pemrograman paralel dengan array
processor pengurutan ini menjadi amat menarik untuk
dikaji.
Jika Bubble Sort dalam setiap iterasi melakukan loopfor
penukaran ke satu arah, Shaker Sort (suatu variant
dari Bubble Sort) melakukan loop-for penukaran
dengan arah bolak-balik dengan batas loop-for kiri
dan kanan semakin menyempit.
Untuk bubble sort, best case dari Big-O ( O ) adalah
O(n), dimana n adalah jumlah datanya. Best case
terjadi bila data yang hendak disorting sudah terurut,
misal jika ada 1500 data dan semuanya sudah terurut
maka algoritma Bubble Sort tersebut hanya
melewatinya satu kali yaitu O(1500).
Akan tetapi, worst case nya adalah O(n2), worst case
terjadi apabila datanya betul-betul sangat tidak terurut,
bayangkan bila ada 20 data, pada worst case
komputasi yang dilakukan = O(202) = O(4000) ->
Lebih besar dibanding 1500 data pada kondisi best
case!


dikutip dari makalah Rio Cahya Dwiyanto
Jurusan Teknik Informatika ITB, Bandung, email: kasrut_desu@yahoo.co.id

Selasa, 14 Oktober 2008

UPGRADE MOTOROLA E398

Motorola E398, begitu yang sering kita sebut. Ponsel yang memiliki fitur 3D Stereo Speaker ini banyak memikat anak remaja karena suaranya yang bisa dibilang lumayan. Dengan camera 4x digital zoom (640 x 480) serta didukung external memory (TransFlash) sehingga bisa memuat file mp3 yang bisa dikatakan lumayan juga.
Tapi sering juga yang kecewa karena suaranya tidak bisa lantang, hanya sebatas itu-itu saja,so… ya dilego deh MotE398nya. Nah, buat yang masih punya MotE398(baca:HP tercinta), jangan buru-buru dilego deh…. coba aja di Upgrade ke ROKR(R372 ke R373), bisa dibilang lumayan gress suaranya, support iTunes juga,bisa buat ngenet, ngimail, ngechat, ngedugem, ngeclick and masih banyak lagi. Kamu juga bisa buat Hpmu menurut seleramu (biasa disebut Modding). Gimana? Sedikit tertarikkan?
Ok!! Ana bantu Insya Allah…..
Software & Kelengkapan Needed:
1. Flash&Backup
2. P2Ktool
3. USB Cable
4. MotE398
5. Firmware/ Monster Pack
6. Batteray Full/ Dekstop Charger
7. Doa

semua software dapat di download di www.e398mod.com
www.colector.wen.ru
Langkah-langkah Flashing/ Upgrading :
1. Instal F&B, jalankan program tersebut.
2. Conect your MotE398 with Cable data into your PC
3. Tunggu sampai muncul Tulisan Conected / (tulisan berwarna hijau disisi bagian bawah program F&B)
4. INGAT!! Backup dahulu MotE398 sebelum Upgrading, gunakan F&B untuk Backup & Flashing
5. Conect kan kembali MotE398 ke PC (setelah Backup biasanya HP otomatis DC)
6. Setelah conect, chose Flashing >> pilih berkas flash (cari dimana MP yang udah didonlot >> 42R_for All…….) click open.
7. After that Click Flash to phone, tunggu hingga proses flashing selesai (untuk flshing pertama + 30 menitan)
8. Setelah selesai MotE398 akan otomatis mati. DC cable, Hidupkan MotE398 and Good Luck!!!!! MotE398 kamu udah siap pake lagi
(NB: I’m Use Flash & Backup 3.7 karena support bahasa Indonesia)

MBADUT

Ketika ada orang berkata jujur malah dianggap bohong.”apa aku bukan penguasa sehingga tidak di percaya……………….???kepada rekan-rekanku aku ingin menyatakan bahwa dalam pemilihan seorang pemimpin itu tak penting-penting amat yang pentimg adalah meningkatkan taraf hidup.Berjanjilah pada dirimu dalam memilih para kandidat pilihlah kandidat yang baik syukur-syukur kandidat baru yang bersih karena kandidat lama sudah terkontaminasi oleh limbah korupsi dan segala macam tindakan durhaka lainnya….INGAT ini bukan kampanye melainkan cara terbaik kita memilih seorang pemimpin,itu saja masih dianggap menyinggung kandidat lain………
Mulai hari ini sebaiknya kita seleksi dalam memilih calon pemimpin jangan asal pilih saja jangan pula karena kenal tampang lantas enkau memilihnya .pemilihan bupati,gubenur,dsb secara langsung memang memiliki problem yang mendasar.Rakyat yang selama ini tidak mengenal kandidat dengan terpaksa memilih kandidat berdasarkan tampang.anehnya……………………para kandidat yang menyadari akan hal ini tidak lantas memperkenalkan program dan visinya sampai ke pelosok desa melainkan hanya memasang gambar-gambar.Mereka sadar foto sangat menentukan dengan kemasan yang khas,religius dan disertai dengan slogan pendek dengan harapan dapat menghipnotis rakyat sehingga rakyat akan memilihnya.Yang perlu disini hanyalah foto yang GANTENG,CANTIK,ENERJIK dan MEMPESONA.Pohon yang biasanya untuk sarang monyet diambil alih untuk memasang foto para kandidat.Tidak ada satupun kandidat yang jelek.Tapi kalau dipikir-pikir kandidat itu mirip BADUT yang mendandani dirinya sedemikian rupa untuk menarik perhatian ya……………kan?Masing-masing badut bertarung untuk mendapat pengaruh.TOH kalau mereka turun tak perlu pengaruh lagi………...MAS BADUT MBAK BADUT SEDANG MANGGUNG JANGAN DIGANGGU YA……………………
Bila di ganggu yang marah bukan hanya si badut melainkan tim suksesnya juga ikut marah yang selama ini paling susah mengurusi sibadut untuk mendapatkan pengaruh agar bisa menang MBADUT merupakan cara yang efektif untuk menarik perhatian orang tak peduli kandidat itu baik atau busuk kalau yang terpilih baik tak jadi soal kalau busuk……………………………….???????????
Terus terang saja saya binggung dan susah bersikap.kakiku melangkah diatas trotoar tetapi sukmaku meyusuri kelamnya cakrawala pagi adalah harapan yang selalu tumbuh di pupuk oleh sumpah-sumpah yang yang terkumpul dalam renungan malam.Diantara waja-wajah para badut aku melihat orang-orang lunggang-langgang mencari harapan yang hilang tetapi semakin orang-orang butuh perhatian para badut semakinpercaya diri mengumbar sensasi hanya untuk mendapatkan kursi.

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.

1 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 dengan 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 dan dapat dieksekusi oleh mesin).

2 Konstruktor (elemen) Pemrograman Prosedural

Elemen bahasa pemrograman prosedural yang penting adalah:

1. Program utama

2. Tipe

3. Konstanta

4. Variabel

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.




3 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.

PEMROGRAMAN BERORIENTASI OBJEK

PENGERTIAN PEMROGRAMAN BERORIENTASI OBJEK

Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat 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.
Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.
KONSEP DASAR PEMROGRAMAN BERORIENTASI OBJEK
kelas — kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.
Objek - membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer; objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.
Abstraksi - Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.
Enkapsulasi - Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi ijin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.
Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan "gerak cepat", dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.
Inheritas- Mengatur polimorfisme dan enkapsulasi dengan mengijinkan objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada - objek-objek ini dapat membagi (dan memperluas) perilaku mereka tanpa haru mengimplementasi ulang perilaku tersebut (bahasa berbasis-objek tidak selalu memiliki inheritas.)
Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bag administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bag administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas adminiistrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri.

ASCII





Kode Standar Amerika untuk Pertukaran Informasi atau ASCII (American Standard Code for Information Interchange) merupakan suatu standar internasional dalam kode huruf dan simbol seperti Hex dan Unicode tetapi ASCII lebih bersifat universal, contohnya 124 adalah untuk karakter "|". Ia selalu digunakan oleh komputer dan alat komunikasi lain untuk menunjukkan teks. Kode ASCII sebenarnya memiliki komposisi bilangan biner sebanyak 8 bit. Dimulai dari 00000000 hingga 11111111. Total kombinasi yang dihasilkan sebanyak 256, dimulai dari kode 0 hingga 255 dalam sistem bilangan Desimal.

ASCII File
Biasanya disebut juga dengan file teks, Text-Only file, atau file teks ASCII. Sebuah ASCII File ini ...
ASCII Character Set
Sebuah standard kode 7 bit yang menggambarkan karakter dari ASCII dengan menggunakan nilai biner. Ja...
File ASCII
Merupakan file data yang disusun dalam format pengkodean ASCII. Dengan berbagai kaidah khusus, maka ...
flat-ASCII
Istilah untuk file teks:text yang terdiri dari 7-bit karakter:character ASCII dan hanya menggunakan ...
Smiley face
Karakter ASCII berbentuk :-) (perhatikan baik-baik text tersebut!), yang biasanya dipakai untuk menu...