Komputer adalah alat yang dipakai untuk mengolah data menurut prosedur yang telah dirumuskan. Kata computer semula dipergunakan untuk menggambarkan orang yang perkerjaannya melakukan perhitungan aritmatika, dengan atau tanpa alat bantu, tetapi arti kata ini kemudian dipindahkan kepada mesin itu sendiri. Asal mulanya, pengolahan informasi hampir eksklusif berhubungan dengan masalah aritmatika, tetapi komputer modern dipakai untuk banyak tugas yang tidak berhubungan dengan matematika.
Dalam definisi seperti itu terdapat alat seperti slide rule, jenis kalkulator mekanik mulai dari abakus dan seterusnya, sampai semua komputer elektronik yang kontemporer. Istilah lebih baik yang cocok untuk arti luas seperti "komputer" adalah "yang memproses informasi" atau "sistem pengolah informasi."
Sistem komputer adalah suatu jaringan elektronik yang terdiri dari perangkat lunak dan perangkat keras yang melakukan tugas tertentu (menerima input, memproses input, menyimpan perintah-perintah, dan menyediakan output dalam bentuk informasi). Selain itu dapat pula diartikan sebagai elemen-elemen yang terkait untuk menjalankan suatu aktifitas dengan menggunakan Komputer.
Elemen dari Sistem Komputer terdiri dari manusianya (brainware), perangkat lunak (software), set instruksi (instruction set), dan perangkat keras (hardware). Dengan demikian komponen tersebut merupakan elemen yang terlibat dalam suatu Sistem Komputer. Tentu saja hardware tidak berarti apa-apa jika tidak ada salah satu dari dua lainnya (software dan brainware).
Komponen Teknologi Informasi :
• Hardware, terdiri dari CPU, memory, I/O device, interconnector
• Software, terdiri dari OS, package application, user application
• Firmware , terdiri dari instruksi disimpan permanen dalam ROM
• Brainware, terdiri dari end user, programmer, analyst, manager, DBA
• Infoware, terdiri dari user manual, SOP, cyber law
Arsitektur Von Neumann menggambarkan komputer dengan empat bagian utama:
1. Unit Aritmatika dan Logis (ALU),
2. Unit kontrol,
3. Memori, dan
4. alat masukan dan hasil (secara kolektif dinamakan I/O). Keseluruhan bagian tersebut dihubungkan oleh berkas kawat yang disebut dengan "bus".
Pada hal ini, saya akan membatasi untuk fokus membahas ALU, yaitu Arithmetic logic unit (ALU) adalah rangkaian digital yang melakukan aritmatika dan logis operasi.
ARITMATIKA
Aritmetika atau arithmetics (dari Yunani kata αριθμός = jumlah) adalah yang tertua dan paling dasar matematika cabang, yang digunakan oleh hampir semua orang, untuk mulai dari yang sederhana tugas-tugas sehari-hari menghitung untuk maju ilmu pengetahuan dan bisnis perhitungan, seperti penambahan, pengurangan , perkalian dan pembagian. Dalam penggunaan umum, kata ini merujuk ke cabang (atau pendahulu) matematika yang mencatat sifat-sifat dasar tertentu operasi pada nomor. Profesional ahli matematika kadang-kadang menggunakan istilah (lebih tinggi) aritmetika ketika mengacu pada teori bilangan, tetapi ini tidak boleh dikacaukan dengan aritmatika dasar.
SEJARAH ARITMATIKA
Prasejarah aritmatika yang terbatas pada jumlah yang sangat kecil artifak kecil yang menunjukkan konsep yang jelas penambahan dan pengurangan, yang paling terkenal menjadi tulang Ishango dari Afrika tengah, dating dari suatu tempat antara 20.000 dan 18.000 SM.
Jelas bahwa Babel memiliki pengetahuan yang kokoh dari hampir semua aspek aritmetika dasar oleh 1800 SM, sejarawan meskipun hanya bisa menebak metode yang digunakan untuk menghasilkan hasil aritmetika – seperti yang ditunjukkan, misalnya, dalam tablet tanah liat Plimpton 322, yang muncul menjadi daftar Pythagoras tiga kali lipat, tetapi tanpa kerja untuk menunjukan bagaimana daftar ini awalnya diproduksi. Demikian pula, Mesir Rhin Mathematical Papyrus (berasal dari sekitar 1650 SM, meskipun jelas salinan teks yang lebih tua dari sekitar 1850 SM) menunjukan bukti penambahan, pengurangan, perkalian, dan pembagian yang digunakan da;lam sebagian unit system.
Nicomachus (c. AD – c. AD 120) merangkum filsafat Pythagoras pendekatan angka, dan hubungan mereka satu sama lain, dalam Pengenalan Arithmetic. Pada saat ini, operasi aritmatika dasar adalah urusan yang sangat rumit, itu adalah metode yang dikenal sebagai “Metode orang-orang Indian” (Latin Modus Indorum) yang menjadi aritmatika yang kita kenal sekarang. Aritmatika India jauh lebih sederhana daripada aritmatika Yunani karena kesederhanaan system angka India, yang memiliki nol dan notasi nilai tempat. Abad ke-7 syria Severus Sebokht uskup disebutkan metode ini dengan kekaguman, namun menyatakan bahwa Metode dari India ini tak tertuliskan. Orang-orang Arab belajar metode baru ini dan menyebutkan hesab Fibonacci (juga dikenal dengan Leonardo dari Paris)
memperkenalkan “Metode dari Indian” ke Eropa pada 1202. Dalam bukunya Liber Abaci, Fibonacci mengatakan bahwa dibandingkan dengan metode baru ini, semua metode lain telah kesalahan. Dalam Abad Pertengahan. Aritmatika adalah satu dari tujuh seni liberal diajarkan di universitas.
Modern algoritma untuk aritmatika (baik untuk tangan dan komputasi elektronik) yang dimungkinkan oleh pengenalan angka-angka Arab dan decimal tempat notasi angka. Berdasarkan angka Arab aritmatika ini dikembangkan oleh matematikawan India besar Aryabhatta, Brahmagupta dan Bhaskara saya. Aryabhatta mencoba notasi nilai tempat yang berbeda dan Brahmagupta ditambahkan nol untuk system angka India. Modern dikembangkan Brahmagupta perkalian, pembagian, penambahan dan pengurangan berdasarkan angka-angka Arab. Walaupun sekarang dianggap sebagai dasar, yang kesederhanaan adalah puncak dari ribuan tahun perkembangan matematika. Sebaliknya, matematikawan kuno Archimedes mengabdikan seluruh pekerjaan, The Sand penghisab, untuk merancang sebuah notasi untuk bilangan bulat besar tertentu. Berkembangnya aljabar di Abad Pertengahan Islam di dunia dan Renaisans Eropa merupakan perkembangan dari penyederhanaan besar komputasi melalui decimal notasi.
DESIMAL ARITMATIKA
Notasi desimal konstruksi semua bilangan real dari angka dasar, sepuluh pertama bilangan bulat non-negatif 0,1,2 ,..., 9. Sebuah angka decimal terdiri dari urutan angka dasar ini, dengan “denominasi” dari setiap digit tergantung pada posisi yang berkaitan dengan titik decimal. Bagian penting dari notasi ini.
Algorism mencakup semua aturan-aturan melakukan perhitungan aritmatika desimal menggunakan sistem untuk mewakili angka-angka dalam angka yang ditulis dengan menggunakan sepuluh simbol-simbol yang memiliki nilai-nilai 0 hingga 9 dikombinasikan dengan menggunakan sistem nilai-tempat (notasi posisi), dimana setiap simbol memiliki sepuluh kali lipat berat dari satu ke kanan. Notasi ini memungkinkan penambahan angka sewenang-wenang dengan menambahkan angka di setiap tempat, yang dicapai dengan tambahan 10 x 10 meja. (Sebuah jumlah yang melebihi angka 9 harus memiliki 10-digit dibawa ke tempat berikutnya ke kiri.) Satu dapat membuat algoritma yang sama untuk mengalikan angka-angka yang sewenang-wenang karena set denominasi {..., 10 ², 10,1,10 -- 1 ,...} ditutup di bawah perkalian. Pengurangan dan pembagian yang dicapai oleh serupa, meskipun lebih rumit algoritma.
OPERASI ARITMATIKA
Operasi aritmetika tradisional adalah penambahan, pengurangan, perkalian dan pembagian, walaupun operasi lebih maju (seperti manipulasi persentase, akar kuadrat, exponentiation, dan fungsi logaritmik) juga kadang-kadang dimasukkan dalam subjek ini. Aritmatika dilakukan menurut suatu urutan operasi. Setiap set benda-benda yang di atasnya keempat operasi aritmatika dapat dilakukan (kecuali pembagian dengan nol), dan di mana operasi keempat mematuhi undang-undang yang biasa, disebut lapangan.
a. Penambahan (+)
Penambahan adalah dasar operasi aritmatika. Dalam bentuknya yang paling sederhana, penambahan menggabungkan dua angka yang addends atau istilah menjadi satu angka, jumlah dari angka-angka.
Menambahkan lebih dari dua bilangan dapat dipandang sebagai tambahan diulang; prosedur ini dikenal sebagai penjumlahan dan mencakup cara untuk menambahkan angka-angka tak terhingga banyaknya dalam suatu rangkaian tak terbatas; mengulangi penambahan nomor satu adalah bentuk paling dasar penghitungan.
Selain itu adalah komutatif dan asosiatif sehingga urutan ditambahkan istilah tidak masalah. Para elemen identitas penjumlahan (dalam identitas aditif) adalah 0, yaitu nol untuk menambahkan sejumlah akan menghasilkan jumlah yang sama. Juga, unsur invers penjumlahan (dalam invers aditif) adalah lawan dari setiap nomor, yaitu menambahkan kebalikan dari setiap nomor ke nomor sendiri akan menghasilkan identitas aditif, 0. For example, the opposite of 7 is -7, so 7 + (-7) = 0. Sebagai contoh, kebalikan dari 7 adalah -7, jadi 7 + (-7) = 0.
Jika a dan b adalah dua batang kayu panjang, maka jika kita menempatkan tongkat satu demi satu, panjang tongkat sehingga terbentuk akan menjadi + b.
b. Pengurangan (-)
Pengurangan adalah lawan dari penjumlahan. Pengurangan menemukan perbedaan antara dua angka, minus minuend kinurang. Jika minuend lebih besar daripada kinurang, perbedaan akan positif, jika minuend lebih kecil daripada kinurang, perbedaan akan menjadi negatif, dan jika mereka adalah sama, perbedaan akan menjadi nol.
Pengurangan bukan komutatif atau asosiatif. Karena itu, sering kali membantu untuk melihat pengurangan sebagai penambahan minuend dan berlawanan dengan pengurang, yaitu a - b = a + (- b). Ketika ditulis sebagai jumlah, semua sifat-sifat tambahan terus.
c. Perkalian (×, •, atau *)
Perkalian kedua operasi aritmatika dasar. Perkalian juga menggabungkan dua angka ke dalam satu nomor, produk. Dua nomor asli disebut pengali dan multiplicand, kadang-kadang keduanya hanya disebut faktor.
Perkalian terbaik dilihat sebagai operasi skala. Jika bilangan real yang dibayangkan sebagai terbaring di sebuah baris, perkalian dengan angka, misalnya x, lebih besar dari 1 adalah sama membentang segalanya dari nol merata, sedemikian rupa sehingga angka 1 itu sendiri adalah memanjang ke mana x adalah.
Demikian pula, mengalikan oleh sejumlah kurang dari 1 dapat dibayangkan sebagai meremas menuju nol.
Perkalian adalah komutatif dan asosiatif; lebih lanjut adalah distributif atas penambahan dan pengurangan. Para identitas perkalian adalah 1, yaitu, mengalikan setiap nomor dengan 1 akan menghasilkan jumlah yang sama. Juga, perkalian invers adalah kebalikan dari setiap angka (kecuali nol, nol adalah satu-satunya nomor tanpa invers perkalian), yaitu mengalikan timbal balik dari setiap nomor dengan angka itu sendiri akan menghasilkan identitas perkalian.
d. Divisi (÷ atau /)
Divisi pada dasarnya adalah kebalikan dari perkalian. Divisi menemukan hasil bagi dua angka, dividen yang dibagi oleh pembagi. Dividen dibagi dengan nol adalah undefined. Untuk bilangan positif, jika dividen lebih besar daripada pembagi, maka hasil bagi akan lebih besar dari satu, kalau tidak akan kurang dari satu (aturan yang sama berlaku untuk angka negatif). The quotient multiplied by the divisor always yields the dividend. The quotient dikalikan dengan pembagi selalu menghasilkan dividen.
Divisi ini tidak komutatif atau asosiatif. Karena membantu untuk melihat pengurangan sebagai tambahan, akan sangat membantu untuk melihat pembagian sebagai perkalian dari dividen kali timbal balik dari pembagi, yang merupakan ÷ b = a × 1 / b. Ketika ditulis sebagai produk, maka akan patuhi semua sifat-sifat perkalian.
NOMOR TEORI
Istilah aritmetika juga digunakan untuk merujuk kepada teori bilangan. Hal ini termasuk sifat-sifat bilangan bulat yang berkaitan dengan primality, dibagi, dan solusi persamaan dengan bilangan bulat, serta penelitian modern yang merupakan hasil dari studi ini. Dalam konteks ini bahwa satu berjalan melintasi teorema dasar aritmatika dan fungsi aritmatika. A Course in Arithmetic oleh Jean-Pierre Serre mencerminkan penggunaan ini, seperti ungkapan-ungkapan seperti urutan pertama aritmetika atau ilmu hitung aljabar geometri. Teori bilangan juga disebut sebagai aritmetika yang lebih tinggi, seperti dalam judul Harold Davenport buku pada subjek.
ARITHMETIC DALAM PENDIDIKAN
Pendidikan dasar dalam matematika sering tempat fokus yang kuat pada algoritma untuk aritmetika bilangan asli, bilangan bulat, bilangan rasional (pecahan vulgar), dan bilangan real (menggunakan desimal tempat-sistem nilai). Studi ini kadang-kadang dikenal sebagai algorism.
Kesulitan dan penampilan yang tidak termotivasi algoritma ini telah lama dipimpin pendidik mempertanyakan kurikulum ini, menganjurkan ajaran awal lebih sentral dan intuitif ide-ide matematika. Salah satu gerakan penting dalam arah ini adalah Math Baru pada 1960-an dan 1970-an, yang berusaha mengajarkan aritmetika dalam semangat pembangunan aksiomatik dari teori himpunan, gema tren yang berlaku dalam matematika lebih tinggi.
Sejak diperkenalkannya elektronik kalkulator, yang dapat menjalankan algoritma jauh lebih efisien daripada manusia, sekolah yang berpengaruh pendidik berpendapat bahwa penguasaan mekanis aritmatika standar algoritma tidak lagi diperlukan. Dalam pandangan mereka, tahun-tahun pertama sekolah matematika bisa lebih menguntungkan yang digunakan untuk memahami tingkat yang lebih tinggi-ide tentang apa yang digunakan untuk angka-angka dan hubungan di antara angka, kuantitas, pengukuran, dan seterusnya. Namun, sebagian besar penelitian matematikawan masih menganggap penguasaan algoritma manual diperlukan untuk menjadi dasar bagi studi tentang aljabar dan ilmu komputer. Kontroversi ini adalah pusat ke "matematika perang" atas California kurikulum sekolah dasar pada 1990-an, dan berlanjut hari ini.
Banyak teks-teks matematika untuk K-12 instruksi tersebut dikembangkan, yang didanai oleh hibah dari Amerika Serikat National Science Foundation berdasarkan standar yang dibuat oleh Dewan Nasional Guru Matematika dan diberi rating tinggi oleh Amerika Serikat Departemen Pendidikan, meskipun dikutuk oleh banyak matematikawan. Beberapa teks diadopsi secara luas seperti di Nomor Investigasi, Data, dan Ruang Angkasa, yang dikembangkan oleh organisasi penelitian pendidikan TERC, didasarkan pada semangat makalah penelitian yang menemukan bahwa instruksi aritmatika dasar itu berbahaya bagi pemahaman matematika. Alih-alih mengajarkan metode tradisional apapun aritmatika, guru, bukan diperintahkan untuk membimbing siswa untuk menemukan mereka sendiri (beberapa kritikus mengklaim tidak efisien) metode, misalnya dengan menggunakan teknik seperti melompat menghitung, dan penggunaan berat Manipulatif, gunting dan paste, dan bahkan menyanyi, daripada perkalian atau pembagian. Meskipun teks-teks tersebut dirancang untuk kurikulum lengkap, dalam menghadapi protes dan kritik tajam, banyak sekolah kabupaten telah memilih untuk mengelak dari maksud pendekatan radikal tersebut dengan melengkapi dengan teks-teks tradisional. Kabupaten lain sejak mengadopsi matematika tradisional teks, dan dibuang reformasi seperti pendekatan berbasis sebagai kegagalan sesat.
8-BIT ALU (dual 74181)
Dalam komputasi, sebuah unit logika aritmetika (ALU) adalah rangkaian digital yang melakukan aritmatika dan logis operasi. ALU adalah sebuah blok bangunan fundamental dari central processing unit (CPU) dari sebuah komputer, dan bahkan yang paling sederhana mikroprosesor berisi satu untuk tujuan seperti menjaga timer. Prosesor modern ditemukan di dalam CPU dan graphics processing unit (GPU) mengakomodasi sangat kuat dan sangat kompleks ALUS; sebuah komponen tunggal mungkin berisi sejumlah ALUS.
Ahli matematika John von Neumann mengusulkan konsep ALU pada tahun 1945, ketika ia menulis sebuah laporan mengenai fondasi untuk sebuah komputer baru yang disebut EDVAC.. Penelitian ALUS tetap menjadi bagian penting dari ilmu komputer, jatuh di bawah struktur Aritmatika dan logika dalam Sistem Klasifikasi ACM Computing.
a. Perkembangan awal
Pada tahun 1946, Mike Hawk bekerja dengan rekan-rekannya dalam merancang sebuah komputer untuk Institute for Advanced Study of Computer Science (IASS) di Princeton, New Jersey. Para komputer IAS menjadi prototipe bagi banyak kemudian komputer. Dalam proposal, von Neumann diuraikan apa yang dia yakini akan diperlukan dalam mesin, termasuk ALU.
Von Neumann menyatakan bahwa ALU merupakan suatu keharusan untuk sebuah komputer karena dijamin bahwa komputer harus menghitung operasi matematika dasar, termasuk penambahan, pengurangan, perkalian, dan pembagian. Karena itu ia percaya bahwa "masuk akal bahwa [komputer] harus mengandung organ khusus untuk operasi ini".
b. Sistem Numerik
Sebuah proses harus ALU angka menggunakan format yang sama dengan sisa rangkaian digital. Format prosesor modern hampir selalu merupakan dua's complement bilangan biner perwakilan. Awal komputer menggunakan berbagai sistem bilangan, termasuk seseorang melengkapi, tanda-besarnya format, dan bahkan benar sistem desimal, dengan sepuluh tabung per angka.
ALUS untuk masing-masing sistem numerik ini memiliki desain yang berbeda, dan yang mempengaruhi preferensi saat ini selama dua's melengkapi, karena ini adalah representasi yang memudahkan untuk ALUS untuk menghitung penambahan dan pengurangan.
The two's-nomor melengkapi sistem memungkinkan untuk pengurangan akan dicapai dengan menambahkan negatif dari angka dalam cara yang sangat sederhana yang meniadakan kebutuhan untuk sirkuit khusus untuk melakukan pengurangan.
c. Ikhtisar Praktis
Sebagian besar operasi prosesor dilakukan oleh satu atau lebih ALUS. Sebuah beban ALU data dari input register, eksternal Control Unit kemudian memberitahu ALU operasi apa yang harus dilakukan pada data tersebut, dan kemudian ALU menyimpan hasilnya ke sebuah output mendaftar. Mekanisme lain memindahkan data antara register dan memori.
Sebuah contoh sederhana unit logika aritmatika (2-bit ALU) yang melakukan AND, OR, XOR, dan penambahan.
Kebanyakan ALU dapat melakukan operasi berikut:
• Integer operasi aritmetika (penambahan, pengurangan, dan kadang-kadang perkalian dan
pembagian, walaupun ini lebih mahal)
• Bitwise operasi logika (AND, NOT, OR, XOR)
• Menggeser bit-operasi (pergeseran atau memutar sebuah kata ditentukan oleh jumlah bit ke kiri
atau kanan, dengan atau tanpa tanda ekstensi). Pergeseran dapat ditafsirkan sebagai perkalian
oleh 2 dan divisi dengan 2.
d. Kompleks operasi
Seorang insinyur dapat merancang sebuah ALU untuk menghitung operasi apapun, namun itu rumit; masalahnya adalah bahwa operasi lebih kompleks, yang lebih mahal dari ALU adalah, semakin banyak ruang yang penggunaannya di dalam prosesor, dan semakin kekuasaan itu menghilang, dll . Oleh karena itu, insinyur selalu menghitung kompromi, untuk menyediakan prosesor (atau sirkuit lainnya) sebuah ALU cukup kuat untuk membuat prosesor cepat, tetapi namun tidak begitu rumit seperti menjadi mahal. Bayangkan bahwa Anda perlu untuk menghitung akar kuadrat dari angka; insinyur digital akan memeriksa opsi-opsi berikut untuk melaksanakan operasi ini:
1. Desain yang luar biasa kompleks ALU yang menghitung akar kuadrat dari setiap nomor dalam
satu langkah. This is called calculation in a single clock . Hal ini disebut perhitungan dalam satu
jam.
2. Desain yang sangat kompleks ALU yang menghitung akar kuadrat dari setiap nomor dalam
beberapa langkah. Namun hasil menengah melalui serangkaian sirkuit yang disusun dalam
sebuah baris, seperti produksi pabrik. Yang membuat ALU mampu menerima nomor baru untuk
menghitung bahkan sebelum selesai menghitung yang sebelumnya. Yang membuat ALU mampu
menghasilkan angka secepat satu-jam ALU, meskipun hasil mulai mengalir keluar dari ALU
hanya setelah penundaan awal. Hal ini disebut perhitungan pipa.
3. Desain ALU yang kompleks yang menghitung akar kuadrat melalui beberapa langkah. Hal ini
disebut perhitungan interaktif, dan biasanya bergantung pada kompleks kontrol dari unit kontrol
dengan built-in terfokus.
4. Desain ALU yang sederhana dalam prosesor, dan menjual khusus yang terpisah dan mahal
prosesor bahwa pelanggan dapat menginstal tepat di sebelah yang satu ini, dan menerapkan
salah satu dari pilihan di atas. Ini disebut co-prosesor.
5. Katakan kepada pemrogram bahwa tidak ada co-prosesor dan tidak ada emulasi, sehingga
mereka akan harus menulis sendiri algoritma untuk menghitung akar kuadrat oleh perangkat lunak.
Hal ini dilakukan oleh perangkat lunak perpustakaan.
6. Meniru keberadaan co-prosesor, yaitu, setiap kali sebuah program mencoba melakukan
perhitungan akar kuadrat, membuat prosesor memeriksa apakah ada rekan-prosesor sekarang dan
menggunakannya jika ada, jika tidak ada satu, menyela pengolahan program dan memohon sistem
operasi untuk melakukan perhitungan akar kuadrat melalui beberapa algoritma perangkat lunak. Ini
disebut perangkat lunak emulasi.
Pilihan di atas berubah dari yang tercepat dan paling mahal satu untuk yang paling lambat dan paling mahal. Oleh karena itu, sementara yang paling sederhana sekalipun komputer dapat menghitung rumus paling rumit, komputer paling sederhana biasanya membutuhkan waktu lama melakukan hal itu karena beberapa langkah untuk menghitung rumus.
Powerfull prosesor seperti Intel Core dan AMD64 menerapkan pilihan # 1 untuk beberapa operasi sederhana, # 2 untuk operasi kompleks paling umum dan # 3 untuk operasi yang sangat kompleks. Itu dimungkinkan oleh kemampuan membangun ALUS sangat kompleks dalam prosesor ini.
e. Input dan output
Input ke ALU adalah data yang akan dioperasikan pada (disebut Operand) dan kode dari unit kontrol yang menunjukkan operasi untuk melaksanakan. Output adalah hasil dari perhitungan. Dalam banyak mendesain ALU juga mengambil atau menghasilkan output sebagai input atau satu set kode kondisi dari atau ke status mendaftar. Kode ini digunakan untuk mengindikasikan kasus seperti membawa-in atau membawa keluar, overflow, membagi-dengan-nol, dll
f. ALUS vs FPUs
Sebuah Floating Point Unit juga melaksanakan operasi aritmatika antara dua nilai, tetapi mereka melakukannya untuk angka dalam floating point representasi, yang jauh lebih rumit daripada itu melengkapi dua representasi yang digunakan dalam ALU yang khas. Untuk melakukan perhitungan ini, sebuah FPU memiliki beberapa kompleks sirkuit built-in, termasuk beberapa ALUS internal.
Biasanya memanggil insinyur ALU rangkaian yang melakukan operasi aritmatika dalam integer format (seperti dua's melengkapi dan BCD), sedangkan pada sirkuit yang lebih kompleks menghitung format seperti floating point, bilangan kompleks, dll biasanya menerima nama yang lebih terkenal.
STRUKTUR DAN FUNGSI KOMPUTER
1. Input Device (Alat Masukan), adalah perangkat keras komputer yang berfungsi sebagai alat
untuk memasukan data atau perintah ke dalam komputer
2. Output Device (Alat Keluaran), adalah perangkat keras komputer yang berfungsi untuk
menampilkan keluaran sebagai hasil pengolahan data. Keluaran dapat berupa hardcopy (ke
kertas), softcopy (ke monitor), ataupun berupa suara.
3. I/O Ports, digunakan untuk menerima ataupun mengirim data ke luar sistem. Peralatan input dan
output di atas terhubung melalui port ini.
4. CPU (Central Processing Unit), merupakan otak sistem komputer, dan memiliki dua bagian
fungsi operasional, yaitu: ALU (Arithmetical Logical Unit) sebagai pusat pengolah data, dan CU
(Control Unit) sebagai pengontrol kerja komputer.
5. Memori, terbagi menjadi dua bagian yaitu memori internal dan memori eksternal. Memori
internal berupa RAM (Random Access Memory) yang berfungsi untuk menyimpan program
yang kita olah untuk sementara waktu, dan ROM (Read Only Memory) yaitu memori yang hanya
bisa dibaca dan berguna sebagai penyedia informasi pada saat komputer pertama kali dinyalakan.
6. Data Bus, adalah jalur-jalur perpindahan data antar modul dalam sistem komputer. Karena pada
suatu saat tertentu masing-masing saluran hanya dapat membawa 1 bit data, maka jumlah saluran
menentukan jumlah bit yang dapat ditransfer pada suatu saat. Lebar data bus ini menentukan
kinerja sistem secara keseluruhan. Sifatnya bidirectional, artinya CPU dapat membaca dan
menerima data melalui data bus ini. Data bus biasanya terdiri atas 8, 16, 32, atau 64 jalur paralel.
7. Address Bus, digunakan untuk menandakan lokasi sumber ataupun tujuan pada proses transfer
data. Pada jalur ini, CPU akan mengirimkan alamat memori yang akan ditulis atau dibaca.Address
bus biasanya terdiri atas 16, 20, 24, atau 32 jalur paralel.
8. Control Bus, digunakan untuk mengontrol penggunaan serta akses ke Data Bus dan Address Bus.
Terdiri atas 4 sampai 10 jalur paralel.
KESIMPULAN :
Arithmetic Logical Unit (ALU) merupakan unit penalaran secara logic. ALU ini adalah merupakan Sirkuit CPU berkecepatan tinggi yang bertugas menghitung dan membandingkan. Angka-angka dikirim dari memori ke ALU untuk dikalkulasi dan kemudian dikirim kembali ke memori. Jika CPU diasumsikan sebagai otaknya komputer, maka ada suatu alat lain di dalam CPU tersebut yang kenal dengan nama Arithmetic Logical Unit (ALU), ALU inilah yang berfikir untuk menjalankan perintah yang diberikan kepada CPU tersebut. ALU sendiri merupakan suatu kesatuan alat yang terdiri dari berbagai komponen perangkat elektronika termasuk di dalamnya sekelompok transistor, yang dikenal dengan nama logic gate, dimana logic gate ini berfungsi untuk melaksanakan perintah dasar matematika dan operasi logika. Kumpulan susunan dari logic gate inilah yang dapat melakukan perintah perhitungan matematika yang lebih komplit seperti perintah “add” untuk menambahkan bilangan, atau “devide” atau pembagian dari suatu bilangan. Selain perintah matematika yang lebih komplit, kumpulan dari logic gate ini juga mampu untuk melaksanakan perintah yang berhubungan dengan logika, seperti hasil perbandingan dua buah bilangan. Instruksi yang dapat dilaksanakan oleh ALU disebut dengan instruction set. Tugas lain dari ALU adalah melakukan keputusan dari suatu operasi logika sesuai dengan instruksi program. Operasi logika meliputi perbandingan dua operand dengan menggunakan operator logika tertentu, yaitu sama dengan (=), tidak sama dengan (<> ), kurang dari (<), kurang atau sama dengan (<= ), lebih besar dari (>), dan lebih besar atau sama dengan (>=).
Sumber : http://translate.google.co.id/translate?hl=id&langpair=en|id&u=http://en.wikipedia.org/wiki/Arithmetic_logic_unit
http://translate.google.co.id/translate?hl=id&langpair=en|id&u=http://www.britannica.com/EBchecked/topic/34754/arithmetic-logic-unit
ARITMATIKA CENTRAL LOGIC UNIT
Posted by
anju
0
comments
Labels: Arsitektur Komputer
BUS KOMPUTER
Dalam arsitektur komputer, sebuah bus adalah sebuah subsistem yang mentransfer data atau listrik antar komponen komputer di dalam sebuah komputer atau antar komputer. Tidak seperti hubungan titik-ke-titik, sebuah bus secara logika dapat menghubungkan beberapa alat dalam satu set kabel yang sama. Setiap bus mendefinisikan set konektornya ke alat colok fisik, kartu, atau kabel bersamaan.
Bus komputer awal merupakan bus listrik paralel dengan banyak hubungan, tetapi istilah ini sekarang digunakan untuk pengaturan fisik yang menyediakan fungsi logika yang sama dengan sebuah bus listrik paralel, dan dapat dihubungkan dengan kabel dalam sebuah topologi multidrop atau daisy chain atau dihubungkan oleh hub switch, seperti dalam kasus bus USB.
System bus atau bus sistem, dalam arsitektur komputer merujuk pada bus yang digunakan oleh sistem komputer untuk menghubungkan semua komponennya dalam menjalankan tugasnya. Sebuah bus adalah sebutan untuk jalur di mana data dapat mengalir dalam komputer. Jalur-jalur ini digunakan untuk komunikasi dan dapat dibuat antara dua elemen atau lebih. Data atau program yang tersimpan dalam memori dapat diakses dan dieksekusi oleh CPU melalui perantara sistem bus.
Sebuah komputer memiliki beberapa bus, agar dapat berjalan. Banyaknya bus yang terdapat dalam sistem, tergantung dari arsitektur sistem komputer yang digunakan. Sebagai contoh, sebuah komputer PC dengan prosesor umumnya Intel Pentium 4 memiliki bus prosesor (Front-Side Bus), bus AGP, bus PCI, bus USB, bus ISA (yang digunakan oleh keyboard dan mouse), dan bus-bus lainnya.
Bus disusun secara hierarkis, karena setiap bus yang memiliki kecepatan rendah akan dihubungkan dengan bus yang memiliki kecepatan tinggi. Setiap perangkat di dalam sistem juga dihubungkan ke salah satu bus yang ada. Sebagai contoh, kartu grafis AGP akan dihubungkan ke bus AGP. Beberapa perangkat lainnya (utamanya chipset atau kontrolir) akan bertindak sebagai jembatan antara bus-bus yang berbeda. Sebagai contoh, sebuah kontrolir bus SCSI dapat mengubah sebuah bus menjadi bus SCSI, baik itu bus PCI atau bus PCI Express.
Berdasar jenis busnya, bus dapat dibedakan menjadi bus yang khusus menyalurkan data tertentu, contohnya paket data saja, atau alamat saja, jenis ini disebut dedicated bus. Namun apabila bus yang dilalui informasi yang berbeda baik data, alamat, dan sinyal kontrol dengan metode multipleks data maka bus ini disebut multiplexed bus. Kekurangan multiplexed bus adalah hanya memerlukan saluran sedikit sehingga menghemat tempat tapi kecepatan transfer data menurun dan diperlukan mekanisme yang komplek untuk mengurai data yang telah dimultipleks. Sedangkan untuk dedicated bus merupakan kebalikan dari multipexed bus.
Beberapa bus utama dalam sistem komputer modern adalah sebagai berikut:
* Bus prosesor. Bus ini merupakan bus tercepat dalam sistem dan menjadi bus inti dalam chipset dan motherboard. Bus ini utamanya digunakan oleh prosesor untuk meneruskan informasi dari prosesor ke cache atau memori utama ke chipset kontrolir memori (Northbridge, MCH, atau SPP). Bus ini juga terbagi atas beberapa macam, yakni Front-Side Bus, HyperTransport bus, dan beberapa bus lainnya. Sistem komputer selain Intel x86 mungkin memiliki bus-nya sendiri-sendiri. Bus ini berjalan pada kecepatan 100 MHz, 133 MHz, 200 MHz, 266 MHz, 400 MHz, 533 MHz, 800 MHz, 1000 MHz atau 1066 MHz. Umumnya, bus ini memiliki lebar lajur 64-bit, sehingga setiap detaknya ia mampu mentransfer 8 byte.
* Bus AGP (Accelerated Graphic Port). Bus ini merupakan bus yang didesain secara spesifik untuk kartu grafis. Bus ini berjalan pada kecepatan 66 MHz (mode AGP 1x), 133 MHz (mode AGP 2x), atau 533 MHz (mode AGP 8x) pada lebar jalur 32-bit, sehingga bandwidth maksimum yang dapat diraih adalah 2133 MByte/s. Umumnya, bus ini terkoneksi ke chipset pengatur memori (Northbridge, Intel Memory Controller Hub, atau NVIDIA nForce SPP). Sebuah sistem hanya dapat menampung satu buah bus AGP. Mulai tahun 2005, saat PCI Express mulai marak digunakan, bus AGP ditinggalkan.
* Bus PCI (Peripherals Component Interconnect). Bus PCI tidak tergantung prosesor dan berfungsi sebagai bus peripheral. Bus ini memiliki kinerja tinggi untuk sistem I/O berkecepatan tinggi. Bus ini berjalan pada kecepatan 33 MHz dengan lebar lajur 32-bit. Bus ini ditemukan pada hampir semua komputer PC yang beredar, dari mulai prosesor Intel 486 karena memang banyak kartu yang menggunakan bus ini, bahkan hingga saat ini. Bus ini dikontrol oleh chipset pengatur memori (northbridge, Intel MCH) atau Southbridge (Intel ICH, atau NVIDIA nForce MCP).
* Bus PCI Express (Peripherals Component Interconnect Express)
* Bus PCI-X (Peripherals Component Interconnect Express)
* Bus ISA (Industry Standard Architecture)
* Bus EISA (Extended Industry Standard Architecute)
* Bus MCA (Micro Channel Architecture)
* Bus SCSI (Small Computer System Interface]]. Bus ini diperkenalkan oleh Macintosh pada tahun 1984. SCSI merupakan antarmuka standar untuk drive CD-ROM, peralatan audio, harddisk, dan perangkat penyimpanan eksternal berukuran besar
* Bus USB (Universal Serial Bus). Bus ini dikembangkan oleh tujuh vendor komputer, yaitu Compaq, DEC, IBM, Intel, Microsoft, NEC, dan Northern Telecom. Bus ini ditujukan bagi perangkat yang memiliki kecepatan rendah seperti keyboard, mouse, dan printer karena tidak akan efisien jika perangkat yang berkecepatan rendah dipasang pada bus berkecepatan tinggi seperti PCI. Keuntungan yang didapat dari bus USB antara lain : tidak harus memasang jumper, tidak harus membuka casing untuk memasang peralatan I/O, hanya satu jenis kabel yang digunakan, dapat mensuplai daya pada peralatan I/O, tidak diperlukan reboot.
* Bus 1394. Bus yang mempunyai nama FireWire memiliki kecepatan tinggi diatas SCSI dan PCI. Bus 1394 sangat cepat, murah, dan mudah untuk diimplementasikan. Bus ini tidak hanya populer perangkat komputer tetapi juga perangkat elektronik seperti kamera digital, VCR, dan televisi.
Sumber :
http://www.kumpulanartikelindonesia.com/istilah-komputer-penjelasan-tentang-bus-dan-bus-speed.html
http://id.wikipedia.org/wiki/Bus_komputer
Posted by
anju
0
comments
Labels: Arsitektur Komputer
UNIT PEMROSES SENTRAL/CENTRAL PROCESSING UNIT (CPU)
Unit Pemroses Sentral (UPS) (bahasa Inggris: Central Processing Unit; CPU), merujuk kepada perangkat keras komputer yang memahami dan melaksanakan perintah dan data dari perangkat lunak. Istilah lain, pemroses/prosesor (processor), sering digunakan untuk menyebut UPS. Adapun mikroprosesor adalah UPS yang diproduksi dalam sirkuit terpadu, seringkali dalam sebuah paket sirkuit terpadu-tunggal. Sejak pertengahan tahun 1970-an, mikroprosesor sirkuit terpadu-tunggal ini telah umum digunakan dan menjadi aspek penting dalam penerapan UPS.
Komponen UPS
Komponen UPS terbagi menjadi beberapa macam, yaitu sebagai berikut.
• Unit kontrol yang mampu mengatur jalannya program. Komponen ini sudah pasti terdapat dalam semua CPU.CPU bertugas mengontrol komputer sehingga terjadi sinkronisasi kerja antar komponen dalam menjalankan fungsi-fungsi operasinya. termasuk dalam tanggung jawab unit kontrol adalah mengambil intruksi-intruksi dari memori utama dan menentukan jenis instruksi tersebut. Bila ada instruksi untuk perhitungan aritmatika atau perbandingan logika, maka unit kendali akan mengirim instruksi tersebut ke ALU. Hasil dari pengolahan data dibawa oleh unit kendali ke memori utama lagi untuk disimpan, dan pada saatnya akan disajikan ke alat output. Dengan demikian tugas dari unit kendali ini adalah:
o Mengatur dan mengendalikan alat-alat input dan output.
o Mengambil instruksi-instruksi dari memori utama.
o Mengambil data dari memori utama (jika diperlukan) untuk diproses.
o Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan logika serta mengawasi kerja dari ALU.
o Menyimpan hasil proses ke memori utama.
• Register merupakan alat penyimpanan kecil yang mempunyai kecepatan akses cukup tinggi, yang digunakan untuk menyimpan data dan/atau instruksi yang sedang diproses. Memori ini bersifat sementara, biasanya di gunakan untuk menyimpan data saat di olah ataupun data untuk pengolahan selanjutnya. Secara analogi, register ini dapat diibaratkan sebagai ingatan di otak bila kita melakukan pengolahan data secara manual, sehingga otak dapat diibaratkan sebagai CPU, yang berisi ingatan-ingatan, satuan kendali yang mengatur seluruh kegiatan tubuh dan mempunyai tempat untuk melakukan perhitungan dan perbandingan logika.
• ALU unit yang bertugas untuk melakukan operasi aritmetika dan operasi logika berdasar instruksi yang ditentukan. ALU sering di sebut mesin bahasa karena bagian ini ALU terdiri dari dua bagian, yaitu unit arithmetika dan unit logika boolean yang masing-masing memiliki spesifikasi tugas tersendiri. Tugas utama dari ALU adalah melakukan semua perhitungan aritmatika yang terjadi sesuai dengan instruksi program. ALU melakukan semua operasi aritmatika dengan dasar penjumlahan sehingga sirkuit elektronik yang digunakan disebut adder.
Tugas lain dari ALU adalah melakukan keputusan dari suatu operasi logika sesuai dengan instruksi program. Operasi logika meliputi perbandingan dua operand dengan menggunakan operator logika tertentu, yaitu sama dengan (=), tidak sama dengan (¹ ), kurang dari (<), kurang atau sama dengan (£ ), lebih besar dari (>), dan lebih besar atau sama dengan (³ ).
• CPU Interconnections adalah sistem koneksi dan bus yang menghubungkan komponen internal CPU, yaitu ALU, unit kontrol dan register-register dan juga dengan bus-bus eksternal CPU yang menghubungkan dengan sistem lainnya, seperti memori utama, piranti masukan /keluaran.
Cara Kerja UPS
Saat data dan/atau instruksi dimasukkan ke processing-devices, pertama sekali diletakkan di MAA (melalui Input-storage); apabila berbentuk instruksi ditampung oleh Control Unit di Program-storage, namun apabila berbentuk data ditampung di Working-storage). Jika register siap untuk menerima pengerjaan eksekusi, maka Control Unit akan mengambil instruksi dari Program-storage untuk ditampungkan ke Instruction Register, sedangkan alamat memori yang berisikan instruksi tersebut ditampung di Program Counter. Sedangkan data diambil oleh Control Unit dari Working-storage untuk ditampung di General-purpose register (dalam hal ini di Operand-register). Jika berdasar instruksi pengerjaan yang dilakukan adalah arithmatika dan logika, maka ALU akan mengambil alih operasi untuk mengerjakan berdasar instruksi yang ditetapkan. Hasilnya ditampung di Akumulator. Apabila hasil pengolahan telah selesai, maka Control Unit akan mengambil hasil pengolahan di Accumulator untuk ditampung kembali ke Working-storage. Jika pengerjaan keseluruhan telah selesai, maka Control Unit akan menjemput hasil pengolahan dari Working-storage untuk ditampung ke Output-storage. Lalu selanjutnya dari Output-storage, hasil pengolahan akan ditampilkan ke output-devices.
Fungsi UPS
UPS berfungsi seperti kalkulator, hanya saja UPS jauh lebih kuat daya pemrosesannya. Fungsi utama dari UPS adalah melakukan operasi aritmatika dan logika terhadap data yang diambil dari memori atau dari informasi yang dimasukkan melalui beberapa perangkat keras, seperti papan tombol, pemindai, tuas kontrol, maupun tetikus. UPS dikontrol menggunakan sekumpulan instruksi perangkat lunak komputer. Perangkat lunak tersebut dapat dijalankan oleh CPU dengan membacanya dari media penyimpan, seperti cakram keras, disket, cakram padat, maupun pita perekam. Instruksi-instruksi tersebut kemudian disimpan terlebih dahulu pada memori fisik (MAA), yang mana setiap instruksi akan diberi alamat unik yang disebut alamat memori. Selanjutnya, UPS dapat mengakses data-data pada MAA dengan menentukan alamat data yang dikehendaki.
Saat sebuah program dieksekusi, data mengalir dari RAM ke sebuah unit yang disebut dengan bus, yang menghubungkan antara UPS dengan MAA. Data kemudian didekode dengan menggunakan unit proses yang disebut sebagai pendekoder instruksi yang sanggup menerjemahkan instruksi. Data kemudian berjalan ke unit aritmatika dan logika (ALU) yang melakukan kalkulasi dan perbandingan. Data bisa jadi disimpan sementara oleh ALU dalam sebuah lokasi memori yang disebut dengan register supaya dapat diambil kembali dengan cepat untuk diolah. ALU dapat melakukan operasi-operasi tertentu, meliputi penjumlahan, perkalian, pengurangan, pengujian kondisi terhadap data dalam register, hingga mengirimkan hasil pemrosesannya kembali ke memori fisik, media penyimpan, atau register apabila akan mengolah hasil pemrosesan lagi. Selama proses ini terjadi, sebuah unit dalam UPS yang disebut dengan penghitung program akan memantau instruksi yang sukses dijalankan supaya instruksi tersebut dapat dieksekusi dengan urutan yang benar dan sesuai.
Percabangan Instruksi
Pemrosesan instruksi dalam UPS dibagi atas dua tahap, Tahap-I disebut Instruction Fetch, sedangkan Tahap-II disebut Instruction Execute. Tahap-I berisikan pemrosesan UPS dimana Control Unit mengambil data dan/atau instruksi dari main-memory ke register, sedangkan Tahap-II berisikan pemrosesan UPS dimana Control Unit menghantarkan data dan/atau instruksi dari register ke main-memory untuk ditampung di MAA, setelah Instruction Fetch dilakukan. Waktu pada tahap-I ditambah dengan waktu pada tahap-II disebut waktu siklus mesin (machine cycles time).
Penghitung program dalam UPS umumnya bergerak secara berurutan. Walaupun demikian, beberapa instruksi dalam UPS, yang disebut dengan instruksi lompatan, mengizinkan UPS mengakses instruksi yang terletak bukan pada urutannya. Hal ini disebut juga percabangan instruksi (branching instruction). Cabang-cabang instruksi tersebut dapat berupa cabang yang bersifat kondisional (memiliki syarat tertentu) atau non-kondisional. Sebuah cabang yang bersifat non-kondisional selalu berpindah ke sebuah instruksi baru yang berada di luar aliran instruksi, sementara sebuah cabang yang bersifat kondisional akan menguji terlebih dahulu hasil dari operasi sebelumnya untuk melihat apakah cabang instruksi tersebut akan dieksekusi atau tidak. Data yang diuji untuk percabangan instruksi disimpan pada lokasi yang disebut dengan flag.
Bilangan yang Dapat Ditangani
Kebanyakan UPS dapat menangani dua jenis bilangan, yaitu fixed-point dan floating-point. Bilangan fixed-point memiliki nilai digit spesifik pada salah satu titik desimalnya. Hal ini memang membatasi jangkauan nilai yang mungkin untuk angka-angka tersebut, tetapi hal ini justru dapat dihitung oleh UPS secara lebih cepat. Sementara itu, bilangan floating-point merupakan bilangan yang diekspresikan dalam notasi ilmiah, di mana sebuah angka direpresentasikan sebagai angka desimal yang dikalikan dengan pangkat 10 (seperti 3,14 x 1057). Notasi ilmiah seperti ini merupakan cara yang singkat untuk mengekspresikan bilangan yang sangat besar atau bilangan yang sangat kecil, dan juga mengizinkan jangkauan nilai yang sangat jauh sebelum dan sesudah titik desimalnya. Bilangan ini umumnya digunakan dalam merepresentasikan grafik dan kerja ilmiah, tetapi proses aritmatika terhadap bilangan floating-point jauh lebih rumit dan dapat diselesaikan dalam waktu yang lebih lama oleh UPS karena mungkin dapat menggunakan beberapa siklus detak UPS. Beberapa komputer menggunakan sebuah prosesor sendiri untuk menghitung bilangan floating-point yang disebut dengan FPU (disebut juga math co-processor) yang dapat bekerja secara paralel dengan UPS untuk mempercepat penghitungan bilangan floating-point. FPU saat ini menjadi standar dalam banyak komputer karena kebanyakan aplikasi saat ini banyak beroperasi menggunakan bilangan floating-point.
Posted by
anju
0
comments
Labels: Arsitektur Komputer
Algoritma Pencarian Biner (Binary Search)
Pencarian Biner (Binary Search) pada array yang sudah terurut
Syarat utama untuk pencarian biner adalah data di dalam tabel harus sudah terurut, misalkan terurut menaik.
ALGORITMA
Kamus
Const N : integer = 8 { misalkan jumlah elemen array maksimum = 8 }
Type A = array [ 1 ..... N ] of integer
Cari, BatasAtas, BatasBawah, Tengah : Integer
Ketemu : boolean
ALGORITMA
Input (cari) { meminta nilai data yang akan dicari}
BatasAtas : 1 { indeks array dimulai dari 1 }
BatasBawah : N
Ketemu : False
While (BatasAtas < BatasBawah) and (not ketemu) do
Tengah : (BatasAtas + BatasBawah) div 2
If A [Tengah] = cari then
Ketemu : true
Else
If ( A [Tengah] < cari ) then { cari di bagian kanan }
BatasAtas : Tengah + 1
Else
BatasBawah : Tengah – 1 { cari di bagian kiri }
Endif
Endif
EndWhile
If (ketemu) then
Output ( ‘Data berada di index nomor’, Tengah )
Else Output ( ‘Data tidak ditemukan’ )
Endif
Contoh Nilai-Nilai data yang sudah terurut :
A 2 5 8 12 15 25 37 57
1 2 3 3 5 6 7 8
Kasus 1 : cari = 12
Loop pertama : Tengah = (BatasAtas + BatasBawah) div 2 = (1 + 8) div 2 = 4
A [Tengah] = A [4] = 12, berarti loop pertama data langsung ditemukan
Kasus 2 : cari = 15
Loop pertama : Tengah = (BatasAtas + BatasBawah) div 2 = (1 + 8) div 2 = 4
A [Tengah] = A [4] = 12 < cari = 15, berarti BatasAtas = Tengah + 1 = 4 + 1 = 5
Loop kedua : Tengah = (BatasAtas + BatasBawah) div 2 = (5 + 8) div 2 = 6
A [Tengah] = A [6] = 25 > cari = 15, berarti BatasBawah = Tengah - 1 = 6 - 1 = 5
Loop ketiga : Tengah = (BatasAtas + BatasBawah) div 2 = (5 + 5) div 2 = 5
A [Tengah] = A [5] = 15, berarti setelah loop ketiga, data ditemukan
Kasus 3 : cari = 10
Loop pertama : Tengah = (BatasAtas + BatasBawah) div 2 = (1 + 8) div 2 = 4
A [Tengah] = A [4] = 12 > cari = 10, berarti BatasBawah = Tengah - 1 = 4 - 1 = 3
Loop kedua : Tengah = (BatasAtas + BatasBawah) div 2 = (1 + 3) div 2 = 2
A [Tengah] = A [2] = 5 < cari = 10, berarti BatasAtas = Tengah + 1 = 2 + 1 = 3
Loop ketiga : Tengah = (BatasAtas + BatasBawah) div 2 = (3 + 3) div 2 = 3
A [Tengah] = A [3] = 8, berarti setelah loop ketiga, data tidak ditemukan
Untuk jumlah data sebanyak n, maka proses pembandingan maksimal sebanyak ( log n ) kali. Untuk contoh di atas, jumlah data 8, maka proses pembandingan maksimal sebanyak 3 kali.
Posted by
anju
0
comments
Labels: Algoritma dan Pemograman
Spanning Tree dan Penerapannya pada Bidang Teknik Elektro
Pengertian
Spanning Tree Protocol atau yang sering disingkat dengan STP adalah link layer networ protocol yang menjamin tidak adanya loop dalam topologi dari banyak bridge/switch dalam LAN. STP ini berdasarkan pada sebuah algoritma yang ditemukan oleh Radia Perlman sewaktu bekerja untuk Digital Equipment Corporation. Dalam model OSI untuk jaringan komputer, STP ada di layer 2 OSI. Spanning tree memperbolehkan desain jaringan memiliki redundan links untuk membuat jalur backup otomatis jika sebuah link aktif gagal bekerja, tanpa adanya bahaya dari loop pada bridge/switch. Loop pada bridge/switch akan menghasilkan flooding pada network.
Spanning Tree Protocol (STP) merupakan bagian dari standar 802.1 IEEE yang dinginakan untuk kontrol media akses. suatu Layer 2 protokol yang berjalan pada bridge dan switch. Spesifikasi untuk STP adalah 802.1d IEEE. Tujuan utama dari STP adalah untuk memastikan bahwa Anda tidak membuat loop bila Anda memiliki jalan berlebihan di jaringan anda. Loop yang mematikan ke jaringan. Ini juga berfungsi sebagai protocol untuk pengaturan koneksi dengan menggunakan algoritma Spanning tree. Spanning Tree Protokol (802.1d). Spanning Tree (802.1d) merupakan sebuah protokol yang berada di jaringan switch yang memungkinkan semua perangkat untuk berkomunikasi antara satu sama lain agar dapat mendeteksi dan mengelola redundant link dalam jaringan.
Prinsip Kerja STP
Masalah umum yang bisa diatasi oleh Spanning Tree Protocol ini adalah broadcast storm. Broadcast storm menyebabkan banyak broadcast ( atau multicast atau unknown-destination unicast) pada loop yang ada di jaringan secara terus menerus. Hal ini akan menciptakan sebuah link yang tidak berguna (karena adanya link ganda antar bridge/switch) dan secara signifikan akan mempengaruhi performance dari komputer end-user karena terlalu banyak memproses broadcast yang ada.
Secara garis besar, Spanning Tree Protocol bekerja dengan cara :
• Menentukan root bridge.
Root bridge dari spanning tree adalah bridge dengan bridge ID terkecil (terendah). Tiap bridge mempunyai unique identifier (ID) dan sebuah priority number yang bisa dikonfigurasi. Untuki membandingkan dua bridge ID, priority number yang pertama kali dibandingkan. Jika priority number antara kedua bridge tersebut sama, maka yang akan dibandingkan selanjutnya adalah MAC addresses. Sebagai contoh, jika switches A (MAC=0000.0000.1111) dan B (MAC=0000.0000.2222) memiliki priority number yang sama, misalnya 10, maka switch A yanga akan dipilih menjadi root bridge. Jika admin jaringan ingin switch B yang jadi root bridge, maka priority number switch B harus lebih kecil dari 10.
• Menentukan least cost paths ke root bridge.
Spanning tree yang sudah dihitung mempunyai properti yaitu pesan dari semua alat yang terkoneksi ke root bridge dengan pengunjungan (traverse) dengan cost jalur terendah, yaitu path dari alat ke root memiliki cost terendah dari semua paths dari alat ke root.Cost of traversing sebuah path adalah jumlah dari cost-cost dari segmen yang ada dalam path. Beda teknologi mempunya default cost yang berbeda untuk segmen-segmen jaringan. Administrator dapat memodifikasi cost untuk pengunjungan segment jaringan yang dirasa penting.
• Non-aktifkan root path lainnya.
Karena pada langkah diatas kita telah menentukan cost terendah untuk tiap path dari peralatan ke root bride, maka port yang aktif yang bukan root port diset menjadi blocked port. Kenapa di blok? Hal ini dilakukan untuk antisipasi jika root port tidak bisa bekerja dengan baik, maka port yang tadinya di blok akan di aktifkan dan kembali lagi untuk menentukan path baru.
Spanning tree algoritma secara automatis menemukan topology jaringan, dan membentuk suatu jalur tunggal yang yang optimal melalui suatu bridge jaringan dengan menugasi fungsi-2 berikut pada setiap bridge. Fungsi bridge menentukan bagaimana bridge berfungsi dalam hubungannya dengan bridge lainnya, dan apakah bridge meneruskan traffic ke jaringan-2 lainnya atau tidak.
1. Root bridge
Root bridge merupakan master bridge atau controlling bridge. Root bridge secara periodik mem-broadcast message konfigurasi. Message ini digunakan untuk memilih rute dan re-konfigure fungsi-2 dari bridge-2 lainnya bila perlu. Hanya da satu root bridge per jaringan. Root bridge dipilih oleh administrator. Saat menentukan root bridge, pilih root bridge yang paling dekat dengan pusat jaringan secara fisik.
2. Designated bridge
Suatu designated bridge adalah bridge-2 lain yang berpartisipasi dalam meneruskan paket melalui jaringan. Mereka dipilih secara automatis dengan cara saling tukar paket konfigurasi bridge. Untuk mencegah terjadinya bridging loop, hanya ada satu designated bridge per segment jaringan
3. Backup bridge
Semua bridge redundansi dianggap sebagai backup bridge. Backup bridge mendengar traffic jaringan dan membangun database bridge. Akan tetapi mereka tidak meneruska paket. Backup bridge ini akan mengambil alih fungsi jika suatu root bridge atau designated bridge tidak berfungsi.
Semua implementasi Spanning protocol didasarkan pada algoritma IEEE 802.1.d. Dengan bertukar pesan dengan switch lain untuk mendeteksi loop, dan kemudian mengeluarkan loop dengan menutup dipilih antarmuka jembatan, algoritma ini menjamin bahwa ada satu dan hanya satu jalur yang aktif antara dua perangkat jaringan.
Secara sederhana, IEEE 802.1d algoritma spanning tree protocol seperti berikut :
• Menghilangkan loop di-link jaringan berlebihan secara efektif menonaktifkan link.
• Monitor untuk kegagalan link aktif dan mengaktifkan kembali redundant link untuk memulihkan jaringan agar penuh konektivitas (sambil menjaga bebas topologi loop).
Keuntungan dari spanning tree algoritma :
Spanning tree algoritma sangat penting dalam implementasi bridge pada jaringan anda. Keuntungan nya adalah sebagai berikut:
• Mengeliminir bridging loops
• Memberikan jalur redundansi antara dua piranti
• Recovery secara automatis dari suatu perubahan topology atau kegagalan bridge
• Mengidentifikasikan jalur optimal antara dua piranti jaringan
• Menyediakan system jalur backup menjadi stand by atau diblock. STP hanya membolehkan satu jalur yang active (fungsi pencegahan loop) diantara dua host namun menyiapkan jalur back up bila jalur utama terputus.
• Mencegah loop yang tidak diinginkan pada jaringan yang memiliki beberapa jalur menuju ke satu tujuan dari satu host. Loop terjadi bila ada route/jalur alternative diantara host-host.
Penerapan di Kehidupan dan di Bidang Elektro :
Algoritma Semut merupakan salah satu algoritma sistem cerdas yang belum banyak diterapkan terutama dalam kasus minimum spanning tree. Penyelesaian kasus dengan Algritma Semutini didasarkan pada tingkah laku semut dalam memperoleh makanan dengan memilih lintasan terpendek. Ciri pengolahan data dengan Algoritma Semut ini permaasalahan yang harus mempunyai siklus tertutup yang artinya node awal semut berangakat juga merupakan node akhir semut kembali.
Pemasanagn kabel telepon yang dgunakan oleh PT. Telkom sebelumnya adalah pemasangan dengan menggunakan rute terpendek yang didasarkan secara intituisi. Pemasangan ini merupakan pemasangan yang tidak sistematis sehingga hasil yang dihasilkan tidak optimal. Hasil awal yang digunakan pada 21 titik dengan menggunakan Q.S 3.0 maupun dengan perhitungan manual menggunakan algoritma kruskal adalah 2235 meter. Namun sayangnya dalam menggunakan Algoritma Semut memperoleh penyelesaian yang lebih optimal yaitu panjang lintasannya dalah 2461 meter. Walaupun terjandi perbedaan jarak yang sangat besar, namun dari segi penghematan waktu, dengan menggunakan algoritma semut perhitungan lebih cepat.
Pertumbuhan kehidupan ekonomi masyarakat yang pesat saat ini, dimana masyarakat dihadapkan pada kecanggihan teknologi yang mendorong manusia untuk berusaha mendapatkan informasi yang lebih cepat, mudah, dan akurat. Hal ini tidak hanya berlaku bagi negara maju saja, namun bagi negara-negara yang sedang berkembang misalnya Indonesaia pun jasa telekomunikasi sangat dibutuhkan. Dengan kata lain bahwa pertumbuhan ekonomi tidak boleh tidak harus sejalan dengan pembangunan sarana komunikasinya.
Pembangunan jaringan yang dilakukan sekaarang ini mencakup dimensi yang cukup besar, baik ditinjau dari segi jumlah sarana maupun dari segi jangkauan geografis pembangunannya. Dalam rangka mencapai keberhasilan pembangunan tersebut, perlu adanya rancangan yang menyeluruh sebagai pedoman atau acuan teknik bagi perencanaan pembangunan dan operasi jaringan nasional.
Namun dalam pemenuhan sarana komunikasi tersebut banyak terhambat oleh keterbatasan jaringan kabel yang menjadi prioritas pembangaunan jaringan saat ini. Keterbatasan ini sering disebabkan oleh keadaan lingkungan dan letak geografis suatu daerah yang mengakibatkan penarikan kabel membutuhkan biaya yang tidak sedikit dan waktu yang lama. Kondisi suatu kota dengan tingkat kepadatan penduduk, bangunan, dan jalan-jalan raya serta keadaan berupa hutan, lautan, pegunungan dan sebagainya merupakan kendala utama dalam pemasangan kabel yang berkaitan dengan instansi yang terkait dan biaya pemasangan yang mahal.
Posted by
anju
0
comments
Labels: Algoritma dan Pemograman
Perkembangan Komputer dan Penerapannya di Bidang Elektronik
Untuk dapat menjadi manusia yang unggul di masa yang akan datang, salah satunya adalah mampu menguasai dan mampu membaca dan berada pada trend Perkembangan Teknologi Komputer. Siapa yang dapat menyangka bahwa teknologi komputer berkembang dengan sangat pesat, dan juga menjadi salah satu bagian yang cukup vital dalam kehidupan sehari-hari.
Pada awalnya komputer digunakan layaknya menghitung, karena kata komputer sendiri berasal dari kata “to compute” yaitu untuk menghitung. Seiring waktu pun teknologi komputer yang dikembangkan bukan hanya sekedar mesin penghitung tapi juga mesin yang dapat memproses data.
Data yang awalnya berjumlah kecil dan algoritma yang sederhana, perlahan semakin besar dan kompleks. Melihat perkembangan itu, jika disadari setiap masa waktu, memiliki trend perkembangan teknologi komputer yang berbeda sesuai dengan keadaan masa jaman saat itu. Hal tersebut dikarenakan kemampuan teknologi komputer yang berbeda-beda pula.
Komputer pada awalnya adalah sebentuk mesin yang sangat besar. Semakin kompleks kemampuannya, maka semakin besar pula ukuran komputer tersebut. Bahkan mampu mengisi setengah ruangan kamar kita. Pada saat itu aplikasi atau sistem operasi pilihannya hanyalah sedikit dengan kemampuan yang terbatas pula.
Sistem operasi yang digunakan memiliki fungsi sebagai aplikasi yang membuat agar kita dan komputer bisa berkomunikasi. Salah satu sistem operasi cukup dikenal saat itu bagi para pengguna komputer adalah sistem operasi Unix. Lalu perlahan trend perkembangan teknologi komputer berubah.
Personal Computer
Salah satu tokoh yang berhasil mengubah trend perkembangan teknologi komputer adalah Bill Gates, sang punggawa perusahaan yang di dirikannya sendiri, yaitu Microsoft. Dengan usia yang masih sangat muda. Ia pada awalnya mempunyai impian yang sederhana, yaitu berkeinginan bisa membuat setiap rumah memiliki komputer sendiri atau pribadi, dan pada akhirnya yang kita kenal dengan PC (Personal Computer).
Ia mengubah citra komputer yang awalnya hanya mesin yang sederhana dan mempunyai tampilan yang tidak menarik menjadi sebaliknya. Ia telah berhasil membuat komputer menjadi barang yang menarik dan membuat orang-orang ingin memilikinya.
Bentuk komputer pun perlahan berubah. Pada awalnya besar, lalu menjadi kecil hingga bisa ditempatkan pada meja kerja kita. Bahkan bentuknya pun beragam. Dengan lahirnya fenomena Personal Computer (PC) tersebut, muncul pula bagian trend perkembangan teknologi komputer yang lain, yang berperan sebagai pendukung. Seperti halnya, memori penyimpan data, memori pemroses data, dan sebagainya.
Perangkat Komputer
Perkembangan hardware pada komputer yang selanjutnya mendorong trend perkembangan teknologi komputer. Media-media penyimpan data yang awalnya hanya mampu dengan ukuran yang terbatas dan sangat kecil. Misal disket hanya mampu menyimpan file yang sangat kecil. Bahkan saat itu ukuran disket sangatlah besar, cukup menyulitkan untuk dibawa.
Lalu pada saat ini, disket sudah tergantikan dengan media penyimpanan lain, seperti USB (Universal Serial Bus), CD (Compact Disc), DVD (Digital Video Disc), memory card, dan sebagainya. Bahkan media-media yang disebutkan tadi perlahan sudah ada yang tertandingi. Teknologi hardware memiliki kecenderungan untuk semakin kecil, tapi memiliki kemampuan yang sangat besar.
Salah satu dampak perkembangan teknologi komputer adalah oteknlogi game pada komputer. Game pada komputer perlahan semakin semarak, memiliki tampilan grafis yang halus dan sangat cepat.
Mobile Computer
Setelah trend perkembangan teknologi komputer pada personal computer bergeser pada teknologi komputer yang dapat dibawa kemana-mana atau dijinjing, yaitu laptop. Penggunaan laptop memungkinkan bagi pengguna untuk melakukan pengoperasian komputer dimana saja dan kapan saja, tanpa harus berada di rumah atau di kantor. Kemudahan itulah yang ditawarkan komputer berjenis mobile.
Selain laptop, lahir pula yang sejenis, yaitu notebook, netbook. Bahkan teknologi komputer pada kemudahan untuk mobile ini yang awalnya berukuran cukup besar, saat ini ukurannya pun beragam dari yang sedang hingga yang mungil. Apalagi didorongnya produsen yang berlomba-lomba menawarkan harga yang ringan, maka semakin banyak pengguna komputer jenis jinjing ini.
Selain itu, trend perkembangan teknologi komputer saat ini memiliki beberapa istilah baru yang diterapkan dalam implementasi teknologi komputer, seperti Green Technology, Cloud Computing, Social Network, mobile computing dan lain sebagainya. Istilah-istilah tersebut dipicu dari perkembangan teknologi komputer.
Jika kita perhatikan, maka sesungguhnya trend perkembangan teknologi komputer mengarah pada yang memudahkan kita dalam pekerjaan, hoby atau bahkan sekedar bermain games. Kemudahan itu pun mengarah pada fungsi, penggunaan, bentuk, kinerja yang semakin baik. Bukan tidak mungkin komputer bisa hanya berupa berada di dalam genggaman.
Ya seperti yang saat ini bisa terlihat pada wujud smartphone. Kelak mungkin kita tidak bisa membedakan antara komputer dan telepon (karena keduanya dalam satu genggaman).
Posted by
anju
0
comments
Labels: Algoritma dan Pemograman
TEKNIK SORTING DAN SEARCHING
Teknik Sorting
Sorting bisa didefinisikan sebagai suatu proses pengurutan data yang
sebelumnya disusun secara acak sehingga menjadi tersusun secara teratur menurut
suatu aturan tertentu. Sorting yang kita terapkan menggunakan tipe data array agar
pemahaman serta pengimplementasiannya lebih mudah. Pada umumnya terdapat
dua jenis pengurutan :
- Ascending (Naik).
- Descending (Turun).
Contoh :
Data : Array [1..6] of Byte = (22, 10, 15, 3, 8, 2);
Data Acak : 22 10 15 3 8 2
Terurut Ascending : 2 3 8 10 15 22
Terurut Descending : 22 15 10 8 3 2
Metode Pengurutan Data
- Pengurutan berdasarkan perbandingan (comparison-based sorting)
• Bubble sort, exchange sort
- Pengurutan berdasarkan prioritas (priority queue sorting method)
• Selection sort, heap sort
- Pengurutan berdasarkan penyisipan dan penjagaan terurut (insert and keep
sorted method)
• Insertion sort, tree sort
- Pengurutan berdasarkan pembagian dan penguasaan (devide and conquer
method)
• Quick sort, merge sort
- Pengurutan berkurang menurun (diminishing increment sort method)
• Shell sort
Teknik Searching
Searching merupakan suatu proses pendarian data dari sejumlah data yang
ada. Pencarian data dapat dilakukan pada sejumlah data yang sudah terurut atau
juga pada data yang sama sekali belum terurut. Kita mencoba menggunakan dua
metode pencarian yaitu :
- Pencarian Berurutan (Sequential Searching).
Metode ini merupakan metode paling sederhana, secara garis besar metode
ini bisa dijelaskan sebagai berikut. Dari data yang diketahui, data yang dicari
dibandingkan satu per satu sampai data tersebut ditemukan atau tidak ditemukan.
Pada saat data yang dicari sudah ditemukan, maka proses pencarian langsung
dihentikan. Tetapi jika belum ditemukan, maka pencarian diteruskan sampai
seluruh data dibandingkan.
- Pencarian Biner (Binary Seacrh).
Metode ini digunakan jika sejumlah data telah diurutkan. Jika dibandingkan
dengan metode awal tadi metode ini jauh lebih cepat. Secara garis besar metode
ini bisa dijelaskan sebagai berikut. Urutkan dahulu sejumlah data. Lalu bagi dua
data-data tadi dengan jumlah data yang sama pada masing-masingnya. Kemudian
data dibandingkan dengan data terakhir dari subdata yang pertama. Jika data yang
dicari lebih keci, pencarian dilanjutkan pada sub data pertama dengan terlebih
dahulu membagi dua lagi data-data tersebut dengan jumlah yang sama. Tetapi jika
data yang dicari lebih besar dari data terakhir subdata pertama, berarti data yang
dicari kemungkinan terletak pada subdata yang kedua. Proses diatas dilakukan
berulang sampai data ditemukan atau tidak ditemukan.
Posted by
anju
0
comments
Labels: Algoritma dan Pemograman
LINKED LIST
Pengertian Linked List
•sekumpulan elemen bertipe sama, yang mempunyai keterurutan tertentu, yang setiap elemennya terdiri dari dua bagian
•struktur berupa rangkaian elemen saling berkait dimana setiap elemen dihubungkan elemen lain melalui pointer. Pointer adalah alamat elemen. Penggunaan pointer untuk mengacu elemen berakibat elemen-elemen bersebelahan secara logik walau tidak bersebelahan secara fisik di memori.
Bentuk Umum :
Infotype sebuah tipe terdefinisi yang menyimpan informasi sebuah elemen list
Next address dari elemen berikutnya (suksesor)
Jika L adalah list, dan P adalah address, maka alamat elemen pertama list L dapat diacu dengan notasi :
Sebelum digunakan harus dideklarasikan terlebih dahulu :
Elemen yang diacu oleh P dapat dikonsultasi informasinya dengan notasi :
Beberapa Definisi :
1. List l adalah list kosong, jika First(L) = Nil
2. Elemen terakhir dikenali, dengan salah satu cara adalah karena
Next(Last) = Nil
Nil adalah pengganti Null, perubahan ini dituliskan dengan #define Nil Null
Single Linked List
Sebuah data terletak pada sebuah lokasi memori area. Tempat yang disediakan pada satu area memori tertentu untuk menyimpan data dikenal dengan sebutan node atau simpul. Setiap node memiliki pointer yang menunjuk ke simpul berikutnya sehingga terbentuk satu untaian, dengan demikian hanya diperlukan sebuah variabel pointer. Susunan berupa untaian semacam ini disebut Single Linked List (NULL memilik nilai khusus yang artinya tidak menunjuk ke mana-mana. Biasanya Linked List pada titik akhirnya akan menunjuk ke NULL).
Pembuatan Single Linked List dapat menggunakan 2 metode:
• LIFO (Last In First Out), aplikasinya : Stack (Tumpukan)
• FIFO (First In First Out), aplikasinya : Queue (Antrean)
Double Linked List
Salah satu kelemahan single linked list adalah pointer (penunjuk) hanya dapat bergerak satu arah saja, maju/mundur, atau kanan/kiri sehingga pencarian data pada single linked list hanya dapat bergerak dalam satu arah saja. Untuk mengatasi kelemahan tersebut, dapat menggunakan metode double linked list. Linked list ini dikenal dengan nama Linked list berpointer Ganda atau Double Linked List.
Circular Double Linked List
Merupakan double linked list yang simpul terakhirnya menunjuk ke simpul terakhirnya menunjuk ke simpul awalnya menunjuk ke simpul akhir sehingga membentuk suatu lingkaran.
Operasi-Operasi yang ada pada Linked List
• Insert
Istilah Insert berarti menambahkan sebuah simpul baru ke dalam suatu linked list.
• IsEmpty
Fungsi ini menentukan apakah linked list kosong atau tidak.
• Find First
Fungsi ini mencari elemen pertama dari linked list
• Find Next
Fungsi ini mencari elemen sesudah elemen yang ditunjuk now
• Retrieve
Fungsi ini mengambil elemen yang ditunjuk oleh now. Elemen tersebut lalu dikembalikan oleh fungsi.
• Update
Fungsi ini mengubah elemen yang ditunjuk oleh now dengan isi dari sesuatu
• Delete Now
Fungsi ini menghapus elemen yang ditunjuk oleh now. Jika yang dihapus adalah elemen pertama dari linked list (head), head akan berpindah ke elemen berikut.
• Delete Head
Fungsi ini menghapus elemen yang ditunjuk head. Head berpindah ke elemen sesudahnya.
• Clear
Fungsi ini menghapus linked list yang sudah ada. Fungsi ini wajib dilakukan bila anda ingin mengakhiri program yang menggunakan linked list. Jika anda melakukannya, data-data yang dialokasikan ke memori pada program sebelumnya akan tetap tertinggal di dalam memori.
A. STACK DENGAN SINGLE LINKED LIST
Selain implementasi stack dengan array seperti telah dijelaskan sebelumnya, stack daat diimplementasikan dengan single linked list. Keunggulannya dibandingkan array adalah penggunaan alokasi memori yang dinamis sehingga menghindari pemborosan memori.
Misalnya pada stack dengan array disediakan tempat untuk stack berisi 150 elemen, sementara ketika dipakai oleh user stack hanya diisi 50 elemen, maka telah terjadi pemborosan memori untuk sisa 100 elemen, yang tak terpakai. Dengan penggunaan linked list maka tempat yang disediakan akan sesuai dengan banyaknya elemen yang mengisi stack.
Dalam stack dengan linked list tidak ada istilah full, sebab biasanya program tidak menentukan jumlah elemen stack yang mungkin ada (kecuali jika sudah dibatasi oleh pembuatnya). Namun demikian sebenarnya stack ini pun memiliki batas kapasitas, yakni dibatasi oleh jumlah memori yang tersedia.
Operasi-operasi untuk Stack dengan Linked List
• IsEmpty
Fungsi memeriksa apakah stack yang adamasih kosong.
• Push
Fungsi memasukkan elemen baru ke dalam stack. Push di sini mirip dengan insert dalam single linked list biasa.
• Pop
Fungsi ini mengeluarkan elemen teratas dari stack.
• Clear
Fungsi ini akan menghapus stack yang ada.
B. QUEUE DENGAN DOUBLE LINKED LIST
Selain menggunakan array, queue juga dapat dibuat dengan linked list. Metode linked list yang digunakan adalah double linked list.
Operasi-operasi Queue dengan Double Linked List
• IsEmpty
Fungsi IsEmpty berguna untuk mengecek apakah queue masih kosong atau sudah berisi data. Hal ini dilakukan dengan mengecek apakah head masih menunjukkan pada Null atau tidak. Jika benar berarti queue masih kosong.
• IsFull
Fungsi IsFull berguna untuk mengecek apakah queue sudah penuh atau masih bisa menampung data dengan cara mengecek apakah Jumlah Queue sudah sama dengan MAX_QUEUE atau belum. Jika benar maka queue sudah penuh.
• EnQueue
Fungsi EnQueue berguna untuk memasukkan sebuah elemen ke dalam queue (head dan tail mula-mula meunjukkan ke NULL).
• DeQueue
Procedure DeQueue berguna untuk mengambil sebuah elemen dari queue. Hal ini dilakukan dengan cara menghapus satu simpul yang terletak paling depan (head).
Posted by
anju
0
comments
Labels: Algoritma dan Pemograman
Cara Mudah Belajar Bahasa Pemrograman
Bahasa Pemrograman biasanya didapat ketika kita berkuliah pada bidang jurusan IT, bahasa pemrograman penting ketika kita ingin mencari pekerjaan, karena di Indonesia lowongan untuk orang IT biasanya yang terampil dalam menggunakan bahasa pemrograman.
Namun mungkin masih ada yang kesulitan ketika belajar bahasa pemrograman, ada yang alasannya kaget lah ada yang alasannya pusing dan menganggap bahasa pemrograman adalah mata kuliah yang sulit dan tidak dapat dikuasai secara cepat, namun hal itu tidaklah benar (image sulit biasanya muncul dari mahasiswa-mahasiswa yang malas belajar.
Berikut ini adalah tips dan trik untuk mudah belajar bahasa pemrograman:
1. Gunakanlah buku yang tidak terlalu tebal ketika belajar. Cara ini dimaksudkan agar kita tidak bingun atas tutorial yang diberikan, menurut pengalaman saya, ketika saya belajar bahasa pemrogrman tidak semua fitur di software bahasa pemrograman itu kita gunakan semuanya, mungkin kita cukup mengetahui 20% dari semua fitur untuk bisa membuat suatu program sehari-hari (khusus Jurusan Sistem Informasi).
2. Ketahui Validasi yang sering digunakan ketika anda bekerja pada bidang anda. Contoh: saya sebagai orang jurusan Sistem informasi lebih sering membuat aplikasi bisnis yang tidak jauh-jauh dari validasi form pendaftaran (validasi nomor telepon yang karakternya harus angka semua, validasi nama yang haru huruf semua dsb) maksudnya adalah untuk mempermudah saja.
3. Bongkar source code dari program yang sudah jadi. Dengan cara ini kita dapat belajar lebih mudah.
4. Pelajari cara konek ke database.
5. Latihan setiap hari sampai lancar.
Posted by
anju
0
comments
Labels: Algoritma
Macam-Macam Bahasa Pemrograman
Bagi anda yang bekerja dalam bidang web design pasti sudah tidak asing lagi dengan apa yang nama bahasa pemrograman.Bahasa pemrograman yang umum dikenal adalah php dan html.
Tapi sebenarnya masih banyak bahasa pemrograman yang lain,berikut ini ada beberapa macam bahasa pemrograman yang perlu anda ketahui :
1. Bahasa Pemrograman HTML
HyperText Markup Language (HTML) adalah sebuah bahasa markup yang digunakan untuk membuat sebuah halaman web dan menampilkan berbagai informasi di dalam sebuah browser Internet.
HTML saat ini merupakan standar Internet yang didefinisikan dan dikendalikan penggunaannya oleh World Wide Web Consortium (W3C).
HTML berupa kode-kode tag yang menginstruksikan browser untuk menghasilkan tampilan sesuai dengan yang diinginkan.
Sebuah file yang merupakan file HTML dapat dibuka dengan menggunakan browser web seperti Mozilla Firefox atau Microsoft Internet Explorer.
2. Bahasa Pemrograman PHP
PHP adalah bahasa pemrograman script yang paling banyak dipakai saat ini.
PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada waktu itu PHP masih bernama FI (Form Interpreted), yang wujudnya berupa sekumpulan script yang digunakan untuk mengolah data form dari web.
PHP banyak dipakai untuk membuat situs web yang dinamis, walaupun tidak tertutup kemungkinan digunakan untuk pemakaian lain.
PHP biasanya berjalan pada sistem operasi linux (PHP juga bisa dijalankan dengan hosting windows).
3. Bahasa Pemrograman ASP
ASP adalah singkatan dari Active Server Pages yang merupakan salah satu bahasa pemograman web untuk menciptakan halaman web yang dinamis.
ASP merupakan salah satu produk teknologi yang disediakan oleh Microsoft.
ASP bekerja pada web server dan merupakan server side scripting.
4. Bahasa Pemrograman XML
Extensible Markup Language (XML) adalah bahasa markup serbaguna yang direkomendasikan W3C untuk mendeskripsikan berbagai macam data.
XML menggunakan markup tags seperti halnya HTML namun penggunaannya tidak terbatas pada tampilan halaman web saja.
XML merupakan suatu metode dalam membuat penanda/markup pada sebuah dokumen.
5. Bahasa Pemrograman WML
WML adalah kepanjangan dari Wireless Markup Language, yaitu bahasa pemrograman yang digunakan dalam aplikasi berbasis XML (eXtensible Markup Langauge).
WML ini adalah bahasa pemrograman yang digunakan dalam aplikasi wireless.
WML merupakan analogi dari HTML yang berjalan pada protocol nirkabel.
6. Bahasa Pemrograman PERL
Perl adalah bahasa pemrograman untuk mesin dengan sistem operasi Unix (SunOS, Linux, BSD, HP-UX), juga tersedia untuk sistem operasi seperti DOS, Windows, PowerPC, BeOS, VMS, EBCDIC, dan PocketPC.
PERL merupakan bahasa pemograman yang mirip bahasa pemograman C.
7. Bahasa Pemrograman CFM
Cfm dibuat menggunakan tag ColdFusion dengan software Adobe ColdFusion / BlueDragon / Coldfusion Studio.
Syntax coldfusion berbasis html.
8. Bahasa Pemrograman Javascript
Javascript adalah bahasa scripting yang handal yang berjalan pada sisi client.
JavaScript merupakan sebuah bahasa scripting yang dikembangkan oleh Netscape.
Untuk menjalankan script yang ditulis dengan JavaScript kita membutuhkan JavaScript-enabled browser yaitu browser yang mampu menjalankan JavaScript.
9. Bahasa Pemrograman CSS
Cascading Style Sheets (CSS) adalah suatu bahasa stylesheet yang digunakan untuk mengatur tampilan suatu dokumen yang ditulis dalam bahasa markup.
Penggunaan yang paling umum dari CSS adalah untuk memformat halaman web yang ditulis dengan HTML dan XHTML.
Walaupun demikian, bahasanya sendiri dapat dipergunakan untuk semua jenis dokumen XML termasuk SVG dan XUL.
Spesifikasi CSS diatur oleh World Wide Web Consortium (W3C).
Posted by
anju
0
comments
Labels: Algoritma
Mengenal Algoritma (Pemograman Pada Komputer)
1 PEMROGRAMAN KOMPUTER
Dalam kehidupan sehari-hari, untuk berkomunikasi dengan orang lain, kita harus menggunakan bahasa yang sama dengan orang tersebut. Apabila kita menggunakan bahasa Indonesia, lawan bicara kita juga harus mengerti bahasa Indonesia. Kalau lawan bicara kita tidak mengerti bahasa Indonesia, kita masih berkomunikasi dengannya melalui seorang penerjemah.
Dalam pemrograman komputer, berlaku juga hal seperti diatas. Kita harus menggunakan bahasa yang dimengerti oleh komputer untuk memberikan suatu instruksi atau perintah. Langkah-langkah yang kita lakukan dalam memberikan instruksi kepada komputer untuk memecahkan masalah inilah yang dinamakan dengan pemrograman komputer.
Dalam pemrograman komputer, ada beberapa langkah yang harus kita perhatikan, yaitu:
1. Mendefinisikan masalah. Pada langkah ini tentukan masalahnya seperti apa, kemudian apa saja yang harus dipecahkan dengan komputer, dan yang terakhir adalah apa masukannya dan bagaimana keluarannya.
2. Menentukan solusi. Setelah masalah didefinisikan dengan jelas, masukan apa yang diberikan sudah jelas, keluaran apa yang diinginkan sudah jelas, langkah selanjutnya adalah mencari jalan bagaimana masalah tersebut diselesaikan.
3. Memilih algoritma. Langkah ini merupakan langkah penting dalam pemrograman komputer, karena pemilihan algoritma yang salah akan menyebabkan program memiliki unjuk kerja yang kurang baik. Algoritma pemrograman akan dibahas lebih lanjut pada suba bab berikutnya.
4. Menulis program. Pada langkah ini kita mulai menuliskan program komputer untuk memecahkan masalah. Ada beberapa hal yang harus dipertimbangkan saat memilih bahasa pemrograman diantaranya adalah masalah yang dihadapi dan bahasa pemrograman yang dikuasai.
5. Menguji program. Setelah program selesai ditulis, kita harus mengujinya. Pengujian pertama adalah apakah program berhasil dikompilasi dengan baik? Pengujian berikutnya apakah program dapat menampilkan keluaran yang diinginkan?
6. Menulis dokumentasi. Hal ini biasanya dilakukan bersamaan menulis program, artinya pada setiap baris program atau pada setiap beberapa baris program, kita menambahkan komentar yang menjelaskan kegunaan dari suatu pernyataan.
7. Merawat progam. Langkah ini dilakukan setelah program selesai dibuat, diuji dan sudah digunakan oleh pengguna. Contoh perawatan adalah melakukan revisi jika pengguna ingin menbambahkan suatu fasilitas baru pada program tersebut.
2 ISTILAH-ISTILAH DASAR
Ada beberapa istilah dasar yang perlu dipahami sebelum mempelajari pemrograman komputer, yaitu:
* Program adalah kata, ekspresi, pernyataan atau kombinasinya yang disusun dan dirangkai menjadi satu kesatuan prosedur yang berupa urutan langkah untuk menyelesaikan masalah yang diimplementasikan dengan menggunakan bahasa pemrograman sehingga dapat dieksekusi oleh komputer.
* Bahasa pemrograman merupakan prosedur atau tata cara penulisan program. Pada bahasa pemrograman terdapat dua faktor penting yang harus diperhatikan yaitu sintak (aturan-aturan atau tata cara penulisan) dan semantic (aturan-aturan untuk menyatakan suatu makna/arti.
* Pemrograman merupakan proses mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dengan menggunakan suatu bahasa pemrograman.
* Pemrograman terstruktur merupakan proses mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dalam bentuk program yang memiliki rancang bangun yang terstruktur dan tidak berbelit-belit sehingga mudah ditelusuri, dipahami dan dikembangkan oleh siapa saja.
3 ALGORITMA
Dalam bidang pemrograman, algoritma dedifinisikan sebagai suatu metode khusus yang tepat dan terdiri dari serangkaian langkah yang terstruktur dan dituliskan secara sistematis, yang akan dikerjakan untuk menyelesaikan suatu masalah dengan bantuan komputer.
Proses dari masalah hingga menjadi suatu algoritma disebut tahap pemecahan masalah. Sedangkan tahap dari algoritma hingga menjadi suatu program komputer disebut tahap implementasi.
Algoritma pemrograman yang baik memiliki cirri-ciri sebagai berikut.
1. Tepat, benar, sederhana, standard an efektif
2. Logis, terstruktur dan sistematis
3. Semua operasi terdefinisi
4. Semua proses harus berakhir setelah sejumlah langkah dilakukan
5. Ditulis dengan bahasa standar dengan format pemrograman agar mudah diimplementasikan dan tidak menimbulkan arti bias maupun ganda.
4 PENYAJIAN ALGORITMA
Penyajian algoritma dalam bentuk tulisan biasanya menggunakan metode English structure), sedangkan penyajian algoritma dalam bentuk gambar atau simbol biasanya menggunakan metode flowchart program.
Posted by
anju
0
comments
Berpikir Positif
Sangat berarti untuk membangun sikap dan perilaku positif. Ada 12 Tips cara untuk membangun sikap menjadi lebih Positif, antara lain :
1. Bersikap Optimis.
Orang yang pesimis itu focus kepada yang negative (seperti memandang segelas air sebagai setengah kosong/air yang sudah tak ada). Sedangkan yang optimis focus memandang yang positif (seperti memandang segelas air sebagai setengah penuh) Siapakan yang lebih baik cara pandangnya? Siapakah yang lebih mungkin bahagia, lebih yakin dan lebih pasti?
2. Menerima segalanya apa adanya
Ini tidaklah berarti bahwa kamu menjadi tak semangat dan menyerah. Artinya kamu tidak bergumul, merengek, dan memebenturkan kepalamu ke tembok ketika segalanya tidak beres. Sebenarnya perilaku yang menjadikan kamu korban yang tiada berdaya (yang memakanmu itulah yang menambah beban atas semangatmu). “Terimalah segalanya apa adanya, bukan seperti yang kamu angankan saat ini. Masa lalu sudah lewat, masa depan masih misteri dan saat inilah karunia, itulah sebabnya saat ini disebut “present = hadiah”. Oleh karenanya saat ini pergunakanlah sebaik – sebaiknya.
3. Cepat pulih
Mengembangkan sikap – sikap positif tidaklah berarti bahwa kamu tidak akan pernah mengalami kepedihan, penderitaan, atau kekecewaan. Selain itu, mengembangkan sikap – sikap positip tidaklah berarti kamu seharusnya mengabaikan masalah. Masalahpun selalu mempunyai sisi sebaliknya. Kalau kamu gagal dalam ujian, belajarlah lebih giat lagi atau cari pembimbing. Kalau kamu kehilangan teman, perbaikilah persahabatan tersebut, atau mencari teman baru. Kalau kamu tidak suka penampilanmu, kembangkanlah kepribadian kamu yang fantastis.
4. Memilih cerita
Mulailah dengan menolak hal – hal yang suram, sungginglah senyum. Kalau kamu melontarkan kata – kata yang positif, prmikiran – pemikiran yang positif, dan perasaan – perasaan yang positif, maka orang – orang (serta hal – hal) yang positif akan tertarik kepadamu.
5. Bersikap antusias.
Sambutlah setiap harinya dengan semangat. Laksanakanlah tugas – tugasmu dengan penuh semangat. Semakin kamu bersemangat, maka semakin orang – orang disekelilingmu punmerasa dan bersikap demikian, “Semangatlah…..!”
6. Lebih peka.
Kalau kamu lebih peka terhadap masalah – masalah potensial, maka kamu bisa lebih siap menghadapinya dan bahkan mengelak. Kamu juga bisa peka terhadap pengalaman – pengalaman positif. Misal, bila kamu dengar pengumuman tentang uji coba tim atau klub baru, maka catatlah waktu dan tempatnya dan berencanalah mengikutinya, kamu akan memperoleh sesuatu hal yang baru.
7. Memilih humor.
Kalau kamu melakukan sesuatu yang konyol (semua orangpun pernah) jangan melewatkan peluang untuk menertawakan diri sendiri. Itulah salah Satu sukacita besar kehidupan. Kalau kamu banyak tertawa, kamu akan sehat. Tawa itu mengeluarkan kimiawi tertentu dalam tubuhmu yang merangsangmu dan dapat memebantumu bertumbuh dengan sehat. Humor dan tertawa itu sehat.
8. Sportif
Sportif artinya menerima kekalahan dengan positif sambil tersenyum, menjabat tangan sang pemenang, tidak menyalajkan orang lain taua keadaan atas kekalahan itu. Sikap ini bisa memenangkan teman seandainyapun kamu tidak memenangkan pertandingan atau kompetisinya. “Sportif” berarti pula tidak perlu mengejek yang kalah ketika kamu menang.
9. Rendah hati
Kalau kamu benar benar berkepentingan terhadap sesame, mereka akan melihat kualitas baikmu seandainyapun kamu tidak mengiklankannya. Mereka tidak akan merasa bahwa kamu berusaha memanipulasi mereka, berbuatlah untuk sesama karena Tuhanmu
10. Bersyukur
Renungkanlah : Mungkin banyak sekali yang bisa kamu syukuri. Rasa syukur membuatmu tersenyum. Itu membuatmu senang dengan kehidupanmu. Dan orang lain pun senang di dekatmu. Bersyukur bisa memberikan ketenangan bagi dirimu.
Posted by
anju
0
comments
Labels: Kewarganegaraan
Kiat Berbicara di Depan Orang Banyak
* Mulai dari Yang Kecil
Mulaihlah untuk berlatih berbicara dari lingkup yang kecil. Lingkup kecil ini yang bisa kita temui, misalnya pada rapat-rapat kepanitiaan acara kita bisa jadikan ajang berbicara mengemukakan pendapat, rapat di kampung RT/RW, ketika menjadi peserta seminar aktif memberikan pertanyaan/tanggapan, ketika di kelas aktif bertanya dan berargumen. Setelah itu lambat laun baru lingkupnya diperbesar dengan mulai mengajar di kelas bahkan mengisi seminar.
* Perlunya Jam Terbang
Semuanya berawal dari kebiasaan. Mungkin ini kata yang tepat, yaitu untuk membiasakan diri kita selalu melalui proses untuk mengasah kemampuan berbicara di depan umum. Coba lihat orang yang mampu mengetik sepuluh jari dengan cepat, bagi kita yang belum bisa mengetik secepat itu pasti merasa takjub dan terkagum-kagum. Tapi bagi yang bisa merasa kemampuannya tersebut biasa saja, dikarenakan memang sudah terbiasa melakukannya selama bertahun-tahun. Nah, hal ini juga yang dapat diterapkan untuk meningkatkan kualitas bicara kita di depan umum. Yakinlah, bila jam terbang Anda sudah tinggi, kualitas Anda menjadi public speaker akan menjadi baik dan yang namanya rasa malu/takut untuk bicara tidak akan menguasai diri Anda lagi.
* Percayalah, Semua Pembicara Pasti Grogi
Jangan dikira setiap pembicara yang tampak hebat ketika berbicara dengan percaya diri yang tinggi dan membuat audiens larut dalam orasinya tidak mengalami grogi loh. Percayalah setiap pembicara, MC, presenter dan publik spekaer lainnya ketika pertama kali tampil dan berbicara di depan umum pasti mengalami gugup dan grogi dulu. Tetapi setelah berada di atas panggung dan melontarkan beberapa kata pembuka, dengan cepat kegugupan tersebut sirna dan berganti dengan rasa enjoy dan mengalir.
* Tips Pernafasan untuk Menjinakkan Grogi
Ketika kita gugup maka suara yang kita keluarkan akan terasa bergetar, kerongkongan kita terasa tercekat bahkan untuk beberapa orang sampai ada yang mules-mules perutnya.Beruntunglah saya sempat bergaul dengan teman-teman orator unggul yang mau membagi tipsnya. Dari mereka saya tahu cara mengatasinya adalah; setiap gugup muncul tariklah nafas dalam-dalam kemudian tahan, lalu mulailah bicara dengan perlahan. Efeknya sungguh menggembirakan, walaupun dada kita masih berdegup kencang, tapi suara yang keluar sangatlah datar dan intonasinya pun terjaga.
* Tatapan Mata
Tahukah Anda apa sebenarnya yang sering menyebabkan kita selalu gugup dan dengkul merasa lemas ketika berbicara di depan publik? Ya, salah satunya adalah ketika kita dilihat oleh puluhan bahkan ratusan pasang mata..! Rasanya nyawa mau melayang bukan? Hal ini biasanya dikarenakan mata kita selalu menatap secara langsung mata para hadirin. Sehingga selalu muncul perasaan seolah-olah mereka bakal mentertawakan kita dan apalagi bila kita melihat dua orang hadirin yang sedang berbisik sambil melirik ke arah kita, hal itu menambah daya gugup yang sudah mengguncang dada kita bukan?
Memang untuk beberapa pembicara tidak masalah tapi bagi yang mudah gugup saran saya
Jangan terlalu sering melihat/kontak langsung dengan mata hadirin. Tapi jangan lupa untuk tetap sesekali melakukan kontak mata langsung, karena sebagai wujud perhatian serius kita ke mereka.
Lalu kemana seharusnya mata kita tujukan? Cara yang biasa saya lakukan adalah dengan melihat ke bagian kepala para hadirin. Karena dengan begitu mereka tidak sadar bahwa sebenarnya kita tidak melihat langsung ke mereka, tetapi bagi mereka merasa kita telah memperhatikan. Ada juga caranya dengan melihat di bagian tengah dari kerumunan peserta/hadirin.
Posted by
anju
0
comments
Labels: Kewarganegaraan
Membuat Hidup tampak Lebih Awet Muda
1. Minum Aspirin
Obat ajaib ini bukan hanya membantu meredakan sakit kepala dan demam, namun juga menurunkan risiko terjangkit stroke, serangan jantung, kemunduran ingatan, keriput bahkan bisa mengatasi kanker. “Semua penyakit tersebut berhubungan usia arteri dan aspirin membantu mengurangi bertambahnya usia arteri tersebut.
2. Berhubungan Seks
Berhubungan intim dengan pasangan Anda setidaknya dua kali seminggu membuat Anda tampak lebih muda dan membuat Anda bisa menerapkan seks yang sehat.Para pakar kesehatan menekankan bahwa seks bisa membuat kita tampak lebih muda selain juga mengurangi stress dan mengambil keuntungan dari biokimia yang timbul saat orgasme. “Kita tidak tahu jika Anda menikmati kehidupan seks Anda, Anda secara tak sadar akan menurunkan risiko cedera, kanker, bahkan penuaan arteri.
3. Lakukan Floss
Jika dokter gigi Anda menyarankan Anda untuk sering-sering menggunakan dental floos agar Anda tampak lebih muda dan membantu Anda mencegah penyakit diwilayah gusi.Menggunakan dental floss tiap hari dapat mencegah stroke, meningkatkan memori dan mencegah penyakit jantung, karena kebiasaan menggunakan dental floss dapat mengurangi berkembangnya bakteri yang tumbuh di gusi kita.
4. Miliki binatang peliharaan
Anjing peliharaan Anda bukan sekedar binatang peliharaan, karena mereka juga bisa membuat Anda awet muda.Selain jarang menderita sakit kepala, demam, ataupun infeksi kronis lainnya, bahkan pemilik binatang peliharaan cenderung terhindar dari serangan jantung.
Mengapa binatang peliharaan bisa membuat pemiliknya sehat dan bertambah awet muda, karena pemilik binatang selalu merawat dan melatih anjing mereka dan kegiatan tersebut menjadi kebiasaan rutin mereka sehingga jadwal tidur dan bangun tidur menjadi lebih teratur.
5. Konsumsilah blueberries
Kita tidak membahas apel dan jeruk – semua buah baik bagi kesehatan kita namun berries memberikan nutrisi lebih banyak per kalorinya dibanding buah lainnya. ”
Berries adalah pil antioksidan alami,”. Satu setengah cangkir berries memberi kita antioksidan lima kali lebih besar dibanding buah lainnya. Selain itu blueberries juga mengandung Vitamin C, kaya serat, dan asam ellagic yang dipercaya baik untuk mencegah kanker.
6. Latihan beban
Banyak wanita takut jika tubuhnya akan tampak seperti Mr. Universe.Latihan beban hanya sekitar 30 menit seminggu sekali dapat memperlambat usia, selain membuat tubuh kita semakin kuat, lentur dan membuat kulit terlihat kencang. Jika memang berat badan bukan target utama Anda, mungkin menguatkan otot serta memperbaiki postur tubuh bisa menjadikan alasan untuk memiliki tubuh yang bugar.
7.Bersosialisasi
Mungkin Anda berpikir menghabiskan waktu dirumah dengan membaca akan membuat Anda lebih awet muda daripada mengahbiskan waktu di kota. Selama kehidupan sosial Anda tidak melibatkan minum-minum yang berlebihan, pengurangan jam tidur serta mengurangi isapan rokok bisa membuat Anda tampak lebih muda.
“Sosialisasi adalah cara mengurangi stress,". Semakin bersosialisasi Anda dengan lingkungan Anda semakin banyak kesempatan Anda untuk memperlambat usia Anda. Program ini dapat membalikkan waktu sampai 2,3 tahun dengan konsumsi segelas anggur sehari.
Posted by
anju
0
comments
Labels: Kesehatan
Awas, Ada Insomnia yang Mematikan..!!!
Penderita insomnia di seluruh dunia jumlahnya jutaan.Tapi dari jutaan orang itu ada yang memiliki gangguan insomnia mematikan yang disebut dengan fatal familial insomnia (FFI).Hingga kini para ilmuan masih bingung dengan gangguan genetik langka yang disebut dengan fatal familial insomnia (FFI) yang saat ini di miliki 40 keluarga di seluruh dunia.
Kondisi ini semakin lama akan semakin buruk karena orang yang menderita FFI sama sekali sulit untuk tidur hingga akhirnya mereka meninggal. Kondisi ini disebabkan adanya mutasi gen yang menyebabkan kemerosotan pusat tidur di otak atau talamus. Kebanyakan kasusnya akibat penumpukan protein yang dapat mengganggu fungsi tubuh atau pikiran yang vital. Sampai saat ini tidak ada obat yang dapat menyembuhkannya.
"Hal ini merupakan gangguan tidur formal yang diakui keberadaannya meskipun sangat langka ditemukan, dan hingga saat ini FFI masih seperti misteri yang belum terpecahkan," ujar Michael Breus, PhD, psikolog klinis yang mengkhususkan diri pada penyakit tidur.
Seseorang yang memiliki gangguan tidur mematikan ini secara bertahap akan kehilangan kemampuan untuk tidur hingga akhirnya orang tersebut tidak bisa tidur sama sekali atau terjaga sepenuhnya.
Kondisi ini akan diikuti dengan kelelahan dan menyebabkan halusinasi, kehilangan memori, gangguan kontrol otot, demensia dan terkadang menyebabkan koma atau meninggal. Rata-rata sekitar sembilan bulan setelah terjadinya kekacauan akan timbul kondisi yang parah.
Usia orang yang mengalami gangguan insomnia ini bervariasi, tapi rata-rata dimulai saat berusia 49 tahun. Selain itu orang-orang ini biasanya tidak akan memberikan respons apapun jika diberi bantuan perawatan untuk insomnia pada umumnya.
"Gejala yang ditimbulkan dari FFI ini tidak jauh berbeda dengan insomnia biasa, tapi lama kelamaan akan menjadi jauh lebih buruk atau parah. Mereka akan terjaga untuk hari ini, besok dan hari-hari berikutnya," ujar Breus.
Silvano berhenti untuk tidur ketika ia berusia 53 tahun, hingga akhirnya ia meninggal setelah terkena koma pada tahun 1984. Kasus kematiannya saat itu begitu berpengaruh hingga penulis D.T. Max menulis buku tentang "The Family That Couldn't Sleep: A Medical Mystery".
Seseorang yang dalam keluarganya memiliki gen ini ada kemungkinan sebesar 50 persen terkena FFI. Ada juga beberapa kaitan yang menghubungkan kondisi ini akibat konsumsi daging dari hewan yang memiliki penyakit sapi gila.
Namun, Breus mendesak agar penderta insomnia tidak terlalu panik karena gangguan ini luar biasa langka. Tapi bagi orang yang memiliki insomnia biasa yang sudah mengganggu kualitas hidup dan kerjanya, tak ada salahnya mencari bantuan agar gangguan tersebut bisa teratasi.
Posted by
anju
0
comments
Labels: Kesehatan
Kejahatan Kemanusiaan
Kejahatan terhadap umat manusia adalah istilah di dalam hukum internasional yang mengacu pada tindakan pembunuhan massal dengan penyiksaan terhadap tubuh dari orang-orang, sebagai suatu kejahatan penyerangan terhadap yang lain. Para sarjana Hubungan internasional telah secara luas menggambarkan "kejahatan terhadap umat manusia" sebagai tindakan yang sangat keji, pada suatu skala yang sangat besar, yang dilaksanakan untuk mengurangi ras manusia secara keseluruhan. Biasanya kejahatan terhadap kemanusian dilakukan atas dasar kepentingan politis, seperti yang terjadi di Jerman oleh pemerintahan Hitler serta yang terjadi di Rwanda dan Yugoslavia
Pada tahun 2002 di kota Hague di Belanda dibentuklah suatu pengadilan kriminal internasional yang dalam bahasa Inggris disebut International Criminal Court (ICC) dan Statuta Roma memberikan kewenangan kepada ICC untuk mengadili kejahatan genosida, kejahatan terhadap perikemanusiaan dan kejahatan perang.
Kejahatan-kejahatan terhadap perikemanusiaan sebagaimana yang dimaksud dalam pasal 7 Statuta Roma tersebut adalah serangan yang meluas atau sistematik yang ditujukan secara langsung terdapat penduduk sipil dengan tujuan ::
(a) Pembunuhan;
(b) Pemusnahan
(c) Perbudakan;
(d) Pengusiran atau pemindahan penduduk
(e) Perampasan kemerdekaan / perampasan kebebasan fisik lain
(f) Menganiaya;
(g) Memperkosa, perbudakan seksual, memaksa seorang menjadi pelacur, menghamili secara paksa, melakukan sterilisasi secara paksa, ataupun bentuk kejahatan seksual lainnya ;
(h) Penyiksaan terhadap kelompok berdasarkan alasan politik, ras, kebangsaan, etnis, kebudayaan, agama, jenis kelamin (gender) sebagaimana diatur dalam artikel 3 ICC ataupun adengan alasan-alasan lainnya yang secara umum diketahui sebagai suatu alasan yang dilarang oleh hukum internasional
(i) Penghilangan seseorang secara paksa;
(j) Kejahatan apartheid;
(k) Perbuatan lainnya yang tak berperikemanusiaan yang dilakukan secara sengaja sehingga mengakibatkan penderitaan, luka parah baik tubuh maupun mental ataupun kesehatan fisiknya.
Posted by
anju
0
comments
Labels: Kewarganegaraan
ETIKA LINGKUNGAN HIDUP
Akhir-akhir ini, perhatian dan kesadaran umat manusia untuk menjaga dan memelihara kelestarian lingkungan hidupnya semakin meningkat. Hal itu sejalan dengan pengetahuan yang semakin banyak dan pengalaman yang semakin nyata bahwa lingkungan hidup atau planet bumi sedang sakit atau rusak. Sakit atau rusaknya planet bumi itu disebabkan oleh ulah manusia sendiri, yaitu dalam kaitannya dengan pemanfaatan dan pengelolaan sumber-sumber alam. Cara memanfaatkan dan mengelola lingkungan cenderung bersifat eksploitatif dan destruktif. Maka proses pemanfaatan dan pengelolaan lingkungan mengandung aspek perusakan lingkungan, baik sengaja maupun tidak sengaja.
Sebenarnya proses perusakan lingkungan sudah berjalan lama, yaitu sejak dimulainya proses industrialisasi. Industrialisasi menyadarkan manusia bahwa alam merupakan deposit kekayaan yang dapat memakmurkan. Maka mulai saat itu sumber-sumber alam dieksploitasi untuk diolah menjadi barang guna memenuhi kebutuhan demi kemakmuran hidup manusia. Dengan adanya alat ampuh, yaitu mesin, maka alam pun dipandang dan dikelola secara mekanis. Terjadilah intensitas pengeksploitasian lingkungan menjadi semakin gencar tak terkendali.
Alam dilihat tidak lebih dari benda mekanis yang hanya bernilai sebagai instrumen untuk kepentingan manusia. Alam tidak lagi dihargai sebagai organisme. Sayangnya, kesadaran akan semakin rusaknya lingkungan hidup mulai muncul sejak sesudah Perang Dunia II dan mulai mengglobal tiga dekade yang lalu ketika alam terlanjur rusak berat atau sakit parah. Ketika itu manusia makin menyadari bahwa sumber-sumber alam (khususnya "non-renewable resources") semakin menipis.
Pengelolaan alam secara mekanistik yang diikuti pula oleh pertumbuhan demografi yang terus melaju sehingga pada akhir dekade 1960-an ditandai dengan "ledakan penduduk dunia". Kenyataan itu mendorong digerakkannya pembangunan yang berorientasi pada "pertumbuhan ekonomi" yang justru semakin meningkatkan pengeksploitasian sumber-sumber alam. Hal ini tidak untuk kemakmuran saja, tetapi bahkan untuk memenuhi kebutuhan paling dasar dari umat manusia yang semakin banyak. Misalnya, hutan selain sebagai sumber bahan baku untuk diolah menjadi bahan produk, juga dikonversi menjadi lahan pertanian. Perusakan ini diperberat oleh polusi atau pencemaran. Untuk menjaga kesuburan lahan pertanian, digunakan pupuk kimia, dan untuk menjaga panen dari serangan hama, digunakan pestisida secara besar-besaran sehingga produksi pertanian meningkat. Semua itu, bersama dengan industri dan transportasi yang dibangun untuk meningkatkan produksi dan distribusi, membentur alam dalam bentuk polusi. Akibatnya sumber alam semakin menipis, kemampuan daya dukung alam berkurang dan mengancam kehidupan manusia sendiri.
Dari keterangan di atas, menjadi nyata bahwa benturan yang menyebabkan lingkungan hidup menderita sakit atau rusak datang dari manusia dalam proses mengambil, mengolah, dan mengonsumsi sumber-sumber alam. Benturan terjadi ketika proses-proses itu melampui batas-batas kewajaran atau proposionalitas. Batas-batas kewajaran atau proposionalitas itu terlampaui ketika manusia semakin mampu dengan bantuan ilmu pengetahuan dan teknologi memanfaatkan sumber-sumber secara masal, intensif, dan cepat dan sekaligus mengotori atau mencemarinya. Tetapi yang lebih parah lagi, yaitu bahwa manusia yang merasa semakin enak semakin tidak tahu diri, sehingga ia seolah-olah menjelma menjadi tuan dan pemilik alam. Maka kesadaran untuk menjaga dan memelihara lingkungan hidup harus dikembalikan pada manusia, dengan mempertanyakan tentang dirinya dan kelakuannya terhadap alam.
Posted by
anju
0
comments
Labels: Kewarganegaraan
DEMOKRASI
Demokrasi adalah bentuk atau mekanisme sistem pemerintahan suatu negara sebagai upaya mewujudkan kedaulatan rakyat (kekuasaan warganegara) atas negara untuk dijalankan oleh pemerintah negara tersebut. Pada intinya, yang banyaklah yang menang dan yang banyak dianggap sebagai suatu kebenaran.
"Many forms of Government have been tried, and will be tried in this world of sin and woe. No one pretends that democracy is perfect or all-wise. Indeed, it has been said that democracy is the worst form of government except all those other forms that have been tried from time to time."
Salah satu pilar demokrasi adalah prinsip trias politica yang membagi ketiga kekuasaan politik negara (eksekutif, yudikatif dan legislatif) untuk diwujudkan dalam tiga jenis lembaga negara yang saling lepas (independen) dan berada dalam peringkat yg sejajar satu sama lain. Kesejajaran dan independensi ketiga jenis lembaga negara ini diperlukan agar ketiga lembaga negara ini bisa saling mengawasi dan saling mengontrol berdasarkan prinsip checks and balances.
Ketiga jenis lembaga-lembaga negara tersebut adalah lembaga-lembaga pemerintah yang memiliki kewenangan untuk mewujudkan dan melaksanakan kewenangan eksekutif, lembaga-lembaga pengadilan yang berwenang menyelenggarakan kekuasaan judikatif dan lembaga-lembaga perwakilan rakyat (DPR, untuk Indonesia) yang memiliki kewenangan menjalankan kekuasaan legislatif. Di bawah sistem ini, keputusan legislatif dibuat oleh masyarakat atau oleh wakil yang wajib bekerja dan bertindak sesuai aspirasi masyarakat yang diwakilinya (konstituante) dan yang memilihnya melalui proses pemilihan umum legislatif, selain sesuai hukum dan peraturan.
Selain pemilihan umum legislatif, banyak keputusan atau hasil-hasil penting, misalnya pemilihan presiden suatu negara, diperoleh melalui pemilihan umum. Pemilihan umum tidak wajib atau tidak mesti diikuti oleh seluruh warganegara, namun oleh sebagian warga yang berhak dan secara sukarela mengikuti pemilihan umum. Sebagai tambahan, tidak semua warga negara berhak untuk memilih (mempunyai hak pilih).
Kedaulatan rakyat yang dimaksud di sini bukan dalam arti hanya kedaulatan memilih presiden atau anggota-anggota parlemen secara langsung, tetapi dalam arti yang lebih luas. Suatu pemilihan presiden atau anggota-anggota parlemen secara langsung tidak menjamin negara tersebut sebagai negara demokrasi sebab kedaulatan rakyat memilih sendiri secara langsung presiden hanyalah sedikit dari sekian banyak kedaulatan rakyat. Walapun perannya dalam sistem demokrasi tidak besar, suatu pemilihan umum sering dijuluki pesta demokrasi.
Ini adalah akibat cara berpikir lama dari sebagian masyarakat yang masih terlalu tinggi meletakkan tokoh idola, bukan sistem pemerintahan yang bagus, sebagai tokoh impian ratu adil. Padahal sebaik apa pun seorang pemimpin negara, masa hidupnya akan jauh lebih pendek daripada masa hidup suatu sistem yang sudah teruji mampu membangun negara. Banyak negara demokrasi hanya memberikan hak pilih kepada warga yang telah melewati umur tertentu, misalnya umur 18 tahun, dan yang tak memliki catatan kriminal (misal, narapidana atau bekas narapidana).
Posted by
anju
0
comments
Labels: Kewarganegaraan