AMEL

AMEL

Minggu, 10 Januari 2010

Etika manajer


Etika menajer adalah standart prilaku yang memandu manajer dalam pekerjaan mereka lakukan

Tanggung jawab SOS manajer


Tanggung jawab SOS manajer apabila P.O.A.C telah dilaksanakan maka keselangsungan hidup, laba, dll

LINGKUNGAN INTERNAL DAN EKSTERNAL

LInkungan internal

Lingkungan internal adalah lingkungan organisasi yang berada di dalam organisasi tersebut dan secara formal memiliki implikasi yang langsung dan khusus pada perusahaan. Perusahaan sendiri sesuai konsep masa kini merupakan kumpulan dari berbagai macam sumber daya, kapabilitas dan kompetensi yang selanjutnya bisa digunakan untuk membentuk market position tertentu. Dengan demikian analisis lingkungan internal akan meliputi analisis mengenai sumber daya manusia, kapabilitas dan kompetensi inti yang dimiliki oleh perusahaan. Masing-masing komponen dari analisis lingkungan internal sebagai berikut:
A. FungsionalSalah satu cara yang paling sederhana untuk memahami dan menganalisis lingkungan organisasi, khususnya lingkungan internal adalah melalui analisis fungsional yang meliputi fungsi produksi, fungsi pemasaran, fungsi keuangan, fungsi sumber daya manusia, dan fungsi R&D (Research development).
1.Fungsi PemasaranTujuan utama manajer pemasaan adalah mempengaruhi tingkat, waktu dan karakter permintaan denga suatu cara yang dapat membantu perusahaan mencapai tujuannya. Manajer pemasaran merupakan jailnan uama perusahaan dengan pelanggan dan persaingan dan oleh karena itu manajer pemasaran berkaitan langsung dengan posisi erusahaan di pasar dan bauran pemasaran. Di dalam pemasaran yang harus diperhatikan adalah:a.Posisi pasar dan segmentasi pasar. Di mana posisi pasar menentukan sasaran perusahaan dan mengacu kepada pemilihan spesifik dari kosentrasi pemasaran dan hal ini diungkapkan menurut bentuk paar, produk dan lokasi geografis. Melalui penelitian pasar manajer penjualan akan dapat mengklasifikasikan segmentsi pasar dengan aneka produk yang dihasilkannya. Keberhasilan manajer penjualan akan dapat memperbaiki kinerja keiangan perusahaan sebab setelah perusahaan dapt menjual produk maka langkah berikutnya perusahaan akan mendapatkan uang dari hasil penjualan tersebutb.Bauran pemasaran. Mengacu kepada kombinasi variable dari produk, distribusi, promosi, dan harga.Produk itu sendiri terdapat beberapa variable yang harus diperhatikan yaitu kualitas, fasilitas, pilihan, model, nama merek, kemasan, ukuran, layanan, jaminan, pengembalianDistribusi mencakup saluran, lokasi perusahaan, persediaan, dan pembayaranPromosi berupa periklanan, penjualan personal, promosi penjualan, publisitas, transportasi.Harga juga mempengaruhi dalam pemasaran yaitu potongan harga, periode, syarat kredit dan masih banyak yang lainnyac.Siklus hidup produkBerkaitan dengan manajemen strategis, salah satu konsep yang paling berguna dalam pemasaran adalah daur hidup produk. Siklus hidup produk digambarkan pada penjualan, sejak produk pada tahap perkenalain, melali tahap pertumbuhan kedewasaan dan akhirnya mencapai penurunan. Konsep ini memungkinkan seorang manajer pemasaran menguji bauran pemasaran suatu produk tertentu atau sekumpulan produk, dalam hal daur hidupnya. Meskipun orang-orang pemasaran setujuu bahwa produk yang berbeda memiliki bentuk daur hidup yang berbeda pula, pertimbangan mengenai daur hidup produk merupakan factor penting dalam perumusan strategi..


Lingkungan Eksternal

Lingkungan Eksternal

Lingkungan eksternal meliputi variabel-variabel di luar organisasi yang dapat berupa tekanan umum dan tren di dalam lingkungan societal ataupun faktor-faktor spesifik yang beroperasi di dalam lingkungan kerja (industri) organisasi. Variabel-variabel eksternal ini terbagi menjadi dua jenis, yaitu ancaman dan peluang, yang mana memerlukan pengendalian jangka panjang dari manajemen puncak organisasi.
Ada dua lingkungan yang berpengaruh disini, yaitu lingkungan societal dan lingkungan kerja. Lingkungan societal meliputi tekanan-tekanan umum yang mempengaruhi secara luas, misalnya tekanan di bidang ekonomi, teknologi, politik, hukum, dan sosial budaya. Tekanan ini terutama sering berpengaruh pada keputusan jangka panjang organisasi. Sementara itu, lingkungan kerja memasukkan semua elemen yang relevan dan mempengaruhi organisasi secara langsung. Elemen-elemen tersebut dapat berupa pemerintah, kreditur, pemasok, karyawan, konsumen, pesaing, dan lainnya.

Globalisasi

Hill (2007:5) dalam bukunya International Business menjelaskan globalisasi sebagai pergeseran menuju ekonomi dunia yang lebih terintegrasi dan saling bergantung satu sama lain. Globalisasi dapat berupa globalisasi pasar dan globalisasi produksi. Faktor utama pendorong globalisasi adalah menurunnya halangan untuk perdagangan dan investasi dan perubahan teknologi.

Perusahaan di Era Globalisasi

Pasar yang semakin terbuka dan efisiensi yang tinggi telah mendorong banyak perusahaan untuk menjadi global, atau setidaknya go international. Perusahaan dapat dikatakan global apabila telah beroperasi di tiga kawasan besar dunia yang disebut TRIAD, yaitu Jepang, Amerika Serikat, dan Eropa. Indonesia sendiri juga menjadi sasaran investasi berbagai merek global, diantaranya Toyota, Nokia, Samsung, Johnson & Johnson, Citigroup, Unilever, Procter & Gamble, dan Coca Cola.

Keputusan strategik pada perusahaan yang beroperasi di negara sendiri sangat berbeda dengan apabila ia beroperasi di negara lain. Setiap negara berbeda dalam hal budaya, sistem politik, sistem ekonomi, sistem hukum, dan tingkat pertumbuhan ekonomi. Semua ini menjadikan pengkajian lingkungan eksternal perusahaan tugas yang semakin rumit karena perusahaan memerlukan praktik dan pendekatan yang berbeda-beda di tiap negara.

Selasa, 05 Januari 2010

LInkungan internal

Lingkungan internal adalah lingkungan organisasi yang berada di dalam organisasi tersebut dan secara formal memiliki implikasi yang langsung dan khusus pada perusahaan. Perusahaan sendiri sesuai konsep masa kini merupakan kumpulan dari berbagai macam sumber daya, kapabilitas dan kompetensi yang selanjutnya bisa digunakan untuk membentuk market position tertentu. Dengan demikian analisis lingkungan internal akan meliputi analisis mengenai sumber daya manusia, kapabilitas dan kompetensi inti yang dimiliki oleh perusahaan. Masing-masing komponen dari analisis lingkungan internal sebagai berikut:
A. FungsionalSalah satu cara yang paling sederhana untuk memahami dan menganalisis lingkungan organisasi, khususnya lingkungan internal adalah melalui analisis fungsional yang meliputi fungsi produksi, fungsi pemasaran, fungsi keuangan, fungsi sumber daya manusia, dan fungsi R&D (Research development).
1.Fungsi PemasaranTujuan utama manajer pemasaan adalah mempengaruhi tingkat, waktu dan karakter permintaan denga suatu cara yang dapat membantu perusahaan mencapai tujuannya. Manajer pemasaran merupakan jailnan uama perusahaan dengan pelanggan dan persaingan dan oleh karena itu manajer pemasaran berkaitan langsung dengan posisi erusahaan di pasar dan bauran pemasaran. Di dalam pemasaran yang harus diperhatikan adalah:a.Posisi pasar dan segmentasi pasar. Di mana posisi pasar menentukan sasaran perusahaan dan mengacu kepada pemilihan spesifik dari kosentrasi pemasaran dan hal ini diungkapkan menurut bentuk paar, produk dan lokasi geografis. Melalui penelitian pasar manajer penjualan akan dapat mengklasifikasikan segmentsi pasar dengan aneka produk yang dihasilkannya. Keberhasilan manajer penjualan akan dapat memperbaiki kinerja keiangan perusahaan sebab setelah perusahaan dapt menjual produk maka langkah berikutnya perusahaan akan mendapatkan uang dari hasil penjualan tersebutb.Bauran pemasaran. Mengacu kepada kombinasi variable dari produk, distribusi, promosi, dan harga.Produk itu sendiri terdapat beberapa variable yang harus diperhatikan yaitu kualitas, fasilitas, pilihan, model, nama merek, kemasan, ukuran, layanan, jaminan, pengembalianDistribusi mencakup saluran, lokasi perusahaan, persediaan, dan pembayaranPromosi berupa periklanan, penjualan personal, promosi penjualan, publisitas, transportasi.Harga juga mempengaruhi dalam pemasaran yaitu potongan harga, periode, syarat kredit dan masih banyak yang lainnyac.Siklus hidup produkBerkaitan dengan manajemen strategis, salah satu konsep yang paling berguna dalam pemasaran adalah daur hidup produk. Siklus hidup produk digambarkan pada penjualan, sejak produk pada tahap perkenalain, melali tahap pertumbuhan kedewasaan dan akhirnya mencapai penurunan. Konsep ini memungkinkan seorang manajer pemasaran menguji bauran pemasaran suatu produk tertentu atau sekumpulan produk, dalam hal daur hidupnya. Meskipun orang-orang pemasaran setujuu bahwa produk yang berbeda memiliki bentuk daur hidup yang berbeda pula, pertimbangan mengenai daur hidup produk merupakan factor penting dalam perumusan strategi.

Senin, 04 Januari 2010

Lingkungan Eksternal

Lingkungan Eksternal

Lingkungan eksternal meliputi variabel-variabel di luar organisasi yang dapat berupa tekanan umum dan tren di dalam lingkungan societal ataupun faktor-faktor spesifik yang beroperasi di dalam lingkungan kerja (industri) organisasi. Variabel-variabel eksternal ini terbagi menjadi dua jenis, yaitu ancaman dan peluang, yang mana memerlukan pengendalian jangka panjang dari manajemen puncak organisasi.
Ada dua lingkungan yang berpengaruh disini, yaitu lingkungan societal dan lingkungan kerja. Lingkungan societal meliputi tekanan-tekanan umum yang mempengaruhi secara luas, misalnya tekanan di bidang ekonomi, teknologi, politik, hukum, dan sosial budaya. Tekanan ini terutama sering berpengaruh pada keputusan jangka panjang organisasi. Sementara itu, lingkungan kerja memasukkan semua elemen yang relevan dan mempengaruhi organisasi secara langsung. Elemen-elemen tersebut dapat berupa pemerintah, kreditur, pemasok, karyawan, konsumen, pesaing, dan lainnya.

Globalisasi

Hill (2007:5) dalam bukunya International Business menjelaskan globalisasi sebagai pergeseran menuju ekonomi dunia yang lebih terintegrasi dan saling bergantung satu sama lain. Globalisasi dapat berupa globalisasi pasar dan globalisasi produksi. Faktor utama pendorong globalisasi adalah menurunnya halangan untuk perdagangan dan investasi dan perubahan teknologi.

Perusahaan di Era Globalisasi

Pasar yang semakin terbuka dan efisiensi yang tinggi telah mendorong banyak perusahaan untuk menjadi global, atau setidaknya go international. Perusahaan dapat dikatakan global apabila telah beroperasi di tiga kawasan besar dunia yang disebut TRIAD, yaitu Jepang, Amerika Serikat, dan Eropa. Indonesia sendiri juga menjadi sasaran investasi berbagai merek global, diantaranya Toyota, Nokia, Samsung, Johnson & Johnson, Citigroup, Unilever, Procter & Gamble, dan Coca Cola.

Keputusan strategik pada perusahaan yang beroperasi di negara sendiri sangat berbeda dengan apabila ia beroperasi di negara lain. Setiap negara berbeda dalam hal budaya, sistem politik, sistem ekonomi, sistem hukum, dan tingkat pertumbuhan ekonomi. Semua ini menjadikan pengkajian lingkungan eksternal perusahaan tugas yang semakin rumit karena perusahaan memerlukan praktik dan pendekatan yang berbeda-beda di tiap negara.

Minggu, 03 Januari 2010

Tanggung jawab SOS manajer

Tanggung jawab SOS manajer apabila P.O.A.C telah dilaksanakan maka keselangsungan hidup, laba, dll

Etika manajer

Etika menajer adalah standart prilaku yang memandu manajer dalam pekerjaan mereka lakukan

Lingkungan eksternal

Lingkungan eksternal adalah keseluruhan aspek besar di luar organisasi yang merupakan menciptakan keseluruhan

Makalah Wewenang, Lini dan Staff

WEWENANG

Kekuasaan posisi dan legal rasional dapat disebut sebagai kekuasaan yang terbatas pada lingkup kecil dan mudah untuk diganti. Kekuasaan ini biasanya disebut sebagai wewenang atau authority. Wewenang, adalah kekuasaan jabatan yang memperoleh pengesahan dari orang lain, dalam hal ini atasan dan bawahan. Pengertian tentang wewenang dapat dipandang secara klasik dan juga secara pengakuan.
Secara klasik, wewenang dimiliki oleh atasan dan bawahan berkewajiban mematuhinya. Kondisi ini dapat menimbulkan kekuasaan yang sewenang-wenang. Pandangan pengakuan berdasarkan adanya pengakuan dari seseorang yang dipengaruhi terhadap orang lain yang mempengaruhi mereka. Dengan demikian, dalam lingkup sempit, wewenang yang sah belum tentu memperoleh pengakuan orang lain.
Weber menyebut wewenang sebagai wewenang yang legal dan sah. Weber juga membagi wewenang menjadi wewenang kharismatik, rasional, dan tradisional. Indonesia kini menuju kepada pembagian kewenangan antara pusat dan daerah, sehingga azas desentralisasi lebih tampak. Pembagian ini menuju kepada pemberian wewenang kepada daerah lebih besar dengan hak mengelola sendiri daerahnya untuk kegiatan-kegiatan tertentu, dan ada keseimbangan penerimaan antara daerah dan pusat. Hal ini dilakukan untuk mencegah usaha pemisahan diri oleh daerah-daerah:

1. Organisasi Lini (Line Organization)
Dalam jenis organisasi ini, pembagian tugas dan wewenang terdapat perbedaan yang tegas antara pimpinan dan pelaksanaan. Peran pimpinan dalam hal ini sangat dominan dimana semua kekuasaan di tangan pimpinan. Oleh sebab itu dalam pelaksanaan kegiatan yang utama adalah wewenang dan perintah.

Memang bentuk organisasi semacam ini, khususnya didalam institusi-institusi yang kecil sangat efektif karena keputusan-keputusan cepat diambil dan pelaksanaan keputusan juga cepat. Kelemahannya jenis organisasi semacam ini kurang manusiawi, lebih-lebih para pelaksana tugas bawahan hanya dipandang sebagai robot yang senantiasa siap melaksanakan perintah.

1. Organisasi Staf (Staff Organization)
Dalam organisasi ini, tidak begitu tegas garis pemisah antara pimpinan dan staf pelaksana. Peran staf bukan sekedar pelaksana perintah pimpinan namun staf berperan sebagai pembantu pimpinan. Bentuk organisasi semacam ini muncul karena makin kompleksnya masalah-masalah organisasi sehingga pimpinan sudah tidak dapat lagi menyelesaikan semuanya dan memerlukan bantuan orang lain (biasanya para ahli) yang dapat memberikan masukan pemikiran-pemikiran terhadap masalah-masalah yang dihadapi.

Meskipun organisasi ini lebih baik dari yang pertama karena keputusan-keputusan dapat lebih baik namun kadang-kadang keputusan-keputusan tersebut akan memakan waktu yang lama karena melalui perdebatan-perdebatan yang kadang-kadang melelahkan.

1. Organisasi Lini dan Staff
Organisasi ini merupakan gabungan kedua jenis organisasi yang terdahulu disebutkan (line dan staf). Dalam organisasi ini staf bukan sekedar pelaksana tugas tetapi juga diberikan wewenang untuk memberikan masukan demi tercapainya tujuan secara baik. Demikian juga pimpinan tidak sekedar memberikan perintah atau nasehat tetapi juga bertanggung jawab atas perintah atau nasehat tersebut.

Keuntungan organisasi ini antara lain ialah keputusan yang diambil oleh pimpinan lebih baik karena telah dipikirkan oleh sejumlah orang dan tanggung jawab pimpinan berkurang karena mendapat dukungan dan bantuan dari staf.

Dalam kehidupan sehari-hari apabila unit kerja (departemen, perusahaan dan sebagainya) akan melaksanakan suatu rencana tidak selalu langsung diikuti oleh penyusunan organisasi baru. Struktur organisasi itu biasanya sudah ada terlebih dahulu dan ini relatif cenderung permanen, lebih-lebih struktur organisasi departemen.

Disamping itu unit-unit kerja tersebut dijabarkan kedalam unit-unit yang lebih kecil dan masing-masing unit-unit kerja yang lebih kecil ini mempunyai tugas dan wewenang yang berbeda-beda (dirjen, direktorat, bidang, seksi, devisi, dan sebagainya). Masing-masing unit kerja tersebut sudah barang tentu akan menyusun perencanaan dan kegiatan-kegiatan. Untuk pelaksanaan rencana rutin cukup oleh staf yang ada sehingga tidak perlu menyusun organisasi baru. Apabila rencana atau kegiatan tersebut tidak dapat ditangani oleh struktur organisasi yang telah ada biasanya dibentuk, misalnya panitia tim kerja (kelompok kerja), komisi dan sebagainya.


KONFLIK LINI DAN STAFF

Bentuk umum dari konflik organisasi adalah konflik antara para anggota lini dan staf. Perbedaan ini memungkinkan para anggota lini dan staf untuk melaksanakan tugas mereka masing-masing secara efektif.
Pandangan lini :
Para anggota lini berpendapat bahwa para anggota staf mempunyai empat keluarga
1. staf melampaui wewenang
2. staf tidak memberikan advis yang sehat
3. staf menumpang keberhasilan lini
4. staf mempunyai prespektif yang sempit
Pandangan staf
1. Lini tidak mau meminta bantuan staf pada waktu yang tepat
2. Lini menolak gagasan baru
3. Memberi wewenang yang terlalu kecil kepada staf
Penanggulangan Konflik Lini dan Staf
1. Penegasan tentang tanggung jawabnya
2. Pengintegrasian kegiatan-kegiatan
3. Mengajarkan lini untuk menggunakan staf
4. Mendapatkan pertanggung jawaban staf atas hasil-hasil

LINI DAN STAFF

Lini mempunyai fungsi untuk bertangungjawab langsung atas tercapainya tujun-tujuan suatu perusahaan.

Staff adalah individu atau kelompok (terdiri para ahli) dalam struktur organisasi yang funsi utamanya adalah meberikan saran dan pelayanan kepada fungsi lini.

JENIS-JENIS STAFF

1. Staff pribadi (personal staff)

Staff pribadi dibentuk untuk memberikan saran bantuan dan jasa kepada seorang manajer. Staff pribadi sering disebut asisten atau asisisten staff yang mempunyai banyak tugasuntuk atasan dan biasanya generalis.

2. Staff spesialis

Memberikan saran, konsultansi, bantuan dan melayani seluruh lini dan unsur organisasi. Bertaggung jawab ke tingkatan-tingkatan organisasi yang bermacam-macam, seperti tingkatan divisi, tingakatan bagian ataupun tingkatan cabang yang berdiri sendiri.

WEWENANG LINI, STAFF DAN FUNGSIONAL

1. Wewenang lini

Adalah wewenang dimana atasan melakukannya atas bawahannya langsung. Yaitu atasan langsung memberi wewenang kepada bawahannya, wujudnya dalam wewenang perintah dan tercermin sebagai rantai perintah yang diturunkan ke bawahan melalui tingkatan organisasi.

2. Wewenang staff

Adalah hak yang dipunyai oleh satuan-satuan staf atau para spesialis untuk menyarankan, memberi rekomendasi, atau konsultasi kepada personalia ini. Kualifikasi yang harus dipenuhi oleh orang yang duduk sebagai taf yaitu dengan menganalisa melalui metode kuisioner, metode observasi, metode wawancara atau dengan menggabungkan ketiganya. Baishline mengajukan enam pokok kualifikasi yang harus dipengaruhi oleh seorang staf yaitu :

1. Pengetahuan yang luas tempat diamana dia bekerja
2. Punya sifat kesetiaan tenaga yang besar, kesehatan yang baik, inisiatif, pertimbangan yang baik dan kepandaian yang ramah.
3. Punya semangat kerja sama yang ramah
4. Kestabilan emosi dan tingkat laku yang sopan.
5. Kesederhanaan
6. Kemauan baik dan optimis

Kualifikasi utama yaitu memiliki keahlian pada bidangnya dan punya loyalitas yang tinggi. Konsekkuensi organisasi yang menggunakan staf yaitu menambah biaya administrasi struktur orgasisasi menjadi komplek dan kekuasaan, tanggung jawab serta akuntabilitas. yaitu memiliki keahlian pada bidangnya dan punya loyalitas yang tinggi. Wewenang staf Yaitu hak para staf atau spesialis untuk menyarankan, memberi rekomendasi konsultasi pada personalia yang tinggi, Hal yang perlu diperintahkan dalam mendelegasikan suatu kegiatan kepada orang yang ditunjuk yaitu:

1. Menetapkan dan memberikan tujuan serta kegiatan yang akan dilakukan
2. Melimpahkan sebagian wewenangnya kepada orang yang di tunjuk
3. Orang yang ditunjuk mempunyai kewajiban dan tanggung jawab yang harus dilaksanakan agar tercapainya tujuan.
4. Menerima hasil pertanggung jawaban bawahan atas kegiatan yang dilimpahkan.

SUMBER KONFLIK LINI DAN STAFF

1. Perbedaan umur dan pendidikan, dimana staf biasanya lebih muda dan berpendidikan dari pada orang lini.
2. Perbedaan tugas, orang lini tugasnya lebih teknis dan generalis, sedang staf adalah spesialis, karena:
1. Dalam pemberian bantuan sering menggunakan istilah-istilah yang tidak dimengerti orang lini.
2. Staf tidak mengerti masalah-masalah lini dan menganggap saran mereka tidak dapat diterapkan dalam tugasnya
3. Perbedaan sikap yang tercermin dalam:
1. Orang staf cenderung memperluas wewenangnya dan cenderung memberikan perintah pada orang lini untuk membuktikan eksistensinya.
2. Orang staf cenderung paling berjasa terhadap gagasan-gagasannya, orang lini cenderung tidak menghargai orang staf dalam membantu pemecahan masalah.
3. Orang staf merasa di bawah orang lini, dan orang lini selalu curiga bahwa orang staf ingin memperluas kekuasaannya.
4. 4. Perbedaan posisi, untuk itu manajemen puncak harus secara jelas menyampaikan delegasi departement staf, dan staf harus menyadari bahwa pekerjaan mereka adalah not sell not to tell.

DELEGASI WEWENANG

Adalah pelimpahan dan tanggung jawab formal kepada orang lain untuk melakukan tugas tertentu. Jadi delegasi wewenang adalah:

1. Proses manajer mengalokasikan wewenang ke bawah yaitu kepada orang-orang yang melapor kepadanya.
2. Pemberian otoritas atau kekuasaan formaldan tanggung jawab untuk melaksanakan kegiatan tertentu kepada orang lain. Pelimpahan otoritas oleh atasan kepada bawahan diperlukan agar organisasi dapat berfungsi secara efisien karena tak ada atasan yang dapat mengawasi secara pribadi tugas-tugas organisasi.

Alasan perlunya pendelegasian, yaitu:

1. Agar organisasi berfungsi lebih efisien
2. Manajer dapat memusatkan tenaganya kepada tugas-tugas prioritas yang lebih penting.
3. Bawahan dapat tumbuh, berkembang dan sebagai alat untuk belajar dari kesalahan.

Delegasi dibutuhkan karena manajer mungkn hanya menguasai “the big picture”, tidak cukup mengerti secara teperincidan tidak selalu mempunyai semua pengetahuan yang dibutuhkan untuk membuat keputusan. Sehingga untuk mengefisiesikan sumber daya, pelaksaan tugas tertentu didelegasikan kepada tingkatan yang serendah mungkin dimana cukup kemampuan dan informasiuntuk menyelesaikannya.

Prinsip klasik yang dapat dijadikan dasar untuk dlegai efektif adalah:

1. Prinsip scalar

Menyatakan harus ada garis otoritas yang jelas yang mengubungkan tingkat paling tinggi dengan tingkat paling bawah. Garis otoritas yang jelas ini memudahkan kepada organisasi untuk mengetahui:

1. Kepada siapa dia dapat mendelegasikan
2. Siapa yang dapat melimpahkan wewenang kepadanya
3. Kepada siapa dia bertanggung jawab

Dalam proses penyusunan garis otoritas diperlukan kelengkapan pendelegasian wewenang, yaitu semua tugas yang piperlukan dibagi habis. Hal ini digunakan untuk menghindari:

1. Gaps, yaitu tugas-tugas yang tidak aada penanggung jawabnya
2. Overlaps, yaitu tanggungjawab yang sama diberikan kepada lebih dari satu orang.
3. Splits, yaitu tanggungjawab atas tugas yang sama diberikan kepada lebih dari satu-satuan organisasi.
4. Prinsip kesatuan perintah (unity of command)

Menyatakan setiap orang dalam setiap organisasi harus melapor kepada satu atasan. Melapor pada lebih pada satu atasan akan menyulitkan seseorang untuk mengetahui kepada siapa dia harus bertanggung jawab dan perintah siapa yang harus diikuti. Bertangung jawab kepada lebih dari satu atasan juga akan membuat bawahan dapat menghindari tanggung jawab atas pelaksanaan tugas yang jelek denga alas an banyaknya tugas dari atasan lain.

1. Tangung jawab, wewenang dan akuntabilitas

Prinsip-prinsip ini menyatakan bahwa:

1. Dapat menggunakan sumber dayanya secara efisien.
2. Masing-masing orang dalam organisasi melaksanakan tugas yang dibebankan kepadanya secara efektif.
3. Akuntabilitas penerima tanggung jawab dan wewenang

Manfaat pendelegasian wewenang, yaitu:

1. Manajer mempunyai banyak kesempatan mencari dan menerima peningkatan tanggung jawab dari tingkatan manajer yang tinggi.
2. Memberikan kepuutsan yang lebih baik.
3. Pelimpahan yang efektif mempercepat pembuatan keputusan.
4. Melatih bawahan memikul tanggung jawab, melakukan penilaian dan meningkatkan keyakinan diri serta kejadian yang berinisiatif.

Hambatan terhadap pendelegasian yang efektif, yaitu:

1. Kengganan mendelegasikan wewenang.
2. Bawahan kurang percaya diri dan merasa tertekan jika dilimpahi wewenang pembuatan keputusan yang lebih besar.

Syarat untuk delegasi yang efektif:

1. Kesediaan manajer untuk memberikan kebebasan kepada bawahan dalam melaksanakan tugas yang dilimpahkan.
2. Komunikasi yang baik antara atasan dan bawahan.
3. Meningkatkan kompleksitas tugas yang dilimpahkan dan derjat pelimpahan dalam suatu jangka waktu tertentu.

Bila tidak ada kemajuan dalam jangka waktu yang telah direncanakan, maka beberapa hambatan dalam hubungan antara atasan dan bawahan mungkin sudah bisa ditemukan (misalnya latihan yang tidak cukup, tidak adanya kepercayaan antara satu sama lain, komunikasi yang buruk).

Louis allen mengemukakan tentang teknik untuk membantu manajer dalam melakukan delegasi dengan efektif:

1. Tetapkan tujuan.
2. Tegaskan tanggung jawab dan wewenang.
3. Berikan motivasi kepada bawahan.
4. Meminta penyelesaian kerja.
5. Berikan latihan
6. Adakan pengawasan yang memadai.

1. Siapa yang sebenarnya membutuhkan manajemen dan mengapa manajemen itu harus ada?

Jawab : Semua orang membutuhkan manajemen dan juga organisasi membutuhkan manajemen agar dapat mencapai tujuan bersama. Manajemen harus ada karena untuk mengatur sistem kerja, manusia harus menghasilkan hasil yang maksimum agar apa yang direncanakan berjalan dengan baik dan bertahap.

2. Mengapa pada lower manajemen, manajerial skill atau keahlian lebih kecil dibandingkan material skill?

Jawab : Karena pimpinan tingkat bawahan lebih banyak berhadapan dengan paa pekerja operasional secara langsung, dimana tugas utamanya adalah memberikan bimbingan langsung kepada petugas operasional. Maka bagi pimpinan tingkat bawahan harus mengetahui selak beluk kegiatan yang operativ.

3. Mengapa dalam sebuah organisasi diperlukan suatu rencana atau planning?

Jawab : Agar apa yang telah direncanakan oleh suatu organisasi dapat dihasilkan dengan sesuai rencana tepat pada waktunya.

4. Apa yang dimaksud dengan Promosi?

Jawab : Promosi adalah salah satu motivasi bagi para pegawai untuk menunjukkan prestasi-prestasinya yang besar.

5. Apa yang dimaksud dengan Demosi?

Jawab : Demosi adalah penurunan jabatan karena seseorang tersebut tidak mampu dan cakap dalam memikul tugas dan tanggung jawab yang dibebankan kepadanya tanpa mengurangi balasan jasa yang pernah diterimanya.

6. Sebutkan sebab utama konflik yang sering timbul dalam organisasi!

Jawab : Konflik dalam individu, konflik antara individu dalam organisasi yang sama, konflik antar individu dan kelompok, konflik antar kelompok dalam organisasi yang sama, dan konflik antar organisasi.

7. Sebutkan dan jelaskan gaya kepemimpinan yang anda ketahui beserta ciri-cirinya!

Jawab : Gaya kepemimpinan adalah pola tingkah laku yang dirancang untuk mengintegrasikan tujuan organisasi dan tujuan individu untuk mencapai tujuan bersama. Antara lain :

- Tipe Otokratis yaitu pimpinan yang selalu memerintah dan menyuruh bawahannya agar bertindak sesuai dengan keinginannya.

- Tipe Paternalistis yaitu selalu beranggapan bawahannya belum dewasa dan harus mempersiapkan segala sesuatunya lebih baik lagi.

- Tipe Kharismatik yaitu sifat-sifat yang timbul dari perbandingannya yang menimbulkan pesona.

- Tipe Demokrasi yaitu bersetia menerima segala dari bawahannya dan member kesempatan pada bawahannya untuk berkonsultasi.

- Tipe Militerisme yaitu selalu mengkomandokan apa saja yang harus dikerjakan.

Object Oriented Programming

Object Oriented Programming
Object
Oriented Programming ( OOP ) merupakan paradigma pemrograman yang menggunakan "objek" - struktur data yang terdiri dari datafields dan metode bersama dengan interaksi mereka - untuk merancang aplikasi dan program komputer. Teknik pemrograman dapat mencakup fitur seperti menyembunyikan informasi, data abstraksi, enkapsulasi, modularitas, polimorfisme, dan pewarisan. Itu tidak umum digunakan dalam pengembangan aplikasi perangkat lunak arus utama sampai awal 1990-an. Banyak modern bahasa pemrograman sekarang mendukung OOP.
Object Oriented Programming memiliki akar yang dapat ditelusuri pada 1960-an. Seperti hardware dan software menjadi semakin kompleks, kualitas sering berkompromi. Para peneliti mempelajari cara untuk menjaga kualitas perangkat lunak dan dikembangkan pemrograman berorientasi objek dalam bagian untuk mengatasi masalah-masalah umum dengan sangat menekankan diskrit, dapat digunakan kembali unit logika pemrograman. Metodologi yang berfokus pada data daripada proses, dengan program yang terdiri dari modul mandiri (objek) masing-masing berisi semua informasi yang dibutuhkan untuk memanipulasi struktur data sendiri. Hal ini berbeda dengan yang ada pemrograman modular yang telah dominan selama bertahun-tahun yang berfokus pada fungsi dari module, bukan data spesifik, tetapi juga disediakan untuk penggunaan kembali kode, dan mandiri dapat digunakan kembali unit pemrograman logika, yang memungkinkan kolaborasi melalui penggunaan modul yang terhubung (subrutin). Pendekatan ini lebih konvensional, yang masih tetap, cenderung untuk mempertimbangkan data dan perilaku secara terpisah.
Sebuah program berorientasi objek dengan demikian dapat dilihat sebagai kumpulan objek yang saling berinteraksi, berlawanan dengan model konvensional, di mana program dipandang sebagai daftar tugas (subrutin) untuk melakukan. Dalam OOP, setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek-objek lain dan dapat dipandang sebagai independen 'mesin' dengan peran atau tanggung jawab yang berbeda. Tindakan (atau "operator") pada objek-objek ini sangat erat terkait dengan objek. Sebagai contoh, struktur data cenderung 'membawa operator sekitar mereka sendiri dengan mereka "(atau setidaknya" mewarisi "mereka dari obyek atau kelas yang sama).
Yang Simula adalah bahasa pemrograman yang pertama kali memperkenalkan konsep dasar pemrograman berorientasi obyek (objek, kelas, subclass, metode virtual, coroutines, dan simulasi event diskrit) sebagai superset dari Algol. Simula juga digunakan otomatis pengumpulan sampah yang telah diciptakan sebelumnya untuk bahasa pemrograman fungsional Lisp. Simula yang digunakan untuk pembuatan model fisik, seperti model-model untuk mempelajari dan meningkatkan pergerakan kapal dan isinya melalui pelabuhan kargo. Smalltalk adalah bahasa pemrograman pertama disebut "berorientasi objek".



Sejarah
Konsep benda dan contoh-contoh di komputasi mempunyai terobosan besar pertama dengan PDP-1 sistem di MIT yang mungkin contoh paling awal 'kemampuan yang didasarkan' arsitektur. Lain contoh awal adalah Sketchpad diciptakan oleh Ivan Sutherland pada tahun 1963, namun, ini adalah sebuah aplikasi dan bukan paradigma pemrograman. Objek sebagai entitas pemrograman diperkenalkan pada 1960-an di Simula 67, sebuah bahasa pemrograman yang dirancang untuk melakukan simulasi, diciptakan oleh Ole-Johan Dahl dan Kristen Nygaard dari Norwegian Computing Center di Oslo. Mereka bekerja di kapal simulasi, dan bingung oleh ledakan kombinatorial bagaimana sifat-sifat yang berbeda dari kapal yang berbeda dapat mempengaruhi satu sama lain. Ide terjadi kepada mereka tentang pengelompokan jenis kapal ke kelas yang berbeda benda; masing-masing kelas objek bertanggung jawab untuk menentukan sendiri data dan perilaku. Pendekatan seperti ekstrapolasi sederhana konsep analog sebelumnya digunakan dalam pemrograman. Pada komputer analog, pemetaan dari dunia nyata fenomena / objek untuk analog fenomena / objek (dan sebaliknya), adalah (dan ini) disebut 'simulasi'. Simula tidak hanya memperkenalkan konsep kelas, tetapi juga dari contoh kelas, yang mungkin eksplisit pertama penggunaan gagasan-gagasan tersebut. Ide-ide dari Simula 67 dipengaruhi banyak kemudian bahasa, terutama Smalltalk dan turunannya Lisp dan Pascal.
The Smalltalk bahasa, yang dikembangkan di Xerox PARC (oleh Alan Kay dan lain-lain) pada 1970-an, memperkenalkan istilah pemrograman berorientasi objek untuk mewakili benda penggunaan meluas dan pesan sebagai dasar perhitungan. Smalltalk pencipta dipengaruhi oleh ide-ide diperkenalkan dalam Simula 67, tapi Smalltalk dirancang untuk menjadi dinamis sepenuhnya sistem di mana kelas-kelas dapat dibuat dan dimodifikasi secara dinamis, bukan statis seperti dalam Simula 67. Smalltalk dan dengan itu OOP diperkenalkan kepada khalayak yang lebih luas oleh edisi Agustus 1981 majalah Byte.
Pada 1970-an, Kay Smalltalk bekerja telah mempengaruhi masyarakat Lisp untuk menggabungkan teknik-teknik berbasis objek yang diperkenalkan kepada pengembang melalui mesin Lisp. Eksperimen dengan berbagai ekstensi untuk Lisp (seperti loop dan Flavors memperkenalkan beberapa warisan dan mixin), akhirnya mengarah pada Common Lisp Sistem Objek (CLOS, bagian dari standar pertama berorientasi obyek bahasa pemrograman, ANSI Common Lisp), yang menggabungkan pemrograman fungsional dan pemrograman berorientasi objek dan memungkinkan perpanjangan melalui protokol Meta-objek. Tahun 1980-an, ada beberapa upaya untuk merancang arsitektur prosesor yang mencakup dukungan hardware untuk obyek dalam memori, tetapi ini tidak berhasil. Contoh meliputi Intel iAPX 432 dan Smart Linn Rekursiv.
Pemrograman berorientasi obyek dikembangkan sebagai metodologi pemrograman yang dominan selama pertengahan 1990-an, sebagian besar disebabkan oleh pengaruh C + +. Dominasinya itu makin diperkuat oleh meningkatnya popularitas dari antarmuka pengguna grafis, yang pemrograman berorientasi obyek tampaknya cocok. Contoh dari GUI dinamis terkait erat dengan perpustakaan dan bahasa OOP dapat ditemukan di Kakao kerangka kerja di Mac OS X, yang ditulis di Objective-C, sebuah object-oriented, dinamis ekstensi pesan ke C didasarkan pada Smalltalk. OOP toolkit juga meningkatkan popularitas pemrograman kendali-event (walaupun konsep ini tidak terbatas pada OOP). Sebagian merasa bahwa asosiasi dengan GUI (nyata atau tidak) adalah apa yang didorong ke dalam pemrograman OOP arus utama.
Fitur berorientasi objek telah ditambahkan ke banyak bahasa yang ada selama waktu itu, termasuk Ada, BASIC, Fortran, Pascal, dan lain-lain. Menambahkan fitur ini untuk bahasa yang awalnya tidak dirancang untuk mereka sering menimbulkan berbagai permasalahan dengan kompatibilitas dan Kemampu-rawatan kode.
Baru-baru ini, sejumlah bahasa telah muncul yang berorientasi obyek terutama belum kompatibel dengan metodologi prosedural, seperti Python dan Ruby. Mungkin yang paling penting secara komersial baru bahasa berorientasi obyek adalah Visual Basic. NET (VB.NET) dan C #, baik yang dirancang untuk Microsoft. NET platform, dan Jawa, yang dikembangkan oleh Sun Microsystems. VB.NET dan C # baik dukungan lintas bahasa warisan, memungkinkan kelas didefinisikan dalam satu bahasa ke bahasa kelas subclass didefinisikan dalam bahasa lain.
Sama seperti pemrograman prosedural mengarah pada perbaikan teknik seperti pemrograman terstruktur, modern berorientasi objek metode desain perangkat lunak mencakup perbaikan seperti penggunaan pola desain, design by kontrak, dan pemodelan bahasa (seperti UML). OOPS istilah yang mengacu pada sebuah bject o-o riented p rogramming s ystem, adalah umum terjadi di awal pengembangan pemrograman berorientasi obyek.
Fitur Utama
Usaha untuk menyaring OOP untuk minimal kumpulan fitur dianggap sia-sia oleh peneliti bahasa pemrograman Cuire Benjamin Pierce. Namun demikian, ia mengidentifikasi sebagai berikut fitur dasar yang ditemukan di kebanyakan bahasa-bahasa berorientasi obyek dan bahwa, dalam konser, mendukung gaya pemrograman OOP:
• Dynamic dispatch - ketika sebuah metode dipanggil pada objek, obyek itu sendiri menentukan kode apa yang dijalankan dengan melihat metode pada saat run waktu dalam sebuah tabel yang berhubungan dengan objek. Fitur ini membedakan objek dari suatu tipe data abstrak (atau modul), yang memiliki tetap (statis) pelaksanaan operasi untuk semua kasus
• Enkapsulasi (atau multi-metode, dalam hal ini negara disimpan terpisah)
• Subtipe polimorfisme
• objek warisan (atau delegasi)
• Buka rekursi - variabel khusus (sintaksis ini mungkin merupakan kata kunci), biasanya disebut this atau self yang memungkinkan tubuh metode untuk invoke metode lain tubuh objek yang sama. Variabel ini akhir-terikat; ini memungkinkan sebuah metode yang didefinisikan dalam satu kelas untuk memanggil metode lain yang ditentukan kemudian, dalam beberapa subclass daripadanya.
Demikian pula, dalam buku 2003, Konsep-konsep dalam bahasa pemrograman, John C. Mitchell mengidentifikasi empat fitur utama: dinamis pengiriman, abstraksi, subtipe polimorfisme, dan pewarisan. Michael Lee Scott dalam Programming Language Pragmatics hanya mempertimbangkan enkapsulasi, pewarisan dan dinamis pengiriman .
Definisi formal
Ada beberapa upaya memformalkan konsep-konsep yang digunakan dalam pemrograman berorientasi obyek. Berikut konsep dan konstruksi telah digunakan sebagai interpretasi dari konsep OOP:
• tipe data abstrak (yang memiliki jenis eksistensial) memungkinkan definisi modul tetapi ini tidak mendukung pengiriman dinamis
• rekursif jenis
• catatan adalah dasar untuk memahami objek jika fungsi literal dapat disimpan dalam bidang-bidang (seperti dalam bahasa pemrograman fungsional), tetapi perlu kalkuli sebenarnya jauh lebih kompleks untuk memasukkan fitur-fitur penting dari OOP. Beberapa perluasan dari Sistem F <:yang berhubungan dengan objek bisa berubah telah dipelajari ini memungkinkan kedua subtipe polimorfisme dan parametric polimorfisme (generik)
Upaya untuk menemukan definisi atau teori konsensus balik barang-barang tidak terbukti sangat berhasil (namun, lihat "Abadi & Cardelli: A Theory of Objects" definisi formal dari banyak konsep dan konstruksi OOP), dan sering kali merupakan kepanjangan secara luas. Sebagai contoh, beberapa definisi berfokus pada aktivitas mental, dan beberapa di program hanya penataan. Salah satu definisi yang lebih sederhana adalah bahwa OOP adalah tindakan menggunakan "peta" atau struktur data array yang dapat berisi pointer ke fungsi dan peta lain, semua dengan beberapa scoping sintaksis dan gula di atas. Warisan dapat dilakukan dengan kloning peta (kadang-kadang disebut "prototipe").
Bahasa OOP
Simula (1967) secara umum diterima sebagai bahasa pertama untuk memiliki fitur-fitur utama dari sebuah bahasa berorientasi objek. Hal ini diciptakan untuk membuat program simulasi, di mana apa yang kemudian disebut objek adalah representasi informasi yang paling penting. Smalltalk (1972-1980) adalah dapat dikatakan sebagai contoh kanonik, dan satu dengan yang banyak teori pemrograman berorientasi objek adalah dikembangkan.
• Bahasa disebut "murni" OO bahasa, karena segala sesuatu di dalamnya diperlakukan secara konsisten sebagai sebuah objek, dari primitif seperti karakter dan tanda baca, sepanjang jalan sampai ke seluruh kelas, prototip, blok, modul, dll Mereka dirancang secara khusus untuk memfasilitasi, bahkan menegakkan, metode OO. Contoh: Smalltalk, Eiffel, Ruby, JADE
• Bahasa dirancang terutama untuk pemrograman OO, tapi dengan beberapa elemen prosedural. Contoh: C + +, Java, Python.
• Bahasa yang secara historis bahasa prosedural, tetapi telah diperluas dengan beberapa fitur OO. Contoh: Fortran 2003, Perl, COBOL 2002.
• Bahasa dengan sebagian besar fitur objek (kelas, metode, warisan, usabilitas), tapi dalam bentuk aslinya jelas. Contoh: Oberon (Oberon-1 atau Oberon-2).
• Bahasa dengan tipe data abstrak dukungan, tetapi tidak semua fitur object-orientasi, kadang-kadang disebut objek berbasis bahasa. Contoh: Modula-2 (dengan sangat baik dan informasi enkapsulasi menyembunyikan), liat, CLU.
OOP di scripting
Dalam beberapa tahun terakhir, pemrograman berorientasi objek telah menjadi sangat populer dalam bahasa pemrograman scripting. Python, Ruby dan groovy adalah bahasa scripting yang dibangun di atas prinsip-prinsip OOP, sementara Perl dan PHP telah menambahkan fitur berorientasi objek sejak Perl 5 dan PHP 4, dan ColdFusion sejak versi 6.
The Document Object Model dari HTML, XHTML, dan XML dokumen di Internet telah binding ke populer JavaScript / ECMAScript bahasa. JavaScript mungkin merupakan yang paling terkenal pemrograman berbasis prototipe-bahasa, yang mempekerjakan kloning dari prototipe daripada mewarisi dari kelas. Bahasa scripting yang populer lain yang mengambil pendekatan ini adalah Lua. Versi sebelumnya ActionScript (sebagian superset dari R3 ECMA-262, juga dikenal sebagai ECMAScript) juga menggunakan model object berbasis prototipe. Versi ActionScript menggabungkan kombinasi berdasarkan klasifikasi dan prototipe model obyek yang didasarkan terutama pada saat ini tidak lengkap R4 ECMA-262 spesifikasi, yang berakar pada awal JavaScript Proposal 2. Microsoft juga mencakup JScript.NET mash-up model obyek berdasarkan proposal yang sama, dan juga merupakan superset dari R3 ECMA-262 spesifikasi.
Warisan dan perilaku subtyping
Hal ini intuitif untuk menganggap bahwa pewarisan menciptakan semantik "adalah sebuah" hubungan, dan dengan demikian menyimpulkan bahwa obyek dari subclass instantiated selalu dapat dengan aman digunakan sebagai pengganti dari instantiated mereka SUPERCLASS. Intuisi ini sayangnya OOP palsu dalam kebanyakan bahasa, khususnya di semua yang memungkinkan bisa berubah objek. Subtipe polimorfisme sebagai ditegakkan oleh checker jenis dalam bahasa OOP (dengan objek bisa berubah) tidak dapat menjamin perilaku subtyping dalam konteks apapun. Perilaku subtyping adalah diputuskan secara umum, sehingga tidak dapat dilaksanakan oleh sebuah program (compiler). Kelas atau objek hierarki harus dirancang secara hati-hati mempertimbangkan kemungkinan penggunaan yang salah tidak dapat dideteksi sintaksis. Masalah ini dikenal sebagai prinsip substitusi Liskov.
Objek-orientasi dan database
Kedua pemrograman berorientasi objek dan sistem manajemen database relasional (RDBMSs) adalah sangat umum dalam perangkat lunak hari ini. Karena database relasional tidak menyimpan objek secara langsung (meskipun beberapa RDBMSs memiliki fitur berorientasi objek untuk perkiraan ini), ada kebutuhan umum untuk menjembatani dua dunia. Ada beberapa solusi yang digunakan secara luas untuk masalah ini. Salah satu yang paling umum adalah pemetaan relasional obyek, seperti yang ditemukan di perpustakaan seperti Java Data Objects dan Ruby on Rails "ActiveRecord. Ada juga objek database yang dapat digunakan untuk menggantikan RDBMSs, tetapi belum ini sebagai sukses secara komersial sebagai RDBMSs.
Pencocokan dunia nyata
OOP dapat digunakan untuk menerjemahkan dari fenomena dunia nyata untuk elemen program (dan sebaliknya). OOP bahkan diciptakan untuk tujuan pemodelan fisik dalam Simula-67 bahasa pemrograman. Namun, tidak semua orang setuju bahwa dunia nyata langsung pemetaan yang difasilitasi oleh OOP, atau bahkan tujuan yang berharga; Bertrand Meyer berpendapat di Object-Oriented Software Konstruksi bahwa program ini tidak model dunia tetapi sebuah model dari beberapa bagian dari dunia; "Realitas adalah sepupu dua kali dihapus". Pada saat yang sama, beberapa keterbatasan utama OOP sudah diketahui.
Namun, kata Niklaus Wirth dari OOP dalam makalahnya "Selamat Ide melalui Looking Glass", "erat paradigma ini mencerminkan struktur sistem 'di dunia nyata', dan oleh karena itu cocok untuk model sistem kompleks dengan perilaku kompleks".

Tugas ALGORITMA DAN PEMROGRAMAN 1C (1DB03)
disusun oleh :
Amelia Agustina (31109527)
Cutrahardhika Septaweni (32109542)
Putri Anisyah (34109143)
Dwi Harsuwendo (33109105)
Irfan Cahyo Prakoso (32109501)
Marshall Prawira (34109769)
Tyrta Pratama (32109876)

Object Oriented Programming


Object Oriented Programming
Object
Oriented Programming ( OOP ) merupakan paradigma pemrograman yang menggunakan "objek" - struktur data yang terdiri dari datafields dan metode bersama dengan interaksi mereka - untuk merancang aplikasi dan program komputer. Teknik pemrograman dapat mencakup fitur seperti menyembunyikan informasi, data abstraksi, enkapsulasi, modularitas, polimorfisme, dan pewarisan. Itu tidak umum digunakan dalam pengembangan aplikasi perangkat lunak arus utama sampai awal 1990-an. Banyak modern bahasa pemrograman sekarang mendukung OOP.
Object Oriented Programming memiliki akar yang dapat ditelusuri pada 1960-an. Seperti hardware dan software menjadi semakin kompleks, kualitas sering berkompromi. Para peneliti mempelajari cara untuk menjaga kualitas perangkat lunak dan dikembangkan pemrograman berorientasi objek dalam bagian untuk mengatasi masalah-masalah umum dengan sangat menekankan diskrit, dapat digunakan kembali unit logika pemrograman. Metodologi yang berfokus pada data daripada proses, dengan program yang terdiri dari modul mandiri (objek) masing-masing berisi semua informasi yang dibutuhkan untuk memanipulasi struktur data sendiri. Hal ini berbeda dengan yang ada pemrograman modular yang telah dominan selama bertahun-tahun yang berfokus pada fungsi dari module, bukan data spesifik, tetapi juga disediakan untuk penggunaan kembali kode, dan mandiri dapat digunakan kembali unit pemrograman logika, yang memungkinkan kolaborasi melalui penggunaan modul yang terhubung (subrutin). Pendekatan ini lebih konvensional, yang masih tetap, cenderung untuk mempertimbangkan data dan perilaku secara terpisah.
Sebuah program berorientasi objek dengan demikian dapat dilihat sebagai kumpulan objek yang saling berinteraksi, berlawanan dengan model konvensional, di mana program dipandang sebagai daftar tugas (subrutin) untuk melakukan. Dalam OOP, setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek-objek lain dan dapat dipandang sebagai independen 'mesin' dengan peran atau tanggung jawab yang berbeda. Tindakan (atau "operator") pada objek-objek ini sangat erat terkait dengan objek. Sebagai contoh, struktur data cenderung 'membawa operator sekitar mereka sendiri dengan mereka "(atau setidaknya" mewarisi "mereka dari obyek atau kelas yang sama).
Yang Simula adalah bahasa pemrograman yang pertama kali memperkenalkan konsep dasar pemrograman berorientasi obyek (objek, kelas, subclass, metode virtual, coroutines, dan simulasi event diskrit) sebagai superset dari Algol. Simula juga digunakan otomatis pengumpulan sampah yang telah diciptakan sebelumnya untuk bahasa pemrograman fungsional Lisp. Simula yang digunakan untuk pembuatan model fisik, seperti model-model untuk mempelajari dan meningkatkan pergerakan kapal dan isinya melalui pelabuhan kargo. Smalltalk adalah bahasa pemrograman pertama disebut "berorientasi objek".



Sejarah
Konsep benda dan contoh-contoh di komputasi mempunyai terobosan besar pertama dengan PDP-1 sistem di MIT yang mungkin contoh paling awal 'kemampuan yang didasarkan' arsitektur. Lain contoh awal adalah Sketchpad diciptakan oleh Ivan Sutherland pada tahun 1963, namun, ini adalah sebuah aplikasi dan bukan paradigma pemrograman. Objek sebagai entitas pemrograman diperkenalkan pada 1960-an di Simula 67, sebuah bahasa pemrograman yang dirancang untuk melakukan simulasi, diciptakan oleh Ole-Johan Dahl dan Kristen Nygaard dari Norwegian Computing Center di Oslo. Mereka bekerja di kapal simulasi, dan bingung oleh ledakan kombinatorial bagaimana sifat-sifat yang berbeda dari kapal yang berbeda dapat mempengaruhi satu sama lain. Ide terjadi kepada mereka tentang pengelompokan jenis kapal ke kelas yang berbeda benda; masing-masing kelas objek bertanggung jawab untuk menentukan sendiri data dan perilaku. Pendekatan seperti ekstrapolasi sederhana konsep analog sebelumnya digunakan dalam pemrograman. Pada komputer analog, pemetaan dari dunia nyata fenomena / objek untuk analog fenomena / objek (dan sebaliknya), adalah (dan ini) disebut 'simulasi'. Simula tidak hanya memperkenalkan konsep kelas, tetapi juga dari contoh kelas, yang mungkin eksplisit pertama penggunaan gagasan-gagasan tersebut. Ide-ide dari Simula 67 dipengaruhi banyak kemudian bahasa, terutama Smalltalk dan turunannya Lisp dan Pascal.
The Smalltalk bahasa, yang dikembangkan di Xerox PARC (oleh Alan Kay dan lain-lain) pada 1970-an, memperkenalkan istilah pemrograman berorientasi objek untuk mewakili benda penggunaan meluas dan pesan sebagai dasar perhitungan. Smalltalk pencipta dipengaruhi oleh ide-ide diperkenalkan dalam Simula 67, tapi Smalltalk dirancang untuk menjadi dinamis sepenuhnya sistem di mana kelas-kelas dapat dibuat dan dimodifikasi secara dinamis, bukan statis seperti dalam Simula 67. Smalltalk dan dengan itu OOP diperkenalkan kepada khalayak yang lebih luas oleh edisi Agustus 1981 majalah Byte.
Pada 1970-an, Kay Smalltalk bekerja telah mempengaruhi masyarakat Lisp untuk menggabungkan teknik-teknik berbasis objek yang diperkenalkan kepada pengembang melalui mesin Lisp. Eksperimen dengan berbagai ekstensi untuk Lisp (seperti loop dan Flavors memperkenalkan beberapa warisan dan mixin), akhirnya mengarah pada Common Lisp Sistem Objek (CLOS, bagian dari standar pertama berorientasi obyek bahasa pemrograman, ANSI Common Lisp), yang menggabungkan pemrograman fungsional dan pemrograman berorientasi objek dan memungkinkan perpanjangan melalui protokol Meta-objek. Tahun 1980-an, ada beberapa upaya untuk merancang arsitektur prosesor yang mencakup dukungan hardware untuk obyek dalam memori, tetapi ini tidak berhasil. Contoh meliputi Intel iAPX 432 dan Smart Linn Rekursiv.
Pemrograman berorientasi obyek dikembangkan sebagai metodologi pemrograman yang dominan selama pertengahan 1990-an, sebagian besar disebabkan oleh pengaruh C + +. Dominasinya itu makin diperkuat oleh meningkatnya popularitas dari antarmuka pengguna grafis, yang pemrograman berorientasi obyek tampaknya cocok. Contoh dari GUI dinamis terkait erat dengan perpustakaan dan bahasa OOP dapat ditemukan di Kakao kerangka kerja di Mac OS X, yang ditulis di Objective-C, sebuah object-oriented, dinamis ekstensi pesan ke C didasarkan pada Smalltalk. OOP toolkit juga meningkatkan popularitas pemrograman kendali-event (walaupun konsep ini tidak terbatas pada OOP). Sebagian merasa bahwa asosiasi dengan GUI (nyata atau tidak) adalah apa yang didorong ke dalam pemrograman OOP arus utama.
Fitur berorientasi objek telah ditambahkan ke banyak bahasa yang ada selama waktu itu, termasuk Ada, BASIC, Fortran, Pascal, dan lain-lain. Menambahkan fitur ini untuk bahasa yang awalnya tidak dirancang untuk mereka sering menimbulkan berbagai permasalahan dengan kompatibilitas dan Kemampu-rawatan kode.
Baru-baru ini, sejumlah bahasa telah muncul yang berorientasi obyek terutama belum kompatibel dengan metodologi prosedural, seperti Python dan Ruby. Mungkin yang paling penting secara komersial baru bahasa berorientasi obyek adalah Visual Basic. NET (VB.NET) dan C #, baik yang dirancang untuk Microsoft. NET platform, dan Jawa, yang dikembangkan oleh Sun Microsystems. VB.NET dan C # baik dukungan lintas bahasa warisan, memungkinkan kelas didefinisikan dalam satu bahasa ke bahasa kelas subclass didefinisikan dalam bahasa lain.
Sama seperti pemrograman prosedural mengarah pada perbaikan teknik seperti pemrograman terstruktur, modern berorientasi objek metode desain perangkat lunak mencakup perbaikan seperti penggunaan pola desain, design by kontrak, dan pemodelan bahasa (seperti UML). OOPS istilah yang mengacu pada sebuah bject o-o riented p rogramming s ystem, adalah umum terjadi di awal pengembangan pemrograman berorientasi obyek.
Fitur Utama
Usaha untuk menyaring OOP untuk minimal kumpulan fitur dianggap sia-sia oleh peneliti bahasa pemrograman Cuire Benjamin Pierce. Namun demikian, ia mengidentifikasi sebagai berikut fitur dasar yang ditemukan di kebanyakan bahasa-bahasa berorientasi obyek dan bahwa, dalam konser, mendukung gaya pemrograman OOP:
• Dynamic dispatch - ketika sebuah metode dipanggil pada objek, obyek itu sendiri menentukan kode apa yang dijalankan dengan melihat metode pada saat run waktu dalam sebuah tabel yang berhubungan dengan objek. Fitur ini membedakan objek dari suatu tipe data abstrak (atau modul), yang memiliki tetap (statis) pelaksanaan operasi untuk semua kasus
• Enkapsulasi (atau multi-metode, dalam hal ini negara disimpan terpisah)
• Subtipe polimorfisme
• objek warisan (atau delegasi)
• Buka rekursi - variabel khusus (sintaksis ini mungkin merupakan kata kunci), biasanya disebut this atau self yang memungkinkan tubuh metode untuk invoke metode lain tubuh objek yang sama. Variabel ini akhir-terikat; ini memungkinkan sebuah metode yang didefinisikan dalam satu kelas untuk memanggil metode lain yang ditentukan kemudian, dalam beberapa subclass daripadanya.
Demikian pula, dalam buku 2003, Konsep-konsep dalam bahasa pemrograman, John C. Mitchell mengidentifikasi empat fitur utama: dinamis pengiriman, abstraksi, subtipe polimorfisme, dan pewarisan. Michael Lee Scott dalam Programming Language Pragmatics hanya mempertimbangkan enkapsulasi, pewarisan dan dinamis pengiriman .
Definisi formal
Ada beberapa upaya memformalkan konsep-konsep yang digunakan dalam pemrograman berorientasi obyek. Berikut konsep dan konstruksi telah digunakan sebagai interpretasi dari konsep OOP:
• tipe data abstrak (yang memiliki jenis eksistensial) memungkinkan definisi modul tetapi ini tidak mendukung pengiriman dinamis
• rekursif jenis
• catatan adalah dasar untuk memahami objek jika fungsi literal dapat disimpan dalam bidang-bidang (seperti dalam bahasa pemrograman fungsional), tetapi perlu kalkuli sebenarnya jauh lebih kompleks untuk memasukkan fitur-fitur penting dari OOP. Beberapa perluasan dari Sistem F <:yang berhubungan dengan objek bisa berubah telah dipelajari ini memungkinkan kedua subtipe polimorfisme dan parametric polimorfisme (generik) Upaya untuk menemukan definisi atau teori konsensus balik barang-barang tidak terbukti sangat berhasil (namun, lihat "Abadi & Cardelli: A Theory of Objects" definisi formal dari banyak konsep dan konstruksi OOP), dan sering kali merupakan kepanjangan secara luas. Sebagai contoh, beberapa definisi berfokus pada aktivitas mental, dan beberapa di program hanya penataan. Salah satu definisi yang lebih sederhana adalah bahwa OOP adalah tindakan menggunakan "peta" atau struktur data array yang dapat berisi pointer ke fungsi dan peta lain, semua dengan beberapa scoping sintaksis dan gula di atas. Warisan dapat dilakukan dengan kloning peta (kadang-kadang disebut "prototipe"). Bahasa OOP Simula (1967) secara umum diterima sebagai bahasa pertama untuk memiliki fitur-fitur utama dari sebuah bahasa berorientasi objek. Hal ini diciptakan untuk membuat program simulasi, di mana apa yang kemudian disebut objek adalah representasi informasi yang paling penting. Smalltalk (1972-1980) adalah dapat dikatakan sebagai contoh kanonik, dan satu dengan yang banyak teori pemrograman berorientasi objek adalah dikembangkan. • Bahasa disebut "murni" OO bahasa, karena segala sesuatu di dalamnya diperlakukan secara konsisten sebagai sebuah objek, dari primitif seperti karakter dan tanda baca, sepanjang jalan sampai ke seluruh kelas, prototip, blok, modul, dll Mereka dirancang secara khusus untuk memfasilitasi, bahkan menegakkan, metode OO. Contoh: Smalltalk, Eiffel, Ruby, JADE • Bahasa dirancang terutama untuk pemrograman OO, tapi dengan beberapa elemen prosedural. Contoh: C + +, Java, Python. • Bahasa yang secara historis bahasa prosedural, tetapi telah diperluas dengan beberapa fitur OO. Contoh: Fortran 2003, Perl, COBOL 2002. • Bahasa dengan sebagian besar fitur objek (kelas, metode, warisan, usabilitas), tapi dalam bentuk aslinya jelas. Contoh: Oberon (Oberon-1 atau Oberon-2). • Bahasa dengan tipe data abstrak dukungan, tetapi tidak semua fitur object-orientasi, kadang-kadang disebut objek berbasis bahasa. Contoh: Modula-2 (dengan sangat baik dan informasi enkapsulasi menyembunyikan), liat, CLU. OOP di scripting Dalam beberapa tahun terakhir, pemrograman berorientasi objek telah menjadi sangat populer dalam bahasa pemrograman scripting. Python, Ruby dan groovy adalah bahasa scripting yang dibangun di atas prinsip-prinsip OOP, sementara Perl dan PHP telah menambahkan fitur berorientasi objek sejak Perl 5 dan PHP 4, dan ColdFusion sejak versi 6. The Document Object Model dari HTML, XHTML, dan XML dokumen di Internet telah binding ke populer JavaScript / ECMAScript bahasa. JavaScript mungkin merupakan yang paling terkenal pemrograman berbasis prototipe-bahasa, yang mempekerjakan kloning dari prototipe daripada mewarisi dari kelas. Bahasa scripting yang populer lain yang mengambil pendekatan ini adalah Lua. Versi sebelumnya ActionScript (sebagian superset dari R3 ECMA-262, juga dikenal sebagai ECMAScript) juga menggunakan model object berbasis prototipe. Versi ActionScript menggabungkan kombinasi berdasarkan klasifikasi dan prototipe model obyek yang didasarkan terutama pada saat ini tidak lengkap R4 ECMA-262 spesifikasi, yang berakar pada awal JavaScript Proposal 2. Microsoft juga mencakup JScript.NET mash-up model obyek berdasarkan proposal yang sama, dan juga merupakan superset dari R3 ECMA-262 spesifikasi. Warisan dan perilaku subtyping Hal ini intuitif untuk menganggap bahwa pewarisan menciptakan semantik "adalah sebuah" hubungan, dan dengan demikian menyimpulkan bahwa obyek dari subclass instantiated selalu dapat dengan aman digunakan sebagai pengganti dari instantiated mereka SUPERCLASS. Intuisi ini sayangnya OOP palsu dalam kebanyakan bahasa, khususnya di semua yang memungkinkan bisa berubah objek. Subtipe polimorfisme sebagai ditegakkan oleh checker jenis dalam bahasa OOP (dengan objek bisa berubah) tidak dapat menjamin perilaku subtyping dalam konteks apapun. Perilaku subtyping adalah diputuskan secara umum, sehingga tidak dapat dilaksanakan oleh sebuah program (compiler). Kelas atau objek hierarki harus dirancang secara hati-hati mempertimbangkan kemungkinan penggunaan yang salah tidak dapat dideteksi sintaksis. Masalah ini dikenal sebagai prinsip substitusi Liskov. Objek-orientasi dan database Kedua pemrograman berorientasi objek dan sistem manajemen database relasional (RDBMSs) adalah sangat umum dalam perangkat lunak hari ini. Karena database relasional tidak menyimpan objek secara langsung (meskipun beberapa RDBMSs memiliki fitur berorientasi objek untuk perkiraan ini), ada kebutuhan umum untuk menjembatani dua dunia. Ada beberapa solusi yang digunakan secara luas untuk masalah ini. Salah satu yang paling umum adalah pemetaan relasional obyek, seperti yang ditemukan di perpustakaan seperti Java Data Objects dan Ruby on Rails "ActiveRecord. Ada juga objek database yang dapat digunakan untuk menggantikan RDBMSs, tetapi belum ini sebagai sukses secara komersial sebagai RDBMSs.
Pencocokan dunia nyata
OOP dapat digunakan untuk menerjemahkan dari fenomena dunia nyata untuk elemen program (dan sebaliknya). OOP bahkan diciptakan untuk tujuan pemodelan fisik dalam Simula-67 bahasa pemrograman. Namun, tidak semua orang setuju bahwa dunia nyata langsung pemetaan yang difasilitasi oleh OOP, atau bahkan tujuan yang berharga; Bertrand Meyer berpendapat di Object-Oriented Software Konstruksi bahwa program ini tidak model dunia tetapi sebuah model dari beberapa bagian dari dunia; "Realitas adalah sepupu dua kali dihapus". Pada saat yang sama, beberapa keterbatasan utama OOP sudah diketahui.
Namun, kata Niklaus Wirth dari OOP dalam makalahnya "Selamat Ide melalui Looking Glass", "erat paradigma ini mencerminkan struktur sistem 'di dunia nyata', dan oleh karena itu cocok untuk model sistem kompleks dengan perilaku kompleks".

Tugas ALGORITMA DAN PEMROGRAMAN 1C (1DB03)
disusun oleh :
Amelia Agustina (31109527)
Cutrahardhika Septaweni (32109542)
Putri Anisyah (34109143)
Dwi Harsuwendo (33109105)
Irfan Cahyo Prakoso (32109501)
Marshall Prawira (34109769)
Tyrta Pratama (32109876)