Selasa, 23 Desember 2008

ASP BERJALAN DiSERVER LINUX

Kutipanya
Pernah dengar Chili!Soft ASP? Bagi yang belum, Chili!Soft ASP adalah aplikasi yang digunakan untuk menjalankan skrip ASP (Active Server Pages) baik di server berbasis Linux, Windows NT maupun Sun Solaris. Pada umumnya programer menjalankan aplikasi ASP di server berbasis Windows NT, tetapi dengan adanya alternatif ini, aplikasi ASP dapat dijalankan di berbagai platform. Ada beberapa perusahaan webhosting di Indonesia yang menawarkan layanan untuk menjalankan aplikasi ASP di server mereka yang berbasis Linux. Pada umumnya mereka menggunakan Chili!Soft ASP.
Jika kita menjalankan aplikasi ASP di server berbasis Linux, nilai lebihnya antara lain investasi yang dilakukan relatif lebih kecil dan kinerja yang baik dengan menjalankan aplikasi Web di server berbasis Linux. Tidak ada salahnya mulai dipikirkan alternatif ini bagi para programer yang masih menjalankan aplikasi ASP untuk klien mereka di server berbasis Windows NT untuk memigrasi aplikasi mereka ke server berbasis Linux. Untuk memigrasi aplikasi ASP ke server berbasis Linux ini ada beberapa hal yang harus diperhatikan, mulai dari konversi database, perbedaan ADO di IIS (Internet Information Server) dan Chili!Soft ASP, khususnya di Linux dan pengiriman email dari aplikasi ASP.
Tulisan ini akan membahas beberapa hal yang harus dilakukan sehubungan dengan memigrasi aplikasi-aplikasi ASP, khususnya aplikasi database, dari server berbasis Windows NT ke server berbasis Linux serta bagaimana mengatasi kendala-kendala dan hal-hal yang harus diperhatikan. Secara umum apa yang harus dilakukan untuk memigrasi aplikasi database di ASP dari server berbasis Windows NT ke server berbasis Linux adalah mengkonversi database ke format yang didukung di server berbasis Linux, memperhatikan karakteristik objek ADO di Chili!Soft ASP dan membuat kode yang didukung oleh Chili!Soft ASP, selanjutnya lakukan pengujian di server berbasis Linux yang menjalankan aplikasi Chili!Soft ASP. Kode-kode yang diberikan adalah kode untuk Chili!Soft ASP yang tentunya masih dapat dijalankan di IIS.
Kendala Utama: Database
Kendala utama dalam migrasi aplikasi ASP dari server berbasis Windows NT ke server Linux adalah pada database. Banyak aplikasi ASP menggunakan database Microsoft Access, dan sejauh ini format database tersebut tidak didukung oleh server berbasis Linux. Database yang didukung Chili!Soft ASP: DB2, dBase 5, Informix, Microsoft Access (di NT saja), Microsoft SQL Server, MySQL, Oracle, PostgreSQL dan Sybase II.
Dokumentasi Chili!Soft ASP merekomendasikan beberapa alternatif yang dapat kita lakukan jika kita memiliki aplikasi yang menggunakan database Microsoft Access.
Alternatif pertama adalah mengkonversi database kita ke format dBase. Kelemahan dari alternatif ini mengingat dBase adalah database yang berbasis file (file-based database) maka tidak memiliki kelebihan seperti kebanyakan database SQL berbasis server yang ada di pasar saat ini.
Cara kedua mirip dengan cara pertama tetapi database tersebut diekspor langsung melalui ODBC. Cara ini relatif tidak praktis dan rumit sehingga jarang dipilih.

Pilihan selanjutnya adalah adalah dengan menggunakan Oracle atau Sybase yang memiliki utilitas untuk mengkonversi database Microsoft Access ke format mereka. Tetapi pada umumnya perusahaan webhosting kelas menengah tidak menawarkan kedua database tersebut sebagai bagian dari layanan mereka, maka cara ini tidak dibahas lebih lanjut.
Alternatif yang paling umum digunakan adalah mengkonversi database Microsoft Access ke dalam format database MySQL. Database ini memberikan kinerja yang baik dan nativenya memang dijalankan di Unix/Linux, juga database yang satu ini didukung di banyak platform seperti Linux, NT, Solaris dan AIX, sehingga tidak heran jika banyak programer memilih MySQL sebagai solusi untuk kebutuhan database mereka. Di samping itu, saat ini hampir semua perusahaan webhosting berbasis Linux menyediakan MySQL sebagai salah satu layanan mereka.
Konversi Database ke MySQL
Pada dasarnya untuk memigrasi database dari satu jenis database ke database lain biasanya kita menggunakan dump skema dari struktur dan data yang ada. Setelah mengekspor dump skema tersebut dari database yang lama lalu diimpor ke dalam database yang baru sesuai dengan mekanisme yang disediakan. Setelah itu selesailah proses pengkonversian ini.
Skrip yang diperlukan untuk mengkonversi database Access ke MySQL dapat didownload dari www.cynergi.net/exportsql buatan Pedro Freire (pedro.freire@cynergi.net) atau www.mysql.com/ Downloads/Contrib/access-to-mysql.txt buatan Brian Andrews (brian@informate.com).
Berikut adalah langkah-langkah yang harus dilakukan:
• Download skrip dan masukkan ke dalam file database Access.
• Jalankan skrip tersebut dan simpan hasilnya yang berisi dump schema dari database Access ke dalam direktori tertentu.
• Upload file tersebut ke account webhosting Anda, eksekusi skrip yang dihasilkan ke dalam database MySQL. Cara ini dapat dilakukan dengan langsung mengimpor dari konsol MySQL atau dengan menggunakan aplikasi freeware myPHPAdmin, dokumentasi lengkap dapat dilihat di www.phpwizard.net/projects/phpMyAdmin.
Kendala Lain: ADO
Kendala lain dalam memigrasi aplikasi ASP ke server berbasis Linux adalah ADO. Mengapa? Ada beberapa karakteristik dari ADO yang sudah berjalan dengan baik di IIS yang belum diimplementasikan di Chili!Soft ASP. Misalnya updatable query yang biasanya dapat dijalankan di IIS, tidak didukung oleh Chili!Soft ASP yang berbasis Linux. Dengan adanya pembatasan-pembatasan ini, cara untuk mengakses database agak sedikit berbeda di Chili!Soft ASP.
Untuk singkatnya saya akan langsung membahas bagaimana kita membuat skrip ASP di Chili!Soft ASP dengan menggunakan ADO (ActiveX Data Objects).

Sekilas Tentang ADO
Teknologi yang dikembangkan oleh Microsoft ini yang memungkinkan aplikasi ASP yang kita buat untuk berkomunikasi dengan database. ADO adalah sekumpulan objek yang menyediakan mekanisme untuk mengakses informasi dari sumber data (database) yang ODBC-compliant.
ADO memungkinkan suatu aplikasi untuk mengakses dan memanipulasi data di suatu server database dengan metode yang sama walaupun database yang digunakan berasal dari vendor yang berbeda. Umumnya untuk mengakses dan memanipulasi database langkah-langkah yang dilakukan adalah sebagai berikut:
• menghubungkan aplikasi/skrip dengan database;
• mengakses data atau melakukan perubahan data;
• menampilkan hasil dari manipulasi data;
• menutup objek untuk membebaskan memori.
Menghubungkan Aplikasi/Skrip Dengan Database
Mula-mula kita harus membuat objek Connection yang akan menjadi penghubung antara aplikasi dengan database. Ada 2 cara untuk membuat objek Connection ini, pertama dengan menggunakan DSN (Data Source Name), dan yang kedua dengan menggunakan DSN-less Connection. Cara kedua lebih banyak digunakan dengan berbagai pertimbangan. Salah satu artikel di www.4guysfromrolla.com menyebutkan bahwa DSN-less Connection lebih baik kinerjanya dari segi kecepatan proses, walaupun pengujian dilakukan dengan menggunakan IIS di server Windows NT. Pada umumnya perusahaan webhosting merekomendasikan DSN-less Connection karena akan mengurangi ketergantungan klien kepada administrator serta menghindari kerumitan yang terjadi jika server database dipindahkan.
Berikut adalah daftar parameter string DSN-less Connection untuk melakukan koneksi atau membuat objek Connection untuk beberapa jenis database yang didukung oleh Chili!Soft ASP:
DB2
Untuk format database ini Chili!Soft ASP di Linux tidak menyediakan DSN-less Connection, sehingga harus menggunakan System DSN.
dBase 5
strConn = "Driver={dBase}; DBQ=[direktori_database]; defaultDir=
+[direktori_default]"
di mana [direktori_database] adalah lokasi absolut dari direktori tempat database berada, [direktori_default] adalah direktori default tempat database berada.
Informix 7, 9
strConn = "Driver={Informix}; Server=[nama_server]; Database=[nama_database]; +UID=[username]; PWD=[password]"
di mana [nama_server] adalah nama dari server database, [nama_database] adalah nama database, [username] dan [password] adalah username dan password yang digunakan untuk mengakses database.
Microsoft Access
Untuk format database ini Chili!Soft ASP di Linux tidak menyediakan DSN-less Connection, sehingga harus menggunakan System DSN.
Microsoft SQL Server 6.5
Untuk format database ini Chili!Soft ASP di Linux tidak menyediakan DSN-less Connection, sehingga harus menggunakan System DSN.
Microsoft SQL Server 7.0
strConn = "Driver={SQL Server}; Server=[nama_server]; Database=
+[nama_database]; UID=[username]; PWD=[password]"
di mana [nama_server] adalah nama dari server database, [nama_database] adalah nama database, [username] dan [password] adalah username dan password yang digunakan untuk mengakses database.
Perhatian! Sebelum Anda mereferensikan Microsoft SQL Server 7.0 untuk DSN-less Connection, Anda harus meminta kepada Administrator Web hosting Anda agar mengedit template untuk Microsoft SQL Server. Penjelasan lebih menditel silakan lihat di dokumentasi Chili!Soft ASP.
MySQL
strConn = "Driver={MySQL}; Server=[nama_server]; Database=
+[nama_database]; UID=[username]; PWD=[password]"
di mana [nama_server] adalah nama dari server database, [nama_database] adalah nama database, [username] dan [password] adalah username dan password yang digunakan untuk mengakses database.
Oracle 7
strConn = "Driver={Oracle7}; Server=[nama_TNS]; UID=[username]; PWD=[password]"
di mana [nama_TNS] adalah nama TNS yang didefinisikan di dalam file tnsnames.ora, [nama_database] adalah nama database, [username] dan [password] adalah username dan password yang digunakan untuk mengakses database.
Oracle 8, 8I
strConn = "Driver={Oracle8}; Server=[nama_TNS]; UID=[username]; PWD=[password]"
di mana [nama_TNS] adalah nama TNS yang didefinisikan di dalam file tnsnames.ora, [nama_database] adalah nama database, [username] dan [password] adalah username dan password yang digunakan untuk mengakses database.
PostgreSQL
strConn = "Driver={Postgres}; Server=[nama_server]; UID=[username];
+PWD=[password]"
di mana [nama_server] adalah nama dari server database, [username] dan [password] adalah username dan password yang digunakan untuk mengakses database.
Sybase II
strConn = "Driver={Sybase}; Server=[nama_server]; Database=[nama_database];
+UID=[username]; PWD=[password]"
di mana [nama_server] adalah nama dari server database, [nama_database] adalah nama database, [username] dan [password] adalah username dan password yang digunakan untuk mengakses database.
Setelah membuat string yang diperlukan, langkah berikut adalah membuat instan objek Connection dan menjalankan metode Open() dengan parameter string strConn yang kita buat di atas, sebagai berikut:
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open strConn
Mengakses Data
Akses data ini saya bagi dua bagian, hanya untuk menampilkan data dari database, misalnya perintah SELECT dan melakukan perubahan data di database, misalnya perintah INSERT, UPDATE dan DELETE. Untuk mengakses data dapat dilakukan dengan dua cara yang umum digunakan.
Cara pertama adalah dengan langsung menggunakan metode Execute() seperti contoh berikut:
strSQL = "SELECT * FROM nama_table"
Set objRS = objConn.Execute(strSQL)
Kode di bawah menunjukkan contoh penggunaan metode Open() yang ada di objek Recordset untuk mengakses data.
Set objRS = Server.CreateObject("ADODB.Recordset")
strSQL = "SELECT * FROM nama_table"
objRS.Open strSQL, objConn
Cara pertama sama dengan mekanisme pada cara kedua yang akan mengisi objek Recordset dengan data hasil query. Tapi perlu diingat jika Anda menggunakan database MySQL atau PostgreSQL yang tidak mendukung Updatable Cursor, Anda tidak dapat mendefinisikan properti CursorType & CursorLocation, sehingga objek Recordset Anda sifatnya read-only dan data di dalamnya tidak dapat diubah. Dengan demikian Anda tidak dapat menggunakan metode AddNew(), Update() dan Delete() dari objek Recordset.
Melakukan Perubahan Data
Perubahan data yang dilakukan umumnya dapat untuk menambah data baru, mengubah data yang ada ataupun menghapus data dari database. Untuk melakukan perubahan data melalui ADO cara yang umum dilakukan seperti pada tiga contoh berikut, yaitu dengan menggunakan metode Execute() dari objek Connection seperti contoh untuk mengakses data di atas.
strSQL = "INSERT INTO nama_tabel VALUES (123, 'Erwin Kodiat', 'Web Developer')"
objConn.Execute(strSQL)
atau
strSQL = "UPDATE nama_tabel SET Nomer = 123, Nama = 'Erwin Kodiat',
+Pekerjaan = 'Web Developer'"
objConn.Execute(strSQL)
atau
strSQL = "DELETE FROM nama_tabel WHERE Nomer = 123"
objConn.Execute(strSQL)
Ketiga mekanisme yang ditunjukkan ini tidak mengembalikan objek Recordset sehingga sesudah mengeksekusi kode di atas tidak dapat memanggil objRS.Close().
Menampilkan Hasil dari Mengakses Data
Pada saat kita melakukan perintah SELECT tentunya pada akhirnya kita ingin menampilkan data, misalnya dalam sebuah tabel HTML. Untuk menampilkan data dari objek Recordset, kita harus melakukan iterasi. Cara yang umum digunakan untuk mengiterasi objek Recordset adalah dengan menggunakan loop do…while. Dalam menggunakan loop do…while, perlu diingat untuk membatasi loop dilakukan dengan memeriksa apakah data sudah mencapai EOF. Untuk mudahnya lihat contoh berikut yang akan menampilkan isi dari objek Recordset dalam format tabel HTML.
Response.Write ""
Do While Not objRS.EOF
Response.Write ""
Response.Write ""
Response.Write ""
Response.Write ""
Response.Write ""
objRS.MoveNext
Loop
Response.Write "
" & objRS("Nomer") & "" & objRS("Nama") & "" & objRS("Pekerjaan") & "
"
Objek Recordset menyediakan metode yang dapat digunakan menampilkan data di dalam objek Recordset tanpa harus melakukan iterasi, yaitu metode getRows() dan getString(). Saat ini Chili!Soft ASP tidak mendukung metode getString(). Menurut Charles Carrol (www.learnasp.com) dengan menggunakan metode getRows() akan mengurangi beban server dan akan meningkatkan kecepatan proses. Metode getRows() akan mengembalikan data di dalam objek Recordset dalam bentuk array. Kode berikut ini memberikan contoh menunjukkan penggunaan metode getRows():
Response.Write ""
Response.Write ""
For Each nama_field in objRS.Fields
Response.Write ""
Next
Response.Write ""
arrData = objRS.getRows()
jmlKolom = UBound(arrData, 1)
jmlBaris = UBound(arrData, 2)
For i = 0 to jmlBaris
Response.Write ""
For j = 0 to jmlKolom
Response.Write ""
Next
Response.Write ""
Next
Response.Write "
" & nama_field.name & "
" & arrData(j, i) & "
"
Artikel yang menjelaskan tentang metode GetRows() dan pembahasannya dapat dilihat di www.learnasp.com/learn/dbtablegetrows.asp.
Menutup Objek untuk Membebaskan Memori
Setiap kali kita mengakhiri skrip ataupun tidak akan menggunakan objek-objek ADO di skrip ASP, sebaiknya kita selalu menutup objek tersebut untuk membebaskan memori agar dapat dipakai lagi. Caranya sangat mudah, tinggal menggunakan metode Close() dan set objek tersebut menjadi Nothing seperti pada contoh berikut.
objRS.Close
Set objRS = Nothing ‘Lihat catatan di bawah
objConn.Close
Set objConn = Nothing
Anda boleh menutup objek Recordset (objRS.Close) hanya jika hasil dari eksekusi perintah SELECT dengan metode objRS.open, jika Anda melakukannya setelah melakukan perintah INSERT, UPDATE atau DELETE yang menggunakan objConn.execute(strSQL) akan timbul pesan error.
Gabungkan Semuanya
Untuk memberikan gambaran yang lebih baik, lihat dua buah contoh berikut. Contoh pertama untuk mengakses data, sedangkan contoh kedua untuk melakukan perubahan pada data. Perbedaan utama adalah pada contoh pertama ada kode yang digunakan untuk menampilkan data sedangkan pada contoh kedua karena objek Recordset yang dihasilkan dalam keadaan tertutup maka kita tidak dapat menampilkan data. Perhatikan juga pemanggilan kode objRS.Close yang tidak ditampilkan pada contoh kedua, karena proses perubahan data akan menghasilkan objek Recordset yang dalam keadaan tertutup.
Contoh pertama:
strConn = "Driver={MySQL}; Server=[nama_server]; Database=
+[nama_database]; UID=[username]; PWD=[password]"

Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open strConn
strSQL = "SELECT * FROM nama_table"
Set objRS = objConn.Execute(strSQL)
Response.Write ""
Do While Not objRS.EOF
Response.Write ""
Response.Write ""
Response.Write ""
Response.Write ""
Response.Write ""
objRS.MoveNext
Loop
Response.Write "
" & objRS("Nomer") & "" & objRS("Nama") & "" & objRS("Pekerjaan") & "
"
objRS.Close
Set objRS = Nothing
objConn.Close
Set objConn = Nothing
Contoh kedua:
strConn = "Driver={MySQL}; Server=[nama_server]; Database=
+[nama_database]; UID=[username]; PWD=[password]"
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open strConn
strSQL = "INSERT INTO nama_tabel VALUES (123, ‘Erwin Kodiat’, ’Web Developer’)"
objConn.Execute(strSQL)
objConn.Close
Set objConn = Nothing Kirim Email dari Aplikasi
Aplikasi ASP yang kita buat pada umumnya memerlukan fasilitas untuk mengirim email dari aplikasi. Untuk mengirim email dari aplikasi ASP sebenarnya kita cukup menggunakan komponen COM Chili!Mail (SMTP). Sayangnya, Chili!Soft memisahkan komponen ini ke dalam paket terpisah, SpicePack, bersama komponen-komponen lain yang sangat dibutuhkan juga seperti: Chili!POP3 dan Chili!Upload. SpicePack ini harus dibeli lagi secara terpisah. Celakanya, karena pertimbangan bisnis banyak perusahaan webhosting yang belum mau menginvestasikan uangnya untuk membeli paket ini. Sehingga kita akan mengalami sedikit kesulitan dalam membuat aplikasi yang membutuhkan fasilitas pengiriman email.
Salah satu solusinya adalah dengan memodifikasi aplikasi Anda dengan memisahkan halaman yang mengirimkan email menjadi halaman tersendiri dan membuatnya dalam bahasa yang sudah didukung oleh server Linux pada umumnya seperti Perl, PHP, atau Python.
Solusi yang lain, seperti yang pernah diusulkan Steven Haryanto (steven.haryan.to), adalah dengan menggunakan suatu mekanisme yang ditawarkan oleh salah satu artikel bertajuk Send E-Mail via ASP without CDONTS (www.freevbcode.com/ShowCode.asp?ID=390). Pada dasarnya mekanisme ini sederhana dan cukup baik kinerjanya. Kita membuat sebuah file teks dari skrip kita lalu disimpan ke suatu direktori. Sebuah daemon akan mengunjungi direktori tersebut secara periodik dalam interval waktu tertentu dan memeriksa apakah ada file email di dalamnya, jika ada daemon tersebut akan langsung mengirimkan email tersebut. Kelemahan dari sistem ini adalah kita tidak dapat secara langsung mengirimkan email pada saat skrip dieksekusi. Tetapi, secara umum sistem ini masih dapat diterima untuk aplikasi yang tidak memerlukan fasilitas pengiriman email langsung pada saat skrip dieksekusi.
Kesimpulan
Dengan memigrasi aplikasi ASP dari IIS yang berjalan di server berbasis Windows NT ke Linux akan mengurangi investasi yang harus dilakukan, mengingat pada umumnya biaya Web hosting dengan server berbasis Linux ini relatif lebih murah. Di samping itu kinerja dari server berbasis Linux sudah terbukti dengan banyaknya webserver di dunia yang menggunakan Linux sebagai sistem operasinya. Ditambah lagi dengan bantuan Chili!Soft ASP yang menyederhanakan proses migrasi aplikasi ASP yang sudah berjalan di Windows NT ke server berbasis Linux.
Literatur
• Chili!Soft ASP 3.6 Product Documentation
• Chili!Soft ASP 3.6 White Paper
• MySQL Reference Manual
• MSDN Online (msdn.microsoft.com)
• 4guysfromrolla (www.4guysfromrolla.com)
• LearnASP by Charles Carrol (www.learnsasp.com)
• FreeVBCode (www.freevbcode.com)

Rabu, 12 November 2008

Intro to knowledge management

Pengertian Manajemen Pengetahuan


P e n d a h u l u a n

Perkembangan dewasa ini menunjukan pada makin cepatnya perubahan dalam segala bidang kehidupan, akibat dari efek globalisasi serta perkembangan teknologi informasi yang sangat akseleratif. Kondisi ini jelas telah mengakibatkan perlunya cara-cara baru dalam menyikapi semua yang terjadi agar dapat tetapsurvive. Penekanan akan makin pentingnya kualitas sumber daya manusia (SDM) merupakan salah satu respon dalam menyikapi perubahan tersebut, dan ini tentu saja memerlukan upaya-upaya untuk meningkatkan dan mengembangkan SDM.
Sehubungan dengan itu peranan ilmu pengetahuan menjadi makin menonjol, karena hanya dengan pengetahuanlah semua perubahan yang terjadi dapat disikapi dengan tepat. Ini berarti pendidikan memainkan peran penting dalam mempersiapkan SDM yang berkualitas dan kompetitif. Ketatnya kompetisi secara global khususnya dalam bidang ekonomi telah menjadikan organisasi usaha memikirkan kembali strategi pengelolaan usahanya, dan SDM yang berkualitas dengan penguasaan pengetahuannya menjadi pilihan penting yang harus dilakukan dalam konteks tersebut.

Pengetahuan telah menjadi sesuatu yang sangat menentukan, oleh karena itu perolehan dan pemanfaatannya perlu dikelola dengan baik dalam konteks peningkatan kinerja organisasi. Langkah ini dipandang sebagai sesuatu yang sangat strategis dalam menghadapi persaingan yang mengglobal, sehingga pengabaiannya akan merupakan suatu bencana bagi dunia bisnis, oleh karena itu diperlukan cara yang dapat mengintegrasikan pengetahuan itu dalam kerangka pengembangan SDM dalam organisasi. Dari sinilah istilah manajemen pengetahuan berkembang sebagai suatu bagian penting dan strategis dalam pengelolaan SDM pada Perusahaan/organisasi.

Pengetahuan memang merupakan milik individu, namun dapat dimanfaatkan oleh organisasi dengan tetap memberikan otonomi pengembangannya pada individu tersebut. Dalam hubungan ini belajar dan pembelajaran menjadi kata kunci dalam peningkatan kapasitas pengetahuan, oleh karenanya menjadikan individu sebagai pembelajar merupakan kondisi yang diperlukan sebagai bagian dari upaya meningkatkan kinerja organisasi melalui pengintegrasiannya dengan proses organisasi. Untuk itu organisasi perlu melakukan pengembangan dirinya menjadi organisasi pembelajar, sebab hanya dalam kondisi yang demikian individu/pegawai dapat benar-benar menjadi manusia pembelajar.

Pentingnya Learning Organization telah lama menjadi konsern para akhli organisasi, terutama semenjak terbitnya buku karya Peter Senge “The Fifth Discipline” pada tahun 1990, disamping itu organisasi-organisasi baik organisasi bisnis maupun non bisnis juga telah mencoba mengembangkan konsep tersebut dalam upaya menjadikan organisasi mereka kompetitif, dan dalam konteks itulah manajemen pengetahuan menjadi amat penting, karena dengan pengelolaan yang tepat dapat menjadi suatu kekuatan kompetitif yang tangguh yang diperlukan sekali dalam perkembangan global dewasa ini. Berikut ini akan dikemukakan makna manajemen pengetahuan dengan menggunakan rujukan utama buku yang ditulis oleh Christina Evans berjudul Managing for Knowledge, HR’s Strategic Role.

Mengelola Pengetahuan

Kehidupan di jaman informasi dimana pengetahuan dipandang sebagai aset bisnis strategis memerlukan upaya pengelolaan pengetahuan agar dapat mendorong bagi perkembangan bisnis. Aset pengetahuan mencakup :

  • Aset struktural
  • Merek
  • Hubungan dengan pelanggan
  • Hak paten
  • Produk
  • Proses operasi
  • Aset manusia yang mencakup :
  1. Pengalaman pegawai
  2. Keterampilan pegawai
  3. Hubungan personal

Pengetahuan telah menjadi aset bisnis utama didorong oleh perubahan-perubahan dalam bidang teknologi dan dalam bisnis global. Perubahan ini telah menjadikan orientasi manajemen SDM yang menitik beratkan pada tangible asset bergeser pada perhatian yang lebih menitik beratkan pada intangible asset. Hal ini juga berarti bahwa comparative advantage yang berbasis Sumberdaya Alam (SDA) dalam bisnis bergeser pada competitive advantageyang berbasis kualitas SDM, dan dalam konteks inilah pengetahuan menjadi aset yang sangat penting dalam pengelolaan atau manajemen SDM.

Pengetahuan, menurut Davenport merupakan perpaduan yang cair dari pengalaman, nilai, informasi kontekstual, dan kepakaran yang memberikan kerangka berfikir untuk menilai dan memadukan pengalaman dan informasi baru. Ini berarti bahwa pengetahuan berbeda dari informasi, informasi jadi pengetahuan bila terjadi proses-proses seperti pembandingan, konsekwensi, penghubungan, dan perbincangan. Pengetahuan dapat dibagi ke dalam empat jenis yaitu a). pengetahuan tentang sesuatu; b) pengetahuan tentang mengerjakan sesuatu,; c). pengetahuan menjadi diri sendiri; dan d). pengetahuan tentang cara bekerja dengan orang lain. Sedang tingkatan pengetahuan dapat dibagi tiga yaitu : 1) mengetahui bagaimana melaksanakan; 2). Mengetahuai bagaimana memperbaiki; dan 3). Mengetahui bagaimana mengintegrasikan.

Dengan pemahaman pengetahuan seperti itu, maka manajemen pengetahuan dapat didefinisikan sebagai berikut : “proses menterjemahkan pelajaran yang dipelajari, yang ada dalam diri/pikiran seseorang menjadi informasi yang dapat digunakan setiap orang”. Dalam konteks ini profesional SDM memandang manajemen pengetahuan sebagai menjamin penngetahuan yang diperoleh dikembangkan bersama dengan orang lain dalam organisasi. Dengan demikian, pengetahuan yang dimiliki organisasi secara penuh tersedia melalui penyediaan lingkungan yang tepat, budaya, struktur dan proses guna memotivasi dan mendorong sharing pengetahuan pada setiap tingkat dalam organisasi. Jadi thema utama dari manajemden pengetahuan adalah sebagai berikut :

  • Pembelajaran
  • Pengembangan/sharing
  • Penempatan orang di tempat yang tepat dan waktu yang tepat
  • Pembuatan keputusan yang efektif
  • Kreativitas
  • Membuat pekerjaan jadi lebih mudah
  • Mendorong tumbuhnya bisnis baru dan nilai bisnis

Adapun tahapan perkembangan manajemen pengetahuan dalam organisasi adalah sebagai berikut :

  • Knowledge-chaotic (tak sadar konsep, tak ada proses informasi, dan tak ada sharing informasi).
  • Knowledge-aware (sadar akan kebutuhan manajemen pengetahuan, adabeberapa proses manajemen pengetahuan, ada teknologi, ada isu tentang sharing informasi).
  • Knowledge-enabled (memanfaatkan manajemen pengetahuan, mengadopsi standar, isu-isu berkaitan dengan budaya dan teknologi).
  • Knowledge-managed (kerangka kerja yang terintegrasi, merealisasikan manfaat, isu-isu pada tahap sebelumnya teratasi).
  • Knowledge-centric (manajemen pengetahuan merupakan bagian dari misi, nilai pengetahuan diakui dalam kapitalisasi pasar, manajemen pengetahuan terintegrasi dalam budaya)

Bagi organisasi yang ingin menerapkan manajemen pengetahuan dalam organisasinya perlu menyadari pertama, bahwa pengetahuan ada pada orang dan bukan pada sistem, meskipun sistem punya data dan informasi yang dapat membantu proses pengetahuan. Kedua, penciptaan pengetahuan merupakan proses sosial, tercipta melalui interaksi antara individu-individu dalam kehidupan sehari-hari mereka.

Perubahan Peran SDM dari Operasional ke Strategik

Untuk menjadikan manajemen pengetahuan menjadi bagian dari organisasi, diperlukan pergeseran peran dari manajemen dengan orientasi SDM yang operasional/tradisional menjadi orientasi SDM yang strategis. Adapun perbedaan antara yang tradisional (manajemen personalia) dengan Manajemen SDM adalah sebagai berikut :

Karakteristik perang manajemen personel/tradisional

  • Reaktif
  • Advokasi pegawai
  • Unit kerja/task force
  • Fokus pada isu operasional
  • Isu kualitatif
  • Stabilitas
  • Solusi taktis
  • Integritas fungsi
  • Orang sebagai beban/biaya

Karakteristik perang manajemen Sumberdaya Manusia (SDM)

  • Proaktif
  • Parner bisnis
  • Fokus pada tugas dan pemberdayaan
  • Fokus pada isu strategis
  • Isu kuantitatif
  • Perubahan konstan
  • Solusi startegis
  • Multi fungsi
  • Orang sebagai aset

Dalam mengimplementasi Manajemen Pengetahuan, diperlukan SDM yang tidak hanya kompeten, tapi juga dapat menunjukan dan mendemonstrasikan sikap sebagai berikut (Ulrich, 2000) :

  • Mentransformasikan pengetahuan ke dalam tindakan.
  • Membuat pilihan berdasar informasi tentang bagaimana berinvestasi dalam praktek SDM untuk menjamin hasil bisnis.
  • Berhubungan dengan rekan profesi SDM dan manajer garis dengan penuh keyakinan bahwa dia punya sesuatu yang bernilai untuk ditawarkan.
  • Menunjukan keyakinan, kepastian, pengambilan resiko, dan berorientasi tindakan.

Selasa, 24 Juni 2008

Bahasa Pemrograman


Java (Multiplatform)

Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Dikembangkan oleh Sun Microsystem dan diterbitkan pada tahun 1995.

Bahasa pemmrograman Java pertama lahir dari The Green Project, yang berjalan selama 18 bulan, dari awal tahun 1991 hingga musim panas 1992. Proyek tersebut belum menggunakan versi yang dinamakan Oak. Proyek ini dimotori oleh Patrick Naughton, Mike Sheridan,James Gosling dan Bill Joy, beserta sembilan beserta sembilan pemrogram lainnya dari Sun Microsystems. Salah satu hasil proyek ini adalah maskot Duke yang dibuat oleh Joe Palrang.

Versi awal Java ditahun 1996 sudah merupakan versi release sehingga dinamakan Java Versi 1.0. Java versi ini menyertakan banyak paket standar awal yang terus dikembangkan pada versi selanjutnya:

· java.lang: Peruntukan kelas elemen-elemen dasar.

· java.io: Peruntukan kelas input dan output, termasuk penggunaan berkas.

· java.util: Peruntukan kelas pelengkap seperti kelas struktur data dan kelas kelas penanggalan.

· java.net: Peruntukan kelas TCP/IP, yang memungkinkan berkomunikasi dengan komputer lain menggunakan jaringan TCP/IP.

· java.awt: Kelas dasar untuk aplikasi antarmuka dengan pengguna (GUI)

· java.applet: Kelas dasar aplikasi antar muka untuk diterapkan pada penjelajah web.

Contoh kode program Java

public class Hello

{

public static void main(String[] args)

{

System.out.println("Hello World");

}

}

Bahasa C (Multiplatform)

Bahasa pemrograman C adalah salah satu bahasa pemrograman komputer. Dibuat pada tahun 1970-an untuk Sistem Operasi Unix oleh Bell Labs (Ken Thompson dan Dennis M. Ritchie). Merupakan kelanjutan dari bahasa BCPL. Bahasa Pemrograman C merupakan salah satu bahasa pemrograman yang paling sering dipakai oleh pemrogram di seluruh dunia, terutama karena C memperbolehkan pengaksesan memori secara manual.

C telah mempengaruhi bahasa-bahasa pemrograman yang lain, terutama C++. Bahkan C seringkali dipakai untuk membuat bahasa-bahasa pemrograman yang lain. Umumnya C dipakai untuk membuat program sistem dan jaringan, walaupun tidak jarang juga dipakai untuk membuat program aplikasi.

Contoh Kode Bahasa C

#include

int main(void) {

printf("Hello, World!\n");

return 0;

}

Bahasa C++ (Multiplatform)

C++ adalah salah satu bahasa pemrograman komputer. Dibuat pada tahun 1980-an oleh Bell Labs (Bjarne Stroustrup) sebagai pengembangan dari Bahasa pemrograman C. Salah satu perbedaan yang paling mendasar dengan bahasa C adalah dukungan terhadap konsep pemrograman berorientasi objek (Object Oriented Programming).

Contoh kode Bahasa C++

#include

int main()

{

cout << "Hello, world!\n";

return 0;

}


Python (Multiplatform)

Python adalah bahasa pemrograman model skrip (scripting language) yang berorientasi obyek. Python dapat digunakan untuk berbagai keperluan pengembangan perangkat lunak dan dapat berjalan di berbagai platform sistem operasi. Saat ini script python dapat dijalankan di sistem:

· Linux/Unix

· Windows

· Mac OS X

· OS/2

· Amiga

· Palm

· Symbian (untuk produk-produk Nokia)

Python dikembangkan oleh Guido van Rossum pada tahun 1990 di CWI, Amsterdam sebagai kelanjutan dari bahasa pemrograman ABC. Versi terakhir yang dikeluarkan CWI adalah 1.2.

Tahun 1995, Guido pindah ke CNRI sambil terus melanjutkan pengembangan Python. Versi terakhir yang dikeluarkan adalah 1.6. Tahun 2000, Guido dan para pengembang inti Python pindah ke BeOpen.com yang merupakan sebuah perusahaan komersial dan membentuk BeOpen PythonLabs. Python 2.0 dikeluarkan oleh BeOpen. Setelah mengeluarkan Python 2.0, Guido dan beberapa anggota tim PythonLabs pindah ke DigitalCreations.

Contoh Kode Bahas Python

Print “Hello World”

Perl (Multiplatform)

Perl adalah bahasa pemrograman untuk segala keperluan, dikembangkan pertama kali oleh Larry Walldi mesin Unix. Perl dirilis pertama kali pada tanggal 18 Desember 1987 ditandai dengan keluarnya Perl 1. Pada versi-versi selanjutnya, Perl tersedia pula untuk berbagai sistem operasi varian Unix (SunOS, Linux, BSD,HP-UX), juga tersedia untuk sistem operasi seperti DOS,Windows, PowerPC, BeOS, VMS, EBCDIC, dan PocketPC. Dukungan terhadap pemrograman berbasis obyek (object oriented programming/OOP) ditambahkan pada Perl 5, yang pertama kali dirilis pada tanggal 31 Juli 1993. Proyek pengembangan Perl 6 dimulai pada tahun 2000, dan masih berlangsung hingga kini tanpa tanggal yang jelas kapan mau dirilis. Ini dikatakan sendiri oleh Larry Wall[1] dalam satu pidatonya yang dikenal dengan seri The State of the Onion.

Dua di antara karakteristik utama Perl adalah penanganan teks dan berbagai jalan pintas untuk menyelesaiakn persoalan-persoalan umum. Tidak heran jika Perl sangat populer digunakan dalam program-program CGI (Common Gateway Interface) dan berbagaiprotokol Internet lainnya. Seperti diketahui, TCP/IPsebagai basis bagi semua protokol Internet yang dikenal sekarang ini menggunakan format teks dalam komunikasi data. Seperti juga bahasa populer lainnya, Perl menerima banyak kritikan. Meski banyak di antaranya hanya berupa mitos, atau berlebih-lebihan, tapi terdapat juga sejumlah kritikan yang valid. Salah satunya adalah, sintaksnya susah dibaca, karena banyak menggunakan simbol-simbol yang bukan huruf dan angka.

PHP (Multiplatform)

PHP adalah bahasa pemrograman script yang paling banyak dipakai saat ini. PHP banyak dipakai untuk memrogram situs web dinamis, walaupun tidak tertutup kemungkinan digunakan untuk pemakaian lain.

Contoh terkenal dari aplikasi PHP adalah phpBB dan MediaWiki (software di belakang Wikipedia). PHP juga dapat dilihat sebagai pilihan lain dari ASP.NET/C#/VB.NET Microsoft, ColdFusion Macromedia, JSP/Java Sun Microsystems, dan CGI/Perl. Contoh aplikasi lain yang lebih kompleks berupa CMS yang dibangun menggunakan PHP adalah Mambo, Joomla!, Postnuke, Xaraya, dan lain-lain.

PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada waktu itu PHP masih bernama FI (Form Interpreted), yang wujudnya berupa sekumpulan script yang digunakan untuk mengolah data form dari web.

Selanjutnya Rasmus merilis kode sumber tersebut untuk umum dan menamakannya PHP/FI, kependekan dari Hypertext Preprocessing'/Form Interpreter. Dengan perilisan kode sumber ini menjadi open source maka banyak programmer yang tertarik untuk ikut mengembangkan PHP.

Pada November 1997, dirilis PHP/FI 2.0. Pada rilis iniinterpreter PHP sudah diimplementasikan dalam program C. Dalam rilis ini disertakan juga modul-modul ekstensi yang meningkatkan kemampuan PHP/FI secara signifikan.

Contoh Kode PHP

echo("Hello World");

echo("dunia");

?>

Prosentase Penggunaan OS

Persentase Penggunaan OS Linux, Windows & Mac OS














LINUX

Kernel Linux pada mulanya ditulis sebagai proyek hobi oleh pelajar universitas Finland Linus Torvalds yang belajar di Universitas Helsinki, untuk membuat kernel Minix yang gratis dan dapat diedit. (Minix adalah projek pelajaran menyerupai UNIX dibuat untuk mudah digunakan dan bukannya untuk digunakan secara komersial.) Versi 0.01 dikeluarkan ke Internet pada September 1991 , Versi 0.02 pada 5 Oktober 1991. [1]

Berikutnya, beribu-ribu penulis program sukarelawan seluruh dunia telah menyertai proyek ini.

Sejarah sistem operasi Linux berkaitan erat dengan proyek GNU , proyek pengembangan perangkat lunak bebas ( free software ) yang didasari pandangan bahwa perangkat lunak itu harusnya tidak menyertakan batasan apapun (bebas) saat diterima oleh pengguna. Pandangan ini tertuang dalam satu lisensi dengan nama General Public License atau disingkat GPL . Richard Stallman merupakan motor utama yang memulai proyek GNU pada tahun 1983 . Proyek ini bertujuan untuk membuat sistem operasi lengkap — kompiler, utiliti aplikasi, utiliti pembuatan dan program lainnya sehingga dapat membentuk satu sistem yang dapat digunakan. Kesemuanya menggunakan lisensi GPL . Pada tahun 1991 proyek GNU telah menghasilkan hampir semua komponen sistem, kecuali kernel , yang merupakan komponen utama sebuah sistem operasi lengkap. Torvalds mengisi kekosongan itu dengan kernel buatannya, yang dapat berjalan bersama komponen GNU. Kesemua aplikasi GNU beserta kernel yang dibuat oleh Torvald dan sukarelawan lainnya itulah yang membentuk satu sistem operasi lengkap yang bernama Linux.

Ada sedikit keberatan dari Stallman terhadap penyebutan Linux. Penyebutan itu seolah menganulir kontribusi GNU yang menyumbangkan banyak sekali komponen aplikasi sehingga Linux sebagai kernel dapat digunakan secara umum. Karena itu ia mengusulkan untuk setiap penyebutan Linux, menyertakan nama GNU atau tepatnya GNU/Linux untuk definisi sistem yang terdiri dari kernel Linus Torvald dan aplikasi pendukung buatan GNU. Namun dikalangan umum, nama Linux lebih dikenal. Hingga tahun 2008, kernel yang dikembangkan oleh GNU dengan nama GNU Hurd masih belum selesai.

Aplikasi Office di Linux

1. TextDocument(OpenOffice Writer)

2. SpreadSheet(OpenOffice Calc)

3. Presentation(OpenOffice Impress)

4. OpenOffice Database

5. Gimp(Aplication Drawing)

Windows

Microsoft Windows adalah sistem operasi komputer berbasiskan GUI (Graphic

User Interface) yang paling banyak digunakan dalam komputer pribadi di

seluruh dunia. Sukses ini menjadikan pemiliknya, Bill Gates, menjadi orang

terkaya di seluruh dunia mengalahkan kekayaan Sultan Brunei. Namun hanya sedikit o

yang mengetahui sejarah perkembangan Microsoft Windows itu sendiri, dan sedikit

juga orang yang mengetahui sistem operasi komputer berbasiskan GUI selain merk

Microsoft Windows. Tulisan sederhana ini akan mencoba memaparkan secara singkat

tentang perkembangan Microsoft Windows.

Microsoft mulai mengembangkan Interface Manager

yang kemudian dirubah namanya menjadi Microsoft Windows bulan September

1981. Walau dalam prorotipe awalnya, menggunakan menu seperti Multiplan

(menu muncul dari bawah ke atas), namun tahun 1982 dirubah menjadi pull-down

menu (menu menyusur dari atas ke bawah) seperti yang digunakan Xerox Star.

Microsoft akhirnya melepaskan Windows ke pasaran bulan November 1983,

setelah sebelumnya saingan Microsoft, VisiOn, TopView, dan Apple

Lisa dipasarkan terlebih dahulu. Setelah Microsoft, Digital Research

meluncurkan GEM. Microsoft dalam iklannya menjanjikan interface grafis

yang mudah digunakan, device-independent graphic dan dukungan multitasking.

Walau pengembangan Windows 1.0 ditunda beberapa kali, namun penjualannya

dianggap lumayan.

"Windows 1.0" ketika pertama kali muncul dipasaran, masih

merupakan produk sistem operasi komputer yang tidak menarik. Tampilannya mas

sangat sederhana dan lamban. Awal yang sulit ini diperparah lagi ketika bulan

September 1985 para pengacara dari perusahaan Apple Computer,

memperingatkan Microsoft karena melanggar hak cipta mereka dari Apple Lisa

pada Microsoft Windows 1.0. Sebenarnya Bill Gates, pemilik perusahaan

Microsoft, telah berusaha mengajukan lisensi kepada Apple dalam beberapa featu

yang digunakan di Microsoft Windows 1.0 dari Apple Lisa, dan perusahaan

Apple pun menyetujui. Langkah Bill Gates ini ternyata jitu sekali, seperti

langkah sebelumnya yang membeli sistem operasi QDOS dari Seattle

Computer Product dan merubah namanya menjadi MS-DOS (Microsoft Disk

Operating System) dan keputusan Bill Gates untuk bekerja sama dengan

perusahaan produsen komputer raksasa IBM (International Bussines Machine)

untuk mengijinkan pemakaian software MS-DOS pada setiap produk komputer prib

PC-IBM (Personal Computer). IBM pun kemudian melisensi sistem

operasi ini dari Microsoft dan merubah nama sistem operasi yang disertakan dalam setiap PC-IBMnya menjadi PC-DOS (Personal Computer - Disk Operating

System). Keberhasilan Windows tidak terlepas dari kemunculan program Aldus

Page Maker 1.0 for Windows pada bulan Januari 1987, sebuah desktop

publishing program yang pertama kali muncul dan benar-benar berbasiskan WYSIWYG

(What You See Is What You Get), disusul kemudian dengan kemunculan Corel

Draw. Ditahun yang sama, Microsoft juga meluncurkan program untuk menulis, Microsoft

Word, dan program spreadsheet Microsoft Excel.

Aplikasi Office di Windows

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYKOqU4YfUUSDwpu3zCSNPyjpry8sqQP0CqF_xPqcbgLy9xhV0cgScQ8YH3H2OzQjqeOx9sQaiUWawY_FVu2YRuCLHoDX2pcMP48z31NeirdOG4Ej6lN_lOv27Zcj42VNZ3d0xsspQTeg/s320/OfficeWin.JPG

1. Microsoft Office Word

2. Microsoft Office PowerPoint

3. Microsoft Office Excel

4. Microsoft Office Access



MAC
OS

Mac OS, yang bererti Macintosh Operating System, atau Sistem Pengoperasi Macintosh, adalah sistem pengoperasi komputer Apple untuk komputer Apple Macintosh. Mac OS merupakan sistem pengoperasian pertama yang menggunakan antarmuka pengguna grafik (Graphical User Interface -- GUI). Pasukan Macintosh termasuk Bill Atkinson, Jef Raskin dan Andy Hertzfeld.Terdapat pelbagai pandangan bagaimana Macintosh dibangunkan dan di mana ide asal bermula. Walaupun kaitan antara Macintosh dan projek Alto di Xerox PARC telah luas diperkatakan dalam rekod sejarah, sumbangan awal Sketchpad oleh Ivan Sutherland dan Sistem di Talian (On-Line System) oleh Doug Engelbart tidak kurang pentingnya. Lihat Sejarah GUI, dan Apple v. Microsoft.Apple sengaja merendahkan kewujudan sistem pengoperasi pada tahun awal kemunculan Macintosh untuk menjadikan Macintosh kelihatan lebih ramah pengguna dan membezakannya daripada sistem lain seperti MS-DOS, yang digambarkan sebagai ajaib (arcane) dan mencabar secara teknikal. Apple mahu Macintosh digambarkan sebagai sistem yang “terus berfungsi” apabila anda menghidupkannya.VersiSistem Operasi Macintosh pada awalnya dikenali sebagai Sistem, seperti “Sistem 6.0.7″atau “Sistem 7“. Pada awalnya juga dikenali sebagai Kotak Perkakasan “Toolbox”; yang mengandungi himpunan rutin piawaian yang boleh digunakan bagi menggantikan pautan kepada perkakasan komputer itu sendiri.

Pengabstrakan ini yang membenarkan applikasi Mac ditulis untuk satu generasi sistem digunakan pada generasi berikutnya, sebagai contoh: dari Mac Plus kepada Mac II, kepada PowerBook, kepada Power Macintosh. Pada awalnya Apple sengaja mengaburkan kewujudan sistem operasi ini bagi membezakan Mac daripada sistem lain seperti MS-DOS, yang digambarkan sebagai lebih sukar digunakan berbanding Mac. Istilah seperti “sistem” dan “kotak perkakasan (the toolbox)” merupakan cara mudah untuk merujuk kepada perkhidmatan sistem operasi dan Macintosh API seterusnya mengelakkan penggunaan istilah teknikal (technical jargon). Sehingga kemunculan era sistem G3 (yang dikenali sebagai mesin “dunia baru”), sebahagian besar sistem disimpan dalam ROM fizikal pada papan induk, dan juga komponen sistem pada cakera yang menambah, mengesampingkan (override)atau memperbaiki rutin ROM. Tujuannya ialah untuk mengelakkan penggunaan terlalu banyak ruang simpanan dalam cakera liut yang terhad untuk sistem sokongan, kerana komputer Mac yang terawal tidak mempunyai cakera keras. Sebenarnya cuma satu model Mac yang boleh dijalankan (bootable) menggunakan ROM sahaja, iaitu model Mac Klasik 1991.Sistem 7.5.1 merupakan sistem pertama yang memasukkan logo Mac OS (muka tersenyum (smiley face) biru). Mac OS 7.6 (yang dikeluarkan pada 1996) merupakan sistem pertama yang dinamakan Mac OS kerana wujudnya “klon- klon” Mac, sistem yang hampir serupa daripada syarikat-syarikat lain seperti Power Computing dan Motorola, dan Apple hendak memberitahu dengan jelas bahawa sistem operasiannya merupakan hak milik intelektualnya sendiri.Sistem Mac OS boleh dibahagikan kepada dua jenis:Mac OS “Klasik”, sistem yang mula-mula dikeluarkan untuk Mac yang pertama pada tahun 1984 hinggalah Mac OS 9.Mac OS X (huruf “X” itu disebut sepuluh, iaitu nombor Roman) yang lebih baru. Mac OS X memasukkan unsur-unsur BSD Unix, OpenStep, dan Mac OS 9. Sistem tahap rendah asasnya, Darwin yang berasaskan Unix, merupakan sumber terbuka.

Mac OS Klasik

Mac OS klasik dikenali sebagai satu sistem yang tidak mempunyai sebarang baris perintah (command line); merupakan sistem yang menggunakan antara muka pengguna grafik (IU) sepenuhnya. Dipuji kerana senang untuk digunakan, sistem ini juga dikritik kerana menggunakan kerjasama multitugas (cooperative multitasking), ketiadaan pengurusan ingatan, dan kecenderungan pertelingkahan tambahan/sambungan. “Tambahan” adalah perisian yang ditambah kepada sistem pengoperasi, untuk memberikan fungsi tambahan - seperti rangkaian kerja (networking) - atau sokongan kepada perkakasan tertentu. Sesetengah sambungan tambahan mungkin tidak akan berfungsi dengan betul antara satu sama lain atau mungkin perlu ditambah mengikut urutan tertentu. Menyelesaikan masalah tambahan Mac OS boleh menjadi satu proses cuba jaya yang memakan masa yang panjang.Mac OS juga memperkenalkan Sistem Fail Hierarki (Hierarchical File System), sebagai satu cara inovatif penyususnan fail. Satu fail pada DOS atau Unix merupakan jujukan bait (byte), yang memerlukan aplikasi mengetahui bahagian bait mana yang mewakili kod dan bahagian mana yang mewakili grafik atau data yang lain, Fail Mac mempunyai dua bahagian yang berlainan. Sebagai tambahan kepada cuaran data, yang merupakan ulangan bait, terdapat juga akar cuaran resource fork yang mengandungi data yang sudah disusun seperti menu, grafik, bunyi, dan segmen kod. Satu fail applikasi mungkin hanya mempunyai sumber yang tidak mengandungi bahagian data. Fail teks mungkin mengandungi teks dalam bahagian data dan maklumat stail pada sumbernya, jadi applikasi yang tidak mengenal maklumat stail tersebut masih boleh membaca teks yang disimpan. Walaupun kaedah ini mempunyai beberapa kelebihan, Mac OS tidak dapat digunakan bersama- sama sistem-sistem pengoperasian lain yang tidak menggunakan sistem Mac OS; contohnya, apabila sesuatu fail disalin daripada Mac kepada DOS atau Unix, akar cuarannya akan dibuang.Menjelang akhir 1990-an, telah disedari bahawateknologi era 1980-an ini telah melangkaui hayatnya, dengan kewujudan sistem-sistem pengoperasian multitugas baru yang lebih stabil.

Mac OS X

Rencana utama: Mac OS XMac OS X mambawakan pengurusan memori ala-Unix dan pre-emptive multitasking kepada platform Mac. Pengurusan memori yang jauh lebih baik membolehkan lebih banyak perisian berjalan serentak dan hampir menghapuskan kemungkinan sesuatu perisian meruntuhkan perisian lain. Ia juga adalah Mac OS petama memasukkan baris arahan, walaupun tidak dapat dilihat kecuali apabila penggunanya melancarkan perisian “terminal”.Ramai peminat Mac OS asal menerima OS X, tetapi terdapat beberapa yang mengkritiknya sebagai lebih susah dan kurang mesra pengguna daripada Mac OS asal.

Mac OS

QuickDraw: model pengimej imaging model yang pertama memberikan pasaran pukal WYSIWYGFinder: antaramuka untuk melayari filesystem dan melancarkan applikasiMultiFinder: versi pertama yang menyokong menjalankan lebih dari satu perisian secara serentakChooser: perkakasan untuk mencapai network resources (contoh: mengaktifkan AppleTalk)ColorSync:teknologi untuk memastikan pemadanan warna yang sesuaiPengurusan ingatan OS Mac: bagaimana Mac menguruskan RAM dan ingatan maya sebelum bertukar kepada UNIXPengemulasian Motorola 68000 oleh PowerPC: bagaimana Mac menangani transisi arkitektural daripada CISC kepada RISC (lihat emulator Mac 68K)Desk Accessories: perisian kecil “helper” yang boleh dijalankan seiring dengan sebarang perisian lain, sebelum munculnya MultiFinder atau System 7.PlainTalk: teknologi sintesis pertuturan and pengecaman pertuturanMac-Roman : set aksara

Project Star Trek

Satu aspek sejarah yang menarik mengenai Mac OS Klasik ialah: ianya merupakan satu prototaip rahsia yang tidak diketahui umum yang dimulakan Apple pada tahun 1992 yang diberi nama kod Project Star Trek. Matlamat projek ini ialah untuk mencipta versi Mac OS yang boleh berfungsi pada komputer peribadi serasi-Intel x86. Projek ini tidak bertahan lama, ianya dibatalkan hanya selepas setahun iaitu pada 1993 kerana pertelingkahan politik dalaman. Walaupun begitu, pasukan projek ini berjaya menjadikan perisian seperti Macintosh Finder dan applikasi asas seperti Quicktime berfungsi secara lancar pada PC.Walaupun perisian Star Trek tidak pernah dilancarkan, emulator pihak-ketiga Macintosh, seperti vMac, Basilisk II, dan Executor, akhirnya menbolehkan kemungkinan menjalankan Mac OS Klasik pada komputer peribadi x86. Emulator-emulator ini terhad mengemulasikan barisan pemproses 68000, dan dengan demikian tidak dapat menjalankan versi Mac OS yang lebih terkini daripada 8.1 yang memerlukan pemprosesor PowerPC. Mutakhir ini, emulator seperti Pear PC telah muncul yang mampu mengemulasikan pemproses PowerPC yang diperlukan oleh versi terkini Mac OS (seperti Mac OS X). Walaubagaimanapun, ianya masih di peringkat awal dan seperti emulator-emulator lain, cenderung untuk berjalan lebih perlahan daripada OS natif.