Model – Model Pengembangan Perangkat

8Pada postingan kali ini, saya akan membahas tentang “Model – Model Pengembangan Perangkat Lunak Beserta Contoh Penerapannya”. Sebelumnya, Apa itu Pengembangan Perangkat Lunak? 

Proses Pengembangan Perangkat Lunak (Software Development Process) adalah suatu penerapan struktur pada pengembangan suatu Perangkat Lunak (Software), yang bertujuan untuk mengembangkan sistem dan memberikan panduan untuk menyukseskan proyek pengembangan sistem melalui tahapan-tahapan tertentu. Dalam prosesnya, terdapat beberapa paradigma model pengembangan sistem perangkat lunak, diantaranya :
 
1. Agile Software Development
Agile Software Development adalah sebuah grup metodologi-metodologi pengembangan software yang berbasis pada pengembangan iteratif dimana keperluan dan solusi pengembangan software berubah terus menerus.  Agile Software Development terdiri dari beberapa model pengembangan seperti SCRUM dan Extreme Programming (XP) yang cukup terkenal di kalangan para pengembang berbasis Agile. Pada Agile, kepuasan pelanggan adalah nomor 1, oleh karena itu Agile menekankan pada komunikasi yang intens dengan pelanggan.


Dokumen-dokumen design awal software pada Agile tidak selengkap metode pengembangan lainnya seperti Waterfall dan Spiral. Sejalan dengan perkembangan software di tiap iterasi pengembangan, design software nantinya akan lengkap dengan sendirinya.
Iterasi pengembangan software pada Agile biasanya maksimal 1 bulan lama pengembangannya dan waktu pengembangan diukur secara mingguan. Jika pada suatu iterasi terjadi kegagalan, design software dapat diubah tanpa memerlukan biaya dan penundaan yang signifikan. Idealnya setiap akhir iterasi, software sudah siap atau setidaknya hampir siap untuk dikirimkan ke pelanggan. Setelah akhir iterasi, tim pengembang mengevaluasi kembali seluruh proyek dan menentukan langkah ke depan.
Fitur-fitur yang diberikan oleh Agile Software Development adalah sebagai berikut:
  1. Iterasi yang cepat dan pengiriman software yang berfungsi secara reguler memastikan kepuasan pelanggan
  2. Perubahan yang telat dapat ditangani dengan mudah dan juga diterima secara terbuka
  3. Perkembangan dinilai berdasarkan implementasi software
  4. Komunikasi pelanggan dan pengguna ditekankan secara bertatap muka
  5. Setiap pertemuan dengan anggota tim dilakukan secara bertatap muka
  6. Setiap anggota tim pengembang adalah orang yang berkomitmen dan bermotivasi tinggi serta kompeten dan dapat dipercaya
Agile, dengan segudang keuntungannya tentu memiliki kekurangan juga, berikut saya jabarkan kelebihan dan kekurangan Agile yang saya temukan:

Kelebihan
  1. Meningkatkan rasio kepuasan pelanggan
  2. Bisa melakukan review pelanggan mengenai software yang dibuat lebih awal
  3. Mengurangi resiko kegagalan implementasi software dari segi non-teknis
  4. Besar kerugian baik secara material atau imaterial tidak terlalu besar jika terjadi kegagalan
Kekurangan
  1. Total lama pengembangan menjadi lebih lama
  2. Meningkatkan resiko kesalahan teknis
  3. Proses pengembangan menjadi agak kurang terorganisir
Meskipun memiliki beberapa kekurangan, Agile memiliki banyak kelebihan yang menutupi kekurangan tersebut. Beberapa perusahaan besar seperti Microsoft juga sering menggunakan metode Agile untuk mengembangkan beberapa produk mereka. Mungkin untuk para pembaca Agile Software Development bisa dijadikan salah satu pilihan untuk memilih metode yang tepat untuk mengembangkan sebuah aplikasi
Saat ini saya masih belajar menganai metode Agile, mungkin untuk pembaca yang memiliki ketertarikan di metode Agile ini bisa berdiskusi dengan kami dengan mengisi komen di artikel ini. Kedepan akan saya tulis artikel-artikel lainnya mengenai Agile seperti perbandingan Agile dengan metode lainnya atau penggunaan Agile untuk pengembangan software independen.


2. Rapid Aplication Development (RAD)
Rapid Aplication Development (RAD) adalah sebuah model proses perkembangan software sekuensial linier yang menekankan siklus perkembangan yang sangat pendek. Model RAD ini merupakan sebuah adaptasi “kecepatan tinggi” dari model sekuensial linier di mana perkembangan cepat dicapai dengan menggunakan pendekatan kontruksi berbasis komponen. Jika kebutuhan dipahami dengan baik, proses RAD memungkinkan tim pengembangan menciptakan “sistem fungsional yang utuh” dalam periode waktu yang sangat pendek (kira-kira 60 sampai 90 hari). Karena dipakai terutama pada aplikasi sistem konstruksi, pendekatan RAD melingkupi fase – fase sebagai berikut :

1. Bussiness modeling
Aliran informasi di antara fungsi – fungsi bisnis dimodelkan dengan suatu cara untuk menjawab pertanyaan – pertanyaan berikut : informasi apa yang mengendalikan proses bisnis? Informasi apa yang di munculkan? Siapa yang memunculkanya? Ke mana informasi itu pergi? Siapa yang memprosesnya?

2. Data modeling
Aliran informasi yang didefinisikan sebagai bagian dari fase bussiness modelling disaring ke dalam serangkaian objek data yang dibutuhkan untuk menopang bisnis tersebut. Karakteristik (disebut atribut) masing–masing objek diidentifikasi dan hubungan antara objek – objek tersebut didefinisikan.

3. Prosess modeling
Aliran informasi yang didefinisikan di dalam fase data modeling ditransformasikan untuk mencapai aliran informasi yang perlu bagi implementasi sebuah fungsi bisnis. Gambaran pemrosesan diciptakan untuk menambah, memodifikasi, menghapus, atau mendapatkan kembali sebuah objek data.

4. Aplication generation
RAD mengasumsikan pemakaian teknik generasi ke empat. Selain menciptakan perangkat lunak dengan menggunakan bahasa pemrograman generasi ketiga yang konvensional, RAD lebih banyak memproses kerja untuk memkai lagi komponen program yang ada ( pada saat memungkinkan) atau menciptakan komponen yang bisa dipakai lagi (bila perlu). Pada sem
ua kasus, alat – alat bantu otomatis dipakai untuk memfasilitasi konstruksi perangkat lunak.

5. Testing and turnover
Karena proses RAD menekankan pada pemakaian kembali, banyak komponen program telah diuji. Hal ini mengurangi keseluruhan waktu pengujian. Tetapi komponen baru harus di uji dan semua interface harus dilatih secara penuh.
rada
Keunggulan model RAD adalah :
  1. Setiap fungsi mayor dapat dimodulkan dalam waktu tertentu kurang dari 3 bulan dan dapat dibicarakan oleh tim RAD yang terpisah dan kemudian diintegrasikan sehingga waktunya lebih efisien
  2. RAD mengikuti tahap pengembangan sistem seperti umumnya, tetapi mempunyai kemampuan untuk menggunakan kembali komponen yang ada sehingga pengembang tidak perlu membuat dari awal lagi dan waktu yang lebih singkat
Kekurangan model RAD adalah :
  1. Bagi proyek yang besar tetapi berskala, RAD memerlukan sumber daya manusia yang memadai untuk menciptakan jumlah tim RAD yang baik.
  2. RAD menuntut pengembangan dan pelanggan memiliki komitmen di dalam aktivitas rapid-fire yang diperlukan untuk melengkapi sebuah sistem, di dalam kerangka waktu yang sangat diperpendek. Jika komitmen tersebut tidak ada, proyek RAD akan gagal.

3. Dynamic Systems Development Method (DSDM)

Pada Dynamic System Development Method menyajikan kerangka kerja (framework) untuk membangun dan memelihara sistem dalam waktu yang terbatas melalui penggunaan prototyping yang incremental dalam lingkungan yang terkondisikan. Metode ini akan membangun software dengan cepat: 80% dari proyek diserahkan dalam 20% dari waktu total untuk menyerahkan proyek secara utuh.

Dynamic System Development Method dapat dikombinasikan dengan Extreme Programmning menghasilkan kombinasi model proses yang mengikuti Dynamic System Development Method dan praktek yang sejalan dengan Extreme Programmning.

Dynamic System Development Method memiliki beberapa aaktifitas seperti :

- Feasibility study : siapkan requirement, dan batasan, lalu uji apakah sesuai gunakan proses DSDM.

- Business Study: susun kebutuhan fungsional dan informasi, tentukan arsitektur aplikasi dan identifikasi kebutuhan pemeliharaan untuk aplikasi.

- Functional model iteration : hasilkan incremental prototype yang perlihatkan fungsi software ke klien untuk dapatkan kebutuhan lebih jelas dan konfirmasi.

- Design and Build Iteration : cek ulang prototype yang dibangun untuk pastikan bahwa prototype dibangun dengan cara yang memungkinkan fungsi tersebut benar-benar bekerja.

- Implementation: menempatkan software pada lingkungan sebenar sekalipun belum lengkap, atau masih ada perubahan.


4. Extreme Programming Methodology
Model proses ini diciptakan dan dikembangkan oleh Kent Beck. Model ini adalah model proses yang terbaru dalam dunia rekayasa perangkat lunak dan mencoba menjawab kesulitan dalam pengembangan software yang rumit dan sulit dalam implementasi. Menurut Kent Beck Extreme Programming Methodology adalah : “A lightweight, efficient, low-risk, flexible,predictable, scientific and fun way to develop software”. Suatu model yang menekankan pada:
► keterlibatan user secara langsung
► pengujian
► pay-as-you-go design
Sebagai contoh :
d616a-extremeprogramming

Adapun empat nilai penting dari Extreme Programming Methodology :
  1. Communication/Komunikasi : komunikasi antara developer dan klien sering menjadi masalah. Karena itu komunikasi dalam Extreme Programming Methodology dibangun dengan melakukan pemrograman berpasangan (pair programming). Developer didampingi oleh pihak klien dalam melakukan coding dan unit testing sehingga klien bisa terlibat langsung dalam pemrograman sambil berkomunikasi dengan developer. Selain itu perkiraan beban tugas jugadiperhitungkan.
  2. Simplicity/ sederhana: Menekankan pada kesederhanaan dalam pengkodean: “What is the simplest thing that could possibly work?” Lebih baik melakukan hal yang sederhana dan mengembangkannya besok jika diperlukan. Komunikasi yang lebih banyak mempermudah, dan rancangan yang sederhana mengurangi penjelasan.
  3. Feedback / Masukan/Tanggapan: Setiap feedback ditanggapi dengan melakukan tes, unit test atau system integration dan jangan menunda karena biaya akan membengkak (uang, tenaga, waktu).
  4. Courage / Berani: Banyak ide baru dan berani mencobanya, berani mengerjakan kembali dan setiap kali kesalahan ditemukan, langsung diperbaiki.

5. Scrum Methodology

Pertama kali diperkenalkan oleh Jeff Sutherland tahun awal tahun 1990an, dan dikembangkan selanjutnya dilakukan oleh Schwaber dan Beedle. Pada dasarnya Scrum merupakan salah satu komponen dari metodologi pengembangan Agile mengenai pertemuan harian untuk membahas kemajuan dan XP adalah menekankan metodologi yang berbeda sepasang ujian dulu pemrograman dan pembangunan.

Scrum menguraikan proses untuk mengidentifikasi dan katalogisasi pekerjaan yang perlu dilakukan, memprioritaskan yang bekerja dengan berkomunikasi dengan pelanggan atau wakil pelanggan, dan pelaksanaan yang bekerja menggunakan rilis iterative dan memiliki tujuan utama untuk mendapatkan perkiraan berapa lama akan pembangunan. XP lebih lanjut tentang pengembang membantu menyelesaikan pekerjaan secepat dan maintainably mungkin

Scrum memiliki prinsip yaitu :

- Ukuran tim yang kecil melancarkan komunikasi, mengurangi biaya, dan memberdayakan satu sama lain.

 - Proses dapat beradaptasi terhadap perubahan teknis dan bisnis.

- Proses menghasilkan beberapa software increment.

 - Pembangunan dan orang yang membangun dibagi dalam tim yang kecil.

- Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun.

 - Proses scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan.

Scrum memiliki aktifitas yang meliputi :

1. Backlog Backlog adalah daftar kebutuhan yang jadi prioritas klien, dan daftar yang dibuat dapat bertambah.

2. Sprints Aktifitas Sprints merupakanunit pekerjaan yang diperlukan untuk memenuhi kebutuhan yang ditetapkan dalam backlog sesuai dengan waktu yang ditetapkan dalam time-box (biasanya 30 hari). Selama proses ini berlangsung backlog tidak ada penambahan.

3. Scrum Meetings Aktifitas Scrum Meeting merupakan pertemuan yang rutin dilakukan perhari untuk evaluasi apa yang dikerjakan, hambatan yang ada, dan target penyelesaian untuk bahan meeting selanjutnya.

4. Demo Aktifitas Demo adalah penyerahan software increment ke klien didemonstrasikan dan dievaluasi oleh klien.




Aplikasi Membuat Game Tanpa Perlu Bisa Coding

Ingin membuat game tapi tidak mengerti bahasa pemrograman? Tidak perlu kecil hati, karena sekarang sudah banyak aplikasi yang bisa membantumu membuat game meski tanpa bisa coding. Kamu tetap harus menyediakan aset grafis dan suara sendiri, namun setidaknya aplikasi-aplikasi tersebut bisa meringankan beban kerjamu.
Tergantung dari game seperti apa yang ingin kamu buat, aplikasi pembantu yang harus kamu gunakan bisa berbeda-beda. Memang kamu tidak akan bisa membuat game super kompleks seperti Final Fantasy XV, tapi untuk game yang lebih sederhana, lima aplikasi di bawah bisa kamu coba.

TyranoBuilder Visual Novel Studio

 
 

TyranoBuilder Visual Novel Studio adalah salah satu aplikasi pembuatan visual novel paling populer saat ini. Dengan TyranoBuilder, membuat visual novel jadi semudah drag and drop aset dan teks di layar, layaknya menyusun slide presentasi di Microsoft PowerPoint. Karena tidak butuh coding, kamu jadi bisa fokus pada pembuatan cerita sebagus mungkin.
Meski bisa digunakan dengan drag and drop saja, TyranoBuilder juga menyediakan fitur scripting bernama TyranoScript untuk pengguna mahir. Visual novel yang kamu buat nantinya bisa kamu compile dan rilis untuk Windows, MacOS, iOS, Android, serta browser web yang mendukung HTML5.

Construct 2



Bila kamu ingin membuat game yang seru namun tidak terlalu rumit, Construct 2 adalah pilihan tepat. Construct 2 merupakan aplikasi pembuat game yang secara khusus fokus pada game 2D, seperti platformer, puzzle, atau shooter. Seluruh objek dan perilakunya di layar bisa kamu atur dengan antarmuka drag and drop yang intuitif dan mudah digunakan.
Kelebihan utama Construct 2 dibandingkan aplikasi lainnya adalah kamu bisa menggunakannya secara gratis untuk keperluan nonkomersial. Tapi bila ingin membuat game untuk dijual, kamu harus membayar lisensi tergantung dari berapa banyak keuntungan yang kamu dapat.

GG Maker

 


GG Maker cocok untuk kamu yang belum pernah melakukan coding sebelumnya, namun ingin bisa coding suatu saat nanti. Aplikasi ini bisa membantumu membuat beragam game, mulai dari platformer sederhana sampai RPG 3D yang rumit. Seluruh perilaku objek di layar bisa kamu atur menggunakan editor visual yang canggih, sesuai dengan desain permainan yang kamu mau.
Fitur menarik dalam GG Maker adalah alat yang disebut Graphically Assisted Scripting. Dengan fitur ini, logika yang biasanya harus diketik dengan bahasa pemrograman bisa kamu implementasikan secara visual dalam bentuk diagram alir. Penguasaan logika di Graphically Assisted Scripting akan membantumu memahami cara kerja coding sungguhan.

Clickteam Fusion 2.5


Mirip dengan GG Maker, Clickteam Fusion juga menyediakan editor drag and drop untuk membuat game 2D maupun 3D. Bila GG Maker menggunakan diagram alir untuk implementasi logika, Clickteam Fusion memiliki fitur editor event frame-by-frame layaknya pembuatan animasi dengan Adobe Flash.
Clickteam Fusion sudah banyak digunakan untuk membuat game komersial populer, contohnya Five Nights at Freddy’s, The Escapists, dan Angry Video Game Nerd Adventures. Tersedia juga Clickteam Fusion versi gratisan dengan fitur terbatas untuk kamu coba.

RPG Maker MV

 


Meneruskan seri RPG Maker yang sudah berusia dua puluh tahun lebih, Enterbrain kembali mengajak kita membuat RPG 2D sendiri lewat RPG Maker MV. Tidak peduli apakah kamu pemula yang sedang iseng, maupun developer profesional yang ingin membuat RPG dengan cerita epik, RPG Maker MV bisa memenuhi kebutuhanmu.
Versi terbaru RPG Maker ini menyajikan fitur Side View Battle layaknya seri Final Fantasy era SNES. Tampilan visual pun dirombak, dengan ukuran sprite lebih besar dan dukungan resolusi HD. Tersedia juga editor sprite dan ilustrasi, jadi kamu bisa membuat sebuah RPG utuh tanpa menggambar satu aset pun. Namun untuk tampilan yang lebih unik dan menarik, kamu tetap disarankan membuat aset sendiri.

Itulah lima aplikasi yang bisa kamu gunakan untuk membuat game di PC tanpa kemampuan pemrograman. Meski tidak perlu melakukan coding, bukan berarti membuat game lantas jadi semudah membalik telapak tangan. Kualitas aset audio visual, desain gameplay yang baik, serta cerita menarik tetap harus diperhatikan untuk membuat game yang berkesan dan layak main.
Perkembangan teknologi semakin lama semakin membantu pembuatan game. Tak jarang kita melihat ada game bagus dan sukses yang dikembangkan oleh tim kecil, bahkan satu orang saja. Jadi jangan ragu untuk membuat game milikmu sendiri. Siapa tahu, game buatanmu bisa jadi Stardew Valley atau Undertale berikutnya.

Sumber : tech in asia

Pengertian MacOs, Linux Dan Android

 Di dalam penggunaan komputer ada 3 sistem yang paling sering dipakai oleh user atau brainware yaitu Windows, Linux, dan Mac OS. Seiring berkembangnya zaman, kini telah hadir satu lagi yaitu Android. Di setiap operating system pastilah mempunyai perbedaan, kelebihan, dan pastinya kekurangan. Oleh karena itu kali ini kita akan membahas beberapa sistem operasi tersebut, khususnya MacOS, Linux, Dan Android.

1. Mac OS 
Yang pertama kali kita bahas adalah Mac OS, Mac OS Sendiri adalah singkatan dari Macintosh Operating System. Mac OS adalah sistem operasi komputer yang dibuat oleh Apple Computer khusus untuk komputer Macintosh dan tidak kompatibel dengan PC berbasis IBM. Diperkenalkan pada tahun 1984, Mac OS sejak tahun 2002 telah memiliki kompatibilitas dengan arsitektur PowerPC maupun x86.
   
Macintosh Operating System pertama kali dibuat oleh perusahaan Apple Inc. dengan desain yang elegan dan mudah dipahami oleh para user atau brainware. Macintosh Operating System adalah sistem operasi pertama yang menggunakan Graphical User Interface, sebuah sistem operasi yang menggunakan gambar (tidak hanya teks). 

Setiap Sistem operasi pasti memilki kelebihan dan kekurangan. Berikut kelebihan Dari MacOS :
  • Stabil karena telah berbasis UNIX
  • Fitur ‘Time Machine’ membuat Mac OS bisa memback-up sistem dan perubahan data secara otomatis
  • Program ‘Sherlock’ yang bisa mencari file pada harddisk, jaringan LAN dan Internet secara keyword
  • Mac OS memiliki keamanan lebih terhadap virus, malware maupun spyware
  • Bisa mengenal file format Windows
Dan Kekurangan Dari MacOs Adalah :
  • Mahal karena Mac OS merupakan satu produk dengan Apple
  • Tidak direkomendasikan untuk aplikasi game dan server
  • Mac OS lebih cocok digunakan untuk desain grafis
  • Mac OS tidak dapat digunakan bersama dengan sistem pengoperasian lain yang tidak menggunakan sistem Mac OS
  • Software yang dimiliki Mac OS belum lengkap






2. Linux
 

Linux (diucapkan ˈlɪnəks atau /ˈlɪnʊks/) adalah nama yang diberikan kepada sistem operasi komputer bertipe Unix. Linux merupakan salah satu contoh hasil pengembangan perangkat lunak bebas dan sumber terbuka utama. Seperti perangkat lunak bebas dan sumber terbuka lainnya pada umumnya, kode sumber Linux dapat dimodifikasi, digunakan dan didistribusikan kembali secara bebas oleh siapa saja.
Nama “Linux” berasal dari nama pembuatnya, yang diperkenalkan tahun 1991 oleh Linus Torvalds. Sistemnya, peralatan sistem dan pustakanya umumnya berasal dari sistem operasi GNU yang diumumkan tahun 1983 oleh Richard Stallman. Kontribusi GNU adalah dasar dari munculnya nama alternatif GNU/Linux.
Linux sendiri mempunyai macam-macam sistem operasi yang disebut ‘Distro Linux’ seperti Ubuntu, Linux Mint, Debian, redhet dan masih banyak lagi. Karena sistem operasi tersebut menggunakan Linux sebagai kernelnya. Banyak dari kita menganggap Linux adalah sistem operasi. Hal ini tidak salah. Namun juga kurang tepat.
Pastinya sebagai sistem operasi yang juga bertipe ‘Unix’, Linux memiliki kelebihan dan kekurangan, seperti :
Kelebihan :

  • Bersifat open source, bebas dan terbuka. sehingga tidak perlu biaya untuk mendapatkannya. Lisensinya gratis  dan boleh di utak atik semaunya
  • Jarang terjadinya Crash karena sistem operasi Linux bisa dikatakan stabil
  • Hampir semua aplikasi yang biasa dijalankan di Windows, sudah ada aplikasi Linux yang dikembangkan oleh komunitas Linux atau bisa juga menggunakan software emulator
  • Memiliki pengamanan yang lebih unggul karena di desain multiuser sehingga apabila virus menyerang user tertentu, akan sangat sulit menyebar ke user lainnya
  • Cocok untuk PC yang memiliki spesifikasi minimum karena Linux membutuhkan resource yang lebih kecil dibandingkan Windows
Kekurangan :
  • Banyak User yang belum terbiasa menggunakan Linux
  • Dukungan hardware dari vendor-vendor tertentu yang tidak terlalu baik pada Linux
  • Proses instalasinya tidak semudah seperti menginstall Windows
  • Aplikasi di Linux belum bisa dikatakan secanggih aplikasi Windows
  • Struktur direktori dan hak akses yang membingungkan bagi user yang terbiasa menggunakan Windows

 3. Android
Dan yang akan kita bahas Terakhir adalah Android. Android sendiri merupakan sistem operasi berbasis Linux yang dirancang untuk perangkat bergerak layar sentuh seperti telepon pintar dan komputer tablet. Android awalnya dikembangkan oleh Android, Inc., dengan dukungan finansial dari Google, yang kemudian membelinya pada tahun 2005. Sistem operasi ini dirilis secara resmi pada tahun 2007, bersamaan dengan didirikannya Open Handset Alliance, konsorsium dari perusahaan-perusahaan perangkat keras, perangkat lunak, dan telekomunikasi yang bertujuan untuk memajukan standar terbuka perangkat seluler. Ponsel Android pertama mulai dijual pada bulan Oktober 2008.

Perkembangan Android dari awal sampai sekarang sudah mencapai ke-22 kalinya. Android selalu mencoba untuk menghasilkan terobosan terbaik di setiap sistem operasinya. Berikut list perkembangan Android :
  • 2.1 Android 1.0
  • 2.2 Android 1.1
  • 2.3 Android 1.5 Cupcake
  • 2.4 Android 1.6 Donut
  • 2.5 Android 2.0 Eclair
  • 2.6 Android 2.0.1 Eclair
  • 2.7 Android 2.1 Eclair
  • 2.8 Android 2.2–2.2.3 Froyo
  • 2.9 Android 2.3–2.3.2 Gingerbread
  • 2.10 Android 2.3.3–2.3.7 Gingerbread
  • 2.11 Android 3.0 Honeycomb
  • 2.12 Android 3.1 Honeycomb
  • 2.13 Android 3.2 Honeycomb
  • 2.14 Android 4.0–4.0.2 Ice Cream Sandwich
  • 2.15 Android 4.0.3–4.0.4 Ice Cream Sandwich
  • 2.16 Android 4.1 Jelly Bean
  • 2.17 Android 4.2 Jelly Bean
  • 2.18 Android 4.3 Jelly Bean
  • 2.19 Android 4.4 KitKat
  • 2.20 Android 5.0 Lollipop
  • 2.21 Android 6.0 Marshmallow
  • 2.22 Android 7.0 Nougat
Android memiliki kelebihan dan kekurangan, seperti :
Kelebihan :
  • User Friendly – Kalimat ini sangat melekat pada sistem operasi Windows miliknya microsoft, ibaratnya kita dengan sangat mudah mengoprasikan komputer hanya dengan belajar beberapa hari bahkan beberapa jam saja, dan ini juga melekat pada Android yang berjalan pada Smartphone.
  • Notifications – Anda dengan sangat mudah mendapatkan notifikasi dari smartphone android dengan mengatur beberapa akun Email, SMS , Voice Dial, Update dan lain sebagainya.
  • Tampilan – Dari segi tampilan, Android tidak kalah bagusnya dari iOs miliknya Apple, karena memang dari awal android hampir mengusung teknologi iOs, hanya saja ini versi murahnya.
  • Open Source – Operating system ini memang dibuat open source oleh penciptanya, karena memang berbasis kernel Linux. Jadi jangan kaget jika diluar sana ada banyak sekali Custom Rom untuk masing-masing perangkat android.
  • Aplikasi – Untuk Aplikasi anda akan disajikan jutaan pilihan aplikasi yang menarik dari yang gratis hingga berbayar, dan anda bisa mendownloadnya di Google Play, siapa lagi kalau bukan miliknya Google Inc.
Kekurangan :
  • Update System – Untuk melakukan update system tidaklah mudah, anda harus menunggu dari masing-masing Vendor untuk merilis Update Versi yang terbaru. Tentu ini sangat tidak menyenangkan.
  • Batterai Cepat Habis – Ini sering terjadi jika anda menyalakan paket data dan menggunakan widget serta aplikasi yang berjalan secara berlebihan, untuk mengatasinya anda harus mengurangi aktivitas aplikasi pada smartphone anda.
  • Lemot atau Lag – Sebenarnya kalau ini ada kaitannya dengan spesifikasi dari masing-masing perangkat, namun ada kalanya Android ini tidak bersahabat dengan beberapa aplikasi dikarenakan Ram ataupun Prosesornya yang kurang memadai, jadi sesuaikan aplikasi dengan perangkatnya.