Ada banyak sekali tehnik Looping (perulangan) di dalam JAVA. Salah satunya adalah For, While dan do-While. Tehnik tersebut sangat sering digunakan ketika membuat data dalam jumlah banyak, dengan menggunakan tehnik tersebut kita tidak perlu repot-repot untuk membuat data satu-satu.
Ada satu lagi tehnik Looping yang dipakai di JAVA yaitu Tehnik Rekursif. Rekursif sendiri merupakan teknik memanggil dirinya sendiri secara berulang-ulang. Biasanya rekursif ini di pakai untuk sesuatu yang membutuhkan perulangan seperti factorial. Sebenarnya teknik rekursif ini merupakan teknik yang mudah karena teknik rekursif ini mirip seperti rumus matematika aslinya.
Kali ini kita akan melakukan perbandingan diantara ketiga Looping tersebut yaitu menggunakan For, While dan Tehnik Rekursif. kita akan membandingan Tehnik Looping mana yang lebih cepat.
Kali ini kita akan menggunakan data dalam jumlah banyak yaitu 1000.
Coding dibawah kita menggunakan OOP (Object Oriented Programming)
disini saya membuat 3 method yaitu loopRekursif, loopingWhile dan loopingFor
Hasil Output :
Test 1 :
Test 2 :
Test 3 :
dari hasil percobaan diatas saya mencoba melakukan tiga kali testing untuk run program, jika dilihat di atas Looping for lebih cepat dibandingkan Looping while dan Rekursif.
dapat disimpulkan bahwa ketiga tehnik tersebut memiliki kelemahan dan kelebihan masing-masing tergantung pada program yang dibuat. Pada kasus di atas untuk looping FOR memang cepat tetapi belum tentu pada kasus yang lain, karena dapat berbeda-beda. Tergantung pada kebutuhan masing-masing.
Semoga bermanfaat.
Rabu, 20 November 2019
Rabu, 23 Oktober 2019
Algortima Bubble Sort dan Cara kerja Sorting Bubble Sort
Pengurutan merupakan proses dasar dalam algoritma dan struktur data. Ada banyak sekali tehnik sorting (Pengurutan) dalam algoritma. Salah satunya, Algoritma yang sangat mendasar dan sederhana adalah Algoritma Bubble Sort. Algoritma Bubble Sort ini 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).
Tahapan-tahapan dalam bubble sort dalam melakukan proses sorting dengan membandingkan seluruh data dan melakukan proses pertukuran seperti gambar di bawah ini
Tahapan-tahapan dalam bubble sort dalam melakukan proses sorting dengan membandingkan seluruh data dan melakukan proses pertukuran seperti gambar di bawah ini
Gambar di atas menunjukkan proses ketika algoritma bubble sort diimplementasikan.
Jika kita melihat Proses ke-3 sampai ke-5 data seharusnya tidak perlu di banding ulang, karena dengan proses seperti itu akan memakan waktu proses ketika di jalankan. Bayangkan jika data di atas jumlahnya ada ribuan bahkan jutaan. Maka berapa lama waktu yang akan dibutuhkan?
Tetapi tidak sampai disitu saja Algoritma Bubble sort ini masih bisa kita sederhanakan lagi agar data yang harusnya sudah terurut tidak perlu melakukan proses banding lagi. Dengan menggunakan variable boolean (true/false). Dengan menggunakan variable boolean (true/false) disini kita bisa mengefisienkan perulangan pada algoritma Bubble sort. Dengan cara seperti ini :
Maka, Hasil dari codingan diatas seperti ini
Dari proses di atas kita bisa melihat bahwa proses yang di jalankan dapat lebih efisien dari segi waktu karena di atas proses ke-4 dan ke-5 sudah menghilang. Walaupun proses ke-3 tidak ada melakukan swapping data (pertukaran data) yang seharusnya proses hanya sampai ke-2 tetapi proses ke-3 diperlukan untuk pengecekan terakhir memastikan bahwa seluruh data tidak ada swapping (pertukaran) lagi.
Jadi, penyederhanaan diatas dilakukan pengecekan perblock. Jika dalam satu block tidak melakukan swapping lagi artinya proses berikutnya dihentikan.
Itulah secara singkat penjelasan mengenai Proses algoritma bubble sort. Sekarang kita akan mencoba Sorting bubble sort jika memakai data dalam jumlah yang banyak yaitu 100 dan 1000 dengan menggunakan Auto Gen Random data bawaan JAVA(Penomoran Otomatis), disini kita akan membandingkan seberapa lama proses dijalankan ketika menggunakan tehnik bubble sort dengan satuan waktu nanosecond.
Percobaan Pertama Menggunakan 100 data :
Hasil
Waktu yang dibutuhkan untuk proses sorting di atas adalah 332.100 nanoSecond
Percobaan Kedua Menggunakan 1000 Data
Hasil
Jika kita liat hasil di atas waktu yang di jalankan selama 17.011.201 nanoSecond.
Dapat kita simpulkan bahwa dari perbandingan di atas bahwa semakin banyak jumlah data yang di masukkan maka waktu yang dibutuhkan juga akan semakin lama, lebih tepatnya tergantung pada spesifikasi dari komputer anda. Semakin baik spesifikasi komputer anda maka proses sorting yang dijalankan akan lebih cepat.
Itulah beberapa penjelasan mengenai proses Algoritma Bubble Sort dan beberapa perbandingan jumlah data, semoga dapat bermanfaat
Terima kasih.
Sabtu, 23 Maret 2019
Minggu, 17 Maret 2019
PENJELASAN FLOWCHART DAN DFD ( DATA FLOW DIAGRAM )
DFD ( DATA FLOW DIAGRAM )
1. Pengertian DFD ( Data Flow Diagram )
Data Flow Diagram (DFD) adalah suatu diagram yang menggunakan notasi-notasi untuk menggambarkan arus dari data sistem, yang penggunaannya sangat membantu untuk memahami sistem secara logika, tersruktur dan jelas.
2. Fungsi DFD
Fungsi dari Data Flow Diagram adalah :
- Data Flow Diagram (DFD) adalah alat pembuatan model yang memungkinkan profesional sistem untuk menggambarkan sistem sebagai suatu jaringan proses fungsional yang dihubungkan satu sama lain dengan alur data, baik secara manual maupun komputerisasi.
- DFD ini adalah salah satu alat pembuatan model yang sering digunakan, khususnya bila fungsi-fungsi sistem merupakan bagian yang lebih penting dan kompleks dari pada data yang dimanipulasi oleh sistem. Dengan kata lain, DFD adalah alat pembuatan model yang memberikan penekanan hanya pada fungsi sistem.
- DFD ini merupakan alat perancangan sistem yang berorientasi pada alur data dengan konsep dekomposisi dapat digunakan untuk penggambaran analisa maupun rancangan sistem yang mudah dikomunikasikan oleh profesional sistem kepada pemakai maupun pembuat program.
3. Simbol-simbol yang ada di DFD
4. Contoh DFD Sistem Pendaftaran Mahasiswa Baru
Minggu, 10 Maret 2019
FLOWCHART
A. Pengertian Flowchart
B. Tujuan dalam Pembuatan Flowchart
- Menggambarkan suatu tahapan penyelesaian masalah
- Secara sederhana, terurai, rapi dan jelas
- Menggunakan simbol-simbol standar
C. Jenis-jenis Flowchart
- Bagan alir sistem (systems flowchart).
- Bagan alir dokumen (document flowchart).
- Bagan alir skematik (schematic flowchart).
- Bagan alir program (program flowchart).
- Bagan alir proses (process flowchart).
1. System Flowchart
System flowchart dapat didefinisikan sebagai bagan yang menunjukkan arus pekerjaan secara keseluruhan dari sistem. Bagan ini menjelaskan urut-urutan dari prosedur-prosedur yang ada di dalam sistem. Bagan alir sistem menunjukkan apa yang dikerjakan di sistem.
2. Document Flowchart
Bagan alir dokumen (document flowchart) atau disebut juga bagan alir formulir (form flowchart) atau paperwork flowchart merupakan bagan alir yang menunjukkan arus dari laporan dan formulir termasuk tembusan-tembusannya.
3. Schematic Flowchart
Bagan alir skematik (schematic flowchart) merupakan bagan alir yang mirip dengan bagan alir sistem, yaitu untuk menggambarkan prosedur di dalam sistem. Perbedaannya adalah, bagan alir skematik selain menggunakan simbol-simbol bagan alir sistem, juga menggunakan gambar-gambar komputer dan peralatan lainnya yang digunakan.
4. Program Flowchart
Bagan alir program (program flowchart) merupakan bagan yang menjelaskan secara rinci langkah-langkah dari proses program. Bagan alir program dibuat dari derivikasi bagan alir sistem. Bagan alir program dapat terdiri dari dua macam, yaitu bagan alir logika program (program logic flowchart) dan bagan alir program komputer terinci (detailed computer program flowchart).
D. Tata Cara membuat Flowchart dengan mudah
D. Tata Cara membuat Flowchart dengan mudah
- Flowchart digambarkan dari halaman atas ke bawah dan dari kiri kekanan.
- Aktivitas yang digambarkan harus didefinisikan secara hati-hati dan definisi ini harus dapat dimengerti oleh pembacanya.
- Kapan aktivitas dimulai dan berakhir harus ditentukan secara jelas.
- Setiap langkah dari aktivitas harus diuraikan dengan menggunakan deskripsi kata kerja
- Setiap langkah dari aktivitas harus berada pada urutan yang benar.
- Lingkup dan range dari aktifitas yang sedang digambarkan harusditelusuri dengan hati-hati. Percabangan-percabangan yang memotong aktivitas yang sedang digambarkan tidak perlu digambarkan pada flowchart yang sama. Simbol konektor harus digunakan dan percabangannya diletakan pada halaman yang terpisah atau hilangkan seluruhnya bila percabangannya tidak berkaitan dengan sistem.
- Gunakan simbol-simbol flowchart yang standar.
E. Simbol-simbol dalam Flowchart
Contoh Flowchart Pasien Rawat Inap di Rumah Sakit
Minggu, 03 Maret 2019
MATERI TENTANG REKAYASA PERANGKAT LUNAK
REKAYASA PERANGKAT LUNAK ( RPL ) / SOFTWARE ENGINEERING

A. Konsep Dasar Rekayasa Perangkat Lunak
Rekayasa perangkat lunak atau Software engineering dalam bahasa inggris merupakan bidang ilmu yang mempelajari tentang segala aspek perangkat lunak, seperti cara-cara pengembangan, pemeliharaan , pembuatan, serta manajemen kualitas perangkat lunak.
Rekayasa perangkat lunak juga merupakan disiplin rekayasa dengan perangkat lunak yang dikembangkan. Biasanya proses melibatkan penemuan pada keinginan klien, menyusunnya didalam daftar kebutuhan, merangcang arsitektur yang mampu mendukung semua kebutuhan, perancangan, pengodean, pengujian, dan pengintegrasian bagian yang terpisah, menguju keseluruhan, penyebaran, dan pemeliharaan perangkat lunak.
B. Sejarah Singkat Rekayasa Perangkat Lunak
Rekayasa perangkat lunak telah berkembang sejak pertama kali diciptakan pada tahun 1940-an hingga kini. Fokus utama pengembangannya adalah untuk mengembangkan praktek dan teknologi untuk meningkatkan produktivitas para praktisi pengembang perangkat lunak dan kualitas aplikasi yang dapat digunakan oleh pemakai.
- 1945 - 1965: Awal
- 1965 - 1985: krisis perangkat lunak
- 1985 - kini: tidak ada senjata pamungkas
Pada tahun 1987, Fred Brooks menulis artikel No Silver Bullet, yang berproposisi bahwa tidak ada satu teknologi atau praktek yang sanggup mencapai 10 kali lipat perbaikan dalam produktivitas pengembangan perangkat lunak dalam tempo 10 tahun.
Sebagian berpendapat, no silver bullet berarti profesi rekayasa perangkat lunak dianggap telah gagal. Namun sebagian yang lain justru beranggapan, hal ini menandakan bahwa bidang profesi rekayasa perangkat lunak telah cukup matang, karena dalam bidang profesi lainnya pun, tidak ada teknik pamungkas yang dapat digunakan dalam berbagai kondisi.
C. Pengertian RPL menurut dari beberapa sumber
- IEEE Computer Society : RPL sebagai penerapan suatu pendekatan yang sistematis, disiplin dan terkuantifikasi atas pengembangan, penggunaan dan pemeliharaan perangkat lunak, serta studi atas pendekatan-pendekatan ini, yaitu penerapan pendekatan engineering atas perangkat lunak.
- Roger R. Pressman : Rekayasa Perangkat Lunak adalah pengubahan perangkat lunak itu sendiri guna mengembangkan, memelihara, dan membangun kembali dengan menggunakan prinsip reakayasa untuk menghasilkan perangkat lunak yang dapat bekerja lebih efisien dan efektif untuk pengguna.
D. Tujuan Rekayasa Perangkat Lunak
Secara lebih khusus kita dapat menyatakan tujuan RPL adalah untuk- Memperoleh biaya produksi perangkat lunak yang rendah.
- Menghasilkan perangkat lunak yang kinerjanya tinggi, andal dan tepat waktu
- Menghasilkan perangkat lunak yang dapat bekerja pada berbagai jenis platform
- Menghasilkan perangkat lunak yang biaya perawatannya rendah
Sabtu, 06 Oktober 2018
TEORI BAHASA DAN AUTOMATA
1. Rangkuman Linguistik dan Komputasi
Linguistik adalah ilmu bahasa. Bergantung dari sudut pandang, dan pendekatan seorang peneliti, seorang peneliti, linguistik seringkali digolongkan ke dalam ilmu kognitif, psikologi, dan antropologi.
Komputasi bisa diartikan sebagai cara untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma.
sedangkan, Linguistik Komputasi adalah bidang antar disiplin yang mengkaji pemodelan bahasa alami dengan statistika dan berbasis aturan dari sudut pandang komputasi. Komputer dapat dipakai untuk menganalisis bunyi bahasa.
2. Rangkuman Automata beserta Fungsinya
Automata adalah mesin abstrak yang dapat mengenali (recognizer), menerima (accept), atau membangkitkan (generate) sebuah kalimat dalam bahasa tertentu.
Untuk memodelkan hardware dari komputer diperkenalkan otomata. Otomata adalah fungsi-fungsi dari komputer digital. Menerima input, menghasilkan output, bisa memiliki penyimpanan sementara dan mampu membuat keputusan dalam mentransformasikan input ke output.
Sebuah bahasa formal adalah suatu abstraksi terdiri dari himpunan simbol-simbol dan aturan-aturan yang mana simbol-simbol tersebut bisa dikombinaasikan ke dalam entitas yang disebut kalimat.
Meskipun bahasa formal yang dipelajari disini lebih sederhana daripada bahasa lebih sederhana daripada bahasa pemrograman, meraka mempunyai banyak hal yang penting. Kita bisa mempelajari banyak tentang bahasa pemrograman dari bahasa formal.
Otomata merupakan suatu sistem yang terdiri atas sejumlah berhingga state, dimana state menyatakan informasi mengenai input yan lalu dandapaty dianggap sebagai memory mesin.
Input pada mesin otomata dianggap sebagai bahasa yang harus dikenali oleh mesin. Selanjutnya, mesin otomata membuat keputusan yang mengindikasikan apakah input itu diterima atau tidak.
Jenis-Jenis Automata :
1. Otomata Berhingga Deterministik
Otomata berhingga deterministik (DFA - Deterministic Finite Automata) adalah sebuah otomata yang fungsi transisinya adalah:
2. Otomata Berhingga Non-Deterministik
Otomata berhingga non-deterministik (NFA - Nondeterministic Finite Automata) berbeda dengan DFA dalam hal fungsi transisinya:
-
Fungsi transisi dalam NFA memetakan pasangandan
kepada himpunan kuasa dari Fungsi transisi yang didefinisikan seperti ini memungkinkan suatu simbol masukan untuk mengakibatkan transisi dari sebuah state ke beberapa kemungkinan state yang lain.
Otomata Pushdown adalah salah satu varian otomata dengan 7-tupel
di mana:
adalah himpunan berhingga dari state,
adalah himpunan simbol-simbol,
adalah simbol awal
adalah state akhir
adalah himpunan berhingga simbol-simbol stack,
adalah simbol awal stack,
Ditambah dengan dua unsur, untuk menangani stack:Dengan fungsi transisinya adalah
adalah fungsi transisi
Fungsi Automata dalam Hubungan dengan Bahasa:
1. Fungsi Automata sebagai pengenal (Recognizer) string-string dari suatu bahasa, dalam hal ini bahasa sebagai masukkan dari automata
2. Fungsi Automata sebagai pembangkit (Generator) string-string dari suatu bahasa, dalam hal ini sebagai keluaran dari automata 3. Rangkuman Himpunan, Relasi, dan Fungsi3. Rangkuman Himpunan, Relasi, dan Fungsi
- a. Himpunan
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.
- Jenis-jenis Himpunan :
1. Himpunan bagian (ACB)2. Himpunan Kosong ( {} )3. Himpunan Semesta ( U atau S )4. Himpunan Sama (A=B)5. Himpunan Lepas6. Himpunan Komplemen7. Himpunan Ekuivalenb. RelasiRelasi dapat diartikan sebagai hubungan. Misalkan sebuah relasi menyatakan hubungan perkalian. Hasil relasi tersebut dapat dinyatakan dalam himpunan pasangan terurut x dan y dan dapat juga digambar pada bidang kartesius.
Cara menyatakan hasil relasi perkalian antara himpunan A dan B dapat dilihat pada contoh permasalahan di bawah.- Alfabet Latin {A, B, C,….,Z}
- Alfabet Yunani {α, β, γ,…,ω}
- Alfabet Biner {0,1}
c. FungsiFungsi atau yang sering disebut juga dengan pemetaan masih termasuk dalam relasi. Suatu relasi disebut fungsi jika semua anggota himpunan daerah asal dipasangkan tepat satu ke daerah kawannya.Simbol fungsi yang memetakan himpunan A ke B adalah
4. Rangkuman Simbol, Abjad, dan String
a. SimbolSimbol adalah sebuah entitas abstrak (seperti halnya pengertian titik dalam geometri). Sebuah huruf atau sebuah angka adalah contoh simbol. Pada umumnya kita menggunakan huruf kecil (lower case)atau angka untuk melambngkan simbol, dan huruf kecil diakhir alphabet khususnya w,x,y,z untuk melambangkan untai (String).b. AbjadAlfabet/Abjad (adalah vocabulary) adalah himpunan terbatas simbol.
Contoh :
- Bahasa Pascal
- Bahasa C
- Bahasa C++
- Bahasa PHP
String, dalam bahasa pemrograman komputer, adalah deretan simbol. Tipe data String adalah tipe data yang digunakan untuk menyimpan barisan karakter.

Tipe-tipe Bahasa String dalam Bahasa Pemrograman :
Senin, 11 Desember 2017
PENYEDERHANAAN FUNGSI BOOLEAN
SOAL FUNGSI BOOLEAN
Nama : Josua David
NPM : 011170027
Prodi : Tekhnik Informatika
1. Diketahui Tabel Kebenaran sebagai berikut :
Tentukan Pernyataan Logika dan Buatlah Rangkaian Logikanya !
minterm = diambil dari nilai 1 pada kolom Y, maka
Y = A'B'C' + A'BC' + A'BC + AB'C + ABC'
= A'C' (B' + B) + A'BC + AB'C + ABC'
= A'C' + ABC + A'BC + ABC + AB'C +ABC + ABC' + ABC
= A'C' + ABC + BC (A' + A) + AC (B' + B) + AB (C' + C)
= A'C' + ABC + BC + AC + AB
= A'C' + AB ( C + 1) + BC + AC
= A'C' + AB + BC + AC ----> Pernyataan Logika
= A'C' + ABC + A'BC + ABC + AB'C +ABC + ABC' + ABC
= A'C' + ABC + BC (A' + A) + AC (B' + B) + AB (C' + C)
= A'C' + ABC + BC + AC + AB
= A'C' + AB ( C + 1) + BC + AC
= A'C' + AB + BC + AC ----> Pernyataan Logika
Rangkaian Logika
2. Buatlah tabel kebenaran dari fungsi F (A,B,C,D) = B’C’ +AC’D + B’D , kemudian ekspresikanlah menjadi SOP dan POS, lalu buatlah rangkaian logikanya!
minterm / SOP = (A'B'C'D') + (A'B'C'D) + (A'B'CD) + (AB'C'D') + (AB'C'D) + (AB'CD) + (ABC'D) ---> diambil dari bilangan 1
Maxterm / POS = (A+B+C'+D) . (A+B'+C+D) . (A+B'+C+D') . (A+B'+C'+D) . (A+B'+C'+D') . (A'+B+C+D) . (A'+B'+C+D) . (A'+B'+C'+D) . (A'+B'+C'+D') -----> diambil dari bilangan 0
Rangkaian Logika
Langganan:
Postingan (Atom)
Macam-macam Jenis Format Gambar beserta Penjelasannya
1. BMP ( Bitmap Image) Bitmap adalah representasi dari citra grafis yang terdiri dari susunan titik (pixel) yang tersimpan di memor...
-
DFD SISTEM PERPUSTAKAAN LV. 0 2. DFD SISTEM PERPUSTAKAAN LV. 1
-
REKAYASA PERANGKAT LUNAK ( RPL ) / SOFTWARE ENGINEERING A. Konsep Dasar Rekayasa Perangkat Lunak Rekayasa perangkat l...









