Aku yang pernah engkau kuatkan
Aku yang pernah kau bangkitkan
Aku yang pernah kau beri rasa
Saat ku terjaga hingga ku terlelap nanti
Selama itu aku akan selalu mengingatmu
Kapan lagi ku tulis untukmu
Tulisan-tulisan indahku yang dulu
Pernah warnai dunia
Puisi terindahku hanya untukmu
Mungkinkah kau kan kembali lagi
Menemaniku menulis lagi
Kita arungi bersama Puisi terindahku hanya untukmu
Saat ku terjaga hingga ku terlelap nanti
Selama itu aku akan selalu mengingatmu
Kapan lagi ku tulis untukmu
Tulisan-tulisan indahku yang dulu
Pernah warnai dunia
Puisi terindahku hanya untukmu
Mungkinkah kau kan kembali lagi
Menemaniku menulis lagi
Kita arungi bersama
Puisi terindahku hanya untukmu
Kapan lagi ku tulis untukmu
Tulisan-tulisan indahku yang dulu
Pernah warnai dunia
Puisi terindahku hanya untukmu
Mungkinkah kau kan kembali lagi
Menemaniku menulis lagi
Kita arungi bersama
Puisi terindahku hanya untukmu (untukmu, untukmu) Hanya untukmu
Kamis, 29 Agustus 2013
Kamis, 30 Mei 2013
Hello i'm coming backk
Heloooooooooooooooooooo udah lama
banget nih aku nggak ngeposting tulisan gaje atau cerita-cerita hidup yg
dilebihlebihin *ups. Hmm sebenernya sih bukan karena aku gamau ngeposting lg tp
mmg karna tugas yang numpukkk yang gak ada kata finally nya selalu continue,
next, after that and etc-_- eh kita kok jadi bahas gambit ya._. bodoamet sih
blog blog siapakan.okesip. Selain tugas
tanpa akhir, aku jg lagi sibuk sama yg namanya ulangan harian, penelitian,
latian nari buat opera pkoknya udah serasa jadi orang super sibuk, setiap temen
sms jarang bales, setiap temen smp ngajak ngumpul selalu ada kegiatan inilah
itulah… terkadang aku jadi ngerasa bersalah sama mereka yang seakan diabaikan
tapi percaya aku gak gitu kok, dihati dan pikiran selalu ada nama kalian:’) *dilempar
kulit duren* semua jadwal padetdet
mandet itu ngebuat aku lebih jadi agak pendiem, entah karena kecapekkan atau
banyak pkiran buat nyelesain tugas ya
gangerti juga sihh, pkoknya semuanya buat ngedroppp:”( tapi untung semua masih bisa dilewati, kayak kata lirik
lagu badai pasti berlalu, lirik itu aku
jadiin patokan buat selalu kuat dan iklas dalam menjalankan semuanya. Ya alhasil
semua lancar-lancar ajakan dan Alhamdulillah aku jg masih sehat dan sekarang
kesibukan mulai berkurang karena h-8 udah mau ulangan semester genap, yaaa
berkurang sih tapi…….. beban lebih berat menanti di depan mataaa god help me to
pass it….
Sabtu, 11 Mei 2013
Penyimpangan Sosial - Korupsi
BAB
1
PENDAHULUAN
1.1 Latar Belakang
Korupsi bukan hanya di
pusat pemerintahan tetapi sekarang sudah merambah ke berbagai kota, bahkan ke
desa-desa. Buktinya banyak kepala sekolah yang dituntut mundur oleh warganya karena
diindikasikan melakukan penyelewangan dana BLT, raskin, dana BOS, pungutan liar
dan sebagainya.
Apakah korupsi sejak era reformasi semakin
meningkat dilakukan masyarakat ?, bila kita amati di berbagai media massa yang
melaporkan masalah korupsi, memang di era reformasi seperti sekarang ini
intensitas laporan dan persidangan kasus-kasus korupsi semakin meningkat.
Tetapi bukan berarti masalah korupsi baru muncul di era sekarang ini saja,
tetapi sudah ada sejak era Orde Baru. Cuma bedanya ketika era Orde Baru
kasus-kasus korupsi tidak terungkapkan secara murni dan jelas, karena peran
media massa ketika itu masih tumpul dan kemampuan masyarakat untuk
menyuarakannyapun terbatas.
Maka di alam kemerdekaan seperti
sekarang ini muncullah dorongan yang amat kuat di tengah masyarakat kita untuk
menaikkan taraf kehidupan dan memperbaiki status sosial; khususnya terdapat di
kalangan para pemimpin. Selain pengaruh budaya konsumerisme, lingkungan sosial
dan sebagainya mendorong perubahan pola hidup masyarakat di Indonesia. Tambahan
pula, sebagai hasil daripada proses pendidikan yang lebih baik di zaman
kemerdekaan ini, muncullah aspirasi-aspirasi materil, harapan dan ambisi-ambisi
yang kuat untuk mengangkat diri.
Ketika era pembangunan mulai berlangsung di
alam Orde Baru, semakin mendorong keinginan yang kuat dari sebagian besar
bangsa Indonesia untuk merubah nasib dengan cara-cara yang radikal. Di tengah
gejolak ambisi yang meluap-luap sedemikian itu tidak sedikit tokoh pemimpin
yang dihinggapi obsesi untuk cepat menjadi makmur dan lekas menjadi kaya.
Dengan segala daya dan upaya orang berlomba menduduki kursi pimpinan, untuk
cepat menjadi kaya dan makmur, dengan cara yang paling mudah dan dengan biaya
paling murah. Sehingga berkembang pola konsumsi mewah, tingkah laku menyeleweng
untuk berkorupsi.
Korupsi sedemikian ini cepat berkembang,
karena masa transisi itu mengandung banyak kelemahan di bidang hukum, sehingga
memberikan banyak kesempatan bagi usaha-usaha penyelewengan dan perbuatan
illegal. Setiap kesempatan, tiap jabatan dan fungsi formal, dipakai sebagai
alat untuk memperkaya diri. Maka penyimpangan situasional berkembang menjadi
endemis bahkan cenderung sistematis.
1.2 Rumusan Masalah
1.
Apa itu korupsi?
2.
Termasuk dalam tindak pidanakah korupsi
itu?
3.
Apa saja bentuk kasus korupsi?
4.
Apa sajakah unsur-unsur tindak pidana
korupsi?
5.
Indikasi yang mendorong tindak korupsi?
6.
Faktor penyebab korupsi khususnya di
daerah kota Palembang?
7.
Jenis-jenis korupsi?
8.
Dampak sosial yang dirasakan masyarakat
dari tindak pidana korupsi?
9.
Hukuman apa yang menjerat para pelaku
korupsi?
10.
Apakah hukuman yang diberikan sudah
optimal dan menimbulkan efek jera pada para pelaku korupsi?
11.
Berapa banyak kasus korupsi yang telah
ditangani di kota Palembang dalam satu tahun terakhir?
12.
Salah satu contoh kasus korupsi yang
paling besar satu tahun terakhir?
1.3 Tujuan Penelitian
Untuk
mengehtahui berbagai hal mengenai penyimpangan sosial korupsi yang terjadi
dikalangan masyarakat kota Palembang.
1.4 Manfaat penelitian
Memahami
dan mengerti berbagai hal mengenai penyimpangan sosial korupsi yang terjadi
dikalangan masyarakat kota Palembang
BAB
II
LANDASAN TEORI
2.1
Narasumber
Teori yang digunakan
adalah teori narasumber yaitu keterangan yang diberikan narasumber yang
merupakan seorang jaksa muda di pengadilan negeri kota Palembang yang bernama
Ali Akmal S.H
2.2 Dasar Hukum Pemberantasan Korupsi
Adapun perundang-undangan di Indonesia yang mengatur tentang
Pemberantasan Korupsi adalah sebagai berikut:
1.
Pancasila Kelima yaitu “Keadilan sosial
bagi seluruh rakyat Indonesia”
2. Undang-Undang
Dasar Republik Indonesia Tahun 1945
3. Undang-Undang
RI
a. Nomor
3 tahun 1971 tentang Pemberantasan Tindak Pidana Korupsi
b. Nomor
28 tahun 1999 tentang Tentang Penyelenggaraan Negara yang Bersih dan Bebas dari
Korupsi, Kolusi, dan Nepotisme.
c. Nomor
71 tahun 2000 tentang Komisi Tindak Pidana Korupsi
4. Peraturan
Pemerintah Nomor 71 tahu 2000 tentang Tata Cara Pelaksanaan Peran Serta
masyarakat dan Pemberian Penghargaan dan Pemberantasan Korupsi.
BAB III
METODOLOGI PENELITIAN
3.1 Tempat dan Waktu Penelitian
1.
Tempat Penelitian
Penelitian
ini dilakukan di kantor Pengadilan Negeri, jakabaring, Palembang.
2.
Waktu Penelitian
Penelitian ini
dilakukan pada tanggal 18 Februari 2013
3.2 Teknik Pengumpulan Data
1.
Metode wawancara
Metode wawancara dipergunakan sebagai
teknik pengumpulan data saat penelitian. Metode
ini dilakukan dengan mengajukan beberapa pertanyaan kepada narasumber
dan merekam jawaban yang diberikan.
2.Metode
Kepustakaan
Metode
yang dipakai untuk menambah refrensi sehingga dapat membantu penulis untuk melakukan
penelitian. Kepustakaan diambil dari Buku dan Internet (Website).
BAB IV
DATA DAN PEMBAHASAN
4.1 Korupsi
Korupsi (bahasa Latin: corruptio dari
kata kerja corrumpere yang bermakna busuk, rusak, menggoyahkan, memutarbalik,
menyogok) adalah tindakan pejabat publik, baik politisi maupun pegawai negeri,
serta pihak lain yang terlibat dalam tindakan itu yang secara tidak wajar dan
tidak legal menyalahgunakan kepercayaan publik yang dikuasakan kepada mereka
untuk mendapatkan keuntungan sepihak.
Korupsi merupakan kasus tindak pidana
yang sering kali terjadi dikalangan masyarakat. Kasus korupsi merupakan
perbuatan yang merugikan banyak orang. Kasus tindak pidana korupsi terdiri dari
bentuk ringan dan berat. Bentuk ringan berupa penggunaan pengaruh dan dukungan
untuk memberi dan menerima pertolongan. Sedangkan korupsi berat merupakan
perbuatan yang diresmikan untuk mengambil kekayaan pribadi dengan mengambil
harta negara.
Unsur-unsur kasus korupsi adalah
1.
Melanggar hukum yang berlaku.
2.
Penyalahgunaan wewenang.
3.
Merugikan Negara
4.
Memperkaya pribadi/diri sendiri.
Terdapat
beberapa indikasi yang mendorong tindak korupsi yaitu:
-
Kurangnya pengawasan
-
kelemahan pengajaran agama dan etika
-
kurangnya pendidikan
-
adanya banyak kemiskinan
-
tidak adanya tindakan hukum yang tegas
-
kelangkaan lingkungan kerja yang
kondusif untuk anti korupsi
Faktor-faktor
korupsi
-
pendapatan atau gaji yang tidak
mencukupi
-
penyalahgunaan kesempatan untuk
memperkaya diri
Ditinjau dari jenisnya banyak sekali
kasus korupsi mulai dari yang skala kecil hingga yang skala besar. Contoh skala
kecil penaiakan harga data pengeluaran yang
gelap tidak resmi bertujuan untuk mengelabui pembukuan pada suatu
perusahaan. Contoh skala besar yaitu yaitu penerimaan suap seorang jaksa untuk
meringankan hukuman bagi tersangka, penggelapan sejumlah dana negara, menerima
suap untuk posisi atau jabatan yang diingankan dalam pemerintahan.
Dampak sosialyang dirasakan oleh
masyarakat dari korupsi adalah masyarakat tidak menikmati hasil yang optimal
dari pembangunan yang seharusnya, karena sebagian dananya telah digelapkan.
Hukuman yang diberikan bagi para pelaku
korupsi itu adalah hukuman pidana yang disesuaikan dengan tingkat dan jenis
dari korupsi itu sendiri. Hukuman paling lama untuk para pelaku korupsi adalah
20 tahun penjara. Hukuman yang diberikan pada pelaku korupsi yang terjadi di
kota Palembang sudah optimal dan menimbulkan efek jera karena mendapat hukuman
sosial dari masyarakat yang berupa cemooh atau dikucilkan. Adapun kasus korupsi
yang ditangani pengadilan negeri dalam satu tahunnya mencapai 3 sampai 5 kasus
yang didominasi oleh instansi pemerintah. Kasus korupsi yang paling besar satu
tahun terakhir adalah kasus korupsi pembangunan jalan di lorong abadi.
BAB
V
PENUTUP
5.1 Kesimpulan
Tindak
korupsi itu merupakan tindak pidana yang sangat merugikan bangsa dan negara.
Selain itu menjadi hambatan utama pada pembangunan. Salah satu tugas negara
ialah mampu menyusun kekuatan riil untuk menanggulangi bahaya dari dalam, salah
satunya ialah korupsi.
Perkembangan sumber-sumber kekayaan dan
kekuasaan yang baru ini memang memberikan banyak celah untuk berlangsungnya
tidak korup, terutama korupsi materiil dari kelas-kelas social menengah dan
tinggi. Namun jelas bagi kita, bahwa korupsi itu menjadi tanda pengukur bagi:
1.
Tidak adanya perkembangan politik yang
efektif
2.
Tidak adanya badan hukum dan sanksi yang
mempunyai kekuatan riil
3.
Untuk memberantas korupsi yang sudah berurat
berakar dalam sendi-sendi masyarakarat kita, diperlukan adanya partisipasi
segenap lapisan rakyat. Tanpa partisipasi dan dukungan mereka,
5.2 Saran
Beberapa
saran diungkapkan pakar sosial politik Marliana, antara lain adalah:
1.
Adanya kesadaran rakyat ikut memikul
tanggungjawab guna melakukan partisipasi politik dan kontrol sosial, tidak
bersikap apatis dan acuh tak acuh.
2.
Menanamkan aspirasi nasional yang positif,
yaitu mengutamakan kepentingan nasional, kejujuran serta pengabdian pada bangsa
dan negara.
3.
para pemimpin dan pejabat memberikan
teladan yang baik dengan mematuhi pola hidup sederhana, dan memiliki rasa
tanggung jawab sosial.
4.
adanya sanksi dan kekuatan untuk
menindak, memberabtas, dan menghukum tindak korupsi. Tanpa kekuatan riil dan
berani bertindak tegas, semua undang-undang, tim, komisi, dan operasi menjadi
mubazir.
5.
reorganisasi dan rasionalisasi dari
organisasi pemerintahan, melalui penyederhanaan jumlah departemen beserta
jawatan-jawatan sebawahnya.
6.
adanya sistem penerimaan pegawai
berdasarkan prinsip achievement atau keteranpilan teknik. Dan bukan berdasarkan
norma ascription. Sehingga memberikan keluasaan bagi berkembangnya nepotisme.
7.
adanya kebutuhan pada pegawai-pegawai
negeri yang non politik, demi kelancaran administrasi pemerintah. Ditunjang
oleh gaji yang memadai bagi para pegawai, dan ada jaminan masa tua, sehingga
bertukarlah kecenderungan untuk melakukan korupsi.
8.
menciptakan aparatur pemerintahan yang
jujur, kompleksitas hierarki administratif harus disertai disiplin kerja yang
tinggi.
9.
sistem budget dikelola oleh
pejabat-pejabat yang mempunyai tanggung jawab etis tinggi.
10. Herregistrasi
(pencatatan ulang) terhadap kekayaan perorangan yang mencolok, dengan pengenaan
pajak yang tinggi. Kekayaan yang statusnya tidak jelas dan diduga menjadi hasil
korupsi, disita oleh Negara.
Algoritma dan Pemrograman
1. Apakah Itu Algoritma
Ditinjau dari asal-usul
katanya, kata Algoritma sendiri mempunyai sejarah yang aneh. Orang hanya
menemukan kata algorism yang berarti proses menghitung dengan angka arab. Anda
dikatakan algorist jika Anda menghitung menggunakan angka arab. Para ahli
bahasa berusaha menemukan asal kata ini namun hasilnya kurang memuaskan.
Akhirnya para ahli sejarah matematika menemukan asal kata tersebut yang berasal
dari nama penulis buku arab yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa
Al-Khuwarizmi. Al-Khuwarizmi dibaca orang barat menjadi Algorism. Al-Khuwarizmi
menulis buku yang berjudul Kitab Al Jabar Wal-Muqabala yang artinya “Buku
pemugaran dan pengurangan” (The book of restoration and reduction). Dari judul
buku itu kita juga memperoleh akar kata “Aljabar” (Algebra). Perubahan kata
dari algorism menjadi algorithm muncul karena kata algorism sering dikelirukan
dengan arithmetic, sehingga akhiran –sm berubah menjadi –thm. Karena
perhitungan dengan angka Arab sudah menjadi hal yang biasa, maka lambat laun
kata algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi)
secara umum, sehingga kehilangan makna kata aslinya. Dalam bahasa Indonesia,
kata algorithm diserap menjadi algoritma.
2. Definisi Algoritma
“Algoritma adalah
urutan langkah-langkah logis penyelesaian masalah yang disusun secara
sistematis dan logis”. Kata logis merupakan kata kunci dalam algoritma.
Langkah-langkah dalam algoritma harus logis dan harus dapat ditentukan bernilai
salah atau benar. Dalam beberapa konteks, algoritma adalah spesifikasi urutan
langkah untuk melakukan pekerjaan tertentu. Pertimbangan dalam pemilihan
algoritma adalah, pertama, algoritma haruslah benar. Artinya algoritma akan memberikan
keluaran yang dikehendaki dari sejumlah masukan yang diberikan. Tidak peduli
sebagus apapun algoritma, kalau memberikan keluaran yang salah, pastilah
algoritma tersebut bukanlah algoritma yang baik.
Pertimbangan kedua yang
harus diperhatikan adalah kita harus mengetahui seberapa baik hasil yang
dicapai oleh algoritma tersebut. Hal ini penting terutama pada algoritma untuk
menyelesaikan masalah yang memerlukan aproksimasi hasil (hasil yang hanya
berupa pendekatan). Algoritma yang baik harus mampu memberikan hasil yang
sedekat mungkin dengan nilai yang sebenarnya.
Ketiga adalah efisiensi
algoritma. Efisiensi algoritma dapat ditinjau dari 2 hal yaitu efisiensi waktu
dan memori. Meskipun algoritma memberikan keluaran yang benar (paling
mendekati), tetapi jika kita harus menunggu berjam-jam untuk mendapatkan
keluarannya, algoritma tersebut biasanya tidak akan dipakai, setiap orang
menginginkan keluaran yang cepat. Begitu juga dengan memori, semakin besar
memori yang terpakai maka semakin buruklah algoritma tersebut. Dalam
kenyataannya, setiap orang bisa membuat algoritma yang berbeda untuk
menyelesaikan suatu permasalahan, walaupun terjadi perbedaan dalam menyusun
algoritma, tentunya kita mengharapkan keluaran yang sama. Jika terjadi
demikian, carilah algoritma yang paling efisien dan cepat.
3. Beda Algoritma dan Program
Program adalah kumpulan
pernyataan komputer, sedangkan metode dan tahapan sistematis dalam program
adalah algoritma. Program ditulis dengan menggunakan bahasa pemrograman. Jadi
bisa disebut bahwa program adalah suatu implementasi dari bahasa pemrograman.
Beberapa pakar memberi formula bahwa :
Program = Algoritma +
Bahasa (Struktur Data)
Bagaimanapun juga
struktur data dan algoritma berhubungan sangat erat pada sebuah program.
Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat
program menjadi kurang baik, demikian juga sebaliknya.
Pembuatan algoritma
mempunyai banyak keuntungan di antaranya :
Pembuatan atau
penulisan algoritma tidak tergantung pada bahasa pemrograman manapun, artinya
penulisan algoritma independen dari
bahasa pemrograman dan komputer yang melaksanakannya.
Notasi algoritma dapat
diterjemahkan ke dalam berbagai bahasa pemrograman.
Apapun bahasa
pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama.
Beberapa hal yang perlu
diperhatikan dalam membuat algoritma :
Teks algoritma berisi
deskripsi langkah-langkah penyelesaian masalah. Deskripsi tersebut dapat
ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami.
Tidak ada notasi yang
baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman. Notasi
yang digunakan dalam menulis algoritma disebut notasi algoritmik.
Setiap orang dapat
membuat aturan penulisan dan notasi algoritmik sendiri. Hal ini dikarenakan
teks algoritma tidak sama dengan teks program. Namun, supaya notasi algoritmik
mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu, maka
sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa
pemrograman secara umum.
Notasi algoritmik bukan
notasi bahasa pemrograman, karena itu pseudocode dalam notasi algoritmik tidak
dapat dijalankan oleh komputer. Agar dapat dijalankan oleh komputer, pseudocode
dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi
bahasa pemrograman yang dipilih. Perlu diingat bahwa orang yang menulis program
sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang
menjalannya.
Algoritma sebenarnya
digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam
bahasa pemrograman.
Algoritma merupakan
hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer, algoritma
harus ditranslasikan ke dalam notasi bahasa pemrograman. Ada beberapa hal yang
harus diperhatikan pada translasi tersebut, yaitu :
a. Pendeklarasian variabel
Untuk mengetahui
dibutuhkannya pendeklarasian variabel dalam penggunaan bahasa pemrograman
apabila tidak semua bahasa pemrograman
membutuhkannya.
b. Pemilihan tipe data
Apabila bahasa
pemrograman yang akan digunakan membutuhkan pendeklarasian variabel maka perlu
hal ini dipertimbangkan pada saat pemilihan tipe data.
c. Pemakaian instruksi-instruksi
Beberapa instruksi
mempunyai kegunaan yang sama tetapi masing-masing memiliki kelebihan dan
kekurangan yang berbeda.
d. Aturan sintaksis
Pada saat menuliskan
program kita terikat dengan aturan sintaksis dalam bahasa pemrograman yang akan
digunakan.
e. Tampilan hasil
Pada saat membuat
algoritma kita tidak memikirkan tampilan hasil yang akan disajikan. Hal-hal teknis
ini diperhatikan ketika mengkonversikannya menjadi program.
f. Cara pengoperasian compiler atau interpreter.
Bahasa pemrograman yang
digunakan termasuk dalam kelompok compiler atau interpreter.
4. Algoritma Merupakan Jantung Ilmu Informatika
Algoritma adalah
jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer yang
mengarah ke dalam terminologi algoritma. Namun, jangan beranggapan algoritma
selalu identik dengan ilmu komputer saja. Dalam kehidupan sehari-hari pun
banyak terdapat proses yang dinyatakan dalam suatu algoritma. Cara-cara membuat
kue atau masakan yang dinyatakan dalam suatu resep juga dapat disebut sebagai
algoritma. Pada setiap resep selalu ada urutan langkah-langkah membuat masakan.
Bila langkah-langkahnya tidak logis, tidak dapat dihasilkan masakan yang
diinginkan. Ibu-ibu yang mencoba suatu resep masakan akan membaca satu per satu
langkah-langkah pembuatannya lalu ia mengerjakan proses sesuai yang ia baca.
Secara umum, pihak (benda) yang mengerjakan proses disebut pemroses
(processor). Pemroses tersebut dapat berupa manusia, komputer, robot atau
alat-alat elektronik lainnya. Pemroses melakukan suatu proses dengan
melaksanakan atau “mengeksekusi” algoritma yang menjabarkan proses tersebut.
Algoritma adalah
deskripsi dari suatu pola tingkah laku yang dinyatakan secara primitif yaitu
aksi-aksi yang didefenisikan sebelumnya dan diberi nama, dan diasumsikan
sebelumnya bahwa aksi-aksi tersebut dapat kerjakan sehingga dapat menyebabkan
kejadian.
Melaksanakan algoritma
berarti mengerjakan langkah-langkah di dalam algoritma tersebut. Pemroses
mengerjakan proses sesuai dengan algoritma yang diberikan kepadanya. Juru masak
membuat kue berdasarkan resep yang diberikan kepadanya, pianis memainkan lagu
berdasarkan papan not balok. Karena itu suatu algoritma harus dinyatakan dalam
bentuk yang dapat dimengerti oleh pemroses. Jadi suatu pemroses harus:
Mengerti setiap langkah
dalam algoritma.
Mengerjakan operasi
yang bersesuaian dengan langkah tersebut.
5. Mekanisme Pelaksanaan Algoritma oleh Pemroses
Komputer hanyalah salah
satu pemroses. Agar dapat dilaksanakan oleh komputer, algoritma harus ditulis
dalam notasi bahasa pemrograman sehingga dinamakan program. Jadi program adalah
perwujudan atau implementasi teknis algoritma yang ditulis dalam bahasa
pemrograman tertentu sehingga dapat dilaksanakan oleh komputer.
Kata “algoritma” dan
“program” seringkali dipertukarkan dalam penggunaannya. Misalnya ada orang yang
berkata seperti ini: “program pengurutan data menggunakan algoritma selection
sort”. Atau pertanyaan seperti ini: “bagaimana algoritma dan program
menggambarkan grafik tersebut?”. Jika Anda sudah memahami pengertian algoritma
yang sudah disebutkan sebelum ini, Anda dapat membedakan arti kata algoritma
dan program. Algoritma adalah langkah-langkah penyelesaikan masalah, sedangkan
program adalah realisasi algoritma dalam bahasa pemrograman. Program ditulis
dalam salah satu bahasa pemrograman dan kegiatan membuat program disebut
pemrograman (programming). Orang yang menulis program disebut pemrogram
(programmer). Tiap-tiap langkah di dalam program disebut pernyataan atau
instruksi. Jadi, program tersusun atas sederetan instruksi. Bila suatu
instruksi dilaksanakan, maka operasi-operasi yang bersesuaian dengan instruksi
tersebut dikerjakan komputer.
Secara garis besar
komputer tersusun atas empat komponen utama yaitu, piranti masukan, piranti
keluaran, unit pemroses utama, dan memori. Unit pemroses utama (Central
Processing Unit – CPU) adalah “otak” komputer, yang berfungsi mengerjakan operasi-operasi
dasar seperti operasi perbandingan, operasi perhitungan, operasi membaca, dan
operasi menulis. Memori adalah komponen yang berfungsi menyimpan atau
mengingatingat.
Yang disimpan di dalam
memori adalah program (berisi operasi-operasi yang akan dikerjakan oleh CPU)
dan data atau informasi (sesuatu yang diolah oleh operasi-operasi). Piranti
masukan dan keluaran (I/O devices) adalah alat yang memasukkan data atau
program ke dalam memori, dan alat yang digunakan komputer untuk
mengkomunikasikan hasil-hasil aktivitasnya. Contoh piranti masukan antara lain,
papan kunci (keyboard), pemindai (scanner), dan cakram (disk). Contoh piranti
keluaran adalah, layar peraga (monitor), pencetak (printer), dan cakram.
Mekanisme kerja keempat
komponen di atas dapat dijelaskan sebagai berikut. Mula-mula program dimasukkan
ke dalam memori komputer. Ketika program dilaksanakan (execute), setiap
instruksi yang telah tersimpan di dalam memori dikirim ke CPU. CPU mengerjakan
operasioperasi yang bersesuaian dengan instruksi tersebut. Bila suatu operasi
memerlukan data, data dibaca dari piranti masukan, disimpan di dalam memori
lalu dikirim ke CPU untuk operasi yang memerlukannya tadi. Bila proses
menghasilkan keluaran atau informasi, keluaran disimpan ke dalam memori, lalu
memori menuliskan keluaran tadi ke piranti keluaran (misalnya dengan
menampilkannya di layar monitor).
6. Belajar Memprogram dan Belajar Bahasa
Pemrograman
Belajar memprogram
tidak sama dengan belajar bahasa pemrograman. Belajar memprogram adalah belajar
tentang metodologi pemecahan masalah, kemudian menuangkannya dalam suatu notasi
tertentu yang mudah dibaca dan dipahami. Sedangkan belajar bahasa pemrograman
berarti belajar memakai suatu bahasa aturan-aturan tata bahasanya,
pernyataan-pernyataannya, tata cara pengoperasian compiler-nya, dan
memanfaatkan pernyataan-pernyataan tersebut untuk membuat program yang ditulis
hanya dalam bahasa itu saja. Sampai saat ini terdapat puluhan bahasa pemrogram,
antara lain bahasa rakitan (assembly), Fortran, Cobol, Ada, PL/I, Algol,
Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasabahasa simulasi seperti CSMP,
Simscript, GPSS, Dinamo. Berdasarkan terapannya, bahasa pemrograman dapat
digolongkan atas dua kelompok besar :
Bahasa pemrograman
bertujuan khusus. Yang termasuk kelompok ini adalah Cobol (untuk terapan bisnis
dan administrasi). Fortran (terapan komputasi ilmiah), bahasa rakitan (terapan
pemrograman mesin), Prolog (terapan kecerdasan buatan), bahasa-bahasa simulasi,
dan sebagainya.
Bahasa perograman bertujuan umum, yang dapat
digunakan untuk berbagai aplikasi. Yang termasuk kelompok ini adalah bahasa
Pascal, Basic dan C. Tentu saja pembagian ini tidak kaku. Bahasabahasabertujuan
khusus tidak berarti tidak bisa digunakan untuk aplikasi lain. Cobol misalnya,
dapat juga digunakan untuk terapan ilmiah, hanya saja kemampuannya terbatas.
Yang jelas, bahasabahasa pemrograman yang berbeda dikembangkan untuk
bermacam-macam terapan yang berbeda pula.
Berdasarkan pada apakah
notasi bahasa pemrograman lebih “dekat” ke mesin atau ke bahasa manusia, maka
bahasa pemrograman dikelompokkan atas dua macam :
Bahasa tingkat rendah.
Bahasa jenis ini dirancang agar setiap instruksinya langsung dikerjakan oleh
komputer, tanpa harus melalui penerjemah (translator). Contohnya adalah bahasa
mesin. CPU mengambil instruksi dari memori, langsung mengerti dan langsung
mengerjakan operasinya. Bahasa tingkat rendah bersifat primitif, sangat
sederhana, orientasinya lebih dekat ke mesin, dan sulit dipahami manusia.
Sedangkan bahasa rakitan dimasukkan ke dalam kelompok ini karena alasan notasi
yang dipakai dalam bahasa ini lebih dekat ke mesin, meskipun untuk melaksanakan
instruksinya masih perlu penerjemahan ke dalam bahasa mesin.
Bahasa tingkat tinggi,
yang membuat pemrograman lebih mudah dipahami, lebih “manusiawi”, dan
berorientasi ke bahasa manusia (bahasa Inggris). Hanya saja, program dalam
bahasa tingkat tinggi tidak dapat langsung dilaksanakan oleh komputer. Ia perlu
diterjemahkan terlebih dahulu oleh sebuah translator bahasa (yang disebut kompilator
atau compiler) ke dalam bahasa mesin sebelum akhirnya dieksekusi oleh CPU.
Contoh bahasa tingkat tinggi adalah Pascal, PL/I, Ada, Cobol, Basic, Fortran,
C, C++, dan sebagainya.
7. Menilai Sebuah Algoritma
Ketika manusia berusaha
memecahkan masalah, metode atau teknik yang digunakan untuk memecahkan masalah
itu ada kemungkinan bisa banyak (tidak hanya satu). Dan kita memilih mana yang
terbaik di antara teknikteknik itu. Hal ini sama juga dengan algoritma, yang
memungkinkan suatu permasalahan dipecahkan dengan metode dan logika yang
berlainan. Yang menjadi pertanyaan adalah bagaimana mengukur mana algoritma
yang terbaik?. Beberapa persyaratan untuk menjadi algoritma yang baik adalah :
Tingkat kepercayaannya
tinggi (realibility). Hasil yang diperoleh dari proses harus berakurasi tinggi
dan benar.
Pemrosesan yang efisien
(cost rendah). Proses harus diselesaikan secepat mungkin dan frekuensi kalkulasi
yang sependek mungkin.
Sifatnya general. Bukan
sesuatu yang hanya untuk menyelesaikan satu kasus saja, tapi juga untuk kasus
lain yang lebih general.
Bisa dikembangkan
(expandable). Haruslah sesuatu yang dapat kita kembangkan lebih jauh
berdasarkan perubahan requirement yang ada.
Mudah dimengerti.
Siapapun yang melihat, dia akan bisa memahami algoritma Anda. Susah
dimengertinya suatu program akan membuat susah di-maintenance (kelola).
Portabilitas yang
tinggi (portability). Bisa dengan mudah diimplementasikan di berbagai platform
komputer.
Precise (tepat, betul,
teliti). Setiap instruksi harus ditulis dengan seksama dan tidak ada
keragu-raguan, dengan demikian setiap instruksi harus dinyatakan secara
eksplisit dan tidak ada bagian yang dihilangkan karena pemroses dianggap sudah
mengerti. Setiap langkah harus jelas dan pasti.
Contoh : Tambahkan 1 atau 2 pada x.
Instruksi di atas
terdapat keraguan.
Jumlah langkah atau
instruksi berhingga dan tertentu. Artinya, untuk kasus yang sama banyaknya,
langkah harus tetap dan tertentu meskipun datanya berbeda.
Efektif. Tidak boleh
ada instruksi yang tidak mungkin dikerjakan oleh pemroses yang akan
menjalankannya.
Contoh : Hitung akar 2 dengan presisi sempurna.
Instruksi di atas tidak
efektif, agar efektif instruksi tersebut diubah.
Misal : Hitung akar 2
sampai lima digit di belakang koma.
Harus terminate.
Jalannya algoritma harus ada kriteria berhenti. Pertanyaannya adalah apakah
bila jumlah instruksinya berhingga maka pasti terminate?
Output yang dihasilkan
tepat. Jika langkah-langkah algoritmanya logis dan diikuti dengan seksama maka
dihasilkan output yang diinginkan.
Sedangkan kriteria
Algoritma menurut Donald E. Knuth adalah :
Input: algoritma dapat
memiliki nol atau lebih inputan dari luar.
Output: algoritma harus
memiliki minimal satu buah output keluaran.
Definiteness (pasti):
algoritma memiliki instruksi-instruksi yang jelas dan tidak ambigu.
Finiteness (ada batas):
algoritma harus memiliki titik berhenti (stopping role).
Effectiveness (tepat
dan efisien): algoritma sebisa mungkin harus dapat dilaksanakan dan efektif.
Contoh instruksi yang tidak efektif adalah: A = A + 0 atau A = A * 1
Namun ada beberapa
program yang memang dirancang untuk unterminatable : contoh Sistem Operasi.
8. Penyajian Algoritma
Penyajian algoritma
secara garis besar bisa dalam 2 bentuk penyajian yaitu tulisan dan gambar.
Algoritma yang disajikan dengan tulisan yaitu dengan struktur bahasa tertentu
(misalnya bahasa Indonesia atau bahasa Inggris) dan pseudocode. Pseudocode
adalah kode yang mirip dengan kode pemrograman yang sebenarnya seperti Pascal,
atau C, sehingga lebih tepat digunakan untuk menggambarkan algoritma yang akan
dikomunikasikan kepada pemrogram. Sedangkan algoritma disajikan dengan gambar,
misalnya dengan flowchart. Secara umum, pseudocode mengekspresikan ide-ide
secara informal dalam proses penyusunan algoritma. Salah satu cara untuk
menghasilkan kode pseudo adalah dengan meregangkan aturan-aturan bahasa formal
yang dengannya versi akhir dari algoritma akan diekspresikan. Pendekatan ini
umumnya digunakan ketika bahasa pemrograman yang akan digunakan telah diketahui
sejak awal.
Flowchart merupakan
gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta
pernyataannya. Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap
simbol menggambarkan proses tertentu. Sedangkan antara proses digambarkan
dengan garis penghubung. Dengan menggunakan flowchart akan memudahkan kita
untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis
masalah. Di
samping itu flowchart
juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang
bekerja dalam tim suatu proyek.
Ada dua macam flowchart
yang menggambarkan proses dengan komputer, yaitu :
Flowchart sistem yaitu
bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan
proses suatu file dalam suatu media menjadi file di dalam media lain, dalam
suatu sistem pengolahan data. Beberapa contoh Flowchart system.
Flowchart program yaitu
bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan
hubungan antar proses secara mendetail di dalam suatu program.
Kaidah-Kaidah Umum
Pembuatan Flowchart Program
Dalam pembuatan
flowchart Program tidak ada rumus atau patokan yang bersifat mutlak. Karena
flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah
dengan komputer. Sehingga flowchart yang dihasilkan dapat bervariasi antara
satu pemrogram dengan yang lainnya. Namun secara garis besar setiap pengolahan
selalu terdiri atas 3 bagian utama, yaitu :
Input,
Proses pengolahan dan
Output
Untuk pengolahan data
dengan komputer, urutan dasar pemecahan suatu masalah:
START, berisi
pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani
pemecahan persoalan.
READ, berisi pernyataan
kegiatan untuk membaca data dari suatu peralatan input.
PROSES, berisi kegiatan
yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca.
WRITE, berisi
pernyataan untuk merekam hasil kegiatan ke peralatan output.
END, mengakhiri
kegiatan pengolahan.
Walaupun tidak ada
kaidah-kaidah yang baku dalam penyusunan flowchart, namun ada beberapa anjuran
:
Hindari pengulangan
proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses
menjadi singkat.
Jalannya proses
digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas.
Sebuah flowchart
diawali dari satu titik START dan diakhiri dengan END.
Untuk memahami lebih
dalam mengenai flowchart ini, akan diambil sebuah kasus sederhana.
Kasus : Buatlah sebuah
rancangan program dengan menggunakan flowchart, mencari luas persegi panjang.
Solusi : Perumusan
untuk mencari luas persegi panjang adalah :
L = p . l
di mana, L adalah Luas
persegi panjang, p adalah panjang persegi, dan l adalah lebar persegi.
Keterangan :
Simbol pertama
menunjukkan dimulainya sebuah program.
Simbol kedua
menunjukkan bahwa input data dari p dan l.
Data dari p dan l akan
diproses pada simbol ketiga dengan menggunakan perumusan L = p. l.
Simbol keempat
menunjukkan hasil output dari proses dari simbol ketiga.
Simbol kelima atau
terakhir menunjukkan berakhirnya program dengan tanda End.
9. Struktur Dasar Algoritma
Algoritma berisi
langkah-langkah penyelesaian suatu masalah. Langkah-langkah tersebut dapat
berupa runtunan aksi (sequence), pemilihan aksi (selection), pengulangan aksi
(iteration) atau kombinasi dari ketiganya. Jadi struktur dasar pembangunan
algoritma ada tiga, yaitu:
Struktur Runtunan
Digunakan untuk program
yang pernyataannya sequential atau urutan.
Struktur Pemilihan
Digunakan untuk program
yang menggunakan pemilihan atau penyeleksian kondisi.
Struktur Perulangan
Digunakan untuk program
yang pernyataannya akan dieksekusi berulang-ulang.
Dalam Algoritma, tidak
dipakai simbol-simbol / sintaks dari suatu bahasa pemrograman tertentu,
melainkan bersifat umum dan tidak tergantung pada suatu bahasa pemrograman
apapun juga. Notasi-notasi algoritma dapat digunakan untuk seluruh bahasa
pemrograman manapun.
Definisi Pseudo-code
Kode atau tanda yang
menyerupai (pseudo) atau merupakan penjelasan cara menyelesaikan suatu masalah.
Pseudo-code sering digunakan oleh manusia untuk menuliskan algoritma.
Contoh kasus : mencari
bilangan terbesar dari dua bilangan yang diinputkan
Solusi Pseudo-code :
Masukkan bilangan
pertama
Masukkan bilangan kedua
Jika bilangan pertama
> bilangan kedua maka kerjakan langkah 4, jika tidak, kerjakan langkah 5.
Tampilkan bilangan
pertama
Tampilkan bilangan
kedua
Solusi Algoritma :
Masukkan bilangan
pertama (a)
Masukkan bilangan kedua
(b)
if a > b then
kerjakan langkah 4
print a
print b
10. Tahapan dalam Pemrograman
Langkah-langkah yang
dilakukan dalam menyelesaikan masalah dalam pemrograman dengan komputer adalah
:
Definisikan Masalah
Buat Algoritma dan
Struktur Cara Penyelesaian
Menulis Program
Mencari Kesalahan
Uji dan Verifikasi
Program
Dokumentasi Program
Pemeliharaan Program
Langganan:
Postingan (Atom)