Rabu, 07 September 2016

Pengertian OSI layer

*Gambar tingkatan OSI layer*    
 
               -OSI layer adalah : OSI layer kepanjangan dari (Open System Interconection) membantu seorang desainer memahami tiap-tiap layer yang berhubungan dengan aliran komonikasi data, atau bisa di sebut juga dengan pemrosesan data dari pembuatan, pengecekan, dan lain lain sampai pada proses akhir yaitu pengiriman data.
            -Sejarah OSI layer: dahulu pada era -70an banyak perusahaan software yang membuat system network Architekture (SNA), yang antara lain IBM, Digital, Sperry, burough dan sebagainya,masing masing perusahaan tersebut membuat aturan aturan yang antara satu sama lain berbeda, misalkan IBM megembangkan SNA produk digital tentunya tidak bisa hal ini di sebabkan protokolnya tidak sama. analoginya, misalkan anda berbicara dengan bahasa jawa tentunya akan di mengerti juga oleh orang lain yang berbahasa jawa, masalah ini bisa di selesaikan jika anda berbicara menggunakan bahasa standar yang tentunya bisa di mengerti lawan bicara anda. 
sebelum munculnya model refenisi OSI, sisitem jaringan komputer sangat berpengaruh kepada pemasok (vender). OSI berupaya membentuk standar umum jaringan komputer untuk menunjang interpetabilitas antara pemasok yang berbeda.tadak adaanya suatu protokol yang sama membuat banyak perangkat tidak bisa saling berkomunikasi.
masalah utama dalam komunikasi antar komputer dari vendor yang berbeda adalah karna mereka menggunakan protocol dan format data yang berbeda beda menghadapi kenyataan ini, kemudian the internet standat organisasion pada sekitar tahun 1980 an meluncurkan sebuah standar model revenisi yang erisi cara kerja serangkaian protokol SNA. model revinisi ini selanjutnya dinamakan open systeeminterconection (OSI). model Revinisi OSI terdiri dari 7 buah bagian / layer yang masing masing layer mempunyai tugas sendiri. di karnakan OSI terdiri dari 7 macam layer, maka model refinensi OSI seringkali di sebut OSI 7layer.
 OSI layer mempunyai 7 lapisan di setiap lapisan mempunyai kegunann dan fungsi masing-masing di bawah ini akan saya terangkan tentang 7 lapisan yang ada pada OSI layer : 
7. APLICATION layer ( lapisan aplikasi ) 
 -Aplication layer adalah lapisan paling atas, lapisan yang ada di bawah nya bekerja untuk lapisan ini.
lapisan ini fungsinya untuk menyediakan jasa untuk penggunannya.lapisan ini juga sebagai antarmuka dengan pengguna dan lapisan ini pula yang bertanggung jawab atas pertukaran informasi antar komputer.
    *aplikasi yang bekerja di dalam application layer contohnya:
  • Web Browser, contoh nya : mozilla firefox dan internet explorer.
  • E-mail Client contoh : Out Look Express, Outlook Web Access, Mozilla thunderbird, Fox mail dll.
  • Software FTP, Contoh : file Zilla
contoh aplication layer : Gatewaye
protocols yang bekerja:
*DHCP (DYNAMIC HOST CONFIGURATION PROTOCOL) gunannya : untuk distribusi IP pada jumlah IP yang terbatas.
*DNS ( DOMAIN NAME SERVER) gunannya : data bese nama domain mesin dan nomor IP
*FTP ( FILE TRANSFER PROTOCOL) gunannya : untuk transfer file
*HTTP (HAYPER TEXT TRANSFER PROTOCOL) gunannya : yntuk transfer file HTML dan WEB
*MIME ( MULTIPURPUPOSE INTERNET PROTOCOL) gunannya : untuk mengirim file bineriy dalam bentuk text
*NNTP ( NETWORK NEWS TRANSFER PROTOCOL) guannya : menerima dan mengirim news group
*POP (POST OFFICE PROTOCOL) gunanya : untuk mengambil mail dari server
*SMB (SERVER MESAGGE BLOCK) gunanya : untuk transfer berbagai file dari server dos dan windows

beberapa fungsi dari presentation layer :
-interface antara jaringan dan s/w aplikasi

6. PRESENTATION layer ( lapisan presentasi ) 
 -Presentation layer adalah lapisan ke enam dari tujuh lapisan yang fungsinya untuk bertanggung jawab di mana data di cek dan di format sebelum data di kirim dan sampai ke aplication layer.
   *aplikasi yang bekerja di dalam presentation layer:
  • PICT,TIFF,JPEG merupakan format data untuk aplikasi berupa gambar (image)
  • MIDI, MPEG,dan quicktime merupakan format data untuk aplikasi sound & movie.
  • ASCII merupakan format data untuk informasi dalam bentuk texs.
contoh dari presntation layer : gateway

protocolsyang bekerja :
*SMPTP (SIMPEL MAIL TARNSFER PROTOCOL) gunannya : untuk pertukaran mail
*SNMP ( SIMPEL NETWORK MANEGEMENT PROTOCOL) gunanya : untuk menejeen jaringan.
*TELNET protocol yang di gunakan untuk akses remote masuk ke suatu host data berjalan berupa text.
*TFTP (Trivial FTP) protokol untuk transfer file

beberapa fungsi dari presentaion layer:
-bagaimana data di presentasikan
-type data, enkripsi, visual image, dll

5. SEESION layer ( lapisan sesi) 
-seesion layer berfungsi untuk menetapkan, mengatur dan menghentikan sesi pengiriman data, session layer juga berguna untuk melayani presentation layer (lapisan ke 6)
   *aplikasi yang ada pada session layer :
  • RPC (Remote Procedur Cell) protocol yang menyediakan mekanisme client / server pada sistem opersi windows NT
  • NFS (Network File System) di bangun oleh sun microsistem dan di gunakan oleh workstation TCP/IP dan unix agar dapat mengakses remot resource.
  • OS dan penjadwalan suatu aplikasi
protocols yang bekerja :
*NetBIOS (Network Besic Input Otput System) BIOS jaringan standar
*Names Pipes
*Mail Slots
*RPC ( Remote Procedur Call ) prosedur pemanggilan jarak jauh.
*SOCKET, Input Output untuk network jenis BSD-UNIX

beberapa fungsi dari seesion layer :
-mempertaankan data dari berbagaia aplikasi yang di gunakn


4. TRANSPORT layer (lapisan transpor) 
 -tarnsport lapisan berguna untuk memecah data menjadi paket-paket data serta memberikan nomer urut ke paket paket data agar pada saat data di teriama data dapat di susun kembali.
     *aplikasi yang bekerja pada transport layer :
             -aplikasi nya berupa penghantar suatu data atau untuk mengirim sebuah file.
  •  suatu aplikasi yang gunanya untuk mengirim dan menerima data atau membagi data tersebut ke beberapa bagian
  • SPXLayer transport
contoh TRansport layer :  cabel tester : alat untuk memeriksa kesempurnaan pemasangan kabel konektor LAN (RJ45) agar untuk mengetahui kabel yang kita buat sudah benar atau belom. brouter : perangkat jaringan yang berfungsi baik sebagai jembatan atau router.

*TCP (Transmision Control Protocol) untuk pertukaran data berorientasi
*UDP (User Datagaram Protocol) protocol conectionless dan proses-to-proses yang hanya menaambahakan  alamat port, cheksum eror control dan panjang informasi data pada layar dia atas

ada beberapa fungsi transport layer:
-reliabel dan unreliabel delivery
-multiplexing

3. NETWORK layer ( lapisan jaringan)
 -network layer berguna untuk menentukan alamat IP atau alamat perjalanann dan juga menentukan rute perjalanan data hingga data sampai ke tujuan akhir yaitu pemrosesan dalam hal ini data berbentuk paket.
      *aplikasi yang bekerja pada network layer:
  • DPP (Delivery Datagram Protocol) merupakan protokol transport yang bisa di gunakan oleh    jaringan komputer apple
  • IPX (Internet Packet Exchange) dan NWlink merupakan protokol yang di sediakan oleh sistem operasi netware yang di sebut oleh novell, di gunakan untuk routing paket.
contoh dari network layer : B-router adalah sebuah alat yang mengirimkan paket data melalui sebuah jaringan atau internet menuju tujuannya melalui sebuah proses yang di kenal sebagai penghalaan.

protocols yang bekerja :
*IP ( INTERNET PROTOCOL) gunanya : menetapan rauting
*RIP ( RAUTING INFORMAtION PROTOCOL) gunanya : memeilih rauting untuk mendapatkan informasi hard ware nomor IP
*RARP ( REVERSE ARP) gunanya untuk menetapkan informasi nomer IP dari hard ware.
*ICMP (Internet Control Message Protocol) mekanisme yang di gunakan oleh sejmlah host untuk mengirim nontifikasi data gram yang mengalami masalah pada host nya.
*IGMP ( Internet Group Message Protocol) yang di gunakan untuk memberi faslitas message yang simulation kepada group penerima.
*(ARP) (Adress Resolution Protocol ) di gunakan untuk mengetahi alamat IPberdasarkan alamat fisik dari sebuah komputer.

ada beberapa fungsi network :
-logical addressing
-mengirimkan alamat network

2. DATA LINK layer ( lapisan koneksi data)
 -data link layer berguna untuk memnentukan bagaimana bit-bit data di kelompokan menjadi format yang di sebut sebagai frame. pada lapisan ini apabila bit-bit ingin di bungkus dan ingin di kirim harus melalui media WAN protocol architectur atau harus melalui LAN architectur. selain itu di level ini juga terjadi koreksi kesalhan data.
       *aplikasi yang bekerja pada data link layer:
  • LLC (Logikal Link Control) mendefinisaikan protocol network layer dan kemudian melakukan enkapsulasi protokol-protokol taransport.
  • MAC (Media Acces Control) mendifinisakan bagaimana packet di tempatkan pada sebuah media dalam sublayer ini sistem pengalamatan hardware di defenisikan.
contoh dari data link layer : NIC / LAN Card, bridge adalah sebuah komponen jaringan yang di gunakan untuk memperluas jaringan atau membuat sebuah segment jaringan. dan switch adalah sebuah alat jaringan yang melakukan penjembatan tak tampak ( penghubug penyekatan (segmentation) banyak jaringan dengan pengalihan berdasarkan alamat MAC.
protocols
*PPP ( POINT TO POINT PROTOCOL) gunanya untuk point to poin suatu data.
*SLIP (Serial Line Internet Protocol) di gunakan untuk menyabung serial.

ada beberapa fungsi data link:
-mengkomunikaskan bit ke bytes dan byte ke frame
-menerima perangkat media berupa MAC addressing
-deteksi error dan recovery error
1.  PHYSICAL layer (lapisan fisik ) 
 -physical layer adalah lapisan paling bawah pada OSI, berfungsi untuk mendefenisikan media transmisi jaringan. atau bisa di sebut juga dengan penulisan data pertama kali apabila data ingin di proses.
        *apliasi yang bekerja pada physical layer
  • ISDN (Integrated Services Digital Network) suatu sistem telkomonikasi di mana layanan antara data, suara, dan gambar di integrasi ke dalam suatu jaringan yang menyediakan konektivitas digital ujung ke ujung untuk menunjukan suatu ruang lingkup pelayanan yang lues.
  • FDDI (Fiber Distributed Data Interface) sustu standar komunikasi data menggunakan fiber optic pada LAN dengan panjang sampai 200 km
  • EIA/TIA-232, V35, Layer Physical
contoh dari Physical layer adalah HUB : sebuah alat yang di gunakan dalam jaringan LAN yang bekerja di OSI pada layer physicla layer. dan repeater : adalah sebuah setasiun untuk menerima sinyal yang masuk dan mengirimkan kembali pada frekuansi yang berbeda.
 FDDI terdiri dari dua token ring yang satu ring nya berfungsi sebaai ring backup jika seandainya ada ring dari dua ring tersebut yang putus atau mengaalami kegagalan dalam bekerja.

protocols
*10baseT
*100baseT
*RS232

ada beberapa fungsi dari physical layer:
-memindahkan bit antar devices
-spesifikasinya berupa voltase, wire, speed, pin pada kabel

*keuntungan menggunakan OSI layer :
1. memecahkan operasional sistem jaringan yang kompleks agar mudah di pelihara.
2. perubahan setiap lapisan tidak mengubah lapisan yang lain. ini memudahkan produsen berkonsentrasi pada lapisan tertentu saja.
3. memudahkan pengembangan perangkat keras "plug and play" ( istilah tekhnologi informasi yang mengacu kepada fitur di komputer yang memperboleh kan suatu perangkat di tambahkan ke sistem komputer tanpa harus menginstal ulang divice driver secara manual.)
4. membagi tugas tugas di setiap layer nya.
5 dapat di jadikan bahan pertimbangan trobleshooting ( merupakn pencarian sumber masalah sehingga masalah dapat di selesaikan )

*kerugian menggunakan OSI layer :
1.lapisan OSI bersifat teoritis dan tidak benar benar bekerja pada fungsi yang sebenarnya.
2. implumentasi  dalam dunia industri jarang memiliki hubungan yang sama persis dengan lapisan pada osi layer.
3. protokol yang berbeda dalam stack melakukan fungsi yang berbeda yang membantu mengirim atau menerima pesan keseluruhan.
4. perubahan satu protocol tidak bersifat menyeluruh ke semua bagian.

kesimpulan OSI layer adalah intinya agar setiap peralatan bisa berkomonikasi dengan lainnya maka di butuhkan sistem OSI layer untuk membantu proses jalannya jarinagn dan alat komputer.

cara kerja ISO layer menurut yang saya ketahui :
-pertama router mengirim frame melalui jaringnan yang berbeda dengan protokol data link yang berbeda, hanya data link layar dan lapisan fisik yang memerlukan modifikasi.
-router menghapus semua informasi data link dan mengirimkannya ke lapisan jaringan.
-router menggunakan alamat tujuan IP untuk menentukan di mana untuk mengirim pada berikutnya
-router yang menggunakan data dengan informasi data link populer untuk wan atm
-ATM WAN menuju ke ethernen LAN
-kehilangan paket karena router adalah transportasi lapisan padat mengirimkan menunggu pengakuan penerima lapisan transport terbatas dan mentransmisikan kembali data.
-router untuk menghapus informasi dan mengirim link ke lapisan jaringan paket
-lagi router adalah alamat IP dari lapisan jaringan untuk. menentukan di mana untuk mengirim paket berikutnya.
-setelah menentukan tahap berikutya dan menambahkan informasi data link yang tepat untuk mengirimkan pada jaringan ( pada jaringan ethernet lagi)
-beberapa protokol data link layer menyediakan komunikasi yang handal antara dua node. dalam contoh ini lapisan data link ethernet di lakukan ketika lapisan pengirim tidak menerima nya pengakuan dari lapisan menerimanya dan mengirim ulang frame.
-setiap lapisan model sekarang menghilangkan lapisan enkapsulasi dan membaca informasi tentang cara menambahkan lapisan yang sama pada pengirim
-membaca bit dari media fisik, dan menguahnya menjadi frame dan mengirimkan frmae ke data link.
-menghapus header data data link frame dan di konfesi kembali ke paket IP
-menghapus header IP mengubah paket kembali ke segmen dan menekan kembali ke lapisan transport.
-menyerupai segment kembali ke data asli mengunakan nomer port untuk menentukanaplikasi untuk mengirim data ke email.
-menggunakan informasi sesi untuk menentukan aliran komunikasi data ini
menggunakan informasi yang di berikan oleh lpisan presentasi untuk dapat menginter pretasikan data untuk mesin tertentu.
-aplikasi membaca perintah SMTP bahwa lapisan aplikasi pada pengirim telah di kirim.
-seerti yang di sebutkan sebeumnya model osi lebih dari model teoritis, internet menggunakan protokol TCP/IP bukan stok OSI

PENGENALAN VARIABEL DAN TIPE DATA

Facebook Facebook Google+ RSS Twitter PENGENALAN VARIABEL DAN TIPE DATA


Pengertian Variabel, Konstanta dan Tipe Data
img by http://www.iconfinder.com/
Sebelum memasuki Bahasa pemograman kita harus mengenal, mengetahui dan harus diingat tiga hal. Variabel, Konstanta dan Tipe data tiga hal ini selalu berhubungan dengan bahasa pemograman.

Variabel

Variabel adalah tempat dimana kita dapat mengisi atau mengosongkan nilainya dan memanggil kembali apabila dibutuhkan. Setiap variabel akan mempunyai nama (identifier) dan nilai.
Contoh Nama variabel dan nilai. username = “joni”
Nama = “Al-Khawarizmi”
Harga = 2500
HargaTotal = 34000
username, Nama, harga dan HargaTotal adalah nama dari variabel, sedangkan “joni”, “Al-Khawarizmi”, 2500 dan 34000 adalah nilai dari masing-masing variabel. Nilai-nilai ini akan tersimpan di dalam nama variabel masing-masing sepanjang tidak kita rubah.
Pada sebagian besar bahasa pemrograman, variabel harus dideklarasikan lebih dulu untuk mempermudah compiler bekerja. Apabila variabel tidak dideklarasikan maka setiap kali compiler bertemu dengan variabel baru pada kode program akan terjadi waktu tunda karena compiler harus membuat variabel baru. Hal ini memperlambat proses kerja compiler. Bahkan pada beberapa bahasa pemrograman, compiler akan menolak untuk melanjutkan proses kompilasi.
Pemberian nama variabel harus mengikuti aturan yang ditetapkan oleh bahasa pemrograman yang kita gunakan. Namun secara umum ada aturan yang berlaku untuk hampir semua bahasa pemrograman. Aturan-aturan tersebut yaitu:
  • Nama variabel harus diawali dengan huruf.
  • Tidak boleh menggunakan spasi pada satu nama variabel. Spasi bisa diganti dengan karakter underscore (_).
  • Nama variabel tidak boleh mengandung karakter-karakter khusus, seperti : .,+, -, *, /, <, >, &, (, ) dan lain-lain.
  • Nama variabel tidak boleh menggunakan kata-kata kunci d bahasa pemrograman
Penanaman Yang Benar Penanaman Yang Salah
namasiswa nama siswa (salah karena menggunakan spasi)
XY12 12X (salah karena dimulai dengan angka)
harga_total harga.total (salah karena menggunakan karakter .)
JenisMotor Jenis Motor (salah karena menggunakan spasi)
alamatrumah for (salah karena menggunakan kata kunci bahasa pemrograman)

KONSTANTA

Konstanta adalah variabel yang nilai datanya bersifat tetap dan tidak bisa diubah. Jadi konstanta adalah juga variabel bedanya adalah pada nilai yang disimpannya. Jika nilai datanya sepanjang program berjalan tidak berubahubah, maka sebuah varibel lebih baik diperlakukan sebagai konstanta. Pada sebuah kode program, biasanya nilai data dari konstanta diberikan langsung di bagian deklarasi konstanta. Sedangkan untuk variabel biasanya hanya ditentukan nama variabel dan tipe datanya tanpa isian nilai data. Aturan penamaan variabel juga berlaku untuk penamaan konstanta. Demikian juga aturan penetapan tipe data. konstanta dibagi menjadi 4:
  • Konstanta integer, berupa integer biasa, integer panjang (long int) dan integer tak bertanda (unsigned integer). Nilainya dapat berupa desimal, oktal atau hexadesimal.
  • Konstanta floating point, dapat mengandung nilai pecahan, yang biasa ditulis dalam bentuk pecahan biasa maupun bentuk eksponensial dan selalu dinyatakan dalam double, kecuali jika diakhiri dengan F atau f (menyatakan konstanta float).
  • Konstanta string, merupakan deretan karakter yang diawali dan diakhiri dengan tanda petik ganda (“…“). Juga dapat mengandung karakter yang menggunakan tanda \ yang disebut karakter escape (escape sequence).
  • Konstanta karakter, selalu diawali dan diakhiri dengan tanda petik tunggal (‘…’). Beberapa konstanta karakter dapat diawali dengan tanda \ (penempatannya setelah tanda petik tunggal).
Sebagai contoh, jika kita membuat program perhitungan matematik yang menggunakan nilai pi (3.14159) yang mungkin akan muncul dibanyak tempat pada kode program, kita dapat membuat pi sebagai konstanta. Penggunaan konstanta pi akan lebih memudahkan penulisan kode program dibanding harus mengetikkan nilai 3.14159 berulang-ulang.

Tipe Data

Tipe data adalah jenis data yang dapat diolah oleh komputer untuk memenuhi kebutuhan dalam pemrograman komputer. Setiap variabel atau konstanta yang ada dalam kode program, sebaiknya kita tentukan dengan pasti tipe datanya. Ketepatan pemilihan tipe data pada variabel atau konstanta akan sangat menentukan pemakaian sumberdaya komputer (terutama memori komputer). Salah satu tugas penting seorang programmer adalah memilih tipe data yang sesuai untuk menghasilkan program yang efisien dan berkinerja tinggi. Tipe Data dikelompokkan menjadi dua Yaitu primitive dan composite

Tipe Data Primitive :
  • Numeric
  • Character
  • Boolean
Tipe Data Composite :

  • Array
  • Record
  • Image
  • Date Time
  • Lainya (Subrange, Enumerasi, dll)
Tipe data primitive adalah tipe data dasar yang tersedia secara langsung pada suatu bahasa pemrograman. Sedangkan tipe data composite adalah tipe data bentukan yang terdiri dari dua atau lebih tipe data primitive.
Tipe data numeric digunakan pada variabel atau konstanta untuk menyimpan nilai dalam bentuk bilangan atau angka. Semua bahasa pemrograman menyediakan tipe data numeric, hanya berbeda dalam jenis numeric yang diakomodasi.

Jenis yang termasuk dalam tipe data numeric antara lain integer (bilangan bulat), dan float (bilangan pecahan). Selain jenis, dalam bahasa pemrograman juga diterapkan presisi angka yang digunakan, misalnya tipe data Single adalah tipe data untuk bilangan pecahan dengan presisi yang terbatas, sedangkan tipe data Double adalah tipe data untuk bilangan pecahan dengan presisi yang lebih akurat.
Tipe data Character. Bersama dengan tipe data numeric, character merupakan tipe data yang paling banyak digunakan. Tipe data character kadang disebut sebagai char atau string. Tipe data string hanya dapat digunakan menyimpan teks atau apapun sepanjang berada dalam tanda petik dua (“…”) atau petik tunggal (‘…’).
Tipe data Boolean digunakan untuk menyimpan nilai True/False (Benar/Salah). Pada sebagian besar bahasa pemrograman nilai selain 0 menunjukkan True dan 0 melambangkan False. Tipe data ini banyak digunakan untuk pengambilan keputusan pada struktur percabangan dengan IF … THEN atau IF … THEN … ELSE.
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. Setiap lokasi data array diberi nomor indeks yang berfungsi sebagai alamat dari data tersebut..
Record atau Struct adalah 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). . Sebagai ilustrasi array mampu menampung banyak data namun dengan satu tipe data yang sama, misalnya integer saja. Sedangkan dalam record, kita bisa menggunakan untuk menampung banyak data dengan tipe data yang berbeda, 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 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.
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.
Date and 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.
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.
Tipe data Enumerasi 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.
Tipe data object digunakan untuk menyimpan nilai yang berhubungan dengan obyek-obyek yang disediakan oleh Visual Basic, Delphi dan dan bahasa pemrograman lain yang berbasis GUI. Sebagai contoh, apabila kita mempunyai form yang memiliki control Command button yang kita beri nama Command1.
Tipe data Variant hanya ada di Visual Basic. Tipe ini adalah tipe data yang paling fleksibel di antara tipe data yang lain, karena dapat mengakomodasi semua tipe data yang lain seperti telah dijelaskan.
Trimakasih telah membaca...:

Algoritma


selamat siang... hari ini saya akan membagikan postingan mengenai algoritma. apasih algoritma itu? mari kita bahas..cekidott :D

 

Ditinjau dari asal-usul katanya, kata Algoritma sendiri mempunyai sejarah yang aneh. Orang hanya menemukan kata algorism yang berarti proses menghitung dengan angka arab. Anda dikatakan algorist jika Anda menghitung menggunakan angka arab. Para ahli bahasa berusaha menemukan asal kata ini namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan asal kata tersebut yang berasal dari nama penulis buku arab yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi. Al-Khuwarizmi dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis buku yang berjudul Kitab Al Jabar Wal-Muqabala yang artinya “Buku pemugaran dan pengurangan” (The book of restoration and reduction). Dari judul buku itu kita juga memperoleh akar kata “Aljabar” (Algebra). Perubahan kata dari algorism menjadi algorithm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran –sm berubah menjadi –thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa, maka lambat laun kata algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna kata aslinya. Dalam bahasa Indonesia, kata algorithm diserap menjadi algoritma.

2.  Definisi Algoritma

“Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis”. Kata logis merupakan kata kunci dalam algoritma. Langkah-langkah dalam algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar. Dalam beberapa konteks, algoritma adalah spesifikasi urutan langkah untuk melakukan pekerjaan tertentu. Pertimbangan dalam pemilihan algoritma adalah, pertama, algoritma haruslah benar. Artinya algoritma akan memberikan keluaran yang dikehendaki dari sejumlah masukan yang diberikan. Tidak peduli sebagus apapun algoritma, kalau memberikan keluaran yang salah, pastilah algoritma tersebut bukanlah algoritma yang baik.
Pertimbangan kedua yang harus diperhatikan adalah kita harus mengetahui seberapa baik hasil yang dicapai oleh algoritma tersebut. Hal ini penting terutama pada algoritma untuk menyelesaikan masalah yang memerlukan aproksimasi hasil (hasil yang hanya berupa pendekatan). Algoritma yang baik harus mampu memberikan hasil yang sedekat mungkin dengan nilai yang sebenarnya.
Ketiga adalah efisiensi algoritma. Efisiensi algoritma dapat ditinjau dari 2 hal yaitu efisiensi waktu dan memori. Meskipun algoritma memberikan keluaran yang benar (paling mendekati), tetapi jika kita harus menunggu berjam-jam untuk mendapatkan keluarannya, algoritma tersebut biasanya tidak akan dipakai, setiap orang menginginkan keluaran yang cepat. Begitu juga dengan memori, semakin besar memori yang terpakai maka semakin buruklah algoritma tersebut. Dalam kenyataannya, setiap orang bisa membuat algoritma yang berbeda untuk menyelesaikan suatu permasalahan, walaupun terjadi perbedaan dalam menyusun algoritma, tentunya kita mengharapkan keluaran yang sama. Jika terjadi demikian, carilah algoritma yang paling efisien dan cepat.

3.  Beda Algoritma dan Program

Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma. Program ditulis dengan menggunakan bahasa pemrograman. Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa pemrograman. Beberapa pakar memberi formula bahwa :

Program = Algoritma + Bahasa (Struktur Data)
Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah program. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang baik, demikian juga sebaliknya.
Pembuatan algoritma mempunyai banyak keuntungan di antaranya :
  • Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun, artinya penulisan  algoritma independen dari bahasa pemrograman dan komputer yang melaksanakannya.
  • Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
  • Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama.
Beberapa hal yang perlu diperhatikan dalam membuat algoritma :
  • Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami.
  • Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik.
  • Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Hal ini dikarenakan teks algoritma tidak sama dengan teks program. Namun, supaya notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu, maka sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum.
  • Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh komputer, pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih. Perlu diingat bahwa orang yang menulis program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalannya.
  • Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman.
  • Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer, algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman. Ada beberapa hal yang harus diperhatikan pada translasi tersebut, yaitu :
a.  Pendeklarasian variabel
Untuk mengetahui dibutuhkannya pendeklarasian variabel dalam penggunaan bahasa pemrograman apabila    tidak semua bahasa pemrograman membutuhkannya.
b.  Pemilihan tipe data
Apabila bahasa pemrograman yang akan digunakan membutuhkan pendeklarasian variabel maka perlu hal ini dipertimbangkan pada saat pemilihan tipe data.
c.  Pemakaian instruksi-instruksi
Beberapa instruksi mempunyai kegunaan yang sama tetapi masing-masing memiliki kelebihan dan kekurangan yang berbeda.
d.  Aturan sintaksis
Pada saat menuliskan program kita terikat dengan aturan sintaksis dalam bahasa pemrograman yang akan digunakan.
e.  Tampilan hasil
Pada saat membuat algoritma kita tidak memikirkan tampilan hasil yang akan disajikan. Hal-hal teknis ini diperhatikan ketika mengkonversikannya menjadi program.
f.  Cara pengoperasian compiler atau interpreter.
Bahasa pemrograman yang digunakan termasuk dalam kelompok compiler atau interpreter.

4.  Algoritma Merupakan Jantung Ilmu Informatika

Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer yang mengarah ke dalam terminologi algoritma. Namun, jangan beranggapan algoritma selalu identik dengan ilmu komputer saja. Dalam kehidupan sehari-hari pun banyak terdapat proses yang dinyatakan dalam suatu algoritma. Cara-cara membuat kue atau masakan yang dinyatakan dalam suatu resep juga dapat disebut sebagai algoritma. Pada setiap resep selalu ada urutan langkah-langkah membuat masakan. Bila langkah-langkahnya tidak logis, tidak dapat dihasilkan masakan yang diinginkan. Ibu-ibu yang mencoba suatu resep masakan akan membaca satu per satu langkah-langkah pembuatannya lalu ia mengerjakan proses sesuai yang ia baca. Secara umum, pihak (benda) yang mengerjakan proses disebut pemroses (processor). Pemroses tersebut dapat berupa manusia, komputer, robot atau alat-alat elektronik lainnya. Pemroses melakukan suatu proses dengan melaksanakan atau “mengeksekusi” algoritma yang menjabarkan proses tersebut.
Algoritma adalah deskripsi dari suatu pola tingkah laku yang dinyatakan secara primitif yaitu aksi-aksi yang didefenisikan sebelumnya dan diberi nama, dan diasumsikan sebelumnya bahwa aksi-aksi tersebut dapat kerjakan sehingga dapat menyebabkan kejadian.
Melaksanakan algoritma berarti mengerjakan langkah-langkah di dalam algoritma tersebut. Pemroses mengerjakan proses sesuai dengan algoritma yang diberikan kepadanya. Juru masak membuat kue berdasarkan resep yang diberikan kepadanya, pianis memainkan lagu berdasarkan papan not balok. Karena itu suatu algoritma harus dinyatakan dalam bentuk yang dapat dimengerti oleh pemroses. Jadi suatu pemroses harus:
  • Mengerti setiap langkah dalam algoritma.
  • Mengerjakan operasi yang bersesuaian dengan langkah tersebut.
5.  Mekanisme Pelaksanaan Algoritma oleh Pemroses
Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan oleh komputer, algoritma harus ditulis dalam notasi bahasa pemrograman sehingga dinamakan program. Jadi program adalah perwujudan atau implementasi teknis algoritma yang ditulis dalam bahasa pemrograman tertentu sehingga dapat dilaksanakan oleh komputer.
Kata “algoritma” dan “program” seringkali dipertukarkan dalam penggunaannya. Misalnya ada orang yang berkata seperti ini: “program pengurutan data menggunakan algoritma selection sort”. Atau pertanyaan seperti ini: “bagaimana algoritma dan program menggambarkan grafik tersebut?”. Jika Anda sudah memahami pengertian algoritma yang sudah disebutkan sebelum ini, Anda dapat membedakan arti kata algoritma dan program. Algoritma adalah langkah-langkah penyelesaikan masalah, sedangkan program adalah realisasi algoritma dalam bahasa pemrograman. Program ditulis dalam salah satu bahasa pemrograman dan kegiatan membuat program disebut pemrograman (programming). Orang yang menulis program disebut pemrogram (programmer). Tiap-tiap langkah di dalam program disebut pernyataan atau instruksi. Jadi, program tersusun atas sederetan instruksi. Bila suatu instruksi dilaksanakan, maka operasi-operasi yang bersesuaian dengan instruksi tersebut dikerjakan komputer.
Secara garis besar komputer tersusun atas empat komponen utama yaitu, piranti masukan, piranti keluaran, unit pemroses utama, dan memori. Unit pemroses utama (Central Processing Unit – CPU) adalah “otak” komputer, yang berfungsi mengerjakan operasi-operasi dasar seperti operasi perbandingan, operasi perhitungan, operasi membaca, dan operasi menulis. Memori adalah komponen yang berfungsi menyimpan atau mengingatingat.
Yang disimpan di dalam memori adalah program (berisi operasi-operasi yang akan dikerjakan oleh CPU) dan data atau informasi (sesuatu yang diolah oleh operasi-operasi). Piranti masukan dan keluaran (I/O devices) adalah alat yang memasukkan data atau program ke dalam memori, dan alat yang digunakan komputer untuk mengkomunikasikan hasil-hasil aktivitasnya. Contoh piranti masukan antara lain, papan kunci (keyboard), pemindai (scanner), dan cakram (disk). Contoh piranti keluaran adalah, layar peraga (monitor), pencetak (printer), dan cakram.
Mekanisme kerja keempat komponen di atas dapat dijelaskan sebagai berikut. Mula-mula program dimasukkan ke dalam memori komputer. Ketika program dilaksanakan (execute), setiap instruksi yang telah tersimpan di dalam memori dikirim ke CPU. CPU mengerjakan operasioperasi yang bersesuaian dengan instruksi tersebut. Bila suatu operasi memerlukan data, data dibaca dari piranti masukan, disimpan di dalam memori lalu dikirim ke CPU untuk operasi yang memerlukannya tadi. Bila proses menghasilkan keluaran atau informasi, keluaran disimpan ke dalam memori, lalu memori menuliskan keluaran tadi ke piranti keluaran (misalnya dengan menampilkannya di layar monitor).

6.  Belajar Memprogram dan Belajar Bahasa Pemrograman
Belajar memprogram tidak sama dengan belajar bahasa pemrograman. Belajar memprogram adalah belajar tentang metodologi pemecahan masalah, kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami. Sedangkan belajar bahasa pemrograman berarti belajar memakai suatu bahasa aturan-aturan tata bahasanya, pernyataan-pernyataannya, tata cara pengoperasian compiler-nya, dan memanfaatkan pernyataan-pernyataan tersebut untuk membuat program yang ditulis hanya dalam bahasa itu saja. Sampai saat ini terdapat puluhan bahasa pemrogram, antara lain bahasa rakitan (assembly), Fortran, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasabahasa simulasi seperti CSMP, Simscript, GPSS, Dinamo. Berdasarkan terapannya, bahasa pemrograman dapat digolongkan atas dua kelompok besar :
  • Bahasa pemrograman bertujuan khusus. Yang termasuk kelompok ini adalah Cobol (untuk terapan bisnis dan administrasi). Fortran (terapan komputasi ilmiah), bahasa rakitan (terapan pemrograman mesin), Prolog (terapan kecerdasan buatan), bahasa-bahasa simulasi, dan sebagainya.
  • Bahasa perograman bertujuan umum, yang dapat digunakan untuk berbagai aplikasi. Yang termasuk kelompok ini adalah bahasa Pascal, Basic dan C. Tentu saja pembagian ini tidak kaku. Bahasabahasabertujuan khusus tidak berarti tidak bisa digunakan untuk aplikasi lain. Cobol misalnya, dapat juga digunakan untuk terapan ilmiah, hanya saja kemampuannya terbatas. Yang jelas, bahasabahasa pemrograman yang berbeda dikembangkan untuk bermacam-macam terapan yang berbeda pula.
Berdasarkan pada apakah notasi bahasa pemrograman lebih “dekat” ke mesin atau ke bahasa manusia, maka bahasa pemrograman dikelompokkan atas dua macam :
  • Bahasa tingkat rendah. Bahasa jenis ini dirancang agar setiap instruksinya langsung dikerjakan oleh komputer, tanpa harus melalui penerjemah (translator). Contohnya adalah bahasa mesin. CPU mengambil instruksi dari memori, langsung mengerti dan langsung mengerjakan operasinya. Bahasa tingkat rendah bersifat primitif, sangat sederhana, orientasinya lebih dekat ke mesin, dan sulit dipahami manusia. Sedangkan bahasa rakitan dimasukkan ke dalam kelompok ini karena alasan notasi yang dipakai dalam bahasa ini lebih dekat ke mesin, meskipun untuk melaksanakan instruksinya masih perlu penerjemahan ke dalam bahasa mesin.
  • Bahasa tingkat tinggi, yang membuat pemrograman lebih mudah dipahami, lebih “manusiawi”, dan berorientasi ke bahasa manusia (bahasa Inggris). Hanya saja, program dalam bahasa tingkat tinggi tidak dapat langsung dilaksanakan oleh komputer. Ia perlu diterjemahkan terlebih dahulu oleh sebuah translator bahasa (yang disebut kompilator atau compiler) ke dalam bahasa mesin sebelum akhirnya dieksekusi oleh CPU. Contoh bahasa tingkat tinggi adalah Pascal, PL/I, Ada, Cobol, Basic, Fortran, C, C++, dan sebagainya.
Bahasa pemrograman bisa juga dikelompokkan berdasarkan pada tujuan dan fungsinya. Di antaranya adalah :

7.  Menilai Sebuah Algoritma

Ketika manusia berusaha memecahkan masalah, metode atau teknik yang digunakan untuk memecahkan masalah itu ada kemungkinan bisa banyak (tidak hanya satu). Dan kita memilih mana yang terbaik di antara teknikteknik itu. Hal ini sama juga dengan algoritma, yang memungkinkan suatu permasalahan dipecahkan dengan metode dan logika yang berlainan. Yang menjadi pertanyaan adalah bagaimana mengukur mana algoritma yang terbaik?. Beberapa persyaratan untuk menjadi algoritma yang baik adalah :
  • Tingkat kepercayaannya tinggi (realibility). Hasil yang diperoleh dari proses harus berakurasi tinggi dan benar.
  • Pemrosesan yang efisien (cost rendah). Proses harus diselesaikan secepat mungkin dan frekuensi kalkulasi yang sependek mungkin.
  • Sifatnya general. Bukan sesuatu yang hanya untuk menyelesaikan satu kasus saja, tapi juga untuk kasus lain yang lebih general.
  • Bisa dikembangkan (expandable). Haruslah sesuatu yang dapat kita kembangkan lebih jauh berdasarkan perubahan requirement yang ada.
  • Mudah dimengerti. Siapapun yang melihat, dia akan bisa memahami algoritma Anda. Susah dimengertinya suatu program akan membuat susah di-maintenance (kelola).
  • Portabilitas yang tinggi (portability). Bisa dengan mudah diimplementasikan di berbagai platform komputer.
  • Precise (tepat, betul, teliti). Setiap instruksi harus ditulis dengan seksama dan tidak ada keragu-raguan, dengan demikian setiap instruksi harus dinyatakan secara eksplisit dan tidak ada bagian yang dihilangkan karena pemroses dianggap sudah mengerti. Setiap langkah harus jelas dan pasti.
Contoh :   Tambahkan 1 atau 2 pada x.
Instruksi di atas terdapat keraguan.
  • Jumlah langkah atau instruksi berhingga dan tertentu. Artinya, untuk kasus yang sama banyaknya, langkah harus tetap dan tertentu meskipun datanya berbeda.
  • Efektif. Tidak boleh ada instruksi yang tidak mungkin dikerjakan oleh pemroses yang akan menjalankannya.
Contoh :   Hitung akar 2 dengan presisi sempurna.
Instruksi di atas tidak efektif, agar efektif instruksi tersebut diubah.
Misal : Hitung akar 2 sampai lima digit di belakang koma.
  • Harus terminate. Jalannya algoritma harus ada kriteria berhenti. Pertanyaannya adalah apakah bila jumlah instruksinya berhingga maka pasti terminate?
  • Output yang dihasilkan tepat. Jika langkah-langkah algoritmanya logis dan diikuti dengan seksama maka dihasilkan output yang diinginkan.
Sedangkan kriteria Algoritma menurut Donald E. Knuth adalah :
  1. Input: algoritma dapat memiliki nol atau lebih inputan dari luar.
  2. Output: algoritma harus memiliki minimal satu buah output keluaran.
  3. Definiteness (pasti): algoritma memiliki instruksi-instruksi yang jelas dan tidak ambigu.
  4. Finiteness (ada batas): algoritma harus memiliki titik berhenti (stopping role).
  5. 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
Namun ada beberapa program yang memang dirancang untuk unterminatable : contoh Sistem Operasi.

8.  Penyajian Algoritma
Penyajian algoritma secara garis besar bisa dalam 2 bentuk penyajian yaitu tulisan dan gambar. Algoritma yang disajikan dengan tulisan yaitu dengan struktur bahasa tertentu (misalnya bahasa Indonesia atau bahasa Inggris) dan pseudocode. Pseudocode adalah kode yang mirip dengan kode pemrograman yang sebenarnya seperti Pascal, atau C, sehingga lebih tepat digunakan untuk menggambarkan algoritma yang akan dikomunikasikan kepada pemrogram. Sedangkan algoritma disajikan dengan gambar, misalnya dengan flowchart. Secara umum, pseudocode mengekspresikan ide-ide secara informal dalam proses penyusunan algoritma. Salah satu cara untuk menghasilkan kode pseudo adalah dengan meregangkan aturan-aturan bahasa formal yang dengannya versi akhir dari algoritma akan diekspresikan. Pendekatan ini umumnya digunakan ketika bahasa pemrograman yang akan digunakan telah diketahui sejak awal.

Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya. Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap simbol menggambarkan proses tertentu. Sedangkan antara proses digambarkan dengan garis penghubung. Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah. Di
samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek.
Ada dua macam flowchart yang menggambarkan proses dengan komputer, yaitu :
  • Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain, dalam suatu sistem pengolahan data. Beberapa contoh Flowchart sistem:
  • Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program.


Kaidah-Kaidah Umum Pembuatan Flowchart Program
Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak. Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer. Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya. Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama, yaitu :
  1. Input,
  2. Proses pengolahan dan
  3. Output
Untuk pengolahan data dengan komputer, urutan dasar pemecahan suatu masalah:
  1. START, berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan.
  2. READ, berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input.
  3. PROSES, berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca.
  4. WRITE, berisi pernyataan untuk merekam hasil kegiatan ke peralatan output.
  5. END, mengakhiri kegiatan pengolahan.
Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart, namun ada beberapa anjuran :
  1. Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat.
  2. Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas.
  3. Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END.
Berikut merupakan beberapa contoh simbol flowchart yang disepakati oleh dunia pemrograman :
Untuk memahami lebih dalam mengenai flowchart ini, akan diambil sebuah kasus sederhana.

Kasus : Buatlah sebuah rancangan program dengan menggunakan flowchart, mencari luas persegi panjang.


Solusi : Perumusan untuk mencari luas persegi panjang adalah :
L = p . l
di mana, L adalah Luas persegi panjang, p adalah panjang persegi, dan l adalah lebar persegi.
Keterangan :
  1. Simbol pertama menunjukkan dimulainya sebuah program.
  2. Simbol kedua menunjukkan bahwa input data dari p dan l.
  3. Data dari p dan l akan diproses pada simbol ketiga dengan menggunakan perumusan L = p. l.
  4. Simbol keempat menunjukkan hasil output dari proses dari simbol ketiga.
  5. Simbol kelima atau terakhir menunjukkan berakhirnya program dengan tanda End.

9.  Struktur Dasar Algoritma
Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkah-langkah tersebut dapat berupa runtunan aksi (sequence), pemilihan aksi (selection), pengulangan aksi (iteration) atau kombinasi dari ketiganya. Jadi struktur dasar pembangunan algoritma ada tiga, yaitu:
  1. Struktur Runtunan
  2. Digunakan untuk program yang pernyataannya sequential atau urutan.
  3. Struktur Pemilihan
  4. Digunakan untuk program yang menggunakan pemilihan atau penyeleksian kondisi.
  5. Struktur Perulangan
  6. Digunakan untuk program yang pernyataannya akan dieksekusi berulang-ulang.

Dalam Algoritma, tidak dipakai simbol-simbol / sintaks dari suatu bahasa pemrograman tertentu, melainkan bersifat umum dan tidak tergantung pada suatu bahasa pemrograman apapun juga. Notasi-notasi algoritma dapat digunakan untuk seluruh bahasa pemrograman manapun.

Definisi Pseudo-code
Kode atau tanda yang menyerupai (pseudo) atau merupakan penjelasan cara menyelesaikan suatu masalah. Pseudo-code sering digunakan oleh manusia untuk menuliskan algoritma.

Contoh kasus : mencari bilangan terbesar dari dua bilangan yang diinputkan
Solusi Pseudo-code :
  1. Masukkan bilangan pertama
  2. Masukkan bilangan kedua
  3. Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4, jika tidak, kerjakan langkah 5.
  4. Tampilkan bilangan pertama
  5. Tampilkan bilangan kedua
Solusi Algoritma :
  1. Masukkan bilangan pertama (a)
  2. Masukkan bilangan kedua (b)
  3. if a > b then kerjakan langkah 4
  4. print a
  5. print b
Contoh Lain Algortima dan Pseudo-code :

10.  Tahapan dalam Pemrograman
Langkah-langkah yang dilakukan dalam menyelesaikan masalah dalam pemrograman dengan komputer adalah :
  • Definisikan Masalah
  • Buat Algoritma dan Struktur Cara Penyelesaian
  • Menulis Program
  • Mencari Kesalahan
  • Uji dan Verifikasi Program
  • Dokumentasi Program
  • Pemeliharaan Program
contoh lain dari algoritma adalah sebagai berikut



Rabu, 24 Agustus 2016

Cara Cimping Kabel UTP

  1.  Cara Crimping Kabel UTP
Saya akan memposting  Cara Bagaimana MengCrimping Kabel UTP, selamat membaca :)


Kabel UTP terdiri dari 2 jenis, yaitu Straight dan Cross, kabel straight digunakan untuk menghubungkan dua buah hardware yang berbeda seperti menghubungkan PC ke Switch/Hub, dan kabel Cross digunakan untuk menghubungkan dua buah hardware yang sama seperti dari PC ke PC, Laptop ke Laptop.Cara Crimping Kabel UTP ke RJ-45


Cara Crimping Kabel UTP ke RG-45
Cara Crimping Kabel UTP ke RG-45 
Untuk membuat kabel Straight, susunan warna yang digunakan adalah :
Sususan warna pada ujung 1 = Putih Orange, Orange, Putih Hijau, Biru, Putih Biru, Hijau, Putih Coklat, Coklat
Sususan warna pada ujing 2 sama dengan ujung 1.
Untuk membuat kabel Cross, susunan warna yang digunakan adalah :
Susunan warna pada ujung 1 = Putih Orange, Orange, Putih Hijau, Biru, Putih Biru, Hijau, Putih Coklat, Coklat
Susunan warna pada ujung 2 yaitu = Putih Hijau, Hijau, Putih Orange, Biru, Putih Biru, Orange, Putih Coklat, Coklat Cara Crimping Kabel UTP ke RG-45

LANGKAH LANGKAH CRIMPING KABEL STRAIGHT DAN CROSS.

Cara Crimping Kabel UTP ke RJ-45
1. Kupas kulit kabel selebar 2 cm.
2. Susun rapi delapan kabel yang terdapat didalam sesuai dengan gambar dan penjelasan diatas.
3. Luruskan kabel yang masih kusut.
4. Ratakan ujung kabel dengan memotong nya menggunakan tang crimping.
5. Setelah yakin urutan warna benar dan ujung kabel sudah rata, masukan kabel kedalam konektor RJ-45 , pastikan ujung kabel menyentuh ujung RJ-45, dan jepitlah menggunakan Tang Crimping.
6. Setelah menyelesaikan kedua ujung kabel, uji menggunakan Lan tester, jika semua lampu menyala, berarti kabel tersebut telah di crimping dengan benar dan bisa digunakan. Cara Crimping Kabel UTP ke RG-45 Trimakasih atas waktunya kawan, jangan bosn bosen mampir yahhhh... jumpa lagi lain waktu :)

Jenis Atau Tipe Kabel Netwking dengan UTP

JENIS/TIPE KABEL NETWORKING DENGAN UTP

   Assalamualaikum ketemu lagi dengan saya,kiky anjaly... kali ini saya akan membahas mengenai  :    
  1. .JENIS/TIPE KABEL NETWORKING DENGAN   2 UTP

          

UTP, singkatan dari “Unshielded Twisted Pair”. Disebut unshielded karena kurang tahan terhadap interferensi elektromagnetik. Dan disebut twisted pair karena di dalamnya terdapat pasangan kabel yang disusun spiral alias saling berlilitan. Ada 5 kategori kabel UTP. Dari kategori 1 sampai kategori 5. Untuk jaringan komputer yang terkenal adalah kategori 3 dan kategori 5.
Kategori 3 bisa untuk transmisi data sampai 10 mbps, sedang kategori 5 sampai 100 mbps. Kalau hanya buat misalnya jaringan komputer di kantor atau kampus atau warnet, paling hemat ya menggunakan yang kategori 3. Itu sudah lebih dari cukup.
Setahu penulis ada banyak merek yang beredar di pasaran, hanya saja yang terkenal bandel dan relatif murah adalah merek Belden – made in USA. Kalau mau yang lebih murah dan penggunaannya banyak, maka beli saja yang satu kotak, panjangnya sekitar 150 meter. Jangan lupa beli konektornya. Konektornya bentuknya seperti colokan telepon hanya saja lebih besar. Connector yang bisa digunakan untuk UTP Cable CAT5 adalah RJ-45. Untuk penggunaan koneksi komputer, dikenal 2 buah tipe penyambungan kabel UTP ini, yaitu straight cable dan crossover cable. Fungsi masing-masing jenis koneksi ini berbeda, straight cable digunakan untuk menghubungkan client ke hub/router, sedangkan crossover cable digunakan untuk menghubungkan client ke client atau dalam kasus tertentu digunakan untuk menghubungkan hubke hub.
§  Straight Cable
Menghubungkan ujung satu dengan ujung lain dengan satu warna, dalam artian ujung nomor satu merupakan ujung nomor dua di ujung lain. Sebenarnya urutan warna dari masing-masing kabel tidak menjadi masalah, namun ada standard secara internasional yang digunakan untuk straight cable ini, yaitu :
Untuk kabel dengan konfigurasi memiliki sususan warna sebagai berikut (568 A) :
1. putih hijau
2. hijau
3. putih oranye
4. biru
5. putih biru
6. oranye
7. putih coklat
8. coklat
§  Cross Over Cable
Kabel jenis ini biasa digunakan untuk menghubungkan dua perangkat jaringan dengan hierarki setingkat, sebagai contoh koneksi antara PC to PC, atau PC ke AP Radio, Router to router. Berikut konfigurasi pengkabelan/pemasangan konektor RJ-45:
untuk cross memiliki konfigurasi kabel dengan ujung – ujung A-B atau B-A , maksudnya jika salah satu
ujung nya seperti ini
1. putih hijau
2. hijau
3. putih oranye
4. biru
5. putih biru
6. oranye
7. putih coklat
8. coklat
maka ujung lainya harus bertipe seperti ini
1. putih oranye
2. oranye
3. putih hijau
4. biru
5. putih biru
6. hijau
7. putih coklat                                                                                                                                              8. coklat 
Sekian dari saya semoga bermanfaat, kita ketemu lagi dilain waktu...Wassalamualaikum w.wb

Macam Macam Alat dan Bahan Netwoking

Macam - Macam Alat dan Bahan Networking

Assalammualaikum Wr.Wb

Selamat sore sobat blogger sekalian. Hari ini gua bakalan ngasih tau Jenis - Jenis Alat dan Networking. Oke kita langsung saja..

A.Jenis - Jenis Alat Networking

 1.MODEM

Modem merupakan device yang mampu membuat computer terkoneksi internet melalui line telepon standar. Modem banyak digunakan computer-komputer rumah dan jaringan sederhana untuk dapat berkomunikasi dengan jutaan komputer lain dalam lalu lintas Internet. Kata modem itu sendiri merupakan kependekan dari modulator/demodulator. Ini berarti modem bekerja mengkonversi informasi digital dari computer ke bentuk sinyal analog yang ditransmisikan melalui line telepon. Modem (pada computer penerima) selanjutnya mengkonversi ulang sinyal analog ke sinyal digital.
Ditinjau dari sisi hardware, terdapat dua jenis modem popular yakni modem eksternal dan modem internal. Sesuai dengan namanya, modem eksternal adalah jenis modem yang perangakatfisiknya terpisah dari computer (CPU). Sebaliknya, modem internal adalah jenis modem yang disertakan satu paket dengan CPU computer. Modem sangat cocok untuk koneksi internet computer-komputer individual dan jaringan sederhana (yang memiliki jumlah PC tidak bagitu banyak), sedang koneksi internet untuk jaringan-jaringan skala besaar-menengah, memakai teknologi wireless merupakan solusi yang lebih reliable.
Gambar Modem Internal Dan External
2. HUB
 
Hub berfungsi untuk menghubungkan dua computer atau lebih atau ketika ingin membangun sebuah jaringan sederhana, sering dihadapkan pada dua pilihan : apakah menggunakan HUB atau tidak. HUB memang tidak selamanya harus diikutkan dalam membangun jaringan. Jika kabel jaringan yang dipakai berjernis coaxial atau coax, HUB tidak dibutuhkan. Namun jika kabel jaringan berjenis UTP, HUB mutlak diperlukan untuk jumlah klien tiga PC atau lebih.
Secara fisik HUB berbentuk kotak kecil persegi panjang. HUB berfuingsi menghubungkan computer-komputer atau device-device jaringan lainnya, sehingga dapat membentuk satu segment jaringan. Melalui HUB, setiap computer dapat saling berkomunikasi secara langsung.
Kebanyakan HUB yang diproduksi saat ini men-support card jaringan (Ethernet) standar. Orang-orang cukup memasukkan salah satu ujung kabel (yang terpasang konektor RJ-45) ke salah satu port yang tersedia pada HUB, sedang ujung lannya ke Ethernet card computer.
HUB berbeda dengan modem. Modem diperlukan agar dapat terkoneksi Internet, sedangkan HUB dibutuhkan agar dapat menghubungkan computer-komputer satu sama lain. Jika seseorang memiliki koneksi Internet melalui modem, dia dapat memakai HUB untuk membuat koneksi tersebut di-sharing oleh semua computer.
HUB-HUB pada awalnya mensupport kecepatan Ethernet 10 Mbps. Namun dewasa ini banyak HUB memiliki kecepatan data 100 Mbps. Untuk membantu user-user yang mentransfer teknologi lama ke teknologi baru, beberapa jenis HUB ada yang mensupport dua kecepatan : 10 mbps dan 100 Mbps. Jenis HUB ini dikenal dengan dual-speed hubs.
Secara teknis, terdapat tiga jenis hub yang beredar :
  1. Passive hubs == Hub-hub passive tidak memperkuat sinyal elektrik dari paket-paket data yang masuk
  2. Active hubs == sebaliknya, Hub-hub active akan memperkuat sinyal paket-paket sebelum mereka dilepas ke network. Fungsi ini dilakukan juga oleh device lain yang dinamakan “repeater”.
  3. Intelligent hubs == merupakan hub-hub yang memiliki fitur extra dari active hubs, di mana sangat cocok untuk kepentingan bisnis. Sebuah hub yang cerdas secara tipikal men-support manajemen secara remote via SNMP dan virtual LAN (VLAN)  

 Gambar HUB
3.Switch
Switch adalah device sederhana yang juga berfungsi menghubungkan multiple computer pada layer protocol jaringan level dasar.
Switch memang identik dengan hub, tetapi switch umumnya lebih “cerdas” dan memiliki performa tinggi dibanding hub (harganya relative lebih mahal). Secara tipikal, beberapa kelebihan switch di antaranya :
  1. Mampu menginspeksi paket-paket data yang mereka terima
  2. Mampu menentukan sumber dan tujuan paket yang melaluinya
  3. Mampu mem-forward paket-paket dengan tepat
Seperti halnya hub, switch utamanya desajikan unruk Ethernet. Switch memiliki konfigurasi jumlah port yang beragam, mulai dari empat-lima port sampai puluhan port – juga men-support Ethernet kecepatan 10 Mbps, 100 Mbps atau keduanya
Switch
GAMBAR SWITCH
  
4.Repeater
Repeater bekerja meregenerasi atau memperkuat sinyal-sinyal yan gmasuk. Pada media fisik seperti Ethernet, kualitas transmisi data hanya dapat bertahan dalam range waktu dan jangkauan terbatas, yang selanjutnya mengalami degradasi. Repeater akan berusaha mempertahankan integritas sinyal dan mencegah degradasi sampai paket-paket data menuju tujuan.
Aktualnya, device-device jaringan yang bekerja senagaimana layaknya repeater, seperti active hubs, seringkali disebut “multiport repeaters”.
Adapun kelemahan repeater, perangkat ini tidak dapat melakukan filter traffic jaringan. Data (bits) yang masuk ke salah satu port repeater dikirim ke luar melalui semua port. Dengan demikian data akan tersebar ke segmen-segmen LAN tanpa memperhitungkan apakah data tersebut dibutuhkan atau tidak.
Repeater adalah suatu alat yang berfungsi memperluas jangkauan sinyal WIFI yang belum tercover oleh sinyal dari server agar bisa menangkap sinyal WIFI. Perangkat Repeater harus 2 alat, yakni untuk menerima sinyal dari server (Client) dan untuk menyebarkan kembali sinyal Wifi tersebut (acces point).

Fungsi Repeater
  • Untuk mengcover daerah-daerah yang lemah sinyal dari Server (pemancar)
  • Untuk memperjauh sinyal dari Server (pemancar)
  • Untuk mempermudah akses sinyal Wifi dari Server
Sedikit Cara Kerja Repeater :
Saat PTT HT Ditekan ( ia akan memancar pada Freq A ) Bag RX repeater (frequency :A) menerima informasi dari radio HT tsb, maka bag rx aktif, dan COR akan langsung menggerakkan bag transmit (TX ) yang secara bersamaan informasi yang  diterima tsb dipancarkan kembali oleh bagian TX ( B). dan pancaran tsb dapat diterima oleh HT lain dilapangan pada Frekwensi receive HT ( B )
Demikian pula saat HT lain mengudara untuk menjawab atau memanggil prosedur tsb kembali berulang. Repeater pada umumnya diletakkan disuatu tempat ketinggian ,antennanyapun ditinggikan lagi yang biasanya diletakkan diatas tower sehingga jangkauan pancaran akan lebih jauh.
Semakin tinggi letak repeater, maka akan lebih jauh pula daya jelajahnya.Seringnya repeater diletakkan disuatu lokasi yang  tinggi misalnya di puncak Gunung, atau Bukit , Antennanya pun  di instalasikan ditower yang cukup tinggi.
Memperkirakan jarak jangkau repeater, secara sangat sederhana adalah dengan melihat area dari lokasi tsb dengan mata kita, bila yang terlihat sangat luas, maka hampir dapat dipastikan, sejauh mata kita memandang, sampai sanalah  area yang dapat dicover oleh repeater itu, ( Line Of Sight ) Mengingat keterbatasan daya pandang, dapat saja coveragenya lebih jauh dari pandangan kita.
Peformance sebuah repeater dipengaruhi pula oleh ,daya pancar repeater, sensitivitas, serta seluruh; ektivitas dari repeater itu sendiri. Untuk meningkatkan  kekuatan pancaran, selain meletakkan repeater pada tempat yang tinggi, maka  digunakan pula Antenna dengan penguatan ( gain ) yang besar.
repeater
GAMBAR REPEATER
 5.Bridge
Bridge, banyak yang beranggapan bahwa fungsi Switch dan ridge itu hampir sama, tapi sebenarnya fungsinya berbeda. Mari kita lihat, apa itu Bridge.
Bridge adalah sebuah Network Device yang berfungsi untuk memisahkan sebuah jaringan yang luas menjadi segment-segment yang lebih kecil. Bridge membaca alamat MAC (Media Access Control) dari setiap paket data yang diterima yang kemudian akan mempelajari dridging table untuk memutuskan apa yang akan dikerjakan bridge selanjutnya pada paket data tersebut, apakah diteruskan atau di abaikan. jika switch menpunyai Collision Domain sendiri-sendiri disetiap portnya, begitu juga dengan bridge memiliki Collision Domain tetapi ia juga dapat membaginya dari sebuah Collision Domain yang besar menjadi yang lebih kecil, dah bridge hanya akan melewatkan paket data antar segment - segment jika hanya segment itu sangat diperlukan. 
Selain itu ada yang mendefinikan bahwa Bridge adalah sebuah Network Device yang berfungsi sebagai jembatan fisik dan Bridge pun dapat berfungsi juga sebagai jembatan nalar (logical) seperti pembongkaran dan penyusunan paket, penyelematan, buffering dan lain-lain. Dengan demikian bridge dapat dipakai untuk menghubungkan 2 macam jaringan yang berbeda format paketnya ataupun yang berbeda kecepatan transmisinya. Misal dua kantor menggunakan dua jenis sistem jaringan yang berbeda, yang satu menggunakan sistem Ethernet dan yang lainnya menggunakan sistem Arcnet, maka kedua sistem tersebut dapat digabung dengan menggunakan bridge.

Jenis-Jenis Bridge :
1.  Transparent Bridge
Melakukan bridging antara 2 atau lebih segmen LAN. Jenis bridge ini juga dapat melakukan bridging pada jenis media physical layer yang berbeda (UTP, coax, fiber dll). Pengaturan bridge jenis ini dapat dilihat pada dokumen standar IEEE 802.1D.

2.  Translating Bridge
Adalah jenis bridge yang mampu untuk melakukan bridging antar protocol pada data link layer (contoh Ethernet dengan Token Ring). Dengan demikian terjadi proses konversi jenis frame data dan transmission rate masing-masing protocol. Proses ini dilakukan pada preamble dan FCS (frame check sequence).
Pada bagian lain kita akan membahas pula bagaimana menghitung performance network dalam hubungannya dengan penerapan kedua jenis bridge ini.
bridge
GAMBAR BRIDGE
 6.ROUTER
Router secara kasar banyak didefinisikan berfungsi untuk membagi 2 Jaringan atau beberapa jaringan, namun sebenarnya Router adalah perangkat jaringan yang digunakan untuk membagi protocol kepada anggota jaringan yang lainnya, dengan adanya router maka sebuah protocol dapat di-sharing kepada perangkat jaringan lain. Contoh aplikasinya adalah jika kita ingin membagi IP Adress kepada anggota jaringan maka kita dapat menggunakan router ini, ciri-ciri router adalah adanya fasilitas DHCP (Dynamic Host Configuration Procotol), dengan mensetting DHCP, maka kita dapat membagi IP Address, fasilitas lain dari Router adalah adanya NAT (Network Address Translator) yang dapat memungkinkan suatu IP Address atau koneksi internet disharing ke IP Address lain.
Jenis-jenis Router
1. Router Aplikasi
2. Router Hardware
3. Router PC 
Router aplikasi adalah aplikasi yang dapat kita instal pad sistem operasi, sehingga sistem operasi tersebut akan memiliki kemampuan seperti router, contoh aplikasi ini adalah Winroute, WinGate, SpyGate, WinProxy dan lain-lain. 
Router Hardware adalah merupakan hardware yang memiliki kemampuan sepertiu router, sehingga dari hardware tersebut dapat memancarkan atau membagi IP Address dan men-sharing IP Address, pada prakteknya Router hardware ini digunakan untuk membagi koneksi internet pada suatu ruang atau wilayah, contoh dari router ini adalah access point, wilayah yang dapat mendapat Ip Address dan koneksi internet disebut Hot Spot Area. Router PC adalah Sistem Operasi yang memiliki fasilitas untuk membagi dan mensharing IP Address, jadi jika suatu perangkat jaringan (pc) yang terhubung ke komputer tersebut akan dapat menikmati IP Address atau koneksi internet yang disebarkan oleh Sistem Operasi tersebut, contoh sistem operasi yang dapat digunakan adalah semua sistem operasi berbasis client server, semisal Windows NT, Windows NT 4.0, Windows 2000 server, Windows 2003 Server, MikroTik (Berbasis Linux), dan lain-lain.
Router PC adalah Sistem Operasi yang memiliki fasilitas untuk membagi dan mensharing IP Address, jadi jika suatu perangkat jaringan (pc) yang terhubung ke komputer tersebut akan dapat menikmati IP Address atau koneksi internet yang disebarkan oleh Sistem Operasi tersebut, contoh sistem operasi yang dapat digunakan adalah semua sistem operasi berbasis client server, semisal Windows NT, Windows NT 4.0, Windows 2000 server, Windows 2003 Server, MikroTik (Berbasis Linux), dan lain-lain.
B. Bahan - Bahan Networking
1. Cat sixs

Cat sixs Adalah alat untuk memasangkan dan mlepaskan kabel UTP pada Modular Jac(MJ) ,alt ini dapat juga untuk menandai kulit bagian luar kabel UTP agar nantinya dapat langsung dilepaskan.
2. Tang Crimping 

Tang krimping adalah alat untuk memasang kabel UTP ke konektor RJ-45 / RJ-11 tergantung kebutuhan. Bentuknya macam-macam ada yang besar dengan fungsi yang banyak, seperti bisa memotong kabel, mengupas dan lain sebagainya. Ada juga yang hanya diperuntukan untuk crimp RJ-45 atau RJ-11 saja. 
3. Kabel UTP

Unshielded Twisted-Pair (disingkat UTP) adalah sebuah jenis kabel jaringan yang menggunakan bahan dasar tembaga, yang tidak dilengkapi dengan shield internal. UTP merupakan jenis kabel yang paling umum yang sering digunakan di dalam jaringan lokal (LAN), karena memang harganya yang murah, kinerja yang ditunjukkannya juga relatif bagus
4. Kabel Fiber Optic

Kabel Fiber optic adalah sebuah kabel yang terbuat dari serat kaca dengan teknologi canggih dan mempunyai kecepatan transfer data yang lebih cepat daripada kabel biasa, biasanya fiber optic digunakan pada jaringan backbone (Tulang Punggung) karena dibutuhakan kecepatan yang lebih dalam dari jaringan ini, namun pada saat ini sudah banyak yang menggunakan fiber optic untuk jaringan biasa baik LAN, WAN maupun MAN karena dapat memberikan dampak yang lebih pada kecepatan dan bandwith karena fiber optic ini menggunakan bias cahaya untuk mentransfer data yang melewatinya dan sudah barang tentu kecepatan cahaya tidak diragukan lagi namun untuk membangun jaringan dengan fiber optic
dibutuhkan biaya yang cukup mahal dikarenakan dibutuhkan alat khusus dalam pembangunannya.
         
Itulah Jenis Alat dan Bahan untuk Networking. Demikian postingan ini saya buat jika ada kesalahan saya mohon maaf yang sebesar - besarnya.
      Semoga bermanfaat

Wassalamualaikum Wr.Wb


Cara Mnulis Bahasa Pemogaman

Artikel ini saya tulis bukan untuk yang sudah mahir pemrograman, tidak... tidak mungkin saya mengajarkan ikan cara untuk berenang :D. Artikel ini khusus untuk Kamu yang baru melihat keindahan dari pemrograman, dan kamu tergoda untuk mendalaminya, karena kamu melihat ada secercah kebahagiaan yang bisa didapatkan di dalamnya, namun Kamu bingung bagaimana cara memulainya.
Apa yang akan saya sampaikan selanjutnya, tidak bersifat absolute, artinya tidak mesti demikian. Karena seperti yang saya singgung di awal, ada banyak jalan untuk menuju Roma. Dan cara setiap orang berbeda-beda. Namun semoga ini bisa membantu Kamu untuk memulai. Buat teman-teman yang sudah lama mendalami programming, dan punya sebuah “cara”, nanti bisa dishare juga ya di kotak komentar, itu pasti akan bermanfaat. Berikut ini adalah beberapa hal yang bisa Kamu lakukan untuk memulai belajar pemrograman:

1. Mengerti dulu apa itu "programming"

Sebelum Kamu melakukan sesuatu, Kamu harus tau dulu dong apa yang ingin Kamu lakukan. Kamu harus tau dulu apa itu programming. Sama seperti Kamu suka seorang wanita, sebelum Kamu mulai melakukan pendekatan, apalagi menembaknya, minimalnya Kamu harus punya informasi tentang dia. Misalnya Kamu harus tau berapa jumlah lubang hidungnya, apakah dia makan menggunakan tangan atau tidak, bagaimana cara berjalannya, apakah kakinya ada 2, apakah ibunya perempuan :D. Semakin banyak informasi yang Kamu tau, maka akan semakin baik. Dan mungkin akan membuat Kamu semakin jatuh cinta. Sebagian dari kita tidak mencoba mendalami pemrograman, karena mungkin hanya tau sebagian saja. Misalnya hanya tau, “pemrograman itu lo akan nulis kode di texteditor dan lo bisa bikin program”. Kalau hanya itu yang diketahui, wajar saja jika dia tidak tertarik untuk belajar pemrograman. Bayangkan jika kita tau bahwa dengan pemrograman kita bisa membuat sebuah program yang bermanfaat bagi orang banyak, semua dunia akan senang menggunakan program kita, bahkan dengan program itu kita bisa menjadi kaya raya, kita bisa membuat perusahaan sendiri, kita bisa membuka lapangan pekerjaan baru, dan bisa membuat orang lain bahagia dan sejahtera. Itu akan terdengar lebih menarik. Atau mungkin juga, ketika kita punya anak nanti, kita bisa membuatkan game khusus edisi spesial untuk ulang tahun anak kita, atau membuatkan website untuk keluarga bahagia kita, atau mungkin kita bisa membuat sebuah aplikasi untuk menembak gebetan kita dengan aplikasi yang super romantis. Bro.. Bayangkan banyak sekali yang bisa kita lakukan. Semakin banyak informasi yang kita tahu, maka semakin banyak juga alasan yang kita punya untuk mempelajari pemrograman.

2. Pilihlan sebuah bahasa pemrograman

languages Pada akhirnya kita memang harus memilih. Banyak sekali bahasa pemrograman yang ada di dunia, mulai dari bahasa mesin, bahasa tingkat rendah, bahasa tingkat menengah dan bahasa tingkat tinggi. Kamu bisa cek sendiri di sini http://id.wikipedia.org/wiki/Bahasa_pemrograman, silahkan pelajari kelebihan dan kekurangannya masing-masing. Atau buat kamu yang masih bingung saking banyaknya bahasa pemrograman dan butuh rekomendasi juga pencerahan untuk memilih bahasa pemrograman apa yang harus kamu pelajari untuk memulai belajar, kamu bisa baca artikel "Bahasa Pemrograman Apa yang Cocok untuk Dipelajari Pertama Kali ?". Kamu mungkin bisa saja mempelajari semuanya, tapi saya sarankan pilihlah satu terlebih dahulu. Kuasailah satu terlebih dahulu. Dalamilah. Yang harus kita ingat adalah, bahasa pemrograman bukanlah sebuah agama yang kita hanya boleh memilih satu dan tidak bisa seenaknya kita ganti. Kamu bebas saja berganti-ganti bahasa pemrograman yang Kamu ingin kuasai nanti, jika Kamu mau. Tapi... Pelajarilah dulu satu. Kuasailah secara mendalam.

3. Mulailah belajar

Sekarang Kamu sudah tau apa itu pemrograman dan Kamu sudah punya bahasa pemrograman yang ingin Kamu kuasai, selanjutnya pelajarilah. Belajarlah algoritma dasar dengan bahasa pemrograman yang Kamu pilih. Caranya banyak sekali, bisa melalui buku, bisa juga melalui artikel-artikel di internet, tutorial-tutorial pemrograman di internet seperti Tutorial CodePolitan dan Academy Dicoding. Atau Kamu juga bisa coba belajar pemrograman dari majalah pemrograman seperti CodePolitan Magazine, kuliah jurusan IT, kursus pemrograman, mengikuti seminar atau workshop. Ya, banyak sekali caranya. Silahkan Kamu pilih sendiri yang paling sesuai dengan metode belajarmu.

4. Buatlah program-program sederhana

Slide1 (sumber: http://rumadimatematika.blogspot.com) Belajar saja tidak cukup, harus dipraktekan. Cobalah buat program-program sederhana. Jika Kamu masih sekolah, Kamu bisa mencoba membuat program sederhana untuk mata pelajaran Matematikamu, seperti membuat program “menghitung luas lingkaran”, “menghitung volume balok”. Itu sangat menarik kawan, dulu saya melakukan hal itu. Kalau Kamu adalah seorang guru, mungkin Kamu bisa membuat program untuk menjelaskan pada muridmu bagaimana sebuah planet berputar. Atau apa saja lah... Nggak mesti yang serius juga bisa, misalnya membuat program untuk mendaftar nama mantan-mantanmu. Hehehe... Pada intinya, cobalah untuk membuat sesuatu, mulai dari yang sederhana dari apa yang Kamu sudah kuasai.

5. Updatelah selalu informasi

Informasi sangat penting kawan. Boleh jadi apa yang Kamu sedang pelajari sudah tidak lagi dipelajari oleh orang lain karena sudah ada yang lebih menarik atau lebih baik. Kamu tidak akan tau itu kecuali Kamu update informasi. Salah satu cara update informasi adalah, kamu bisa mengunjungi web-web yang senantiasa memberikan informasi, seperti SitePoint, Mashable, OMG! Ubuntu! atau CodePolitan (website yang sedang kamu baca ini). Kamu juga bisa like fan page dan follow twitter, pihak-pihak yang senantiasa memberikan informasi tentang programming atau teknologi secara umum. Beberapa akun twitter orang hebat yang bisa Kamu follow bisa Kamu baca di sini http://www.codepolitan.com/koleksi-akun-twitter-pembuat-framework/. Kamu juga bisa like fanpage Kami di http://www.facebook.com/codepolitan dan follow twitter kami di @CodePolitan, kami selalu update informasi yang mungkin bisa bermanfaat buat kamu.

6. Bergabunglah di grup-grup atau forum-forum pemrograman

Selection_008 Kawan, Kamu tidak sendiri! Banyak sekali orang-orang sepertimu yang sedang belajar atau bahkan sudah jago. Kamu bisa menyapa mereka, bahkan Kamu bisa bertanya kepada mereka jika memang perlu. Ketika Kamu bergabung di forum atau grup pemrograman, Kamu akan melihat ada banyak orang hebat yang bisa Kamu tiru dan teladani dari segi programmingnya. Bahkan nggak jarang, mereka pun sering memberikan informasi-informasi penting yang mungkin bermanfaat buat Kamu. Dan ketika Kamu terlibat dalam sebuah forum, Kamu pun bisa membantu rekan-rekan yang lain yang mungkin bisa Kamu bantu. Beberapa forum pemrograman yang bisa Kamu ikuti bisa Kamu temukan di artikel 17 Grup Populer tentang Pemrograman di Facebook yang Berasal dari Indonesia atau 5 Grup Pemrograman Visual Basic Terbesar dari Indonesia di Facebook, dan jika kamu mau, kamu juga bisa bergabung bersama kami dalam facebook group Coders Indonesia.   Demikianlah, semoga bermanfaat. Ingat kawan, memang tidak mudah belajar pemrograman. Kita harus belajar algoritma yang penuh dengan logika yang rumit, kita juga harus mempelajari sebuah bahasa pemrograman yang bahasanya nggak mirip dengan bahasa manusia. Tapi jika dijalani dan menganggapnya sebagai sebuah tantangan dan proses yang harus dilalui, ternyata itu semua bisa menjadi menyenangkan. Bagi kamu yang masih bingung karena baru mengenal pemrograman, kamu bisa memulainya dengan mempelajari konten-konten dasar tentang pemrograman disini. Selamat belajar, semoga menyenangkan... :D