Jumat, 26 April 2019

Pengertian Software dan Sejarah Perkembangan Software Komputer

Pengertian Software dan Sejarah Perkembangan Software Komputer


Software Komputer adalah kumpulan dari intruksi atau statement yang di susun secara logis dan berbentuk kode yang hanya dapat di mengerti oleh komputer. Teori pertama tentang Software Komputer diusulkan oleh Alan Turing pada tahun 1935-nya nomor esai Komputasi dengan aplikasi ke (masalah Keputusan) Entscheidungsproblem. “Software” istilah pertama kali digunakan di cetak oleh John W. Tukey pada tahun 1958. Dalam ilmu komputer dan rekayasa Software, Software adalah semua informasi diproses oleh program sistem komputer, dan data.

Software Komputer ini berangsur-angsur mengalami perkembangannya. Berdasarkan perkembangannya, Sejarah Perkembangan Software Komputer dibagi dalam beberapa era yaitu Era Pioneer, Stabil, Mikro, dan Modern. Berikut adalah Sejarah Perkembangan Software Komputer :

1. Era Pioneer. Pada Era Pioneer ini bentuk software komputer pada awalnya adalah sambungan-sambungan kabel ke antar bagian dalam komputer, Cara dalam mengakses komputer adalah menggunakan punched card yaitu kartu yang di lubangi. Penggunaan komputer dengan sebuah program yang digunakan untuk sebuah mesin tertentu dan untuk tujuan tertentu. Di era ini software komputer merupakan satu kesatuan dengan sebuah hardware komputer.

hardware komputer

Hardware komputer


2. Era Stabil. Pada Era ini software komputer yang dijalankan bukan lagi satu-satu, tapi sudah banyak proses yang di lakukan secara bersamaan (multi tasking). Software Komputer pada era stabil ini juga mampu menyelesaikan banyak pengguna (multi user) dan secara cepat/langsung (real time). Di era ini jugalah mulai di kenal sistem basis data, yang memisahkan antara program dan data .

3. Era Mikro. Pada Era Mikro ini software komputer dapat dibedakan menjadi beberapa bagian yaitu Software Sistem (Windows, Linux, Machintos, dll), Software Aplikasi (Ms.Office, OpenOffice, dll) dan Languange Software/Bahasa Pemograman (Assembler, Visual Basic, Delphi, dll)

4. Era Modern. Pada Era Modern ini software komputer tidak hanya untuk sebuah komputer tetapi sebuah handphone pun telah di lengkapi dengan sebuah software sistem seperti Android, Symbian, dll. Tingkat kecerdasan yang ditunjukkan oleh software komputer pun semakin meningkat, selain permasalahan teknis, software komputer sekarang juga mulai bisa mengenal suara dan gambar.

Software Era Modern

Software Era Modern



Tahun-tahun Penemuan Software Komputer


# Pada tahun 1945 sampai 1965
Istilah software engineering digunakan pertama kali pada akhir 1950-an dan awal 1960-an. Pada tahun 1968 dan 1969, komite sains NATO mensponsori dua konferensi tentang rekayasa perangkat lunak, yang memberikan dampak kuat terhadap perkembangan rekayasa perangkat lunak. Banyak yang menganggap bahwa dua konferensi inilah yang menandai awal resmi profesi rekayasa perangkat lunak.

# Pada tahun 1965 sampai 1985
Pada tahun ini banyak masalah yang ditemukan para praktisi pengembangan perangkat lunak. Pada tahun ini disebut juga sebagai krisis perangkat lunak. Karena banyak projek yang gagal dalam pengembangan perangkat lunak komputer ( software komputer). Dalam projek ini banyak kasus-kasus yang terjadi, salah satu yang paling terkenal adalah meledaknya roket Ariane akibat kegagalan perangkat lunak.

# Pada tahun 1985
Selama bertahun-tahun, para peneliti memfokuskan usahanya untuk menemukan teknik jitu untuk memecahkan masalah krisis perangkat lunak. Berbagai teknik, metode, alat, proses diciptakan dan diklaim sebagai senjata pamungkas untuk memecahkan kasus ini. Mulai dari pemrograman terstruktur, pemrograman berorientasi object, perangkat pembantu pengembangan perangkat lunak (CASE tools), berbagai standar, UML hingga metode formal diagung-agungkan sebagai senjata pamungkas untuk menghasilkan software yang benar, sesuai anggaran dan tepat waktu.

Pada tahun 1987, Fred Brooks menulis artikel No Silver Bullet, yang berproposisi bahwa tidak ada satu teknologi atau praktik yang sanggup mencapai 10 kali lipat perbaikan dalam produktivitas pengembangan perangkat lunak dalam tempo 10 tahun.

Mengembangkan sistem software yang kompleks,cukup kompleks, membutuhkan waktu dan biaya yang cukup besar. kita akan melihat pada lima metodologi secara garis besar yang biasanya dikembangkan dan digunakan:

1.  Structured Programming - Sturctured programming berurusan dengan penggunaan blok sturktur, state procedure call, dan beragam konstruksi loop yang sesuai. Kita dapatkan mantra baru untuk ini:”go to considered harfull”(kita mencari hal yang diperkirakan salah/merugikan).Ide yang cukup jelas untuk memberikan pengetahuan/pengertian terhadap flow kontrol program dengan mudah, agar program disusun secara terstruktur dan transparan. Penulis berpendapat bahwa ide dari structured programming telah terintegrasi pada semua metodologi yang muncul setelahnya.

2.  Object Oriented Programming - Metodologi Object Oriented Programming (OOP) berkembang dari ide structrured programming. OOP mengatur komplesitas software dengan memaketkan kode dan data yang biasa digunakan bersama. sebagai object software dan juga sebagai model benda non-material seperti prosess, cara mengorganisasi informasi dan lain sebagainya sebagai object software.
Sebuah object software dapat menjaga internal statenya sendiri. Hal ini sangat berbeda dengan program terstruktur yang kodenya bisa terstruktur dan dapat dimengerti dengan mudah, tetapi global data yang dipakai bersama terdapat pada semua bagian sistem software-termasuk didalamnya bagian tanpa kebutuhan untuk akses atau modifikasi data tersebut.

3.  Design Patterns - Pada pengembangan software, penggunaan design patern didasarkan pada observasi bahwa beberapa proyek software gagal sementara proyek yang mirip berhasil (hal ini dapat berupa pola managemen, pole penjadwalan, pola testing dll). pada desain software, penggunaan pola didasarkan pada observasi lebih lanjut pada pola desain umum untuk tugas yang hampir sama digunakan berulangkali untuk proyek yang berhasil.

4. Extreme Programming - Extreme programming didasarkan pada identifikasi kebutuhan kostumer dan berkonsentrasi pada pengembangan dan pembuatan kebutuhan pelanggan (kostumer) dengan cepat. Extreme programming merupakan pendekatan yang berbeda dengan skenario tradisional yang memerlukan waktu baik pengembang maupun pelanggan untuk mencoba (biasanya dengan tingkat kesuksesan yang terbatas) mendokumentasikan secara detail software yang telah dikembangkan selama beberapa lama waktu yang dihabiskan. pengembang yang berpengalaman mengerti bahwa implementasi yang ter-stag secara positif berpengaruh pada proses desain. extreme programming secara special efektif ketika kebutuhan kompleks dan tidak memerlukan hal seperti sebelumnya.
Extreme programming biasanya dideskripsikan sebagai sebuah phrase yang cukup berarti bagi penulis: test driven programming, menulis kode test sebelum menulis kode aplikasi, kemudian menulis software cukup untuk memenuhi unit test

5. Aspect oriented Programming - Ide utama dibalik aspect oriented programming (AOP) adalah pemisahan konsentrasi sistem software pada bagian yang berbeda. pada prinsipnya, pilosofi ini mengijinkan pengembangan sistem yang lebih modular, dengan modularitasnya terkontrol oleh konsentrasi pengembangan yang berbeda. untuk programmer java, direkomendasikan untuk mencari AspectJ project



Kelompok 4 :
Dimas Ari Pratama (51415918)
Daryl Diningrat (51415600)
Dhihar Eka Nur Falah (51415817)
Dhimas Saputra (51415823)

Senin, 08 April 2019

PENGANTAR QUANTUM COMPUTATION


PENGANTAR KOMPUTASI MODERN

Disusun oleh:

                                          Nama       : Dimas Ari Pratama
    NPM         : 51415918
                                           Kelas        : 4IA17
    Dosen      : Astie Darmayantie







UNIVERSITAS  GUNADARMA
DEPOK
ATA 2018/2019



PENGANTAR QUANTUM COMPUTATION

I.                   Pendahuluan

Quantum Computation adalah bidang studi yang difokuskan pada teknologi komputer berkembang berdasarkan prinsip-prinsip teori kuantum , yang menjelaskan sifat dan perilaku energi dan materi pada kuantum (atom dan subatom) tingkat.
Sedangkan, Quantum Computer adalah alat untuk perhitungan yang menggunakan langsung dari kuantum mekanik fenomena, seperti superposisi dan belitan , untuk melakukan operasi pada Data. Cara kerja quantum computer sendiri berbeda dengann komputer bisanya. Dalam komputasi klasik, jumlah data dihitung dengan bit dalam komputer kuantum hal ini dilakukan dengan qubit (quantum bit) yang berarti jika di komputer biasa hanya mengenal 0 atau 1, dengan qubit sebuah komputer quantum dapat mengenal keduanya secara bersamaan dan itu membuat kerja dari komputer quantum itu lebih cepat dari pada komputer biasa.

II.                Entanglement



Setelah sedikit memahami apa itu quantum computation dan quantum  computer kita akan memasuki pembahasan dari Entanglement. Entanglement sendiri masih bagian dari Quantum Computation. Apa itu Entanglement? Entanglement adalah suatu teori mekanika quantum yang menggambarkan seberapa cepat dan betapa kuatnya keterhubungan partikel-partikel pada Quantum computer yang dimana jika suatu partikel diperlakukan "A" maka akan memberikan dampak "A" juga ke partikel lainnya.
Ada juga pemahaman lain tentang Entanglement menurut Albert Einsten "Entanglement Kuantum" di istilahkan "Perbuatan Sihir Jarak Jauh" yang merupakan sifat dasar mekanika kuantum. Entanglement memungkinkan informasi kuantum tersebar dalam puluhan ribu kilometer, dan hanya dibatasi oleh seberapa cepat dan seberapa banyak pasangan entanglement dapat bekerja dalam ruang. Dari sumber yang saya dapatkan dari internet : [Quantum entanglement]  merupakan fenomena yang menghubungkan dua partikel sedemikian rupa sehingga perubahan yang terjadi pada satu partikel seketika itu juga tercermin dalam partikel lainnya, meski mungkin secara fisik diantara mereka terpisah beberapa tahun cahaya. 

III.             Pengoperasian Data Qubit

Qubit merupakan kuantum bit , mitra dalam komputasi kuantum dengan digit biner atau bit dari komputasi klasik. Sama seperti sedikit adalah unit dasar informasi dalam komputer klasik, qubit adalah unit dasar informasi dalam komputer kuantum . Dalam komputer kuantum, sejumlah partikel elemental seperti elektron atau foton dapat digunakan (dalam praktek, keberhasilan juga telah dicapai dengan ion), baik dengan biaya mereka atau polarisasi bertindak sebagai representasi dari 0 dan / atau 1. Setiap partikel-partikel ini dikenal sebagai qubit, sifat dan perilaku partikel-partikel ini (seperti yang diungkapkan dalam teori kuantum ) membentuk dasar dari komputasi kuantum. Dua aspek yang paling relevan fisika kuantum adalah prinsip superposisi dan Entanglement


Bit digambarkan oleh statusnya, 0 atau 1. Begitu pula, qubit digambarkan oleh status quantumnya. Dua status quantum potensial untuk qubit ekuivalen dengan 0 dan 1 bit klasik. Namun dalam mekanika quantum, objek apapun yang memiliki dua status berbeda pasti memiliki rangkaian status potensial lain, disebut superposisi, yang menjerat kedua status hingga derajat bermacam-macam.

IV.             Quantum Gates



Gate sendiri dalam bahasa Indonesia adalah Gerbang.jadi Quantum Gates adalah sebuah gerbang kuantum yang dimana berfungsi mengoperasikan bit yang terdiri dari 0 dan 1 menjadi qubits. dengan demikian Quantum gates mempercepat banyaknya perhitungan bit pada waktu bersamaan.
Dalam kuantum komputer dan khususnya model rangkaian kuantum perhitungan, sebuah quantum gates atau quantum logic gates adalah dasar kuantum sirkuit operasi pada sejumlah kecil qubit.Mereka adalah blok bangunan sirkuit kuantum, seperti logic gates klasik untuk sirkuit digitalkonvensional.

V.                Algoritma Shor



Algoritma Shor, dinamai matematikawan Peter Shor , adalah algoritma kuantum yaitu merupakan suatu algoritma yang berjalan pada komputer kuantum yang berguna untuk faktorisasi bilangan bulat. Algoritma Shor dirumuskan pada tahun 1994.  Inti dari algoritma ini merupakan bagaimana cara menyelesaikan faktorisasi terhaadap bilanga interger atau bulat yang besar.
Efisiensi algoritma Shor adalah karena efisiensi kuantum Transformasi Fourier , dan modular eksponensial. Jika sebuah komputer kuantum dengan jumlah yang memadai qubit dapat beroperasi tanpa mengalah kebisingan dan fenomena interferensi kuantum lainnya, algoritma Shor dapat digunakan untuk memecahkan kriptografi kunci publik skema seperti banyak digunakan skema RSA. Algoritma Shor terdiri dari dua bagian:
- Penurunan yang bisa dilakukan pada komputer klasik, dari masalah anjak untuk masalah ketertiban -temuan.
- Sebuah algoritma kuantum untuk memecahkan masalah order-temuan.
 Hambatan runtime dari algoritma Shor adalah kuantum eksponensial modular yang jauh lebih lambat dibandingkan dengan kuantum Transformasi Fourier dan pre-/post-processing klasik. Ada beberapa pendekatan untuk membangun dan mengoptimalkan sirkuit untuk eksponensial modular. Yang paling sederhana dan saat ini yaitu pendekatan paling praktis adalah dengan menggunakan meniru sirkuit aritmatika konvensional dengan gerbang reversibel , dimulai dengan penambah ripple-carry. Sirkuit Reversible biasanya menggunakan nilai pada urutan n ^ 3, gerbang untuk n qubit. Teknik alternatif asimtotik meningkatkan jumlah gerbang dengan menggunakan kuantum transformasi Fourier , tetapi tidak kompetitif dengan kurang dari 600 qubit karena konstanta tinggi.






Sumber:



Minggu, 07 April 2019

Pengantar Komputasi Modern


PENGANTAR KOMPUTASI MODERN



Disusun oleh:

                                          Nama       : Dimas Ari Pratama
    NPM         : 51415918
                                           Kelas        : 4IA17
    Dosen      : Astie Darmayantie







UNIVERSITAS  GUNADARMA
DEPOK
ATA 2018/2019


Pendahuluan
A.    Teori Komputasi

Teori komputasi adalah cabang ilmu komputer dan matematika yang membahas apakah dan bagaimanakah suatu masalah dapat dipecahkan pada model komputasi, menggunakan algoritma. Bidang ilmu ini terutama membahas hal terkait komputabilitas dan kompleksitas, dalam kaitannya dengan formalisme komputasi.
Untuk melakukan studi komputasi dengan ketat, ilmuwan komputer bekerja dengan abstraksi matematika dari komputer yang dinamakan model komputasi. Ada beberapa model yang digunakan, namun yang paling umum dipelajari adalah mesin Turing. Sebuah mesin Turing dapat dipikirkan sebagai komputer pribadi meja dengan kapasitas memori yang tak terhingga, namun hanya dapat diakses dalam bagian-bagian terpisah dan diskret. Ilmuwan komputer mempelajari mesin Turing karena mudah dirumuskan, dianalisis dan digunakan untuk pembuktian, dan karena mesin ini mewakili model komputasi yang dianggap sebagai model paling masuk akal yang paling ampuh yang dimungkinkan. Kapasitas memori tidak terbatas mungkin terlihat sebagai sifat yang tidak mungkin terwujudkan, namun setiap permasalahan yang “terputuskan” (decidable) yang dipecahkan oleh mesin Turing selalu hanya akan memerlukan jumlah memori terhingga. Jadi pada dasarnya setiap masalah yang dapat dipecahkan (diputuskan) oleh meisn Turing dapat dipecahkan oleh komputer yang memiliki jumlah memori terbatas.

B.     Implementasi Komputasi 

Ø  Implementasi Komputasi Modern pada Bidang Ekonomi

Implementasi pada ilmu pengetahuan ekonomi adalah mempelajari agent-based computational modeling, computational econometrics dan statistika, komputasi keuangan, computational modeling of dynamic macroeconomic systems, pemrograman yang didesain khusus untuk komputasi ekonomi, dan pengembangan alat bantu dalam pendidikan komputasi ekonomi.Karena dibidang ekonomi pasti memiliki permasalahan yang harus dipecahkan oleh algoritma contohnya adalah memecahkan teori statistika untuk memecahkan permasalahan keuangan.

Salah satu contoh komputasi di bidang ekonomi adalah komputasi statistik. Komputasi statistik  adalah jurusan yang mempelajari teknik pengolahan data, membuat program, dan analisis data serta teknik penyusunan sistem informasi statistik seperti penyusunan basis data, komunikasi data, sistem jaringan, dan diseminasi data statistik. Komputasi dapat digunakan untuk memecahkan masalah ekonomi contohnya seperti Data Mining, dengan data mining, sebuah perusahaan dapat memecahkan masalah dengan cara yang seefektif mungkin.

Ø  Implementasi Komputasi Modern pada Bidang Kimia

Implementasi komputasi modern di bidang kimia adalah Computational Chemistry yaitu penggunaan ilmu komputer untuk membantu menyelesaikan masalah kimia, contohnya penggunaan super komputer untuk menghitung struktur dan sifat molekul. Istilah kimia teori dapat didefinisikan sebagai deskripsi matematika untuk kimia, sedangkan kimia komputasi biasanya digunakan ketika metode matematika dikembangkan dengan cukup baik untuk dapat digunakan dalam program komputer. Perlu dicatat bahwa kata “tepat” atau “sempurna” tidak muncul di sini, karena sedikit sekali aspek kimia yang dapat dihitung secara tepat. Hampir semua aspek kimia dapat digambarkan dalam skema komputasi kualitatif atau kuantitatif hampiran.





Ø  Implementasi Komputasi Modern pada Bidang Matematika.

Menyelesaikan sebuah masalah yang berkaitan dengan perhitungan matematis, namun dalam pengertian yang akan dibahas dalam pembahasan komputasi modern ini merupakan sebuah sistem yang akan menyelesaikan masalah matematis menggunakan komputer dengan cara menyusun algoritma yang dapat dimengerti oleh komputer yang berguna untuk menyelesaikan masalah manusia. Terdapat numerical analysis yaitu sebuah algoritma dipakai untuk menganalisa masalah – masalah matematika.Contohnya, penerapan teknik-teknik komputasi matematika meliputi metode numerik, scientific computing, metode elemen hingga, metode beda hingga, scientific data mining, scientific process control dan metode terkait lainnya untuk menyelesaikan masalah-masalah real yang berskala besar.

Ø  Implementasi Komputasi Dalam Bidang Geografi

Geografi adalah ilmu yang mempelajari tentang lokasi serta persamaan, dan perbedaan (variasi) keruangan atas fenomena fisik, dan manusia di atas permukaan bumi. Komputasi dalam bidang geologi biasanya di gunakan untuk peramalan cuaca, di Indonesia khususnya ada salah satu instansi Negara dengan nama BMKG (Badan Meteorologi, Klimatologi, dan Geofisika) yakni instansi negara yang meneliti mengamati tentang metereologi klimatologi kualitas udara dan geofisika supaya tetap sesuai dengan perundang undangan yang berlaku di Indonesia.

Ø  Implementasi Komputasi modern pada bidang Fisika

Implementasi komputasi di bidang fisika lebih luas, seimbang, dan fleksibel dari fisika utama tradisional. Dalam cabang ilmu komputasi fisika, terdapat Computational Physics yang mempelajari suatu gabungan antara fisika, ilmu komputer, dan matematika terapan untuk memberikan solusi pada kejadian dan masalah yang kompleks pada dunia nyata baik dengan menggunakan simulasi dan algoritma yang tepat. Pemahaman fisika pada teori, eksperimen, dan komputasi haruslah sebanding agar dihasilkan solusi numerik dan visualisasi/pemodelan yang tepat untuk memahami masalah fisika. Dalam fisika, berbagai teori yang berdasarkan permodelan matematika menyediakan prediksi yang akurat mengenai bagaimana sebuah sistem bergerak. Namun seringkali penggunaan permodelam matematika untuk sebuah sistem khusus yang bertujuan untuk menghasilkan prediksi yang bermanfaat tidak bisa dilakukan ketika itu. Hal ini terjadi karena solusi permasalahan tidak memiliki ekspresi bentuk tertutup (closed-form expression) atau terlalu rumit. Dalam banyak kasus, perkiraan numerik dibutuhkan. Fisika Komputasi adalah subjek yang berhubungan dengan berbagai perkiraan numerik; perkiraan solusi yang ditulis sebagai sejumlah besar bilangan terbatas (finite) dari operasi matematika sederhana (algoritma), dan komputer digunakan untuk melakukan operasi tersebut dan menghitung solusi dan errornya. Fisika komputasi adalah studi implementasi numerik algoritma untuk memecahkan masalah di bidang fisika di mana teori kuantitatif sudah ada. Dalam sejarah, fisika komputasi adalah aplikasi ilmu komputer modern pertama di bidang sains, dan sekarang menjadi subbagian dari sains komputasi.

Ø  Implementasi Komputasi modern pada bidang Geologi

Pada bidang geologi teori komputasi biasanya digunakan untuk pertambangan, sebuah sistem komputer digunakan untuk menganalisa bahan-bahan mineral dan barang tambang yang terdapat di dalam tanah.







Referensi :