Selasa, 10 Juni 2014

Sorting

Sorting dibagi menjadi :
-Bubble Sort
-Selection Sort
-Insertion Sort
-Merge Sort


Definisi sorting(pengurutan)
-Sorting nomor, huruf, kata atau nilai dengan aturan tertentu
-Menggambarkan pemecahan masalah
-Teknik  menggunakan seleksi(selection), looping, method dan array
-Demonstrate perform/algoritma kompleksitas
-Menpercepat proses pencarian




Ascending > Sort dari kecil ke besar
Descending > Sort dari besar ke kecil

Bubble sort
Metode gelembung (bubble sort) sering juga disebut dengan metode penukaran (exchange sort) adalah metode yang mengurutkan data dengan cara membandingkan masing-masing elemen, kemudian melakukan penukaran bila perlu. Metode ini mudah dipahami dan diprogram, tetapi bila dibandingkan dengan metode lain yang kita pelajari, metode ini merupakan metode yang paling tidak efisien


Selection sort
Selection Sort merupakan salah satu algoritma pengurutan yang sederhana. Ide  dasarnya adalah melakukan beberapa kali pass untuk melakukan penyeleksian elemen struktur data. Untuk sorting ascending (menaik), elemen yang paling kecil di antara elemen-elemen yang belum urut, disimpan indeksnya, kemudian dilakukan pertukaran nilai elemen dengan indeks yang disimpan tersebut dengan elemen yang paling depan yang belum urut. Sebaliknya, untuk sorting descending (menurun), elemen yang paling besar yang disimpan indeksnya kemudian ditukar.



Insertion sort
Algoritma insertion sort ini merupakan algoritma sederhana yang cukup efisien untuk mengurutkan sebuah list yang hampir terurut. Algorima ini juga bisa digunakan sebagai bagian dari algoritma yang lebih canggih. Cara kerja algoritma ini adalah dengan mengambil elemen list satu-per-satu dan memasukkannya di posisi yang benar
Untuk menghemat memori, implementasinya menggunakan pengurutan di tempat yang membandingkan elemen saat itu dengan elemen sebelumnya yang sudah diurut, lalu menukarnya terus sampai posisinya tepat. Hal ini terus dilakukan sampai tidak ada elemen tersisa di input.


Quick sort
Salah satu algoritma yang menggunakan paradigma Divide and Conquer adalah Algoritma Quick  Sort. Algoritma ini mengambil salah satu elemen secara acak (biasanya dari tengah) yang disebut dengan pivot  lalu menyimpan semua elemen yang lebih kecil di sebelah kiri pivot  dan semua elemen yang lebih besar di sebelah kanan pivot. Hal ini dilakukan secara rekursif terhadap elemen di sebelah kiri dan kanannya sampai semua elemen sudah terurut.

Merge sort
Banyak digunakan untuk mengurutkan dua atau lebih tabel yang sudah terurutkan menjadi satu tabel yang terurutkan juga. Tabel yang beranggotakan n dibagi menjadi n subtabel, kemudian digabungkan menjadi satu tabel.

Minggu, 08 Juni 2014

OOP [Object Oriented Programming]



OOP (Object Oriented Programming) adalah suatu metode pemrograman yang berorientasi kepada objek
Tujuan dari OOP diciptakan adalah untuk mempermudah pengembangan program dengan cara mengikuti model yang telah ada di kehidupan sehari-hari. Jadi setiap bagian dari suatu permasalahan adalah objek, nah objek itu sendiri merupakan gabungan dari beberapa objek yang lebih kecil lagi.

Karakteristik OOP (Object Oriented Programming) :
-Semua adalah objek.
-Komputasi dilakukan dengan komunikasi antar objek. Setiap objek berkomunikasi dengan objek yang lain melalui pengiriman dan penerimaan pesan.
-Sebuah pesan merupakan permintaan atas sekumpulan aksi dengan semua argumen yang diperlukan untuk menyelesaikan suatu tugas tertentu.
-Setiap objek memiliki memori sendiri, yang dapat terdiri dari objek-objek lainnya.
-Setiap objek adalah wakil atau representasi dari suatu kelas. Sebuah kelas dapat mewakili sekelompok objek yang sama.
-Kelas merupakan kumpulan tingkah laku yang berkaitan dengan suatu objek. Jadi, semua objek yang merupakan wakil dari kelas yang sama dapat melakukan aksi yang sama pula.
-Kelas-kelas diorganisasikan ke dalam struktur pohon yang berakar tunggal, yang dinamakan dengan jenjang pewarisan (inheritance hierarchy).


Pewarisan (Inheritance)
Kita dapat mendefinisikan suatu kelas baru dengan mewarisi sifat dari kelas lain yang sudah ada.
Penurunan sifat ini bisa dilakukan secara bertingkattingkat, sehingga semakin ke bawah kelas tersebut menjadi semakin spesifik.
Sub kelas memungkinkan kita untuk melakukan spesifikasi detail dan perilaku khusus dari kelas supernya.
Dengan konsep pewarisan, seorang programmer dapat menggunakan kode yang telah ditulisnya pada kelas super berulang kali pada kelas-kelas turunannya tanpa harus menulis ulang semua kodekode itu.

Kelas Abstrak (Class Abstraksi)
Kelas merupakan deskripsi abstrak informasi dan tingkah laku dari sekumpulan data.
Kelas dapat diilustrasikan sebagai suatu cetak biru(blueprint) atau prototipe yang digunakan untuk menciptakan objek.
Kelas merupakan tipe data bagi objek yang mengenkapsulasi data dan operasi pada data dalam suatu unit tunggal.
Kelas mendefinisikan suatu struktur yang terdiri atas data kelas (data field), prosedur atau fungsi (method), dan sifat kelas (property).

Enkapsulasi (encapsulation)
Istilah enkapsulasi sebenarnya adalah kombinasi data dan fungsionalitas dalam sebuah unit tunggal sebagai bentuk untuk menyembunyikan detail informasi.
Proses enkapsulasi memudahkan kita untuk menggunakan sebuah objek dari suatu kelas karena kita tidak perlu mengetahui segala hal secara rinci.
Enkapsulasi menekankan pada antarmuka suatu kelas, atau dengan kata lain bagaimana menggunakan objek kelas tertentu.
Contoh: kelas mobil menyediakan antarmuka fungsi untuk menjalankan mobil tersebut, tanpa kita perlu tahu komposisi bahan bakar, udara dan kalor yang diperlukan untuk proses tersebut.

Banyak Bentuk (Polimorphism)
Kata "polimorfisme" berarti "banyak bentuk". Ini berasal dari kata Yunani "poli" (berarti banyak) dan "morphos" (artinya bentuk). Untuk contoh, dalam kimia, karbon menunjukkan polimorfisme karena dapat ditemukan di lebih dari satu bentuk: grafit dan berlian. Setiap bentuk memiliki itu memiliki properti yang berbeda.
Contoh Bentuk benda ada yang berupa segitiga,persegi dan yang lainnya.

Jumat, 16 Mei 2014

ArrayList , Vector, Sorting

Haloo semuanya, nah sekarang kita akan belajar menggunakan ArrayList,dan Vector
Let's start!

ArrayList merupakan :

Array dinamis yang bisa digunakan jika membutuhkan array dengan batas maksimum yang tidak terbatas.
ArrayList disimpan dalam paket java.util, sehingga jika ingin menggunakan kelas ArrayList dalam sebuah program, harus memberikan "import.java.util.ArrayList;"di awal program.







Cara menggunakan Arraycopy :
system.arraycopy(sourceArray,0,targetArray,0,2)

Contoh :
A = { a,b,c,d,e,f}
indx   0 1 2 3 4 5
B = {________}

system.arraycopy(A,3,B,0,2);
ini berarti  data A indeks ke 3 dicopy ke data B dari indeks 0 diambil 2.
Maka nanti yang akan tercetak adalah huruf d,e

Fungsi-fungsi yang ada di Array List :
-Add(element) = untuk menambahkan 1 elemen tapi dibelakang.
-Clear() = untuk menghapus semua
-Clone () = untuk membuat copy
-Contains () = mengandung element
-get () = isi dari indeks
-isEmpty = untuk mengecek isi nya ada atau tidak.
-remove = untuk menghapus element yang ada di list,tidak semuanya
-set () = bisa menambahkan 1 elemen dan letaknya bisa dimana saja.
-size () = untuk menjumlahkan elemen.


Vector merupakan :

Suatu bentuk array dinamis,sehingga tidak perlu mengubah ukuran array saat melakukan penambahan pada array yang sudah penuh.Untuk menggunakan vector juga harus menggunakan "impor.java.util.Vector;"di awal program.


Perbedaan Array dan Vector :

Pengaksesan elemen pada vector tidak bisa dilakukan secara langsung, tetapi harus menggunakan Setter dan Getter.Setter dan Getter biasanya digunakan untuk mengambil dan mengeset nilai dari property sebuah object.



Perbedaan Arraylist and Vector :
-Nama metode dari keduanya yang berbeda untuk melakukan tugas yang sama.
-ArrayList tidak thread safe sedangkan Vector sudah thread safe.
-Di dalam Vector semua metode diberi keyword synchronized sedangkan dalam ArrayList tidak ada seperti itu.
-Dalam ArrayList eksekusinya mengalami kemacetan, sedangkan untuk Vector eksekusi nya tidak mengalami kemacetan.

 



Getter = untuk mengambil nilai
Setter = untuk input nilai


Sorting dibagi menjadi :
-Bubble
-Selection
-Information
-Merge
-Quick


b!Nu$!aN 2017

Jumat, 09 Mei 2014

Static and dinamic array


holaaaa!

ini adalah pertemuan pertama setelah UTS..jujur saat uts entah apa yang dipelajarin tiba-tiba smuanya ngeblank dan ga tau mau isi apa..

untunglah gue isi dengan semampu gue..walaupun emang sih hasilnya kurang, tapi gue yakin gue akan berusaha lebihh baik daripada kemarin :)) #ciee

so let's start!

Array adalah sekelompok data yang sejenis yang disimpan ke dalam variabel dengan nama yang sama, dengan memberi indeks pada variabel untuk membedakan antara yang satu dengan yang lainnya

Kelemahan Array :

 - Bersifat fixed

 - Memakan memory

 - Static

 - Homogen

Kelebihan yang dimiliki Array adalah random acsess



Nah sebelumnya kita udah belajar
Sytem.out.print yang digunakan untuk mencetak string dengan format :

%d (untuk int)

%s (untuk string)

%c ( untuk char)

%f ( untuk float)

nah jika nanti kita ketemu%-10s itu tandanya adalah  string kurang dari 10 huruf.


Contoh Array data Type Char :

char[] kota = {'J','a','k','a','r','t','a'};

    System.out.println(kota);

Contoh array dengan Type String :

String[] nama={"Jessy", "Janty", "Janice", "Dony"};

    System.out.println(name[0]);

    System.out.println(name[1]);















Jumat, 18 April 2014

Review Algorithm


Holaaaaaaaa!!!
akhirnya setelah sekiann lamaa...merangkum lagii~~~*tears
mana sebentar lagi UTS ...entah algo gimana nasibnya :" semoga soal nya ga susah" amat*ngarep~
Berikut ini adalah pengulangan lagi dr awal mula pertama kali belajar ALGO!!
Ringkasannya ada di bawah ini..Check it out!!


Algoritma adalah proses atau langkah-langkah untuk memecahkan masalah.

Contoh bahasa pemograman :
- C/C++
- Java
- .net(VB, C#, (C Sharp), ASP, dll

Beberapa versi java :
- Java Card
- J2SE = Java Platform, standart edition
- J2ME = Java Platform, micro edition
- J2EE = Java Platform, enterprise edition


Contoh-contoh scanner :
-in.next
-in.nextline
-in.nextInt()
-in.nextFloat()
-in.nexline(),charAt (0)

Contoh-contoh print :
-println.
-printf.
-print.

INPUT > PROSES > OUTPUT


-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



Algoritma dapat melalui beberapa metode:

–Tulisan/kalimat: pseudocode

–Gambar: Flowchart

–Tabel: NS Diagram


 Pseudocode

-Berasal dari kata pseudo dan code, berarti kode yang tidak sebenarnya

-Deskripsi informal untuk algoritma pada pemrograman komputer  

-Tujuan: memudahkan manusia untuk membaca bahasa pemrograman konvensional

-Tidak ada standar untuk pseudocode karena bukan program yang dapat dieksekusi

-Umumnya dimulai dengan kata “BEGIN” dan diakhiri “END”

-IF-THEN dan ELSE digunakan untuk operasi percabangan/seleksi

-While dan DO-WHILE digunakan untuk operasi perulangan

Contoh :

Soal :

Inputan angka 1 s/d 5. outputnya total bilangan genap

BEGIN
 

                    Sum = 0 ;
                    i = 1 ;
                    input n ;
                    while i < n ;
                                           if i % 2 = 0
                                                              sum - sum + i
                                           end if
                                            i++
                    end while
                    print sum
END 
_____________________________________________________________


Flow Chart


Berikut data Flow chart yang dibuat dengan soal :
Inputan angka 1 s/d 5. outputnya total bilangan genap

 




NS DIAGRAM 
Nassi-Shneiderman adalah kepanjangan dari (NS Diagram).representasi desain grafikal untuk pemrograman terstruktur.NS Diagram: metode penulisan algoritma menggunakan tabel secara top-down.Diagram ini Dikembangkan tahun 1972.Diciptakan oleh Isaac Nassi dan Ben Shneiderman.NS Diagram dikenal dengan structograms.

NS Diagram memiliki 4 notasi yaitu :

- Notasi Proses

- Notasi Seleksi

  - Notasi Pengulangan :
a. While

b. DoWhile 


*nyerah*nyerah liat algoo pusingg 7 kelilinggg maap kawan cukup sampai disini aja rangkumannya wkwkkw~
Thanks untuk waktunya udah membaca dan mengertiin ni rangkuman wkakaka~~


Salam,







Jumat, 28 Maret 2014

Logic : Selection, Iteration, Method

Pertemuannn ke 3~~~
okeiii finee makin bingung gue dengan coddingannn..#oh no!
kayanya kalo mau UTS gue harus siap" bertapa dulu supaya gue bisa ngerjainnya *huhuhu
tetapi gue berasa keren karena gue sekarang jadi tau betapa susahnya membuat program dibanding tinggal make tok :").
Okei disini pertemuan ke 3 hanya sedikit membahas karena minggu depan gue ada quiz *tears.
Semoga gue bisa mengerjakannyaa...amin aminn :DD..okei Let's start!!


Nah disini gue cuma mau bilang juga kalo mau buat coddingan itu :
- Jangan menemukan sesuatu yang sudah pernah dipake gunanya untuk mengurangi coddingan yang sama
- Buat coddingan itu yang bisa dipakai tentunya dan bermanfaat ! :D
- Coddingnya bisa dipakai ulang


Tabel Exor

P
Q
&&
||
^
T
T
T
T
F
T
F
F
T
T
F
T
F
T
T
F
F
F
F
F



 Contoh :

X = 10
Y = 3

y = (x = = 10 & & y > 10) ? 10 : 3
y = 10 = = 10 && 3 > 10
y = T & F
y = False
y = 3

Nah kalo misalnya ingin membuat sebuah segitiga di command ada caranya juga loh..
nah caranya kalian harus mengetik seperti dibawah ini di textpad.
yang dikotak ungu itu untuk membuat segitiganya..
Nah jika ingin segitiga yang dibuat memiliki isi harus menambah command yang berada dikotak hijau


 nah ini diaa command nya :DD bagus kan yaaa hohohohoho...



 Dan dibawah ini adalah contoh bentuk lainnyaaa..





nah selajutnya gue harus bisa bikin coddingan contohnya seperti sistem proses ATM *shock
God bless me :") , doakan gue berhasil ya kawannnnnnn :") stress belajar *telen sendal

Thank you buat semua yang telah membca blog ini :DD semoga blog ini bermanfaat walaupunn yang punya blog ga pinter pinter banget tetapi semoga materi ini bisa dipake oleh semua orang:DD

salam,
Janty B!NU$ian 2017
1701299172