Nonymo

Welcome

Nonymo

Welcome

Nonymo

Welcome

Nonymo

Welcome

Nonymo

Welcome

Nonymo

Welcome

Sabtu, 27 Desember 2014

Binary Search - Phyton

Assalamualaikum wr.wb

woke kali ini, ane bakalan membeberkan salah satu algoritma Divide and Conquer atau dalam bahasanya adalah Bagi dan Selesaikan yaitu BINARY SEARCH (Pencarian Biner). Algoritma ini tidak termasuk kedalam algoritma brute force karena keefisienannya dalam mengurangi penggunaan memori apabila datanya yang tidak tergolong sedikit.

Pencarian Biner (Binary Search) dilakukan untuk :

  • memperkecil jumlah operasi pembandingan yang harus dilakukan antara data yang dicari dengan data yang ada di dalam tabel, khususnya untuk jumlah data yang sangat besar ukurannya.
  • Prinsip dasarnya adalah melakukan proses pembagian ruang pencarian secara berulang-ulang sampai data ditemukan atau sampai ruang pencarian tidak dapat dibagi lagi (berarti ada kemungkinan data tidak ditemukan).

Syarat utama dalam penggunaan binary search adalah data yang digunakan mesti Terurut. mau itu Ascending maupun Descending.

Pseucodenya :

 //Deklarasi
 data = dalam bentuk array terurut
 batasbawah = 0 
 batasatas = banyaknya data
 ketemu = False
 //Input angka yang ingin dicari
 cari = input()
 while (batasbawah <= batasatas) do
   tengah = (l + batasatas) div 2  
   nilaitengah = data[tengah])  
   if (knilaitengah > cari) then
     batasatas = tengah - 1  
   else if (nilaitengah < cari) then
     batasbawah = tengah + 1  
   else 
     ketemu = True
   end if
 end while

berikut tadi barusan pseucodenya... nah ane udh mengubahnya ke dalam bentuk phyton dan ini sesuai dengan pseucodenya.

 def BinarySearch(data):   
   //Example data = [1,2,4,5,8,12,24,56]  
   l = 0  
   h = len(d1)-1  
   cari = 5  
   while (l<=h):  
     mid = (l + h) //2  
     key = int(d1[mid])  
     if (key > cari):  
       h = mid - 1  
     elif (key < cari) :  
       l = mid + 1  
     else :  
       return True  
   return False  

contoh penggunaan binary search. kita ingin mencari angka 11

  • Apakah angka lebih besar dari 8? (Ya)
  • Apakah angka lebih besar dari 12? (Tidak)
  • Apakah angka lebih besar dari 10? (Ya)
  • Apakah angkat lebih besar dari 11? (Tidak)
  • kalau ketemu kembalikan Ketemu = True, kalu tidak kembalikan nilai menjadi False.
berikut binary search atau pencarian biner. apabila ada pertanyaan yang ingin diajukan silahkan tulis di komentar :D.

Wassalamualaikum wr.wb

Senin, 23 September 2013

Pembahasan Soal BNPCHS 2010


Assalamualaikum Wr.Wb

disini ane bakalan mosting sesuatu yang ada sangkut-pautnya ama pemrograman.. kalo ane pribadi sih,, kurang mendalami di bahasa pemrograman selain Java dan Pascal...

maka dari itu,, berhubung ane juga mau ngeshare ama yg mau belajar pemrograman..
nah ga usah basa-basi-basu-bakso lagi, langsung aje cekidot..

ane mau ngebahas soal yang diujikan dalam kompetisi BNPCHS di Binus.. gile aje yee baru babak penyisihan soalnya naujubile merepotkan..
inih dia tersangka...

SOAL BABAK PENYISIHAN BNPCHS 2010
1. TARIF TAXI
soalnye bise diliat dimari  :  Tarif Taxi

Penyelesaiannya :

import java.io.*;
/**
 *
 * @author renaldi
 */
public class taxi {

    /**

     * @param args the command line arguments
     */
    public static void main(String[] args) throws IOException {
        int a,b,t,j,jr,h;

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        System.out.print("Masukkan Jumlah Perhitungan Taksi:");
        t = Integer.parseInt(br.readLine());
        for (j=1;j<=t;j++) {
            System.out.print("Masukkan Harga Tarif Kurang dari 2 KM + Buka Pintu Taksi :");
            a = Integer.parseInt(br.readLine());
            System.out.print("Masukkan Harga Tarif Lebih dari 2 KM :");
            b = Integer.parseInt(br.readLine());
            System.out.print("Masukkan Jarak Perjalanan dalam meter :");
            jr = Integer.parseInt(br.readLine());

            h = a + b *(jr - 2000) / 100;

            if (jr>2000) {h = jr*b/100;}
            System.out.println("Harga Argo Bernilai:"+h);
        }
     }
 }


2. Lima Terbaik
soalnye bise diliat dimari  :  Lima Terbaik

Penyelesaian 


import java.io.*;
/**
 *
 * @author renaldi
 */
public class limaterbaik {
    public static void main(String[] args) throws IOException {
        int t, t2, i, i2, u1, u2, hsl, n;
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        System.out.print("Masukkan Jumlah Perhitungan 5 Angka Terbaik : ");
        t = Integer.parseInt(br.readLine());

        for (i=1;i<=t;i++) {
        System.out.print("Berapa Banyak angka yang akan di gunakan : ");
        t2 = Integer.parseInt(br.readLine());
        int[] a1 = new int[1000];
            for (i2=1; i2<=t2; i2++) {
            System.out.print("Masukkan Angka Ke "+ i2+" : ");
            a1[i2] = Integer.parseInt(br.readLine());
            }
            //Program Pemecah angka terbesar
            for (i2=1; i2<=5; i2++) {
                for (u1=i2+1;u1<=t2;u1++) {
                    if (a1[i2] < a1[u1]) {
                        u2 = a1[i2];
                        a1[i2] = a1[u1];
                        a1[u1] = u2;
                    }
                }
            }
                    hsl = 0;
                    for (i2=1;i2<=5;i2++) {
                        hsl = hsl + a1[i2];
                    }
             System.out.println("Nilai Akhir : "+ hsl);
            }
        }
}

3. Potong Gaji.
menurut ane soal ini lumayan sulit dibanding sebelumnya ,
bisa diliat dimari : Potong Gaji

Penyelesaian : 


import java.io.*;
/**
 *
 * @author renaldi
 */
public class potongaji {
    public static void main(String args[]) throws IOException {
        int loop, loop1, loop2, loop3, loop4, gantiloop2, gantiloop3, jkaryawan, M;

        BufferedReader input;
        InputStreamReader isr;
        isr = new InputStreamReader(System.in);
        input = new BufferedReader(isr);

        System.out.print("Masukkan Perulangan Potong Gaji : ");
        loop = Integer.parseInt(input.readLine());
        for (loop1=1;loop1<=loop;loop1++) {
            System.out.print("Masukkan Jumlah Karyawan : ");
            jkaryawan = Integer.parseInt(input.readLine());

            System.out.print("Total Gaji Maksimal : ");
            M = Integer.parseInt(input.readLine());
            int[] m = new int[10000];
            for (loop2=1; loop2<=jkaryawan; loop2++ )
            {
                //gantiloop2 = loop2 + 1;
                System.out.print("Masukkan Gaji Karyawan "+loop2+" : ");
                m[loop2] = Integer.parseInt(input.readLine());
            }

            // proses mencari H
            int gajiup, totalgaji=0, sisagajih = 0, gajipatungan=0, gajipotong=0;
            gajiup = M / jkaryawan;
            for (loop3=1; loop3<=jkaryawan; loop3++) {
                totalgaji= totalgaji + m[loop3];
            }
            if (totalgaji>M) {
            for (loop3=1; loop3<=jkaryawan; loop3++) {
                if (m[loop3]>M) {
                m[loop3] = m[loop3]/10;
                }

                if (m[loop3]<gajiup) {
                    sisagajih = sisagajih + gajiup - m[loop3];
                }
            }
            gajipatungan = sisagajih / (jkaryawan-1);
            gajipotong = gajiup + gajipatungan;

            } else {
            gajipotong = -1;
            }
            System.out.println("Total Gaji : "+totalgaji);
            System.out.println("Gaji Yang Harus Dipotong Sebesar : "+gajipotong);
        }
    }
}

Nah,, itu tadi adalah macam soal dan penyelesaian.. apabila ada pertanyaan silahkan tulis di komentar.
Salam Laes
Assalamualaikum Wr.Wb

Jumat, 15 Februari 2013

President Myanmmar site has Down By Anonymous Indonesia


Assalamualaikum
Dear Brother & Sister
We're Anonymous Indonesia

Today, at Friday - 15 February 2013
Myanmmar was started this war, and we wouldn't end it.
We're not playing game, We gave them their food , enjoy it , it free, it such a gift for you all.

This is not the first, but this is a thousands feed for U Myanmmar




Myanmmar Insulted Muslims, We won't Forgive them till they stop insulting Muslim.

We're Anonymous.
We're Legion.
We do not Forgive.
We do not Forget.
Expect Us.


Kamis, 06 Desember 2012

Mengenal Bahasa Java

Kali ini Saya Penulis akan share tentang java. Untuk mahir dalam java, anda harus mengenal java terlebih dahulu apa itu bahasa java ,
Seperti apa sih java .. check it out


Sejarah Java

Java dipelopori oleh James Gosling, Patrick Naughton, Chris Warth, Ed Frank, dan Mike Sheridan dari Sun Microsystems, Inc pada tahun 1991. Mereka membutuhkan kurang lebih 18 bulan untuk membuat versi pertamanya. Bahasa ini pada awalnya disebut “Oak” tapi kemudian diubah menjadi “Java” pada tahun 1995 karena nama Oak telah dijadikan hak cipta dan digunakan sebagai bahasa pemrograman lainnya. Antara pembuatan Oak pada musim gugur 1992 hingga diumumkan ke publik pada musim semi 1995, banyak orang yang terlibat dalam desain dan evolusi bahasa ini. Bill Joy, Arthur van Hoff, Jonathan Payne, Frank Yellin, dan Tim Lindholm merupakan kontributor kunci yang mematangkan prototipe aslinya.

Java Modern
Java telah digunakan dalam banyak hal dan telah membuktikan keberadaannya pada abad ke 21. Saat ini, Java digunakan bermacam jenis aplikasi seperti aplikasi embedded, aplikasi keuangan, desktop, simulasi pesawat, pemrosesan citra, game, aplikasi perusahaan terdistribusi yang disebut J2EE dan masih banyak lagi.
Java Virtual Machine (JVM)
Java Virtual Machine merupakan aplikasi sederhana yang ditulis dalam bahasa C untuk mengeksi program yang ditulis dalam bahasa Java. Pada saat kompilasi (perubahan dari bahasa tingkat tinggi ke bahasa lebih rendah), program tersebut diubah menjadi KODE BYTE. Kemudian pada saat eksekusi, JVM membaca kode byte tersebu dan mengubahnya menjadi bahasa mesin yang dimengerti oleh sistem operasi tempat program tersebut dijalankan.
Karena JVM sangat bergantung pada platformnya (bahasa mesin merupakan bahasa level rendah yang hanya dimengerti oleh suatu mesin tertentu, misalnya Intel, tapi tidak dapat dimengerti oleh mesin lain, seperti Macintosh), byte code ini dapat dibuat untuk terbebas dari kungkungan platform tertentu. Code byte yang dihasilkan dalam proses kompilasi bahasa Java akan selalu sama untuk setiap sistem operasi atau jenis mesinnya, tetapi JVM akan mengubah kode byte tersebut menjadi bahasa mesin tujuannya.
Just In Time Compiler (JIT)
Meskipun Java didesain untuk diinterpretasi, secara teknis tidak ada yang menghalangi Java untuk dikompilasi menjadi bahasa mesin seperti bahasa-bahasa pemrograman lainnya. Sun menyediakan kompiler Just In Time Compiler (JIT) untuk mengkompilasi kode byte itu menjadi bahasa mesinnya pada saat yang bersamaan dengan eksekusinya. Walaupun demikian, pendekatan JIT ini menghasilkan kemampuan yang lebih dibandingkan dengan interpretasi biasa.

Demikian tentang pengenalan bahasa java..

Minggu, 02 Desember 2012

Anonymous Declared war to Illuminati up 2012

Hello Citizens of the world
We Are Anonymous

Dear Brothers and Sisters

Game over word, game over Illuminati
Anonymous Personal leaked info of Illuminati
Their Member, Location, Family, Plans, Meeting Place.
Members - Oldest Member Of Bloodlines :
  • Julian Wessly
  • Mark Rogers
  • William Skype
  • Matthew Simmons
  • Leroy Mccart
Puppets :
  • George Bush
  • Barrak Obama
  • Charles Schumer
  • Curtis James Jackson III
  • Mijolaj Dowgielewic
  • Herman Van Rompuy
  • Many More...
Their Meeting Place with the High Secure Location in:
  • Vatican
  • New Zealand
  • La
  • Egypt
Illuminati Plans in 2012
  1. Destructive Happ Tesla's Teghnology Providing Earthquakes, would be used on europe in February.
  2. Warning >> Don't Watch Upcoming Movies in 3D Format, Black-White Contrast Color Brain Simulation
  3. 4 New world's Superstar 2 From Romania, 2 From California
  4. Expanding Radiation
  5. New Puppets Member
  6. Illuminati will take 75% off all social network, Youtube is already done.
Anonymous has managed to leak Audio Recording And Few Formats

We are Anonymous
We are Legion
We do not Forgive
We do not Forget
Expect Us