Metoda Pencarian Biner ( Binary Search) hanya bisa diterapkan jika data array sudah teruru. pengurutan Array bisa menggunakan jenis sorting descending atau asscending. Kelebihan dari Searching dengan metode Binary Sort adalah Untuk Pencarian data yang jumlahnya banyak, waktu pencarian relatif cepat. selain itu beban komputasi juga lebih kecil karena pencarian dilakukan dari depan, belakang, dan tengah. namun ada pula kekurangannya, yaitu data harus disorting dahulu dan Algoritma lebih rumit, tidak baik untuk data berangkai.
Algoritma dari Binary Sort
Proses yang terjadi pada pencarian dengan metode ini adalah sebagai berikut :
1.Membaca Array data
2.Apabila Array belum terurut maka array diurutkan terlebih dahulu.
3.Menentukan data yang akan dicari
4.Menentukan elemen tengah dari array
5.Jika nilai elemen tengah sama dengan data yang dicari, maka pencarian berhenti.
6.Jika elemen tengah tidak sama dengan data yang dicari maka :
a.Jika nilai elemen tengah > data yang dicari maka pencarian dilakukan pada setengah array pertama.
b.Jika nilai elemen tengah lebih kecil dari pada data yang dicari maka pencarian dilakukan pada setengah array berikutnya.
ILUSTRASI BINARY SEARCH
Misalkan saya mempunyai data sebagai berikut : 3,1,4,7,25,12,40,78,90,65. Maka data tersebut akan dicek, ternyata setelah dicek datanya belum terurut, maka dengan menggunakan metoda sorting yang sudah ada, maka kita bisa mengurut data tersebut, menjadi : 1,3,4,7,12,25,40,65,78,90
Setelah data tersebut diurutkan maka fungsi binary sort baru mulai bekerja mencari data. berikut cara dari Binary sort mencari data tersebut. misalnya data yang dicari adalah 65. maka pencariannya dijelaskan pada tabel berikut ini :
Pada data range diberi warna Hijau. Pencarian dimulai dari tengah,Kiri dan kanan. rumus untuk Posisi tengahnya adalah ( Posisi Akhir + Posisi Awal )/2. jadi Nilai tengah pada langkah pertama yaitu adalah 12 (berwarna merah) dan nilai targetnya adalah 65 (kuning). Karena nilai data yang dicari > dari data yang ditengah, maka pencarian menjadi dikanan dari nilai tengah. Setelah itu, Maka nilai 12 menjadi awal pencarian, selanjutnya dicari kembali nilai tengah pada range nilai 12 ke kanan sampai pada array dengan nilai 90. ternyata nilai tengahnya adalah 40. kemudian array dari nilai 40 dibandingkan dengan target, ternyata lebih besar, maka pencarian kembali mengarah ke kanan nilai tengah. Array dengan nilai 40 menjadi titik awal pencarian sekarang. dan sekarang nilai tengah nya adalah 65. maka dibandingkan dengan target ternyata sama, maka data sudah Ditemukan.
SUMBER : http://dharmaatmaja.wordpress.com/tag/binary-search/
alogaritma&pemograman
Selasa, 01 Juni 2010
ALGORITMA DEVIDE DAN CONQUER
Nama : MUDESTY ASTUTI
NPM : 10407571
Kelas : 3 Ib01 B
Mata Kuliah : Algoritma dan pemrograman
Algoritma Devide and Conquer
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.
1.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.
Divide and Conquer dulunya adalah strategi militer yang dikenal dengan nama divide ut imperes. Sekarang strategi tersebut menjadi strategi fundamental di dalam ilmu komputer dengan nama Divide and Conquer .
Definisi :
1.Divide: membagi masalah menjadi beberapa upa-masalah yang memiliki kemiripan dengan masalah semula namun berukuran lebih kecil (idealnya berukuran hampir sama),
2.Conquer: memecahkan (menyelesaikan) masing-masing upa-masalah (secara rekursif),
Obyek permasalahan yang dibagi :
masukan (input) atau instances yang berukuran n seperti:
- tabel (larik),
- matriks,
- eksponen,
- dll, bergantung pada masalahnya.
Tiap-tiap upa-masalah mempunyai karakteristik yang sama (the same type) dengan karakteristik masalah asal, sehingga metode Divide and Conquer lebih natural diungkapkan dalam skema rekursif.
2.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.
3.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.
Pembuat program bertanggung jawab atas implementasi solusi. Pembuatan program akan menjadi lebih sederhana jika masalah dapat dipecah menjadi sub masalah - sub masalah yang dapat dikelola.
Penyelesaian masalah dengan komputer berhadapan dengan 4 hal, yaitu :
1. Pemahaman keterhubungan elemen-elemen data yang relevan terhadap solusi secara menyeluruh.
2. Pengambilan keputusan mengenai operasi-operasi yang dilakukan terhadap elemen-elemen data.
3. Perancangan representasi elemen-elemen data di memori sehingga memenuhi kriteria berikut:
a. Memenuhi keterhubungan logik antara elemen-elemen data.
b. Operasi-operasi terhadap elemen-elemen data dapat dilakukan secara mudah dan efisien.
4. Pengambilan keputusan mengenai mengenai bahasa pemrograman terbaik untuk menerjemahkan solusi persoalan menjadi program.
Strategi Divide dan Conquer
Strategi Divide dan Conquer memecah masalah menjadi submasalah-submasalah independen yang lebih kecil sehingga solusi submasalah-submasalah dapat diperoleh secara mudah, solusi submasalah-submasalah digabung menjadi solusi seluruh masalah.
Skema umum algoritma divide dan conquer:
Procedure DNC ( i,j : integer )
Var K : integer ;
If SMALL (i,j) then SOLVE (i,j)
Else begin
K : = DIVIDE (i,j)
COMBINE (DNC(i,k),DNC(k+1,j))
End if
Keterangan:
1. SMALL adalah fungsi yang mengirim BOOLEAN, menentukan apakah ukuran telah cukup kecil sehingga solusi dapat diperoleh. Ukuran dinyatakan sebagai telah berukuran kecil bergantung masalah.
2. DIVIDE adalah fungsi membagi menjadi 2 bagian pada posisi K. Biasanya bagian berukuran sama.
3. COMBINE adalah fungsi menggabungkan solusi X dan Y submasalah. Solusi diperoleh dengan memanggil prosedur rekursif DNC.
Jika ukuran kedua submasalah sama, waktu komputasi DNC dideskripsikan hubungan rekuren berikut :
T(n) = g (n), n kecil
2 T (n/2) + f (n), selainnya
dimana :
• T(n) adalah waktu untuk DNC dengan n masukan,
• g(n) adalah waktu komputasi jawaban secara langsung untuk masukan kecil dan
• f(n) adalah waktu COMBINE.
Untuk algoritma divide dan conquer yang menghasilkan submasalah-submasalah dengan tipe masalah yang sama dengan masalah awal, sangat alami untuk mendeskripsikan algoritma secara rekursi. Kemudian untuk meningkatkan efisiensi dilakukan penerjemahan menjadi bentuk iterasi.
Pemakaian teknik Divide dan Conquer banyak digunakan dalam menyelesaikan berbagai macam persoalan, antara lain :
1. Searching
2. Sorting
Sumber:
1. http://mita.staff.gunadarma.ac.id/Downloads/files/14268/Divide%26Conquer.doc (21 Mei 2010)
NPM : 10407571
Kelas : 3 Ib01 B
Mata Kuliah : Algoritma dan pemrograman
Algoritma Devide and Conquer
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.
1.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.
Divide and Conquer dulunya adalah strategi militer yang dikenal dengan nama divide ut imperes. Sekarang strategi tersebut menjadi strategi fundamental di dalam ilmu komputer dengan nama Divide and Conquer .
Definisi :
1.Divide: membagi masalah menjadi beberapa upa-masalah yang memiliki kemiripan dengan masalah semula namun berukuran lebih kecil (idealnya berukuran hampir sama),
2.Conquer: memecahkan (menyelesaikan) masing-masing upa-masalah (secara rekursif),
Obyek permasalahan yang dibagi :
masukan (input) atau instances yang berukuran n seperti:
- tabel (larik),
- matriks,
- eksponen,
- dll, bergantung pada masalahnya.
Tiap-tiap upa-masalah mempunyai karakteristik yang sama (the same type) dengan karakteristik masalah asal, sehingga metode Divide and Conquer lebih natural diungkapkan dalam skema rekursif.
2.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.
3.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.
Pembuat program bertanggung jawab atas implementasi solusi. Pembuatan program akan menjadi lebih sederhana jika masalah dapat dipecah menjadi sub masalah - sub masalah yang dapat dikelola.
Penyelesaian masalah dengan komputer berhadapan dengan 4 hal, yaitu :
1. Pemahaman keterhubungan elemen-elemen data yang relevan terhadap solusi secara menyeluruh.
2. Pengambilan keputusan mengenai operasi-operasi yang dilakukan terhadap elemen-elemen data.
3. Perancangan representasi elemen-elemen data di memori sehingga memenuhi kriteria berikut:
a. Memenuhi keterhubungan logik antara elemen-elemen data.
b. Operasi-operasi terhadap elemen-elemen data dapat dilakukan secara mudah dan efisien.
4. Pengambilan keputusan mengenai mengenai bahasa pemrograman terbaik untuk menerjemahkan solusi persoalan menjadi program.
Strategi Divide dan Conquer
Strategi Divide dan Conquer memecah masalah menjadi submasalah-submasalah independen yang lebih kecil sehingga solusi submasalah-submasalah dapat diperoleh secara mudah, solusi submasalah-submasalah digabung menjadi solusi seluruh masalah.
Skema umum algoritma divide dan conquer:
Procedure DNC ( i,j : integer )
Var K : integer ;
If SMALL (i,j) then SOLVE (i,j)
Else begin
K : = DIVIDE (i,j)
COMBINE (DNC(i,k),DNC(k+1,j))
End if
Keterangan:
1. SMALL adalah fungsi yang mengirim BOOLEAN, menentukan apakah ukuran telah cukup kecil sehingga solusi dapat diperoleh. Ukuran dinyatakan sebagai telah berukuran kecil bergantung masalah.
2. DIVIDE adalah fungsi membagi menjadi 2 bagian pada posisi K. Biasanya bagian berukuran sama.
3. COMBINE adalah fungsi menggabungkan solusi X dan Y submasalah. Solusi diperoleh dengan memanggil prosedur rekursif DNC.
Jika ukuran kedua submasalah sama, waktu komputasi DNC dideskripsikan hubungan rekuren berikut :
T(n) = g (n), n kecil
2 T (n/2) + f (n), selainnya
dimana :
• T(n) adalah waktu untuk DNC dengan n masukan,
• g(n) adalah waktu komputasi jawaban secara langsung untuk masukan kecil dan
• f(n) adalah waktu COMBINE.
Untuk algoritma divide dan conquer yang menghasilkan submasalah-submasalah dengan tipe masalah yang sama dengan masalah awal, sangat alami untuk mendeskripsikan algoritma secara rekursi. Kemudian untuk meningkatkan efisiensi dilakukan penerjemahan menjadi bentuk iterasi.
Pemakaian teknik Divide dan Conquer banyak digunakan dalam menyelesaikan berbagai macam persoalan, antara lain :
1. Searching
2. Sorting
Sumber:
1. http://mita.staff.gunadarma.ac.id/Downloads/files/14268/Divide%26Conquer.doc (21 Mei 2010)
TEKNIK SORTING
TEKNIK SORTING
Sorting memiliki kepentingan tambahan bagi perancang algoritma paralel; ia sering
digunakan untuk melakukan permutasi data umum pada komputer dengan memori
terdistribusi. Operasi pemidahan data ini dpt digunakan untuk menyelesaikan masalah pada:
• teori graf
• geometri komputasional
• image processing
dalam waktu optimal atau hampir optimal.
Algoritma yang akan dipelajari berikut merupakan internal sort - yaitu, tabel yang di-sort
cukup kecil untuk masuk seluruhnya di memori primer. Semua algoritma berikut ini juga
men-sort dengan membandingkan sepasang elemen.
ENUMERATION SORT
Asumsi:
• Tabel dengan n elemen: a0, a1, ..., an-1
• Untuk 2 elemen ai dan aj, salah satu kondisi ini pasti benar: ai < aj, ai = aj, atau ai > aj.
• Tujuan sorting: menemukan permutasi (p0, p1, ..., pn-1) sedemikian sehingga ap0 = ap1 = ...
= apn-1.
Enumeration sort:
• menghitung posisi akhir setiap elemen pada list yang di-sort dan membandingkannya
dengan elemen lain dan menghitung jumlah elemen yang memiliki nilai lebih kecil.
• Jika j elemen memiliki nilai lebih kecil dari ai, maka pj=i; yaitu, elemen ai adalah (j + 1)
elemen pada list yang di-sort setelah ap0, ..., apj-1.
• Jika diberikan n2 prosesor, model CRCW PRAM dapat menghitung setiap pasang elemen
dan menghitung posisi list setiap elemen dalam waktu konstan. Begitu mesin telah
menghitung posisi setiap elemen, diperlukan satu langkah lagi untuk memindahkan
elemen ybs ke lokasi yang telah urut.
ENUMERATION SORT (SPECIAL CRCW PRAM):
Parameter n {number of elements}
Global a[0...(n-1)] {elements to be sorted}
position[0...(n-1)] {sorted positions}
sorted[0...(n-1)] {Contains sorted elements}
begin
spawn(Pi,j, for all 0 = i, j < n)
for a ll Pi,j, where 0 = i, j < n do
position[i] 0
if a[i] < a[j] or (a[i] = a[j] and i < j) then
position[i] 1
endif
endfor
for a ll Pi,0, where 0 = i < n do
sorted[position[i]] a[i]
endfor
end
Satu set n elemen dapat di-sort dalam waktu T(log n) dengan n2 prosesor, jika dipakai model
PRAM CRCW dengan write simultan ke lokasi memori yang sama menyebabkan jumlah
nilai di-assign. Jika waktu yang diperlukan untuk spawn prosesor tidak dihitung, algoritma
berjalan dengan waktu konstan.
BATAS BAWAH UNTUK PARALLEL SORTING
Teorema 1:
Anggap ada n elemen yang akan di-sort pada array prosesor yang disusun menjadi mesh satu
dimensi. Juga asumsikan bahwa sebelum dan sesudah sort, elemen akan didistribusikan
merata, satu elemen per prosesor. Dengan demikian, batas bawah kompleksitas waktu pada
algoritma sorting yang mana pun adalah T(n).
Bukti:
Lebar biseksi dari jaringan mesh satu dimensi adalah 1. Misalkan posisi yang ter-sort dari
semua elemen yang pada awalnya ada pada satu sisi biseksi adalah pada sisi biseksi yang
lain, dan sebaliknya. Maka seluruh n elemen harus melewati satu link untuk mencapai sisi
yang lain. Karena link hanya dapat membawa satu elemen sekali, jumlah langkah yang
diperlukan untuk menukar elemen melalui biseksi paling tidak adalah sebesar n. Dengan
demikian, batas bawah kompleksitas jaringan mesh satu dimensi dengan syarat-syarat
tersebut adalah T(n).
Teorema 2:
Anggap ada n elemen yang akan di-sort pada array prosesor yang tersusun sebagai mesh dua
dimensi. Juga anggap bahwa sebelum dan sesudah sort, elemen-elemen tsb terdistribusi
merata, satu elemen per prosesor. Maka, batas bawah kompleksitas waktu untuk algoritma
sorting yang mana pun adalah T(vn).
Bukti:
Lebar biseksi jaringan mesh dua dimensi dengan n node adalah lebih kecil atau sama dengan
vn . Misalkan posisi ter-sort dari semua elemen yang pada awalnya ada pada satu sisi
biseksi adalah di sisi lain biseksi tsb, dan sebaliknya. Maka seluruh n elemen harus melalui
salah satu dari tidak lebih vn link untuk mencapai sisi lainnya. Karena satu link hanya
dapat membawa satu elemen sekali, jumlah langkah yang diperlukan untuk menukar elemen
melintasi biseksi paling tidak adalah n/ vn . Dengan demikian, batas bawah kompleksitas
array prosesor bagaimanapun yang disusun sebagai mesh dua dimensi dan berjalan dengan
ketentuan yang telah diberikan di atas adalah T(n/ vn ) = T(vn)
Teorema 3:
Anggap ada n = 2k elemen yang akan di-sort pada array prosesor yang tersusun sebagai
jaringan shuffle-exchange. Juga anggap bahwa sebelum dan sesudah sort, elemen
terdistribusi merata, satu elemen per prosesor. Batas bawah untuk algoritma sort mana pun
adalah T(log n).
Bukti:
Misalkan posisi ter-sort elemen yang pada awalnya berada pada node 0 adalah node n-1.
Pemindahan elemen tsb dari node 0 ke node n-1 menuntut paling tidak log n operasi
pertukaran dan paling tidak log n-1 operasi shuffle. Dengan alasan ini, batas bawah pada
algoritma sorting berbassis shuffle-exchange dengan batas-batas di atas adalah T(log n).
Sorting adalah proses menyusun elemen – elemen dengan tata urut tertentu dan
proses tersebut terimplementasi dalam bermacam aplikasi. Kita ambil contoh pada
aplikasi perbankan. Aplikasi tersebut mampu menampilkan daftar account yang aktif.
Hampir seluruh pengguna pada sistem akan memilih tampilan daftar berurutan
secara ascending demi kenyamanan dalam penelusuran data.
Beberapa macam algoritma sorting telah dibuat karena proses tersebut sangat
mendasar dan sering digunakan. Oleh karena itu, pemahaman atas algoritma –
algoritma yang ada sangatlah berguna.
Setelah menyelesaikan pembahasan pada bagian ini, anda diharapkan mampu :
1. Memahami dan menjelaskan algoritma dari insertion sort, selection sort,
merge sort dan quick sort.
2. Membuat implementasi pribadi menggunakan algoritma yang ada
6.2 Insertion Sort
Salah satu algoritma sorting yang paling sederhana adalah insertion sort. Ide dari
algoritma ini dapat dianalogikan seperti mengurutkan kartu. Penjelasan berikut ini
menerangkan bagaimana algoritma insertion sort bekerja dalam pengurutan kartu.
Anggaplah anda ingin mengurutkan satu set kartu dari kartu yang bernilai paling
kecil hingga yang paling besar. Seluruh kartu diletakkan pada meja, sebutlah meja
ini sebagai meja pertama, disusun dari kiri ke kanan dan atas ke bawah. Kemudian
kita mempunyai meja yang lain, meja kedua, dimana kartu yang diurutkan akan
diletakkan. Ambil kartu pertama yang terletak pada pojok kiri atas meja pertama
dan letakkan pada meja kedua. Ambil kartu kedua dari meja pertama, bandingkan
dengan kartu yang berada pada meja kedua, kemudian letakkan pada urutan yang
sesuai setelah perbandingan. Proses tersebut akan berlangsung hingga seluruh kartu
pada meja pertama telah diletakkan berurutan pada meja kedua.
Algoritma insertion sort pada dasarnya memilah data yang akan diurutkan menjadi
dua bagian, yang belum diurutkan (meja pertama) dan yang sudah diurutkan (meja
kedua). Elemen pertama diambil dari bagian array yang belum diurutkan dan
kemudian diletakkan sesuai posisinya pada bagian lain dari array yang telah
diurutkan. Langkah ini dilakukan secara berulang hingga tidak ada lagi elemen yang
tersisa pada bagian array yang belum diurutkan.
Selection Sort
Jika anda diminta untuk membuat algoritma sorting tersendiri, anda mungkin akan
menemukan sebuah algoritma yang mirip dengan selection sort. Layaknya insertion
sort, algoritma ini sangat rapat dan mudah untuk diimplementasikan.
Mari kita kembali menelusuri bagaimana algoritma ini berfungsi terhadap satu paket
kartu. Asumsikan bahwa kartu tersebut akan diurutkan secara ascending. Pada
awalnya, kartu tersebut akan disusun secara linier pada sebuah meja dari kiri ke
kanan, dan dari atas ke bawah. Pilih nilai kartu yang paling rendah, kemudian
tukarkan posisi kartu ini dengan kartu yang terletak pada pojok kiri atas meja. Lalu
cari kartu dengan nilai paling rendah diantara sisa kartu yang tersedia. Tukarkan
kartu yang baru saja terpilih dengan kartu pada posisi kedua. Ulangi langkah –
langkah tersebut hingga posisi kedua sebelum posisi terakhir dibandingkan dan
dapat digeser dengan kartu yang bernilai lebih rendah
Ide utama dari algoritma selection sort adalah memilih elemen dengan nilai paling
rendah dan menukar elemen yang terpilih dengan elemen ke-i. Nilai dari i dimulai
dari 1 ke n, dimana n adalah jumlah total elemen dikurangi 1.
Algoritma
void selectionSort(Object array[], int startIdx, int endIdx) {
int min;
for (int i = startIdx; i < endIdx; i++) {
min = i;
for (int j = i + 1; j < endIdx; j++) {
if (((Comparable)array[min]).compareTo(array[j])>0) {
min = j;
}
}
swap(array[min], array[i]);
Sorting memiliki kepentingan tambahan bagi perancang algoritma paralel; ia sering
digunakan untuk melakukan permutasi data umum pada komputer dengan memori
terdistribusi. Operasi pemidahan data ini dpt digunakan untuk menyelesaikan masalah pada:
• teori graf
• geometri komputasional
• image processing
dalam waktu optimal atau hampir optimal.
Algoritma yang akan dipelajari berikut merupakan internal sort - yaitu, tabel yang di-sort
cukup kecil untuk masuk seluruhnya di memori primer. Semua algoritma berikut ini juga
men-sort dengan membandingkan sepasang elemen.
ENUMERATION SORT
Asumsi:
• Tabel dengan n elemen: a0, a1, ..., an-1
• Untuk 2 elemen ai dan aj, salah satu kondisi ini pasti benar: ai < aj, ai = aj, atau ai > aj.
• Tujuan sorting: menemukan permutasi (p0, p1, ..., pn-1) sedemikian sehingga ap0 = ap1 = ...
= apn-1.
Enumeration sort:
• menghitung posisi akhir setiap elemen pada list yang di-sort dan membandingkannya
dengan elemen lain dan menghitung jumlah elemen yang memiliki nilai lebih kecil.
• Jika j elemen memiliki nilai lebih kecil dari ai, maka pj=i; yaitu, elemen ai adalah (j + 1)
elemen pada list yang di-sort setelah ap0, ..., apj-1.
• Jika diberikan n2 prosesor, model CRCW PRAM dapat menghitung setiap pasang elemen
dan menghitung posisi list setiap elemen dalam waktu konstan. Begitu mesin telah
menghitung posisi setiap elemen, diperlukan satu langkah lagi untuk memindahkan
elemen ybs ke lokasi yang telah urut.
ENUMERATION SORT (SPECIAL CRCW PRAM):
Parameter n {number of elements}
Global a[0...(n-1)] {elements to be sorted}
position[0...(n-1)] {sorted positions}
sorted[0...(n-1)] {Contains sorted elements}
begin
spawn(Pi,j, for all 0 = i, j < n)
for a ll Pi,j, where 0 = i, j < n do
position[i] 0
if a[i] < a[j] or (a[i] = a[j] and i < j) then
position[i] 1
endif
endfor
for a ll Pi,0, where 0 = i < n do
sorted[position[i]] a[i]
endfor
end
Satu set n elemen dapat di-sort dalam waktu T(log n) dengan n2 prosesor, jika dipakai model
PRAM CRCW dengan write simultan ke lokasi memori yang sama menyebabkan jumlah
nilai di-assign. Jika waktu yang diperlukan untuk spawn prosesor tidak dihitung, algoritma
berjalan dengan waktu konstan.
BATAS BAWAH UNTUK PARALLEL SORTING
Teorema 1:
Anggap ada n elemen yang akan di-sort pada array prosesor yang disusun menjadi mesh satu
dimensi. Juga asumsikan bahwa sebelum dan sesudah sort, elemen akan didistribusikan
merata, satu elemen per prosesor. Dengan demikian, batas bawah kompleksitas waktu pada
algoritma sorting yang mana pun adalah T(n).
Bukti:
Lebar biseksi dari jaringan mesh satu dimensi adalah 1. Misalkan posisi yang ter-sort dari
semua elemen yang pada awalnya ada pada satu sisi biseksi adalah pada sisi biseksi yang
lain, dan sebaliknya. Maka seluruh n elemen harus melewati satu link untuk mencapai sisi
yang lain. Karena link hanya dapat membawa satu elemen sekali, jumlah langkah yang
diperlukan untuk menukar elemen melalui biseksi paling tidak adalah sebesar n. Dengan
demikian, batas bawah kompleksitas jaringan mesh satu dimensi dengan syarat-syarat
tersebut adalah T(n).
Teorema 2:
Anggap ada n elemen yang akan di-sort pada array prosesor yang tersusun sebagai mesh dua
dimensi. Juga anggap bahwa sebelum dan sesudah sort, elemen-elemen tsb terdistribusi
merata, satu elemen per prosesor. Maka, batas bawah kompleksitas waktu untuk algoritma
sorting yang mana pun adalah T(vn).
Bukti:
Lebar biseksi jaringan mesh dua dimensi dengan n node adalah lebih kecil atau sama dengan
vn . Misalkan posisi ter-sort dari semua elemen yang pada awalnya ada pada satu sisi
biseksi adalah di sisi lain biseksi tsb, dan sebaliknya. Maka seluruh n elemen harus melalui
salah satu dari tidak lebih vn link untuk mencapai sisi lainnya. Karena satu link hanya
dapat membawa satu elemen sekali, jumlah langkah yang diperlukan untuk menukar elemen
melintasi biseksi paling tidak adalah n/ vn . Dengan demikian, batas bawah kompleksitas
array prosesor bagaimanapun yang disusun sebagai mesh dua dimensi dan berjalan dengan
ketentuan yang telah diberikan di atas adalah T(n/ vn ) = T(vn)
Teorema 3:
Anggap ada n = 2k elemen yang akan di-sort pada array prosesor yang tersusun sebagai
jaringan shuffle-exchange. Juga anggap bahwa sebelum dan sesudah sort, elemen
terdistribusi merata, satu elemen per prosesor. Batas bawah untuk algoritma sort mana pun
adalah T(log n).
Bukti:
Misalkan posisi ter-sort elemen yang pada awalnya berada pada node 0 adalah node n-1.
Pemindahan elemen tsb dari node 0 ke node n-1 menuntut paling tidak log n operasi
pertukaran dan paling tidak log n-1 operasi shuffle. Dengan alasan ini, batas bawah pada
algoritma sorting berbassis shuffle-exchange dengan batas-batas di atas adalah T(log n).
Sorting adalah proses menyusun elemen – elemen dengan tata urut tertentu dan
proses tersebut terimplementasi dalam bermacam aplikasi. Kita ambil contoh pada
aplikasi perbankan. Aplikasi tersebut mampu menampilkan daftar account yang aktif.
Hampir seluruh pengguna pada sistem akan memilih tampilan daftar berurutan
secara ascending demi kenyamanan dalam penelusuran data.
Beberapa macam algoritma sorting telah dibuat karena proses tersebut sangat
mendasar dan sering digunakan. Oleh karena itu, pemahaman atas algoritma –
algoritma yang ada sangatlah berguna.
Setelah menyelesaikan pembahasan pada bagian ini, anda diharapkan mampu :
1. Memahami dan menjelaskan algoritma dari insertion sort, selection sort,
merge sort dan quick sort.
2. Membuat implementasi pribadi menggunakan algoritma yang ada
6.2 Insertion Sort
Salah satu algoritma sorting yang paling sederhana adalah insertion sort. Ide dari
algoritma ini dapat dianalogikan seperti mengurutkan kartu. Penjelasan berikut ini
menerangkan bagaimana algoritma insertion sort bekerja dalam pengurutan kartu.
Anggaplah anda ingin mengurutkan satu set kartu dari kartu yang bernilai paling
kecil hingga yang paling besar. Seluruh kartu diletakkan pada meja, sebutlah meja
ini sebagai meja pertama, disusun dari kiri ke kanan dan atas ke bawah. Kemudian
kita mempunyai meja yang lain, meja kedua, dimana kartu yang diurutkan akan
diletakkan. Ambil kartu pertama yang terletak pada pojok kiri atas meja pertama
dan letakkan pada meja kedua. Ambil kartu kedua dari meja pertama, bandingkan
dengan kartu yang berada pada meja kedua, kemudian letakkan pada urutan yang
sesuai setelah perbandingan. Proses tersebut akan berlangsung hingga seluruh kartu
pada meja pertama telah diletakkan berurutan pada meja kedua.
Algoritma insertion sort pada dasarnya memilah data yang akan diurutkan menjadi
dua bagian, yang belum diurutkan (meja pertama) dan yang sudah diurutkan (meja
kedua). Elemen pertama diambil dari bagian array yang belum diurutkan dan
kemudian diletakkan sesuai posisinya pada bagian lain dari array yang telah
diurutkan. Langkah ini dilakukan secara berulang hingga tidak ada lagi elemen yang
tersisa pada bagian array yang belum diurutkan.
Selection Sort
Jika anda diminta untuk membuat algoritma sorting tersendiri, anda mungkin akan
menemukan sebuah algoritma yang mirip dengan selection sort. Layaknya insertion
sort, algoritma ini sangat rapat dan mudah untuk diimplementasikan.
Mari kita kembali menelusuri bagaimana algoritma ini berfungsi terhadap satu paket
kartu. Asumsikan bahwa kartu tersebut akan diurutkan secara ascending. Pada
awalnya, kartu tersebut akan disusun secara linier pada sebuah meja dari kiri ke
kanan, dan dari atas ke bawah. Pilih nilai kartu yang paling rendah, kemudian
tukarkan posisi kartu ini dengan kartu yang terletak pada pojok kiri atas meja. Lalu
cari kartu dengan nilai paling rendah diantara sisa kartu yang tersedia. Tukarkan
kartu yang baru saja terpilih dengan kartu pada posisi kedua. Ulangi langkah –
langkah tersebut hingga posisi kedua sebelum posisi terakhir dibandingkan dan
dapat digeser dengan kartu yang bernilai lebih rendah
Ide utama dari algoritma selection sort adalah memilih elemen dengan nilai paling
rendah dan menukar elemen yang terpilih dengan elemen ke-i. Nilai dari i dimulai
dari 1 ke n, dimana n adalah jumlah total elemen dikurangi 1.
Algoritma
void selectionSort(Object array[], int startIdx, int endIdx) {
int min;
for (int i = startIdx; i < endIdx; i++) {
min = i;
for (int j = i + 1; j < endIdx; j++) {
if (((Comparable)array[min]).compareTo(array[j])>0) {
min = j;
}
}
swap(array[min], array[i]);
Senin, 19 April 2010
Spanning Tree
Sabtu, 17 April 2010
teknik searching
Teknik Searching 1
Mungkin seluruh atau sebahagian dari kita selalu bergantung dengan search engine untuk mendapatkan informasi, berita, software gratis dan lain sebagainya. Tapi masih sangat sedikit yang mengerti searching yang baik. Ok mari kita mulai, bahawa dalam searching kita mengenal beberapa search engine salah satunya Google. Beberapa search engine mengenal karakter seperti +, - dan ". Tetapi masih banyak yang belum tahu mengenai karakter tersebut. Saya akan menggunakan mode Tanya jawab dalam menjelaskan hal tersebut.
Karakter Matematika.
# Tanda (+)
Ingin mencari artikel yang didalamnya terkandung kata hacking,security dan internet.
Anda dapat mengetikkan kata disearch engine : +hacking +security +internet Jika terdapat artikel yang memuat salah satu atau dua kata tersebut diatas tidak akan ditampilkan hanya artikel yang memuat tiga kata tersebut yang di tampilkan . Tanda + dibaca oleh search engine sebagai DAN symbol ini dapat dipakai sebanyak-banyaknya misalnya: +harga +komputer murah +untuk +wilayah +medan. Dan sebagai nya.
# Tanda (-)
Ingin mencari artikel yang didalamnya terkandung kata statistic penduduk kg baru kecuali lama.Ketik di search engine : +statistic +penduduk +kg baru -lama. Search engine yang bersangkutan akan mencari di internet artikel yan mengandung kata Statistik penduduk kg baru tetapi tidak terdapat kata lama. Atau seperti ini +tempat +wisata +bali -kuta. Maka search engine akan menampilkan artikel tentang tempat wisata di bali dan pada artikel tersebut tidak terdapat kata kuta. Tanda - dibaca oleh search engine sebagai KECUALI.
# Tanda (")
Ingin mencari artikel di internet yang didalamnya terdapat kata hacking dan security dan kata tersebut tidak dipisahkan oleh kata-kata yang lain. Klik di search engine : "hacking dan security" maka search engine yang bersangkuta akan mencari kata hacking dan security yang katanya tidak dipisah kan oleh kata-kata lain. Apabila ada artikel yang mengandung kata hacking dan security yang katanya dipisah kan
oleh kata-kata lain maka artikel tersebut tidak ditampilkan oleh search engine yang bersangkutan.
Dan anda dapat juga menggabungkan ketiga karakter tersebut tersebut seperti contoh berikut ini: +kuliah +"ilmu komputer" -bayar
Search engine akan mencari artikel di internet yang terdapat kata kuliah ilmu komputer kata ilmu komputer tidak akan dipisah kan oleh kata lain dan tidak akan menampilkan artikel tersebut bila terdapat kata bayar. Perlu di ingat bahwa penggunaan spasi untuk memisah kan antara kata-kata yang kita cari, spasi tersebut akaan dibaca ATAU contoh Ketik di search engine : ilmu komputer
Maka search engine akan menampilkan web yang mengandung kata ilmu atau komputer atau yang mengandung kata kedua-dua nya
Simbol Bolean
Seperti yang kita ketahui symbol bolean adalah kata-kata OR, AND dan NOT. Kita dapat menggunakan symbol tersebut dalam mencari informasi di internet.
# Bolean OR
Pada dasar nya symbol bolean OR sama seperti apabila kita menggunakan spasi contoh :
ilmu OR komputer
Search engine akan menampilkan web yang mengandung kata ilmu atau kata komputer atau kedua-duanya.
# Bolean AND
Penggunaan bolean AND sama dengan karakter/tanda + Contioh : ilmu AND komputer
Search engine akan menampilkan web yang mengandung kata ilmu komputer apabila tidak terdapat salah satu dari kata tersebut tidak akan di tampilkan.
# Bolean NOT
Penggunaan bolean NOT sama dengan tanda (- ) contoh saya akan mencari infor- masi tentang statistic penduduk di sumater tetapi tidak termasuk medan.
Ketik di sdearch engine : Statistik AND penduduk AND sumater NOT medan search engine akan menampilkan web yang berisi kata statistic penduduk sumatera tetapi tidak terdapat kata medan.
# Bolean NEAR
Contoh : saya ingin mencari kata ilmu komputeryang jarak antara kata tersebut berdekatan.
Ketik di search engine : ilmu NEAR komputer maka search engine akan menampilkan web yang berisi kata ilmu komputer yang jarak antara kedua kata tersebut berdekatan.
Penggunaan Bolean tersebut diatas dapat juga digabungkan contoh Saya ingin mencari definisi dari kata cinta atau kasih maka dapat di klik di search engine : definisi AND (cinta OR kasih) Search engine akan menampilkan web yang mengandung kata defini cinta atau definisi kasih
Sumber : http://thalz142.blogspot.com/2006/07/teknik-search-engine.html
Mungkin seluruh atau sebahagian dari kita selalu bergantung dengan search engine untuk mendapatkan informasi, berita, software gratis dan lain sebagainya. Tapi masih sangat sedikit yang mengerti searching yang baik. Ok mari kita mulai, bahawa dalam searching kita mengenal beberapa search engine salah satunya Google. Beberapa search engine mengenal karakter seperti +, - dan ". Tetapi masih banyak yang belum tahu mengenai karakter tersebut. Saya akan menggunakan mode Tanya jawab dalam menjelaskan hal tersebut.
Karakter Matematika.
# Tanda (+)
Ingin mencari artikel yang didalamnya terkandung kata hacking,security dan internet.
Anda dapat mengetikkan kata disearch engine : +hacking +security +internet Jika terdapat artikel yang memuat salah satu atau dua kata tersebut diatas tidak akan ditampilkan hanya artikel yang memuat tiga kata tersebut yang di tampilkan . Tanda + dibaca oleh search engine sebagai DAN symbol ini dapat dipakai sebanyak-banyaknya misalnya: +harga +komputer murah +untuk +wilayah +medan. Dan sebagai nya.
# Tanda (-)
Ingin mencari artikel yang didalamnya terkandung kata statistic penduduk kg baru kecuali lama.Ketik di search engine : +statistic +penduduk +kg baru -lama. Search engine yang bersangkutan akan mencari di internet artikel yan mengandung kata Statistik penduduk kg baru tetapi tidak terdapat kata lama. Atau seperti ini +tempat +wisata +bali -kuta. Maka search engine akan menampilkan artikel tentang tempat wisata di bali dan pada artikel tersebut tidak terdapat kata kuta. Tanda - dibaca oleh search engine sebagai KECUALI.
# Tanda (")
Ingin mencari artikel di internet yang didalamnya terdapat kata hacking dan security dan kata tersebut tidak dipisahkan oleh kata-kata yang lain. Klik di search engine : "hacking dan security" maka search engine yang bersangkuta akan mencari kata hacking dan security yang katanya tidak dipisah kan oleh kata-kata lain. Apabila ada artikel yang mengandung kata hacking dan security yang katanya dipisah kan
oleh kata-kata lain maka artikel tersebut tidak ditampilkan oleh search engine yang bersangkutan.
Dan anda dapat juga menggabungkan ketiga karakter tersebut tersebut seperti contoh berikut ini: +kuliah +"ilmu komputer" -bayar
Search engine akan mencari artikel di internet yang terdapat kata kuliah ilmu komputer kata ilmu komputer tidak akan dipisah kan oleh kata lain dan tidak akan menampilkan artikel tersebut bila terdapat kata bayar. Perlu di ingat bahwa penggunaan spasi untuk memisah kan antara kata-kata yang kita cari, spasi tersebut akaan dibaca ATAU contoh Ketik di search engine : ilmu komputer
Maka search engine akan menampilkan web yang mengandung kata ilmu atau komputer atau yang mengandung kata kedua-dua nya
Simbol Bolean
Seperti yang kita ketahui symbol bolean adalah kata-kata OR, AND dan NOT. Kita dapat menggunakan symbol tersebut dalam mencari informasi di internet.
# Bolean OR
Pada dasar nya symbol bolean OR sama seperti apabila kita menggunakan spasi contoh :
ilmu OR komputer
Search engine akan menampilkan web yang mengandung kata ilmu atau kata komputer atau kedua-duanya.
# Bolean AND
Penggunaan bolean AND sama dengan karakter/tanda + Contioh : ilmu AND komputer
Search engine akan menampilkan web yang mengandung kata ilmu komputer apabila tidak terdapat salah satu dari kata tersebut tidak akan di tampilkan.
# Bolean NOT
Penggunaan bolean NOT sama dengan tanda (- ) contoh saya akan mencari infor- masi tentang statistic penduduk di sumater tetapi tidak termasuk medan.
Ketik di sdearch engine : Statistik AND penduduk AND sumater NOT medan search engine akan menampilkan web yang berisi kata statistic penduduk sumatera tetapi tidak terdapat kata medan.
# Bolean NEAR
Contoh : saya ingin mencari kata ilmu komputeryang jarak antara kata tersebut berdekatan.
Ketik di search engine : ilmu NEAR komputer maka search engine akan menampilkan web yang berisi kata ilmu komputer yang jarak antara kedua kata tersebut berdekatan.
Penggunaan Bolean tersebut diatas dapat juga digabungkan contoh Saya ingin mencari definisi dari kata cinta atau kasih maka dapat di klik di search engine : definisi AND (cinta OR kasih) Search engine akan menampilkan web yang mengandung kata defini cinta atau definisi kasih
Sumber : http://thalz142.blogspot.com/2006/07/teknik-search-engine.html
SPANNING TREE
NAMA : MUDESTY ASTUTI
NPM : 10407571
KELAS : 3IB01B
SPANNING TREE
EDGE COST SPANNING TREE
C-D 2
D-E 4
B-C 5
A-B 10
E-F 10
+
TOTAL 31
Minggu, 28 Maret 2010
bahasa pemograman
Macam-macam bahasa pemograman
Secara Umum terdapat 4 kelompok bahasa pemrograman yaitu :
1. Object Oriented Language (Visual dBase, Visual FoxPro, Dephi, Visual C)
2. high level (Seperti Pascal dan Basic),
3. middle level (Seperti Bahasa C), dan
4. low level (Seperti Bahasa Assembly).
a.Delphi
Borland Delphi atau biasa disebut Delphi saja, merupakan sarana pemrograman aplikasi visual. Bahaa pemrograman yang disunakan adalah bahasa pemrograman Pascal atau yang kemudian disebut bahsa pemrograman Delphi. Delphi merupakan generasi penerus dari Turbo Pascal. Turbo Pascal yang diluncurkan pada tahun 1983 dirancang untuk dijalankan pada sistem operasi DOS ( yang merupakan sistem operasi yang paling banyak disunakan pada saat itu ). Sedangkan Delphi yang diluncurkan pertama kali tahun 1995 dirancang untuk beroperasi dibawah sistem operasi Windows.
Borland Delphi merupakan salah satu bahasa pemrograman yang semenjak diluncurkan pertama kali langsung dilirik dan diminati oleh para programmer komputer. Hal ini disebabakan karena Delphi menyediakan fasilitas untuk pembuatan aplikasi dengan antarmuka visual secara mudah dan dapat memberikan hasil yang memuaskan.
Pada Delphi terdapat 2 macam struktur yaitu struktur projrk dan struktur unit program Delphi.
Struktur Projek
Pada suatu projek yang anada bangun, terdapat sebuah file program utama yang berisi kode program untuk pengelolaan unit – unit. Kode program utama ini biasa juga disebut kode projek dan disimpan dalam file berekstensi .DPR.
Struktur Unit
Sebuah unit berisitipe-tipe, konstanmta-konstanta, variabel dan rutin (fungsi dari prosedur). Setiap unit didefinisikan dalaqm file .PAS yang menangani unit tersebut.
Kelebihan :
1). Sifatnya freeware
2). Dikembangkan dengan bahasa Pascal, sehingga pagi pengguna yang terbiasa dengan dasar pemrograman turbo Pascal akan lebih familiar.
3). Komponen yang disediakan sudah cukup lengkap tanpa harus add component dari sumber lain.
4). Dokumentasi cukup lengkap.
Kelemahan :
1). Pengguna yang tidak memiliki dasar pemrograman dengan bahasa Pascal akan mengalami kesulitan untuk pertama kalinya.
2). Setiap komponen yang dimasukkan dalam form tampilan, akan diikutsertakan kode deklarasi dan inisialisasinya dalam list code. Sehingga apabila terjadi perubahan komponen, penamaan maupun kesalahan penulisan kode, program tidak mau membetulkan otomatis.
3). Apabila terdapat form/list code lain yang di-include-kan, harus dituliskan code/nama dari form/lost code di bagian “uses” dan juga inisialisasi variablenya.
b.Bahasa C
Akar dari bahasa C adalah bahasa BCPL yang dikembangkan oleh Martin Richard pada tahun 1967. Bahasa ini memberikan ide kepada Ken Thompson yang kemudian mengembangkan bahasa yang disebut dengan B pada tahun 1970. Perkembangan selanjutnya dari bahasa B adalah bahasa C oleh Dennis Ricthie sekitar tahun 1972-an di Bell Telephone Laboratories Inc.( sekarang adalah AT&T Bell Laboratories).
Kelebihan Bahasa C :
Beberapa alasan mengapa bahasa C banyak digunakan, diantaranya adalah sebagai berikut :
1. Bahasa C tersedia hampir di semua jenis komputer
2. Kode bahasa C sifatnya adalah portabel
Aplikasi yang ditulis dengan bahasa C untuk suatu komputer tertentu dapat digunakan di komputer lain hanya dengan sedikit modifikasi.
3. Bahasa C hanya menyediakan sedikit kata-kata kunci
4. Proses executable program bahasa C lebih cepat
5. Dukungan pustaka yang banyak
Keandalan bahasa C dicapai dengan adanya fungsi-fungsi pustaka.
6. C adalah bahasa yang terstruktur
Bahasa C mempunyai struktur yang baik sehingga mudah untuk dipahami. C mempunyai
fungsi-fungsi sebagai program bagiannya.
7. Selain bahasa tingkat tinggi, C juga dianggap sebagai bahasa tingkat menengah.
Bahasa C mampu menggabungkan kemampuan bahasa tingkat tingkat tinggi dengan bahasa tingkat tingkat rendah.
8. Bahasa C adalah kompiler
Karena C sifatnya adalah kompiler, maka akan menghasilkan executable program yang banyak dibutuhkan oleh program-program komersial.
Selain alasan tersebut ada beberapa alasan lain mengapa menggunakan bahasa C, yaitu:
a. C adalah bahasa pemrograman yang memiliki portabilitas tinggi.
Program C yang kita tulis untuk satu jenis platform, bisa kita kompile dan jalankan di platform lain dengan tanpa ataupun hanya sedikit perubahan. Ini bisa diwujudkan dengan adanya standarisasi ANSI untuk C.
b. C adalah bahasa pemrograman dengan kata kunci (keyword) sedikit.
Kata kunci disini adalah merupakan fungsi ataupun kata dasar yang disediakan oleh kompiler suatu bahasa pemrograman. Hal ini membawa pengaruh semakin mudahnya kita menulis program dengan bahasa tingkat rendah. Pengaruh lain dari sedikitnya kata kunci ini adalah proses eksekusi program C yang sangat cepat.
Adapun kekurangan yang biasa di Bahasa C antara lain :
1. Banyaknya Operator serta fleksibilitas penulisan program kadang-kadang membingungkan pemakai.
2. Bagi pemula pada umumnya akan kesulitan menggunakan pointer.
Struktur Program Bahasa C adalah :
Main ()
{
Statemen_1;
Statemen_2;
…… FungsiUtama
Statemen_n;
}
____________________________
Fungsi_lain()
{
Stetemen_stetemen; Fungsi_fungsi lain yang ditulis oleh pemrograman komputer
}
Struktur Program C Prepocessor Directive
#include ---------------------- > Prepocesor directive
Fungsi_lain ( ) ; ---------------------- > Prototype fungsi lain
Main ( )
{
//statemen; ---------------------- > Fungsi Utama
}
___________________
Fungsi_lain ( )
{
//statemen; ----------------------- > Fungsi Lain
}
Keterangan :
1. Dimulai dari tanda { hingga tanda } disebut tubuh fungsi / blok.
2. Tanda ( ) digunakan untuk mengapit argumen fungsi, yaitu nilai yang dilewatkan ke fungsi.
Pada fungsi main( ) tidak ada argumen yang diberikan, maka tidak ada entri di dalam ( ).
3. Kata void menyatakan bahwa fungsi ini tidak memiliki nilai balik.
4. Tanda { menyatakan awal eksekusi program dan tanda } menyatakan akhir eksekusi program.
5. Didalam tanda { } bisa tergantung sejumlah unit yang disebut pernyataan (statemen).
Umumnya pernyataan berupa instruksi untuk :
a. Memerintah komputer melakukan proses menampilkan string ke layar.
b. Menghitung operasi matematika.
c. Membaca data dari keyboard.
d. dll.
c.Visual Basic
Visual Basic 6 merupakan salah satu tool untuk pengembangan aplikasi yang banyak diminati oleh orang. Di sini Visual Basic 6 menawarkan kemudahan dalam pembuatan aplikasi dan dapat menggunakan komponen-komponen yang telah disediakan. Untuk memulai Visual Basic 6 anda perlu menginstall Visual Basic 6.0. Program ini biasanya dalam satu paket dengan Visual Studio 6.0. Dengan menggunakan Visual Basic 6 kita bisa menghasilkan berbagai macam jenis program. Dari aplikasi yang mengintegrasikan database, jaringan, office automation, dan web application.
Keuntungan Visual basic:
- Bahasa yang sederhana. Banyak hal yang mungkin sulit dilakukan jika kita menggunakan bahasa pemrograman lainnya, akan dapat dilakukan dengan mudah dengan menggunakan Visual basic.
- Karena Visual basic sangat populer, maka sangat banyak sumber-sumber yang dapat kita gunakan untuk belajar dan mengembangkan kemampuan kau baik berupa buku, web site dll
- Kita bisa memperoleh banyak tools baik gratis maupun tidak di Internet yang akan sangat membantu menghemat waktu kita dalam pemrograman.
Kekurangan Visual basic:
- Visual Basic adalah bahasa pemrograman yang powerful, tetapi sebenarnya tidak terlalu bagus untuk membuat game-game yang benar-benar memuaskan.
- Lebih lambat dibandingkan bahasa pemrograman lain.
d.Pascal
- Dirancang oleh Prof. Nicklaus Wirth dari Technical University di Zurich, Switzerlandtahun 1971.
-Nama Pascal berasal dari Blaise Pascal, nama ahli matematika dan philosopi dari Perancis (abad 17).
-Pengembangan dari bahasa Algol 60 dan Algol W (turunan Algol 60).
-Memiliki beberapa versi, seperti : Turbo Pascal, Ms Pascal (Microsoft), Apple Pascal,UCSD (University of California at San Diego Pascal), dll.
-Turbo Pascal yang dibuat oleh Borland Inc. adalah versi yang paling banyak digunakan karena menggunakan Compiler untuk menterjemahkannya dan juga mengikuti standard bahasa Pascal yang dibuat oleh Nicklaus Wirth dan K. Jensen.
-Pascal merupakan bahasa pemrograman tingkat tinggi (high level language) dan terstruktur (Structured Programming language).
Bahasa Pascal, secara garis besar mempunyai struktur sebagai berikut :
1. Judul program,
2. Blok program yang terdiri dari :
a. Bagian deklarasi, meliputi :
- deklarasi label,
- deklarasi konstanta,
- deklarasi tipe,
- deklarasi variabel,
- deklarasi prosedur dan/atau fungsi.
b. Bagian pernyataan, berisi perintah-perintah.
Latihan Pascal : Perulangan dan Seleksi Kondisi I – 2
Untuk lebih jelas memahami struktur program Pascal, perhatikan contoh program
berikut ini :
program Struktur_Pascal; { judul program }
label { deklarasi label }
ulang;
const { deklarasi konstanta }
bahasa = 'Pascal';
versi = 1.9;
type { deklarasi tipe }
tipeku = integer;
var { deklarasi variabel }
A : tipeku;
procedure Tulis; { deklarasi prosedur }
begin
Writeln('Latihan Pascal 1: Perulangan dan Seleksi Kondisi');
Writeln('------------------------------------------------');
Writeln;
Writeln('Halo,saya sedang belajar bahasa ',bahasa,' versi ',versi);
end;
begin { bagian pernyataan }
Tulis;
Readln;
end.
Kelebihan :
Bahasa Pascal adalah bahasa pemrograman tingkat tinggi (high level language) yang cukup populer, khususnya di Indonesia. Hal ini disebabkan bahasa Pascal lebih mudah dipahami dibanding bahasa pemrograman lainnya, seperti bahasa C, bahasa assembler, dan lain sebagainya. Selain itu, bahasa Pascal adalah bahasa pemrograman yang terstruktur dan lebih mendekati bahasa manusia (bahasa Inggris) sehingga sangat cocok diterapkan dalam dunia pendidikan.
Kekurangan:
Tidak fleksibel penggunaannya.
Bahasa Pemrograman Dibawah ini biasa digunakan untuk pemrograman Web :
d.HTML
HyperText Markup Language (HTML) adalah sebuah bahasa markup yang digunakan untuk membuat sebuah halaman web dan menampilkan berbagai informasi di dalam sebuah browser Internet. HTML saat ini merupakan standar Internet yang didefinisikan dan dikendalikan penggunaannya oleh World Wide Web Consortium (W3C). HTML berupa kode-kode tag yang menginstruksikan browser untuk menghasilkan tampilan sesuai dengan yang diinginkan. Sebuah file yang merupakan file HTML dapat dibuka dengan menggunakan browser web seperti Mozilla Firefox atau Microsoft Internet Explorer.
e.PHP
PHP adalah bahasa pemrograman script yang paling banyak dipakai saat ini. PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada waktu itu PHP masih bernama FI (Form Interpreted), yang wujudnya berupa sekumpulan script yang digunakan untuk mengolah data form dari web.PHP banyak dipakai untuk membuat situs web yang dinamis, walaupun tidak tertutup kemungkinan digunakan untuk pemakaian lain. PHP biasanya berjalan pada sistem operasi linux (PHP juga bisa dijalankan dengan hosting windows).
f.ASP
ASP adalah singkatan dari Active Server Pages yang merupakan salah satu bahasa pemograman web untuk menciptakan halaman web yang dinamis. ASP merupakan salah satu produk teknologi yang disediakan oleh Microsoft. ASP bekerja pada web server dan merupakan server side scripting.
g.XML
Extensible Markup Language (XML) adalah bahasa markup serbaguna yang direkomendasikan W3C untuk mendeskripsikan berbagai macam data. XML menggunakan markup tags seperti halnya HTML namun penggunaannya tidak terbatas pada tampilan halaman web saja. XML merupakan suatu metode dalam membuat penanda/markup pada sebuah dokumen.
h.WML
WML adalah kepanjangan dari Wireless Markup Language, yaitu bahasa pemrograman yang digunakan dalam aplikasi berbasis XML (eXtensible Markup Langauge). WML ini adalah bahasa pemrograman yang digunakan dalam aplikasi wireless. WML merupakan analogi dari HTML yang berjalan pada protocol nirkabel.
i.PERL
Perl adalah bahasa pemrograman untuk mesin dengan sistem operasi Unix (SunOS, Linux, BSD, HP-UX), juga tersedia untuk sistem operasi seperti DOS, Windows, PowerPC, BeOS, VMS, EBCDIC, dan PocketPC. PERL merupakan bahasa pemograman yang mirip bahasa pemograman C.
j.CFM
CFM dibuat menggunakan tag ColdFusion dengan software Adobe ColdFusion / BlueDragon / Coldfusion Studio. Syntax coldfusion berbasis html.
k.JAVA
Java adalah sebuah teknologi yang diperkenalkan oleh Sun Microsystems pada pertengahan tahun 1990. Menurut definisi dari Sun, Java adalah nama untuk sekumpulan teknologi untuk membuat dan menjalankan perangkat luinak pada komputer standalone ataupun pada lingkungan jaringan. Kita lebih menyukai menyebut Java sebagai sebuah teknologi dibanding hanya sebuah bahasa pemrograman, karena Java lebih lengkap dibanding sebuah bahasa pemrograman konvensional. Teknologi Java memiliki tiga komponen penting, yaitu:
• Programming-language specification
• Application-programming interface
• Virtual-machine specification
Bahasa Java dapat dikategorikan sebagai sebuah bahasa pemrograman berorientasi objek, pemrograman terdistribusi dan bahasa pemrograman multithrreaded . Objek Java dispesifikasi dengan membentuk kelas. Untuk masing-masing kelas Java, kompiler Java memproduksi sebuah file keluaran arsitektur netral yang akan jalan pada berbagai implementasi dari Java Virtual Machine (JVM). Awalnya Java sangat digemari oleh komunitas pemrograman internet, karena Java mendukung untuk applets , dimana program dengan akses sumber daya terbatas yang jalan dalam sebuah web browser. Java juga menyediakan dukungan level tinggi untuk networking dan objek terdistribusi. Java juga dianggap sebagai sebuah bahasa yang aman. Tampilan ini pada khususnya penting menganggap bahwa sebuah program Java boleh mengeksekusi silang sebuah jaringan terdistribusi. Sehingga bahasa Java saat ini termasuk bahasa pemrograman yang relatif mudah untuk dipelajari karena banyaknya contoh dan konsep yang beredar luas, baik berupa buku maupun di internet. Tetapi program yang dibuat dalam bahasa Java juga relatif lebih banyak membutuhkan waktu saat di eksekusi (lebih lama) dikarenakan untuk menjalankan
programnya dibutuhkan JVM (perantara antar program dan sistem operasi).
l.CSS
Cascading Style Sheets (CSS) adalah suatu bahasa stylesheet yang digunakan untuk mengatur tampilan suatu dokumen yang ditulis dalam bahasa markup. Penggunaan yang paling umum dari CSS adalah untuk memformat halaman web yang ditulis dengan HTML dan XHTML. Walaupun demikian, bahasanya sendiri dapat dipergunakan untuk semua jenis dokumen XML termasuk SVG dan XUL. Spesifikasi CSS diatur oleh World Wide Web Consortium (W3C).
Referensi :
http://www.ruzman.co.tv/2009/06/macam-macam-bahasa-pemrograman.html
http://www.bankriau.co.id/forum/viewtopic.php?p=1214
poss.ipb.ac.id/.../JENI-Intro1-Bab02-Pengenalan%20Bahasa%20JAVA.pdf
bebas.vlsm.org/v06/Kuliah/SistemOperasi/.../04._Bahasa_Java-1.pdf
http://mahdiannoor.student.umm.ac.id/2010/01/23/pemrograman-dengan-java/
http://www.findtoyou.com/ebook/cara+penggunaan+turbo+c.html
http://www.findtoyou.com/ebook/download-visual+basic-515129.html
http://prothelon.com/mambo/dasar-dasar-vb-1-apa-itu-vb-visual-basic- .html
http://id.answers.yahoo.com/question/index?qid=20091208040923AAoJwuL
Pemrograman Borland Delphi 7.0, Penerbit Andi Wahana Komputer
http://mic.ac.id/artikel/pascal_D3.pdf
http://sman1bukittinggi.sch.id/download/latihan_fpc.pdf
http://download.evopage.com/vb6/Visual%20Basic %206.0%20skripsi.pdf
Secara Umum terdapat 4 kelompok bahasa pemrograman yaitu :
1. Object Oriented Language (Visual dBase, Visual FoxPro, Dephi, Visual C)
2. high level (Seperti Pascal dan Basic),
3. middle level (Seperti Bahasa C), dan
4. low level (Seperti Bahasa Assembly).
a.Delphi
Borland Delphi atau biasa disebut Delphi saja, merupakan sarana pemrograman aplikasi visual. Bahaa pemrograman yang disunakan adalah bahasa pemrograman Pascal atau yang kemudian disebut bahsa pemrograman Delphi. Delphi merupakan generasi penerus dari Turbo Pascal. Turbo Pascal yang diluncurkan pada tahun 1983 dirancang untuk dijalankan pada sistem operasi DOS ( yang merupakan sistem operasi yang paling banyak disunakan pada saat itu ). Sedangkan Delphi yang diluncurkan pertama kali tahun 1995 dirancang untuk beroperasi dibawah sistem operasi Windows.
Borland Delphi merupakan salah satu bahasa pemrograman yang semenjak diluncurkan pertama kali langsung dilirik dan diminati oleh para programmer komputer. Hal ini disebabakan karena Delphi menyediakan fasilitas untuk pembuatan aplikasi dengan antarmuka visual secara mudah dan dapat memberikan hasil yang memuaskan.
Pada Delphi terdapat 2 macam struktur yaitu struktur projrk dan struktur unit program Delphi.
Struktur Projek
Pada suatu projek yang anada bangun, terdapat sebuah file program utama yang berisi kode program untuk pengelolaan unit – unit. Kode program utama ini biasa juga disebut kode projek dan disimpan dalam file berekstensi .DPR.
Struktur Unit
Sebuah unit berisitipe-tipe, konstanmta-konstanta, variabel dan rutin (fungsi dari prosedur). Setiap unit didefinisikan dalaqm file .PAS yang menangani unit tersebut.
Kelebihan :
1). Sifatnya freeware
2). Dikembangkan dengan bahasa Pascal, sehingga pagi pengguna yang terbiasa dengan dasar pemrograman turbo Pascal akan lebih familiar.
3). Komponen yang disediakan sudah cukup lengkap tanpa harus add component dari sumber lain.
4). Dokumentasi cukup lengkap.
Kelemahan :
1). Pengguna yang tidak memiliki dasar pemrograman dengan bahasa Pascal akan mengalami kesulitan untuk pertama kalinya.
2). Setiap komponen yang dimasukkan dalam form tampilan, akan diikutsertakan kode deklarasi dan inisialisasinya dalam list code. Sehingga apabila terjadi perubahan komponen, penamaan maupun kesalahan penulisan kode, program tidak mau membetulkan otomatis.
3). Apabila terdapat form/list code lain yang di-include-kan, harus dituliskan code/nama dari form/lost code di bagian “uses” dan juga inisialisasi variablenya.
b.Bahasa C
Akar dari bahasa C adalah bahasa BCPL yang dikembangkan oleh Martin Richard pada tahun 1967. Bahasa ini memberikan ide kepada Ken Thompson yang kemudian mengembangkan bahasa yang disebut dengan B pada tahun 1970. Perkembangan selanjutnya dari bahasa B adalah bahasa C oleh Dennis Ricthie sekitar tahun 1972-an di Bell Telephone Laboratories Inc.( sekarang adalah AT&T Bell Laboratories).
Kelebihan Bahasa C :
Beberapa alasan mengapa bahasa C banyak digunakan, diantaranya adalah sebagai berikut :
1. Bahasa C tersedia hampir di semua jenis komputer
2. Kode bahasa C sifatnya adalah portabel
Aplikasi yang ditulis dengan bahasa C untuk suatu komputer tertentu dapat digunakan di komputer lain hanya dengan sedikit modifikasi.
3. Bahasa C hanya menyediakan sedikit kata-kata kunci
4. Proses executable program bahasa C lebih cepat
5. Dukungan pustaka yang banyak
Keandalan bahasa C dicapai dengan adanya fungsi-fungsi pustaka.
6. C adalah bahasa yang terstruktur
Bahasa C mempunyai struktur yang baik sehingga mudah untuk dipahami. C mempunyai
fungsi-fungsi sebagai program bagiannya.
7. Selain bahasa tingkat tinggi, C juga dianggap sebagai bahasa tingkat menengah.
Bahasa C mampu menggabungkan kemampuan bahasa tingkat tingkat tinggi dengan bahasa tingkat tingkat rendah.
8. Bahasa C adalah kompiler
Karena C sifatnya adalah kompiler, maka akan menghasilkan executable program yang banyak dibutuhkan oleh program-program komersial.
Selain alasan tersebut ada beberapa alasan lain mengapa menggunakan bahasa C, yaitu:
a. C adalah bahasa pemrograman yang memiliki portabilitas tinggi.
Program C yang kita tulis untuk satu jenis platform, bisa kita kompile dan jalankan di platform lain dengan tanpa ataupun hanya sedikit perubahan. Ini bisa diwujudkan dengan adanya standarisasi ANSI untuk C.
b. C adalah bahasa pemrograman dengan kata kunci (keyword) sedikit.
Kata kunci disini adalah merupakan fungsi ataupun kata dasar yang disediakan oleh kompiler suatu bahasa pemrograman. Hal ini membawa pengaruh semakin mudahnya kita menulis program dengan bahasa tingkat rendah. Pengaruh lain dari sedikitnya kata kunci ini adalah proses eksekusi program C yang sangat cepat.
Adapun kekurangan yang biasa di Bahasa C antara lain :
1. Banyaknya Operator serta fleksibilitas penulisan program kadang-kadang membingungkan pemakai.
2. Bagi pemula pada umumnya akan kesulitan menggunakan pointer.
Struktur Program Bahasa C adalah :
Main ()
{
Statemen_1;
Statemen_2;
…… FungsiUtama
Statemen_n;
}
____________________________
Fungsi_lain()
{
Stetemen_stetemen; Fungsi_fungsi lain yang ditulis oleh pemrograman komputer
}
Struktur Program C Prepocessor Directive
#include ---------------------- > Prepocesor directive
Fungsi_lain ( ) ; ---------------------- > Prototype fungsi lain
Main ( )
{
//statemen; ---------------------- > Fungsi Utama
}
___________________
Fungsi_lain ( )
{
//statemen; ----------------------- > Fungsi Lain
}
Keterangan :
1. Dimulai dari tanda { hingga tanda } disebut tubuh fungsi / blok.
2. Tanda ( ) digunakan untuk mengapit argumen fungsi, yaitu nilai yang dilewatkan ke fungsi.
Pada fungsi main( ) tidak ada argumen yang diberikan, maka tidak ada entri di dalam ( ).
3. Kata void menyatakan bahwa fungsi ini tidak memiliki nilai balik.
4. Tanda { menyatakan awal eksekusi program dan tanda } menyatakan akhir eksekusi program.
5. Didalam tanda { } bisa tergantung sejumlah unit yang disebut pernyataan (statemen).
Umumnya pernyataan berupa instruksi untuk :
a. Memerintah komputer melakukan proses menampilkan string ke layar.
b. Menghitung operasi matematika.
c. Membaca data dari keyboard.
d. dll.
c.Visual Basic
Visual Basic 6 merupakan salah satu tool untuk pengembangan aplikasi yang banyak diminati oleh orang. Di sini Visual Basic 6 menawarkan kemudahan dalam pembuatan aplikasi dan dapat menggunakan komponen-komponen yang telah disediakan. Untuk memulai Visual Basic 6 anda perlu menginstall Visual Basic 6.0. Program ini biasanya dalam satu paket dengan Visual Studio 6.0. Dengan menggunakan Visual Basic 6 kita bisa menghasilkan berbagai macam jenis program. Dari aplikasi yang mengintegrasikan database, jaringan, office automation, dan web application.
Keuntungan Visual basic:
- Bahasa yang sederhana. Banyak hal yang mungkin sulit dilakukan jika kita menggunakan bahasa pemrograman lainnya, akan dapat dilakukan dengan mudah dengan menggunakan Visual basic.
- Karena Visual basic sangat populer, maka sangat banyak sumber-sumber yang dapat kita gunakan untuk belajar dan mengembangkan kemampuan kau baik berupa buku, web site dll
- Kita bisa memperoleh banyak tools baik gratis maupun tidak di Internet yang akan sangat membantu menghemat waktu kita dalam pemrograman.
Kekurangan Visual basic:
- Visual Basic adalah bahasa pemrograman yang powerful, tetapi sebenarnya tidak terlalu bagus untuk membuat game-game yang benar-benar memuaskan.
- Lebih lambat dibandingkan bahasa pemrograman lain.
d.Pascal
- Dirancang oleh Prof. Nicklaus Wirth dari Technical University di Zurich, Switzerlandtahun 1971.
-Nama Pascal berasal dari Blaise Pascal, nama ahli matematika dan philosopi dari Perancis (abad 17).
-Pengembangan dari bahasa Algol 60 dan Algol W (turunan Algol 60).
-Memiliki beberapa versi, seperti : Turbo Pascal, Ms Pascal (Microsoft), Apple Pascal,UCSD (University of California at San Diego Pascal), dll.
-Turbo Pascal yang dibuat oleh Borland Inc. adalah versi yang paling banyak digunakan karena menggunakan Compiler untuk menterjemahkannya dan juga mengikuti standard bahasa Pascal yang dibuat oleh Nicklaus Wirth dan K. Jensen.
-Pascal merupakan bahasa pemrograman tingkat tinggi (high level language) dan terstruktur (Structured Programming language).
Bahasa Pascal, secara garis besar mempunyai struktur sebagai berikut :
1. Judul program,
2. Blok program yang terdiri dari :
a. Bagian deklarasi, meliputi :
- deklarasi label,
- deklarasi konstanta,
- deklarasi tipe,
- deklarasi variabel,
- deklarasi prosedur dan/atau fungsi.
b. Bagian pernyataan, berisi perintah-perintah.
Latihan Pascal : Perulangan dan Seleksi Kondisi I – 2
Untuk lebih jelas memahami struktur program Pascal, perhatikan contoh program
berikut ini :
program Struktur_Pascal; { judul program }
label { deklarasi label }
ulang;
const { deklarasi konstanta }
bahasa = 'Pascal';
versi = 1.9;
type { deklarasi tipe }
tipeku = integer;
var { deklarasi variabel }
A : tipeku;
procedure Tulis; { deklarasi prosedur }
begin
Writeln('Latihan Pascal 1: Perulangan dan Seleksi Kondisi');
Writeln('------------------------------------------------');
Writeln;
Writeln('Halo,saya sedang belajar bahasa ',bahasa,' versi ',versi);
end;
begin { bagian pernyataan }
Tulis;
Readln;
end.
Kelebihan :
Bahasa Pascal adalah bahasa pemrograman tingkat tinggi (high level language) yang cukup populer, khususnya di Indonesia. Hal ini disebabkan bahasa Pascal lebih mudah dipahami dibanding bahasa pemrograman lainnya, seperti bahasa C, bahasa assembler, dan lain sebagainya. Selain itu, bahasa Pascal adalah bahasa pemrograman yang terstruktur dan lebih mendekati bahasa manusia (bahasa Inggris) sehingga sangat cocok diterapkan dalam dunia pendidikan.
Kekurangan:
Tidak fleksibel penggunaannya.
Bahasa Pemrograman Dibawah ini biasa digunakan untuk pemrograman Web :
d.HTML
HyperText Markup Language (HTML) adalah sebuah bahasa markup yang digunakan untuk membuat sebuah halaman web dan menampilkan berbagai informasi di dalam sebuah browser Internet. HTML saat ini merupakan standar Internet yang didefinisikan dan dikendalikan penggunaannya oleh World Wide Web Consortium (W3C). HTML berupa kode-kode tag yang menginstruksikan browser untuk menghasilkan tampilan sesuai dengan yang diinginkan. Sebuah file yang merupakan file HTML dapat dibuka dengan menggunakan browser web seperti Mozilla Firefox atau Microsoft Internet Explorer.
e.PHP
PHP adalah bahasa pemrograman script yang paling banyak dipakai saat ini. PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada waktu itu PHP masih bernama FI (Form Interpreted), yang wujudnya berupa sekumpulan script yang digunakan untuk mengolah data form dari web.PHP banyak dipakai untuk membuat situs web yang dinamis, walaupun tidak tertutup kemungkinan digunakan untuk pemakaian lain. PHP biasanya berjalan pada sistem operasi linux (PHP juga bisa dijalankan dengan hosting windows).
f.ASP
ASP adalah singkatan dari Active Server Pages yang merupakan salah satu bahasa pemograman web untuk menciptakan halaman web yang dinamis. ASP merupakan salah satu produk teknologi yang disediakan oleh Microsoft. ASP bekerja pada web server dan merupakan server side scripting.
g.XML
Extensible Markup Language (XML) adalah bahasa markup serbaguna yang direkomendasikan W3C untuk mendeskripsikan berbagai macam data. XML menggunakan markup tags seperti halnya HTML namun penggunaannya tidak terbatas pada tampilan halaman web saja. XML merupakan suatu metode dalam membuat penanda/markup pada sebuah dokumen.
h.WML
WML adalah kepanjangan dari Wireless Markup Language, yaitu bahasa pemrograman yang digunakan dalam aplikasi berbasis XML (eXtensible Markup Langauge). WML ini adalah bahasa pemrograman yang digunakan dalam aplikasi wireless. WML merupakan analogi dari HTML yang berjalan pada protocol nirkabel.
i.PERL
Perl adalah bahasa pemrograman untuk mesin dengan sistem operasi Unix (SunOS, Linux, BSD, HP-UX), juga tersedia untuk sistem operasi seperti DOS, Windows, PowerPC, BeOS, VMS, EBCDIC, dan PocketPC. PERL merupakan bahasa pemograman yang mirip bahasa pemograman C.
j.CFM
CFM dibuat menggunakan tag ColdFusion dengan software Adobe ColdFusion / BlueDragon / Coldfusion Studio. Syntax coldfusion berbasis html.
k.JAVA
Java adalah sebuah teknologi yang diperkenalkan oleh Sun Microsystems pada pertengahan tahun 1990. Menurut definisi dari Sun, Java adalah nama untuk sekumpulan teknologi untuk membuat dan menjalankan perangkat luinak pada komputer standalone ataupun pada lingkungan jaringan. Kita lebih menyukai menyebut Java sebagai sebuah teknologi dibanding hanya sebuah bahasa pemrograman, karena Java lebih lengkap dibanding sebuah bahasa pemrograman konvensional. Teknologi Java memiliki tiga komponen penting, yaitu:
• Programming-language specification
• Application-programming interface
• Virtual-machine specification
Bahasa Java dapat dikategorikan sebagai sebuah bahasa pemrograman berorientasi objek, pemrograman terdistribusi dan bahasa pemrograman multithrreaded . Objek Java dispesifikasi dengan membentuk kelas. Untuk masing-masing kelas Java, kompiler Java memproduksi sebuah file keluaran arsitektur netral yang akan jalan pada berbagai implementasi dari Java Virtual Machine (JVM). Awalnya Java sangat digemari oleh komunitas pemrograman internet, karena Java mendukung untuk applets , dimana program dengan akses sumber daya terbatas yang jalan dalam sebuah web browser. Java juga menyediakan dukungan level tinggi untuk networking dan objek terdistribusi. Java juga dianggap sebagai sebuah bahasa yang aman. Tampilan ini pada khususnya penting menganggap bahwa sebuah program Java boleh mengeksekusi silang sebuah jaringan terdistribusi. Sehingga bahasa Java saat ini termasuk bahasa pemrograman yang relatif mudah untuk dipelajari karena banyaknya contoh dan konsep yang beredar luas, baik berupa buku maupun di internet. Tetapi program yang dibuat dalam bahasa Java juga relatif lebih banyak membutuhkan waktu saat di eksekusi (lebih lama) dikarenakan untuk menjalankan
programnya dibutuhkan JVM (perantara antar program dan sistem operasi).
l.CSS
Cascading Style Sheets (CSS) adalah suatu bahasa stylesheet yang digunakan untuk mengatur tampilan suatu dokumen yang ditulis dalam bahasa markup. Penggunaan yang paling umum dari CSS adalah untuk memformat halaman web yang ditulis dengan HTML dan XHTML. Walaupun demikian, bahasanya sendiri dapat dipergunakan untuk semua jenis dokumen XML termasuk SVG dan XUL. Spesifikasi CSS diatur oleh World Wide Web Consortium (W3C).
Referensi :
http://www.ruzman.co.tv/2009/06/macam-macam-bahasa-pemrograman.html
http://www.bankriau.co.id/forum/viewtopic.php?p=1214
poss.ipb.ac.id/.../JENI-Intro1-Bab02-Pengenalan%20Bahasa%20JAVA.pdf
bebas.vlsm.org/v06/Kuliah/SistemOperasi/.../04._Bahasa_Java-1.pdf
http://mahdiannoor.student.umm.ac.id/2010/01/23/pemrograman-dengan-java/
http://www.findtoyou.com/ebook/cara+penggunaan+turbo+c.html
http://www.findtoyou.com/ebook/download-visual+basic-515129.html
http://prothelon.com/mambo/dasar-dasar-vb-1-apa-itu-vb-visual-basic- .html
http://id.answers.yahoo.com/question/index?qid=20091208040923AAoJwuL
Pemrograman Borland Delphi 7.0, Penerbit Andi Wahana Komputer
http://mic.ac.id/artikel/pascal_D3.pdf
http://sman1bukittinggi.sch.id/download/latihan_fpc.pdf
http://download.evopage.com/vb6/Visual%20Basic %206.0%20skripsi.pdf
Langganan:
Postingan (Atom)