Selasa, 30 November 2021

Tugas 9 [Ryan Gilang & 2103015130] : Bahasa Pemrograman


Ryan Gilang Pratama

Kelas 1C

2103015130


Bahasa Pemrograman

    Definisi

  • Bahasa Pemrograman merupakan notasi yang dipergunakan untuk mendeskripsikan proses komputasi dalam format yang dapat dibaca oleh komputer dan manusia.
  • Bahasa Natural dirancang untuk memfasilitasi komunikasi antar manusia
  • Bahasa Pemrograman dirancang untuk memfasilitasi komunikasi antara manusia dengan komputer

    Tingkatan Bahasa Pemrograman

  1. Bahasa Mesin (Machine Languages)
  2. Bahasa Rakitan (Assembly Languages)
  3. Bahasa Tingkat Tinggi (High Level Languages)

Bahasa Mesin

    Diawali dengan ENIAC dan EDVAC, komputer generasi pertama yang dikembangkan oleh John W. Mauclhy dan John von Neumann pada Agustus 1944
    ENIAC menggunakan decimal arithmetic
    EDVAC menggunakan binary arithmetic
    Bahasa Mesin Mengalami perubahan sangat besar setelah 4 dekade sejak EDVAC

Bahasa Rakitan

  • Dimulai sejak awal 1950   
  • Disebut juga sebagai symbolic machine languages
  • Symbol yang dipergunakan untuk memfasilitasi aspek pemrograman :

  1. Mnemonic Opcodes 
  2. Symbolic Names
  3. Memory Address Automatic Assignment
  4. Addressing Modes

Bahasa Tingkat Tinggi


    High Level Langueages sendiri ada sekitar akhir tahun 1950. Bahasa program ini memiliki kemampuan untuk mempresentasikan algoritma yang kompleks.
    Human-oriented readability
    Machine-independent

    Perbandingan

    Penambahan dua buah integer.

Machine Languages






Assembly







High Level (Contoh Pascal)





    Sejarah Bahasa Pemrograman

  • 1830 - 1840, Charles Babbage, Analytical Engine
  • Programmer pertama: Ada Byron Countess Of Lovelace
  • 1940, John von Neumann, Komputer pertama dengan stored programs

Era 1950-an

  • FORTRAN (FORmula TRANslation), 1954~1957, IBM, John Backus, arrays, loops, if-statements
  • COBOL (Common Business-Oriented Language), 1959~1960, US DOD, Grace Hopper, records, output formatting
  • Algol60 (ALGOrithmic Language), 1958~1960,, structured statements, begin-end blocks, type declarations, recursion, pass-by-value parameters
  • LISP (LISt Processor), akhir 1950s, MIT, John McCarthy, functions dan garbage collection
  • APL (A Programming Language), akhir 1950s, Harvard University dan IBM, K. Iverson, arrays and matrices

Era 1960-an

  • PL/I, 1963-1964, IBM, concurrency, exception handling
  • Algol68, 1963-1968, general type system, orthogonal language
  • SNOBOL (StriNg Oriented symBOlic Language), awal 1960s, Bell Labs, R. Griswold, string processing, pattern matching
  • Simula67, 1965~1967, Norwegian Computing Center, Kristen Nygaard dan le-Johan Dahl, simulations, classes
  • ISWIM, Peter Landin, functional language murni
  • BASIC, 1964, Dartmouth College, John Kemeny dan Thomas Kurtz, bahasa instructional yang sederhana dan interaktif

Era 1970-an

  • Pascal, 1971, Niklaus Wirth, bahasa instruksional sederhana dengan pernyataan terstruktur
  • C, 1972, Bell Labs, Dennis Ritchie, type system sederhana dan runtime environment
  • CLU, 1974~1977, MIT, Barbara Liskov, pendekatan konsisten untuk mekanisme abstraksi, data abstraction, control abstraction, and exception handling
  • Euclid, 1976~1977, University of Toronto, abstract data types, program verification
  • Mesa, 1976~1979, Xerox, module facility, exception handling, concurrency

Era 1980-an

  • Ada, 1983, DOD, abstract data types, concurrency
  • Modula-2, 1982, Niklaus Wirth, modules, coroutine
  • Smalltak, 1980, Xerox, Alan Kay and Dan Ingalls, a complete object-oriented programming system
  • C++, 1980, Bell Labs, Bjarne Stroustrup, classes, library
  • Scheme, 1975~1978, MIT, Gerald Sussman dan Guy Steele, versi baru dari LISP
  • ML, 1978, Edinburgh University, Robin Milner, a syntax and type checking similar to Pascal
  • Prolog, 1972~1980, A. Colmerauer, mathematical logic

Era 1990-an

  • Java, 1995, Gosling, bahasa pertama yang dikeluarkan dengan API yang sudah dikembangkan
  • Bahasa-bahasa Scripting seperti : Perl, Tcl, Javascript, VBScript, Python, dan PHP

Era 2000-an

  • .NET framework yang dikembangkan oleh Microsoft
  • Mono yang mengadopsi .NET framework. Awalnya dikembangkan pada platform Linux

    Interpreter & Kompiler


Interpreter

        Merupakan sebuah program yang dapat mengerti sebuah bahasa dan mengeksekusi program yang ditulis dengan bahasa tersebut

Compiler

        Merupakan program yang menterjemahkan program yang ditulis dengan sebuah bahasa menjadi program yang ditulis oleh bahasa lain


    Semantics & Syntax

Semantics

        Dari bahasa pemrograman menspesifikasikan arti dari program










Syntax

        Dari bahasa pemrograman menspesifikasikan struktur dari program













        Dasar mekanisme abstraksi pada bahasa pemrograman adalah penggunaan nama atau identifiers

        Pada kebanyakan bahasa pemrograman, variabel, konstanta dan prosedur dapat diberikan nama yang didefinisikan oleh programmer

Atribut

    Arti dari nama ditegaskan oleh atribut yang diasosiasikan oleh nama tersebut







Binding

    Proses mengasosiasikan atribut ke nama disebut dengan Binding









Binding Time

  • Language definition time: pada saat pendeklarasian
  • Language implementation time: pada saat penggunaan
  • Translation time: tipe-tipe dari variabel
  • Link time: pada saat pemanggilan fungsi external
  • Load time: lokasi global variabel
  • Execution time: nilai dari variabel, lokasi local variabel

Deklarasi

  • Deklarasi merupakan prinsip dalam menyediakan binding
  • Umumnya diasosiasikan dengan sebuah block
  • Lokal, deklarasi yang ditempatkan didalam block 
  • Global, deklarasi yang ditempatkan diluar block














Ruang Lingkup (Scope)
























Syntax

        Lexical Structure menspesifikasikan bagaimana kata dibentuk dari karakter
        Syntactic Structure menspesifikasikan bagaimana kalimat dibentuk dari kata





Lexical Structure

  • Pada lexical structure, bahasa pemrograman menggunakan tokens untuk membentuk grammatical categories yang akan membentuk blok-blok syntax 
  • Standar tokens: 
  1. Keywords, seperti IF, WHILE, REPEAT, dll
  2. Literals, seperti 10 (numeric literal) atau ‘A’ (string literal)
  3. Special Symbols, umumnya dipergunakan untuk membentuk operator
  4. Identifiers , umumnya dipergunakan untuk menamai routine (prosedur & fungsi)
  5. Comments, baris program yang tidak akan dieksekusi

Syntatic Structure

        Menggunakan notasi Backus-Naur Form (BNF) untuk definisi formal











Parse Tree
















Selasa, 09 November 2021

Tugas 7 [Ryan Gilang & 2103015130] : Sistem Bilangan dan Kode

 

Ryan Gilang Pratama

Kelas 1C

2103015130

Sistem Bilangan dan Kode

Definisi Sistem Bilangan


    Bilangan ialah suatu jumlah dan suku-suku angka.  Dimana tiap  suku  angka adalah merupakan hasil perkalian  antara  angka  dengan  hasil  perpangkatan  dan bilangan dasar, dimana pangkat ini sesuai dengan letak suku angka tersebut.

    Sistem Dasar Bilangan Sepuluh (Desimal)

    Yaitu sistem bilangan yang biasa kita pakai, dimana menggunakan kombinasi angka-angka dan not sampai  dengan sembilan.

    Sistem Bilangan Dasar Dua (Sistem Binair)

    Mempunyai bilangan dasar (base) = 2, karena hanya mengenal 2 notasi yaitu 0 dan 1. Sistem bilangan dasar dua ini dibentuk dengan kombinasi dari dua notasi diatas. Digunakan untuk perhitungan didalam komputer, karena komponen-komponen dasar komputer hanya dua keadaan saja yaitu hidup dan mati.

    Sistem Dasar Bilangan Enam Belas (Sistem Heksadesimal) 

    Mempunyai bilangan dasar (base) = 16. Kombinasi dari system bilanga heksadesimal ini dibentuk dari bilangan 0 sampai 9 dan abjad A sampai F.

    Sistem Dasar Bilangan Delapan (Sistem Okatadesimal)

    Mempunyai bilangan dasar (base) = 8. Kombinasi dari system bilangan oktadesimal ini dibentuk dari bilangan 0 sampai 7.


Macam - Macam Sistem Bilangan


    Konversi Radiks-r ke Desimal

    Rumus konversi radiks-r ke desimal:
















    Konversi Bilangan Desimal ke Biner

    Konversi bilangan desimal bulat ke bilangan Biner: Gunakan pembagian dgn 2 secara suksesif sampai sisanya = 0. Sisa-sisa pembagian membentuk jawaban.








    Konversi Bilangan Desimal ke Oktal

    Konversi bilangan desimal bulat ke bilangan oktal: Gunakan pembagian dgn 8 secara suksesif sampai sisanya = 0. Sisa-sisa pembagian membentuk jawaban.





    Konversi Bilangan Desimal ke Hexadesimal

    Konversi bilangan desimal bulat ke bilangan hexadesimal: Gunakan pembagian dgn 16 secara suksesif sampai sisanya = 0. Sisa-sisa pembagian membentuk jawaban.






    Konversi Bilangan Biner ke Oktal

    Untuk mengkonversi bilangan biner ke bilangan oktal, lakukan pengelompokan 3 digit bilangan biner dari posisi kanan.





    Konversi Bilangan Oktal ke Biner

    Sebaliknya untuk mengkonversi Bilangan Oktal ke Biner yang harus dilakukan adalah terjemahkan setiap digit bilangan oktal ke 3 digit bilangan biner.





    Konversi Bilangan Biner ke Hexadesimal

    Untuk mengkonversi bilangan biner ke bilangan hexadesimal, lakukan pengelompokan 4 digit bilangan biner dari posisi kanan.




    Konversi Bilangan Hexadesimal ke Biner

    Sebaliknya untuk mengkonversi Bilangan Hexadesimal ke Biner yang harus dilakukan adalah terjemahkan setiap digit bilangan Hexadesimal ke 4 digit bilangan biner.





Kode Biner yang mewakili data

    Suatu komputer yang berbeda menggunakan kode biner untuk mewakili suatu karakter. 

  • Komputer 1 byte untuk 4 bit menggunakan kode biner yang berbentuk kombinasi 4 bit yaitu BCD (Binary Coded Decimal). 
  • Komputer yang menggunakan 1 byte untuk 6 bit, menggunakan kode biner dengan kombinasi 6 bit yaitu SBCDIC (Standard Binary Coded Decimal Interchange Code). 
  • Komputer 1 byte untuk 8 bit menggunakan kode biner dengan kombinasi 8 bit yaitu EBCDIC (Extended Binary Coded Decimal Interchange Code) atau ASCII (American Standard Code for Information Interchange).

    Binary code decimal

    BCD merupakan kode biner yang digunakan hanya untuk mewakili nilai digit decimal saja, yaitu angka 0 sampai dengan 9. Menggunakan kombinasi 4-bit, sehingga hanya 10 kombinasi yang dipergunakan.


SBCDIC (standart binary coded decimal interchange code)

  • Merupakan kode biner yang dikembangkan dari BCD, BCD dianggap tanggung, karena masih ada 6 karakter kombinasi yang tidak dipergunakan, tetapi tidak dapat digunakan untuk mewakili karakter yang lain. 
  • SBCDIC banyak digunakan pada komputer generasi kedua. SBCDIC menggunakan kombinasi 6-bit, sehingga lebih banyak kombinasi yang dihasilkan yaitu sebanyak 64 (26 = 64) kombinasi kode adalah 10 kode untuk digit angka, 26 kode untuk huruf alphabetic dan sisanya karakter-karaker khusus yang dipilih. Posisi bit di SBCDIC dibagi menjadi 2 zone yaitu 2 bit pertama (diberi nama A dan B) disebut alpha bit position dan 4 bit berikutnya (diberi nama bit 8, bit 4 dan bit 1) disebut numeric bit position.


EBCDIC (extended binary coded decimal interchange code)

  • Dikenal juga dengan ASCII (American Standard Code for Information Interchange).
  • EBCDIC banyak digunakan pada computer generasi ketiga, seperti IBM S/360.
  • EBCDIC terdiri dari kombinasi 8-bit yang memungkinkan untuk mewakili karakter sebanyak 256 (2 8 = 256) kombinasi karakter. Pada EBCDIC high-order bits atau 4-bit pertama disebut dengan zone bits dan low-order bits atau 4 bit kedua disebut dengan numeric bits.


    ASCII 7 BIT

    ASCII singkatan dari American Standard Code for Information Interchange atau ada yang menyebut dengan American Standard Commintee on Information Interchange dikembangkan oleh ANSI (American National Standards Institute) untuk tujuan membuat kode biner yang standar. 

    Kode ASCII yang standar menggunakan kombinasi 7-bit, dengan kombinasi sebanyak 127 dari 128 (27 = 128) kemungkinan kombinasi, yaitu:

  • 26 buah huruf capital (upper case) dari A s/d Z.
  • 26 buah huruf kecil (lower case) dari a s/d z.
  • Digit decimal dari 0 s/d 9.
  • 34 karakter kontrol yang tidak dapat dicetak hanya digunakan untuk informasi status operasi computer.
  • 32 karakter khusus (special characters).

ASCII 7-bit banyak digunakan untuk komputer-komputer generasi sekarang, termasuk komputer mikro.

    ASCII 8 BIT

    ASCII 8-bit terdiri dari kombinasi 8-bit mulai banyak digunakan, karena lebih banyak memberikan kombinasi karakter. Dengan ASCII 8-bit, karakter-karakter graphic yang tidak dapat diwakili ASCII 7-bit, seperti ♥ ♦ ♣ ♠ α β ►◄ karakter dan sebagainya dapat diwakili. Komputer IBM PC menggunakan ASCII 8-bit.


Sumber Utama: https://onlinelearning.uhamka.ac.id/

Selasa, 02 November 2021

Tugas 6 [Ryan Gilang & 2103015130] : Sistem Operasi

 

Assalamualaikum Warahmatullahi Wabarakatuh

Ryan Gilang Pratama

1C

2103015130

Sistem Operasi (OS)

    Secara umum, pengertian sistem operasi adalah perangkat lunak atau software yang mempunyai  tugas melakukan control dan manajemen perangkat keras dan operasi dasar sistem. Selain itu, sistem operasi juga mempunyai peranan dalam menjalankan software aplikasi yaitu program – program yang mengolah datayang  bisa digunakan untuk mepermudah kegiatan manusia.

    Sistem operasi adalah kumpulan inti perangkat lunak pada perangkat yang menyatukan semuanya. Sistem operasi berkomunikasi dengan perangkat keras perangkat. Mereka menangani semuanya, mulai dari keyboard dan mouse hingga radio, Wi-Fi, perangkat penyimpanan, dan layar. Dengan kata lain, sistem operasi menangani perangkat input dan output. Sistem operasi menggunakan driver perangkat yang ditulis oleh pembuat perangkat keras untuk berkomunikasi dengan perangkat mereka.

Tujuan Sistem Operasi

  • Antarmuka antara user dengan hardware.
  • Pemkaian bersama hardware maupun data antar user.
  • Pengaturan penjadwalan (pemakaian cpu, i/o secara bergantian).
  • Menunjukkan lingkungan dimana seorang user dapat mengeksekusi program-programnya.

Fungsi Dasar Sistem Operasi

  • Membuat kondisi komputer agar dapat menjalankan program secara benar. 
  • Untuk menghindari konflik yang terjadi pada saat pengguna menggunakan sumber-daya yang sama, sistem operasi mengatur pengguna mana yang dapat mengakses suatu sumber-daya. 
  • Sistem operasi juga sering disebut resource allocator. 
  • Sebagai program pengendali yang bertujuan untuk menghindari kekeliruan (error) dan penggunaan komputer yang tidak perlu. 

Tiga Sasaran Sistem Operasi

  • Kenyamanan, membuat user menjadi lebih nyaman
  • Efisien, menjadikan penggunaan sumber daya sistemkomputer secara efisien.
  • Mampu Berevolusi, memudahkan pengembangan, Pengujian dan pengajuan fungsi2 baru tanpa menggangu layanan yang dijalankan sistem komputer.

Layanan Sistem Operasi

    Pembuatan program yaitu sistem operasi menyediakan fasilitas dan layanan untuk membantu para pemrogram untuk menulis program; 

    Eksekusi Program yang berarti Instruksi-instruksi dan data-data harus dimuat ke memori utama, perangkat-perangkat masukan/ keluaran dan berkas harus diinisialisasi, serta sumber-daya yang ada harus disiapkan, semua itu harus di tangani oleh sistem operasi; 

    Pengaksesan I/O Device, artinya Sistem Operasi harus mengambil alih sejumlah instruksi yang rumit dan sinyal kendali agar pemrogram dapat berfikir sederhana dan perangkat pun dapat beroperasi; 

    Pengaksesan terkendali terhadap berkas yang artinya disediakannya mekanisme proteksi terhadap berkas untuk mengendalikan pengaksesan terhadap berkas; 

    Pengaksesan sistem artinya pada pengaksesan digunakan bersama (shared system); 

Sudut Pandang Terhadap Sistem Operasi

    Sudut Pandang Pengguna

    Sistem operasi merupakan sebagai alat untuk mempermudah penggunaan komputer. Dirancang dengan mengutamakan kemudahan penggunaan. Dalam lingkungan berpengguna-banyak (multi-user), sistem operasi sebagai alat untuk memaksimalkan penggunaan sumber daya komputer. Akan tetapi pada sejumlah komputer, sudut pandang pengguna dapat dikatakan hanya sedikit atau tidak ada sama sekali. 

    Misalnya embedded computer pada peralatan rumah tangga seperti mesin cuci dan sebagainya mungkin saja memiliki lampu indikator untuk menunjukkan keadaan sekarang, tetapi sistem operasi ini dirancang untuk bekerja tanpa campur tangan pengguna.

    Sudut Pandang Sistem

    Sistem operasi dapat dianggap sebagai alat yang menempatkan sumber. daya secara efisien (Resource Allocator).  Sistem operasi ialah manager bagi sumber daya, yang menangani konflik permintaan sumber daya secara efisien. 

    Sistem operasi juga mengatur eksekusi aplikasi dan operasi dari alat M/K (Masukan/Keluaran). Fungsi ini dikenal juga sebagai program pengendali (Control Program).  Lebih lagi, sistem operasi merupakan suatu bagian program yang berjalan setiap saat yang dikenal dengan istilah kernel.

    Sudut Pandang Tujuan Sistem Operasi

    Sistem operasi dapat dipandang sebagai alat yang membuat komputer lebih nyaman digunakan untuk menjalankan aplikasi dan menyelesaikan masalah pengguna. 

    Tujuan lain sistem operasi ialah membuat penggunaan sumber daya komputer menjadi efisien.


Contoh Sistem Operasi

    Microsoft DOS

  










      OS yang banyak digunakan pada komputer IMB-PC atau komputer kampatibel dengan OS Microsofr DOS. Mic DOS dirilis tahun 1981.

    Windows








        OS yang banyak digunakan sebagian besar pengguna saat ini. Tahun 1990  di rilis perusahaan microsofr corporation yang diberi nama windows 3.0 berbasis GUI.


    Windows Mobile












        OS yang ada di smartphone dengan versi mobile dari OS windos. Pertama kali dirilis  untuk sistem operasi windows pocket PC diluncurkan pada tahun 2000.

    Macintosh













        Biasa disebut dengan Mac OS, merupakan OS yang dibuat khusus untuk komputer macintosh dan OS ini tidak kompatibel dengan personal computer yang berbasis IMB. MAC OS pertam dikenalkan ke public tahun 1984 dan OS ini dibuat oleh Apple Computer.

    Linux














        Sistem operasi yang bertpe unix modular. Linux dikembangkan pada tahun1970-an sampai tahun 1980-an dengan menggunakankernel monolitik. Perbedaannya dengan sistem lainnya adalah OS ini mempunyai kernel dan komponen yang terbuka.

    Unix











        Banyak digunakan di komputer supercomputer dan mainframe atau biasa di perusahaan besar yang memakai supercomputer untuk mengelola data besar.

    Palm









        Sistem operasi yang ada di smart phone atu PDA Phone hanya melejit sebentar. Palm sudah tidak popular lagi karena kalah saing dengan sistem operasi yang lain.

    Blackberry OS

        Sistem operasi seperti sistem operasi apple yang hanya identic dengan satu jenis smart phone. Sistem ini hanya dikembangkan untuk kepentingan bisnis, yang memiliki produk unggulan yaitu black messenger. Sistem ini bisa menjadikan penggunanya memakai beberapa aplikasi dan utilitas yang mengarah kepada kepentingan bisnis.



    Symbian










        Sistem operasi yang ada di smart phone yang biasa dibilang Symbian adalah jenis sistem opeasi yang jadi awal menculnya smart phone. Banyak dipakai di perangkat nokia dan sony ericsson. Symbian dikembangkan perusahaan teknologi yang bernama symbvian Ltd. Tetapi karena penggunanya sudah tidak popular karena sudah tergantikan dengan sistem operaso android, windows, apple.

    Android

    Sistem operasi yang ada di smart phone, tablet PC, dan Mini PC yang sebagian besar digunakan dan sangat popular sampai saat ini. Andoid sistem operasi yang berupa ponsel dari inux. Sama dengan linux sistem operasi ini sangat mudah dikembangkan maka dari itu membuat banyak developer yang mengembangkan sistem operasi ini dengan menambah interface pada sistem. Sebagian besar sistem smart phone, PC Tablet, dan mini PC mengunakan sistemoperasi android karena biaya untuk pengembanga sangat ekoomis tetapi bisa memberikan fitur yang maksimal. Untuk sekarang ini sistem operasi adroid sudah sampai versi ke 6.

    Chrome OS

        Jenis sistem operasi dari google yang sangat ringan dan berbasis linux dan standard web untuk personal computer atau PC. Google Chrome bertugas dengan menggunakan metode windowing atau switching (multi-tasking). Google chorme OS memakai standard web HTML 5, merupakan pengembangan perangkat lunak di browser yang berbasis sistem operasi. Chrome OS ini adalah gabungan dari linux dan windows vista. Chorme di luncurkan pada tahun 2010.




Terimakasih atas perhatiannya, apabila ada salah dalam pengetikan mohon dimaafkan.
Wassalamualaikum Warahmatullahi Wabarakatuh


Sumber utama: https://onlinelearning.uhamka.ac.id/