Kamis, 21 September 2017

Konsep Dasar Pemrograman

Konsep Dasar Pemrograman

Pengertian Dasar Program adalah rangkaian instruksi-instruksi dalam bahasa komputer yang disusun secara logika dan sistematis.
Pengertian Pemrograman adalah suatu kumpulan urutan perintah ke komputer untuk mengerjakan sesuatu, dimana instruksi tersebut menggunakan bahasa yang dimengerti  oleh komputer atau dikenal dengan bahasa pemrograman.
Konsep Dasar Pemrograman pada umumnya adalah IPO (Input Proses Output), lalu dikembangkan mejadi :
Originating -> input -> proses -> Output -> Distribution
||//
Storage
Originating
Berhubungan dengan pengumpulan data yang biasanya merupakan pencatatan data kedokumen dasar. Setelah dikumpulkan dilakukan proses input.
Input
Tahapan ini merupakan proses pemasukan data kedalam proses komputer melalui peralatan input.
Proses
Tahap ini merupakan proses pengolahan data dari data yang sudah diinput berupa proses    menghitung membandingkan, mengurutkan, mengklasifikasikan, mengendalikan dan mencari di storage.
Output
Tahap ini merupakan proses untuk menghasilkan keluaran dari proses pengolahan data ke peralatan output berupa informasi (monitor, speaker, dsb)
Distribution
Tahap ini merupakan proses penyebaran informasi kepada pihak-pihak yang berhak dan membutuhkan informasi.
Storage
Tahap ini merupakan perekaman hasil pengolahan data storage yang nantinya dapat dipergunakan untuk input proses selanjutnya.
DATA
Data adalah bahan mentah yang akan diolah menjadi informasi sehingga  dapat dipergunakan oleh user atau pemakai.
1. Tipe Data Dasar : Merupakan tipe data primitif yang tidak terstruktur yang didefinisikan oleh bahasa pemrograman.
Tipe data dasar dibagi menjadi lima bagian yaitu :
  1. a. Numerik, yaitu menyimpan data berupa angka
  2. b. Enumerasi, yaitu suatu urutan list dari nilai-nilai yang berbeda.
  3. c. Boolean, yaitu tipe data untuk merepresentasikan True atau False.
  4. d. Character, yaitu tipe data untuk menyimpan rangkaian karakter.
  5. e. Internationalization, disebut I18N
2. Tipe Data Terstruktur : Merupakan tipe data campuran dari berbagai tipe data dasar. Contohnya array, record, string, list dan file.
3. Tipe Data didefinisikan oleh Pemakai : Tipe data ini biasanya disebut Enumerasi.
4. Tipe Data Penunjuk : Contoh tipe data penunjuk adalah pointer
Model Komputasi
Model Komputasi adalah suatu kumpulan dari nilai dan operasi-operasi. Ada 3 dasar model komputasi :
1. Model Fungsional, yaitu model perhitungan yang fungsional terdiri dari satu set nilai-nilai, fungsi dan operasi, aplikasi, fungsi dan komposisi fungsi.
2. Model Logika, yaitu logika model perhitungan terdiri dari suatu set nilai-nilai, definisi hubungan dan kesimpulan logis.
3. Model Imperative, yaitu model perhitungan yang imperative terdiri dari satu set nilai-nilai yang mencakup suatu status dan operasi tugas-tugas untuk memodifikasi status tersebut.
Prinsip Bahasa Pemrograman
Empat prinsip dasar perancangan bahasa pemrograman adalah:
1. Sintaks, menjelaskan bagaimana struktur program yang benar.
2.Tipe sistem dan semantik, menunjukkan tipe nilai yang dapat dimanipulasi oleh program dan arti(semantik) dari program, mencakup juga aturan penamaan entitas (variabel,fungsi,class,parameter,dll).
3. Manajemen memori, menunjuk kepada sekumpulan teknik yg membantu kita untuk memahami pemetaan letak dari nilai, struktur data, dan struktur program di dalam memori.
4. Exception handling, mengenai penanganan exception (hal-hal yang tak terduga seperti kesalahan input ketika menjalankan program).
Definisi Sintaks, Semantik, dan Pragmatik

Sintaks   : Aturan gramatikal / komposisi suatu program yang mengatur tata cara penulisanhuruf, angka dan karakter lain.
Contoh : Pada pembuatan program Pascal antara 2 statement dipisahkan oleh ; (titik koma)
X:=1;  X:=X+1;
Semantik : Mendefinisikan arti dari program yang benar secara sintaks dari bahasa pemrograman tersebut.
Contoh : Pada pembuatan program C
int vector[10]
Arti semantiknya akan menyebabkan ruang sebanyak 10
Pragmatik  : Kemampuan pemakai dalam mengaitkan kalimat dengan kontek-kontek yang sesuai bagi kalimat tersebut.
Komputer  adalah  mesin  yang  dapat  melaksanakan  seperangkat  perintah  dasar  (instruction  set).  Agar  komputer  dapat  melakukan  sesuatu hal, harus diberikan perintah yang dapat dilaksanakannya, yaitu  dalam  bentuk  kumpulan  perintah-perintah  dasar.  Program  komputer  adalah  sekumpulan  instruksi  yang  dikenal  oleh  komputer  dan  disusun  menurut  urutan  yang  logis  untuk menyelesaikan  suatu masalah. Bahasa  pemrograman  adalah  bahasa  yang  dapat  diterjemahkan  menjadi kumpulan perintah-perintah dasar tersebut. Penerjemahan dilakukan oleh program  komputer  yang  disebut  kompilator.  Sintaks  dari  bahasa pemrograman  lebih  mudah  dipahami  oleh  manusia  daripada  sintaks perintah  dasar. Namun  tentu  saja  komputer  hanya  dapat  melaksanakan perintah  dasar  itu.  Maka  di  sinilah  peran  penting  kompilator  sebagai perantara  antara  bahasa  pemrograman  dengan  perintah  dasar.  Kegiatan membuat program komputer dengan menggunakan bahasa pemrograman disebut  pemrograman  komputer.  Untuk  dapat  membuat  program komputer,  harus  dikuasai  bahasa  komputer.  Berbagai  bahasa  komputer telah  diciptakan  untuk  membantu  manusia  memprogram  komputer. Berdasarkan tingkatannya dikenal beberapa tingkat bahasa pemrograman diantaranya:
  1. Bahasa  Pemrograman  tingkat  dasar  seperti:  Bahasa  Mesin,  Bahasa Assembley.
  2. Bahasa  Pemrograman  tingkat  tengah  seperti:  Bahasa  C,  Bahasa FORTH.
  3. Bahasa  Pemrograman  tingkat  tinggi  seperti:  Bahasa  Pascal, FORTRAN, COBOL, dan lain-lain.
  4. Bahasa  pemgrogram  tingkat  dasar,  sebagai  hirarki  pertama, disebut  juga bahasa generasi pertama, bahasa  ini sangat  tergantung pada jenis  CPU  yang  dipakai  oleh  komputer  itu.  Bahasa  ini  sangat  sulit dipelajari,  karena  sifatnya  yang  sangat  tergantung  pada  mesinnya  itu (machine  dependent). Untuk menguasai  bahasa  ini, harus  dipelajari  dan dikuasai  teknologi  dan  arsitektur  komputer,  matematika  diskrit, elektronika, dan lain-lain. Bahasa ini masih menggunakan simbol-simbol yang bersifat mnemonic.
  5. Bahasa pemrograman tingkat tengah, sifatnya sudah lebih mudah daripada bahasa pemrograman  tingkat dasar, perintah-perintahnya  sudah lebih mudah dibaca sebab sudah menggunakan huruf-huruf.
  6. Bahasa  pemrograman  tingkat  tinggi  adalah  bahasa  komputer yang  sudah  mirip  dengan  bahasa  manusia.  Perintah-perintahnya  sudah dibuat  dalam  bahasa  yang  mudah  dimengerti  manusia,  seperti  PRINT, WRITE, IF, THEN, ELSE, dan lain-lain.

Tahapan dalam Pemrograman
Langkah-langkah  yang  dilakukan  dalam  menyelesaikan  masalah  dalam pemrograman dengan komputer adalah:
  • ·         Defenisikan Masalah
  • ·         Tentukan apa yang menjadi masalah
  • ·         Tentukan data input yang diperlukan
  • ·         Tentukan output yang diinginkan
  • ·         Buat bagan dan struktur cara penyelesaian
  • ·         Bagan secara global
  • ·         Deskripsikan tugas masing-masing subprogram
  • ·         Pilih Metode Penyelesaian
  • ·         Pilih struktur data dan Algoritma terbaik
  • ·         Pengkodean
  • ·         Pilih bahasa pemrograman yang sesuai
  • ·         Menterjemahkan algoritma ke bahasa pemrograman
  • ·         Mencari Kesalahan
  • ·         Kesalahan sintaks (penulisan program)
  • ·         Kesalahan Pelaksanaan: Semantik, Logika, dan  ketelitian
  • ·         Uji dan Verifikasi Program
  • ·         Dokumentasi Program
  • ·         Pemiliharaan Program
  • ·         Memperbaiki kekurangan yang ditemukan kemudian
  • ·         Memodifikasi, karena perubahan spesifikasi

3. Diagram Alir
Konsep  pemrograman  dapat  digambarkan  juga  dengan menggunakan  diagram  alir  (flowchart).  Diagram  alir  adalah  simbol-simbol yang digunakan untuk menggambarkan sebuah pernyataan logika pemrograman  serta  aliran  logika  yang  ditunjukkan  dengan  arah  panah.  Ada dua jenis diagram alir yaitu:
Diagram  alir  sistem  yaitu  bagan  dengan  simbol-simbol  tertentu yang  menggambarkan  urutan  procedure  dan  proses  suatu  file dalam suatu media menjadi file di dalam media lain, dalam suatu system pengolahan data.Diagram alir program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan  urutan  proses  dan  hubungan  antar  proses secara mendetail di dalam suatu program.
4. Syarat Program yang Baik
Program yang baik haruslah memenuhi beberapa kriteria, antara lain:
  1. ·         Program haruslah sesuai dengan tujuan dan memenuhi spesifikasi yang telah ditentukan.
  2. ·         Fleksibel
  3. ·         Tidak mengandung kesalahan
  4. ·         Didokumentasi secara baik
  5. ·         Cepat dalam waktu penggunaannya
  6. ·         Efesien dalam penggunaan memori computer.

KELEMAHAN DAN KELEBIHAN BAHASA PEMROGRAMAN
A.    Bahasa C
Kelebihan Bahasa C :
  1. ·         Bahasa C tersedia hampir di semua jenis computer
  2. ·         Kode bahasa C sifatnya adalah portable dan fleksible untuk semua jenis computer
  3. ·         Bahasa C hanya menyediakan sedikit kata-kata kunci, hanya terdapat 32 kata kunci
  4. ·         Proses executable program bahasa C lebih cepat
  5. ·         Dukungan pustaka yang banyak
  6. ·         C adalah bahasa yang terstruktur
  7. ·         Bahasa C termasuk bahasa tingkat menengah


Kekurangan Bahasa C:
  1. ·         Banyaknya operator serta fleksibilitas penulisan program kadang-kadang membingungkan pemakai
  2. ·         Bagi pemula pada umumnya akan kesulitan menggunakan pointer

B.     Bahasa Java
Kelebihan Bahasa Java:
  1. ·         Sederhana dan ampuh, java menyediakan sarana untuk membuat program (applet) yang berjalan pada web browser. Programmer dapat menggunakan applet kecil yang aman, dinamik, lintas platform, aktif dan siap dijalankan di jaringan.
  2. ·         Aman, java dirancang dengan konsep keamanan internet.
  3. ·         Berorientasi objek, java tidak diturunkan bahasa pemrogaman manapun. Java memiliki keseimbangan yang menyediakan mekanisme peng-class-an sederhana dengan model antarmuka dinamik yang intuitif hanya jika diperlukan.
  4. ·         Kokoh, java membatasi programmer dengan memberi kunci supaya progamer dapat menemukan kesalahan lebih cepat saat mengembangkan program.
  5. ·         Interaktif, java dirancang untuk menciptakan program jaringan yang interaktif.
  6. ·         Netral terhadap berbagai arsitektur, java mampu berjalan dalam platform apapun seperti PC, UNIX, Macintosh, dll.
  7. ·         Terinterpretasi dan berkinerja tinggi, java melengkapi keajaiban lintas platform yang luar biasa dengan kompilasi ke dalam representasi langsung yang disebut java code byte yang dapat diterjemahkan oleh system apapun yang memiliki java interpreter dan java virtual machine.
  8. ·         Mudah dipelajari karena bersifat sederhana
  9. ·         Mendukung koneksi ke database

·         Kekurangan bahasa Java :
  1. ·         Java memiliki kecepatan yang kurang dari bahasa C ++
  2. ·         Implementasi J2ME tidak global. Misalnya, J2ME untuk Motorola dengan J2ME untuk Sony Ericson tidak sama. Berbeda lagi J2ME untuk Nokia. Setiap produk selalu mempunyai modul tersendiri yang dinilai aneh penerapannya dan harus di-compile dengan modul yang berbeda-beda.
  3. ·         Java memakan banyak memori computer
  4. ·         Java merupakan bahasa yang kompleks dan susah dipelajari
  5. ·         Program yang dibuat oleh bahasa ini lebih lambat dibanding program yang dibuat dengan bahasa lain seperti C atau C++.

C.    Bahasa Pascal
Kelebihan bahasa pascal :
  1. ·         Tipe data standar, tipe-tipe data standar yang telah tersedia bahasa pemrogaman. Pascal memiliki tipe data standar Boolean, integer, char, real, string.
  2. ·         User defined data types, programmer dapat membuat tipe data lain yang diturunkan dari tipe data standar.
  3. ·         Strongly-typed, programmer harus menentukan tipe data dari suatu variable dan variable tersebut tidak dapat dipergunakan untuk menyimpan tipe data selain format yang ditentukan.
  4. ·         Terstruktur, memiliki sintaks yang memungkinkan penulisan program dipecah menjadi fungsi-fungsi kecil (procedur dan function) yang dapat dipergunakan berulang-ulang.
  5. ·         Sederhana dan ekspresif, memiliki struktur yang sederhana dan sangat mendekati bahasa manusia (bahasa inggris) sehingga mudah dipelajari dan dipahami.

·         Kekurangan bahasa pascal :
  1. ·         Versi awal Pascal kurang cocok untuk aplikasi bisnis karena dukungan basisdata yang terbatas.
  2. ·         Sintaks Pascal terlalu bertele-tele
  3. ·         Tidak mendukung pemrograman berorientasi objek
  4. ·         Pascal tidak fleksibel dan banyak kekurangan yang dibutuhkan untuk membuat aplikasi yang besar.
  5.  

D.    Bahasa PHP
Kelebihan PHP:
  1. ·         PHP menjadi popular karena kesederhanaannya dan kemampuannya dalam menghasilkan berbagai aplikasi web seperti counter, system artikel/ CMS, e-commerce, bulletin board, dll
  2. ·         PHP adalah salah satu bahasa server-side yang didesain khusus untuk aplikasi web.
  3. ·         PHP termasuk dalam Open Source Product dan telah mencapai versi 4.
  4. ·         Aplikasi PHP cukup cepat dibandingkan dengan aplikasi CGI dengan Perl atau Phyton bahkan lebih cepat disbanding dengan ASP maupun Java dalam berbagai aplikasi web
  5. ·         Tersedia baik di Windows maupun Linux, walau saat ini paling efektif di web server Apache dan OS Linux
  6. ·         Sintaks mirip C dan mudah dipelajari
  7. ·         Komunitas yang ramai dan saling membantu, seperti di diskusiweb.comphpbuilder.comphpindo.com, dll
  8. ·         Berbagai script atau aplikasi yang gratis telah tersedia.


Kekurangan :
  1. ·         Tidak detail untuk pengembangan skala besar
  2. ·         Tidak memiliki system pemrogaman berorientasi objek yang sesungguhnya
  3. ·         Tidak bisa memisahkan antara tampilan dengan logic dengan baik
  4. ·         PHP memiliki kelemahan security tertentu apabila programmer tidak jeli dalam melakukan pemrogaman dan kurang memperhatikan isu konfigurasi PHP.
  5. ·         Kode PHP dapat dibaca semua orang, dan kompilasi hanya dapat dilakukan dengan tool yang mahal dari Zend


E.     Bahasa Ruby
Kelebihan:
  1. ·         Sintaks sederhana
  2. ·         Memiliki Exception Handling yang baik
  3. ·         OOP
  4. ·         Single inheritance
  5. ·         Didukung oleh OS Linux, Windows, MacOS X, OS/2, BeOs, dan Unix.
  6. ·         Merupakan bahasa pemrograman scripting yang berorientasi objek
  7. ·         Memiliki garbage collector yang secara otomatis akan menghapus informasi tak terpakai dari memori

·         Kelemahan :
  1. ·         Multithreading. Implementasi thread di ruby masih berupa green thread, bukan native thread. Hal ini membuat aplikasi GUI (desktop) dengan background thread tidak mungkin diimplementasikan di ruby.
  2. ·         Virtual Memory, ruby masih fully interpreted sehingga program ruby cenderung lebih lambat.
  3. ·         Spek. saat ini spesifikasi ruby (syntax, behaviour, dll) adalah implementasi ruby yang asli dari matz.
  4. ·         IDE. Saat ini kualitas IDE untuk ruby masih jauh daripada .net dan java. Tapi dengan bermunculnya IDE ruby yang dibuat dengan java.net, kondisinya agak berubah. Tapi karena ruby bahasa yang sangat dinamis, sulit untuk bisa mendapatkan informasi secara lengkap mengenai struktur sebuah program ruby secara statis.

F.     Bahasa PROLOG
Kelebihan :
  1. ·         Berbeda dengan bahasa pemrograman yang lain, yang menggunakan algoritma konvensionl sebagai teknik pencariannya seperti pada Delphi, Pascal, Basic, COBOL dan bahasa pemrograman yang sejenisnya, maka prologmenggunakan teknik pencarian yang di sebut heuristik(heutistic) dengan menggunakan pohon logika.
  2. ·         Melakukan komputasi rumit pada data yang kompleks.
  3. ·         Mengekpresikan algoritma dengan baik.
  4. ·         Mengalokasikan memori secara dinamis sehingga programmer tidak harus mendeklarasikan ukuran sebuah struktur data sebelum membuatnya.
  5. ·         Mengembangkan dan memodifikasi dirinya sendiri sehingga sebuah program dapat “belajar” melalui informasi yang didapat selama program dijalankan
  6. ·         PROLOG mempunyai Automated Reasoning Procedure(Prosedur Sebab-Akibat Otomatis) yang disebut Inference Engine (Inference = proses pengambilan kesimpulan) yang sudah built-in didalamnya. Akibatnya, program yang menggunakan logika sebab-akibat jadi lebih mudah ditulis dalam PROLOG.

Kekurangan :
  1. ·         Pemborosan dalam pengalokasian memory sehingga program berjalan menjadi lambat

G.    Bahasa Phyton
Kelebihan :
  1.          Tidak ada tahapan kompilasi dan penyambungan (link) sehingga kecepatan perubahan pada masa pembuatan system aplikasi meningkat.
  2. ·         Tidak ada deklarasi tipe sehingga program menjadi lebih sederhana, singkat, dan fleksible.
  3. ·         Manajemen memori otomatis yaitu kumpulan sampah memori sehingga dapat menghindari pencatatan kode
  4. ·         Tipe data dan operasi tingkat tinggi yaitu kecepatan pembuatan system aplikasi menggunakan tipe objek yang telah ada
  5. ·         Pemrograman berorientasi objek
  6. ·         Pelekatan dan perluasan dalam C
  7. ·         Terdapat kelas, modul, eksepsi sehingga terdapat dukungan pemrograman skala besar secara modular
  8. ·         Pemuatan dinamis modul C sehingga ekstensi menjadi sederhana dan berkas biner yang kecil
  9. ·         Pemuatan kembali secara dinamis modul phyton seperti memodifikasi aplikasi tanpa menghentikannya
  10. ·         Model objek universal kelas Satu
  11. ·         Konstruksi pada saat aplikasi berjalan
  12. ·         Interaktif, dinamis dan alamiah
  13. ·         Akses hingga informasi interpreter
  14. ·         Portabilitas secara luas seperti pemrograman antar platform tanpa ports
  15. ·         Kompilasi untuk portable kode byte sehingga kecepatan eksekusi bertambah dan melindungi kode sumber
  16. ·         Antarmuka terpasang untuk pelayanan keluar seperti perangkat Bantu system, GUI, persistence, database, dll

Kekurangan:
  1. ·         Beberapa penugasan terdapat diluar dari jangkauan python, seperti bahasa pemrograman dinamis lainnya, python tidak secepat atau efisien sebagai statis, tidak seperti bahasa pemrograman kompilasi seperti bahasa C.
  2. ·         Disebabkan python merupakan interpreter, python bukan merupakan perangkat bantu terbaik untuk pengantar komponen performa kritis.
  3. ·         Python tidak dapat digunakan sebagai dasar bahasa pemrograman implementasi untuk beberapa komponen, tetapi dapat bekerja dengan baik sebagai bagian depan skrip antarmuka untuk mereka.
  4. ·         Python memberikan efisiensi dan fleksibilitas tradeoff by dengan tidak memberikannya secara menyeluruh. Python menyediakan bahasa pemrograman optimasi untuk kegunaan, bersama dengan perangkat bantu yang dibutuhkan untuk diintegrasikan dengan bahasa pemrograman lainnya.

H.    Bahasa Cobol
Kelebihan :
  1. ·         Program COBOL dibuat dalam instruksi bahasa inggris, sehingga lebih mudah dipelajari dan dibuat.
  2. ·         Program COBOL sesuai untuk pengolahan data yang banyak diterapkan pada permaslahan .
  3. ·         Program COBOL sifatnya standard, sehingga dapat dipergunakan pada komputer-komputer yang berbeda, tanpa banyak perbedaan.
  4. ·         Struktur program COBOL jelas, sehingga dapat dimengerti oleh orang seperti akuntan, auditor, atau manajer-manajer yang hanya mempunayai pengetahuan pengolahan data yang sedikit.
  5. ·         COBOL menyediakan fasilitas Listing Program, bilamana perlu dapat diperiksa oleh orang lain selain programer.
  6. ·         Mudah didokumentasikan dan dikembangkan bilamana perlu
  7. ·         Problem Orientad Language

Kekurangan :
  1. ·         Operasi masukan dan keluaran yang masih kaku
  2. ·         Struktur penulisan program yang sangat kaku dan bertele-tele

I.       Bahasa Basic
Kelebihan:
  1. ·         Bahasa Basic tergolong bahasa serbaguna dan dapat digunakan di aplikasi apa saja.

Kekurangan:
  1. ·         Bahasanya kurang terstruktur
  2. ·         Tidak cocok untuk membuat aplikasi besar
  3. ·         Sintaksnya penuh dengan GOTO yang menyesatkan
  4. ·         Bahasa ini merupakan bahasa yang primitif di era DOS

J.      Bahasa C++
Kelebihan:
  1. ·         Merupakan induk dari bahasa pemrograman perl, php, phyton, visual basic, gambas, java, C#
  2. ·         Compiler bahasa C++ terdapat di semua platform
  3. ·         Untuk pengembangan visual dijejali dengan platform yang sangat banyak seperti OWL, MFC, Cocoa, QT, GTK, dll
  4. ·         Merupakan pemrograman berorientasi objek

 Kekurangan:
  1. ·         Bahasa ini cukup sulit untuk dipel;ajari dan dipahami
  2. ·         Banyaknya operator serta fleksibilitas penulisan program kadang-kadang membingungkan pemakai
  3. ·         Bagi pemula pada umumnya akan kesulitan menggunakan pointer




Senin, 22 Mei 2017

Sejarah LINUX


Sejarah Linux dimulai pada tahun 1991 dengan dimulainya proyek pribadi oleh siswa Finlandia Linus Torvalds untuk menciptakan kernel sistem operasi gratis yang baru. Sejak itu, kernel Linux yang dihasilkan telah ditandai oleh pertumbuhan konstan sepanjang sejarahnya. Sejak rilis awal kode sumbernya pada tahun 1991, telah berkembang dari sejumlah kecil file C di bawah lisensi yang melarang distribusi komersial ke versi 4.2.3 pada tahun 2015 dengan lebih dari 18 juta baris kode sumber di bawah GNU General Public License V2.

Pembuatan
Setelah AT & T keluar dari proyek Multics , sistem operasi Unix disusun dan diimplementasikan oleh Ken Thompson dan Dennis Ritchie (keduanya dari AT & T Bell Laboratories ) pada tahun 1969 dan pertama kali diluncurkan pada tahun 1970. Kemudian mereka menuliskannya kembali dalam bahasa pemrograman baru, C , Untuk membuatnya portabel. Ketersediaan dan portabilitas Unix menyebabkannya diadopsi secara luas, disalin dan dimodifikasi oleh institusi akademis dan bisnis.
Pada tahun 1977, Berkeley Software Distribution (BSD) dikembangkan oleh Computer Systems Research Group (CSRG) dari UC Berkeley , berdasarkan Unix edisi 6 dari AT & T. Karena BSD memiliki kode Unix yang dimiliki AT & T, AT & T mengajukan tuntutan hukum ( USL v. BSDi ) pada awal 1990an melawan University of California. Hal ini sangat membatasi pengembangan dan adopsi BSD. [4] [5]

Pada tahun 1983, Richard Stallman memulai proyek GNU dengan tujuan menciptakan sistem operasi mirip UNIX. [6] Sebagai bagian dari karya ini, ia menulis GNU General Public License (GPL). Pada awal 1990-an, hampir tersedia perangkat lunak yang tersedia untuk menciptakan sistem operasi penuh. Namun, kernel GNU, yang disebut Hurd , gagal menarik usaha pengembangan yang cukup, membiarkan GNU tidak lengkap.

Pada tahun 1985, Intel merilis 80386 , mikroprosesor x86 pertama dengan set instruksi 32-bit dan unit manajemen memori dengan paging .

Pada tahun 1986, Maurice J. Bach, dari AT & T Bell Labs, menerbitkan The Design of the UNIX Operating System . Penjelasan definitif ini pada dasarnya mencakup kernel System V Release 2 , dengan beberapa fitur baru dari Release 3 dan BSD.

Pada tahun 1987, MINIX , sebuah sistem mirip Unix yang ditujukan untuk penggunaan akademis, dirilis oleh Andrew S. Tanenbaum untuk memberi contoh prinsip-prinsip yang disampaikan dalam buku teksnya , Sistem Operasi: Desain dan Implementasi . Sementara kode sumber untuk sistem tersedia, modifikasi dan redistribusi dibatasi. Selain itu, desain 16 bit MINIX tidak disesuaikan dengan fitur 32-bit arsitektur Intel 386 yang semakin murah dan populer untuk komputer pribadi. Pada awal tahun sembilan puluhan sistem operasi UNIX komersial untuk PC Intel 386 terlalu mahal bagi pengguna pribadi.

Faktor-faktor ini dan kurangnya kernel bebas yang diadopsi secara luas memberikan dorongan bagi Torvalds untuk memulai proyeknya. Dia telah menyatakan bahwa jika salah satu kernel GNU Hurd atau 386BSD tersedia pada saat itu, dia mungkin tidak akan menulis sendiri.

Pencipta Linux


Pada tahun 1991, saat belajar ilmu komputer di University of Helsinki , Linus Torvalds memulai sebuah proyek yang kemudian menjadi kernel Linux . Dia menulis program khusus untuk perangkat keras yang dia gunakan dan independen dari sistem operasi karena dia ingin menggunakan fungsi PC barunya dengan prosesor 80386. Pengembangan dilakukan pada MINIX menggunakan kompiler GNU C. Kompilator GNU C masih menjadi pilihan utama untuk mengkompilasi Linux hari ini. Namun kode tersebut bisa dibangun dengan kompiler lain, seperti Intel C Compiler .

Seperti yang ditulis Torvalds dalam bukunya Just for Fun , akhirnya dia menulis sebuah kernel sistem operasi. Pada tanggal 25 Agustus 1991, dia (pada usia 21) mengumumkan sistem ini dalam sebuah Usenet yang memposting ke newsgroup "comp.os.minix.Halo semua orang di luar sana menggunakan minix -

Saya melakukan sistem operasi (gratis) (hanya hobi, tidak akan besar dan profesional seperti gnu) untuk 386 (486) AT clones. Ini telah menyeduh sejak april, dan mulai bersiap-siap. Saya ingin umpan balik mengenai hal-hal yang tidak disukai orang seperti minix, karena OS saya mirip dengan itu (tata letak fisik file sistem yang sama (karena alasan praktis) antara lain).

Saat ini saya porting bash  dan gcc , dan hal-hal sepertinya berhasil. Ini menyiratkan bahwa saya akan mendapatkan sesuatu yang praktis dalam beberapa bulan, dan saya ingin tahu fitur apa yang kebanyakan orang inginkan. Ada saran dipersilahkan, tapi saya tidak akan berjanji akan menerapkannya :-)
Linus (torvalds@kruuna.helsinki.fi)
PS. Ya - ini bebas dari kode minix, dan memiliki fs multi-threaded. Ini TIDAK portabel (menggunakan 386 tugas switching dll), dan mungkin tidak akan pernah mendukung apapun selain AT-harddisks, karena hanya itu yang saya miliki :-(.
- Linus Torvalds

Awal Penamaan
Linus Torvalds ingin menyebut penemuannya sebagai Freax, portmanteau "bebas", "aneh", dan "x" (sebagai acuan untuk Unix). Selama awal karyanya di sistem, dia menyimpan file dengan nama "Freax" sekitar setengah tahun. Torvalds sudah menganggap nama "Linux", tapi awalnya menganggapnya terlalu egois.

Untuk memfasilitasi pengembangan, file-file tersebut diupload ke server FTP (ftp.funet.fi) dari FUNET pada bulan September 1991. Ari Lemmke dari Universitas Teknologi Helsinki (HUT), yang merupakan salah satu administrator relawan untuk server FTP di Waktu, tidak berpikir bahwa "Freax" adalah nama yang bagus. Jadi, dia menamai proyek "Linux" di server tanpa berkonsultasi dengan Torvalds.  Kemudian, bagaimanapun, Torvalds menyetujui "Linux".Untuk menunjukkan bagaimana kata "Linux" harus diucapkan

Linux di bawah GNU/LINUX
Torvalds pertama kali menerbitkan kernel Linux dengan lisensi sendiri, yang memiliki batasan aktivitas komersial.

Perangkat lunak yang digunakan dengan kernel adalah perangkat lunak yang dikembangkan sebagai bagian dari proyek GNU yang dilisensikan di bawah GNU General Public License, sebuah lisensi perangkat lunak gratis. Pelepasan pertama kernel Linux, Linux 0.01, menyertakan biner dari shell Bash GNU.Dalam "Notes for linux release 0.01", Torvalds mencantumkan perangkat lunak GNU yang dibutuhkan untuk menjalankan Linux: 

Sayangnya, sebuah kernel dengan sendirinya membawa Anda ke mana-mana. Untuk mendapatkan sistem kerja Anda memerlukan shell, compiler, perpustakaan dll. Ini adalah bagian yang terpisah dan mungkin berada di bawah hak cipta yang lebih ketat (atau bahkan lebih longgar). Sebagian besar alat yang digunakan dengan linux adalah perangkat lunak GNU dan berada di bawah GNU copyleft . Alat ini tidak ada dalam distribusi - tanyakan kepada saya (atau GNU) untuk info lebih lanjut.

Pada tahun 1992, dia menyarankan untuk melepaskan kernel tersebut di bawah GNU General Public License. Dia pertama kali mengumumkan keputusan ini dalam catatan rilis versi 0.12.] Pada pertengahan Desember 1992 ia menerbitkan versi 0.99 menggunakan GNU GPL.] Pengembang Linux dan GNU bekerja untuk mengintegrasikan komponen GNU dengan Linux untuk membuat sistem operasi yang berfungsi penuh dan bebas. Torvalds telah menyatakan, "menjadikan Linux GPL'd benar-benar hal terbaik yang pernah saya lakukan." 

Sekitar 2000 Torvalds mengklarifikasi bahwa lisensi yang digunakan untuk kernel linux adalah persis GPLv2, tanpa klausa "atau yang lebih umum". 

Pada tahun 2007, setelah bertahun-tahun membuat draft diskusi, GPLv3 dirilis dan Torvalds dan sebagian besar pengembang kernel memutuskan untuk tidak mengadopsi lisensi baru untuk kernel linux. 

Kontrovensi penamaan GNU / LINUX
Penunjukan "Linux" awalnya digunakan oleh Torvalds hanya untuk kernel Linux. Kernel, bagaimanapun, sering digunakan bersamaan dengan perangkat lunak lain, terutama proyek GNU. Ini dengan cepat menjadi adopsi perangkat lunak GNU yang paling populer. Pada bulan Juni 1994 di buletin GNU, Linux disebut sebagai "kloning UNIX gratis", dan proyek Debian mulai menyebut produknya Debian GNU / Linux . Pada bulan Mei 1996, Richard Stallman menerbitkan editor Emacs 19.31, di mana jenis sistem berganti nama dari Linux menjadi Lignux. Pengejaan ini dimaksudkan untuk merujuk secara khusus pada kombinasi GNU dan Linux, namun ini segera ditinggalkan demi "GNU / Linux".

Nama ini mengumpulkan berbagai reaksi. Proyek GNU dan Debian menggunakan namanya, walaupun kebanyakan orang hanya menggunakan istilah "Linux" untuk merujuk pada kombinasi. 

Maskot resmi Linux

Torvalds mengumumkan pada tahun 1996 bahwa akan ada maskot untuk Linux, sebuah penguin. Hal ini disebabkan kenyataan ketika mereka hendak memilih maskot, Torvalds memang menyebutkan bahwa dia digigit penguin kecil ( Eudyptula minor ) pada kunjungan ke Kebun Binatang dan Akuarium Nasional di Canberra, Australia. Larry Ewing memberikan draf asli maskot yang terkenal saat ini berdasarkan deskripsi ini. Nama Tux disarankan oleh James Hughes sebagai turunan dari Torvalds 'UniX , seiring dengan kekurangan tuksedo , sejenis setelan dengan warna yang mirip dengan seekor penguin.


Rabu, 19 April 2017

Sejarah Samsung Corporation

Sejarah Samsung Corporation

Samsung Group adalah perusahaan berbasis konglomerat Korea Selatan yang mencakup sejumlah anak perusahaan. Ini salah satu bisnis terbesar di Korea, memproduksi hampir seperlima dari total ekspor negara itu dengan fokus utama dalam elektronik, industri berat, konstruksi, dan industri pertahanan.anak perusahaan penting lainnya dari Samsung termasuk asuransi, iklan, dan bisnis industri hiburan.

Dengan hanya 30.000 won (sekitar $ 27 USD), Lee Byung-Chull mulai Samsung pada tanggal 1 Maret tahun 1938, sebagai perusahaan perdagangan yang berbasis di Taegu, Korea. Perusahaan kecil hanya 40 karyawan dimulai sebagai sebuah toko kelontong, perdagangan dan mengekspor barang-barang yang diproduksi di dan sekitar kota, seperti ikan kering Korea dan sayuran, serta mie sendiri.

Perusahaan tumbuh dan segera diperluas ke Seoul pada tahun 1947 tetapi meninggalkan setelah Perang Korea pecah. Setelah perang, Lee memulai penyulingan gula di Busan yang disebut Cheil Jedang, sebelum ekspansi ke tekstil dan membangun (kemudian) pabrik wol terbesar di Korea.

Diversifikasi sukses menjadi strategi pertumbuhan untuk Samsung, yang dengan cepat diperluas ke asuransi, sekuritas, dan bisnis ritel. Samsung difokuskan pada pembangunan kembali Korea setelah perang dengan fokus utama pada industrialisasi.
Samsung memasuki industri elektronik di tahun 1960 dengan pembentukan beberapa elektronik difokuskan divisi.

Divisi elektronik awal termasuk Samsung Electronics Devices, Samsung Electro-Mechanics, Samsung Corning, dan Samsung Semiconductor & Telecommunications. Samsung membangun fasilitas awal mereka di Suwon, Korea Selatan, pada tahun 1970, di mana mereka mulai memproduksi hitam dan putih televisi.

Antara 1972 dan 1979, Samsung mulai menjual mesin cuci, berubah menjadi Samsung Petrochemical dan kemudian Samsung Heavy Industries, dan pada tahun 1976, telah menjual nya 1000000 B & televisi W.
Pada tahun 1977, mereka mulai mengekspor TV warna dan didirikan Samsung Konstruksi, Samsung Fine Chemicals, dan Samsung Precision Co (sekarang disebut Samsung Techwin). Pada tahun 1978, Samsung telah menjual 4 juta set televisi hitam dan putih dan mulai memproduksi massal oven microwave sebelum tahun 1980.

Pada tahun 1980, Samsung memasuki industri hardware telekomunikasi dengan pembelian Hanguk Jenja Tongsin. Awalnya bangunan switchboards telepon, Samsung diperluas ke sistem telepon dan faks yang akhirnya bergeser ke manufaktur ponsel.

Bisnis ponsel itu dikelompokkan bersama dengan Samsung Electronics yang mulai berinvestasi dalam penelitian dan pengembangan seluruh tahun 1980-an. Selama ini Samsung Electronics diperluas ke Portugal, New York, Tokyo, Inggris, dan Austin, Texas.

Pada tahun 1987 dengan kematian Lee Byung-Chull, kelompok Samsung dipisahkan menjadi empat kelompok bisnis meninggalkan Samsung Group dengan elektronik, teknik, konstruksi, dan sebagian besar produk teknologi tinggi. Ritel, makanan, bahan kimia, logistik, hiburan, kertas, dan telekomunikasi yang berputar di antara Shinsegae Group, CJ Group, dan Hansol Group.
Samsung tumbuh sebagai sebuah perusahaan internasional sepanjang tahun 1990 ini.

Divisi konstruksi dari Samsung dijamin beberapa proyek konstruksi profil tinggi, termasuk salah satu Petronas Towers di Malaysia, Taipei 101 di Taiwan dan setengah mil tinggi Burj Khalifa Menara di UAE.

Samsung divisi rekayasa juga termasuk Samsung Techwin, produsen kedirgantaraan yang produsen mesin pesawat dan turbin gas serta menyediakan suku cadang yang digunakan dalam mesin jet pada pesawat Boeing dan Airbus.
Pada tahun 1993, Samsung mulai fokus pada tiga industri - elektronik, teknik, dan bahan kimia. reorganisasi termasuk menjual sepuluh anak perusahaan dan perampingan.

Dengan fokus baru dalam elektronik, Samsung berinvestasi dalam teknologi LCD, menjadi produsen terbesar panel LCD di dunia pada tahun 2005.

Sony bermitra dengan Samsung pada tahun 2006 untuk mengembangkan pasokan yang stabil dari panel LCD untuk kedua perusahaan, yang pernah menjadi masalah yang meningkat bagi Sony, yang tidak melakukan investasi di panel LCD yang besar. Sementara kemitraan hampir 50-50 split, Samsung milik satu saham lebih dari Sony, memberi mereka kontrol atas manufaktur. Pada akhir 2011, Samsung membeli saham Sony dalam kemitraan dan mengambil kontrol penuh.

Fokus Samsung di masa depan berpusat pada lima bisnis inti termasuk ponsel, elektronik dan biofarmasi. Sebagai bagian dari itu investasi bio-farmasi, Samsung membentuk usaha patungan dengan Biogen, investasi $ 255 juta untuk menyediakan pengembangan teknis dan kapasitas produksi biofarmasi di Korea Selatan. Samsung telah menganggarkan hampir $ 2 milyar pada investasi tambahan untuk mengejar strategi pertumbuhan bio-farmasi dan memanfaatkan keuntungan dari usaha patungan mereka.

Samsung juga terus berkembang di pasar ponsel, menjadi produsen terbesar ponsel di tahun 2012. Untuk tetap produsen yang dominan, Samsung telah mengalokasikan $ 3-4 juta untuk meng-upgrade fasilitas manufaktur semikonduktor Austin Texas mereka.
Samsung mengumumkan Gear VR pada bulan September 2014, yang merupakan perangkat virtual reality dikembangkan untuk digunakan dengan Galaxy Note 4. Juga pada tahun 2014, Samsung mengumumkan bahwa mereka akan mulai menjual Fiber Optik untuk produsen kaca Corning Inc.

Pada tahun 2015, Samsung memiliki lebih paten AS menyetujui dari perusahaan lain, yang diberikan lebih dari 7.500 utilitas paten sebelum akhir tahun ini.
Samsung merilis kebugaran smartwatch pada tahun 2016 disebut gigi Fit 2, serta earbuds nirkabel disebut Aksesoris Icon X. Pada akhir tahun, smartwatch Aksesoris G3 diumumkan.