Tuesday, 24 February 2015

Mengapa Prof. Romli Mendukung Putusan Hakim Sarpin

Romli Atmasasmita
Guru Besar (Emeritus) Hukum Pidana


Putusan praperadilan yang dipimpin hakim Sarpin Rizaldi, seorang hakim senior dengan golongan pangkat IV/D, telah mengundang prokontra.

Penulis yang memberikan keterangan ahli dari pihak Budi Gunawan dan Divisi Hukum Mabes Polri serta secara langsung mengalami dan melihat sosok hakim senior Sarpin dapat mengatakan kepada publik bahwa ia sosok hakim yang berani, tegas, dan mumpuni dari sisi ilmu hukum.

Bahkan dalam beberapa kesempatan tanya jawab, hakim Sarpin ikut membantu kuasa hukum Budi Gunawan dan KPK untuk memperbaiki pertanyaannya sehingga pertanyaan hanya meminta pendapat ahli, bukan penilaian ahli terhadap fakta kasus yang dituduhkan kepada Budi Gunawan.

Berbeda dengan mantan hakim agung RI yang juga kolega senior dari hakim Sarpin, penulis mengapresiasi hakim Sarpin karena dari pengalamannya sebagai hakim senior dan dalam pertimbangannya menunjukkan bahwa yang bersangkutan memahami betul hakikat lembaga praperadilan dalam konteks sistem peradilan pidana terpadu berdasarkan UU RI Nomor 8 Tahun 1981 tentang Hukum Acara Pidana. Hakikat ini tidak banyak orang, sekalipun ahli hukum pidana, memahami dengan sungguhsungguh dan baik.

Mengapa Hakim Sarpin Menangkan Budi Gunawan

Hakim Pengadilan Negeri Jakarta Selatan, Sarpin Rizaldi, memenangkan gugatan Komisaris Jenderal Budi Gunawan atas Komisi Pemberantasan Korupsi. Calon tunggal Kepala Kepolisian RI ini menggugat keputusan KPK yang menetapkan dirinya sebagai tersangka. Dalam persidangan yang dimulai sejak pukul 09.00 WIB, hakim Sarpin memberikan beberapa pertimbangan untuk memenangkan Budi Gunawan. Berikut ini pertimbangannya.

1. Tersangka obyek praperadilan.
"Penetapan tersangka merupakan obyek praperadilan," kata Sarpin saat membacakan putusan praperadilan, Senin, 16 Februari, 2015. Karena proses penetapan tersangka adalah bagian dari penyelidikan dan penyidikan. Sedangkan proses penyelidikan dan penyidikan, kata dia, akan berujung pada penangkapan dan penahanan, yang merupakan bagian dari praperadilan. Sarpin menuturkan, memang, di dalam Pasal 77 juncto 82 ayat (1) juncto 95 ayat (1) dan (2) KUHAP serta Pasal 1 angka 10 KUHAP tidak disebutkan penetapan tersangka termasuk dalam obyek praperadilan. Namun, Sarpin berpendapat, bukan berarti jika tidak disebutkan kemudian bukan wewenang praperadilan. Menurut Sarpin, di dalam Undang-Undang Kehakiman, hakim memiliki wewenang mengadili sebuah perkara yang belum ada di dalam aturan. "Tujuannya, memberi tafsir yang dapat dipertanggungjawabkan," ujarnya.

Monday, 23 February 2015

Bagaimana Cara Kerja Kincir Angin

Turbin angin adalah kincir angin yang digunakan untuk membangkitkan tenaga listrik. Turbin angin ini pada awalnya dibuat untuk mengakomodasi kebutuhan para petani dalam melakukan penggilingan padi, keperluan irigasi, dll. Turbin angin terdahulu banyak dibangun di Denmark, Belanda, dan negara-negara Eropa lainnya dan lebih dikenal dengan Windmill.

Kini turbin angin lebih banyak digunakan untuk mengakomodasi kebutuhan listrik masyarakat, dengan menggunakan prinsip konversi energi dan menggunakan sumber daya alam yang dapat diperbaharui yaitu angin. Walaupun sampai saat ini pembangunan turbin angin masih belum dapat menyaingi pembangkit listrik konvensional (Contoh: PLTD,PLTU,dll), turbin angin masih lebih dikembangkan oleh para ilmuwan karena dalam waktu dekat manusia akan dihadapkan dengan masalah kekurangan sumber daya alam tak terbaharui (Contoh : batubara, minyak bumi) sebagai bahan dasar untuk membangkitkan listrik.

Monday, 28 April 2014

Contoh Program Java: Sort dan Search Memakai Library Arrays

Pengurutan dan pencarian adalah topik yang senantiasa berhubungan. Setidaknya data yang sudah terurut akan memudahkan pencarian. Untuk data berukuran kecil mungkin belum terasa. Namun, jika data sudah berukuran besar, pencarian yang efektif menjadi hal yang sedemikian penting.

Ada cukup banyak metode pencarian maupun pengurutan yang bisa kita temukan di internet. Di dalam topik pengurutan kita kenal bubble sort, selection sort, insertion sort hingga yang melibatkan rekursi seperti quick sort dan merge sort. Sedangkan dalam hal pencarian kita kenal metode sequential dan indexed sequential search serta binary search.

Mengingat pentingnya kedua topik tersebut, bahasa pemrograman Java telah menyediakan pustakan khusus untuk menanganinya. Programmer tidak perlu lagi menulis source code dari awal. Dengan memakai pustaka Arrays yang ada dalam paket java.util, sorting dan searching dapat dilakukan dengan begitu mudahnya. Berikut ini contoh programnya:

import java.util.Arrays; //import pustaka
/**
*
* @author bluejundi
*/
public class sortnsearch {
static int data [] = {2,5,1,3,9,6,0,7,8}; //siapkan array-nya
public static void main(String args[])
{
Arrays.sort(data); //panggil method sorting
System.out.println(Arrays.toString(data)); //tampilkan hasil sorting
int key = 7; //set kunci yang akan dicari
int indeks_kunci = Arrays.binarySearch(data, key); //panggil method binary search
System.out.println("Kunci "+key+" ditemukan di indeks "+indeks_kunci); //tampilkan hasil search
}
}

Download file: sortnsearch.java

Tuesday, 18 March 2014

Rekursi: Towers of Hanoi

Salah satu studi kasus yang paling terkenal dalam pembelajaran bab fungsi rekursi adalah Towers of Hanoi (Menara Hanoi). Konon menurut sebuah literatur, di daerah Hanoi (Vietnam) terdapat sebuah kuil yang melombakan pemindahan piringan-piringan dari sebuah tiang ke tiang yang lain. Perlombaan tersebut diikuti oleh para biksu.

Aturan mainnya adalah memindah piringan hanya boleh satu saja sekali angkat untuk dipindahkan ke tiang lain. Tiang yang disediakan sejumlah 3 buah, salah satunya adalah tiang bantuan. Di tiang asal terdapat sejumlah piringan yang telah tersusun dengan urut dari besar kemudian semakin ke atas semakin mengecil. Tujuannya adalah memindahkan semua piringan ke tiang tujuan dengan posisi yang kembali urut sebagaimana semula. Selama pemindahan tidak diperbolehkan ada susunan piringan yang mana piringan yang lebih kecil berada di bawah yang lebih besar.

Berikut ini adalah contoh source code programnya dalam bahasa Java untuk menyelesaikan kasus tersebut. Dengan teknik rekursi, program menjadi lebih sederhana namun sangat powerfull untuk menyelesaikan permasalahan:

public class hanoi
{
static int langkah;
public static void towers( int n, char from, char to, char aux)
{
if ( n == 1 ) {
langkah++;
System.out.println(langkah + ". Pindahkan disk 1 dari "+ from +" ke "+ to);
return;
}
towers( n - 1, from, aux, to );
langkah++;
System.out.println(langkah + ". Pindahkan disk "+ n +" dari "+ from +" ke "+ to);
towers( n - 1, aux, to, from );
}
public static void main(String[] args) {
towers(3,'A','C','B');
}
}

Thursday, 5 December 2013

Contoh Program Java OOP Relasi Class (Studi Kasus Sepeda Motor)

Dalam studi kasus sepeda motor, awalnya hanya melibatkan satu buah class, yaitu class sepedamotor. Dalam artikel ini akan dikembangkan kasusnya dengan melibatkan class lain yaitu class orang. Class orang muncul karena dalam kehidupan sehari-hari (proses bisnis dunia nyata), setiap sepeda motor pasti (akan) ada pemiliknya. Dan pemiliknya adalah orang/ manusia. Di dalam class orang untuk sementara cukup diwakili dengan data member nama, alamat dan KTP. Method yang dibuat adalah sebuah constructor berparameter, method beli_motor, dan daftar_motor. Karena asumsinya seseorang bisa memiliki lebih dari satu, maka disiapkan array untuk menyimpan obyek sepeda motor di dalam class orang. Ini yang biasa disebut class container. Source code lengkapnya di link berikut ini:

>> Source code <<
class sepedamotor
class orang
class aplikasi

Catatan: Ubah ekstensi .doc, menjadi .java terlebih dulu :)

Monday, 14 January 2013

Program Java: Circular Queue Memakai Linked List

Circular queue adalah salah satu jenis queue dengan karakteristik model antrian yang kedua ujungnya terhubung. Yaitu, setelah data terakhir adalah data paling awal. Dan sebaliknya, sebelum data paling awal data yang paling belakang. Kelebihan jenis ini adalah alokasi penyimpanan data yang optimal dan dinamis. Hal ini disebabkan penambahan maupun pengurangan data/ item antrian yang baru selalu menempati pos kosong yang disediakan sistem. Berikut file contoh programnya:

- file class
- file main

Untuk bisa menjalankan:
1. Ubah ekstensi file download-an dari .java.doc menjadi .java saja.
2. Letakkan kedua file tersebut ke dalam project yang sama (lebih baik jika project baru).
3. Klik kanan pada file menu, kemudian pilih "Running".

nb: thanks to prasanti "asti" asrining puri

Wednesday, 20 June 2012

Library (Pustaka) Queue dalam Bahasa Pemrograman Java

Sama halnya dengan library Linked List maupun Stack, bahasa pemrograman Java juga telah menyediakan pustaka khusus untuk implementasi struktur data queue (antrian). Dengan adanya pustaka ini, programmer tidak perlu lagi menuliskan class dan method primitif untuk queue. Sebaliknya, programmer cukup mendeklarasikan obyeknya dan langsung memanggil/ menjalankan fungsi-fungsi (method) yang diinginkan.

Dalam penjelasan resmi di situs oracle.com, ada 5 method utama dalam pustaka queue. Yaitu element(), offer(object), peek(), poll(), dan remove(). Berikut ini contoh program sederhananya:

import java.util.LinkedList;
import java.util.Queue;

/**
*
* @author javadb.com
*/
public class Main {

/**
* Example method for using a Queue
*/
public void queueExample() {

Queue queue = new LinkedList();

//Using the add method to add items.
//Should anything go wrong an exception will be thrown.
queue.add(“item1″);
queue.add(“item2″);

//Using the offer method to add items.
//Should anything go wrong it will just return false
queue.offer(“Item3″);
queue.offer(“Item4″);

//Removing the first item from the queue.
//If the queue is empty a java.util.NoSuchElementException will be thrown.
System.out.println(“remove: ” + queue.remove());

//Checking what item is first in line without removing it
//If the queue is empty a java.util.NoSuchElementException will be thrown.
System.out.println(“element: ” + queue.element());

//Removing the first item from the queue.
//If the queue is empty the method just returns false.
System.out.println(“poll: ” + queue.poll());

//Checking what item is first in line without removing it
//If the queue is empty a null value will be returned.
System.out.println(“peek: ” + queue.peek());

}

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
new Main().queueExample();
}
}

Sumber:
- http://www.javadb.com/using-a-queue-or-linkedlist
- http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Queue.html