Wednesday, November 20, 2019

Looping Rekursif, For, dan While

Halo guys! Kali ini saya akan membagikan tentang teknik perulangan pada JAVA. Ada banyak teknik perulangan pada JAVA, tapi pada blog kali ini saya akan membahas tentang teknik rekursif. Apa itu teknik rekursif? Singkatnya saya simpulkan teknik rekursif adalah teknik yang dapat mengulang method itu sendiri dan akan berhenti sampai memenuhi suatu kondisi. Kalian dapat mencari definisi tentang teknik rekursif di google untuk penjelasan lebih lanjut. Berikut adalah penerapan 3 teknik perulangan yaitu rekursif, for dan while.

1. Rekursif

Dapat dilihat pada gambar, method rekursif kembali mengulang method rekursif itu sendiri. Ketika nilai x kurang dari 200, maka x= nilai x + 2. Kemudian method rekursif kembali menjalankan nilai x dan akan berhenti ketika nilai x<200.

2.  For


3. While

Method Main
Seluruh method perulangan yang telah dibuat dipanggil ke method main dan dijalankan bersama-sama. Mari kita lihat perbedaan kecepatan antara ketiga teknik perulangan diatas.

Satuan waktu yang digunakan adalah nanosecond/1000.

Dapat dilihat pada gambar bahwa teknik perulangan for lebih cepat dibanding rekursif dan while. Namun tidak berarti teknik for merupakan teknik tercepat dan terbaik. Waktu yang ditempuh akan berubah-ubah. Spesifikasi laptop, jenis aplikasi yang digunakan, banyaknya aplikasi background yang sedang berjalan, banyaknya karakter coding dalam setiap method perulangan juga dapat mempengaruhi kecepatan teknik perulangan. Sekian blog hari ini, semoga bermanfaat^^

Thursday, October 24, 2019

Bubble Sort

Algoritma Bubble Sort merupakan proses pengurutan yang secara berangsur-angsur berpindah ke posisi yang tepat karena itulah dinamakan Bubble yang artinya gelembung. Algoritma ini akan mengurutkan data dari yang terbesar ke yang terkecil (ascending) atau sebaliknya (descending). Secara sederhana, bisa didefenisikan algoritma Bubble Sort adalah pengurutan dengan cara pertukaran data dengan data disebelahnya secara terus menerus sampai dalam satu iterasi tertentu tidak ada lagi perubahan. Berikut cara kerja teknik pengurutan bubble sort.

Cara Kerja Bubble Sort
Pada kasus diatas, kita memiliki sejumlah data acak yaitu 6,5,4,3,2,1 (bukan acak lagi malah menurun hehe). Nah kita ingin mengurutkan data acak diatas secara meningkat dari kecil ke besar (ascending). Bisa dilihat pada gambar, teknik bubble sort ini membandingkan satu persatu indeks/ angka hingga menemukan hasil pengurutan yang diinginkan. 

Soal diatas baru membandingkan 6 angka saja. Tentu saja waktu yang dibutuhkan untuk mengurutkannya tidak sampai satuan detik (bahkan nanodetik). Hari ini kita akan melihat bagaimana perbandingan waktu jika kita ingin mengurutkan lebih dari 90 angka acak. Angka acak akan ditentukan secara otomatis karena saya menggunakan penomoran otomatis dari Java.

Auto-generate number java
  • Pengurutan 100 angka random

Waktu yang dibutuhkan adalah 195.800 nanodetik

  • Pengurutan 1000 angka random

Waktu yang dibutuhkan adalah 4.745.700 nanodetik

  • Pengurutan 10.000 angka random
Waktu yang dibutuhkan adalah 249.898.600 nanodetik

Dapat disimpulkan bahwa semakin banyak angka yang akan diurutkan, maka akan semakin lama waktu untuk mengurutkan sejumlah bilangan acak tersebut. Waktu pengurutan juga bergantung pada panjangnya coding dan jumlah aplikasi yang berjalan didepan maupun dibelakang layar. Mungkin sekian saja untuk bubble sort ini, terimakasih^^.










Monday, October 8, 2018

Bahasa dan Automata

1. Bahasa dari segi linguistik dan komputasi
    Dari segi linguistik, bahasa  merupakan sebuah alat yang digunakan manusia untuk saling berkomunikasi satu sama lain. Bahasa merupakan suatu bunyi unik yang mempunyai makna dan bervariasi. Sedangkan dari segi komputasi, bahasa merupakan sebuah alat penerjemah/ pemecah masalah pada masalah. Bahasa secara komputasi juga merupakan alat manusia untuk berkomunikasi dengan komputer.

2. Automata dan kegunaannya
    Automata adalah  mesin abstrak yang dapat mengenali (recognize), menerima (accept), atau membangkitkan (generate) sebuah kalimat dalam bahasa tertentu. Kegunaan automata adalah sebagai pengenal, penerima, atau pembangkit bahasa tertentu dalam bidang komputasi.


3. Himpunan, relasi dan fungsi
   Himpunan adalah kumpulan benda atau objek yang dapat didefinisikan dengan jelas. Benda atau objek dalam himpunan disebut elemen atau anggota himpunan. Dari definisi tersebut, dapat diketahui objek yang termasuk anggota himpunan atau bukan. Contoh himpunan alat-alat tulis, anggota himpunannya adalah pulpen, pensil, spidol, dan kapur.

Relasi adalah aturan yang menghubungkan setiap anggota himpunan A ke himpunan B. Dimana A disebut domain (daerah asal) dan B disebut kodomain (daerah kawan). Relasi dari himpunan A ke himpunan B adalah hubungan yang memasangkan anggota-anggota himpunan A dengan anggota-anggota himpunan B. Dalam mengerjakan soal relasi dapat dikerjakan menggunakan tiga metode yaitu diagram panah, diagram cartesius, dan himpunan pasangan berurutan.

Fungsi adalah aturan yang mengubungkan setiap anggota A tepat satu ke anggota himpunan B (relasi khusus). Range (daerah hasil) adalah himpunan bagian dari B (kodomain) yang telah mempunyai pasangan di A. Perbedaan relasi dan fungsi adalah, jika pada fungsi, tiap anggota domain hanya boleh memiliki satu pasangan pada kodomain, sedangkan pada relasi, tiap anggota domain boleh memilik lebih dari satu pasangan pada kodomain.

4. Simbol, abjad, dan string.
    Simbol adalah suatu lambang, tanda atau isyarat yang digunakan untuk mewakili sesuatu yang lain. 

Abjad adalah himpunan terbatas simbol. Contohnya alfabet latin yang terdiri dari simbol a, b, c, d, e, dll. 

String adalah deretan simbol-simbol. Dalam pemrograman komputer string adalah sebuah deret simbol dan tipe data string pada JAVA adalah tipe data yang digunakan untuk menyimpan barisan karakter.



Sumber: 

Saturday, January 6, 2018

TUGAS 5 SISTEM DIGITAL_011170015

Penyederhanaan Fungsi Boolean

Jika ada yang kurang benar mohon dikoreksi di kolom komentar ya! Terimakasih!



Monday, December 11, 2017

Monday, October 16, 2017

TUGAS 3 SISTEM DIGITAL_01117015

Pada kesempatan kali ini saya akan membahas beberapa contoh soal aritmatika pada bilangan biner. Jika ada kesalahan saya mohon maaf dan boleh meninggalkan komentar pada kolom komentar yang tersedia. Mengenai hal penjelasan darimana cara memperoleh jawabannya, boleh dibaca pada sumber yang tertera dibawah ini:

  1. https://www.academia.edu/33371785/Operasi_Aritmatika_Bilangan_Biner
  2. https://banjirochiko.blogspot.co.id/2014/09/operasi-aritmatik-penjumlahan.html





































Sunday, October 8, 2017

TUGAS 2 SISTEM DIGITAL_011170015

Sistem Bilangan atau Number System adalah suatu cara untuk mewakili besaran dari suatu item fisik. Sistem Bilangan menggunakan suatu bilangan dasar atau basis (base / radix) yang tertentu.  Sistem bilangan yang umum digunakan dalam sistem digital adalah :
·         Desimal
·         Biner
·         Oktal
·         Hexadesimal

      Desimal


  •          Desimal/ persepuluhan/ basis 10/ radiks 10
  •         Simbol bilangan yaitu : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
  •          Contoh : 64(10), 128(10), 128(D)


Biner


  •         Biner adalah bilangan basis 2/ radiks 2
  •         Terdiri dari 2 simbol yaitu 0 (off/false) dan 1 (on/true)
  •         Contoh : 00110011(2), 1001(2), 1001(B)



Oktal


  •        Oktal adalah bilangan basis 8/ radiks 8
  •        Terdiri dari 8 simbol yaitu 0, 1, 2, 3, 4, 5, 6, 7
  •        Contoh : 115(8), 115(O)

 Hexadesimal


  •          Hexadesimal berarti bilangan basis 16/ radiks 16
  •          Hexa berarti 6 dan desimal berarti 10
  •          Hexadesimal memadukan 2 unsur yaitu angka dan huruf

  •          Terdiri dari 16 simbol yaitu 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
  •          Contoh: B3(16), B3(H)

Looping Rekursif, For, dan While

Halo guys! Kali ini saya akan membagikan tentang teknik perulangan pada JAVA. Ada banyak teknik perulangan pada JAVA, tapi pada blog kali i...