diff --git a/assets/js/components/Lowongan.jsx b/assets/js/components/Lowongan.jsx
new file mode 100644
index 0000000000000000000000000000000000000000..caab73a11c57536a453590757ed8b86079bfa012
--- /dev/null
+++ b/assets/js/components/Lowongan.jsx
@@ -0,0 +1,44 @@
+import React from 'react';
+import { Button, Image as ImageComponent, Item } from 'semantic-ui-react'
+import ModalPendaftaran from './ModalPendaftaran';
+
+
+//const paragraph = <ImageComponent src="http://semantic-ui.com/images/wireframe/short-paragraph.png" />;
+
+export default class Lowongan extends React.Component{
+ static propTypes = {
+    header: React.PropTypes.oneOfType([
+      React.PropTypes.node,
+      React.PropTypes.string,
+    ]).isRequired,
+    content: React.PropTypes.oneOfType([
+      React.PropTypes.node,
+      React.PropTypes.string,
+    ]).isRequired,
+     image: React.PropTypes.oneOfType([
+      React.PropTypes.node,
+      React.PropTypes.string,
+    ]).isRequired,
+     paragraph: React.PropTypes.string.isRequired
+  };
+
+ render(){
+     return(
+
+         <Item.Group relaxed>
+            <Item>
+              {this.props.image}
+              <Item.Content verticalAlign="middle">
+                <Item.Header>{this.props.header}</Item.Header>
+                <Item.Description>{this.props.content}</Item.Description>
+                <Item.Extra>
+                  <div className="daftar">
+                    <ModalPendaftaran content={this.props.paragraph} header="Pendaftaran Lowongan" buttontTitle="Daftar" />
+                  </div>
+                </Item.Extra>
+              </Item.Content>
+            </Item>
+         </Item.Group>
+     );
+ }
+}
\ No newline at end of file
diff --git a/assets/js/components/ModalPendaftaran.jsx b/assets/js/components/ModalPendaftaran.jsx
new file mode 100644
index 0000000000000000000000000000000000000000..04fa123933f7f10529165c8aaf265fd51525fad3
--- /dev/null
+++ b/assets/js/components/ModalPendaftaran.jsx
@@ -0,0 +1,68 @@
+import React from 'react';
+import { Modal, Button, Icon, TextArea, Form } from 'semantic-ui-react';
+import ModalAlert from './ModalAlert';
+
+
+export default class ModalPendaftaran extends React.Component {
+  static propTypes = {
+    header: React.PropTypes.oneOfType([
+      React.PropTypes.node,
+      React.PropTypes.string,
+    ]).isRequired,
+    content: React.PropTypes.oneOfType([
+      React.PropTypes.node,
+      React.PropTypes.string,
+    ]).isRequired,
+    buttontTitle: React.PropTypes.oneOfType([
+      React.PropTypes.node,
+      React.PropTypes.string,
+    ]).isRequired,
+  }
+
+  state = { modalOpen: false };
+
+  handleOpen = () => this.setState({
+    modalOpen: true,
+  });
+
+  handleClose = () => this.setState({
+    modalOpen: false,
+  });
+
+  render = () => (
+    <Modal
+      trigger={<Button onClick={this.handleOpen} >{this.props.buttontTitle}</Button>}
+      closeIcon="close"
+      open={this.state.modalOpen}
+      onClose={this.handleClose}
+    >
+
+      <Modal.Header>{this.props.header}</Modal.Header>
+      <Modal.Content image>
+        <div className="image">
+          <Icon name="right arrow" />
+        </div>
+        <Modal.Description>
+          <Modal.Header> <h3> Deskripsi Lowongan </h3></Modal.Header>
+          {this.props.content}
+
+          <div className="linkCV">
+            <a> your latest CV </a>
+          </div>
+
+          <div className="coverLetter">
+            <h5> Write your Cover Letter </h5>
+            <Form>
+              <TextArea placeholder="Tell us more" />
+            </Form>
+          </div>
+
+        </Modal.Description>
+      </Modal.Content>
+      <Modal.Actions>
+        <ModalAlert onChangeValue={this.handleClose} header="Pendaftaran" content="Terima kasih sudah mendaftar!" />
+      </Modal.Actions>
+    </Modal>
+    )
+}
+