API (Application Programming Interface)

Jurnal/Penelitian saya tentang API (Application Programing Interface)

Windows API adalah sekumpulan antarmuka pemrograman aplikasi yang dibuat oleh Microsoft dalam inti sistem operasi Microsoft Windows buatannya. Semua program Windows, kecuali program konsol, harus berinteraksi dengan Windows API tanpa melihat dengan bahasa apa ia dibuat. Akses terhadap elemen sistem operasi yang lebih rendah, seperti halnya yang dibutuhkan oleh device driver, tidak disediakan oleh Windows API, tapi disediakan oleh Windows Driver Foundation atau Native API dalam versi-versi baru Windows.
Agar para pengembang perangkat lunak dapat menggunakan versi-versi Windows baru, Microsoft sering merilis Software Development Kit (SDK), yang terdiri atas dokumentasi dan alat bantu untuk membangun aplikasi-aplikasi Windows dengan teknologi terbaru Microsoft Windows.


Versi-versi Windows API

Hampir pada setiap peluncuran versi baru Windows, Microsoft memperkenalkan API baru terhadap Windows API. Meskipun demikian, nama dari panggilan API tersebut tetap dipertahankan dan konsisten antara satu versi dengan versi yang lainnya, dan perubahan nama pun mungkin dilakukan jika memang terjadi di sana perubahan besar-besaran pada platform Windows itu sendiri. Microsoft pun kemudian akan mengubah nama keluarga Win32 API yang digunakan saat ini menjadi Windows API, dan membuatnya dapat digunakan oleh semua versi API sistem operasi Windows.

Win16 API

Windows 16 API atau Win16 API merupakan API yang digunakan pertama kali pada versi Windows 16-bit. Pada awalnya, Win16 API disebut dengan Windows API, tapi kemudian diubah menjadi Win16 dalam usaha Microsoft untuk membedakannya dengan versi Windows API yang lebih baru yang berjalan pada Windows 32-bit, Win32 API. Fungsi-fungsi Win16 API umumnya terdapat di dalam berkas-berkas inti sistem operasi: kernel.exe (atau krnl286.exe pada Windows for 286 atau krnl386.exe pada Windows yang berjalan pada Enhanced 386), user.exe, dan gdi.exe. Meskipun memiliki ekstensi EXE, sebenarnya mereka bukanlah berkas yang dapat dieksekusi (executable), melainkan mereka adalah DLL (Dynamic Linking Library).

Win32 API

Win32 API merupakan antarmuka pemrograman yang terdapat di dalam sistem operasi Windows 32-bit modern. Seperti halnya Win16 API, Win32 API juga sama mengimplementasikan fungsi-fungsi di dalam DLL sistem operasi. DLL inti yang dimiliki oleh Win32 API antara lain kernel32.dll, user32.dll, dan gdi32.dll. Win32 pertama kali muncul pada tahun 1993, saat Windows NT diluncurkan. Windows 95 juga menggunakan Win32 API, dan pada awalnya dikenal dengan sebutan Win32c, di mana huruf "c" di sana merujuk kepada "compatibility", tapi istilah ini akhirnya ditinggalkan oleh Microsoft demi konsistensi nama "Win32".
Dalam Windows NT 4.0 dan para penerusnya (termasuk di antaranya versi-versi terbaru Windows), panggilan-panggilan Win32 dieksekusi oleh dua modul, yakni csrss.exe (Client/Server Runtime SubSystem) di dalam modus pengguna dan Win32K.sys di dalam modus kernel.

Win32s API

Win32s API merupakan sebuah ekstensi untuk keluarga Windows 3.1x yang mengimplementasikan sekumpulan kecil dari Win32 API untuk sistem-sistem tersebut, yang merupakan sistem operasi 16-bit. Huruf "s" di sana merupakan singkatan dari "subset."

Win32 for 64-bit Windows

Win32 for 64-bit Windows, yang sebelumnya dikenal dengan sebutan Win64, merupakan sebuah versi Windows API yang ditargetkan untuk digunakan oleh Windows versi 64-bit, yakni Windows XP Professional x64 Edition dan Windows Server 2003 x64 Edition (untuk prosesor-prosesor x86-64) dan Windows XP 64-bit Edition dan Windows Server 2003 for Itanium-series (untuk prosesor-prosesor IA-64). Dengan kemunculan Win64, Windows NT pun akhirnya masuk ke dalam pasar komputasi 64-bit, dan kompatibilitas aplikasi 32-bit pun masih terjaga. Akan tetapi, memang semua pointer memori dialamatkan dengan menggunakan alamat 64-bit, sehingga kode sumber program harus dicek ulang untuk melihat apakah ada masalah kompatibilitas dengan pointer aritmetika 64-bit dan jika perlu ditulis ulang. Tidak ada penambahan fungsi-fungsi baru yang spesifik ditambahkan ke dalam Windows versi 64-bit.

Implementasi dari pihak ketiga

Meskipun implementasi Windows API dilindungi hak cipta, di Amerika Serikat, setiap vendor pihak ketiga dapat melakukan emulasi terhadap Windows dengan menyediakan API yang identik tanpa harus melanggar kode etik hak cipta.
Contoh-contoh emulasi terhadap Windows API antara lain:
  • Proyek Wine, merupakan sebuah percobaan yang sedang terus dilakukan untuk menyediakan lapisan kompatibilitas Win32 API untuk platform-platform mirip UNIX, seperti BSD atau Linux.
  • ReactOS bahkan lebih jauh lagi dan menyediakan sebuah emulasi terhadap sistem operasi Windows secara keseluruhan, mengingat tim kerja ReactOS serta proyek Wine pun memang bekerja sama secara erat untuk mempromosikan penggunaan kode kembali (code reuse) dan juga kompatibilitas.
  • HX DOS-Extender, juga merupakan proyek lainnya yang melakukan emulasi terhadap Windows API, untuk mengizinkan program Windows sederhana dari command-line DOS.
 https://id.wikipedia.org/wiki/Antarmuka_Pemrograman_Aplikasi_Windows
 



API (Application Programming Interface) 
                        adalah Antarmuka pemrograman aplikasi (Inggris: application programming interface disingkat API) adalah sekumpulan perintah, fungsi, dan protokol yang dapat digunakan oleh programmer saat membangun perangkat lunak untuk sistem operasi tertentu. API memungkinkan programmer untuk menggunakan fungsi standar untuk berinteraksi dengan sistem operasi.
https://id.answers.yahoo.com/question/index?qid=20121124181252AApuWZu



ISTILAH-ISTILAH API :


  • Pengertian Socket Programming

Sbagaimana cara menggunakan socket API ( Application Socket Programming ), untuk menghubungkan komunikasi antara proses remote dan local.  
http://egrit-nurcahyo-w.blog.ugm.ac.id/2011/09/25/pengenalan-socket-programming/



  • Pengertian Client Server 

Client Server adalah suatu bentuk arsitektur, dimana client adalah perangkat yang menerima yang akan menampilkan dan menjalankan aplikasi (software komputer) dan server adalah perangkat yang menyediakan dan bertindak sebagai pengelola aplikasi, data, dan keamanannya.  
https://ardibay89.wordpress.com/server-dan-multi-user/pengertian-istilah-client-server/



  • Pengertian Protocol  

Protokol adalah aturan-aturan main yang mengatur komunikasi diantara beberapa komputer di dalam sebuah jaringan, aturan itu termasuk di dalamnya petunjuk yang berlaku bagi cara-cara atau metode mengakses sebuah jaringan, topologi fisik, tipe-tipe kabel dan kecepatan transfer data. 
http://muhsub.blogspot.co.id/2009/03/pengertian-protocol.html
 

  • Pengertian PORT 

PORT adalah mekanisme yang mengizinkan sebuah komputer untuk mendukung beberapa sesi koneksi dengan komputer lainnya dan program di dalam jaringan.
https://id.wikipedia.org/wiki/Port_%28Jaringan_Komputer%29



  • Pengertian Web Services
Web service adalah aplikasi sekumpulan data (database), perangkat lunak (software) atau bagian dari perangkat lunak yang dapat diakses secara remote oleh berbagai piranti dengan sebuah perantara tertentu. 
 http://saptafina13.blogspot.co.id/2013/04/pengertian-web-service.html





Jenis-Jenis API (Application Programming Interface) :


  • openGL

OpenGL memiliki fungsi-fungsi helper seperti GLUT, yang merupakan API karya Mark Kilgard yang memungkinkan pengguna untuk membuat windows dan menangani pesan pesan. OpenGL berbasiskan pada variabel variabel state dan tidak memiliki class, berbeda dengan DirectX, namun sudah terstruktur secara logis. 
http://mobiuswings.blogspot.co.id/2013/09/opengl-kegunaan-dan-cara-kerjanya.html



  • win 32 API

Subsistem WIN32 adalah suatu lapisan layanan yang terdapat pada semua sistem
operasi berbasis Microsoft.   

https://stefanusdiptya.wordpress.com/2009/11/11/sub-sistem-win32-api-dan-contoh-program-pemanggilan-fungsi-win32api/

 

  • Java API

Java dirancang agar mudah dipelajari dan digunakan secara efektif. Java tidak
menyediakan fitur-fitur rumit bahasa pemrograman tingkat tinggi, serta banyak pekerjaan pemrograman yang mulanya harus dilakukan manual, sekarang digantikan dikerjakan Java secara otomatis seperti dealokasi memori.  

https://didiindra.wordpress.com/tag/pengertian-java/


Tidak ada komentar:

Posting Komentar