Pages

SISTEM OPERASI BAB 2

Instalasi Linux


1. Pengertian linux

      Linux awalnya dikembangkan oleh Linus Torvalds yang pada mulanya sekedar emulasi terminal yang dibutuhkan untuk mengakses server UNIX di Universitasnya. Linux merupakan kloningan dari MINIX (Salah satu varian UNIX), peralatan sistem dan pustaka linux, umumnya berasal dari Sistem Operasi GNU. Linux memiliki banyak desain yang berasal dari desain dasar UNIX, Linux menggunakan Kernel Monilitik yaitu Kernel Linux yang menangani kontrol proses, jaringan, periferal, dan pengaksesan sistem berkas. Sama seperti UNIX, Linux pun dapat dikendalikan oleh satu atau lebih antarmuka baris perintah (Command Line Interface) berbasis teks, antarmuka pengguna grafis (Graphical User Interface) yang merupakan konfigurasi bawaan untuk versi dektop. Pada komputer desktop, GNOME, KDE dan Xfce merupakan antarmuka pengguna yang paling populer diantara varian antarmuka pengguna lainnya. Sebuah sistem Linux menyediakan antarmuka baris perintah lewat sebuah Shell (Konsole).
      Perbedaan utama antara Linux dan Sistem Operasi Populer lainnya terletak pada Kernel Linux dan komponen-komponennya yang bebas dan terbuka. Sama seperti pada UNIX, Linux berkonsentrasi pada Workstation dan Server banyak Workstation dan Server yang mengandalkan Linux karena Linux sangat stabil digunakan untuk jangka waktu lama dan Linux pun kebal terhadap Malware. Satu hal yang membedakan Linux terhadap Sistem Operasi lainnya adalah harga. Harga Linux ini kebanyakan Gratis walaupun ada juga yang berbayar (Lisensi). Linux dapat didistribusikan tanpa harus memberikan royalty kepada seseorang. Linux disusun berdasarkan standard Sistem Operasi POSIX yang diturunkan dari UNIX itu sendiri. Ada beberapa macam Distro Linux, seperti : Debian, Lycoris, Xandros, Lindows, Linare, Linux-Mandrake, Red Hat Linux, Slackware, Knoppix, Fedora, Suse, Ubuntu.
      Linux adalah software sistem operasi open source yang gratis untuk disebarluaskan di bawah lisensi GNU. Linux merupakan turunan dari unix dan dapat bekerja pada berbagai macam perangkat keras koputer mulai dari intel x86 sampai dengan RISC.
      Dengan lisensi GNU (Gnu Not Unix), pengguna dapat memperoleh program, lengkap dengan kode sumbernya (source code). Tidak hanya itu, pengguna linux diberikan hak untuk mengkopi sebanyak yang diinginkan, atau bahkan mengubah kode sumbernya. Dan itu semua legal dibawah lisensi. Meskipun gratis, lisensi GNU memperbolehkan pihak yang ingin menarik biaya untuk penggandaan maupun pengiriman program.

2. Sejarah Linux

      Linux pada awalnya dibuat oleh seorang mahasiswa finlandia yang bernama Linus Torvalds. Dulunya Linux merupakan proyek hobi yang diinspirasikan dari Minix, yaitu sistem UNIX kecil yang dikembangkan oleh Andrew Tanenbaum. Linux versi 0.01 dikerjakan sekitar bulan Agustus 1991. Kemudian pada tanggal 5 Oktober 1991, Linus mengumumkan versi resmi Linux, yaitu versi 0.02 yang hanya dapat menjalankan shell bash (GNU Bourne Again Shell) dan gcc (GNU C Compiler).
      Saat ini Linux adalah sistem UNIX yang sangat lengkap, bisa digunakan untuk jaringan, pengembangan software dan bahkan untuk pekerjaan sehari-hari. Linux sekarang merupakan alternatif sistem operasi yang jauh lebih murah jika dibandingkan dengan sistem operasi komersial (misalnya Windows 9.x/NT/2000/ME).
      Linux mempunyai perkembangan yang sangat cepat. Hal ini dapat dimungkinkan karena Linux dikembangkan oleh beragam kelompok orang. Keragaman ini termasuk tingkat pengetahuan, pengalaman serta geografis. Agar kelompok ini dapat berkomunikasi dengan cepat dan efisien, internet menjadi pilihan yang sangat tepat.

3. Kelebihan dan kekuranagn linux

      Linux memiliki beberapa kelebihan sebagai berikut.
a. Bersifat open source, bebas dan terbuka. Sehingga tidak memerlukan biaya untuk mendapatkannya. Lisensi free dan boleh diubah sepuasnya oleh pengguna.
b. Linux sekarang sudah mudah di operasikan. Jika dahulu, pengguna linux identik dengan para hacker, tapi sekarang masyarakat umum pun sudah banyak yang menggunakannya.
c. Hampir semua aplikasi yang biasa dijalankan di windows, sudah ada aplikasi linuxnya yang dikembangkan oleh komunitas linux atau bisa juga menggunakan software emulator.
d. Memiliki pengamanan yang lebih unggul karena di desain multiuser sehingga apabila virus menyerang user tertentu, akan sangat sulit menyebar ke user lainnya.
e. Cocok untuk PC yang memiliki spesifikasi minimum karena linux membutuhkan resource yang lebih kecil dibandingkan Windows.
f. Linux dapat berjalan di dua mode.
g. Jarang crash atau nge-hang yang mengharuskan kita untuk merestart komputer karena linux lebih stabil.
h. Memiliki komunitas di berbagai penjuru dunia.
i. Terdapat beragam pilihan seperti Ubuntu, Fedora, Debian, Centos, RedHat, Opensuse, Mandriva, dan sebagainya.

      Namun, linux juga memiliki beberapa kekurangan sebagai berikut.
a. Banyak user yang belum terbiasa menggunakan linux.
b. Dukungan hardware dari vendor-vendor tertentu yang tidak terlalu baik pada linux.
c. Proses instalasinya tidak semudah windows.
d. Aplikasi di linux belum secanggih aplikasi windows.
e. Bagi administrator sistem yang belum terbiasa dengan Unix-like, maka harus mempelajarinya terlebih dahulu.
f. Struktur direktori dan hak akses yang membingungkan bagi user yang terbiasa menggunakan windows.

4. Pengembangan linux

      Nama "Linux" berasal dari nama pembuatnya, linux diperkenalkan tahun 1991 oleh Linus Torvalds. Sistemnya, peralatan sistem dan pustaka yang umumnya berasal dari sistem operasi GNU, yang diumumkan tahun 1983 olehRichard Stallman. Kontribusi GNU adalah dasar dari munculnya nama alternatifGNU/Linux. Linux telah lama dikenal untuk penggunaannya di server, dan didukung oleh perusahaan-perusahaan komputer ternama seperti Intel, Dell, Hewlett-Packard, IBM, Novell, Oracle Corporation, Red Hat, dan Sun Microsystems. Linux digunakan sebagai sistem operasi di berbagai macam jenis perangkat keras komputer, termasuk komputer desktop, super komputer, dan sistem benam seperti pembaca buku elektronik, sistem permainan video (PlayStation 2,PlayStation 3 dan XBox), telepon genggam dan router.
      Para pengamat teknologi informatika, beranggapan kesuksesan Linux dikarenakan Linux tidak bergantung kepada vendor independence, biaya operasional yang rendah, dan kompatibilitas yang tinggi dibandingkan versi UNIX tak bebas, serta faktor keamanan dan kestabilannya yang tinggi dibandingkan dengan sistem operasi lainnya seperti Microsoft Windows. Ciri-ciri ini juga menjadi bukti atas keunggulan model pengembangan perangkat lunak sumber terbuka (opensource software). Sistem operasi Linux yang dikenal dengan istilah distribusi Linux (Linux distribution) atau distro Linux umumnya sudah termasuk perangkat-perangkat lunak pendukung seperti server web, bahasa pemrograman, basis data, tampilan desktop (desktop environment) seperti GNOME,KDE dan Xfce juga memiliki paket aplikasi perkantoran (office suite) seperti Open Office.org, KOffice, Abiword.

5. Macam-macam distro linux

1. Xandros
      Xandros Linux adalah sebuah distro Linux yang berdasarkan pada sistem KDE. Tampilannya sangat mirip dengan Microsoft Windows, jadi apabila dioperasikan sangat mudah dan nyaman.

2. Ubuntu.
      Ubuntu adalah salah satu distribusi Linux yang berbasiskan pada Debian. Proyek Ubuntu disponsori oleh Canonical Ltd (perusahaan milik Mark Shuttleworth). Nama Ubuntu diambil dari nama sebuah konsep ideologi di Afrika Selatan. “Ubuntu” berasal dari bahasa kuno Afrika, yang berarti “rasa perikemanusian terhadap sesama manusia”.

3. CentOS
CentOS adalah sistem operasi bebas yang didasarkan pada Red Hat Enterprise Linux (RHEL). CentOS merupakan  singkatan dari Community Enterprise Operating System (Sistem Operasi Perusahaan buatan Komunitas/Masyarakat).

4. Debian
      Debian adalah sistem operasi berbasis kernel Linux. Debian adalah ‘kernel independent’, sistem operasi Debian dikembangkan murni tanpa mendasarkan pada sistem operasi yang telah ada.

5. Fedora
Fedora (sebelumnya bernama Fedora Core, terkadang disebut juga dengan Fedora Linux) adalah sebuah distro Linux berbasis RPM dan yum yang dikembangkan oleh Fedora Project yang didukung oleh komunitas pemrogram serta disponsori oleh Red Hat. Nama Fedora berasal dari karakter fedora yang digunakan di logo Red Hat.

6. Knoppix
Knoppix adalah distro Linux live-cd yang dapat dijalankan melalui CD-ROM tanpa instalasi di hard disk. Distro ini berbasis Debian Linux dan diciptakan oleh Klaus Knopper.

7. Gentoo linux
Gentoo Linux adalah suatu distribusi Linux yang memakai paket sistem manajemen Portage. Sedangkan debian yang menggunakan paket.deb, Red Hat atau Mandrake yang menggunakan paket.rpm. Manajemen paket ini dirancang untuk modular (mudah ditambah-tambah), portabel (dapat di port ke distro lain), mudah ditata, fleksibel, dan dioptimalkan untuk masing-masing komputer pengguna.

8. Slackware
Slackware merupakan sistem operasi yang dibuat oleh Patrick Volkerding dari Slackware Linux, Inc. Slackware merupakan salah satu distro awal, dan merupakan yang tertua yang masih dikelola. Tujuan utama Slackware adalah stabilitas dan kemudahan desain, serta menjadi distribusi Linux yang paling mirip Unix.

9. Mandriva Linux
Mandriva Linux (dahulu dikenal dengan nama Mandrakelinux atau Mandrake Linux) adalah sistem operasi yang dibuat oleh Mandriva (dahulu dikenal dengan nama Mandrakesoft). Mandriva Linux menggunakan RPM Package Manager.

10. OpenSUSE
SUSE sebelumnya bernama SUSE Linux dan SuSE Linux Professional adalah salah satu distro Linux dari perusahaan Novell, atau lebih tepat dari anak perusahaannya Suse Linux GmbH (Software- und System-Entwicklungsgesellschaft mbH, Nürnberg) yang berarti pengembangan perangkat lunak dan sistem.

11. Freespire
Freespire adalah versi gratis dari distro Linspire (a.k.a Lindows), kemudian mungkin dikarenakan permasalahan nama, berubah menjadi Linspire.

12. Linux Mint
Linux Mint adalah sistem operasi berbasis Linux untuk PC. Inti dari LinuxMint adalah Ubuntu, sehingga aplikasi yang dapat berjalan di Ubuntu, juga bisa berjalan pada LinuxMint.

13. PCLinuxOS
PCLinuxOS, sering disingkat sebagai PCLOS, adalah sebuah sistem operasi desktop. Ini adalah sebuah sistem operasi bebas untuk komputer pribadi yang bertujuan untuk memudahkan penggunaan.

14. Damn Small Linux
Damn Small Linux (DSL) adalah salah satu distro atau varian linux mini. Disebut mini karena paket DSL cuma 50MB besarnya. DSL juga memungkinkan untuk diinstall di USB 128MB.

15. Kuliax
Kuliax adalah sebuah distribusi Linux LiveCD yang dikembangkan oleh Kuliax Project untuk pendidikan di universitas. Distribusi ini berbasis Debian GNU/Linux dan Knoppix, serta telah dioptimasi ke arah penggunaan desktop Linux.

16. Redhat
Distribusi yang paling populer, minimal di Indonesia, redhat merupakan distribusi pertama yang instalasi dan pengoperasiannya mudah.

6. Cara instalasi linux

      Sebelum menginstall sistem operasi Ubuntu 16.04.4 LTS desktop, ada beberapa hal yang perlu dipersiapkan dan perhatikan yaitu :
1. Siapkan flashdisk kosong dengan kapasitas storage minimal 4GB.
2. Jika akan menginstal Ubuntu pada laptop, pastikan baterai tidak habis saat proses instalasi dengan mencolokkan charger.
3. Siapkan software untuk membuat bootable USB flashdisk seperti Rufus (yang biasa digunakan).
4. Siapkan file ISO Ubuntu 16.04.4 LTS Desktop yang sudah didownload sebelumnya.
5. Terakhir, buatlah bootable USB flashdisk menggunakan Rufus dengan memasukkan file ISO Ubuntu 16.04.4 LTS Desktop.

      Kemudian, setelah menyiapkan bootable USB flashdisk, sekarang saatnya menginstall Ubuntu pada laptop atau PC. Perhatikan langkah-langkah dibawah ini.
1. Colokkan flashdisk ke laptop. Restart komputer lalu tekan F2, Esc, F12 atau tombol lainnya (tergantung pada pengaturan PC atau laptop masing-masing) untuk masuk ke BIOS komputer.
2. Setelah masuk ke BIOS, pilih tab “Boot“. Kemudian, pada Boot Option Priorities, tempatkan bootable flashdisk di posisi teratas seperti pada gambar dibawah ini. Sedangkan, untuk yang lainnya hanya mengikut saja yang terpenting hanya bootable flashdisk.


3. Pilih tab Save and Exit, tekan Enter pada opsi Save and Exit maka laptop atau PC akan restart secara otomatis atau tekan tombol F10 pada keyboard.
4. Selanjutnya, tunggu loading proses penginstalan Ubuntu.


5. Pilih bahasa yang akan digunakan selama proses instalasi. Dalam tutorial ini dipilih bahasa English (default) agar lebih bisa dimengerti. Lalu, klik Install Ubuntu.


6. Jika terkoneksi dengan internet, kita dapat mencentang pada bagian Install third-party software for graphics dan Wi-Fi hardware, Flash, MP3 and other media. Kita juga dapat mencentang bagian Download update while installing Ubuntu jika yakin koneksi internet cepat, karena jika memilih opsi ini maka proses instalasi berjalan lama karena sekalian update dan kemungkinan bisa error jika tiba-tiba koneksi internet terputus. Lalu, klik Continue. Tapi, jika tidak memiliki koneksi internet, langsung saja klik Continue tanpa perlu mencentang apapun.

7. Di bagian Installation type, pilih Something else lalu klik Continue. Kita dapat memilih opsi lain sesuai kebutuhan, dalam tutorial ini  dipilih Something else agar dapat membuat partisi sendiri, jadi data di Windows tidak terformat, karena di laptop ini digunakan system dual boot.


8. Sekarang, kita masuk ke bagian partisi. Seperti pada gambar dibawah ini, kita belum memiliki partisi apapun sebelumnya. Klik New Partition Table untuk mulai membuat partisi baru.


9. Klik Continue.


10. Disini, kita memiliki kapasitas 10 GB yang nantinya dibagi menjadi 2 partisi. Pada partisi pertama yaitu Swap Area digunakan oleh sistem sebagai memori cadangan, jika sistem kehabisan memori dan pada partisi yang kedua yaitu Root, untuk menyimpan data-data pribadi dan tempat Ubuntu terinstal. Untuk membuat sebuah partisi klik tanda plus (+).


11. Pertama, kita akan membuat partisi Swap. Tentukan ukuran dari partisi ini sesuai keinginan, tetapi disarankan jangan terlalu besar. Disini ukuran Swap 1GB.  Kemudian, pilih “Primary” lalu pilih “Beginning of this space”. Di kotak Use as pilih “swap area”. Partisi swap area merupakan partisi yang sangat penting dan harus ada. Lalu klik OK.


12. Hasilnya akan terlihat seperti pada gambar di bawah. Kemudian, pilih bagian yang free space, kemudian klik add atau tanda plus (+) seperti pada gambar.


13. Kedua, kita akan membuat partisi Root. Kemudian, pilih “Logical” lalu pilih “Beginning of this space”. Di kotak Use as pilih “Ext4 journaling file system” dan pada kotak Mount point pilih /. Klik OK.


14. Hasilnya akan terlihat seperti pada gambar dibawah ini. Terdapat 2 buah partisi yaitu swap area dan /. Klik Install Now.


15. Klik Continue.


16. Untuk zona waktu, diplih Medan , lalu klik Continue.


17. Pilih bahasa inputan keyboard, disini pilih English (US).


18. Selanjutnya, isi data untuk user secara lengkap seperti pada gambar dibawah ini. Setelah selesai, klik Continue.


19. Tunggu sampai proses penginstalan dan penyalinan data sistem operasi selesai. Biasanya membutuhkan waktu sekitar 10-30 menit.


20. Setelah proses instalasi selesai. Klik Restart Now.


21. Kemudian, sekarang sudah berhasil menginstal Ubuntu di laptop/PC, kita masukkan password yang sudah dibuat tadi untuk masuk ke Ubuntu.


22. Tampilan Ubuntu akan terlihat seperti pada gambar dibawah ini.




























Referensi :

https://www.nesabamedia.com/cara-install-linux-ubuntu/.
http://barkahtroox.blogspot.com/2013/02/pengertian-linux-sejarah-linux.html.

SISTEM OPERASI BAB 1

PENDAHULUAN SISTEM OPERASI


1. Pengertian sistem operasi

      Sistem Operasi sering ditujukan kepada semua perangkat lunak yang masuk dalam satu paket dengan sistem komputer sebelum aplikasi-aplikasi perangkat lunak terinstal. Sistem operasi adalah perangkat lunak sistem yang bertugas untuk melakukan kontrol dan manajemen perangkat keras serta operasi-operasi dasar sistem, termasuk menjalankan perangkat lunak aplikasi seperti program-program pengolah kata dan peramban web.
      Secara umum, Sistem Operasi adalah perangkat lunak pada lapisan pertama yang ditempatkan pada memori komputer pada saat komputer melakukan booting. Sedangkan software-software lainnya dijalankan setelah Sistem operasi berjalan, dan Sistem operasi akan melakukan layanan inti untuk software-software itu. Layanan inti tersebut seperti akses ke disk, manajemen memori, penjadwalan tugas, dan antar muka user GUI atau  CLI. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi. Bagian kode yang melakukan tugas-tugas inti dan umum tersebut dinamakan dengan "kernel" suatu sistem operasi. Kalau sistem komputer terbagi dalam lapisan-lapisan, maka sistem operasi adalah penghubung antara lapisan hardware dengan lapisan software. Sistem Operasi melakukan semua tugas-tugas penting dalam komputer, dan menjamin aplikasi-aplikasi yang berbeda dapat berjalan secara bersamaan dengan lancar. Sistem Operasi menjamin aplikasi lainnya dapat menggunakan memori, melakukan input dan output terhadap peralatan lain, dan memiliki akses kepada sistem berkas. Apabila beberapa aplikasi berjalan secara bersamaan, maka sistem operasi mengatur schedule yang tepat, sehingga sedapat mungkin semua proses yang berjalan mendapatkan waktu yang cukup untuk menggunakan prosesor (CPU) serta tidak saling mengganggu.
      Dalam banyak kasus, sistem operasi menyediakan suatu pustaka dari fungsi-fungsi standar, dimana aplikasi lain dapat memanggil fungsi-fungsi itu, sehingga dalam setiap pembuatan program baru, tidak perlu membuat fungsi-fungsi tersebut dari awal. Sistem Operasi secara umum terdiri dari beberapa bagian :
1. Mekanisme Boot, yaitu meletakkan kernel ke dalam memory.
2. Kernel, yaitu inti dari sebuah Sistem Operasi.
3. Command Interpreter atau shell, yang bertugas membaca input dari pengguna.
4. Pustaka-pustaka, yaitu yang menyediakan kumpulan fungsi dasar dan standar yang dapat dipanggil oleh aplikasi lain.
5. Driver untuk berinteraksi dengan hardware eksternal, sekaligus untuk mengontrolnya.
      Sebagian Sistem Operasi hanya mengizinkan satu aplikasi saja yang berjalan pada satu waktu (misalnya DOS), tetapi sebagian besar Sistem operasi baru mengizinkan beberapa aplikasi berjalan secara simultan pada waktu yang bersamaan. Sistem Operasi seperti ini disebut sebagai multi-tasking Operating System. Beberapa Sistem Operasi berukuran sangat besar dan kompleks, serta inputnya tergantung kepada input pengguna, sedangkan Sistem Operasi lainnya sangat kecil dan dibuat dengan asumsi bekerja tanpa intervensi manusia sama sekali. Tipe yang pertama sering disebut sebagai Desktop OS, sedangkan tipe kedua adalah Real-Time OS, contohnya adalah Windows, Linux, Free BSD,Solaris, palm, symbian, dan sebagainya.
      Seiring dengan berkembangnya Sistem Operasi, semakin banyak lagi layanan yang menjadi layanan inti umum. Kini, sebuah OS mungkin perlu menyediakan layanan jaringan dan koneksi internet, yang dulunya tidak menjadi layanan inti umum. Sistem operasi juga perlu untuk menjaga kerusakan sistem komputer dari gangguan program perusak yang berasal dari komputer lainnya, seperti virus. Daftar layanan inti umum akan terus bertambah.
      Program saling berkomunikasi antara satu dengan lainnya dengan antarmuka pemrograman aplikasi, Application Programming Interface atau disingkat dengan API. Dengan API inilah program aplikasi dapat berkomunikasi dengan Sistem Operasi. Sebagaimana manusia berkomunikasi dengan komputer melalui Antarmuka User, program juga berkomunikasi dengan program lainnya melalui API.
      Walaupun demikian, API sebuah komputer tidaklah berpengaruh sepenuhnya pada program-program yang dijalankan diatas platform operasi tersebut. Contohnya bila program yang dibuat untuk windows 3.1 bila dijalankan pada windows 95 dan generasi setelahnya akan terlihat perbedaan yang mencolok antara program tersebut dengan program yang lain.
      Sistem operasi utama yang digunakan komputer umum, termasuk PC dan komputer personal terbagi menjadi 3 kelompok besar :

1. Keluarga Microsoft Windows, yang antara lain terdiri dari Windows Desktop Environment (versi 1.x hingga versi 3.x), Windows 9x (Windows 95, 98, dan Windows ME), dan Windows NT (Windows NT 3.x, Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7 yang dirilis pada tahun 2009, dan Windows 8 yang akan dirilis pada tahun 2012 atau lebih lambat)).

2. Keluarga Unix yang menggunakan antarmuka sistem operasi POSIX, seperti SCO UNIX, keluarga BSD (Berkeley Software Distribution), GNU/Linux, MacOS/X (berbasis kernel BSD yang dimodifikasi, dan dikenal dengan nama Darwin) dan GNU/Hurd.

3. Mac OS, adalah sistem operasi untuk komputer keluaran Apple yang biasa disebut Macatau Macintosh. Sistem operasi yang terbaru adalah Mac OS X versi 10.6 (Snow Leopard). Musim panas 2011 direncanakan peluncuran versi 10.7 (Lion).

      Sedangkan komputer Mainframe, dan Super komputer menggunakan banyak sekali sistem operasi yang berbeda-beda, umumnya merupakan turunan dari sistem operasi UNIX yang dikembangkan oleh vendor seperti IBM AIX, HP/UX, dll.

2. Sejarah sistem operasi

      Menurut Tanenbaum, sistem operasi mengalami perkembangan yang sangat pesat, yang dapat dibagi kedalam empat generasi sebagai berikut.

1. Generasi Pertama (1945-1955)
      Generasi pertama merupakan awal perkembangan sistem komputasi elektronik sebagai pengganti sistem komputasi mekanik, hal itu disebabkan kecepatan manusia untuk menghitung terbatas dan manusia sangat mudah untuk membuat kecerobohan, kekeliruan bahkan kesalahan. Pada generasi ini belum ada sistem operasi, maka sistem komputer diberi instruksi yang harus dikerjakan secara langsung.
2. Generasi Kedua (1955-1965)
      Generasi kedua memperkenalkan Batch Processing System, yaitu Job yang dikerjakan dalam satu rangkaian, lalu dieksekusi secara berurutan.Pada generasi ini sistem komputer belum dilengkapi sistem operasi, tetapi beberapa fungsi sistem operasi telah ada, contohnya fungsi sistem operasi ialah FMS dan IBSYS.
3. Generasi Ketiga (1965-1980)
      Pada generasi ini perkembangan sistem operasi dikembangkan untuk melayani banyak pemakai sekaligus, dimana para pemakai interaktif berkomunikasi lewat terminal secara online ke komputer, maka sistem operasi menjadi multi user (di gunakan banyak pengguna sekaligus) dan multi-programming (melayani banyak program sekaligus).
4. Generasi Keempat (Pasca 1980an)
      Dewasa ini, sistem operasi dipergunakan untuk jaringan komputer dimana pemakai menyadari keberadaan komputer-komputer yang saling terhubung satu sama lainnya. Pada masa ini para pengguna juga telah dinyamankan dengan Graphical User Interface yaitu antar muka komputer yang berbasis grafis yang sangat nyaman, pada masa ini juga dimulai era komputasi tersebar dimana komputasi komputasi tidak lagi berpusat di satu titik, tetapi dipecah dibanyak komputer sehingga tercapai kinerja yang lebih baik.

3. Jenis-jenis sistem operasi

1. Windows (Microsoft windows)
      Microsoftt windows atau biasa dikenal dengan sebutan Windows adalah Sistem Operasi yang dikembangkan oleh Microsoft Corporation yang menggunakan antarmuka berbasis GUI (Graphical User Interface) atau tampilan antarmuka grafis. Awalnya Windows bermula dari Ms-Dos (Microsoft Disk Operating System) yaitu sebuah Sistem Operasi yang berbasiskan teks dan Command-Line interpreter. Windows versi pertama, Windows Graphic Environmnet 1.0 merupakan perangkat lunak yang bekerja atas arsitekstur 16-Bit, bukan merupakan Sistem operasi dan berjalan atas MS-DOS, sehingga untuk menjalankannya membutuhkan MS-DOS. MS-DOS sendiri sebenarnya dibuat oleh perusahaan pembuat komputer Seattle Computer Products, kemudian direkrut oleh Microsoft yang selanjutnya dibeli lisensinya. Kemudian berkembang menjadi Windows 1.0 versi pertama, sistem operasi yang berbasiskan GUI (Graphical User Interface) dan mendukung Multi-Tasking atau dapat mengerjakan banyak pekerjaan secara simultan.
      Setelah itu Windows 1.0 berkembang menjadi Windows 2.0, Windows 2.0 ini berbasis GUI dan mendukung penggunaan VGA (Video Graphics Array) dan mendukung Multi-Tasking. Windows 2.0 juga support terhadap penggunaan Processor Intel 80286, dimana Processor Intel 80286 adalah Processor pertama dengan kemampuan untuk memproteksi area memory. Kemudian dilanjutkan dengan generasi Windows 3.0 dimana Windows 3.0 memiliki kemampuan yang sama dengan Windows sebelumnya dan ditambah dukungan kartu grafis SVGA atau XGA dan juga icon yang lebih baik. Dalam era tersebut, Microsoft juga menyediakan SDK (Software Development kit) sehingga para developer piranti lunak dapat mengembangkan aplikasi atau programnya agar mampu berjalan di Windows 3.0 ini.
      Windows 3.0 juga memperkenalkan adanya Virtual Device Driver (VXD) dimana dapat berguna untuk meminimalisasi ketergantungan pada setiap driver pada perangkat keras tertentu. Windows 3.0 kemudian berevolusi menjadi Windows 3.1 yang sudah diperkenalkan dengan fitur Multimedia dan True Type Font selain itu juga memudahkan End-User karena adanya fitur Drag and Drop dan akhirnya Windows versi 3 ini berkembang menjadi Sistem Operasi yang sudah mengenal Net Working (Windows 3.11).
      Windows NT juga banyak digunakan dalam jaringan komputer. Windows NT juga memperkenalkan File System NTFS yang lebih baik dari FAT maupun FAT-32. Selanjutnya Windows NT berkembang menjadi Windows 2000 banyak fitur tambahan diantaranya : Active Directory, Image Preview, Browser Internet Explorer v6, DirectX dan Open GL, Plug and Play dan Windows Driver Model yang lebih baik performanya dibanding sebelumnya. Setelah generasi Windows NT munculah Windows XP yang menawarkan banyak perubahan, mempunyai banyak fitur dan performa yang semakin mengingkat. Bisa dikatakan Windows XP merupakan Windows yang paling laris dan digandrungi oleh pengguna PC maupun perangkat PC bergerak (Mobile). Seiring dengan kebutuhan akan networking maka Microsoft Corporation mengeluarkan Sistem Operasi yang berkonsentrasi pada jaringan, yaitu : Windows Server 2003. Bisa dibilang Windows Server 2003 adalah reinkarnasi dari Windows NT.
      Banyak sekali fitur yang ditawarkan pada Windows Server 2003 ini salah satunya adalah diperkenalkannya platform. Net. Diperkenalkan juga fitur Domain Controller Server, PKI (Public Key Infrastructure) Server, Domain Name System (DNS), Dynamic Host Configuration Protocol (DHCP), Windows Internet Name Service (WINS), Microsoft IIS, dan lain sebagainya. Microsoft pun melanjutkan perkembangan Sistem Operasi dengan Windows Vista (Longhorn), ini merupakan revolusi dari Windows XP. Windows Vista lebih mengutamakan interface atau penampilan grafis antarmuka dibandingkan dengan performa, dibuktikan dengan adanya fitur AERO, Sidebar, dan lain sebagainya.
      Windows Vista juga menawarkan tingkat keamanan yang lebih baik dibandingkan dengan Windows XP, karena pada Windows Vista diperkenalkan adanya Windows Firewall with Advanced Security, Windows Defender, Parental Control, User Account Control (UAC), BitLocker Drive Encryption, ASLR. Windows Vista juga sudah mengenal IPv6, DirectX versi terbaru, dan arsitekstur 64-Bit. Perkembangan selanjutnya adalah transisi dari Windows Server 2003 menjadi Windows Home Server yang ditujukan sebagai File Server untuk rumahan. Windows Server juga mengenalkan beberapa teknologi yaitu : Headless Operation (Server tidak membutuhkan monitor atau keyboard untuk memanjemen perangkat), Kontrol jarak jauh, Pemantauan kesehatan komputer, Sharing dan Streaming. Generasi berikutnya ditandai dengan munculnya penggabungan Sistem Operasi Windows Vista dengan Windows Server, yaitu Windows Server 2008. Fitur Windows Vista dan Windows Server digabung menjadi satu padu untuk meningkatkan keamanan dan kenyamanan End-User.
      Selanjutnya Windows Server 2008 berkembang menjadi Windows Server 2008 R2. Lalu Sistem Operasi besutan Windows adalah Windows 7, dirilis untuk menggantikan kekurangan Windows XP dan kelebihan Windows Vista. Boleh dikatakan jika Windows 7 adalah fusi dari Windows XP dan Windows Vista, tidak seperti pada Windows Vista,Windows 7 memiliki performa yang lebih baik dari Windows Vista. Sistem operasi terbaru dari microsoft, di rilis pada tahun 2012 yaitu windows 8. Windows 8 adalah nama dari versi terbaru Microsoft Windows, serangkaian sistem operasi yang diproduksi oleh Microsoft untuk digunakan pada komputer pribadi, termasuk komputer rumah dan bisnis, laptop, netbook, tablet PC, server, dan PC pusat media. Sistem operasi ini mendukung mikroprosesor ARM, selain mikroprosesor x86 tradisional buatan Intel dan AMD. Antarmuka penggunanya diubah agar mampu digunakan pada peralatan layar sentuh selain mouse dan keyboard, sehingga Windows 8 di desain untuk perangkat tablet sentuh.

2. UNIX
      UNIX ditulis dalam bahasa C sehingga UNIX pun mirip dengan DOS yaitu Line atau Text Command Based selain itu UNIX pun merupakan Sistem Operasi yang secure dibanding dengan Sistem Operasi lain, karena setiap file, direktori, user dan group memiliki set izin tersendiri untuk diakses. Karena adanya dukungan Proyek GNU, maka selanjutnya UNIX berkembang menjadi LINUX yang merupakan salah satu varian dari UNIX.

3. LINUX
      Awalnya dikembangkan oleh Linus Torvalds yang pada mulanya sekedar emulasi terminal yang dibutuhkan untuk mengakses server UNIX di Universitasnya. Linux merupakan kloningan dari MINIX (Salah satu varian UNIX), peralatan sistem dan pustaka linux, umumnya berasal dari Sistem Operasi GNU. Linux memiliki banyak desain yang berasal dari desain dasar UNIX, Linux menggunakan Kernel Monilitik yaitu Kernel Linux yang menangani kontrol proses, jaringan, periferal, dan pengaksesan sistem berkas. Sama seperti UNIX, Linux pun dapat dikendalikan oleh satu atau lebih antarmuka baris perintah (Command Line Interface) berbasis teks, antarmuka pengguna grafis (Graphical User Interface) yang merupakan konfigurasi bawaan untuk versi dektop.        Pada komputer desktop, GNOME, KDE dan Xfce merupakan antarmuka pengguna yang paling populer diantara varian antarmuka pengguna lainnya. Sebuah sistem Linux menyediakan antarmuka baris perintah lewat sebuah Shell (Konsole).
      Perbedaan utama antara Linux dan Sistem Operasi Populer lainnya terletak pada Kernel Linux dan komponen-komponennya yang bebas dan terbuka. Sama seperti pada UNIX, Linux berkonsentrasi pada Workstation dan Server banyak Workstation dan Server yang mengandalkan Linux karena Linux sangat stabil digunakan untuk jangka waktu lama dan Linux pun kebal terhadap Malware. Satu hal yang membedakan Linux terhadap Sistem Operasi lainnya adalah harga. Harga Linux ini kebanyakan Gratis walaupun ada juga yang berbayar (Lisensi). Linux dapat didistribusikan tanpa harus memberikan royalty kepada seseorang. Linux disusun berdasarkan standard Sistem Operasi POSIX yang diturunkan dari UNIX itu sendiri. Ada beberapa macam Distro Linux, seperti : Debian, Lycoris, Xandros, Lindows, Linare, Linux-Mandrake, Red Hat Linux, Slackware, Knoppix, Fedora, Suse, Ubuntu.

4. IBM OS/2
      Sistem Operasi IBM OS/2 ini dibuat secara bersama-sama oleh International Bussiness Machine Corporation dan Microsoft Corporation, untuk digunakan pada komputer IBM sebagai pengganti Sistem Operasi DOS. Kata OS/2 adalah singkatan dari Operating System/2, Sistem Operasi ini didesain agar dapat menggunakan kemampuan penuh dari Mikroprosessor Intel 80286, termasuk diantaranya adalah Modus terproteksi (Protected Mode), mampu menjalankan tugas secara Simultan, serta mendukung Memori Virtual, dengan tetap mempertahankan kompatibilitas dengan banyak perangkat lunak MS-DOS yang beredar saat itu.

5. MAC OS
      MAC OS atau Macintosh Operating System adalah Sistem Operasi yang dibuat oleh Apple Computer khusus untuk komputer Macintosh dan tidak kompatibel dengan komputer berbasis IBM. MAC OS merupakan Sistem Operasi pertama yang menggunakan antarmuka pengguna grafis (Graphical User Interface). Sistem Operasi Macintosh dibagi menjadi 2 jenis :
A. MAC OS Klasik 
      Tidak memiliki sembarang Command Line (Baris perintah), menggunakan User Interface (UI) sepenuhnya dan menggunakan Cooperative Multitasking.
B. MAC OS X 
      MAC OS X memasukkan unsur-unsur BSD Unix, One Step, dan MAC OS X memiliki memori ala-Unix dan Pre-Emptive Multitasking. 
      Kelebihan MAC OS yaitu Stabil, karena menggunakan UNIX, multitasking, tampilan (UI) sangat bagus, aman dari Malware. 
      MAC OS X adalah Sistem Operasi yang dikembangkan, dipasarkan oleh Apple Inc, MAC OS X adalah penerus dari MAC OS Klasik. MAC OS X dibangun di atas XNU kernel, dengan fasilitas standar Unix, dari antarmuka baris perintah.

6. FREE BSD
      Free BSD adalah Sistem Operasi bertipe UNIX bebas yang diturunkan dari UNIX AT&T. Free BSD berjalan di atas sistem intel x86. Free BSD sendiri kali pertama muncul pada tahun 1993 oleh David Greenman. Tujuan dari Free BSD adalah menyediakan software yang dapat digunakan untuk berbagai kepentingan. Free BSD sendiri dikembangkan dari 386BSD sebuah proyek pengembangan BSD OS yang berjalan di atas Chip Intel.

7. Solaris
      Sistem Operasi Solaris adalah sebuah Sistem Operasi yang berdasarkan UNIX system yang diperkenankan oleh Sun Microsystems pada tahun 1992 sebagai pendukung Sun OS. Solaris terkenal karena kestabilannya, khususnya pada sistem SPARC (Scalable Processor Architecture), Solaris disertifikasi dalam Spesifikasi UNIX walaupun pada awal pengembangannya berdasarkan kepemilikan pribadi, dan kebanyakan kode dasarnya sekarang ini merupakan Software Open Source yang biasa dikenal dengan Open Solaris. Open Solaris adalah Open Source versi Sistem Operasi Sun Solaris, tetapi Sun Solaris terdiri dari lebih beberapa kode yang tidak hanya inti dari Sistem Operasi misalnya : Source untuk Installer, Desktop, Software. Open Solaris memiliki banyak fitur yang menjadikan Open Solaris bisa digunakan untuk skala penggunaan yang besar dari penggunaan untuk desktop pC atau Mobile PC. Konsep Open Solaris adalah Free Redistribution, Didistribusi secara bebas. Source Code, Sumber (Source) harus tersedia untuk semua distribusi. Derived Works, Setiap orang bisa mengubah kode dan mendisrtibusikan kembali. No Discrimination, Kode harus disediakan untuk seseorang untuk dikembangkan.

8. Chrome OS
      Chrome OS adalah Sistem Operasi besutan Google yang ringan dan berbasis Linux dan standard web untuk personal computer. Google Chrome bekerja dengan metode Windowing atau switching (Multi-Tasking). Google Chrome OS menggunakan standard web HTML 5, yang merupakan pengembangan software di browser yang berbasis Sistem Operasi. Jika dilihat-lihat, Chrome OS ini merupakan gabungan dari Linux dan Windows Vista. Chrome OS dirilis pada pertengahan 2010.

4. Fitur-fitur pada sistem operasi

      Beberapa fitur yang ada di dalam system operasi adalah sebagai berikut.
1. Eksekusi Program
      Sistem operasi berfungsi sebagai interface antara aplikasi dan hardware. User berinteraksi dengan hardware melalui “sisi lain”. Sistem operasi berfungsi untuk menyederhanakan pengembangan aplikasi. Eksekusi program melibatkan proses yang diciptakan sistem operasi. Kernel menciptakan proses dengan menugaskan memori dan sumber daya yang lain, menentukan prioritas dari suatu proses dalam sistem multitasking, memuat program dalam memori dan mengeksekusi program. Program tersebut kemudian berinteraksi dengan user dan atau device dan melakukan fungsi yang diinginkan.

2. Interupsi
      Interupsi adalah pusat sistem operasi, yang menyediakan cara efisien bagi sistem operasi untuk berinteraksi dan bereaksi terhadap lingkungannya. Pemrograman berbasis interupsi secara langsung didukung hampir seluruh CPU modern. Interupsi menyediakan cara otomatis menyimpan isi register local dan menjalankan kode khusus sebagai respon terhadap sebuah kejadian. Bahkan komputer yang paling dasar sekalipun mendukung interupsi hardware dan membolehkan pemrogram untuk menentukan kode yang akan di jalankan ketika terjadi sebuah kejadian. Ketika sebuah interupsi diterima, hardware komputer secara otomatis menunda program apapun yang sedang dijalankan, menyimpan statusnya dan menjalankan kode komputer yang berhubungan dengan interrupsi yang terjadi sebelumnya. Dalam sistem operasi modern, interupsi ditangani oleh kernel sistem operasi. Interupsi bisa datang dari hardware komputer atau program yang sedang dijalankan.

3. Mode terproteksi dan supervisor
CPU modern mendukung operasi dual mode, atau dapa disebut sebagai mode terproteksi dan mode supervisor, yang memungkinkan fungsi-fungsi CPU dikendalikan dan dipengaruhi hanya oleh kernel sistem operasi. Ketika komputer pertama kali mulai, secara otomatis berjalan di atas mode supervisor. Ketika sistem operasi mengendalikan program lain, CPU ditempatkan pada mode terproteksi. Dalam mode terproteksi ini, program punya akses terbatas pada instruksi CPU. User bisa meninggalkan mode ini hanya dengan memulai interupsi, yang menyebabkan kendali kembali kepada kernel.

4. Manajemen memori
      Sebuah kernel sistem operasi multi programming bertanggung jawab untuk mengatur semua sistem memori yang sedang digunakan oleh program-program. Hal ini untuk memastikan bahwa program tidak mencampuri memori yang sedang digunakan oleh program lain. Ketika program melakukan time sharing, setiap program harus mempunyai akses independen terhadap memori.

5. Memori virtual
      Menggunakan pengalamatan memori virtual, maksudnya adalah kernel bisa memilih memori program mana yang bisa digunakan selama waktu tertentu, yang membolehkan sistem operasi untuk menggunakan lokasi memori yang sama untuk tugas yang banyak.

6. Multitasking
      Multitasking adalah sistem operasi menjalankan banyak program komputer yang independen pada komputer yang sama, seolah-olah terlihat menjalankan berbagai tugas dalam waktu yang sama. Hampir semua komputer dapat menjalankan satu atau dua hal pada waktu yang sama, ini secara umum dilakukan melalui time sharing, yaitu setiap program menggunakan pembagian waktu komputer untuk mengeksekusi program.

7. Disk access dan sistem file
      Mengakses data yang disimpan pada disk adalah fitur pusat dari semua sistem operasi. Komputer menyimpan data pada disk menggunakan file-file, yang disusun dengan cara khusus supaya memungkinkan akses cepat, reliabilitas yang tinggi dan untuk menggunakan space drive yang tersedia secara lebih baik. Cara khusus yang digunakan untuk menyimpan file pada disk, membolehkan file untuk dinamai dan diberi atribut disebut sistem file.
8. Driver-driver device
Sebuah driver device adalah tipe khusus software komputer yang dibuat agar sistem operasi bisa berinteraksi dengan device-device hardware.
9. Networking
Sekarang sebagian besar sistem operasi mendukung berbagai macam protokol, hardware dan aplikasi networking. Hal ini bertujuan agar komputer yang menggunakan sistem operasi yang berbeda dapat berpartisipasi dalam jaringan umum untuk berbagi sumber daya seperti file, printer dan scanner menggunakan koneksi kabel atau wireless.

10. Keamanan
      Keamanan komputer bergantung pada sejumlah teknologi yang bekerja secara tepat. Sebuah sistem operasi modern menyediakan akses ke sejumlah sumber daya, yang tersedia untuk software yang berjalan di atas sistem tersebut dan untuk device luar seperti jaringan melalui kernel.

11. Graphical user interfaces
      Kebanyakan sistem komputer modern mendukung Graphical User Interface (GUI) atau antar muka grafis. Sistem operasi populer semacam Microsoft Windows dan Mac OS, menyatukan GUI kedalam kernel, walaupun secara teknis GUI bukanlah layanan dari sistem operasi.


























Referensi :

https://www.utopicomputers.com/macam-macam-dan-jenis-sistem-operasi-komputer/.
https://www.belajar-komputer-mu.com/2012/02/pengertian-sistem-operasi-komputer-operating-system.html.
https://www.nesabamedia.com/pengertian-dan-fungsi-sistem-operasi/.

GRAF DAN POHON

      Dalam pembuatan graf atau pohon dapat menggunakan algoritma dijkstra atau kruskal. Kedua algoritma ini dapat digunakan untuk pembuatan graf pada kasus yang ada di lingkungan sekitar, biasanya algoritma ini digunakan untuk mengukur jarak antar tempat yang menghasilkan suatu graf atau pun pohon.
      Algoritma dijkstra (pencarian jalur terpendek), merupakan suatu algoritma yang disebut sebagai single-source shortest path yang digunakan dalam menentukan jalur terpendek dari simpul sumber menuju simpul tujuan berdasarkan bobot pada sisi. Bobot pada sisi dapat berupa jarak, waktu, biaya, ataupun bobot yang lainnya. Algoritma dijkstra bekerja dengan cara mengujungi semua simpul-simpul yang terdapat pada graf, dimulai pada simpul sumber. Secara berulang, algoritma ini akan memilih simpul-simpul terdekat dan menghitung total bobot semua sisi yang dilewati untuk mencapai simpul tujuan.
      Algoritma ini bertujuan untuk menemukan jalur terpendek berdasarkan bobot terkecil dari satu titik ke titik lainnya. Misalkan titik mengambarkan gedung dan garis menggambarkan jalan, maka algoritma Dijkstra melakukan penghitungan terhadap semua kemungkinan-kemungkinan adanya bobot terkecil dari setiap titik.
      Sedangkan algoritma kruskal adalah sebuah algoritma dalam teori graf yang mencari sebuah minimum spanning tree untuk sebuah graf berbobot yang terhubung. Ini berarti, jika grafik tidak terhubung, maka harus menemukan hutan rentang minimum atau pohon rentang minimum untuk setiap komponen yang terhubung di dalam graf terhubung. Algoritma Kruskal juga tergolong algoritma Greedy dalam teori graf yang digunakan untuk mencari minimum spanning tree. Algoritma ini pertama kali muncul pada tahun 1956 dalam sebuah tulisan yang ditulis oleh Joseph Kruskal. Algoritma Kruskal adalah contoh dari algoritma rakus . Algoritma ini pertama kali muncul dalam Prosiding American Mathematical Society , hal 1956.
      Dasar pembentukan algoritma Kruskal berasal dari analogi growing forest. Growing forest maksudnya adalah untuk membentuk pohon merentang minimum T dari graf G adalah dengan cara mengambil satu per satu sisi dari graf G dan memasukkannya ke dalam pohon yang telah terbentuk sebelumnya. Seiring dengan berjalannya jalur graf ke setiap sisi, maka forest akan memiliki pohon yang semakin sedikit. Analogi ini disebut dengan growing forest. Algoritma Kruskal akan terus menambahkan sisi-sisi ke dalam hutan yang sesuai, hingga akhirnya tidak ada lagi forest, melainkan hanya sebuah pohon merentang minimum.
      Graph adalah kumpulan dua himpunan, yaitu himpunan titik ( vertex, simpul atau node ) dan kumpulan dari garis ( edge ). Sedangkan pohon merupakan graph tak berarah yang terhubung dan tidak mengandung sirkuit. Sirkuit sendiri ialah simpul awal sama dengan simpul akhir.
- Kelebihan Algoritma Kruskal
      Kelebihan algoritma Kruskal dibanding algoritma prim adalah sebagai berikut :
Sangat cocok diterapkan saat graf memiliki sisi berjumlah sedikit namun memiliki sangat banyak simpul, karena orientasi kerja algoritma ini adalah berdasarkan pada urutan bobot sisi, tidak berdasarkan simpul.

Contoh pemecahan permasalahan

- Pencarian rumah makan dengan algoritma djikstra dan algoritma kruskal.
1. Peta tata letak antar rumah makan.


2. Graf rumah makan


Keterangan :
A : Warung Nasi Goreng Hj. Udin
B : Rumah Makan Padang Lubuak
C : Rumah Makan Masakan Banjar Mama Aswan
D : Rumah Makan Bubur Ayam Pak Suhendar
E : Nasi Kuning Jasmine
F : Warung Makan Nasi Rames Mesra Malang
G : Depot Mega
H : Warung Makan Umi
I : Rumah Makan Padang Telaga
J : Rumah Makan Bulan

3. Tabel matriks dari graf rumah makan


      Kesimpulan dari materi ini adalah algoritma dijkstra (pencarian jalur terpendek), merupakan suatu algoritma yang disebut juga sebagai single-source shortest path yang digunakan dalam menentukan jalur terpendek dari simpul sumber menuju simpul tujuan berdasarkan bobot pada sisi. Algoritma dijkstra bekerja dengan cara mengujungi semua semua simpul-simpul yang terdapat pada graf yang dimulai pada simpul sumber.
      Algoritma kruskal adalah sebuah algoritma dalam teori graf yang mencari sebuah minimum spanning tree untuk sebuah graf berbobot yang terhubung. Dasar pembentukan algoritma Kruskal berasal dari analogi growing forest. Graph adalah kumpulan dua himpunan, yaitu himpunan titik ( vertex/simpul/node ) dan kumpulan dari garis ( edge ). Tree merupakan graph tak berarah yang terhubung dan tidak mengandung sirkuit. Sirkuit sendiri ialah simpul awal = simpul akhir.


























Referensi :
Laporan algoritma dan pemrograman 2 kelompok 4

BASIS DATA 1 BAB 4

Normalisasi


1. Pengantar normalisasi

      Normalisasi database merupakan suatu pendekatan sistematis untuk meminimalkan redundansi data pada suatu database agar database tersebut dapat bekerja dengan optimal. Tujuan normalisasi database adalah untuk menghilangkan dan mengurangi redudansi data dan tujuan yang kedua adalah memastikan dependensi data (Data berada pada tabel yang tepat).
      Jika data dalam database tersebut belum di normalisasi maka akan terjadi 3 kemungkinan yang akan merugikan sistem secara keseluruhan.
1. Insert Anomali, situasi dimana tidak memungkinkan memasukkan beberapa jenis data secara langsung di database.
2. Delete Anomali, penghapusan data yang tidak sesuai dengan yang diharapkan, artinya data yang seharusnya tidak terhapus mungkin ikut terhapus.
3. Update Anomali, situasi dimana nilai yang diubah menyebabkan inkonsistensi database, dalam artian data yang diubah tidak sesuai dengan yang diperintahkan atau yang diinginkan.

2. Bentuk normal pertama (1NF)

      Bentuk normalisasi 1NF ini mengelompokkan beberapa tipe data atau kelompok data yang sejenis agar dapat dipisahkan sehingga anomali data dapat di atasi. Pada tahap ini dilakukan penghilangan beberapa group elemen yang berulang agar menjadi satu harga tunggal yang berinteraksi di antara setiap baris pada suatu tabel, dan setiap atribut harus mempunyai nilai data yang atomic (bersifat atomic value). Atom adalah zat terkecil yang masih memiliki sifat induknya, bila terpecah lagi maka ia tidak memiliki sifat induknya.

      Syarat bentuk normal pertama adalah sebagai berikut.
1. Setiap data dibentuk dalam flat file, data dibentuk dalam satu record demi satu record nilai dari field berupa “atomic value”.
2. Tidak ada set atribute yang berulang atau bernilai ganda.
3. Telah ditentukannya primary key untuk tabel atau relasi tersebut.
4. Tiap atribut hanya memiliki satu pengertian.

3. Bentuk normal kedua (2NF)

      Bentuk kedua ini adalah tidak boleh ada field yang berhubungan dengan field lainnya secara fungsional.
      Bentuk ini didefinisikan berdasarkan depedensi fungsional dengan syarat-syarat berikut. 
1. Berada pada bentuk normal pertama.
2. Semua atribut bukan kunci memiliki depedensi sepenuhnya terhadap kunci primer Contoh : Nama dan jabatan mempunyai depedensi fungsional terhadap NIP. 
3. Lama mempunyai depedensi fungsional terhadap NIP dan keahlian.
4. Bentuk tabelnya adalah : NNJ (NIP, Nama, Jabatan) dan NKL (NIP, Keahlian, Lama).
      Bentuk normal kedua didasari atas konsep full functional dependency (ketergantungan fungsional sepenuhnya) yang dapat didefinisikan sebagai berikut.
      Jika A adalah atribut-atribut dari suatu relasi, B dikatakan full functional dependency (memiliki ketergantungan fungsional terhadap A, tetapi tidak secara tepat memiliki ketergantungan fungsional dari subset (himpunan bagian) dari A.

4. Bentuk normal ketiga (3NF)

      Normalisasi database dalam bentuk 3NF bertujuan untuk menghilangkan seluruh atribut atau field yang tidak berhubungan dengan primary key. Dengan demikian tidak ada ketergantungan transitif pada setiap kandidat key.
      Bentuk Normal 3NF memiliki syarat sebagai berikut.
1. Berada dalam bentuk normal 2 NF.
2. Setiap atribut bukan kunci tidak memiliki depedensi transitif terhadap kunci primer.
      Walaupun relasi 2-NF memiliki redudansi yang lebih sedikit dari pada relasi 1-NF, namun relasi tersebut masih mungkin mengalami kendala bila terjadi anomaly peremajaan (update) terhadap relasi tersebut.

























Referensi :

https://www.academia.edu/16271805/Pengertian_Normalisasi.
http://mfikri.com/artikel/aturan-dan-teknik-dalam-melakukan-normalisasi-data.html.




BASIS DATA 1 BAB 3

Basis data relasional

1. Pengantar basis data relasional

      Basis data Relasional sebenarnya adalah suatu konsep penyimpanan data terstruktur, sebelum konsep database relasional muncul sudah ada uda model database yaitu network database dan hierarchie database. Teori database relasional di kemukakan pertamakali oleh Dr. E.F. Codd.
      Dalam database relasional, data disimpan dalam bentuk relasi atau tabel dua dimensi, dan antara tabel satu dengan tabel lainnya terdapat hubungan atau relationship sehingga dapat di simpulkan, database adalah kumpulan dari sejumlah tabel yang saling hubungan atau saling keterkaitan. Kumpulan dari data yang diorganisasikan sebagai tabel tadi disimpan dalam bentuk data elektronik di dalam harddisk komputer dan dikelompokan secara logis berdasarkan schema user.
      Untuk membuat struktur tabel, mengisi data ke tabel, memperbarui data dan menghapus data dari tabel diperlukan software. Perangkat lunak yang digunakan membuat tabel, isi data, ubah data, dan hapus data disebut Relational Database Management System atau yang biasa di singkat dengan RDBMS. Sedangkan perintah yang digunakan untuk membuat tabel, mengisi tabel, mengubah tabel, dan menghapus data disebut perintah SQL, yang merupakan singkatan dari Structure Query Language. Jadi, setiap aplikasi perangkat lunak RDBMS pasti bisa dipakai untuk menjalankan perintah SQL.
      Sebenarnya fungsi RDBMS bukan cuma untuk buat tabel, isi data, ubah data dan hapus data. Untuk manajemen data dalam skala yang besar dan agar bisa mendukung proses bisnis yang kontinyu atau terus menerus dan real time suatu Relational Database Management System dituntut untuk mempunyai kemampuan manajemen user dan keamanan data yang terjamin, mencadangkan data dan mengembalikan data serta kemampuan lainnya yang berkaitan dengan kecepatan pemrosesan data.
Sebuah aplikasi perangkat lunak RDBMS yang ada di pasaran saat ini dan paling sering digunakan adalah Oracle Database yang di keluarkan oleh Oracle Corporation.
      Jenis database relasional yang merupakan jenis database yang paling sederhana disamping jenis database pendahulunya yaitu database Hierarki (Hierarchical Database Model), dan database Jaringan (Network Database Model). Jenis database relasional menggunakan strukrur database 2D (dimensi). Perlu diketahui bahwa kedua model pendahulu relasional database yaitu  database hirarki dan database jaringan untuk saat ini sudah tidak banyak digunakan, hal ini karena adanya berbagai kelemahan dan fungsionalitas yang ada dari kedua jenis database tersebut yang sudah memenuhi spesifikasi atau kebutuhan aplikasi modern saat ini, yang menuntut sistem database yang lebih kompleks dan terstruktur untuk memenuhi berbagai kebutuhan komputasi skala besar saat ini, baik dalam skala personal maupun Enterprise.
      Untuk membuat sistem basis data yang terpadu, perlu menghubungkan terlebih dahulu kedua tabel yang ingin dikoneksikan. Untuk setiap tabel yang ada, terdapat field kunci atau primary key, primary key ini dikoneksikan pada tabel kedua sehingga di tabel kedua akan menjadi foreign key. Dengan relational database ini, cukup mengubungkan kedu tabel yang ada, melalui foreign key.
Ilmu yang mempelajari tentang konsep Database Relasional disebut Database Relational System.
      Database relasional System merupakan konsep yang muncul setelah adanya konsep database pendahulunya yaitu network database dan hierarchycal database. Dalam jenis database relasional ini, ada penggambaran yang jelas tentang hubungan suatu tabel dengan tabel yang lain yang bisa dilakukan, hubungan ini digambarkan dengan garis solid yang menghubungkan antara satu field name di tabel yang satu, dengan satu field name di tabel yang lain. Misalnya field name kdpasien di tabel pasien dengan field name kdpasien di tabel diagnose pasien, yang saling terhubung karena adanya kesamaan dalam fungsi dan entitas dari objek yang dimaksud. Dengan demikian, sebuah database relasional ini dirancang untuk memiliki keterkaitan antar tabelnya, menyesuaikan dengan program atau analisa sistem yang dirancang.
      Untuk melakukan pembuatan struktur, pengisian, pengeditan, dan penghapusan database diperlukan software atau perangkat lunak, dan jenis perangkat lunak yang dimaksud adalah RDBMS atau disebut Relational Database Management System. Sedangkan command yang diterapkan untuk melakukan berbagai manipulasi terhadap database dan tabel yang ada di software RDBMS disebut SQL (Structured Query Language). Seperti yang telah dijelaskan di atas.
      RDBMS adalah sebuah software komputer yang digunakan untuk membuat, menyunting dan menanajemen basis data yang telah mendukung skema relational. Pemanfaatan program ini sangat banyak sekali contohnya, misalnya dalam sistem apoteker, sistem penyewaan mobil, sistem penjualan barang, sistem kepustakaan, sistem pertokoan, dan masih banyak lagi. RDBMS sendiri memiliki tingkatan sesuai skala yang akan digunakan, ada RDBMS yang digunakan untuk small-scale database semisal aplikasi stock sederhana, aplikasi perpustakaan, dan ada aplikasi large-scale database yaitu aplikasi RDBMS dengan skala yang lebih luas mencakup kebutuhan enteprise, contohnya adalah aplikasi Oracle yang digunakan untuk menangani kebutuhan akan manajemen Perusahaan berskala besar dengan jumlah record yang sangat besar.

2. Keys

      Ada beberapa jenis key yang terdapat dalam basis data, yaitu :
1. Super Key
      Satu atribut atau kumpulan atribut yang secara unik mengidentifikasi sebuah tupel di dalam suatu relasi.
2. Candidate Key
      Atribut di dalam relasi yang biasanya mempunyai nilai unik.
3. Primary Key
      Candidate key yang dipilih untuk mengidentifikasikan tupel secara unik dalam relasi.
4. Alternate Key
      Candidate key yang tidak dipilih sebagai primary key.
5. Foreign Key
      Atribut dengan domain yang sama yang menjadi kunci utama pada sebuh relasi tetapi pada relasi lain, atribut tersebut hanya sebagai atribut biasa.

3. Pengantar model E-R

      Model Entity-Relationship adalah model data konseptual tingkat tinggi untuk perancangan basis data. Model data konseptual adalah himpunan konsep yang mendeskripsikan struktur basis data, transaksi pengambilan dan pembaruan basis data. Model E-R adalah data konseptual ynag tidak tergantung DBMS dan platform perangkat keras tertentu. Model ER dikemukakan oleh Chen [1976]. Sejak itu, telah memperoleh banyak perhatian dan perluasan. Model ER adalah persepsi terhadap dunia nyata yang terdiri dari objek-objek dasar yang disebut entitas dan keterhubungan (relationship) antar entitas-entitas itu. Konsep paling dasar di model ER adalah entitas, relationship dan atribut.

      Komponen-komponen utama model E-R adalah :
1. Entitas (entity), entitas memodelkan objek-objek yang berada di perusahaan atau lingkungan.
2. Relationship, merupakan komponen yang memodelkan koneksi atau hubungan di antara entitas-entitas yang ada.
3. Atribut (property), merupakan komponen yang memodelkan properti-properti dari entitas dan relationship.
4. Konstrain-konstrain (batasan-batasan) integritas, konstrain-konstrain ketentuan validitas.

      Model E-R menggambarkan dunia nyata dalam dua kelompok yaitu entitas dan relationship. Entitas adalah objek atau konsep yang memiliki karakter yang spesifik. Relationship adalah hubungan antara entitas. Contoh relationship yang dalam domain perbankan adalah relationship antara entitas nasabah dengan acccount (nasabah memiliki account). Notasi untuk entitas pada diagram E-R adalah menggunakan segi empat. Sedangkan notasi untuk relationship menggunakan simbol diamond.

4. ERD

      Entity Relationship Diagram (ERD) adalah pemodelan awal basis data yang paling banyak digunakan. ERD dikembangkan berdasarkan teori himpunan dalam bidang matematika. Tidak hanya perangkat lunak yang memiliki alur hidup, dalam membuat perencanaan basis data juga memiliki alur hidup atau Database Life Cycle (DBLC).

      Fase-fase DBLC antara lain :
1. Analisis kebutuhan
      Hal-hal yang harus dilakukan pada tahap ini adalah didefinisikan dengan mewawancarai produsen dan pemakai data, data apa sajakah yang perlu untuk disimpan dan terkait dengan aplikasi komputer yang akan dikembangkan, membuat kontrak spesifikasi basis data, ERD sebagai bagian dari desain konseptual.
2. Desain logikal basis data, Pada tahap ini harus dibuat rancangan topik basis data. Biasanya pada tahap ini dibuat Conceptual Data Model (CDM).
3. Desain fisikal basis data, pada tahap ini harus dibuat rancangan fisik basis data. Biasanya pada tahap ini dibuat Physical Data Model (PDM).
4. Implementasi, membuat Query SQL dan aplikasi ke DBMS atau file.

      ERD memiliki beberapa komponen sebagai berikut.
1. Entitas
      Entitas adalah suatu objek yang dapat dikenali dari obyek yang lain. Contoh: seseorang yang khusus, perusahaan, peristiwa, tanaman dan lain-lain. Entitas mempunyai atribut. Contoh: seseorang mempunyai nama dan alamat. Kumpulan entity adalah suatu kumpulan entity dengan tipe yang sama yang berbagi properti yang sama pula. Contoh: kumpulan orang, perusahaan, tanaman, tempat liburan dan lain-lain.
2. Atribut
      Entitas ditampilkan oleh sekumpulan atribut, yang mana properti deskriptifnya dikuasai oleh seluruh anggota dalam kumpulan Entitas. Tipe atribut ada beberapa macam sebagai berikut.
      A. Simple (sederhana) dan composite (gabungan) attributes.
      B. Single-valued (satu-fungsi) dan multi-valued (multi-fungsi) attributes. Contoh atribut multi-fungsi adalah nomor telepon.
      C. Derived (turunan) attributes : dapat diperhitungkan dari atribut lain Contoh : umur, tanggal kelahiran.
3. Relationship
      Relationship adalah kesesuaian antar beberapa entitas. Relationship set adalah hubungan matematika antara entity n>2, tiap bagiannya diambil dari satuan entity {(e1, e2, … en) | e1  E1, e2  E2, …, en  En} dimana (e1, e2, …, en) adalah relationship. Atribut dapat menjadi properti dari relationship set. Sebagai contoh : depositor merupakan relationship set antara entity sets customer dan account mungkin beratribut access-date. Mengacu pada jumlah entity sets yang terlibat dalam relationship set. Relationship sets yang melibatkan dua entity sets adalah binary (tingkat dua).
      Umumnya, hampir semua relationship sets dalam sistem database adalah binary. Relationship sets mungkin melibatkan lebih dari dua entity sets. Contoh : misal seorang pegawai bank bekerja dan bertanggung jawab dalam beberapa cabang, dengan tugas yang berlainan dalam setiap cabang yang berlainan pula. Maka disini terdapat relationship set ternary antara entity sets pegawai (employee), tugas (job) dan cabang (branch). Relationships antara lebih dari dua entity sets sangat jarang terjadi.

      Mengungkap jumlah entitas ke entitas yang lain bisa dihubungkan melalui relationship set. Cardinalitas pemetaan paling banyak digunakan dalam menggambarkan relationship sets biner. Untuk relationship set biner, cardinalitas pemetaan harus merupakan salah satu dari tipe berikut.
1. One to one (satu ke satu)
2. One to many (satu ke banyak)
3. Many to one (banyak ke satu)
4. Many to many (banyak ke banyak)

5. CDM

      CDM  adalah  model  yang  dibuat  berdasarkan  anggapan  bahwa  dunia  nyata  terdiri dari obyek-obyek  dasar  yang  dinamakan  entitas  (entity)  serta  hubungan (relationship)  antara  entitas-entitas  itu.  Biasanya CDM direpresentasikan dalam bentuk Entity Relationship.

      Manfaat penggunaan CDM dalam perancangan database adalah sebagai berikut.
1. Memberikan   gambaran   yang   lengkap   dari   struktur   basis   data yaitu   arti, hubungan, dan batasan-batasan.
2. Alat komunikasi antar pemakai basis data, designer, dan analis.

      Conceptual Data Model adalah sebuah representasi seluruh muatan informasi yang dikandung oleh basis data. Tidak seperti level eksternal maka pada level conceptual, keberadaannya tidak memperhitungkan kekurangan perangkat keras maupun perangkat lunak pembangun aplikasi basis data. CDM didefinisikan sebagai sebuah skema konseptual.
      CDM adalah model yang dibuat berdasarkan anggapan bahwa dunia nyata terdiri dari koleksi obyek-obyek dasar yang dinamakan entitas (entity) serta hubungan (relationship) antara entitas-entitas itu. Biasanya CDM direpresentasikan dalam bentuk Entity Relationship Diagram.

      Jenis-jenis objek dalam CDM ada beberapa macam sebagai berikut.
1. Entitas
      Untuk membuat entitas, klik item pada palette dengan label Entity, kemudian klik space putih di sebelah kanan. Untuk membuat beberapa entitas, klik terus sebanyak jumlah entitas yang dibutuhkan.
2. Relationship
      Untuk membuat relasi antara 2 buah entitas, klik item pada palette dengan label Relationship, kemudian hubungkan kedua entitas. Beri nama pada relasi yang sudah dibuat dengan melakukan double klik pada relasi dan mengisi nama pada field Name pada tab General.
3. Inheritance
      Untuk membuat inheritance dari sebuah entitas, terlebih dahulu buat entitas-entitas lain yang merupakan child dari entitas parent. Lalu klik item pada palette dengan label inheritance, hubungkan entitas parent dengan salah satu entitas child. Untuk menghubungkan entitas child yang lain, tarik garis antara lambang inheritance (bentuk setengah lingkaran) dengan entitas child. Kemudian beri nama pada inheritance.

6. PDM

      Physical Data Model atau yang biasa disebut PDM. Merupakan representasi fisik dari database yang akan dibuat dengan mempertimbangkan DBMS yang akan digunakan. PDM dapat dihasilkan (di-generate) dari CDM yang valid. PDM dalam penerapannya dapat di samakan dengan Skema. Relasi yang fungsinya adalah memodelkan struktur fisik dari suatu basis data. Merupakan gambaran secara detail suatu basis data dalam bentuk fisik. PDM memperlihatkan struktur penyimpanan data yang benar pada basis data yang digunakan sesungguhnya.
      PDM merupakan gambaran secara detail basis data dalam bentuk fisik. Penggambaran rancangan PDM memperlihatkan struktur penyimpanan data yang benar pada basis data yang digunakan sesungguhnya. Perancangan database secara fisik. Tipe data bersifat lebih khusus dan spesifik. Perancangan PDM merupakan representasi fisik yang sebenarnya dari database.
      PDM merupakan model yang menggunakan sejumlah tabel untuk menggambarkan data serta hubungan antara data-data tersebut. Setiap tabel mempunyai sejumlah kolom di mana setiap kolom memiliki nama yang unik. PDM merupakan rancangan database secara fisik. Tipe data bersifat lebih khusus dan spesifik.

7. RAT

      Secara umum, relasi antar table adalah hubungan antara tabel yang mempresentasikan hubungan antar objek di dunia nyata. Relasi merupakan hubungan yang terjadi pada suatu tabel dengan tabel lainnya yang mempresentasikan hubungan antar objek di dunia nyata dan berfungsi untuk mengatur operasi suatu database.
      Jadi, relasi merupakan penghubung antar tabel satu dengan tabel lainnya yang mana tabel tersebut memiliki data yang berhubungan di dunia nyata untuk mengatur operasi suatu database. Pada sebuah database, relasi dihubungkan dengan cara memberikan satu kolom dengan value yang sama dengan tabel yang berhubungan, ini disebut foreign key. Foreign key sendiri merupakan sebuah kolom yang hanya bisa menyimpan data yang sama dengan primary key yang berhubungan dengan tabel tersebut. Artinya foreign key hanya bisa diisi dengan data yang sudah ada pada primary key.

      Relasi antar table mencakup tiga macam sebagai berikut.
1. Relasi one to one
      Relasi one to one adalah relasi dimana setiap satu baris data pada tabel satu hanya berhubungan dengan satu baris data di tabel dua. Artinya masing-masing hanya memiliki satu hubungan saja.
2. Relasi one to many
      Relasi one to many adalah relasi yang mana setiap baris dari tabel pertama dapat dihubungkan dengan satu baris ataupun lebih dari tabel kedua, artinya satu baris dari tabel pertama dapat mencangkup banyak data pada tabel kedua.
3. Relasi many to many
      Relasi many to many adalah keadaan dimana satu baris dari tabel satu dapat berhubungan dengan tabel kedua.

























Referensi :

https://www.dictio.id/t/apa-yang-dimaksud-dengan-relasional-basis-data-atau-database relational/3748.
https://materikuliah.tigaputri.asia/basis-data-relasional/.
https://id.scribd.com/doc/225907570/Pengertian-Database-Relasional.
https://dosenit.com/kuliah-it/database/database-relasional.









BASIS DATA 1 BAB 2

Konsep dan arsitektur SMBD

1. Model, schema dan instances data

      Dalam pembuatan basis data, agar basis data yang dibuat bisa sesuai dengan yang kita inginkan, maka diperlukan proses perancangan terlebih dahulu. Dimana dalam proses ini dilakukan pendeskripsian data dalam bentuk schema serta pembuatan model datanya. Oleh karena itu, kita perlu mengetahui konsep dari schema dan model data dalam basis data.
      Schema merupakan deskripsi dari basis data berupa abstraksi data yang terdiri dari nama dan tipe dari record, item-item data, serta constraint dari basis data. Sedangkan model data merupakan alat utama yang digunakan untuk menyediakan abstraksi data. Dengan kata lain, model data merupakan penggambaran dari schema basis data. Model data merupakan alat utama untuk menyediakan abstraksi data. Model data merupakan konsep yang dapat digunakan untuk menjelaskan struktur dari basis data (tipe data, relasi dan constraint). Model data meliputi sejumlah operasi-operasi dasar untuk menspesifikasikan retrieval & update dari basis data.
      Database Schema merupakan deskripsi dari basis data yang dibuat pada saat perancangan dan diharapkan tidak akan sering berubah. Model data mempunyai konvensi-konvensi tertentu untuk menampilkan skema (schema diagram). Diagram skema hanya menampilkan beberapa aspek dari skema basis data, yaitu nama tipe record, item-item data dan constraintnya.
      Data Instance atau occurrence untuk menyatakan nilai-nilai sebenarnya dari skema basis data untuk suatu keadaan (state) tertentu.  “Database state” merupakan keadaan-keadaan nilai yang ada pada setiap saat dari database schema yang selalu harus valid (memenuhi constraint yang telah ditentukan.

      Ada tiga kategori dalam model data, yaitu:
A. Model data tingkat tinggi. Model data ini menggunakan konsep seperti entity, attribute, dan relationship.
B. Model data representasional atau implementasi. Model yang termasuk dalam jenis ini adalah model data relasional, jaringan, dan hirarki. Dimana data disajikan dengan menggunakan struktur record (record-based data model)
C. Model data fisik. Model data ini menggambarkan bagaimana data disimpan dalam komputer yaitu dalam format-format record, urutan-urutan record, dan access path.

2. Arsitektur basis data

      Arsitektur DBMS (Database Management System) ini dikenal dengan nama arsitektur tiga skema (three-schema architecture) dimana fungsi ini berfungsi untuk memisahkan antara basis data fisik dengan program aplikasi user.

      Skema-skema tersebut adalah sebagai berikut.
A. Internal level (internal schema). Menjelaskan struktur penyimpanan fisik dari basis data menggunakan model data fisik.
B. Conceptual level (conceptual schema). Menjelaskan struktur penyimpanan dari keseluruhan basis data untuk dipakai oleh satu komunitas user menggunakan model data tingkat tinggi atau model data implementasi.
C. External atau view level (external schema atau user view). Menjelaskan sebagian basis data yang menjadi perhatian dari sekelompok user tertentu menggunakan model data tingkat tinggi atau model impelementasi.

      Arsitektur Three Schema dapat digunakan untuk menjelaskan konsep ‘kebebasan data’ yang dapat didefinisikan sebagai kemampuan untuk merubah skema pada suatu level dari sistem basis data tanpa harus menyebabkan perubahan dari skema pada tingkat-tingkat yang lebih tinggi.

3. Kekangan dalam basis data

      Terdapat beberapa aturan yang harus dipatuhi dalam file-file basis data. Aturan tersebut berhubungan dengan aspek-aspek penting dalam basis data yaitu :
A. Redudansi data
      Redudansi data ialah munculnya data berulang kali pada file basis data yang semestinya tidak diperlukan.
B. Inkonsistensi data
      Merupakan munculnya data yang tidak konsisten pada kolom yang sama dalam satu atau beberapa file data yang dihubungkan. Ketidak konsistenan data biasanya terjadi akibat kesalahan dalam pemasukan data (data entry) atau update anomaly, yaitu suatu proses untuk meng-update data, tetapi mengakibatkan munculnya data yang tidak konsisten atau kehilangan informasi tentang objek yang ditinjau. Inkonsistensi data juga dapat diartikan sebagai data yang memiliki kesamaan primary key yang umumnya terjadi karena kesalahan input.
C. Data terisolasi
      Data terisolasi disebabkan oleh pemakaian beberapa file basis data dimana program aplikasi tidak dapat mengakses data-data dari file tertentu sehingga seolah-olah ada file yang terpisah atau terisolasi terhadap file yang lain dalam basis data.
      Data terisolasi harus dihindari karena akan berakibat pada tidak lengkapnya informasi yang dihasilkan dari dari pengolahan data dalam basis data. Data terisolasi adalah data yang tidak bisa diakses oleh aplikasi basis data dan menyebabkan basis data seolah-olah tidak lengkap dan menghalangi user melakukan query. Hal ini umumnya terjadi dalam model ER, dimana sebuah tabel tidak memiliki hubungan dengan tabel lain dalam satu basis data.
D. Keamanan data
      Keamanan data merupakan aspek kritis dalam basis data. Prinsip dasar keamanan data dalam basis data adalah :
      Data-data dalam basis data merupakan sumber informasi yang sangat penting dan rahasia sehingga harus dijaga dari berbagai hal yang dapat mengacaukan atau merusak data.
      Keamanan data berhubungan dengan kondisi data dalam sistem basis data. Pada prinsipnya file basis data hanya boleh digunakan oleh pemakai tertentu yang mempunyai wewenang untuk mengaksesnya.
E. Integritas data
      Integritas data berhubungan dengan kinerja sistem dalam mengendalikan semua bagian sistem. Cara menjaga integritas data adalah menyakinkan bahwa nilai-nilai data adalah benar. Hal tersebut dilakukan dengan mengeset secara sesuai prosedur penangkapan data dan membuat modul dalam program aplikasi untuk mngecek keabsahan nilai data saat dimasukkan ke dalam mesin (data entry).
      Integritas data berhubungan dengan unjuk kerja sistem agar dapat melakukan kendali ataupun kontrol pada semua bagian sistem sehingga sistem selalu beroperasi dalam pengendalian yang penuh. Integritas data adalah sebuah aspek yang dimaksudkan agas administrator basis data memiliki kontrol penuh kepada basis data yang dimiliki. Hal ini dilakukan dengan cara memastikan bahwa semua prosedur yang diberikan dalam pembuatan basis data benar-benar dilakukan.


























Referensi :

https://salamadian.com/pengertian-basis-data-database/.
https://www.bukusekolah.net/2018/09/arsitektur-aplikasi-basis-data.html.
http://khabib.staff.ugm.ac.id/downloads/lecture/pengantar.pdf.
https://www.academia.edu/8756545/Pengertian_Arsitektur_sistem_basis_data.





BASIS DATA 1 BAB 1

PENDAHULUAN

1. Pengantar basis data

      a. Data
            Data adalah sumber data penting dari organisasi yang perlu dikelola lagi  seperti mengelola aset penting dalam bisnis lainnya. Manajemen sumber daya data, yaitu sebuah aktivitas manajerial yang menggunakan teknologi sistem informasi seperti manajemen database, gudang data, dan alat manajemen data lainnya dalam tugasnya mengelola sumber daya data organisasi agar dapat memenuhi kebutuhan informasi pihak-pihak yang berkepentingan dengan bisnis mereka.
      b. Komponen data
            Permodelan data merupakan sekumpulan perangkat konseptual untuk menggambarkan data, hubungan antar data, semantic data dan batasan data. Dengan menggunakan model data ini maka akan memberikan kemudahan untuk melakukan evaluasi atau analisis pada data, dan beberapa model lain yaitu model hirarki, jaringan, dan relasional serta berorientasi objek. Yang paling banyak dipakai sekarang adalah permodelan relasion.
      c. Manajemen
            John D Millet menyatakan bahwa definisi manajemen adalah proses dalam memberikan arahan pekerjaan kepada orang-orang dalam suatu organiasasi guna mencapai suatu tujuan. Menurut George R. Terry, manajemen adalah suatu proses atau kerangka kerja yang melibatkan bimbingan atau pengarahan suatu kelompok orang ke arah tujuan organisasi dengan maksud yang nyata.
      d. Basi data
            Everest menyatakan bahwa database atau basis data merupakan sebuah koleksi atau kumpulan dari data yang bersifat mekanis, terbagi, terdefinisi secara formal dan terkontrol. Pengontrolan dari sistem database bersifat terpusat, yang biasanya dimiliki dan dipegang oleh suatu organisasi. Date mengatakan bahwa yang dimaksud dengan Database adalah suatu koleksi “data operasional” yang sengaja disimpan dan juga dipakai oleh suatu sistem aplikasi dari suatu organisasi. Date menyebutkan bahwa data yang tersimpan di dalam database memiliki tiga jenis yaitu, data input, output dan juga operasional.

2. Sistem manajemen data

      Menurut Rogayah, DBMS adalah suatu sistem yang dapat menyusun dan mengelola berbagai record menggunakan komputer, untuk menyimpan atau merekam serta memelihara data operasional lengkap milik sebuah organisasi atau perusahaan sehingga dapat menyediakan informasi yang optimal yang dibutuhkan dalam proses mengambil keputusan. Menurut Waliyanto, DBMS adalah suatu gabungan dan juga perpaduan antara basis data (database) dengan Database Management System (DBMS) atau sistem manajemen basis data (SMBD). Menurut Date C.J. Date, DBMS adalah tempat atau lokasi untukmenyimpan sekumpulan data yang sudah terkomputerisasi, dengan tujuan untuk memelihara informasi, dan juga memuat informasi tersebut, terutama apabila informasi tersebut sedang dibutuhkan.
      Sistem Manajemen Basis Data atau disingkat SMBD atau dalam bahasa inggrisnya System Management Database adalah suatu sistem progam atau perangkat lunak yang dibuat untuk mengelola data pada suatu database dan menjalankan program pada data yang diminta oleh user. Sistem manajemen basis data atau database management system (DBMS) adalah perangkat lunak yang menangani semua pengelolaan database. Mempunyai fitur-fitur untuk membuat, memasukkan, mengubah, mengedit, menghapus, mengakses, memanipulasi dan memelihara basis data. DBMS dilengkapi dengan bahasa yang berorientasi pada data (High level data language) yang sering disebut juga sebagai bahasa generasi ke 4 (fourth generation language).

3. Struktur dan komponen-komponen basis data

      Pada umumnya DBMS memiliki beberapa komponen fungsional. Adapun beberapa komponen DBMS adalah sebagai berikut.
A. File manager
      Komponen yang berguna untuk mengelola ruang di dalam disk dan juga struktur data, yang digunakan untuk merepresentasikan informasi yang tersimpan pada disk.
B. Database manager
      Komponen yang menyediakan interface antar data low-level yang terdapat pada basis data, dengan program aplikasi serta query yang diberikan ke suatu sistem.
C. Query processor
      Komponen yang berfungsi menterjemahkan perintah dalam bahasa query ke instruksi low-level yang dapat dimengerti oleh database manager.
D. DML Precompiler
      Komponen yang mengkonversi perintah DML, yang ditambahkan pada suatu program aplikasi ke pemain prosedur normal dalam bahasa induk.
E. DDL Compiler
      Komponen yang mengkonversi berbagai perintah DDL ke dalam sekumpulan tabel yang mengandung meta data.

      Dalam sistem manajemen basis data, integrasi logis file dapat dicapai secara eksplisit atau secara implicit.
A. Hubungan eksplisit
      Inverted index dan link field menetapkan hubungan eksplisit antara data yang terintefrasi secara logis dalam file yang sama. Suatu pendekatan untuk menetapkan hubungan eksplisit antara catatan dari beberapa file adalah dengan menyusun catatan-catatan tersebut dalam suatu hirarki yang disebut struktur hirarkis. Dalam struktur seperti ini, setiap catatan pada satu tingkat dapat dihubungkan ke berbagai catatan yang setingkat lebih rendah. Catatan yang memiliki anak disebut parent dan anak catatan itu disebut children.

B. Hubungan implicit
      Pada awal 1970-an, Edgar f. Codd dan C.J. Date, keduanya dari IBM tetapi bekerja secara terpisah, mengembangkan statu pendekatan untuk menetapkan hubungan antar catatan yang tidak harus dinyatakan secara eksplisit. Link field khusus tidak perlu disertakan dalam catatan. Pendekatan Codd dan Date dinamai struktur relasional, dan menggunakan hubungan implicit, yaitu hubungan yang dapat dinyatakan secara tidak langsung dari catatan data yang telah ada. Keuntungan utama dari struktur relasional bagi CBIS adalah fleksibelitas yang ditawarkanya dalam rancangan dan penggunaan database. Pemakai dan spesialis informasi dibebaskan dari keharusan mengidentifigasi semua informasi yang diperlukan sebelum menciptakan database.


























Referensi :

http://www.pengertianku.net/2014/06/pengertian-basis-data-dan-sistem-basis.html.
https://salamadian.com/pengertian-basis-data-database/.




 

Copyright © Yunitaa's Creations. Template created by Volverene from Templates Block
WP by Simply WP | Solitaire Online