LEMBAR JAWABAN UJIAN TENGAH SEMESTER
1.TI ( Teknologi Informasi) adalah suatu teknologi yang digunakan untuk mengolah data, termasuk memproses, mendapatkan, menyusun, menyimpan, memanipulasi data dalam berbagai cara untuk menghasilkan informasi yang berkualitas, yaitu informasi yang relevan, akurat dan tepat waktu, yang digunakan untuk keperluan pribadi, bisnis, dan pemerintahan yang merupakan seperangkat komputer untuk mengolah data, system jaringan untuk menghubungkan satu komputer dengan komputer yang lainnya sesuai dengan kebutuhan dan teknologi telekomunikasi digunakan agar data dapat disebar dan diakses secara global.
Selain itu, teknologi informasi juga merupakan bagian dari budaya barat yang acapkali berbenturan dengan kultur ketimuran. Maksudnya akses informasi tanpa batas dari luar akan merubah perilaku baik secara positif maupun negatif.
2.- INTEL CORE 2 DUO E7500/FSB 800/CACHE 2 MB/3.0 GHZ BOX
Type Processor :INTEL CORE 2 DUO
FSB(Front Side Bus) :800 Mhz
Capacity :2 Mb
Speed :3.0 GHZ
- ASUS P5KPL-AMSE (INTEL G31, FSB 1066, VGA, PCI-E, SATA 2, DUAL DDR2 800, SC, LAN) SUPPORT QORE 2 QUAD
Merek :ASUS P5KPL
Slot :VGA CARD
Memiliki 2 Slot :DUAL DDR2 800
- DDR2 VISIPRO 2 GB PC 6400
Nama Standar :DDR2
Merek :VISIPRO
kapasitas :2 GB
Peak Transfer Rate :6400 MB/Second
- SEAGATE 250 GB 7200 RPM
Merek :SEAGATE
Formatted Capacity (Gb) :250 Gb
Spindle Speed (Rpm) :7200 Rpm
3.User merupakan operator yang mengoperasikan komputer melalui aplikasi software(perangkat lunak). Dalam mengoperasikan komputer, komputer tersebut harus mempunyai system operasi. Pada umumnya system operasi yang dikenal banyak orang yakni system operasi windows. Data/aplikasi software yang kita masukkan akan tersimpan di Harddisk.
4.Cara kerja :
• Cara kerja Prosesor atau CPU yaitu pada saat dan atau instruksi dimasukkan ke processing-devices, pertama sekali diletakkan di RAM ( melalui Input-storage), apabila berbentuk data ditampung oleh Control Unit 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 memory 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 Accumulator 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 pengelohan dari Working-storage untuk ditampung ke Output-storage, lalu selanjutnya dari Output-storage, hasil pengolahan akan ditampilkan ke output-devices.
• Cara kerja Mainboard adalah ketika sebuah komputer dinyalakan (power-on), yang pertama kali berproses adalah chip BIOS yang akan mem-verifikasi komponen yang dipasang system PC, seperti type processor, memory, add-on card, dan komponen lainnya. Biasanya semua komponen ini akan dideteksi otomatis oleh BIOS, dan disalin dalam list (daftar) yang dapat dilihat oleh user. BIOS mendapatkan power dari sebuah battere yang berfungsi ketika komputer dimatikan (power-off), jadi data yang disimpan pada chip tidak akan hilang. Ketika BIOS selesai memverifikasi informasi dari seluruh komponen dari seluruh komponen yang terinstall, maka tugas akan beralih ke chipset yang mengontrol seluruh device/komponen. Chipset mengatur processor ketika menginstruksikan atau meminta data dari memory, transfer dari memory ke HDD dan komponen I/O yang ada.
Pertama kali system akan mendeteksi OS (Sistem Operasi) yang di pakai, dari sinilah system Hardware dan Software akan terhubung dan bekerja sama. Jika OS dapat di deteksi maka system akan bekerja sebagaimana mestinya. Beberapa macam OS yang umum di gunakan adalah Microsoft Windows, Linux atau DOS.
• Cara kerja RAM adalah merupakan memori yang dapat di dibaca dan ditulis. Biasanya di gunakan untuk menyimpan data atau sering di sebut dengan memori data saat program bekerja. Data yang ada pada RAM akan hilang bila data daya dari RAM di matikan sehingga RAM hanya dapat di gunakan untuk menyimpan data sementara. Sedangkan pendapat berbeda dari pengertian RAM yaitu merupakan memori penyimpanan data yang isinya dapat di ubah atau di hapus. RAM biasanya berisi data-data variable dan register. Data yang tersimpan pada RAM bersifat hilang (volatile) jika catu daya yang terhubung padanya di putuskan atau di matikan.
• Cara kerja HARDISK adalah spindle memiliki sebuah penggerak yang di sebut spindle motor, yang berfungsi untuk memutar pelat Harddisk dalam kecepatan tinggi. Perputaran ini diukur dalam satuan rotation per minute (RPM). Makin cepat putaran tiap menitnya, makin bagus kwalitas Harddisk tersebut. Ukuran yang lazim kita dengar adalah 5400, 7200 atau 10000 RPM.
5. Pengertian Aplication Software adalah Perangkat Lunak Sistem yang mengatur dan mengendalikan perangkat keras dan memberikan kemudahan penggunaaan komputer ke pemakai. OS ini mengontrol penyimpanan data, input, output dari suatu perangkat ke perangkat lainnya. Dalam saat menjalankan tugasnya OS ini memiliki tugas utamanya (OS Task) dan sasarannya (OS Target).
Salah satu peran system operasi di dalamnya sebagai pengatur dan pengawas penggunaan hardware oleh beberapa software aplikasi dan penggunaanya. Dalam system operasi Microsoft windows XP, peran system operasi tersebut direpresentasikan dalam menu yang di sebut control panel.
System operasi dapat memanipulasi software aplikasi dengan menggunakan dialog add remove programs. User dapat dengan mudah menambah atau menghapus software aplikasi serta dapat menunjukkan seberapa banyak space penyimpanan yang di gunakan dan seberapa sering pemakaiannya, menginstal software dengan menggunakan media penyimpan luar dan merubah komponen-komponen windows sehingga user dapat dengan mudah memilih aplikasi-aplikasi apa saja yang di butuhkan dan yang akan di simpan dalam media penyimpanannya sehingga alokasi media penyimpanan dan alokasi pemrosesan CPU dapat lebih di kendalikan.
Senin, 10 Januari 2011
Diposting oleh
a2informatika20-umpar10
di
20.39
0
komentar
Kirimkan Ini lewat Email
BlogThis!
Bagikan ke X
Berbagi ke Facebook
Senin, 03 Januari 2011
SEJARAH DAN PENGERTIAN ALGORITMA
ALGORITMA
Sebagai sebuah mesin yang dapat digunakan sebagai alat bantu dalam menyelesaikan “masalah”, yang tentunya tidak dapat langsung diserahkan begitu saja ke komputer dalam menyelesaikannya. Dalam hal ini, masalah yang akan diselesaikan oleh komputer terlebih dahulu dilakukan perumusan langkah demi langkah penyelesain suatu masalah dalam rangkaian instruksi yang selanjutnya komputer akan menjalankan instruksi-instruksi tersebut. Sekumpulan instruksi yang merupakan penyelesaian masalah yang disebut program.
Agar supaya komputer dapat mengerjakan/melaksakan program tersebut, seharusnya ditulis kedalam bahasa yang dapat dimengerti/dipahami oleh komputer. Karena komputer merupakan sebuah mesin, program ditulis dalam bahasa yang khusus dibuat agar dapat berkomunikasi dengan komputer. Bahasa yang digunakan dalam hal ini disebut bahasa pemrograman. Beberapa bahasa pemprograman yang dikenal seperti BASIC, PASCAL, FORTRAN, COBOL, C/C++/C#, PROLOG, LISP, Assembler dsb.
Orang mempelajari suatu bahasa pemrograman melalui aturan tata bahasanya. Bahasa pemrograman yang berbeda menpunyai aturan tata bahasa yang berbeda pula. Sebua bahasa yang sama dapat mempunyai beberapa versi (sesuai perkembangannya) dan setiap versi dirancang untuk komputer atau lingkungan system operasi tertentu. Pemrogram sangat terikat dengan aturan bahasa dan spesifikasi mesin yang akan menjalankannya. Dengan berkembangnya teknik pemprograman terstruktur, orang tidak lagi memecahkan masalah dengan langsung menuliskan programnya dalam bahasa pemrograman. Orang lain mulai memikirkan suatu cara penyelesain masalah yang akan deprogram dengan menekankan desain (rancangan yang mewakili pemecahan masalah tersebut).desain ini independent dari bahasa pemrograman yang digunakan dan komputer yang mejalankan program. Desai menyajikan cara berpikir si program dalam menyelesaikan masalah. Desain berisi urutan langkah-langkah pencapaian solusi yang ditulis dalam notasi-notasi deskriptif. Urutan lamgkah-langkah yang sistematis untuk menyelesaikan sebuah masalah dinamakan algoritma.
A. Sejarah algoritma
Sebelum membahas defenisi algoritma terlebih dahulu kita mengenal asal muasal kata algoritma tersebut. Algoritma diambil dari nama ilmuwan ahli matematika dari uzbekistan bernama Jafar mohammad Ibn Musa Al-khuwarizmi (algorizm) dalam kitabnya yang berjudul al jabr w` al-muqabala yang artinya “buku pemugaran dan pengurangan” ( rules of restoration and reduction) sekitar tahun 825. Kata algorizm menjadi populer karena populernya angka arab digunakan dalam perhitungan masa kini. Lebih lanjut, kata algorithm berubah menjadi algoritma setelah pemrograman komputer dimulai di indonesia.
B.Defenisi algoritma
Adapun defenisi algoritma yaitu sebagai berikut
1.Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis. (Rinaldi Munir, 2006)
2.Algoritma diartikan sebagai prosedur langkah demi langkah untuk memecahkan masalah atau penyelesaian tugas khususnya dengan menggunakan bantuan komputer (merriam-webster`s Collegiate Dictionary).
3.Algoritma sebagai urutan logis pengambilan keputusan untuk pemecahan masalah (Kamus Besar Bahasa Indonesia)
4.Algoritma adalah teknik penyusunan langkah demi langkah penyelesaian masalah dalam bentuk kalimat singkat dengan jumlah kata terbatas, namun tersusun secara logis sistematis (suarga, 2006).
5.Teknik penyusunan langkah-langkah penyelesaian masalah dalam bentuk kalimat dengan jumlah terbatas tetapi tersusun secara logis dan sistematis.
6.Prosedur yang jelas untuk menyelesaikan suatu persoalan dengan menggunakan langkah-langkah tertentu dan terbatas jumlahnya.
Berdasarkan beberapa petikan defenisi, bahwa algoritma merupakan urutan langkah yang logis dan mengikuti suatu urutan tertentu, tidak boleh melompat-lompat (Microsoft Press Computer and internet Dictionaary 1997, 1998). Ini berarti, hasil dari urutan langkah-langkah tersebut harus dapat ditentukan, benar atau salah. Langkah-langkah yang tidak benar dapat memberi hasil yang salah. Dan, alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis menyebatkan alogaritma seseorang dapat juga berbeda dari alogaritma yang lain, yang tertuang dalam bentuk kalimat, gambar, atau table tertentu (Moh. Sjukani, Algoritma dan struktur data dengan C, C++, dan JAVA).
Dalam bidang komputer, algoritma sangat diperlukan dalam menyelesaikan berbagai masalah pemprograman, terutama dalam komputasi numeris. Tanpa algoritma yang dirancang baik, maka proses pemprograman akan menjadi salah atau rusak, lambak dan tidak efisien.
Penulisan algoritma tidak tergantung dari spesifikasi bahasa pemprograman dan komputer yang mengeksekusinya. Notasi alogaritma bukan notasi bahasa pemprograman tetapi dapat diterjemahkan kedalam berbagai bahasa pemprograman.
Penulisan algoritma dapat dilakukan dengan cara berikut:
1.Menggunakan bahasa natural (bahasa indonesia, bahasa inggris atau bahasa yang di mengerti oleh manusia), kendala yang sering muncul adalah pernyataan yang dibuat menggunakan bahasa natural adalah sering menimbulkan kebingungan (ambiguous).
2.Menggunakan flowchard (diagram alir). Pengguna diagram ali dalam algoritma lebih baik dibanding pain 1, karena alogaritma dalam bentuk flowchart baik secara visual tetapi bila algoritmanya panjang maka flowchartnya juga menjadi repot.
3. menggunakan pseudo-code. Penulisan ini dekat pada bahasa pemprograman namun sulit dimengerti oleh orang yang tidak mengerti pemrograman
C.Jenis jenis algoritma
Terdapat beragam klasifikasi algoritma dan setiap klasifikasi mempunyai alasan tersendiri. Salah satu cara untuk melakukan klasifikasi jenis-jenis algoritma adalah dengan memperhatikan paradigma dan metode yang digunakan untuk mendesain algoritma tersebut. Beberapa paradigma yang digunakan dalam menyusun suatu algoritma akan dipaparkan dibagian ini. Masing-masing paradigma dapat digunakan dalam banyak algoritma yang berbeda.
1.Divide and Conquer, paradigma untuk membagi suatu permasalahan besar menjadi permasalahan-permasalahan yang lebih kecil. Pembagian masalah ini dilakukan terus menerus sampai ditemukan bagian masalah kecil yang mudah untuk dipecahkan. Singkatnya menyelesaikan keseluruhan masalah dengan membagi masalah besar dan kemudian memecahkan permasalahan-permasalahan kecil yang terbentuk.
2.Dynamic programming, paradigma pemrograman dinamik akan sesuai jika digunakan pada suatu masalah yang mengandung sub-struktur yang optimal (, dan mengandung beberapa bagian permasalahan yang tumpang tindih . Paradigma ini sekilas terlihat mirip dengan paradigma Divide and Conquer, sama-sama mencoba untuk membagi permasalahan menjadi sub permasalahan yang lebih kecil, tapi secara intrinsik ada perbedaan dari karakter permasalahan yang dihadapi.
3.Metode serakah. Sebuah algoritma serakah mirip dengan sebuah Pemrograman dinamik, bedanya jawaban dari submasalah tidak perlu diketahui dalam setiap tahap; dan menggunakan pilihan "serakah" apa yang dilihat terbaik pada saat itu.
D.Syarat/ciri Algoritma
Syarat sebuah algoritma yang baik menurut Donald E. Knuth sebagai berikut:
1.Finiteness
Algoritma harus berakhir setelah melakukan sejumlah langkah proses.
2.Definiteness
Setiap langkah algoritma harus didefenisikan dengan tepat dan tidak menimbulkan makna ganda. Sehingga, langkah yang tepat menuliskan algoritma adalah dengan menggunakan languange (bahasa pemprograman computer).
3.Input
Setiap algoritma memerlukan data sebagai data untuk masukan untuk diolah.
4.Output
Setiap algoritma memberikan satu atau beberapa hasil luaran.
5.Effectiveness
Langkah-langkah algoritma dikerjakan dalam waktu yang wajar sebisa mungkin harus dapat dilaksanakan dan efektif.
E.Jenis Proses Algoritma
Jenis proses Algoritma sebagai berikut:
1.Sequace Process merupakan Instruksi dikerjakan secara sekuensial (berurutan).
2.Selection Process merupakan Instruksi dikerjakan jika memenuhi kriteria tertentu.
3.Interation Process merupakan Instruksi dikerjakan selama memenuhi suatu kondisi tertentu.
4.Concurret Process merupakan beberapa instruksi dikerjakan secara bersama.
F.Algoritma sebagai subbidang ilmu komputer
Ilmu komputer (computer science) adalah ilmu pengetahuan yang berisi tentang teori, metodologi, desain dan implementasi, yang berhubungan dengan komputasi, komputer dan algoritmanya dalam perspektif perangkat lunak (sofware) maupun perangkat keras (hardware). Ilmu komputer sangat berkaitan erat dengan algoritma, hampir semua bidang dari ilmu komputer (computer science) tidak terlepas dari algoritma. Bahkan pada saat ini, studi tentang algoritma telah menjadi subbidang khusus dalam ilmu komputer. Studi atau ilmu yang mempelajari tentang algoritma sering disebut dengan istilah algorithmics.
Pembahasan
A.PENULISAN DAN STRUKTUR DASAR ALGORITMA
Perlu diketahui bahwa algoritma bukan bahasa pemrograman, sehingga setiap orang dapat membuat notasi algoritmik (notasi-notasi deskriptif) yang berbeda. Notasi algoritmik, bukan notasi baku bila dibandingkan dengan bahasa pemprograman, yang dibuat merupakan notasi yang mudah dibaca dan dimengerti untuk menghindari terjadinya kekeliruan.
1.Penulisan menggunakan Flow chart
Bagan alir merupakan diagram yang tersusun dari symbol-simbol atau bagan-bagan yang berbada, sesuai dengan jenis dan perintahnya, yang mempunyai aliran untuk menggambarkan langkah-langkah penyelesaian suatu masalah (memperlihatkan urutan dan hubungan antara proses beserta instruksinya). Bagan alir merupakan suatu cara penulisan algoritma yang bertujuan memudahkan dalam penulisan/perencangan program.
Berikut symbol-simbol bagan alir yang digunakan dalam penulisan algoritma
Perlu dipahami bahwa, tidak ada kaida yang baku dalam penggunaan bagan alir diatas karena merupakan gambaran hasi analisis suatu masalah. Bagan alir dapat bervariasi antara satu pemprogram dengan pemprogram lainnya. Secara garis besar, bagan alir terdiri dari 3 bagian utama yaitu, input, proses, dan, output.
Hal-hal yang perlu diperhatikan dalam pembuatan bagan alir adalah:
1.Hindari pengulangan proses yang tidak perlu dan logika yang berbelit-belit sehingga jalannya proses menjadi singkat.
2.Jalannya proses digambarkan dari atas ke bawah dan berikan tanda panah untuk memperjelas.
3.Sebuah flowchart diawali dari satu tiik START (mulai) dan akhiri dengan END (selesai)
2.Penulisan menggunakan Pseudo-code
Ilmuwan komputer menyukai menuliskan algoritma agar lebih praktis yaitu notasi pseudo code. Pseudo code (pseudo berarti semu atau tidak sebenarnya) merupakan notasi yang mirip dengan notasi bahasa pemprograman. Pseudo code merupakan campuran antara bahasa alami (natural) dengan bahasa pemprograman. Kemudahan menggunakan pseudo code adalah kemudahan menkonversikan (mentralisasi) ke nota bahasa pemprograman karena terdapat korespondin (hubungan yang saling terkait) antara setiap pseudo code dengan notasi bahasa pemprograman.
Pedoman yang perlukan diketahui bagaimana menyusun pseudo code yang digunakan adalah
1.Notasi dipakai untuk memberikan nilai ke suatu variabel.
2.Setiap pernyataan atau suatu perintah yang dapat berdiri sendiri akan ditulis dalam sebuah baris tersendiri.
3.Setiap variable (nama yang digunakan untuk menyimpan data yang dapat diubah-ubah) akan ditulis dengan awalan huruf.
4.tipe data majemuk atau disebut tipe data rekaman (tipe data yang dapat mengandung beberapa data dengan nama yang berbeda-beda ).
5.Indentasi (penjorokan ke kanan) digunakan untuk menuliskan pernyataan yang berada dalam suatu struktur blok.
6.Symbol // digunakan untuk menyatakan komentar (keterangan yang ditujukan untuk pembaca algoritma, tidak ditujukan untuk proses oleh komputer).
7.Notasi masukkan ( ) dan tampilkan ( ) secara berurutan mewakili perintah untuk memperoleh masukan dan menyajikan keluaran.
8.Nilai logika yang dapat dipakai untuk membandingkan pernyataan dan logika yang akan memberikan suatu hasil apakah bernilai benar atau salah.
9.Bentuk menyatakan model penulisan untuk menangani struktur selesai.
3.Tahapan algoritma
Proses pemecahan masalah dengan algoritma tertentu hingga menjadi program dapat dibagi dalam tahapan berikut:
A.Mendefinisikan masalah : masalah yang ingin dicapai harus jelas lingkupnya.
B.Membuat model (bentuk) matematis yang dapat digunakan untuk memecahkan masalah.
C.Merancang algoritma: apa masukannya, bagaimana rincian prosesnya dan apa keluarannya.
D.Menuliskan program: ubah algoritma menjadi program (source code) sesuai dengan bahasa pemprograman tertentu.
E.Mengubah source code menjadi executable code melalui proses compiling
F.Memeriksa hasil compiling, jika salah maka kembali ke tahap empat.
G.Menjalankan program (run) untuk diuji kebenarannya dengan menggunakan berbagai data.
H.Memperbaiki keselahan
I.Mendokumentasikan program bila sudah benar.
B.STRUKTUR ALGORITMA
Pada dasarnya terdapat tiga buah struktur yang digunakan dalam menyusun suatu algoritma, yaitu runtunan (sequace), pemilihan (selection ) dan pengulangan.
1.Struktur runtunan (sequace)
Sebuah runtutan terdiri dari satu atau lebih instruksi dimana setiap instruksi dikerjakan secara berurutan sesuai dengan urutan penulisannya (sebuah instruksi dilaksanakan setelah instruksi sebelumnya selesai dikerjakan).
2.Struktur pemilihan
Struktur pemilihan (seleksi) menyatakan pemilihan langkah yang didasarkan oleh suatu kondisi (pengambilan keputusan).
3.Struktur pengulangan
Instruksi yang dapat mengulangi pelaksanaan sederetan instruksi-intruksi sesuai dengan persyaratan yang ditetapkan. Suatu kelebihan komputer adalah kemampuannya untuk mengerjakan pekerjaan yang sama berulang tampa lelah.
Sebagai sebuah mesin yang dapat digunakan sebagai alat bantu dalam menyelesaikan “masalah”, yang tentunya tidak dapat langsung diserahkan begitu saja ke komputer dalam menyelesaikannya. Dalam hal ini, masalah yang akan diselesaikan oleh komputer terlebih dahulu dilakukan perumusan langkah demi langkah penyelesain suatu masalah dalam rangkaian instruksi yang selanjutnya komputer akan menjalankan instruksi-instruksi tersebut. Sekumpulan instruksi yang merupakan penyelesaian masalah yang disebut program.
Agar supaya komputer dapat mengerjakan/melaksakan program tersebut, seharusnya ditulis kedalam bahasa yang dapat dimengerti/dipahami oleh komputer. Karena komputer merupakan sebuah mesin, program ditulis dalam bahasa yang khusus dibuat agar dapat berkomunikasi dengan komputer. Bahasa yang digunakan dalam hal ini disebut bahasa pemrograman. Beberapa bahasa pemprograman yang dikenal seperti BASIC, PASCAL, FORTRAN, COBOL, C/C++/C#, PROLOG, LISP, Assembler dsb.
Orang mempelajari suatu bahasa pemrograman melalui aturan tata bahasanya. Bahasa pemrograman yang berbeda menpunyai aturan tata bahasa yang berbeda pula. Sebua bahasa yang sama dapat mempunyai beberapa versi (sesuai perkembangannya) dan setiap versi dirancang untuk komputer atau lingkungan system operasi tertentu. Pemrogram sangat terikat dengan aturan bahasa dan spesifikasi mesin yang akan menjalankannya. Dengan berkembangnya teknik pemprograman terstruktur, orang tidak lagi memecahkan masalah dengan langsung menuliskan programnya dalam bahasa pemrograman. Orang lain mulai memikirkan suatu cara penyelesain masalah yang akan deprogram dengan menekankan desain (rancangan yang mewakili pemecahan masalah tersebut).desain ini independent dari bahasa pemrograman yang digunakan dan komputer yang mejalankan program. Desai menyajikan cara berpikir si program dalam menyelesaikan masalah. Desain berisi urutan langkah-langkah pencapaian solusi yang ditulis dalam notasi-notasi deskriptif. Urutan lamgkah-langkah yang sistematis untuk menyelesaikan sebuah masalah dinamakan algoritma.
A. Sejarah algoritma
Sebelum membahas defenisi algoritma terlebih dahulu kita mengenal asal muasal kata algoritma tersebut. Algoritma diambil dari nama ilmuwan ahli matematika dari uzbekistan bernama Jafar mohammad Ibn Musa Al-khuwarizmi (algorizm) dalam kitabnya yang berjudul al jabr w` al-muqabala yang artinya “buku pemugaran dan pengurangan” ( rules of restoration and reduction) sekitar tahun 825. Kata algorizm menjadi populer karena populernya angka arab digunakan dalam perhitungan masa kini. Lebih lanjut, kata algorithm berubah menjadi algoritma setelah pemrograman komputer dimulai di indonesia.
B.Defenisi algoritma
Adapun defenisi algoritma yaitu sebagai berikut
1.Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis. (Rinaldi Munir, 2006)
2.Algoritma diartikan sebagai prosedur langkah demi langkah untuk memecahkan masalah atau penyelesaian tugas khususnya dengan menggunakan bantuan komputer (merriam-webster`s Collegiate Dictionary).
3.Algoritma sebagai urutan logis pengambilan keputusan untuk pemecahan masalah (Kamus Besar Bahasa Indonesia)
4.Algoritma adalah teknik penyusunan langkah demi langkah penyelesaian masalah dalam bentuk kalimat singkat dengan jumlah kata terbatas, namun tersusun secara logis sistematis (suarga, 2006).
5.Teknik penyusunan langkah-langkah penyelesaian masalah dalam bentuk kalimat dengan jumlah terbatas tetapi tersusun secara logis dan sistematis.
6.Prosedur yang jelas untuk menyelesaikan suatu persoalan dengan menggunakan langkah-langkah tertentu dan terbatas jumlahnya.
Berdasarkan beberapa petikan defenisi, bahwa algoritma merupakan urutan langkah yang logis dan mengikuti suatu urutan tertentu, tidak boleh melompat-lompat (Microsoft Press Computer and internet Dictionaary 1997, 1998). Ini berarti, hasil dari urutan langkah-langkah tersebut harus dapat ditentukan, benar atau salah. Langkah-langkah yang tidak benar dapat memberi hasil yang salah. Dan, alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis menyebatkan alogaritma seseorang dapat juga berbeda dari alogaritma yang lain, yang tertuang dalam bentuk kalimat, gambar, atau table tertentu (Moh. Sjukani, Algoritma dan struktur data dengan C, C++, dan JAVA).
Dalam bidang komputer, algoritma sangat diperlukan dalam menyelesaikan berbagai masalah pemprograman, terutama dalam komputasi numeris. Tanpa algoritma yang dirancang baik, maka proses pemprograman akan menjadi salah atau rusak, lambak dan tidak efisien.
Penulisan algoritma tidak tergantung dari spesifikasi bahasa pemprograman dan komputer yang mengeksekusinya. Notasi alogaritma bukan notasi bahasa pemprograman tetapi dapat diterjemahkan kedalam berbagai bahasa pemprograman.
Penulisan algoritma dapat dilakukan dengan cara berikut:
1.Menggunakan bahasa natural (bahasa indonesia, bahasa inggris atau bahasa yang di mengerti oleh manusia), kendala yang sering muncul adalah pernyataan yang dibuat menggunakan bahasa natural adalah sering menimbulkan kebingungan (ambiguous).
2.Menggunakan flowchard (diagram alir). Pengguna diagram ali dalam algoritma lebih baik dibanding pain 1, karena alogaritma dalam bentuk flowchart baik secara visual tetapi bila algoritmanya panjang maka flowchartnya juga menjadi repot.
3. menggunakan pseudo-code. Penulisan ini dekat pada bahasa pemprograman namun sulit dimengerti oleh orang yang tidak mengerti pemrograman
C.Jenis jenis algoritma
Terdapat beragam klasifikasi algoritma dan setiap klasifikasi mempunyai alasan tersendiri. Salah satu cara untuk melakukan klasifikasi jenis-jenis algoritma adalah dengan memperhatikan paradigma dan metode yang digunakan untuk mendesain algoritma tersebut. Beberapa paradigma yang digunakan dalam menyusun suatu algoritma akan dipaparkan dibagian ini. Masing-masing paradigma dapat digunakan dalam banyak algoritma yang berbeda.
1.Divide and Conquer, paradigma untuk membagi suatu permasalahan besar menjadi permasalahan-permasalahan yang lebih kecil. Pembagian masalah ini dilakukan terus menerus sampai ditemukan bagian masalah kecil yang mudah untuk dipecahkan. Singkatnya menyelesaikan keseluruhan masalah dengan membagi masalah besar dan kemudian memecahkan permasalahan-permasalahan kecil yang terbentuk.
2.Dynamic programming, paradigma pemrograman dinamik akan sesuai jika digunakan pada suatu masalah yang mengandung sub-struktur yang optimal (, dan mengandung beberapa bagian permasalahan yang tumpang tindih . Paradigma ini sekilas terlihat mirip dengan paradigma Divide and Conquer, sama-sama mencoba untuk membagi permasalahan menjadi sub permasalahan yang lebih kecil, tapi secara intrinsik ada perbedaan dari karakter permasalahan yang dihadapi.
3.Metode serakah. Sebuah algoritma serakah mirip dengan sebuah Pemrograman dinamik, bedanya jawaban dari submasalah tidak perlu diketahui dalam setiap tahap; dan menggunakan pilihan "serakah" apa yang dilihat terbaik pada saat itu.
D.Syarat/ciri Algoritma
Syarat sebuah algoritma yang baik menurut Donald E. Knuth sebagai berikut:
1.Finiteness
Algoritma harus berakhir setelah melakukan sejumlah langkah proses.
2.Definiteness
Setiap langkah algoritma harus didefenisikan dengan tepat dan tidak menimbulkan makna ganda. Sehingga, langkah yang tepat menuliskan algoritma adalah dengan menggunakan languange (bahasa pemprograman computer).
3.Input
Setiap algoritma memerlukan data sebagai data untuk masukan untuk diolah.
4.Output
Setiap algoritma memberikan satu atau beberapa hasil luaran.
5.Effectiveness
Langkah-langkah algoritma dikerjakan dalam waktu yang wajar sebisa mungkin harus dapat dilaksanakan dan efektif.
E.Jenis Proses Algoritma
Jenis proses Algoritma sebagai berikut:
1.Sequace Process merupakan Instruksi dikerjakan secara sekuensial (berurutan).
2.Selection Process merupakan Instruksi dikerjakan jika memenuhi kriteria tertentu.
3.Interation Process merupakan Instruksi dikerjakan selama memenuhi suatu kondisi tertentu.
4.Concurret Process merupakan beberapa instruksi dikerjakan secara bersama.
F.Algoritma sebagai subbidang ilmu komputer
Ilmu komputer (computer science) adalah ilmu pengetahuan yang berisi tentang teori, metodologi, desain dan implementasi, yang berhubungan dengan komputasi, komputer dan algoritmanya dalam perspektif perangkat lunak (sofware) maupun perangkat keras (hardware). Ilmu komputer sangat berkaitan erat dengan algoritma, hampir semua bidang dari ilmu komputer (computer science) tidak terlepas dari algoritma. Bahkan pada saat ini, studi tentang algoritma telah menjadi subbidang khusus dalam ilmu komputer. Studi atau ilmu yang mempelajari tentang algoritma sering disebut dengan istilah algorithmics.
Pembahasan
A.PENULISAN DAN STRUKTUR DASAR ALGORITMA
Perlu diketahui bahwa algoritma bukan bahasa pemrograman, sehingga setiap orang dapat membuat notasi algoritmik (notasi-notasi deskriptif) yang berbeda. Notasi algoritmik, bukan notasi baku bila dibandingkan dengan bahasa pemprograman, yang dibuat merupakan notasi yang mudah dibaca dan dimengerti untuk menghindari terjadinya kekeliruan.
1.Penulisan menggunakan Flow chart
Bagan alir merupakan diagram yang tersusun dari symbol-simbol atau bagan-bagan yang berbada, sesuai dengan jenis dan perintahnya, yang mempunyai aliran untuk menggambarkan langkah-langkah penyelesaian suatu masalah (memperlihatkan urutan dan hubungan antara proses beserta instruksinya). Bagan alir merupakan suatu cara penulisan algoritma yang bertujuan memudahkan dalam penulisan/perencangan program.
Berikut symbol-simbol bagan alir yang digunakan dalam penulisan algoritma
Perlu dipahami bahwa, tidak ada kaida yang baku dalam penggunaan bagan alir diatas karena merupakan gambaran hasi analisis suatu masalah. Bagan alir dapat bervariasi antara satu pemprogram dengan pemprogram lainnya. Secara garis besar, bagan alir terdiri dari 3 bagian utama yaitu, input, proses, dan, output.
Hal-hal yang perlu diperhatikan dalam pembuatan bagan alir adalah:
1.Hindari pengulangan proses yang tidak perlu dan logika yang berbelit-belit sehingga jalannya proses menjadi singkat.
2.Jalannya proses digambarkan dari atas ke bawah dan berikan tanda panah untuk memperjelas.
3.Sebuah flowchart diawali dari satu tiik START (mulai) dan akhiri dengan END (selesai)
2.Penulisan menggunakan Pseudo-code
Ilmuwan komputer menyukai menuliskan algoritma agar lebih praktis yaitu notasi pseudo code. Pseudo code (pseudo berarti semu atau tidak sebenarnya) merupakan notasi yang mirip dengan notasi bahasa pemprograman. Pseudo code merupakan campuran antara bahasa alami (natural) dengan bahasa pemprograman. Kemudahan menggunakan pseudo code adalah kemudahan menkonversikan (mentralisasi) ke nota bahasa pemprograman karena terdapat korespondin (hubungan yang saling terkait) antara setiap pseudo code dengan notasi bahasa pemprograman.
Pedoman yang perlukan diketahui bagaimana menyusun pseudo code yang digunakan adalah
1.Notasi dipakai untuk memberikan nilai ke suatu variabel.
2.Setiap pernyataan atau suatu perintah yang dapat berdiri sendiri akan ditulis dalam sebuah baris tersendiri.
3.Setiap variable (nama yang digunakan untuk menyimpan data yang dapat diubah-ubah) akan ditulis dengan awalan huruf.
4.tipe data majemuk atau disebut tipe data rekaman (tipe data yang dapat mengandung beberapa data dengan nama yang berbeda-beda ).
5.Indentasi (penjorokan ke kanan) digunakan untuk menuliskan pernyataan yang berada dalam suatu struktur blok.
6.Symbol // digunakan untuk menyatakan komentar (keterangan yang ditujukan untuk pembaca algoritma, tidak ditujukan untuk proses oleh komputer).
7.Notasi masukkan ( ) dan tampilkan ( ) secara berurutan mewakili perintah untuk memperoleh masukan dan menyajikan keluaran.
8.Nilai logika yang dapat dipakai untuk membandingkan pernyataan dan logika yang akan memberikan suatu hasil apakah bernilai benar atau salah.
9.Bentuk menyatakan model penulisan untuk menangani struktur selesai.
3.Tahapan algoritma
Proses pemecahan masalah dengan algoritma tertentu hingga menjadi program dapat dibagi dalam tahapan berikut:
A.Mendefinisikan masalah : masalah yang ingin dicapai harus jelas lingkupnya.
B.Membuat model (bentuk) matematis yang dapat digunakan untuk memecahkan masalah.
C.Merancang algoritma: apa masukannya, bagaimana rincian prosesnya dan apa keluarannya.
D.Menuliskan program: ubah algoritma menjadi program (source code) sesuai dengan bahasa pemprograman tertentu.
E.Mengubah source code menjadi executable code melalui proses compiling
F.Memeriksa hasil compiling, jika salah maka kembali ke tahap empat.
G.Menjalankan program (run) untuk diuji kebenarannya dengan menggunakan berbagai data.
H.Memperbaiki keselahan
I.Mendokumentasikan program bila sudah benar.
B.STRUKTUR ALGORITMA
Pada dasarnya terdapat tiga buah struktur yang digunakan dalam menyusun suatu algoritma, yaitu runtunan (sequace), pemilihan (selection ) dan pengulangan.
1.Struktur runtunan (sequace)
Sebuah runtutan terdiri dari satu atau lebih instruksi dimana setiap instruksi dikerjakan secara berurutan sesuai dengan urutan penulisannya (sebuah instruksi dilaksanakan setelah instruksi sebelumnya selesai dikerjakan).
2.Struktur pemilihan
Struktur pemilihan (seleksi) menyatakan pemilihan langkah yang didasarkan oleh suatu kondisi (pengambilan keputusan).
3.Struktur pengulangan
Instruksi yang dapat mengulangi pelaksanaan sederetan instruksi-intruksi sesuai dengan persyaratan yang ditetapkan. Suatu kelebihan komputer adalah kemampuannya untuk mengerjakan pekerjaan yang sama berulang tampa lelah.
Diposting oleh
a2informatika20-umpar10
di
20.00
4
komentar
Kirimkan Ini lewat Email
BlogThis!
Bagikan ke X
Berbagi ke Facebook