Wednesday 14 December 2016

Definisi, Sejarah, dan Struktur Algoritma

Abu Ja'far Muhammad Ibnu Musa Al-Khuwarizmi
(780M-850M)

1. Sejarah Algoritma

Dilihat dari istilahnya algoritma, berasal dari nama seorang matematikawan muslim bernama Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi (780 M-850), yang oleh orang barat menyebut Al-Khuwarizm sebagai Algorism, yang diartikan proses menghitung dengan angka arab. Salah satu karya beliau yang monumental adalah buku berjudul Kitab Al Jabar Wal-Muqabala yang artinya “Buku pemugaran dan pengurangan” (The book of restoration and reduction), yang menjadi cikal bakal istilah “Aljabar” (Algebra) yang dipakai hingga sekarang ini. Seiring dengan perkembangan jaman isitilah „Algorism‟ berubah menjadi algorithm yang kemudian diartikan sebagai metode perhitungan (komputasi) secara umum. Dalam bahasa Indonesia, kata algorithm diserap menjadi algoritma.

2. Definisi Algoritma

Menurut definisi, algoritma adalah urutan langkah-langkah penyelesaian masalah yang disusun secara sistematis dan logis. Dalam beberapa konteks, algoritma dapat diartikan urutan langkah-langkah yang spesifik (tertentu) untuk melakukan suatu pekerjaan. Jadi algoritma tidak hanya diartikan sebatas pada perhitungan dengan komputer saja tapi dapat diartikan lebih luas dalam kehidupan sehari-hari. Resep masakan adalah contoh algoritma yang ada di kehidupan sehari-hari. petunjuk pemasangan AC, petunjuk perakitan komputer, petunjuk installasi software, panduan pengisian token listrik, Jadwal acara kegiatan adalah berbagai bentuk algoritma yang ada di kehidupan sehari-hari.


Menurut makna yang pertama, algoritma adalah langkah-langkah logis penyelesaian masalah, artinya langkah-langkah dalam suatu algoritma harus logis, sesuai dengan tujuan yang akan dicapai dan dapat ditentukan nilai kebenarannya. Sebagai contoh dalam sebuah resep masakah, ada sebuah langkah “Rebus bahan x selama 30 menit” atau dalam merakit komputer, “sambungkan kabel VGA monitor dengan komputer”. Dua langkah ini adalah langkah yang logis, karena jelas diketahui kebenarannya. Kalau si A merebus selama 15 menit saja maka dapat dikatakan langkahnya tidak sesuai atau salah, atau misalkan kabel VGA tidak tersambung maka jelas bahwa langkahnya tidak sesuai.

Langkah yang logis juga dapat diartikan pula tidak ambigu. Langkah “tambahkan garam secukupnya”, merupakan contoh langkah atau proses yang ambigu atau bermakna ganda. Secukupnya bisa berarti setengah sendok teh, satu sendok teh atau satu sendok makan, tidak ada kriteria yang pasti, maka antara satu orang pengguna dengan yang bisa menghasilkan output yang tidak sama, dalam hal ini rasanya. Demikian juga misalkan dalam suatu algoritma ada perintah “Tambahkan x dengan sebuah bilangan”, juga bermakna ambigu karena bilangan seperti apa yang harus ditambhakan apakah bilangan asli atau real, genap atau ganjil, tidak ada nilai yang pasti.

Selain itu penyusunan langkah-langkah harus sistematis, atau terstruktur menurut aturan/sistem tertentu sesuai denga tujuan yang dicapai. Artinya langkah-langkah yang ada pada algoritma harus dapat diikuti atau ditelusuri dengan baik sehingga mencapai hasil akhir yang diinginkan. Oleh karena itu dalam suatu  algoritma, biasanya setiap langkah diberikan nomer agar pengguna algoritma dapat mengikuti setiap instruksi yang diberikan dengan baik. Selain itu langkah-langkah dalam algoritma juga harus terbatas, artinya ia akan berhenti setelah melakukan sejumlah langkah. Karena tujuan dari algoritma adalah mencari penyelesaian. Jika sebuah algoritma mempunyai langkah yang tidak terbatas, ini berarti usaha mencari penyelesaian yang tidak kunjung berhasil. Maka dapat dikatakan algoritma tersebut sia-sia atau tidak berguna.

3. Struktur Algoritma

Inti dari algoritma adalah menemukan solusi dari suatu permasalahan. Untuk menyelesaikan masalah, algoritma membutuhkan spesifikasi input (masukan) sesuai yang diperlukan, memprosesnya melalui serangkaian langkah-langkah dan menghasilkan output sebagai solusi dari permasalahan.

Stukturya adalah sebagai berikut: 
1.        1. Nama
Nama menjelaskan tentang tujuan algoritma tersebut dibuat, seperti: Algoritma_VolumeBalok, Algoritma_GajiPegawai, Algoritma_Tiket_AirLines, dan algoritma lainnya.
2.       2. Deklarasi
Bagian deklarasi merupakan tahap persiapan dari algoritma. Pada bagian ini dijelaskan kebutuhan agar algoritma dapat berjalan. Istilah lainnya di sinilah alat dan bahan didefinisikan. Dalam algoritma pemrograman, bagian deklarasi menjelaskan input (masukan) apa saja yang akan diproses oleh algoritma termasuk jenis data input (tipe data), juga output apa yang akan dihasilkan serta semua hal yang akan dipakai dalam algoritma. Yang didefiniskan dalam algoritma ini termasuk variabel, tipe data, konstanta, nama prosedur, tipe, dan fungsi.
3.       3. Deskripsi
Pada bagian ini dijelaskan serangkaian langkah-langkah (instruksi) atau pernyataan
(statement) untuk memproses alat dan bahan atau inputan untuk menghasilkan output
sesuai yang diharapkan. Langkah-langkah dalam algoritma dituliskan dari atas ke bawah.
Urutan penulisan menentukan urutan perintah

Tuesday 13 December 2016

Operator Dalam Pemrograman C#



Dalam sebuah algoritma, input akan diproses dengan langkah-langkah yang sistematis
untuk mendapatkan output sesuai yang diharapkan. Dalam melakukan proses, tentu harus
memperhatikan tipe data yang digunakan. Sebagai gambaran saja, tidak mungkin kita akan
mengatakan “menggoreng air”, karena kata kerja menggoreng tidak mungkin diterapkan pada air,
atau dalam dunia komputer misalkan tidak mungkin ada perintah “klik tombol enter” karena klik
hanya bekerja pada mouse, sedangkan tombol enter adalah tombol pada keyboard sehingga
perintah yang sesuai adalah “tekan”. Demikian juga dalam tipe-tipe data di atas, proses biasanya
dilakukan dengan operasi-operasi pada nilai menurut tipe data tertentu.

Dalam dunia pemrograman ada yang disebut dengan operator dan operand, apa itu? Operand sepertinya tidak perlu dijelaskan ya, karena sudah tertera di gambar di bagian atas postingan ini. Sedangkan operator ada dua jenis. Untuk lebih mudah memahaminya langsung saja saya beri contohnya melalui tabel berikut:
1. Operator aritmatika.
                Operator ini hanya digunakan pada operasi hitung.
Simbol
Nama
Keterangan
Contoh
+
Sum
Menjumlahkan 2 bilangan
1 + 1 = jendela 2
-
minus
Mengurangi nilai bilangan pertama dengan nilai bilangan kedua
2 – 1 = 1
*
Fold
Mengalkan dua bilangan
2 * 2 = 4
/
Divide
Membagi nilai bilangan pertama dengan nilai bilangan kedua
8 / 5 = 1,60
%
Modulus
Membagi nilai bilangan pertama dengan nilai bilangan kedua dan menghitung sisanya
9 % 5 = 4 (9 mod 5 = 4 / 9 bagi 5 = 1 sisa 4)

2 Operator Relasional.
                Operator ini hanya digunakan pada operasi-operasi Boolean dengan nilai benar atau salah.
                Jadi operator ini tidak bisa digunakan pada operasi aritmatika/hitung.
Operator
Nama
Penjelasan
Contoh
==
Equal to
Periksa apakah nilai keduanya sama
A == 10, periksa apakah nilai variabel A sama dengan 10
!=
Not equal to
Periksa apakah nilai keduanya tidak sama
A != 10, periksa apakah nilai variabel A tidak sama dengan 10
> 
More than
Periksa apakah nilai pertama lebih besar daripada nilai kedua
A > 10, periksa apakah nilai variabel A lebih besar dari 10
< 
Less than
Periksa apakah nilai pertama lebih kecil dari nilai kedua
A < 10, periksa apakah nilai variabel A lebih kecil dari 10
>=
More or equal than
Periksa apakah nilai pertama lebih besar atau sama dengan nilai kedua
A >= 10, periksa aakah nilai variable A lebih besar sama dengan 10
<=
Less or equal than
Periksa apakah nilai pertama lebih kecil atau sama dengan nilai kedua
A <= 10, periksa apakah nilai variable A lebih kecil sama dengan 10

Operator relasional tidak hanya berlaku pada tipe data bilangan (integr dan real) namun berlaku
pula untuk tipe data lain seperti karakter, string maupun boolean.
Sebagai contoh:
“a‟ < “c‟ memberikan nilai true
Jika (Nama)=‟Dwi‟ maka ....
Jika (StatusLulus=True) maka ....
Selama (n>100) lakukan ....
Operasi relasional seringkali muncul pada kondisi bersyarat, yaitu pemenuhan suatu syarat
untuk melakukan proses lanjutan. Meskipun pembahasan kondisi bersyarat masih pada Bab
selanjutnya, tak ada salahnya kita mengenal bentuknya terlebih dahulu untuk memahami
pentingnya operasi relasional.

Oke guys segini saja untuk pertemuan kali ini tentang operator. Next agar lebih memahami pemrograman, pelajari apa itu yang dimaksud dengan algoritma. Seeu:* (nih ya, cowo-cowo jangan berpikir negatif. Kiss nya buat ciwi-ciwi kok.)

Tipe Data Dasar



Tipe Data adalah jenis nilai yang dapat ditampung oleh suatu variabel.
Tipe data dapat terdiri dari variabel atau konstanta.

Jenis-jenis Tipe Data/ Data Type

1. Tipe data primitive (Sederhana)
Tipe data primitive adalah Tipe data yang mampu menyimpan satu nilai tiap satu variabel. Tipe data primitive merupakan tipe data dasar yang sering dipakai oleh program. Contoh tipe data primitive  adalah tipe numerik (integer dan real), tipe data karakter/char, tipe data boolean.
  1. Numeric
  Tipe data numeric digunakan pada variabel atau konstanta untuk menyimpan nilai dalam bentuk angka. Tipe data ini terbagi atas integer, dan real.
  1.  Integer
  Integer Merupakan tipe data berupa bilangan bulat, terbagi atas beberapa kategori seperti tabel dibawah ini

Tipe Data
Ukuran Tempat
Rentang Nilai
Byte
1 byte
0 s/d +255
Shortint 
1 byte
-28 s/d +127
Integer
2 bytes
-32768 s/d 32767
Word 
2 bytes
0 s/d 65535
Longint 
4 bytes
2147483648 s/d 2147483647
.
  1.    Real
Real adalah bilangan yang berisi titik desimal atau jenis bilangan pecahan. Berikut tabelnya:
Tipe Data
Ukuran Tempat
Rentang Nilai
real
6 bytes
2.9 x 10-39 s/d 1.7 x 1038
single
4 bytes
1.5 x 1045 s/d 3.4 x 1038
double
8 bytes
5.0 x 10-324 s/d 1.7 x 10308
extended
10 bytes
3.4 x 10-4932 s/d 1.1 x 104932
comp
8 bytes
-9.2x 1018 s/d 9.2x 1018
.

  1. Karakter (char)
Karakter merupakan tipe data yang hanya mampu menyimpan 1 digit karakter.  Ukuran untuk tipe data karakter adalah 1 byte (1 byte = 8 bit). Adapun macam karakter yang ada sejumlah 256 macam karakter yaitu dari kode karakter (ASCII), 0 sampai dengan 255. Untuk penulisan karakter menggunakan tanda petik tunggal (‘ )  di depan dan belakang karakter yang ditulis. Contoh : ‘a’, ‘A’,’&’ dll.

Nilai-nilai yang termasuk karakter adalah :
a.      Karakter huruf : ‘a’..’z’,’A’..’Z’
b.      Karakter angka : ‘0’..’9’
c.       Karakter tanda baca : titik, koma, titik koma, titik dua dan sebagainya
d.      Karakter khusus : $, %, #, @ dan sebagainya.
  1. Boolean
Boolean merupakan tipe data logika, yang berisi dua kemungkinan nilai: TRUE (benar) atau FALSE (salah). Tipe data boolean memakai memori paling kecil.


2. Tipe data Composite
Tipe Data Komposit merupakan tipe data yang dapat menampung banyak nilai, antara lain sebagai berikut.
  1. Array
Array atau sering disebut sebagai larik, adalah tipe data yang sudah terstruktur dengan baik, meskipun masih sederhana. Array mampu menyimpan sejumlah data dengan tipe yang sama (homogen) dalam sebuah variabel. Sebagai ilustrasi, array mampu menampung banyak data namun dengan satu tipe data yang sama, misalnya integer saja. Setiap lokasi data array diberi nomor indeks yang berfungsi sebagai alamat dari data tersebut.
  1. Record atau struct
Seperti halnya Array, Record atau Struct juga termasuk tipe data komposit. Record dikenal dalam bahasa Pascal/Delphi sedangkan Struct dikenal dalam bahasa C++. Berbeda dengan array, tipe data record mampu menampung banyak data dengan tipe data berbeda-beda (heterogen). Misalnya, satu bagian integer, satu bagian lagi character, dan bagian lainnya Boolean. Biasanya record digunakan untuk menampung data suatu obyek. Misalnya, siswa memiliki nama, alamat, usia, tempat lahir, dan tanggal lahir. Nama akan menggunakan tipe data string, alamat bertipe data string, usia bertipe data single (numeric), tempat lahir bertipe data string, dan tanggal lahir bertipe data date. Berikut ini contoh pengunaan record dalam Delphi.
  1. Image
Image, atau gambar, atau citra, merupakan tipe data grafik. Misalnya grafik perkembangan jumlah siswa SMK, foto keluarga kita, video perjalanan, dan lain-lain. Pada bahasa-bahasa pemrograman modern terutama yang berbasis visual, tipe data ini telah didukung dengan sangat baik.
  1. Date Time
Nilai data untuk tanggal (date) dan waktu (time) secara internal disimpan dalam format yang spesifik. Variabel atau konstanta yang dideklarasikan dengan tipe data Date dapat digunakan untuk menyimpan, baik tanggal maupun jam. Tipe data ini masuk dalam kelompok tipe data composite, karena merupakan bentukan dari beberapa tipe data.
  1. Object
Tipe data object digunakan untuk menyimpan nilai yang berhubungan dengan obyek-obyek yang disediakan oleh Visual Basic, Delphi, dan bahasa pemrograman lain yang berbasis GUI. Sebagai contoh, apabila mempunyai form yang memiliki control Command button, yang kita beri nama Command1.
  1. Subrange
Tipe data subrange merupakan tipe data bilangan yang mempunyai jangkauan nilai tertentu sesuai dengan yang ditetapkan programmer. Biasanya, tipe data ini mempunyai nilai batas minimum dan nilai batas maksimum. Tipe data ini didukung dengan sangat baik dalam Delphi.
  1. Enumerasi
Tipe data ini merupakan tipe data yang mempunyai elemen-elemen yang harus disebut satu persatu, dan bernilai konstanta integer sesuai dengan urutannya. Nilai konstanta integer elemen ini diwakili oleh suatu nama variable yang ditulis di dalam kurung. Tipe data ini juga dijumpai pada Delphi, dan bahasa pemrograman deklaratif seperti SQL.

Pada contoh di atas, tipe data Hari_dlm_Minggu termasuk enumerasi dengan rentang nilai Nol, dimana Senin sampai dengan Minggu dan nilai data dari 0, 1, sampai dengan 7. Sedangkan tipe data Nama_Bulan termasuk enumerasi dengan rentang nilai Nol, Januari sampai dengan Desember dan nilai data dari 0, 1, sampai dengan 12.

Tipe Data Lainnya

1. Tipe Data Terstruktur
  1.   Tipe Data String   

  2. Merupakan suatu data yang menyimpan array (larik), sebagai contoh 'ABCDEF' merupakan sebuah konstanta string yang berisikan 6 byte karakter. Ukuran Tempat untuk tipe data ini adalah 2 s/d 256 byte, dengan jumlah elemen 1 s/d 255.

  3. Tipe Data Set

Sebuah set merupakan suatu himpunan yang berisi nilai (anggota). Set merupakan Tipe data yang khusus untuk Pascal. Set dalam pemrograman sangat mirip dengan himpunan dalam ilmu matematika.

Salah satu manfaat dari penggunaan tipe data set adalah untuk mengecek apakah suatu nilai muncul dalam suatu range tertentu. Misalnya, untuk menentukan apakah suatu karakter berupa Lower Case Letter (huruf kecil), mis. Ch adalah tipe Char, kita bisa menulis, if (Ch >= 'a') and (Ch <= 'z') then Writeln( Ch,' merupakan huruf kecil.'); atau, dengan notasi set, kita bisa menulis, if Ch in ['a'..'z'] then Writeln( Ch,' merupakan huruf kecil.');


2. Tipe Data Pointer

Pointer merupakan variabel khusus yang berisi suatu address (alamat) di lokasi lain didalam memori. Suatu variabel yang points (menunjuk) ke sesuatu sehingga disebut pointer.

Ada dua macam pointer:
a)   Typed (tertentu) : merupakan pointer yang menunjuk pada tipe data tertentu pada variabel.
b)   Generic (umum) : merupakan pointer yang tidak menunjuk pada tipe data tertentu pada variabel.

Monday 12 December 2016

Apa itu HTML? Dan Bagaimana Strukturnya?



Hyper Text Markup Language (HTML) adalah sebuah bahasa markah yang digunakan untuk membuat sebuah halaman web, menampilkan berbagai informasi di dalam sebuah penjelajah web Internet dan pemformatan hiperteks sederhana yang ditulis dalam berkas format ASCII agar dapat menghasilkan tampilan wujud yang terintegerasi. Dengan kata lain, berkas yang dibuat dalam perangkat lunak pengolah kata dan disimpan dalam format ASCII normal sehingga menjadi halaman web dengan perintah-perintah HTML.HTML ditulis secara berurutan menggunakan tag-tag yang menjadi tag pembuka <html> dan tag penutup</html>. perbedaannya hanya terdapat pada penulisan "/" setelah "<" sebagai tanda tag penutupnya.
berikut strukturnya:
  1. <!DocTypeHTML>
  2. <html>
  3.  <head>
  4.   <title>
  5.   </title>
  6.  </head>
  7.  <body>
  8.  </body>
  9. </html>
dari stuktur diatas selalu diawali dengan tag pembuka seperti: <html>, <head>, <body>, dan <title>. untuk tag penutupnya seperti </html>, </head>, </body>, dan </title>.

Fungsi-Fungsi Tag
  1. Baris nomor 1 merupakan tag untuk memberi catatan tentang jenis HTML yang digunakan dan bersifat opsional
  2. Baris 2 dan 9 membuat html-nya.
  3. Tag Head berisi tag title atau membuat bagan atas HTML yang biasa diisi dengan CSS tertentu sesuai dengan style halaman web-nya.
  4. Tag <title> berisi judul yang akan ditampilkan pada tab browser
  5. Tag <body> berisikan muatan-muatan dalam HTML atau isi dari tampilan sebuah web, seperti postingan di blog-blog.
Oke sekian saja untuk pertemuan kali ini, karena ini masih awal, masih banyak tag-tag yang harus dipelajari dan jangan menganggap hal ini mudah:D Heil Hitler! Hydra!

Macam-Macam Tingkatan Bahasa Pemrograman


Hello guys, untuk memahami pemrograman kita perlu memahami bahasa-bahasa yang ada terlebih dahul. Oke langsung saja.
Bahasa pemrograman atau bahasa komputer adalah instruksi untuk memerintah komputer.
Untuk tingkatannya adalah sebagai berikut:
1. Bahasa mesin.
                Bahasa mesin menggunakan kode biner. Contoh: 10011010 dan 1010
2. Bahasa tingkat rendah.
                Bahasa tingkat endah bisa dibiang bahasa rakitan atau  bahasa assembly. Bahasa ini menggunakan kode-kode dalam bahsa sehari-hari namun disingkat. Contoh: LOOP, SUB, CMP, JGE, dan JL
3. Bahasa tingkat tinggi.
                Bahasa yang memakai instruksi yang berasal dari kata-kata manusia. Contoh: for, if, while, do, else, switch, dan lain-lain.


Oke. Sekian:v

Sunday 11 December 2016

Pengertian, Fungsi, Bagian, dan Tipe-Tipe URL (Uniform Rescue Locator)

Diagram EULA yang menunujukkan hubungan URL dengan URI

URL adalah rangkaian karakter menurut format standar tertentu (dapat berupa huruf, angka, ataupun simbol-simbol), digunakan untuk menunujukkan alamat dari suatu sumber misalnya seperti dokumen, file, dan gambar yang terdapat di internet.

URL merupakan suatu inovasi dasar bagi perkembangan sejarah Internet. URL pertama kali diciptakan oleh Tim Berners-Lee pada tahun 1991 agar para penulis dokumen dapat merujuk pranala ke World Wide Web. Sejak 1994, konsep URL telah dikembangkan menjadi istilah Uniform Resource Identifier (URI) yang lebih umum sifatnya. Walaupun demikian, istilah URL masih tetap digunakan secara luas.

A. Fungsi dan Bagian URL

URL berfungsi untuk menunjukkan sumber daya Internet atau alamat sebuah halaman web (homepage) yaitu halaman suatu dokumen atau program yang ingin ditampilkan atau digunakan. Untuk menunjukkan alamat web yang dituju, diperlukan 3 buah bagian, yaitu:
1. Protokol
2. Domain
3. Directory
4. Subdirectory(opsional)
5. Path File

Contoh: https://obisharing-center.blogspot.co.id/2015/05/kisah-urbanlegend-suara-suara-kesunyian.html
1. Protokol = "https//"
2. Domain  = "obisharing-center.blogspot.co.id"
3. Directory = "/2015"
4. Subdirectory = "/05"
5. Path File = "/kisah-urbanlegend-suara-suara-kesunyian.html"

B. Tipe URL:

Ada dua tipe URL yang dapat digunakan, yaitu:

1. Absolute URL (URL Absolut), merupakan alat lengkap yang menyertakan domain pada jaringan yang tepat, direktori di dalam domain, dan file di dalam direktori.
2. Relative URL (URL Relatif), menentukan suatu alamat berdasarkan URL yang aktif pada saat itu.
Berikut ini adalah sintaks dan tipe URL: Service://host:port/path/filename.extension (Absolut)

Sedangkan dalam penggunaan URL tersebut dengan tag adalah sebagai berikut:
Absolute : <img src="http://www.whn.com/graph/peta.gif">
Relative : <img src="peta.gif">