Symbian OS dan Software Development Kits (SDK)
Symbian OS adalah sistem operasi tak bebas yang dikembangkan oleh Symbian Ltd. yang dirancang untuk digunakan peralatan bergerak (mobile). Sebelum Nokia mengumumkan pembelian seluruh sisa saham Symbian Ltd. yang tidak dimilikinya pada 24 Juni 2008, Symbian dimiliki Nokia (47,9%), Ericsson (15,6%), Panasonic (10,5%), Samsung (4,5%), Siemens/BenQ (8,4%), Sony Ericsson (13,1%) [1] . Versi Symbian yang terbaru adalah Symbian OS v9.5s. Sedangkan ponsel yang paling banyak beredar saat ini menggunakan Symbian OS v6.1s, v7.0s, RV 47 75, v8.OS, dan v9.1s. Nokia Nseries rata-rata menggunakan Symbian OS v9.1s, kecuali Nokia N95 yang menggunakan Symbian OS v9.2s.
1.Gambaran Umum
Saat ini Symbian OS banyak telah banyak digunakan oleh berbagai vendor produk peralatan komunikasi bergerak pada berbagai jenis produk mereka yang bervariasi. Variasi dari sisi perangkat keras ini dimana Symbian OS diimplementasi dapat dimungkinkan karena sistem operasi ini memiliki antarmuka pemprograman aplikasi (Application Programming Interface; API). API mendukung terhadap komunikasi dan tingkah laku yang umum pada hardware yang dapat digunakan oleh objek aplikasi lain. Hal ini dimungkinkan karena API merupakan objek antarmuka yang didefenisikan pada level aplikasi, yang berisikan prosedur dan fungsi (dan juga variabel serta struktur data) yang mengelola/memanggil [kernel] dimana sebagai penghubung antara perangkat lunak dan keras. Dengan adanya standar API ini membantu pihak pengembang untuk melakukan penyesuaian atas aplikasi yang dibuatnya agar dapat diinstal pada produk telepon bergerak yang bermacam-macam.
Mirip seperti sistem operasi pada komputer, Symbian OS mampu melakukan operasi secara multithreading, multitasking dan pengamanan terhadap memori. Dan semua pemrograman pada Symbian dilakukan secara event-based, artinya hardware CPU menjadi tidak aktif ketika tidak ada inputan berupa aktifitas tertentu. Namun perlu dipahami sistem operasi ini memang ditujukan untuk diinstal pada peralatan mobile dengan keterbatasan sumber daya. Multithread dan multitasking memberikan kemampuan Symbian OS untuk menjalankan lebih dari satu aplikasi sekaligus.
Namun khusus ini, adanya preemptive multitasking kernel akan memberi tiap-tiap program suatu pembagian waktu pemprosesan yang dilakukan bergantian dengan cepat sehingga nampak bagi pemakai seolah-olah proses ini dieksekusi secara bersamaan. Untuk itu telah didefinisikan penjadwalan berdasar prioritas tertentu untuk menentukan proses mana yang berjalan terlebih dahulu dan proses apa berikutnya serta berapa banyak waktu akan jadi diberi.
Symbian OS sendiri bukanlah software yang sifatnya open source secara penuh karena meskipun terdapat ketersedian API dan dokumentasinya, yang banyak membantu pihak pengembang aplikasi untuk membuat software yang berjalan di atas sistem operasi ini, dipublikasi untuk umum namun tidak untuk kode source sendiri.
2. Arsitektur Sistem Operasi
Secara umum arsitektur Symbian OS sendiri dapat gambarkan menjadi empat lapisan berdasarkan penggunaan API yang tersedia, yaitu :
2.1. Lapisan pendukung aplikasi (Application Utility Layer)
Lapisan ini terdiri dari berbagai pendukung yang berorientasi pada aplikasi. Hal ini memungkinkan aplikasi lain (diluar sistem operasi) untuk berintegrasi dengan aplikasi dasar yang tersedia pada sistem operasi. Bentuk layanan lain termasuk proses pertukaran data dan manajemen data.
2.2 Lapisan layanan dan framework antarmuka grafis (GUI Framework)
Lapisan ini merupakan framework API yang tersedia untuk memberi dukungan terhadap penanganan input user secara grafis maupun suara yang dapat digunakan oleh aplikasi lain.
2.3. Lapisan komunikasi
Lapisan ini berfungsi sebagai sistem operasi yang fokus diimplementasi pada peralatan komunikasi mobile, Symbian OS memiliki kumpulan API yang fokus pada lapisan komunikasi. Bagian teratas pada lapisan ini terdapat dukungan pencarian dan pengiriman pesan teks. Berikutnya adalah antarmuka yang memberi dukungan komunikasi seperti Bluetooth dan infrared (IrDA) serta USB. Yang terakhir pada lapisan ini adalah protokol komunikasi berupa TCP/IP, HTTP, WAP dan layanan telepon.
2.4. Lapisan sistem API dasar
Lapisan ini merupakan kumpulan API yang mendukung pengasksesan data memori, tanggal dan waktu, serta sistem dasar lainnya.
3. Klasifikasi Sistem Operasi
Klasifikasi ini berdasar fungsionalitas dan hak akses dari API tertentu. Tujuan dari pendefinisian sistem ini selain untuk membedakan API mana saja yang bisa diakses oleh aplikasi yang dibuat oleh pihak pengembang aplikasi, juga tetap memelihara integrasi dari layanan yang disediakan bagi pihak pengembang aplikasi dengan API yang umum digunakan. Hal ini juga dilakukan untuk memaksimumkan interoperabilitas antara berbagai produk yang menggunakan Symbian OS.
Terdapat empat kategori dalam klasifikasi API yang tersedia, yaitu:
3.1.(API) Symbian Umum
Komponen ini merupakan komponen (API) inti dari Symbian OS. Setiap pengembang aplikasi dapat berasumsi bahwa komponen ini terdapat pada setiap versi Symbian OS sehingga dapat digunakan pada setiap perangkat telepon bergerak yang menggunakan Symbian OS sebagai sistem operasinya. Dengan kata lain setiap kode program yang hanya menggunakan API pada kategori ini dapat dikompile dan dijalankan tanpa kesalahan pada setiap telepon yang menggunakan Symbian OS. Dengan adanya lisensi kerjasama, pengembang aplikasi dapat menambahkan dengan syarat tidak mengganti ataupun mengubah fungsi API standar yang dikategorikan pada bagian ini.
3.2. (API) Symbian Umum Tergantikan
Komponen yang memerlukan kostumisasi dari komponen Symbian Umum yang diperlukan untuk bekerja dengan ROM dari sistem dimana ia diinstal. Komponen ini merupakan komponen yang bekerja pada low-level dari hardware tertentu. Untuk mendapatkan komponen ini pihak pengembang aplikasi memerlukan lisensi dengan pihak Symbian karena versi komponen ini disediakan oleh pihak Symbian. Namun pada dasarnya komponen ini merupakan komponen standar (umum) yang tersedia pada semua versi Symbian OS.
3.3. (API) Symbian Opsional
Komponen-komponen ini sifatnya opsional (tidak selalu ada) pada semua versi Symbian OS. Namun jika tersedia, maka pengembang aplikasi mendapat jaminan bahwa aplikasinya dapat menggunakan API pada kategori ini pada versi Symbian OS yang sama.
3.4. (API) Symbian Opsional Tergantikan
Bentuk kategori ini mirip dengan kategori Symbian Opsional adalah kumpulan API yang tidak terikat dengan API umum yang ada pada versi Symbian OS dan dapat ditambahkan oleh pihak pengembang dengan suatu lisensi dari pihak Symbian.
5. Software Development Kits (SDK)
A software development kit (SDK atau "devkit") secara khusus adalah sebuah kumpulan alat pengembangan yang memungkinkan seorang software engineer untuk membuat aplikasi untuk beberapa paket perangkat lunak, kerangka perangkat lunak, hardware platform, sistem komputer, video game konsol, atau sistem operasi [2].
Ini Mungkin sesuatu yang sederhana seperti sebuah antarmuka pemrograman aplikasi (API) dalam bentuk file ke beberapa antarmuka tertentu ke bahasa pemrograman atau termasuk canggih untuk berkomunikasi dengan perangkat keras tertentu dalam sebuah embedded system. Biasanya alat bantu termasuk debugging dan utilitas sering disajikan dalam sebuah lingkungan pengembangan terpadu (IDE). SDKs sering juga termasuk contoh kode dan catatan teknis pendukung atau dokumen pendukung lainnya untuk membantu menjelaskan poin dari bahan acuan utama.
Seorang software engineer biasanya menerima SDK dari target pengembang sistem . SDK seringkali dapat didownload secara langsung melalui Internet. Banyak SDKs disediakan secara gratis untuk mendorong pengembang untuk menggunakan sistem atau bahasa. Kadang - kadang ini digunakan sebagai alat pemasaran. Misalnya, Foo Produk mungkin menyediakan Widget SDK gratis untuk mendorong orang untuk menggunakannya. Dengan bisa memprogram Widget SDK secara gratis secara tidak langsung akan mendorong mereka membeli lebih banyak widget .
SDK untuk sebuah sistem operasi add-on (misalnya, QuickTime untuk Mac OS) termasuk tambahan pada perangkat lunak itu sendiri, yang akan digunakan untuk tujuan pengembangan, jika tidak perlu untuk didistribusikan kembali. Timbul situasi yang menarik di sini antar platform dimana adalah mungkin untuk mengembangkan aplikasi yang setidaknya dapat dimulai pada sebuah sistem tanpa konfigurasi tambahan terinstal, dan menggunakan gaya Gestalt run-time environment query untuk menentukan jika add-on ada, dan aplikasi mana yang akan gagal untuk memulai. Dengan kata lain, kemungkinan untuk membangun single biner yang akan dijalankan di konfigurasi dengan atau tanpa add-on ini, walaupun operasi dikurangi dengan fungsionalitas dalam situasi yang kedua.
Penyedia layanan SDKs untuk system tertentu atau subsystems terkadang bisa mengganti istilah yang lebih spesifik, bukan perangkat lunak. Sebagai contoh, baik Microsoft dan Apple menyediakan Driver Development Kit(DDK) untuk mengembangkan perangkat driver.
Symbian memiliki beberapa jenis SDK untuk berbagai platform User Interface (UI), yaitu : UIQ, S60, Nokia Series 80, dan Nokia 7710. Pembahasan kali ini akan menitik beratkan kepada pengembangan aplikasi berbasis S60, dengan pertimbangan banyaknya perangkat SmartPhone yang menggunakan platform ini.
Beberapa edisi S60 SDK, versi Symbian OS, dan perangkat handphone yang didukung:
•S60 3rd Edition - Symbian OS v9.1
Nokia E60, Nokia E61, Nokia E70, Nokia 3250, Nokia N71, Nokia N80, Nokia N91, Nokia N92, dll
•S60 2nd Edition with Feature Pack 3 - Symbian OS v8.1
Nokia N70, Nokia N90, dll
•S60 2nd Edition with Feature Pack 2 - Symbian OS v8.0a
Nokia 6630, Lenovo P930, Nokia 6680, Nokia 6681, Nokia 6682, dll
•S60 2nd Edition with Feature Pack 1 - Symbian OS v7.0s enhanced
Nokia 3230, Nokia 6670, Nokia 7610, Nokia 6620, Nokia 6260, Panasonic X700, Panasonic X800, Samsung SDH-D720, dll
•S60 2nd Edition - Symbian OS v7.0s
Nokia 6600, dll
•S60 1st Edition - Symbian OS v6.1
Nokia 7650, Nokia 3650, Nokia 3600Nokia 3660, Nokia 3620, Nokia N-Gage, Nokia N-Gage QD, Sendo X, Siemens SX1, dll
Tabel 2.1 memuat informasi mengenai perbandingan fitur pada beberapa edisi SDK :
Sumber: www. forum.nokia.com