Pendahuluan

Kemajuan di bidang telekomunikasi dan komputer telah memungkinkan seseorang untuk melakukan transaksi bisnis secara cashless, selain itu ia juga dapat mengirimkan informasi kepada temannya secara on-line.

Kegiatan-kegiatan tersebut tentu saja akan menimbulkan resiko bilamana informasi yang sensitif dan berharga tersebut diakses oleh orang-orang yang tidak berhak (unauthorized persons). Misalnya, informasi mengenai nomor kartu kredit anda, bila informasi ini jatuh kepada orang-orang yang jahat maka anda harus bersiap-siap terhadap melonjaknya tagihan kartu kredit anda.

Sebelum tahun 1970-an, teknologi kriptografi digunakan terbatas hanya untuk tujuan militer dan diplomatik. Akan tetapi kemudian bidang bisnis dan perorangan mulai menyadari pentingnya melindungi informasi berharga.

Pengertian Dasar

Suatu pesan yang tidak disandikan disebut sebagai plaintext ataupun dapat disebut juga sebagai cleartext. Proses yang dilakukan untuk mengubah plaintext ke dalam ciphertext disebut encryption atau encipherment. Sedangkan proses untuk mengubah ciphertext kembali ke plaintext disebut decryption atau decipherment. Secara sederhana istilah-istilah di atas dapat digambarkan sebagai berikut :

Proses Enkripsi/Dekripsi
Gb. 1. Proses Enkripsi/Dekripsi Sederhana

Cryptography adalah suatu ilmu ataupun seni mengamankan pesan, dan dilakukan oleh cryptographer. Sedang, cryptanalysis adalah suatu ilmu dan seni membuka (breaking) ciphertext dan orang yang melakukannya disebut cryptanalyst.

Cryptographic system atau cryptosystem adalah suatu fasilitas untuk mengkonversikan plaintext ke ciphertext dan sebaliknya. Dalam sistem ini, seperangkat parameter yang menentukan transformasi pencipheran tertentu disebut suatu set kunci. Proses enkripsi dan dekripsi diatur oleh satu atau beberapa kunci kriptografi. Secara umum, kunci-kunci yang digunakan untuk proses pengenkripsian dan pendekripsian tidak perlu identik, tergantung pada sistem yang digunakan.

Secara umum operasi enkripsi dan dekripsi dapat diterangkan secara matematis sebagai berikut :

EK (M) = C (Proses Enkripsi)
DK (C) = M (Proses Dekripsi)

Pada saat proses enkripsi kita menyandikan pesan M dengan suatu kunci K lalu dihasilkan pesan C. Sedangkan pada proses dekripsi, pesan C tersebut diuraikan dengan menggunakan kunci K sehingga dihasilkan pesan M yang sama seperti pesan sebelumnya.

Dengan demikian keamanan suatu pesan tergantung pada kunci ataupun kunci-kunci yang digunakan, dan tidak tergantung pada algoritma yang digunakan. Sehingga algoritma-algoritma yang digunakan tersebut dapat dipublikasikan dan dianalisis, serta produk-produk yang menggunakan algoritma tersebut dapat diproduksi massal. Tidaklah menjadi masalah apabila seseorang mengetahui algoritma yang kita gunakan. Selama ia tidak mengetahui kunci yang dipakai, ia tetap tidak dapat membaca pesan.

Cryptographic system (cryptosystem)

Suatu cryptosystem terdiri dari sebuah algoritma, seluruh kemungkinan plaintext, ciphertext dan kunci-kunci. Secara umum cryptosystem dapat digolongkan menjadi dua buah, yaitu :

1. Symmetric Cryptosystem

Dalam symmetric cryptosystem ini, kunci yang digunakan untuk proses enkripsi dan dekripsi pada prinsipnya identik, tetapi satu buah kunci dapat pula diturunkan dari kunci yang lainnya. Kunci-kunci ini harus dirahasiakan. Oleh karena itulah sistem ini sering disebut sebagai secret-key ciphersystem. Jumlah kunci yang dibutuhkan umumnya adalah :

nC2 = n . (n-1)
--------
2

dengan n menyatakan banyaknya pengguna.
Contoh dari sistem ini adalah Data Encryption Standard (DES), Blowfish, IDEA.

2. Assymmetric Cryptosystem

Dalam assymmetric cryptosystem ini digunakan dua buah kunci. Satu kunci yang disebut kunci publik (public key) dapat dipublikasikan, sedang kunci yang lain yang disebut kunci privat (private key) harus dirahasiakan. Proses menggunakan sistem ini dapat diterangkan secara sederhana sebagai berikut : bila A ingin mengirimkan pesan kepada B, A dapat menyandikan pesannya dengan menggunakan kunci publik B, dan bila B ingin membaca surat tersebut, ia perlu mendekripsikan surat itu dengan kunci privatnya. Dengan demikian kedua belah pihak dapat menjamin asal surat serta keaslian surat tersebut, karena adanya mekanisme ini. Contoh sistem ini antara lain RSA Scheme dan Merkle-Hellman Scheme.

Setiap cryptosytem yang baik harus memiliki karakteristik sebagai berikut :

  • Keamanan sistem terletak pada kerahasiaan kunci dan bukan pada kerahasiaan algoritma yang digunakan.
  • Cryptosystem yang baik memiliki ruang kunci (keyspace) yang besar.
  • Cryptosystem yang baik akan menghasilkan ciphertext yang terlihat acak dalam seluruh tes statistik yang dilakukan terhadapnya.
  • Cryptosystem yang baik mampu menahan seluruh serangan yang telah dikenal sebelumnya
Namun demikian perlu diperhatikan bahwa bila suatu cryptosystem berhasil memenuhi seluruh karateristik di atas belum tentu ia merupakan sistem yang baik. Banyak cryptosystem lemah yang terlihat baik pada awalnya. Kadang kala untuk menunjukkan bahwa suatu cryptosystem kuat atau baik dapat dilakukan dengan menggunakan pembuktian matematika.

Hingga saat ini masih banyak orang yang menggunakan cryptosystem yang relatif mudah dibuka, alasannya adalah mereka tidak mengetahui sistem lain yang lebih baik serta kadang kala terdapat motivasi yang kurang untuk menginvestasikan seluruh usaha yang diperlukan untuk membuka suatu sistem.

Cryptographic Protokol

Pengertian

Suatu protokol adalah serangkaian langkah yang melibatkan dua pihak atau lebih dan dirancang untuk menyelesaikan suatu tugas. Dari definisi ini dapat diambil beberapa arti sebagai berikut :

  • protokol memiliki urutan dari awal hingga akhir;
  • setiap langkah harus dilaksanakan secara bergiliran;
  • suatu langkah tidak dapat dikerjakan bila langkah sebelumnya belum selesai;
  • diperlukan dua pihak atau lebih untuk melaksanakan protokol;
  • protokol harus mencapai suatu hasil;
Selain itu, suatu protokol pun memiliki karakteristik yang lain, yaitu :
  • setiap orang yang terlibat dalam protokol harus mengetahui terlebih dahulu mengenai protokol dan seluruh langkah yang akan dilaksanakan;
  • setiap orang yang terlibat dalam protokol harus menyetujui untuk mengikutinya;
  • protokol tidak boleh menimbulkan kerancuan;
  • protokol harus lengkap;
Cryptographic protocol adalah suatu protokol yang menggunakan kriptografi. Protokol ini melibatkan sejumlah algoritma kriptografi, namun secara umum tujuan protokol lebih dari sekedar kerahasiaan. Pihak-pihak yang berpartisipasi mungkin saja ingin membagi sebagian rahasianya untuk menghitung sebuah nilai, menghasilkan urutan random, atau pun menandatangani kontrak secara bersamaan. Penggunaan kriptografi dalam sebuah protokol terutama ditujukan untuk mencegah atau pun mendeteksi adanya eavesdropping dan cheating.

Fungsi Protokol

Dalam kehidupan kita sehari-hari terdapat banyak sekali protokol tidak resmi, misalnya saja dalam permainan kartu, pemungutan suara dalam pemilihan umum. Akan tetapi tidak ada seorang pun yang memikirkan mengenai protokol-protokol ini, protokol-protokol ini terus berkembang, semua orang mengetahui bagaimana menggunakannya.

Saat ini, semakin banyak interaksi antar manusia dilakukan melalui jaringan komputer. Komputer ini tentu saja memerlukan suatu protokol formal agar dapat melakukan hal yang biasa dilakukan manusia tanpa berpikir. Bila kita berpindah dari satu daerah ke daerah lain dan mengetahui bahwa kartu pemilihan suaranya berbeda dengan yang biasa kita gunakan, kita dapat beradaptasi dengan mudah. Akan tetapi kemampuan ini belum dimiliki oleh komputer, sehingga diperlukan suatu protokol.

Protokol digunakan untuk mengabtraksikan proses penyelesaian suatu tugas dari mekanisme yang digunakan. Protokol komunikasi adalah sama meskipun diimplementasikan pada PC atau VAX. Bila kita yakin bahwa kita memiliki protokol yang baik, kita dapat mengimplementasikannya dalam segala benda mulai dari telepon hingga pemanggang roti cerdas.

Penyerangan terhadap protokol

Penyerangan cryptographic dapat ditujukan pada beberapa hal berikut :

  • algoritma cryptographic yang digunakan dalam protokol;
  • teknik cryptographic yang digunakan untuk mengimplementasikan algoritma dan protokol;
  • protokol itu sendiri;
Seseorang dapat mencoba berbagai cara untuk menyerang suatu protokol. Mereka yang tidak terlibat dalam protokol dapat menyadap sebagian atau seluruh protokol. Tindakan ini disebut penyerangan pasif, karena si penyerang tidak mempengaruhi atau mengubah protokol, ia hanya mengamati protokol dan berusaha untuk memperoleh informasi.

Selain itu, seorang penyerang dapat berusaha untuk mengubah protokol demi keuntungannya sendiri. Ia dapat mengirimkan pesan dalam protokol, menghapus pesan, atau bahkan mengubah informasi yang ada di dalam suatu komputer. Tindakan-tindakan ini disebut sebagai penyerangan aktif, karena ia membutuhkan suatu campur tangan aktif.

Seorang penyerang tidaklah hanya berasal dari lingkungan luar protokol, namun ia mungkin juga berasal dari dalam protokol itu sendiri, ia dapat merupakan salah satu pihak yang terlibat dalam protokol. Tipe penyerang semacam ini disebut sebagai cheater. Passive cheater mengikuti protokol, tetapi berusaha memperoleh informasi lebih banyak daripada yang diperbolehkan protokol bagi dirinya. Active cheater mengubah protokol dalam usahanya untuk berbuat curang.

Usaha untuk menjaga keamanan protokol akan semakin sulit apabila pihak-pihak yang terlibat umumnya merupakan active cheater, oleh karena itu suatu protokol yang baik harus mampu atau pun harus aman terhadap kemungkinan passive cheating.

Berbagai macam basic cryptanalytic attacks

Tujuan cryptanalytic attack adalah untuk mengetahui beberapa plaintext yang sesuai dengan ciphertext yang ada dan berusaha menentukan kunci yang memetakan satu dengan yang lainnya. Plaintext ini dapat diketahui karena ia merupakan standar atau karena pendugaan. Jika suatu teks diduga berada di dalam suatu pesan, posisinya mungkin tidak diketahui, tetapi suatu pesan lazimnya cukup pendek sehingga memungkinkan cryptanalyst menduga plaintext yang diketahui dalam setiap posisi yang mungkin dan melakukan penyerangan pada setiap kasus secara paralel.

Suatu algoritma enkripsi yang kuat tidak hanya mampu bertahan terhadap serangan plaintext yang dikenal tetapi juga mampu bertahan terhadap adaptive chosen plaintext. Dalam penyerangan ini, cryptanalyst berkesempatan memilih plaintext yang digunakan dan dapat melakukannya secara berulang kali, memilih plaintext untuk tahap N+1 setelah menganalisis hasil tahap N.

Yang dimaksud cryptanalytic attacks adalah usaha-usaha yang dilakukan seseorang untuk memperoleh informasi ataupun data yang telah dienkripsi. Secara ringkas terdapat tujuh macam basic cryptanalytic attacks berdasarkan tingkat kesulitannya bagi penyerang, dimulai dari yang paling sulit adalah :

  • Ciphertext-only attack. Dalam penyerangan ini, seorang cryptanalyst memiliki ciphertext dari sejumlah pesan yang seluruhnya telah dienkripsi menggunakan algoritma yang sama.
  • Known-plaintext attack. Dalam tipe penyerangan ini, cryptanalyst memiliki akses tidak hanya ke ciphertext sejumlah pesan, namun ia juga memiliki plaintext pesan-pesan tersebut.
  • Chosen-plaintext attack. Pada penyerangan ini, cryptanalyst tidak hanya memiliki akses atas ciphertext dan plaintext untuk beberapa pesan, tetapi ia juga dapat memilih plaintext yang dienkripsi.
  • Adaptive-chosen-plaintext attack. Penyerangan tipe ini merupakan suatu kasus khusus chosen-plaintext attack. Cryptanalyst tidak hanya dapat memilih plaintext yang dienkripsi, ia pun memiliki kemampuan untuk memodifikasi pilihan berdasarkan hasil enkripsi sebelumnya. Dalam chosen-plaintext attack, cryptanalyst mungkin hanya dapat memiliki plaintext dalam suatu blok besar untuk dienkripsi; dalam adaptive-chosen-plaintext attack ini ia dapat memilih blok plaintext yang lebih kecil dan kemudian memilih yang lain berdasarkan hasil yang pertama, proses ini dapat dilakukannya terus menerus hingga ia dapat memperoleh seluruh informasi.
  • Chosen-ciphertext attack. Pada tipe ini, cryptanalyst dapat memilih ciphertext yang berbeda untuk didekripsi dan memiliki akses atas plaintext yang didekripsi.
  • Chosen-key attack. Cryptanalyst pada tipe penyerangan ini memiliki pengetahuan tentang hubungan antara kunci-kunci yang berbeda.
  • Rubber-hose cryptanalysis. Pada tipe penyerangan ini, cryptanalyst mengancam, memeras, atau bahkan memaksa seseorang hingga mereka memberikan kuncinya.


Analisis berbagai tipe penyerangan secara matematis

Suatu penyerangan pasif atas cryptosystem adalah semua metode untuk mengungkapkan informasi tentang plaintext dan ciphertextnya dengan tanpa mengetahui kunci. Secara matematis :

Diberikan fungsi F, G, dan H yang terdiri dari n variabel.
Diberikan sistem enkripsi E.
Diberikan suatu distribusi plaintext dan kunci.

Suatu penyerangan atas E dengan menggunakan G dengan mengasumsikan F membagi H dengan probabilitas p adalah suatu algoritma A dengan sepasang input f,g dan satu buah output h sedemikian hingga terdapat probabilitas p atas h = H(P1, …, Pn), jika kita memiliki f = F(P1, …, Pn) dan g = G(EK(P1), …, EK(Pn)). Perlu diperhatikan bahwa probabilitas ini tergantung pada distribusi vektor-vektor (K,P1,…,Pn).

Penyerangan akan merupakan suatu trivial bila terdapat probabilitas paling sedikir p untuk h = H(P1, …, Pn) jika f = F (P1,…,Pn) dan g = G (C1,…,Cn). Di sini C1,…,Cn terletak pada ciphertext yang mungkin, dan tidak memiliki hubungan tertentu dengan P1,…,Pn. Dengan kata lain, suatu serangan akan merupakan trivial bila ia tidak benar-benar menggunakan enkripsi EK(P1),…,EK(Pn).

Dengan merumuskan penyerangan secara matematis, kita dapat secara tepat memformulasikan dan bahkan membuktikan pernyataan bahwa suatu cryptosystem itu kuat. Kita katakan, sebagai contoh, bahwa suatu cryptosystem adalah aman terhadap seluruh penyerangan pasif jika sembarang penyerangan nontrivial terhadapnya tidak praktis. Jika kita dapat membuktikan pernyataan ini maka kita akan memiliki keyakinan bahwa cryptosystem kita akan bertahan terhadap seluruh teknik cryptanalytic pasif. Jika kita dapat mereduksi pernyataan ini hingga pada beberapa masalah yang tidak terpecahkan maka kita masih tetap memiliki keyakinan bahwa cryptosystem kita tidak mudah dibuka.

Ciphertext-only attack

Dengan menggunakan notasi di atas, suatu ciphertext-only attack adalah suatu penyerangan dengan F adalah konstanta. Diberikan hanya beberapa informasi G(EK(P1),..EK(Pn)) tentang n ciphertext, penyerangan harus memiliki kesempatan menghasilkan beberapa informasi H(P1,…,Pn) tentang plaintext. Penyerangan akan merupakan suatu trivial bila ia hanya menghasilkan H(P1,…,Pn) ketika diberikan G(C1,…,Cn) untuk C1,…,Cn acak.

Sebagai contoh, misalkan G ( C ) = C dan misalkan H(P) adalah bit pertama P. Kita dapat secara mudah menulis suatu penyerangan, pendugaan, yang menduga bahwa H(P) adalah 1. Penyerangan ini adalah trivial karena tidak menggunakan ciphertext, probabilitas keberhasilannya adalah 50 %. Di lain pihak, terdapat penyerangan atas RSA yang memproduksi satu bit informasi tentang P, dengan probabilitas keberhasilan 100 %, menggunakan C. Jika diberikan suatu C acak maka tingkat kesuksesan turun menjadi 50%. Inilah yang disebut penyerangan nontrivial.

Known-plaintext attack

Penyerangan known-plaintext klasik memiliki F(P1,P2) = P1, G(C1,C2) = (C1,C2), dan H(P1,P2) tergantung hanya pada P2. Dengan kata lain, bila diberikan dua ciphertext C1 dan C2 dan satu dekripsi P1, penyerangan known-plaintext seharusnya menghasilkan informasi tentang dekripsi P2.

Brute-force attack

Umpamakan penyerangan known-plaintext berikut. Kita diberikan sejumlah plaintext P1,…,Pn-1 dan ciphertext C1,…,Cn-1. Kita juga diberikan sebuah ciphertext Cn. Kita jalankan seluruh kunci K. Bila kita temukan K sedemikian sehingga EK(P1) = Ci untuk setiap IK(Cn).

Jika n cukup besar sehingga hanya satu kunci yang bekerja, penyerangan ini akan sukses untuk seluruh input yang valid pada setiap waktu, sementara ia akan menghasilkan hasil yang tepat hanya sekali untuk input acak. Penyerangan ini adalah nontrivial, masalahnya ia sangat lambat bila terdapat banyak kemungkinan kunci.




Smadav 2010 Rev. 8 dirilis dengan berbagai fitur dan penyempurnaan baru yang dikhususkan untuk pemberantasan virus lokal. Fitur-fitur itu seperti Smad-Behavior yang bisa mengenali virus lokal baru yang belum ada di database Smadav dari tingkah lakunya ketika menginfeksi sistem. Smad-Ray yang bisa melakukan scan flashdisk secara otomatis setelah terpasang hanya dalam waktu maksimum 5 detik. Smadav 2010 lebih stabil dan sangat disarankan untuk digabungkan dengan antivirus internasional karena Smadav hanya bisa menangani virus lokal. Pengebalan flashdisk (menggunakan folder autorun.inf) telah disempurnakan lagi dan sebelumnya akan ada konfirmasi sehingga Anda bisa memutuskan apakah suatu flashdisk ingin dikebalkan atau tidak.
Sebagai informasi, dari sampel-sampel virus yang di-upload pengguna ke situs Smadav.net, penyebaran virus lokal saat ini sudah mulai turun drastis di Indonesia. Mungkin ini dikarenakan sudah banyaknya antivirus lokal yang bisa membasmi virus-virus lokal. Dan juga karena pengguna Windows XP yang sudah berkurang karena sebagian sudah meng-upgrade sistem operasinya menjadi Windows Vista atau Windows 7 yang sangat aman dari infeksi virus khususnya virus lokal. Penyebaran virus di Indonesia lebih banyak didominasi oleh virus dan malware internasional yang tentunya tidak bisa diatasi Smadav. Anda wajib dan sangat disarankan menggunakan antivirus internasional untuk perlindungkan komputer Anda dari virus dan malware internasional ini.
demo


12/29/2009

Ayah Tekom C Fahmy

Berusaha sambil berdoa adalah keyakinan tanpa batas, karena hasil bukanlah suatu tujuan akan tetapi proses pembelajaran-lah yg menjadi tujuannya, sehingga belajar baik menjadi hal yg dibiasakan dan terus-menerus dilakukan (indah sekali). Dalam menjalani kehidupan orang suka berpura-pura misalnya, benci tapi rindu, acuh tapi butuh, mau tapi malu dsb, hal tersebut terjadi karena satu hal takut jadi omongan, dan kebanyakan orang tidak menyukai keterus-terangan karena menyakitkan padahal kalau orang selalu berbicara apa adanya akan lebih sehat jadi tidak mudah sakit. Pola pikir terbentuk karena perjalanan hidup,baik terpengaruh secara positif maupun negatif dan pola pikir juga merupakan suatu abstraksi berupa sifat dan perilaku sehingga cenderung orang akan berpola pikir berbeda antara yg satu dengan yang lainnya. Dalam hidup berpasangan wanita selalu memilih laki-laki yang mapan, kemapanan selalu diartikan fisik berarti kaya raya, akan tetapi di tengah jalan kemapanan laki-laki tsb diatas sering berubah tidak sesuai dgn apa yg di harapkan oleh wanita maka jadilah kemapanan tersebut menjadi sebuah ketidak harmonisan. kemapanan bukan kaya raya, kemampanan adalah kestabilan jasmani dan rohani serta kemampuan untuk memimpin (IMAM). Orang selalu takut berbuat jujur karena jujur itu rugi, jujur itu ngga ada uang nya akhir jujur itu langka, sehingga orang zaman sekarang sering mengatakan “kamu terlalu jujur” artinya jangan jujur padahal jujur itu indah dan memang jujur itu tidak ada hubungan dengan kerugian dan keuangan Ini cerita diri :”Suatu ke anehan dirasakan mahasiswa/i pada saat mengikuti sebuah matakuliah yg isinya hanya nasihat (padahal bukan mata kuliahnya) kala itu banyak mahasiswa/i berguman “ini dosen aneh! koq kuliahnya kayak KULTUM ngga ngerti ah , ngga enakeun ah..”..singkat cerita, Setelah kelulusan mhs/i kemudian bekerja..ternyata, barulah mereka sadar..bahwa…nasihat-nasihat lah yg mereka gunakan untuk menyelesaikan tugas..Manusia apabila mendapatkan kemenangan dan kesenangan biasanya tepuk dada dan ini akan menyebabkan kesempitan jangan dilakukan-lah lebih baik urut dada agar memperoleh kelapangan….
“gagal, sakit hati, patah hati, dendam, benci dst…adalah kata2 yg bermuatan negatif apabila dipertemukan dengan aliran positif seperti sukses, sehap hAti, hati-hati, iklas, sayang dst akan menghasilkan sebuah energi cahaya pada sebuaH lampu dimana lampu itu sebuah kei-anAn yg lahir dari muatan negative yg dstabilkan oleh muatan positif” “Percaya Diri” alias PD alias confidence … timbul karena keimanan sehingga confidence bukan lagi berbicara tentang diri sendiri tapi berbicara tentang segala aspek dalam keimanan. Manusia adalah misteri!…betapapun manusia itu dikaruniai wajah dengan raut muka yg halus lembut..dapat berubah menjadi keras, kasar bahkan manusiapun diberikan kencantikan dan ketampanan secara spontan dapat berubah menjadi sebuah wajah yg menakutkan…..itulah manusia dengan misterinya….Penolakan adalah sesuatu hal yg sering kita alami, ini selalu dipicu 2 hal yaitu penolakan melalui pemikiran logika atau melalui perasaan, kedua macam penolakan tsb harus-lah bisa di kendalikan oleh sebuah pemahaman yg logis…berdasarkan situasi dan kondisi-nya sehingga penolakan akan menjadi sebuah tolak ukur penerimaan…..Kalau hari ini jelek maka hari esok akan jadi baik, kalau hari esok baik maka hari selanjutnya akan lebih baik, hidup adalah siklus yg tak pernah henti, jadi apabila ketemu jelek selanjutnya ketemu baik dan selanjutnya akan lebih baik…tidak ada yg perlu di bilang gagal…karena gagal adalah proses…manusia tidak akan pernah gagal yang ada adalah menunggu sukses tapi dengan proses…..Kecerdasan seseorang terlihat dari paham-nya dia menyadari kelebihan-nya dan kelemahannya, dimana kelebihannya adalah sebuah titipan yang harus di amalkan!, dan kelemahanya adalah takdir yg harus diterimanya agar dia tidak menjadi takabur…..!Malam memikirkan Pagi, Pagi memikirkan Siang, Siang Memikirkan Sore dan Sore kembali memikirkan Malam…begitulah kita hidup bagaikan sebuah lingkaran yg tak terputus…yg maknanya “selalu berpikir kedepan dan setiap waktu yg kita temui selalu saja berbeda tantangannya…subhanallah”. Dalam kehidupan, kesusahan lebih banyak ditemui oleh kita dari pada kemudahan..mengapa? karena 10 kesusahan dapat distabilkan oleh 1 kemudahan. Kita selalu mendoakan saudara kita agar banyak rejeki-nya!..rejeki yg dimaksud oleh kita di zaman sekarang adalah uang, rejeki..tidak selalu uang! rejeki atau rizki adalah kemudahan..perhatikan pd saat kita berkedip…duh nikmatnya..dan begitu mudahnya….itulah salah satu bentuk dari rejeki. Teori melahirkan wawasan, wawasan melahirkan ide, ide melahirkan analisa dan rancangan, analisa dan rancangan melahirkan implementasi dari implementasi maka akan dilakukan uji coba sehingga dibuatkan dokumentasi…!
Ilmu tidak pernah menyulitkan kita tapi kita sering menyulit-nyulitkan ilmu…sehingga seolah-olah ilmu itu sulit…! Kehebatan itu artinya pengalaman!, pengalaman artinya pelajaran!, pelajaran artinya pembelajaran!, pembelajaran adalah pemahaman!…sehingga hebat sama dengan paham dan paham sama dengan iman karena itu iman harus dipahami! Sebuah tanda, bahwa yg baik sebetulnya dekat dengan kita sedang yg tidak baik jauh dari kita..tapi pada saat dipilih yg baik jadi menjauh dari kita sedangkan yg tidak baik malah mendekati kita…ini dibutuhkan kecerdasan secara emosional….! Orang yg belajar baik di nasehati untuk kebaikan pasti di terima dengan baik..tapi orang yg merasa dirinya sudah baik di nasehati untuk kebaikan pasti tidak mau menerimanya dengan baik…! Menghargai Kekalahan adalah Wujud dari Suatu Kemenangan…? pabila di sebuah kompetisi kita di nyatakan kalah dan kita menerimannya secara ber tanggung jawab berarti kita telah memenangkan kompetisi bathin dengan sempurna…..! Pada saat berbinis kita sering merasa bangga tatkala … lawan kita berhasil kita perdayai…namun kita tidak pernah berpikir kemenangan yg kita raih akan memotong hasil yg kita raih sebanyak 100% dikemudian hari..! akhirnya jg harus kurelakan kehilangan cinta sejatiku, segalanya tlah kuberikan juga semua kekuranganku, jika memang ini yg terbaik untuk diriku dan dirinya kan ku trima semua demi cinta.. Mencari kesalahan orang lain lebih mudah daripada mencari kesalahan diri sendiri, karena orang tsb tidak menyukai orang lain berbeda dengan dirinya, sehingga setiap perbedaan adalah kesalahan bagi dirinya…hal inilah yang sehalu terjadi di duni` sehingga dunia )tu fana (rusak)…! Bekerja sangat berbeda dengan karena orang bekerja banyak dibatasi oleh aturan sehingga manfaatnya hanya menyenangkan sepihak akan tetapi berkarya..ini merupakan keharusan karena manfaatnya akan dinikmati oleh banyak pihak…! Sudut pandang orang selalu berbeda, semakin banyak pengalaman semakin banyak pertimbangan, sedikit pengalaman maka sedikit pula pertimbangannya, apalagi kalau kita gunakan pada saat menilai orang lain…hasilnya pun akan berbeda…! Melihat kesalahan merupakan hobby yg digandrungi oleh banyak orang sedangkan melihat kebaikan orang hanya menanggapi sesuatu yang lumrah seolah-olah tidak pernah terjadi. Orang yg berlajar logika mudah memahami perasaan orang lain, tapi orang yg belajar perasaan susah memahami logika orang lain…! Di saat orang melihat apa yg kita lakukan menjadi tanda tanya besar buat banyak orang, sebaiknya orang lain jangan cepat mengambil kesimpulan atas apa yg kita lakukan kalau orang tsb masih belum cukup ilmu untuk menyimpulkan ….!
Berbuat kebaikan ternyata sangat sulit, karena ujiannya selalu di nilai salah oleh banyak orang, sedang kan berbuat kesalahan sangat mudah , karena ujiannya selau dinilai benar oleh banyak orang. Kenapa ya?..karena pada saat kita berniat baik yg sebelumnya kita selalu berbuat salah menjadikan niat baik tsb menjadi salah karena kesalahan sebelumnya..ini sangat tidak bijak Guruku berkata jangan suka “bermain mata” tapi “main kan mata nya” dua suku kata yg sama tapi apabila dibalik maknanya berbeda….dan ini sangat ampuh jika kita sedang menjawab pertanyaan2 dalam sebuah Ujian….mainkan matanya artinya baca soal lalu jawab…
sebuah pertanyaan: “kenapa setiap sy mengutarakan pendapat atau gagasan selalu membuat orang pada bingung”, seorang kawan mengatakan ide mu bukan ide yg mudah di ikuti atau di pahami….tapi ..akhir mereka melakukan juga apa kamu gagaskan…..bagaimana menurut kalian ..apakah sy ini orang aneh…? wakkakakak… Beradaptasi dengan lingkungan baru lebih sulit daripada lingkungan lama, karena hal yg baru tidak sama dengan yg lama, jika hidup kita ini selalu sama dari hari keharinya maka kita tidak akan pernah tahu perbedaannya, tidak akan tahu bahwa ada siang ada malam, ada susah ada mudah….dsb…!
semuanya bergantung pada waktu yg tepat untuk berbicara kepada atasan kita…tentang kinerja yg sudah kita lakukan..! Disaat berbuat baik tidak selalu terlihat baik oleh orang lain karena pada saat kita berbuat baik orang hanya menilai berdasarkan keterbatasan ilmu yg diketahui-nya sehingga yg baik terlihat buruk yg buruk terlihat baik…Jika kita melihat kesuksesan orang lain, apakah kita memandang HASIL ? bukankah kita perlu memahami dan ikut merasakan bagaimana KISAH CERITA, PROSES kenapa orang itu mendapat kesuksesan? Sayangnya kebanyakan orang tidak mau tau perihnya KISAH, PROSES seseorang saat mencapai Kesuksesan….mari kita hargai perjuangan, kita hargai Proses…karena HASIL itu 50% sudah ada yg menentukan… aku yakin, yang diatas lbh tau. Setiap orang memiliki sudut pandang yang berbeda dalam berpikir artinya perbedaan itu manusiawi, hanya saja orang sangat menyukai perbedaan sebagai cara untuk menjatuhkan orang lain, ini terjadi pabila orang yg jatuh ingin yg lainnya jatuh…sehingga menjadi sama-sama jatuh agar tidak azda perbedaan..! Menuntut Ilmu layaknya seperti kita menaiki tangga, dari tangga ke 1 kita akan belajar ke tangga ke 2 begitulah seterusnya, sehingga manfaat dari ilmu akan terasa maknanya pada saat melakukan perjalanan dari satu tangga ke tangga yg lain…artinya ilmu perjalanan adalah manfaat dari ilmu yg sebenarnya…subhanallah Mengendalikan hati kita lebih sulit daripada mengendalikan fisik kita karena fisik diperintah oleh hati, sementara hati hanya dapat diperintah oleh iman dan taqwa..! Kebanyakan orang selalu merasakan manfaat setelah berproses, tetapi berproses tidak pernah di anggap sebagai manfaat jika belum dilalui…!Orang yg bertanggung jawab dianggap tidak bertanggung jawab atas tindakannya, sedangkan orang yg tidak bertanggung jawab merasa telah bertanggung jawab atas tindakannya…..!….aneh sekali dunia sudah terbalik? Seorang Pejuang selalu mengorbankan jiwa dan raganya demi mencapai kemerdekaan walaupun dalam perjuangannya selalu mendapatkan peringatan dan ancaman, bukanlah sesuatu yang aneh jika kita ingin melakukan suatu perubahan selalu di kaitkan dengan kelemahan kita…ini tidak adil padahal bukti sudah terlihat karena manusia lebih tertarik pada dirinya sendiri tanpa mempedulikan orang lain….merdeka!
Diantara satu tahun sampai dengan empat tahun kita saling terdidik dan hanya keberhasilan semu yang kita raih, karena setelah itu kita akan bertemu dengan perjalanan yg panjang penuh dengan liku-liku hidup, Selamat berjuang untuk kamu yg berlatih dari 1 tahun s.d empat tahun….! Masa menjadi penuntut ilmu akan segera dimulai lagi, kita persiapkan diri kita dengan segala kebersihannya agar ilmu akan lebih mudah meresap kedalam hati dan pikiran kita sehingga manfaat selalu kita dapatkan dari ilmu yg kita tuntut….!

12/19/2009

Array di C#

Array adalah salah data type yang terdiri dari beberapa elemen atau kumpulan kumpulan values dari variable yang sejenis. Untuk lebih jelasnya perhatikan gambarannya sebagai berikut :
Jika kita mendeklarasikan variable primitif sebagai contoh int a = 10; maka dalam memori komputer akan menyimpan nama dari varibel tersebut beserta valuenya.

Perbedaannya dengan array adalah, dalam suatu varibel yang dideklarasikan sebagai array dia bisa menyimpan value lebih dari satu pada indeks yang berbeda

maka dalam ilustrasi diatas bisa diartikan bahwa variabel array “A” dengan tipe integer memiliki nilai 10 pada indeks ke-0, 11 pada indeks ke-1, 19 pada indeks ke-2, dan 27 pada indeks ke 3. Dengan demikian array “A” memiliki panjang 4 dan memiliki tipe data integer.
Berikut ini adalah contoh implementasi array pada C#.

using System;

namespace InputOutput
{
class Program
{
static void Main(string[] args)
{
int[] array = new int[10];

for ( int counter = 0; counter <>
{
Console.WriteLine(array[counter]);
}
}
}
}

Maka setelah kita compile akan menghasilkan output demikian : Index Value 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 Contoh diatas merupakan array yang belum diberi nilai, maka setiap indeks dalam array akan diisi nilai 0 oleh C#, nah selanjutnya kita akan bahas mengenai bagaimana memberi nilai pada array tersebut, perhatikan contoh program dibawah ini :

using System;

namespace InputOutput {

class Program {

static void Main(string[] args) {

int[] array = { 32, 27, 64, 18, 95, 14, 90, 70, 60, 37 };

for ( int counter = 0; counter <>

Console.WriteLine(array[counter]);

}
}
}
}

Maka ketika kita compile, output array tidak lagi bernilai 0, karena sudah kita isi nilai didalamnya, perhatikan outputnya dibawah ini : Index Value 0 32 1 27 2 64 3 18 4 95 5 14 6 90 7 70 8 60 9 37 Penggunaan Array tidak hanya terbatas disitu saja, kita juga bisa membuat array multi dimensi, berbeda dengan contoh contoh diatas tersebut, array multi dimensi memiliki indeks legih dari satu digit, misal array[4][4], hal ini dapat direpresentasikan bahwa array tersebut memiliki jumlah kolom 4 dan baris 4.



Deklarasi array multidimensi tanpa memeberi nilai adalah seperti dibawah ini :
int array[][] = new int[ 10 ];
dan untuk deklarasi array sekaligus memberi nilai pada array tersebut adalah seperti ini :
int array[,] = { { 1, 2, 3, 4 },
{ 5, 6, 7, 8 },
{ 9, 10, 11, 12 },
{ 13, 14, 15, 16 } };

Yang akan kita bahas kali ini adalah mengenai Control Statements, dimana pertama tama kita akan membahas tentang struktur percabangan. Yaitu sebuah cara dimana program akan membuat suatu decesion atau keputusan terhadap apa yang akan dilakukannya, Sebagai contoh perhatikan kalimat berikut : “Jika hari hujan maka jalanan licin” sedangkan keadaan yang terjadi adalah hari tidak hujan maka jalanan tidak licin. Kasus tersebut adalah contoh sederhana dari sebuah kasus percabangan, sebagai contoh lain adalah berikut : “Jika nilai lebih dari 60 maka lulus” hal ini bisa digambarkan dalam flowchart seperti dibawah ini :


Maka dalam flowchart tersebut diilustrasikan bahwa jika “grade” lebih dari sama dengan 60 maka akan di-print “paseed”, hal ini dapat direpresentasikan dalam C# sebagai berikut :

using System;

namespace Percabangan
{
class Program
{
static void Main(string[] args)
{
int grade = Convert.ToInt32(Console.ReadLine());
if (grade >= 60)
{
Console.WriteLine("Passed");
}
else
{
Console.WriteLine("Failed");
}

}
}
}

Dalam program diatas dapat kita lihat bahwa percabangan sederhana dalam pemrograman komputer direpresentasikan dengan menggunakan if else. Dimana cara penggunaannya adalah sebagai berikut:
if ( kondisi )
{ Tindakan1 }
else
{ Tindakan2 }

Selain percabangan ini, kita juga bisa menggunakan multi percabangan, yaitu menggunakan struktur “if,else if”. Perbedaannnya adalah percabangan ini bisa digunakan untuk multi kondisi sehingga tidak hanya terbatas pada dua kondisi seperti if esle. Cara penggunaannya adalah sebagai berikut :

if (kondisi1)
{ Tindakan1 }
else if(kondisi2)
{ Tindakan2 }
else if(kondisi3)
{ Tindakan3 }
else if(kondisi4)
{ Tindakan4 }
else
{ Tindakan5 }

Untuk contoh programnya adalah sebagai berikut :

using System;

namespace Percabangan
{
class Program
{
static void Main(string[] args)
{
int studentgrade = Convert.ToInt32(Console.ReadLine());
if ( studentGrade >= 90 )
{ Console.WriteLine("A");}

else if ( studentGrade >= 80 )
{ Console.WriteLine("B"); }

else if ( studentGrade >= 70 )
{ Console.WriteLine("C"); }

else if ( studentGrade >= 60 )
{ Console.WriteLine("D"); }

else
{ Console.WriteLine("E"); }
}
}
}

Selain menggunakan if, else if, kita juga bisa menggunakan Switch Case untuk merepresentasikan multi percabangan. Sebagai contoh perhatikan program dibawah ini :

using System;

namespace Percabangan
{
class Program
{
static void Main(string[] args)
{
int angka = Convert.ToInt32(Console.ReadLine());
switch (angka)
{
case 1:
Console.WriteLine("Satu");
break;
case 2:
Console.WriteLine ("Dua");
break;
case 3:
Console.WriteLine ("Tiga");
break;
default:
Console.WriteLine ("Bukan Satu, Dua, Ataupun Tiga!!!");
break;
}
}
}
}


Maka ketika kita compile program diatas akan meminta inputan bilangan integer, jika kita inputkan 1, maka yang keluar adalah Satu , jika 2 maka yang keluar adalah Dua , jika 3 maka yang keluar adalah Tiga , dan jika lain itu maka yang keluar adalah Bukan Satu, Dua, Ataupun Tiga!!!.

Setelah kita membahas program Hello Words sederhana, selanjutnya kita akan membahas mengenai input dan output yang digunakan dalam C#. Sebagai contoh pertama perhatikanlah program dibawah ini, dimana program akan meminta inputan berupa dua buah bilangan integer atau bilangan bulat kepada user dan menampilkan hasil penjumlahannya ke layar.

using System;

namespace InputOutput
{
class Program
{
static void Main(string[] args)
{
Console.Write("Masukan Bilangan Bulat Pertama : ");
int angaka1 = Convert.ToInt32(Console.ReadLine());
Console.Write("Masukan Bilangan Bulat Kedua : ");
int angaka2 = Convert.ToInt32(Console.ReadLine());

int sum = angaka1 + angaka2;

Console.WriteLine("Jumlahnya Adalah : " + sum);
}
}
}

Console.ReadLine() Adalah fungsi yang digunakan untuk membaca inputan dari user, akan tetapi format dari inputan yang diambil tersebut berupa string sehingga kita perlu mengubahnya menjadi integer agar dapat dioperasikan oleh karena itu kita menggunakan fungsi Convert.ToInt32() .
int sum = angaka1 + angaka2; Adalah operasi aritmatika yang menunjukan bahwa variabel jumlah diisi oleh penjumlahan dari variable angka1 dan angka1
Console.WriteLine("Jumlahnya Adalah : " + sum); Adalah cara untuk menampilkan suatu variable pada layar, jadi yang akan ditampilkan adalah text “Jumlahnya Adalah :” dan nilai dari variable jumlah.
Output dari program diatas adalah :
Masukan Bilangan Bulat Pertama: 35
Masukan Bilangan Bulat Pertama: 65
Jumlahnya Adalah : 117

Selain penjumlahan operator artimatikan dalam C# juga bisa berupa :
Perkalian #contoh : c = a * b;
Pembagian #contoh : c = a / b;
Pengurangan #contoh : c = a - b;
Modulo #contoh : c = a % b;

C# (C Sharp) adalah sebuah bahasa pemrograman yang dibuat setelah bahasa pemrograman Java muncul, basis dari C# sebenarnya adalah C++. Karena banyaknya kekurangan dan kelemahan dari bahasa pemrograman C++, maka akhirnya dibuat bahasa pemrograman Java, dengan fitur dan model yang lebih kompleks dari C++, Java memiliki banyak peminat. Akan tetapi setelah diketahui bahwa ternyata dalam bahasa pemrograman Java juga masih memiliki banyak kelemahan, akhirnya Java dikembangkan menjadi C#, dimana dalam bahasa pemrograman C# tersusun dari 70% Java, 20% C++ dan 10% baru. Sehingga hal ini dapat menciptakan suatu bahasa pemrograman baru yang menutup kelemahan C++, maupun Java.

Langsung saja mari kita perhatikan contoh program hello words dengan menggunakan C# berikut ini;

using System;

class Welcome
{
static void main( string[] args )
{
Console.WriteLine( "Hello Words !!!" );
}
}

Maka output dari program diatas adalah :

Hello Words !!!

Console.WriteLine( "Hello Words !!!" ); Adalah fungsi dalam C# yang digunakan untuk mencetak text kedalam layar dimana setelah mencetak text, ia langsung berganti ke baris baru dibawahnya. Sedangkan Console.Write() adalah fungsi yang digunakan untuk mencetak text akan tetapi tidak berganti baris ketika selesai.
Seperti halnya bahasa pemrograman yang lain, id dalam C# kita juga diperbolehkan menggunakan escape character, yaitu beberapa karakter khusus yang digunakan untuk memodifikasi pencetakan text yang kita lakukan. Untuk lebih jelasnya perhatikan contoh dibawah ini :
using System;

class Welcome
{
static void main( string[] args )
{
Console.WriteLine( "Hello\nWords!!!" );
}
}

Maka setelah kita mengcompile program diatas akan dihasilkan output seperti dibawah ini :

Hello
Words!!!

Pemrograman Bahasa C untuk AVR Bahasa C luas digunakan untuk pemrograman berbagai jenis perangkat, termasuk mikrokontroler. Bahasa ini sudah merupakan high level language, dimana memudahkan programmer menuangkan algoritmanya. Untuk mengetahui dasar bahasa C dapat dipelajari sebagai berikut.

1. Struktur penulisan program
#include < [library1.h] > // Opsional
#include < [library2.h] > // Opsional
#define [nama1] [nilai] ; // Opsional
#define [nama2] [nilai] ; // Opsional
[global variables] // Opsional
[functions] // Opsional
void main(void) // Program Utama
{ [Deklarasi local variable/constant] [Isi Program Utama] }

2. Tipe data
char : 1 byte ( -128 s/d 127 )
unsigned char : 1 byte ( 0 s/d 255 )
int : 2 byte ( -32768 s/d 32767 )
unsigned int : 2 byte ( 0 s/d 65535 )
long : 4 byte ( -2147483648 s/d 2147483647 )
unsigned long : 4 byte ( 0 s/d 4294967295 )
float : bilangan desimal
array : kumpulan data-data yang sama tipenya.

3. Deklarasi variabel & konstanta
Variabel adalah memori penyimpanan data yang nilainya dapat diubah-ubah.
Penulisan : [tipe data] [nama] = [nilai] ;
Konstanta adalah memori penyimpanan data yang nilainya tidak dapat diubah.
Penulisan : const [nama] = [nilai] ;
Tambahan: Global variabel/konstanta yang dapat diakses di seluruh bagian program.
Local variabel/konstanta yang hanya dapat diakses oleh fungsi tempat dideklarasikannya.

4. Statement
Statement adalah setiap operasi dalam pemrograman, harus diakhiri dengan [ ; ] atau [ } ]. Statement tidak akan dieksekusi bila diawali dengan tanda [ // ] untuk satu baris. Lebih dari 1 baris gunakan pasangan [ /* ] dan [ */ ]. Statement yang tidak dieksekusi disebut juga comments / komentar.
Contoh: suhu=adc/255*100; //contoh rumus perhitungan suhu

5. Function Function
adalah bagian program yang dapat dipanggil oleh program utama.
Penulisan : [tipe data hasil] [nama function]([tipe data input 1],[tipe data input 2]) { [statement] ; }

6. Conditional statement dan looping if else
digunakan untuk penyeleksian kondisi
if ( [persyaratan] ) { [statement1]; [statement2]; } else { [statement3]; [statement4]; }
for : digunakan untuk looping dengan jumlah yang sudah diketahui
for ( [nilai awal] ; [persyaratan] ; [operasi nilai] ) { [statement1]; [statement2]; }
while : digunakan untuk looping jika dan salama memenuhi syarat tertentu
while ( [persyaratan] ) { [statement1]; [statement2]; }
do while : digunakan untuk looping jika dan salama memenuhi syarat tertentu, namun min 1 kali
do { [statement1]; [statement2]; } while ( [persyaratan] )
switch case : digunakan untuk seleksi dengan banyak kondisi
switch ( [nama variabel] ) { case [nilai1]: [statement]; break; case [nilai2]: [statement]; break; }

7. Operasi logika dan biner Logika
AND :&&
NOT : !
OR : ||
Biner AND : &
OR : |
XOR : ^
Shift right: >>
Shift left : <<
Komplemen : ~

8. Operasi relasional (perbandingan)
Sama dengan : ==
Tidak sama dengan : !=
Lebih besar : >
Lebih besar sama dengan : >=
Lebih kecil : <
Lebih kecil sama dengan : <=

9. Operasi aritmatika
+ , - , * , / : tambah,kurang,kali,bagi
+= , -= , *= , /= : nilai di sebelah kiri operator di tambah/kurang/kali/bagi dengan nilai di sebelah kanan operator
% : sisa bagi
++ , -- : tambah satu (increment) , kurang satu (decrement)
Contoh :
a = 5 * 6 + 2 / 2 -1 ;
maka nilai a adalah 30 a *= 5 ;
jika nilai awal a adalah 30, maka nilai a = 30x5 = 150. a += 3 ;
jika nilai awal a adalah 30, maka nilai a = 30+5 = 33. a++ ;
jika nilai awal a adalah 5 maka nilai a = a+1 = 6. a-- ;
jika nilai awal a adalah 5 maka nilai a = a-1 = 4.




Kali ini MiewzZ mau ngasih trik sederhana dalam memanipulasi Support Information pada Windows XP. Sebenarnya yang akan kita manipulasi adalah 3 hal, yaitu keterangan “Manufactured and suppo and g akan kita manipulasi adalah 3 hal, yaitu keterangan "anurmation pada Winrted by:” beserta gambar/logonya, dan keterangan di dalam menu Support Information. Ketiga hal tersebut dapat kalian temukan di System Properties Windows (tekan Windows+PauseBreak di Keyboard untuk membukanya).

Langkah Pertama membuat SourceCode untuk file Oeminfo.ini, buka notepad dan masukkan sourcecode berikut:

[General]

Manufacturer=MiewzZ //ganti: bebas

Model=-=KOmputer Anda Terdeteksi Virus Yang Mematikan …. !=- //ganti: bebas

SupportURL=Http://MiewzZ-4rea.co.cc //ganti: bebas

[Support Information]

Line1="Komputer Aink..."

Line2="Kumaha Aink Ajig...!!!"

Line3=""

Line4=""

Line5=""

Line6=”Instal ulang Windows nya”

//Untuk Keterangan di Line1 sampai Line tak terbatas silahkan isi Informasi apapun sesuka kalian.

Simpan file diatas dengan nama Oeminfo.ini dan pada Save As Type rubah menjadi All Files. Copy-Paste File ini di C:\WINDOWS\system atau jika tidak ada biasanya untuk Windows XP SP2 atau versi build yang lama biasanya di C:\WINDOWS\system32, jika muncul replace tekan Yes/Ok.

Untuk merubah Logo, buat image/gambar/foto (bebas) dengan dimensi +/- 180x120 dan simpan gambar dengan type BMP. Simpan di tempat yang sama seperti Oeminfo.ini.

Ok beres, silahkan buka lagi System Properties Windows kalian.