skip to main | skip to sidebar

Saturday, 13 July 2019

Menghitung Bilangan 1 - N yang Habis Dibagi - C++

0 comments
Saya melihat ada yang menanyakan pertanyaan di brainly yaitu membuat sebuah algoritma untuk menghitung bilangan 1 sampai dengan n yang habis di bagi 3. Bilangan yang habis dibagi 3 maksudnya adalah bilangan tersebut tidak bersisa jika dibagi 3, dalam artian jika dihitung secara kalkulator nilai pembagiannya tidak mengandung nilai yang dibelakang koma.


Algoritmanya cukup sederhana tapi disini saya juga akan menunjukan programnya dengan bahasa pemrograan c++. Pertama kita buat algoritmanya terlebih dahulu, algoritmanya seperti ini : 
integer N
input N
for B = 1 to N do
    if B % 3 == 0 then
        output B
    end if
end for

Untuk menghitung bilangan 1 - N perlu menggunakan perulangan ( FOR ). Bilangan yang habis dibagi 3 berarti bilangan tersebut jika dibagi tersebut memiliki sisa bagi 0.

Contoh 9 jika dibagi 3 = 3 dan memiliki sisa bagi 0.
3 * 3 + 0 = 9

Contoh lagi 11 / 3 = 3 dan memiliki sisa bagi 2.
3 * 3 + 2 = 11

Untuk mengetahui sisa bagi dengan menggunakan mod atau modulo atau dengan menggunakan simbol %. Sekarang kita buat kode programnya.
// Example program
#include <iostream>
using namespace std;
int main()
{
    int N;
    cout << "Masukan Bilangan : ";
    cin >> N;
    for(int i = 1; i <= N; i++) {
        if(i % 3 == 0) {
            cout << i << " ";
        }
    }
}

Hasil dari programnya seperti ini :

Sekian untuk kali ini semoga bermanfaat. Jika ada pertanyaan lain silahkan tulis di kolom komentar.

Program Segitiga Angka - C++

0 comments
Masih dengan brainly lagi, saya melihat ada yang mengajukan pertanyaan mengenai program untuk membuat segitiga tetapi yang ditampilkan adalah angka menggunakan sebuah perulangan dan dengan bahasa C++. Saya tidak akan membahas disini secara detail.


Saya akan langsung menunjukan source code nya. Kalian bisa mencoba source code ini pada website CPP.sh tanpa menggunakan compiler pada komputer. Untuk bahasa pemrograman sejenis C saya sering menggunakan compiler online agar lebih mudah tetapi hanya untuk pembuatan program-program kecil.

Source Code Program Segitiga Angka :
// Example program
#include <iostream>
using namespace std;
int main()
{
    int i, j, n;
    cout << "Masukan Tinggi Segitiga :";
    cin >> n;
    for(i = 1; i <= n; i++) {
        for(j = 1; j <= i; j++) {
            cout << j;
        }
        cout << "\n";
    }
}

Outputnya Seperti ini :


Penjelasan singkat, perulangan yang digunakan adalah perulangan bersarang atau Nested Loop yaitu perulangan yang berada didalam perulangan. Perulangan pertama digunakan untuk baris pada segitiga, dan perualangan ke dua sebagai kolom yang digunakan untuk menampilkan angkanya.

Semoga membantu dan sampai jumpa pada materi berikutnya.

Friday, 12 July 2019

Program Aritmatika Sederhana - Javascript

0 comments
Pada meteri sebelumnya sudah saya jelaskan tentang bahasa pemrograman, operasi dan variable. Untuk sekarang kita akan membuah sebuah program sederhana dengan menggunakan bahasa pemrograman javascript. Javascript dapat dijalankan secarang langsung di HTML dan pastinya tidak memerlukan tools khusus untuk menuliskan kode program dengan javascript.


Pertama, siapkan dulu toolsnya yaitu notepad atau text editor yang lainnya dan browser yang akan digunakan untuk membuka file html.

Membuat Program Aritmatika
1. Buat sebuah file dengan nama programAritmatika.html
2. Untuk menjalankan printah javascript didalam HTML, kode javascript harus dimasukan kedalam tag <script>.
3. Menampilkan tulisan didalam website semisal "Program Aritmatika". Untuk menampilkan text di website gunakan perintah document.write("Tulisan Anda"). Ketikan kode berikut.


Tag <br> memiliki fungsi seperti enter di keyboard.

4. Membuat deklarasi variable dan melakukan perhitungan aritmatika. Kalian bisa mengubah sendiri nilai dari variable nya. Didalam javascript untuk membuat variable harus diawali dengan "var" lalu diikuti nama variable.


Tanda ( // ) digunakan untuk membuat sebuah komentar atau text yang tidak akan ditampilkan didalam website. Komentar digunakan oleh programmer untuk menjelaskan proses yang sedang berjalan atau digunakan untuk menjelaskan variable tertentu.

5. Menampilkan Hasil. Jika filenya dibuka maka hanya akan menampilkan tulisan "Program Aritmatika". Sedangkan hasil dari operasi belum ditampilkan. Sekarang kita tambahkan kode untuk menampilkan hasil dari operasinya. Tambahkan kode berikut :


Tanda ( + ) pada tipe data String bukan seperti operasi penjumlahan aritmatika tapi untuk menggabungkan tulisan. Baca tentang Operator jika belum paham. Tampilan akhir dari programnya seperti ini.


Segini saja untuk Tutorial Membuat Program Sederhana dengan Javascript mungkin kalian akan sedikit bingun atau pusing belum paham sama sekali :D tulis di kolom komentar untuk bagian yang belum kalian pahami. Semoga bermanfaat dan sampai jumpa pada materi berikutnya.

Thursday, 11 July 2019

Dos / DDOS ( Distributed Denial of Service )

0 comments
Distibuted Denial of Service atau yang lebih dikenal dengan DDos. DDos adalah sebuah serangan yang ditujukan ke sebuah server sebagai target nya. DDos dilakukan dengan menggunakan banyak komputer untuk mengirimkan traffic atau request ke sebuah server, sehingga traffic server menjadi tinggi dan mengakibatkan down.


Untuk melakukan penyerangan DDos seorang hacker biasanya memerlukan akses online kesebuah  komputer dengan menyebarkan malware pada komputer-komputer yang dituju, dengan demikian komputer yang sudah terkena malware akan menjadi zombie komputer atau dikenal dengan sebutan botnet.


Setelah botnet disiapkan, hacker dapat memberikan instuksi-instruksi kepada botnet untuk mengirimkan traffic kepada target ( berupa ip address ). Setiap botnet akan terus mengirimkan traffic sampai target menjadi down dan tidak dapat diakses.

Penggambaran lain dari  DDos


# Pelayan pusing karena terlalu banyak menerima pesanan yang tidak ada hentinya.

Jenis Jenis DDos :

1. Ping of Death ( POD )
Ping of Death sering digunakan dalam serangkaian penyerangan DDos. POD memanfaatkan besar paket yang dikirim, karena paket yang dikirim bisa dimanipulasi dan bisa melibihi batas normal sehingga membuat target down seketika.

2. SiDDos
SiDDos ( Sql Injection Distibuted Denial of Service ) memanfaatkan bug pada sebuah perintah Sql, dimana attacker. akan menyisipkan sebuah perintah tertentu sehingga server akan menjadi crash seketika.

3. SYN Flood
Serangan ini dilakukan dengan membanjiri dengan request berupa peket SYN atau sinkronisasi. Paket SYN adalah sebuah paket yang mengawali terbentuknya koneksi pada TCP/IP. Ketika paket palsu SYN dikirim ke server maka server akan membalasnya dengan SYN-ACK ke ip palsu (client), sehingga server tidak akan pernah mendapatkan balasan SYN-ACK-ACK dari client. Menerima paket dari client membutuhkan memori atau resource tententu. Sehingga server hanya akan menghabiskan memori untuk menerima request dari paket-paket palsu dari attacker.

Untuk ketiga jenis diatas akan dijelaskan cara penggunaannya pada materi berikutnya. Masih banyak cara-cara yang dapat digunakan untuk melakukan serangkaian DDos. Sekian untuk materi kali ini semoga bermanfaat. Jangan lupa untuk share dan sampai ketemu pada materi selanjutnya.

Pengenalan HTML

0 comments
Hypertext Markup Language atau yang lebih dikenal dengan sebutan HTML adalah sebuah bahasa markah atau markup yang digunakan untuk membangun sebuah website. Website itu nantinya dapat digunakan untuk menampilkan informasi dan data, layanan dll. HTML ditulis dalam format penulisan ASCII karena tampilan yang dihasilkan dapat terintegrasi dengan baik. Untuk saat ini HTML merupakan sebuah standar internet yang diawasi oleh Word Wide Web Consortion ( W3C ).


Hypertext sendiri adalah sebuah text atau dokumen yang yang dapat berpindah ke dokumen atau halaman lainnya dengan mengeklik sebuah objek yang pada umumnya adalah sebuah text. Text yang dapat terlink ke halaman lain di sebut hyperlink. Dengan menggunakan hyperlink akan mempermudah untuk perpindah halaman tanpa mencari halaman yang dituju.

HTML tidak termasuk kedalam bahasa pemrograman karena HTML merupakan bahasa markah yang mengadopsi dari penulisan dokumen. Bahasa markah adalah sebuah bahasa yang menggunakan markah atau tanda jika didalam HTML dikenal dengan sebutan tag. Tag didalam HTML dirancang secara terstruktur sehingga tag tersebut tidak akan tampak saat halaman dibuka, tidak seperti XML yang akan tetap memunculkan tag ketika dibuka.

Fungsi HTML
HTML mengadopsi dari penulisan sebuah dokumen. Hal ini menjadikan HTML memiliki banyak kegunaan. Diantaranya :

1. Menampilkan sebuah informasi layaknya buku atau dokumen.
2. Sebagai form pendaftaran online karena terdapat fitur form.
3. Pondasi dari sebuah website. Semua website pasti dibangun dengan menggunakan HTML.
4. Layanan sebuah produk atau jasa.
5. Linked website. Website yang terhubung dengan website lain.

Struktur Pembangun HTML
HTML dibangun dengan beberapa stuktur seperti berikut ini :

1. Tag
Tag didalam website digunakan sebagai sebuah tanda. Dimana tanda tersebut akan mempengaruhi sebuah objek didalamnya. Jika didalam dokumen bisa diibaratkan dengan memberi tanda garis bawah pada tulisan atau menberi tanda dengan menstabilo tulisan tertentu.

Didalam HTML ada 2 aturan penulisan tag yaitu tag yang memiliki tag penutup dan tag yang tidak memiliki tag penutup.

Contoh tag yang memiliki tag penutup.

<body>perjalananku</body>

Tag "body" memiliki tag penutup. Format tag penutup selalu seperti ini </nama_tag>. Contoh tag yang tidak memiliki tag penutup.

<input type="text">

Tag input tidak memiliki tag penutup. Jika kalian bertanya kenapa ? jawabannya karena itu sudah aturan dari pihak W3C. Atau mungkin jawaban yang lain adalah untuk tag yang memiliki tag penutup digunakan untuk mengatur onjek yang berhubungan dengan tulisan.

Penulisan tag tidak boleh dengan tanda spasi. Tag didalam HTML memiliki keunikan yaitu kalian bisa menuliskan tag dengan nama yang kalian inginkan. Semisal "ibu budi" jika dituliskan kedalam tag HTML menjadi.

<ibubudi>Pergi Belanja</ibubudi>

Tag apapun didalam html akan tetap menjadi tag yang ditulis ( tidak dihilangkan ). Tetapi tag ini memiliki atribut yang tetbatas.

2. Atribut
Atribut adalah sebuah pengaturan atau fitur yang terletak di dalam atribut. Setiap atribut tag pada umumnya memiliki nilai, hanya beberapa yang tidak memiliki nilai. Sebagai contoh pada tag input ( kolom isian ) yang memiliki atribut "type" secara default akan bernilai "text" yang berarti tulisan. Jika nilai "type" diganti dengan "password" maka tulisan yang diketikkan di tag input akan menjadi ****** atau di sensor :D.

<input type="password">

Perkembangan HTML
Untuk saat ini HTML sudah berkembang ke versi HTML yang ke 5. HTML5 di tetapkan sebagai versi HTML yang paling stabil dari versi yang sebelumnya. Penggunaan HTML dari versi ke 1 sampai 3 hanya seperti penulisan dokumen biasa pada umumnya yang tanpa gambar dan hanya tulisan saja.

Pada versi ke 4.01 sudah lebih baik karena disertai dengan link, gambar, form, meta dll. Untuk versi 4.01 hanyalah versi perbaikan dari versi 4.0 karena memiliki beberapa kesalahan. Perkembangan dari HTML 1 ke versi 4 memerlukan waktu yang tidak lama hanya beberapa tahun saja. Namum untuk perkembangan ke HTML5 memerlukan waktu sekitar 14 tahun.

HTML di versi 5 memiliki banyak perkembangan diantaranya adalah penambahan tag seperti header, aside, section dan footer. HTML5 juga mendukung video dan audio player yang dapat digunakan untuk memutar video dan audio tanpa menggunakan plugin tambahan maupun flashplayer. HTML5 juga seudah mendukung canvas yang digunakan untuk menampilkan objek 2 dimensi yang sekarang digunakan untuk membangun sebuah game dengan basis HTML5.

Demikian materi tentang pengenalan HTML semoga bermanfaat. Sekian dari saya dan sampai jumpa pada materi berikutnya.

Wednesday, 10 July 2019

Pengenalan Bahasa Pemrograman

0 comments
Bahasa pemrograman atau bahasa komputer adalah kumpulan instruksi atau perintah-perintah yang digunakan untuk membangun sebuah program komputer. Instruksi atau perintah-perintah ini dinamakan dengan sintaks. Sintaks adalah sebuah aturan atau prinsip yang mencakup struktur kalimat dalam bahasa apapun. Setiap bahasa pemrogaman memiliki aturan dan prinsip penulisan bahasa yang berbeda-beda namun komputer tetap mengerti perintah yang akan dilakukan. Hal ini dikarenakan adanya compiler yang menerjemahkan sintaks-sintaks tersebut kedalam bahasa mesin agar dapat dibaca oleh komputer.


Bahasa pemrograman sangat penting dan wajib bagi seorang Developer. Dalam pembuatan program atau aplikasi bahasa pemrograman yang dibutuhkan harus sesuai dengan kebutuhan aplikasi yang dibuat. Bahasa pemrograman ada bermacam-macam contoh Java, C, C++, C#, Pascal, Go-Lang, Python, JavaScript dan PHP.

Dalam belajar bahasa pemrograman yang harus dikuasai terlebih dahulu adalah algoritma atau langkah-langkah sebuah program. Semisal dari pendefinisian variabel, menggunakan operasi penjumlahan atau pengurangan, menambahkan decision ( if ) dst, yang nantinya akan dibahas pada materi berikutnya. Selain menuliskan algoritma bisa juga dengan menggunakan flowchart untuk mempermudah dalam membuat alur program.

Tingkat Bahasa Pemrograman
Pada umumnya tingakat bahasa pemrograman ada 3 yaitu bahasa pemrograman tingkat rendah, tingat menengah dan tingkat tinggi. Ada juga yang mengelompokan menjadi 4, yang ke empat adalah bahasa pemgraman tingkat sangat-tinggi. Tetapi yang dibahas disini hanya 3 saja.

1. Bahasa Pemrograman Tingkat Rendah
Bahasa pemrograman tingkat rendah adalah sebuah pemgrogaman yang dilakukan dengan menginputkan perintah-perintah secara langsung ke sebuah mesin tanpa menggunakan compiler apapun. Sampai saat ini hampir tidak ada programmer yang menulis program secara langsung kedalam kode mesin karena membutuhkan ketelitian yang khusus dalam menulis sebuah program. Bahasa yang digunakan mesin ini hanya menggunakan angka "0" (nol) dan "1" (satu) atau yang sering dikenal dengan sebutan biner.

2. Bahasa Pemrograman Tingkat Menengah
Bahasa tingkat menengah dalam bahasa pemrograman dikenal dengan sebutan assembly. Assembly cenderung menggunakan singkatan dari perintah-perintah yang disebut dengan mnemonic contohnya seperti MOV, INC, JMP, SUB, JL, LOOP dan DJNZ. Assembly tidak menggunakan compiler untuk diterjemahkan kedalam bahasa mesin tetapi cukup dengan menggunakan loader saja.

Bahasa assembly dikelompokan dengan bahasa tingakat menegah karena penggunaan sintaks yang cukup dengan dengan manusia contoh perintah JCXZ ( Jump if CX Zero ) yang menggunakan bahasa menusia namun hanya disingkat saja.

3. Bahasa Pemrograman Tingkat Tinggi
Yang dimaksudkan tingkat tinggi adalah bukan dilihat dari tingkat kesulitannya, melainkan kedekatan dengan manusia. Bahasa tingkat tinggi mengadopsi bahasa atau kata-kata yang digunakan manusia lebih tepatnya pada bahasa inggris, contoh seperti perintah DO... WHILE, IF... THEN, FOR, CONTINUE dan BREAK. Kedekatan bahasa program dengan manusia menyebabkan komputer tidak memahami program atau perintah yang dimaksud untuk itu dibutuhkan sebuah perantara yang disebut dengan compiler yang akan menerjemahkan kedalam bahasa mesin.

Contoh bahasa pemrograman tingkat tinggi :
- Java
- C / C++
- JavaScript
- Python
- PHP
- SQL

Demikian materi tentang bahasa pemrograman semoga bermanfaat dan sampai jumpa pada materi berikutnya.

Simple Array Sum - Hacker Rank

0 comments
HackerRank adalah platform teknologi perekrutan yang merupakan standar untuk menilai kemampuan developer dari 1.000 lebih perusahaan di seluruh dunia. Dengan memungkinkan perekrut teknologi dan perekrutan manajer untuk secara objektif mengevaluasi kemampuan pada setiap tahap proses perekrutan, HackerRank membantu perusahaan merekrut developer yang terampil dan yang lebih cepat berinovasi. About HackerRank.


Kali ini saya akan membahas setiap soal dari level Easy sampai Hard. Selain kita membahas soal-soal yang ada di hackerrank, saya juga memperkenalkan kepada kalian sebuah platform dimana kalian dapat melatih skill, logika atau algoritma kalian. Platform ini sudah tersedia dengan banyak bahasa pemrograman yang terkenal seperi Java, Python, Javascript, Swift dll.

Materi atau persoalan pertama sangat mudah sekali, yaitu penjumlahan simple pada array. Simple Array Sum.

Array yaitu sekumpulan data dengan tipe data tertentu. Contoh :
1. Sekumpulan data dengan tipe data string ( text atau tulisan )
buah = ['jeruk', 'mangga', 'apel']

2. Sekumpulan data dengan tipe data integer ( angka )
angka = [1, 10, 5, 2, 3]

Pada kasus Simple Array Sum kita disuruh untuk menjumlahkan data didalam array berupa angka. Contoh array yang diberikan :

ar = [1,2,3] maka kita harus menjumlahkannya seperti ini 1 + 2 + 3 = 6, untuk menjumlahkan semua data pada array ada beberapa langkah yang harus di lalukan. 1. Mengambil panjang data. Misal pada contoh array di atas panjang datanya adalah 3 karena ada 3 data.

2. Mengambil nilai dari setiap array. Array memiliki index atau urutan data yang selalu dimulai dari 0. Misal mengambil data pada contoh di atas. Format : nama_variabel[index]

ar[-1]  = index out of bound. Nilai index tidak boleh kurang dari 0.
ar[0] = 1
ar[1] = 2
ar[2] = 3
ar[3] = index out of bound. Nilai index tidak boleh lebih dari panjang datanya.

Jika sudah mengerti cara mengambil panjang data dan nilai di setiap index. Sekarang adalah membuat sebuah algorima. Yang kita butuhkan adalah bagaimana caranya untuk mengambil data dari index 0 sampai index maksimalnya. Kita membutuhkan sebuah perualangan ( looping ) agar nilai indexnya bisa dijumlahkan terus menerus ( index++ ) tetapi kita harus batasi index sehingga tidak boleh lebih dari panjang data ( index < panjang_data) atau ( panjang_data - 1 ).

Algoritmanya seperti ini :
// Kita membuat variabel untuk menampung total penjumlahan
total = 0

// lalu kita membuat sebuah perulangan
index = 0
loop index to panjang_data(array) - 1 do

   // nilai total diganti dengan nilai total sebelumnya ditambah nilai array
   total = total + array[index]

   // nilai index diganti dengan nilai index sebelumnya ditambah 1
   index = index + 1
end loop
return total // return adalah nilai yang diberikan kepada sebuah fungsi. akan dibahas pada materi selanjutnya

Sekarang kita membuat programnya. Saya akan mencontohkan program dalam bahasa pemrograman  Javascript.


Terakhir, klik Submit Code untuk mengirimkan Code dan akan di uji coba dengan beberapa inputan data. Jika berhasil akan ada pemberitahuan pada kotak hijau.

"Congratulations"
"You solved this challenge. Would you like to challenge your friends?"

Oke, segitu saja untuk pembahasan kali ini semoga bermanfaat. Jika ada yang belum dipahami silahkan tulis dikolom komentar atau bisa hubungi kontak yang tersedia.