Maskrio/nya-ir-miracl-id-preprocessed huggingface dataset:
Arsitektur
Bersamaan dengan penggabungan pengetahuan dari berbagai bidang ilmu (misalnya engineering), dan munculnya bahan-bahan bangunan baru serta teknologi, seorang arsitek menggeser fokusnya dari aspek teknis bangunan menuju ke estetika. Kemudian bermunculanlah "arsitek priyayi" yang biasanya berurusan dengan bouwheer (klien)kaya dan berkonsentrasi pada unsur visual dalam bentuk yang merujuk pada contoh-contoh historis. Pada abad ke-19, École des Beaux-Arts di Prancis melatih calon-calon arsitek menciptakan sketsa-sketsa dan gambar cantik tanpa menekankan konteksnya.
Arsitektur
Sementara itu, Revolusi Industri membuka pintu untuk konsumsi umum, sehingga estetika menjadi ukuran yang dapat dicapai bahkan oleh kelas menengah. Dulunya produk-produk berornamen estetis terbatas dalam lingkup keterampilan yang mahal, menjadi terjangkau melalui produksi massal. Produk-produk sedemikian tidaklah memiliki keindahan dan kejujuran dalam ekspresi dari sebuah proses produksi.
Arsitektur
Ketidakpuasan terhadap situasi sedemikian pada awal abad ke-20 melahirkan pemikiran-pemikiran yang mendasari Arsitektur Modern, antara lain, Deutscher Werkbund (dibentuk 1907) yang memproduksi objek-objek buatan mesin dengan kualitas yang lebih baik merupakan titik lahirnya profesi dalam bidang desain industri. Setelah itu, sekolah Bauhaus (dibentuk di Jerman tahun 1919) menolak masa lalu sejarah dan memilih melihat arsitektur sebagai sintesis seni, ketrampilan, dan teknologi.
Arsitektur
Ketika Arsitektur Modern mulai dipraktikkan, ia adalah sebuah pergerakan garda depan dengan dasar moral, filosofis, dan estetis. Kebenaran dicari dengan menolak sejarah dan menoleh kepada fungsi yang melahirkan bentuk. Arsitek lantas menjadi figur penting dan dijuluki sebagai "master". Kemudian arsitektur modern masuk ke dalam lingkup produksi massal karena kesederhanaannya dan faktor ekonomi.
Arsitektur
Namun, masyarakat umum merasakan adanya penurunan mutu dalam arsitektur modern pada tahun 1960-an, antara lain karena kekurangan makna, kemandulan, keburukan, keseragaman, serta dampak-dampak psikologisnya. Sebagian arsitek menjawabnya melalui Arsitektur Post-Modern dengan usaha membentuk arsitektur yang lebih dapat diterima umum pada tingkat visual, meski dengan mengorbankan kedalamannya. Robert Venturi berpendapat bahwa "gubuk berhias / "decorated shed"" (bangunan biasa yang interior-nya dirancang secara fungsional sementara eksterior-nya diberi hiasan) adalah lebih baik daripada sebuah "bebek / "duck"" (bangunan di mana baik bentuk dan fungsinya menjadi satu). Pendapat Venturi ini menjadi dasar pendekatan Arsitektur Post-Modern.
Arsitektur
Sebagian arsitek lain (dan juga non-arsitek) menjawab dengan menunjukkan apa yang mereka pikir sebagai akar masalahnya. Mereka merasa bahwa arsitektur bukanlah perburuan filosofis atau estetis pribadi oleh perorangan, melainkan arsitektur haruslah mempertimbangkan kebutuhan manusia sehari-hari dan menggunakan teknologi untuk mencapai lingkungan yang dapat di tempati. Design Methodology Movement yang melibatkan orang-orang seperti Chris Jones atau Christopher Alexander mulai mencari proses yang lebih inklusif dalam perancangan, untuk mendapatkan hasil yang lebih baik. Peneilitian mendalam dalam berbagai bidang seperti perilaku, lingkungan, dan humaniora dilakukan untuk menjadi dasar proses perancangan.
Arsitektur
Bersamaan dengan meningkatnya kompleksitas bangunan,arsitektur menjadi lebih multi-disiplin daripada sebelumnya. Arsitektur sekarang ini membutuhkan sekumpulan profesional dalam pengerjaannya. Inilah keadaan profesi arsitek sekarang ini. Namun, arsitek individu masih disukai dan dicari dalam perancangan bangunan yang bermakna simbol budaya. Contohnya, sebuah museum senirupa menjadi lahan eksperimentasi gaya dekonstruktivis sekarang ini, namun esok hari mungkin sesuatu yang lain.
Arsitektur
[[Kategori:Arsitektur| ]]
Komputasi
Komputasi sebetulnya bisa diartikan sebagai cara untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritme. Hal ini ialah apa yang disebut dengan "teori komputasi", suatu sub-bidang dari ilmu komputer dan matematika. Selama ribuan tahun, perhitungan dan komputasi umumnya dilakukan dengan menggunakan pena dan kertas, atau kapur dan batu tulis, atau dikerjakan secara mental, kadang-kadang dengan bantuan suatu tabel. Namun sekarang, kebanyakan komputasi telah dilakukan dengan menggunakan komputer.
Komputasi
Bidang ini berbeda dengan ilmu komputer ("computer science"), yang mengkaji komputasi, komputer dan pemrosesan informasi. Bidang ini juga berbeda dengan teori dan percobaan sebagai bentuk tradisional dari ilmu dan kerja keilmuan. Dalam ilmu alam, pendekatan ilmu komputasi dapat memberikan berbagai pemahaman baru, melalui penerapan model-model matematika dalam program komputer berdasarkan landasan teori yang telah berkembang, untuk menyelesaikan masalah-masalah nyata dalam ilmu tersebut.
Komputasi
Ilmu atau sains berdasarkan objek kajiannya dibedakan antara Fisika, Kimia, Biologi dan Geologi. Ilmu dapat pula digolongkan berdasarkan metodologi dominan yang digunakannya, yaitu ilmu pengamatan/percobaan ("observational/experimental science"), ilmu teori ("theoretical science") dan ilmu komputasi ("computational science"). Yang terakhir ini bisa dianggap bentuk yang paling baru yang muncul bersamaan dengan perkembangan kekuatan pemrosesan dalam komputer dan perkembangan teknik-teknik metode numerik dan metode komputasi lainnya.
Komputasi
Dalam ilmu (sains) tradisional seperti Fisika, Kimia dan Biologi, penggolongan ilmu berdasarkan "metodologi dominannya" juga mewujud, yang ditunjukkan dengan munculnya bidang-bidang khusus berdasarkan penggolongan tsb. lengkap dengan jurnal-jurnal yang relevan untuk melaporkan hasil-hasil penelitiannya. Sebagai contoh dalam kimia, melengkapi kimia percobaan ("experimental chemistry") dan kimia teori ("theoretical chemistry"), berkembang pula kimia komputasi ("computational chemistry"), seperti juga di bidang Biologi dikenal Biologi Teori ("theoretical biology") serta Biologi Komputasi ("computational biology"), lengkap dengan jurnalnya seperti Journal of Computational Chemistry dan Journal of Computational Biology. Cara penggolongan yang digunakan berbeda dengan cara penggolongan lain berdasarkan objek kajian, seperti penggolongan kimia atas Kimia Organik, Kimia Anorganik, dan Biokimia.
Komputasi
Walaupun dengan titik pandang yang berbeda, ilmu komputasi sebagai bentuk ketiga dari ilmu (sains) telah banyak disampaikan oleh berbagai pihak, antara lain dengan bukunya yang terkenal: "", dan .
Komputasi
Komputasi sains merupakan salah satu cabang ilmu komputasi. Secara umum komputasi sains mengkaji aspek-aspek komputasi untuk aplikasi / memecahkan masalah di bidang sains lain, seperti fisika, kimia, biologi dan lain-lain.
Komputasi
Di Indonesia sudah banyak pertemuan atau kegiatan ilmiah terkait dengan komputasi, tetapi umumnya lebih terkait dengan aspek teknologi informasi. Sedangkan kajian di komputasi sains masih sangat kurang. Hal ini tidak mengherankan karena komputasi sains lebih condong sebagai kajian teori murni, sehingga komunitasnya masih sangat terbatas seperti halnya fisika teori. Hanya ada satu kegiatan ilmiah yang terkait langsung dan fokus pada kajian komputasi sains, yaitu "Workshop on Computational Science" yang diadakan rutin setiap tahun oleh konsorsium yang tergabung dalam Masyarakat Komputasi Indonesia - MKI.
Komputasi
Selain itu, telah tersedia juga portal ilmiah untuk publik terkait dengan komputasi sains, yaitu komput@si.
Komputasi
Jurnal di Indonesia yang fokus pada topik komputasi adalah "Journal of Theoretical and Computational Studies" JTCS. Jurnal ini merupakan kolaborasi dari MKI dan GFTI.
Algoritme
Dalam matematika dan ilmu komputer, algoritme adalah prosedur langkah-demi-langkah untuk penghitungan.
Algoritme digunakan untuk penghitungan, pemrosesan data, dan penalaran otomatis.
Algoritme
Algoritme adalah metode efektif diekspresikan sebagai rangkaian terbatas
dari instruksi-instruksi yang telah didefinisikan dengan baik
untuk menghitung sebuah fungsi.
Dimulai dari sebuah kondisi awal dan input awal (mungkin kosong),
instruksi-instruksi tersebut menjelaskan sebuah komputasi yang, bila dieksekusi, diproses lewat sejumlah urutan kondisi terbatas
yang terdefinisi dengan baik, yang pada akhirnya menghasilkan "keluaran"
dan berhenti di kondisi akhir.
Transisi dari satu kondisi ke kondisi selanjutnya tidak harus deterministik;
beberapa algoritme, dikenal dengan algoritme pengacakan, menggunakan masukan acak.
Algoritme
Walaupun "algorism"-nya al-Khawarizmi dirujuk sebagai aturan-aturan melakukan aritmetika menggunakan bilangan Hindu-Arab dan solusi sistematis dan persamaan kuadrat, sebagian formalisasi yang nantinya menjadi "algoritme" modern dimulai dengan usaha untuk memecahkan permasalahan keputusan ("Entscheidungsproblem") yang diajukan oleh David Hilbert pada tahun 1928.
Formalisasi selanjutnya dilihat sebagai usaha untuk menentukan "penghitungan efektif"
Algoritme
atau "metode efektif";
Algoritme
formalisasi tersebut mengikutkan Godel-Herbrand-Kleene fungsi rekursif-nya Kurt Godel - Jacques Herbrand - Stephen Cole Kleene pada tahun 1930, 1934, dan 1935, kalkulus lambda-nya Alonzo Church pada tahun 1936, "Formulasi 1"-nya Emil Post pada tahun 1936, dan Mesin Turing-nya Alan Turing pada tahun 1936-7 dan 1939.
Dari definisi formal dari algoritme di atas, berkaitan dengan konsep intuituf, masih tetap ada masalah yang menantang.
Algoritme
'Algoritme' muncul dari 'Algoritmi', bentuk Latin dari al-Khwarizmi, matematikawan, ahli astronomi, dan ahli geografi dari Persia.
Algoritme
Definisi informalnya bisa berarti "sekumpulan aturan yang secara tepat menentukan seurutan operasi".
Algoritme
yang mengikutkan semua program komputer, termasuk program yang tidak melakukan perhitungan numerik.
Secara umum, sebuah program hanyalah sebuah algoritme jika ia akan berhenti nantinya.
Sebuah contoh prototipikal dari suatu algoritme adalah algoritme Euclid untuk menentukan bilangan pembagi terbesar dari dua integer; sebagai contohnya (ada contoh yang lain) dijelaskan dengan diagram alur di atas dan sebagai contoh di bagian lanjut.
Algoritme
Tidak ada manusia yang dapat menulis begitu cepat, atau begitu lama, atau begitu kecil ("kecil, dan lebih kecil tanpa batas ... anda mungkin mencoba menulis di atas molekul, atom, elektron") untuk mencatat semua anggota dari kumpulan bilangan tak terbatas dengan menuliskan namanya, bergantian, dalam suatu notasi.
Tapi manusia bisa melakukan sesuatu yang sama bergunanya, pada kasus kumpulan bilangan tak terbatas: Mereka dapat memberikan "instruksi jelas untuk menentukan anggota ke-n dari set", untuk "n" terbatas acak.
Instruksi tersebut diberikan secara eksplisit, dalam bentuk yang "dapat diikuti oleh mesin penghitung", atau oleh "manusia yang mampu melakukan hanya operasi-operasi dasar dengan simbol-simbol."
Algoritme
Suatu "bilangan tak-terbatas" adalah bilangan yang elemen-elemenya bisa berkorespondensi satu-ke-satu dengan integer.
Maka, Boolos dan Jeffrey mengatakan bahwa sebuah algoritme berarti instruksi bagi sebuah proses yang "membuat" keluaran integer dari sebuah "masukan" "acak" integer yang, secara teori, bisa sangat besar.
Maka sebuah algoritme dapat berupa persamaan aljabar seperti y = m + n -- dua variabel masukan m dan n yang menghasikan keluaran y.
Tapi berbagai penulis yang mencoba mendefinisikan persamaan tersebut mengatakan bahwa kata algoritme mengandung lebih dari itu, sesuatu yang kurang lebih (untuk contoh penjumlahan):
Konsep dari "algoritme" juga digunakan untuk mendefinisikan notasi dari desidabilitas.
Notasi tersebut adalah pusat untuk menjelaskan bagaimana sistem formal berasal dari sejumlah kecil aksioma dan aturan.
Dalam logika, waktu dari sebuah algoritme untuk selesai tidak dapat dihitung, karena tidak berelasi dengan dimensi fisik kita.
Dari ketidakpastian tersebut, yang mengkarakteristikan pekerjaan yang sedang berjalan, timbulah ketidak-tersediannya definisi "algoritme" yang sesuai dengan konkret (pada tingkat tertentu) dan penggunaan secara abstrak dari istilah tersebut.
Algoritme
Algoritme sangat penting bagi cara komputer mengolah data.
Banyak program komputer mengandung algoritme memberikan rincian pada instruksi khusus yang komputer harus lakukan (dengan urutan tertentu) untuk menjalankan pekerjaan tertentu, seperti menghitung gaji karyawan atau mencetak kartu rapor siswa.
Maka, sebuah algoritme bisa dianggap sebagai urutan operasi yang bisa disimulasikan oleh sebuah sistem Turing-lengkap.
Penulis yang mendukung tesis ini termasuk Minsky (1967), Savage (1987), dan Gurevich (2000):
Algoritme
Minsky: "Tapi kita juga menjaga, dengan Turing ... bahwa setiap prosedur yang "secara alami" disebut efektif, bisa dinyatakan oleh mesin (sederhana).
Walaupun tampaknya ekstrem, alasan tersebut ... sukar disanggah".
Algoritme
Gurevich: "... argumen informal Turing untuk menyokong tesis ini membenarkan tesis yang lebih kuat: setiap algoritme bisa disimulasikan oleh sebuah mesin Turing ... menurut Savage [1987], sebuah algoritme adalah sebuah proses penghitungan yang ditentukan oleh sebuah mesin Turing".
Algoritme
Biasanya, bila sebuah algoritme dihubungkan dengan pengolahan informasi, data dibaca dari sumber masukan, ditulis ke perangkat keluaran, dan/atau disimpan untuk pengolahan selanjutnya.
Data simpanan dianggap sebagai bagian dari keadaan internal dari entitas yang melakukan algoritme.
Pada praktiknya, keadaan tersebut disimpan pada satu atau lebih struktur data.
Algoritme
Untuk beberapa proses komputasi, algoritme harus ditentukan secara teliti: dijabarkan dengan cara ia bakal berlaku untuk semua kemungkinan yang dapat timbul.
Yaitu, setiap langkah tambahan harus secara sistematis dihadapi, kasus-per-kasus;
Kriteria bagi setiap kasus harus jelas (dan bisa dihitung).
Algoritme
Karena sebuah algoritme adalah kumpulan dari langkah-langkah yang tepat, urutan dari komputasi selalu penting bagi berfungsinya algoritme.
Instruksi biasanya diasumsikan terdaftar secara eksplisit, dan dijelaskan dimulai "dari atas" dan terus "ke bawah", sebuah gambaran yang dijelaskan secara formal oleh "alur kontrol"
Algoritme
Sejauh ini, diskusi tentang formalisasi algoritme telah mengasumsikan premis dari pemrograman imperatif.
Hal ini merupakan konsepsi umum, yang mencoba menjelaskan sebuah pekerjaan dalam makna diskrit dan "mekanis".
Keunikan dari konsepsi formalisasi algoritme adalah operasi penetapan, mengatur nilai dari sebuah variabel.
Ia berasal dari intuisi "ingatan" sebagai kertas buram.
Contoh operasi penetapan tersebut ada di bawah.
Algoritme
Untuk konsepsi yang lain dari apa yang membentuk sebuah algoritme lihat pemrograman fungsional dan pemrograman logika.
Algoritme
Algoritme dapat digambarkan dengan banyak notasi, termasuk bahasa alamiah, pseudokode, diagram alur, bagan drakon, bahasa pemrograman atau tabel kontrol (diproses oleh penerjemah).
Ekspresi bahasa alamiah terhadap algoritme condong lebih banyak dan rancu, dan jarang digunakan untuk algoritme yang kompleks dan teknis.
Pseudokode, diagram alur, bagan drakon, dan tabel kontrol adalah cara yang terstruktur untuk menggambarkan algoritme yang mencegah banyaknya kerancuan pada pernyataan-pernyataan bahasa alamiah.
Bahasa pemrograman ditujukan untuk mengekspresikan algoritme dalam sebuah bentuk yang dapat dieksekusi oleh komputer, tetapi sering kali digunakan sebagai suatu cara untuk menentukan atau mendokumentasikan algoritme.
Algoritme
Ada banyak macam kemungkinan representasi dan seseorang dapat mengekspresikan sebuah program mesin Turing sebagai urutan dari tabel-tabel mesin (lihat lebih lanjut di mesin kondisi-terbatas, tabel transisi kondisi dan tabel kontrol), sebagai diagram alur dan bagan drakon (lihat lebih lanjut di diagram kondisi), atau sebagai bentuk kode mesin atau kode assembly dasar yang dikenal "kumpulan lipat empat" (lihat lebih lanjut di mesin Turing).
Algoritme
Representasi dari algoritme dapat dikelompokan ke dalam tiga tingkatan dari deskripsi mesin Turing:Sebagai contoh dari algoritme sederhana "Penjumlahan m+n" dijelaskan dalam tiga tingkatan tersebut lihat contoh algoritme.
Algoritme
Kebanyakan algoritme ditujukan untuk diimplementasikan sebagai program komputer.
Namun, algoritme juga diimplementasikan dengan tujuan lain, seperti dalam jaringan saraf biologis (sebagai contohnya, otak manusia yang mengimplementasikan aritmetika atau sebuah serangga yang melihat makanan), dalam sirkuit elektris, atau dalam sebuah perangkat mekanis.
Algoritme
Dalam sistem komputer, sebuah algoritme pada dasarnya adalah instansi dari logika ditulis dalam perangkat lunak oleh pengembang perangkat lunak supaya efektif untuk komputer yang "ditargetkan" untuk mesin tertentu untuk menghasilkan "keluaran" dari "masukan" yang diberikan (kemungkinan nul).
Algoritme
"Program yang "elegan" (padat), program yang "baik" (cepat)": Pernyataan dari "sederhana dan elegan" muncul secara informal dalam buku Knuth dan dalam Chaitin:
Algoritme
Chaitin membuka definisinya dengan: "Saya akan perlihatkan bahwa anda tidak dapat membuktikan sebuah program adalah 'elegan'"—bukti tersebut akan menyelesaikan permasalahan perhentian (ibid).
Algoritme
"Algoritme terhadap fungsi yang dapat dihitung oleh algoritme": Untuk sebuah fungsi bisa ada beberapa algoritme.
Hal ini benar, bahkan tanpa mengembangkan kumpulan instruksi yang ada bagi programmer.
Rogers mengamati bahwa "Sangat ... penting untuk membedakan antara pengertian "algoritme", misalnya prosedur dan pernyataan "fungsi yang dihitung oleh algoritme", misalnya pemetaan hasil dari prosedur.
Fungsi yang sama bisa memiliki beberapa algoritme berbeda".
Sayangnya ada pertukaran antara kebaikan (kecepatan) dan elegan (kepadatan) -- sebuah program yang elegan bisa melakukan lebih banyak langkah untuk menyelesaikan sebuah komputasi daripada yang kurang elegan.
Sebuah contoh yang menggunakan algoritme Euclid bisa dilihat di bawah.
Algoritme
"Komputer (dan komputor), model dari komputasi": Sebuah komputer (atau manusia "komputor"
adalah tipe terbatas dari mesin, sebuah "perangkat mekanis deterministik diskrit"
Algoritme
yang secara buta mengikuti instruksinya
Model primitif dari Melzak dan Lambek
Algoritme
mereduksi pemikiran tersebut menjadi empat elemen: (i) diskrit, "lokasi" yang bisa dibedakan,
(ii) diskrit, "penghitung" yang tak bisa dibedakan
Algoritme
(iii) sebuah agen, dan
(iv) sebuah daftar instruksi yang "efektif" relatif terhadap kemampuan dari agen.
Minsky menjelaskan variasi yang lebih sesuai dari model "abacus"-nya Lambek dalam "Basis Komputabilitas Paling Sederhana".
Algoritme
Mesin Minsky memproses secara berurutan lewat lima (atau enam tergantung bagaimana seseorang menghitungnya) instruksi kecuali baik sebuah kondisi IF-THEN GOTO atau GOTO tak bersyarat mengubah alur program keluar dari urutan.
Selain HALT, mesin Minsky mengikutkan tiga operasi "penetapan" (penggantian, substitusi):
Algoritme
ZERO (misalnya, isi dari lokasi diganti oleh 0: L ← 0), SUCCESSOR (misalnya, L ← L+1), dan DECREMENT (misalnya, L ← L-1).
Algoritme
Jarang seorang programer harus menulis "kode" dengan kumpulan instruksi terbatas.
Tapi Minsky memperlihatkan (sebagaimana Melzak dan Lambek) bahwa mesinnya adalah Turing komplet dengan hanya empat "tipe" instruksi utama: GOTO kondisional, GOTO tak bersyarat, penetapan/penggantian/substitusi, dan HALT.
"Simulasi dari sebuah algoritme: bahasa komputer (komputor)": Knuth menganjurkan pembaca bahwa "cara terbaik untuk belajar algoritme dalah mencobanya ... langsung ambil pulpen dan kertas dan bekerja lewat contoh".
Algoritme
Lalu bagaimana dengan simulasi atau eksekusi yang sebenarnya?
Programmer harus menerjemahkan algoritme ke dalam bahasa yang mana simulator/komputer/komputor dapat mengeksekusi "secara efektif".
Stone memberikan contoh dari hal ini: saat menghitung akar dari persamaan kuadrat si komputor harus tahu bagaimana mendapatkan akar kuadrat.
Jika tidak maka supaya algoritme dapat efektif ia harus menyediakan sejumlah aturan untuk mengekstrak akar kuadrat.
Hal ini berarti programer harus tahu sebuah "bahasa" yang efektif relatif terhadap target pada agen komputasi (komputer/komputor).
Algoritme
Lalu model apa yang seharusnya digunakan untuk simulasi?
Van Emde Boas mengamati "bahkan bila kita mendasari teori kompleksitas dengan mesin abstrak bukannya mesin kongkrit, kesembarangan dari pemilihan model masih tetap ada.
Pada titik itulah mulainya pemikiran "simulasi"".
Algoritme
Bila kecepatan yang dihitung, jumlah instruksi berpengaruh.
Sebagai contohnya, subprogram dalam algoritme Euclid untuk menghitung sisa akan berjalan lebih cepat jika programmer memiliki instruksi "modulus" (sisa pembagian) bukannya dengan pengurangan (atau lebih parah: hanya "penurunan").
Algoritme
"Pemrograman terstuktur, struktur kanonikal": Menurut Tesis Church-Turing setiap algoritme bisa dihitung dengan sebuah model yang dikenal Turing komplet, dan menurut demonstrasi Minsky kekomplitan Turing membutuhkan hanya empat tipe instruksi—GOTO bersyarat, GOTO tak bersyarat, penetapan, HALT.
Kemeny dan Kurtz mengamati bahwa saat penggunaan GOTO tak bersyarat yang "tak disiplin" dan IF-THEN GOTO bersyarat bisa menghasilkan "kode spageti" seorang programer bisa menulis program terstruktur menggunakan instruksi tersebut;
di lain sisi "juga memungkinkan, dan tidak begitu sulit, untuk menulis sebuah program terstruktur yang buruk dalam sebuah bahasa terstruktur".
Algoritme
Tausworthe menambahkan tiga struktur kanon Bohm-Jacopini:
Algoritme
SEQUENCE, IF-THEN-ELSE, dan WHILE-DO, dengan dua lagi: DO-WHILE dan CASE.
Algoritme
Keuntungan dari program terstruktur adalah ia cocok dengan pembuktian kebenaran menggunakan induksi matematika.
"Simbol diagram alur": Pembantu grafik yang disebut diagram alur memberikan suatu cara untuk menjelaskan dan mendokumentasikan sebuah algoritme (dan program komputer).
Seperti alur program dari mesin Minsky, sebuah diagram alur selalu mulai dari atas dan terus ke bawah.
Simbol utamanya hanya 4: arah panah memperlihatkan alur program, segi empat (SEQUENCE, GOTO), wajik (IF-THEN-ELSE), dan titik (OR).
Struktur kanonikal Bohm-Jacopini dibuat dari bentuk-bentuk primitif tersebut.
Sub-struktur bisa "bersarang" dalam segi empat hanya jika jalan keluar tunggal terjadi pada super-struktur.
Simbol dan penggunaannya untuk membangun struktur kanonikal diperlihatkan dalam diagram.
Algoritme
Salah satu dari algoritme sederhana adalah menemukan bilangan terbesar dalam sebuah deretan angka (tak berurut).
Solusinya membutuhkan pemeriksaan setiap angka dalam deret, tetapi hanya sekali.
Dari hal ini munculah algoritme sederhana, yang bisa dinyatakan dalam kalimat bahasa deskripsi tingkat-tinggi, sebagai:
Algoritme
"Deskripsi tingkat-tinggi:"
Algoritme
"Deskripsi (Quasi-)formal:"
Ditulis dalam kalimat yang lebih dekat dengan bahasa tingkat-tinggi dari program komputer, berikut ini adalah kode formal dari algoritme dalam pseudokode atau kode pijin:
Algoritme
Algoritme Euclid muncul sebagai Proposisi II dalam Book VII ("Elementary Number Theory") dari "Elements".
Algoritme
Euclid mengajukan permasalahan: "Ambil dua angka bukan prima, untuk mencari bilangan pembagi terbesar".
Dia menentukan "Sebuah angka [merupakan] besaran yang terdiri dari unit-unit": angka penghitung, integer positif kecuali 0.
Dan "mengukur" adalah menempatkan ukuran panjang terkecil "s" dengan tepat ("q" kali) di antara ukuran terpanjang "l" sampai sisa "r" lebih kecil dari panjang terkecil "s".
Algoritme
Dalam dunia modern, sisa "r = l - q*s", "q" sebagai hasil bagi, atau sisa "r" adalah "modulus", bagian sisa-integer yang tersisa setelah pembagian.
Supaya metode Euclid berhasil, panjang awalnya harus memenuhi dua kebutuhan:
(i) panjangnya tidak 0, DAN
(ii) hasil pengurangan harus "lebih", sebuah pengujian harus menjamin bahwa bilangan terkecil dari dua angka adalah hasil pengurangan dari yang terbesar (cara lain, keduanya bisa sama sehingga pengurangan menghasilkan 0).
Algoritme
Pembuktian asli Euclid mengikutkan kebutuhan yang ketiga: kedua panjang bukanlah bilangan prima.
Euclid menentukan hal ini supaya dia bisa membentuk sebuah bukti reductio ad absurdum bahwa dua pembagi dua angka adalah yang "terbesar".